diff --git a/lib/java-speech-api-master.jar b/lib/java-speech-api-master.jar new file mode 100755 index 00000000..46a7c5a4 Binary files /dev/null and b/lib/java-speech-api-master.jar differ diff --git a/lib/java-speech-api-master/.classpath b/lib/java-speech-api-master/.classpath deleted file mode 100755 index fb501163..00000000 --- a/lib/java-speech-api-master/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/lib/java-speech-api-master/.gitignore b/lib/java-speech-api-master/.gitignore deleted file mode 100755 index a56cb9b5..00000000 --- a/lib/java-speech-api-master/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/bin -.classpath diff --git a/lib/java-speech-api-master/.project b/lib/java-speech-api-master/.project deleted file mode 100755 index ee24677f..00000000 --- a/lib/java-speech-api-master/.project +++ /dev/null @@ -1,16 +0,0 @@ - - - java-speech-api-git - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.jdt.core.javanature - - diff --git a/lib/java-speech-api-master/CHANGELOG.markdown b/lib/java-speech-api-master/CHANGELOG.markdown deleted file mode 100755 index a331ebc8..00000000 --- a/lib/java-speech-api-master/CHANGELOG.markdown +++ /dev/null @@ -1,37 +0,0 @@ -#Java-Speech-API Changelog - -##Changelog -Changelog corresponds with a tagged and signed Git commit. This marks the changes. -A tagged commit may or may not have a corresponding binary version available. -Format: Tag: `` - -* Version 1.15 - * Optimized synthesiser class. Massive speed improvements on long input strings! - * Added experimental Duplex API in preparation for version 1.2 . - -* Version 1.11 (Tag V1.100) - * Fixed major bug in Recognizer - -* Version 1.10 (Tag v1.100) - * Added new Microphone Analyzer class. - * Added volume and frequency detection and frame work for (Voice Activity Detection) - * Microphone API updated to make it more usable. - * API re-branded as J.A.R.V.I.S. (Just A Reliable Vocal Interpreter & Synthesiser) - -* Version 1.06 (Tag v1.016) - * Added support for synthesiser for strings longer than 100 characters (Credits to @Skylion007) - * Added support for synthesiser for multiple languages, accents, and voices. (Credits to @Skylion007) - * Added support for auto-detection of language within synthesiser. (Credits to @Skylion007) - -* Version 1.05 (Tag: v1.015) - * Improved language support for recognizer (Credits to @duncanj) - * Add support for multiple responses for recognizer (Credits to @duncanj) - * Add profanity filter toggle support for recognizer (Credits to @duncanj) - -* Version 1.01 (Tag: v1.01) - * Fixed state functions for Microphones - * Fixed encoding single byte frames - * Support Multiple Languages - -* Version 1.00 (Tag: v1.00) - * Initial Release diff --git a/lib/java-speech-api-master/CREDITS.markdown b/lib/java-speech-api-master/CREDITS.markdown deleted file mode 100755 index 17c20a7c..00000000 --- a/lib/java-speech-api-master/CREDITS.markdown +++ /dev/null @@ -1,23 +0,0 @@ -#J.A.R.V.I.S. Speech API (Java-Speech API) Credits - -##Credits -The following people/organizations have helped provide functionality for the API, - -* JavaFlacEncoder Project - * Provided functionality to convert Wave files to FLAC format - * This allowed for the FLAC audio to be sent to Google to be "recognized" - * Created by Preston Lacey - * Homepage: http://sourceforge.net/projects/javaflacencoder/ -* Google - * Provided functionality for two main API functions - * Recognizer - * Allows for speech audio to be recognized to text - * Synthesiser - * Allows for text to speech translation - * Homepage: http://google.com -* Princeton University - * The implemented FFT algorithm is derived from one on the university's website. - * Homepage: http://www.princeton.edu - -We would like to thank the above so much for your work, this wrapper/API could not have been -created without it. \ No newline at end of file diff --git a/lib/java-speech-api-master/LICENSE b/lib/java-speech-api-master/LICENSE deleted file mode 100755 index ef7e7efc..00000000 --- a/lib/java-speech-api-master/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ -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. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -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: - - {project} Copyright (C) {year} {fullname} - 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/lib/java-speech-api-master/README.markdown b/lib/java-speech-api-master/README.markdown deleted file mode 100755 index f34fee4a..00000000 --- a/lib/java-speech-api-master/README.markdown +++ /dev/null @@ -1,30 +0,0 @@ -#J.A.R.V.I.S. (Java-Speech-API) - -J.A.R.V.I.S. Java Speech API: Just A Reliable Vocal Interpreter & Synthesizer. -This is a project for the Java Speech API. The program interprets vocal inputs into text and synthesizes voices from text input. -The program supports dozens of languages and even has the ability to auto-detect languages! - -## Description -The J.A.R.V.I.S. Speech API is designed to be simple and efficient, using the speech engines created by Google -to provide functionality for parts of the API. Essentially, it is an API written in Java, -including a recognizer, synthesizer, and a microphone capture utility. The project uses -Google services for the synthesizer and recognizer. While this requires an Internet -connection, it provides a complete, modern, and fully functional speech API in Java. - -##Features -The API currently provides the following functionality, - - * Microphone Capture API (Wrapped around the current Java API for simplicity) - * A speech recognizer using Google's recognizer service - * Converts WAVE files from microphone input to FLAC (using existing API, see CREDITS) - * Retrieves Response from Google, including confidence score and text - * A speech synthesiser using Google's synthesizer service - * Retrieves synthesized text in an InputStream (MP3 data ready to be played) - * Wave to FLAC API (Wrapped around the used API in the project, javaFlacEncoder, see CREDITS) - * A translator using Google Translate (courtesy of Skylion's Google Toolkit) - -##Changelog -See CHANGELOG.markdown for Version History/Changelog - -##Credits -See CREDITS.markdown for Credits diff --git a/lib/java-speech-api-master/java-speech-api.iml b/lib/java-speech-api-master/java-speech-api.iml deleted file mode 100755 index ac3e4584..00000000 --- a/lib/java-speech-api-master/java-speech-api.iml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/lib/java-speech-api-master/src/META-INF/MANIFEST.MF b/lib/java-speech-api-master/src/META-INF/MANIFEST.MF deleted file mode 100755 index 59499bce..00000000 --- a/lib/java-speech-api-master/src/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 - diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/Microphone.java b/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/Microphone.java deleted file mode 100755 index fbc7adfb..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/Microphone.java +++ /dev/null @@ -1,224 +0,0 @@ -package com.darkprograms.speech.microphone; - -import javax.sound.sampled.*; - -import java.io.Closeable; -import java.io.File; - -/*************************************************************************** - * Microphone class that contains methods to capture audio from microphone - * - * @author Luke Kuza, Aaron Gokaslan - ***************************************************************************/ -public class Microphone implements Closeable{ - - /** - * TargetDataLine variable to receive data from microphone - */ - private TargetDataLine targetDataLine; - - /** - * Enum for current Microphone state - */ - public enum CaptureState { - PROCESSING_AUDIO, STARTING_CAPTURE, CLOSED - } - - /** - * Variable for enum - */ - CaptureState state; - - /** - * Variable for the audios saved file type - */ - private AudioFileFormat.Type fileType; - - /** - * Variable that holds the saved audio file - */ - private File audioFile; - - /** - * Gets the current state of Microphone - * - * @return PROCESSING_AUDIO is returned when the Thread is recording Audio and/or saving it to a file
- * STARTING_CAPTURE is returned if the Thread is setting variables
- * CLOSED is returned if the Thread is not doing anything/not capturing audio - */ - public CaptureState getState() { - return state; - } - - /** - * Sets the current state of Microphone - * - * @param state State from enum - */ - private void setState(CaptureState state) { - this.state = state; - } - - public File getAudioFile() { - return audioFile; - } - - public void setAudioFile(File audioFile) { - this.audioFile = audioFile; - } - - public AudioFileFormat.Type getFileType() { - return fileType; - } - - public void setFileType(AudioFileFormat.Type fileType) { - this.fileType = fileType; - } - - public TargetDataLine getTargetDataLine() { - return targetDataLine; - } - - public void setTargetDataLine(TargetDataLine targetDataLine) { - this.targetDataLine = targetDataLine; - } - - - /** - * Constructor - * - * @param fileType File type to save the audio in
- * Example, to save as WAVE use AudioFileFormat.Type.WAVE - */ - public Microphone(AudioFileFormat.Type fileType) { - setState(CaptureState.CLOSED); - setFileType(fileType); - initTargetDataLine(); - } - - /** - * Initializes the target data line. - */ - private void initTargetDataLine(){ - DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat()); - try { - setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo)); - } catch (LineUnavailableException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return; - } - - } - - - /** - * Captures audio from the microphone and saves it a file - * - * @param audioFile The File to save the audio to - * @throws LineUnavailableException - * @throws Exception Throws an exception if something went wrong - */ - public void captureAudioToFile(File audioFile) throws LineUnavailableException { - setState(CaptureState.STARTING_CAPTURE); - setAudioFile(audioFile); - - if(getTargetDataLine() == null){ - initTargetDataLine(); - } - - //Get Audio - new Thread(new CaptureThread()).start(); - - - } - - /** - * Captures audio from the microphone and saves it a file - * - * @param audioFile The fully path (String) to a file you want to save the audio in - * @throws LineUnavailableException - * @throws Exception Throws an exception if something went wrong - */ - public void captureAudioToFile(String audioFile) throws LineUnavailableException { - File file = new File(audioFile); - captureAudioToFile(file); - } - - - /** - * The audio format to save in - * - * @return Returns AudioFormat to be used later when capturing audio from microphone - */ - public AudioFormat getAudioFormat() { - float sampleRate = 8000.0F; - //8000,11025,16000,22050,44100 - int sampleSizeInBits = 16; - //8,16 - int channels = 1; - //1,2 - boolean signed = true; - //true,false - boolean bigEndian = false; - //true,false - return new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian); - } - - /** - * Opens the microphone, starting the targetDataLine. - * If it's already open, it does nothing. - */ - public void open(){ - if(getTargetDataLine()==null){ - initTargetDataLine(); - } - if(!getTargetDataLine().isOpen() && !getTargetDataLine().isRunning() && !getTargetDataLine().isActive()){ - try { - setState(CaptureState.PROCESSING_AUDIO); - getTargetDataLine().open(getAudioFormat()); - getTargetDataLine().start(); - } catch (LineUnavailableException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return; - } - } - - } - - /** - * Close the microphone capture, saving all processed audio to the specified file.
- * If already closed, this does nothing - */ - public void close() { - if (getState() == CaptureState.CLOSED) { - } else { - getTargetDataLine().stop(); - getTargetDataLine().close(); - setState(CaptureState.CLOSED); - } - } - - /** - * Thread to capture the audio from the microphone and save it to a file - */ - private class CaptureThread implements Runnable { - - /** - * Run method for thread - */ - public void run() { - try { - AudioFileFormat.Type fileType = getFileType(); - File audioFile = getAudioFile(); - open(); - AudioSystem.write(new AudioInputStream(getTargetDataLine()), fileType, audioFile); - //Will write to File until it's closed. - } catch (Exception ex) { - ex.printStackTrace(); - } - } - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java b/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java deleted file mode 100755 index 158546ca..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/microphone/MicrophoneAnalyzer.java +++ /dev/null @@ -1,288 +0,0 @@ -package com.darkprograms.speech.microphone; - -import javax.sound.sampled.AudioFileFormat; -import com.darkprograms.speech.util.*; - -/******************************************************************************************** - * Microphone Analyzer class, detects pitch and volume while extending the microphone class. - * Implemented as a precursor to a Voice Activity Detection (VAD) algorithm. - * Currently can be used for audio data analysis. - * Dependencies: FFT.java & Complex.java. Both found in the utility package. - * @author Aaron Gokaslan - ********************************************************************************************/ - -public class MicrophoneAnalyzer extends Microphone { - - /** - * Constructor - * @param fileType The file type you want to save in. FLAC recommended. - */ - public MicrophoneAnalyzer(AudioFileFormat.Type fileType){ - super(fileType); - } - - /** - * Gets the volume of the microphone input - * Interval is 100ms so allow 100ms for this method to run in your code or specify smaller interval. - * @return The volume of the microphone input or -1 if data-line is not available - */ - public int getAudioVolume(){ - return getAudioVolume(100); - } - - /** - * Gets the volume of the microphone input - * @param interval: The length of time you would like to calculate the volume over in milliseconds. - * @return The volume of the microphone input or -1 if data-line is not available. - */ - public int getAudioVolume(int interval){ - return calculateAudioVolume(this.getNumOfBytes(interval/1000d)); - } - - /** - * Gets the volume of microphone input - * @param numOfBytes The number of bytes you want for volume interpretation - * @return The volume over the specified number of bytes or -1 if data-line is unavailable. - */ - private int calculateAudioVolume(int numOfBytes){ - byte[] data = getBytes(numOfBytes); - if(data==null) - return -1; - return calculateRMSLevel(data); - } - - /** - * Calculates the volume of AudioData which may be buffered data from a data-line. - * @param audioData The byte[] you want to determine the volume of - * @return the calculated volume of audioData - */ - public static int calculateRMSLevel(byte[] audioData){ - long lSum = 0; - for(int i=0; imax){ - max = tmp;; - index = i; - } - } - return index; - } - - /** - * Converts bytes from a TargetDataLine into a double[] allowing the information to be read. - * NOTE: One byte is lost in the conversion so don't expect the arrays to be the same length! - * @param bufferData The buffer read in from the target data line - * @return The double[] that the buffer has been converted into. - */ - private double[] bytesToDoubleArray(byte[] bufferData){ - final int bytesRecorded = bufferData.length; - final int bytesPerSample = getAudioFormat().getSampleSizeInBits()/8; - final double amplification = 100.0; // choose a number as you like - double[] micBufferData = new double[bytesRecorded - bytesPerSample +1]; - for (int index = 0, floatIndex = 0; index < bytesRecorded - bytesPerSample + 1; index += bytesPerSample, floatIndex++) { - double sample = 0; - for (int b = 0; b < bytesPerSample; b++) { - int v = bufferData[index + b]; - if (b < bytesPerSample - 1 || bytesPerSample == 1) { - v &= 0xFF; - } - sample += v << (b * 8); - } - double sample32 = amplification * (sample / 32768.0); - micBufferData[floatIndex] = sample32; - - } - return micBufferData; - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/FlacEncoder.java b/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/FlacEncoder.java deleted file mode 100755 index c52f502a..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/FlacEncoder.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.darkprograms.speech.recognizer; - -import javaFlacEncoder.FLACEncoder; -import javaFlacEncoder.FLACFileOutputStream; -import javaFlacEncoder.StreamConfiguration; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import java.io.File; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; - -/************************************************************************************************************* - * Class that contains methods to encode Wave files to FLAC files - * THIS IS THANKS TO THE javaFlacEncoder Project created here: http://sourceforge.net/projects/javaflacencoder/ - ************************************************************************************************************/ -public class FlacEncoder { - - /** - * Constructor - */ - public FlacEncoder() { - - } - - /** - * Converts a wave file to a FLAC file(in order to POST the data to Google and retrieve a response)
- * Sample Rate is 8000 by default - * - * @param inputFile Input wave file - * @param outputFile Output FLAC file - */ - public void convertWaveToFlac(File inputFile, File outputFile) { - - - StreamConfiguration streamConfiguration = new StreamConfiguration(); - streamConfiguration.setSampleRate(8000); - streamConfiguration.setBitsPerSample(16); - streamConfiguration.setChannelCount(1); - - - try { - AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(inputFile); - AudioFormat format = audioInputStream.getFormat(); - - int frameSize = format.getFrameSize(); - - FLACEncoder flacEncoder = new FLACEncoder(); - FLACFileOutputStream flacOutputStream = new FLACFileOutputStream(outputFile); - - flacEncoder.setStreamConfiguration(streamConfiguration); - flacEncoder.setOutputStream(flacOutputStream); - - flacEncoder.openFLACStream(); - - int frameLength = (int) audioInputStream.getFrameLength(); - if(frameLength <= AudioSystem.NOT_SPECIFIED){ - frameLength = 16384;//Arbitrary file size - } - int[] sampleData = new int[frameLength]; - byte[] samplesIn = new byte[frameSize]; - - int i = 0; - - while (audioInputStream.read(samplesIn, 0, frameSize) != -1) { - if (frameSize != 1) { - ByteBuffer bb = ByteBuffer.wrap(samplesIn); - bb.order(ByteOrder.LITTLE_ENDIAN); - short shortVal = bb.getShort(); - sampleData[i] = shortVal; - } else { - sampleData[i] = samplesIn[0]; - } - - i++; - } - - sampleData = truncateNullData(sampleData, i); - - flacEncoder.addSamples(sampleData, i); - flacEncoder.encodeSamples(i, false); - flacEncoder.encodeSamples(flacEncoder.samplesAvailableToEncode(), true); - - audioInputStream.close(); - flacOutputStream.close(); - - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - - /** - * Converts a wave file to a FLAC file(in order to POST the data to Google and retrieve a response)
- * Sample Rate is 8000 by default - * - * @param inputFile Input wave file - * @param outputFile Output FLAC file - */ - public void convertWaveToFlac(String inputFile, String outputFile) { - convertWaveToFlac(new File(inputFile), new File(outputFile)); - } - - /** - * Used for when the frame length is unknown to shorten the array to prevent huge blank end space - * @param sampleData The int[] array you want to shorten - * @param index The index you want to shorten it to - * @return The shortened array - */ - private int[] truncateNullData(int[] sampleData, int index){ - if(index == sampleData.length) return sampleData; - int[] out = new int[index]; - for(int i = 0; i responseListeners = new ArrayList(); - - /** - * User defined API-KEY - */ - private final String API_KEY; - - /** - * User-defined language - */ - private String language = "auto"; - - /** - * The maximum size the API will tolerate - */ - private final static int MAX_SIZE = 1048576; - - /** - * Per specification, the final chunk of in a ChunkedOutputStream - */ - private final static byte[] FINAL_CHUNK = new byte[] { '0', '\r', '\n', '\r', '\n' }; - - /** - * Constructor - * @param API_KEY The API-Key for Google's Speech API. An API key can be obtained by requesting - * one by following the process shown at this - * url. - */ - public GSpeechDuplex(String API_KEY){ - this.API_KEY = API_KEY; - } - - /** - * Temporary will be deprecated before release - */ - public String getLanguage(){ - return language; - } - - /** - * Temporary will be deprecated before release - */ - public void setLanguage(String language){ - this.language = language; - } - - /** - * Send a FLAC file with the specified sampleRate to the Duplex API - * @param flacFile The file you wish to upload. - * NOTE: Segment the file if duration is greater than 15 seconds. - * @param sampleRate The sample rate of the file. - * @throws IOException If something has gone wrong with reading the file - */ - public void recognize(File flacFile, int sampleRate) throws IOException{ - recognize(mapFileIn(flacFile), sampleRate); - } - - /** - * Send a byte[] to the URL with a specified sampleRate. - * NOTE: The byte[] should contain no more than 15 seconds of audio. - * Chunking is not fully implemented as of yet. Will not string data together for context yet. - * @param data The byte[] you want to send. - * @param sampleRate The sample rate of aforementioned byte array. - */ - public void recognize(byte[] data, int sampleRate){ - - if(data.length >= MAX_SIZE){//Temporary Chunking. Does not allow for Google to gather context. - System.out.println("Chunking the audio into smaller parts..."); - byte[][] dataArray = chunkAudio(data); - for(byte[]array: dataArray){ - recognize(array, sampleRate); - } - } - - //Generates a unique ID for the response. - final long PAIR = MIN + (long)(Math.random() * ((MAX - MIN) + 1L)); - - //Generates the Downstream URL - final String API_DOWN_URL = GOOGLE_DUPLEX_SPEECH_BASE + "down?maxresults=1&pair=" + PAIR; - - //Generates the Upstream URL - final String API_UP_URL = GOOGLE_DUPLEX_SPEECH_BASE + - "up?lang=" + language + "&lm=dictation&client=chromium&pair=" + PAIR + - "&key=" + API_KEY ; - - //Opens downChannel - this.downChannel(API_DOWN_URL); - //Opens upChannel - this.upChannel(API_UP_URL, chunkAudio(data), sampleRate); - } - - /** - * This method allows you to stream a continuous stream of data to the API. - *

Note: This feature is experimental.

- * @param tl - * @param af - * @throws IOException - * @throws LineUnavailableException - */ - public void recognize(TargetDataLine tl, AudioFormat af) throws IOException, LineUnavailableException{ - //Generates a unique ID for the response. - final long PAIR = MIN + (long)(Math.random() * ((MAX - MIN) + 1L)); - - //Generates the Downstream URL - final String API_DOWN_URL = GOOGLE_DUPLEX_SPEECH_BASE + "down?maxresults=1&pair=" + PAIR; - - //Generates the Upstream URL - final String API_UP_URL = GOOGLE_DUPLEX_SPEECH_BASE + - "up?lang=" + language + "&lm=dictation&client=chromium&pair=" + PAIR + - "&key=" + API_KEY + "&continuous"; //Tells Google to constantly monitor the stream; - - //TODO Add implementation that sends feedback in real time. Protocol buffers will be necessary. - - //Opens downChannel - this.downChannel(API_DOWN_URL); - //Opens upChannel - this.upChannel(API_UP_URL, tl, af); - } - - /** - * This code opens a new Thread that connects to the downstream URL. Due to threading, - * the best way to handle this is through the use of listeners. - * @param The URL you want to connect to. - */ - private void downChannel(String urlStr) { - final String url = urlStr; - new Thread ("Downstream Thread") { - public void run() { - // handler for DOWN channel http response stream - httpsUrlConn - // response handler should manage the connection.... ?? - // assign a TIMEOUT Value that exceeds by a safe factor - // the amount of time that it will take to write the bytes - // to the UPChannel in a fashion that mimics a liveStream - // of the audio at the applicable Bitrate. BR=sampleRate * bits per sample - // Note that the TLS session uses "* SSLv3, TLS alert, Client hello (1): " - // to wake up the listener when there are additional bytes. - // The mechanics of the TLS session should be transparent. Just use - // httpsUrlConn and allow it enough time to do its work. - Scanner inStream = openHttpsConnection(url); - if(inStream == null){ - //ERROR HAS OCCURED - } - while(inStream.hasNextLine()){ - String response = inStream.nextLine(); - System.out.println("Response: "+response); - if(response.length()>17){//Prevents blank responses from Firing - GoogleResponse gr = new GoogleResponse(); - parseResponse(response, gr); - fireResponseEvent(gr); - } - - } - inStream.close(); - System.out.println("Finished write on down stream..."); - } - }.start(); - } - - - /** - * Used to initiate the URL chunking for the upChannel. - * @param urlStr The URL string you want to upload 2 - * @param data The data you want to send to the URL - * @param sampleRate The specified sample rate of the data. - */ - private void upChannel(String urlStr, byte[][] data, int sampleRate) { - final String murl = urlStr; - final byte[][] mdata = data; - final int mSampleRate = sampleRate; - new Thread ("Upstream File Thread") { - public void run() { - openHttpsPostConnection(murl, mdata, mSampleRate); - //Google does not return data via this URL - } - }.start(); - } - - /** - * Streams data from the TargetDataLine to the API. - * @param urlStr The URL to stream to - * @param tl The target data line to stream from. - * @param af The AudioFormat to stream with. - * @throws LineUnavailableException If cannot open or stream the TargetDataLine. - */ - private void upChannel(String urlStr, TargetDataLine tl, AudioFormat af) throws LineUnavailableException{ - final String murl = urlStr; - final TargetDataLine mtl = tl; - final AudioFormat maf = af; - if(!mtl.isOpen()){ - mtl.open(maf); - mtl.start(); - } - new Thread ("Upstream Thread") { - public void run() { - openHttpsPostConnection(murl, mtl, maf); - } - - }.start(); - - } - - /** - * Opens a HTTPS connection to the specified URL string - * @param urlStr The URL you want to visit - * @return The Scanner to access aforementioned data. - */ - private Scanner openHttpsConnection(String urlStr) { - int resCode = -1; - try { - - - URL url = new URL(urlStr); - URLConnection urlConn = url.openConnection(); - if (!(urlConn instanceof HttpsURLConnection)) { - throw new IOException ("URL is not an Https URL"); - } - HttpsURLConnection httpConn = (HttpsURLConnection)urlConn; - httpConn.setAllowUserInteraction(false); - // TIMEOUT is required - httpConn.setInstanceFollowRedirects(true); - httpConn.setRequestMethod("GET"); - - httpConn.connect(); - resCode = httpConn.getResponseCode(); - if (resCode == HttpsURLConnection.HTTP_OK) { - return new Scanner(httpConn.getInputStream()); - } - else{ - System.out.println("Error: " + resCode); - } - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Opens a HTTPSPostConnection that posts data from a TargetDataLine input - * @param murl The URL you want to post to. - * @param mtl The TargetDataLine you want to post data from. Note should be open - * @param maf The AudioFormat of the data you want to post - */ - private void openHttpsPostConnection(final String murl, - final TargetDataLine mtl, final AudioFormat maf) { - URL url; - try { - url = new URL(murl); - URLConnection urlConn = url.openConnection(); - if (!(urlConn instanceof HttpsURLConnection)) { - throw new IOException ("URL is not an Https URL"); - } - HttpsURLConnection httpConn = (HttpsURLConnection)urlConn; - httpConn.setAllowUserInteraction(false); - httpConn.setInstanceFollowRedirects(true); - httpConn.setRequestMethod("POST"); - httpConn.setDoOutput(true); - httpConn.setChunkedStreamingMode(0); - httpConn.setRequestProperty("Transfer-Encoding", "chunked"); - httpConn.setRequestProperty("Content-Type", "audio/x-flac; rate=" + (int)maf.getSampleRate()); - // also worked with ("Content-Type", "audio/amr; rate=8000"); - httpConn.connect(); - - // this opens a connection, then sends POST & headers. - OutputStream out = httpConn.getOutputStream(); - //Note : if the audio is more than 15 seconds - // dont write it to UrlConnInputStream all in one block as this sample does. - // Rather, segment the byteArray and on intermittently, sleeping thread - // supply bytes to the urlConn Stream at a rate that approaches - // the bitrate ( =30K per sec. in this instance ). - System.out.println("Starting to write data to output..."); - AudioInputStream ais = new AudioInputStream(mtl); - ChunkedOutputStream os = new ChunkedOutputStream(out); - AudioSystem.write(ais, FLACFileWriter.FLAC, os); - out.write(FINAL_CHUNK); - System.out.println("IO WRITE DONE"); - out.close(); - // do you need the trailer? - // NOW you can look at the status. - int resCode = httpConn.getResponseCode(); - if (resCode / 100 != 2) { - System.out.println("ERROR"); - } - }catch(Exception ex){ - ex.printStackTrace(); - - } - } - - /** - * Opens a chunked HTTPS post connection and returns a Scanner with incoming data from Google Server - * Used for to get UPStream - * Chunked HTTPS ensures unlimited file size. - * @param urlStr The String for the URL - * @param data The data you want to send the server - * @param sampleRate The sample rate of the flac file. - * @return A Scanner to access the server response. (Probably will never be used) - */ - private Scanner openHttpsPostConnection(String urlStr, byte[][] data, int sampleRate){ - byte[][] mextrad = data; - int resCode = -1; - OutputStream out = null; - // int http_status; - try { - URL url = new URL(urlStr); - URLConnection urlConn = url.openConnection(); - if (!(urlConn instanceof HttpsURLConnection)) { - throw new IOException ("URL is not an Https URL"); - } - HttpsURLConnection httpConn = (HttpsURLConnection)urlConn; - httpConn.setAllowUserInteraction(false); - httpConn.setInstanceFollowRedirects(true); - httpConn.setRequestMethod("POST"); - httpConn.setDoOutput(true); - httpConn.setChunkedStreamingMode(0); - httpConn.setRequestProperty("Transfer-Encoding", "chunked"); - httpConn.setRequestProperty("Content-Type", "audio/x-flac; rate=" + sampleRate); - // also worked with ("Content-Type", "audio/amr; rate=8000"); - httpConn.connect(); - try { - // this opens a connection, then sends POST & headers. - out = httpConn.getOutputStream(); - //Note : if the audio is more than 15 seconds - // dont write it to UrlConnInputStream all in one block as this sample does. - // Rather, segment the byteArray and on intermittently, sleeping thread - // supply bytes to the urlConn Stream at a rate that approaches - // the bitrate ( =30K per sec. in this instance ). - System.out.println("Starting to write"); - for(byte[] dataArray: mextrad){ - out.write(dataArray); // one big block supplied instantly to the underlying chunker wont work for duration > 15 s. - try { - Thread.sleep(1000);//Delays the Audio so Google thinks its a mic. - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - out.write(FINAL_CHUNK); - System.out.println("IO WRITE DONE"); - // do you need the trailer? - // NOW you can look at the status. - resCode = httpConn.getResponseCode(); - if (resCode / 100 != 2) { - System.out.println("ERROR"); - } - } catch (IOException e) { - - } - if (resCode == HttpsURLConnection.HTTP_OK) { - return new Scanner(httpConn.getInputStream()); - } - else{ - System.out.println("HELP: " + resCode); - } - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Converts the file into a byte[]. Also Android compatible. :) - * @param The File you want to get the byte[] from. - * @return The byte[] - * @throws IOException if something goes wrong in reading the file. - */ - private byte[] mapFileIn(File infile) throws IOException{ - return Files.readAllBytes(infile.toPath()); - } - - /** - * Parses the String into a GoogleResponse object - * @param rawResponse The String you want to parse - * @param gr the GoogleResponse object to save the data into. - */ - private void parseResponse(String rawResponse, GoogleResponse gr){ - if(rawResponse == null || !rawResponse.contains("\"result\"") - || rawResponse.equals("{\"result\":[]}")){ return; } - if(rawResponse.contains("\"confidence\":")){ - String confidence = StringUtil.substringBetween(rawResponse, "\"confidence\":", "}"); - gr.setConfidence(confidence); - } - else{ - gr.setConfidence(String.valueOf(1d)); - } - String array = StringUtil.trimString(rawResponse, "[", "]"); - if(array.contains("[")){ - array = StringUtil.trimString(array, "[", "]"); - } - if(array.contains("\"confidence\":")){//Removes confidence phrase if it exists. - array = array.substring(0, array.lastIndexOf(',')); - } - String[] parts = array.split(","); - gr.setResponse(parseTranscript(parts[0])); - for(int i = 1; i= MAX_SIZE){//If larger than 1MB - int frame = MAX_SIZE/2; - int numOfChunks = (int)(data.length/((double)frame)) + 1; - byte[][] data2D = new byte[numOfChunks][]; - for(int i = 0, j = 0; i otherPossibleResponses = new ArrayList(20); - - /** - * Constructor - */ - public GoogleResponse() { - - } - - - /** - * Gets the response text of what was said in the submitted Audio to Google - * - * @return String representation of what was said - */ - public String getResponse() { - return response; - } - - /** - * Set the response - * - * @param response The response - */ - protected void setResponse(String response) { - this.response = response; - } - - /** - * Gets the confidence score for the specific request - * - * @return The confidence score, ex .922343324323 - */ - public String getConfidence() { - return confidence; - } - - /** - * Set the confidence score for this request - * - * @param confidence The confidence score - */ - protected void setConfidence(String confidence) { - this.confidence = confidence; - } - - /** - * Get other possible responses for this request. - * @return other possible responses - */ - public List getOtherPossibleResponses() { - return otherPossibleResponses; - } - - /** - * Gets all returned responses for this request - * @return All returned responses - */ - public List getAllPossibleResponses() { - List tmp = otherPossibleResponses; - tmp.add(0,response); - return tmp; - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/Recognizer.java b/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/Recognizer.java deleted file mode 100755 index f5d6ab16..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/Recognizer.java +++ /dev/null @@ -1,466 +0,0 @@ -package com.darkprograms.speech.recognizer; - -import java.io.*; -import java.net.URL; -import java.net.URLConnection; -import java.nio.charset.Charset; - -import com.darkprograms.speech.util.StringUtil; - -/*************************************************************** - * Class that submits FLAC audio and retrieves recognized text - * - * @author Luke Kuza, Duncan Jauncey, Aaron Gokaslan - **************************************************************/ -@Deprecated -public class Recognizer { - - @Deprecated - public enum Languages{ - AUTO_DETECT("auto"),//tells Google to auto-detect the language - ARABIC_JORDAN("ar-JO"), - ARABIC_LEBANON("ar-LB"), - ARABIC_QATAR("ar-QA"), - ARABIC_UAE("ar-AE"), - ARABIC_MOROCCO("ar-MA"), - ARABIC_IRAQ("ar-IQ"), - ARABIC_ALGERIA("ar-DZ"), - ARABIC_BAHRAIN("ar-BH"), - ARABIC_LYBIA("ar-LY"), - ARABIC_OMAN("ar-OM"), - ARABIC_SAUDI_ARABIA("ar-SA"), - ARABIC_TUNISIA("ar-TN"), - ARABIC_YEMEN("ar-YE"), - BASQUE("eu"), - CATALAN("ca"), - CZECH("cs"), - DUTCH("nl-NL"), - ENGLISH_AUSTRALIA("en-AU"), - ENGLISH_CANADA("en-CA"), - ENGLISH_INDIA("en-IN"), - ENGLISH_NEW_ZEALAND("en-NZ"), - ENGLISH_SOUTH_AFRICA("en-ZA"), - ENGLISH_UK("en-GB"), - ENGLISH_US("en-US"), - FINNISH("fi"), - FRENCH("fr-FR"), - GALICIAN("gl"), - GERMAN("de-DE"), - HEBREW("he"), - HUNGARIAN("hu"), - ICELANDIC("is"), - ITALIAN("it-IT"), - INDONESIAN("id"), - JAPANESE("ja"), - KOREAN("ko"), - LATIN("la"), - CHINESE_SIMPLIFIED("zh-CN"), - CHINESE_TRANDITIONAL("zh-TW"), - CHINESE_HONGKONG("zh-HK"), - CHINESE_CANTONESE("zh-yue"), - MALAYSIAN("ms-MY"), - NORWEGIAN("no-NO"), - POLISH("pl"), - PIG_LATIN("xx-piglatin"), - PORTUGUESE("pt-PT"), - PORTUGUESE_BRASIL("pt-BR"), - ROMANIAN("ro-RO"), - RUSSIAN("ru"), - SERBIAN("sr-SP"), - SLOVAK("sk"), - SPANISH_ARGENTINA("es-AR"), - SPANISH_BOLIVIA("es-BO"), - SPANISH_CHILE("es-CL"), - SPANISH_COLOMBIA("es-CO"), - SPANISH_COSTA_RICA("es-CR"), - SPANISH_DOMINICAN_REPUBLIC("es-DO"), - SPANISH_ECUADOR("es-EC"), - SPANISH_EL_SALVADOR("es-SV"), - SPANISH_GUATEMALA("es-GT"), - SPANISH_HONDURAS("es-HN"), - SPANISH_MEXICO("es-MX"), - SPANISH_NICARAGUA("es-NI"), - SPANISH_PANAMA("es-PA"), - SPANISH_PARAGUAY("es-PY"), - SPANISH_PERU("es-PE"), - SPANISH_PUERTO_RICO("es-PR"), - SPANISH_SPAIN("es-ES"), - SPANISH_US("es-US"), - SPANISH_URUGUAY("es-UY"), - SPANISH_VENEZUELA("es-VE"), - SWEDISH("sv-SE"), - TURKISH("tr"), - ZULU("zu"); - - //TODO Clean Up JavaDoc for Overloaded Methods using @link - - /** - *Stores the LanguageCode - */ - private final String languageCode; - - /** - *Constructor - */ - private Languages(final String languageCode){ - this.languageCode = languageCode; - } - - public String toString(){ - return languageCode; - } - - } - - - /** - * URL to POST audio data and retrieve results - */ - private static final String GOOGLE_RECOGNIZER_URL = "https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium"; - - private boolean profanityFilter = true; - private String language = null; - - /** - * Constructor - */ - public Recognizer() { - this.setLanguage(Languages.AUTO_DETECT); - } - - /** - * Constructor - * @param Language - */ - @Deprecated - public Recognizer(String language) { - this.language = language; - } - - /** - * Constructor - * @param language The Languages class for the language you want to designate - */ - public Recognizer(Languages language){ - this.language = language.languageCode; - } - - /** - * Constructor - * @param profanityFilter - */ - public Recognizer(boolean profanityFilter){ - this.profanityFilter = profanityFilter; - } - - /** - * Constructor - * @param language - * @param profanityFilter - */ - @Deprecated - public Recognizer(String language, boolean profanityFilter){ - this.language = language; - this.profanityFilter = profanityFilter; - } - - /** - * Constructor - * @param language - * @param profanityFilter - */ - public Recognizer(Languages language, boolean profanityFilter){ - this.language = language.languageCode; - this.profanityFilter = profanityFilter; - } - - /** - * Language: Contains all supported languages for Google Speech to Text. - * Setting this to null will make Google use it's own language detection. - * This value is null by default. - * @param language - */ - public void setLanguage(Languages language) { - this.language = language.languageCode; - } - - /**Language code. This language code must match the language of the speech to be recognized. ex. en-US ru-RU - * This value is null by default. - * @param language The language code. - */ - @Deprecated - public void setLanguage(String language) { - this.language = language; - } - - /** - * Returns the state of profanityFilter - * which enables/disables Google's profanity filter (on by default). - * @return profanityFilter - */ - public boolean getProfanityFilter(){ - return profanityFilter; - } - - /** - * Language code. This language code must match the language of the speech to be recognized. ex. en-US ru-RU - * This value is null by default. - * @return language the Google language - */ - public String getLanguage(){ - return language; - } - - /** - * Get recognized data from a Wave file. This method will encode the wave file to a FLAC file - * - * @param waveFile Wave file to recognize - * @param maxResults Maximum number of results to return in response - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForWave(File waveFile, int maxResults) throws IOException{ - FlacEncoder flacEncoder = new FlacEncoder(); - File flacFile = new File(waveFile + ".flac"); - - flacEncoder.convertWaveToFlac(waveFile, flacFile); - - GoogleResponse googleResponse = getRecognizedDataForFlac(flacFile, maxResults, 8000); - - //Delete converted FLAC data - flacFile.delete(); - return googleResponse; - } - - /** - * Get recognized data from a Wave file. This method will encode the wave file to a FLAC - * - * @param waveFile Wave file to recognize - * @param maxResults the maximum number of results to return in the response - * NOTE: Sample rate of file must be 8000 unless a custom sample rate is specified. - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForWave(String waveFile, int maxResults) throws IOException { - return getRecognizedDataForWave(new File(waveFile), maxResults); - } - - /** - * Get recognized data from a FLAC file. - * - * @param flacFile FLAC file to recognize - * @param maxResults the maximum number of results to return in the response - * NOTE: Sample rate of file must be 8000 unless a custom sample rate is specified. - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(File flacFile, int maxResults) throws IOException { - return getRecognizedDataForFlac(flacFile, maxResults, 8000); - } - - /** - * Get recognized data from a FLAC file. - * - * @param flacFile FLAC file to recognize - * @param maxResults the maximum number of results to return in the response - * @param samepleRate The sampleRate of the file. Default is 8000. - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(File flacFile, int maxResults, int sampleRate) throws IOException{ - String response = rawRequest(flacFile, maxResults, sampleRate); - GoogleResponse googleResponse = new GoogleResponse(); - parseResponse(response, googleResponse); - return googleResponse; - } - - /** - * Get recognized data from a FLAC file. - * - * @param flacFile FLAC file to recognize - * @param maxResults the maximum number of results to return in the response - * @param samepleRate The sampleRate of the file. Default is 8000. - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(String flacFile, int maxResults, int sampleRate) throws IOException{ - return getRecognizedDataForFlac(new File(flacFile), maxResults, sampleRate); - } - - /** - * Get recognized data from a FLAC file. - * - * @param flacFile FLAC file to recognize - * @param maxResults the maximum number of results to return in the response - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(String flacFile, int maxResults) throws IOException { - return getRecognizedDataForFlac(new File(flacFile), maxResults); - } - - /** - * Get recognized data from a Wave file. This method will encode the wave file to a FLAC. - * This method will automatically set the language to en-US, or English - * - * @param waveFile Wave file to recognize - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForWave(File waveFile) throws IOException { - return getRecognizedDataForWave(waveFile, 1); - } - - /** - * Get recognized data from a Wave file. This method will encode the wave file to a FLAC. - * This method will automatically set the language to en-US, or English - * - * @param waveFile Wave file to recognize - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForWave(String waveFile) throws IOException { - return getRecognizedDataForWave(waveFile, 1); - } - - /** - * Get recognized data from a FLAC file. - * This method will automatically set the language to en-US, or English - * - * @param flacFile FLAC file to recognize - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(File flacFile) throws IOException { - return getRecognizedDataForFlac(flacFile, 1); - } - - /** - * Get recognized data from a FLAC file. - * This method will automatically set the language to en-US, or English - * - * @param flacFile FLAC file to recognize - * @return Returns a GoogleResponse, with the response and confidence score - * @throws IOException Throws exception if something goes wrong - */ - public GoogleResponse getRecognizedDataForFlac(String flacFile) throws IOException { - return getRecognizedDataForFlac(flacFile, 1); - } - - /** - * Parses the raw response from Google - * - * @param rawResponse The raw, unparsed response from Google - * @return Returns the parsed response in the form of a Google Response. - */ - private void parseResponse(String rawResponse, GoogleResponse googleResponse) { - if (rawResponse == null || !rawResponse.contains("utterance")) - return; - - String array = StringUtil.substringBetween(rawResponse, "[", "]"); - String[] parts = array.split("}"); - - boolean first = true; - for( String s : parts ) { - if( first ) { - first = false; - String utterancePart = s.split(",")[0]; - String confidencePart = s.split(",")[1]; - - String utterance = utterancePart.split(":")[1]; - String confidence = confidencePart.split(":")[1]; - - utterance = StringUtil.stripQuotes(utterance); - confidence = StringUtil.stripQuotes(confidence); - - if( utterance.equals("null") ) { - utterance = null; - } - if( confidence.equals("null") ) { - confidence = null; - } - - googleResponse.setResponse(utterance); - googleResponse.setConfidence(confidence); - } else { - String utterance = s.split(":")[1]; - utterance = StringUtil.stripQuotes(utterance); - if( utterance.equals("null") ) { - utterance = null; - } - googleResponse.getOtherPossibleResponses().add(utterance); - } - } - } - - /** - * Performs the request to Google with a file
- * Request is buffered - * - * @param inputFile Input files to recognize - * @return Returns the raw, unparsed response from Google - * @throws IOException Throws exception if something went wrong - */ - private String rawRequest(File inputFile, int maxResults, int sampleRate) throws IOException{ - URL url; - URLConnection urlConn; - OutputStream outputStream; - BufferedReader br; - - StringBuilder sb = new StringBuilder(GOOGLE_RECOGNIZER_URL); - if( language != null ) { - sb.append("&lang="); - sb.append(language); - } - else{ - sb.append("&lang=auto"); - } - if( !profanityFilter ) { - sb.append("&pfilter=0"); - } - sb.append("&maxresults="); - sb.append(maxResults); - - // URL of Remote Script. - url = new URL(sb.toString()); - - - // Open New URL connection channel. - urlConn = url.openConnection(); - - // we want to do output. - urlConn.setDoOutput(true); - - // No caching - urlConn.setUseCaches(false); - - // Specify the header content type. - urlConn.setRequestProperty("Content-Type", "audio/x-flac; rate=" + sampleRate); - - // Send POST output. - outputStream = urlConn.getOutputStream(); - - - FileInputStream fileInputStream = new FileInputStream(inputFile); - - byte[] buffer = new byte[256]; - - while ((fileInputStream.read(buffer, 0, 256)) != -1) { - outputStream.write(buffer, 0, 256); - } - - fileInputStream.close(); - outputStream.close(); - - // Get response data. - br = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), Charset.forName("UTF-8"))); - - String response = br.readLine(); - - br.close(); - - return response; - - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/RecognizerChunked.java b/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/RecognizerChunked.java deleted file mode 100755 index ab4a999d..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/recognizer/RecognizerChunked.java +++ /dev/null @@ -1,282 +0,0 @@ -package com.darkprograms.speech.recognizer; - - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.nio.ByteBuffer; -import java.nio.MappedByteBuffer; -import java.nio.channels.FileChannel; -import java.util.ArrayList; -import java.util.List; - -import javax.net.ssl.HttpsURLConnection; -import javax.xml.ws.http.HTTPException; - -import com.darkprograms.speech.util.StringUtil; - -/** - * This class uses Google's V2 Hook. The class is returns a chunked respones so listeners must be used. - * The class also requires an API-Key (see Constructor) for details. This class is experimental and - * subject to change as we restructure the API. - * @author Aaron Gokaslan (Skylion) - */ -public class RecognizerChunked { - - /** - * Google's API V2 URL - */ - private static final String GOOGLE_SPEECH_URL_V2 = "https://www.google.com/speech-api/v2/recognize"; - - /** - * API-Key used for requests - */ - private final String API_KEY; - - /** - * The language code Google uses to determine the language - * Default value is "auto" - */ - private String language; - - /** - * Stores the Response Listeners - */ - private List responseListeners = new ArrayList(); - - /** - * Constructor - * @param API_KEY The API-Key for Google's Speech API. An API key can be obtained by requesting - * one by following the process shown at this - * url. - */ - public RecognizerChunked(String API_KEY){ - this.API_KEY = API_KEY; - this.language = "auto"; - } - - /** - * Constructor - * @param API_KEY The API-Key for Google's Speech API. An API key can be obtained by requesting - * one by following the process shown at this - * url. - * @param language The language you want to use (Iso code) - * Note: This function will most likely be deprecated. - */ - public RecognizerChunked(String API_KEY, String language){ - this(API_KEY); - this.language = language; - } - - /** - * The current language the Recognizer is set to use. Returns the ISO-Code otherwise, - * it may return "auto." - * @return The ISO-Code or auto if the language the is not specified. - */ - public String getLanguage(){ - return language; - } - - /** - * Sets the language that the file should return. - * @param language The language as an ISO-Code - */ - public void setLanguage(String language){ - this.language = language; - } - - /** - * Analyzes the file for speech - * @param infile The file you want to analyze for speech. - * @param sampleRate The sample rate of the audioFile. - * @throws IOException if something goes wrong reading the file. - */ - public void getRecognizedDataForFlac(File infile, int sampleRate) throws IOException{ - byte[] data = mapFileIn(infile); - getRecognizedDataForFlac(data, sampleRate); - } - - /** - * Analyzes the file for speech - * @param infile The file you want to analyze for speech. - * @param sampleRate The sample rate of the audioFile. - * @throws IOException if something goes wrong reading the file. - */ - public void getRecognizedDataForFlac(String inFile, int sampleRate) throws IOException{ - getRecognizedDataForFlac(new File(inFile), sampleRate); - } - - /** - * Recognizes the byte data. - * @param data - * @param sampleRate - */ - public void getRecognizedDataForFlac(byte[] data, int sampleRate){ - StringBuilder sb = new StringBuilder(GOOGLE_SPEECH_URL_V2); - sb.append("?output=json"); - sb.append("&client=chromium"); - sb.append("&lang=" + language); - sb.append("&key=" + API_KEY); - String url = sb.toString(); - - openHttpsPostConnection(url, data, sampleRate); - } - - /** - * Opens a chunked response HTTPS line to the specified URL - * @param urlStr The URL string to connect for chunking - * @param data The data you want to send to Google. Speech files under 15 seconds long recommended. - * @param sampleRate The sample rate for your audio file. - */ - private void openHttpsPostConnection(final String urlStr, final byte[] data, final int sampleRate) { - new Thread () { - public void run() { - HttpsURLConnection httpConn = null; - ByteBuffer buff = ByteBuffer.wrap(data); - byte[] destdata = new byte[2048]; - int resCode = -1; - OutputStream out = null; - try { - URL url = new URL(urlStr); - URLConnection urlConn = url.openConnection(); - if (!(urlConn instanceof HttpsURLConnection)) { - throw new IOException ("URL must be HTTPS"); - } - httpConn = (HttpsURLConnection)urlConn; - httpConn.setAllowUserInteraction(false); - httpConn.setInstanceFollowRedirects(true); - httpConn.setRequestMethod("POST"); - httpConn.setDoOutput(true); - httpConn.setChunkedStreamingMode(0); //TransferType: chunked - httpConn.setRequestProperty("Content-Type", "audio/x-flac; rate=" + sampleRate); - // this opens a connection, then sends POST & headers. - out = httpConn.getOutputStream(); - //beyond 15 sec duration just simply writing the file - // does not seem to work. So buffer it and delay to simulate - // bufferd microphone delivering stream of speech - // re: net.http.ChunkedOutputStream.java - while(buff.remaining() >= destdata.length){ - buff.get(destdata); - out.write(destdata); - }; - byte[] lastr = new byte[buff.remaining()]; - buff.get(lastr, 0, lastr.length); - out.write(lastr); - out.close(); - resCode = httpConn.getResponseCode(); - if(resCode >= HttpURLConnection.HTTP_UNAUTHORIZED){//Stops here if Google doesn't like us/ - throw new HTTPException(HttpURLConnection.HTTP_UNAUTHORIZED);//Throws - } - String line;//Each line that is read back from Google. - BufferedReader br = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); - while ((line = br.readLine( )) != null) { - if(line.length()>19 && resCode > 100 && resCode < HttpURLConnection.HTTP_UNAUTHORIZED){ - GoogleResponse gr = new GoogleResponse(); - parseResponse(line, gr); - fireResponseEvent(gr); - } - } - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - finally {httpConn.disconnect();} - } - }.start(); - } - - /** - * Converts the file into a byte[]. - * @param infile The File you want to specify - * @return a byte array - * @throws IOException if something goes wrong reading the file. - */ - private byte[] mapFileIn(File infile) throws IOException{ - FileInputStream fis = new FileInputStream(infile); - try{ - FileChannel fc = fis.getChannel(); // Get the file's size and then map it into memory - int sz = (int)fc.size(); - MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, sz); - byte[] data2 = new byte[bb.remaining()]; - bb.get(data2); - return data2; - } - finally{//Ensures resources are closed regardless of whether the action suceeded - fis.close(); - } - } - - /** - * Parses the response into a Google Response - * @param rawResponse The raw String you want to parse - * @param gr The GoogleResponse you want to parse into ti. - */ - private void parseResponse(String rawResponse, GoogleResponse gr){ - if(rawResponse == null || !rawResponse.contains("\"result\"")){ return; } - if(rawResponse.contains("\"confidence\":")){ - String confidence = StringUtil.substringBetween(rawResponse, "\"confidence\":", "}"); - gr.setConfidence(confidence); - } - else{ - gr.setConfidence(String.valueOf(1d)); - } - String array = StringUtil.trimString(rawResponse, "[", "]"); - if(array.contains("[")){ - array = StringUtil.trimString(array, "[", "]"); - } - String[] parts = array.split(","); - gr.setResponse(parseTranscript(parts[0])); - for(int i = 1; i100){ - List fragments = parseString(synthText);//parses String if too long - String tmp = getLanguage(); - setLanguage(languageCode);//Keeps it from autodetecting each fragment. - InputStream out = getMP3Data(fragments); - setLanguage(tmp);//Reverts it to it's previous Language such as auto. - return out; - } - - - String encoded = URLEncoder.encode(synthText, "UTF-8"); //Encode - - URL url = new URL(GOOGLE_SYNTHESISER_URL + languageCode + "&q=" + encoded); //create url - - // Open New URL connection channel. - URLConnection urlConn = url.openConnection(); //Open connection - - urlConn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"); //Adding header for user agent is required - - return urlConn.getInputStream(); - } - - /** - * Gets an InputStream to MP3Data for the returned information from a request - * @param synthText List of Strings you want to be synthesized into MP3 data - * @return Returns an input stream of all the MP3 data that is returned from Google - * @throws IOException Throws exception if it cannot complete the request - */ - public InputStream getMP3Data(List synthText) throws IOException{ - //Uses an executor service pool for concurrency. Limit to 1000 threads max. - ExecutorService pool = Executors.newFixedThreadPool(1000); - //Stores the Future (Data that will be returned in the future) - Set> set = new LinkedHashSet>(synthText.size()); - for(String part: synthText){ //Iterates through the list - Callable callable = new MP3DataFetcher(part);//Creates Callable - Future future = pool.submit(callable);//Begins to run Callable - set.add(future);//Adds the response that will be returned to a set. - } - List inputStreams = new ArrayList(set.size()); - for(Future future: set){ - try { - inputStreams.add(future.get());//Gets the returned data from the future. - } catch (ExecutionException e) {//Thrown if the MP3DataFetcher encountered an error. - Throwable ex = e.getCause(); - if(ex instanceof IOException){ - throw (IOException)ex;//Downcasts and rethrows it. - } - } catch (InterruptedException e){//Will probably never be called, but just in case... - Thread.currentThread().interrupt();//Interrupts the thread since something went wrong. - } - } - return new SequenceInputStream(Collections.enumeration(inputStreams));//Sequences the stream. - } - - /** - * Separates a string into smaller parts so that Google will not reject the request. - * @param input The string you want to separate - * @return A List of the String fragments from your input.. - */ - private List parseString(String input){ - return parseString (input, new ArrayList()); - } - - /** - * Separates a string into smaller parts so that Google will not reject the request. - * @param input The string you want to break up into smaller parts - * @param fragments List that you want to add stuff too. - * If you don't have a List already constructed "new ArrayList()" works well. - * @return A list of the fragments of the original String - */ - private List parseString(String input, List fragments){ - if(input.length()<=100){//Base Case - fragments.add(input); - return fragments; - } - else{ - int lastWord = findLastWord(input);//Checks if a space exists - if(lastWord<=0){ - fragments.add(input.substring(0,100));//In case you sent gibberish to Google. - return parseString(input.substring(100), fragments); - }else{ - fragments.add(input.substring(0,lastWord));//Otherwise, adds the last word to the list for recursion. - return parseString(input.substring(lastWord), fragments); - } - } - } - - /** - * Finds the last word in your String (before the index of 99) by searching for spaces and ending punctuation. - * Will preferably parse on punctuation to alleviate mid-sentence pausing - * @param input The String you want to search through. - * @return The index of where the last word of the string ends before the index of 99. - */ - private int findLastWord(String input){ - if(input.length()<100) - return input.length(); - int space = -1; - for(int i = 99; i>0; i--){ - char tmp = input.charAt(i); - if(isEndingPunctuation(tmp)){ - return i+1; - } - if(space==-1 && tmp == ' '){ - space = i; - } - } - if(space>0){ - return space; - } - return -1; - } - - /** - * Checks if char is an ending character - * Ending punctuation for all languages according to Wikipedia (Except for Sanskrit non-unicode) - * @param The char you want check - * @return True if it is, false if not. - */ - private boolean isEndingPunctuation(char input){ - return input == '.' || input == '!' || input == '?' || input == ';' || input == ':' || input == '|'; - } - - /** - * Automatically determines the language of the original text - * @param text represents the text you want to check the language of - * @return the languageCode in ISO-639 - * @throws Exception if it cannot complete the request - */ - public String detectLanguage(String text) throws IOException{ - return GoogleTranslate.detectLanguage(text); - } - - /** - * This class is a callable. - * A callable is like a runnable except that it can return data and throw exceptions. - * Useful when using futures. Dramatically improves the speed of execution. - * @author Aaron Gokaslan (Skylion) - */ - private class MP3DataFetcher implements Callable{ - private String synthText; - - public MP3DataFetcher(String synthText){ - this.synthText = synthText; - } - - public InputStream call() throws IOException{ - return getMP3Data(synthText); - } - } - -} - diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java b/lib/java-speech-api-master/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java deleted file mode 100755 index db124123..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/synthesiser/SynthesiserV2.java +++ /dev/null @@ -1,303 +0,0 @@ -package com.darkprograms.speech.synthesiser; - -import java.io.IOException; -import java.io.InputStream; -import java.io.SequenceInputStream; -import java.net.URL; -import java.net.URLConnection; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; - -import com.darkprograms.speech.translator.GoogleTranslate; - - -/** - * This class uses the V2 version of Google's Text to Speech API. While this class requires an API key, - * the endpoint allows for additional specification of parameters including speed and pitch. - * See the constructor for instructions regarding the API_Key. - * @author Skylion (Aaron Gokaslan) - */ -public class SynthesiserV2 { - - private static final String GOOGLE_SYNTHESISER_URL = "https://www.google.com/speech-api/v2/synthesize?enc=mpeg" + - "&client=chromium"; - - /** - * API_KEY used for requests - */ - private final String API_KEY; - - /** - * language of the Text you want to translate - */ - private String languageCode; - - /** - * The pitch of the generated audio - */ - private double pitch = 1.0; - - /** - * The speed of the generated audio - */ - private double speed = 1.0; - - /** - * Constructor - * @param API_KEY The API-Key for Google's Speech API. An API key can be obtained by requesting - * one by following the process shown at this - * url. - */ - public SynthesiserV2(String API_KEY){ - this.API_KEY = API_KEY; - } - - /** - * Returns the current language code for the Synthesiser. - * Example: English(Generic) = en, English (US) = en-US, English (UK) = en-GB. and Spanish = es; - * @return the current language code parameter - */ - public String getLanguage(){ - return languageCode; - } - - /** - * Note: set language to auto to enable automatic language detection. - * Setting to null will also implement Google's automatic language detection - * @param languageCode The language code you would like to modify languageCode to. - */ - public void setLanguage(String languageCode){ - this.languageCode = languageCode; - } - - /** - * @return the pitch - */ - public double getPitch() { - return pitch; - } - - /** - * Sets the pitch of the audio. - * Valid values range from 0 to 2 inclusive. - * Values above 1 correspond to higher pitch, values below 1 correspond to lower pitch. - * @param pitch the pitch to set - */ - public void setPitch(double pitch) { - this.pitch = pitch; - } - - /** - * @return the speed - */ - public double getSpeed() { - return speed; - } - - /** - * Sets the speed of audio. - * Valid values range from 0 to 2 inclusive. - * Values higher than one correspond to faster and vice versa. - * @param speed the speed to set - */ - public void setSpeed(double speed) { - this.speed = speed; - } - - /** - * Gets an input stream to MP3 data for the returned information from a request - * - * @param synthText Text you want to be synthesized into MP3 data - * @return Returns an input stream of the MP3 data that is returned from Google - * @throws IOException Throws exception if it can not complete the request - */ - public InputStream getMP3Data(String synthText) throws IOException{ - - String languageCode = this.languageCode;//Ensures retention of language settings if set to auto - - if(languageCode == null || languageCode.equals("") || languageCode.equalsIgnoreCase("auto")){ - try{ - languageCode = detectLanguage(synthText);//Detects language - if(languageCode == null){ - languageCode = "en-us";//Reverts to Default Language if it can't detect it. - } - } - catch(Exception ex){ - ex.printStackTrace(); - languageCode = "en-us";//Reverts to Default Language if it can't detect it. - } - } - - if(synthText.length()>100){ - List fragments = parseString(synthText);//parses String if too long - String tmp = getLanguage(); - setLanguage(languageCode);//Keeps it from autodetecting each fragment. - InputStream out = getMP3Data(fragments); - setLanguage(tmp);//Reverts it to it's previous Language such as auto. - return out; - } - - - String encoded = URLEncoder.encode(synthText, "UTF-8"); //Encode - - StringBuilder sb = new StringBuilder(GOOGLE_SYNTHESISER_URL); - sb.append("&key=" + API_KEY); - sb.append("&text=" + encoded); - sb.append("&lang=" + languageCode); - - if(speed>=0 && speed<=2.0){ - sb.append("&speed=" + speed/2.0); - } - - if(pitch>=0 && pitch<=2.0){ - sb.append("&pitch=" + pitch/2.0); - } - - URL url = new URL(sb.toString()); //create url - - // Open New URL connection channel. - URLConnection urlConn = url.openConnection(); //Open connection - - urlConn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"); //Adding header for user agent is required - - return urlConn.getInputStream(); - } - - /** - * Gets an InputStream to MP3Data for the returned information from a request - * @param synthText List of Strings you want to be synthesized into MP3 data - * @return Returns an input stream of all the MP3 data that is returned from Google - * @throws IOException Throws exception if it cannot complete the request - */ - public InputStream getMP3Data(List synthText) throws IOException{ - //Uses an executor service pool for concurrency. Limit to 1000 threads max. - ExecutorService pool = Executors.newFixedThreadPool(1000); - //Stores the Future (Data that will be returned in the future) - Set> set = new LinkedHashSet>(synthText.size()); - for(String part: synthText){ //Iterates through the list - Callable callable = new MP3DataFetcher(part);//Creates Callable - Future future = pool.submit(callable);//Begins to run Callable - set.add(future);//Adds the response that will be returned to a set. - } - List inputStreams = new ArrayList(set.size()); - for(Future future: set){ - try { - inputStreams.add(future.get());//Gets the returned data from the future. - } catch (ExecutionException e) {//Thrown if the MP3DataFetcher encountered an error. - Throwable ex = e.getCause(); - if(ex instanceof IOException){ - throw (IOException)ex;//Downcasts and rethrows it. - } - } catch (InterruptedException e){//Will probably never be called, but just in case... - Thread.currentThread().interrupt();//Interrupts the thread since something went wrong. - } - } - return new SequenceInputStream(Collections.enumeration(inputStreams));//Sequences the stream. - } - - /** - * Separates a string into smaller parts so that Google will not reject the request. - * @param input The string you want to separate - * @return A List of the String fragments from your input.. - */ - private List parseString(String input){ - return parseString (input, new ArrayList()); - } - - /** - * Separates a string into smaller parts so that Google will not reject the request. - * @param input The string you want to break up into smaller parts - * @param fragments List that you want to add stuff too. - * If you don't have a List already constructed "new ArrayList()" works well. - * @return A list of the fragments of the original String - */ - private List parseString(String input, List fragments){ - if(input.length()<=100){//Base Case - fragments.add(input); - return fragments; - } - else{ - int lastWord = findLastWord(input);//Checks if a space exists - if(lastWord<=0){ - fragments.add(input.substring(0,100));//In case you sent gibberish to Google. - return parseString(input.substring(100), fragments); - }else{ - fragments.add(input.substring(0,lastWord));//Otherwise, adds the last word to the list for recursion. - return parseString(input.substring(lastWord), fragments); - } - } - } - - /** - * Finds the last word in your String (before the index of 99) by searching for spaces and ending punctuation. - * Will preferably parse on punctuation to alleviate mid-sentence pausing - * @param input The String you want to search through. - * @return The index of where the last word of the string ends before the index of 99. - */ - private int findLastWord(String input){ - if(input.length()<100) - return input.length(); - int space = -1; - for(int i = 99; i>0; i--){ - char tmp = input.charAt(i); - if(isEndingPunctuation(tmp)){ - return i+1; - } - if(space==-1 && tmp == ' '){ - space = i; - } - } - if(space>0){ - return space; - } - return -1; - } - - /** - * Checks if char is an ending character - * Ending punctuation for all languages according to Wikipedia (Except for Sanskrit non-unicode) - * @param The char you want check - * @return True if it is, false if not. - */ - private boolean isEndingPunctuation(char input){ - return input == '.' || input == '!' || input == '?' || input == ';' || input == ':' || input == '|'; - } - - /** - * Automatically determines the language of the original text - * @param text represents the text you want to check the language of - * @return the languageCode in ISO-639 - * @throws Exception if it cannot complete the request - */ - public String detectLanguage(String text) throws IOException{ - return GoogleTranslate.detectLanguage(text); - } - - /** - * This class is a callable. - * A callable is like a runnable except that it can return data and throw exceptions. - * Useful when using futures. Dramatically improves the speed of execution. - * @author Aaron Gokaslan (Skylion) - */ - private class MP3DataFetcher implements Callable{ - private String synthText; - - public MP3DataFetcher(String synthText){ - this.synthText = synthText; - } - - public InputStream call() throws IOException{ - return getMP3Data(synthText); - } - } - -} \ No newline at end of file diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/translator/GoogleTranslate.java b/lib/java-speech-api-master/src/com/darkprograms/speech/translator/GoogleTranslate.java deleted file mode 100755 index 4572641d..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/translator/GoogleTranslate.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.darkprograms.speech.translator; - -import java.io.IOException; -import java.io.Reader; -import java.net.URL; -import java.net.URLConnection; -import java.net.URLEncoder; -import java.nio.charset.Charset; -import java.util.Locale; - -/*************************************************************************************************************** - * An API for a Google Translation service in Java. - * Please Note: This API is unofficial and is not supported by Google. Subject to breakage at any time. - * The translator allows for language detection and translation. - * Recommended for translation of user interfaces or speech commands. - * All translation services provided via Google Translate - * @author Aaron Gokaslan (Skylion) - ***************************************************************************************************************/ -public final class GoogleTranslate { //Class marked as final since all methods are static - - /** - * URL to query for Translation - */ - private final static String GOOGLE_TRANSLATE_URL = "http://translate.google.com/translate_a/t?client=t"; - - /** - * Private to prevent instantiation - */ - private GoogleTranslate(){}; - - /** - * Converts the ISO-639 code into a friendly language code in the user's default language - * For example, if the language is English and the default locale is French, it will return "anglais" - * Useful for UI Strings - * @param languageCode The ISO639-1 - * @return The language in the user's default language - * @see {@link #detectLanguage} - */ - public static String getDisplayLanguage(String languageCode){ - return (new Locale(languageCode)).getDisplayLanguage(); - } - - /** - * Automatically determines the language of the original text - * @param text represents the text you want to check the language of - * @return The ISO-639 code for the language - * @throws IOException if it cannot complete the request - */ - public static String detectLanguage(String text) throws IOException{ - String encoded = URLEncoder.encode(text, "UTF-8"); //Encodes the string - URL url = new URL(GOOGLE_TRANSLATE_URL + "&text=" + encoded); //Generates URL - String rawData = urlToText(url);//Gets text from Google - return findLanguage(rawData); - } - - - /** - * Automatically translates text to a system's default language according to its locale - * Useful for creating international applications as you can translate UI strings - * @param text The text you want to translate - * @return The translated text - * @throws IOException if cannot complete request - */ - public static String translate(String text) throws IOException{ - return translate(Locale.getDefault().getLanguage(), text); - } - - /** - * Automatically detects language and translate to the targetLanguage - * @param targetLanguage The language you want to translate into in ISO-639 format - * @param text The text you actually want to translate - * @return The translated text. - * @throws IOException if it cannot complete the request - */ - public static String translate(String targetLanguage, String text) throws IOException{ - return translate("auto",targetLanguage, text); - } - - /** - * Translate text from sourceLanguage to targetLanguage - * Specifying the sourceLanguage greatly improves accuracy over short Strings - * @param sourceLanguage The language you want to translate from in ISO-639 format - * @param targetLanguage The language you want to translate into in ISO-639 format - * @param text The text you actually want to translate - * @return the translated text. - * @throws IOException if it cannot complete the request - */ - public static String translate(String sourceLanguage, String targetLanguage, String text) throws IOException{ - String encoded = URLEncoder.encode(text, "UTF-8"); //Encode - //Generates URL - URL url = new URL(GOOGLE_TRANSLATE_URL + "&sl=" + sourceLanguage + "&tl=" + targetLanguage + "&text=" + encoded); - String rawData = urlToText(url);//Gets text from Google - if(rawData==null){ - return null; - } - String[] raw = rawData.split("\"");//Parses the JSON - if(raw.length<2){ - return null; - } - return raw[1];//Returns the translation - } - - /** - * Converts a URL to Text - * @param url that you want to generate a String from - * @return The generated String - * @throws IOException if it cannot complete the request - */ - private static String urlToText(URL url) throws IOException{ - URLConnection urlConn = url.openConnection(); //Open connection - //Adding header for user agent is required. Otherwise, Google rejects the request - urlConn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"); - Reader r = new java.io.InputStreamReader(urlConn.getInputStream(), Charset.forName("UTF-8"));//Gets Data Converts to string - StringBuilder buf = new StringBuilder(); - while (true) {//Reads String from buffer - int ch = r.read(); - if (ch < 0) - break; - buf.append((char) ch); - } - String str = buf.toString(); - return str; - } - - - /** - * Searches RAWData for Language - * @param RAWData the raw String directly from Google you want to search through - * @return The language parsed from the rawData or en-US (English-United States) if Google cannot determine it. - */ - private static String findLanguage(String rawData){ - for(int i = 0; i+50) - return rawData.substring(i+2,i+2+lastQuote); - } - else{ - String possible = rawData.substring(i+2,i+4); - if(containsLettersOnly(possible)){//Required due to Google's inconsistent formatting. - return possible; - } - } - } - } - return null; - } - - /** - * Checks if all characters in text are letters. - * @param text The text you want to determine the validity of. - * @return True if all characters are letter, otherwise false. - */ - private static boolean containsLettersOnly(String text){ - for(int i = 0; i. All rights reserved. -// -//Redistribution and use in source and binary forms, with or without -//modification, are permitted provided that the following conditions -//are met: -//1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -//2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -//THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -//IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -//ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -//FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -//DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -//OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -//HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -//OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -//SUCH DAMAGE. -// -//Visit the ACME Labs Java page for up-to-date versions of this and other -//fine Java utilities: http://www.acme.com/java/ - - -import java.io.*; -import java.util.*; - -/// An OutputStream that implements HTTP/1.1 chunking. -//

-//This class lets a Servlet send its response data as an HTTP/1.1 chunked -//stream. Chunked streams are a way to send arbitrary-length data without -//having to know beforehand how much you're going to send. They are -//introduced by a "Transfer-Encoding: chunked" header, so you have to -//set that header when you make one of these streams. -//

-//Sample usage: -//


-//res.setHeader( "Transfer-Encoding", "chunked" );
-//OutputStream out = res.getOutputStream();
-//ChunkedOutputStream chunkOut = new ChunkedOutputStream( out );
-//(write data to chunkOut instead of out)
-//(optionally set footers)
-//chunkOut.done();
-//
-//

-//Every time the stream gets flushed, a chunk is sent. When done() -//is called, an empty chunk is sent, marking the end of the chunked -//stream as per the chunking spec. -//

-//Fetch the software.
-//Fetch the entire Acme package. - -public class ChunkedOutputStream extends BufferedOutputStream -{ - - /// Make a ChunkedOutputStream with a default buffer size. - // @param out the underlying output stream - public ChunkedOutputStream( OutputStream out ) - { - super( out ); - } - - /// Make a ChunkedOutputStream with a specified buffer size. - // @param out the underlying output stream - // @param size the buffer size - public ChunkedOutputStream( OutputStream out, int size ) - { - super( out, size ); - } - - - /// Flush the stream. This will write any buffered output - // bytes as a chunk. - // @exception IOException if an I/O error occurred - public synchronized void flush() throws IOException - { - if ( count != 0 ) - { - writeBuf( buf, 0, count ); - count = 0; - } - } - - - private Vector footerNames = new Vector(); - private Vector footerValues = new Vector(); - - /// Set a footer. Footers are much like HTTP headers, except that - // they come at the end of the data instead of at the beginning. - public void setFooter( String name, String value ) - { - footerNames.addElement( name ); - footerValues.addElement( value ); - } - - - /// Indicate the end of the chunked data by sending a zero-length chunk, - // possible including footers. - // @exception IOException if an I/O error occurred - public void done() throws IOException - { - flush(); - PrintStream pout = new PrintStream( out ); - pout.println( "0" ); - if ( footerNames.size() > 0 ) - { - // Send footers. - for ( int i = 0; i < footerNames.size(); ++i ) - { - String name = (String) footerNames.elementAt( i ); - String value = (String) footerValues.elementAt( i ); - pout.println( name + ": " + value ); - } - } - footerNames = null; - footerValues = null; - pout.println( "" ); - pout.flush(); - } - - - /// Make sure that calling close() terminates the chunked stream. - public void close() throws IOException - { - if ( footerNames != null ) - done(); - super.close(); - } - - - /// Write a sub-array of bytes. - //

- // The only reason we have to override the BufferedOutputStream version - // of this is that it writes the array directly to the output stream - // if doesn't fit in the buffer. So we make it use our own chunk-write - // routine instead. Otherwise this is identical to the parent-class - // version. - // @param b the data to be written - // @param off the start offset in the data - // @param len the number of bytes that are written - // @exception IOException if an I/O error occurred - public synchronized void write( byte b[], int off, int len ) throws IOException - { - int avail = buf.length - count; - - if ( len <= avail ) - { - System.arraycopy( b, off, buf, count, len ); - count += len; - return; - } - flush(); - writeBuf( b, off, len ); - } - - - private static final byte[] crlf = { 13, 10 }; - private byte[] lenBytes = new byte[20]; // big enough for any number in hex - - /// The only routine that actually writes to the output stream. - // This is where chunking semantics are implemented. - // @exception IOException if an I/O error occurred - private void writeBuf( byte b[], int off, int len ) throws IOException - { - // Write the chunk length as a hex number. - String lenStr = Integer.toString( len, 16 ); - lenStr.getBytes( 0, lenStr.length(), lenBytes, 0 ); - out.write( lenBytes ); - // Write a CRLF. - out.write( crlf ); - // Write the data. - if ( len != 0 ) - out.write( b, off, len ); - // Write a CRLF. - out.write( crlf ); - // And flush the real stream. - out.flush(); - } - -} - diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/util/Complex.java b/lib/java-speech-api-master/src/com/darkprograms/speech/util/Complex.java deleted file mode 100755 index 5177eafe..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/util/Complex.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.darkprograms.speech.util; - - -/************************************************************************* - * Compilation: javac Complex.java - * Execution: java Complex - * - * Data type for complex numbers. - * - * The data type is "immutable" so once you create and initialize - * a Complex object, you cannot change it. The "final" keyword - * when declaring re and im enforces this rule, making it a - * compile-time error to change the .re or .im fields after - * they've been initialized. - * - * Class based off of Princeton University's Complex.java class - * @author Aaron Gokaslan, Princeton University - *************************************************************************/ - -public class Complex { - private final double re; // the real part - private final double im; // the imaginary part - - // create a new object with the given real and imaginary parts - public Complex(double real, double imag) { - re = real; - im = imag; - } - - // return a string representation of the invoking Complex object - public String toString() { - if (im == 0) return re + ""; - if (re == 0) return im + "i"; - if (im < 0) return re + " - " + (-im) + "i"; - return re + " + " + im + "i"; - } - - // return abs/modulus/magnitude and angle/phase/argument - public double abs() { return Math.hypot(re, im); } // Math.sqrt(re*re + im*im) - public double phase() { return Math.atan2(im, re); } // between -pi and pi - - // return a new Complex object whose value is (this + b) - public Complex plus(Complex b) { - Complex a = this; // invoking object - double real = a.re + b.re; - double imag = a.im + b.im; - return new Complex(real, imag); - } - - // return a new Complex object whose value is (this - b) - public Complex minus(Complex b) { - Complex a = this; - double real = a.re - b.re; - double imag = a.im - b.im; - return new Complex(real, imag); - } - - // return a new Complex object whose value is (this * b) - public Complex times(Complex b) { - Complex a = this; - double real = a.re * b.re - a.im * b.im; - double imag = a.re * b.im + a.im * b.re; - return new Complex(real, imag); - } - - // scalar multiplication - // return a new object whose value is (this * alpha) - public Complex times(double alpha) { - return new Complex(alpha * re, alpha * im); - } - - // return a new Complex object whose value is the conjugate of this - public Complex conjugate() { return new Complex(re, -im); } - - // return a new Complex object whose value is the reciprocal of this - public Complex reciprocal() { - double scale = re*re + im*im; - return new Complex(re / scale, -im / scale); - } - - // return the real or imaginary part - public double re() { return re; } - public double im() { return im; } - - // return a / b - public Complex divides(Complex b) { - Complex a = this; - return a.times(b.reciprocal()); - } - - // return a new Complex object whose value is the complex exponential of this - public Complex exp() { - return new Complex(Math.exp(re) * Math.cos(im), Math.exp(re) * Math.sin(im)); - } - - // return a new Complex object whose value is the complex sine of this - public Complex sin() { - return new Complex(Math.sin(re) * Math.cosh(im), Math.cos(re) * Math.sinh(im)); - } - - // return a new Complex object whose value is the complex cosine of this - public Complex cos() { - return new Complex(Math.cos(re) * Math.cosh(im), -Math.sin(re) * Math.sinh(im)); - } - - // return a new Complex object whose value is the complex tangent of this - public Complex tan() { - return sin().divides(cos()); - } - - // returns the magnitude of the imaginary number. - public double getMagnitude(){ - return Math.sqrt(re*re+im*im); - } - - public boolean equals(Complex other){ - return (re==other.re) && (im==other.im); - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/util/FFT.java b/lib/java-speech-api-master/src/com/darkprograms/speech/util/FFT.java deleted file mode 100755 index 5ceb4797..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/util/FFT.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.darkprograms.speech.util; - - -/************************************************************************* - * Compilation: javac FFT.java - * Execution: java FFT N - * Dependencies: Complex.java - * - * Compute the FFT and inverse FFT of a length N complex sequence. - * Bare bones implementation that runs in O(N log N) time. Our goal - * is to optimize the clarity of the code, rather than performance. - * - * Limitations - * ----------- - * - assumes N is a power of 2 - * - * - not the most memory efficient algorithm (because it uses - * an object type for representing complex numbers and because - * it re-allocates memory for the subarray, instead of doing - * in-place or reusing a single temporary array) - * - *************************************************************************/ - -/************************************************************************* - * @author Skylion implementation - * @author Princeton University for the actual algorithm. - ************************************************************************/ - -public class FFT { - - // compute the FFT of x[], assuming its length is a power of 2 - public static Complex[] fft(Complex[] x) { - int N = x.length; - - // base case - if (N == 1) return new Complex[] { x[0] }; - - // radix 2 Cooley-Tukey FFT - if (N % 2 != 0) { throw new RuntimeException("N is not a power of 2"); } - - // fft of even terms - Complex[] even = new Complex[N/2]; - for (int k = 0; k < N/2; k++) { - even[k] = x[2*k]; - } - Complex[] q = fft(even); - - // fft of odd terms - Complex[] odd = even; // reuse the array - for (int k = 0; k < N/2; k++) { - odd[k] = x[2*k + 1]; - } - Complex[] r = fft(odd); - - // combine - Complex[] y = new Complex[N]; - for (int k = 0; k < N/2; k++) { - double kth = -2 * k * Math.PI / N; - Complex wk = new Complex(Math.cos(kth), Math.sin(kth)); - y[k] = q[k].plus(wk.times(r[k])); - y[k + N/2] = q[k].minus(wk.times(r[k])); - } - return y; - } - - - // compute the inverse FFT of x[], assuming its length is a power of 2 - public static Complex[] ifft(Complex[] x) { - int N = x.length; - Complex[] y = new Complex[N]; - - // take conjugate - for (int i = 0; i < N; i++) { - y[i] = x[i].conjugate(); - } - - // compute forward FFT - y = fft(y); - - // take conjugate again - for (int i = 0; i < N; i++) { - y[i] = y[i].conjugate(); - } - - // divide by N - for (int i = 0; i < N; i++) { - y[i] = y[i].times(1.0 / N); - } - - return y; - - } - - // compute the circular convolution of x and y - public static Complex[] cconvolve(Complex[] x, Complex[] y) { - - // should probably pad x and y with 0s so that they have same length - // and are powers of 2 - if (x.length != y.length) { throw new RuntimeException("Dimensions don't agree"); } - - int N = x.length; - - // compute FFT of each sequence - Complex[] a = fft(x); - Complex[] b = fft(y); - - // point-wise multiply - Complex[] c = new Complex[N]; - for (int i = 0; i < N; i++) { - c[i] = a[i].times(b[i]); - } - - // compute inverse FFT - return ifft(c); - } - - - // compute the linear convolution of x and y - public static Complex[] convolve(Complex[] x, Complex[] y) { - Complex ZERO = new Complex(0, 0); - - Complex[] a = new Complex[2*x.length]; - for (int i = 0; i < x.length; i++) a[i] = x[i]; - for (int i = x.length; i < 2*x.length; i++) a[i] = ZERO; - - Complex[] b = new Complex[2*y.length]; - for (int i = 0; i < y.length; i++) b[i] = y[i]; - for (int i = y.length; i < 2*y.length; i++) b[i] = ZERO; - - return cconvolve(a, b); - } - -} diff --git a/lib/java-speech-api-master/src/com/darkprograms/speech/util/StringUtil.java b/lib/java-speech-api-master/src/com/darkprograms/speech/util/StringUtil.java deleted file mode 100755 index 2a062134..00000000 --- a/lib/java-speech-api-master/src/com/darkprograms/speech/util/StringUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.darkprograms.speech.util; - -/** - * A string utility class for commonly used methods. - * These methods are particularly useful for parsing. - * @author Skylion - */ -public class StringUtil { - - private StringUtil() {};//Prevents instantiation - - /** - * Removes quotation marks from beginning and end of string. - * @param s The string you want to remove the quotation marks from. - * @return The modified String. - */ - public static String stripQuotes(String s) { - int start = 0; - if( s.startsWith("\"") ) { - start = 1; - } - int end = s.length(); - if( s.endsWith("\"") ) { - end = s.length() - 1; - } - return s.substring(start, end); - } - - /** - * Returns the first instance of String found exclusively between part1 and part2. - * @param s The String you want to substring. - * @param part1 The beginning of the String you want to search for. - * @param part2 The end of the String you want to search for. - * @return The String between part1 and part2. - * If the s does not contain part1 or part2, the method returns null. - */ - public static String substringBetween(String s, String part1, String part2) { - String sub = null; - - int i = s.indexOf(part1); - int j = s.indexOf(part2, i + part1.length()); - - if (i != -1 && j != -1) { - int nStart = i + part1.length(); - sub = s.substring(nStart, j); - } - - return sub; - } - - /** - * Gets the string exclusively between the first instance of part1 and the last instance of part2. - * @param s The string you want to trim. - * @param part1 The term to trim after first instance. - * @param part2 The term to before last instance of. - * @return The trimmed String - */ - public static String trimString(String s, String part1, String part2){ - if(!s.contains(part1) || !s.contains(part2)){ - return null; - } - int first = s.indexOf(part1) + part1.length() + 1; - String tmp = s.substring(first); - int last = tmp.lastIndexOf(part2); - tmp = tmp.substring(0, last); - return tmp; - } - -} diff --git a/lib/javaFlacEncoder-0.3.1.jar b/lib/javaFlacEncoder-0.3.1.jar deleted file mode 100755 index 636191c5..00000000 Binary files a/lib/javaFlacEncoder-0.3.1.jar and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/README b/lib/sphinx4-5prealpha-src/README deleted file mode 100755 index 62cdac8e..00000000 --- a/lib/sphinx4-5prealpha-src/README +++ /dev/null @@ -1,55 +0,0 @@ -Sphinx-4 Speech Recognition System -------------------------------------------------------------------- - -Sphinx-4 is a state-of-the-art, speaker-independent, continuous speech -recognition system written entirely in the Java programming language. It -was created via a joint collaboration between the Sphinx group at -Carnegie Mellon University, Sun Microsystems Laboratories, Mitsubishi -Electric Research Labs (MERL), and Hewlett Packard (HP), with -contributions from the University of California at Santa Cruz (UCSC) and -the Massachusetts Institute of Technology (MIT). - -The design of Sphinx-4 is based on patterns that have emerged from the -design of past systems as well as new requirements based on areas that -researchers currently want to explore. To exercise this framework, and -to provide researchers with a "research-ready" system, Sphinx-4 also -includes several implementations of both simple and state-of-the-art -techniques. The framework and the implementations are all freely -available via open source under a very generous BSD-style license. - -Because it is written entirely in the Java programming language, Sphinx-4 -can run on a variety of platforms without requiring any special -compilation or changes. We've tested Sphinx-4 on the following platforms -with success. - -To get started with sphinx4 visit our wiki - - http://cmusphinx.sourceforge.net/wiki - -Please give Sphinx-4 a try and post your questions, comments, and -feedback to one of the CMU Sphinx Forums: - - http://sourceforge.net/p/cmusphinx/discussion/sphinx4 - -We can also be reached at cmusphinx-devel@lists.sourceforge.net. - -Sincerely, - -The Sphinx-4 Team: -(in alph. order) - -Evandro Gouvea, CMU (developer and speech advisor) -Peter Gorniak, MIT (developer) -Philip Kwok, Sun Labs (developer) -Paul Lamere, Sun Labs (design/technical lead) -Beth Logan, HP (speech advisor) -Pedro Moreno, Google (speech advisor) -Bhiksha Raj, MERL (design lead) -Mosur Ravishankar, CMU (speech advisor) -Bent Schmidt-Nielsen, MERL (speech advisor) -Rita Singh, CMU/MIT (design/speech advisor) -JM Van Thong, HP (speech advisor) -Willie Walker, Sun Labs (overall lead) -Manfred Warmuth, USCS (speech advisor) -Joe Woelfel, MERL (developer and speech advisor) -Peter Wolf, MERL (developer and speech advisor) diff --git a/lib/sphinx4-5prealpha-src/RELEASE_NOTES b/lib/sphinx4-5prealpha-src/RELEASE_NOTES deleted file mode 100755 index bef52998..00000000 --- a/lib/sphinx4-5prealpha-src/RELEASE_NOTES +++ /dev/null @@ -1,193 +0,0 @@ -Sphinx-4 Speech Recognition System - -------------------------------------------------------------------- - -Version: 1.0Beta6 -Release Date: March 2011 - -------------------------------------------------------------------- - -New Features and Improvements: - - * SRGS/GrXML support, more to come soon with support for JSAPI2 - * Model layout is unified with Pocketsphinx/Sphinxtrain - * Netbeans project files are included - * Language models can be loaded from URI - * Batch testing application allows testing inside Sphinxtrain - -Bug Fixes: - - * Flat linguist accuracy issue fixed - * Intelligent sorting in paritioner fixes stack overflow when tokens - have identical scores - * Various bug fixes - -Thanks: - - Timo Bauman, Nasir Hussain, Michele Alessandrini, Evandro Goueva, - Stephen Marquard, Larry A. Taylor, Yuri Orlov, Dirk Schnelle-Walka, - James Chivers, Firas Al Khalil - -------------------------------------------------------------------- - -Version: 1.0Beta5 -Release Date: August 2010 - -------------------------------------------------------------------- - -New Features and Improvements: - - * Alignment demo and grammar to align long speech recordings to - transcription and get word times - * Lattice grammar for multipass decoding - * Explicit-backoff in LexTree linguist - * Significant LVCSR speedup with proper LexTree compression - * Simple filter to drop zero energy frames - * Graphviz for grammar dump vizualization instead of AISee - * Voxforge decoding accuracy test - * Lattice scoring speedup - * JSAPI-free JSGF parser - -Bug Fixes: - - * Insertion probabilities are counted in lattice scores - * Don't waste resources and memory on dummy acoustic model - transformations - * Small DMP files are loaded properly - * JSGF parser fixes - * Documentation improvements - * Debian package stuff - -Thanks: - - Antoine Raux, Marek Lesiak, Yaniv Kunda, Brian Romanowski, Tony - Robinson, Bhiksha Raj, Timo Baumann, Michele Alessandrini, Francisco - Aguilera, Peter Wolf, David Huggins-Daines, Dirk Schnelle-Walka. - -------------------------------------------------------------------- - -Version: 1.0Beta4 -Release Date: February 2010 - -------------------------------------------------------------------- - -New Features and Improvements: - - * Large arbitrary-order language models - * Simplified and reworked model loading code - * Raw configuration and and demos - * HTK model loader - * A lot of code optimizations - * JSAPI-independent JSGF parser - * Noise filtering components - * Lattice rescoring - * Server-based language model - -Bug fixes: - - * Lots of bug fixes: PLP extraction, race-conditions - in scoring, etc. - -Thanks: - - Peter Wolf, Yaniv Kunda, Antoine Raux, Dirk Schnelle-Walka, - Yannick Estève, Anthony Rousseau and LIUM team, Christophe Cerisara. - -------------------------------------------------------------------- - -Version: 1.0Beta3 -Release Date: August 2009 - -------------------------------------------------------------------- - -New Features and Improvements: - - * BatchAGC frontend component - * Completed transition to defaults in annotations - * ConcatFeatureExtrator to cooperate with cepwin models - * End of stream signals are passed to the decoder to fix cancellation - * Timer API improvement - * Threading policy is changed to TAS - -Bug fixes: - - * Fixes reading UTF-8 from language model dump. - * Huge memory optimization of the lattice compression - * More stable fronend work with DataStart and DataEnd and optional - SpeechStart/SpeechEnd - -Thanks: - - Yaniv Kunda, Michele Alessandrini, Holger Brandl, Timo Baumann, - Evandro Gouvea - -------------------------------------------------------------------- - -Version: 1.0Beta2 -Release Date: February 2009 - -------------------------------------------------------------------- - -New Features and Improvments: - - * new much cleaner and more robust configuration system - * migrated to java5 - * xml-free instantiation of new systems - * improved feature extraction (better voice activity detection, many bugfixes) - * Cleaned up some of the core APIs - * include-tag for configuration files - * better JavaSound support - * fully qualified grammar names in JSGF (Roger Toenz) - * support for dictionary addenda in the FastDictionary (Gregg Liming) - * added batch tools for measuring performance on NIST corpus with CTL files - * many perforamnce and stability improvments - - -------------------------------------------------------------------- - -Version: 1.0Beta -Release Date: September 2004 - -------------------------------------------------------------------- - -New Features: - - * Confidence scoring - * Posterior probability computation - * Sausage creation from a lattice - * Dynamic grammars - * Narrow bandwidth acoustic model - * Out-of-grammar utterance rejection - * More demonstration programs - * WSJ5K Language model - -Improvements: - - * Better control over microphone selection - * JSGF limitations removed - * Improved performance for large, perplex JSGF grammars - * Added Filler support for JSGF Grammars - * Ability to configure microphone input - * Added ECMAScript Action Tags support and demos. - -Bug fixes: - - * Lots of bug fixes - -Documentation: - - * Added the Sphinx-4 FAQ - * Added scripts and instructions for building a WSJ5k language model - from LDC data. - -Thanks: - - * Peter Gorniak, Willie Walker, Philip Kwok, Paul Lamere - -------------------------------------------------------------------- -Version: 0.1alpha -Release Date: June 2004 - -------------------------------------------------------------------- - -Initial release diff --git a/lib/sphinx4-5prealpha-src/doc/Sphinx4_Whitepaper_2003.pdf b/lib/sphinx4-5prealpha-src/doc/Sphinx4_Whitepaper_2003.pdf deleted file mode 100755 index 8f686666..00000000 Binary files a/lib/sphinx4-5prealpha-src/doc/Sphinx4_Whitepaper_2003.pdf and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/doc/speaker_adaptation.txt b/lib/sphinx4-5prealpha-src/doc/speaker_adaptation.txt deleted file mode 100755 index 89fdc0f1..00000000 --- a/lib/sphinx4-5prealpha-src/doc/speaker_adaptation.txt +++ /dev/null @@ -1,88 +0,0 @@ -Speaker Adaptation with MLLR Transformation - -Unsupervised speaker adaptation for Sphinx4 - -For building an improved acoustic model there are two methods. One of them -needs to collect data from a speaker and train the acoustic model set. Thus -using the speaker's characteristics the recognition will be more accurately. -The disadvantage of this method is that it needs a large amount of data to be -collected to have a sufficient model accuracy. - -The other method, when the amount of data available is small from a new -speaker, is to collect them and by using an adaptation technique to adapt the -model set to better fit the speaker's characteristics. - -The adaptation technique used is MLLR (maximum likelihood linear regression) -transform that is applied depending on the available data by generating one or -more transformations that reduce the mismatch between -an initial model set and the adaptation data. There is only one transformation -when the amount of available data is too small and is called global adaptation -transform. The global transform is applied to every Gaussian component in the -model set. Otherwise, when the amount of adaptation data is large, the number -of transformations is increasing and each transformation is applied to a -certain cluster of Gaussian components. - -To be able to decode with an adapted model there are two important classes that -should be imported: - -import edu.cmu.sphinx.decoder.adaptation.Stats; -import edu.cmu.sphinx.decoder.adaptation.Transform; - -Stats Class estimates a MLLR transform for each cluster of data and the -transform will be applied to the corresponding cluster. You can choose the -number of clusters by giving the number as argument to -createStats(nrOfClusters) in Stats method. The method will return an object -that contains the loaded acoustic model and the number of clusters. This -important to collect counts from each Result object because based on them we -will perform the estimation of the MLLR transformation. - -Before starting collect counts it is important to have all Gaussians clustered. -So, createStats(nrOfClusters) will generate an ClusteredDensityFileData object -to prepare the Gaussians. ClusteredDensityFileData class performs the clustering -using the "k-means" clustering algorithm. The k-means clustering algorithm aims -to partition the Gaussians into k clusters in which each Gaussian belongs -to the cluster with the nearest mean. It is interesting to know that the problem -of clustering is computationally difficult, so the heuristic used is the -Euclidean criterion. - -The next step is to collect counts from each Result object and store them -separately for each cluster. Here, the matrices regLs and regRs used in -computing the transformation are filled. Transform class performs the actual -transformation for each cluster. Given the counts previously gathered and the -number of clusters, the class will compute the two matrices A (the -transformation matrix) B (the bias vector) that are tied across the Gaussians -from the corresponding cluster. A Transform object will contain all the -transformations computed for an utterance. To use the adapted acoustic model it -is necessary to update the Sphinx3Loader which is responsible for -loading the files from the model. When updating occurs, the acoustic model is -already loaded, so setTransform(transform) method will replace the old means -with the new ones. - -Now, that we have the theoretical part, let’s see the practical part. Here is -how you create and use a MLLR transformation: - -Stats stats = recognizer.createStats(1); -recognizer.startRecognition(stream); -while ((result = recognizer.getResult()) != null) { - stats.collect(result); -} -recognizer.stopRecognition(); - -// Transform represents the speech profile -Transform transform = stats.createTransform(); -recognizer.setTransform(transform); - -After setting the transformation to the StreamSpeechRecognizer object, -the recognizer is ready to decode using the new means. The process -of recognition is the same as you decode with the general acoustic model. -When you create and set a transformation is like you create a -new acoustic model with speaker's characteristics, thus the accuracy -will be better. - -For further decodings you can store the transformation of a speaker in a file -by performing store(“FilePath”, 0) in Transform object. - -If you have your own transformation known as mllr_matrix previously generated -with Sphinx4 or with another program, you can load the file by performing -load(“FilePath”) in Transform object and then to set it to an Recognizer object. - diff --git a/lib/sphinx4-5prealpha-src/license.terms b/lib/sphinx4-5prealpha-src/license.terms deleted file mode 100755 index b0affbf3..00000000 --- a/lib/sphinx4-5prealpha-src/license.terms +++ /dev/null @@ -1,40 +0,0 @@ -Copyright 1999-2015 Carnegie Mellon University. -Portions Copyright 2002-2008 Sun Microsystems, Inc. -Portions Copyright 2002-2008 Mitsubishi Electric Research Laboratories. -Portions Copyright 2013-2015 Alpha Cephei, Inc. - -All Rights Reserved. Use is subject to license terms. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -3. Original authors' names are not deleted. - -4. The authors' names are not used to endorse or promote products - derived from this software without specific prior written - permission. - -This work was supported in part by funding from the Defense Advanced -Research Projects Agency and the National Science Foundation of the -United States of America, the CMU Sphinx Speech Consortium, and -Sun Microsystems, Inc. - -CARNEGIE MELLON UNIVERSITY, SUN MICROSYSTEMS, INC., MITSUBISHI -ELECTRONIC RESEARCH LABORATORIES AND THE CONTRIBUTORS TO THIS WORK -DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL -CARNEGIE MELLON UNIVERSITY, SUN MICROSYSTEMS, INC., MITSUBISHI -ELECTRONIC RESEARCH LABORATORIES NOR THE CONTRIBUTORS BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/lib/sphinx4-5prealpha-src/pom.xml b/lib/sphinx4-5prealpha-src/pom.xml deleted file mode 100755 index 117116ad..00000000 --- a/lib/sphinx4-5prealpha-src/pom.xml +++ /dev/null @@ -1,88 +0,0 @@ - - 4.0.0 - - - org.sonatype.oss - oss-parent - 7 - - - edu.cmu.sphinx - sphinx4-parent - 1.0-SNAPSHOT - pom - - Sphinx4 - http://cmusphinx.sourceforge.net - - - sphinx4-core - sphinx4-data - sphinx4-samples - - - - - org.testng - testng - 6.8.8 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - - - UTF-8 - svn.code.sf.net/p/cmusphinx/code/trunk/sphinx4 - - - - scm:svn:http://${project.scm.root} - scm:svn:svn+ssh://${project.scm.root} - http://${project.scm.root} - - - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - attach-sources - package - - jar - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.9.1 - - - attach-javadocs - package - - jar - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/pom.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/pom.xml deleted file mode 100755 index 57764718..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - 4.0.0 - - - edu.cmu.sphinx - sphinx4-parent - 1.0-SNAPSHOT - - - sphinx4-core - jar - - Sphinx4 core - - - - - org.apache.commons - commons-math3 - 3.2 - - - - edu.cmu.sphinx - sphinx4-data - 1.0-SNAPSHOT - test - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/LongTextAligner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/LongTextAligner.java deleted file mode 100755 index 6b2f31f2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/LongTextAligner.java +++ /dev/null @@ -1,355 +0,0 @@ -/* - * Copyright 2014 Alpha Cephei Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.alignment; - -import static java.lang.Math.abs; -import static java.lang.Math.max; -import static java.lang.Math.min; -import static java.util.Arrays.fill; -import static java.util.Collections.emptyList; - -import java.util.*; - -import edu.cmu.sphinx.util.Range; -import edu.cmu.sphinx.util.Utilities; - -/** - * - * @author Alexander Solovets - */ -public class LongTextAligner { - - private final class Alignment { - - public final class Node { - - private final int databaseIndex; - private final int queryIndex; - - private Node(int row, int column) { - this.databaseIndex = column; - this.queryIndex = row; - } - - public int getDatabaseIndex() { - return shifts.get(databaseIndex - 1); - } - - public int getQueryIndex() { - return indices.get(queryIndex - 1); - } - - public String getQueryWord() { - if (queryIndex > 0) - return query.get(getQueryIndex()); - return null; - } - - public String getDatabaseWord() { - if (databaseIndex > 0) - return reftup.get(getDatabaseIndex()); - return null; - } - - public int getValue() { - if (isBoundary()) - return max(queryIndex, databaseIndex); - return hasMatch() ? 0 : 1; - } - - public boolean hasMatch() { - return getQueryWord().equals(getDatabaseWord()); - } - - public boolean isBoundary() { - return queryIndex == 0 || databaseIndex == 0; - } - - public boolean isTarget() { - return queryIndex == indices.size() && - databaseIndex == shifts.size(); - } - - public List adjacent() { - List result = new ArrayList(3); - if (queryIndex < indices.size() && - databaseIndex < shifts.size()) { - result.add(new Node(queryIndex + 1, databaseIndex + 1)); - } - if (databaseIndex < shifts.size()) { - result.add(new Node(queryIndex, databaseIndex + 1)); - } - if (queryIndex < indices.size()) { - result.add(new Node(queryIndex + 1, databaseIndex)); - } - - return result; - } - - @Override - public boolean equals(Object object) { - if (!(object instanceof Node)) - return false; - - Node other = (Node) object; - return queryIndex == other.queryIndex && - databaseIndex == other.databaseIndex; - } - - @Override - public int hashCode() { - return 31 * (31 * queryIndex + databaseIndex); - } - - @Override - public String toString() { - return String.format("[%d %d]", queryIndex, databaseIndex); - } - } - - private final List shifts; - private final List query; - private final List indices; - private final List alignment; - - public Alignment(List query, Range range) { - this.query = query; - indices = new ArrayList(); - Set shiftSet = new TreeSet(); - for (int i = 0; i < query.size(); i++) { - if (tupleIndex.containsKey(query.get(i))) { - indices.add(i); - for (Integer shift : tupleIndex.get(query.get(i))) { - if (range.contains(shift)) - shiftSet.add(shift); - } - } - } - - shifts = new ArrayList(shiftSet); - - final Map cost = new HashMap(); - PriorityQueue openSet = new PriorityQueue(1, new Comparator() { - @Override - public int compare(Node o1, Node o2) { - return cost.get(o1).compareTo(cost.get(o2)); - } - }); - Collection closedSet = new HashSet(); - Map parents = new HashMap(); - - Node startNode = new Node(0, 0); - cost.put(startNode, 0); - openSet.add(startNode); - - while (!openSet.isEmpty()) { - Node q = openSet.poll(); - if (closedSet.contains(q)) - continue; - - if (q.isTarget()) { - List backtrace = new ArrayList(); - while (parents.containsKey(q)) { - if (!q.isBoundary() && q.hasMatch()) - backtrace.add(q); - q = parents.get(q); - } - alignment = new ArrayList(backtrace); - Collections.reverse(alignment); - return; - } - - closedSet.add(q); - for (Node nb : q.adjacent()) { - - if (closedSet.contains(nb)) - continue; - - // FIXME: move to appropriate location - int l = abs(indices.size() - shifts.size() - q.queryIndex + - q.databaseIndex) - - abs(indices.size() - shifts.size() - - nb.queryIndex + - nb.databaseIndex); - - Integer oldScore = cost.get(nb); - Integer qScore = cost.get(q); - if (oldScore == null) - oldScore = Integer.MAX_VALUE; - if (qScore == null) - qScore = Integer.MAX_VALUE; - - int newScore = qScore + nb.getValue() - l; - if (newScore < oldScore) { - cost.put(nb, newScore); - openSet.add(nb); - parents.put(nb, q); - } - } - } - - alignment = emptyList(); - } - - public List getIndices() { - return alignment; - } - } - - private final int tupleSize; - private final List reftup; - private final HashMap> tupleIndex; - private List refWords; - - /** - * Constructs new text aligner that servers requests for alignment of - * sequence of words with the provided database sequence. Sequences are - * aligned by tuples comprising one or more subsequent words. - * - * @param words list of words forming the database - * @param tupleSize size of a tuple, must be greater or equal to 1 - */ - public LongTextAligner(List words, int tupleSize) { - assert words != null; - assert tupleSize > 0; - - this.tupleSize = tupleSize; - this.refWords = words; - - int offset = 0; - reftup = getTuples(words); - - tupleIndex = new HashMap>(); - for (String tuple : reftup) { - ArrayList indexes = tupleIndex.get(tuple); - if (indexes == null) { - indexes = new ArrayList(); - tupleIndex.put(tuple, indexes); - } - indexes.add(offset++); - } - } - - /** - * Aligns query sequence with the previously built database. - * @param query list of words to look for - * - * @return indices of alignment - */ - public int[] align(List query) { - return align(query, new Range(0, refWords.size())); - } - - /** - * Aligns query sequence with the previously built database. - * @param words list words to look for - * @param range range of database to look for alignment - * - * @return indices of alignment - */ - public int[] align(List words, Range range) { - - if (range.upperEndpoint() - range.lowerEndpoint() < tupleSize || words.size() < tupleSize) { - return alignTextSimple(refWords.subList(range.lowerEndpoint(), range.upperEndpoint()), words, range.lowerEndpoint()); - } - - int[] result = new int[words.size()]; - fill(result, -1); - int lastIndex = 0; - for (Alignment.Node node : new Alignment(getTuples(words), range) - .getIndices()) { - // for (int j = 0; j < tupleSize; ++j) - lastIndex = max(lastIndex, node.getQueryIndex()); - for (; lastIndex < node.getQueryIndex() + tupleSize; ++lastIndex) - result[lastIndex] = node.getDatabaseIndex() + lastIndex - - node.getQueryIndex(); - } - return result; - } - - /** - * Makes list of tuples of the given size out of list of words. - * - * @param words words - * @return list of tuples of size {@link #tupleSize} - */ - private List getTuples(List words) { - List result = new ArrayList(); - LinkedList tuple = new LinkedList(); - - Iterator it = words.iterator(); - for (int i = 0; i < tupleSize - 1; i++) { - tuple.add(it.next()); - } - while (it.hasNext()) { - tuple.addLast(it.next()); - result.add(Utilities.join(tuple)); - tuple.removeFirst(); - } - return result; - } - - static int[] alignTextSimple(List database, List query, - int offset) { - int n = database.size() + 1; - int m = query.size() + 1; - int[][] f = new int[n][m]; - - f[0][0] = 0; - for (int i = 1; i < n; ++i) { - f[i][0] = i; - } - - for (int j = 1; j < m; ++j) { - f[0][j] = j; - } - - for (int i = 1; i < n; ++i) { - for (int j = 1; j < m; ++j) { - int match = f[i - 1][j - 1]; - String refWord = database.get(i - 1); - String queryWord = query.get(j - 1); - if (!refWord.equals(queryWord)) { - ++match; - } - int insert = f[i][j - 1] + 1; - int delete = f[i - 1][j] + 1; - f[i][j] = min(match, min(insert, delete)); - } - } - - --n; - --m; - int[] alignment = new int[m]; - Arrays.fill(alignment, -1); - while (m > 0) { - if (n == 0) { - --m; - } else { - String refWord = database.get(n - 1); - String queryWord = query.get(m - 1); - if (f[n - 1][m - 1] <= f[n - 1][m - 1] - && f[n - 1][m - 1] <= f[n][m - 1] - && refWord.equals(queryWord)) { - alignment[--m] = --n + offset; - } else { - if (f[n - 1][m] < f[n][m - 1]) { - --n; - } else { - --m; - } - } - } - } - - return alignment; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/SimpleTokenizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/SimpleTokenizer.java deleted file mode 100755 index f0bfb654..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/SimpleTokenizer.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2014 Alpha Cephei Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.alignment; - -import java.util.Arrays; -import java.util.List; - -public class SimpleTokenizer implements TextTokenizer { - public List expand(String text) { - - text = text.replace('’', '\''); - text = text.replace('‘', ' '); - text = text.replace('”', ' '); - text = text.replace('“', ' '); - text = text.replace('"', ' '); - text = text.replace('»', ' '); - text = text.replace('«', ' '); - text = text.replace('–', '-'); - text = text.replace('—', ' '); - text = text.replace('…', ' '); - - text = text.replace(" - ", " "); - text = text.replaceAll("[/_*%]", " "); - text = text.toLowerCase(); - - String[] tokens = text.split("[.,?:!;()]"); - return Arrays.asList(tokens); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/TextTokenizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/TextTokenizer.java deleted file mode 100755 index 53dd57d4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/TextTokenizer.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 Alpha Cephei Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.alignment; - -import java.util.List; - -public interface TextTokenizer { - - - /** - * Cleans the text and returns the list of lines - * - * @param text Input text - * @return a list of lines in the text. - */ - List expand(String text); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/Token.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/Token.java deleted file mode 100755 index 1f033ac8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/Token.java +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment; - -/** - * Contains a parsed token from a Tokenizer. - */ -public class Token { - - private String token = null; - private String whitespace = null; - private String prepunctuation = null; - private String postpunctuation = null; - private int position = 0; // position in the original input text - private int lineNumber = 0; - - /** - * Returns the whitespace characters of this Token. - * - * @return the whitespace characters of this Token; null if this Token does - * not use whitespace characters - */ - public String getWhitespace() { - return whitespace; - } - - /** - * Returns the prepunctuation characters of this Token. - * - * @return the prepunctuation characters of this Token; null if this Token - * does not use prepunctuation characters - */ - public String getPrepunctuation() { - return prepunctuation; - } - - /** - * Returns the postpunctuation characters of this Token. - * - * @return the postpunctuation characters of this Token; null if this Token - * does not use postpunctuation characters - */ - public String getPostpunctuation() { - return postpunctuation; - } - - /** - * Returns the position of this token in the original input text. - * - * @return the position of this token in the original input text - */ - public int getPosition() { - return position; - } - - /** - * Returns the line of this token in the original text. - * - * @return the line of this token in the original text - */ - public int getLineNumber() { - return lineNumber; - } - - /** - * Sets the whitespace characters of this Token. - * - * @param whitespace the whitespace character for this token - */ - public void setWhitespace(String whitespace) { - this.whitespace = whitespace; - } - - /** - * Sets the prepunctuation characters of this Token. - * - * @param prepunctuation the prepunctuation characters - */ - public void setPrepunctuation(String prepunctuation) { - this.prepunctuation = prepunctuation; - } - - /** - * Sets the postpunctuation characters of this Token. - * - * @param postpunctuation the postpunctuation characters - */ - public void setPostpunctuation(String postpunctuation) { - this.postpunctuation = postpunctuation; - } - - /** - * Sets the position of the token in the original input text. - * - * @param position the position of the input text - */ - public void setPosition(int position) { - this.position = position; - } - - /** - * Set the line of this token in the original text. - * - * @param lineNumber the line of this token in the original text - */ - public void setLineNumber(int lineNumber) { - this.lineNumber = lineNumber; - } - - /** - * Returns the string associated with this token. - * - * @return the token if it exists; otherwise null - */ - public String getWord() { - return token; - } - - /** - * Sets the string of this Token. - * - * @param word the word for this token - */ - public void setWord(String word) { - token = word; - } - - /** - * Converts this token to a string. - * - * @return the string representation of this object - */ - public String toString() { - StringBuffer fullToken = new StringBuffer(); - - if (whitespace != null) { - fullToken.append(whitespace); - } - if (prepunctuation != null) { - fullToken.append(prepunctuation); - } - if (token != null) { - fullToken.append(token); - } - if (postpunctuation != null) { - fullToken.append(postpunctuation); - } - return fullToken.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/USEnglishTokenizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/USEnglishTokenizer.java deleted file mode 100755 index 6dd6a1dd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/USEnglishTokenizer.java +++ /dev/null @@ -1,1084 +0,0 @@ -/** - * Portions Copyright 2001-2003 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import edu.cmu.sphinx.alignment.tokenizer.CharTokenizer; -import edu.cmu.sphinx.alignment.tokenizer.DecisionTree; -import edu.cmu.sphinx.alignment.tokenizer.FeatureSet; -import edu.cmu.sphinx.alignment.tokenizer.Item; -import edu.cmu.sphinx.alignment.tokenizer.NumberExpander; -import edu.cmu.sphinx.alignment.tokenizer.PrefixFSM; -import edu.cmu.sphinx.alignment.tokenizer.PronounceableFSM; -import edu.cmu.sphinx.alignment.tokenizer.Relation; -import edu.cmu.sphinx.alignment.tokenizer.SuffixFSM; -import edu.cmu.sphinx.alignment.tokenizer.Utterance; -import edu.cmu.sphinx.alignment.tokenizer.WordRelation; - -/** - * Provides the definitions for US English whitespace, punctuations, - * prepunctuation, and postpunctuation symbols. It also contains a set of - * Regular Expressions for the US English language. With regular expressions, - * it specifies what are whitespace, letters in the alphabet, uppercase and - * lowercase letters, alphanumeric characters, identifiers, integers, doubles, - * digits, and 'comma and int'. - * - * It translates the following code from flite: src/regex/cst_regex.c - * lang/usenglish/us_text.c - */ -class UsEnglish { - /** default whitespace regular expression pattern */ - public static final String RX_DEFAULT_US_EN_WHITESPACE = "[ \n\t\r]+"; - /** default letter regular expression pattern */ - public static final String RX_DEFAULT_US_EN_ALPHABET = "[A-Za-z]+"; - /** default uppercase regular expression pattern */ - public static final String RX_DEFAULT_US_EN_UPPERCASE = "[A-Z]+"; - /** default lowercase regular expression pattern */ - public static final String RX_DEFAULT_US_EN_LOWERCASE = "[a-z]+"; - /** default alpha-numeric regular expression pattern */ - public static final String RX_DEFAULT_US_EN_ALPHANUMERIC = "[0-9A-Za-z]+"; - /** default identifier regular expression pattern */ - public static final String RX_DEFAULT_US_EN_IDENTIFIER = - "[A-Za-z_][0-9A-Za-z_]+"; - /** default integer regular expression pattern */ - public static final String RX_DEFAULT_US_EN_INT = "-?[0-9]+"; - /** default double regular expression pattern */ - public static final String RX_DEFAULT_US_EN_DOUBLE = - "-?(([0-9]+\\.[0-9]*)|([0-9]+)|(\\.[0-9]+))([eE][---+]?[0-9]+)?"; - /** default integer with commas regular expression pattern */ - public static final String RX_DEFAULT_US_EN_COMMAINT = - "[0-9][0-9]?[0-9]?[,']([0-9][0-9][0-9][,'])*[0-9][0-9][0-9](\\.[0-9]+)?"; - /** default digits regular expression pattern */ - public static final String RX_DEFAULT_US_EN_DIGITS = "[0-9][0-9]*"; - /** default dotted abbreviation regular expression pattern */ - public static final String RX_DEFAULT_US_EN_DOTTED_ABBREV = - "([A-Za-z]\\.)*[A-Za-z]"; - /** default ordinal number regular expression pattern */ - public static final String RX_DEFAULT_US_EN_ORDINAL_NUMBER = - "[0-9][0-9,]*(th|TH|st|ST|nd|ND|rd|RD)"; - /** default has-vowel regular expression */ - public static final String RX_DEFAULT_HAS_VOWEL = ".*[aeiouAEIOU].*"; - /** default US money regular expression */ - public static final String RX_DEFAULT_US_MONEY = "\\$[0-9,]+(\\.[0-9]+)?"; - /** default -illion regular expression */ - public static final String RX_DEFAULT_ILLION = ".*illion"; - /** default digits2dash (e.g. 999-999-999) regular expression */ - public static final String RX_DEFAULT_DIGITS2DASH = - "[0-9]+(-[0-9]+)(-[0-9]+)+"; - /** default digits/digits (e.g. 999/999) regular expression */ - public static final String RX_DEFAULT_DIGITSSLASHDIGITS = "[0-9]+/[0-9]+"; - /** default number time regular expression */ - public static final String RX_DEFAULT_NUMBER_TIME = - "((0[0-2])|(1[0-9])):([0-5][0-9])"; - /** default Roman numerals regular expression */ - public static final String RX_DEFAULT_ROMAN_NUMBER = - "(II?I?|IV|VI?I?I?|IX|X[VIX]*)"; - /** default drst "Dr. St" regular expression */ - public static final String RX_DEFAULT_DRST = "([dD][Rr]|[Ss][Tt])"; - /** default numess */ - public static final String RX_DEFAULT_NUMESS = "[0-9]+s"; - /** default 7-digit phone number */ - public static final String RX_DEFAULT_SEVEN_DIGIT_PHONE_NUMBER = - "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"; - /** default 4-digit number */ - public static final String RX_DEFAULT_FOUR_DIGIT = "[0-9][0-9][0-9][0-9]"; - /** default 3-digit number */ - public static final String RX_DEFAULT_THREE_DIGIT = "[0-9][0-9][0-9]"; - - /** whitespace regular expression pattern */ - public static String RX_WHITESPACE = RX_DEFAULT_US_EN_WHITESPACE; - /** letter regular expression pattern */ - public static String RX_ALPHABET = RX_DEFAULT_US_EN_ALPHABET; - /** uppercase regular expression pattern */ - public static String RX_UPPERCASE = RX_DEFAULT_US_EN_UPPERCASE; - /** lowercase regular expression pattern */ - public static String RX_LOWERCASE = RX_DEFAULT_US_EN_LOWERCASE; - /** alphanumeric regular expression pattern */ - public static String RX_ALPHANUMERIC = RX_DEFAULT_US_EN_ALPHANUMERIC; - /** identifier regular expression pattern */ - public static String RX_IDENTIFIER = RX_DEFAULT_US_EN_IDENTIFIER; - /** integer regular expression pattern */ - public static String RX_INT = RX_DEFAULT_US_EN_INT; - /** double regular expression pattern */ - public static String RX_DOUBLE = RX_DEFAULT_US_EN_DOUBLE; - /** comma separated integer regular expression pattern */ - public static String RX_COMMAINT = RX_DEFAULT_US_EN_COMMAINT; - /** digits regular expression pattern */ - public static String RX_DIGITS = RX_DEFAULT_US_EN_DIGITS; - /** dotted abbreviation regular expression pattern */ - public static String RX_DOTTED_ABBREV = RX_DEFAULT_US_EN_DOTTED_ABBREV; - /** ordinal number regular expression pattern */ - public static String RX_ORDINAL_NUMBER = RX_DEFAULT_US_EN_ORDINAL_NUMBER; - /** has-vowel regular expression */ - public static final String RX_HAS_VOWEL = RX_DEFAULT_HAS_VOWEL; - /** US money regular expression */ - public static final String RX_US_MONEY = RX_DEFAULT_US_MONEY; - /** -illion regular expression */ - public static final String RX_ILLION = RX_DEFAULT_ILLION; - /** digits2dash (e.g. 999-999-999) regular expression */ - public static final String RX_DIGITS2DASH = RX_DEFAULT_DIGITS2DASH; - /** digits/digits (e.g. 999/999) regular expression */ - public static final String RX_DIGITSSLASHDIGITS = - RX_DEFAULT_DIGITSSLASHDIGITS; - /** number time regular expression */ - public static final String RX_NUMBER_TIME = RX_DEFAULT_NUMBER_TIME; - /** Roman numerals regular expression */ - public static final String RX_ROMAN_NUMBER = RX_DEFAULT_ROMAN_NUMBER; - /** drst "Dr. St" regular expression */ - public static final String RX_DRST = RX_DEFAULT_DRST; - /** default numess */ - public static final String RX_NUMESS = RX_DEFAULT_NUMESS; - /** 7-digit phone number */ - public static final String RX_SEVEN_DIGIT_PHONE_NUMBER = - RX_DEFAULT_SEVEN_DIGIT_PHONE_NUMBER; - /** 4-digit number */ - public static final String RX_FOUR_DIGIT = RX_DEFAULT_FOUR_DIGIT; - /** 3-digit number */ - public static final String RX_THREE_DIGIT = RX_DEFAULT_THREE_DIGIT; - - // the following symbols are from lang/usenglish/us_text.c - - /** punctuation regular expression pattern */ - public static final String PUNCTUATION_SYMBOLS = "\"'`.,:;!?(){}[]"; - /** pre-punctuation regular expression pattern */ - public static final String PREPUNCTUATION_SYMBOLS = "\"'`({["; - /** single char symbols regular expression pattern */ - public static final String SINGLE_CHAR_SYMBOLS = ""; - /** whitespace symbols regular expression pattern */ - public static final String WHITESPACE_SYMBOLS = " \t\n\r"; - - /** - * Not constructable - */ - private UsEnglish() {} -} - - -/** - * Converts the Tokens (in US English words) in an Utterance into a list of - * words. It puts the produced list back into the Utterance. Usually, the - * tokens that gets expanded are numbers like "23" (to "twenty" "three"). - *

- * * It translates the following code from flite:
- * - * lang/usenglish/us_text.c - * - */ -public class USEnglishTokenizer implements TextTokenizer { - // Patterns for regular expression matching - private static final Pattern alphabetPattern; - private static final Pattern commaIntPattern; - private static final Pattern digits2DashPattern; - private static final Pattern digitsPattern; - private static final Pattern digitsSlashDigitsPattern; - private static final Pattern dottedAbbrevPattern; - private static final Pattern doublePattern; - private static final Pattern drStPattern; - private static final Pattern fourDigitsPattern; - private static final Pattern illionPattern; - private static final Pattern numberTimePattern; - private static final Pattern numessPattern; - private static final Pattern ordinalPattern; - private static final Pattern romanNumbersPattern; - private static final Pattern sevenPhoneNumberPattern; - private static final Pattern threeDigitsPattern; - private static final Pattern usMoneyPattern; - - static { - alphabetPattern = Pattern.compile(UsEnglish.RX_ALPHABET); - commaIntPattern = Pattern.compile(UsEnglish.RX_COMMAINT); - digits2DashPattern = Pattern.compile(UsEnglish.RX_DIGITS2DASH); - digitsPattern = Pattern.compile(UsEnglish.RX_DIGITS); - digitsSlashDigitsPattern = - Pattern.compile(UsEnglish.RX_DIGITSSLASHDIGITS); - dottedAbbrevPattern = Pattern.compile(UsEnglish.RX_DOTTED_ABBREV); - doublePattern = Pattern.compile(UsEnglish.RX_DOUBLE); - drStPattern = Pattern.compile(UsEnglish.RX_DRST); - fourDigitsPattern = Pattern.compile(UsEnglish.RX_FOUR_DIGIT); - Pattern.compile(UsEnglish.RX_HAS_VOWEL); - illionPattern = Pattern.compile(UsEnglish.RX_ILLION); - numberTimePattern = Pattern.compile(UsEnglish.RX_NUMBER_TIME); - numessPattern = Pattern.compile(UsEnglish.RX_NUMESS); - ordinalPattern = Pattern.compile(UsEnglish.RX_ORDINAL_NUMBER); - romanNumbersPattern = Pattern.compile(UsEnglish.RX_ROMAN_NUMBER); - sevenPhoneNumberPattern = - Pattern.compile(UsEnglish.RX_SEVEN_DIGIT_PHONE_NUMBER); - threeDigitsPattern = Pattern.compile(UsEnglish.RX_THREE_DIGIT); - usMoneyPattern = Pattern.compile(UsEnglish.RX_US_MONEY); - } - - // King-like words - private static final String[] kingNames = {"louis", "henry", "charles", - "philip", "george", "edward", "pius", "william", "richard", - "ptolemy", "john", "paul", "peter", "nicholas", "frederick", - "james", "alfonso", "ivan", "napoleon", "leo", "gregory", - "catherine", "alexandria", "pierre", "elizabeth", "mary", "elmo", - "erasmus"}; - - private static final String[] kingTitles = {"king", "queen", "pope", - "duke", "tsar", "emperor", "shah", "caesar", "duchess", "tsarina", - "empress", "baron", "baroness", "sultan", "count", "countess"}; - - // Section-like words - private static final String[] sectionTypes = {"section", "chapter", - "part", "phrase", "verse", "scene", "act", "book", "volume", - "chap", "war", "apollo", "trek", "fortran"}; - - /** - * Here we use a map for constant time matching, instead of using if - * (A.equals(B) || A.equals(C) || ...) to match Strings - */ - private static Map kingSectionLikeMap = new HashMap(); - - private static final String KING_NAMES = "kingNames"; - private static final String KING_TITLES = "kingTitles"; - private static final String SECTION_TYPES = "sectionTypes"; - - static { - for (int i = 0; i < kingNames.length; i++) { - kingSectionLikeMap.put(kingNames[i], KING_NAMES); - } - for (int i = 0; i < kingTitles.length; i++) { - kingSectionLikeMap.put(kingTitles[i], KING_TITLES); - } - for (int i = 0; i < sectionTypes.length; i++) { - kingSectionLikeMap.put(sectionTypes[i], SECTION_TYPES); - } - } - - - // Finite state machines to check if a Token is pronounceable - private PronounceableFSM prefixFSM = null; - private PronounceableFSM suffixFSM = null; - - // List of US states abbreviations and their full names - private static final String[][] usStates = { - {"AL", "ambiguous", "alabama"}, {"Al", "ambiguous", "alabama"}, - {"Ala", "", "alabama"}, {"AK", "", "alaska"}, - {"Ak", "", "alaska"}, {"AZ", "", "arizona"}, - {"Az", "", "arizona"}, {"CA", "", "california"}, - {"Ca", "", "california"}, {"Cal", "ambiguous", "california"}, - {"Calif", "", "california"}, {"CO", "ambiguous", "colorado"}, - {"Co", "ambiguous", "colorado"}, {"Colo", "", "colorado"}, - {"DC", "", "d", "c"}, {"DE", "", "delaware"}, - {"De", "ambiguous", "delaware"}, {"Del", "ambiguous", "delaware"}, - {"FL", "", "florida"}, {"Fl", "ambiguous", "florida"}, - {"Fla", "", "florida"}, {"GA", "", "georgia"}, - {"Ga", "", "georgia"}, {"HI", "ambiguous", "hawaii"}, - {"Hi", "ambiguous", "hawaii"}, {"IA", "", "iowa"}, - {"Ia", "ambiguous", "iowa"}, {"IN", "ambiguous", "indiana"}, - {"In", "ambiguous", "indiana"}, {"Ind", "ambiguous", "indiana"}, - {"ID", "ambiguous", "idaho"}, {"IL", "ambiguous", "illinois"}, - {"Il", "ambiguous", "illinois"}, {"ILL", "ambiguous", "illinois"}, - {"KS", "", "kansas"}, {"Ks", "", "kansas"}, - {"Kans", "", "kansas"}, {"KY", "ambiguous", "kentucky"}, - {"Ky", "ambiguous", "kentucky"}, {"LA", "ambiguous", "louisiana"}, - {"La", "ambiguous", "louisiana"}, - {"Lou", "ambiguous", "louisiana"}, - {"Lous", "ambiguous", "louisiana"}, - {"MA", "ambiguous", "massachusetts"}, - {"Mass", "ambiguous", "massachusetts"}, - {"Ma", "ambiguous", "massachusetts"}, - {"MD", "ambiguous", "maryland"}, {"Md", "ambiguous", "maryland"}, - {"ME", "ambiguous", "maine"}, {"Me", "ambiguous", "maine"}, - {"MI", "", "michigan"}, {"Mi", "ambiguous", "michigan"}, - {"Mich", "ambiguous", "michigan"}, - {"MN", "ambiguous", "minnestota"}, - {"Minn", "ambiguous", "minnestota"}, - {"MS", "ambiguous", "mississippi"}, - {"Miss", "ambiguous", "mississippi"}, - {"MT", "ambiguous", "montanna"}, {"Mt", "ambiguous", "montanna"}, - {"MO", "ambiguous", "missouri"}, {"Mo", "ambiguous", "missouri"}, - {"NC", "ambiguous", "north", "carolina"}, - {"ND", "ambiguous", "north", "dakota"}, - {"NE", "ambiguous", "nebraska"}, {"Ne", "ambiguous", "nebraska"}, - {"Neb", "ambiguous", "nebraska"}, - {"NH", "ambiguous", "new", "hampshire"}, {"NV", "", "nevada"}, - {"Nev", "", "nevada"}, {"NY", "", "new", "york"}, - {"OH", "ambiguous", "ohio"}, {"OK", "ambiguous", "oklahoma"}, - {"Okla", "", "oklahoma"}, {"OR", "ambiguous", "oregon"}, - {"Or", "ambiguous", "oregon"}, {"Ore", "ambiguous", "oregon"}, - {"PA", "ambiguous", "pennsylvania"}, - {"Pa", "ambiguous", "pennsylvania"}, - {"Penn", "ambiguous", "pennsylvania"}, - {"RI", "ambiguous", "rhode", "island"}, - {"SC", "ambiguous", "south", "carlolina"}, - {"SD", "ambiguous", "south", "dakota"}, - {"TN", "ambiguous", "tennesee"}, {"Tn", "ambiguous", "tennesee"}, - {"Tenn", "ambiguous", "tennesee"}, {"TX", "ambiguous", "texas"}, - {"Tx", "ambiguous", "texas"}, {"Tex", "ambiguous", "texas"}, - {"UT", "ambiguous", "utah"}, {"VA", "ambiguous", "virginia"}, - {"WA", "ambiguous", "washington"}, - {"Wa", "ambiguous", "washington"}, - {"Wash", "ambiguous", "washington"}, - {"WI", "ambiguous", "wisconsin"}, - {"Wi", "ambiguous", "wisconsin"}, - {"WV", "ambiguous", "west", "virginia"}, - {"WY", "ambiguous", "wyoming"}, {"Wy", "ambiguous", "wyoming"}, - {"Wyo", "", "wyoming"}, {"PR", "ambiguous", "puerto", "rico"}}; - - // Again map for constant time searching. - private static Map usStatesMap = new HashMap(); - static { - for (int i = 0; i < usStates.length; i++) { - usStatesMap.put(usStates[i][0], usStates[i]); - } - }; - - // class variables - - // the word relation that we are building - private WordRelation wordRelation; - - // the current token Item - private Item tokenItem; - - // a CART for classifying numbers - private DecisionTree cart; - - /** - * Constructs a default USTokenWordProcessor. It uses the USEnglish regular - * expression set (USEngRegExp) by default. - */ - public USEnglishTokenizer() { - try { - cart = new DecisionTree(getClass().getResource("nums_cart.txt")); - prefixFSM = - new PrefixFSM(getClass().getResource("prefix_fsm.txt")); - suffixFSM = - new SuffixFSM(getClass().getResource("suffix_fsm.txt")); - } catch (IOException e) { - throw new IllegalStateException("resources not found", e); - } - } - - /** - * Returns the currently processing token Item. - * - * @return the current token Item; null if no item - */ - public Item getTokenItem() { - return tokenItem; - } - - /** - * Process the utterance - * - * @param text the utterance containing the tokens - * @return the list of tokens - */ - public List expand(String text) { - - String simplifiedText = simplifyChars(text); - - CharTokenizer tokenizer = new CharTokenizer(); - tokenizer.setWhitespaceSymbols(UsEnglish.WHITESPACE_SYMBOLS); - tokenizer.setSingleCharSymbols(UsEnglish.SINGLE_CHAR_SYMBOLS); - tokenizer.setPrepunctuationSymbols(UsEnglish.PREPUNCTUATION_SYMBOLS); - tokenizer.setPostpunctuationSymbols(UsEnglish.PUNCTUATION_SYMBOLS); - tokenizer.setInputText(simplifiedText); - Utterance utterance = new Utterance(tokenizer); - - Relation tokenRelation; - if ((tokenRelation = utterance.getRelation(Relation.TOKEN)) == null) { - throw new IllegalStateException("token relation does not exist"); - } - - wordRelation = WordRelation.createWordRelation(utterance, this); - - for (tokenItem = tokenRelation.getHead(); tokenItem != null; tokenItem = - tokenItem.getNext()) { - - FeatureSet featureSet = tokenItem.getFeatures(); - String tokenVal = featureSet.getString("name"); - - // convert the token into a list of words - tokenToWords(tokenVal); - } - - List words = new ArrayList(); - for (Item item = utterance.getRelation(Relation.WORD).getHead(); item != null; item = - item.getNext()) { - if (!item.toString().isEmpty() && !item.toString().contains("#")) { - words.add(item.toString()); - } - } - return words; - } - - private String simplifyChars(String text) { - text = text.replace('’', '\''); - text = text.replace('‘', '\''); - text = text.replace('”', '"'); - text = text.replace('“', '"'); - text = text.replace('»', '"'); - text = text.replace('«', '"'); - text = text.replace('–', '-'); - text = text.replace('—', ' '); - text = text.replace('…', ' '); - text = text.replace((char)0xc, ' '); - return text; - } - - /** - * Returns true if the given token matches part of a phone number - * - * @param tokenItem the token - * @param tokenVal the string value of the token - * - * @return true or false - */ - private boolean matchesPartPhoneNumber(String tokenVal) { - - String n_name = (String) tokenItem.findFeature("n.name"); - String n_n_name = (String) tokenItem.findFeature("n.n.name"); - String p_name = (String) tokenItem.findFeature("p.name"); - String p_p_name = (String) tokenItem.findFeature("p.p.name"); - - boolean matches3DigitsP_name = matches(threeDigitsPattern, p_name); - - return ((matches(threeDigitsPattern, tokenVal) && ((!matches( - digitsPattern, p_name) && matches(threeDigitsPattern, n_name) && matches( - fourDigitsPattern, n_n_name)) - || (matches(sevenPhoneNumberPattern, n_name)) || (!matches( - digitsPattern, p_p_name) && matches3DigitsP_name && matches( - fourDigitsPattern, n_name)))) || (matches( - fourDigitsPattern, tokenVal) && (!matches(digitsPattern, - n_name) && matches3DigitsP_name && matches(threeDigitsPattern, - p_p_name)))); - } - - - /** - * Converts the given Token into (word) Items in the WordRelation. - * - * @param tokenVal the String value of the token, which may or may not be - * same as the one in called "name" in flite - * - */ - private void tokenToWords(String tokenVal) { - FeatureSet tokenFeatures = tokenItem.getFeatures(); - String itemName = tokenFeatures.getString("name"); - int tokenLength = tokenVal.length(); - - if (tokenFeatures.isPresent("phones")) { - wordRelation.addWord(tokenVal); - - } else if ((tokenVal.equals("a") || tokenVal.equals("A")) - && ((tokenItem.getNext() == null) - || !(tokenVal.equals(itemName)) || !(((String) tokenItem - .findFeature("punc")).equals("")))) { - /* if A is a sub part of a token, then its ey not ah */ - wordRelation.addWord("_a"); - - } else if (matches(alphabetPattern, tokenVal)) { - - if (matches(romanNumbersPattern, tokenVal)) { - - /* XVIII */ - romanToWords(tokenVal); - - } else if (matches(illionPattern, tokenVal) - && matches(usMoneyPattern, - (String) tokenItem.findFeature("p.name"))) { - /* $ X -illion */ - wordRelation.addWord(tokenVal); - wordRelation.addWord("dollars"); - - } else if (matches(drStPattern, tokenVal)) { - /* St Andrew's St, Dr King Dr */ - drStToWords(tokenVal); - } else if (tokenVal.equals("Mr")) { - tokenItem.getFeatures().setString("punc", ""); - wordRelation.addWord("mister"); - } else if (tokenVal.equals("Mrs")) { - tokenItem.getFeatures().setString("punc", ""); - wordRelation.addWord("missus"); - } else if (tokenLength == 1 - && Character.isUpperCase(tokenVal.charAt(0)) - && ((String) tokenItem.findFeature("n.whitespace")) - .equals(" ") - && Character.isUpperCase(((String) tokenItem - .findFeature("n.name")).charAt(0))) { - - tokenFeatures.setString("punc", ""); - String aaa = tokenVal.toLowerCase(); - if (aaa.equals("a")) { - wordRelation.addWord("_a"); - } else { - wordRelation.addWord(aaa); - } - } else if (isStateName(tokenVal)) { - /* - * The name of a US state isStateName() has already added the - * full name of the state, so we're all set. - */ - } else if (tokenLength > 1 && !isPronounceable(tokenVal)) { - /* Need common exception list */ - /* unpronouncable list of alphas */ - NumberExpander.expandLetters(tokenVal, wordRelation); - - } else { - /* just a word */ - wordRelation.addWord(tokenVal.toLowerCase()); - } - - } else if (matches(dottedAbbrevPattern, tokenVal)) { - - /* U.S.A. */ - // remove all dots - NumberExpander.expandLetters(tokenVal.replace(".", ""), - wordRelation); - - } else if (matches(commaIntPattern, tokenVal)) { - - /* 99,999,999 */ - NumberExpander.expandReal(tokenVal.replace(",", "").replace("'", ""), wordRelation); - - } else if (matches(sevenPhoneNumberPattern, tokenVal)) { - - /* 234-3434 telephone numbers */ - int dashIndex = tokenVal.indexOf('-'); - String aaa = tokenVal.substring(0, dashIndex); - String bbb = tokenVal.substring(dashIndex + 1); - - NumberExpander.expandDigits(aaa, wordRelation); - wordRelation.addBreak(); - NumberExpander.expandDigits(bbb, wordRelation); - - } else if (matchesPartPhoneNumber(tokenVal)) { - - /* part of a telephone number */ - String punctuation = (String) tokenItem.findFeature("punc"); - if (punctuation.equals("")) { - tokenItem.getFeatures().setString("punc", ","); - } - NumberExpander.expandDigits(tokenVal, wordRelation); - wordRelation.addBreak(); - - } else if (matches(numberTimePattern, tokenVal)) { - /* 12:35 */ - int colonIndex = tokenVal.indexOf(':'); - String aaa = tokenVal.substring(0, colonIndex); - String bbb = tokenVal.substring(colonIndex + 1); - - NumberExpander.expandNumber(aaa, wordRelation); - if (!(bbb.equals("00"))) { - NumberExpander.expandID(bbb, wordRelation); - } - } else if (matches(digits2DashPattern, tokenVal)) { - /* 999-999-999 */ - digitsDashToWords(tokenVal); - } else if (matches(digitsPattern, tokenVal)) { - digitsToWords(tokenVal); - } else if (tokenLength == 1 - && Character.isUpperCase(tokenVal.charAt(0)) - && ((String) tokenItem.findFeature("n.whitespace")) - .equals(" ") - && Character.isUpperCase(((String) tokenItem - .findFeature("n.name")).charAt(0))) { - - tokenFeatures.setString("punc", ""); - String aaa = tokenVal.toLowerCase(); - if (aaa.equals("a")) { - wordRelation.addWord("_a"); - } else { - wordRelation.addWord(aaa); - } - } else if (matches(doublePattern, tokenVal)) { - NumberExpander.expandReal(tokenVal, wordRelation); - } else if (matches(ordinalPattern, tokenVal)) { - /* explicit ordinals */ - String aaa = tokenVal.substring(0, tokenLength - 2); - NumberExpander.expandOrdinal(aaa, wordRelation); - } else if (matches(usMoneyPattern, tokenVal)) { - /* US money */ - usMoneyToWords(tokenVal); - } else if (tokenLength > 0 && tokenVal.charAt(tokenLength - 1) == '%') { - /* Y% */ - tokenToWords(tokenVal.substring(0, tokenLength - 1)); - wordRelation.addWord("percent"); - } else if (matches(numessPattern, tokenVal)) { - NumberExpander.expandNumess(tokenVal.substring(0, tokenLength - 1), wordRelation); - } else if (matches(digitsSlashDigitsPattern, tokenVal) - && tokenVal.equals(itemName)) { - digitsSlashDigitsToWords(tokenVal); - } else if (tokenVal.indexOf('-') != -1) { - dashToWords(tokenVal); - } else if (tokenLength > 1 && !matches(alphabetPattern, tokenVal)) { - notJustAlphasToWords(tokenVal); - } else if (tokenVal.equals("&")) { - // & - wordRelation.addWord("and"); - } else if (tokenVal.equals("-")) { - // Skip it - } else { - // Just a word. - wordRelation.addWord(tokenVal.toLowerCase()); - } - } - - /** - * Convert the given digit token with dashes (e.g. 999-999-999) into (word) - * Items in the WordRelation. - * - * @param tokenVal the digit string - */ - private void digitsDashToWords(String tokenVal) { - int tokenLength = tokenVal.length(); - int a = 0; - for (int p = 0; p <= tokenLength; p++) { - if (p == tokenLength || tokenVal.charAt(p) == '-') { - String aaa = tokenVal.substring(a, p); - NumberExpander.expandDigits(aaa, wordRelation); - wordRelation.addBreak(); - a = p + 1; - } - } - } - - /** - * Convert the given digit token into (word) Items in the WordRelation. - * - * @param tokenVal the digit string - */ - private void digitsToWords(String tokenVal) { - FeatureSet featureSet = tokenItem.getFeatures(); - String nsw = ""; - if (featureSet.isPresent("nsw")) { - nsw = featureSet.getString("nsw"); - } - - if (nsw.equals("nide")) { - NumberExpander.expandID(tokenVal, wordRelation); - } else { - String rName = featureSet.getString("name"); - String digitsType = null; - - if (tokenVal.equals(rName)) { - digitsType = (String) cart.interpret(tokenItem); - } else { - featureSet.setString("name", tokenVal); - digitsType = (String) cart.interpret(tokenItem); - featureSet.setString("name", rName); - } - - if (digitsType.equals("ordinal")) { - NumberExpander.expandOrdinal(tokenVal, wordRelation); - } else if (digitsType.equals("digits")) { - NumberExpander.expandDigits(tokenVal, wordRelation); - } else if (digitsType.equals("year")) { - NumberExpander.expandID(tokenVal, wordRelation); - } else { - NumberExpander.expandNumber(tokenVal, wordRelation); - } - } - } - - /** - * Converts the given Roman numeral string into (word) Items in the - * WordRelation. - * - * @param romanString the roman numeral string - */ - private void romanToWords(String romanString) { - String punctuation = (String) tokenItem.findFeature("p.punc"); - - if (punctuation.equals("")) { - /* no preceeding punctuation */ - String n = String.valueOf(NumberExpander.expandRoman(romanString)); - - if (kingLike(tokenItem)) { - wordRelation.addWord("the"); - NumberExpander.expandOrdinal(n, wordRelation); - } else if (sectionLike(tokenItem)) { - NumberExpander.expandNumber(n, wordRelation); - } else { - NumberExpander.expandLetters(romanString, wordRelation); - } - } else { - NumberExpander.expandLetters(romanString, wordRelation); - } - } - - /** - * Returns true if the given key is in the {@link #kingSectionLikeMap} map, - * and the value is the same as the given value. - * - * @param key key to look for in the map - * @param value the value to match - * - * @return true if it matches, or false if it does not or if the key is not - * mapped to any value in the map. - */ - private static boolean inKingSectionLikeMap(String key, String value) { - if (kingSectionLikeMap.containsKey(key)) { - return kingSectionLikeMap.get(key).equals(value); - } - return false; - } - - /** - * Returns true if the given token item contains a token that is in a - * king-like context, e.g., "King" or "Louis". - * - * @param tokenItem the token item to check - * - * @return true or false - */ - public static boolean kingLike(Item tokenItem) { - String kingName = - ((String) tokenItem.findFeature("p.name")).toLowerCase(); - if (inKingSectionLikeMap(kingName, KING_NAMES)) { - return true; - } else { - String kingTitle = - ((String) tokenItem.findFeature("p.p.name")).toLowerCase(); - return inKingSectionLikeMap(kingTitle, KING_TITLES); - } - } - - /** - * Returns true if the given token item contains a token that is in a - * section-like context, e.g., "chapter" or "act". - * - * @param tokenItem the token item to check - * - * @return true or false - */ - public static boolean sectionLike(Item tokenItem) { - String sectionType = - ((String) tokenItem.findFeature("p.name")).toLowerCase(); - return inKingSectionLikeMap(sectionType, SECTION_TYPES); - } - - /** - * Converts the given string containing "St" and "Dr" to (word) Items in - * the WordRelation. - * - * @param drStString the string with "St" and "Dr" - */ - private void drStToWords(String drStString) { - String street = null; - String saint = null; - char c0 = drStString.charAt(0); - - if (c0 == 's' || c0 == 'S') { - street = "street"; - saint = "saint"; - } else { - street = "drive"; - saint = "doctor"; - } - - FeatureSet featureSet = tokenItem.getFeatures(); - String punctuation = featureSet.getString("punc"); - - String featPunctuation = (String) tokenItem.findFeature("punc"); - - if (tokenItem.getNext() == null || punctuation.indexOf(',') != -1) { - wordRelation.addWord(street); - } else if (featPunctuation.equals(",")) { - wordRelation.addWord(saint); - } else { - String pName = (String) tokenItem.findFeature("p.name"); - String nName = (String) tokenItem.findFeature("n.name"); - - char p0 = pName.charAt(0); - char n0 = nName.charAt(0); - - if (Character.isUpperCase(p0) && Character.isLowerCase(n0)) { - wordRelation.addWord(street); - } else if (Character.isDigit(p0) && Character.isLowerCase(n0)) { - wordRelation.addWord(street); - } else if (Character.isLowerCase(p0) && Character.isUpperCase(n0)) { - wordRelation.addWord(saint); - } else { - String whitespace = - (String) tokenItem.findFeature("n.whitespace"); - if (whitespace.equals(" ")) { - wordRelation.addWord(saint); - } else { - wordRelation.addWord(street); - } - } - } - - if (punctuation != null && punctuation.equals(".")) { - featureSet.setString("punc", ""); - } - } - - /** - * Converts US money string into (word) Items in the WordRelation. - * - * @param tokenVal the US money string - */ - private void usMoneyToWords(String tokenVal) { - int dotIndex = tokenVal.indexOf('.'); - if (matches(illionPattern, (String) tokenItem.findFeature("n.name"))) { - NumberExpander.expandReal(tokenVal.substring(1), wordRelation); - } else if (dotIndex == -1) { - String aaa = tokenVal.substring(1); - tokenToWords(aaa); - if (aaa.equals("1")) { - wordRelation.addWord("dollar"); - } else { - wordRelation.addWord("dollars"); - } - } else if (dotIndex == (tokenVal.length() - 1) - || (tokenVal.length() - dotIndex) > 3) { - // Simply read as mumble point mumble. - NumberExpander.expandReal(tokenVal.substring(1), wordRelation); - wordRelation.addWord("dollars"); - } else { - String aaa = tokenVal.substring(1, dotIndex).replace(",", ""); - String bbb = tokenVal.substring(dotIndex + 1); - - NumberExpander.expandNumber(aaa, wordRelation); - - if (aaa.equals("1")) { - wordRelation.addWord("dollar"); - } else { - wordRelation.addWord("dollars"); - } - - if (bbb.equals("00")) { - // Add nothing to the word list. - } else { - NumberExpander.expandNumber(bbb, wordRelation); - if (bbb.equals("01")) { - wordRelation.addWord("cent"); - } else { - wordRelation.addWord("cents"); - } - } - } - } - - /** - * Convert the given digits/digits string into word (Items) in the - * WordRelation. - * - * @param tokenVal the digits/digits string - */ - private void digitsSlashDigitsToWords(String tokenVal) { - - /* might be fraction, or not */ - int index = tokenVal.indexOf('/'); - String aaa = tokenVal.substring(0, index); - String bbb = tokenVal.substring(index + 1); - int a; - - // if the previous token is a number, add an "and" - if (matches(digitsPattern, (String) tokenItem.findFeature("p.name")) - && tokenItem.getPrevious() != null) { - wordRelation.addWord("and"); - } - - if (aaa.equals("1") && bbb.equals("2")) { - wordRelation.addWord("a"); - wordRelation.addWord("half"); - } else if ((a = Integer.parseInt(aaa)) < (Integer.parseInt(bbb))) { - NumberExpander.expandNumber(aaa, wordRelation); - NumberExpander.expandOrdinal(bbb, wordRelation); - if (a > 1) { - wordRelation.addWord("'s"); - } - } else { - NumberExpander.expandNumber(aaa, wordRelation); - wordRelation.addWord("slash"); - NumberExpander.expandNumber(bbb, wordRelation); - } - } - - /** - * Convert the given dashed string (e.g. "aaa-bbb") into (word) Items in - * the WordRelation. - * - * @param tokenVal the dashed string - */ - private void dashToWords(String tokenVal) { - int index = tokenVal.indexOf('-'); - String aaa = tokenVal.substring(0, index); - String bbb = tokenVal.substring(index + 1, tokenVal.length()); - - if (matches(digitsPattern, aaa) && matches(digitsPattern, bbb)) { - FeatureSet featureSet = tokenItem.getFeatures(); - featureSet.setString("name", aaa); - tokenToWords(aaa); - wordRelation.addWord("to"); - featureSet.setString("name", bbb); - tokenToWords(bbb); - featureSet.setString("name", ""); - } else { - tokenToWords(aaa); - tokenToWords(bbb); - } - } - - /** - * Convert the given string (which does not only consist of alphabet) into - * (word) Items in the WordRelation. - * - * @param tokenVal the string - */ - private void notJustAlphasToWords(String tokenVal) { - /* its not just alphas */ - int index = 0; - int tokenLength = tokenVal.length(); - - for (; index < tokenLength - 1; index++) { - if (isTextSplitable(tokenVal, index)) { - break; - } - } - if (index == tokenLength - 1) { - wordRelation.addWord(tokenVal.toLowerCase()); - return; - } - - String aaa = tokenVal.substring(0, index + 1); - String bbb = tokenVal.substring(index + 1, tokenLength); - - FeatureSet featureSet = tokenItem.getFeatures(); - featureSet.setString("nsw", "nide"); - tokenToWords(aaa); - tokenToWords(bbb); - } - - /** - * Returns true if the given word is pronounceable. This method is - * originally called us_aswd() in Flite 1.1. - * - * @param word the word to test - * - * @return true if the word is pronounceable, false otherwise - */ - public boolean isPronounceable(String word) { - String lcWord = word.toLowerCase(); - return prefixFSM.accept(lcWord) && suffixFSM.accept(lcWord); - } - - /** - * Returns true if the given token is the name of a US state. If it is, it - * will add the name of the state to (word) Items in the WordRelation. - * - * @param tokenVal the token string - */ - private boolean isStateName(String tokenVal) { - String[] state = (String[]) usStatesMap.get(tokenVal); - if (state != null) { - boolean expandState = false; - - // check to see if the state initials are ambiguous - // in the English language - if (state[1].equals("ambiguous")) { - String previous = (String) tokenItem.findFeature("p.name"); - String next = (String) tokenItem.findFeature("n.name"); - - int nextLength = next.length(); - FeatureSet featureSet = tokenItem.getFeatures(); - - // check if the previous word starts with a capital letter, - // is at least 3 letters long, is an alphabet sequence, - // and has a comma. - boolean previousIsCity = - (Character.isUpperCase(previous.charAt(0)) - && previous.length() > 2 - && matches(alphabetPattern, previous) && tokenItem - .findFeature("p.punc").equals(",")); - - // check if next token starts with a lower case, or - // this is the end of sentence, or if next token - // is a period (".") or a zip code (5 or 10 digits). - boolean nextIsGood = - (Character.isLowerCase(next.charAt(0)) - || tokenItem.getNext() == null - || featureSet.getString("punc").equals(".") || ((nextLength == 5 || nextLength == 10) && matches( - digitsPattern, next))); - - if (previousIsCity && nextIsGood) { - expandState = true; - } else { - expandState = false; - } - } else { - expandState = true; - } - if (expandState) { - for (int j = 2; j < state.length; j++) { - if (state[j] != null) { - wordRelation.addWord(state[j]); - } - } - return true; - } - } - return false; - } - - /** - * Determines if the given input matches the given Pattern. - * - * @param pattern the pattern to match - * @param input the string to test - * - * @return true if the input string matches the given Pattern; - * false otherwise - */ - private static boolean matches(Pattern pattern, String input) { - Matcher m = pattern.matcher(input); - return m.matches(); - } - - /** - * Determines if the character at the given position of the given input - * text is splittable. A character is splittable if: - *

- * 1) the character and the following character are not letters in the - * English alphabet (A-Z and a-z) - *

- * 2) the character and the following character are not digits (0-9) - *

- * - * @param text the text containing the character of interest - * @param index the index of the character of interest - * - * @return true if the position of the given text is splittable false - * otherwise - */ - private static boolean isTextSplitable(String text, int index) { - - - char c0 = text.charAt(index); - char c1 = text.charAt(index + 1); - - if (Character.isLetter(c0) && Character.isLetter(c1)) { - return false; - } else if (Character.isDigit(c0) && Character.isDigit(c1)) { - return false; - } else if (c0 == '\'' || Character.isLetter(c1)) { - return false; - } else if (c1 == '\'' || Character.isLetter(c0)) { - return false; - } else { - return true; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/CharTokenizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/CharTokenizer.java deleted file mode 100755 index 980e935a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/CharTokenizer.java +++ /dev/null @@ -1,405 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.io.IOException; -import java.io.Reader; -import java.util.Iterator; - -import edu.cmu.sphinx.alignment.Token; - -/** - * Implements the tokenizer interface. Breaks an input sequence of characters - * into a set of tokens. - */ -public class CharTokenizer implements Iterator { - - /** A constant indicating that the end of the stream has been read. */ - public static final int EOF = -1; - - /** A string containing the default whitespace characters. */ - public static final String DEFAULT_WHITESPACE_SYMBOLS = " \t\n\r"; - - /** A string containing the default single characters. */ - public static final String DEFAULT_SINGLE_CHAR_SYMBOLS = "(){}[]"; - - /** A string containing the default pre-punctuation characters. */ - public static final String DEFAULT_PREPUNCTUATION_SYMBOLS = "\"'`({["; - - /** A string containing the default post-punctuation characters. */ - public static final String DEFAULT_POSTPUNCTUATION_SYMBOLS = - "\"'`.,:;!?(){}[]"; - - /** The line number. */ - private int lineNumber; - - /** The input text (from the Utterance) to tokenize. */ - private String inputText; - - /** The file to read input text from, if using file mode. */ - private Reader reader; - - /** The current character, whether its from the file or the input text. */ - private int currentChar; - - /** - * The current char position for the input text (not the file) this is - * called "file_pos" in flite - */ - private int currentPosition; - - /** The delimiting symbols of this tokenizer. */ - private String whitespaceSymbols = DEFAULT_WHITESPACE_SYMBOLS; - private String singleCharSymbols = DEFAULT_SINGLE_CHAR_SYMBOLS; - private String prepunctuationSymbols = DEFAULT_PREPUNCTUATION_SYMBOLS; - private String postpunctuationSymbols = DEFAULT_POSTPUNCTUATION_SYMBOLS; - - /** The error description. */ - private String errorDescription; - - /** A place to store the current token. */ - private Token token; - private Token lastToken; - - /** - * Constructs a Tokenizer. - */ - public CharTokenizer() {} - - /** - * Creates a tokenizer that will return tokens from the given string. - * - * @param string the string to tokenize - */ - public CharTokenizer(String string) { - setInputText(string); - } - - /** - * Creates a tokenizer that will return tokens from the given file. - * - * @param file where to read the input from - */ - public CharTokenizer(Reader file) { - setInputReader(file); - } - - /** - * Sets the whitespace symbols of this Tokenizer to the given symbols. - * - * @param symbols the whitespace symbols - */ - public void setWhitespaceSymbols(String symbols) { - whitespaceSymbols = symbols; - } - - /** - * Sets the single character symbols of this Tokenizer to the given - * symbols. - * - * @param symbols the single character symbols - */ - public void setSingleCharSymbols(String symbols) { - singleCharSymbols = symbols; - } - - /** - * Sets the prepunctuation symbols of this Tokenizer to the given symbols. - * - * @param symbols the prepunctuation symbols - */ - public void setPrepunctuationSymbols(String symbols) { - prepunctuationSymbols = symbols; - } - - /** - * Sets the postpunctuation symbols of this Tokenizer to the given symbols. - * - * @param symbols the postpunctuation symbols - */ - public void setPostpunctuationSymbols(String symbols) { - postpunctuationSymbols = symbols; - } - - /** - * Sets the text to tokenize. - * - * @param inputString the string to tokenize - */ - public void setInputText(String inputString) { - inputText = inputString; - currentPosition = 0; - - if (inputText != null) { - getNextChar(); - } - } - - /** - * Sets the input reader - * - * @param reader the input source - */ - public void setInputReader(Reader reader) { - this.reader = reader; - getNextChar(); - } - - /** - * Returns the next token. - * - * @return the next token if it exists, null if no more tokens - */ - public Token next() { - lastToken = token; - token = new Token(); - - // Skip whitespace - token.setWhitespace(getTokenOfCharClass(whitespaceSymbols)); - - // quoted strings currently ignored - - // get prepunctuation - token.setPrepunctuation(getTokenOfCharClass(prepunctuationSymbols)); - - // get the symbol itself - if (singleCharSymbols.indexOf(currentChar) != -1) { - token.setWord(String.valueOf((char) currentChar)); - getNextChar(); - } else { - token.setWord(getTokenNotOfCharClass(whitespaceSymbols)); - } - - token.setPosition(currentPosition); - token.setLineNumber(lineNumber); - - // This'll have token *plus* postpunctuation - // Get postpunctuation - removeTokenPostpunctuation(); - - return token; - } - - /** - * Returns true if there are more tokens, false - * otherwise. - * - * @return true if there are more tokens false - * otherwise - */ - public boolean hasNext() { - int nextChar = currentChar; - return (nextChar != EOF); - } - - public void remove() { - throw new UnsupportedOperationException(); - } - - /** - * Advances the currentPosition pointer by 1 (if not exceeding length of - * inputText, and returns the character pointed by currentPosition. - * - * @return the next character EOF if no more characters exist - */ - private int getNextChar() { - if (reader != null) { - try { - int readVal = reader.read(); - if (readVal == -1) { - currentChar = EOF; - } else { - currentChar = (char) readVal; - } - } catch (IOException ioe) { - currentChar = EOF; - errorDescription = ioe.getMessage(); - } - } else if (inputText != null) { - if (currentPosition < inputText.length()) { - currentChar = (int) inputText.charAt(currentPosition); - } else { - currentChar = EOF; - } - } - if (currentChar != EOF) { - currentPosition++; - } - if (currentChar == '\n') { - lineNumber++; - } - return currentChar; - } - - /** - * Starting from the current position of the input text, returns the - * subsequent characters of type charClass, and not of type - * singleCharSymbols. - * - * @param charClass the type of characters to look for - * @param buffer the place to append characters of type charClass - * - * @return a string of characters starting from the current position of the - * input text, until it encounters a character not in the string - * charClass - * - */ - private String getTokenOfCharClass(String charClass) { - return getTokenByCharClass(charClass, true); - } - - /** - * Starting from the current position of the input text/file, returns the - * subsequent characters, not of type singleCharSymbols, and ended at - * characters of type endingCharClass. E.g., if the current string is - * "xxxxyyy", endingCharClass is "yz", and singleCharClass "abc". Then this - * method will return to "xxxx". - * - * @param endingCharClass the type of characters to look for - * - * @return a string of characters from the current position until it - * encounters characters in endingCharClass - * - */ - private String getTokenNotOfCharClass(String endingCharClass) { - return getTokenByCharClass(endingCharClass, false); - } - - /** - * Provides a `compressed' method from getTokenOfCharClass() and - * getTokenNotOfCharClass(). If parameter containThisCharClass is - * true, then a string from the current position to the last - * character in charClass is returned. If containThisCharClass is - * false , then a string before the first occurrence of a - * character in containThisCharClass is returned. - * - * @param charClass the string of characters you want included or excluded - * in your return - * @param containThisCharClass determines if you want characters in - * charClass in the returned string or not - * - * @return a string of characters from the current position until it - * encounters characters in endingCharClass - */ - private String getTokenByCharClass(String charClass, - boolean containThisCharClass) { - final StringBuilder buffer = new StringBuilder(); - - // if we want the returned string to contain chars in charClass, then - // containThisCharClass is TRUE and - // (charClass.indexOf(currentChar) != 1) == containThisCharClass) - // returns true; if we want it to stop at characters of charClass, - // then containThisCharClass is FALSE, and the condition returns - // false. - while ((charClass.indexOf(currentChar) != -1) == containThisCharClass - && singleCharSymbols.indexOf(currentChar) == -1 - && currentChar != EOF) { - buffer.append((char) currentChar); - getNextChar(); - } - return buffer.toString(); - } - - /** - * Removes the postpunctuation characters from the current token. Copies - * those postpunctuation characters to the class variable - * 'postpunctuation'. - */ - private void removeTokenPostpunctuation() { - if (token == null) { - return; - } - final String tokenWord = token.getWord(); - - int tokenLength = tokenWord.length(); - int position = tokenLength - 1; - - while (position > 0 - && postpunctuationSymbols.indexOf((int) tokenWord - .charAt(position)) != -1) { - position--; - } - - if (tokenLength - 1 != position) { - // Copy postpunctuation from token - token.setPostpunctuation(tokenWord.substring(position + 1)); - - // truncate token at postpunctuation - token.setWord(tokenWord.substring(0, position + 1)); - } else { - token.setPostpunctuation(""); - } - } - - /** - * Returns true if there were errors while reading tokens - * - * @return true if there were errors; false - * otherwise - */ - public boolean hasErrors() { - return errorDescription != null; - } - - /** - * if hasErrors returns true, this will return a description - * of the error encountered, otherwise it will return null - * - * @return a description of the last error that occurred. - */ - public String getErrorDescription() { - return errorDescription; - } - - /** - * Determines if the current token should start a new sentence. - * - * @return true if a new sentence should be started - */ - public boolean isSentenceSeparator() { - String tokenWhiteSpace = token.getWhitespace(); - String lastTokenPostpunctuation = null; - if (lastToken != null) { - lastTokenPostpunctuation = lastToken.getPostpunctuation(); - } - - if (lastToken == null || token == null) { - return false; - } else if (tokenWhiteSpace.indexOf('\n') != tokenWhiteSpace - .lastIndexOf('\n')) { - return true; - } else if (lastTokenPostpunctuation.indexOf(':') != -1 - || lastTokenPostpunctuation.indexOf('?') != -1 - || lastTokenPostpunctuation.indexOf('!') != -1) { - return true; - } else if (lastTokenPostpunctuation.indexOf('.') != -1 - && tokenWhiteSpace.length() > 1 - && Character.isUpperCase(token.getWord().charAt(0))) { - return true; - } else { - String lastWord = lastToken.getWord(); - int lastWordLength = lastWord.length(); - - if (lastTokenPostpunctuation.indexOf('.') != -1 - && - /* next word starts with a capital */ - Character.isUpperCase(token.getWord().charAt(0)) - && - /* last word isn't an abbreviation */ - !(Character.isUpperCase(lastWord - .charAt(lastWordLength - 1)) || (lastWordLength < 4 && Character - .isUpperCase(lastWord.charAt(0))))) { - return true; - } - } - return false; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/DecisionTree.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/DecisionTree.java deleted file mode 100755 index c8ea23e4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/DecisionTree.java +++ /dev/null @@ -1,608 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.io.*; -import java.net.URL; -import java.util.StringTokenizer; -import java.util.logging.Logger; -import java.util.regex.Pattern; - - -/** - * Implementation of a Classification and Regression Tree (CART) that is used - * more like a binary decision tree, with each node containing a decision or a - * final value. The decision nodes in the CART trees operate on an Item and - * have the following format: - * - *

- *   NODE feat operand value qfalse
- * 
- * - *

- * Where feat is an string that represents a feature to pass to - * the findFeature method of an item. - * - *

- * The value represents the value to be compared against the - * feature obtained from the item via the feat string. The - * operand is the operation to do the comparison. The available - * operands are as follows: - * - *

    - *
  • < - the feature is less than value - *
  • =- the feature is equal to the value - *
  • >- the feature is greater than the value - *
  • MATCHES - the feature matches the regular expression stored in value - *
  • IN - [[[TODO: still guessing because none of the CART's in Flite seem to - * use IN]]] the value is in the list defined by the feature. - *
- * - *

- * [[[TODO: provide support for the IN operator.]]] - * - *

- * For < and >, this CART coerces the value and feature to float's. For =, - * this CART coerces the value and feature to string and checks for string - * equality. For MATCHES, this CART uses the value as a regular expression and - * compares the obtained feature to that. - * - *

- * A CART is represented by an array in this implementation. The - * qfalse value represents the index of the array to go to if the - * comparison does not match. In this implementation, qtrue index is always - * implied, and represents the next element in the array. The root node of the - * CART is the first element in the array. - * - *

- * The interpretations always start at the root node of the CART and continue - * until a final node is found. The final nodes have the following form: - * - *

- *   LEAF value
- * 
- * - *

- * Where value represents the value of the node. Reaching a final - * node indicates the interpretation is over and the value of the node is the - * interpretation result. - */ -public class DecisionTree { - /** Logger instance. */ - private static final Logger logger = Logger.getLogger(DecisionTree.class.getSimpleName()); - /** - * Entry in file represents the total number of nodes in the file. This - * should be at the top of the file. The format should be "TOTAL n" where n - * is an integer value. - */ - final static String TOTAL = "TOTAL"; - - /** - * Entry in file represents a node. The format should be - * "NODE feat op val f" where 'feat' represents a feature, op represents an - * operand, val is the value, and f is the index of the node to go to is - * there isn't a match. - */ - final static String NODE = "NODE"; - - /** - * Entry in file represents a final node. The format should be "LEAF val" - * where val represents the value. - */ - final static String LEAF = "LEAF"; - - /** - * OPERAND_MATCHES - */ - final static String OPERAND_MATCHES = "MATCHES"; - - /** - * The CART. Entries can be DecisionNode or LeafNode. An ArrayList could be - * used here -- I chose not to because I thought it might be quicker to - * avoid dealing with the dynamic resizing. - */ - Node[] cart = null; - - /** - * The number of nodes in the CART. - */ - transient int curNode = 0; - - /** - * Creates a new CART by reading from the given URL. - * - * @param url the location of the CART data - * - * @throws IOException if errors occur while reading the data - */ - public DecisionTree(URL url) throws IOException { - BufferedReader reader; - String line; - - reader = new BufferedReader(new InputStreamReader(url.openStream())); - line = reader.readLine(); - while (line != null) { - if (!line.startsWith("***")) { - parseAndAdd(line); - } - line = reader.readLine(); - } - reader.close(); - } - - /** - * Creates a new CART by reading from the given reader. - * - * @param reader the source of the CART data - * @param nodes the number of nodes to read for this cart - * - * @throws IOException if errors occur while reading the data - */ - public DecisionTree(BufferedReader reader, int nodes) throws IOException { - this(nodes); - String line; - for (int i = 0; i < nodes; i++) { - line = reader.readLine(); - if (!line.startsWith("***")) { - parseAndAdd(line); - } - } - } - - /** - * Creates a new CART that will be populated with nodes later. - * - * @param numNodes the number of nodes - */ - private DecisionTree(int numNodes) { - cart = new Node[numNodes]; - } - - /** - * Dump the CART tree as a dot file. - *

- * The dot tool is part of the graphviz distribution at http://www.graphviz.org/. If - * installed, call it as "dot -O -Tpdf *.dot" from the console to generate - * pdfs. - *

- * - * @param out The PrintWriter to write to. - */ - public void dumpDot(PrintWriter out) { - out.write("digraph \"" + "CART Tree" + "\" {\n"); - out.write("rankdir = LR\n"); - - for (Node n : cart) { - out.println("\tnode" + Math.abs(n.hashCode()) + " [ label=\"" - + n.toString() + "\", color=" + dumpDotNodeColor(n) - + ", shape=" + dumpDotNodeShape(n) + " ]\n"); - if (n instanceof DecisionNode) { - DecisionNode dn = (DecisionNode) n; - if (dn.qtrue < cart.length && cart[dn.qtrue] != null) { - out.write("\tnode" + Math.abs(n.hashCode()) + " -> node" - + Math.abs(cart[dn.qtrue].hashCode()) - + " [ label=" + "TRUE" + " ]\n"); - } - if (dn.qfalse < cart.length && cart[dn.qfalse] != null) { - out.write("\tnode" + Math.abs(n.hashCode()) + " -> node" - + Math.abs(cart[dn.qfalse].hashCode()) - + " [ label=" + "FALSE" + " ]\n"); - } - } - } - - out.write("}\n"); - out.close(); - } - - protected String dumpDotNodeColor(Node n) { - if (n instanceof LeafNode) { - return "green"; - } - return "red"; - } - - protected String dumpDotNodeShape(Node n) { - return "box"; - } - - /** - * Creates a node from the given input line and add it to the CART. It - * expects the TOTAL line to come before any of the nodes. - * - * @param line a line of input to parse - */ - protected void parseAndAdd(String line) { - StringTokenizer tokenizer = new StringTokenizer(line, " "); - String type = tokenizer.nextToken(); - if (type.equals(LEAF) || type.equals(NODE)) { - cart[curNode] = getNode(type, tokenizer, curNode); - cart[curNode].setCreationLine(line); - curNode++; - } else if (type.equals(TOTAL)) { - cart = new Node[Integer.parseInt(tokenizer.nextToken())]; - curNode = 0; - } else { - throw new Error("Invalid CART type: " + type); - } - } - - /** - * Gets the node based upon the type and tokenizer. - * - * @param type NODE or LEAF - * @param tokenizer the StringTokenizer containing the data to get - * @param currentNode the index of the current node we're looking at - * - * @return the node - */ - protected Node getNode(String type, StringTokenizer tokenizer, - int currentNode) { - if (type.equals(NODE)) { - String feature = tokenizer.nextToken(); - String operand = tokenizer.nextToken(); - Object value = parseValue(tokenizer.nextToken()); - int qfalse = Integer.parseInt(tokenizer.nextToken()); - if (operand.equals(OPERAND_MATCHES)) { - return new MatchingNode(feature, value.toString(), - currentNode + 1, qfalse); - } else { - return new ComparisonNode(feature, value, operand, - currentNode + 1, qfalse); - } - } else if (type.equals(LEAF)) { - return new LeafNode(parseValue(tokenizer.nextToken())); - } - - return null; - } - - /** - * Coerces a string into a value. - * - * @param string of the form "type(value)"; for example, "Float(2.3)" - * - * @return the value - */ - protected Object parseValue(String string) { - int openParen = string.indexOf("("); - String type = string.substring(0, openParen); - String value = string.substring(openParen + 1, string.length() - 1); - if (type.equals("String")) { - return value; - } else if (type.equals("Float")) { - return new Float(Float.parseFloat(value)); - } else if (type.equals("Integer")) { - return new Integer(Integer.parseInt(value)); - } else if (type.equals("List")) { - StringTokenizer tok = new StringTokenizer(value, ","); - int size = tok.countTokens(); - - int[] values = new int[size]; - for (int i = 0; i < size; i++) { - float fval = Float.parseFloat(tok.nextToken()); - values[i] = Math.round(fval); - } - return values; - } else { - throw new Error("Unknown type: " + type); - } - } - - /** - * Passes the given item through this CART and returns the interpretation. - * - * @param item the item to analyze - * - * @return the interpretation - */ - public Object interpret(Item item) { - int nodeIndex = 0; - DecisionNode decision; - - while (!(cart[nodeIndex] instanceof LeafNode)) { - decision = (DecisionNode) cart[nodeIndex]; - nodeIndex = decision.getNextNode(item); - } - logger.fine("LEAF " + cart[nodeIndex].getValue()); - return ((LeafNode) cart[nodeIndex]).getValue(); - } - - /** - * A node for the CART. - */ - static abstract class Node { - /** - * The value of this node. - */ - protected Object value; - - /** - * Create a new Node with the given value. - */ - public Node(Object value) { - this.value = value; - } - - /** - * Get the value. - */ - public Object getValue() { - return value; - } - - /** - * Return a string representation of the type of the value. - */ - public String getValueString() { - if (value == null) { - return "NULL()"; - } else if (value instanceof String) { - return "String(" + value.toString() + ")"; - } else if (value instanceof Float) { - return "Float(" + value.toString() + ")"; - } else if (value instanceof Integer) { - return "Integer(" + value.toString() + ")"; - } else { - return value.getClass().toString() + "(" + value.toString() - + ")"; - } - } - - /** - * sets the line of text used to create this node. - * - * @param line the creation line - */ - public void setCreationLine(String line) {} - } - - /** - * A decision node that determines the next Node to go to in the CART. - */ - abstract static class DecisionNode extends Node { - /** - * The feature used to find a value from an Item. - */ - private PathExtractor path; - - /** - * Index of Node to go to if the comparison doesn't match. - */ - protected int qfalse; - - /** - * Index of Node to go to if the comparison matches. - */ - protected int qtrue; - - /** - * The feature used to find a value from an Item. - */ - public String getFeature() { - return path.toString(); - } - - /** - * Find the feature associated with this DecisionNode and the given - * item - * - * @param item the item to start from - * @return the object representing the feature - */ - public Object findFeature(Item item) { - return path.findFeature(item); - } - - /** - * Returns the next node based upon the descision determined at this - * node - * - * @param item the current item. - * @return the index of the next node - */ - public final int getNextNode(Item item) { - return getNextNode(findFeature(item)); - } - - /** - * Create a new DecisionNode. - * - * @param feature the string used to get a value from an Item - * @param value the value to compare to - * @param qtrue the Node index to go to if the comparison matches - * @param qfalse the Node machine index to go to upon no match - */ - public DecisionNode(String feature, Object value, int qtrue, int qfalse) { - super(value); - this.path = new PathExtractor(feature, true); - this.qtrue = qtrue; - this.qfalse = qfalse; - } - - /** - * Get the next Node to go to in the CART. The return value is an index - * in the CART. - */ - abstract public int getNextNode(Object val); - } - - /** - * A decision Node that compares two values. - */ - static class ComparisonNode extends DecisionNode { - /** - * LESS_THAN - */ - final static String LESS_THAN = "<"; - - /** - * EQUALS - */ - final static String EQUALS = "="; - - /** - * GREATER_THAN - */ - final static String GREATER_THAN = ">"; - - /** - * The comparison type. One of LESS_THAN, GREATER_THAN, or EQUAL_TO. - */ - String comparisonType; - - /** - * Create a new ComparisonNode with the given values. - * - * @param feature the string used to get a value from an Item - * @param value the value to compare to - * @param comparisonType one of LESS_THAN, EQUAL_TO, or GREATER_THAN - * @param qtrue the Node index to go to if the comparison matches - * @param qfalse the Node index to go to upon no match - */ - public ComparisonNode(String feature, Object value, - String comparisonType, int qtrue, int qfalse) { - super(feature, value, qtrue, qfalse); - if (!comparisonType.equals(LESS_THAN) - && !comparisonType.equals(EQUALS) - && !comparisonType.equals(GREATER_THAN)) { - throw new Error("Invalid comparison type: " + comparisonType); - } else { - this.comparisonType = comparisonType; - } - } - - /** - * Compare the given value and return the appropriate Node index. - * IMPLEMENTATION NOTE: LESS_THAN and GREATER_THAN, the Node's value - * and the value passed in are converted to floating point values. For - * EQUAL, the Node's value and the value passed in are treated as - * String compares. This is the way of Flite, so be it Flite. - * - * @param val the value to compare - */ - public int getNextNode(Object val) { - boolean yes = false; - int ret; - - if (comparisonType.equals(LESS_THAN) - || comparisonType.equals(GREATER_THAN)) { - float cart_fval; - float fval; - if (value instanceof Float) { - cart_fval = ((Float) value).floatValue(); - } else { - cart_fval = Float.parseFloat(value.toString()); - } - if (val instanceof Float) { - fval = ((Float) val).floatValue(); - } else { - fval = Float.parseFloat(val.toString()); - } - if (comparisonType.equals(LESS_THAN)) { - yes = (fval < cart_fval); - } else { - yes = (fval > cart_fval); - } - } else { // comparisonType = "=" - String sval = val.toString(); - String cart_sval = value.toString(); - yes = sval.equals(cart_sval); - } - if (yes) { - ret = qtrue; - } else { - ret = qfalse; - } - logger.fine(trace(val, yes, ret)); - return ret; - } - - private String trace(Object value, boolean match, int next) { - return "NODE " + getFeature() + " [" + value + "] " - + comparisonType + " [" + getValue() + "] " - + (match ? "Yes" : "No") + " next " + next; - } - - /** - * Get a string representation of this Node. - */ - public String toString() { - return "NODE " + getFeature() + " " + comparisonType + " " - + getValueString() + " " + Integer.toString(qtrue) + " " - + Integer.toString(qfalse); - } - } - - /** - * A Node that checks for a regular expression match. - */ - static class MatchingNode extends DecisionNode { - Pattern pattern; - - /** - * Create a new MatchingNode with the given values. - * - * @param feature the string used to get a value from an Item - * @param regex the regular expression - * @param qtrue the Node index to go to if the comparison matches - * @param qfalse the Node index to go to upon no match - */ - public MatchingNode(String feature, String regex, int qtrue, int qfalse) { - super(feature, regex, qtrue, qfalse); - this.pattern = Pattern.compile(regex); - } - - /** - * Compare the given value and return the appropriate CART index. - * - * @param val the value to compare -- this must be a String - */ - public int getNextNode(Object val) { - return pattern.matcher((String) val).matches() ? qtrue : qfalse; - } - - /** - * Get a string representation of this Node. - */ - public String toString() { - StringBuffer buf = - new StringBuffer(NODE + " " + getFeature() + " " - + OPERAND_MATCHES); - buf.append(getValueString() + " "); - buf.append(Integer.toString(qtrue) + " "); - buf.append(Integer.toString(qfalse)); - return buf.toString(); - } - } - - /** - * The final Node of a CART. This just a marker class. - */ - static class LeafNode extends Node { - /** - * Create a new LeafNode with the given value. - * - * @param the value of this LeafNode - */ - public LeafNode(Object value) { - super(value); - } - - /** - * Get a string representation of this Node. - */ - public String toString() { - return "LEAF " + getValueString(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/FeatureSet.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/FeatureSet.java deleted file mode 100755 index 959901fe..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/FeatureSet.java +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.text.DecimalFormat; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * Implementation of the FeatureSet interface. - */ -public class FeatureSet { - - private final Map featureMap; - static DecimalFormat formatter; - - /** - * Creates a new empty feature set - */ - public FeatureSet() { - featureMap = new LinkedHashMap(); - } - - /** - * Determines if the given feature is present. - * - * @param name the name of the feature of interest - * - * @return true if the named feature is present - */ - public boolean isPresent(String name) { - return featureMap.containsKey(name); - } - - /** - * Removes the named feature from this set of features. - * - * @param name the name of the feature of interest - */ - public void remove(String name) { - featureMap.remove(name); - } - - /** - * Convenience method that returns the named feature as a string. - * - * @param name the name of the feature - * - * @return the value associated with the name or null if the value is not - * found - * - * @throws ClassCastException if the associated value is not a String - */ - public String getString(String name) { - return (String) getObject(name); - } - - /** - * Convenience method that returns the named feature as a int. - * - * @param name the name of the feature - * - * @return the value associated with the name or null if the value is not - * found - * - * @throws ClassCastException if the associated value is not an int. - */ - public int getInt(String name) { - return ((Integer) getObject(name)).intValue(); - } - - /** - * Convenience method that returns the named feature as a float. - * - * @param name the name of the feature - * - * @return the value associated with the name or null if the value is not - * found. - * - * @throws ClassCastException if the associated value is not a float - */ - public float getFloat(String name) { - return ((Float) getObject(name)).floatValue(); - } - - /** - * Returns the named feature as an object. - * - * @param name the name of the feature - * - * @return the value associated with the name or null if the value is not - * found - */ - public Object getObject(String name) { - return featureMap.get(name); - } - - /** - * Convenience method that sets the named feature as a int. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setInt(String name, int value) { - setObject(name, new Integer(value)); - } - - /** - * Convenience method that sets the named feature as a float. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setFloat(String name, float value) { - setObject(name, new Float(value)); - } - - /** - * Convenience method that sets the named feature as a String. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setString(String name, String value) { - setObject(name, value); - } - - /** - * Sets the named feature. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setObject(String name, Object value) { - featureMap.put(name, value); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Item.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Item.java deleted file mode 100755 index 2e69cb3b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Item.java +++ /dev/null @@ -1,447 +0,0 @@ -/** - * Portions Copyright 2001-2003 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.util.StringTokenizer; - -/** - * Represents a node in a Relation. Items can have shared contents but each - * item has its own set of Daughters. The shared contents of an item - * (represented by ItemContents) includes the feature set for the item and the - * set of all relations that this item is contained in. An item can be - * contained in a number of relations and as daughters to other items. This - * class is used to keep track of all of these relationships. There may be many - * instances of item that reference the same shared ItemContents. - */ -public class Item { - private Relation ownerRelation; - private ItemContents contents; - private Item parent; - private Item daughter; - private Item next; - private Item prev; - - /** - * Creates an item. The item is coupled to a particular Relation. If shared - * contents is null a new sharedContents is created. - * - * @param relation the relation that owns this item - * @param sharedContents the contents that is shared with others. If null, - * a new sharedContents is created. - */ - public Item(Relation relation, ItemContents sharedContents) { - ownerRelation = relation; - if (sharedContents != null) { - contents = sharedContents; - } else { - contents = new ItemContents(); - } - parent = null; - daughter = null; - next = null; - prev = null; - - getSharedContents().addItemRelation(relation.getName(), this); - } - - /** - * Finds the item in the given relation that has the same shared contents. - * - * @param relationName the relation of interest - * - * @return the item as found in the given relation or null if not found - */ - public Item getItemAs(String relationName) { - return getSharedContents().getItemRelation(relationName); - } - - /** - * Retrieves the owning Relation. - * - * @return the relation that owns this item - */ - public Relation getOwnerRelation() { - return ownerRelation; - } - - /** - * Retrieves the shared contents for this item. - * - * @return the shared item contents - */ - public ItemContents getSharedContents() { - return contents; - } - - /** - * Determines if this item has daughters. - * - * @return true if this item has daughters - */ - public boolean hasDaughters() { - return daughter != null; - } - - /** - * Retrieves the first daughter of this item. - * - * @return the first daughter or null if none - */ - public Item getDaughter() { - return daughter; - } - - /** - * Retrieves the Nth daughter of this item. - * - * @param which the index of the daughter to return - * - * @return the Nth daughter or null if none at the given index - */ - public Item getNthDaughter(int which) { - Item d = daughter; - int count = 0; - while (count++ != which && d != null) { - d = d.next; - } - return d; - } - - /** - * Retrieves the last daughter of this item. - * - * @return the last daughter or null if none at the given index - */ - public Item getLastDaughter() { - Item d = daughter; - if (d == null) { - return null; - } - while (d.next != null) { - d = d.next; - } - return d; - } - - /** - * Adds the given item as a daughter to this item. - * - * @param item for the new daughter - * @return created item - */ - public Item addDaughter(Item item) { - Item newItem; - ItemContents contents; - - Item p = getLastDaughter(); - - if (p != null) { - newItem = p.appendItem(item); - } else { - if (item == null) { - contents = new ItemContents(); - } else { - contents = item.getSharedContents(); - } - newItem = new Item(getOwnerRelation(), contents); - newItem.parent = this; - daughter = newItem; - } - return newItem; - } - - /** - * Creates a new Item, adds it as a daughter to this item and returns the - * new item. - * - * @return the newly created item that was added as a daughter - */ - public Item createDaughter() { - return addDaughter(null); - } - - /** - * Returns the parent of this item. - * - * @return the parent of this item - */ - public Item getParent() { - Item n; - for (n = this; n.prev != null; n = n.prev) { - } - return n.parent; - } - - /** - * Sets the parent of this item. - * - * @param parent the parent of this item - */ - /* - * private void setParent(Item parent) { this.parent = parent; } - */ - - /** - * Returns the utterance associated with this item. - * - * @return the utterance that contains this item - */ - public Utterance getUtterance() { - return getOwnerRelation().getUtterance(); - } - - /** - * Returns the feature set of this item. - * - * @return the feature set of this item - */ - public FeatureSet getFeatures() { - return getSharedContents().getFeatures(); - } - - /** - * Finds the feature by following the given path. Path is a string of ":" - * or "." separated strings with the following interpretations: - *
    - *
  • n - next item - *
  • p - previous item - *
  • parent - the parent - *
  • daughter - the daughter - *
  • daughter1 - same as daughter - *
  • daughtern - the last daughter - *
  • R:relname - the item as found in the given relation 'relname' - *
- * The last element of the path will be interpreted as a voice/language - * specific feature function (if present) or an item feature name. If the - * feature function exists it will be called with the item specified by the - * path, otherwise, a feature will be retrieved with the given name. If - * neither exist than a String "0" is returned. - * - * @param pathAndFeature the path to follow - * @return created object - */ - public Object findFeature(String pathAndFeature) { - int lastDot; - String feature; - String path; - Item item; - Object results = null; - - lastDot = pathAndFeature.lastIndexOf("."); - // string can be of the form "p.feature" or just "feature" - - if (lastDot == -1) { - feature = pathAndFeature; - path = null; - } else { - feature = pathAndFeature.substring(lastDot + 1); - path = pathAndFeature.substring(0, lastDot); - } - - item = findItem(path); - if (item != null) { - results = item.getFeatures().getObject(feature); - } - results = (results == null) ? "0" : results; - - // System.out.println("FI " + pathAndFeature + " are " + results); - - return results; - } - - /** - * Finds the item specified by the given path. - * - * Path is a string of ":" or "." separated strings with the following - * interpretations: - *
    - *
  • n - next item - *
  • p - previous item - *
  • parent - the parent - *
  • daughter - the daughter - *
  • daughter1 - same as daughter - *
  • daughtern - the last daughter - *
  • R:relname - the item as found in the given relation 'relname' - *
- * If the given path takes us outside of the bounds of the item graph, then - * list access exceptions will be thrown. - * - * @param path the path to follow - * - * @return the item at the given path - */ - public Item findItem(String path) { - Item pitem = this; - StringTokenizer tok; - - if (path == null) { - return this; - } - - tok = new StringTokenizer(path, ":."); - - while (pitem != null && tok.hasMoreTokens()) { - String token = tok.nextToken(); - if (token.equals("n")) { - pitem = pitem.getNext(); - } else if (token.equals("p")) { - pitem = pitem.getPrevious(); - } else if (token.equals("nn")) { - pitem = pitem.getNext(); - if (pitem != null) { - pitem = pitem.getNext(); - } - } else if (token.equals("pp")) { - pitem = pitem.getPrevious(); - if (pitem != null) { - pitem = pitem.getPrevious(); - } - } else if (token.equals("parent")) { - pitem = pitem.getParent(); - } else if (token.equals("daughter") || token.equals("daughter1")) { - pitem = pitem.getDaughter(); - } else if (token.equals("daughtern")) { - pitem = pitem.getLastDaughter(); - } else if (token.equals("R")) { - String relationName = tok.nextToken(); - pitem = - pitem.getSharedContents() - .getItemRelation(relationName); - } else { - System.out.println("findItem: bad feature " + token + " in " - + path); - } - } - return pitem; - } - - /** - * Gets the next item in this list. - * - * @return the next item or null - */ - public Item getNext() { - return next; - } - - /** - * Gets the previous item in this list. - * - * @return the previous item or null - */ - public Item getPrevious() { - return prev; - } - - /** - * Appends an item in this list after this item. - * - * @param originalItem new item has shared contents with this item (or * - * null) - * - * @return the newly appended item - */ - public Item appendItem(Item originalItem) { - ItemContents contents; - Item newItem; - - if (originalItem == null) { - contents = null; - } else { - contents = originalItem.getSharedContents(); - } - - newItem = new Item(getOwnerRelation(), contents); - newItem.next = this.next; - if (this.next != null) { - this.next.prev = newItem; - } - - attach(newItem); - - if (this.ownerRelation.getTail() == this) { - this.ownerRelation.setTail(newItem); - } - return newItem; - } - - /** - * Attaches/appends an item to this one. - * - * @param item the item to append - */ - void attach(Item item) { - this.next = item; - item.prev = this; - } - - /** - * Prepends an item in this list before this item. - * - * @param originalItem new item has shared contents with this item (or * - * null) - * - * @return the newly appended item - */ - public Item prependItem(Item originalItem) { - ItemContents contents; - Item newItem; - - if (originalItem == null) { - contents = null; - } else { - contents = originalItem.getSharedContents(); - } - - newItem = new Item(getOwnerRelation(), contents); - newItem.prev = this.prev; - if (this.prev != null) { - this.prev.next = newItem; - } - newItem.next = this; - this.prev = newItem; - if (this.parent != null) { - this.parent.daughter = newItem; - newItem.parent = this.parent; - this.parent = null; - } - if (this.ownerRelation.getHead() == this) { - this.ownerRelation.setHead(newItem); - } - return newItem; - } - - // Inherited from object - public String toString() { - // if we have a feature called 'name' use that - // otherwise fall back on the default. - String name = getFeatures().getString("name"); - if (name == null) { - name = ""; - } - return name; - } - - /** - * Determines if the shared contents of the two items are the same. - * - * @param otherItem the item to compare - * - * @return true if the shared contents are the same - */ - public boolean equalsShared(Item otherItem) { - if (otherItem == null) { - return false; - } else { - return getSharedContents().equals(otherItem.getSharedContents()); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/ItemContents.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/ItemContents.java deleted file mode 100755 index 75213175..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/ItemContents.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - - -/** - * Contains the information that is shared between multiple items. - */ -public class ItemContents { - private FeatureSet features; - private FeatureSet relations; - - /** - * Class Constructor. - */ - public ItemContents() { - features = new FeatureSet(); - relations = new FeatureSet(); - } - - /** - * Adds the given item to the set of relations. Whenever an item is added - * to a relation, it should add the name and the Item reference to this set - * of name/item mappings. This allows an item to find out the set of all - * relations that it is contained in. - * - * @param relationName the name of the relation - * @param item the item reference in the relation - */ - public void addItemRelation(String relationName, Item item) { - // System.out.println("AddItemRelation: " + relationName - // + " item: " + item); - relations.setObject(relationName, item); - } - - /** - * Removes the relation/item mapping from this ItemContents. - * - * @param relationName the name of the relation/item to remove - */ - public void removeItemRelation(String relationName) { - relations.remove(relationName); - } - - /** - * Given the name of a relation, returns the item the shares the same - * ItemContents. - * - * @param relationName the name of the relation of interest - * - * @return the item associated with this ItemContents in the named - * relation, or null if it does not exist - */ - public Item getItemRelation(String relationName) { - return (Item) relations.getObject(relationName); - } - - /** - * Returns the feature set for this item contents. - * - * @return the FeatureSet for this contents - */ - public FeatureSet getFeatures() { - return features; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/NumberExpander.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/NumberExpander.java deleted file mode 100755 index 4d81abfa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/NumberExpander.java +++ /dev/null @@ -1,449 +0,0 @@ -/** - * Portions Copyright 2001-2003 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - - -/** - * Expands Strings containing digits characters into a list of words - * representing those digits. - * - * It translates the following code from flite: - * lang/usEnglish/us_expand.c - */ -public class NumberExpander { - - private static final String[] digit2num = {"zero", "one", "two", "three", - "four", "five", "six", "seven", "eight", "nine"}; - - private static final String[] digit2teen = {"ten", /* shouldn't get called */ - "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", - "seventeen", "eighteen", "nineteen"}; - - private static final String[] digit2enty = {"zero", /* shouldn't get called */ - "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", - "ninety"}; - - private static final String[] ord2num = {"zeroth", "first", "second", - "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth"}; - - private static final String[] ord2teen = {"tenth", /* shouldn't get called */ - "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth", - "sixteenth", "seventeenth", "eighteenth", "nineteenth"}; - - private static final String[] ord2enty = {"zeroth", /* shouldn't get called */ - "tenth", "twentieth", "thirtieth", "fortieth", "fiftieth", "sixtieth", - "seventieth", "eightieth", "ninetieth"}; - - private static String[] digit2Numness = { - "", "tens", "twenties", "thirties", "fourties", "fifties", - "sixties", "seventies", "eighties", "nineties" - }; - - /** - * Unconstructable - */ - private NumberExpander() {} - - /** - * Expands a digit string into a list of English words of those digits. For - * example, "1234" expands to "one two three four" - * - * @param numberString the digit string to expand. - * @param wordRelation words are added to this Relation - */ - public static void expandNumber(String numberString, - WordRelation wordRelation) { - int numDigits = numberString.length(); - - if (numDigits == 0) { - // wordRelation = null; - } else if (numDigits == 1) { - expandDigits(numberString, wordRelation); - } else if (numDigits == 2) { - expand2DigitNumber(numberString, wordRelation); - } else if (numDigits == 3) { - expand3DigitNumber(numberString, wordRelation); - } else if (numDigits < 7) { - expandBelow7DigitNumber(numberString, wordRelation); - } else if (numDigits < 10) { - expandBelow10DigitNumber(numberString, wordRelation); - } else if (numDigits < 13) { - expandBelow13DigitNumber(numberString, wordRelation); - } else { - expandDigits(numberString, wordRelation); - } - } - - /** - * Expands a two-digit string into a list of English words. - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - private static void expand2DigitNumber(String numberString, - WordRelation wordRelation) { - if (numberString.charAt(0) == '0') { - // numberString is "0X" - if (numberString.charAt(1) == '0') { - // numberString is "00", do nothing - } else { - // numberString is "01", "02" ... - String number = digit2num[numberString.charAt(1) - '0']; - wordRelation.addWord(number); - } - } else if (numberString.charAt(1) == '0') { - // numberString is "10", "20", ... - String number = digit2enty[numberString.charAt(0) - '0']; - wordRelation.addWord(number); - } else if (numberString.charAt(0) == '1') { - // numberString is "11", "12", ..., "19" - String number = digit2teen[numberString.charAt(1) - '0']; - wordRelation.addWord(number); - } else { - // numberString is "2X", "3X", ... - String enty = digit2enty[numberString.charAt(0) - '0']; - wordRelation.addWord(enty); - expandDigits(numberString.substring(1, numberString.length()), - wordRelation); - } - } - - /** - * Expands a three-digit string into a list of English words. - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - private static void expand3DigitNumber(String numberString, - WordRelation wordRelation) { - if (numberString.charAt(0) == '0') { - expandNumberAt(numberString, 1, wordRelation); - } else { - String hundredDigit = digit2num[numberString.charAt(0) - '0']; - wordRelation.addWord(hundredDigit); - wordRelation.addWord("hundred"); - expandNumberAt(numberString, 1, wordRelation); - } - } - - /** - * Expands a string that is a 4 to 6 digits number into a list of English - * words. For example, "333000" into "three hundred and thirty-three - * thousand". - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - private static void expandBelow7DigitNumber(String numberString, - WordRelation wordRelation) { - expandLargeNumber(numberString, "thousand", 3, wordRelation); - } - - /** - * Expands a string that is a 7 to 9 digits number into a list of English - * words. For example, "19000000" into nineteen million. - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - private static void expandBelow10DigitNumber(String numberString, - WordRelation wordRelation) { - expandLargeNumber(numberString, "million", 6, wordRelation); - } - - /** - * Expands a string that is a 10 to 12 digits number into a list of English - * words. For example, "27000000000" into twenty-seven billion. - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - private static void expandBelow13DigitNumber(String numberString, - WordRelation wordRelation) { - expandLargeNumber(numberString, "billion", 9, wordRelation); - } - - /** - * Expands a string that is a number longer than 3 digits into a list of - * English words. For example, "1000" into one thousand. - * - * @param numberString the string which is the number to expand - * @param order either "thousand", "million", or "billion" - * @param numberZeroes the number of zeroes, depending on the order, so its - * either 3, 6, or 9 - * @param wordRelation words are added to this Relation - */ - private static void expandLargeNumber(String numberString, String order, - int numberZeroes, WordRelation wordRelation) { - int numberDigits = numberString.length(); - - // parse out the prefix, e.g., "113" in "113,000" - int i = numberDigits - numberZeroes; - String part = numberString.substring(0, i); - - // get how many thousands/millions/billions - Item oldTail = wordRelation.getTail(); - expandNumber(part, wordRelation); - if (wordRelation.getTail() != oldTail) { - wordRelation.addWord(order); - } - expandNumberAt(numberString, i, wordRelation); - } - - /** - * Returns the number string list of the given string starting at the given - * index. E.g., expandNumberAt("1100", 1) gives "one hundred" - * - * @param numberString the string which is the number to expand - * @param startIndex the starting position - * @param wordRelation words are added to this Relation - */ - private static void expandNumberAt(String numberString, int startIndex, - WordRelation wordRelation) { - expandNumber( - numberString.substring(startIndex, numberString.length()), - wordRelation); - } - - /** - * Expands given token to list of words pronouncing it as digits - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - public static void expandDigits(String numberString, - WordRelation wordRelation) { - int numberDigits = numberString.length(); - for (int i = 0; i < numberDigits; i++) { - char digit = numberString.charAt(i); - if (Character.isDigit(digit)) { - wordRelation.addWord(digit2num[numberString.charAt(i) - '0']); - } else { - wordRelation.addWord("umpty"); - } - } - } - - /** - * Expands the digit string of an ordinal number. - * - * @param rawNumberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - public static void expandOrdinal(String rawNumberString, - WordRelation wordRelation) { - // remove all ','s from the raw number string - expandNumber(rawNumberString.replace(",", ""), wordRelation); - - // get the last in the list of number strings - Item lastItem = wordRelation.getTail(); - - if (lastItem != null) { - - FeatureSet featureSet = lastItem.getFeatures(); - String lastNumber = featureSet.getString("name"); - String ordinal = findMatchInArray(lastNumber, digit2num, ord2num); - - if (ordinal == null) { - ordinal = findMatchInArray(lastNumber, digit2teen, ord2teen); - } - if (ordinal == null) { - ordinal = findMatchInArray(lastNumber, digit2enty, ord2enty); - } - - if (lastNumber.equals("hundred")) { - ordinal = "hundredth"; - } else if (lastNumber.equals("thousand")) { - ordinal = "thousandth"; - } else if (lastNumber.equals("billion")) { - ordinal = "billionth"; - } - - // if there was an ordinal, set the last element of the list - // to that ordinal; otherwise, don't do anything - if (ordinal != null) { - wordRelation.setLastWord(ordinal); - } - } - } - - - public static void expandNumess(String rawString, WordRelation wordRelation) { - if (rawString.length() == 4) { - expand2DigitNumber(rawString.substring(0, 2), wordRelation); - expandNumess(rawString.substring(2), wordRelation); - } else { - wordRelation.addWord(digit2Numness[rawString.charAt(0) - '0']); - } - } - - /** - * Finds a match of the given string in the given array, and returns the - * element at the same index in the returnInArray - * - * @param strToMatch the string to match - * @param matchInArray the source array - * @param returnInArray the return array - * - * @return an element in returnInArray, or null if a match is - * not found - */ - private static String findMatchInArray(String strToMatch, - String[] matchInArray, String[] returnInArray) { - for (int i = 0; i < matchInArray.length; i++) { - if (strToMatch.equals(matchInArray[i])) { - if (i < returnInArray.length) { - return returnInArray[i]; - } else { - return null; - } - } - } - return null; - } - - /** - * Expands the given number string as pairs as in years or IDs - * - * @param numberString the string which is the number to expand - * @param wordRelation words are added to this Relation - */ - public static void expandID(String numberString, WordRelation wordRelation) { - - int numberDigits = numberString.length(); - - if ((numberDigits == 4) && (numberString.charAt(2) == '0') - && (numberString.charAt(3) == '0')) { - if (numberString.charAt(1) == '0') { // e.g. 2000, 3000 - expandNumber(numberString, wordRelation); - } else { - expandNumber(numberString.substring(0, 2), wordRelation); - wordRelation.addWord("hundred"); - } - } else if ((numberDigits == 2) && (numberString.charAt(0) == '0')) { - wordRelation.addWord("oh"); - expandDigits(numberString.substring(1, 2), wordRelation); - } else if ((numberDigits == 4 && numberString.charAt(1) == '0') - || numberDigits < 3) { - expandNumber(numberString, wordRelation); - } else if (numberDigits % 2 == 1) { - String firstDigit = digit2num[numberString.charAt(0) - '0']; - wordRelation.addWord(firstDigit); - expandID(numberString.substring(1, numberDigits), wordRelation); - } else { - expandNumber(numberString.substring(0, 2), wordRelation); - expandID(numberString.substring(2, numberDigits), wordRelation); - } - } - - /** - * Expands the given number string as a real number. - * - * @param numberString the string which is the real number to expand - * @param wordRelation words are added to this Relation - */ - public static void expandReal(String numberString, - WordRelation wordRelation) { - - int stringLength = numberString.length(); - int position; - - if (numberString.charAt(0) == '-') { - // negative real numbers - wordRelation.addWord("minus"); - expandReal(numberString.substring(1, stringLength), wordRelation); - } else if (numberString.charAt(0) == '+') { - // prefixed with a '+' - wordRelation.addWord("plus"); - expandReal(numberString.substring(1, stringLength), wordRelation); - } else if ((position = numberString.indexOf('e')) != -1 - || (position = numberString.indexOf('E')) != -1) { - // numbers with 'E' or 'e' - expandReal(numberString.substring(0, position), wordRelation); - wordRelation.addWord("e"); - expandReal(numberString.substring(position + 1), wordRelation); - } else if ((position = numberString.indexOf('.')) != -1) { - // numbers with '.' - String beforeDot = numberString.substring(0, position); - if (beforeDot.length() > 0) { - expandReal(beforeDot, wordRelation); - } - wordRelation.addWord("point"); - String afterDot = numberString.substring(position + 1); - if (afterDot.length() > 0) { - expandDigits(afterDot, wordRelation); - } - } else { - // everything else - expandNumber(numberString, wordRelation); - } - } - - /** - * Expands the given string of letters as a list of single char symbols. - * - * @param letters the string of letters to expand - * @param wordRelation words are added to this Relation - */ - public static void expandLetters(String letters, WordRelation wordRelation) { - letters = letters.toLowerCase(); - char c; - - for (int i = 0; i < letters.length(); i++) { - // if this is a number - c = letters.charAt(i); - if (Character.isDigit(c)) { - wordRelation.addWord(digit2num[c - '0']); - } else if (letters.equals("a")) { - wordRelation.addWord("_a"); - } else { - wordRelation.addWord(String.valueOf(c)); - } - } - } - - /** - * Returns the integer value of the given string of Roman numerals. - * - * @param roman the string of Roman numbers - * - * @return the integer value - */ - public static int expandRoman(String roman) { - int value = 0; - - for (int p = 0; p < roman.length(); p++) { - char c = roman.charAt(p); - if (c == 'X') { - value += 10; - } else if (c == 'V') { - value += 5; - } else if (c == 'I') { - if (p + 1 < roman.length()) { - char p1 = roman.charAt(p + 1); - if (p1 == 'V') { - value += 4; - p++; - } else if (p1 == 'X') { - value += 9; - p++; - } else { - value += 1; - } - } else { - value += 1; - } - } - } - return value; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PathExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PathExtractor.java deleted file mode 100755 index 9ee7a42e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PathExtractor.java +++ /dev/null @@ -1,264 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Interface that Manages a feature or item path. Allows navigation to the - * corresponding feature or item. This class in controlled by the following - * system properties: - * - *
- *   com.sun.speech.freetts.interpretCartPaths - default false
- *   com.sun.speech.freetts.lazyCartCompile - default true
- * 
- * - * com.sun.speech.freetts.interpretCartPaths - * - * Instances of this class will optionally pre-compile the paths. Pre-compiling - * paths reduces the processing time and objects needed to extract a feature or - * an item based upon a path. - */ -public class PathExtractor { - /** Logger instance. */ - private static final Logger LOGGER = Logger - .getLogger(PathExtractor.class.getName()); - - /** - * If this system property is set to true, paths will not be compiled. - */ - public final static String INTERPRET_PATHS_PROPERTY = - "com.sun.speech.freetts.interpretCartPaths"; - - /** - * If this system property is set to true, CART feature/item paths will - * only be compiled as needed. - */ - public final static String LAZY_COMPILE_PROPERTY = - "com.sun.speech.freetts.lazyCartCompile"; - - private final static boolean INTERPRET_PATHS = System.getProperty( - INTERPRET_PATHS_PROPERTY, "false").equals("true"); - private final static boolean LAZY_COMPILE = System.getProperty( - LAZY_COMPILE_PROPERTY, "true").equals("true"); - - private String pathAndFeature; - private String path; - private String feature; - private Object[] compiledPath; - - /** - * Creates a path for the given feature. - * @param pathAndFeature string to use - * @param wantFeature do we need features - */ - public PathExtractor(String pathAndFeature, boolean wantFeature) { - this.pathAndFeature = pathAndFeature; - if (INTERPRET_PATHS) { - path = pathAndFeature; - return; - } - - if (wantFeature) { - int lastDot = pathAndFeature.lastIndexOf("."); - // string can be of the form "p.feature" or just "feature" - - if (lastDot == -1) { - feature = pathAndFeature; - path = null; - } else { - feature = pathAndFeature.substring(lastDot + 1); - path = pathAndFeature.substring(0, lastDot); - } - } else { - this.path = pathAndFeature; - } - - if (!LAZY_COMPILE) { - compiledPath = compile(path); - } - } - - /** - * Finds the item associated with this Path. - * - * @param item the item to start at - * @return the item associated with the path or null - */ - public Item findItem(Item item) { - - if (INTERPRET_PATHS) { - return item.findItem(path); - } - - if (compiledPath == null) { - compiledPath = compile(path); - } - - Item pitem = item; - - for (int i = 0; pitem != null && i < compiledPath.length;) { - OpEnum op = (OpEnum) compiledPath[i++]; - if (op == OpEnum.NEXT) { - pitem = pitem.getNext(); - } else if (op == OpEnum.PREV) { - pitem = pitem.getPrevious(); - } else if (op == OpEnum.NEXT_NEXT) { - pitem = pitem.getNext(); - if (pitem != null) { - pitem = pitem.getNext(); - } - } else if (op == OpEnum.PREV_PREV) { - pitem = pitem.getPrevious(); - if (pitem != null) { - pitem = pitem.getPrevious(); - } - } else if (op == OpEnum.PARENT) { - pitem = pitem.getParent(); - } else if (op == OpEnum.DAUGHTER) { - pitem = pitem.getDaughter(); - } else if (op == OpEnum.LAST_DAUGHTER) { - pitem = pitem.getLastDaughter(); - } else if (op == OpEnum.RELATION) { - String relationName = (String) compiledPath[i++]; - pitem = - pitem.getSharedContents() - .getItemRelation(relationName); - } else { - System.out.println("findItem: bad feature " + op + " in " - + path); - } - } - return pitem; - } - - /** - * Finds the feature associated with this Path. - * - * @param item the item to start at - * @return the feature associated or "0" if the feature was not found. - */ - public Object findFeature(Item item) { - - if (INTERPRET_PATHS) { - return item.findFeature(path); - } - - Item pitem = findItem(item); - Object results = null; - if (pitem != null) { - if (LOGGER.isLoggable(Level.FINER)) { - LOGGER.finer("findFeature: Item [" + pitem + "], feature '" - + feature + "'"); - } - results = pitem.getFeatures().getObject(feature); - } - - results = (results == null) ? "0" : results; - if (LOGGER.isLoggable(Level.FINER)) { - LOGGER.finer("findFeature: ...results = '" + results + "'"); - } - return results; - } - - /** - * Compiles the given path into the compiled form - * - * @param path the path to compile - * @return the compiled form which is in the form of an array path - * traversal enums and associated strings - */ - private Object[] compile(String path) { - if (path == null) { - return new Object[0]; - } - - List list = new ArrayList(); - StringTokenizer tok = new StringTokenizer(path, ":."); - - while (tok.hasMoreTokens()) { - String token = tok.nextToken(); - OpEnum op = OpEnum.getInstance(token); - if (op == null) { - throw new Error("Bad path compiled " + path); - } - - list.add(op); - - if (op == OpEnum.RELATION) { - list.add(tok.nextToken()); - } - } - return list.toArray(); - } - - // inherited for Object - - public String toString() { - return pathAndFeature; - } - - // TODO: add these to the interface should we support binary - // files - /* - * public void writeBinary(); public void readBinary(); - */ -} - - -/** - * An enumerated type associated with path operations. - */ -class OpEnum { - static private Map map = new HashMap(); - - public final static OpEnum NEXT = new OpEnum("n"); - public final static OpEnum PREV = new OpEnum("p"); - public final static OpEnum NEXT_NEXT = new OpEnum("nn"); - public final static OpEnum PREV_PREV = new OpEnum("pp"); - public final static OpEnum PARENT = new OpEnum("parent"); - public final static OpEnum DAUGHTER = new OpEnum("daughter"); - public final static OpEnum LAST_DAUGHTER = new OpEnum("daughtern"); - public final static OpEnum RELATION = new OpEnum("R"); - - private String name; - - /** - * Creates a new OpEnum.. There is a limited set of OpEnums - * - * @param name the path name for this Enum - */ - private OpEnum(String name) { - this.name = name; - map.put(name, this); - } - - /** - * gets an OpEnum thats associated with the given name. - * - * @param name the name of the OpEnum of interest - */ - public static OpEnum getInstance(String name) { - return (OpEnum) map.get(name); - } - - // inherited from Object - public String toString() { - return name; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PrefixFSM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PrefixFSM.java deleted file mode 100755 index 6feea078..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PrefixFSM.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.io.IOException; -import java.net.URL; - -/** - * Implements a finite state machine that checks if a given string is a prefix. - */ -public class PrefixFSM extends PronounceableFSM { - - /** - * Constructs a PrefixFSM. - * @param url of the fsm - * @throws IOException if load failed - */ - public PrefixFSM(URL url) throws IOException { - super(url, true); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PronounceableFSM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PronounceableFSM.java deleted file mode 100755 index 6c1e1fb3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/PronounceableFSM.java +++ /dev/null @@ -1,172 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.StringTokenizer; - -/** - * Implements a finite state machine that checks if a given string is - * pronounceable. If it is pronounceable, the method accept() will - * return true. - */ -public class PronounceableFSM { - - private static final String VOCAB_SIZE = "VOCAB_SIZE"; - private static final String NUM_OF_TRANSITIONS = "NUM_OF_TRANSITIONS"; - private static final String TRANSITIONS = "TRANSITIONS"; - - /** - * The vocabulary size. - */ - protected int vocabularySize; - - /** - * The transitions of this FSM - */ - protected int[] transitions; - - /** - * Whether we should scan the input string from the front. - */ - protected boolean scanFromFront; - - /** - * Constructs a PronounceableFSM with information in the given URL. - * - * @param url the URL that contains the FSM specification - * @param scanFromFront indicates whether this FSM should scan the input - * string from the front, or from the back - * @throws IOException if something went wrong - */ - public PronounceableFSM(URL url, boolean scanFromFront) throws IOException { - this.scanFromFront = scanFromFront; - InputStream is = url.openStream(); - loadText(is); - is.close(); - } - - /** - * Constructs a PronounceableFSM with the given attributes. - * - * @param vocabularySize the vocabulary size of the FSM - * @param transitions the transitions of the FSM - * @param scanFromFront indicates whether this FSM should scan the input - * string from the front, or from the back - */ - public PronounceableFSM(int vocabularySize, int[] transitions, - boolean scanFromFront) { - this.vocabularySize = vocabularySize; - this.transitions = transitions; - this.scanFromFront = scanFromFront; - } - - /** - * Loads the ASCII specification of this FSM from the given InputStream. - * - * @param is the input stream to load from - * - * @throws IOException if an error occurs on input. - */ - private void loadText(InputStream is) throws IOException { - BufferedReader reader = new BufferedReader(new InputStreamReader(is)); - String line = null; - while ((line = reader.readLine()) != null) { - if (!line.startsWith("***")) { - if (line.startsWith(VOCAB_SIZE)) { - vocabularySize = parseLastInt(line); - } else if (line.startsWith(NUM_OF_TRANSITIONS)) { - int transitionsSize = parseLastInt(line); - transitions = new int[transitionsSize]; - } else if (line.startsWith(TRANSITIONS)) { - StringTokenizer st = new StringTokenizer(line); - String transition = st.nextToken(); - int i = 0; - while (st.hasMoreTokens() && i < transitions.length) { - transition = st.nextToken().trim(); - transitions[i++] = Integer.parseInt(transition); - } - } - } - } - reader.close(); - } - - /** - * Returns the integer value of the last integer in the given string. - * - * @param line the line to parse the integer from - * - * @return an integer - */ - private int parseLastInt(String line) { - String lastInt = line.trim().substring(line.lastIndexOf(" ")); - return Integer.parseInt(lastInt.trim()); - } - - /** - * Causes this FSM to transition to the next state given the current state - * and input symbol. - * - * @param state the current state - * @param symbol the input symbol - */ - private int transition(int state, int symbol) { - for (int i = state; i < transitions.length; i++) { - if ((transitions[i] % vocabularySize) == symbol) { - return (transitions[i] / vocabularySize); - } - } - return -1; - } - - /** - * Checks to see if this finite state machine accepts the given input - * string. - * - * @param inputString the input string to be tested - * - * @return true if this FSM accepts, false if it rejects - */ - public boolean accept(String inputString) { - int symbol; - int state = transition(0, '#'); - int leftEnd = inputString.length() - 1; - int start = (scanFromFront) ? 0 : leftEnd; - - for (int i = start; 0 <= i && i <= leftEnd;) { - char c = inputString.charAt(i); - if (c == 'n' || c == 'm') { - symbol = 'N'; - } else if ("aeiouy".indexOf(c) != -1) { - symbol = 'V'; - } else { - symbol = c; - } - state = transition(state, symbol); - if (state == -1) { - return false; - } else if (symbol == 'V') { - return true; - } - if (scanFromFront) { - i++; - } else { - i--; - } - } - return false; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Relation.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Relation.java deleted file mode 100755 index adcfc0b0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Relation.java +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import edu.cmu.sphinx.alignment.USEnglishTokenizer; - - - -/** - * Represents an ordered set of {@link Item}s and their associated children. A - * relation has a name and a list of items, and is added to an - * {@link Utterance} via an {@link USEnglishTokenizer}. - */ -public class Relation { - private String name; - private Utterance owner; - private Item head; - private Item tail; - - /** - * Name of the relation that contains tokens from the original input text. - * This is the first thing to be added to the utterance. - */ - public static final String TOKEN = "Token"; - - /** - * Name of the relation that contains the normalized version of the - * original input text. - */ - public static final String WORD = "Word"; - - /** - * Creates a relation. - * - * @param name the name of the Relation - * @param owner the utterance that contains this relation - */ - Relation(String name, Utterance owner) { - this.name = name; - this.owner = owner; - head = null; - tail = null; - } - - /** - * Retrieves the name of this Relation. - * - * @return the name of this Relation - */ - public String getName() { - return name; - } - - /** - * Gets the head of the item list. - * - * @return the head item - */ - public Item getHead() { - return head; - } - - /** - * Sets the head of the item list. - * - * @param item the new head item - */ - void setHead(Item item) { - head = item; - } - - /** - * Gets the tail of the item list. - * - * @return the tail item - */ - public Item getTail() { - return tail; - } - - /** - * Sets the tail of the item list. - * - * @param item the new tail item - */ - void setTail(Item item) { - tail = item; - } - - /** - * Adds a new item to this relation. The item added does not share its - * contents with any other item. - * - * @return the newly added item - */ - public Item appendItem() { - return appendItem(null); - } - - /** - * Adds a new item to this relation. The item added shares its contents - * with the original item. - * - * @param originalItem the ItemContents that will be shared by the new item - * - * @return the newly added item - */ - public Item appendItem(Item originalItem) { - ItemContents contents; - Item newItem; - - if (originalItem == null) { - contents = null; - } else { - contents = originalItem.getSharedContents(); - } - newItem = new Item(this, contents); - if (head == null) { - head = newItem; - } - - if (tail != null) { - tail.attach(newItem); - } - tail = newItem; - return newItem; - } - - /** - * Returns the utterance that contains this relation. - * - * @return the utterance that contains this relation - */ - public Utterance getUtterance() { - return owner; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/SuffixFSM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/SuffixFSM.java deleted file mode 100755 index 32b7972d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/SuffixFSM.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.io.IOException; -import java.net.URL; - -/** - * Implements a finite state machine that checks if a given string is a suffix. - */ -public class SuffixFSM extends PronounceableFSM { - - /** - * Constructs a SuffixFSM. - * @param url suffix of FSM - * @throws IOException if loading failed - */ - public SuffixFSM(URL url) throws IOException { - super(url, false); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Utterance.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Utterance.java deleted file mode 100755 index 3f28433c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/Utterance.java +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import java.util.Iterator; - -import edu.cmu.sphinx.alignment.Token; - -/** - * Holds all the data for an utterance to be spoken. It is incrementally - * modified by various UtteranceProcessor implementations. An utterance - * contains a set of Features (essential a set of properties) and a set of - * Relations. A Relation is an ordered set of Item graphs. The utterance - * contains a set of features and implements FeatureSet so that applications - * can set/get features directly from the utterance. If a feature query is not - * found in the utterance feature set, the query is forwarded to the FeatureSet - * of the voice associated with the utterance. - */ -public class Utterance { - private FeatureSet features; - private FeatureSet relations; - - /** - * Creates an utterance with the given set of tokenized text. - * - * @param tokenizer tokenizer to use for utterance. - */ - public Utterance(CharTokenizer tokenizer) { - features = new FeatureSet(); - relations = new FeatureSet(); - setTokenList(tokenizer); - } - - /** - * Creates a new relation with the given name and adds it to this - * utterance. - * - * @param name the name of the new relation - * - * @return the newly created relation - */ - public Relation createRelation(String name) { - Relation relation = new Relation(name, this); - relations.setObject(name, relation); - return relation; - } - - /** - * Retrieves a relation from this utterance. - * - * @param name the name of the Relation - * - * @return the relation or null if the relation is not found - */ - public Relation getRelation(String name) { - return (Relation) relations.getObject(name); - } - - /** - * Determines if this utterance contains a relation with the given name. - * - * @param name the name of the relation of interest. - * @return if relation is present - */ - public boolean hasRelation(String name) { - return relations.isPresent(name); - } - - /** - * Removes the named feature from this set of features. - * - * @param name the name of the feature of interest - */ - public void remove(String name) { - features.remove(name); - } - - /** - * Convenience method that sets the named feature as an int. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setInt(String name, int value) { - features.setInt(name, value); - } - - /** - * Convenience method that sets the named feature as a float. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setFloat(String name, float value) { - features.setFloat(name, value); - } - - /** - * Convenience method that sets the named feature as a String. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setString(String name, String value) { - features.setString(name, value); - } - - /** - * Sets the named feature. - * - * @param name the name of the feature - * @param value the value of the feature - */ - public void setObject(String name, Object value) { - features.setObject(name, value); - } - - /** - * Returns the Item in the given Relation associated with the given time. - * - * @param relation the name of the relation - * @param time the time - * @return the item - */ - public Item getItem(String relation, float time) { - Relation segmentRelation = null; - String pathName = null; - - if (relation.equals(Relation.WORD)) { - pathName = "R:SylStructure.parent.parent.R:Word"; - } else if (relation.equals(Relation.TOKEN)) { - pathName = "R:SylStructure.parent.parent.R:Token.parent"; - } else { - throw new IllegalArgumentException( - "Utterance.getItem(): relation cannot be " + relation); - } - - PathExtractor path = new PathExtractor(pathName, false); - - // get the Item in the Segment Relation with the given time - Item segmentItem = getItem(segmentRelation, time); - - if (segmentItem != null) { - return path.findItem(segmentItem); - } else { - return null; - } - } - - private static Item getItem(Relation segmentRelation, float time) { - Item lastSegment = segmentRelation.getTail(); - // If given time is closer to the front than the end, search from - // the front; otherwise, start search from end - // this might not be the best strategy though. - float lastSegmentEndTime = getSegmentEnd(lastSegment); - if (time < 0 || lastSegmentEndTime < time) { - return null; - } else if (lastSegmentEndTime - time > time) { - return findFromFront(segmentRelation, time); - } else { - return findFromEnd(segmentRelation, time); - } - } - - private static Item findFromEnd(Relation segmentRelation, float time) { - Item item = segmentRelation.getTail(); - while (item != null && getSegmentEnd(item) > time) { - item = item.getPrevious(); - } - - if (item != segmentRelation.getTail()) { - item = item.getNext(); - } - - return item; - } - - private static Item findFromFront(Relation segmentRelation, float time) { - Item item = segmentRelation.getHead(); - while (item != null && time > getSegmentEnd(item)) { - item = item.getNext(); - } - return item; - } - - private static float getSegmentEnd(Item segment) { - FeatureSet segmentFeatureSet = segment.getFeatures(); - return segmentFeatureSet.getFloat("end"); - } - - /** - * Sets the token list for this utterance. Note that this could be - * optimized by turning the token list directly into the token relation. - * - * @param tokenList the tokenList - * - */ - private void setTokenList(Iterator tokenizer) { - Relation relation = createRelation(Relation.TOKEN); - while (tokenizer.hasNext()) { - Token token = tokenizer.next(); - String tokenWord = token.getWord(); - - if (tokenWord != null && tokenWord.length() > 0) { - Item item = relation.appendItem(); - - FeatureSet featureSet = item.getFeatures(); - featureSet.setString("name", tokenWord); - featureSet.setString("whitespace", token.getWhitespace()); - featureSet.setString("prepunctuation", - token.getPrepunctuation()); - featureSet.setString("punc", token.getPostpunctuation()); - featureSet.setString("file_pos", - String.valueOf(token.getPosition())); - featureSet.setString("line_number", - String.valueOf(token.getLineNumber())); - - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/WordRelation.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/WordRelation.java deleted file mode 100755 index dbedf40b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/alignment/tokenizer/WordRelation.java +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Portions Copyright 2001 Sun Microsystems, Inc. - * Portions Copyright 1999-2001 Language Technologies Institute, - * Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.alignment.tokenizer; - -import edu.cmu.sphinx.alignment.USEnglishTokenizer; - -/** - * Helper class to add words and breaks into a Relation object. - */ -public class WordRelation { - - private Relation relation; - private USEnglishTokenizer tokenToWords; - - private WordRelation(Relation parentRelation, USEnglishTokenizer tokenToWords) { - this.relation = parentRelation; - this.tokenToWords = tokenToWords; - } - - /** - * Creates a WordRelation object with the given utterance and TokenToWords. - * - * @param utterance the Utterance from which to create a Relation - * @param tokenToWords the TokenToWords object to use - * - * @return a WordRelation object - */ - public static WordRelation createWordRelation(Utterance utterance, - USEnglishTokenizer tokenToWords) { - Relation relation = utterance.createRelation(Relation.WORD); - return new WordRelation(relation, tokenToWords); - } - - /** - * Adds a break as a feature to the last item in the list. - */ - public void addBreak() { - Item wordItem = (Item) relation.getTail(); - if (wordItem != null) { - FeatureSet featureSet = wordItem.getFeatures(); - featureSet.setString("break", "1"); - } - } - - /** - * Adds a word as an Item to this WordRelation object. - * - * @param word the word to add - */ - public void addWord(String word) { - Item tokenItem = tokenToWords.getTokenItem(); - Item wordItem = tokenItem.createDaughter(); - FeatureSet featureSet = wordItem.getFeatures(); - featureSet.setString("name", word); - relation.appendItem(wordItem); - } - - /** - * Sets the last Item in this WordRelation to the given word. - * - * @param word the word to set - */ - public void setLastWord(String word) { - Item lastItem = relation.getTail(); - FeatureSet featureSet = lastItem.getFeatures(); - featureSet.setString("name", word); - } - - /** - * Returns the last item in this WordRelation. - * - * @return the last item - */ - public Item getTail() { - return relation.getTail(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/AbstractSpeechRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/AbstractSpeechRecognizer.java deleted file mode 100755 index b369dc29..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/AbstractSpeechRecognizer.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import java.io.IOException; - -import edu.cmu.sphinx.decoder.adaptation.ClusteredDensityFileData; -import edu.cmu.sphinx.decoder.adaptation.Stats; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; - - -/** - * Base class for high-level speech recognizers. - */ -public class AbstractSpeechRecognizer { - - protected final Context context; - protected final Recognizer recognizer; - - protected ClusteredDensityFileData clusters; - - protected final SpeechSourceProvider speechSourceProvider; - - /** - * Constructs recognizer object using provided configuration. - * @param configuration initial configuration - * @throws IOException if IO went wrong - */ - public AbstractSpeechRecognizer(Configuration configuration) - throws IOException - { - this(new Context(configuration)); - } - - protected AbstractSpeechRecognizer(Context context) throws IOException { - this.context = context; - recognizer = context.getInstance(Recognizer.class); - speechSourceProvider = new SpeechSourceProvider(); - } - - /** - * Returns result of the recognition. - * - * @return recognition result or {@code null} if there is no result, e.g., because the - * microphone or input stream has been closed - */ - public SpeechResult getResult() { - Result result = recognizer.recognize(); - return null == result ? null : new SpeechResult(result); - } - - public Stats createStats(int numClasses) { - clusters = new ClusteredDensityFileData(context.getLoader(), numClasses); - return new Stats(context.getLoader(), clusters); - } - - public void setTransform(Transform transform) { - if (clusters != null) { - context.getLoader().update(transform, clusters); - } - } - - public void loadTransform(String path, int numClass) throws Exception { - clusters = new ClusteredDensityFileData(context.getLoader(), numClass); - Transform transform = new Transform((Sphinx3Loader)context.getLoader(), numClass); - transform.load(path); - context.getLoader().update(transform, clusters); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Configuration.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Configuration.java deleted file mode 100755 index bd6ccf21..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Configuration.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - - -/** - * Represents common configuration options. - * - * This configuration is used by high-level recognition classes. - * - * @see SpeechAligner - * @see LiveSpeechRecognizer - * @see StreamSpeechRecognizer - */ -public class Configuration { - - private String acousticModelPath; - private String dictionaryPath; - private String languageModelPath; - private String grammarPath; - private String grammarName; - - private int sampleRate = 16000; - private boolean useGrammar = false; - - /** - * @return path to acoustic model - */ - public String getAcousticModelPath() { - return acousticModelPath; - } - - /** - * Sets path to acoustic model. - * @param acousticModelPath URL of the acoustic model - */ - public void setAcousticModelPath(String acousticModelPath) { - this.acousticModelPath = acousticModelPath; - } - - /** - * @return path to dictionary. - */ - public String getDictionaryPath() { - return dictionaryPath; - } - - /** - * Sets path to dictionary. - * @param dictionaryPath URL of the dictionary - */ - public void setDictionaryPath(String dictionaryPath) { - this.dictionaryPath = dictionaryPath; - } - - /** - * @return path to the language model - */ - public String getLanguageModelPath() { - return languageModelPath; - } - - /** - * Sets paths to language model resource. - * @param languageModelPath URL of the language model - */ - public void setLanguageModelPath(String languageModelPath) { - this.languageModelPath = languageModelPath; - } - - /** - * @return grammar path - */ - public String getGrammarPath() { - return grammarPath; - } - - /** - * Sets path to grammar resources. - * @param grammarPath URL of the grammar - */ - public void setGrammarPath(String grammarPath) { - this.grammarPath = grammarPath; - } - - /** - * @return grammar name - */ - public String getGrammarName() { - return grammarName; - } - - /** - * Sets grammar name if fixed grammar is used. - * @param grammarName of the grammar - */ - public void setGrammarName(String grammarName) { - this.grammarName = grammarName; - } - - /** - * @return whether fixed grammar should be used instead of language model. - */ - public boolean getUseGrammar() { - return useGrammar; - } - - /** - * Sets whether fixed grammar should be used instead of language model. - * @param useGrammar to use grammar or language model - */ - public void setUseGrammar(boolean useGrammar) { - this.useGrammar = useGrammar; - } - - /** - * @return the configured sample rate. - */ - public int getSampleRate() { - return sampleRate; - } - - /** - * Sets sample rate for the input stream. - * @param sampleRate sample rate in Hertz - */ - public void setSampleRate(int sampleRate) { - this.sampleRate = sampleRate; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Context.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Context.java deleted file mode 100755 index 126de61f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Context.java +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import static edu.cmu.sphinx.util.props.ConfigurationManagerUtils.resourceToURL; -import static edu.cmu.sphinx.util.props.ConfigurationManagerUtils.setProperty; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; - -import edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank2; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.util.TimeFrame; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; - - -/** - * Helps to tweak configuration without touching XML-file directly. - */ -public class Context { - - private final ConfigurationManager configurationManager; - - /** - * Constructs builder that uses default XML configuration. - * @param config configuration - * @throws MalformedURLException if failed to load configuration file - */ - public Context(Configuration config) - throws IOException, MalformedURLException - { - this("resource:/edu/cmu/sphinx/api/default.config.xml", config); - } - - /** - * Constructs builder using user-supplied XML configuration. - * - * @param path path to XML-resource with configuration - * @param config configuration - * @throws MalformedURLException if failed to load configuration file - * @throws IOException if failed to load configuration file - */ - public Context(String path, Configuration config) - throws IOException, MalformedURLException - { - configurationManager = new ConfigurationManager(resourceToURL(path)); - - setAcousticModel(config.getAcousticModelPath()); - setDictionary(config.getDictionaryPath()); - - if (null != config.getGrammarPath() && config.getUseGrammar()) - setGrammar(config.getGrammarPath(), config.getGrammarName()); - if (null != config.getLanguageModelPath() && !config.getUseGrammar()) - setLanguageModel(config.getLanguageModelPath()); - - setSampleRate(config.getSampleRate()); - - // Force ConfigurationManager to build the whole graph - // in order to enable instance lookup by class. - configurationManager.lookup("recognizer"); - } - - /** - * Sets acoustic model location. - * - * It also reads feat.params which should be located at the root of - * acoustic model and sets corresponding parameters of - * {@link MelFrequencyFilterBank2} instance. - * - * @param path path to directory with acoustic model files - * - * @throws IOException if failed to read feat.params - */ - public void setAcousticModel(String path) throws IOException { - setLocalProperty("acousticModelLoader->location", path); - setLocalProperty("dictionary->fillerPath", path + "/noisedict"); - } - - /** - * Sets dictionary. - * - * @param path path to directory with dictionary files - */ - public void setDictionary(String path) { - setLocalProperty("dictionary->dictionaryPath", path); - } - - /** - * Sets sampleRate. - * - * @param sampleRate sample rate of the input stream. - */ - public void setSampleRate(int sampleRate) { - setLocalProperty("dataSource->sampleRate", Integer.toString(sampleRate)); - } - - /** - * Sets path to the grammar files. - * - * Enables static grammar and disables probabilistic language model. - * JSGF and GrXML formats are supported. - * - * @param path path to the grammar files - * @param name name of the main grammar to use - * @see Context#setLanguageModel(String) - */ - public void setGrammar(String path, String name) { - // TODO: use a single param of type File, cache directory part - if (name.endsWith(".grxml")) { - setLocalProperty("grXmlGrammar->grammarLocation", path + name); - setLocalProperty("flatLinguist->grammar", "grXmlGrammar"); - } else { - setLocalProperty("jsgfGrammar->grammarLocation", path); - setLocalProperty("jsgfGrammar->grammarName", name); - setLocalProperty("flatLinguist->grammar", "jsgfGrammar"); - } - setLocalProperty("decoder->searchManager", "simpleSearchManager"); - } - - /** - * Sets path to the language model. - * - * Enables probabilistic language model and disables static grammar. - * Currently it supports ".lm" and ".dmp" file formats. - * - * @param path path to the language model file - * @see Context#setGrammar(String, String) - * - * @throws IllegalArgumentException if path ends with unsupported extension - */ - public void setLanguageModel(String path) { - if (path.endsWith(".lm")) { - setLocalProperty("simpleNGramModel->location", path); - setLocalProperty( - "lexTreeLinguist->languageModel", "simpleNGramModel"); - } else if (path.endsWith(".dmp")) { - setLocalProperty("largeTrigramModel->location", path); - setLocalProperty( - "lexTreeLinguist->languageModel", "largeTrigramModel"); - } else { - throw new IllegalArgumentException( - "Unknown format extension: " + path); - } - //search manager for LVCSR is set by deafult - } - - - public void setSpeechSource(InputStream stream, TimeFrame timeFrame) { - getInstance(StreamDataSource.class).setInputStream(stream, timeFrame); - setLocalProperty("trivialScorer->frontend", "liveFrontEnd"); - } - - /** - * Sets byte stream as the speech source. - * - * @param stream stream to process - */ - public void setSpeechSource(InputStream stream) { - getInstance(StreamDataSource.class).setInputStream(stream); - setLocalProperty("trivialScorer->frontend", "liveFrontEnd"); - } - - /** - * Sets property within a "component" tag in configuration. - * - * Use this method to alter "value" property of a "property" tag inside a - * "component" tag of the XML configuration. - * - * @param name property name - * @param value property value - * @see Context#setGlobalProperty(String, Object) - */ - public void setLocalProperty(String name, Object value) { - setProperty(configurationManager, name, value.toString()); - } - - /** - * Sets property of a top-level "property" tag. - * - * Use this method to alter "value" property of a "property" tag whose - * parent is the root tag "config" of the XML configuration. - * - * @param name property name - * @param value property value - * @see Context#setLocalProperty(String, Object) - */ - public void setGlobalProperty(String name, Object value) { - configurationManager.setGlobalProperty(name, value.toString()); - } - - /** - * Returns instance of the XML configuration by its class. - * - * @param clazz class to look up - * @param generic - * @return instance of the specified class or null - */ - public C getInstance(Class clazz) { - return configurationManager.lookup(clazz); - } - - /** - * Returns the Loader object used for loading the acoustic model. - * - * @return the loader object - */ - public Loader getLoader(){ - return (Loader) configurationManager.lookup("acousticModelLoader"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/LiveSpeechRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/LiveSpeechRecognizer.java deleted file mode 100755 index d492deda..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/LiveSpeechRecognizer.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import java.io.IOException; - -import edu.cmu.sphinx.frontend.util.StreamDataSource; - - -/** - * High-level class for live speech recognition. - */ -public class LiveSpeechRecognizer extends AbstractSpeechRecognizer { - - private final Microphone microphone; - - /** - * Constructs new live recognition object. - * - * @param configuration common configuration - * @throws IOException if model IO went wrong - */ - public LiveSpeechRecognizer(Configuration configuration) throws IOException - { - super(configuration); - microphone = speechSourceProvider.getMicrophone(); - context.getInstance(StreamDataSource.class) - .setInputStream(microphone.getStream()); - } - - /** - * Starts recognition process. - * - * @param clear clear cached microphone data - * @see LiveSpeechRecognizer#stopRecognition() - */ - public void startRecognition(boolean clear) { - recognizer.allocate(); - microphone.startRecording(); - } - - /** - * Stops recognition process. - * - * Recognition process is paused until the next call to startRecognition. - * - * @see LiveSpeechRecognizer#startRecognition(boolean) - */ - public void stopRecognition() { - microphone.stopRecording(); - recognizer.deallocate(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Microphone.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Microphone.java deleted file mode 100755 index 9301b50a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/Microphone.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.api; - -import java.io.InputStream; - -import javax.sound.sampled.*; - -/** - * InputStream adapter - */ -public class Microphone { - - private final TargetDataLine line; - private final InputStream inputStream; - - public Microphone( - float sampleRate, - int sampleSize, - boolean signed, - boolean bigEndian) { - AudioFormat format = - new AudioFormat(sampleRate, sampleSize, 1, signed, bigEndian); - try { - line = AudioSystem.getTargetDataLine(format); - line.open(); - } catch (LineUnavailableException e) { - throw new IllegalStateException(e); - } - inputStream = new AudioInputStream(line); - } - - public void startRecording() { - line.start(); - } - - public void stopRecording() { - line.stop(); - } - - public InputStream getStream() { - return inputStream; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechAligner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechAligner.java deleted file mode 100755 index c0ecf77a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechAligner.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright 2014 Alpha Cephei Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Queue; -import java.util.TreeMap; -import java.util.logging.Logger; - -import edu.cmu.sphinx.alignment.LongTextAligner; -import edu.cmu.sphinx.alignment.SimpleTokenizer; -import edu.cmu.sphinx.alignment.TextTokenizer; -import edu.cmu.sphinx.linguist.language.grammar.AlignerGrammar; -import edu.cmu.sphinx.linguist.language.ngram.DynamicTrigramModel; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.result.WordResult; -import edu.cmu.sphinx.util.Range; -import edu.cmu.sphinx.util.TimeFrame; - -public class SpeechAligner { - private final Logger logger = Logger.getLogger(getClass().getSimpleName()); - - private static final int TUPLE_SIZE = 3; - - private final Context context; - private final Recognizer recognizer; - private final AlignerGrammar grammar; - private final DynamicTrigramModel languageModel; - - private TextTokenizer tokenizer; - - public SpeechAligner(String amPath, String dictPath, String g2pPath) throws MalformedURLException, IOException { - Configuration configuration = new Configuration(); - configuration.setAcousticModelPath(amPath); - configuration.setDictionaryPath(dictPath); - - context = new Context(configuration); - if (g2pPath != null) { - context.setLocalProperty("dictionary->g2pModelPath", g2pPath); - context.setLocalProperty("dictionary->g2pMaxPron", "2"); - } - context.setLocalProperty("lexTreeLinguist->languageModel", "dynamicTrigramModel"); - recognizer = context.getInstance(Recognizer.class); - grammar = context.getInstance(AlignerGrammar.class); - languageModel = context.getInstance(DynamicTrigramModel.class); - setTokenizer(new SimpleTokenizer()); - } - - public List align(URL audioUrl, String transcript) throws IOException { - return align(audioUrl, getTokenizer().expand(transcript)); - } - - /** - * Align audio to sentence transcript - * - * @param audioUrl audio file URL to process - * @param sentenceTranscript cleaned transcript - * @return List of aligned words with timings - * @throws IOException if IO went wrong - */ - public List align(URL audioUrl, List sentenceTranscript) throws IOException { - - List transcript = sentenceToWords(sentenceTranscript); - - LongTextAligner aligner = new LongTextAligner(transcript, TUPLE_SIZE); - Map alignedWords = new TreeMap(); - Queue ranges = new LinkedList(); - Queue> texts = new ArrayDeque>(); - Queue timeFrames = new ArrayDeque(); - - ranges.offer(new Range(0, transcript.size())); - texts.offer(transcript); - TimeFrame totalTimeFrame = TimeFrame.INFINITE; - timeFrames.offer(totalTimeFrame); - long lastFrame = TimeFrame.INFINITE.getEnd(); - - languageModel.setText(sentenceTranscript); - - for (int i = 0; i < 4; ++i) { - if (i == 1) { - context.setLocalProperty("decoder->searchManager", "alignerSearchManager"); - } - - while (!texts.isEmpty()) { - assert texts.size() == ranges.size(); - assert texts.size() == timeFrames.size(); - - List text = texts.poll(); - TimeFrame frame = timeFrames.poll(); - Range range = ranges.poll(); - - - logger.info("Aligning frame " + frame + " to text " + text + " range " + range); - - recognizer.allocate(); - - if (i >= 1) { - grammar.setWords(text); - } - - context.setSpeechSource(audioUrl.openStream(), frame); - - List hypothesis = new ArrayList(); - Result result; - while (null != (result = recognizer.recognize())) { - logger.info("Utterance result " + result.getTimedBestResult(true)); - hypothesis.addAll(result.getTimedBestResult(false)); - } - - if (i == 0) { - if (hypothesis.size() > 0) { - lastFrame = hypothesis.get(hypothesis.size() - 1).getTimeFrame().getEnd(); - } - } - - List words = new ArrayList(); - for (WordResult wr : hypothesis) { - words.add(wr.getWord().getSpelling()); - } - int[] alignment = aligner.align(words, range); - - List results = hypothesis; - - logger.info("Decoding result is " + results); - - // dumpAlignment(transcript, alignment, results); - dumpAlignmentStats(transcript, alignment, results); - - for (int j = 0; j < alignment.length; j++) { - if (alignment[j] != -1) { - alignedWords.put(alignment[j], hypothesis.get(j)); - } - } - - recognizer.deallocate(); - } - - scheduleNextAlignment(transcript, alignedWords, ranges, texts, timeFrames, lastFrame); - } - - return new ArrayList(alignedWords.values()); - } - - public List sentenceToWords(List sentenceTranscript) { - ArrayList transcript = new ArrayList(); - for (String sentence : sentenceTranscript) { - String[] words = sentence.split("\\s+"); - for (String word : words) { - if (word.length() > 0) - transcript.add(word); - } - } - return transcript; - } - - private void dumpAlignmentStats(List transcript, int[] alignment, List results) { - int insertions = 0; - int deletions = 0; - int size = transcript.size(); - - int[] aid = alignment; - int lastId = -1; - for (int ij = 0; ij < aid.length; ++ij) { - if (aid[ij] == -1) { - insertions++; - } else { - if (aid[ij] - lastId > 1) { - deletions += aid[ij] - lastId; - } - lastId = aid[ij]; - } - } - - if (lastId >= 0 && transcript.size() - lastId > 1) { - deletions += transcript.size() - lastId; - } - logger.info(String.format("Size %d deletions %d insertions %d error rate %.2f", size, insertions, deletions, - (insertions + deletions) / ((float) size) * 100f)); - } - - private void scheduleNextAlignment(List transcript, Map alignedWords, Queue ranges, - Queue> texts, Queue timeFrames, long lastFrame) { - int prevKey = 0; - long prevStart = 0; - for (Map.Entry e : alignedWords.entrySet()) { - if (e.getKey() - prevKey > 1) { - checkedOffer(transcript, texts, timeFrames, ranges, prevKey, e.getKey() + 1, prevStart, e.getValue() - .getTimeFrame().getEnd()); - } - prevKey = e.getKey(); - prevStart = e.getValue().getTimeFrame().getStart(); - } - if (transcript.size() - prevKey > 1) { - checkedOffer(transcript, texts, timeFrames, ranges, prevKey, transcript.size(), prevStart, lastFrame); - } - } - - public void dumpAlignment(List transcript, int[] alignment, List results) { - logger.info("Alignment"); - int[] aid = alignment; - int lastId = -1; - for (int ij = 0; ij < aid.length; ++ij) { - if (aid[ij] == -1) { - logger.info(String.format("+ %s", results.get(ij))); - } else { - if (aid[ij] - lastId > 1) { - for (String result1 : transcript.subList(lastId + 1, aid[ij])) { - logger.info(String.format("- %-25s", result1)); - } - } else { - logger.info(String.format(" %-25s", transcript.get(aid[ij]))); - } - lastId = aid[ij]; - } - } - - if (lastId >= 0 && transcript.size() - lastId > 1) { - for (String result1 : transcript.subList(lastId + 1, transcript.size())) { - logger.info(String.format("- %-25s", result1)); - } - } - } - - private void checkedOffer(List transcript, Queue> texts, Queue timeFrames, - Queue ranges, int start, int end, long timeStart, long timeEnd) { - - double wordDensity = ((double) (timeEnd - timeStart)) / (end - start); - - // Skip range if it's too short, average word is less than 10 - // milliseconds - if (wordDensity < 10.0 && (end - start) > 3) { - logger.info("Skipping text range due to a high density " + transcript.subList(start, end).toString()); - return; - } - - texts.offer(transcript.subList(start, end)); - timeFrames.offer(new TimeFrame(timeStart, timeEnd)); - ranges.offer(new Range(start, end - 1)); - } - - public TextTokenizer getTokenizer() { - return tokenizer; - } - - public void setTokenizer(TextTokenizer wordExpander) { - this.tokenizer = wordExpander; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechResult.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechResult.java deleted file mode 100755 index 2c32b9a9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechResult.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import java.util.Collection; -import java.util.HashSet; -import java.util.List; - -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.*; - - -/** - * High-level wrapper for {@link Result} instance. - */ -public final class SpeechResult { - - private final Result result; - private final Lattice lattice; - - /** - * Constructs recognition result based on {@link Result} object. - * - * @param result recognition result returned by {@link Recognizer} - */ - public SpeechResult(Result result) { - this.result = result; - if (result.toCreateLattice()) { - lattice = new Lattice(result); - new LatticeOptimizer(lattice).optimize(); - lattice.computeNodePosteriors(1.0f); - } else - lattice = null; - } - - /** - * Returns {@link List} of words of the recognition result. - * Within the list words are ordered by time frame. - * - * @return words that form the result - */ - public List getWords() { - return lattice != null ? lattice.getWordResultPath() : result.getTimedBestResult(false); - } - - /** - * @return string representation of the result. - */ - public String getHypothesis() { - return result.getBestResultNoFiller(); - } - - /** - * Return N best hypothesis. - * - * @param n number of hypothesis to return - * @return {@link Collection} of several best hypothesis - */ - public Collection getNbest(int n) { - if (lattice == null) - return new HashSet(); - return new Nbest(lattice).getNbest(n); - } - - /** - * Returns lattice for the recognition result. - * - * @return lattice object - */ - public Lattice getLattice() { - return lattice; - } - - /** - * Return Result object of current SpeechResult - * - * @return Result object stored in this.result - */ - public Result getResult() { - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechSourceProvider.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechSourceProvider.java deleted file mode 100755 index cf987d94..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/SpeechSourceProvider.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - - -public class SpeechSourceProvider { - - Microphone getMicrophone() { - return new Microphone(16000, 16, true, false); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/StreamSpeechRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/StreamSpeechRecognizer.java deleted file mode 100755 index 7a20ab83..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/api/StreamSpeechRecognizer.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.api; - -import java.io.IOException; -import java.io.InputStream; - -import edu.cmu.sphinx.util.TimeFrame; - -/** - * Speech recognizer that works with audio resources. - * - * @see LiveSpeechRecognizer live speech recognizer - */ -public class StreamSpeechRecognizer extends AbstractSpeechRecognizer { - - /** - * Constructs new stream recognizer. - * - * @param configuration configuration - * @throws IOException error occured during model load - */ - public StreamSpeechRecognizer(Configuration configuration) - throws IOException - { - super(configuration); - } - - public void startRecognition(InputStream stream) { - startRecognition(stream, TimeFrame.INFINITE); - } - - /** - * Starts recognition process. - * - * Starts recognition process and optionally clears previous data. - * - * @param stream input stream to process - * @param timeFrame time range of the stream to process - * @see StreamSpeechRecognizer#stopRecognition() - */ - public void startRecognition(InputStream stream, TimeFrame timeFrame) { - recognizer.allocate(); - context.setSpeechSource(stream, timeFrame); - } - - /** - * Stops recognition process. - * - * Recognition process is paused until the next call to startRecognition. - * - * @see StreamSpeechRecognizer#startRecognition(InputStream, TimeFrame) - */ - public void stopRecognition() { - recognizer.deallocate(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/AbstractDecoder.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/AbstractDecoder.java deleted file mode 100755 index a250a788..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/AbstractDecoder.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder; - -import edu.cmu.sphinx.decoder.search.SearchManager; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.*; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; - -/** An abstract decoder which implements all functionality which is independent of the used decoding-paradigm (pull/push). */ -public abstract class AbstractDecoder implements ResultProducer, Configurable { - - /** - * The property that defines the name of the search manager to use - * */ - @S4Component(type = SearchManager.class) - public final static String PROP_SEARCH_MANAGER = "searchManager"; - protected SearchManager searchManager; - - @S4ComponentList(type = ResultListener.class) - public static final String PROP_RESULT_LISTENERS = "resultListeners"; - protected final List resultListeners = new ArrayList(); - - /** - * If set to true the used search-manager will be automatically allocated - * in newProperties(). - * */ - @S4Boolean(defaultValue = false) - public static final String AUTO_ALLOCATE = "autoAllocate"; - - /** - * If set to false the used search-manager all registered - * result listeners will be notified only for final results. Per default - * non-final results don't trigger notification, because in most - * application the utterance final result will be sufficient. - */ - @S4Boolean(defaultValue = false) - public static final String FIRE_NON_FINAL_RESULTS = "fireNonFinalResults"; - private boolean fireNonFinalResults; - - private String name; - protected Logger logger; - - public AbstractDecoder() { - } - - /** - * Abstract decoder to implement live and batch recognizers - * @param searchManager search manager to use - * @param fireNonFinalResults to fire result during decoding - * @param autoAllocate automatic allocate all components - * @param resultListeners listeners to get noification - */ - public AbstractDecoder(SearchManager searchManager, boolean fireNonFinalResults, boolean autoAllocate, List resultListeners) { - String name = getClass().getName(); - init( name, Logger.getLogger(name), - searchManager, fireNonFinalResults, autoAllocate, resultListeners); - } - - /** - * Decode frames until recognition is complete - * - * @param referenceText the reference text (or null) - * @return a result - */ - public abstract Result decode(String referenceText); - - public void newProperties(PropertySheet ps) throws PropertyException { - init( ps.getInstanceName(), ps.getLogger(), (SearchManager) ps.getComponent(PROP_SEARCH_MANAGER), ps.getBoolean(FIRE_NON_FINAL_RESULTS), ps.getBoolean(AUTO_ALLOCATE), ps.getComponentList(PROP_RESULT_LISTENERS, ResultListener.class)); - } - - private void init(String name, Logger logger, SearchManager searchManager, boolean fireNonFinalResults, boolean autoAllocate, List listeners) { - this.name = name; - this.logger = logger; - - this.searchManager = searchManager; - this.fireNonFinalResults = fireNonFinalResults; - - if (autoAllocate) { - searchManager.allocate(); - } - - for (ResultListener listener : listeners) { - addResultListener(listener); - } - } - - - /** Allocate resources necessary for decoding */ - public void allocate() { - searchManager.allocate(); - } - - - /** Deallocate resources */ - public void deallocate() { - searchManager.deallocate(); - } - - - /** - * Adds a result listener to this recognizer. A result listener is called whenever a new result is generated by the - * recognizer. This method can be called in any state. - * - * @param resultListener the listener to add - */ - public void addResultListener(ResultListener resultListener) { - resultListeners.add(resultListener); - } - - - /** - * Removes a previously added result listener. This method can be called in any state. - * - * @param resultListener the listener to remove - */ - public void removeResultListener(ResultListener resultListener) { - resultListeners.remove(resultListener); - } - - - /** - * Fires new results as soon as they become available. - * - * @param result the new result - */ - protected void fireResultListeners(Result result) { - if (fireNonFinalResults || result.isFinal()) { - for (ResultListener resultListener : resultListeners) { - resultListener.newResult(result); - } - }else { - logger.finer("skipping non-final result " + result); - } - } - - - @Override - public String toString() { - return name; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/Decoder.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/Decoder.java deleted file mode 100755 index 51112500..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/Decoder.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder; - -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; -import edu.cmu.sphinx.decoder.search.SearchManager; - -import java.util.List; - -/** The primary decoder class */ -public class Decoder extends AbstractDecoder { - - public Decoder() { - // Keep this or else XML configuration fails. - } - - /** The property for the number of features to recognize at once. */ - @S4Integer(defaultValue = Integer.MAX_VALUE) - public final static String PROP_FEATURE_BLOCK_SIZE = "featureBlockSize"; - private int featureBlockSize; - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - featureBlockSize = ps.getInt(PROP_FEATURE_BLOCK_SIZE); - } - - /** - * Main decoder - * - * @param searchManager search manager to configure search space - * @param fireNonFinalResults should we notify about non-final results - * @param autoAllocate automatic allocation of all componenets - * @param resultListeners listeners to get signals - * @param featureBlockSize frequency of notification about results - */ - public Decoder( SearchManager searchManager, boolean fireNonFinalResults, boolean autoAllocate, List resultListeners, int featureBlockSize) { - super( searchManager, fireNonFinalResults, autoAllocate, resultListeners); - this.featureBlockSize = featureBlockSize; - } - - /** - * Decode frames until recognition is complete. - * - * @param referenceText the reference text (or null) - * @return a result - */ - @Override - public Result decode(String referenceText) { - searchManager.startRecognition(); - Result result; - do { - result = searchManager.recognize(featureBlockSize); - if (result != null) { - result.setReferenceText(referenceText); - fireResultListeners(result); - } - } while (result != null && !result.isFinal()); - searchManager.stopRecognition(); - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/FrameDecoder.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/FrameDecoder.java deleted file mode 100755 index eed06980..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/FrameDecoder.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.decoder.search.SearchManager; - -import java.util.List; - - -/** - * A decoder which does not use the common pull-principle of S4 but processes only one single frame on each call of - * decode(). When using this decoder, make sure that the AcousticScorer used by the - * SearchManager can access some buffered Datas. - */ -public class FrameDecoder extends AbstractDecoder implements DataProcessor { - - private DataProcessor predecessor; - - private boolean isRecognizing; - private Result result; - - public FrameDecoder( SearchManager searchManager, boolean fireNonFinalResults, boolean autoAllocate, List listeners) { - super(searchManager, fireNonFinalResults, autoAllocate, listeners); - } - - public FrameDecoder() { - } - - /** - * Decode a single frame. - * - * @param referenceText the reference text (or null) - * @return a result - */ - @Override - public Result decode(String referenceText) { - return searchManager.recognize(1); - } - - public Data getData() throws DataProcessingException { - Data d = getPredecessor().getData(); - - if (isRecognizing && (d instanceof FloatData || d instanceof DoubleData || d instanceof SpeechEndSignal)) { - result = decode(null); - - if (result != null) { - fireResultListeners(result); - result = null; - } - } - - // we also trigger recogntion on a DataEndSignal to allow threaded scorers to shut down correctly - if (d instanceof DataEndSignal) { - searchManager.stopRecognition(); - } - - if (d instanceof SpeechStartSignal) { - searchManager.startRecognition(); - isRecognizing = true; - result = null; - } - - if (d instanceof SpeechEndSignal) { - searchManager.stopRecognition(); - - //fire results which were not yet final - if (result != null) - fireResultListeners(result); - - isRecognizing = false; - } - - return d; - } - - - public DataProcessor getPredecessor() { - return predecessor; - } - - - public void setPredecessor(DataProcessor predecessor) { - this.predecessor = predecessor; - } - - - public void initialize() { - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultListener.java deleted file mode 100755 index 226c2826..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultListener.java +++ /dev/null @@ -1,30 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.result.Result; - -import java.util.EventListener; - -/** The listener interface for being informed when new results are generated. */ -public interface ResultListener extends EventListener, Configurable { - - /** - * Method called when a new result is generated - * - * @param result the new result - */ - public void newResult(Result result); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultProducer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultProducer.java deleted file mode 100755 index fa87fce4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/ResultProducer.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder; - -import edu.cmu.sphinx.util.props.Configurable; - -/** - * Some API-elements shared by components which are able to produce Results. - * - * @see edu.cmu.sphinx.result.Result - */ -public interface ResultProducer extends Configurable { - - /** Registers a new listener for Result. - * @param resultListener listener to add - */ - void addResultListener(ResultListener resultListener); - - - /** Removes a listener from this ResultProducer-instance. - * @param resultListener listener to remove - */ - void removeResultListener(ResultListener resultListener); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/ClusteredDensityFileData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/ClusteredDensityFileData.java deleted file mode 100755 index 955f6286..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/ClusteredDensityFileData.java +++ /dev/null @@ -1,174 +0,0 @@ -package edu.cmu.sphinx.decoder.adaptation; - -import java.util.ArrayList; -import java.util.Random; - -import org.apache.commons.math3.util.FastMath; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool; - -/** - * Used for clustering gaussians. The clustering is performed by Euclidean - * distance criterion. The "k-means" clustering algorithm is used for clustering - * the gaussians. - * - * @author Bogdan Petcu - */ -public class ClusteredDensityFileData { - - private int numberOfClusters; - private int[] corespondingClass; - - public ClusteredDensityFileData(Loader loader, int numberOfClusters) { - this.numberOfClusters = numberOfClusters; - kMeansClustering(loader, 30); - } - - public int getNumberOfClusters() { - return this.numberOfClusters; - } - - /** - * Used for accessing the index that is specific to a gaussian. - * - * @param gaussian - * provided in a i * numStates + gaussianIndex form. - * @return class index - */ - public int getClassIndex(int gaussian) { - return corespondingClass[gaussian]; - } - - /** - * Computes euclidean distance between 2 n-dimensional points. - * - * @param a - * - n-dimensional "a" point - * @param b - * - n-dimensional "b" point - * @return the euclidean distance between a and b. - */ - private float euclidianDistance(float[] a, float[] b) { - double s = 0, d; - - for (int i = 0; i < a.length; i++) { - d = a[i] - b[i]; - s += d * d; - } - - return (float) FastMath.sqrt(s); - } - - /** - * Checks if the two float array have the same components - * - * @param a - * - float array a - * @param b - * - float array b - * @return true if values from a are equal to the ones in b, else false. - */ - private boolean isEqual(float[] a, float[] b) { - if (a.length != b.length) { - return false; - } - - for (int i = 0; i < a.length; i++) { - if (a[i] != b[i]) { - return false; - } - } - - return true; - } - - /** - * Performs k-means-clustering algorithm for clustering gaussians. - * Clustering is done using euclidean distance criterium. - * - * @param maxIterations - */ - private void kMeansClustering(Loader loader, int maxIterations) { - Pool initialData = loader.getMeansPool(); - ArrayList oldCentroids = new ArrayList( - numberOfClusters); - ArrayList centroids = new ArrayList(numberOfClusters); - int numberOfElements = initialData.size(), nrOfIterations = maxIterations, index; - int[] count = new int[numberOfClusters]; - double distance, min; - float[] currentValue, centroid; - float[][][] array = new float[numberOfClusters][numberOfElements][]; - boolean converged = false; - Random randomGenerator = new Random(); - - for (int i = 0; i < numberOfClusters; i++) { - index = randomGenerator.nextInt(numberOfElements); - centroids.add(initialData.get(index)); - oldCentroids.add(initialData.get(index)); - count[i] = 0; - } - - index = 0; - - while (!converged && nrOfIterations > 0) { - corespondingClass = new int[initialData.size()]; - array = new float[numberOfClusters][numberOfElements][]; - - for (int i = 0; i < numberOfClusters; i++) { - oldCentroids.set(i, centroids.get(i)); - count[i] = 0; - } - - for (int i = 0; i < initialData.size(); i++) { - currentValue = initialData.get(i); - min = this.euclidianDistance(oldCentroids.get(0), currentValue); - index = 0; - - for (int k = 1; k < numberOfClusters; k++) { - distance = this.euclidianDistance(oldCentroids.get(k), - currentValue); - - if (distance < min) { - min = distance; - index = k; - } - } - - array[index][count[index]] = currentValue; - corespondingClass[i] = index; - count[index]++; - - } - - for (int i = 0; i < numberOfClusters; i++) { - centroid = new float[initialData.get(0).length]; - - if (count[i] > 0) { - - for (int j = 0; j < count[i]; j++) { - for (int k = 0; k < initialData.get(0).length; k++) { - centroid[k] += array[i][j][k]; - } - } - - for (int k = 0; k < initialData.get(0).length; k++) { - centroid[k] /= count[i]; - } - - centroids.set(i, centroid); - } - } - - converged = true; - - for (int i = 0; i < numberOfClusters; i++) { - converged = converged - && (this.isEqual(centroids.get(i), oldCentroids.get(i))); - } - - nrOfIterations--; - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Stats.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Stats.java deleted file mode 100755 index d8cab6d9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Stats.java +++ /dev/null @@ -1,235 +0,0 @@ -package edu.cmu.sphinx.decoder.adaptation; - -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader; -import edu.cmu.sphinx.util.LogMath; - -/** - * This class is used for estimating a MLLR transform for each cluster of data. - * The clustering must be previously performed using - * ClusteredDensityFileData.java - * - * @author Bogdan Petcu - */ -public class Stats { - - private ClusteredDensityFileData means; - private double[][][][][] regLs; - private double[][][][] regRs; - private int nrOfClusters; - private Sphinx3Loader loader; - private float varFlor; - private LogMath logMath = LogMath.getLogMath();; - - public Stats(Loader loader, ClusteredDensityFileData means) { - this.loader = (Sphinx3Loader) loader; - this.nrOfClusters = means.getNumberOfClusters(); - this.means = means; - this.varFlor = (float) 1e-5; - this.invertVariances(); - this.init(); - } - - private void init() { - int len = loader.getVectorLength()[0]; - this.regLs = new double[nrOfClusters][][][][]; - this.regRs = new double[nrOfClusters][][][]; - - for (int i = 0; i < nrOfClusters; i++) { - this.regLs[i] = new double[loader.getNumStreams()][][][]; - this.regRs[i] = new double[loader.getNumStreams()][][]; - - for (int j = 0; j < loader.getNumStreams(); j++) { - len = loader.getVectorLength()[j]; - this.regLs[i][j] = new double[len][len + 1][len + 1]; - this.regRs[i][j] = new double[len][len + 1]; - } - } - } - - public ClusteredDensityFileData getClusteredData() { - return this.means; - } - - public double[][][][][] getRegLs() { - return regLs; - } - - public double[][][][] getRegRs() { - return regRs; - } - - /** - * Used for inverting variances. - */ - private void invertVariances() { - - for (int i = 0; i < loader.getNumStates(); i++) { - for (int k = 0; k < loader.getNumGaussiansPerState(); k++) { - for (int l = 0; l < loader.getVectorLength()[0]; l++) { - if (loader.getVariancePool().get( - i * loader.getNumGaussiansPerState() + k)[l] <= 0.) { - this.loader.getVariancePool().get( - i * loader.getNumGaussiansPerState() + k)[l] = (float) 0.5; - } else if (loader.getVariancePool().get( - i * loader.getNumGaussiansPerState() + k)[l] < varFlor) { - this.loader.getVariancePool().get( - i * loader.getNumGaussiansPerState() + k)[l] = (float) (1. / varFlor); - } else { - this.loader.getVariancePool().get( - i * loader.getNumGaussiansPerState() + k)[l] = (float) (1. / loader - .getVariancePool().get( - i * loader.getNumGaussiansPerState() - + k)[l]); - } - } - } - } - } - - /** - * Computes posterior values for the each component. - * - * @param componentScores - * from which the posterior values are computed. - * @param numStreams - * Number of feature streams - * @return posterior values for all components. - */ - private float[] computePosterios(float[] componentScores, int numStreams) { - float[] posteriors = componentScores; - - int step = componentScores.length / numStreams; - int startIdx = 0; - for (int i = 0; i < numStreams; i++) { - float max = posteriors[startIdx]; - for (int j = startIdx + 1; j < startIdx + step; j++) { - if (posteriors[j] > max) { - max = posteriors[j]; - } - } - - for (int j = startIdx; j < startIdx + step; j++) { - posteriors[j] = (float) logMath.logToLinear(posteriors[j] - max); - } - startIdx += step; - } - - return posteriors; - } - - /** - * This method is used for directly collect and use counts. The counts are - * collected and stored separately for each cluster. - * - * @param result - * Result object to collect counts from. - * @throws Exception if something went wrong - */ - public void collect(SpeechResult result) throws Exception { - Token token = result.getResult().getBestToken(); - float[] componentScore, featureVector, posteriors, tmean; - int[] len; - float dnom, wtMeanVar, wtDcountVar, wtDcountVarMean, mean; - int mId, cluster; - int numStreams, gauPerState; - - if (token == null) - throw new Exception("Best token not found!"); - - do { - FloatData feature = (FloatData) token.getData(); - SearchState ss = token.getSearchState(); - - if (!(ss instanceof HMMSearchState && ss.isEmitting())) { - token = token.getPredecessor(); - continue; - } - - componentScore = token.calculateComponentScore(feature); - featureVector = FloatData.toFloatData(feature).getValues(); - mId = (int) ((HMMSearchState) token.getSearchState()).getHMMState() - .getMixtureId(); - if (loader instanceof Sphinx3Loader && ((Sphinx3Loader) loader).hasTiedMixtures()) - // use CI phone ID for tied mixture model - mId = ((Sphinx3Loader) loader).getSenone2Ci()[mId]; - len = loader.getVectorLength(); - numStreams = loader.getNumStreams(); - gauPerState = loader.getNumGaussiansPerState(); - posteriors = this.computePosterios(componentScore, numStreams); - int featVectorStartIdx = 0; - - for (int i = 0; i < numStreams; i++) { - for (int j = 0; j < gauPerState; j++) { - - cluster = means.getClassIndex(mId * numStreams - * gauPerState + i * gauPerState + j); - dnom = posteriors[i * gauPerState + j]; - if (dnom > 0.) { - tmean = loader.getMeansPool().get( - mId * numStreams * gauPerState + i - * gauPerState + j); - - for (int k = 0; k < len[i]; k++) { - mean = posteriors[i * gauPerState + j] - * featureVector[k + featVectorStartIdx]; - wtMeanVar = mean - * loader.getVariancePool().get( - mId * numStreams * gauPerState + i - * gauPerState + j)[k]; - wtDcountVar = dnom - * loader.getVariancePool().get( - mId * numStreams * gauPerState + i - * gauPerState + j)[k]; - - for (int p = 0; p < len[i]; p++) { - wtDcountVarMean = wtDcountVar * tmean[p]; - - for (int q = p; q < len[i]; q++) { - regLs[cluster][i][k][p][q] += wtDcountVarMean - * tmean[q]; - } - regLs[cluster][i][k][p][len[i]] += wtDcountVarMean; - regRs[cluster][i][k][p] += wtMeanVar * tmean[p]; - } - regLs[cluster][i][k][len[i]][len[i]] += wtDcountVar; - regRs[cluster][i][k][len[i]] += wtMeanVar; - - } - } - } - featVectorStartIdx += len[i]; - } - token = token.getPredecessor(); - } while (token != null); - } - - /** - * Fill lower part of Legetter's set of G matrices. - */ - public void fillRegLowerPart() { - for (int i = 0; i < this.nrOfClusters; i++) { - for (int j = 0; j < loader.getNumStreams(); j++) { - for (int l = 0; l < loader.getVectorLength()[j]; l++) { - for (int p = 0; p <= loader.getVectorLength()[j]; p++) { - for (int q = p + 1; q <= loader.getVectorLength()[j]; q++) { - regLs[i][j][l][q][p] = regLs[i][j][l][p][q]; - } - } - } - } - } - } - - public Transform createTransform() { - Transform transform = new Transform(loader, nrOfClusters); - transform.update(this); - return transform; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Transform.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Transform.java deleted file mode 100755 index 61f89d47..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/adaptation/Transform.java +++ /dev/null @@ -1,179 +0,0 @@ -package edu.cmu.sphinx.decoder.adaptation; - -import java.io.File; -import java.io.PrintWriter; -import java.util.Scanner; - -import org.apache.commons.math3.linear.Array2DRowRealMatrix; -import org.apache.commons.math3.linear.ArrayRealVector; -import org.apache.commons.math3.linear.DecompositionSolver; -import org.apache.commons.math3.linear.LUDecomposition; -import org.apache.commons.math3.linear.RealMatrix; -import org.apache.commons.math3.linear.RealVector; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader; - -public class Transform { - - private float[][][][] As; - private float[][][] Bs; - private Sphinx3Loader loader; - private int nrOfClusters; - - public Transform(Sphinx3Loader loader, int nrOfClusters) { - this.loader = loader; - this.nrOfClusters = nrOfClusters; - } - - /** - * Used for access to A matrix. - * - * @return A matrix (representing A from A*x + B = C) - */ - public float[][][][] getAs() { - return As; - } - - /** - * Used for access to B matrix. - * - * @return B matrix (representing B from A*x + B = C) - */ - public float[][][] getBs() { - return Bs; - } - - /** - * Writes the transformation to file in a format that could further be used - * in Sphinx3 and Sphinx4. - * - * @param filePath path to store transform matrix - * @param index index of transform to store - * @throws Exception if something went wrong - */ - public void store(String filePath, int index) throws Exception { - PrintWriter writer = new PrintWriter(filePath, "UTF-8"); - - // nMllrClass - writer.println("1"); - writer.println(loader.getNumStreams()); - - for (int i = 0; i < loader.getNumStreams(); i++) { - writer.println(loader.getVectorLength()[i]); - - for (int j = 0; j < loader.getVectorLength()[i]; j++) { - for (int k = 0; k < loader.getVectorLength()[i]; ++k) { - writer.print(As[index][i][j][k]); - writer.print(" "); - } - writer.println(); - } - - for (int j = 0; j < loader.getVectorLength()[i]; j++) { - writer.print(Bs[index][i][j]); - writer.print(" "); - - } - writer.println(); - - for (int j = 0; j < loader.getVectorLength()[i]; j++) { - writer.print("1.0 "); - - } - writer.println(); - } - writer.close(); - } - - /** - * Used for computing the actual transformations (A and B matrices). These - * are stored in As and Bs. - */ - private void computeMllrTransforms(double[][][][][] regLs, - double[][][][] regRs) { - int len; - DecompositionSolver solver; - RealMatrix coef; - RealVector vect, ABloc; - - for (int c = 0; c < nrOfClusters; c++) { - this.As[c] = new float[loader.getNumStreams()][][]; - this.Bs[c] = new float[loader.getNumStreams()][]; - - for (int i = 0; i < loader.getNumStreams(); i++) { - len = loader.getVectorLength()[i]; - this.As[c][i] = new float[len][len]; - this.Bs[c][i] = new float[len]; - - for (int j = 0; j < len; ++j) { - coef = new Array2DRowRealMatrix(regLs[c][i][j], false); - solver = new LUDecomposition(coef).getSolver(); - vect = new ArrayRealVector(regRs[c][i][j], false); - ABloc = solver.solve(vect); - - for (int k = 0; k < len; ++k) { - this.As[c][i][j][k] = (float) ABloc.getEntry(k); - } - - this.Bs[c][i][j] = (float) ABloc.getEntry(len); - } - } - } - } - - /** - * Read the transformation from a file - * - * @param filePath file path to load transform - * @throws Exception if something went wrong - */ - public void load(String filePath) throws Exception { - - Scanner input = new Scanner(new File(filePath)); - int numStreams, nMllrClass; - int[] vectorLength = new int[1]; - - nMllrClass = input.nextInt(); - - assert nMllrClass == 1; - - numStreams = input.nextInt(); - - this.As = new float[nMllrClass][][][]; - this.Bs = new float[nMllrClass][][]; - - for (int i = 0; i < numStreams; i++) { - vectorLength[i] = input.nextInt(); - - int length = vectorLength[i]; - - this.As[0] = new float[numStreams][length][length]; - this.Bs[0] = new float[numStreams][length]; - - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; ++k) { - As[0][i][j][k] = input.nextFloat(); - } - } - - for (int j = 0; j < length; j++) { - Bs[0][i][j] = input.nextFloat(); - } - } - input.close(); - } - - /** - * Stores in current object a transform generated on the provided stats. - * - * @param stats - * provided stats that were previously collected from Result - * objects. - */ - public void update(Stats stats) { - stats.fillRegLowerPart(); - As = new float[nrOfClusters][][][]; - Bs = new float[nrOfClusters][][]; - this.computeMllrTransforms(stats.getRegLs(), stats.getRegRs()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/NullPruner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/NullPruner.java deleted file mode 100755 index b361b4db..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/NullPruner.java +++ /dev/null @@ -1,71 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.pruner; - -import edu.cmu.sphinx.decoder.search.ActiveList; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -/** A Null pruner. Does no actual pruning */ -public class NullPruner implements Pruner { - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - } - - - /** Creates a simple pruner */ - public NullPruner() { - } - - - /** starts the pruner */ - public void startRecognition() { - } - - - /** - * prunes the given set of states - * - * @param activeList the active list of tokens - * @return the pruned (and possibly new) activeList - */ - public ActiveList prune(ActiveList activeList) { - return activeList; - } - - - /** Performs post-recognition cleanup. */ - public void stopRecognition() { - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.pruner.Pruner#allocate() - */ - public void allocate() { - - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.pruner.Pruner#deallocate() - */ - public void deallocate() { - - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/Pruner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/Pruner.java deleted file mode 100755 index 306cfef1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/Pruner.java +++ /dev/null @@ -1,49 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.pruner; - -import edu.cmu.sphinx.decoder.search.ActiveList; -import edu.cmu.sphinx.util.props.Configurable; - - -/** Provides a mechanism for pruning a set of StateTokens */ -public interface Pruner extends Configurable { - - /** Starts the pruner */ - public void startRecognition(); - - - /** - * prunes the given set of states - * - * @param stateTokenList a list containing StateToken objects to be scored - * @return the pruned list, (may be the sample list as stateTokenList) - */ - public ActiveList prune(ActiveList stateTokenList); - - - /** Performs post-recognition cleanup. */ - public void stopRecognition(); - - - /** Allocates resources necessary for this pruner */ - public void allocate(); - - - /** Deallocates resources necessary for this pruner */ - public void deallocate(); - - -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/SimplePruner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/SimplePruner.java deleted file mode 100755 index 2d302162..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/pruner/SimplePruner.java +++ /dev/null @@ -1,80 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.pruner; - -import edu.cmu.sphinx.decoder.search.ActiveList; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -/** Performs the default pruning behavior which is to invoke the purge on the active list */ -public class SimplePruner implements Pruner { - - private String name; - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - } - - - public SimplePruner() { - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /** Starts the pruner */ - public void startRecognition() { - } - - - /** - * prunes the given set of states - * - * @param activeList a activeList of tokens - */ - public ActiveList prune(ActiveList activeList) { - return activeList.purge(); - } - - - /** Performs post-recognition cleanup. */ - public void stopRecognition() { - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.pruner.Pruner#allocate() - */ - public void allocate() { - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.pruner.Pruner#deallocate() - */ - public void deallocate() { - - } - - -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/AcousticScorer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/AcousticScorer.java deleted file mode 100755 index 9e4f2fd5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/AcousticScorer.java +++ /dev/null @@ -1,57 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.util.props.Configurable; - -import java.util.List; - -/** Provides a mechanism for scoring a set of HMM states */ -public interface AcousticScorer extends Configurable { - - /** Allocates resources for this scorer */ - public void allocate(); - - - /** Deallocates resources for this scorer */ - public void deallocate(); - - - /** starts the scorer */ - public void startRecognition(); - - - /** stops the scorer */ - public void stopRecognition(); - - /** - * Scores the given set of states over previously stored acoustic data if any or a new one - * - * @param scorableList a list containing Scoreable objects to be scored - * @return the best scoring scoreable, or null if there are no more frames to score - */ - public Data calculateScores(List scorableList); - - /** - * Scores the given set of states over previously acoustic data from frontend - * and stores latter in the queue - * - * @param scorableList a list containing Scoreable objects to be scored - * @return the best scoring scoreable, or null if there are no more frames to score - */ - public Data calculateScoresAndStoreData(List scorableList); - -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/BackgroundModelNormalizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/BackgroundModelNormalizer.java deleted file mode 100755 index 7340d13c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/BackgroundModelNormalizer.java +++ /dev/null @@ -1,67 +0,0 @@ -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager; -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.util.List; -import java.util.logging.Logger; - -/** - * Normalizes a set of Tokens against the best scoring Token of a background model. - * - * @author Holger Brandl - */ -public class BackgroundModelNormalizer implements ScoreNormalizer { - - /** - * The active list provider used to determined the best token for normalization. If this reference is not defined no - * normalization will be applied. - */ - @S4Component(type = SimpleBreadthFirstSearchManager.class, mandatory = false) - public static final String ACTIVE_LIST_PROVIDER = "activeListProvider"; - private SimpleBreadthFirstSearchManager activeListProvider; - - private Logger logger; - - public BackgroundModelNormalizer() { - } - - public void newProperties(PropertySheet ps) throws PropertyException { - this.activeListProvider = (SimpleBreadthFirstSearchManager) ps.getComponent(ACTIVE_LIST_PROVIDER); - this.logger = ps.getLogger(); - - logger.warning("no active list set."); - } - - /** - * @param activeListProvider The active list provider used to determined the best token for normalization. If this reference is not defined no - * normalization will be applied. - */ - public BackgroundModelNormalizer(SimpleBreadthFirstSearchManager activeListProvider) { - this.activeListProvider = activeListProvider; - this.logger = Logger.getLogger(getClass().getName()); - - logger.warning("no active list set."); - } - - public Scoreable normalize(List scoreableList, Scoreable bestToken) { - if (activeListProvider == null) { - return bestToken; - } - - Token normToken = activeListProvider.getActiveList().getBestToken(); - - float normScore = normToken.getScore(); - - for (Scoreable scoreable : scoreableList) { - if (scoreable instanceof Token) { - scoreable.normalizeScore(normScore); - } - } - - return bestToken; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/MaxScoreNormalizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/MaxScoreNormalizer.java deleted file mode 100755 index 826aede2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/MaxScoreNormalizer.java +++ /dev/null @@ -1,30 +0,0 @@ -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.util.List; - -/** - * Performs a simple normalization of all token-scores by - * - * @author Holger Brandl - */ -public class MaxScoreNormalizer implements ScoreNormalizer { - - - public void newProperties(PropertySheet ps) throws PropertyException { - } - - public MaxScoreNormalizer() { - } - - - public Scoreable normalize(List scoreableList, Scoreable bestToken) { - for (Scoreable scoreable : scoreableList) { - scoreable.normalizeScore(bestToken.getScore()); - } - - return bestToken; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreNormalizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreNormalizer.java deleted file mode 100755 index 6a7bafad..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreNormalizer.java +++ /dev/null @@ -1,27 +0,0 @@ -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.util.props.Configurable; - -import java.util.List; - -/** - * Describes all API-elements that are necessary to normalize token-scores after these have been computed by an - * AcousticScorer. - * - * @author Holger Brandl - * @see edu.cmu.sphinx.decoder.scorer.AcousticScorer - * @see edu.cmu.sphinx.decoder.search.Token - */ -public interface ScoreNormalizer extends Configurable { - - /** - * Normalizes the scores of a set of Tokens. - * - * @param scoreableList The set of scores to be normalized - * @param bestToken The best scoring Token of the above mentioned list. Although not strictly necessary it's - * included because of convenience reasons and to reduce computational overhead. - * @return The best token after the all Tokens have been normalized. In most cases normalization won't - * change the order but to keep the API open for any kind of approach it seemed reasonable to include this. - */ - Scoreable normalize(List scoreableList, Scoreable bestToken); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreProvider.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreProvider.java deleted file mode 100755 index f76b9571..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ScoreProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 1999-2010 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.frontend.Data; - -/** Thing that can provide the score */ -public interface ScoreProvider { - - /** - * Provides the score - * - * @param data data to score - * @return the score - */ - public float getScore(Data data); - - /** - * Provides component score - * - * @param feature data to score - * @return the score - */ - public float[] getComponentScore(Data feature); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/Scoreable.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/Scoreable.java deleted file mode 100755 index 58132de2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/Scoreable.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.frontend.Data; - -import java.util.Comparator; - -/** Represents an entity that can be scored against a data */ -public interface Scoreable extends Data { - - /** - * A {@code Scoreable} comparator that is used to order scoreables according to their score, - * in descending order. - * - *

Note: since a higher score results in a lower natural order, - * statements such as {@code Collections.min(list, Scoreable.COMPARATOR)} - * actually return the Scoreable with the highest score, - * in contrast to the natural meaning of the word "min". - */ - Comparator COMPARATOR = new Comparator() { - public int compare(Scoreable t1, Scoreable t2) { - if (t1.getScore() > t2.getScore()) { - return -1; - } else if (t1.getScore() == t2.getScore()) { - return 0; - } else { - return 1; - } - } - }; - - /** - * Calculates a score against the given data. The score can be retrieved with get score - * - * @param data the data to be scored - * @return the score for the data - */ - public float calculateScore(Data data); - - - /** - * Retrieves a previously calculated (and possibly normalized) score - * - * @return the score - */ - public float getScore(); - - - /** - * Normalizes a previously calculated score - * - * @param maxScore maximum score to use for norm - * @return the normalized score - */ - public float normalizeScore(float maxScore); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/SimpleAcousticScorer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/SimpleAcousticScorer.java deleted file mode 100755 index cf7f1f54..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/SimpleAcousticScorer.java +++ /dev/null @@ -1,194 +0,0 @@ -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.util.DataUtil; -import edu.cmu.sphinx.util.props.ConfigurableAdapter; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.util.LinkedList; -import java.util.List; - -/** - * Implements some basic scorer functionality, including a simple default - * acoustic scoring implementation which scores within the current thread, that - * can be changed by overriding the {@link #doScoring} method. - * - *

- * Note that all scores are maintained in LogMath log base. - * - * @author Holger Brandl - */ -public class SimpleAcousticScorer extends ConfigurableAdapter implements AcousticScorer { - - /** Property the defines the frontend to retrieve features from for scoring */ - @S4Component(type = BaseDataProcessor.class) - public final static String FEATURE_FRONTEND = "frontend"; - protected BaseDataProcessor frontEnd; - - /** - * An optional post-processor for computed scores that will normalize - * scores. If not set, no normalization will applied and the token scores - * will be returned unchanged. - */ - @S4Component(type = ScoreNormalizer.class, mandatory = false) - public final static String SCORE_NORMALIZER = "scoreNormalizer"; - protected ScoreNormalizer scoreNormalizer; - - private LinkedList storedData; - private boolean seenEnd = false; - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - this.frontEnd = (BaseDataProcessor) ps.getComponent(FEATURE_FRONTEND); - this.scoreNormalizer = (ScoreNormalizer) ps.getComponent(SCORE_NORMALIZER); - storedData = new LinkedList(); - } - - /** - * @param frontEnd - * the frontend to retrieve features from for scoring - * @param scoreNormalizer - * optional post-processor for computed scores that will - * normalize scores. If not set, no normalization will applied - * and the token scores will be returned unchanged. - */ - public SimpleAcousticScorer(BaseDataProcessor frontEnd, ScoreNormalizer scoreNormalizer) { - initLogger(); - this.frontEnd = frontEnd; - this.scoreNormalizer = scoreNormalizer; - storedData = new LinkedList(); - } - - public SimpleAcousticScorer() { - } - - /** - * Scores the given set of states. - * - * @param scoreableList - * A list containing scoreable objects to be scored - * @return The best scoring scoreable, or null if there are no - * more features to score - */ - public Data calculateScores(List scoreableList) { - Data data; - if (storedData.isEmpty()) { - while ((data = getNextData()) instanceof Signal) { - if (data instanceof SpeechEndSignal) { - seenEnd = true; - break; - } - if (data instanceof DataEndSignal) { - if (seenEnd) - return null; - else - break; - } - } - if (data == null) - return null; - } else { - data = storedData.poll(); - } - - return calculateScoresForData(scoreableList, data); - } - - public Data calculateScoresAndStoreData(List scoreableList) { - Data data; - while ((data = getNextData()) instanceof Signal) { - if (data instanceof SpeechEndSignal) { - seenEnd = true; - break; - } - if (data instanceof DataEndSignal) { - if (seenEnd) - return null; - else - break; - } - } - if (data == null) - return null; - - storedData.add(data); - - return calculateScoresForData(scoreableList, data); - } - - protected Data calculateScoresForData(List scoreableList, Data data) { - if (data instanceof SpeechEndSignal || data instanceof DataEndSignal) { - return data; - } - - if (scoreableList.isEmpty()) - return null; - - // convert the data to FloatData if not yet done - if (data instanceof DoubleData) - data = DataUtil.DoubleData2FloatData((DoubleData) data); - - Scoreable bestToken = doScoring(scoreableList, data); - - // apply optional score normalization - if (scoreNormalizer != null && bestToken instanceof Token) - bestToken = scoreNormalizer.normalize(scoreableList, bestToken); - - return bestToken; - } - - protected Data getNextData() { - Data data = frontEnd.getData(); - return data; - } - - public void startRecognition() { - storedData.clear(); - } - - public void stopRecognition() { - // nothing needs to be done here - } - - /** - * Scores a a list of Scoreables given a Data - * -object. - * - * @param scoreableList - * The list of Scoreables to be scored - * @param data - * The Data-object to be used for scoring. - * @param type for scorables - * @return the best scoring Scoreable or null if - * the list of scoreables was empty. - */ - protected T doScoring(List scoreableList, Data data) { - - T best = null; - float bestScore = -Float.MAX_VALUE; - - for (T item : scoreableList) { - item.calculateScore(data); - if (item.getScore() > bestScore) { - bestScore = item.getScore(); - best = item; - } - } - return best; - } - - // Even if we don't do any meaningful allocation here, we implement the - // methods because most extending scorers do need them either. - - public void allocate() { - } - - public void deallocate() { - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ThreadedAcousticScorer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ThreadedAcousticScorer.java deleted file mode 100755 index 206c7962..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/scorer/ThreadedAcousticScorer.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.scorer; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.util.CustomThreadFactory; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.*; -import java.util.concurrent.*; - -/** - * An acoustic scorer that breaks the scoring up into a configurable number of separate threads. - *

- * All scores are maintained in LogMath log base - */ -public class ThreadedAcousticScorer extends SimpleAcousticScorer { - - /** - * The property that controls the thread priority of scoring threads. - * Must be a value between {@link Thread#MIN_PRIORITY} and {@link Thread#MAX_PRIORITY}, inclusive. - * The default is {@link Thread#NORM_PRIORITY}. - */ - @S4Integer(defaultValue = Thread.NORM_PRIORITY) - public final static String PROP_THREAD_PRIORITY = "threadPriority"; - - /** - * The property that controls the number of threads that are used to score HMM states. If the isCpuRelative - * property is false, then is is the exact number of threads that are used to score HMM states. If the isCpuRelative - * property is true, then this value is combined with the number of available processors on the system. If you want - * to have one thread per CPU available to score states, set the NUM_THREADS property to 0 and the isCpuRelative to - * true. If you want exactly one thread to process scores set NUM_THREADS to 1 and isCpuRelative to false. - *

- * If the value is 1 isCpuRelative is false no additional thread will be instantiated, and all computation will be - * done in the calling thread itself. The default value is 0. - */ - @S4Integer(defaultValue = 0) - public final static String PROP_NUM_THREADS = "numThreads"; - - /** - * The property that controls whether the number of available CPUs on the system is used when determining - * the number of threads to use for scoring. If true, the NUM_THREADS property is combined with the available number - * of CPUS to determine the number of threads. Note that the number of threads is contained to be never lower than - * zero. Also, if the number of threads is 0, the states are scored on the calling thread, no separate threads are - * started. The default value is false. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_IS_CPU_RELATIVE = "isCpuRelative"; - - /** - * The property that controls the minimum number of scoreables sent to a thread. This is used to prevent - * over threading of the scoring that could happen if the number of threads is high compared to the size of the - * active list. The default is 50 - */ - @S4Integer(defaultValue = 10) - public final static String PROP_MIN_SCOREABLES_PER_THREAD = "minScoreablesPerThread"; - - private final static String className = ThreadedAcousticScorer.class.getSimpleName(); - - private int numThreads; // number of threads in use - private int threadPriority; - private int minScoreablesPerThread; // min scoreables sent to a thread - private ExecutorService executorService; - - /** - * @param frontEnd - * the frontend to retrieve features from for scoring - * @param scoreNormalizer - * optional post-processor for computed scores that will - * normalize scores. If not set, no normalization will applied - * and the token scores will be returned unchanged. - * @param minScoreablesPerThread - * the number of threads that are used to score HMM states. If - * the isCpuRelative property is false, then is is the exact - * number of threads that are used to score HMM states. If the - * isCpuRelative property is true, then this value is combined - * with the number of available processors on the system. If you - * want to have one thread per CPU available to score states, set - * the NUM_THREADS property to 0 and the isCpuRelative to true. - * If you want exactly one thread to process scores set - * NUM_THREADS to 1 and isCpuRelative to false. - *

- * If the value is 1 isCpuRelative is false no additional thread - * will be instantiated, and all computation will be done in the - * calling thread itself. The default value is 0. - * @param cpuRelative - * controls whether the number of available CPUs on the system is - * used when determining the number of threads to use for - * scoring. If true, the NUM_THREADS property is combined with - * the available number of CPUS to determine the number of - * threads. Note that the number of threads is constrained to be - * never lower than zero. Also, if the number of threads is 0, - * the states are scored on the calling thread, no separate - * threads are started. The default value is false. - * @param numThreads - * the minimum number of scoreables sent to a thread. This is - * used to prevent over threading of the scoring that could - * happen if the number of threads is high compared to the size - * of the active list. The default is 50 - * @param threadPriority - * the thread priority of scoring threads. Must be a value between - * {@link Thread#MIN_PRIORITY} and {@link Thread#MAX_PRIORITY}, inclusive. - * The default is {@link Thread#NORM_PRIORITY}. - */ - public ThreadedAcousticScorer(BaseDataProcessor frontEnd, ScoreNormalizer scoreNormalizer, - int minScoreablesPerThread, boolean cpuRelative, int numThreads, int threadPriority) { - super(frontEnd, scoreNormalizer); - init(minScoreablesPerThread, cpuRelative, numThreads, threadPriority); - } - - public ThreadedAcousticScorer() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - init(ps.getInt(PROP_MIN_SCOREABLES_PER_THREAD), ps.getBoolean(PROP_IS_CPU_RELATIVE), - ps.getInt(PROP_NUM_THREADS), ps.getInt(PROP_THREAD_PRIORITY)); - } - - private void init(int minScoreablesPerThread, boolean cpuRelative, int numThreads, int threadPriority) { - this.minScoreablesPerThread = minScoreablesPerThread; - if (cpuRelative) { - numThreads += Runtime.getRuntime().availableProcessors(); - } - this.numThreads = numThreads; - this.threadPriority = threadPriority; - } - - @Override - public void allocate() { - super.allocate(); - if (executorService == null) { - if (numThreads > 1) { - logger.fine("# of scoring threads: " + numThreads); - executorService = Executors.newFixedThreadPool(numThreads, - new CustomThreadFactory(className, true, threadPriority)); - } else { - logger.fine("no scoring threads"); - } - } - } - - @Override - public void deallocate() { - super.deallocate(); - if (executorService != null) { - executorService.shutdown(); - executorService = null; - } - } - - @Override - protected T doScoring(List scoreableList, final Data data) { - if (numThreads > 1) { - int totalSize = scoreableList.size(); - int jobSize = Math.max((totalSize + numThreads - 1) / numThreads, minScoreablesPerThread); - - if (jobSize < totalSize) { - List> tasks = new ArrayList>(); - for (int from = 0, to = jobSize; from < totalSize; from = to, to += jobSize) { - final List scoringJob = scoreableList.subList(from, Math.min(to, totalSize)); - tasks.add(new Callable() { - public T call() throws Exception { - return ThreadedAcousticScorer.super.doScoring(scoringJob, data); - } - }); - } - - List finalists = new ArrayList(tasks.size()); - - try { - for (Future result : executorService.invokeAll(tasks)) - finalists.add(result.get()); - } catch (Exception e) { - throw new DataProcessingException("No scoring jobs ended", e); - } - - return Collections.min(finalists, Scoreable.COMPARATOR); - } - } - // if no additional threads are necessary, do the scoring in the calling thread - return super.doScoring(scoreableList, data); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveList.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveList.java deleted file mode 100755 index a78c01dc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveList.java +++ /dev/null @@ -1,117 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.search; - -import java.util.List; -import edu.cmu.sphinx.util.props.*; - -/** - * An active list is maintained as a sorted list - *

- * Note that all scores are represented in LogMath logbase - */ -public interface ActiveList extends Iterable { - - /** - * property that sets the desired (or target) size for this active list. This is sometimes referred to as the beam - * size - */ - @S4Integer(defaultValue = 2000) - public final static String PROP_ABSOLUTE_BEAM_WIDTH = "absoluteBeamWidth"; - - /** - * Property that sets the minimum score relative to the maximum score in the list for pruning. Tokens with a score - * less than relativeBeamWidth * maximumScore will be pruned from the list - */ - @S4Double(defaultValue = 0.0) - public final static String PROP_RELATIVE_BEAM_WIDTH = "relativeBeamWidth"; - /** - * Property that indicates whether or not the active list will implement 'strict pruning'. When strict pruning is - * enabled, the active list will not remove tokens from the active list until they have been completely scored. If - * strict pruning is not enabled, tokens can be removed from the active list based upon their entry scores. The - * default setting is false (disabled). - */ - - @S4Boolean(defaultValue = true) - public final static String PROP_STRICT_PRUNING = "strictPruning"; - - /** - * Adds the given token to the list, keeping track of the lowest scoring token - * - * @param token the token to add - */ - public void add(Token token); - - /** - * Purges the active list of excess members returning a (potentially new) active list - * - * @return a purged active list - */ - public ActiveList purge(); - - - /** - * Returns the size of this list - * - * @return the size - */ - public int size(); - - - /** - * Gets the list of all tokens - * - * @return the set of tokens - */ - public List getTokens(); - - /** - * gets the beam threshold best upon the best scoring token - * - * @return the beam threshold - */ - public float getBeamThreshold(); - - - /** - * gets the best score in the list - * - * @return the best score - */ - public float getBestScore(); - - - /** - * Sets the best scoring token for this active list - * - * @param token the best scoring token - */ - public void setBestToken(Token token); - - - /** - * Gets the best scoring token for this active list - * - * @return the best scoring token - */ - public Token getBestToken(); - - - /** - * Creates a new empty version of this active list with the same general properties. - * - * @return a new active list. - */ - public ActiveList newInstance(); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListFactory.java deleted file mode 100755 index 0dc3046c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListFactory.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - -/** Creates new active lists. */ -public abstract class ActiveListFactory implements Configurable { - - - /** - * property that sets the desired (or target) size for this active list. This is sometimes referred to as the beam - * size - */ - @S4Integer(defaultValue = -1) - public final static String PROP_ABSOLUTE_BEAM_WIDTH = "absoluteBeamWidth"; - - /** - * Property that sets the minimum score relative to the maximum score in the list for pruning. Tokens with a score - * less than relativeBeamWidth * maximumScore will be pruned from the list - */ - @S4Double(defaultValue = 1E-80) - public final static String PROP_RELATIVE_BEAM_WIDTH = "relativeBeamWidth"; - - /** - * Property that indicates whether or not the active list will implement 'strict pruning'. When strict pruning is - * enabled, the active list will not remove tokens from the active list until they have been completely scored. If - * strict pruning is not enabled, tokens can be removed from the active list based upon their entry scores. The - * default setting is false (disabled). - */ - @S4Boolean(defaultValue = true) - public final static String PROP_STRICT_PRUNING = "strictPruning"; - - protected LogMath logMath; - protected int absoluteBeamWidth; - protected float logRelativeBeamWidth; - - /** - * - * @param absoluteBeamWidth beam for absolute pruning - * @param relativeBeamWidth beam for relative pruning - */ - public ActiveListFactory(int absoluteBeamWidth,double relativeBeamWidth){ - logMath = LogMath.getLogMath(); - this.absoluteBeamWidth = absoluteBeamWidth; - this.logRelativeBeamWidth = logMath.linearToLog(relativeBeamWidth); - } - - public ActiveListFactory() { - } - - - public void newProperties(PropertySheet ps) throws PropertyException { - logMath = LogMath.getLogMath(); - absoluteBeamWidth = ps.getInt(PROP_ABSOLUTE_BEAM_WIDTH); - double relativeBeamWidth = ps.getDouble(PROP_RELATIVE_BEAM_WIDTH); - - logRelativeBeamWidth = logMath.linearToLog(relativeBeamWidth); - } - - - /** - * Creates a new active list of a particular type - * - * @return the active list - */ - public abstract ActiveList newInstance(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListManager.java deleted file mode 100755 index d8606a9e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/ActiveListManager.java +++ /dev/null @@ -1,77 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.Iterator; - -/** An active list is maintained as a sorted list */ -public interface ActiveListManager extends Configurable { - - /** The property that specifies the absolute word beam width */ - @S4Integer(defaultValue = 2000) - public final static String PROP_ABSOLUTE_WORD_BEAM_WIDTH = - "absoluteWordBeamWidth"; - - /** The property that specifies the relative word beam width */ - @S4Double(defaultValue = 0.0) - public final static String PROP_RELATIVE_WORD_BEAM_WIDTH = - "relativeWordBeamWidth"; - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token); - - - /** - * Returns an Iterator of all the non-emitting ActiveLists. The iteration order is the same as the search state - * order. - * - * @return an Iterator of non-emitting ActiveLists - */ - public Iterator getNonEmittingListIterator(); - - - /** - * Returns the emitting ActiveList from the manager - * - * @return the emitting ActiveList - */ - public ActiveList getEmittingList(); - - - /** - * Clears emitting list in manager - */ - public void clearEmittingList(); - - - /** Dumps out debug info for the active list manager */ - public void dump(); - - - /** - * Sets the total number of state types to be managed - * - * @param numStateOrder the total number of state types - */ - public void setNumStateOrder(int numStateOrder); - -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/AlternateHypothesisManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/AlternateHypothesisManager.java deleted file mode 100755 index 99ebb4ab..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/AlternateHypothesisManager.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - - -import edu.cmu.sphinx.decoder.scorer.Scoreable; - -import java.util.*; - -/** - * Manager for pruned hypothesis - * - * @author Joe Woelfel - */ -public class AlternateHypothesisManager { - - private final Map> viterbiLoserMap = new HashMap>(); - private final int maxEdges; - - - /** - * Creates an alternate hypotheses manager - * - * @param maxEdges the maximum edges allowed - */ - public AlternateHypothesisManager(int maxEdges) { - this.maxEdges = maxEdges; - } - - - /** - * Collects adds alternate predecessors for a token that would have lost because of viterbi. - * - * @param token - a token that has an alternate lower scoring predecessor that still might be of interest - * @param predecessor - a predecessor that scores lower than token.getPredecessor(). - */ - - public void addAlternatePredecessor(Token token, Token predecessor) { - assert predecessor != token.getPredecessor(); - List list = viterbiLoserMap.get(token); - if (list == null) { - list = new ArrayList(); - viterbiLoserMap.put(token, list); - } - list.add(predecessor); - } - - - /** - * Returns a list of alternate predecessors for a token. - * - * @param token - a token that may have alternate lower scoring predecessor that still might be of interest - * @return A list of predecessors that scores lower than token.getPredecessor(). - */ - public List getAlternatePredecessors(Token token) { - return viterbiLoserMap.get(token); - } - - - /** Purge all but max number of alternate preceding token hypotheses. */ - public void purge() { - - int max = maxEdges - 1; - - for (Map.Entry> entry : viterbiLoserMap.entrySet()) { - List list = entry.getValue(); - Collections.sort(list, Scoreable.COMPARATOR); - List newList = list.subList(0, list.size() > max ? max : list.size()); - viterbiLoserMap.put(entry.getKey(), newList); - } - } - - public boolean hasAlternatePredecessors(Token token) { - return viterbiLoserMap.containsKey(token); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/PartitionActiveListFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/PartitionActiveListFactory.java deleted file mode 100755 index 98401de1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/PartitionActiveListFactory.java +++ /dev/null @@ -1,270 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.NoSuchElementException; - -/** A factory for PartitionActiveLists */ -public class PartitionActiveListFactory extends ActiveListFactory { - - /** - * - * @param absoluteBeamWidth beam for absolute pruning - * @param relativeBeamWidth beam for relative pruning - */ - public PartitionActiveListFactory(int absoluteBeamWidth, double relativeBeamWidth) { - super(absoluteBeamWidth, relativeBeamWidth); - } - - public PartitionActiveListFactory() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.ActiveListFactory#newInstance() - */ - @Override - public ActiveList newInstance() { - return new PartitionActiveList(absoluteBeamWidth, logRelativeBeamWidth); - } - - - /** - * An active list that does absolute beam with pruning by partitioning the - * token list based on absolute beam width, instead of sorting the token - * list, and then chopping the list up with the absolute beam width. The - * expected run time of this partitioning algorithm is O(n), instead of O(n log n) - * for merge sort. - *

- * This class is not thread safe and should only be used by a single thread. - *

- * Note that all scores are maintained in the LogMath log base. - */ - class PartitionActiveList implements ActiveList { - - private int size; - private final int absoluteBeamWidth; - private final float logRelativeBeamWidth; - private Token bestToken; - // when the list is changed these things should be - // changed/updated as well - private Token[] tokenList; - private final Partitioner partitioner = new Partitioner(); - - - /** Creates an empty active list - * @param absoluteBeamWidth beam for absolute pruning - * @param logRelativeBeamWidth beam for relative pruning - */ - public PartitionActiveList(int absoluteBeamWidth, - float logRelativeBeamWidth) { - this.absoluteBeamWidth = absoluteBeamWidth; - this.logRelativeBeamWidth = logRelativeBeamWidth; - int listSize = 2000; - if (absoluteBeamWidth > 0) { - listSize = absoluteBeamWidth / 3; - } - this.tokenList = new Token[listSize]; - } - - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token) { - if (size < tokenList.length) { - tokenList[size] = token; - size++; - } else { - // token array too small, double the capacity - doubleCapacity(); - add(token); - } - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - - - /** Doubles the capacity of the Token array. */ - private void doubleCapacity() { - tokenList = Arrays.copyOf(tokenList, tokenList.length * 2); - } - - - /** - * Purges excess members. Remove all nodes that fall below the relativeBeamWidth - * - * @return a (possible new) active list - */ - public ActiveList purge() { - // if the absolute beam is zero, this means there - // should be no constraint on the abs beam size at all - // so we will only be relative beam pruning, which means - // that we don't have to sort the list - if (absoluteBeamWidth > 0) { - // if we have an absolute beam, then we will - // need to sort the tokens to apply the beam - if (size > absoluteBeamWidth) { - size = partitioner.partition(tokenList, size, - absoluteBeamWidth) + 1; - } - } - return this; - } - - - /** - * gets the beam threshold best upon the best scoring token - * - * @return the beam threshold - */ - public float getBeamThreshold() { - return getBestScore() + logRelativeBeamWidth; - } - - - /** - * gets the best score in the list - * - * @return the best score - */ - public float getBestScore() { - float bestScore = -Float.MAX_VALUE; - if (bestToken != null) { - bestScore = bestToken.getScore(); - } - // A sanity check - // for (Token t : this) { - // if (t.getScore() > bestScore) { - // System.out.println("GBS: found better score " - // + t + " vs. " + bestScore); - // } - // } - return bestScore; - } - - - /** - * Sets the best scoring token for this active list - * - * @param token the best scoring token - */ - public void setBestToken(Token token) { - bestToken = token; - } - - - /** - * Gets the best scoring token for this active list - * - * @return the best scoring token - */ - public Token getBestToken() { - return bestToken; - } - - - /** - * Retrieves the iterator for this tree. - * - * @return the iterator for this token list - */ - public Iterator iterator() { - return (new TokenArrayIterator(tokenList, size)); - } - - - /** - * Gets the list of all tokens - * - * @return the list of tokens - */ - public List getTokens() { - return Arrays.asList(tokenList).subList(0, size); - } - - /** - * Returns the number of tokens on this active list - * - * @return the size of the active list - */ - public final int size() { - return size; - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.search.ActiveList#createNew() - */ - public ActiveList newInstance() { - return PartitionActiveListFactory.this.newInstance(); - } - } -} - -class TokenArrayIterator implements Iterator { - - private final Token[] tokenArray; - private final int size; - private int pos; - - - TokenArrayIterator(Token[] tokenArray, int size) { - this.tokenArray = tokenArray; - this.pos = 0; - this.size = size; - } - - - /** Returns true if the iteration has more tokens. */ - public boolean hasNext() { - return pos < size; - } - - - /** Returns the next token in the iteration. */ - public Token next() throws NoSuchElementException { - if (pos >= tokenArray.length) { - throw new NoSuchElementException(); - } - return tokenArray[pos++]; - } - - - /** Unimplemented, throws an Error if called. */ - public void remove() { - throw new Error("TokenArrayIterator.remove() unimplemented"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Partitioner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Partitioner.java deleted file mode 100755 index e20affcf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Partitioner.java +++ /dev/null @@ -1,180 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.search; - -import java.util.Arrays; -import edu.cmu.sphinx.decoder.scorer.Scoreable; - -/** - * Partitions a list of tokens according to the token score, used - * in {@link PartitionActiveListFactory}. This method is supposed - * to provide O(n) performance so it's more preferable than - */ -public class Partitioner { - - /** Max recursion depth **/ - final private int MAX_DEPTH = 50; - - - /** - * Partitions sub-array of tokens around the end token. - * Put all elements less or equal then pivot to the start of the array, - * shifting new pivot position - * - * @param tokens the token array to partition - * @param start the starting index of the subarray - * @param end the pivot and the ending index of the subarray, inclusive - * @return the index (after partitioning) of the element around which the array is partitioned - */ - private int endPointPartition(Token[] tokens, int start, int end) { - Token pivot = tokens[end]; - float pivotScore = pivot.getScore(); - - int i = start; - int j = end - 1; - - while (true) { - - while (i < end && tokens[i].getScore() >= pivotScore) - i++; - while (j > i && tokens[j].getScore() < pivotScore) - j--; - - if (j <= i) - break; - - Token current = tokens[j]; - setToken(tokens, j, tokens[i]); - setToken(tokens, i, current); - } - - setToken(tokens, end, tokens[i]); - setToken(tokens, i, pivot); - return i; - } - - - /** - * Partitions sub-array of tokens around the x-th token by selecting the midpoint of the token array as the pivot. - * Partially solves issues with slow performance on already sorted arrays. - * - * @param tokens the token array to partition - * @param start the starting index of the subarray - * @param end the ending index of the subarray, inclusive - * @return the index of the element around which the array is partitioned - */ - private int midPointPartition(Token[] tokens, int start, int end) { - int middle = (start + end) >>> 1; - Token temp = tokens[end]; - setToken(tokens, end, tokens[middle]); - setToken(tokens, middle, temp); - return endPointPartition(tokens, start, end); - } - - - /** - * Partitions the given array of tokens in place, so that the highest scoring n token will be at the beginning of - * the array, not in any order. - * - * @param tokens the array of tokens to partition - * @param size the number of tokens to partition - * @param n the number of tokens in the final partition - * @return the index of the last element in the partition - */ - public int partition(Token[] tokens, int size, int n) { - if (tokens.length > n) { - return midPointSelect(tokens, 0, size - 1, n, 0); - } else { - return findBest(tokens, size); - } - } - - /** - * Simply find the best token and put it in the last slot - * - * @param tokens array of tokens - * @param size the number of tokens to partition - * @return index of the best token - */ - private int findBest(Token[] tokens, int size) { - int r = -1; - float lowestScore = Float.MAX_VALUE; - for (int i = 0; i < tokens.length; i++) { - float currentScore = tokens[i].getScore(); - if (currentScore <= lowestScore) { - lowestScore = currentScore; - r = i; // "r" is the returned index - } - } - - // exchange tokens[r] <=> last token, - // where tokens[r] has the lowest score - int last = size - 1; - if (last >= 0) { - Token lastToken = tokens[last]; - setToken(tokens, last, tokens[r]); - setToken(tokens, r, lastToken); - } - - // return the last index - return last; - } - - - private void setToken(Token[] list, int index, Token token) { - list[index] = token; - } - - /** - * Selects the token with the ith largest token score. - * - * @param tokens the token array to partition - * @param start the starting index of the subarray - * @param end the ending index of the subarray, inclusive - * @param targetSize target size of the partition - * @param depth recursion depth to avoid stack overflow and fall back to simple partition. - * @return the index of the token with the ith largest score - */ - private int midPointSelect(Token[] tokens, int start, int end, int targetSize, int depth) { - if (depth > MAX_DEPTH) { - return simplePointSelect (tokens, start, end, targetSize); - } - if (start == end) { - return start; - } - int partitionToken = midPointPartition(tokens, start, end); - int newSize = partitionToken - start + 1; - if (targetSize == newSize) { - return partitionToken; - } else if (targetSize < newSize) { - return midPointSelect(tokens, start, partitionToken - 1, targetSize, depth + 1); - } else { - return midPointSelect(tokens, partitionToken + 1, end, targetSize - newSize, depth + 1); - } - } - - /** - * Fallback method to get the partition - * - * @param tokens the token array to partition - * @param start the starting index of the subarray - * @param end the ending index of the subarray, inclusive - * @param targetSize target size of the partition - * @return the index of the token with the ith largest score - */ - private int simplePointSelect(Token[] tokens, int start, int end, int targetSize) { - Arrays.sort(tokens, start, end + 1, Scoreable.COMPARATOR); - return start + targetSize - 1; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SearchManager.java deleted file mode 100755 index 7f3b00aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SearchManager.java +++ /dev/null @@ -1,64 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.Configurable; - -/** - * Defines the interface for the SearchManager. The SearchManager's primary role is to execute the search for a given - * number of frames. The SearchManager will return interim results as the recognition proceeds and when recognition - * completes a final result will be returned. - */ -public interface SearchManager extends Configurable { - - /** - * Allocates the resources necessary for this search. This should be called once before an recognitions are - * performed - */ - public void allocate(); - - - /** - * Deallocates resources necessary for this search. This should be called once after all recognitions are completed - * at the search manager is no longer needed. - */ - public void deallocate(); - - - /** - * Prepares the SearchManager for recognition. This method must be called before recognize is - * called. Typically, start and stop are called bracketing an utterance. - */ - public void startRecognition(); - - - /** Performs post-recognition cleanup. This method should be called after recognize returns a final result. */ - public void stopRecognition(); - - - /** - * Performs recognition. Processes no more than the given number of frames before returning. This method returns a - * partial result after nFrames have been processed, or a final result if recognition completes while processing - * frames. If a final result is returned, the actual number of frames processed can be retrieved from the result. - * This method may block while waiting for frames to arrive. - * - * @param nFrames the maximum number of frames to process. A final result may be returned before all nFrames are - * processed. - * @return the recognition result, the result may be a partial or a final result; or return null if no frames are - * arrived - */ - public Result recognize(int nFrames); -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListFactory.java deleted file mode 100755 index 9f61bc6a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListFactory.java +++ /dev/null @@ -1,222 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import java.util.Collections; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - -/** A factory for simple active lists */ -public class SimpleActiveListFactory extends ActiveListFactory { - - /** - * Creates factory for simple active lists - * @param absoluteBeamWidth absolute pruning beam - * @param relativeBeamWidth relative pruning beam - */ - public SimpleActiveListFactory(int absoluteBeamWidth, - double relativeBeamWidth) - { - super(absoluteBeamWidth, relativeBeamWidth); - } - - public SimpleActiveListFactory() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.ActiveListFactory#newInstance() - */ - @Override - public ActiveList newInstance() { - return new SimpleActiveList(absoluteBeamWidth, logRelativeBeamWidth); - } - - - /** - * An active list that tries to be simple and correct. This type of active list will be slow, but should exhibit - * correct behavior. Faster versions of the ActiveList exist (HeapActiveList, TreeActiveList). - *

- * This class is not thread safe and should only be used by a single thread. - *

- * Note that all scores are maintained in the LogMath log domain - */ - class SimpleActiveList implements ActiveList { - - private int absoluteBeamWidth = 2000; - private final float logRelativeBeamWidth; - private Token bestToken; - private List tokenList = new LinkedList(); - - - /** - * Creates an empty active list - * - * @param absoluteBeamWidth the absolute beam width - * @param logRelativeBeamWidth the relative beam width (in the log domain) - */ - public SimpleActiveList(int absoluteBeamWidth, - float logRelativeBeamWidth) { - this.absoluteBeamWidth = absoluteBeamWidth; - this.logRelativeBeamWidth = logRelativeBeamWidth; - } - - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token) { - tokenList.add(token); - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - - - /** - * Replaces an old token with a new token - * - * @param oldToken the token to replace (or null in which case, replace works like add). - * @param newToken the new token to be placed in the list. - */ - public void replace(Token oldToken, Token newToken) { - add(newToken); - if (oldToken != null) { - if (!tokenList.remove(oldToken)) { - // Some optional debugging code here to dump out the paths - // when this "should never happen" error happens - // System.out.println("SimpleActiveList: remove " - // + oldToken + " missing, but replaced by " - // + newToken); - // oldToken.dumpTokenPath(true); - // newToken.dumpTokenPath(true); - } - } - } - - - /** - * Purges excess members. Remove all nodes that fall below the relativeBeamWidth - * - * @return a (possible new) active list - */ - public ActiveList purge() { - if (absoluteBeamWidth > 0 && tokenList.size() > absoluteBeamWidth) { - Collections.sort(tokenList, Scoreable.COMPARATOR); - tokenList = tokenList.subList(0, absoluteBeamWidth); - } - return this; - } - - - /** - * Retrieves the iterator for this tree. - * - * @return the iterator for this token list - */ - public Iterator iterator() { - return tokenList.iterator(); - } - - - /** - * Gets the set of all tokens - * - * @return the set of tokens - */ - public List getTokens() { - return tokenList; - } - - - /** - * Returns the number of tokens on this active list - * - * @return the size of the active list - */ - public final int size() { - return tokenList.size(); - } - - - /** - * gets the beam threshold best upon the best scoring token - * - * @return the beam threshold - */ - public float getBeamThreshold() { - return getBestScore() + logRelativeBeamWidth; - } - - - /** - * gets the best score in the list - * - * @return the best score - */ - public float getBestScore() { - float bestScore = -Float.MAX_VALUE; - if (bestToken != null) { - bestScore = bestToken.getScore(); - } - return bestScore; - } - - - /** - * Sets the best scoring token for this active list - * - * @param token the best scoring token - */ - public void setBestToken(Token token) { - bestToken = token; - } - - - /** - * Gets the best scoring token for this active list - * - * @return the best scoring token - */ - public Token getBestToken() { - return bestToken; - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.search.ActiveList#createNew() - */ - public ActiveList newInstance() { - return SimpleActiveListFactory.this.newInstance(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListManager.java deleted file mode 100755 index e8a2ff45..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleActiveListManager.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4ComponentList; - -import java.util.Iterator; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.logging.Logger; - -/** - * A list of ActiveLists. Different token types are placed in different lists. - *

- * This class is not thread safe and should only be used by a single thread. - */ -public class SimpleActiveListManager implements ActiveListManager { - - /** - * This property is used in the Iterator returned by the getNonEmittingListIterator() method. When the - * Iterator.next() method is called, this property determines whether the lists prior to that returned by next() are - * empty (they should be empty). If they are not empty, an Error will be thrown. - */ - @S4Boolean(defaultValue = false) - public static final String PROP_CHECK_PRIOR_LISTS_EMPTY = "checkPriorListsEmpty"; - - /** The property that defines the name of the active list factory to be used by this search manager. */ - @S4ComponentList(type = ActiveListFactory.class) - public final static String PROP_ACTIVE_LIST_FACTORIES = "activeListFactories"; - - // -------------------------------------- - // Configuration data - // -------------------------------------- - private Logger logger; - private boolean checkPriorLists; - private List activeListFactories; - private ActiveList[] currentActiveLists; - - - /** - * Create a simple list manager - * @param activeListFactories factories - * @param checkPriorLists check prior lists during operation - */ - public SimpleActiveListManager(List activeListFactories, boolean checkPriorLists) { - this.logger = Logger.getLogger( getClass().getName() ); - - this.activeListFactories = activeListFactories; - this.checkPriorLists = checkPriorLists; - } - - public SimpleActiveListManager() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - - activeListFactories = ps.getComponentList(PROP_ACTIVE_LIST_FACTORIES, ActiveListFactory.class); - checkPriorLists = ps.getBoolean(PROP_CHECK_PRIOR_LISTS_EMPTY); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.ActiveListManager#setNumStateOrder(java.lang.Class[]) - */ - public void setNumStateOrder(int numStateOrder) { - // check to make sure that we have the correct - // number of active list factories for the given search states - currentActiveLists = new ActiveList[numStateOrder]; - - if (activeListFactories.isEmpty()) { - logger.severe("No active list factories configured"); - throw new Error("No active list factories configured"); - } - if (activeListFactories.size() != currentActiveLists.length) { - logger.warning("Need " + currentActiveLists.length + - " active list factories, found " + - activeListFactories.size()); - } - createActiveLists(); - } - - - /** - * Creates the emitting and non-emitting active lists. When creating the non-emitting active lists, we will look at - * their respective beam widths (eg, word beam, unit beam, state beam). - */ - private void createActiveLists() { - int nlists = activeListFactories.size(); - for (int i = 0; i < currentActiveLists.length; i++) { - int which = i; - if (which >= nlists) { - which = nlists - 1; - } - ActiveListFactory alf = activeListFactories.get(which); - currentActiveLists[i] = alf.newInstance(); - } - } - - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token) { - ActiveList activeList = findListFor(token); - if (activeList == null) { - throw new Error("Cannot find ActiveList for " - + token.getSearchState().getClass()); - } - activeList.add(token); - } - - - /** - * Given a token find the active list associated with the token type - * - * @param token - * @return the active list - */ - private ActiveList findListFor(Token token) { - return currentActiveLists[token.getSearchState().getOrder()]; - } - - - /** - * Returns the emitting ActiveList from the manager - * - * @return the emitting ActiveList - */ - public ActiveList getEmittingList() { - ActiveList list = currentActiveLists[currentActiveLists.length - 1]; - return list; - } - - - /** - * Clears emitting list in manager - */ - public void clearEmittingList() { - ActiveList list = currentActiveLists[currentActiveLists.length - 1]; - currentActiveLists[currentActiveLists.length - 1] = list.newInstance(); - } - - - /** - * Returns an Iterator of all the non-emitting ActiveLists. The iteration order is the same as the search state - * order. - * - * @return an Iterator of non-emitting ActiveLists - */ - public Iterator getNonEmittingListIterator() { - return (new NonEmittingListIterator()); - } - - - private class NonEmittingListIterator implements Iterator { - - private int listPtr; - - - public NonEmittingListIterator() { - listPtr = -1; - } - - - public boolean hasNext() { - return listPtr + 1 < currentActiveLists.length - 1; - } - - - public ActiveList next() throws NoSuchElementException { - listPtr++; - - if (listPtr >= currentActiveLists.length) { - throw new NoSuchElementException(); - } - if (checkPriorLists) { - checkPriorLists(); - } - return currentActiveLists[listPtr]; - } - - - /** Check that all lists prior to listPtr is empty. */ - private void checkPriorLists() { - for (int i = 0; i < listPtr; i++) { - ActiveList activeList = currentActiveLists[i]; - if (activeList.size() > 0) { - throw new Error("At while processing state order" - + listPtr + ", state order " + i + " not empty"); - } - } - } - - - public void remove() { - currentActiveLists[listPtr] = - currentActiveLists[listPtr].newInstance(); - } - } - - - /** Outputs debugging info for this list manager */ - public void dump() { - System.out.println("--------------------"); - for (ActiveList al : currentActiveLists) { - dumpList(al); - } - } - - - /** - * Dumps out debugging info for the given active list - * - * @param al the active list to dump - */ - private void dumpList(ActiveList al) { - System.out.println("Size: " + al.size() + " Best token: " + al.getBestToken()); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleBreadthFirstSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleBreadthFirstSearchManager.java deleted file mode 100755 index aca17e59..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SimpleBreadthFirstSearchManager.java +++ /dev/null @@ -1,680 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.decoder.pruner.Pruner; -import edu.cmu.sphinx.decoder.scorer.AcousticScorer; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StatisticsVariable; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.io.IOException; - -/** - * Provides the breadth first search. To perform recognition an application should call initialize before recognition - * begins, and repeatedly call recognize until Result.isFinal() returns true. Once a final result has - * been obtained, terminate should be called. - *

- * All scores and probabilities are maintained in the log math log domain. - *

- * For information about breadth first search please refer to "Spoken Language Processing", X. Huang, PTR - */ - -// TODO - need to add in timing code. -public class SimpleBreadthFirstSearchManager extends TokenSearchManager { - - /** The property that defines the name of the linguist to be used by this search manager. */ - @S4Component(type = Linguist.class) - public final static String PROP_LINGUIST = "linguist"; - - /** The property that defines the name of the linguist to be used by this search manager. */ - @S4Component(type = Pruner.class) - public final static String PROP_PRUNER = "pruner"; - - /** The property that defines the name of the scorer to be used by this search manager. */ - @S4Component(type = AcousticScorer.class) - public final static String PROP_SCORER = "scorer"; - - /** The property that defines the name of the active list factory to be used by this search manager. */ - @S4Component(type = ActiveListFactory.class) - public final static String PROP_ACTIVE_LIST_FACTORY = "activeListFactory"; - - /** - * The property that when set to true will cause the recognizer to count up all the tokens in the - * active list after every frame. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_TOKEN_COUNT = "showTokenCount"; - - /** - * The property that sets the minimum score relative to the maximum score in the word list for pruning. Words with a - * score less than relativeBeamWidth * maximumScore will be pruned from the list - */ - @S4Double(defaultValue = 0.0) - public final static String PROP_RELATIVE_WORD_BEAM_WIDTH = "relativeWordBeamWidth"; - - /** - * The property that controls whether or not relative beam pruning will be performed on the entry into a - * state. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_WANT_ENTRY_PRUNING = "wantEntryPruning"; - - /** - * The property that controls the number of frames processed for every time the decode growth step is skipped. - * Setting this property to zero disables grow skipping. Setting this number to a small integer will increase the - * speed of the decoder but will also decrease its accuracy. The higher the number, the less often the grow code is - * skipped. - */ - @S4Integer(defaultValue = 0) - public final static String PROP_GROW_SKIP_INTERVAL = "growSkipInterval"; - - - protected Linguist linguist; // Provides grammar/language info - private Pruner pruner; // used to prune the active list - private AcousticScorer scorer; // used to score the active list - protected int currentFrameNumber; // the current frame number - protected long currentCollectTime; // the current frame number - protected ActiveList activeList; // the list of active tokens - protected List resultList; // the current set of results - protected LogMath logMath; - - private Logger logger; - private String name; - - // ------------------------------------ - // monitoring data - // ------------------------------------ - - private Timer scoreTimer; // TODO move these timers out - private Timer pruneTimer; - protected Timer growTimer; - private StatisticsVariable totalTokensScored; - private StatisticsVariable tokensPerSecond; - private StatisticsVariable curTokensScored; - private StatisticsVariable tokensCreated; - private StatisticsVariable viterbiPruned; - private StatisticsVariable beamPruned; - - // ------------------------------------ - // Working data - // ------------------------------------ - - protected boolean showTokenCount; - private boolean wantEntryPruning; - protected Map bestTokenMap; - private float logRelativeWordBeamWidth; - private int totalHmms; - private double startTime; - private float threshold; - private float wordThreshold; - private int growSkipInterval; - protected ActiveListFactory activeListFactory; - protected boolean streamEnd; - - public SimpleBreadthFirstSearchManager() { - - } - - /** - * Creates a manager for simple search - * - * @param linguist linguist to configure search space - * @param pruner pruner to prune extra paths - * @param scorer scorer to estimate token probability - * @param activeListFactory factory for list of tokens - * @param showTokenCount show count of the tokens during decoding - * @param relativeWordBeamWidth relative pruning beam for lookahead - * @param growSkipInterval interval to skip growth step - * @param wantEntryPruning entry pruning - */ - public SimpleBreadthFirstSearchManager(Linguist linguist, Pruner pruner, - AcousticScorer scorer, ActiveListFactory activeListFactory, - boolean showTokenCount, double relativeWordBeamWidth, - int growSkipInterval, boolean wantEntryPruning) { - this.name = getClass().getName(); - this.logger = Logger.getLogger(name); - this.logMath = LogMath.getLogMath(); - this.linguist = linguist; - this.pruner = pruner; - this.scorer = scorer; - this.activeListFactory = activeListFactory; - this.showTokenCount = showTokenCount; - this.growSkipInterval = growSkipInterval; - this.wantEntryPruning = wantEntryPruning; - this.logRelativeWordBeamWidth = logMath.linearToLog(relativeWordBeamWidth); - this.keepAllTokens = true; - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - logMath = LogMath.getLogMath(); - logger = ps.getLogger(); - name = ps.getInstanceName(); - - linguist = (Linguist) ps.getComponent(PROP_LINGUIST); - pruner = (Pruner) ps.getComponent(PROP_PRUNER); - scorer = (AcousticScorer) ps.getComponent(PROP_SCORER); - activeListFactory = (ActiveListFactory) ps.getComponent(PROP_ACTIVE_LIST_FACTORY); - showTokenCount = ps.getBoolean(PROP_SHOW_TOKEN_COUNT); - - double relativeWordBeamWidth = ps.getDouble(PROP_RELATIVE_WORD_BEAM_WIDTH); - growSkipInterval = ps.getInt(PROP_GROW_SKIP_INTERVAL); - wantEntryPruning = ps.getBoolean(PROP_WANT_ENTRY_PRUNING); - logRelativeWordBeamWidth = logMath.linearToLog(relativeWordBeamWidth); - - this.keepAllTokens = true; - } - - - /** Called at the start of recognition. Gets the search manager ready to recognize */ - public void startRecognition() { - logger.finer("starting recognition"); - - linguist.startRecognition(); - pruner.startRecognition(); - scorer.startRecognition(); - localStart(); - if (startTime == 0.0) { - startTime = System.currentTimeMillis(); - } - } - - - /** - * Performs the recognition for the given number of frames. - * - * @param nFrames the number of frames to recognize - * @return the current result or null if there is no Result (due to the lack of frames to recognize) - */ - public Result recognize(int nFrames) { - boolean done = false; - Result result = null; - streamEnd = false; - - for (int i = 0; i < nFrames && !done; i++) { - done = recognize(); - } - - // generate a new temporary result if the current token is based on a final search state - // remark: the first check for not null is necessary in cases that the search space does not contain scoreable tokens. - if (activeList.getBestToken() != null) { - // to make the current result as correct as possible we undo the last search graph expansion here - ActiveList fixedList = undoLastGrowStep(); - - // Now create the result using the fixed active-list. - if (!streamEnd) - result = - new Result(fixedList, resultList, currentFrameNumber, done, linguist.getSearchGraph().getWordTokenFirst(), false); - } - - if (showTokenCount) { - showTokenCount(); - } - - return result; - } - - - /** - * Because the growBranches() is called although no data is left after the last speech frame, the ordering of the - * active-list might depend on the transition probabilities and (penalty-scores) only. Therefore we need to undo the last - * grow-step up to final states or the last emitting state in order to fix the list. - * @return newly created list - */ - protected ActiveList undoLastGrowStep() { - ActiveList fixedList = activeList.newInstance(); - - for (Token token : activeList) { - Token curToken = token.getPredecessor(); - - // remove the final states that are not the real final ones because they're just hide prior final tokens: - while (curToken.getPredecessor() != null && ( - (curToken.isFinal() && curToken.getPredecessor() != null && !curToken.getPredecessor().isFinal()) - || (curToken.isEmitting() && curToken.getData() == null) // the so long not scored tokens - || (!curToken.isFinal() && !curToken.isEmitting()))) { - curToken = curToken.getPredecessor(); - } - - fixedList.add(curToken); - } - - return fixedList; - } - - - /** Terminates a recognition */ - public void stopRecognition() { - localStop(); - scorer.stopRecognition(); - pruner.stopRecognition(); - linguist.stopRecognition(); - - logger.finer("recognition stopped"); - } - - - /** - * Performs recognition for one frame. Returns true if recognition has been completed. - * - * @return true if recognition is completed. - */ - protected boolean recognize() { - boolean more = scoreTokens(); // score emitting tokens - if (more) { - pruneBranches(); // eliminate poor branches - currentFrameNumber++; - if (growSkipInterval == 0 - || (currentFrameNumber % growSkipInterval) != 0) { - growBranches(); // extend remaining branches - } - } - return !more; - } - - - /** Gets the initial grammar node from the linguist and creates a GrammarNodeToken */ - protected void localStart() { - currentFrameNumber = 0; - curTokensScored.value = 0; - ActiveList newActiveList = activeListFactory.newInstance(); - SearchState state = linguist.getSearchGraph().getInitialState(); - newActiveList.add(new Token(state, -1)); - activeList = newActiveList; - - growBranches(); - } - - - /** Local cleanup for this search manager */ - protected void localStop() { - } - - - /** - * Goes through the active list of tokens and expands each token, finding the set of successor tokens until all the - * successor tokens are emitting tokens. - */ - protected void growBranches() { - int mapSize = activeList.size() * 10; - if (mapSize == 0) { - mapSize = 1; - } - growTimer.start(); - bestTokenMap = new HashMap(mapSize); - ActiveList oldActiveList = activeList; - resultList = new LinkedList(); - activeList = activeListFactory.newInstance(); - threshold = oldActiveList.getBeamThreshold(); - wordThreshold = oldActiveList.getBestScore() + logRelativeWordBeamWidth; - - for (Token token : oldActiveList) { - collectSuccessorTokens(token); - } - growTimer.stop(); - if (logger.isLoggable(Level.FINE)) { - int hmms = activeList.size(); - totalHmms += hmms; - logger.fine("Frame: " + currentFrameNumber + " Hmms: " - + hmms + " total " + totalHmms); - } - } - - - /** - * Calculate the acoustic scores for the active list. The active list should contain only emitting tokens. - * - * @return true if there are more frames to score, otherwise, false - */ - protected boolean scoreTokens() { - boolean hasMoreFrames = false; - - scoreTimer.start(); - Data data = scorer.calculateScores(activeList.getTokens()); - scoreTimer.stop(); - - Token bestToken = null; - if (data instanceof Token) { - bestToken = (Token)data; - } else if (data == null) { - streamEnd = true; - } - - if (bestToken != null) { - hasMoreFrames = true; - currentCollectTime = bestToken.getCollectTime(); - activeList.setBestToken(bestToken); - } - - // update statistics - curTokensScored.value += activeList.size(); - totalTokensScored.value += activeList.size(); - tokensPerSecond.value = totalTokensScored.value / getTotalTime(); - -// if (logger.isLoggable(Level.FINE)) { -// logger.fine(currentFrameNumber + " " + activeList.size() -// + " " + curTokensScored.value + " " -// + (int) tokensPerSecond.value); -// } - - return hasMoreFrames; - } - - - /** - * Returns the total time since we start4ed - * - * @return the total time (in seconds) - */ - private double getTotalTime() { - return (System.currentTimeMillis() - startTime) / 1000.0; - } - - - /** Removes unpromising branches from the active list */ - protected void pruneBranches() { - int startSize = activeList.size(); - pruneTimer.start(); - activeList = pruner.prune(activeList); - beamPruned.value += startSize - activeList.size(); - pruneTimer.stop(); - } - - - /** - * Gets the best token for this state - * - * @param state the state of interest - * @return the best token - */ - protected Token getBestToken(SearchState state) { - Token best = bestTokenMap.get(state); - if (logger.isLoggable(Level.FINER) && best != null) { - logger.finer("BT " + best + " for state " + state); - } - return best; - } - - - /** - * Sets the best token for a given state - * - * @param token the best token - * @param state the state - * @return the previous best token for the given state, or null if no previous best token - */ - protected Token setBestToken(Token token, SearchState state) { - return bestTokenMap.put(state, token); - } - - - public ActiveList getActiveList() { - return activeList; - } - - - /** - * Collects the next set of emitting tokens from a token and accumulates them in the active or result lists - * - * @param token the token to collect successors from - */ - protected void collectSuccessorTokens(Token token) { - SearchState state = token.getSearchState(); - // If this is a final state, add it to the final list - if (token.isFinal()) { - resultList.add(token); - } - if (token.getScore() < threshold) { - return; - } - if (state instanceof WordSearchState - && token.getScore() < wordThreshold) { - return; - } - SearchStateArc[] arcs = state.getSuccessors(); - // For each successor - // calculate the entry score for the token based upon the - // predecessor token score and the transition probabilities - // if the score is better than the best score encountered for - // the SearchState and frame then create a new token, add - // it to the lattice and the SearchState. - // If the token is an emitting token add it to the list, - // otherwise recursively collect the new tokens successors. - for (SearchStateArc arc : arcs) { - SearchState nextState = arc.getState(); - // We're actually multiplying the variables, but since - // these come in log(), multiply gets converted to add - float logEntryScore = token.getScore() + arc.getProbability(); - if (wantEntryPruning) { // false by default - if (logEntryScore < threshold) { - continue; - } - if (nextState instanceof WordSearchState - && logEntryScore < wordThreshold) { - continue; - } - } - Token predecessor = getResultListPredecessor(token); - - // if not emitting, check to see if we've already visited - // this state during this frame. Expand the token only if we - // haven't visited it already. This prevents the search - // from getting stuck in a loop of states with no - // intervening emitting nodes. This can happen with nasty - // jsgf grammars such as ((foo*)*)* - if (!nextState.isEmitting()) { - Token newToken = new Token(predecessor, nextState, logEntryScore, - arc.getInsertionProbability(), - arc.getLanguageProbability(), - currentCollectTime); - tokensCreated.value++; - if (!isVisited(newToken)) { - collectSuccessorTokens(newToken); - } - continue; - } - - Token bestToken = getBestToken(nextState); - if (bestToken == null) { - Token newToken = new Token(predecessor, nextState, logEntryScore, - arc.getInsertionProbability(), - arc.getLanguageProbability(), - currentFrameNumber); - tokensCreated.value++; - setBestToken(newToken, nextState); - activeList.add(newToken); - } else { - if (bestToken.getScore() <= logEntryScore) { - bestToken.update(predecessor, nextState, logEntryScore, - arc.getInsertionProbability(), - arc.getLanguageProbability(), - currentCollectTime); - viterbiPruned.value++; - } else { - viterbiPruned.value++; - } - } - } - } - - - /** - * Determines whether or not we've visited the state associated with this token since the previous frame. - * - * @param t the token to check - * @return true if we've visited the search state since the last frame - */ - private boolean isVisited(Token t) { - SearchState curState = t.getSearchState(); - - t = t.getPredecessor(); - - while (t != null && !t.isEmitting()) { - if (curState.equals(t.getSearchState())) { - return true; - } - t = t.getPredecessor(); - } - return false; - } - - - /** Counts all the tokens in the active list (and displays them). This is an expensive operation. */ - protected void showTokenCount() { - if (logger.isLoggable(Level.INFO)) { - Set tokenSet = new HashSet(); - for (Token token : activeList) { - while (token != null) { - tokenSet.add(token); - token = token.getPredecessor(); - } - } - logger.info("Token Lattice size: " + tokenSet.size()); - tokenSet = new HashSet(); - for (Token token : resultList) { - while (token != null) { - tokenSet.add(token); - token = token.getPredecessor(); - } - } - logger.info("Result Lattice size: " + tokenSet.size()); - } - } - - - /** - * Returns the best token map. - * - * @return the best token map - */ - protected Map getBestTokenMap() { - return bestTokenMap; - } - - - /** - * Sets the best token Map. - * - * @param bestTokenMap the new best token Map - */ - protected void setBestTokenMap(Map bestTokenMap) { - this.bestTokenMap = bestTokenMap; - } - - - /** - * Returns the result list. - * - * @return the result list - */ - public List getResultList() { - return resultList; - } - - - /** - * Returns the current frame number. - * - * @return the current frame number - */ - public int getCurrentFrameNumber() { - return currentFrameNumber; - } - - - /** - * Returns the Timer for growing. - * - * @return the Timer for growing - */ - public Timer getGrowTimer() { - return growTimer; - } - - - /** - * Returns the tokensCreated StatisticsVariable. - * - * @return the tokensCreated StatisticsVariable. - */ - public StatisticsVariable getTokensCreated() { - return tokensCreated; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.SearchManager#allocate() - */ - public void allocate() { - totalTokensScored = StatisticsVariable - .getStatisticsVariable("totalTokensScored"); - tokensPerSecond = StatisticsVariable - .getStatisticsVariable("tokensScoredPerSecond"); - curTokensScored = StatisticsVariable - .getStatisticsVariable("curTokensScored"); - tokensCreated = StatisticsVariable - .getStatisticsVariable("tokensCreated"); - viterbiPruned = StatisticsVariable - .getStatisticsVariable("viterbiPruned"); - beamPruned = StatisticsVariable.getStatisticsVariable("beamPruned"); - - - try { - linguist.allocate(); - pruner.allocate(); - scorer.allocate(); - } catch (IOException e) { - throw new RuntimeException("Allocation of search manager resources failed", e); - } - - scoreTimer = TimerPool.getTimer(this, "Score"); - pruneTimer = TimerPool.getTimer(this, "Prune"); - growTimer = TimerPool.getTimer(this, "Grow"); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.SearchManager#deallocate() - */ - public void deallocate() { - try { - scorer.deallocate(); - pruner.deallocate(); - linguist.deallocate(); - } catch (IOException e) { - throw new RuntimeException("Deallocation of search manager resources failed", e); - } - } - - - @Override - public String toString() { - return name; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SkewPruningSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SkewPruningSearchManager.java deleted file mode 100755 index e69de29b..00000000 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SortingActiveListFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SortingActiveListFactory.java deleted file mode 100755 index 762475f9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/SortingActiveListFactory.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -/** - * @author plamere - */ -public class SortingActiveListFactory extends ActiveListFactory { - /** - * @param absoluteBeamWidth absolute pruning beam - * @param relativeBeamWidth relative pruning beam - */ - public SortingActiveListFactory(int absoluteBeamWidth, - double relativeBeamWidth) - { - super(absoluteBeamWidth, relativeBeamWidth); - } - - public SortingActiveListFactory() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.ActiveListFactory#newInstance() - */ - @Override - public ActiveList newInstance() { - return new SortingActiveList(absoluteBeamWidth, logRelativeBeamWidth); - } - - - /** - * An active list that tries to be simple and correct. This type of active list will be slow, but should exhibit - * correct behavior. Faster versions of the ActiveList exist (HeapActiveList, TreeActiveList). - *

- * This class is not thread safe and should only be used by a single thread. - *

- * Note that all scores are maintained in the LogMath log base. - */ - - class SortingActiveList implements ActiveList { - - private final static int DEFAULT_SIZE = 1000; - private final int absoluteBeamWidth; - private final float logRelativeBeamWidth; - private Token bestToken; - // when the list is changed these things should be - // changed/updated as well - private List tokenList; - - - /** - * Creates an empty active list - * - * @param absoluteBeamWidth beam for absolute pruning - * @param logRelativeBeamWidth beam for relative pruning - */ - public SortingActiveList(int absoluteBeamWidth, float logRelativeBeamWidth) { - this.absoluteBeamWidth = absoluteBeamWidth; - this.logRelativeBeamWidth = logRelativeBeamWidth; - - int initListSize = absoluteBeamWidth > 0 ? absoluteBeamWidth : DEFAULT_SIZE; - this.tokenList = new ArrayList(initListSize); - } - - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token) { - tokenList.add(token); - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - - /** - * Purges excess members. Reduce the size of the token list to the absoluteBeamWidth - * - * @return a (possible new) active list - */ - public ActiveList purge() { - // if the absolute beam is zero, this means there - // should be no constraint on the abs beam size at all - // so we will only be relative beam pruning, which means - // that we don't have to sort the list - if (absoluteBeamWidth > 0 && tokenList.size() > absoluteBeamWidth) { - Collections.sort(tokenList, Scoreable.COMPARATOR); - tokenList = tokenList.subList(0, absoluteBeamWidth); - } - return this; - } - - - /** - * gets the beam threshold best upon the best scoring token - * - * @return the beam threshold - */ - public float getBeamThreshold() { - return getBestScore() + logRelativeBeamWidth; - } - - - /** - * gets the best score in the list - * - * @return the best score - */ - public float getBestScore() { - float bestScore = -Float.MAX_VALUE; - if (bestToken != null) { - bestScore = bestToken.getScore(); - } - return bestScore; - } - - - /** - * Sets the best scoring token for this active list - * - * @param token the best scoring token - */ - public void setBestToken(Token token) { - bestToken = token; - } - - - /** - * Gets the best scoring token for this active list - * - * @return the best scoring token - */ - public Token getBestToken() { - return bestToken; - } - - - /** - * Retrieves the iterator for this tree. - * - * @return the iterator for this token list - */ - public Iterator iterator() { - return tokenList.iterator(); - } - - - /** - * Gets the list of all tokens - * - * @return the list of tokens - */ - public List getTokens() { - return tokenList; - } - - /** - * Returns the number of tokens on this active list - * - * @return the size of the active list - */ - public final int size() { - return tokenList.size(); - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.search.ActiveList#newInstance() - */ - public ActiveList newInstance() { - return SortingActiveListFactory.this.newInstance(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Token.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Token.java deleted file mode 100755 index 116cdf5a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/Token.java +++ /dev/null @@ -1,477 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.UnitSearchState; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; - -import java.text.DecimalFormat; -import java.util.*; - -/** - * Represents a single state in the recognition trellis. Subclasses of a token are used to represent the various - * emitting state. - *

- * All scores are maintained in LogMath log base - */ -public class Token implements Scoreable { - - private static int curCount; - private static int lastCount; - private static final DecimalFormat scoreFmt = new DecimalFormat("0.0000000E00"); - private static final DecimalFormat numFmt = new DecimalFormat("0000"); - - private Token predecessor; - - private float logLanguageScore; - private float logTotalScore; - private float logInsertionScore; - private float logAcousticScore; - - private SearchState searchState; - - private long collectTime; - private Data data; - - /** - * Internal constructor for a token. Used by classes Token, CombineToken, ParallelToken - * - * @param predecessor the predecessor for this token - * @param state the SentenceHMMState associated with this token - * @param logTotalScore the total entry score for this token (in LogMath log base) - * @param logInsertionScore the insertion score associated with this token (in LogMath log base) - * @param logLanguageScore the language score associated with this token (in LogMath log base) - * @param collectTime the frame collection time - */ - public Token(Token predecessor, - SearchState state, - float logTotalScore, - float logInsertionScore, - float logLanguageScore, - long collectTime) { - this.predecessor = predecessor; - this.searchState = state; - this.logTotalScore = logTotalScore; - this.logInsertionScore = logInsertionScore; - this.logLanguageScore = logLanguageScore; - this.collectTime = collectTime; - curCount++; - } - - - /** - * Creates the initial token with the given word history depth - * - * @param state the SearchState associated with this token - * @param collectTime collection time of this token - */ - public Token(SearchState state, long collectTime) { - this(null, state, 0.0f, 0.0f, 0.0f, collectTime); - } - - - /** - * Creates a Token with the given acoustic and language scores and predecessor. - * - * @param predecessor previous token - * @param logTotalScore total score - * @param logAcousticScore the log acoustic score - * @param logInsertionScore the log insertion score - * @param logLanguageScore the log language score - */ - public Token(Token predecessor, - float logTotalScore, - float logAcousticScore, - float logInsertionScore, - float logLanguageScore) { - this(predecessor, null, logTotalScore, logInsertionScore, logLanguageScore, 0); - this.logAcousticScore = logAcousticScore; - } - - - /** - * Returns the predecessor for this token, or null if this token has no predecessors - * - * @return the predecessor - */ - public Token getPredecessor() { - return predecessor; - } - - - /** - * Collect time is different from frame number because some frames might be skipped in silence detector - * - * @return collection time in milliseconds - */ - public long getCollectTime() { - return collectTime; - } - - - /** Sets the feature for this Token. - * @param data features - */ - public void setData(Data data) { - this.data = data; - if (data instanceof FloatData) { - collectTime = ((FloatData)data).getCollectTime(); - } - } - - - /** - * Returns the feature for this Token. - * - * @return the feature for this Token - */ - public Data getData() { - return data; - } - - - /** - * Returns the score for the token. The score is a combination of language and acoustic scores - * - * @return the score of this frame (in logMath log base) - */ - public float getScore() { - return logTotalScore; - } - - - /** - * Calculates a score against the given feature. The score can be retrieved - * with get score. The token will keep a reference to the scored feature-vector. - * - * @param feature the feature to be scored - * @return the score for the feature - */ - public float calculateScore(Data feature) { - - logAcousticScore = ((ScoreProvider) searchState).getScore(feature); - - logTotalScore += logAcousticScore; - - setData(feature); - - return logTotalScore; - } - - public float[] calculateComponentScore(Data feature){ - return ((ScoreProvider) searchState).getComponentScore(feature); - } - - - /** - * Normalizes a previously calculated score - * - * @param maxLogScore the score to normalize this score with - * @return the normalized score - */ - public float normalizeScore(float maxLogScore) { - logTotalScore -= maxLogScore; - logAcousticScore -= maxLogScore; - return logTotalScore; - } - - /** - * Sets the score for this token - * - * @param logScore the new score for the token (in logMath log base) - */ - public void setScore(float logScore) { - this.logTotalScore = logScore; - } - - - /** - * Returns the language score associated with this token - * - * @return the language score (in logMath log base) - */ - public float getLanguageScore() { - return logLanguageScore; - } - - /** - * Returns the insertion score associated with this token. - * Insertion score is the score of the transition between - * states. It might be transition score from the acoustic model, - * phone insertion score or word insertion probability from - * the linguist. - * - * @return the language score (in logMath log base) - */ - public float getInsertionScore() { - return logInsertionScore; - } - - - /** - * Returns the acoustic score for this token (in logMath log base). - * Acoustic score is a sum of frame GMM. - * - * @return score - */ - public float getAcousticScore() { - return logAcousticScore; - } - - - /** - * Returns the SearchState associated with this token - * - * @return the searchState - */ - public SearchState getSearchState() { - return searchState; - } - - - /** - * Determines if this token is associated with an emitting state. An emitting state is a state that can be scored - * acoustically. - * - * @return true if this token is associated with an emitting state - */ - public boolean isEmitting() { - return searchState.isEmitting(); - } - - - /** - * Determines if this token is associated with a final SentenceHMM state. - * - * @return true if this token is associated with a final state - */ - public boolean isFinal() { - return searchState.isFinal(); - } - - - /** - * Determines if this token marks the end of a word - * - * @return true if this token marks the end of a word - */ - public boolean isWord() { - return searchState instanceof WordSearchState; - } - - - /** - * Retrieves the string representation of this object - * - * @return the string representation of this object - */ - @Override - public String toString() { - return - numFmt.format(getCollectTime()) + ' ' + - scoreFmt.format(getScore()) + ' ' + - scoreFmt.format(getAcousticScore()) + ' ' + - scoreFmt.format(getLanguageScore()) + ' ' + - getSearchState(); - } - - - /** dumps a branch of tokens */ - public void dumpTokenPath() { - dumpTokenPath(true); - } - - - /** - * dumps a branch of tokens - * - * @param includeHMMStates if true include all sentence hmm states - */ - public void dumpTokenPath(boolean includeHMMStates) { - Token token = this; - List list = new ArrayList(); - - while (token != null) { - list.add(token); - token = token.getPredecessor(); - } - for (int i = list.size() - 1; i >= 0; i--) { - token = list.get(i); - if (includeHMMStates || - (!(token.getSearchState() instanceof HMMSearchState))) { - System.out.println(" " + token); - } - } - System.out.println(); - } - - - /** - * Returns the string of words leading up to this token. - * - * @param wantFiller if true, filler words are added - * @param wantPronunciations if true append [ phoneme phoneme ... ] after each word - * @return the word path - */ - public String getWordPath(boolean wantFiller, boolean wantPronunciations) { - StringBuilder sb = new StringBuilder(); - Token token = this; - - while (token != null) { - if (token.isWord()) { - WordSearchState wordState = - (WordSearchState) token.getSearchState(); - Pronunciation pron = wordState.getPronunciation(); - Word word = wordState.getPronunciation().getWord(); - -// System.out.println(token.getFrameNumber() + " " + word + " " + token.logLanguageScore + " " + token.logAcousticScore); - - if (wantFiller || !word.isFiller()) { - if (wantPronunciations) { - sb.insert(0, ']'); - Unit[] u = pron.getUnits(); - for (int i = u.length - 1; i >= 0; i--) { - if (i < u.length - 1) sb.insert(0, ','); - sb.insert(0, u[i].getName()); - } - sb.insert(0, '['); - } - sb.insert(0, word.getSpelling()); - sb.insert(0, ' '); - } - } - token = token.getPredecessor(); - } - return sb.toString().trim(); - } - - - /** - * Returns the string of words for this token, with no embedded filler words - * - * @return the string of words - */ - public String getWordPathNoFiller() { - return getWordPath(false, false); - } - - - /** - * Returns the string of words for this token, with embedded silences - * - * @return the string of words - */ - public String getWordPath() { - return getWordPath(true, false); - } - - - /** - * Returns the string of words and units for this token, with embedded silences. - * - * @return the string of words and units - */ - public String getWordUnitPath() { - StringBuilder sb = new StringBuilder(); - Token token = this; - - while (token != null) { - SearchState searchState = token.getSearchState(); - if (searchState instanceof WordSearchState) { - WordSearchState wordState = (WordSearchState) searchState; - Word word = wordState.getPronunciation().getWord(); - sb.insert(0, ' ' + word.getSpelling()); - } else if (searchState instanceof UnitSearchState) { - UnitSearchState unitState = (UnitSearchState) searchState; - Unit unit = unitState.getUnit(); - sb.insert(0, ' ' + unit.getName()); - } - token = token.getPredecessor(); - } - return sb.toString().trim(); - } - - - /** - * Returns the word of this Token, the search state is a WordSearchState. If the search state is not a - * WordSearchState, return null. - * - * @return the word of this Token, or null if this is not a word token - */ - public Word getWord() { - if (isWord()) { - WordSearchState wordState = (WordSearchState) searchState; - return wordState.getPronunciation().getWord(); - } else { - return null; - } - } - - - /** Shows the token count */ - public static void showCount() { - System.out.println("Cur count: " + curCount + " new " + - (curCount - lastCount)); - lastCount = curCount; - } - - - /** - * Determines if this branch is valid - * - * @return true if the token and its predecessors are valid - */ - public boolean validate() { - return true; - } - - - /** - * Return the DecimalFormat object for formatting the print out of scores. - * - * @return the DecimalFormat object for formatting score print outs - */ - protected static DecimalFormat getScoreFormat() { - return scoreFmt; - } - - - /** - * Return the DecimalFormat object for formatting the print out of numbers - * - * @return the DecimalFormat object for formatting number print outs - */ - protected static DecimalFormat getNumberFormat() { - return numFmt; - } - - public void update(Token predecessor, SearchState nextState, - float logEntryScore, float insertionProbability, - float languageProbability, long collectTime) { - this.predecessor = predecessor; - this.searchState = nextState; - this.logTotalScore = logEntryScore; - this.logInsertionScore = insertionProbability; - this.logLanguageScore = languageProbability; - this.collectTime = collectTime; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenHeapSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenHeapSearchManager.java deleted file mode 100755 index 8dd20307..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenHeapSearchManager.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.linguist.SearchState; -/** - * The token heap search manager that maintains the heap of best tokens for each - * search state instead of single one best token - * - */ -public class TokenHeapSearchManager extends WordPruningBreadthFirstSearchManager { - - protected final int maxTokenHeapSize = 3; - - Map bestTokenMap; - - @Override - protected void createBestTokenMap() { - int mapSize = activeList.size() << 2; - if (mapSize == 0) { - mapSize = 1; - } - bestTokenMap = new HashMap(mapSize, 0.3F); - } - - @Override - protected void setBestToken(Token token, SearchState state) { - TokenHeap th = bestTokenMap.get(state); - if (th == null) { - th = new TokenHeap(maxTokenHeapSize); - bestTokenMap.put(state, th); - } - th.add(token); - } - - @Override - protected Token getBestToken(SearchState state) { - // new way... if the heap for this state isn't full return - // null, otherwise return the worst scoring token - TokenHeap th = bestTokenMap.get(state); - Token t; - - if (th == null) { - return null; - } else if ((t = th.get(state)) != null) { - return t; - } else if (!th.isFull()) { - return null; - } else { - return th.getSmallest(); - } - } - - /** - * A quick and dirty token heap that allows us to perform token stack - * experiments. It is not very efficient. We will likely replace this with - * something better once we figure out how we want to prune things. - */ - - class TokenHeap { - - final Token[] tokens; - int curSize; - - /** - * Creates a token heap with the maximum size - * - * @param maxSize - * the maximum size of the heap - */ - TokenHeap(int maxSize) { - tokens = new Token[maxSize]; - } - - /** - * Adds a token to the heap - * - * @param token - * the token to add - */ - void add(Token token) { - // first, if an identical state exists, replace - // it. - - if (!tryReplace(token)) { - if (curSize < tokens.length) { - tokens[curSize++] = token; - } else if (token.getScore() > tokens[curSize - 1].getScore()) { - tokens[curSize - 1] = token; - } - } - fixupInsert(); - } - - /** - * Returns the smallest scoring token on the heap - * - * @return the smallest scoring token - */ - Token getSmallest() { - if (curSize == 0) { - return null; - } else { - return tokens[curSize - 1]; - } - } - - /** - * Determines if the heap is full - * - * @return true if the heap is full - */ - boolean isFull() { - return curSize == tokens.length; - } - - /** - * Checks to see if there is already a token t on the heap that has the - * same search state. If so, this token replaces that one - * - * @param t - * the token to try to add to the heap - * @return true if the token was added - */ - private boolean tryReplace(Token t) { - for (int i = 0; i < curSize; i++) { - if (t.getSearchState().equals(tokens[i].getSearchState())) { - assert t.getScore() > tokens[i].getScore(); - tokens[i] = t; - return true; - } - } - return false; - } - - /** Orders the heap after an insert */ - private void fixupInsert() { - Arrays.sort(tokens, 0, curSize - 1, Scoreable.COMPARATOR); - } - - /** - * returns a token on the heap that matches the given search state - * - * @param s - * the search state - * @return the token that matches, or null - */ - Token get(SearchState s) { - for (int i = 0; i < curSize; i++) { - if (tokens[i].getSearchState().equals(s)) { - return tokens[i]; - } - } - return null; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenSearchManager.java deleted file mode 100755 index 458dc855..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/TokenSearchManager.java +++ /dev/null @@ -1,86 +0,0 @@ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; - -abstract public class TokenSearchManager implements SearchManager { - - /** The property that specifies whether to build a word lattice. */ - @S4Boolean(defaultValue = true) - public final static String PROP_BUILD_WORD_LATTICE = "buildWordLattice"; - - /** - * The property that controls whether or not we keep all tokens. If this is - * set to false, only word tokens are retained, otherwise all tokens are - * retained. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_KEEP_ALL_TOKENS = "keepAllTokens"; - - protected boolean buildWordLattice; - protected boolean keepAllTokens; - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - buildWordLattice = ps.getBoolean(PROP_BUILD_WORD_LATTICE); - keepAllTokens = ps.getBoolean(PROP_KEEP_ALL_TOKENS); - } - - /** - * Find the token to use as a predecessor in resultList given a candidate - * predecessor. There are three cases here: - * - *

    - *
  • We want to store everything in resultList. In that case - * {@link #keepAllTokens} is set to true and we just store everything that - * was built before. - *
  • We are only interested in sequence of words. In this case we just - * keep word tokens and ignore everything else. In this case timing and - * scoring information is lost since we keep scores in emitting tokens. - *
  • We want to keep words but we want to keep scores to build a lattice - * from the result list later and {@link #buildWordLattice} is set to true. - * In this case we want to insert intermediate token to store the score and - * this token will be used during lattice path collapse to get score on - * edge. See {@link edu.cmu.sphinx.result.Lattice} for details of resultList - * compression. - *
- * - * @param token - * the token of interest - * @return the immediate successor word token - */ - protected Token getResultListPredecessor(Token token) { - - if (keepAllTokens) { - return token; - } - - if(!buildWordLattice) { - if (token.isWord()) - return token; - else - return token.getPredecessor(); - } - - float logAcousticScore = 0.0f; - float logLanguageScore = 0.0f; - float logInsertionScore = 0.0f; - - while (token != null && !token.isWord()) { - logAcousticScore += token.getAcousticScore(); - logLanguageScore += token.getLanguageScore(); - logInsertionScore += token.getInsertionScore(); - token = token.getPredecessor(); - } - - return new Token(token, token.getScore(), logInsertionScore, logAcousticScore, logLanguageScore); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordActiveListFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordActiveListFactory.java deleted file mode 100755 index 5d94a789..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordActiveListFactory.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electronic Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.decoder.search; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.*; - -/** - * A factory for WordActiveList. The word active list is active list designed to hold word tokens only. In addition to - * the usual active list properties such as absolute and relative beams, the word active list allows restricting the - * number of copies of any particular word in the word beam. Also the word active list can restrict the number of - * fillers in the beam. - */ -public class WordActiveListFactory extends ActiveListFactory { - - /** property that sets the max paths for a single word. (zero disables this feature) */ - @S4Integer(defaultValue = 0) - public final static String PROP_MAX_PATHS_PER_WORD = "maxPathsPerWord"; - - /** property that sets the max filler words allowed in the beam. (zero disables this feature) */ - @S4Integer(defaultValue = 1) - public final static String PROP_MAX_FILLER_WORDS = "maxFillerWords"; - - private int maxPathsPerWord; - private int maxFiller; - - /** - * Create factory for word active list - * @param absoluteBeamWidth beam for absolute pruning - * @param relativeBeamWidth beam for relative pruning - * @param maxPathsPerWord maximum number of path to keep per word - * @param maxFiller maximum number of fillers - */ - public WordActiveListFactory(int absoluteBeamWidth, - double relativeBeamWidth, int maxPathsPerWord, int maxFiller ) - { - super(absoluteBeamWidth, relativeBeamWidth); - this.maxPathsPerWord = maxPathsPerWord; - this.maxFiller = maxFiller; - } - - public WordActiveListFactory() { - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - maxPathsPerWord = ps.getInt(PROP_MAX_PATHS_PER_WORD); - maxFiller = ps.getInt(PROP_MAX_FILLER_WORDS); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.ActiveListFactory#newInstance() - */ - @Override - public ActiveList newInstance() { - return new WordActiveList(); - } - - - /** - * An active list that manages words. Guarantees only one version of a word. - *

- *

- * Note that all scores are maintained in the LogMath log domain - */ - class WordActiveList implements ActiveList { - - private Token bestToken; - private List tokenList = new LinkedList(); - - - /** - * Adds the given token to the list - * - * @param token the token to add - */ - public void add(Token token) { - tokenList.add(token); - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - - - /** - * Replaces an old token with a new token - * - * @param oldToken the token to replace (or null in which case, replace works like add). - * @param newToken the new token to be placed in the list. - */ - public void replace(Token oldToken, Token newToken) { - add(newToken); - if (oldToken != null) { - tokenList.remove(oldToken); - } - } - - - /** - * Purges excess members. Remove all nodes that fall below the relativeBeamWidth - * - * @return a (possible new) active list - */ - - public ActiveList purge() { - int fillerCount = 0; - Map countMap = new HashMap(); - Collections.sort(tokenList, Scoreable.COMPARATOR); - // remove word duplicates - for (Iterator i = tokenList.iterator(); i.hasNext();) { - Token token = i.next(); - WordSearchState wordState = (WordSearchState)token.getSearchState(); - - Word word = wordState.getPronunciation().getWord(); - - // only allow maxFiller words - if (maxFiller > 0) { - if (word.isFiller()) { - if (fillerCount < maxFiller) { - fillerCount++; - } else { - i.remove(); - continue; - } - } - } - - if (maxPathsPerWord > 0) { - Integer count = countMap.get(word); - int c = count == null ? 0 : count; - - // Since the tokens are sorted by score we only - // keep the n tokens for a particular word - - if (c < maxPathsPerWord - 1) { - countMap.put(word, c + 1); - } else { - i.remove(); - } - } - } - - if (tokenList.size() > absoluteBeamWidth) { - tokenList = tokenList.subList(0, absoluteBeamWidth); - } - - return this; - } - - - /** - * Retrieves the iterator for this tree. - * - * @return the iterator for this token list - */ - public Iterator iterator() { - return tokenList.iterator(); - } - - - /** - * Gets the set of all tokens - * - * @return the set of tokens - */ - public List getTokens() { - return tokenList; - } - - - /** - * Returns the number of tokens on this active list - * - * @return the size of the active list - */ - public final int size() { - return tokenList.size(); - } - - - /** - * gets the beam threshold best upon the best scoring token - * - * @return the beam threshold - */ - public float getBeamThreshold() { - return getBestScore() + logRelativeBeamWidth; - } - - - /** - * gets the best score in the list - * - * @return the best score - */ - public float getBestScore() { - float bestScore = -Float.MAX_VALUE; - if (bestToken != null) { - bestScore = bestToken.getScore(); - } - return bestScore; - } - - - /** - * Sets the best scoring token for this active list - * - * @param token the best scoring token - */ - public void setBestToken(Token token) { - bestToken = token; - } - - - /** - * Gets the best scoring token for this active list - * - * @return the best scoring token - */ - public Token getBestToken() { - return bestToken; - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.decoder.search.ActiveList#createNew() - */ - public ActiveList newInstance() { - return WordActiveListFactory.this.newInstance(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstLookaheadSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstLookaheadSearchManager.java deleted file mode 100755 index 6c7820ac..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstLookaheadSearchManager.java +++ /dev/null @@ -1,497 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - -// a test search manager. - -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Map; - -import edu.cmu.sphinx.decoder.pruner.Pruner; -import edu.cmu.sphinx.decoder.scorer.AcousticScorer; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Sphinx3Loader; -import edu.cmu.sphinx.linguist.allphone.PhoneHmmSearchState; -import edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.LexTreeHMMState; -import edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.LexTreeNonEmittingHMMState; -import edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.LexTreeWordState; -import edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.LexTreeEndUnitState; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * Provides the breadth first search with fast match heuristic included to - * reduce amount of tokens created. - *

- * All scores and probabilities are maintained in the log math log domain. - */ - -public class WordPruningBreadthFirstLookaheadSearchManager extends WordPruningBreadthFirstSearchManager { - - /** The property that to get direct access to gau for score caching control. */ - @S4Component(type = Loader.class) - public final static String PROP_LOADER = "loader"; - - /** - * The property that defines the name of the linguist to be used for fast - * match. - */ - @S4Component(type = Linguist.class) - public final static String PROP_FASTMATCH_LINGUIST = "fastmatchLinguist"; - - @S4Component(type = ActiveListFactory.class) - /** The property that defines the type active list factory for fast match */ - public final static String PROP_FM_ACTIVE_LIST_FACTORY = "fastmatchActiveListFactory"; - - @S4Double(defaultValue = 1.0) - public final static String PROP_LOOKAHEAD_PENALTY_WEIGHT = "lookaheadPenaltyWeight"; - - /** - * The property that controls size of lookahead window. Acceptable values - * are in range [1..10]. - */ - @S4Integer(defaultValue = 5) - public final static String PROP_LOOKAHEAD_WINDOW = "lookaheadWindow"; - - // ----------------------------------- - // Configured Subcomponents - // ----------------------------------- - private Linguist fastmatchLinguist; // Provides phones info for fastmatch - private Loader loader; - private ActiveListFactory fastmatchActiveListFactory; - - // ----------------------------------- - // Lookahead data - // ----------------------------------- - private int lookaheadWindow; - private float lookaheadWeight; - private HashMap penalties; - private LinkedList ciScores; - - // ----------------------------------- - // Working data - // ----------------------------------- - private int currentFastMatchFrameNumber; // the current frame number for - // lookahead matching - protected ActiveList fastmatchActiveList; // the list of active tokens for - // fast match - protected Map fastMatchBestTokenMap; - private boolean fastmatchStreamEnd; - - /** - * Creates a pruning manager with lookahead - * @param linguist a linguist for search space - * @param fastmatchLinguist a linguist for fast search space - * @param pruner pruner to drop tokens - * @param loader model loader - * @param scorer scorer to estimate token probability - * @param activeListManager active list manager to store tokens - * @param fastmatchActiveListFactory fast match active list factor to store phoneloop tokens - * @param showTokenCount show count during decoding - * @param relativeWordBeamWidth relative beam for lookahead pruning - * @param growSkipInterval skip interval for grown - * @param checkStateOrder check order of states during growth - * @param buildWordLattice build a lattice during decoding - * @param maxLatticeEdges max edges to keep in lattice - * @param acousticLookaheadFrames frames to do lookahead - * @param keepAllTokens keep tokens including emitting tokens - * @param lookaheadWindow window for lookahead - * @param lookaheadWeight weight for lookahead pruning - */ - public WordPruningBreadthFirstLookaheadSearchManager(Linguist linguist, Linguist fastmatchLinguist, Loader loader, - Pruner pruner, AcousticScorer scorer, ActiveListManager activeListManager, - ActiveListFactory fastmatchActiveListFactory, boolean showTokenCount, double relativeWordBeamWidth, - int growSkipInterval, boolean checkStateOrder, boolean buildWordLattice, int lookaheadWindow, float lookaheadWeight, - int maxLatticeEdges, float acousticLookaheadFrames, boolean keepAllTokens) { - - super(linguist, pruner, scorer, activeListManager, showTokenCount, relativeWordBeamWidth, growSkipInterval, - checkStateOrder, buildWordLattice, maxLatticeEdges, acousticLookaheadFrames, keepAllTokens); - - this.loader = loader; - this.fastmatchLinguist = fastmatchLinguist; - this.fastmatchActiveListFactory = fastmatchActiveListFactory; - this.lookaheadWindow = lookaheadWindow; - this.lookaheadWeight = lookaheadWeight; - if (lookaheadWindow < 1 || lookaheadWindow > 10) - throw new IllegalArgumentException("Unsupported lookahead window size: " + lookaheadWindow - + ". Value in range [1..10] is expected"); - this.ciScores = new LinkedList(); - this.penalties = new HashMap(); - if (loader instanceof Sphinx3Loader && ((Sphinx3Loader) loader).hasTiedMixtures()) - ((Sphinx3Loader) loader).setGauScoresQueueLength(lookaheadWindow + 2); - } - - public WordPruningBreadthFirstLookaheadSearchManager() { - - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - fastmatchLinguist = (Linguist) ps.getComponent(PROP_FASTMATCH_LINGUIST); - fastmatchActiveListFactory = (ActiveListFactory) ps.getComponent(PROP_FM_ACTIVE_LIST_FACTORY); - loader = (Loader) ps.getComponent(PROP_LOADER); - lookaheadWindow = ps.getInt(PROP_LOOKAHEAD_WINDOW); - lookaheadWeight = ps.getFloat(PROP_LOOKAHEAD_PENALTY_WEIGHT); - if (lookaheadWindow < 1 || lookaheadWindow > 10) - throw new PropertyException(WordPruningBreadthFirstLookaheadSearchManager.class.getName(), PROP_LOOKAHEAD_WINDOW, - "Unsupported lookahead window size: " + lookaheadWindow + ". Value in range [1..10] is expected"); - ciScores = new LinkedList(); - penalties = new HashMap(); - if (loader instanceof Sphinx3Loader && ((Sphinx3Loader) loader).hasTiedMixtures()) - ((Sphinx3Loader) loader).setGauScoresQueueLength(lookaheadWindow + 2); - } - - /** - * Performs the recognition for the given number of frames. - * - * @param nFrames - * the number of frames to recognize - * @return the current result - */ - @Override - public Result recognize(int nFrames) { - boolean done = false; - Result result = null; - streamEnd = false; - - for (int i = 0; i < nFrames && !done; i++) { - if (!fastmatchStreamEnd) - fastMatchRecognize(); - penalties.clear(); - ciScores.poll(); - done = recognize(); - } - - if (!streamEnd) { - result = new Result(loserManager, activeList, resultList, currentCollectTime, done, linguist.getSearchGraph() - .getWordTokenFirst(), true); - } - - // tokenTypeTracker.show(); - if (showTokenCount) { - showTokenCount(); - } - return result; - } - - private void fastMatchRecognize() { - boolean more = scoreFastMatchTokens(); - - if (more) { - pruneFastMatchBranches(); - currentFastMatchFrameNumber++; - createFastMatchBestTokenMap(); - growFastmatchBranches(); - } - } - - /** - * creates a new best token map with the best size - */ - protected void createFastMatchBestTokenMap() { - int mapSize = fastmatchActiveList.size() * 10; - if (mapSize == 0) { - mapSize = 1; - } - fastMatchBestTokenMap = new HashMap(mapSize); - } - - /** - * Gets the initial grammar node from the linguist and creates a - * GrammarNodeToken - */ - @Override - protected void localStart() { - currentFastMatchFrameNumber = 0; - if (loader instanceof Sphinx3Loader && ((Sphinx3Loader) loader).hasTiedMixtures()) - ((Sphinx3Loader) loader).clearGauScores(); - // prepare fast match active list - fastmatchActiveList = fastmatchActiveListFactory.newInstance(); - SearchState fmInitState = fastmatchLinguist.getSearchGraph().getInitialState(); - fastmatchActiveList.add(new Token(fmInitState, currentFastMatchFrameNumber)); - createFastMatchBestTokenMap(); - growFastmatchBranches(); - fastmatchStreamEnd = false; - for (int i = 0; (i < lookaheadWindow - 1) && !fastmatchStreamEnd; i++) - fastMatchRecognize(); - - super.localStart(); - } - - /** - * Goes through the fast match active list of tokens and expands each token, - * finding the set of successor tokens until all the successor tokens are - * emitting tokens. - */ - protected void growFastmatchBranches() { - growTimer.start(); - ActiveList oldActiveList = fastmatchActiveList; - fastmatchActiveList = fastmatchActiveListFactory.newInstance(); - float fastmathThreshold = oldActiveList.getBeamThreshold(); - // TODO more precise range of baseIds, remove magic number - float[] frameCiScores = new float[100]; - - Arrays.fill(frameCiScores, -Float.MAX_VALUE); - float frameMaxCiScore = -Float.MAX_VALUE; - for (Token token : oldActiveList) { - float tokenScore = token.getScore(); - if (tokenScore < fastmathThreshold) - continue; - // filling max ci scores array that will be used in general search - // token score composing - if (token.getSearchState() instanceof PhoneHmmSearchState) { - int baseId = ((PhoneHmmSearchState) token.getSearchState()).getBaseId(); - if (frameCiScores[baseId] < tokenScore) - frameCiScores[baseId] = tokenScore; - if (frameMaxCiScore < tokenScore) - frameMaxCiScore = tokenScore; - } - collectFastMatchSuccessorTokens(token); - } - ciScores.add(new FrameCiScores(frameCiScores, frameMaxCiScore)); - growTimer.stop(); - } - - protected boolean scoreFastMatchTokens() { - boolean moreTokens; - scoreTimer.start(); - Data data = scorer.calculateScoresAndStoreData(fastmatchActiveList.getTokens()); - scoreTimer.stop(); - - Token bestToken = null; - if (data instanceof Token) { - bestToken = (Token) data; - } else { - fastmatchStreamEnd = true; - } - - moreTokens = (bestToken != null); - fastmatchActiveList.setBestToken(bestToken); - - // monitorWords(activeList); - monitorStates(fastmatchActiveList); - - // System.out.println("BEST " + bestToken); - - curTokensScored.value += fastmatchActiveList.size(); - totalTokensScored.value += fastmatchActiveList.size(); - - return moreTokens; - } - - /** Removes unpromising branches from the fast match active list */ - protected void pruneFastMatchBranches() { - pruneTimer.start(); - fastmatchActiveList = pruner.prune(fastmatchActiveList); - pruneTimer.stop(); - } - - protected Token getFastMatchBestToken(SearchState state) { - return fastMatchBestTokenMap.get(state); - } - - protected void setFastMatchBestToken(Token token, SearchState state) { - fastMatchBestTokenMap.put(state, token); - } - - protected void collectFastMatchSuccessorTokens(Token token) { - SearchState state = token.getSearchState(); - SearchStateArc[] arcs = state.getSuccessors(); - // For each successor - // calculate the entry score for the token based upon the - // predecessor token score and the transition probabilities - // if the score is better than the best score encountered for - // the SearchState and frame then create a new token, add - // it to the lattice and the SearchState. - // If the token is an emitting token add it to the list, - // otherwise recursively collect the new tokens successors. - for (SearchStateArc arc : arcs) { - SearchState nextState = arc.getState(); - // We're actually multiplying the variables, but since - // these come in log(), multiply gets converted to add - float logEntryScore = token.getScore() + arc.getProbability(); - Token predecessor = getResultListPredecessor(token); - - // if not emitting, check to see if we've already visited - // this state during this frame. Expand the token only if we - // haven't visited it already. This prevents the search - // from getting stuck in a loop of states with no - // intervening emitting nodes. This can happen with nasty - // jsgf grammars such as ((foo*)*)* - if (!nextState.isEmitting()) { - Token newToken = new Token(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentFastMatchFrameNumber); - tokensCreated.value++; - if (!isVisited(newToken)) { - collectFastMatchSuccessorTokens(newToken); - } - continue; - } - - Token bestToken = getFastMatchBestToken(nextState); - if (bestToken == null) { - Token newToken = new Token(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentFastMatchFrameNumber); - tokensCreated.value++; - setFastMatchBestToken(newToken, nextState); - fastmatchActiveList.add(newToken); - } else { - if (bestToken.getScore() <= logEntryScore) { - bestToken.update(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentFastMatchFrameNumber); - } - } - } - } - - /** - * Collects the next set of emitting tokens from a token and accumulates - * them in the active or result lists - * - * @param token - * the token to collect successors from be immediately expanded - * are placed. Null if we should always expand all nodes. - */ - @Override - protected void collectSuccessorTokens(Token token) { - - // tokenTracker.add(token); - // tokenTypeTracker.add(token); - - // If this is a final state, add it to the final list - - if (token.isFinal()) { - resultList.add(getResultListPredecessor(token)); - return; - } - - // if this is a non-emitting token and we've already - // visited the same state during this frame, then we - // are in a grammar loop, so we don't continue to expand. - // This check only works properly if we have kept all of the - // tokens (instead of skipping the non-word tokens). - // Note that certain linguists will never generate grammar loops - // (lextree linguist for example). For these cases, it is perfectly - // fine to disable this check by setting keepAllTokens to false - - if (!token.isEmitting() && (keepAllTokens && isVisited(token))) { - return; - } - - SearchState state = token.getSearchState(); - SearchStateArc[] arcs = state.getSuccessors(); - Token predecessor = getResultListPredecessor(token); - - // For each successor - // calculate the entry score for the token based upon the - // predecessor token score and the transition probabilities - // if the score is better than the best score encountered for - // the SearchState and frame then create a new token, add - // it to the lattice and the SearchState. - // If the token is an emitting token add it to the list, - // otherwise recursively collect the new tokens successors. - - float tokenScore = token.getScore(); - float beamThreshold = activeList.getBeamThreshold(); - boolean stateProducesPhoneHmms = state instanceof LexTreeNonEmittingHMMState || state instanceof LexTreeWordState - || state instanceof LexTreeEndUnitState; - for (SearchStateArc arc : arcs) { - SearchState nextState = arc.getState(); - - // prune states using lookahead heuristics - if (stateProducesPhoneHmms) { - if (nextState instanceof LexTreeHMMState) { - Float penalty; - int baseId = ((LexTreeHMMState) nextState).getHMMState().getHMM().getBaseUnit().getBaseID(); - if ((penalty = penalties.get(baseId)) == null) - penalty = updateLookaheadPenalty(baseId); - if ((tokenScore + lookaheadWeight * penalty) < beamThreshold) - continue; - } - } - - if (checkStateOrder) { - checkStateOrder(state, nextState); - } - - // We're actually multiplying the variables, but since - // these come in log(), multiply gets converted to add - float logEntryScore = tokenScore + arc.getProbability(); - - Token bestToken = getBestToken(nextState); - - if (bestToken == null) { - Token newBestToken = new Token(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentCollectTime); - tokensCreated.value++; - setBestToken(newBestToken, nextState); - activeListAdd(newBestToken); - } else if (bestToken.getScore() < logEntryScore) { - // System.out.println("Updating " + bestToken + " with " + - // newBestToken); - Token oldPredecessor = bestToken.getPredecessor(); - bestToken.update(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentCollectTime); - if (buildWordLattice && nextState instanceof WordSearchState) { - loserManager.addAlternatePredecessor(bestToken, oldPredecessor); - } - } else if (buildWordLattice && nextState instanceof WordSearchState) { - if (predecessor != null) { - loserManager.addAlternatePredecessor(bestToken, predecessor); - } - } - } - } - - private Float updateLookaheadPenalty(int baseId) { - if (ciScores.isEmpty()) - return 0.0f; - float penalty = -Float.MAX_VALUE; - for (FrameCiScores frameCiScores : ciScores) { - float diff = frameCiScores.scores[baseId] - frameCiScores.maxScore; - if (diff > penalty) - penalty = diff; - } - penalties.put(baseId, penalty); - return penalty; - } - - private class FrameCiScores { - public final float[] scores; - public final float maxScore; - - public FrameCiScores(float[] scores, float maxScore) { - this.scores = scores; - this.maxScore = maxScore; - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstSearchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstSearchManager.java deleted file mode 100755 index 353230cb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/WordPruningBreadthFirstSearchManager.java +++ /dev/null @@ -1,796 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.decoder.search; - -// a test search manager. - -import edu.cmu.sphinx.decoder.pruner.Pruner; -import edu.cmu.sphinx.decoder.scorer.AcousticScorer; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StatisticsVariable; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Provides the breadth first search. To perform recognition an application - * should call initialize before recognition begins, and repeatedly call - * recognize until Result.isFinal() returns true. Once a final - * result has been obtained, stopRecognition should be called. - *

- * All scores and probabilities are maintained in the log math log domain. - */ - -public class WordPruningBreadthFirstSearchManager extends TokenSearchManager { - - /** - * The property that defines the name of the linguist to be used by this - * search manager. - */ - @S4Component(type = Linguist.class) - public final static String PROP_LINGUIST = "linguist"; - - /** - * The property that defines the name of the linguist to be used by this - * search manager. - */ - @S4Component(type = Pruner.class) - public final static String PROP_PRUNER = "pruner"; - - /** - * The property that defines the name of the scorer to be used by this - * search manager. - */ - @S4Component(type = AcousticScorer.class) - public final static String PROP_SCORER = "scorer"; - - /** - * The property than, when set to true will cause the - * recognizer to count up all the tokens in the active list after every - * frame. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_TOKEN_COUNT = "showTokenCount"; - - /** - * The property that controls the number of frames processed for every time - * the decode growth step is skipped. Setting this property to zero disables - * grow skipping. Setting this number to a small integer will increase the - * speed of the decoder but will also decrease its accuracy. The higher the - * number, the less often the grow code is skipped. Values like 6-8 is known - * to be the good enough for large vocabulary tasks. That means that one of - * 6 frames will be skipped. - */ - @S4Integer(defaultValue = 0) - public final static String PROP_GROW_SKIP_INTERVAL = "growSkipInterval"; - - /** The property that defines the type of active list to use */ - @S4Component(type = ActiveListManager.class) - public final static String PROP_ACTIVE_LIST_MANAGER = "activeListManager"; - - /** The property for checking if the order of states is valid. */ - @S4Boolean(defaultValue = false) - public final static String PROP_CHECK_STATE_ORDER = "checkStateOrder"; - - /** The property that specifies the maximum lattice edges */ - @S4Integer(defaultValue = 100) - public final static String PROP_MAX_LATTICE_EDGES = "maxLatticeEdges"; - - /** - * The property that controls the amount of simple acoustic lookahead - * performed. Setting the property to zero (the default) disables simple - * acoustic lookahead. The lookahead need not be an integer. - */ - @S4Double(defaultValue = 0) - public final static String PROP_ACOUSTIC_LOOKAHEAD_FRAMES = "acousticLookaheadFrames"; - - /** The property that specifies the relative beam width */ - @S4Double(defaultValue = 0.0) - // TODO: this should be a more meaningful default e.g. the common 1E-80 - public final static String PROP_RELATIVE_BEAM_WIDTH = "relativeBeamWidth"; - - // ----------------------------------- - // Configured Subcomponents - // ----------------------------------- - protected Linguist linguist; // Provides grammar/language info - protected Pruner pruner; // used to prune the active list - protected AcousticScorer scorer; // used to score the active list - private ActiveListManager activeListManager; - protected LogMath logMath; - - // ----------------------------------- - // Configuration data - // ----------------------------------- - protected Logger logger; - protected boolean showTokenCount; - protected boolean checkStateOrder; - private int growSkipInterval; - protected float relativeBeamWidth; - protected float acousticLookaheadFrames; - private int maxLatticeEdges = 100; - - // ----------------------------------- - // Instrumentation - // ----------------------------------- - protected Timer scoreTimer; - protected Timer pruneTimer; - protected Timer growTimer; - protected StatisticsVariable totalTokensScored; - protected StatisticsVariable curTokensScored; - protected StatisticsVariable tokensCreated; - private long tokenSum; - private int tokenCount; - - // ----------------------------------- - // Working data - // ----------------------------------- - protected int currentFrameNumber; // the current frame number - protected long currentCollectTime; // the current frame number - protected ActiveList activeList; // the list of active tokens - protected List resultList; // the current set of results - protected Map bestTokenMap; - protected AlternateHypothesisManager loserManager; - private int numStateOrder; - // private TokenTracker tokenTracker; - // private TokenTypeTracker tokenTypeTracker; - protected boolean streamEnd; - - /** - * Creates a pruning manager withs separate lists for tokens - * @param linguist a linguist for search space - * @param pruner pruner to drop tokens - * @param scorer scorer to estimate token probability - * @param activeListManager active list manager to store tokens - * @param showTokenCount show count during decoding - * @param relativeWordBeamWidth relative beam for lookahead pruning - * @param growSkipInterval skip interval for grown - * @param checkStateOrder check order of states during growth - * @param buildWordLattice build a lattice during decoding - * @param maxLatticeEdges max edges to keep in lattice - * @param acousticLookaheadFrames frames to do lookahead - * @param keepAllTokens keep tokens including emitting tokens - */ - public WordPruningBreadthFirstSearchManager(Linguist linguist, Pruner pruner, AcousticScorer scorer, - ActiveListManager activeListManager, boolean showTokenCount, double relativeWordBeamWidth, int growSkipInterval, - boolean checkStateOrder, boolean buildWordLattice, int maxLatticeEdges, float acousticLookaheadFrames, - boolean keepAllTokens) { - - this.logger = Logger.getLogger(getClass().getName()); - this.logMath = LogMath.getLogMath(); - this.linguist = linguist; - this.pruner = pruner; - this.scorer = scorer; - this.activeListManager = activeListManager; - this.showTokenCount = showTokenCount; - this.growSkipInterval = growSkipInterval; - this.checkStateOrder = checkStateOrder; - this.buildWordLattice = buildWordLattice; - this.maxLatticeEdges = maxLatticeEdges; - this.acousticLookaheadFrames = acousticLookaheadFrames; - this.keepAllTokens = keepAllTokens; - - this.relativeBeamWidth = logMath.linearToLog(relativeWordBeamWidth); - } - - public WordPruningBreadthFirstSearchManager() { - - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - logMath = LogMath.getLogMath(); - logger = ps.getLogger(); - - linguist = (Linguist) ps.getComponent(PROP_LINGUIST); - pruner = (Pruner) ps.getComponent(PROP_PRUNER); - scorer = (AcousticScorer) ps.getComponent(PROP_SCORER); - activeListManager = (ActiveListManager) ps.getComponent(PROP_ACTIVE_LIST_MANAGER); - showTokenCount = ps.getBoolean(PROP_SHOW_TOKEN_COUNT); - growSkipInterval = ps.getInt(PROP_GROW_SKIP_INTERVAL); - - checkStateOrder = ps.getBoolean(PROP_CHECK_STATE_ORDER); - maxLatticeEdges = ps.getInt(PROP_MAX_LATTICE_EDGES); - acousticLookaheadFrames = ps.getFloat(PROP_ACOUSTIC_LOOKAHEAD_FRAMES); - - relativeBeamWidth = logMath.linearToLog(ps.getDouble(PROP_RELATIVE_BEAM_WIDTH)); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.SearchManager#allocate() - */ - public void allocate() { - // tokenTracker = new TokenTracker(); - // tokenTypeTracker = new TokenTypeTracker(); - - scoreTimer = TimerPool.getTimer(this, "Score"); - pruneTimer = TimerPool.getTimer(this, "Prune"); - growTimer = TimerPool.getTimer(this, "Grow"); - - totalTokensScored = StatisticsVariable.getStatisticsVariable("totalTokensScored"); - curTokensScored = StatisticsVariable.getStatisticsVariable("curTokensScored"); - tokensCreated = StatisticsVariable.getStatisticsVariable("tokensCreated"); - - try { - linguist.allocate(); - pruner.allocate(); - scorer.allocate(); - } catch (IOException e) { - throw new RuntimeException("Allocation of search manager resources failed", e); - } - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.search.SearchManager#deallocate() - */ - public void deallocate() { - try { - scorer.deallocate(); - pruner.deallocate(); - linguist.deallocate(); - } catch (IOException e) { - throw new RuntimeException("Deallocation of search manager resources failed", e); - } - } - - /** - * Called at the start of recognition. Gets the search manager ready to - * recognize - */ - public void startRecognition() { - linguist.startRecognition(); - pruner.startRecognition(); - scorer.startRecognition(); - localStart(); - } - - /** - * Performs the recognition for the given number of frames. - * - * @param nFrames - * the number of frames to recognize - * @return the current result - */ - public Result recognize(int nFrames) { - boolean done = false; - Result result = null; - streamEnd = false; - - for (int i = 0; i < nFrames && !done; i++) { - done = recognize(); - } - - if (!streamEnd) { - result = new Result(loserManager, activeList, resultList, currentCollectTime, done, linguist.getSearchGraph() - .getWordTokenFirst(), true); - } - - // tokenTypeTracker.show(); - if (showTokenCount) { - showTokenCount(); - } - return result; - } - - protected boolean recognize() { - - activeList = activeListManager.getEmittingList(); - boolean more = scoreTokens(); - - if (more) { - pruneBranches(); - currentFrameNumber++; - if (growSkipInterval == 0 || (currentFrameNumber % growSkipInterval) != 0) { - clearCollectors(); - growEmittingBranches(); - growNonEmittingBranches(); - } - } - return !more; - } - - /** - * Clears lists and maps before next expansion stage - */ - private void clearCollectors() { - resultList = new LinkedList(); - createBestTokenMap(); - activeListManager.clearEmittingList(); - } - - /** - * creates a new best token map with the best size - */ - protected void createBestTokenMap() { - int mapSize = activeList.size() * 10; - if (mapSize == 0) { - mapSize = 1; - } - bestTokenMap = new HashMap(mapSize, 0.3F); - } - - /** Terminates a recognition */ - public void stopRecognition() { - localStop(); - scorer.stopRecognition(); - pruner.stopRecognition(); - linguist.stopRecognition(); - } - - /** - * Gets the initial grammar node from the linguist and creates a - * GrammarNodeToken - */ - protected void localStart() { - SearchGraph searchGraph = linguist.getSearchGraph(); - currentFrameNumber = 0; - curTokensScored.value = 0; - numStateOrder = searchGraph.getNumStateOrder(); - activeListManager.setNumStateOrder(numStateOrder); - if (buildWordLattice) { - loserManager = new AlternateHypothesisManager(maxLatticeEdges); - } - - SearchState state = searchGraph.getInitialState(); - - activeList = activeListManager.getEmittingList(); - activeList.add(new Token(state, -1)); - - clearCollectors(); - - growBranches(); - growNonEmittingBranches(); - // tokenTracker.setEnabled(false); - // tokenTracker.startUtterance(); - } - - /** Local cleanup for this search manager */ - protected void localStop() { - // tokenTracker.stopUtterance(); - } - - /** - * Goes through the active list of tokens and expands each token, finding - * the set of successor tokens until all the successor tokens are emitting - * tokens. - */ - protected void growBranches() { - growTimer.start(); - float relativeBeamThreshold = activeList.getBeamThreshold(); - if (logger.isLoggable(Level.FINE)) { - logger.fine("Frame: " + currentFrameNumber + " thresh : " + relativeBeamThreshold + " bs " - + activeList.getBestScore() + " tok " + activeList.getBestToken()); - } - for (Token token : activeList) { - if (token.getScore() >= relativeBeamThreshold && allowExpansion(token)) { - collectSuccessorTokens(token); - } - } - growTimer.stop(); - } - - /** - * Grows the emitting branches. This version applies a simple acoustic - * lookahead based upon the rate of change in the current acoustic score. - */ - protected void growEmittingBranches() { - if (acousticLookaheadFrames <= 0.0f) { - growBranches(); - return; - } - growTimer.start(); - float bestScore = -Float.MAX_VALUE; - for (Token t : activeList) { - float score = t.getScore() + t.getAcousticScore() * acousticLookaheadFrames; - if (score > bestScore) { - bestScore = score; - } - } - float relativeBeamThreshold = bestScore + relativeBeamWidth; - for (Token t : activeList) { - if (t.getScore() + t.getAcousticScore() * acousticLookaheadFrames > relativeBeamThreshold) - collectSuccessorTokens(t); - } - growTimer.stop(); - } - - /** - * Grow the non-emitting branches, until the tokens reach an emitting state. - */ - private void growNonEmittingBranches() { - for (Iterator i = activeListManager.getNonEmittingListIterator(); i.hasNext();) { - activeList = i.next(); - if (activeList != null) { - i.remove(); - pruneBranches(); - growBranches(); - } - } - } - - /** - * Calculate the acoustic scores for the active list. The active list should - * contain only emitting tokens. - * - * @return true if there are more frames to score, otherwise, - * false - */ - protected boolean scoreTokens() { - boolean moreTokens; - scoreTimer.start(); - Data data = scorer.calculateScores(activeList.getTokens()); - scoreTimer.stop(); - - Token bestToken = null; - if (data instanceof Token) { - bestToken = (Token) data; - } else if (data == null) { - streamEnd = true; - } - - if (bestToken != null) { - currentCollectTime = bestToken.getCollectTime(); - } - - moreTokens = (bestToken != null); - activeList.setBestToken(bestToken); - - // monitorWords(activeList); - monitorStates(activeList); - - // System.out.println("BEST " + bestToken); - - curTokensScored.value += activeList.size(); - totalTokensScored.value += activeList.size(); - - return moreTokens; - } - - /** - * Keeps track of and reports all of the active word histories for the given - * active list - * - * @param activeList - * the active list to track - */ - @SuppressWarnings("unused") - private void monitorWords(ActiveList activeList) { - - // WordTracker tracker1 = new WordTracker(currentFrameNumber); - // - // for (Token t : activeList) { - // tracker1.add(t); - // } - // tracker1.dump(); - // - // TokenTracker tracker2 = new TokenTracker(); - // - // for (Token t : activeList) { - // tracker2.add(t); - // } - // tracker2.dumpSummary(); - // tracker2.dumpDetails(); - // - // TokenTypeTracker tracker3 = new TokenTypeTracker(); - // - // for (Token t : activeList) { - // tracker3.add(t); - // } - // tracker3.dump(); - - // StateHistoryTracker tracker4 = new - // StateHistoryTracker(currentFrameNumber); - - // for (Token t : activeList) { - // tracker4.add(t); - // } - // tracker4.dump(); - } - - /** - * Keeps track of and reports statistics about the number of active states - * - * @param activeList - * the active list of states - */ - protected void monitorStates(ActiveList activeList) { - - tokenSum += activeList.size(); - tokenCount++; - - if ((tokenCount % 1000) == 0) { - logger.info("Average Tokens/State: " + (tokenSum / tokenCount)); - } - } - - /** Removes unpromising branches from the active list */ - protected void pruneBranches() { - pruneTimer.start(); - activeList = pruner.prune(activeList); - pruneTimer.stop(); - } - - /** - * Gets the best token for this state - * - * @param state - * the state of interest - * @return the best token - */ - protected Token getBestToken(SearchState state) { - return bestTokenMap.get(state); - } - - /** - * Sets the best token for a given state - * - * @param token - * the best token - * @param state - * the state - */ - protected void setBestToken(Token token, SearchState state) { - bestTokenMap.put(state, token); - } - - /** - * Checks that the given two states are in legitimate order. - * - * @param fromState parent state - * @param toState child state - */ - protected void checkStateOrder(SearchState fromState, SearchState toState) { - if (fromState.getOrder() == numStateOrder - 1) { - return; - } - - if (fromState.getOrder() > toState.getOrder()) { - throw new Error("IllegalState order: from " + fromState.getClass().getName() + ' ' + fromState.toPrettyString() - + " order: " + fromState.getOrder() + " to " + toState.getClass().getName() + ' ' + toState.toPrettyString() - + " order: " + toState.getOrder()); - } - } - - /** - * Collects the next set of emitting tokens from a token and accumulates - * them in the active or result lists - * - * @param token - * the token to collect successors from be immediately expanded - * are placed. Null if we should always expand all nodes. - */ - protected void collectSuccessorTokens(Token token) { - - // tokenTracker.add(token); - // tokenTypeTracker.add(token); - - // If this is a final state, add it to the final list - - if (token.isFinal()) { - resultList.add(getResultListPredecessor(token)); - return; - } - - // if this is a non-emitting token and we've already - // visited the same state during this frame, then we - // are in a grammar loop, so we don't continue to expand. - // This check only works properly if we have kept all of the - // tokens (instead of skipping the non-word tokens). - // Note that certain linguists will never generate grammar loops - // (lextree linguist for example). For these cases, it is perfectly - // fine to disable this check by setting keepAllTokens to false - - if (!token.isEmitting() && (keepAllTokens && isVisited(token))) { - return; - } - - SearchState state = token.getSearchState(); - SearchStateArc[] arcs = state.getSuccessors(); - Token predecessor = getResultListPredecessor(token); - - // For each successor - // calculate the entry score for the token based upon the - // predecessor token score and the transition probabilities - // if the score is better than the best score encountered for - // the SearchState and frame then create a new token, add - // it to the lattice and the SearchState. - // If the token is an emitting token add it to the list, - // otherwise recursively collect the new tokens successors. - - for (SearchStateArc arc : arcs) { - SearchState nextState = arc.getState(); - - if (checkStateOrder) { - checkStateOrder(state, nextState); - } - - // We're actually multiplying the variables, but since - // these come in log(), multiply gets converted to add - float logEntryScore = token.getScore() + arc.getProbability(); - - Token bestToken = getBestToken(nextState); - - if (bestToken == null) { - Token newBestToken = new Token(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentCollectTime); - tokensCreated.value++; - setBestToken(newBestToken, nextState); - activeListAdd(newBestToken); - } else if (bestToken.getScore() < logEntryScore) { - // System.out.println("Updating " + bestToken + " with " + - // newBestToken); - Token oldPredecessor = bestToken.getPredecessor(); - bestToken.update(predecessor, nextState, logEntryScore, arc.getInsertionProbability(), - arc.getLanguageProbability(), currentCollectTime); - if (buildWordLattice && nextState instanceof WordSearchState) { - loserManager.addAlternatePredecessor(bestToken, oldPredecessor); - } - } else if (buildWordLattice && nextState instanceof WordSearchState) { - if (predecessor != null) { - loserManager.addAlternatePredecessor(bestToken, predecessor); - } - } - } - } - - /** - * Determines whether or not we've visited the state associated with this - * token since the previous frame. - * - * @param t token to check - * @return true if we've visited the search state since the last frame - */ - protected boolean isVisited(Token t) { - SearchState curState = t.getSearchState(); - - t = t.getPredecessor(); - - while (t != null && !t.isEmitting()) { - if (curState.equals(t.getSearchState())) { - System.out.println("CS " + curState + " match " + t.getSearchState()); - return true; - } - t = t.getPredecessor(); - } - return false; - } - - protected void activeListAdd(Token token) { - activeListManager.add(token); - } - - /** - * Determine if the given token should be expanded - * - * @param t - * the token to test - * @return true if the token should be expanded - */ - protected boolean allowExpansion(Token t) { - return true; // currently disabled - } - - /** - * Counts all the tokens in the active list (and displays them). This is an - * expensive operation. - */ - protected void showTokenCount() { - Set tokenSet = new HashSet(); - - for (Token token : activeList) { - while (token != null) { - tokenSet.add(token); - token = token.getPredecessor(); - } - } - - System.out.println("Token Lattice size: " + tokenSet.size()); - - tokenSet = new HashSet(); - - for (Token token : resultList) { - while (token != null) { - tokenSet.add(token); - token = token.getPredecessor(); - } - } - - System.out.println("Result Lattice size: " + tokenSet.size()); - } - - /** - * Returns the ActiveList. - * - * @return the ActiveList - */ - public ActiveList getActiveList() { - return activeList; - } - - /** - * Sets the ActiveList. - * - * @param activeList - * the new ActiveList - */ - public void setActiveList(ActiveList activeList) { - this.activeList = activeList; - } - - /** - * Returns the result list. - * - * @return the result list - */ - public List getResultList() { - return resultList; - } - - /** - * Sets the result list. - * - * @param resultList - * the new result list - */ - public void setResultList(List resultList) { - this.resultList = resultList; - } - - /** - * Returns the current frame number. - * - * @return the current frame number - */ - public int getCurrentFrameNumber() { - return currentFrameNumber; - } - - /** - * Returns the Timer for growing. - * - * @return the Timer for growing - */ - public Timer getGrowTimer() { - return growTimer; - } - - /** - * Returns the tokensCreated StatisticsVariable. - * - * @return the tokensCreated StatisticsVariable. - */ - public StatisticsVariable getTokensCreated() { - return tokensCreated; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/StateHistoryTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/StateHistoryTracker.java deleted file mode 100755 index 77aab5c7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/StateHistoryTracker.java +++ /dev/null @@ -1,140 +0,0 @@ -package edu.cmu.sphinx.decoder.search.stats; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.WordSequence; - -/** A class that keeps track of word histories */ - -public class StateHistoryTracker { - - final Map statMap; - final int frameNumber; - int stateCount; - int maxWordHistories; - - /** - * Creates a word tracker for the given frame number - * - * @param frameNumber the frame number - */ - public StateHistoryTracker(int frameNumber) { - statMap = new HashMap(); - this.frameNumber = frameNumber; - } - - - /** - * Adds a word history for the given token to the word tracker - * - * @param t the token to add - */ - public void add(Token t) { - stateCount++; - WordSequence ws = getWordSequence(t); - WordStats stats = statMap.get(ws); - if (stats == null) { - stats = new WordStats(ws); - statMap.put(ws, stats); - } - stats.update(t); - } - - - /** Dumps the word histories in the tracker */ - public void dump() { - dumpSummary(); - List stats = new ArrayList(statMap.values()); - Collections.sort(stats, WordStats.COMPARATOR); - for (WordStats stat : stats) { - System.out.println(" " + stat); - } - } - - - /** Dumps summary information in the tracker */ - void dumpSummary() { - System.out.println("Frame: " + frameNumber + " states: " + stateCount - + " histories " + statMap.size()); - } - - - /** - * Given a token, gets the history sequence - * - * @param token the token of interest - * @return the word sequence for the token - */ - private WordSequence getWordSequence(Token token) { - return token.getSearchState().getWordHistory(); - } - - /** Keeps track of statistics for a particular word sequence */ - - static class WordStats { - - public final static Comparator COMPARATOR = new Comparator() { - public int compare(WordStats ws1, WordStats ws2) { - if (ws1.maxScore > ws2.maxScore) { - return -1; - } else if (ws1.maxScore == ws2.maxScore) { - return 0; - } else { - return 1; - } - } - }; - - private int size; - private float maxScore; - private float minScore; - private final WordSequence ws; - - /** - * Creates a word statistics for the given sequence - * - * @param ws the word sequence - */ - WordStats(WordSequence ws) { - size = 0; - maxScore = -Float.MAX_VALUE; - minScore = Float.MAX_VALUE; - this.ws = ws; - } - - - /** - * Updates the statistics based upon the scores for the given token - * - * @param t the token - */ - void update(Token t) { - size++; - if (t.getScore() > maxScore) { - maxScore = t.getScore(); - } - if (t.getScore() < minScore) { - minScore = t.getScore(); - } - } - - - /** - * Returns a string representation of the statistics - * - * @return a string representation - */ - @Override - public String toString() { - return "states:" + size + " max:" + maxScore + " min:" + minScore + ' ' - + ws; - } - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTracker.java deleted file mode 100755 index c20f9aca..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTracker.java +++ /dev/null @@ -1,198 +0,0 @@ -package edu.cmu.sphinx.decoder.search.stats; - -import java.util.HashMap; -import java.util.Map; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.HMMSearchState; - -/** This debugging class is used to track the number of active tokens per state */ - -public class TokenTracker { - - private Map stateMap; - private boolean enabled; - private int frame; - - private int utteranceStateCount; - private int utteranceMaxStates; - private int utteranceSumStates; - - - /** - * Enables or disables the token tracker - * - * @param enabled if true the tracker is enabled - */ - void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - - /** Starts the per-utterance tracking */ - void startUtterance() { - if (enabled) { - frame = 0; - utteranceStateCount = 0; - utteranceMaxStates = -Integer.MAX_VALUE; - utteranceSumStates = 0; - } - } - - - /** stops the per-utterance tracking */ - void stopUtterance() { - if (enabled) { - dumpSummary(); - } - } - - - /** Starts the per-frame tracking */ - void startFrame() { - if (enabled) { - stateMap = new HashMap(); - } - } - - - /** - * Adds a new token to the tracker - * - * @param t the token to add. - */ - public void add(Token t) { - if (enabled) { - TokenStats stats = getStats(t); - stats.update(t); - } - } - - - /** Stops the per-frame tracking */ - void stopFrame() { - if (enabled) { - frame++; - dumpDetails(); - } - } - - - /** Dumps summary info about the tokens */ - public void dumpSummary() { - if (enabled) { - float avgStates = 0f; - if (utteranceStateCount > 0) { - avgStates = ((float) utteranceSumStates) / utteranceStateCount; - } - System.out.print("# Utterance stats "); - System.out.print(" States: " + utteranceStateCount / frame); - - if (utteranceStateCount > 0) { - System.out.print(" Paths: " + utteranceSumStates / frame); - System.out.print(" Max: " + utteranceMaxStates); - System.out.print(" Avg: " + avgStates); - } - - System.out.println(); - } - } - - - /** Dumps detailed info about the tokens */ - public void dumpDetails() { - if (enabled) { - int maxStates = -Integer.MAX_VALUE; - int hmmCount = 0; - int sumStates = 0; - - for (TokenStats stats : stateMap.values()) { - if (stats.isHMM) { - hmmCount++; - } - sumStates += stats.count; - utteranceSumStates += stats.count; - if (stats.count > maxStates) { - maxStates = stats.count; - } - - if (stats.count > utteranceMaxStates) { - utteranceMaxStates = stats.count; - } - } - - utteranceStateCount += stateMap.size(); - - float avgStates = 0f; - if (!stateMap.isEmpty()) { - avgStates = ((float) sumStates) / stateMap.size(); - } - System.out.print("# Frame " + frame); - System.out.print(" States: " + stateMap.size()); - - if (!stateMap.isEmpty()) { - System.out.print(" Paths: " + sumStates); - System.out.print(" Max: " + maxStates); - System.out.print(" Avg: " + avgStates); - System.out.print(" HMM: " + hmmCount); - } - - System.out.println(); - } - } - - - /** - * Gets the statistics for a particular token - * - * @param t the token of interest - * @return the token statistics associated with the given token - */ - private TokenStats getStats(Token t) { - TokenStats stats = stateMap.get(t.getSearchState() - .getLexState()); - if (stats == null) { - stats = new TokenStats(); - stateMap.put(t.getSearchState().getLexState(), stats); - } - return stats; - } - - /** - * A class for keeping track of statistics about tokens. Tracks the count, - * minimum and maximum score for a particular state. - */ - class TokenStats { - - int count; - float maxScore; - float minScore; - boolean isHMM; - - - TokenStats() { - count = 0; - maxScore = -Float.MAX_VALUE; - minScore = Float.MIN_VALUE; - } - - - /** Update this state with the given token - * @param t*/ - public void update(Token t) { - count++; - if (t.getScore() > maxScore) { - maxScore = t.getScore(); - } - - if (t.getScore() < minScore) { - minScore = t.getScore(); - } - - isHMM = t.getSearchState() instanceof HMMSearchState; - } - } - -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTypeTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTypeTracker.java deleted file mode 100755 index 1e889d13..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/TokenTypeTracker.java +++ /dev/null @@ -1,80 +0,0 @@ -package edu.cmu.sphinx.decoder.search.stats; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.UnitSearchState; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.acoustic.HMM; - -/** - * A tool for tracking the types tokens created and placed in the beam - *

- * TODO: Develop a mechanism for adding trackers such as these in a more general fashion. - */ -public class TokenTypeTracker { - // keep track of the various types of states - - private int numWords; - private int numUnits; - private int numOthers; - private int numHMMBegin; - private int numHMMEnd; - private int numHMMSingle; - private int numHMMInternal; - private int numTokens; - - - /** - * Adds a token to this tracker. Records statistics about the type of token. - * - * @param t the token to track - */ - public void add(Token t) { - numTokens++; - SearchState s = t.getSearchState(); - - if (s instanceof WordSearchState) { - numWords++; - } else if (s instanceof UnitSearchState) { - numUnits++; - } else if (s instanceof HMMSearchState) { - HMM hmm = ((HMMSearchState) s).getHMMState().getHMM(); - switch (hmm.getPosition()) { - case BEGIN: numHMMBegin++; break; - case END: numHMMEnd++; break; - case SINGLE: numHMMSingle++; break; - case INTERNAL: numHMMInternal++; break; - default: break; - } - } else { - numOthers++; - } - } - - - /** Shows the accumulated statistics */ - public void dump() { - System.out.println("TotalTokens: " + numTokens); - System.out.println(" Words: " + numWords + pc(numWords)); - System.out.println(" Units: " + numUnits + pc(numUnits)); - System.out.println(" HMM-b: " + numHMMBegin + pc(numHMMBegin)); - System.out.println(" HMM-e: " + numHMMEnd + pc(numHMMEnd)); - System.out.println(" HMM-s: " + numHMMSingle + pc(numHMMSingle)); - System.out.println(" HMM-i: " + numHMMInternal + - pc(numHMMInternal)); - System.out.println(" Others: " + numOthers + pc(numOthers)); - } - - - /** - * Utility method for generating integer percents - * - * @param num the value to be converted into percent - * @return a string representation as a percent - */ - private String pc(int num) { - int percent = ((100 * num) / numTokens); - return " (" + percent + "%)"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/WordTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/WordTracker.java deleted file mode 100755 index 427e8934..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/decoder/search/stats/WordTracker.java +++ /dev/null @@ -1,155 +0,0 @@ -package edu.cmu.sphinx.decoder.search.stats; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; - -/** A class that keeps track of word histories */ - -public class WordTracker { - - final Map statMap; - final int frameNumber; - int stateCount; - int maxWordHistories; - - - /** - * Creates a word tracker for the given frame number - * - * @param frameNumber the frame number - */ - public WordTracker(int frameNumber) { - statMap = new HashMap(); - this.frameNumber = frameNumber; - } - - - /** - * Adds a word history for the given token to the word tracker - * - * @param t the token to add - */ - public void add(Token t) { - stateCount++; - WordSequence ws = getWordSequence(t); - WordStats stats = statMap.get(ws); - if (stats == null) { - stats = new WordStats(ws); - statMap.put(ws, stats); - } - stats.update(t); - } - - - /** Dumps the word histories in the tracker */ - public void dump() { - dumpSummary(); - List stats = new ArrayList(statMap.values()); - Collections.sort(stats, WordStats.COMPARATOR); - for (WordStats stat : stats) { - System.out.println(" " + stat); - } - } - - - /** Dumps summary information in the tracker */ - void dumpSummary() { - System.out.println("Frame: " + frameNumber + " states: " + stateCount - + " histories " + statMap.size()); - } - - - /** - * Given a token, gets the word sequence represented by the token - * - * @param token the token of interest - * @return the word sequence for the token - */ - private WordSequence getWordSequence(Token token) { - List wordList = new LinkedList(); - - while (token != null) { - if (token.isWord()) { - WordSearchState wordState = (WordSearchState) token - .getSearchState(); - Word word = wordState.getPronunciation().getWord(); - wordList.add(0, word); - } - token = token.getPredecessor(); - } - return new WordSequence(wordList); - } - - /** Keeps track of statistics for a particular word sequence */ - - static class WordStats { - - public final static Comparator COMPARATOR = new Comparator() { - public int compare(WordStats ws1, WordStats ws2) { - if (ws1.maxScore > ws2.maxScore) { - return -1; - } else if (ws1.maxScore == ws2.maxScore) { - return 0; - } else { - return 1; - } - } - }; - - private int size; - private float maxScore; - private float minScore; - private final WordSequence ws; - - /** - * Creates a word statistics for the given sequence - * - * @param ws the word sequence - */ - WordStats(WordSequence ws) { - size = 0; - maxScore = -Float.MAX_VALUE; - minScore = Float.MAX_VALUE; - this.ws = ws; - } - - - /** - * Updates the statistics based upon the scores for the given token - * - * @param t the token - */ - void update(Token t) { - size++; - if (t.getScore() > maxScore) { - maxScore = t.getScore(); - } - if (t.getScore() < minScore) { - minScore = t.getScore(); - } - } - - - /** - * Returns a string representation of the statistics - * - * @return a string representation - */ - @Override - public String toString() { - return "states:" + size + " max:" + maxScore + " min:" + minScore + ' ' - + ws; - } - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/AutoCepstrum.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/AutoCepstrum.java deleted file mode 100755 index 28b47475..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/AutoCepstrum.java +++ /dev/null @@ -1,274 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. All Rights Reserved. Use is - * subject to license terms. See the file "license.terms" for information on - * usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.frontend; - -import static java.lang.Double.parseDouble; -import static java.lang.Integer.parseInt; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -import edu.cmu.sphinx.frontend.denoise.Denoise; -import edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank; -import edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank2; -import edu.cmu.sphinx.frontend.transform.*; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.KaldiLoader; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.util.props.*; - - -/** - * Cepstrum is an auto-configurable DataProcessor which is used to compute a - * specific cepstrum (for a target acoustic model) given the spectrum. The - * Cepstrum is computed using a pipeline of front end components which are - * selected, customized or ignored depending on the feat.params file which - * characterizes the target acoustic model for which this cepstrum is computed. - * A typical legacy MFCC Cepstrum will use a MelFrequencyFilterBank, followed - * by a DiscreteCosineTransform. A typical denoised MFCC Cepstrum will use a - * MelFrequencyFilterBank, followed by a Denoise component, followed by a - * DiscreteCosineTransform2, followed by a Lifter component. The - * MelFrequencyFilterBank parameters (numberFilters, minimumFrequency and - * maximumFrequency) are auto-configured based on the values found in - * feat.params. - * - * @author Horia Cucu - */ -public class AutoCepstrum extends BaseDataProcessor { - - /** - * The property specifying the acoustic model for which this cepstrum will - * be configured. For this acoustic model (AM) it is mandatory to specify a - * location in the configuration file. The Cepstrum will be configured - * based on the feat.params file that will be found in the specified AM - * location. - */ - @S4Component(type = Loader.class) - public final static String PROP_LOADER = "loader"; - protected Loader loader; - - /** - * The filter bank which will be used for creating the cepstrum. The filter - * bank is always inserted in the pipeline and its minimum frequency, - * maximum frequency and number of filters are configured based on the - * "lowerf", "upperf" and "nfilt" values in the feat.params file of the - * target acoustic model. - */ - protected BaseDataProcessor filterBank; - - /** - * The denoise component which could be used for creating the cepstrum. The - * denoise component is inserted in the pipeline only if - * "-remove_noise yes" is specified in the feat.params file of the target - * acoustic model. - */ - protected Denoise denoise; - - /** - * The property specifying the DCT which will be used for creating the - * cepstrum. If "-transform legacy" is specified in the feat.params file of - * the target acoustic model or if the "-transform" parameter does not - * appear in this file at all, the legacy DCT component is inserted in the - * pipeline. If "-transform dct" is specified in the feat.params file of - * the target acoustic model, then the current DCT component is inserted in - * the pipeline. - */ - protected DiscreteCosineTransform dct; - - /** - * The lifter component which could be used for creating the cepstrum. The - * lifter component is inserted in the pipeline only if - * "-lifter <lifterValue>" is specified in the feat.params file of the - * target acoustic model. - */ - protected Lifter lifter; - - /** - * The list of DataProcessors which were auto-configured for - * this Cepstrum component. - */ - protected List selectedDataProcessors; - - public AutoCepstrum(Loader loader) throws IOException { - initLogger(); - this.loader = loader; - loader.load(); - initDataProcessors(); - } - - public AutoCepstrum() { - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - loader = (Loader) ps.getComponent(PROP_LOADER); - try { - loader.load(); - } catch (IOException e) { - throw new PropertyException(e); - } - initDataProcessors(); - } - - private void initDataProcessors() { - try { - Properties featParams = loader.getProperties(); - selectedDataProcessors = new ArrayList(); - - double lowFreq = parseDouble(featParams.getProperty("-lowerf")); - double hiFreq = parseDouble(featParams.getProperty("-upperf")); - int numFilter = parseInt(featParams.getProperty("-nfilt")); - - // TODO: should not be there, but for now me must preserve - // backward compatibility with the legacy code. - if (loader instanceof KaldiLoader) - filterBank = new MelFrequencyFilterBank2(lowFreq, - hiFreq, - numFilter); - else - filterBank = new MelFrequencyFilterBank(lowFreq, - hiFreq, - numFilter); - - selectedDataProcessors.add(filterBank); - - if ((featParams.get("-remove_noise") == null) - || (featParams.get("-remove_noise").equals("yes"))) { - denoise = new Denoise(Denoise.class.getField("LAMBDA_POWER") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("LAMBDA_A") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("LAMBDA_B") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("LAMBDA_T") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("MU_T") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("MAX_GAIN") - .getAnnotation(S4Double.class) - .defaultValue(), - Denoise.class.getField("SMOOTH_WINDOW") - .getAnnotation(S4Integer.class) - .defaultValue()); - // denoise.newProperties(); - denoise.setPredecessor(selectedDataProcessors - .get(selectedDataProcessors.size() - 1)); - selectedDataProcessors.add(denoise); - } - - if ((featParams.get("-transform") != null) - && (featParams.get("-transform").equals("dct"))) { - dct = new DiscreteCosineTransform2( - numFilter, - DiscreteCosineTransform.class - .getField("PROP_CEPSTRUM_LENGTH") - .getAnnotation(S4Integer.class) - .defaultValue()); - } else if ((featParams.get("-transform") != null) - && (featParams.get("-transform").equals("kaldi"))) - { - dct = new KaldiDiscreteCosineTransform( - numFilter, - DiscreteCosineTransform.class - .getField("PROP_CEPSTRUM_LENGTH") - .getAnnotation(S4Integer.class) - .defaultValue()); - } else { - dct = new DiscreteCosineTransform(numFilter, - DiscreteCosineTransform.class - .getField("PROP_CEPSTRUM_LENGTH") - .getAnnotation(S4Integer.class) - .defaultValue()); - } - dct.setPredecessor(selectedDataProcessors - .get(selectedDataProcessors.size() - 1)); - selectedDataProcessors.add(dct); - - if (featParams.get("-lifter") != null) { - lifter = new Lifter(Integer.parseInt((String) featParams - .get("-lifter"))); - lifter.setPredecessor(selectedDataProcessors - .get(selectedDataProcessors.size() - 1)); - selectedDataProcessors.add(lifter); - } - logger.info("Cepstrum component auto-configured as follows: " - + toString()); - } catch (NoSuchFieldException exc) { - throw new RuntimeException(exc); - } - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend - * .CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - - for (DataProcessor dataProcessor : selectedDataProcessors) - dataProcessor.initialize(); - } - - /** - * Returns the processed Data output, basically calls - * getData() on the last processor. - * - * @return a Data object that has been processed by the cepstrum - * @throws DataProcessingException if a data processor error occurs - */ - @Override - public Data getData() throws DataProcessingException { - DataProcessor dp; - dp = selectedDataProcessors.get(selectedDataProcessors.size() - 1); - return dp.getData(); - } - - /** - * Sets the predecessor for this DataProcessor. The predecessor is actually - * the spectrum builder. - * - * @param predecessor the predecessor of this DataProcessor - */ - @Override - public void setPredecessor(DataProcessor predecessor) { - filterBank.setPredecessor(predecessor); - } - - /** - * Returns a description of this Cepstrum component in the format: - * <cepstrum name> {<DataProcessor1>, <DataProcessor2> ... - * <DataProcessorN>} - * - * @return a description of this Cepstrum - */ - @Override - public String toString() { - StringBuilder description = new StringBuilder(super.toString()) - .append(" {"); - for (DataProcessor dp : selectedDataProcessors) - description.append(dp).append(", "); - description.setLength(description.length() - 2); - return description.append('}').toString(); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/BaseDataProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/BaseDataProcessor.java deleted file mode 100755 index 49cf8db6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/BaseDataProcessor.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.props.ConfigurableAdapter; - -/** - * An abstract DataProcessor implementing elements common to all concrete DataProcessors, such as name, predecessor, and - * timer. - */ -public abstract class BaseDataProcessor extends ConfigurableAdapter implements DataProcessor { - - private DataProcessor predecessor; - - public BaseDataProcessor() { - } - - /** - * Returns the processed Data output. - * - * @return an Data object that has been processed by this DataProcessor - * @throws DataProcessingException if a data processor error occurs - */ - public abstract Data getData() throws DataProcessingException; - - - /** Initializes this DataProcessor. This is typically called after the DataProcessor has been configured. */ - public void initialize() { - } - - - /** - * Returns the predecessor DataProcessor. - * - * @return the predecessor - */ - public DataProcessor getPredecessor() { - return predecessor; - } - - - /** - * Sets the predecessor DataProcessor. This method allows dynamic reconfiguration of the front end. - * - * @param predecessor the new predecessor of this DataProcessor - */ - public void setPredecessor(DataProcessor predecessor) { - this.predecessor = predecessor; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Data.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Data.java deleted file mode 100755 index e0b170a2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Data.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -/** - * Implements the interface for all Data objects that passes between - * DataProcessors. - * - * Subclass of Data can contain the actual data, or be a signal - * (e.g., data start, data end, speech start, speech end). - * - * @see Data - * @see FrontEnd - */ -public interface Data { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataBlocker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataBlocker.java deleted file mode 100755 index aafae6ec..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataBlocker.java +++ /dev/null @@ -1,113 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; - -import java.util.LinkedList; - -/** - * A DataProcessor which wraps incoming DoubleData-objects into equally size blocks of defined - * length. - */ -public class DataBlocker extends BaseDataProcessor { - - /** The property for the block size of generated data-blocks in milliseconds. */ - @S4Double(defaultValue = 10) - public static final String PROP_BLOCK_SIZE_MS = "blockSizeMs"; - - private double blockSizeMs; - private int blockSizeSamples = Integer.MAX_VALUE; - - private int curFirstSamplePos; - private int sampleRate = -1; - - private final LinkedList inBuffer = new LinkedList(); - - private int curInBufferSize; - - - public DataBlocker() { - } - - /** - * @param blockSizeMs block size in milliseconds - */ - public DataBlocker(double blockSizeMs) { - initLogger(); - this.blockSizeMs = blockSizeMs; - } - - @Override - public void newProperties(PropertySheet propertySheet) throws PropertyException { - super.newProperties(propertySheet); - blockSizeMs = propertySheet.getDouble(PROP_BLOCK_SIZE_MS); - } - - - public double getBlockSizeMs() { - return blockSizeMs; - } - - - @Override - public Data getData() throws DataProcessingException { - while (curInBufferSize < blockSizeSamples || curInBufferSize == 0) { - Data data = getPredecessor().getData(); - - if (data instanceof DataStartSignal) { - sampleRate = ((DataStartSignal) data).getSampleRate(); - blockSizeSamples = (int) Math.round(sampleRate * blockSizeMs / 1000); - - curInBufferSize = 0; - curFirstSamplePos = 0; - - inBuffer.clear(); - } - - if (!(data instanceof DoubleData)) { - return data; - } - - DoubleData dd = (DoubleData) data; - - inBuffer.add(dd); - curInBufferSize += dd.getValues().length; - } - - // now we are ready to merge all data blocks into one - double[] newSampleBlock = new double[blockSizeSamples]; - - int copiedSamples = 0; - - long firstSample = inBuffer.get(0).getFirstSampleNumber() + curFirstSamplePos; - - while (!inBuffer.isEmpty()) { - DoubleData dd = inBuffer.remove(0); - double[] values = dd.getValues(); - int copyLength = Math.min(blockSizeSamples - copiedSamples, values.length - curFirstSamplePos); - - System.arraycopy(values, curFirstSamplePos, newSampleBlock, copiedSamples, copyLength); - - // does the current data-object contains more samples than necessary? -> keep the rest for the next block - if (copyLength < (values.length - curFirstSamplePos)) { - assert inBuffer.isEmpty(); - - curFirstSamplePos += copyLength; - inBuffer.add(0, dd); - break; - } else { - copiedSamples += copyLength; - curFirstSamplePos = 0; - } - } - - curInBufferSize = inBuffer.isEmpty() ? 0 : inBuffer.get(0).getValues().length - curFirstSamplePos; - -// for (int i = 0; i < newSampleBlock.length; i++) { -// newSampleBlock[i] *= 10; -// } - return new DoubleData(newSampleBlock, sampleRate, firstSample); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataEndSignal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataEndSignal.java deleted file mode 100755 index 51a71a76..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataEndSignal.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -/** - * A signal that indicates the end of data. - * - * @see Data - * @see DataProcessor - * @see Signal - */ -public class DataEndSignal extends Signal { - - private final long duration; - - - /** - * Constructs a DataEndSignal. - * - * @param duration the duration of the entire data stream in milliseconds - */ - public DataEndSignal(long duration) { - this(duration, System.currentTimeMillis()); - } - - - /** - * Constructs a DataEndSignal with the given creation time. - * - * @param duration the duration of the entire data stream in milliseconds - * @param time the creation time of the DataEndSignal - */ - public DataEndSignal(long duration, long time) { - super(time); - this.duration = duration; - } - - - /** - * Returns the duration of the entire data stream in milliseconds - * - * @return the duration of the entire data stream in milliseconds - */ - public long getDuration() { - return duration; - } - - - /** - * Returns the string "DataEndSignal". - * - * @return the string "DataEndSignal" - */ - @Override - public String toString() { - return ("DataEndSignal: creation time: " + getTime() + ", duration: " + - getDuration() + "ms"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessingException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessingException.java deleted file mode 100755 index f03205e8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessingException.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend; - -/** Thrown to indicate that a DataProcessor has problems processing incoming Data objects. */ -@SuppressWarnings("serial") -public class DataProcessingException extends RuntimeException { - - /** Constructs a DataProcessingException with no detailed message. */ - public DataProcessingException() { - super(); - } - - /** - * Constructs a DataProcessingException with the specified detail message. - * - * @param message the detail message - */ - public DataProcessingException(String message) { - super(message); - } - - /** - * Constructs a DataProcessingException with the specified detail message and cause. - * - * @param message the detail message - * @param cause the cause - */ - public DataProcessingException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Constructs a DataProcessingException with the specified cause. - * - * @param cause the cause - */ - public DataProcessingException(Throwable cause) { - super(cause); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessor.java deleted file mode 100755 index 768aaf82..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataProcessor.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - * @see FrontEnd - */ -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.props.Configurable; - -/** - * A processor that performs a signal processing function. - * - * Since a DataProcessor usually belongs to a particular front end pipeline, - * you can name the pipeline it belongs to in the {@link #initialize() - * initialize} method. (Note, however, that it is not always the case that a - * DataProcessor belongs to a particular pipeline. For example, the {@link - * edu.cmu.sphinx.frontend.util.Microphone Microphone}class is a DataProcessor, - * but it usually does not belong to any particular pipeline. - *

- * Each - * DataProcessor usually have a predecessor as well. This is the previous - * DataProcessor in the pipeline. Again, not all DataProcessors have - * predecessors. - *

- * Calling {@link #getData() getData}will return the - * processed Data object. - */ -public interface DataProcessor extends Configurable { - - /** - * Initializes this DataProcessor. - * - * This is typically called after the DataProcessor has been configured. - */ - public void initialize(); - - - /** - * Returns the processed Data output. - * - * @return an Data object that has been processed by this DataProcessor - * @throws DataProcessingException if a data processor error occurs - */ - public abstract Data getData() throws DataProcessingException; - - - /** - * Returns the predecessor DataProcessor. - * - * @return the predecessor - */ - public DataProcessor getPredecessor(); - - - /** - * Sets the predecessor DataProcessor. This method allows dynamic reconfiguration of the front end. - * - * @param predecessor the new predecessor of this DataProcessor - */ - public void setPredecessor(DataProcessor predecessor); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataStartSignal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataStartSignal.java deleted file mode 100755 index 82bd936d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DataStartSignal.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -/** - * A signal that indicates the start of data. - * - * @see Data - * @see DataProcessor - * @see Signal - */ -public class DataStartSignal extends Signal { - - private final int sampleRate; - - /** - * Constructs a DataStartSignal at the given time. - * - * @param sampleRate the sampling rate of the started data stream. - * @param time the time this DataStartSignal is created - */ - public DataStartSignal(int sampleRate, long time) { - super(time); - this.sampleRate = sampleRate; - } - - /** - * Constructs a DataStartSignal at the given time. - * - * @param sampleRate the sampling rate of the started data stream. - */ - public DataStartSignal(int sampleRate) { - this(sampleRate, System.currentTimeMillis()); - } - - /** - * Returns the string "DataStartSignal". - * - * @return the string "DataStartSignal" - */ - @Override - public String toString() { - return "DataStartSignal: creation time: " + getTime(); - } - - - /** @return the sampling rate of the started data stream. */ - public int getSampleRate() { - return sampleRate; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DoubleData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DoubleData.java deleted file mode 100755 index 9a5c35ec..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/DoubleData.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.machlearn.OVector; - -/** A Data object that holds data of primitive type double. */ -@SuppressWarnings("serial") -public class DoubleData extends OVector implements Data { - - private int sampleRate; - private long firstSampleNumber; - private long collectTime; - - - /** - * Constructs a new Data object with values only. All other internal fields like - * sampling rate etc. are initialized to -1. - * @param values source values - */ - public DoubleData(double[] values) { - super(values); - } - - - /** - * Constructs a Data object with the given values, collect time, and first sample number. - * - * @param values the data values - * @param sampleRate the sample rate of the data - * @param firstSampleNumber the position of the first sample in the original data - */ - public DoubleData(double[] values, int sampleRate, - long firstSampleNumber) { - super(values); - - this.sampleRate = sampleRate; - this.collectTime = firstSampleNumber * 1000 / sampleRate; - this.firstSampleNumber = firstSampleNumber; - } - - /** - * Constructs a Data object with the given values, collect time, and first sample number. - * - * @param values the data values - * @param sampleRate the sample rate of the data - * @param collectTime the time at which this data is collected - * @param firstSampleNumber the position of the first sample in the original data - */ - public DoubleData(double[] values, int sampleRate, - long collectTime, long firstSampleNumber) { - super(values); - - this.sampleRate = sampleRate; - this.collectTime = collectTime; - this.firstSampleNumber = firstSampleNumber; - } - - /** - * @return a string that describes the data. - */ - @Override - public String toString() { - return ("DoubleData: " + sampleRate + "Hz, first sample #: " + - firstSampleNumber + ", collect time: " + collectTime); - } - - - /** - * @return the sample rate of the data. - */ - public int getSampleRate() { - return sampleRate; - } - - - /** - * @return the position of the first sample in the original data. The very first sample number - * is zero. - */ - public long getFirstSampleNumber() { - return firstSampleNumber; - } - - - /** - * Returns the time in milliseconds at which the audio data is collected. - * - * @return the difference, in milliseconds, between the time the audio data is collected and - * midnight, January 1, 1970 - */ - public long getCollectTime() { - return collectTime; - } - - @Override - public DoubleData clone() throws CloneNotSupportedException { - try { - DoubleData data = (DoubleData)super.clone(); - data.sampleRate = sampleRate; - data.collectTime = collectTime; - data.firstSampleNumber = firstSampleNumber; - return data; - } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FloatData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FloatData.java deleted file mode 100755 index 68b096f7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FloatData.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.MatrixUtils; - -/** - * A Data object that holds data of primitive type float. - * - * @see Data - */ -public class FloatData implements Data, Cloneable { - - private final float[] values; - private final int sampleRate; - private final long firstSampleNumber; - private final long collectTime; - - /** - * Constructs a Data object with the given values, sample rate, collect time, and first sample number. - * - * @param values the data values - * @param sampleRate the sample rate of the data - * @param firstSampleNumber the position of the first sample in the original data - */ - public FloatData(float[] values, int sampleRate, long firstSampleNumber) { - this(values, sampleRate, firstSampleNumber * 1000 / sampleRate, firstSampleNumber); - } - - /** - * Constructs a Data object with the given values, sample rate, collect time, and first sample number. - * - * @param values the data values - * @param sampleRate the sample rate of the data - * @param collectTime the time at which this data is collected - * @param firstSampleNumber the position of the first sample in the original data - */ - public FloatData(float[] values, int sampleRate, - long collectTime, long firstSampleNumber) { - this.values = values; - this.sampleRate = sampleRate; - this.collectTime = collectTime; - this.firstSampleNumber = firstSampleNumber; - } - - - /** - * @return the values of this data. - */ - public float[] getValues() { - return values; - } - - - /** - * @return the sample rate of this data. - */ - public int getSampleRate() { - return sampleRate; - } - - - /** - * @return the position of the first sample in the original data. The very first sample number is zero. - */ - public long getFirstSampleNumber() { - return firstSampleNumber; - } - - - /** - * Returns the time in milliseconds at which the audio data is collected. - * - * @return the difference, in milliseconds, between the time the audio data is collected and midnight, January 1, - * 1970 - */ - public long getCollectTime() { - return collectTime; - } - - @Override - public FloatData clone() throws CloneNotSupportedException { - try { - FloatData data = (FloatData)super.clone(); - return data; - } catch (CloneNotSupportedException e) { - throw new InternalError(e.toString()); - } - } - - - /** - * Converts a given Data-object into a FloatData if possible. - * @param data data to convert - * @return converted data - */ - public static FloatData toFloatData(Data data) { - FloatData convertData; - if (data instanceof FloatData) - convertData = (FloatData) data; - else if (data instanceof DoubleData) { - DoubleData dd = (DoubleData) data; - convertData = new FloatData(MatrixUtils.double2float(dd.getValues()), dd.getSampleRate(), - dd.getFirstSampleNumber()); - } else - throw new IllegalArgumentException("data type '" + data.getClass() + "' is not supported"); - - return convertData; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FrontEnd.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FrontEnd.java deleted file mode 100755 index 0ddeaa30..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/FrontEnd.java +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4ComponentList; - -/** - * FrontEnd is a wrapper class for the chain of front end processors. It provides methods for manipulating and - * navigating the processors. - *

- * The front end is modeled as a series of data processors, each of which performs a specific signal processing - * function. For example, a processor performs Fast-Fourier Transform (FFT) on input data, another processor performs - * high-pass filtering. Figure 1 below describes how the front end looks like: - * Frontend
Figure 1: The Sphinx4 front end. - *

- * Each such data processor implements the {@link edu.cmu.sphinx.frontend.DataProcessor} interface. Objects that - * implements the {@link edu.cmu.sphinx.frontend.Data} interface enters and exits the front end, and go between the - * processors in the front end. The input data to the front end is typically audio data, but this front end allows any - * input type. Similarly, the output data is typically features, but this front end allows any output type. You can - * configure the front end to accept any input type and return any output type. We will describe the configuration of - * the front end in more detail below. - *

- * The Pull Model of the Front End - *

- * The front end uses a pull model. To obtain output from the front end, one would call the method: - *

- * FrontEnd frontend = ... // see how to obtain the front end below
Data output = frontend.getData(); - *
- *

- * Calling {@link #getData() getData} on the front end would in turn call the getData() method on the last - * DataProcessor, which in turn calls the getData() method on the second last DataProcessor, and so on, until the - * getData() method on the first DataProcessor is called, which reads Data objects from the input. The input to the - * front end is actually another DataProcessor, and is usually (though not necessarily) part of the front end and is not - * shown in the figure above. If you want to maintain some control of the input DataProcessor, you can create it - * separately, and use the {@link #setDataSource(edu.cmu.sphinx.frontend.DataProcessor) setDataSource} method to set it - * as the input DataProcessor. In that case, the input DataProcessor will be prepended to the existing chain of - * DataProcessors. One common input DataProcessor is the {@link edu.cmu.sphinx.frontend.util.Microphone}, which - * implements the DataProcessor interface. - *

- * DataProcessor microphone = new Microphone();
microphone.initialize(...); - *
frontend.setDataSource(microphone);
- *

- * Another common input DataProcessor is the {@link edu.cmu.sphinx.frontend.util.StreamDataSource}. It turns a Java - * {@link java.io.InputStream} into Data objects. It is usually used in batch mode decoding. - *

- * Configuring the front end - *

- * The front end must be configured through the Sphinx properties file. For details about configuring the front end, - * refer to the document Configuring the Front End. - *

- * Current state-of-the-art front ends generate features that contain Mel-frequency cepstral coefficients (MFCC). To - * specify such a front end (called a 'pipeline') in Sphinx-4, insert the following lines in the Sphinx-4 configuration - * file: - *

- * <component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
- *     <propertylist name="pipeline">
- *        <item>preemphasizer</item>
- *        <item>windower</item>
- *        <item>dft</item>
- *        <item>melFilterBank</item>
- *        <item>dct</item>
- *        <item>batchCMN</item>
- *        <item>featureExtractor</item>
- *     </propertylist>
- * </component>
- *
- * <component name="preemphasizer" type="{@link edu.cmu.sphinx.frontend.filter.Preemphasizer
- * edu.cmu.sphinx.frontend.filter.Preemphasizer}"/>
- * <component name="windower" type="{@link edu.cmu.sphinx.frontend.window.RaisedCosineWindower
- * edu.cmu.sphinx.frontend.window.RaisedCosineWindower}"/>
- * <component name="dft" type="{@link edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform
- * edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform}"/>
- * <component name="melFilterBank" type="{@link edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank2
- * edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank}"/>
- * <component name="dct" type="{@link edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform
- * edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform}"/>
- * <component name="batchCMN" type="{@link edu.cmu.sphinx.frontend.feature.BatchCMN
- * edu.cmu.sphinx.frontend.feature.BatchCMN}"/>
- * <component name="featureExtractor" type="{@link edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor
- * edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor}"/>
- * 
- * Note: In this example, 'mfcFrontEnd' becomes the name of the front end. - *

- * Sphinx-4 also allows you to:

  • specify multiple front end pipelines
  • specify multiple instance of the - * same DataProcessor in the same pipeline
- *

- * For details on how to do this, refer to the document Configuring the - * Front End. - *

- * Obtaining a Front End - *

- * In order to obtain a front end, it must be specified in the configuration file. The Sphinx-4 front end is connected - * to the rest of the system via the scorer. We will continue with the above example to show how the scorer will obtain - * the front end. In the configuration file, the scorer should be specified as follows: - *

- * <component name="scorer" type="edu.cmu.sphinx.decoder.scorer.SimpleAcousticScorer">
- *     <property name="frontend" value="mfcFrontEnd"/>
- * </component>
- * 
- * In the SimpleAcousticScorer, the front end is obtained in the {@link edu.cmu.sphinx.util.props.Configurable#newProperties - * newProperties} method as follows: - *
- * public void newProperties(PropertySheet ps) throws PropertyException {
- *     FrontEnd frontend = (FrontEnd) ps.getComponent("frontend", FrontEnd.class);
- * }
- * 
- */ -public class FrontEnd extends BaseDataProcessor { - - /** the name of the property list of all the components of the frontend pipe line */ - @S4ComponentList(type = DataProcessor.class) - public final static String PROP_PIPELINE = "pipeline"; - - - // ---------------------------- - // Configuration data - // ----------------------------- - private List frontEndList; - private Timer timer; - - private DataProcessor first; - private DataProcessor last; - private final List signalListeners = new ArrayList(); - - public FrontEnd(List frontEndList) { - initLogger(); - this.frontEndList = frontEndList; - init(); - } - - public FrontEnd() { - - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - frontEndList = ps.getComponentList(PROP_PIPELINE, DataProcessor.class); - init(); - } - - private void init() { - this.timer = TimerPool.getTimer(this, "Frontend"); - - last = null; - for (DataProcessor dp : frontEndList) { - assert dp != null; - - if (last != null) - dp.setPredecessor(last); - - if (first == null) { - first = dp; - } - last = dp; - } - initialize(); - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend.CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - for (DataProcessor dp : frontEndList) { - dp.initialize(); - } - } - - - /** - * Sets the source of data for this front end. It basically sets the predecessor of the first DataProcessor of this - * front end. - * - * @param dataSource the source of data - */ - public void setDataSource(DataProcessor dataSource) { - first.setPredecessor(dataSource); - } - - - /** Returns the collection of DataProcessors of this FrontEnd. - * @return list of processors - */ - public List getElements() { - return frontEndList; - } - - /** - * Returns the processed Data output, basically calls getData() on the last processor. - * - * @return Data object that has been processed by this front end - * @throws DataProcessingException if a data processor error occurs - */ - @Override - public Data getData() throws DataProcessingException { - timer.start(); - Data data = last.getData(); - - // fire the signal listeners if its a signal - if (data instanceof Signal) { - fireSignalListeners((Signal) data); - } - timer.stop(); - return data; - } - - - /** - * Sets the source of data for this front end. It basically calls setDataSource(dataSource). - * - * @param dataSource the source of data - */ - @Override - public void setPredecessor(DataProcessor dataSource) { - setDataSource(dataSource); - } - - - /** - * Add a listener to be called when a signal is detected. - * - * @param listener the listener to be added - */ - public void addSignalListener(SignalListener listener) { - signalListeners.add(listener); - } - - - /** - * Removes a listener for signals. - * - * @param listener the listener to be removed - */ - public void removeSignalListener(SignalListener listener) { - signalListeners.remove(listener); - } - - - /** - * Fire all listeners for signals. - * - * @param signal the signal that occurred - */ - protected void fireSignalListeners(Signal signal) { - for (SignalListener listener : new ArrayList(signalListeners)) - listener.signalOccurred(signal); - } - - - /** Returns the last data processor within the DataProcessor chain of this FrontEnd. - * @return last processor - */ - public DataProcessor getLastDataProcessor() { - return last; - } - - - /** - * Returns a description of this FrontEnd in the format: <front end name> {<DataProcessor1>, <DataProcessor2> ... - * <DataProcessorN>} - * - * @return a description of this FrontEnd - */ - @Override - public String toString() { - if (last == null) - return super.toString() + " {}"; - LinkedList list = new LinkedList(); - for (DataProcessor current = last; current != null; current = current.getPredecessor()) - list.addFirst(current); // add processors in their correct order - StringBuilder description = new StringBuilder(super.toString()).append(" {"); - for (DataProcessor dp : list) - description.append(dp).append(", "); - description.setLength(description.length() - 2); - return description.append('}').toString(); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/GainControlProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/GainControlProcessor.java deleted file mode 100755 index 01662a57..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/GainControlProcessor.java +++ /dev/null @@ -1,77 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; - -/** - * Allows to modify the gain of an audio-signal. If the gainFactor is 1 the signal passes this - * DataProcessor unchanged. - * - * @author Holger Brandl - */ -public class GainControlProcessor extends BaseDataProcessor { - - @S4Double(defaultValue = 1.0) - public static final String GAIN_FACTOR = "gainFactor"; - - private double gainFactor; - - public GainControlProcessor(double gainFactor) { - initLogger(); - this.gainFactor = gainFactor; - } - - public GainControlProcessor() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - gainFactor = ps.getDouble(GAIN_FACTOR); - } - - - @Override - public Data getData() throws DataProcessingException { - Data data = getPredecessor().getData(); - - if (data instanceof FloatData) { - float[] values = ((FloatData) data).getValues(); - if (gainFactor != 1.0) { - // apply the gain-factor - for (int i = 0; i < values.length; i++) { - values[i] *= gainFactor; - - } - } - - } else if (data instanceof DoubleData) { - double[] values = ((DoubleData) data).getValues(); - if (gainFactor != 1.0) { - // apply the gain-factor - for (int i = 0; i < values.length; i++) { - values[i] *= gainFactor; - - } - } - } - - return data; - } - - - public double getGainFactor() { - return gainFactor; - } - - - public void setGainFactor(double gainFactor) { - this.gainFactor = gainFactor; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Signal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Signal.java deleted file mode 100755 index ad1d79fb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/Signal.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend; - -import java.util.HashMap; -import java.util.Map; - -/** - * Indicates events like beginning or end of data, data dropped, quality changed, etc.. It implements the Data - * interface, and it will pass between DataProcessors to inform them about the Data that is passed between - * DataProcessors. - * - * @see Data - * @see DataProcessor - */ -public class Signal implements Data { - - /** the time this Signal was issued. */ - private final long time; - - /** - * A (lazily initialized) collection of names properties of this signal. This collection might contain infos about - * the file being processed, shift-size of frame-length of the windowing process, etc. - */ - private Map props; - - - /** - * Constructs a Signal with the given name. - * - * @param time the time this Signal is created - */ - protected Signal(long time) { - this.time = time; - } - - - /** - * Returns the time this Signal was created. - * - * @return the time this Signal was created - */ - public long getTime() { - return time; - } - - - /** - * @return the properties associated to this signal. - */ - public synchronized Map getProps() { - if (props == null) - props = new HashMap(); - - return props; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/SignalListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/SignalListener.java deleted file mode 100755 index 9e7cb103..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/SignalListener.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend; - - -/** The listener interface for being informed when a {@link Signal Signal} is generated. */ -public interface SignalListener { - - /** - * Method called when a signal is detected - * - * @param signal the signal - */ - public void signalOccurred(Signal signal); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataBufferProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataBufferProcessor.java deleted file mode 100755 index 97c2dd5c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataBufferProcessor.java +++ /dev/null @@ -1,172 +0,0 @@ -package edu.cmu.sphinx.frontend.databranch; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.util.props.*; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * A FIFO-buffer for Data-elements. - *

- * Datas are inserted to the buffer using the processDataFrame-method. - */ -public class DataBufferProcessor extends BaseDataProcessor implements DataListener { - - /** The FIFO- data buffer. */ - private final List featureBuffer = new LinkedList(); - - /** - * If this property is set true the buffer will wait for new data until it returns from a - * getData-call. Enable this flag if the buffer should serve as starting point for a new - * feature-pull-chain.. - */ - @S4Boolean(defaultValue = false) - public static final String PROP_WAIT_IF_EMPTY = "waitIfEmpty"; - private boolean waitIfEmpty; - - /** - * The time in milliseconds which will be waited between two attempts to read a data element from the buffer when - * being in waitIfEmpty-mode - */ - @S4Integer(defaultValue = 10) - public static final String PROP_WAIT_TIME_MS = "waitTimeMs"; - private long waitTime; - - - /** The maximal size of the buffer in frames. The oldest frames will be removed if the buffer grows out of bounds. */ - @S4Integer(defaultValue = 50000) - public static final String PROP_BUFFER_SIZE = "maxBufferSize"; - private int maxBufferSize; - - - @S4ComponentList(type = Configurable.class, beTolerant = true) - public static final String DATA_LISTENERS = "dataListeners"; - private List dataListeners = new ArrayList(); - - /** - * @param maxBufferSize The maximal size of the buffer in frames. The oldest frames will be removed if the buffer grows out of bounds. - * @param waitIfEmpty If this property is set true the buffer will wait for new data until it returns from a - * getData-call. Enable this flag if the buffer should serve as starting point for a new - * feature-pull-chain. - * @param waitTime The time in milliseconds which will be waited between two attempts to read a data element from the buffer when - * being in waitIfEmpty-mode - * @param listeners listeners to get notified - */ - public DataBufferProcessor(int maxBufferSize, boolean waitIfEmpty, int waitTime, List listeners) { - initLogger(); - - this.maxBufferSize = maxBufferSize; - this.waitIfEmpty = waitIfEmpty; - - if (waitIfEmpty) // if false we don't need the value - this.waitTime = waitTime; - - for (Configurable configurable : listeners) { - assert configurable instanceof DataListener; - addDataListener((DataListener) configurable); - } - } - - public DataBufferProcessor() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - maxBufferSize = ps.getInt(PROP_BUFFER_SIZE); - waitIfEmpty = ps.getBoolean(PROP_WAIT_IF_EMPTY); - - if (waitIfEmpty) // if false we don't need the value - waitTime = ps.getInt(PROP_WAIT_TIME_MS); - - dataListeners = ps.getComponentList(DATA_LISTENERS, DataListener.class); - } - - - public void processDataFrame(Data data) { - featureBuffer.add(data); - - // inform data-listeners if necessary - for (DataListener dataListener : dataListeners) { - dataListener.processDataFrame(data); - } - - //reduce the buffer-size if necessary - while (featureBuffer.size() > maxBufferSize) { - featureBuffer.remove(0); - } - } - - - /** - * Returns the processed Data output. - * - * @return an Data object that has been processed by this DataProcessor - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if a data processor error occurs - */ - @Override - public Data getData() throws DataProcessingException { - Data data = null; - - while (waitIfEmpty && featureBuffer.isEmpty()) { - try { - Thread.sleep(waitTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - - if (!featureBuffer.isEmpty()) { - data = featureBuffer.remove(0); - } else { - assert !waitIfEmpty; - } - - return data; - } - - - public int getBufferSize() { - return featureBuffer.size(); - } - - - public void clearBuffer() { - featureBuffer.clear(); - } - - - public List getBuffer() { - return Collections.unmodifiableList(featureBuffer); - } - - - /** Adds a new listener. - * @param l listener to add - */ - public void addDataListener(DataListener l) { - if (l == null) - return; - - dataListeners.add(l); - } - - - /** Removes a listener. - * @param l listener to remove - */ - public void removeDataListener(DataListener l) { - if (l == null) - return; - - dataListeners.remove(l); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataListener.java deleted file mode 100755 index 0352296a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataListener.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.cmu.sphinx.frontend.databranch; - -import edu.cmu.sphinx.frontend.Data; - - -/** - * Defines some API-elements for Data-observer classes. - */ -public interface DataListener { - - /** This method is invoked when a new {@link Data} object becomes available. - * @param data feature frame - */ - public void processDataFrame(Data data); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataProducer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataProducer.java deleted file mode 100755 index 32ec7a53..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/DataProducer.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.cmu.sphinx.frontend.databranch; - -import edu.cmu.sphinx.util.props.Configurable; - -/** Some API-elements which are shared by components which can generate {@link edu.cmu.sphinx.frontend.Data}s. */ -public interface DataProducer extends Configurable { - - /** Registers a new listener for Datas. - * @param l listener to add - */ - void addDataListener(DataListener l); - - - /** Unregisters a listener for Datas. - * @param l listener to remove - */ - void removeDataListener(DataListener l); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/FrontEndSplitter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/FrontEndSplitter.java deleted file mode 100755 index 8fb57355..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/databranch/FrontEndSplitter.java +++ /dev/null @@ -1,71 +0,0 @@ -package edu.cmu.sphinx.frontend.databranch; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4ComponentList; - -import java.util.ArrayList; -import java.util.List; - -/** - * Creates push-branches out of a Frontend. This might be used for for push-decoding or to create new pull-streams - * - * @see edu.cmu.sphinx.decoder.FrameDecoder - * @see edu.cmu.sphinx.frontend.databranch.DataBufferProcessor - */ -public class FrontEndSplitter extends BaseDataProcessor implements DataProducer { - - - @S4ComponentList(type = Configurable.class, beTolerant = true) - public static final String PROP_DATA_LISTENERS = "dataListeners"; - private List listeners = new ArrayList(); - - public FrontEndSplitter() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - listeners = ps.getComponentList(PROP_DATA_LISTENERS, DataListener.class); - } - - - /** - * Reads and returns the next Data frame or return null if no data is available. - * - * @return the next Data or null if none is available - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); - - for (DataListener l : listeners) - l.processDataFrame(input); - - return input; - } - - - public void addDataListener(DataListener l) { - if (l == null) { - return; - } - listeners.add(l); - } - - - public void removeDataListener(DataListener l) { - if (l == null) { - return; - } - listeners.remove(l); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/denoise/Denoise.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/denoise/Denoise.java deleted file mode 100755 index b0c6ba93..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/denoise/Denoise.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.denoise; - -import java.util.Arrays; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DataStartSignal; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * The noise filter, same as implemented in sphinxbase/sphinxtrain/pocketsphinx. - * - * Noise removal algorithm is inspired by the following papers Computationally - * Efficient Speech Enchancement by Spectral Minina Tracking by G. Doblinger - * - * Power-Normalized Cepstral Coefficients (PNCC) for Robust Speech Recognition - * by C. Kim. - * - * For the recent research and state of art see papers about IMRCA and A - * Minimum-Mean-Square-Error Noise Reduction Algorithm On Mel-Frequency Cepstra - * For Robust Speech Recognition by Dong Yu and others - * - */ -public class Denoise extends BaseDataProcessor { - - double[] power; - double[] noise; - double[] floor; - double[] peak; - - @S4Double(defaultValue = 0.7) - public final static String LAMBDA_POWER = "lambdaPower"; - double lambdaPower; - - @S4Double(defaultValue = 0.995) - public final static String LAMBDA_A = "lambdaA"; - double lambdaA; - - @S4Double(defaultValue = 0.5) - public final static String LAMBDA_B = "lambdaB"; - double lambdaB; - - @S4Double(defaultValue = 0.85) - public final static String LAMBDA_T = "lambdaT"; - double lambdaT; - - @S4Double(defaultValue = 0.2) - public final static String MU_T = "muT"; - double muT; - - @S4Double(defaultValue = 20.0) - public final static String MAX_GAIN = "maxGain"; - double maxGain; - - @S4Integer(defaultValue = 4) - public final static String SMOOTH_WINDOW = "smoothWindow"; - int smoothWindow; - - final static double EPS = 1e-10; - - public Denoise(double lambdaPower, double lambdaA, double lambdaB, - double lambdaT, double muT, - double maxGain, int smoothWindow) { - this.lambdaPower = lambdaPower; - this.lambdaA = lambdaA; - this.lambdaB = lambdaB; - this.lambdaT = lambdaT; - this.muT = muT; - this.maxGain = maxGain; - this.smoothWindow = smoothWindow; - } - - public Denoise() { - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - lambdaPower = ps.getDouble(LAMBDA_POWER); - lambdaA = ps.getDouble(LAMBDA_A); - lambdaB = ps.getDouble(LAMBDA_B); - lambdaT = ps.getDouble(LAMBDA_T); - muT = ps.getDouble(MU_T); - maxGain = ps.getDouble(MAX_GAIN); - smoothWindow = ps.getInt(SMOOTH_WINDOW); - } - - @Override - public Data getData() throws DataProcessingException { - Data inputData = getPredecessor().getData(); - int i; - - if (inputData instanceof DataStartSignal) { - power = null; - noise = null; - floor = null; - peak = null; - return inputData; - } - if (!(inputData instanceof DoubleData)) { - return inputData; - } - - DoubleData inputDoubleData = (DoubleData) inputData; - double[] input = inputDoubleData.getValues(); - int length = input.length; - - if (power == null) - initStatistics(input, length); - - updatePower(input); - - estimateEnvelope(power, noise); - - double[] signal = new double[length]; - for (i = 0; i < length; i++) { - signal[i] = Math.max(power[i] - noise[i], 0.0); - } - - estimateEnvelope(signal, floor); - - tempMasking(signal); - - powerBoosting(signal); - - double[] gain = new double[length]; - for (i = 0; i < length; i++) { - gain[i] = signal[i] / (power[i] + EPS); - gain[i] = Math.min(Math.max(gain[i], 1.0 / maxGain), maxGain); - } - double[] smoothGain = smooth(gain); - - for (i = 0; i < length; i++) { - input[i] *= smoothGain[i]; - } - - return inputData; - } - - private double[] smooth(double[] gain) { - double[] result = new double[gain.length]; - for (int i = 0; i < gain.length; i++) { - int start = Math.max(i - smoothWindow, 0); - int end = Math.min(i + smoothWindow + 1, gain.length); - double sum = 0.0; - for (int j = start; j < end; j++) { - sum += gain[j]; - } - result[i] = sum / (end - start); - } - return result; - } - - private void powerBoosting(double[] signal) { - for (int i = 0; i < signal.length; i++) { - if (signal[i] < floor[i]) - signal[i] = floor[i]; - } - } - - private void tempMasking(double[] signal) { - for (int i = 0; i < signal.length; i++) { - double in = signal[i]; - - peak[i] *= lambdaT; - if (signal[i] < lambdaT * peak[i]) - signal[i] = peak[i] * muT; - - if (in > peak[i]) - peak[i] = in; - } - } - - private void updatePower(double[] input) { - for (int i = 0; i < input.length; i++) { - power[i] = lambdaPower * power[i] + (1 - lambdaPower) * input[i]; - } - } - - private void estimateEnvelope(double[] signal, double[] envelope) { - for (int i = 0; i < signal.length; i++) { - if (signal[i] > envelope[i]) - envelope[i] = lambdaA * envelope[i] + (1 - lambdaA) * signal[i]; - else - envelope[i] = lambdaB * envelope[i] + (1 - lambdaB) * signal[i]; - } - } - - private void initStatistics(double[] input, int length) { - /* no previous data, initialize the statistics */ - power = Arrays.copyOf(input, length); - noise = Arrays.copyOf(input, length); - floor = new double[length]; - peak = new double[length]; - for (int i = 0; i < length; i++) { - floor[i] = input[i] / maxGain; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/AbstractVoiceActivityDetector.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/AbstractVoiceActivityDetector.java deleted file mode 100755 index bb1ccbb6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/AbstractVoiceActivityDetector.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2010 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; - -/** - * An abstract analyzer that signals about presense of speech in last processing frame. - * This information is used in noise filtering components to estimate noise spectrum - * for example. - */ -public abstract class AbstractVoiceActivityDetector extends BaseDataProcessor { - - /** - * Returns the state of speech detected. - * - * @return if last processed data object was classified as speech. - */ - public abstract boolean isSpeech(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifiedData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifiedData.java deleted file mode 100755 index 74a214e8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifiedData.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; - - -/** A container for DoubleData class that indicates whether the contained DoubleData is speech or not. */ -public class SpeechClassifiedData implements Data { - - private boolean isSpeech; - private final DoubleData data; - - - /** - * Constructs a SpeechClassifiedData object. - * - * @param doubleData the DoubleData - * @param isSpeech indicates whether the DoubleData is speech - */ - public SpeechClassifiedData(DoubleData doubleData, boolean isSpeech) { - this.data = doubleData; - this.isSpeech = isSpeech; - } - - - /** - * Sets whether this SpeechClassifiedData is speech or not. - * - * @param isSpeech true if this is speech, false otherwise - */ - public void setSpeech(boolean isSpeech) { - this.isSpeech = isSpeech; - } - - - /** - * Returns whether this is classified as speech. - * - * @return true if this is classified as speech, false otherwise - */ - public boolean isSpeech() { - return isSpeech; - } - - - /** - * Returns the data values. - * - * @return the data values - */ - public double[] getValues() { - return data.getValues(); - } - - - /** - * Returns the sample rate of the data. - * - * @return the sample rate of the data - */ - public int getSampleRate() { - return data.getSampleRate(); - } - - - /** - * Returns the time in milliseconds at which the audio data is collected. - * - * @return the difference, in milliseconds, between the time the audio data is collected and midnight, January 1, - * 1970 - */ - public long getCollectTime() { - return data.getCollectTime(); - } - - - /** - * Returns the position of the first sample in the original data. The very first sample number is zero. - * - * @return the position of the first sample in the original data - */ - public long getFirstSampleNumber() { - return data.getFirstSampleNumber(); - } - - - /** - * Returns the DoubleData contained by this SpeechClassifiedData. - * - * @return the DoubleData contained by this SpeechClassifiedData - */ - public DoubleData getDoubleData() { - return data; - } - - - /** - * @return a string that describes the data. - */ - @Override - public String toString() { - return "SpeechClassifiedData containing " + data.toString() + " classified as " + (isSpeech ? "speech" : "non-speech"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifier.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifier.java deleted file mode 100755 index fb6eadc9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechClassifier.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.logging.Level; - -/** - * Implements a level tracking endpointer invented by Bent Schmidt Nielsen. - *

This endpointer is composed of two main steps. - *

    - *
  1. classification of audio into speech and non-speech - *
  2. inserting SPEECH_START and SPEECH_END signals around speech and removing non-speech regions - *
- *

- * The first step, classification of audio into speech and non-speech, uses Bent Schmidt Nielsen's algorithm. Each - * time audio comes in, the average signal level and the background noise level are updated, using the signal level of - * the current audio. If the average signal level is greater than the background noise level by a certain threshold - * value (configurable), then the current audio is marked as speech. Otherwise, it is marked as non-speech. - *

- * The second step of this endpointer is documented in the class {@link SpeechMarker SpeechMarker} - * - * @see SpeechMarker - */ -public class SpeechClassifier extends AbstractVoiceActivityDetector { - - /** The property specifying the endpointing frame length in milliseconds. */ - @S4Integer(defaultValue = 10) - public static final String PROP_FRAME_LENGTH_MS = "frameLengthInMs"; - - /** The property specifying the minimum signal level used to update the background signal level. */ - @S4Double(defaultValue = 0) - public static final String PROP_MIN_SIGNAL = "minSignal"; - - /** - * The property specifying the threshold. If the current signal level is greater than the background level by - * this threshold, then the current signal is marked as speech. Therefore, a lower threshold will make the - * endpointer more sensitive, that is, mark more audio as speech. A higher threshold will make the endpointer less - * sensitive, that is, mark less audio as speech. - */ - @S4Double(defaultValue = 10) - public static final String PROP_THRESHOLD = "threshold"; - - /** The property specifying the adjustment. */ - @S4Double(defaultValue = 0.003) - public static final String PROP_ADJUSTMENT = "adjustment"; - - protected final double averageNumber = 1; - protected double adjustment; - /** average signal level. */ - protected double level; - /** background signal level. */ - protected double background; - /** minimum valid signal level. */ - protected double minSignal; - protected double threshold; - protected float frameLengthSec; - protected boolean isSpeech; - - /* Statistics */ - protected long speechFrames; - protected long backgroundFrames; - protected double totalBackgroundLevel; - protected double totalSpeechLevel; - - public SpeechClassifier(int frameLengthMs, double adjustment, double threshold, double minSignal ) { - initLogger(); - this.frameLengthSec = frameLengthMs / 1000.f; - - this.adjustment = adjustment; - this.threshold = threshold; - this.minSignal = minSignal; - - initialize(); - } - - public SpeechClassifier() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - int frameLengthMs = ps.getInt(PROP_FRAME_LENGTH_MS); - frameLengthSec = frameLengthMs / 1000.f; - - adjustment = ps.getDouble(PROP_ADJUSTMENT); - threshold = ps.getDouble(PROP_THRESHOLD); - minSignal = ps.getDouble(PROP_MIN_SIGNAL); - - logger = ps.getLogger(); - //logger.setLevel(Level.FINEST); - - initialize(); - } - - - /** Initializes this LevelTracker endpointer and DataProcessor predecessor. */ - @Override - public void initialize() { - super.initialize(); - reset(); - } - - - /** Resets this LevelTracker to a starting state. */ - protected void reset() { - level = 0; - background = 300; - resetStats(); - } - - - /** - * Returns the logarithm base 10 of the root mean square of the given samples. - * - * @param samples the samples - * @return the calculated log root mean square in log 10 - */ - public static double logRootMeanSquare(double[] samples) { - assert samples.length > 0; - double sumOfSquares = 0.0f; - for (double sample : samples) { - sumOfSquares += sample * sample; - } - double rootMeanSquare = Math.sqrt - (sumOfSquares / samples.length); - rootMeanSquare = Math.max(rootMeanSquare, 1); - return (LogMath.log10((float) rootMeanSquare) * 20); - } - - - /** - * Classifies the given audio frame as speech or not, and updates the endpointing parameters. - * - * @param audio the audio frame - * @return Data with classification flag - */ - protected SpeechClassifiedData classify(DoubleData audio) { - double current = logRootMeanSquare(audio.getValues()); - isSpeech = false; - if (current >= minSignal) { - level = ((level * averageNumber) + current) / (averageNumber + 1); - if (current < background) { - background = current; - } else { - background += (current - background) * adjustment; - } - if (level < background) { - level = background; - } - isSpeech = (level - background > threshold); - } - - SpeechClassifiedData labeledAudio = new SpeechClassifiedData(audio, isSpeech); - - if (logger.isLoggable(Level.FINEST)) { - String speech = ""; - if (labeledAudio.isSpeech()) - speech = "*"; - - logger.finest("Bkg: " + background + ", level: " + level + - ", current: " + current + ' ' + speech); - } - - collectStats (isSpeech); - - return labeledAudio; - } - - /** - * Reset statistics - */ - private void resetStats () { - backgroundFrames = 1; - speechFrames = 1; - totalSpeechLevel = 0; - totalBackgroundLevel = 0; - } - - /** - * Collects the statistics to provide information about signal to noise ratio in channel - * - * @param isSpeech if the current frame is classified as speech - */ - private void collectStats(boolean isSpeech) { - if (isSpeech) { - totalSpeechLevel = totalSpeechLevel + level; - speechFrames = speechFrames + 1; - } else { - totalBackgroundLevel = totalBackgroundLevel + background; - backgroundFrames = backgroundFrames + 1; - } - } - - /** - * Returns the next Data object. - * - * @return the next Data object, or null if none available - * @throws DataProcessingException if a data processing error occurs - */ - @Override - public Data getData() throws DataProcessingException { - Data audio = getPredecessor().getData(); - - if (audio instanceof DataStartSignal) - reset(); - - if (audio instanceof DoubleData) { - DoubleData data = (DoubleData) audio; - audio = classify(data); - } - return audio; - } - - /** - * Method that returns if current returned frame contains speech. - * It could be used by noise filter for example to adjust noise - * spectrum estimation. - * - * @return if current frame is speech - */ - @Override - public boolean isSpeech() { - return isSpeech; - } - - /** - * Retrieves accumulated signal to noise ratio in dbScale - * - * @return signal to noise ratio - */ - public double getSNR () { - double snr = (totalBackgroundLevel / backgroundFrames - totalSpeechLevel / speechFrames); - logger.fine ("Background " + totalBackgroundLevel / backgroundFrames); - logger.fine ("Speech " + totalSpeechLevel / speechFrames); - logger.fine ("SNR is " + snr); - return snr; - } - - /** - * Return the estimation if input data was noisy enough to break - * recognition. The audio is counted noisy if signal to noise ratio - * is less then -20dB. - * - * @return estimation of data being noisy - */ - public boolean getNoisy () { - return (getSNR() > -20); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechEndSignal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechEndSignal.java deleted file mode 100755 index 20bd2cb1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechEndSignal.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.Signal; - -/** A signal that indicates the end of speech. */ -public class SpeechEndSignal extends Signal { - - /** Constructs a SpeechEndSignal. */ - public SpeechEndSignal() { - this(System.currentTimeMillis()); - } - - - /** - * Constructs a SpeechEndSignal with the given creation time. - * - * @param time the creation time of the SpeechEndSignal - */ - public SpeechEndSignal(long time) { - super(time); - } - - - /** - * Returns the string "SpeechEndSignal". - * - * @return the string "SpeechEndSignal" - */ - @Override - public String toString() { - return "SpeechEndSignal"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechMarker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechMarker.java deleted file mode 100755 index 0b5c2325..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechMarker.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.LinkedList; - -/** - * Converts a stream of SpeechClassifiedData objects, marked as speech and - * non-speech, and mark out the regions that are considered speech. This is done - * by inserting SPEECH_START and SPEECH_END signals into the stream. - *

- * The algorithm for inserting the two signals is as follows. - *

- * The algorithm is always in one of two states: 'in-speech' and - * 'out-of-speech'. If 'out-of-speech', it will read in audio until we hit audio - * that is speech. If we have read more than 'startSpeech' amount of - * continuous speech, we consider that speech has started, and insert a - * SPEECH_START at 'speechLeader' time before speech first started. The state of - * the algorithm changes to 'in-speech'. - *

- * Now consider the case when the algorithm is in 'in-speech' state. If it read - * an audio that is speech, it is scheduled for output. If the audio is - * non-speech, we read ahead until we have 'endSilence' amount of - * continuous non-speech. At the point we consider that speech has ended. - * A SPEECH_END signal is inserted at 'speechTrailer' time after the first - * non-speech audio. The algorithm returns to 'out-of-speech' state. If any - * speech audio is encountered in-between, the accounting starts all over again. - * - * While speech audio is processed delay is lowered to some minimal amount. This - * helps to segment both slow speech with visible delays and fast speech when - * delays are minimal. - */ -public class SpeechMarker extends BaseDataProcessor { - - /** - * The property for the minimum amount of time in speech (in milliseconds) - * to be considered as utterance start. - */ - @S4Integer(defaultValue = 200) - public static final String PROP_START_SPEECH = "startSpeech"; - private int startSpeechTime; - - /** - * The property for the amount of time in silence (in milliseconds) to be - * considered as utterance end. - */ - @S4Integer(defaultValue = 200) - public static final String PROP_END_SILENCE = "endSilence"; - private int endSilenceTime; - - /** - * The property for the amount of time (in milliseconds) before speech start - * to be included as speech data. - */ - @S4Integer(defaultValue = 50) - public static final String PROP_SPEECH_LEADER = "speechLeader"; - private int speechLeader; - - private LinkedList inputQueue; // Audio objects are added to the end - private LinkedList outputQueue; // Audio objects are added to the end - private boolean inSpeech; - private int speechCount; - private int silenceCount; - private int startSpeechFrames; - private int endSilenceFrames; - private int speechLeaderFrames; - - public SpeechMarker(int startSpeechTime, int endSilenceTime, int speechLeader) { - initLogger(); - this.startSpeechTime = startSpeechTime; - this.speechLeader = speechLeader; - this.endSilenceTime = endSilenceTime; - } - - public SpeechMarker() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - startSpeechTime = ps.getInt(PROP_START_SPEECH); - endSilenceTime = ps.getInt(PROP_END_SILENCE); - speechLeader = ps.getInt(PROP_SPEECH_LEADER); - } - - /** - * Initializes this SpeechMarker - */ - @Override - public void initialize() { - super.initialize(); - reset(); - } - - /** - * Resets this SpeechMarker to a starting state. - */ - private void reset() { - inSpeech = false; - speechCount = 0; - silenceCount = 0; - startSpeechFrames = startSpeechTime / 10; - endSilenceFrames = endSilenceTime / 10; - speechLeaderFrames = speechLeader / 10; - this.inputQueue = new LinkedList(); - this.outputQueue = new LinkedList(); - } - - /** - * Returns the next Data object. - * - * @return the next Data object, or null if none available - * @throws DataProcessingException - * if a data processing error occurs - */ - @Override - public Data getData() throws DataProcessingException { - - while (outputQueue.isEmpty()) { - Data data = getPredecessor().getData(); - - if (data == null) - break; - - if (data instanceof DataStartSignal) { - reset(); - outputQueue.add(data); - break; - } - - if (data instanceof DataEndSignal) { - if (inSpeech) { - outputQueue.add(new SpeechEndSignal()); - } - outputQueue.add(data); - break; - } - - if (data instanceof SpeechClassifiedData) { - SpeechClassifiedData cdata = (SpeechClassifiedData) data; - - if (cdata.isSpeech()) { - speechCount++; - silenceCount = 0; - } else { - speechCount = 0; - silenceCount++; - } - - if (inSpeech) { - outputQueue.add(data); - } else { - inputQueue.add(data); - if (inputQueue.size() > startSpeechFrames + speechLeaderFrames) { - inputQueue.remove(0); - } - } - - if (!inSpeech && speechCount == startSpeechFrames) { - inSpeech = true; - outputQueue.add(new SpeechStartSignal(cdata.getCollectTime() - speechLeader - startSpeechFrames)); - outputQueue.addAll(inputQueue.subList( - Math.max(0, inputQueue.size() - startSpeechFrames - speechLeaderFrames), inputQueue.size())); - inputQueue.clear(); - } - if (inSpeech && silenceCount == endSilenceFrames) { - inSpeech = false; - outputQueue.add(new SpeechEndSignal(cdata.getCollectTime())); - } - } - } - - // If we have something left, return that - if (!outputQueue.isEmpty()) { - Data audio = outputQueue.remove(0); - if (audio instanceof SpeechClassifiedData) { - SpeechClassifiedData data = (SpeechClassifiedData) audio; - audio = data.getDoubleData(); - } - return audio; - } else { - return null; - } - - } - - public boolean inSpeech() { - return inSpeech; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechStartSignal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechStartSignal.java deleted file mode 100755 index 179a3aa2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/endpoint/SpeechStartSignal.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.endpoint; - -import edu.cmu.sphinx.frontend.Signal; - -/** A signal that indicates the start of speech. */ -public class SpeechStartSignal extends Signal { - - /** Constructs a SpeechStartSignal. */ - public SpeechStartSignal() { - this(System.currentTimeMillis()); - } - - - /** - * Constructs a SpeechStartSignal at the given time. - * - * @param time the time this SpeechStartSignal is created - */ - public SpeechStartSignal(long time) { - super(time); - } - - - /** - * Returns the string "SpeechStartSignal". - * - * @return the string "SpeechStartSignal" - */ - @Override - public String toString() { - return "SpeechStartSignal"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/AbstractFeatureExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/AbstractFeatureExtractor.java deleted file mode 100755 index e6f09615..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/AbstractFeatureExtractor.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.*; - -import java.util.*; - -/** - * Abstract base class for windowed feature extractors like DeltasFeatureExtractor, ConcatFeatureExtractor - * or S3FeatureExtractor. The main purpose of this it to collect window size cepstra frames in a buffer - * and let the extractor compute the feature frame with them. - */ -public abstract class AbstractFeatureExtractor extends BaseDataProcessor { - - /** The property for the window of the DeltasFeatureExtractor. */ - @S4Integer(defaultValue = 3) - public static final String PROP_FEATURE_WINDOW = "windowSize"; - - private int bufferPosition; - private Signal pendingSignal; - private LinkedList outputQueue; - - protected int cepstraBufferEdge; - protected int window; - protected int currentPosition; - protected int cepstraBufferSize; - protected DoubleData[] cepstraBuffer; - - public AbstractFeatureExtractor(int window) { - initLogger(); - this.window = window; - } - - public AbstractFeatureExtractor() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - window = ps.getInt(PROP_FEATURE_WINDOW); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend.CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - cepstraBufferSize = 256; - cepstraBuffer = new DoubleData[cepstraBufferSize]; - cepstraBufferEdge = cepstraBufferSize - (window * 2 + 2); - outputQueue = new LinkedList(); - reset(); - } - - - /** Resets the DeltasFeatureExtractor to be ready to read the next segment of data. */ - private void reset() { - bufferPosition = 0; - currentPosition = 0; - } - - - /** - * Returns the next Data object produced by this DeltasFeatureExtractor. - * - * @return the next available Data object, returns null if no Data is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - if (outputQueue.isEmpty()) { - Data input = getNextData(); - if (input != null) { - if (input instanceof DoubleData) { - addCepstrum((DoubleData) input); - computeFeatures(1); - } else if (input instanceof DataStartSignal) { - pendingSignal = null; - outputQueue.add(input); - Data start = getNextData(); - int n = processFirstCepstrum(start); - computeFeatures(n); - if (pendingSignal != null) { - outputQueue.add(pendingSignal); - } - } else if (input instanceof SpeechEndSignal) { - // when the DataEndSignal is right at the boundary - int n = replicateLastCepstrum(); - computeFeatures(n); - outputQueue.add(input); - } else if (input instanceof DataEndSignal) { - outputQueue.add(input); - } - } - } - return outputQueue.isEmpty() ? null : outputQueue.removeFirst(); - } - - - private Data getNextData() throws DataProcessingException { - Data d = getPredecessor().getData(); - while (d != null && !(d instanceof DoubleData || d instanceof DataEndSignal || d instanceof DataStartSignal || d instanceof SpeechEndSignal)) { - outputQueue.add(d); - d = getPredecessor().getData(); - } - - return d; - } - - - /** - * Replicate the given cepstrum Data object into the first window+1 number of frames in the cepstraBuffer. This is - * the first cepstrum in the segment. - * - * @param cepstrum the Data to replicate - * @return the number of Features that can be computed - * @throws edu.cmu.sphinx.frontend.DataProcessingException - */ - private int processFirstCepstrum(Data cepstrum) - throws DataProcessingException { - if (cepstrum instanceof DataEndSignal) { - outputQueue.add(cepstrum); - return 0; - } else if (cepstrum instanceof DataStartSignal) { - throw new Error("Too many UTTERANCE_START"); - } else { - // At the start of an utterance, we replicate the first frame - // into window+1 frames, and then read the next "window" number - // of frames. This will allow us to compute the delta- - // double-delta of the first frame. - Arrays.fill(cepstraBuffer, 0, window + 1, cepstrum); - bufferPosition = window + 1; - bufferPosition %= cepstraBufferSize; - currentPosition = window; - currentPosition %= cepstraBufferSize; - int numberFeatures = 1; - pendingSignal = null; - for (int i = 0; i < window; i++) { - Data next = getNextData(); - if (next != null) { - if (next instanceof DoubleData) { - // just a cepstra - addCepstrum((DoubleData) next); - } else if (next instanceof DataEndSignal || next instanceof SpeechEndSignal) { - // end of segment cepstrum - pendingSignal = (Signal) next; - replicateLastCepstrum(); - numberFeatures += i; - break; - } else if (next instanceof DataStartSignal) { - throw new Error("Too many UTTERANCE_START"); - } - } - } - return numberFeatures; - } - } - - - /** - * Adds the given DoubleData object to the cepstraBuffer. - * - * @param cepstrum the DoubleData object to add - */ - private void addCepstrum(DoubleData cepstrum) { - cepstraBuffer[bufferPosition++] = cepstrum; - bufferPosition %= cepstraBufferSize; - } - - - /** - * Replicate the last frame into the last window number of frames in the cepstraBuffer. - * - * @return the number of replicated Cepstrum - */ - private int replicateLastCepstrum() { - DoubleData last; - if (bufferPosition > 0) { - last = cepstraBuffer[bufferPosition - 1]; - } else if (bufferPosition == 0) { - last = cepstraBuffer[cepstraBuffer.length - 1]; - } else { - throw new Error("BufferPosition < 0"); - } - for (int i = 0; i < window; i++) { - addCepstrum(last); - } - return window; - } - - - /** - * Converts the Cepstrum data in the cepstraBuffer into a FeatureFrame. - * - * @param totalFeatures the number of Features that will be produced - */ - private void computeFeatures(int totalFeatures) { - if (totalFeatures == 1) { - computeFeature(); - } else { - // create the Features - for (int i = 0; i < totalFeatures; i++) { - computeFeature(); - } - } - } - - - /** Computes the next Feature. */ - private void computeFeature() { - Data feature = computeNextFeature(); - outputQueue.add(feature); - } - - - /** - * Computes the next feature. Advances the pointers as well. - * - * @return the feature Data computed - */ - protected abstract Data computeNextFeature(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchAGC.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchAGC.java deleted file mode 100755 index 009060ce..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchAGC.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.util.*; - - -/** - * Applies automatic gain control (CMN) - */ -public class BatchAGC extends BaseDataProcessor { - - private List cepstraList; - private double agc; - - public BatchAGC() { - initLogger(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - /** Initializes this BatchCMN. */ - @Override - public void initialize() { - super.initialize(); - cepstraList = new LinkedList(); - } - - /** - * Returns the next Data object, which is a normalized cepstrum. Signal objects are returned unmodified. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is an error processing data - */ - @Override - public Data getData() throws DataProcessingException { - - Data output = null; - - if (!cepstraList.isEmpty()) { - output = cepstraList.remove(0); - } else { - agc = 0.0; - cepstraList.clear(); - // read the cepstra of the entire utterance, calculate and substract gain - if (readUtterance() > 0) { - normalizeList(); - output = cepstraList.remove(0); - } - } - - return output; - } - - - /** - * Reads the cepstra of the entire Utterance into the cepstraList. - * - * @return the number cepstra (with Data) read - * @throws DataProcessingException if an error occurred reading the Data - */ - private int readUtterance() throws DataProcessingException { - - Data input = null; - int numFrames = 0; - - while (true) { - input = getPredecessor().getData(); - if (input == null) { - break; - } else if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) { - cepstraList.add(input); - break; - } else if (input instanceof DoubleData) { - cepstraList.add(input); - double c0 = ((DoubleData)input).getValues()[0]; - if (agc < c0) - agc = c0; - } else { // DataStartSignal or other Signal - cepstraList.add(input); - } - numFrames++; - } - - return numFrames; - } - - /** Normalizes the list of Data. */ - private void normalizeList() { - for (Data data : cepstraList) { - if (data instanceof DoubleData) { - ((DoubleData)data).getValues()[0] -= agc; - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchCMN.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchCMN.java deleted file mode 100755 index 08e8069b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchCMN.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; -import java.util.*; - - -/** - * Applies cepstral mean normalization (CMN), sometimes called channel mean normalization, to incoming cepstral data. - * - * Its goal is to reduce the distortion caused by the transmission channel. The output is mean normalized cepstral - * data. - *

- * The CMN processing subtracts the mean from all the {@link Data} objects between a {@link - * edu.cmu.sphinx.frontend.DataStartSignal} and a {@link DataEndSignal} or between a {@link - * edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal} and a {@link SpeechEndSignal}. BatchCMN will read in all the {@link Data} - * objects, calculate the mean, and subtract this mean from all the {@link Data} objects. For a given utterance, it will - * only produce an output after reading all the incoming data for the utterance. As a result, this process can introduce - * a significant processing delay, which is acceptable for batch processing, but not for live mode. In the latter case, - * one should use the {@link LiveCMN}. - *

- * CMN is a technique used to reduce distortions that are introduced by the transfer function of the transmission - * channel (e.g., the microphone). Using a transmission channel to transmit the input speech translates to multiplying - * the spectrum of the input speech with the transfer function of the channel (the distortion). Since the cepstrum is - * the Fourier Transform of the log spectrum, the logarithm turns the multiplication into a summation. Averaging over - * time, the mean is an estimate of the channel, which remains roughly constant. The channel is thus removed from the - * cepstrum by subtracting the mean cepstral vector. Intuitively, the mean cepstral vector approximately describes the - * spectral characteristics of the transmission channel (e.g., microphone). - * - * @see LiveCMN - */ -public class BatchCMN extends BaseDataProcessor { - - private double[] sums; // array of current sums - private List cepstraList; - private int numberDataCepstra; - private DecimalFormat formatter = new DecimalFormat("0.00;-0.00", new DecimalFormatSymbols(Locale.US));; - - public BatchCMN() { - initLogger(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /** Initializes this BatchCMN. */ - @Override - public void initialize() { - super.initialize(); - sums = null; - cepstraList = new LinkedList(); - } - - - /** Initializes the sums array and clears the cepstra list. */ - private void reset() { - sums = null; // clears the sums array - cepstraList.clear(); - numberDataCepstra = 0; - } - - - /** - * Returns the next Data object, which is a normalized cepstrum. Signal objects are returned unmodified. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is an error processing data - */ - @Override - public Data getData() throws DataProcessingException { - - Data output = null; - - if (!cepstraList.isEmpty()) { - output = cepstraList.remove(0); - } else { - reset(); - // read the cepstra of the entire utterance, calculate - // and apply the cepstral mean - if (readUtterance() > 0) { - normalizeList(); - output = cepstraList.remove(0);//getData(); - } - } - - return output; - } - - - /** - * Reads the cepstra of the entire Utterance into the cepstraList. - * - * @return the number cepstra (with Data) read - * @throws DataProcessingException if an error occurred reading the Data - */ - private int readUtterance() throws DataProcessingException { - - Data input = null; - - do { - input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - double[] cepstrumData = ((DoubleData) input).getValues(); - if (sums == null) { - sums = new double[cepstrumData.length]; - } else { - if (sums.length != cepstrumData.length) { - throw new Error - ("Inconsistent cepstrum lengths: sums: " + - sums.length + ", cepstrum: " + - cepstrumData.length); - } - } - if (cepstrumData[0] >= 0) { - // add the cepstrum data to the sums - for (int j = 0; j < cepstrumData.length; j++) { - sums[j] += cepstrumData[j]; - } - numberDataCepstra++; - } - - cepstraList.add(input); - - } else if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) { - cepstraList.add(input); - break; - } else { // DataStartSignal or other Signal - cepstraList.add(input); - } - } - } while (input != null); - - return numberDataCepstra; - } - - - /** Normalizes the list of Data. */ - private void normalizeList() { - StringBuilder cmn = new StringBuilder(); - // calculate the mean first - for (int i = 0; i < sums.length; i++) { - sums[i] /= numberDataCepstra; - cmn.append (formatter.format(sums[i])); - cmn.append(' '); - } - logger.info(cmn.toString()); - - for (Data data : cepstraList) { - if (data instanceof DoubleData) { - double[] cepstrum = ((DoubleData)data).getValues(); - for (int j = 0; j < cepstrum.length; j++) { - cepstrum[j] -= sums[j]; // sums[] is now the means[] - } - } - } - } - - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchVarNorm.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchVarNorm.java deleted file mode 100755 index 5c04f8d1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/BatchVarNorm.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright 2010 PC-NG Inc.. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.util.*; - - -/** - * Applies cepstral variance normalization (CVN), so that each coefficient - * will have unit variance. You need to put this element after the means - * normalizer in frontend pipeline. - *

- * CVN is sited to improve the stability of the decoding with the additive - * noise, so it might be useful in some situations. - * - * @see LiveCMN - */ -public class BatchVarNorm extends BaseDataProcessor { - - private double[] variances; // array of current sums - private List cepstraList; - private int numberDataCepstra; - - public BatchVarNorm() { - initLogger(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /** Initializes this BatchCMN. */ - @Override - public void initialize() { - super.initialize(); - variances = null; - cepstraList = new LinkedList(); - } - - - /** Initializes the sums array and clears the cepstra list. */ - private void reset() { - variances = null; // clears the sums array - cepstraList.clear(); - numberDataCepstra = 0; - } - - - /** - * Returns the next Data object, which is a normalized cepstrum. Signal objects are returned unmodified. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is an error processing data - */ - @Override - public Data getData() throws DataProcessingException { - - Data output = null; - - if (!cepstraList.isEmpty()) { - output = cepstraList.remove(0); - } else { - reset(); - // read the cepstra of the entire utterance, calculate - // and apply variance normalization - if (readUtterance() > 0) { - normalizeList(); - output = cepstraList.remove(0); //getData(); - } - } - - return output; - } - - - /** - * Reads the cepstra of the entire Utterance into the cepstraList. - * - * @return the number cepstra (with Data) read - * @throws DataProcessingException if an error occurred reading the Data - */ - private int readUtterance() throws DataProcessingException { - - Data input = null; - - do { - input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - numberDataCepstra++; - double[] cepstrumData = ((DoubleData) input).getValues(); - if (variances == null) { - variances = new double[cepstrumData.length]; - } else { - if (variances.length != cepstrumData.length) { - throw new Error - ("Inconsistent cepstrum lengths: sums: " + - variances.length + ", cepstrum: " + - cepstrumData.length); - } - } - // add the cepstrum data to the sums - for (int j = 0; j < cepstrumData.length; j++) { - variances[j] += cepstrumData[j] * cepstrumData[j]; - } - cepstraList.add(input); - - } else if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) { - cepstraList.add(input); - break; - } else { // DataStartSignal or other Signal - cepstraList.add(input); - } - } - } while (input != null); - - return numberDataCepstra; - } - - - /** Normalizes the list of Data. */ - private void normalizeList() { - - // calculate the variance first - for (int i = 0; i < variances.length; i++) { - variances[i] = Math.sqrt(numberDataCepstra / variances[i]); - } - - for (Data data : cepstraList) { - if (data instanceof DoubleData) { - double[] cepstrum = ((DoubleData)data).getValues(); - for (int j = 0; j < cepstrum.length; j++) { - cepstrum[j] *= variances[j]; - } - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/ConcatFeatureExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/ConcatFeatureExtractor.java deleted file mode 100755 index de4956ea..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/ConcatFeatureExtractor.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2002-2009 Carnegie Mellon University. - * Copyright 2009 PC-NG Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; - -/** - * This component concatenate the cepstrum from the sequence of frames according to the window size. - * It's not supposed to give high accuracy alone, but combined with LDA transform it can give the same - * or even better results than conventional delta and delta-delta coefficients. The idea is that - * delta-delta computation is also a matrix multiplication thus using automatically generated - * with LDA/MLLT matrix we can gain better results. - * The model for this feature extractor should be trained with SphinxTrain with 1s_c feature type and - * with cepwin option enabled. Don't forget to set the window size accordingly. - */ -public class ConcatFeatureExtractor extends AbstractFeatureExtractor { - - public ConcatFeatureExtractor(int window) { - super(window); - } - - public ConcatFeatureExtractor( ) { - } - - /** - * Computes the next feature. Advances the pointers as well. - * - * @return the feature Data computed - */ - @Override - protected Data computeNextFeature() { - DoubleData currentCepstrum = cepstraBuffer[currentPosition]; - float[] feature = new float[(window * 2 + 1) * currentCepstrum.getValues().length]; - int j = 0; - for (int k = -window; k <= window; k++) { - int position = (currentPosition + k + cepstraBufferSize) % cepstraBufferSize; - double[] buffer = cepstraBuffer[position].getValues(); - for (double val : buffer) { - feature[j++] = (float)val; - } - } - currentPosition = (currentPosition + 1) % cepstraBufferSize ; - - return (new FloatData(feature, - currentCepstrum.getSampleRate(), - currentCepstrum.getFirstSampleNumber())); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/DeltasFeatureExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/DeltasFeatureExtractor.java deleted file mode 100755 index 60f38070..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/DeltasFeatureExtractor.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; - -/** - * Computes the delta and double delta of input cepstrum (or plp or ...). The delta is the first order derivative and - * the double delta (a.k.a. delta delta) is the second order derivative of the original cepstrum. They help model the - * speech signal dynamics. The output data is a {@link FloatData} object with a float array of size three times the - * original cepstrum, formed by the concatenation of cepstra, delta cepstra, and double delta cepstra. The output is the - * feature vector used by the decoder. Figure 1 shows the arrangement of the output feature data array: - *

- * Layout of features
Figure 1: Layout of the returned features. - *

- * Suppose that the original cepstrum has a length of N, the first N elements of the feature are just the original - * cepstrum, the second N elements are the delta of the cepstrum, and the last N elements are the double delta of the - * cepstrum. - *

- * Figure 2 below shows pictorially the computation of the delta and double delta of a cepstrum vector, using the last 3 - * cepstra and the next 3 cepstra. Delta computation
Figure 2: Delta and double delta vector - * computation. - *

- * Referring to Figure 2, the delta is computed by subtracting the cepstrum that is two frames behind of the current - * cepstrum from the cepstrum that is two frames ahead of the current cepstrum. The computation of the double delta is - * similar. It is computed by subtracting the delta cepstrum one time frame behind from the delta cepstrum one time - * frame ahead. Replacing delta cepstra with cepstra, this works out to a formula involving the cepstra that are one and - * three behind and after the current cepstrum. - */ -public class DeltasFeatureExtractor extends AbstractFeatureExtractor { - - public DeltasFeatureExtractor(int window) { - super(window); - } - - public DeltasFeatureExtractor( ) { - } - - /** - * Computes the next feature. Advances the pointers as well. - * - * @return the feature Data computed - */ - @Override - protected Data computeNextFeature() { - - int jp1 = (currentPosition - 1 + cepstraBufferSize) % cepstraBufferSize; - int jp2 = (currentPosition - 2 + cepstraBufferSize) % cepstraBufferSize; - int jp3 = (currentPosition - 3 + cepstraBufferSize) % cepstraBufferSize; - int jf1 = (currentPosition + 1) % cepstraBufferSize; - int jf2 = (currentPosition + 2) % cepstraBufferSize; - int jf3 = (currentPosition + 3) % cepstraBufferSize; - - DoubleData currentCepstrum = cepstraBuffer[currentPosition]; - double[] mfc3f = cepstraBuffer[jf3].getValues(); - double[] mfc2f = cepstraBuffer[jf2].getValues(); - double[] mfc1f = cepstraBuffer[jf1].getValues(); - double[] current = currentCepstrum.getValues(); - double[] mfc1p = cepstraBuffer[jp1].getValues(); - double[] mfc2p = cepstraBuffer[jp2].getValues(); - double[] mfc3p = cepstraBuffer[jp3].getValues(); - float[] feature = new float[current.length * 3]; - - currentPosition = (currentPosition + 1) % cepstraBufferSize; - - // CEP; copy all the cepstrum data - int j = 0; - for (double val : current) { - feature[j++] = (float)val; - } - // System.arraycopy(current, 0, feature, 0, j); - // DCEP: mfc[2] - mfc[-2] - for (int k = 0; k < mfc2f.length; k++) { - feature[j++] = (float) (mfc2f[k] - mfc2p[k]); - } - // D2CEP: (mfc[3] - mfc[-1]) - (mfc[1] - mfc[-3]) - for (int k = 0; k < mfc3f.length; k++) { - feature[j++] = (float) ((mfc3f[k] - mfc1p[k]) - (mfc1f[k] - mfc3p[k])); - } - return (new FloatData(feature, - currentCepstrum.getSampleRate(), - currentCepstrum.getFirstSampleNumber())); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FeatureTransform.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FeatureTransform.java deleted file mode 100755 index 68cc4130..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FeatureTransform.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 1999-2010 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2008 PC-NG Inc. - * - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.*; -import edu.cmu.sphinx.util.props.*; - -/** - * Implements a linear feature transformation transformation. - * - * It might be a dimension reduction or just a decorrelation transform. This - * component requires a special model trained with LDA/MLLT transform. - */ -public class FeatureTransform extends BaseDataProcessor { - - /** - * The name of the transform matrix file. - */ - @S4Component(type = Loader.class) - public final static String PROP_LOADER = "loader"; - - float[][] transform; - protected Loader loader; - - int rows; - int values; - - public FeatureTransform(Loader loader) { - initLogger(); - init(loader); - } - - public FeatureTransform() { - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - init((Loader) ps.getComponent(PROP_LOADER)); - } - - private void init(Loader loader) { - this.loader = loader; - - try { - loader.load(); - } catch (Exception e) { - e.printStackTrace(); - } - - transform = loader.getTransformMatrix(); - } - - /** - * Returns the next Data object being processed by this LDA, or if it is a - * Signal, it is returned without modification. - * - * @return the next available Data object, returns null if no Data object is - * available - * @throws DataProcessingException - * if there is a processing error - * @see Data - */ - @Override - public Data getData() throws DataProcessingException { - Data data = getPredecessor().getData(); - - if (null == transform || null == data || !(data instanceof FloatData)) - return data; - - FloatData floatData = (FloatData) data; - float[] features = floatData.getValues(); - - if (features.length > transform[0].length + 1) - throw new IllegalArgumentException("dimenstion mismatch"); - - float[] result = new float[transform.length]; - - for (int i = 0; i < transform.length; ++i) { - for (int j = 0; j < features.length; ++j) - result[i] += transform[i][j] * features[j]; - } - - if (features.length > transform[0].length) { - for (int i = 0; i < transform.length; ++i) - result[i] += transform[i][features.length]; - } - - return new FloatData(result, - floatData.getSampleRate(), - floatData.getFirstSampleNumber()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FrameDropper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FrameDropper.java deleted file mode 100755 index 07bb6588..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/FrameDropper.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * Drops certain feature frames, usually to speed up decoding. For example, if you 'dropEveryNthFrame' is set to 2, it - * will drop every other feature frame. If you set 'replaceNthWithPrevious' to 3, then you replace with 3rd frame with - * the 2nd frame, the 6th frame with the 5th frame, etc.. - */ -public class FrameDropper extends BaseDataProcessor { - - /** - * The property that specifies dropping one in every Nth frame. If N=2, we drop every other frame. If N=3, we - * drop every third frame, etc.. - */ - @S4Integer(defaultValue = -1) - public static final String PROP_DROP_EVERY_NTH_FRAME - = "dropEveryNthFrame"; - - /** The property that specifies whether to replace the Nth frame with the previous frame. */ - @S4Boolean(defaultValue = false) - public static final String PROP_REPLACE_NTH_WITH_PREVIOUS - = "replaceNthWithPrevious"; - - private Data lastFeature; - private boolean replaceNthWithPrevious; - private int dropEveryNthFrame; - private int id; // first frame has ID "0", second "1", etc. - - /** - * @param dropEveryNthFrame frame count to drop - * @param replaceNthWithPrevious replace each nth frame with previous - */ - public FrameDropper( int dropEveryNthFrame, boolean replaceNthWithPrevious ) { - initLogger(); - initVars( dropEveryNthFrame, replaceNthWithPrevious); - } - - public FrameDropper( ) { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - initVars( ps.getInt(PROP_DROP_EVERY_NTH_FRAME), ps.getBoolean(PROP_REPLACE_NTH_WITH_PREVIOUS)); - } - - protected void initVars( int dropEveryNthFrame, boolean replaceNthWithPrevious ) { - this.dropEveryNthFrame = dropEveryNthFrame; - if (dropEveryNthFrame <= 1) { - throw new IllegalArgumentException(PROP_DROP_EVERY_NTH_FRAME + - "must be greater than one"); - } - - this.replaceNthWithPrevious = replaceNthWithPrevious; - } - - /** Initializes this FrameDropper. */ - @Override - public void initialize() { - super.initialize(); - this.id = -1; - } - - - /** - * Returns the next Data object from this FrameDropper. The Data objects belonging to a single Utterance should be - * preceded by a DataStartSignal and ended by a DataEndSignal. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if a data processing error occurs - */ - @Override - public Data getData() throws DataProcessingException { - Data feature = readData(); - if (feature != null) { - if (!(feature instanceof Signal)) { - if ((id % dropEveryNthFrame) == (dropEveryNthFrame - 1)) { - // should drop the feature - if (replaceNthWithPrevious) { - // replace the feature - if (feature instanceof FloatData) { - FloatData floatLastFeature = (FloatData) - lastFeature; - feature = new FloatData - (floatLastFeature.getValues(), - floatLastFeature.getSampleRate(), - floatLastFeature.getFirstSampleNumber()); - } else { - DoubleData doubleLastFeature = (DoubleData) - lastFeature; - feature = new DoubleData - (doubleLastFeature.getValues(), - doubleLastFeature.getSampleRate(), - doubleLastFeature.getFirstSampleNumber()); - } - } else { - // read the next feature - feature = readData(); - } - } - } - if (feature != null) { - if (feature instanceof DataEndSignal) { - id = -1; - } - if (feature instanceof FloatData) { - lastFeature = feature; - } else { - lastFeature = null; - } - } else { - lastFeature = null; - } - } - - return feature; - } - - - /** - * Read a Data object from the predecessor DataProcessor, and increment the ID count appropriately. - * - * @return the read Data object - * @throws edu.cmu.sphinx.frontend.DataProcessingException - */ - private Data readData() throws DataProcessingException { - Data frame = getPredecessor().getData(); - if (frame != null) { - id++; - } - return frame; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/KaldiDeltasFeatureExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/KaldiDeltasFeatureExtractor.java deleted file mode 100755 index 464da3aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/KaldiDeltasFeatureExtractor.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; - -public class KaldiDeltasFeatureExtractor extends AbstractFeatureExtractor { - - public KaldiDeltasFeatureExtractor( int window ) { - super(window); - } - - public KaldiDeltasFeatureExtractor( ) { - } - - @Override - protected Data computeNextFeature() { - - int jp1 = (currentPosition - 1 + cepstraBufferSize) % cepstraBufferSize; - int jp2 = (currentPosition - 2 + cepstraBufferSize) % cepstraBufferSize; - int jp3 = (currentPosition - 3 + cepstraBufferSize) % cepstraBufferSize; - int jp4 = (currentPosition - 4 + cepstraBufferSize) % cepstraBufferSize; - int jf1 = (currentPosition + 1) % cepstraBufferSize; - int jf2 = (currentPosition + 2) % cepstraBufferSize; - int jf3 = (currentPosition + 3) % cepstraBufferSize; - int jf4 = (currentPosition + 4) % cepstraBufferSize; - - DoubleData currentCepstrum = cepstraBuffer[currentPosition]; - double[] mfc4f = cepstraBuffer[jf4].getValues(); - double[] mfc3f = cepstraBuffer[jf3].getValues(); - double[] mfc2f = cepstraBuffer[jf2].getValues(); - double[] mfc1f = cepstraBuffer[jf1].getValues(); - double[] current = currentCepstrum.getValues(); - double[] mfc1p = cepstraBuffer[jp1].getValues(); - double[] mfc2p = cepstraBuffer[jp2].getValues(); - double[] mfc3p = cepstraBuffer[jp3].getValues(); - double[] mfc4p = cepstraBuffer[jp4].getValues(); - float[] feature = new float[current.length * 3]; - - currentPosition = (currentPosition + 1) % cepstraBufferSize; - - int j = 0; - for (double val : current) { - feature[j++] = (float)val; - } - for (int k = 0; k < mfc2f.length; k++) { - feature[j++] = (float) (2 * mfc2f[k] + mfc1f[k] - mfc1p[k] - 2 * mfc2p[k]) / 10.0f; - } - - for (int k = 0; k < mfc3f.length; k++) { - feature[j++] = (float) ((4 * mfc4f[k] + 4 * mfc3f[k] + mfc2f[k] - 4 * mfc1f[k]) - 10 * current[k] + - (4 * mfc4p[k] + 4 * mfc3p[k] + mfc2p[k] - 4 * mfc1p[k])) / 100.0f; - } - return (new FloatData(feature, - currentCepstrum.getSampleRate(), - currentCepstrum.getFirstSampleNumber())); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/LiveCMN.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/LiveCMN.java deleted file mode 100755 index 9f8dc195..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/LiveCMN.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.feature; - -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * Subtracts the mean of all the input so far from the Data objects. - * - * Unlike the {@link BatchCMN}, it does not read in the entire stream of Data - * objects before it calculates the mean. It estimates the mean from already - * seen data and subtracts the mean from the Data objects on the fly. Therefore, - * there is no delay introduced by LiveCMN in general. The only real issue is an - * initial CMN estimation, for that some amount of frames are read initially - * and cmn estimation is calculated from them. - *

- * The properties that affect this processor are defined by the fields - * {@link #PROP_INITIAL_CMN_WINDOW}, {@link #PROP_CMN_WINDOW}, and - * {@link #PROP_CMN_SHIFT_WINDOW}. Please follow the link - * "Constant Field Values" below to see the actual name of the Sphinx - * properties. - *

- * The mean of all the input cepstrum so far is not reestimated for each - * cepstrum. This mean is recalculated after every - * {@link #PROP_CMN_SHIFT_WINDOW} cepstra. This mean is estimated by dividing - * the sum of all input cepstrum so far. After obtaining the mean, the sum is - * exponentially decayed by multiplying it by the ratio: - * - *

- * cmnWindow/(cmnWindow + number of frames since the last recalculation)
- * 
- * - * @see BatchCMN - */ -public class LiveCMN extends BaseDataProcessor { - - private DecimalFormat formatter = new DecimalFormat("0.00;-0.00", new DecimalFormatSymbols(Locale.US));; - - /** The property for the live CMN initial window size. */ - @S4Integer(defaultValue = 200) - public static final String PROP_INITIAL_CMN_WINDOW = "initialCmnWindow"; - private int initialCmnWindow; - - /** The property for the live CMN window size. */ - @S4Integer(defaultValue = 300) - public static final String PROP_CMN_WINDOW = "cmnWindow"; - private int cmnWindow; - - /** - * The property for the CMN shifting window. The shifting window specifies - * how many cepstrum after which we re-calculate the cepstral mean. - */ - @S4Integer(defaultValue = 400) - public static final String PROP_CMN_SHIFT_WINDOW = "shiftWindow"; - private int cmnShiftWindow; // # of Cepstrum to recalculate mean - - private double[] currentMean; // array of current means - private double[] sum; // array of current sums - private int numberFrame; // total number of input Cepstrum - - List initialList; - - public LiveCMN(double initialMean, int cmnWindow, int cmnShiftWindow, int initialCmnWindow) { - initLogger(); - this.cmnWindow = cmnWindow; - this.cmnShiftWindow = cmnShiftWindow; - this.initialCmnWindow = initialCmnWindow; - } - - public LiveCMN() { - - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - cmnWindow = ps.getInt(PROP_CMN_WINDOW); - cmnShiftWindow = ps.getInt(PROP_CMN_SHIFT_WINDOW); - initialCmnWindow = ps.getInt(PROP_INITIAL_CMN_WINDOW); - } - - /** Initializes this LiveCMN. */ - @Override - public void initialize() { - super.initialize(); - } - - /** - * Initializes the currentMean and sum arrays with the given cepstrum - * length. - * - * @param cepstrumLength - * the length of the cepstrum - */ - private void initMeansSums() { - int size = -1; - - for (Data data : initialList) { - if (!(data instanceof DoubleData)) - continue; - - double[] cepstrum = ((DoubleData) data).getValues(); - - // Initialize arrays if needed - if (size < 0) { - size = cepstrum.length; - sum = new double[size]; - numberFrame = 0; - } - - // Accumulate cepstrum, avoid counting zero energy in CMN - if (cepstrum[0] >= 0) { - for (int j = 0; j < size; j++) { - sum[j] += cepstrum[j]; - } - numberFrame++; - } - } - - // If we didn't meet any data, do nothing - if (size < 0) - return; - - currentMean = new double[size]; - for (int j = 0; j < size; j++) { - currentMean[j] = sum[j] / numberFrame; - } - } - - /** - * Returns the next Data object, which is a normalized Data produced by this - * class. Signals are returned unmodified. - * - * @return the next available Data object, returns null if no Data object is - * available - * @throws DataProcessingException - * if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - - Data input, output; - - if (initialList == null) { - initialList = new LinkedList(); - // Collect initial data for estimation - while (initialList.size() < initialCmnWindow) { - input = getPredecessor().getData(); - initialList.add(input); - if (input instanceof SpeechEndSignal - || input instanceof DataEndSignal) - break; - } - initMeansSums(); - output = initialList.remove(0); - } else if (!initialList.isEmpty()) { - // Return the previously collected data - output = initialList.remove(0); - } else { - // Process normal frame - output = getPredecessor().getData(); - } - - normalize(output); - return output; - } - - /** - * Normalizes the given Data with using the currentMean array. Updates the - * sum array with the given Data. - * - * @param cepstrumObject - * the Data object to normalize - */ - private void normalize(Data data) { - - if (!(data instanceof DoubleData)) - return; - - double[] cepstrum = ((DoubleData) data).getValues(); - - if (cepstrum.length != sum.length) { - throw new Error("Data length (" + cepstrum.length - + ") not equal sum array length (" + sum.length + ')'); - } - - // Accumulate cepstrum, avoid counting zero energy in CMN - if (cepstrum[0] >= 0) { - for (int j = 0; j < cepstrum.length; j++) { - sum[j] += cepstrum[j]; - } - numberFrame++; - } - - // Subtract current mean - for (int j = 0; j < cepstrum.length; j++) { - cepstrum[j] -= currentMean[j]; - } - - if (numberFrame > cmnShiftWindow) { - - StringBuilder cmn = new StringBuilder(); - // calculate the mean first - for (int i = 0; i < currentMean.length; i++) { - cmn.append (formatter.format(currentMean[i])); - cmn.append(' '); - } - logger.info(cmn.toString()); - - updateMeanSumBuffers(); - } - } - - /** - * Updates the currentMean buffer with the values in the sum buffer. Then - * decay the sum buffer exponentially, i.e., divide the sum with - * numberFrames. - */ - private void updateMeanSumBuffers() { - - // update the currentMean buffer with the sum buffer - double sf = 1.0 / numberFrame; - - System.arraycopy(sum, 0, currentMean, 0, sum.length); - - multiplyArray(currentMean, sf); - - // decay the sum buffer exponentially - if (numberFrame >= cmnShiftWindow) { - multiplyArray(sum, (sf * cmnWindow)); - numberFrame = cmnWindow; - } - } - - /** - * Multiplies each element of the given array by the multiplier. - * - * @param array - * the array to multiply - * @param multiplier - * the amount to multiply by - */ - private static void multiplyArray(double[] array, double multiplier) { - for (int i = 0; i < array.length; i++) { - array[i] *= multiplier; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/S3FeatureExtractor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/S3FeatureExtractor.java deleted file mode 100755 index 842e5e97..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/feature/S3FeatureExtractor.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.feature; - -import edu.cmu.sphinx.frontend.*; - -/** - * Computes the delta and double delta of input cepstrum (or plp or ...). The delta is the first order derivative and - * the double delta (a.k.a. delta delta) is the second order derivative of the original cepstrum. They help model the - * speech signal dynamics. The output data is a {@link FloatData} object with a float array of size three times the - * original cepstrum. - *

- * The format of the outputted feature is: - *

- * 12 cepstra (c[1] through c[12])
followed by delta cepstra (delta c[1] through delta c[12])
followed by c[0], - * delta c[0]
followed by delta delta c[0] through delta delta c[12] - */ -public class S3FeatureExtractor extends AbstractFeatureExtractor { - - /** - * Computes the next feature. Advances the pointers as well. - * - * @return the feature Data computed - */ - @Override - protected Data computeNextFeature() { - - int jp1 = (currentPosition - 1 + cepstraBufferSize) % cepstraBufferSize; - int jp2 = (currentPosition - 2 + cepstraBufferSize) % cepstraBufferSize; - int jp3 = (currentPosition - 3 + cepstraBufferSize) % cepstraBufferSize; - int jf1 = (currentPosition + 1) % cepstraBufferSize; - int jf2 = (currentPosition + 2) % cepstraBufferSize; - int jf3 = (currentPosition + 3) % cepstraBufferSize; - - DoubleData currentCepstrum = cepstraBuffer[currentPosition]; - double[] mfc3f = cepstraBuffer[jf3].getValues(); - double[] mfc2f = cepstraBuffer[jf2].getValues(); - double[] mfc1f = cepstraBuffer[jf1].getValues(); - double[] current = currentCepstrum.getValues(); - double[] mfc1p = cepstraBuffer[jp1].getValues(); - double[] mfc2p = cepstraBuffer[jp2].getValues(); - double[] mfc3p = cepstraBuffer[jp3].getValues(); - float[] feature = new float[current.length * 3]; - - currentPosition = (currentPosition + 1)% cepstraBufferSize; - - // CEP; skip C[0] - int j = 0; - for (int k = 1; k < current.length; k++) { - feature[j++] = (float) current[k]; - } - - // DCEP: mfc[2] - mfc[-2], skip DC[0] - for (int k = 1; k < mfc2f.length; k++) { - feature[j++] = (float) (mfc2f[k] - mfc2p[k]); - } - - // POW: C0, DC0 - feature[j++] = (float) current[0]; - feature[j++] = (float) (mfc2f[0] - mfc2p[0]); - - // D2CEP: (mfc[3] - mfc[-1]) - (mfc[1] - mfc[-3]) - for (int k = 0; k < mfc3f.length; k++) { - feature[j++] = (float) - ((mfc3f[k] - mfc1p[k]) - (mfc1f[k] - mfc3p[k])); - } - - return (new FloatData(feature, - currentCepstrum.getSampleRate(), - currentCepstrum.getFirstSampleNumber())); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Dither.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Dither.java deleted file mode 100755 index 67ad7956..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Dither.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.filter; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Double; - -import static java.lang.Math.max; -import static java.lang.Math.min; -import java.util.Random; - -/** - * Implements a dither for the incoming packet. A small amount of random noise is added - * to the signal to avoid floating point errors and prevent the energy from - * being zero.

Other {@link Data} objects are passed along unchanged through - * this Dither processor.

See also {@link EnergyFilter}, an alternative to Dither. - */ -public class Dither extends BaseDataProcessor { - - /** The maximal value which could be added/subtracted to/from the signal*/ - @S4Double(defaultValue = 2.0) - public static final String PROP_MAX_DITHER = "maxDither"; - private double ditherMax; - - /** The maximal value of dithered values. */ - @S4Double(defaultValue = Double.MAX_VALUE) - public static final String PROP_MAX_VAL = "upperValueBound"; - private double maxValue; - - /** The minimal value of dithered values. */ - @S4Double(defaultValue = -Double.MAX_VALUE) - public static final String PROP_MIN_VAL = "lowerValueBound"; - private double minValue; - - - /** The property about using random seed or not */ - @S4Boolean(defaultValue = false) - public static final String PROP_USE_RANDSEED = "useRandSeed"; - private boolean useRandSeed; - Random r; - - public Dither( double ditherMax, boolean useRandSeed, double maxValue, double minValue) { - initLogger(); - - this.ditherMax = ditherMax; - this.useRandSeed = useRandSeed; - - this.maxValue = maxValue; - this.minValue = minValue; - initialize(); - } - - public Dither( ) { - - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - ditherMax = ps.getDouble(PROP_MAX_DITHER); - useRandSeed = ps.getBoolean(PROP_USE_RANDSEED); - - maxValue = ps.getDouble(PROP_MAX_VAL); - minValue = ps.getDouble(PROP_MIN_VAL); - } - - @Override - public void initialize() { - super.initialize(); - if (useRandSeed) - r = new Random(); - else - r = new Random(12345); - } - - - /** - * Returns the next DoubleData object, which is a dithered version of the input - * - * @return the next available DoubleData object, or null if no Data is available - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if a data processing error occurred - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); // get the spectrum - if (input != null && ditherMax != 0) { - if (input instanceof DoubleData || input instanceof FloatData) { - input = process(input); - } - } - return input; - } - - - /** - * Process data, adding dither - * - * @param input a frame - * @return processed frame - * @throws IllegalArgumentException - */ - private DoubleData process(Data input) throws IllegalArgumentException { - DoubleData output; - - assert input instanceof DoubleData; - double[] inFeatures; - - DoubleData doubleData = (DoubleData) input; - inFeatures = doubleData.getValues(); - double[] outFeatures = new double[inFeatures.length]; - for (int i = 0; i < inFeatures.length; ++i) { - outFeatures[i] = r.nextFloat() * 2 * ditherMax - ditherMax + inFeatures[i]; - outFeatures[i] = max(min(outFeatures[i], maxValue), minValue); - } - - output = new DoubleData(outFeatures, doubleData.getSampleRate(), - doubleData.getFirstSampleNumber()); - - return output; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/EnergyFilter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/EnergyFilter.java deleted file mode 100755 index aa57b7ff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/EnergyFilter.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.filter; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; - -/** - * EnergyFilter silently drops zero energy frames from the stream. - * This is a deterministic alternative to {@link Dither}. - */ -public class EnergyFilter extends BaseDataProcessor { - - /** If energy is below this threshold frame is dropped */ - @S4Double(defaultValue = 2.0) - public static final String PROP_MAX_ENERGY = "maxEnergy"; - private double maxEnergy; - - public EnergyFilter( double maxEnergy) { - initLogger(); - this.maxEnergy = maxEnergy; - initialize(); - } - - public EnergyFilter( ) { - - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - maxEnergy = ps.getDouble(PROP_MAX_ENERGY); - } - - - /** - * Returns the next DoubleData object, skipping frames with zero energy - * - * @return the next available DoubleData object, or null if no Data is available - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if a data processing error occurred - */ - @Override - public Data getData() throws DataProcessingException { - float energy = 0; - Data input = null; - do { - input = getPredecessor().getData(); - if (input == null || !(input instanceof DoubleData)) - return input; - energy = 0.0f; - for (double d : ((DoubleData) input).getValues()) { - energy += d * d; - } - } while (energy < maxEnergy); - - return input; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Preemphasizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Preemphasizer.java deleted file mode 100755 index 50100e62..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/filter/Preemphasizer.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.filter; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.*; - -/** - * Implements a high-pass filter that compensates for attenuation in the audio data. Speech signals have an attenuation - * (a decrease in intensity of a signal) of 20 dB/dec. It increases the relative magnitude of the higher frequencies - * with respect to the lower frequencies. - *

- * The Preemphasizer takes a {@link Data}object that usually represents audio data as input, and outputs the same {@link - * Data}object, but with preemphasis applied. For each value X[i] in the input Data object X, the following formula is - * applied to obtain the output Data object Y: - *

- * Y[i] = X[i] - (X[i-1] * preemphasisFactor) - *

- * where 'i' denotes time. - *

- * The preemphasis factor has a value defined by the field {@link #PROP_PREEMPHASIS_FACTOR} of 0.97. A common value for - * this factor is something around 0.97. - *

- * Other {@link Data}objects are passed along unchanged through this Preemphasizer. - *

- * The Preemphasizer emphasizes the high frequency components, because they usually contain much less energy than lower - * frequency components, even though they are still important for speech recognition. It is a high-pass filter because - * it allows the high frequency components to "pass through", while weakening or filtering out the low frequency - * components. - */ -public class Preemphasizer extends BaseDataProcessor { - - /** The property for preemphasis factor/alpha. */ - @S4Double(defaultValue = 0.97) - public static final String PROP_PREEMPHASIS_FACTOR = "factor"; - - private double preemphasisFactor; - private double prior; - - public Preemphasizer( double preemphasisFactor ) { - initLogger(); - this.preemphasisFactor = preemphasisFactor; - } - - public Preemphasizer( ) { - - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - preemphasisFactor = ps.getDouble(PROP_PREEMPHASIS_FACTOR); - } - - - /** - * Returns the next Data object being processed by this Preemphasizer, or if it is a Signal, it is returned without - * modification. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is a processing error - * @see Data - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - applyPreemphasis(((DoubleData) input).getValues()); - } else if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) { - prior = 0; - } - } - return input; - } - - - /** - * Applies pre-emphasis filter to the given Audio. The preemphasis is applied in place. - * - * @param in audio data - */ - private void applyPreemphasis(double[] in) { - // set the prior value for the next Audio - double nextPrior = prior; - if (in.length > 0) { - nextPrior = in[in.length - 1]; - } - if (in.length > 1 && preemphasisFactor != 0.0) { - // do preemphasis - double current; - double previous = in[0]; - in[0] = previous - preemphasisFactor * prior; - for (int i = 1; i < in.length; i++) { - current = in[i]; - in[i] = current - preemphasisFactor * previous; - previous = current; - } - } - prior = nextPrior; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/FrequencyWarper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/FrequencyWarper.java deleted file mode 100755 index cd88dd7a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/FrequencyWarper.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.frequencywarp; - -/** - * Defines the Bark frequency warping function. This class provides methods to convert frequencies from a linear scale - * to the bark scale. The bark scale is originated from measurements of the critical bandwidth. Please find more details - * in books about psychoacoustics or speech analysis/recognition. - * - * @author rsingh - * @version 1.0 - */ -public class FrequencyWarper { - - - /** - * Default null constructor. No fields to be initialized. - *

- * Compute Bark frequency from linear frequency in Hertz. The function is: bark = 6.0*log(hertz/600 + - * sqrt((hertz/600)^2 + 1)) - * - * @param hertz the input frequency in Hertz - * @return the frequency in a Bark scale - */ - /* - public FrequencyWarper (){} - */ - - /** - * Compute Bark frequency from linear frequency in Hertz. - * The function is: - * bark = 6.0*log(hertz/600 + sqrt((hertz/600)^2 + 1)) - * - * @param hertz the input frequency in Hertz - * - * @return the frequency in a Bark scale - * - */ - public double hertzToBark(double hertz) { - double x = hertz / 600; - return (6.0 * Math.log(x + Math.sqrt(x * x + 1))); - } - - - /** - * Compute linear frequency in Hertz from Bark frequency. The function is: hertz = 300*(exp(bark/6.0) - - * exp(-bark/6.0)) - * - * @param bark the input frequency in Barks - * @return the frequency in Hertz - */ - public double barkToHertz(double bark) { - double x = bark / 6.0; - return (300.0 * (Math.exp(x) - Math.exp(-x))); - } - -}// FrequencyWarper diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/LinearPredictor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/LinearPredictor.java deleted file mode 100755 index c41e0865..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/LinearPredictor.java +++ /dev/null @@ -1,205 +0,0 @@ -/** - * Contains Linear Prediction Coefficient functions. - * - * @author rsingh - * @version 1.0 - */ - -package edu.cmu.sphinx.frontend.frequencywarp; - -import java.util.Arrays; - -/** - * Computes the linear predictive model using the Levinson-Durbin algorithm. Linear prediction assumes that a signal can - * be model as a linear combination of previous samples, that is, the current sample x[i] can be modeled as: - *

 x[i] = a[0] + a[1] * x[i - 1] + a[2] * x[i - 2] + ... 
- * The summation on the right hand side of the equation involves a finite number of terms. The number of previous - * samples used is the order of the linear prediction. - *

- * This class also provides a method to compute LPC cepstra, that is, the cepstra computed from LPC coefficients, as - * well as a method to compute the bilinear transformation of the LPC - */ -public class LinearPredictor { - - private int order; - private int cepstrumOrder; - private double[] reflectionCoeffs; - private double[] ARParameters; - private double alpha; - private double[] cepstra; - private final double[] bilinearCepstra; - - - /** - * Constructs a LinearPredictor with the given order. - * - * @param order the order of the LinearPredictor - */ - public LinearPredictor(int order) { - this.order = order; - - // Set the rest to null values - reflectionCoeffs = null; - ARParameters = null; - alpha = 0; - cepstra = null; - bilinearCepstra = null; - } - - - /** - * Method to compute Linear Prediction Coefficients for a frame of speech. Assumes the following - * sign convention:
prediction(x[t]) = Sum_i {Ar[i] * x[t-i]} - * - * @param autocor autocorrlation array - * @return the energy of the frame (alpha in the Levinson recursion) - */ - public double[] getARFilter(double[] autocor) { - /* No signal */ - if (autocor[0] == 0) { - return null; - } - reflectionCoeffs = new double[order + 1]; - ARParameters = new double[order + 1]; - double[] backwardPredictor = new double[order + 1]; - - alpha = autocor[0]; - reflectionCoeffs[1] = -autocor[1] / autocor[0]; - ARParameters[0] = 1.0; - ARParameters[1] = reflectionCoeffs[1]; - alpha *= (1 - reflectionCoeffs[1] * reflectionCoeffs[1]); - - for (int i = 2; i <= order; i++) { - for (int j = 1; j < i; j++) { - backwardPredictor[j] = ARParameters[i - j]; - } - reflectionCoeffs[i] = 0; - for (int j = 0; j < i; j++) { - reflectionCoeffs[i] -= ARParameters[j] * autocor[i - j]; - } - reflectionCoeffs[i] /= alpha; - - for (int j = 1; j < i; j++) { - ARParameters[j] += reflectionCoeffs[i] * backwardPredictor[j]; - } - ARParameters[i] = reflectionCoeffs[i]; - alpha *= (1 - reflectionCoeffs[i] * reflectionCoeffs[i]); - if (alpha <= 0.0) { - return null; - } - } - return ARParameters; - } - - - /** - * Computes AR parameters from a given set of reflection coefficients. - * - * @param RC double array of reflection coefficients. The RC array must begin at 1 (RC[0] is a dummy value) - * @param lpcorder AR order desired - * @return AR parameters - */ - public double[] reflectionCoeffsToARParameters(double[] RC, int lpcorder) { - double[][] tmp = new double[lpcorder + 1][lpcorder + 1]; - - order = lpcorder; - reflectionCoeffs = RC.clone(); - - for (int i = 1; i <= lpcorder; i++) { - for (int m = 1; m < i; m++) { - tmp[i][m] = tmp[i - 1][m] - RC[i] * tmp[i - 1][i - m]; - } - tmp[i][i] = RC[i]; - } - ARParameters[0] = 1; - for (int m = 1; m <= lpcorder; m++) { - ARParameters[m] = tmp[m][m]; - } - return ARParameters; - } - - - /** - * Computes LPC Cepstra from the AR predictor parameters and alpha using a recursion invented by Oppenheim et al. - * The literature shows the optimal value of cepstral order to be: - * - *

0.75 * LPCorder <= ceporder <= 1.25 * LPCorder
- * - * @param ceporder is the order of the LPC cepstral vector to be computed. - * @return LPC cepstra - */ - public double[] getData(int ceporder) { - int i; - double sum; - - if (ceporder <= 0) { - return null; - } - - cepstrumOrder = ceporder; - cepstra = new double[cepstrumOrder]; - - cepstra[0] = Math.log(alpha); - if (cepstrumOrder == 1) { - return cepstra; - } - - cepstra[1] = -ARParameters[1]; - - for (i = 2; i < Math.min(cepstrumOrder, order + 1); i++) { - sum = i * ARParameters[i]; - for (int j = 1; j < i; j++) { - sum += ARParameters[j] * cepstra[i - j] * (i - j); - } - cepstra[i] = -sum / i; - } - for (; i < cepstrumOrder; i++) { // Only if cepstrumOrder > order+1 - sum = 0; - for (int j = 1; j <= order; j++) { - sum += ARParameters[j] * cepstra[i - j] * (i - j); - } - cepstra[i] = -sum / i; - } - return cepstra; - } - - - /** - * Computes a bi-linear frequency warped version of the LPC cepstrum from the LPC cepstrum. The recursive algorithm - * used is defined in Oppenheim's paper in Proceedings of IEEE, June 1972 The program has been written using g[x,y] - * = g_o[x,-y] where g_o is the array used by Oppenheim. To handle the reversed array index the recursion has been - * done DOWN the array index. - * - * @param warp is the warping coefficient. For 16KHz speech 0.6 is good valued. - * @param nbilincepstra is the number of bilinear cepstral values to be computed from the linear frequency - * cepstrum. - * @return a bi-linear frequency warped version of the LPC cepstrum - */ - public double[] getBilinearCepstra(double warp, int nbilincepstra) { - double[][] g = new double[nbilincepstra][cepstrumOrder]; - - // Make a local copy as this gets destroyed - double[] lincep = Arrays.copyOf(cepstra, cepstrumOrder); - - bilinearCepstra[0] = lincep[0]; - lincep[0] = 0; - g[0][cepstrumOrder - 1] = lincep[cepstrumOrder - 1]; - for (int i = 1; i < nbilincepstra; i++) { - g[i][cepstrumOrder - 1] = 0; - } - - for (int i = cepstrumOrder - 2; i >= 0; i--) { - g[0][i] = warp * g[0][i + 1] + lincep[i]; - g[1][i] = (1 - warp * warp) * g[0][i + 1] + warp * g[1][i + 1]; - for (int j = 2; j < nbilincepstra; j++) { - g[j][i] = warp * (g[j][i + 1] - g[j - 1][i]) + g[j - 1][i + 1]; - } - } - - for (int i = 1; i <= nbilincepstra; i++) { - bilinearCepstra[i] = g[i][0]; - } - - return bilinearCepstra; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter.java deleted file mode 100755 index c4b9bb30..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.frequencywarp; - - -/** - * Defines a triangular mel-filter. The {@link edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank} creates - * mel-filters and filters spectrum data. - *

- * A mel-filter is a triangular shaped bandpass filter. When a mel-filter is constructed, the parameters - * leftEdge, rightEdge, centerFreq, initialFreq, and - * deltaFreq are given to the {@link MelFilter Constructor}. The first three arguments to the constructor, - * i.e. leftEdge, rightEdge, and centerFreq, specify the filter's slopes. The - * total area under the filter is 1. The filter is shaped as a triangle. Knowing the distance between the center - * frequency and each of the edges, it is easy to compute the slopes of the two sides in the triangle - the third side - * being the frequency axis. The last two arguments, initialFreq and deltaFreq, identify the - * first frequency bin that falls inside this filter and the spacing between successive frequency bins. All frequencies - * here are considered in a linear scale. - *

- * Figure 1 below shows pictorially what the other parameters mean. - *

- * Mel filter

Figure 1: A triangular mel-filter.
- * - * @see MelFrequencyFilterBank - */ -public class MelFilter { - - private double[] weight; - - private int initialFreqIndex; - - - /** - * Constructs a filter from the parameters. - *

- * In the current implementation, the filter is a bandpass filter with a triangular shape. We're given the left and - * right edges and the center frequency, so we can determine the right and left slopes, which could be not only - * asymmetric but completely different. We're also given the initial frequency, which may or may not coincide with - * the left edge, and the frequency step. - * - * @param leftEdge the filter's lowest passing frequency - * @param centerFreq the filter's center frequency - * @param rightEdge the filter's highest passing frequency - * @param initialFreq the first frequency bin in the pass band - * @param deltaFreq the step in the frequency axis between frequency bins - * @throws IllegalArgumentException if input is invalid - */ - public MelFilter(double leftEdge, - double centerFreq, - double rightEdge, - double initialFreq, - double deltaFreq) throws IllegalArgumentException { - double filterHeight; - double leftSlope; - double rightSlope; - double currentFreq; - int indexFilterWeight; - int numberElementsWeightField; - - if (deltaFreq == 0) { - throw new IllegalArgumentException("deltaFreq has zero value"); - } - /** - * Check if the left and right boundaries of the filter are - * too close. - */ - if ((Math.round(rightEdge - leftEdge) == 0) - || (Math.round(centerFreq - leftEdge) == 0) - || (Math.round(rightEdge - centerFreq) == 0)) { - throw new IllegalArgumentException("Filter boundaries too close"); - } - /** - * Let's compute the number of elements we need in the - * weight field by computing how many frequency - * bins we can fit in the current frequency range. - */ - numberElementsWeightField = - (int) Math.round((rightEdge - leftEdge) / deltaFreq + 1); - /** - * Initialize the weight field. - */ - if (numberElementsWeightField == 0) { - throw new IllegalArgumentException("Number of elements in mel" - + " is zero."); - } - weight = new double[numberElementsWeightField]; - - /** - * Let's make the filter area equal to 1. - */ - filterHeight = 2.0f / (rightEdge - leftEdge); - - /** - * Now let's compute the slopes based on the height. - */ - leftSlope = filterHeight / (centerFreq - leftEdge); - rightSlope = filterHeight / (centerFreq - rightEdge); - - /** - * Now let's compute the weight for each frequency bin. We - * initialize and update two variables in the for - * line. - */ - for (currentFreq = initialFreq, indexFilterWeight = 0; - currentFreq <= rightEdge; - currentFreq += deltaFreq, indexFilterWeight++) { - /** - * A straight line that contains point (x0, y0) and - * has slope m is defined by: - * - * y = y0 + m * (x - x0) - * - * This is used for both "sides" of the triangular filter - * below. - */ - if (currentFreq < centerFreq) { - weight[indexFilterWeight] = leftSlope - * (currentFreq - leftEdge); - } else { - weight[indexFilterWeight] = filterHeight + rightSlope - * (currentFreq - centerFreq); - } - } - /** - * Initializing frequency related fields. - */ - this.initialFreqIndex = (int) Math.round - (initialFreq / deltaFreq); - } - - - /** - * Compute the output of a filter. We're given a power spectrum, to which we apply the appropriate weights. - * - * @param spectrum the input power spectrum to be filtered - * @return the filtered value, in fact a weighted average of power in the frequency range of the filter pass band - */ - public double filterOutput(double[] spectrum) { - double output = 0.0f; - int indexSpectrum; - - for (int i = 0; i < this.weight.length; i++) { - indexSpectrum = this.initialFreqIndex + i; - if (indexSpectrum < spectrum.length) { - output += spectrum[indexSpectrum] * this.weight[i]; - } - } - return output; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter2.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter2.java deleted file mode 100755 index ab4f8ace..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFilter2.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun * Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * - * All Rights Reserved. Use is subject to license terms. - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.frontend.frequencywarp; - -import static java.util.Arrays.copyOfRange; - -/** - * Defines a triangular mel-filter. - * - * The {@link MelFrequencyFilterBank2} creates mel-filters and filters spectrum. - * - * A mel-filter is a triangular shaped bandpass filter. When a mel-filter is - * constructed, the parameters leftEdge, rightEdge, - * centerFreq, initialFreq, and - * deltaFreq are given to the {@link MelFilter2 Constructor}. The - * first three arguments to the constructor, i.e. leftEdge, - * rightEdge, and centerFreq, specify the filter's - * slopes. The total area under the filter is 1. The filter is shaped as a - * triangle. Knowing the distance between the center frequency and each of the - * edges, it is easy to compute the slopes of the two sides in the triangle - - * the third side being the frequency axis. The last two arguments, - * initialFreq and deltaFreq, identify the first - * frequency bin that falls inside this filter and the spacing between - * successive frequency bins. All frequencies here are considered in a linear - * scale. - * - * Figure 1 below shows pictorially what the other parameters mean. - * - * Mel filter
- *

Figure 1: A triangular mel-filter.
- * - * @see MelFrequencyFilterBank2 - */ -public class MelFilter2 { - - private final int offset; - private final double[] weights; - - public MelFilter2(double center, double delta, double[] melPoints) { - int lastIndex = 0; - int firstIndex = melPoints.length; - double left = center - delta; - double right = center + delta; - double [] heights = new double[melPoints.length]; - - for (int i = 0; i < heights.length; ++i) { - if (left < melPoints[i] && melPoints[i] <= center) { - heights[i] = (melPoints[i] - left) / (center - left); - firstIndex = Math.min(i, firstIndex); - lastIndex = i; - } - - if (center < melPoints[i] && melPoints[i] < right) { - heights[i] = (right - melPoints[i]) / (right - center); - lastIndex = i; - } - } - - offset = firstIndex; - weights = copyOfRange(heights, firstIndex, lastIndex + 1); - } - - public double apply(double[] powerSpectrum) { - double result = 0; - for (int i = 0; i < weights.length; ++i) - result += weights[i] * powerSpectrum[offset + i]; - - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank.java deleted file mode 100755 index 1061313f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.frequencywarp; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.*; - -/** - * Filters an input power spectrum through a bank of number of mel-filters. The output is an array of filtered values, - * typically called mel-spectrum, each corresponding to the result of filtering the input spectrum through an individual - * filter. Therefore, the length of the output array is equal to the number of filters created. - *

- * The triangular mel-filters in the filter bank are placed in the frequency axis so that each filter's center frequency - * follows the mel scale, in such a way that the filter bank mimics the critical band, which represents different - * perceptual effect at different frequency bands. Additionally, the edges are placed so that they coincide with the - * center frequencies in adjacent filters. Pictorially, the filter bank looks like: - *

- * Filterbank

Figure 1: A Mel-filter bank.
- *

- * As you might notice in the above figure, the distance at the base from the center to the left edge is different from - * the center to the right edge. Since the center frequencies follow the mel-frequency scale, which is a non-linear - * scale that models the non-linear human hearing behavior, the mel filter bank corresponds to a warping of the - * frequency axis. As can be inferred from the figure, filtering with the mel scale emphasizes the lower frequencies. A - * common model for the relation between frequencies in mel and linear scales is as follows: - *

- * melFrequency = 2595 * log(1 + linearFrequency/700) - *

- * The constants that define the filterbank are the number of filters, the minimum frequency, and the maximum frequency. - * The minimum and maximum frequencies determine the frequency range spanned by the filterbank. These frequencies depend - * on the channel and the sampling frequency that you are using. For telephone speech, since the telephone channel - * corresponds to a bandpass filter with cutoff frequencies of around 300Hz and 3700Hz, using limits wider than these - * would waste bandwidth. For clean speech, the minimum frequency should be higher than about 100Hz, since there is no - * speech information below it. Furthermore, by setting the minimum frequency above 50/60Hz, we get rid of the hum - * resulting from the AC power, if present. - *

- * The maximum frequency has to be lower than the Nyquist frequency, that is, half the sampling rate. Furthermore, there - * is not much information above 6800Hz that can be used for improving separation between models. Particularly for very - * noisy channels, maximum frequency of around 5000Hz may help cut off the noise. - *

- * Typical values for the constants defining the filter bank are:
Sample rate - * (Hz) 16000 11025 8000
{@link - * #PROP_NUMBER_FILTERS numberFilters} 40 36 31
{@link #PROP_MIN_FREQ - * minimumFrequency}(Hz) 130 130 200
{@link #PROP_MAX_FREQ - * maximumFrequency}(Hz) 6800 5400 3500
- *

- * Davis and Mermelstein showed that Mel-frequency cepstral coefficients present robust characteristics that are good - * for speech recognition. For details, see Davis and Mermelstein, Comparison of Parametric Representations for - * Monosyllable Word Recognition in Continuously Spoken Sentences, IEEE Transactions on Acoustic, Speech and Signal - * Processing, 1980 . - * - * @see MelFilter - */ -public class MelFrequencyFilterBank extends BaseDataProcessor { - - /** The property for the number of filters in the filterbank. */ - @S4Integer(defaultValue = 40) - public static final String PROP_NUMBER_FILTERS = "numberFilters"; - - /** The property for the minimum frequency covered by the filterbank. */ - @S4Double(defaultValue = 130.0) - public static final String PROP_MIN_FREQ = "minimumFrequency"; - - /** The property for the maximum frequency covered by the filterbank. */ - @S4Double(defaultValue = 6800.0) - public static final String PROP_MAX_FREQ = "maximumFrequency"; - - // ---------------------------------- - // Configuration data - // ---------------------------------- - private int sampleRate; - private int numberFftPoints; - private int numberFilters; - private double minFreq; - private double maxFreq; - private MelFilter[] filter; - - - public MelFrequencyFilterBank(double minFreq, double maxFreq, int numberFilters) { - initLogger(); - this.minFreq = minFreq; - this.maxFreq = maxFreq; - this.numberFilters = numberFilters; - } - - public MelFrequencyFilterBank() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - minFreq = ps.getDouble(PROP_MIN_FREQ); - maxFreq = ps.getDouble(PROP_MAX_FREQ); - numberFilters = ps.getInt(PROP_NUMBER_FILTERS); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend.CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - } - - - /** - * Compute mel frequency from linear frequency. - *

- * Since we don't have log10(), we have to compute it using natural log: log10(x) = ln(x) / ln(10) - * - * - * @param inputFreq the input frequency in linear scale - * @return the frequency in a mel scale - */ - private double linToMelFreq(double inputFreq) { - return (2595.0 * (Math.log(1.0 + inputFreq / 700.0) / Math.log(10.0))); - } - - - /** - * Compute linear frequency from mel frequency. - * - * @param inputFreq the input frequency in mel scale - * @return the frequency in a linear scale - */ - private double melToLinFreq(double inputFreq) { - return (700.0 * (Math.pow(10.0, (inputFreq / 2595.0)) - 1.0)); - } - - - /** - * Sets the given frequency to the nearest frequency bin from the FFT. The FFT can be thought of as a sampling of - * the actual spectrum of a signal. We use this function to find the sampling point of the spectrum that is closest - * to the given frequency. - * - * @param inFreq the input frequency - * @param stepFreq the distance between frequency bins - * @return the closest frequency bin - * @throws IllegalArgumentException - */ - private double setToNearestFrequencyBin(double inFreq, double stepFreq) - throws IllegalArgumentException { - if (stepFreq == 0) { - throw new IllegalArgumentException("stepFreq is zero"); - } - return stepFreq * Math.round(inFreq / stepFreq); - } - - - /** - * Build a mel filterbank with the parameters given. Each filter will be shaped as a triangle. The triangles overlap - * so that they cover the whole frequency range requested. The edges of a given triangle will be by default at the - * center of the neighboring triangles. - * - * @param numberFftPoints number of points in the power spectrum - * @param numberFilters number of filters in the filterbank - * @param minFreq lowest frequency in the range of interest - * @param maxFreq highest frequency in the range of interest - * @throws IllegalArgumentException - */ - private void buildFilterbank(int numberFftPoints, int numberFilters, - double minFreq, double maxFreq) throws IllegalArgumentException { - double minFreqMel; - double maxFreqMel; - double deltaFreqMel; - double[] leftEdge = new double[numberFilters]; - double[] centerFreq = new double[numberFilters]; - double[] rightEdge = new double[numberFilters]; - double nextEdgeMel; - double nextEdge; - double initialFreqBin; - double deltaFreq; - this.filter = new MelFilter[numberFilters]; - /** - * In fact, the ratio should be between sampleRate / - * 2 - * and numberFftPoints / 2 since the number of points in - * the power spectrum is half of the number of FFT points - the other - * half would be symmetrical for a real sequence -, and these points - * cover up to the Nyquist frequency, which is half of the sampling - * rate. The two "divide by 2" get canceled out. - */ - if (numberFftPoints == 0) { - throw new IllegalArgumentException("Number of FFT points is zero"); - } - deltaFreq = (double) sampleRate / numberFftPoints; - /** - * Initialize edges and center freq. These variables will be updated so - * that the center frequency of a filter is the right edge of the - * filter to its left, and the left edge of the filter to its right. - */ - if (numberFilters < 1) { - throw new IllegalArgumentException("Number of filters illegal: " - + numberFilters); - } - minFreqMel = linToMelFreq(minFreq); - maxFreqMel = linToMelFreq(maxFreq); - deltaFreqMel = (maxFreqMel - minFreqMel) / (numberFilters + 1); - leftEdge[0] = setToNearestFrequencyBin(minFreq, deltaFreq); - nextEdgeMel = minFreqMel; - for (int i = 0; i < numberFilters; i++) { - nextEdgeMel += deltaFreqMel; - nextEdge = melToLinFreq(nextEdgeMel); - centerFreq[i] = setToNearestFrequencyBin(nextEdge, deltaFreq); - if (i > 0) { - rightEdge[i - 1] = centerFreq[i]; - } - if (i < numberFilters - 1) { - leftEdge[i + 1] = centerFreq[i]; - } - } - nextEdgeMel = nextEdgeMel + deltaFreqMel; - nextEdge = melToLinFreq(nextEdgeMel); - rightEdge[numberFilters - 1] = setToNearestFrequencyBin(nextEdge, - deltaFreq); - for (int i = 0; i < numberFilters; i++) { - initialFreqBin = setToNearestFrequencyBin(leftEdge[i], deltaFreq); - if (initialFreqBin < leftEdge[i]) { - initialFreqBin += deltaFreq; - } - //System.out.format("%d %f %f\n", i, leftEdge[i], rightEdge[i]); - this.filter[i] = new MelFilter(leftEdge[i], centerFreq[i], - rightEdge[i], initialFreqBin, deltaFreq); - } - } - - - /** - * Process data, creating the power spectrum from an input audio frame. - * - * @param input input power spectrum - * @return power spectrum - * @throws java.lang.IllegalArgumentException - * - */ - private DoubleData process(DoubleData input) - throws IllegalArgumentException { - double[] in = input.getValues(); - - if (filter == null || sampleRate != input.getSampleRate()) { - numberFftPoints = (in.length - 1) << 1; - sampleRate = input.getSampleRate(); - buildFilterbank(numberFftPoints, numberFilters, minFreq, maxFreq); - } else if (in.length != ((numberFftPoints >> 1) + 1)) { - throw new IllegalArgumentException( - "Window size is incorrect: in.length == " + in.length - + ", numberFftPoints == " - + ((numberFftPoints >> 1) + 1)); - } - double[] output = new double[numberFilters]; - /** - * Filter input power spectrum - */ - for (int i = 0; i < numberFilters; i++) { - output[i] = filter[i].filterOutput(in); - } - DoubleData outputMelSpectrum = new DoubleData(output, - sampleRate, input.getFirstSampleNumber()); - return outputMelSpectrum; - } - - - /** - * Reads the next Data object, which is the power spectrum of an audio input frame. Signals are returned - * unmodified. - * - * @return the next available Data or Signal object, or returns null if no Data is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - input = process((DoubleData) input); - } - } - return input; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank2.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank2.java deleted file mode 100755 index 38d83216..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/MelFrequencyFilterBank2.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.frontend.frequencywarp; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.*; - -/** - * Filters an input power spectrum through a bank of number of mel-filters. The - * output is an array of filtered values, typically called mel-spectrum, each - * corresponding to the result of filtering the input spectrum through an - * individual filter. Therefore, the length of the output array is equal to the - * number of filters created. - *

- * The triangular mel-filters in the filter bank are placed in the frequency - * axis so that each filter's center frequency follows the mel scale, in such a - * way that the filter bank mimics the critical band, which represents - * different perceptual effect at different frequency bands. Additionally, the - * edges are placed so that they coincide with the center frequencies in - * adjacent filters. Pictorially, the filter bank looks like: - *

- * Mel filter bank
- *

Figure 1: A Mel-filter bank.
- *

- * As you might notice in the above figure, the distance at the base from the - * center to the left edge is different from the center to the right edge. - * Since the center frequencies follow the mel-frequency scale, which is a - * non-linear scale that models the non-linear human hearing behavior, the mel - * filter bank corresponds to a warping of the frequency axis. As can be - * inferred from the figure, filtering with the mel scale emphasizes the lower - * frequencies. A common model for the relation between frequencies in mel and - * linear scales is as follows: - *

- * melFrequency = 2595 * log(1 + linearFrequency/700) - *

- * The constants that define the filterbank are the number of filters, the - * minimum frequency, and the maximum frequency. The minimum and maximum - * frequencies determine the frequency range spanned by the filterbank. These - * frequencies depend on the channel and the sampling frequency that you are - * using. For telephone speech, since the telephone channel corresponds to a - * bandpass filter with cutoff frequencies of around 300Hz and 3700Hz, using - * limits wider than these would waste bandwidth. For clean speech, the minimum - * frequency should be higher than about 100Hz, since there is no speech - * information below it. Furthermore, by setting the minimum frequency above - * 50/60Hz, we get rid of the hum resulting from the AC power, if present. - *

- * The maximum frequency has to be lower than the Nyquist frequency, that is, - * half the sampling rate. Furthermore, there is not much information above - * 6800Hz that can be used for improving separation between models. - * Particularly for very noisy channels, maximum frequency of around 5000Hz may - * help cut off the noise. - *

- * Typical values for the constants defining the filter bank are: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
Sample rate (Hz) 16000 11025 8000
{@link #PROP_NUMBER_FILTERS numberFilters}403631
{@link #PROP_MIN_FREQ minimumFrequency}(Hz)130130200
{@link #PROP_MAX_FREQ maximumFrequency}(Hz)680054003500
- *

- * Davis and Mermelstein showed that Mel-frequency cepstral coefficients - * present robust characteristics that are good for speech recognition. For - * details, see Davis and Mermelstein, Comparison of Parametric - * Representations for Monosyllable Word Recognition in Continuously Spoken - * Sentences, IEEE Transactions on Acoustic, Speech and Signal Processing, 1980 - * . - * - * @see MelFilter2 - */ -public class MelFrequencyFilterBank2 extends BaseDataProcessor { - - /** The property for the number of filters in the filterbank. */ - @S4Integer(defaultValue = 40) - public static final String PROP_NUMBER_FILTERS = "numberFilters"; - - /** The property for the minimum frequency covered by the filterbank. */ - @S4Double(defaultValue = 130.0) - public static final String PROP_MIN_FREQ = "minimumFrequency"; - - /** The property for the maximum frequency covered by the filterbank. */ - @S4Double(defaultValue = 6800.0) - public static final String PROP_MAX_FREQ = "maximumFrequency"; - - // ---------------------------------- - // Configuration data - // ---------------------------------- - private int sampleRate; - private int numberFilters; - private double minFreq; - private double maxFreq; - - private MelFilter2[] filters; - - public MelFrequencyFilterBank2(double minFreq, double maxFreq, - int numberFilters) { - initLogger(); - this.minFreq = minFreq; - this.maxFreq = maxFreq; - this.numberFilters = numberFilters; - } - - public MelFrequencyFilterBank2() { - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - minFreq = ps.getDouble(PROP_MIN_FREQ); - maxFreq = ps.getDouble(PROP_MAX_FREQ); - numberFilters = ps.getInt(PROP_NUMBER_FILTERS); - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend - * .CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - } - - /** - * Compute mel frequency from linear frequency. - * - * @param inputFreq the input frequency in linear scale - * @return the frequency in a mel scale - */ - private double linearToMel(double inputFreq) { - return 1127 * Math.log1p(inputFreq / 700); - } - - /** - * Build a mel filterbank with the parameters given. Each filter will be - * shaped as a triangle. The triangles overlap so that they cover the whole - * frequency range requested. The edges of a given triangle will be by - * default at the center of the neighboring triangles. - * - * @param windowLength number of points in the power spectrum - * @param numberFilters number of filters in the filterbank - * @param minFreq lowest frequency in the range of interest - * @param maxFreq highest frequency in the range of interest - * @throws IllegalArgumentException - */ - private void buildFilterbank(int windowLength, - int numberFilters, - double minFreq, - double maxFreq) - throws IllegalArgumentException - { - assert windowLength > 0; - assert numberFilters > 0; - // Initialize edges and center freq. These variables will be updated so - // that the center frequency of a filter is the right edge of the - // filter to its left, and the left edge of the filter to its right. - - double minFreqMel = linearToMel(minFreq); - double maxFreqMel = linearToMel(maxFreq); - double deltaFreqMel = (maxFreqMel - minFreqMel) / (numberFilters + 1); - // In fact, the ratio should be between sampleRate / - // 2 and numberFftPoints / 2 since the number of - // points in the power spectrum is half of the number of FFT points - - // the other half would be symmetrical for a real sequence -, and - // these points cover up to the Nyquist frequency, which is half of - // the sampling rate. The two "divide by 2" get canceled out. - double deltaFreq = (double) sampleRate / windowLength; - double[] melPoints = new double[windowLength / 2]; - filters = new MelFilter2[numberFilters]; - - for (int i = 0; i < windowLength / 2; ++i) - melPoints[i] = linearToMel(i * deltaFreq); - - for (int i = 0; i < numberFilters; i++) { - double centerMel = minFreqMel + (i + 1) * deltaFreqMel; - filters[i] = new MelFilter2(centerMel, deltaFreqMel, melPoints); - } - } - - /** - * Process data, creating the power spectrum from an input audio frame. - * - * @param input input power spectrum - * @return power spectrum - * @throws java.lang.IllegalArgumentException - */ - private DoubleData process(DoubleData input) - throws IllegalArgumentException { - double[] in = input.getValues(); - int windowLength = (in.length - 1) << 1; - - if (filters == null || sampleRate != input.getSampleRate()) { - sampleRate = input.getSampleRate(); - buildFilterbank(windowLength, numberFilters, minFreq, maxFreq); - } else if (in.length != ((windowLength >> 1) + 1)) { - throw new IllegalArgumentException("Window size is incorrect: in.length == " - + in.length - + ", numberFftPoints == " - + ((windowLength >> 1) + 1)); - } - - double[] output = new double[numberFilters]; - for (int i = 0; i < numberFilters; i++) - output[i] = filters[i].apply(in); - - DoubleData outputMelSpectrum = new DoubleData(output, - sampleRate, - input.getFirstSampleNumber()); - return outputMelSpectrum; - } - - /** - * Reads the next Data object, which is the power spectrum of an audio - * input frame. Signals are returned unmodified. - * - * @return the next available Data or Signal object, or returns null if no - * Data is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - input = process((DoubleData) input); - } - } - return input; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPCepstrumProducer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPCepstrumProducer.java deleted file mode 100755 index c9f53a77..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPCepstrumProducer.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.frequencywarp; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.*; - -/** - * Computes the PLP cepstrum from a given PLP Spectrum. The power spectrum has the amplitude compressed by computing the - * cubed root of the PLP spectrum. This operation is an approximation to the power law of hearing and simulates the - * non-linear relationship between sound intensity and perceived loudness. Computationally, this operation is used to - * reduce the spectral amplitude of the critical band to enable all-pole modeling with relatively low order AR filters. - * The inverse discrete cosine transform (IDCT) is then applied to the autocorrelation coefficients. A linear prediction - * filter is then estimated from the autocorrelation values, and the linear prediction cepstrum (LPC cepstrum) is - * finally computed from the LP filter. - * - * @author rsingh - * @version 1.0 - * @see LinearPredictor - */ -public class PLPCepstrumProducer extends BaseDataProcessor { - - /** The property for the number of filters in the filter bank. */ - @S4Integer(defaultValue = 32) - public static final String PROP_NUMBER_FILTERS = "numberFilters"; - - /** The property specifying the length of the cepstrum data. */ - @S4Integer(defaultValue = 13) - public static final String PROP_CEPSTRUM_LENGTH - = "cepstrumLength"; - - /** The property specifying the LPC order. */ - @S4Integer(defaultValue = 14) - public static final String PROP_LPC_ORDER = "lpcOrder"; - - private int cepstrumSize; // size of a Cepstrum - private int LPCOrder; // LPC Order to compute cepstrum - private int numberPLPFilters; // number of PLP filters - private double[][] cosine; - - public PLPCepstrumProducer(int numberPLPFilters,int cepstrumSize,int LPCOrder) { - initLogger(); - this.numberPLPFilters = numberPLPFilters; - this.cepstrumSize = cepstrumSize; - this.LPCOrder = LPCOrder; - } - - public PLPCepstrumProducer() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - numberPLPFilters = ps.getInt(PROP_NUMBER_FILTERS); - cepstrumSize = ps.getInt(PROP_CEPSTRUM_LENGTH); - LPCOrder = ps.getInt(PROP_LPC_ORDER); - } - - - /** Constructs a PLPCepstrumProducer */ - @Override - public void initialize() { - super.initialize(); - computeCosine(); - } - - - /** Compute the Cosine values for IDCT. */ - private void computeCosine() { - cosine = new double[LPCOrder + 1][numberPLPFilters]; - - double period = (double) 2 * numberPLPFilters; - - for (int i = 0; i <= LPCOrder; i++) { - double frequency = 2 * Math.PI * i / period; - - for (int j = 0; j < numberPLPFilters; j++) { - cosine[i][j] = Math.cos(frequency * (j + 0.5)); - } - } - } - - - /** - * Applies the intensity loudness power law. This operation is an approximation to the power law of hearing and - * simulates the non-linear relationship between sound intensity and percieved loudness. Computationally, this - * operation is used to reduce the spectral amplitude of the critical band to enable all-pole modeling with - * relatively low order AR filters. - * @param inspectrum - */ - private double[] powerLawCompress(double[] inspectrum) { - double[] compressedspectrum = new double[inspectrum.length]; - - for (int i = 0; i < inspectrum.length; i++) { - compressedspectrum[i] = Math.pow(inspectrum[i], 1.0 / 3.0); - } - return compressedspectrum; - } - - - /** - * Returns the next Data object, which is the PLP cepstrum of the input frame. However, it can also be other Data - * objects like a EndPointSignal. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is an error reading the Data objects - */ - @Override - public Data getData() throws DataProcessingException { - - Data input = getPredecessor().getData(); - Data output = input; - - if (input != null) { - if (input instanceof DoubleData) { - output = process((DoubleData) input); - } - } - - return output; - } - - - /** - * Process data, creating the PLP cepstrum from an input audio frame. - * - * @param input a PLP Spectrum frame - * @return a PLP Data frame - * @throws IllegalArgumentException - */ - private Data process(DoubleData input) throws IllegalArgumentException { - - double[] plpspectrum = input.getValues(); - - if (plpspectrum.length != numberPLPFilters) { - throw new IllegalArgumentException - ("PLPSpectrum size is incorrect: plpspectrum.length == " + - plpspectrum.length + ", numberPLPFilters == " + - numberPLPFilters); - } - - // power law compress spectrum - double[] compressedspectrum = powerLawCompress(plpspectrum); - - // compute autocorrelation values - double[] autocor = applyCosine(compressedspectrum); - - LinearPredictor LPC = new LinearPredictor(LPCOrder); - // Compute LPC Parameters - LPC.getARFilter(autocor); - // Compute LPC Cepstra - double[] cepstrumDouble = LPC.getData(cepstrumSize); - - DoubleData cepstrum = new DoubleData - (cepstrumDouble, input.getSampleRate(), - input.getFirstSampleNumber()); - - return cepstrum; - } - - - /** - * Compute the discrete Cosine transform for the given power spectrum - * - * @param plpspectrum the PLPSpectrum data - * @return autocorrelation computed from PLP spectral values - */ - private double[] applyCosine(double[] plpspectrum) { - - double[] autocor = new double[LPCOrder + 1]; - double period = numberPLPFilters; - double beta = 0.5f; - - // apply the idct - for (int i = 0; i <= LPCOrder; i++) { - - if (numberPLPFilters > 0) { - double[] cosine_i = cosine[i]; - int j = 0; - autocor[i] += (beta * plpspectrum[j] * cosine_i[j]); - - for (j = 1; j < numberPLPFilters; j++) { - autocor[i] += (plpspectrum[j] * cosine_i[j]); - } - autocor[i] /= period; - } - } - - return autocor; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFilter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFilter.java deleted file mode 100755 index ba28a437..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFilter.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.frequencywarp; - - -/** - * Defines a filter used by the {@link PLPFrequencyFilterBank} class. The filter is defined by a function in the {@link - * #PLPFilter Constructor}. A set of equally spaced frequencies in a linear scale is passed to the constructor, which - * returns the weights for each of the frequency bins, such that the filter has the shape defined by this piecewise - * function in the bark scale. - * - * @author rsingh - * @version 1.0 - * @see PLPFrequencyFilterBank - */ -public class PLPFilter { - - private double[] filterCoefficients; - private final int numDFTPoints; - - /** The center frequency of the filter in Hertz. */ - public final double centerFreqInHz; - - /** The center frequency of the filter in Bark. */ - public final double centerFreqInBark; - - - /** - * Constructs a PLP filter around a given center frequency. - *

- * Defines a filter according to the following equation, defined piecewise (all frequencies in the equation are Bark - * frequencies): - *

-     * Filter(f) = 0 if f < -2.5 
- * = 10^(-(f+0.5)) if -2.5 <= f <= -0.5
- * = 1 if -0.5 <= f <= 0.5
- * = 10^(2.5(f-0.5)) if 0.5 <= f <= 1.3
- * = 0 if f > 1.3
- *
- * The current implementation assumes that the calling routine passes in an array of frequencies, one for each of - * the DFT points in the spectrum of the frame of speech to be filtered. This is used in conjunction with a - * specified center frequency to determine the filter. - * - * @param DFTFrequenciesInHz is a double array containing the frequencies in Hertz corresponding to each of the DFT - * points in the spectrum of the signal to be filtered. - * @param centerFreqInHz is the filter's center frequency - * @throws IllegalArgumentException if center frequency is wrong - */ - - - public PLPFilter(double[] DFTFrequenciesInHz, - double centerFreqInHz) throws IllegalArgumentException { - - FrequencyWarper bark = new FrequencyWarper(); - - numDFTPoints = DFTFrequenciesInHz.length; - this.centerFreqInHz = centerFreqInHz; - centerFreqInBark = bark.hertzToBark(centerFreqInHz); - - if (centerFreqInHz < DFTFrequenciesInHz[0] || - centerFreqInHz > DFTFrequenciesInHz[numDFTPoints - 1]) { - throw new IllegalArgumentException - ("Center frequency for PLP filter out of range"); - } - - filterCoefficients = new double[numDFTPoints]; - - for (int i = 0; i < numDFTPoints; i++) { - double barkf; - - barkf = bark.hertzToBark(DFTFrequenciesInHz[i]) - centerFreqInBark; - if (barkf < -2.5) - filterCoefficients[i] = 0.0; - else if (barkf <= -0.5) - filterCoefficients[i] = Math.pow(10.0, barkf + 0.5); - else if (barkf <= 0.5) - filterCoefficients[i] = 1.0; - else if (barkf <= 1.3) - filterCoefficients[i] = Math.pow(10.0, -2.5 * (barkf - 0.5)); - else - filterCoefficients[i] = 0.0; - } - } - - - /** - * Compute the PLP spectrum at the center frequency of this filter for a given power spectrum. - * - * @param spectrum the input power spectrum to be filtered - * @return the PLP spectrum value - * @throws IllegalArgumentException if the input spectrum is of a different length than the array of filter - * coefficients - */ - public double filterOutput(double[] spectrum) - throws IllegalArgumentException { - - if (spectrum.length != numDFTPoints) { - throw new IllegalArgumentException - ("Mismatch in no. of DFT points " + spectrum.length + - " in spectrum and in filter " + numDFTPoints); - } - - double output = 0.0; - for (int i = 0; i < numDFTPoints; i++) { - output += spectrum[i] * filterCoefficients[i]; - } - return output; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFrequencyFilterBank.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFrequencyFilterBank.java deleted file mode 100755 index 429ab7e3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/frequencywarp/PLPFrequencyFilterBank.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.frequencywarp; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.*; - -/** - * Filters an input power spectrum through a PLP filterbank. The filters in the filterbank are placed in the frequency - * axis so as to mimic the critical band, representing different perceptual effect at different frequency bands. The - * filter outputs are also scaled for equal loudness preemphasis. The filter shapes are defined by the {@link PLPFilter} - * class. Like the {@link MelFrequencyFilterBank2}, this filter bank has characteristics defined by the {@link - * #PROP_NUMBER_FILTERS number of filters}, the {@link #PROP_MIN_FREQ minimum frequency}, and the {@link #PROP_MAX_FREQ - * maximum frequency}. Unlike the {@link MelFrequencyFilterBank2}, the minimum and maximum frequencies here refer to the - * center frequencies of the filters located at the leftmost and rightmost positions, and not to the edges. - * Therefore, this filter bank spans a frequency range that goes beyond the limits suggested by the minimum and maximum - * frequencies. - * - * @author rsingh - * @version 1.0 - * @see PLPFilter - */ -public class PLPFrequencyFilterBank extends BaseDataProcessor { - - /** The property for the number of filters in the filterbank. */ - @S4Integer(defaultValue = 32) - public static final String PROP_NUMBER_FILTERS = "numberFilters"; - - /** The property for the center frequency of the lowest filter in the filterbank. */ - @S4Double(defaultValue = 130.0) - public static final String PROP_MIN_FREQ = "minimumFrequency"; - - /** The property for the center frequency of the highest filter in the filterbank. */ - @S4Double(defaultValue = 3600.0) - public static final String PROP_MAX_FREQ = "maximumFrequency"; - - private int sampleRate; - private int numberFftPoints; - private int numberFilters; - private double minFreq; - private double maxFreq; - private PLPFilter[] criticalBandFilter; - private double[] equalLoudnessScaling; - - - public PLPFrequencyFilterBank(double minFreq, double maxFreq, int numberFilters) { - initLogger(); - this.minFreq = minFreq; - this.maxFreq = maxFreq; - this.numberFilters = numberFilters; - } - - public PLPFrequencyFilterBank() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - minFreq = ps.getDouble(PROP_MIN_FREQ); - maxFreq = ps.getDouble(PROP_MAX_FREQ); - numberFilters = ps.getInt(PROP_NUMBER_FILTERS); - } - - - /** Initializes this PLPFrequencyFilterBank object */ - @Override - public void initialize() { - super.initialize(); - } - - - /** - * Build a PLP filterbank with the parameters given. The center frequencies of the PLP filters will be uniformly - * spaced between the minimum and maximum analysis frequencies on the Bark scale. on the Bark scale. - * - * @throws IllegalArgumentException - */ - private void buildCriticalBandFilterbank() throws IllegalArgumentException { - double minBarkFreq; - double maxBarkFreq; - double deltaBarkFreq; - double nyquistFreq; - double centerFreq; - int numberDFTPoints = (numberFftPoints >> 1) + 1; - double[] DFTFrequencies; - - /* This is the same class of warper called by PLPFilter.java */ - FrequencyWarper bark = new FrequencyWarper(); - - this.criticalBandFilter = new PLPFilter[numberFilters]; - - if (numberFftPoints == 0) { - throw new IllegalArgumentException("Number of FFT points is zero"); - } - if (numberFilters < 1) { - throw new IllegalArgumentException("Number of filters illegal: " - + numberFilters); - } - - DFTFrequencies = new double[numberDFTPoints]; - nyquistFreq = sampleRate / 2; - for (int i = 0; i < numberDFTPoints; i++) { - DFTFrequencies[i] = i * nyquistFreq / - (numberDFTPoints - 1); - } - - /** - * Find center frequencies of filters in the Bark scale - * translate to linear frequency and create PLP filters - * with these center frequencies. - * - * Note that minFreq and maxFreq specify the CENTER FREQUENCIES - * of the lowest and highest PLP filters - */ - - - minBarkFreq = bark.hertzToBark(minFreq); - maxBarkFreq = bark.hertzToBark(maxFreq); - - if (numberFilters < 1) { - throw new IllegalArgumentException("Number of filters illegal: " - + numberFilters); - } - deltaBarkFreq = (maxBarkFreq - minBarkFreq) / (numberFilters + 1); - - for (int i = 0; i < numberFilters; i++) { - centerFreq = bark.barkToHertz(minBarkFreq + i * deltaBarkFreq); - criticalBandFilter[i] = new PLPFilter(DFTFrequencies, centerFreq); - } - } - - - /** - * This function return the equal loudness preemphasis factor at any frequency. The preemphasis function is given - * by - *

- * E(w) = f^4 / (f^2 + 1.6e5) ^ 2 * (f^2 + 1.44e6) / (f^2 + 9.61e6) - *

- * This is more modern one from HTK, for some reason it's preferred over old variant, and - * it doesn't require conversion to radians - *

- * E(w) = (w^2+56.8e6)*w^4/((w^2+6.3e6)^2(w^2+0.38e9)(w^6+9.58e26)) - *

- * where w is frequency in radians/second - * @param freq - */ - private double loudnessScalingFunction(double freq) { - double fsq = freq * freq; - double fsub = fsq / (fsq + 1.6e5); - return fsub * fsub * ((fsq + 1.44e6) / (fsq + 9.61e6)); - } - - - /** Create an array of equal loudness preemphasis scaling terms for all the filters */ - private void buildEqualLoudnessScalingFactors() { - double centerFreq; - - equalLoudnessScaling = new double[numberFilters]; - for (int i = 0; i < numberFilters; i++) { - centerFreq = criticalBandFilter[i].centerFreqInHz; - equalLoudnessScaling[i] = loudnessScalingFunction(centerFreq); - } - } - - - /** - * Process data, creating the power spectrum from an input audio frame. - * - * @param input input power spectrum - * @return PLP power spectrum - * @throws java.lang.IllegalArgumentException - * - */ - private DoubleData process(DoubleData input) throws - IllegalArgumentException { - - double[] in = input.getValues(); - - if (criticalBandFilter == null || - sampleRate != input.getSampleRate()) { - numberFftPoints = (in.length - 1) << 1; - sampleRate = input.getSampleRate(); - buildCriticalBandFilterbank(); - buildEqualLoudnessScalingFactors(); - - } else if (in.length != ((numberFftPoints >> 1) + 1)) { - throw new IllegalArgumentException - ("Window size is incorrect: in.length == " + in.length + - ", numberFftPoints == " + ((numberFftPoints >> 1) + 1)); - } - - double[] outputPLPSpectralArray = new double[numberFilters]; - - /** - * Filter input power spectrum - */ - for (int i = 0; i < numberFilters; i++) { - // First compute critical band filter output - outputPLPSpectralArray[i] = criticalBandFilter[i].filterOutput(in); - // Then scale it for equal loudness preemphasis - outputPLPSpectralArray[i] *= equalLoudnessScaling[i]; - } - - DoubleData output = new DoubleData - (outputPLPSpectralArray, input.getSampleRate(), - input.getFirstSampleNumber()); - - return output; - } - - - /** - * Reads the next Data object, which is the power spectrum of an audio input frame. However, it can also be other - * Data objects like a Signal, which is returned unmodified. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - - Data input = getPredecessor().getData(); - if (input != null) { - if (input instanceof DoubleData) { - input = process((DoubleData) input); - } - } - - return input; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform.java deleted file mode 100755 index d95d2f22..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.transform; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.*; - -/** - * Applies a logarithm and then a Discrete Cosine Transform (DCT) to the input data. The input data is normally the mel - * spectrum. It has been proven that, for a sequence of real numbers, the discrete cosine transform is equivalent to the - * discrete Fourier transform. Therefore, this class corresponds to the last stage of converting a signal to cepstra, - * defined as the inverse Fourier transform of the logarithm of the Fourier transform of a signal. The property {@link - * #PROP_CEPSTRUM_LENGTH}refers to the dimensionality of the coefficients that are actually returned, defaulting to - * 13. When the input is mel-spectrum, the vector returned is the MFCC (Mel-Frequency - * Cepstral Coefficient) vector, where the 0-th element is the energy value. - */ -public class DiscreteCosineTransform extends BaseDataProcessor { - - /** The property for the number of filters in the filterbank. */ - @S4Integer(defaultValue = 40) - public static final String PROP_NUMBER_FILTERS = "numberFilters"; - - /** The property for the size of the cepstrum */ - @S4Integer(defaultValue = 13) - public static final String PROP_CEPSTRUM_LENGTH = "cepstrumLength"; - - protected int cepstrumSize; // size of a Cepstrum - protected int numberMelFilters; // number of mel-filters - protected double[][] melcosine; - - - public DiscreteCosineTransform( int numberMelFilters, int cepstrumSize ) { - initLogger(); - this.numberMelFilters = numberMelFilters; - this.cepstrumSize = cepstrumSize; - } - - public DiscreteCosineTransform( ) { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - numberMelFilters = ps.getInt(PROP_NUMBER_FILTERS); - cepstrumSize = ps.getInt(PROP_CEPSTRUM_LENGTH); - } - - - @Override - public void initialize() { - super.initialize(); - } - - - /** - * Returns the next DoubleData object, which is the mel cepstrum of the input frame. Signals are returned - * unmodified. - * - * @return the next available DoubleData melcepstrum, or Signal object, or null if no Data is available - * @throws DataProcessingException if a data processing error occurred - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); // get the spectrum - if (input != null && input instanceof DoubleData) { - input = process((DoubleData) input); - } - return input; - } - - final static double LOG_FLOOR = 1e-4; - - /** - * Process data, creating the mel cepstrum from an input spectrum frame. - * - * @param input a MelSpectrum frame - * @return a mel Cepstrum frame - * @throws IllegalArgumentException - */ - private DoubleData process(DoubleData input) - throws IllegalArgumentException { - double[] melspectrum = input.getValues(); - - if (melcosine == null) { - numberMelFilters = melspectrum.length; - computeMelCosine(); - - } else if (melspectrum.length != numberMelFilters) { - throw new IllegalArgumentException - ("MelSpectrum size is incorrect: melspectrum.length == " + - melspectrum.length + ", numberMelFilters == " + - numberMelFilters); - } - // first compute the log of the spectrum - for (int i = 0; i < melspectrum.length; ++i) { - melspectrum[i] = Math.log(melspectrum[i] + LOG_FLOOR); - } - - double[] cepstrum; - - // create the cepstrum by apply the melcosine filter - cepstrum = applyMelCosine(melspectrum); - - return new DoubleData(cepstrum, input.getSampleRate(), - input.getFirstSampleNumber()); - } - - - /** Compute the MelCosine filter bank. */ - protected void computeMelCosine() { - melcosine = new double[cepstrumSize][numberMelFilters]; - double period = (double) 2 * numberMelFilters; - for (int i = 0; i < cepstrumSize; i++) { - double frequency = 2 * Math.PI * i / period; - for (int j = 0; j < numberMelFilters; j++) { - melcosine[i][j] = Math.cos(frequency * (j + 0.5)); - } - } - } - - - /** - * Apply the MelCosine filter to the given melspectrum. - * - * @param melspectrum the MelSpectrum data - * @return MelCepstrum data produced by apply the MelCosine filter to the MelSpectrum data - */ - protected double[] applyMelCosine(double[] melspectrum) { - // create the cepstrum - double[] cepstrum = new double[cepstrumSize]; - double period = numberMelFilters; - double beta = 0.5; - // apply the melcosine filter - for (int i = 0; i < cepstrum.length; i++) { - if (numberMelFilters > 0) { - double[] melcosine_i = melcosine[i]; - int j = 0; - cepstrum[i] += (beta * melspectrum[j] * melcosine_i[j]); - for (j = 1; j < numberMelFilters; j++) { - cepstrum[i] += (melspectrum[j] * melcosine_i[j]); - } - cepstrum[i] /= period; - } - } - - return cepstrum; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform2.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform2.java deleted file mode 100755 index a34a5def..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteCosineTransform2.java +++ /dev/null @@ -1,58 +0,0 @@ -package edu.cmu.sphinx.frontend.transform; - -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.PropertyException; - -/** Applies the optimized MelCosine filter used in pocketsphinx to the given melspectrum. */ -public class DiscreteCosineTransform2 extends DiscreteCosineTransform { - - public DiscreteCosineTransform2( int numberMelFilters, int cepstrumSize ) { - super(numberMelFilters,cepstrumSize); - } - - public DiscreteCosineTransform2( ) { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /** - * Apply the optimized MelCosine filter used in pocketsphinx to the given melspectrum. - * - * @param melspectrum the MelSpectrum data - * @return MelCepstrum data produced by apply the MelCosine filter to the MelSpectrum data - */ - @Override - protected double[] applyMelCosine(double[] melspectrum) { - - // create the cepstrum - double[] cepstrum = new double[cepstrumSize]; - double sqrt_inv_n = Math.sqrt(1.0 / numberMelFilters); - double sqrt_inv_2n = Math.sqrt(2.0 / numberMelFilters); - - cepstrum[0] = melspectrum[0]; - for (int j = 1; j < numberMelFilters; j++) { - cepstrum[0] += melspectrum[j]; - } - - cepstrum[0] *= sqrt_inv_n; - - if (numberMelFilters <= 0) { - return cepstrum; - } - - for (int i = 1; i < cepstrum.length; i++) { - double[] melcosine_i = melcosine[i]; - int j = 0; - cepstrum[i] = 0; - for (j = 0; j < numberMelFilters; j++) { - cepstrum[i] += (melspectrum[j] * melcosine_i[j]); - } - cepstrum[i] *= sqrt_inv_2n; - } - return cepstrum; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteFourierTransform.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteFourierTransform.java deleted file mode 100755 index 7869175f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/DiscreteFourierTransform.java +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.transform; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.Complex; -import edu.cmu.sphinx.util.props.*; - - -/** - * Computes the Discrete Fourier Transform (FT) of an input sequence, using Fast Fourier Transform (FFT). Fourier - * Transform is the process of analyzing a signal into its frequency components. In speech, rather than analyzing the - * signal over its entire duration, we analyze one window of audio data. This window is the product of applying a - * sliding Hamming window to the signal. Moreover, since the amplitude is a lot more important than the phase for speech - * recognition, this class returns the power spectrum of that window of data instead of the complex spectrum. Each value - * in the returned spectrum represents the strength of that particular frequency for that window of data. - *

- * By default, the number of FFT points is the closest power of 2 that is equal to or larger than the number of samples - * in the incoming window of data. The FFT points can also be set by the user with the property defined by {@link - * #PROP_NUMBER_FFT_POINTS}. The length of the returned power spectrum is the number of FFT points, divided by 2, plus - * 1. Since the input signal is real, the FFT is symmetric, and the information contained in the whole vector is already - * present in its first half. - *

- * Note that each call to {@link #getData() getData} only returns the spectrum of one window of data. To display the - * spectrogram of the entire original audio, one has to collect all the spectra from all the windows generated from the - * original data. A spectrogram is a two dimensional representation of three dimensional information. The horizontal - * axis represents time. The vertical axis represents the frequency. If we slice the spectrogram at a given time, we get - * the spectrum computed as the short term Fourier transform of the signal windowed around that time stamp. The - * intensity of the spectrum for each time frame is given by the color in the graph, or by the darkness in a gray scale - * plot. The spectrogram can be thought of as a view from the top of a surface generated by concatenating the spectral - * vectors obtained from the windowed signal. - *

- * For example, Figure 1 below shows the audio signal of the utterance "one three nine oh", and Figure 2 shows its - * spectrogram, produced by putting together all the spectra returned by this FFT. Frequency is on the vertical axis, - * and time is on the horizontal axis. The darkness of the shade represents the strength of that frequency at that point - * in time:


Audio signal
Figure 1: The audio signal of the utterance "one three nine - * oh".


Spectrogram
Figure 2: The spectrogram of the utterance "one three - * nine oh" in Figure 1. - */ -public class DiscreteFourierTransform extends BaseDataProcessor { - - /** The property for the number of points in the Fourier Transform. */ - @S4Integer(defaultValue = -1) - public static final String PROP_NUMBER_FFT_POINTS = "numberFftPoints"; - - /** The property for the invert transform. */ - @S4Boolean(defaultValue = false) - public static final String PROP_INVERT = "invert"; - - private boolean isNumberFftPointsSet; - private int numberFftPoints; - private int logBase2NumberFftPoints; - private int numberDataPoints; - private boolean invert; - - private Complex[] weightFft; - private Complex[] inputFrame; - private Complex[] from; - private Complex[] to; - - private Complex weightFftTimesFrom2; - private Complex tempComplex; - - public DiscreteFourierTransform( int numberFftPoints, boolean invert ) { - initLogger(); - this.numberFftPoints = numberFftPoints; - this.isNumberFftPointsSet = (numberFftPoints != -1); - this.invert = invert; - } - - public DiscreteFourierTransform() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - logger = ps.getLogger(); - numberFftPoints = ps.getInt(PROP_NUMBER_FFT_POINTS); - isNumberFftPointsSet = (numberFftPoints != -1); - invert = ps.getBoolean(PROP_INVERT); - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend.CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - if (isNumberFftPointsSet) { - initializeFFT(); - } - } - - - /** Initialize all the data structures necessary for computing FFT. */ - private void initializeFFT() { - /** - * Number of points in the FFT. By default, the value is 512, - * which means that we compute 512 values around a circle in the - * complex plane. Complex conjugate pairs will yield the same - * power, therefore the power produced by indices 256 through - * 511 are symmetrical with the ones between 1 and 254. Therefore, - * we need only return values between 0 and 255. - */ - computeLogBase2(numberFftPoints); - createWeightFft(numberFftPoints, invert); - initComplexArrays(); - weightFftTimesFrom2 = new Complex(); - tempComplex = new Complex(); - } - - - /** Initialize all the Complex arrays that will be necessary for FFT. */ - private void initComplexArrays() { - - inputFrame = new Complex[numberFftPoints]; - from = new Complex[numberFftPoints]; - to = new Complex[numberFftPoints]; - - for (int i = 0; i < numberFftPoints; i++) { - inputFrame[i] = new Complex(); - from[i] = new Complex(); - to[i] = new Complex(); - } - } - - - /** - * Process data, creating the power spectrum from an input frame. - * - * @param input the input frame - * @return a DoubleData that is the power spectrum of the input frame - * @throws java.lang.IllegalArgumentException - * - */ - private DoubleData process(DoubleData input) - throws IllegalArgumentException { - - /** - * Create complex input sequence equivalent to the real - * input sequence. - * If the number of points is less than the window size, - * we incur in aliasing. If it's greater, we pad the input - * sequence with zeros. - */ - double[] in = input.getValues(); - - if (numberFftPoints < in.length) { - int i = 0; - for (; i < numberFftPoints; i++) { - inputFrame[i].set(in[i], 0.0f); - } - for (; i < in.length; i++) { - tempComplex.set(in[i], 0.0f); - inputFrame[i % numberFftPoints].addComplex - (inputFrame[i % numberFftPoints], tempComplex); - } - } else { - int i = 0; - for (; i < in.length; i++) { - inputFrame[i].set(in[i], 0.0f); - } - for (; i < numberFftPoints; i++) { - inputFrame[i].reset(); - } - } - - /** - * Create output sequence. - */ - double[] outputSpectrum = new double[(numberFftPoints >> 1) + 1]; - - /** - * Start Fast Fourier Transform recursion - */ - recurseFft(inputFrame, outputSpectrum, numberFftPoints, invert); - - /** - * Return the power spectrum - */ - DoubleData output = new DoubleData - (outputSpectrum, input.getSampleRate(), - input.getFirstSampleNumber()); - - return output; - } - - - /** - * Make sure the number of points in the FFT is a power of 2 by computing its log base 2 and checking for - * remainders. - * - * @param numberFftPoints number of points in the FFT - * @throws java.lang.IllegalArgumentException - * - */ - private void computeLogBase2(int numberFftPoints) - throws IllegalArgumentException { - this.logBase2NumberFftPoints = 0; - for (int k = numberFftPoints; k > 1; - k >>= 1, this.logBase2NumberFftPoints++) { - if (((k % 2) != 0) || (numberFftPoints < 0)) { - throw new IllegalArgumentException("Not a power of 2: " - + numberFftPoints); - } - } - } - - - /** - * Initializes the weightFft[] vector.

weightFft[k] = w ^ k

where:

w = exp(-2 * PI * i / - * N)

i is a complex number such that i * i = -1 and N is the number of points in - * the FFT. Since w is complex, this is the same as

Re(weightFft[k]) = cos ( -2 * PI * k / - * N)

Im(weightFft[k]) = sin ( -2 * PI * k / N)

- * - * @param numberFftPoints number of points in the FFT - * @param invert whether it's direct (false) or inverse (true) FFT - */ - private void createWeightFft(int numberFftPoints, boolean invert) { - /** - * weightFFT will have numberFftPoints/2 complex elements. - */ - weightFft = new Complex[numberFftPoints >> 1]; - - /** - * For the inverse FFT, - * w = 2 * PI / numberFftPoints; - */ - double w = -2 * Math.PI / numberFftPoints; - if (invert) { - w = -w; - } - - for (int k = 0; k < (numberFftPoints >> 1); k++) { - weightFft[k] = new Complex(Math.cos(w * k), Math.sin(w * k)); - } - } - - - /** - * Reads the next DoubleData object, which is a data frame from which we'll compute the power spectrum. Signal - * objects just pass through unmodified. - * - * @return the next available power spectrum DoubleData object, or null if no Spectrum object is available - * @throws DataProcessingException if there is a processing error - */ - @Override - public Data getData() throws DataProcessingException { - - Data input = getPredecessor().getData(); - - if ((input != null) && (input instanceof DoubleData)) { - DoubleData data = (DoubleData) input; - if (!isNumberFftPointsSet) { - /* - * If numberFftPoints is not set by the user, - * figure out the numberFftPoints and initialize the - * data structures appropriately. - */ - if (numberDataPoints != data.getValues().length) { - numberDataPoints = data.getValues().length; - numberFftPoints = getNumberFftPoints(numberDataPoints); - initializeFFT(); - } - } else { - /* - * Warn if the user-set numberFftPoints is not ideal. - */ - if (numberDataPoints != data.getValues().length) { - numberDataPoints = data.getValues().length; - int idealFftPoints = getNumberFftPoints(numberDataPoints); - if (idealFftPoints != numberFftPoints) { - logger.warning("User set numberFftPoints (" + - numberFftPoints + ") is not ideal (" + - idealFftPoints + ')'); - } - } - } - input = process(data); - } - - // At this point - or in the call immediatelly preceding - // this -, we should have created a cepstrum frame with - // whatever data came last, even if we had less than - // window size of data. - - return input; - } - - - /** - * Returns the ideal number of FFT points given the number of samples. The ideal number of FFT points is the closest - * power of 2 that is equal to or larger than the number of samples in the incoming window. - * - * @param numberSamples the number of samples in the incoming window - * @return the closest power of 2 that is equal to or larger than the number of samples in the incoming window - */ - private static int getNumberFftPoints(int numberSamples) { - int fftPoints = 1; - - while (fftPoints < numberSamples) { - fftPoints <<= 1; - if (fftPoints < 1) { - throw new Error("Invalid # of FFT points: " + fftPoints); - } - } - return fftPoints; - } - - - /** - * Establish the recursion. The FFT computation will be computed by as a recursion. Each stage in the butterfly will - * be fully computed during recursion. In fact, we use the mechanism of recursion only because it's the simplest way - * of switching the "input" and "output" vectors. The output of a stage is the input to the next stage. The - * butterfly computes elements in place, but we still need to switch the vectors. We could copy it (not very - * efficient...) or, in C, switch the pointers. We can avoid the pointers by using recursion. - * - * @param input input sequence - * @param output output sequence - * @param numberFftPoints number of points in the FFT - * @param invert whether it's direct (false) or inverse (true) FFT - */ - private void recurseFft(Complex[] input, - double[] output, - int numberFftPoints, - boolean invert) { - - double divisor; - - /** - * The direct and inverse FFT are essentially the same - * algorithm, except for two difference: a scaling factor of - * "numberFftPoints" and the signal of the exponent in the - * weightFft vectors, defined in the method - * createWeightFft. - */ - - if (!invert) { - divisor = 1.0; - } else { - divisor = numberFftPoints; - } - - /** - * Initialize the "from" and "to" variables. - */ - for (int i = 0; i < numberFftPoints; i++) { - to[i].reset(); - from[i].scaleComplex(input[i], divisor); - } - - /** - * Repeat the recursion log2(numberFftPoints) times, - * i.e., we have log2(numberFftPoints) butterfly stages. - */ - butterflyStage(from, to, numberFftPoints, numberFftPoints >> 1); - - /** - * Compute energy ("float") for each frequency point - * from the fft ("complex") - */ - if ((this.logBase2NumberFftPoints & 1) == 0) { - for (int i = 0; i <= (numberFftPoints >> 1); i++) { - output[i] = from[i].squaredMagnitudeComplex(); - } - } else { - for (int i = 0; i <= (numberFftPoints >> 1); i++) { - output[i] = to[i].squaredMagnitudeComplex(); - } - } - } - - - /** - * Compute one stage in the FFT butterfly. The name "butterfly" appears because this method computes elements in - * pairs, and a flowgraph of the computation (output "0" comes from input "0" and "1" and output "1" comes from - * input "0" and "1") resembles a butterfly. - *

- * We repeat butterflyStage for log_2(numberFftPoints) stages, by calling the recursion with the - * argument currentDistance divided by 2 at each call, and checking if it's still > 0. - * - * @param from the input sequence at each stage - * @param to the output sequence - * @param numberFftPoints the total number of points - * @param currentDistance the "distance" between elements in the butterfly - */ - private void butterflyStage(Complex[] from, - Complex[] to, - int numberFftPoints, - int currentDistance) { - int ndx1From; - int ndx2From; - int ndx1To; - int ndx2To; - int ndxWeightFft; - - if (currentDistance > 0) { - - int twiceCurrentDistance = 2 * currentDistance; - - for (int s = 0; s < currentDistance; s++) { - ndx1From = s; - ndx2From = s + currentDistance; - ndx1To = s; - ndx2To = s + (numberFftPoints >> 1); - ndxWeightFft = 0; - while (ndxWeightFft < (numberFftPoints >> 1)) { - /** - * weightFftTimesFrom2 = weightFft[k] - * *from[ndx2From] - */ - weightFftTimesFrom2.multiplyComplex - (weightFft[ndxWeightFft], from[ndx2From]); - /** - * to[ndx1To] = from[ndx1From] - * + weightFftTimesFrom2 - */ - to[ndx1To].addComplex - (from[ndx1From], weightFftTimesFrom2); - /** - * to[ndx2To] = from[ndx1From] - * - weightFftTimesFrom2 - */ - to[ndx2To].subtractComplex - (from[ndx1From], weightFftTimesFrom2); - ndx1From += twiceCurrentDistance; - ndx2From += twiceCurrentDistance; - ndx1To += currentDistance; - ndx2To += currentDistance; - ndxWeightFft += currentDistance; - } - } - - /** - * This call'd better be the last call in this block, so when - * it returns we go straight into the return line below. - * - * We switch the to and from variables, - * the total number of points remains the same, and - * the currentDistance is divided by 2. - */ - butterflyStage(to, from, numberFftPoints, (currentDistance >> 1)); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/KaldiDiscreteCosineTransform.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/KaldiDiscreteCosineTransform.java deleted file mode 100755 index cdd99373..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/KaldiDiscreteCosineTransform.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 1999-2014 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.frontend.transform; - -import java.util.Arrays; - - -/** - * DCT implementation that conforms to one used in Kaldi. - */ -public class KaldiDiscreteCosineTransform extends DiscreteCosineTransform { - - public KaldiDiscreteCosineTransform(int numberMelFilters, int cepstrumSize) - { - super(numberMelFilters, cepstrumSize); - } - - public KaldiDiscreteCosineTransform() { - } - - @Override - protected void computeMelCosine() { - melcosine = new double[cepstrumSize][numberMelFilters]; - Arrays.fill(melcosine[0], Math.sqrt(1. / numberMelFilters)); - - double normScale = Math.sqrt(2. / numberMelFilters); - - for (int i = 1; i < cepstrumSize; i++) { - double frequency = Math.PI * i / numberMelFilters; - - for (int j = 0; j < numberMelFilters; j++) - melcosine[i][j] = normScale * Math.cos(frequency * (j + 0.5)); - } - } - - @Override - protected double[] applyMelCosine(double[] melspectrum) { - double[] cepstrum = new double[cepstrumSize]; - - for (int i = 0; i < cepstrum.length; i++) { - for (int j = 0; j < numberMelFilters; j++) - cepstrum[i] += melspectrum[j] * melcosine[i][j]; - } - - return cepstrum; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/Lifter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/Lifter.java deleted file mode 100755 index 249aa9bb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/transform/Lifter.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.transform; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * Applies the Lifter to the input mel-cepstrum to - * smooth cepstrum values - * - * @author Horia Cucu - */ -public class Lifter extends BaseDataProcessor { - - /** The property for the value of the lifterValue */ - @S4Integer(defaultValue = 22) - public static final String PROP_LIFTER_VALUE = "lifterValue"; - protected int lifterValue; - - protected int cepstrumSize; // size of a Cepstrum - protected double[] lifterWeights; - - public Lifter(int lifterValue) { - initLogger(); - this.lifterValue = lifterValue; - } - - public Lifter() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - lifterValue = ps.getInt(PROP_LIFTER_VALUE); - } - - @Override - public void initialize() { - super.initialize(); - } - - /** - * Returns the next DoubleData object, which is the lifted mel-cepstrum of - * the input mel-cepstrum. Signals are returned unmodified. - * - * @return the next available DoubleData lifted mel-cepstrum, or Signal - * object, or null if no Data is available - * @throws DataProcessingException - * if a data processing error occurred - */ - @Override - public Data getData() throws DataProcessingException { - Data data = getPredecessor().getData(); // get the cepstrum - if (data != null && data instanceof DoubleData) { - liftCepstrum((DoubleData) data); - } - return data; - } - - /** - * Lifts the input mel-cepstrum. - * - * @param input - * a mel-cepstrum frame - * @throws IllegalArgumentException - */ - private void liftCepstrum(DoubleData input) throws IllegalArgumentException { - double[] melCepstrum = input.getValues(); - - if (lifterWeights == null) { - cepstrumSize = melCepstrum.length; - computeLifterWeights(); - } else if (melCepstrum.length != cepstrumSize) { - throw new IllegalArgumentException( - "MelCepstrum size is incorrect: " - + "melcepstrum.length == " + melCepstrum.length - + ", cepstrumSize == " + cepstrumSize); - } - - for (int i = 0; i < melCepstrum.length; i++) { - melCepstrum[i] = melCepstrum[i] * lifterWeights[i]; - } - } - - /** - * Computes the Lifter weights. - */ - private void computeLifterWeights() { - lifterWeights = new double[cepstrumSize]; - for (int i = 0; i < cepstrumSize; i++) { - lifterWeights[i] = 1 + lifterValue / 2 - * Math.sin(i * Math.PI / lifterValue); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioContinuityTester.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioContinuityTester.java deleted file mode 100755 index 32899305..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioContinuityTester.java +++ /dev/null @@ -1,46 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; - -/** - * {@code FrontEnd} element that asserts the audio-stream to be continuous. This is often a mandatory property for - * frontend setups. The component operates on the acoustic data level and needs to plugged into the frontend - * before the actual feature extraction starts. - *

- * This component can help to debug new VAD implementations, where it has been shown that data-blocks easily get lost. - * - * @author Holger Brandl - */ -public class AudioContinuityTester extends BaseDataProcessor { - - long lastSampleNum = -1; - - public AudioContinuityTester() { - initLogger(); - } - - @Override - public Data getData() throws DataProcessingException { - Data d = getPredecessor().getData(); - - assert isAudioStreamContinuous(d) : "audio stream is not continuous"; - - return d; - } - - - private boolean isAudioStreamContinuous(Data input) { - if (input instanceof DoubleData) { - DoubleData d = (DoubleData) input; - if (lastSampleNum != -1 && lastSampleNum != d.getFirstSampleNumber()) { - return false; - } - - lastSampleNum = d.getFirstSampleNumber() + d.getValues().length; - - } else if (input instanceof DataStartSignal) - lastSampleNum = -1; - - return true; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileDataSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileDataSource.java deleted file mode 100755 index f6de3ac8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileDataSource.java +++ /dev/null @@ -1,352 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.*; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.UnsupportedAudioFileException; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -/** - * An AudioFileDataSource generates a stream of audio data from a given audio file. All required information concerning - * the audio format are read directly from the file . One would need to call {@link #setAudioFile(java.io.File,String)} - * to set the input file, and call {@link #getData} to obtain the Data frames. - *

- * Using JavaSound as backend this class is able to handle all sound files supported by JavaSound. Beside the built-in - * support for .wav, .au and .aiff. Using plugins (cf. http://www.jsresources.org/ ) it can be extended to support - * .ogg, .mp3, .speex and others. - * - * @author Holger Brandl - */ - -public class AudioFileDataSource extends BaseDataProcessor { - - /** The property for the number of bytes to read from the InputStream each time. */ - @S4Integer(defaultValue = 3200) - public static final String PROP_BYTES_PER_READ = "bytesPerRead"; - - @S4ComponentList(type = Configurable.class) - public static final String AUDIO_FILE_LISTENERS = "audioFileListners"; - protected final List fileListeners = new ArrayList(); - - - protected InputStream dataStream; - protected int sampleRate; - protected int bytesPerRead; - protected int bytesPerValue; - private long totalValuesRead; - protected boolean bigEndian; - protected boolean signedData; - private boolean streamEndReached; - private boolean utteranceEndSent; - private boolean utteranceStarted; - - private File curAudioFile; - - public AudioFileDataSource(int bytesPerRead, List listeners) { - initLogger(); - create(bytesPerRead,listeners); - } - - public AudioFileDataSource() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - logger = ps.getLogger(); - create(ps.getInt(PROP_BYTES_PER_READ), ps.getComponentList(AUDIO_FILE_LISTENERS, AudioFileProcessListener.class)); - } - - private void create( int bytesPerRead, List listeners ) { - this.bytesPerRead = bytesPerRead; - - if( listeners != null ) { - // attach all pool-listeners - for (AudioFileProcessListener configurable : listeners) { - addNewFileListener(configurable); - } - } - - initialize(); - } - - - @Override - public void initialize() { - super.initialize(); - - // reset all stream tags - streamEndReached = false; - utteranceEndSent = false; - utteranceStarted = false; - - if (bytesPerRead % 2 == 1) { - bytesPerRead++; - } - } - - - /** - * Sets the audio file from which the data-stream will be generated of. - * - * @param audioFile The location of the audio file to use - * @param streamName The name of the InputStream. if null the complete path of the audio file will be - * uses as stream name. - */ - public void setAudioFile(File audioFile, String streamName) { - try { - setAudioFile(audioFile.toURI().toURL(), streamName); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - - - /** - * Sets the audio file from which the data-stream will be generated of. - * - * @param audioFileURL The location of the audio file to use - * @param streamName The name of the InputStream. if null the complete path of the audio file will be - * uses as stream name. - */ - public void setAudioFile(URL audioFileURL, String streamName) { - // first close the last stream if there's such a one - if (dataStream != null) { - try { - dataStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } - - dataStream = null; - } - - assert audioFileURL != null; - if (streamName != null) - streamName = audioFileURL.getPath(); - - AudioInputStream audioStream = null; - try { - audioStream = AudioSystem.getAudioInputStream(audioFileURL); - } catch (UnsupportedAudioFileException e) { - System.err.println("Audio file format not supported: " + e); - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - - curAudioFile = new File(audioFileURL.getFile()); - for (AudioFileProcessListener fileListener : fileListeners) - fileListener.audioFileProcStarted(curAudioFile); - - setInputStream(audioStream, streamName); - } - - - /** - * Sets the InputStream from which this StreamDataSource reads. - * - * @param inputStream the InputStream from which audio data comes - * @param streamName the name of the InputStream - */ - public void setInputStream(AudioInputStream inputStream, String streamName) { - dataStream = inputStream; - streamEndReached = false; - utteranceEndSent = false; - utteranceStarted = false; - - AudioFormat format = inputStream.getFormat(); - sampleRate = (int) format.getSampleRate(); - bigEndian = format.isBigEndian(); - - String s = format.toString(); - logger.finer("input format is " + s); - - if (format.getSampleSizeInBits() % 8 != 0) - throw new Error("StreamDataSource: bits per sample must be a multiple of 8."); - bytesPerValue = format.getSampleSizeInBits() / 8; - - // test whether all files in the stream have the same format - - AudioFormat.Encoding encoding = format.getEncoding(); - if (encoding.equals(AudioFormat.Encoding.PCM_SIGNED)) - signedData = true; - else if (encoding.equals(AudioFormat.Encoding.PCM_UNSIGNED)) - signedData = false; - else - throw new RuntimeException("used file encoding is not supported"); - - totalValuesRead = 0; - } - - - /** - * Reads and returns the next Data from the InputStream of StreamDataSource, return null if no data is read and end - * of file is reached. - * - * @return the next Data or null if none is available - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data output = null; - if (streamEndReached) { - if (!utteranceEndSent) { - // since 'firstSampleNumber' starts at 0, the last - // sample number should be 'totalValuesRead - 1' - output = createDataEndSignal(); - utteranceEndSent = true; - } - } else { - if (!utteranceStarted) { - utteranceStarted = true; - output = new DataStartSignal(sampleRate); - } else { - if (dataStream != null) { - output = readNextFrame(); - if (output == null) { - if (!utteranceEndSent) { - output = createDataEndSignal(); - utteranceEndSent = true; - } - } - } - } - } - return output; - } - - - private DataEndSignal createDataEndSignal() { - if (!(this instanceof ConcatAudioFileDataSource)) - for (AudioFileProcessListener fileListener : fileListeners) - fileListener.audioFileProcFinished(curAudioFile); - - return new DataEndSignal(getDuration()); - } - - - /** - * Returns the next Data from the input stream, or null if there is none available - * - * @return a Data or null - * @throws edu.cmu.sphinx.frontend.DataProcessingException - */ - private Data readNextFrame() throws DataProcessingException { - // read one frame's worth of bytes - int read; - int totalRead = 0; - final int bytesToRead = bytesPerRead; - byte[] samplesBuffer = new byte[bytesPerRead]; - long firstSample = totalValuesRead; - try { - do { - read = dataStream.read(samplesBuffer, totalRead, bytesToRead - - totalRead); - if (read > 0) { - totalRead += read; - } - } while (read != -1 && totalRead < bytesToRead); - if (totalRead <= 0) { - closeDataStream(); - return null; - } - // shrink incomplete frames - totalValuesRead += (totalRead / bytesPerValue); - if (totalRead < bytesToRead) { - totalRead = (totalRead % 2 == 0) - ? totalRead + 2 - : totalRead + 3; - byte[] shrinkedBuffer = new byte[totalRead]; - System - .arraycopy(samplesBuffer, 0, shrinkedBuffer, 0, - totalRead); - samplesBuffer = shrinkedBuffer; - closeDataStream(); - } - } catch (IOException ioe) { - throw new DataProcessingException("Error reading data", ioe); - } - // turn it into an Data object - double[] doubleData; - if (bigEndian) { - doubleData = DataUtil.bytesToValues(samplesBuffer, 0, totalRead, bytesPerValue, signedData); - } else { - doubleData = DataUtil.littleEndianBytesToValues(samplesBuffer, 0, totalRead, bytesPerValue, signedData); - } - - return new DoubleData(doubleData, sampleRate, firstSample); - } - - - private void closeDataStream() throws IOException { - streamEndReached = true; - if (dataStream != null) { - dataStream.close(); - } - } - - - /** - * Returns the duration of the current data stream in milliseconds. - * - * @return the duration of the current data stream in milliseconds - */ - private long getDuration() { - return (long) (((double) totalValuesRead / (double) sampleRate) * 1000.0); - } - - - public int getSampleRate() { - return sampleRate; - } - - - public boolean isBigEndian() { - return bigEndian; - } - - - /** Adds a new listener for new file events. - * @param l listener to add - */ - public void addNewFileListener(AudioFileProcessListener l) { - if (l == null) - return; - - fileListeners.add(l); - } - - - /** Removes a listener for new file events. - * @param l listener to remove - */ - public void removeNewFileListener(AudioFileProcessListener l) { - if (l == null) - return; - - fileListeners.remove(l); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileProcessListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileProcessListener.java deleted file mode 100755 index 7d77df7b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/AudioFileProcessListener.java +++ /dev/null @@ -1,30 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.util.props.Configurable; - -import java.io.File; - -/** - * An interface which is describes the functionality which is required to handle new file signals fired by the - * audio-data sources. - * - * @author Holger Brandl - */ - -public interface AudioFileProcessListener extends Configurable { - - /** - * This method is invoked whenever a new file is started to become processed by an audio file data source. - * - * @param audioFile The name of the new audio file. - */ - public void audioFileProcStarted(File audioFile); - - - /** - * This method is invoked whenever a file processing has finished within a audio file data source. - * - * @param audioFile The name of the processed audio file. - */ - public void audioFileProcFinished(File audioFile); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatAudioFileDataSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatAudioFileDataSource.java deleted file mode 100755 index 72f753b2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatAudioFileDataSource.java +++ /dev/null @@ -1,227 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.*; - -import javax.sound.sampled.*; - -import edu.cmu.sphinx.util.ReferenceSource; - - -/** - * Concatenates a list of audio files as one continuous audio stream. - *

- * A {@link edu.cmu.sphinx.frontend.DataStartSignal DataStartSignal} will be - * placed before the start of the first file, and a - * {@link edu.cmu.sphinx.frontend.DataEndSignal DataEndSignal} after the last - * file. No DataStartSignal or DataEndSignal will be placed between them. - * - * @author Holger Brandl - */ -public class ConcatAudioFileDataSource extends AudioFileDataSource implements - ReferenceSource { - - private URL nextFile; - private List referenceList; - private boolean isInitialized; - - List batchFiles; - - public ConcatAudioFileDataSource(int bytesPerRead, - List listeners) { - super(bytesPerRead, listeners); - } - - public ConcatAudioFileDataSource() { - - } - - /** Initializes a ConcatFileDataSource. */ - @Override - public void initialize() { - super.initialize(); - - if (batchFiles == null) - return; - - try { - referenceList = new ArrayList(); - dataStream = new SequenceInputStream(new InputStreamEnumeration(batchFiles)); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void setBatchFile(File file) { - setBatchUrls(readDriver(file.getAbsolutePath())); - } - - public void setBatchFiles(List files) { - List urls = new ArrayList(); - - try { - for (File file : files) - urls.add(file.toURI().toURL()); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - - setBatchUrls(urls); - } - - public void setBatchUrls(List urls) { - batchFiles = new ArrayList(urls); - initialize(); - } - - /** - * Reads and verifies a driver file. - * - * @param fileName - */ - private static List readDriver(String fileName) { - File inputFile = new File(fileName); - List driverFiles = null; - - try { - BufferedReader bf = new BufferedReader(new FileReader(inputFile)); - driverFiles = new ArrayList(); - - String line; - while ((line = bf.readLine()) != null && line.trim().length() != 0) { - File file = new File(line); - driverFiles.add(file.toURI().toURL()); - } - - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - - assert driverFiles != null; - return driverFiles; - } - - @Override - public void setAudioFile(URL audioFileURL, String streamName) { - throw new UnsupportedOperationException(); - } - - /** - * Returns a list of all reference text. Implements the getReferences() - * method of ReferenceSource. - * - * @return a list of all reference text - */ - public List getReferences() { - return referenceList; - } - - /** - * The work of the concatenating of the audio files are done here. The idea - * here is to turn the list of audio files into an Enumeration, and then - * fed it to a SequenceInputStream, giving the illusion that the audio - * files are concatenated, but only logically. - */ - class InputStreamEnumeration implements Enumeration { - - private URL lastFile; - final Iterator fileIt; - - InputStreamEnumeration(List files) throws IOException { - fileIt = new ArrayList(files).iterator(); - } - - /** - * Tests if this enumeration contains more elements. - * - * @return true if and only if this enumeration object contains at - * least one more element to provide; false otherwise. - */ - public boolean hasMoreElements() { - if (nextFile == null) { - nextFile = readNext(); - } - return (nextFile != null); - } - - /** - * Returns the next element of this enumeration if this enumeration - * object has at least one more element to provide. - * - * @return the next element of this enumeration. - */ - public AudioInputStream nextElement() { - AudioInputStream stream = null; - if (lastFile == null) { - nextFile = readNext(); - } - - if (nextFile != null) { - try { - AudioInputStream ais = AudioSystem - .getAudioInputStream(nextFile); - - // test whether all files in the stream have the same - // format - AudioFormat format = ais.getFormat(); - if (!isInitialized) { - isInitialized = true; - - bigEndian = format.isBigEndian(); - sampleRate = (int) format.getSampleRate(); - signedData = format.getEncoding() - .equals(AudioFormat.Encoding.PCM_SIGNED); - bytesPerValue = format.getSampleSizeInBits() / 8; - } - - if (format.getSampleRate() != sampleRate - || format.getChannels() != 1 - || format.isBigEndian() != bigEndian) { - throw new RuntimeException("format mismatch for subsequent files"); - } - - stream = ais; - logger.finer("Strating processing of '" - + lastFile.getFile() + '\''); - for (AudioFileProcessListener fl : fileListeners) - fl.audioFileProcStarted(new File(nextFile.getFile())); - - lastFile = nextFile; - nextFile = null; - } catch (IOException ioe) { - ioe.printStackTrace(); - throw new Error("Cannot convert " + nextFile - + " to a FileInputStream"); - } catch (UnsupportedAudioFileException e) { - e.printStackTrace(); - } - } - - return stream; - } - - /** - * Returns the name of next audio file - * - * @return the name of the appropriate audio file - */ - public URL readNext() { - if (lastFile != null) { - logger.finest("Finished processing of '" + lastFile.getFile() - + '\''); - for (AudioFileProcessListener fl : fileListeners) - fl.audioFileProcFinished(new File(lastFile.getFile())); - - lastFile = null; - } - - if (fileIt.hasNext()) - lastFile = fileIt.next(); - - return lastFile; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatFileDataSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatFileDataSource.java deleted file mode 100755 index c2d1113a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/ConcatFileDataSource.java +++ /dev/null @@ -1,432 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.util.BatchFile; -import edu.cmu.sphinx.util.ReferenceSource; -import edu.cmu.sphinx.util.props.*; - -import java.io.*; -import java.util.Enumeration; -import java.util.LinkedList; -import java.util.List; -import java.util.Random; - - -/** - * Concatenates a list raw headerless audio files as one continuous audio stream. A {@link - * edu.cmu.sphinx.frontend.DataStartSignal DataStartSignal} will be placed before the start of the first file, and a - * {@link edu.cmu.sphinx.frontend.DataEndSignal DataEndSignal} after the last file. No DataStartSignal or DataEndSignal - * will be placed between them. Optionally, silence can be added in-between the audio files by setting the property: - *

edu.cmu.sphinx.frontend.util.ConcatFileDataSource.silenceFile
- * to a audio file for silence. By default, no silence is added. Moreover, one can also specify how many files to skip - * for every file read. - *

- * You can also specify the name of a transcript file to write the transcription to. The transcription will be written - * in HUB-4 style. A sample HUB-4 transcript looks like: - *

- * bn99en_1 1 peter_jennings 0.806084 7.079850 <o,f4,male> Tonight this
- * Thursday big pressure on the Clinton administration to do something about
- * the latest killing in Yugoslavia
- * bn99en_1 1 peter_jennings 7.079850 14.007608 <o,fx,male> Airline passengers
- * and outrageous behavior at thirty thousand feet What can an airline do
- * ...
- * bn99en_1 1 inter_segment_gap 23.097000 28.647000 <o,fx,>
- * ...
- * 
- * The format of each line is: - *
- * test_set_name category speaker_name start_time_in_seconds
- * end_time_in_seconds <category,hub4_focus_conditions,speaker_sex> transcript
- * 
- * In our example above, - *
- * test_set_name is "bn99en_1"
- * category is "1"
- * speaker_name is "peter_jennings"
- * start_time_in_seconds is "0.806084"
- * end_time_in_seconds is "7.079850"
- * category is "o" for "Overall"
- * hub4_focus_conditions is:
- *     "f0" for "Baseline//Broadcast//Speech"
- *     "f1" for "Spontaneous//Broadcast//Speech"
- *     "f2" for "Speech Over//Telephone//Channels"
- *     "f3" for "Speech in the//Presence of//Background Music"
- *     "f4" for "Speech Under//Degraded//Acoustic Conditions"
- *     "f5" for "Speech from//Non-Native//Speakers"
- *     "fx" for "All other speech"
- * speaker_sex is "male"
- * transcript is "Tonight this Thursday big pressure on the Clinton
- * administration to do something about the latest killing in Yugoslavia
- * 
- * The ConcatFileDataSource will produce such a transcript if the name of the file to write to is supplied in the - * constructor. This transcript file will be used in detected gap insertion errors, because it accurately describes the - * "correct" sequence of speech and silences in the concatenated version of the audio files. - */ -public class ConcatFileDataSource extends StreamDataSource implements ReferenceSource { - - /** The property that specifies which file to start at. */ - @S4Integer(defaultValue = 1) - public static final String PROP_START_FILE = "startFile"; - - /** The property that specifies the number of files to skip for every file read. */ - @S4Integer(defaultValue = 0) - public static final String PROP_SKIP = "skip"; - - /** The property that specifies the total number of files to read. The default value should be no limit. */ - @S4Integer(defaultValue = -1) - public static final String PROP_TOTAL_FILES = "totalFiles"; - - /** - * The property that specifies the silence audio file, if any. If this property is null, then no silences are - * added in between files. - */ - @S4String - public static final String PROP_SILENCE_FILE = "silenceFile"; - - /** The property that specifies whether to add random silence. */ - @S4Boolean(defaultValue = false) - public static final String PROP_ADD_RANDOM_SILENCE = "addRandomSilence"; - - /** - * The property that specifies the maximum number of times the silence file is added between files. If - * PROP_ADD_RANDOM_SILENCE is set to true, the number of times the silence file is added is between 1 and this - * value. If PROP_ADD_RANDOM_SILENCE is set to false, this value will be the number of times the silence file is - * added. So if PROP_MAX_SILENCE is set to 3, then the silence file will be added three times between files. - */ - @S4Integer(defaultValue = 3) - public static final String PROP_MAX_SILENCE = "maxSilence"; - - /** - * The property that specifies the name of the transcript file. If this property is set, a transcript file - * will be created. No transcript file will be created if this property is not set. - */ - @S4String - public static final String PROP_TRANSCRIPT_FILE = "transcriptFile"; - - /** The property for the file containing a list of audio files to read from. */ - @S4String - public static final String PROP_BATCH_FILE = "batchFile"; - - - private static final String GAP_LABEL = "inter_segment_gap"; - private boolean addRandomSilence; - private int skip; - private int maxSilence; - private int silenceCount; - private int bytesPerSecond; - private long totalBytes; - private long silenceFileLength; - private String silenceFileName; - private String nextFile; - private String context; - private String transcriptFile; - private List referenceList; - private FileWriter transcript; - private int startFile; - private int totalFiles; - private String batchFile; - - public ConcatFileDataSource( int sampleRate, int bytesPerRead, int bitsPerSample, boolean bigEndian, boolean signedData, - boolean addRandomSilence, - int maxSilence, - int skip, - String silenceFileName, - int startFile, - int totalFiles, - String transcriptFile, - String batchFile) { - super(sampleRate,bytesPerRead,bitsPerSample,bigEndian,signedData ); - - this.bytesPerSecond = sampleRate * (bitsPerSample / 8); - this.addRandomSilence = addRandomSilence; - this.maxSilence = maxSilence; - this.skip = skip; - this.silenceFileName = silenceFileName; - this.startFile = startFile; - this.totalFiles = totalFiles; - this.transcriptFile = transcriptFile; - this.batchFile = batchFile; - } - - public ConcatFileDataSource() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - bytesPerSecond = sampleRate * (bitsPerSample / 8); - addRandomSilence = ps.getBoolean(PROP_ADD_RANDOM_SILENCE); - maxSilence = ps.getInt(PROP_MAX_SILENCE); - skip = ps.getInt(PROP_SKIP); - silenceFileName = ps.getString(PROP_SILENCE_FILE); - startFile = ps.getInt(PROP_START_FILE); - totalFiles = ps.getInt(PROP_TOTAL_FILES); - transcriptFile = ps.getString(PROP_TRANSCRIPT_FILE); - batchFile = ps.getString(PROP_BATCH_FILE); - } - - - /** Initializes a ConcatFileDataSource. */ - @Override - public void initialize() { - super.initialize(); - - try { - File silenceFile = new File(silenceFileName); - silenceFileLength = silenceFile.length(); - - if (transcriptFile != null) { - transcript = new FileWriter(transcriptFile); - } - if (batchFile == null) { - throw new Error("BatchFile cannot be null!"); - } - setInputStream - (new SequenceInputStream - (new InputStreamEnumeration - (batchFile, startFile, totalFiles))); - referenceList = new LinkedList(); - } catch (IOException e) { - e.printStackTrace(); //TODO fix this - } - } - - - /** - * Returns a list of all reference text. Implements the getReferences() method of ReferenceSource. - * - * @return a list of all reference text - */ - public List getReferences() { - return referenceList; - } - - - /** - * Returns the name of the transcript file. - * - * @return the name of the transcript file - */ - public String getTranscriptFile() { - return transcriptFile; - } - - - /** - * Returns the audio time in seconds represented by the given number of bytes. - * - * @param bytes the number of bytes - * @return the audio time - */ - private float getSeconds(long bytes) { - return ((float) bytes / bytesPerSecond); - } - - - /** - * The work of the concatenating of the audio files are done here. The idea here is to turn the list of audio files - * into an Enumeration, and then fed it to a SequenceInputStream, giving the illusion that the audio files are - * concatenated, but only logically. - */ - class InputStreamEnumeration implements Enumeration { - - private final int totalFiles; - private boolean inSilence; - private Random silenceRandom; - private BufferedReader reader; - - - InputStreamEnumeration(String batchFile, int startFile, - int totalFiles) - throws IOException { - this.totalFiles = totalFiles; - reader = new BufferedReader(new FileReader(batchFile)); - if (silenceFileName != null) { - inSilence = true; - silenceRandom = new Random(System.currentTimeMillis()); - silenceCount = getSilenceCount(); - } - // go to the start file - for (int i = 1; i < startFile; i++) { - reader.readLine(); - } - } - - - /** - * Tests if this enumeration contains more elements. - * - * @return true if and only if this enumeration object contains at least one more element to provide; false - * otherwise. - */ - public boolean hasMoreElements() { - if (nextFile == null) { - nextFile = readNext(); - } - return (nextFile != null); - } - - - /** - * Returns the next element of this enumeration if this enumeration object has at least one more element to - * provide. - * - * @return the next element of this enumeration. - */ - public InputStream nextElement() { - InputStream stream = null; - if (nextFile == null) { - nextFile = readNext(); - } - if (nextFile != null) { - try { - stream = new FileInputStream(nextFile); - // System.out.println(nextFile); - nextFile = null; - } catch (IOException ioe) { - ioe.printStackTrace(); - throw new Error("Cannot convert " + nextFile + - " to a FileInputStream"); - } - } - - // close the transcript file no more files - if (stream == null && transcript != null) { - try { - transcript.close(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - return stream; - } - - - /** - * Returns the name of next audio file, taking into account file skipping and the adding of silence. - * - * @return the name of the appropriate audio file - */ - public String readNext() { - if (!inSilence) { - return readNextDataFile(); - } else { - // return the silence file - String next = null; - if (silenceCount > 0) { - next = silenceFileName; - if (transcript != null) { - writeSilenceToTranscript(); - } - silenceCount--; - if (silenceCount <= 0) { - inSilence = false; - } - } - return next; - } - } - - - /** - * Returns the next audio file. - * - * @return the name of the next audio file - */ - private String readNextDataFile() { - try { - if (0 <= totalFiles && - totalFiles <= referenceList.size()) { - return null; - } - String next = reader.readLine(); - if (next != null) { - String reference = BatchFile.getReference(next); - referenceList.add(reference); - next = BatchFile.getFilename(next); - for (int i = 1; i < skip; i++) { - reader.readLine(); - } - if (silenceFileName != null && maxSilence > 0) { - silenceCount = getSilenceCount(); - inSilence = true; - } - if (transcript != null) { - writeTranscript(next, reference); - } - } - return next; - } catch (IOException ioe) { - ioe.printStackTrace(); - throw new Error("Problem reading from batch file"); - } - } - - - /** - * Writes the transcript file. - * - * @param fileName the name of the decoded file - * @param reference the reference text - */ - private void writeTranscript(String fileName, String reference) { - try { - File file = new File(fileName); - float start = getSeconds(totalBytes); - totalBytes += file.length(); - float end = getSeconds(totalBytes); - transcript.write(context + " 1 " + fileName + ' ' + start + - ' ' + end + " " + reference + '\n'); - transcript.flush(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - - - /** Writes silence to the transcript file. */ - private void writeSilenceToTranscript() { - try { - float start = getSeconds(totalBytes); - totalBytes += silenceFileLength; - float end = getSeconds(totalBytes); - transcript.write(context + " 1 " + GAP_LABEL + ' ' + - start + ' ' + end + " \n"); - transcript.flush(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - - - /** - * Returns how many times the silence file should be added between utterances. - * - * @return the number of times the silence file should be added between utterances - */ - private int getSilenceCount() { - if (addRandomSilence) { - return silenceRandom.nextInt(maxSilence) + 1; - } else { - return maxSilence; - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataConverter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataConverter.java deleted file mode 100755 index 1d716df5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataConverter.java +++ /dev/null @@ -1,63 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.MatrixUtils; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4String; - -/** - * A simple converter which converts DoubleData to FloatData and vv (depending on its - * configuration). All remaining Datas will pass this processor unchanged. - * - * @author Holger Brandl - */ - -public class DataConverter extends BaseDataProcessor { - - public static final String CONVERT_D2F = "d2f"; - public static final String CONVERT_F2D = "f2d"; - - @S4String(defaultValue = "d2f", range = {CONVERT_D2F, CONVERT_F2D}) - public static final String PROP_CONVERSION_MODE = "conversionMode"; - private String convMode; - - public DataConverter(String convMode) throws PropertyException { - initLogger(); - this.convMode = convMode; - } - - public DataConverter() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - convMode = ps.getString(PROP_CONVERSION_MODE); - } - - - @Override - public Data getData() throws DataProcessingException { - Data d = getPredecessor().getData(); - - if (d instanceof DoubleData && convMode.equals(CONVERT_D2F)) { - DoubleData dd = (DoubleData) d; - d = new FloatData(MatrixUtils.double2float(dd.getValues()), dd.getSampleRate(), - dd.getFirstSampleNumber()); - } else if (d instanceof FloatData && convMode.equals(CONVERT_F2D)) { - FloatData fd = (FloatData) d; - d = new DoubleData(MatrixUtils.float2double(fd.getValues()), fd.getSampleRate(), - fd.getFirstSampleNumber()); - } - - return d; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataDumper.java deleted file mode 100755 index c1c211ed..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataDumper.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechClassifiedData; -import edu.cmu.sphinx.util.props.*; - -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; -import java.util.Locale; - -/** Dumps the data */ -public class DataDumper extends BaseDataProcessor { - - /** The property that specifies the format of the output. */ - @S4String(defaultValue = "0.00000E00;-0.00000E00") - public final static String PROP_OUTPUT_FORMAT = "outputFormat"; - - /** The property that enables the output of signals. */ - @S4Boolean(defaultValue = true) - public final static String PROP_OUTPUT_SIGNALS = "outputSignals"; - - // -------------------------- - // Configuration data - // -------------------------- - private boolean outputSignals; - private DecimalFormat formatter; - - public DataDumper(String format, boolean outputSignals) { - initLogger(); - this.formatter = new DecimalFormat(format, new DecimalFormatSymbols(Locale.US)); - this.outputSignals = outputSignals; - } - - public DataDumper() { - - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - logger = ps.getLogger(); - - String format = ps.getString(PROP_OUTPUT_FORMAT); - formatter = new DecimalFormat(format, new DecimalFormatSymbols(Locale.US)); - outputSignals = ps.getBoolean(PROP_OUTPUT_SIGNALS); - } - - /** Constructs a DataDumper */ - @Override - public void initialize() { - super.initialize(); - } - - /** - * Reads and returns the next Data object from this DataProcessor, return - * null if there is no more audio data. - * - * @return the next Data or null if none is available - * @throws DataProcessingException - * if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); - dumpData(input); - - return input; - } - - /** - * Dumps the given input data - * - * @param input - * the data to dump - */ - private void dumpData(Data input) { - - if (input == null) { - System.out.println("Data: null"); - } else if (input instanceof Signal) { - if (outputSignals) { - System.out.println("Signal: " + input); - } - } else if (input instanceof DoubleData) { - DoubleData dd = (DoubleData) input; - double[] values = dd.getValues(); - System.out.print("Frame " + values.length); - for (double val : values) { - System.out.print(' ' + formatter.format(val)); - } - System.out.println(); - } else if (input instanceof SpeechClassifiedData) { - SpeechClassifiedData dd = (SpeechClassifiedData) input; - double[] values = dd.getValues(); - System.out.print("Frame "); - if (dd.isSpeech()) - System.out.print('*'); - else - System.out.print(' '); - System.out.print(" " + values.length); - for (double val : values) { - System.out.print(' ' + formatter.format(val)); - } - System.out.println(); - } else if (input instanceof FloatData) { - FloatData fd = (FloatData) input; - float[] values = fd.getValues(); - System.out.print("Frame " + values.length); - for (float val : values) { - System.out.print(' ' + formatter.format(val)); - } - System.out.println(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataUtil.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataUtil.java deleted file mode 100755 index 23374b42..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/DataUtil.java +++ /dev/null @@ -1,508 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.util.Utilities; - -import javax.sound.sampled.*; -import java.io.FileOutputStream; -import java.io.IOException; -import java.text.DecimalFormat; - - -/** Defines utility methods for manipulating data values. */ -public class DataUtil { - - private static final int HEXADECIMAL = 1; - private static final int SCIENTIFIC = 2; - private static final int DECIMAL = 3; - - - /** DecimalFormat object to be used by all the methods. */ - private static final DecimalFormat format = new DecimalFormat(); - - - private static final int decimalIntegerDigits = 10; - private static final int decimalFractionDigits = 5; - - private static final int floatScientificFractionDigits = 8; - private static final int doubleScientificFractionDigits = 8; - - - /** The number format to be used by *ArrayToString() methods. The default is scientific. */ - private static int dumpFormat = SCIENTIFIC; - - /** - * Static initialization of dumpFormat - */ - static { - String formatProperty = System.getProperty("frontend.util.dumpformat", - "SCIENTIFIC"); - if (formatProperty.compareToIgnoreCase("DECIMAL") == 0) { - dumpFormat = DECIMAL; - } else if (formatProperty.compareToIgnoreCase("HEXADECIMAL") == 0) { - dumpFormat = HEXADECIMAL; - } else if (formatProperty.compareToIgnoreCase("SCIENTIFIC") == 0) { - dumpFormat = SCIENTIFIC; - } - } - - - /** Uninstantiable class. */ - private DataUtil() { - } - - - /** - * Converts a byte array into a short array. Since a byte is 8-bits, and a short is 16-bits, the returned short - * array will be half in length than the byte array. If the length of the byte array is odd, the length of the short - * array will be (byteArray.length - 1)/2, i.e., the last byte is discarded. - * - * @param byteArray a byte array - * @param offset which byte to start from - * @param length how many bytes to convert - * @return a short array, or null if byteArray is of zero length - * @throws java.lang.ArrayIndexOutOfBoundsException if index goes out of bounds - * - */ - public static short[] byteToShortArray - (byte[] byteArray, int offset, int length) - throws ArrayIndexOutOfBoundsException { - - if (0 < length && (offset + length) <= byteArray.length) { - int shortLength = length / 2; - short[] shortArray = new short[shortLength]; - int temp; - for (int i = offset, j = 0; j < shortLength; - j++, temp = 0x00000000) { - temp = byteArray[i++] << 8; - temp |= 0x000000FF & byteArray[i++]; - shortArray[j] = (short) temp; - } - return shortArray; - } else { - throw new ArrayIndexOutOfBoundsException - ("offset: " + offset + ", length: " + length - + ", array length: " + byteArray.length); - } - } - - - /** - * Converts a big-endian byte array into an array of doubles. Each consecutive bytes in the byte array are converted - * into a double, and becomes the next element in the double array. The size of the returned array is - * (length/bytesPerValue). Currently, only 1 byte (8-bit) or 2 bytes (16-bit) samples are supported. - * - * @param byteArray a byte array - * @param offset which byte to start from - * @param length how many bytes to convert - * @param bytesPerValue the number of bytes per value - * @param signedData whether the data is signed - * @return a double array, or null if byteArray is of zero length - * @throws java.lang.ArrayIndexOutOfBoundsException if index goes out of bounds - * - */ - public static double[] bytesToValues(byte[] byteArray, - int offset, - int length, - int bytesPerValue, - boolean signedData) - throws ArrayIndexOutOfBoundsException { - - if (0 < length && (offset + length) <= byteArray.length) { - assert (length % bytesPerValue == 0); - double[] doubleArray = new double[length / bytesPerValue]; - - int i = offset; - - for (int j = 0; j < doubleArray.length; j++) { - int val = byteArray[i++]; - if (!signedData) { - val &= 0xff; // remove the sign extension - } - for (int c = 1; c < bytesPerValue; c++) { - int temp = byteArray[i++] & 0xff; - val = (val << 8) + temp; - } - - doubleArray[j] = val; - } - - return doubleArray; - } else { - throw new ArrayIndexOutOfBoundsException - ("offset: " + offset + ", length: " + length - + ", array length: " + byteArray.length); - } - } - - - /** - * Converts a little-endian byte array into an array of doubles. Each consecutive bytes of a float are converted - * into a double, and becomes the next element in the double array. The number of bytes in the double is specified - * as an argument. The size of the returned array is (data.length/bytesPerValue). - * - * @param data a byte array - * @param offset which byte to start from - * @param length how many bytes to convert - * @param bytesPerValue the number of bytes per value - * @param signedData whether the data is signed - * @return a double array, or null if byteArray is of zero length - * @throws java.lang.ArrayIndexOutOfBoundsException if index goes out of bounds - * - */ - public static double[] littleEndianBytesToValues(byte[] data, - int offset, - int length, - int bytesPerValue, - boolean signedData) - throws ArrayIndexOutOfBoundsException { - - if (0 < length && (offset + length) <= data.length) { - assert (length % bytesPerValue == 0); - double[] doubleArray = new double[length / bytesPerValue]; - - int i = offset + bytesPerValue - 1; - - for (int j = 0; j < doubleArray.length; j++) { - int val = data[i--]; - if (!signedData) { - val &= 0xff; // remove the sign extension - } - for (int c = 1; c < bytesPerValue; c++) { - int temp = data[i--] & 0xff; - val = (val << 8) + temp; - } - - // advance 'i' to the last byte of the next value - i += (bytesPerValue * 2); - - doubleArray[j] = val; - } - - return doubleArray; - - } else { - throw new ArrayIndexOutOfBoundsException - ("offset: " + offset + ", length: " + length - + ", array length: " + data.length); - } - } - - - /** - * Convert the two bytes starting at the given offset to a short. - * - * @param byteArray the byte array - * @param offset where to start - * @return a short - * @throws java.lang.ArrayIndexOutOfBoundsException if index goes out of bounds - * - */ - public static short bytesToShort(byte[] byteArray, int offset) - throws ArrayIndexOutOfBoundsException { - short result = (short) - ((byteArray[offset++] << 8) | - (0x000000FF & byteArray[offset])); - return result; - } - - - /** - * Returns the string representation of the given short array. The string will be in the form: - *
data.length data[0] data[1] ... data[data.length-1]
- * - * @param data the short array to convert - * @return a string representation of the short array - */ - public static String shortArrayToString(short[] data) { - StringBuilder dump = new StringBuilder().append(data.length); - for (short val : data) { - dump.append(' ').append(val); - } - return dump.toString(); - } - - - /** - * Returns the given double array as a string. The string will be in the form: - *
data.length data[0] data[1] ... data[data.length-1]
where - * data[i]. - *

- * The doubles can be written as decimal, hexadecimal, or scientific notation. In decimal notation, it is formatted - * by the method Util.formatDouble(data[i], 10, 5). Use the System property - * "frontend.util.dumpformat" to control the dump format (permitted values are "decimal", - * "hexadecimal", and "scientific". - * - * @param data the double array to dump - * @return a string representation of the double array - */ - public static String doubleArrayToString(double[] data) { - return doubleArrayToString(data, dumpFormat); - } - - - /** - * Returns the given double array as a string. The dump will be in the form: - *

data.length data[0] data[1] ... data[data.length-1]
where - * data[i] is formatted by the method Util.formatDouble(data[i], 10, 5). - * - * @param data the double array to dump - * @param format either HEXADECIMAL, SCIENTIFIC or DECIMAL - * @return a string representation of the double array - */ - private static String doubleArrayToString(double[] data, int format) { - StringBuilder dump = new StringBuilder().append(data.length); - - for (double val : data) { - if (format == DECIMAL) { - dump.append(' ').append(formatDouble - (val, decimalIntegerDigits, - decimalFractionDigits)); - } else if (format == HEXADECIMAL) { - long binary = Double.doubleToRawLongBits(val); - dump.append(" 0x").append(Long.toHexString(binary)); - } else if (format == SCIENTIFIC) { - dump.append(' ').append(Utilities.doubleToScientificString - (val, doubleScientificFractionDigits)); - } - } - return dump.toString(); - } - - - /** - * Returns the given float array as a string. The string is of the form: - *
data.length data[0] data[1] ... data[data.length-1]
- *

- * The floats can be written as decimal, hexadecimal, or scientific notation. In decimal notation, it is formatted - * by the method Util.formatDouble(data[i], 10, 5). Use the System property - * "frontend.util.dumpformat" to control the dump format (permitted values are "decimal", - * "hexadecimal", and "scientific". - * - * @param data the float array to dump - * @return a string of the given float array - */ - public static String floatArrayToString(float[] data) { - return floatArrayToString(data, dumpFormat); - } - - - /** - * Returns the given float array as a string. The string is of the form: - *

data.length data[0] data[1] ... data[data.length-1]
- * - * @param data the float array to dump - * @param format either DECIMAL, HEXADECIMAL or SCIENTIFIC - * @return a string of the given float array - */ - private static String floatArrayToString(float[] data, int format) { - StringBuilder dump = new StringBuilder().append(data.length); - - for (float val : data) { - if (format == DECIMAL) { - dump.append(' ').append(formatDouble - (val, - decimalIntegerDigits, decimalFractionDigits)); - } else if (format == HEXADECIMAL) { - int binary = Float.floatToRawIntBits(val); - dump.append(" 0x").append(Integer.toHexString(binary)); - } else if (format == SCIENTIFIC) { - dump.append(' ').append(Utilities.doubleToScientificString - (val, floatScientificFractionDigits)); - } - } - return dump.toString(); - } - - - /** - * Returns a formatted string of the given number, with the given numbers of digit space for the integer and - * fraction parts. If the integer part has less than integerDigits digits, spaces will be prepended to - * it. If the fraction part has less than fractionDigits, spaces will be appended to it. Therefore, - * formatDouble(12345.6789, 6, 6) will give - * the string
" 12345.6789  "
(one space before 1, two spaces - * after 9). - * - * @param number the number to format - * @param integerDigits the length of the integer part - * @param fractionDigits the length of the fraction part - * @return a formatted number - */ - public static String formatDouble(double number, int integerDigits, - int fractionDigits) { - StringBuilder formatter = new StringBuilder(2 + fractionDigits).append("0."); - for (int i = 0; i < fractionDigits; i++) { - formatter.append('0'); - } - - format.applyPattern(formatter.toString()); - String formatted = format.format(number); - - // pad preceding spaces before the number - int dotIndex = formatted.indexOf('.'); - if (dotIndex == -1) { - formatted += "."; - dotIndex = formatted.length() - 1; - } - StringBuilder result = new StringBuilder(); - for (int i = dotIndex; i < integerDigits; i++) { - result.append(' '); - } - result.append(formatted); - return result.toString(); - } - - - /** - * Returns the number of samples per window given the sample rate (in Hertz) and window size (in milliseconds). - * - * @param sampleRate the sample rate in Hertz (i.e., frequency per seconds) - * @param windowSizeInMs the window size in milliseconds - * @return the number of samples per window - */ - public static int getSamplesPerWindow(int sampleRate, - float windowSizeInMs) { - return (int) (sampleRate * windowSizeInMs / 1000); - } - - - /** - * Returns the number of samples in a window shift given the sample rate (in Hertz) and the window shift (in - * milliseconds). - * - * @param sampleRate the sample rate in Hertz (i.e., frequency per seconds) - * @param windowShiftInMs the window shift in milliseconds - * @return the number of samples in a window shift - */ - public static int getSamplesPerShift(int sampleRate, - float windowShiftInMs) { - return (int) (sampleRate * windowShiftInMs / 1000); - } - - - /** - * Saves the given bytes to the given binary file. - * - * @param data the bytes to save - * @param filename the binary file name - * @throws IOException if an I/O error occurs - */ - public static void bytesToFile(byte[] data, String filename) - throws IOException { - FileOutputStream file = new FileOutputStream(filename); - file.write(data); - file.close(); - } - - - /** - * Returns a native audio format that has the same encoding, endianness and sample size as the given format, and a - * sample rate that is larger than the given sample rate. - * - * @param format format for the data - * @return a suitable native audio format - */ - public static AudioFormat getNativeAudioFormat(AudioFormat format) { - return getNativeAudioFormat(format, null); - } - - - /** - * Returns a native audio format that has the same encoding, endianness and sample size as the given format, and a - * sample rate that is greater than or equal to the given sample rate. - * - * @param format the desired format - * @param mixer if non-null, use this Mixer; otherwise use AudioSystem - * @return a suitable native audio format - */ - public static AudioFormat getNativeAudioFormat(AudioFormat format, - Mixer mixer) { - Line.Info[] lineInfos; - - if (mixer != null) { - lineInfos = mixer.getTargetLineInfo - (new Line.Info(TargetDataLine.class)); - } else { - lineInfos = AudioSystem.getTargetLineInfo - (new Line.Info(TargetDataLine.class)); - } - - AudioFormat nativeFormat = null; - - // find a usable target line - for (Line.Info info : lineInfos) { - - AudioFormat[] formats = ((TargetDataLine.Info)info).getFormats(); - - for (AudioFormat thisFormat : formats) { - - // for now, just accept downsampling, not checking frame - // size/rate (encoding assumed to be PCM) - - if (thisFormat.getEncoding() == format.getEncoding() - && thisFormat.isBigEndian() == format.isBigEndian() - && thisFormat.getSampleSizeInBits() == - format.getSampleSizeInBits() - && thisFormat.getSampleRate() >= format.getSampleRate()) { - nativeFormat = thisFormat; - break; - } - } - if (nativeFormat != null) { - //no need to look through remaining lineinfos - break; - } - } - return nativeFormat; - } - - - /** - * Converts DoubleData object to FloatDatas. - * @param data data to convert - * @return converted data - */ - public static DoubleData FloatData2DoubleData(FloatData data) { - int numSamples = data.getValues().length; - - double[] doubleData = new double[numSamples]; - float[] values = data.getValues(); - for (int i = 0; i < values.length; i++) { - doubleData[i] = values[i]; - } - - return new DoubleData(doubleData, data.getSampleRate(), data.getFirstSampleNumber()); - } - - - /** - * Converts FloatData object to DoubleData. - * @param data data to convert - * @return converted data - */ - public static FloatData DoubleData2FloatData(DoubleData data) { - int numSamples = data.getValues().length; - - float[] floatData = new float[numSamples]; - double[] values = data.getValues(); - for (int i = 0; i < values.length; i++) { - floatData[i] = (float) values[i]; - } - - return new FloatData(floatData, data.getSampleRate(), data.getFirstSampleNumber()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/EnergyPlotter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/EnergyPlotter.java deleted file mode 100755 index 22056ec2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/EnergyPlotter.java +++ /dev/null @@ -1,130 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - - -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.util.Arrays; - - -/** - * Plots positive energy values of a cepstrum to stdout. The energy value is assumed to be the first element of the - * double array returned by Data.getValues(). For negative energy value, a "-" will be printed out. The - * plots look like the following, one line per cepstrum. The energy value for that particular cepstrum is printed at the - * end of the line. - *

- *
+......7
+......7
Cepstrum: SPEECH_START
+......7
+.......8
+......7
+.......8 - *
+.......8
+........9
+............14
+...........13
+...........13
+...........13 - *
+.............15
+.............15
+..............16
+..............16
+..............16 - *
+.............15
+............14
+............14
+............14
+............14 - *
+.............15
+..............16
+...............17
+...............17
+...............17 - *
+...............17
+...............17
+...............17
+..............16
+.............15 - *
+............14
+............14
+............14
+...........13
+........9
+.......8 - *
+......7
+......7
+......7
Cepstrum: SPEECH_END
+......7
- */ -public class EnergyPlotter implements Configurable { - - /** The maximum level of energy for which a plot string will be preconstructed. */ - @S4Integer(defaultValue = 20) - public static final String PROP_MAX_ENERGY = "maxEnergy"; - - private int maxEnergy; - private String[] plots; - - public EnergyPlotter(int maxEnergy) { - this.maxEnergy = maxEnergy; - buildPlots(maxEnergy); - } - - public EnergyPlotter() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - maxEnergy = ps.getInt(PROP_MAX_ENERGY); - buildPlots(maxEnergy); - } - - /** - * Builds the strings for the plots. - * - * @param maxEnergy the maximum energy value - */ - private void buildPlots(int maxEnergy) { - plots = new String[maxEnergy + 1]; - for (int i = 0; i < maxEnergy + 1; i++) { - plots[i] = getPlotString(i); - } - } - - - /** - * Returns the plot string for the given energy. - * - * @param energy the energy level - */ - private String getPlotString(int energy) { - char[] plot = new char[energy]; - Arrays.fill(plot, '.'); - if (energy > 0) { - if (energy < 10) { - plot[plot.length - 1] = (char) ('0' + energy); - } else { - plot[plot.length - 2] = '1'; - plot[plot.length - 1] = (char) ('0' + (energy - 10)); - } - } - return ('+' + new String(plot)); - } - - - /** - * Plots the energy values of the given Data to System.out. If the Data contains a signal, it prints the signal. - * - * @param cepstrum the Data to plot - */ - public void plot(Data cepstrum) { - if (cepstrum != null) { - if (cepstrum instanceof DoubleData) { - int energy = (int) ((DoubleData) cepstrum).getValues()[0]; - System.out.println(getPlot(energy)); - } else { - System.out.println(cepstrum); - } - } - } - - - /** - * Returns the corresponding plot String for the given energy value. The energy value should be positive or zero. If - * its negative, It will output the string "-". - * - * @param energy - * @return energy the energy value - */ - private String getPlot(int energy) { - if (energy < 0) { - return "-"; - } else if (energy <= maxEnergy) { - return plots[energy]; - } else { - return getPlotString(energy); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/FrontEndUtils.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/FrontEndUtils.java deleted file mode 100755 index 6db02726..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/FrontEndUtils.java +++ /dev/null @@ -1,36 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.DataProcessor; -import edu.cmu.sphinx.frontend.FrontEnd; - -/** - * Some little helper methods to ease the handling of frontend-processor chains. - * - * @author Holger Brandl - */ -public class FrontEndUtils { - - - /** Returns a the next DataProcessor of type predecClass which precedes dp - * - * @param dp data processor - * @param predecessor class type - * @param predecClass predecessor class - * - * @return frontend processor - **/ - public static T getFrontEndProcessor(DataProcessor dp, Class predecClass) { - while (!predecClass.isInstance(dp)) { - if (dp instanceof FrontEnd) - dp = ((FrontEnd) dp).getLastDataProcessor(); - else - dp = dp.getPredecessor(); - - if (dp == null) - return null; - } - - - return predecClass.cast(dp); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Microphone.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Microphone.java deleted file mode 100755 index af0abea1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Microphone.java +++ /dev/null @@ -1,744 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.props.*; - -import javax.sound.sampled.*; -import java.io.IOException; -import java.util.Arrays; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.logging.Level; - - -/** - *

A Microphone captures audio data from the system's underlying audio input systems. Converts these audio data - * into Data objects. When the method startRecording() is called, a new thread will be created and used to - * capture audio, and will stop when stopRecording() is called. Calling getData() returns the - * captured audio data as Data objects.

This Microphone will attempt to obtain an audio device with the format - * specified in the configuration. If such a device with that format cannot be obtained, it will try to obtain a device - * with an audio format that has a higher sample rate than the configured sample rate, while the other parameters of the - * format (i.e., sample size, endianness, sign, and channel) remain the same. If, again, no such device can be obtained, - * it flags an error, and a call startRecording returns false.

- */ -public class Microphone extends BaseDataProcessor { - - /** - * The property for the sample rate of the data. - */ - @S4Integer(defaultValue = 16000) - public static final String PROP_SAMPLE_RATE = "sampleRate"; - - /** - * The property that specifies whether or not the microphone will release the audio between utterances. On - * certain systems (Linux for one), closing and reopening the audio does not work too well. The default is false for - * Linux systems, true for others. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_CLOSE_BETWEEN_UTTERANCES = "closeBetweenUtterances"; - - /** - * The property that specifies the number of milliseconds of audio data to read each time from the underlying - * Java Sound audio device. - */ - @S4Integer(defaultValue = 10) - public final static String PROP_MSEC_PER_READ = "msecPerRead"; - - /** - * The property for the number of bits per value. - */ - @S4Integer(defaultValue = 16) - public static final String PROP_BITS_PER_SAMPLE = "bitsPerSample"; - - /** - * The property specifying the number of channels. - */ - @S4Integer(defaultValue = 1) - public static final String PROP_CHANNELS = "channels"; - - /** - * The property specify the endianness of the data. - */ - @S4Boolean(defaultValue = true) - public static final String PROP_BIG_ENDIAN = "bigEndian"; - - /** - * The property specify whether the data is signed. - */ - @S4Boolean(defaultValue = true) - public static final String PROP_SIGNED = "signed"; - - /** - * The property that specifies whether to keep the audio data of an utterance around until the next utterance - * is recorded. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_KEEP_LAST_AUDIO = "keepLastAudio"; - - /** - * The property that specifies how to convert stereo audio to mono. Currently, the possible values are - * "average", which averages the samples from at each channel, or "selectChannel", which chooses audio only from - * that channel. If you choose "selectChannel", you should also specify which channel to use with the - * "selectChannel" property. - */ - @S4String(defaultValue = "average", range = {"average", "selectChannel"}) - public final static String PROP_STEREO_TO_MONO = "stereoToMono"; - - /** - * The property that specifies the channel to use if the audio is stereo - */ - @S4Integer(defaultValue = 0) - public final static String PROP_SELECT_CHANNEL = "selectChannel"; - - /** - * The property that specifies the mixer to use. The value can be "default," (which means let the - * AudioSystem decide), "last," (which means select the last Mixer supported by the AudioSystem), which appears to - * be what is often used for USB headsets, or an integer value which represents the index of the Mixer.Info that is - * returned by AudioSystem.getMixerInfo(). To get the list of Mixer.Info objects, run the AudioTool application with - * a command line argument of "-dumpMixers". - * - * @see edu.cmu.sphinx.tools.audio.AudioTool - */ - @S4String(defaultValue = "default") - public final static String PROP_SELECT_MIXER = "selectMixer"; - - - /** - * The property that specifies the size of the buffer used to store - * audio samples recorded from the microphone. Default value - * correspond to 200ms. Smaller value decrease microphone latency with - * danger of dropping out the frames if decoding thread will - * be slow enough to process the result. - */ - @S4Integer(defaultValue = 6400) - public final static String PROP_BUFFER_SIZE = "bufferSize"; - - - private AudioFormat finalFormat; - private AudioInputStream audioStream; - private TargetDataLine audioLine; - private BlockingQueue audioList; - private Utterance currentUtterance; - private boolean doConversion; - private volatile boolean recording; - private volatile boolean utteranceEndReached = true; - private RecordingThread recorder; - - // Configuration data - - private AudioFormat desiredFormat; - private boolean closeBetweenUtterances; - private boolean keepDataReference; - private boolean signed; - private boolean bigEndian; - private int frameSizeInBytes; - private int msecPerRead; - private int selectedChannel; - private String selectedMixerIndex; - private String stereoToMono; - private int sampleRate; - private int audioBufferSize; - - /** - * @param sampleRate sample rate of the data - * @param bitsPerSample number of bits per value. - * @param channels number of channels. - * @param bigEndian the endianness of the data - * @param signed whether the data is signed. - * @param closeBetweenUtterances whether or not the microphone will release the audio between utterances. On - * certain systems (Linux for one), closing and reopening the audio does not work too well. The default is false for - * Linux systems, true for others - * @param msecPerRead the number of milliseconds of audio data to read each time from the underlying - * Java Sound audio device. - * @param keepLastAudio whether to keep the audio data of an utterance around until the next utterance - * is recorded. - * @param stereoToMono how to convert stereo audio to mono. Currently, the possible values are - * "average", which averages the samples from at each channel, or "selectChannel", which chooses audio only from - * that channel. If you choose "selectChannel", you should also specify which channel to use with the - * "selectChannel" property. - * @param selectedChannel the channel to use if the audio is stereo - * @param selectedMixerIndex the mixer to use. The value can be "default," (which means let the - * AudioSystem decide), "last," (which means select the last Mixer supported by the AudioSystem), which appears to - * be what is often used for USB headsets, or an integer value which represents the index of the Mixer.Info that is - * returned by AudioSystem.getMixerInfo(). To get the list of Mixer.Info objects, run the AudioTool application with - * a command line argument of "-dumpMixers". - * @param audioBufferSize buffer size - */ - public Microphone(int sampleRate, int bitsPerSample, int channels, - boolean bigEndian, boolean signed, boolean closeBetweenUtterances, int msecPerRead, boolean keepLastAudio, - String stereoToMono, int selectedChannel, String selectedMixerIndex, int audioBufferSize) { - initLogger(); - - this.sampleRate = sampleRate; - this.bigEndian = bigEndian; - this.signed = signed; - - this.desiredFormat = new AudioFormat - (sampleRate, bitsPerSample, channels, signed, bigEndian); - - this.closeBetweenUtterances = closeBetweenUtterances; - this.msecPerRead = msecPerRead; - this.keepDataReference = keepLastAudio; - this.stereoToMono = stereoToMono; - this.selectedChannel = selectedChannel; - this.selectedMixerIndex = selectedMixerIndex; - this.audioBufferSize = audioBufferSize; - } - - public Microphone() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - logger = ps.getLogger(); - - sampleRate = ps.getInt(PROP_SAMPLE_RATE); - - int sampleSizeInBits = ps.getInt(PROP_BITS_PER_SAMPLE); - - int channels = ps.getInt(PROP_CHANNELS); - bigEndian = ps.getBoolean(PROP_BIG_ENDIAN); - signed = ps.getBoolean(PROP_SIGNED); - - desiredFormat = new AudioFormat - (sampleRate, sampleSizeInBits, channels, signed, bigEndian); - - closeBetweenUtterances = ps.getBoolean(PROP_CLOSE_BETWEEN_UTTERANCES); - msecPerRead = ps.getInt(PROP_MSEC_PER_READ); - keepDataReference = ps.getBoolean(PROP_KEEP_LAST_AUDIO); - stereoToMono = ps.getString(PROP_STEREO_TO_MONO); - selectedChannel = ps.getInt(PROP_SELECT_CHANNEL); - selectedMixerIndex = ps.getString(PROP_SELECT_MIXER); - audioBufferSize = ps.getInt(PROP_BUFFER_SIZE); - } - - - /** - * Constructs a Microphone with the given InputStream. - */ - @Override - public void initialize() { - super.initialize(); - audioList = new LinkedBlockingQueue(); - - DataLine.Info info - = new DataLine.Info(TargetDataLine.class, desiredFormat); - - /* If we cannot get an audio line that matches the desired - * characteristics, shoot for one that matches almost - * everything we want, but has a higher sample rate. - */ - if (!AudioSystem.isLineSupported(info)) { - logger.info(desiredFormat + " not supported"); - AudioFormat nativeFormat - = DataUtil.getNativeAudioFormat(desiredFormat, - getSelectedMixer()); - if (nativeFormat == null) { - logger.severe("couldn't find suitable target audio format"); - } else { - finalFormat = nativeFormat; - - /* convert from native to the desired format if supported */ - doConversion = AudioSystem.isConversionSupported - (desiredFormat, nativeFormat); - - if (doConversion) { - logger.info - ("Converting from " + finalFormat.getSampleRate() - + "Hz to " + desiredFormat.getSampleRate() + "Hz"); - } else { - logger.info - ("Using native format: Cannot convert from " + - finalFormat.getSampleRate() + "Hz to " + - desiredFormat.getSampleRate() + "Hz"); - } - } - } else { - logger.info("Desired format: " + desiredFormat + " supported."); - finalFormat = desiredFormat; - } - } - - - /** - * Gets the Mixer to use. Depends upon selectedMixerIndex being defined. - * - * @see #newProperties - */ - private Mixer getSelectedMixer() { - if (selectedMixerIndex.equals("default")) { - return null; - } else { - Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); - if (selectedMixerIndex.equals("last")) { - return AudioSystem.getMixer(mixerInfo[mixerInfo.length - 1]); - } else { - int index = Integer.parseInt(selectedMixerIndex); - return AudioSystem.getMixer(mixerInfo[index]); - } - } - } - - - /** - * Creates the audioLine if necessary and returns it. - */ - private TargetDataLine getAudioLine() { - if (audioLine != null) { - return audioLine; - } - - /* Obtain and open the line and stream. - */ - try { - /* The finalFormat was decided in the initialize() method - * and is based upon the capabilities of the underlying - * audio system. The final format will have all the - * desired audio characteristics, but may have a sample - * rate that is higher than desired. The idea here is - * that we'll let the processors in the front end (e.g., - * the FFT) handle some form of downsampling for us. - */ - logger.info("Final format: " + finalFormat); - - DataLine.Info info = new DataLine.Info(TargetDataLine.class, - finalFormat); - - /* We either get the audio from the AudioSystem (our - * default choice), or use a specific Mixer if the - * selectedMixerIndex property has been set. - */ - Mixer selectedMixer = getSelectedMixer(); - if (selectedMixer == null) { - audioLine = (TargetDataLine) AudioSystem.getLine(info); - } else { - audioLine = (TargetDataLine) selectedMixer.getLine(info); - } - - /* Add a line listener that just traces - * the line states. - */ - audioLine.addLineListener(new LineListener() { - public void update(LineEvent event) { - logger.info("line listener " + event); - } - }); - } catch (LineUnavailableException e) { - logger.severe("microphone unavailable " + e.getMessage()); - } - - return audioLine; - } - - - /** - * Opens the audio capturing device so that it will be ready for capturing audio. Attempts to create a converter if - * the requested audio format is not directly available. - * - * @return true if the audio capturing device is opened successfully; false otherwise - */ - private boolean open() { - TargetDataLine audioLine = getAudioLine(); - if (audioLine != null) { - if (!audioLine.isOpen()) { - logger.info("open"); - try { - audioLine.open(finalFormat, audioBufferSize); - } catch (LineUnavailableException e) { - logger.severe("Can't open microphone " + e.getMessage()); - return false; - } - - audioStream = new AudioInputStream(audioLine); - if (doConversion) { - audioStream = AudioSystem.getAudioInputStream - (desiredFormat, audioStream); - assert (audioStream != null); - } - - /* Set the frame size depending on the sample rate. - */ - float sec = msecPerRead / 1000.f; - frameSizeInBytes = - (audioStream.getFormat().getSampleSizeInBits() / 8) * - (int) (sec * audioStream.getFormat().getSampleRate()) * - desiredFormat.getChannels(); - - logger.info("Frame size: " + frameSizeInBytes + " bytes"); - } - return true; - } else { - logger.severe("Can't find microphone"); - return false; - } - } - - - /** - * Returns the format of the audio recorded by this Microphone. Note that this might be different from the - * configured format. - * - * @return the current AudioFormat - */ - public AudioFormat getAudioFormat() { - return finalFormat; - } - - - /** - * Returns the current Utterance. - * - * @return the current Utterance - */ - public Utterance getUtterance() { - return currentUtterance; - } - - - /** - * Returns true if this Microphone is recording. - * - * @return true if this Microphone is recording, false otherwise - */ - public boolean isRecording() { - return recording; - } - - - /** - * Starts recording audio. This method will return only when a START event is received, meaning that this Microphone - * has started capturing audio. - * - * @return true if the recording started successfully; false otherwise - */ - public synchronized boolean startRecording() { - if (recording) { - return false; - } - if (!open()) { - return false; - } - utteranceEndReached = false; - if (audioLine.isRunning()) { - logger.severe("Whoops: audio line is running"); - } - assert (recorder == null); - recorder = new RecordingThread("Microphone"); - recorder.start(); - recording = true; - return true; - } - - - /** - * Stops recording audio. This method does not return until recording has been stopped and all data has been read - * from the audio line. - */ - public synchronized void stopRecording() { - if (audioLine != null) { - if (recorder != null) { - recorder.stopRecording(); - recorder = null; - } - recording = false; - } - } - - - /** - * This Thread records audio, and caches them in an audio buffer. - */ - class RecordingThread extends Thread { - - private boolean done; - private volatile boolean started; - private long totalSamplesRead; - private final Object lock = new Object(); - - - /** - * Creates the thread with the given name - * - * @param name the name of the thread - */ - public RecordingThread(String name) { - super(name); - } - - - /** - * Starts the thread, and waits for recorder to be ready - */ - @Override - public void start() { - started = false; - super.start(); - waitForStart(); - } - - - /** - * Stops the thread. This method does not return until recording has actually stopped, and all the data has been - * read from the audio line. - */ - public void stopRecording() { - audioLine.stop(); - try { - synchronized (lock) { - while (!done) { - lock.wait(); - } - } - } catch (InterruptedException e) { - e.printStackTrace(); - } - - // flush can not be called here because the audio-line might has been set to null already by the mic-thread -// audioLine.flush(); - } - - - /** - * Implements the run() method of the Thread class. Records audio, and cache them in the audio buffer. - */ - @Override - public void run() { - totalSamplesRead = 0; - logger.info("started recording"); - - if (keepDataReference) { - currentUtterance = new Utterance - ("Microphone", audioStream.getFormat()); - } - - audioList.add(new DataStartSignal(sampleRate)); - logger.info("DataStartSignal added"); - try { - audioLine.start(); - while (!done) { - Data data = readData(currentUtterance); - if (data == null) { - done = true; - break; - } - audioList.add(data); - } - audioLine.flush(); - if (closeBetweenUtterances) { - /* Closing the audio stream *should* (we think) - * also close the audio line, but it doesn't - * appear to do this on the Mac. In addition, - * once the audio line is closed, re-opening it - * on the Mac causes some issues. The Java sound - * spec is also kind of ambiguous about whether a - * closed line can be re-opened. So...we'll go - * for the conservative route and never attempt - * to re-open a closed line. - */ - audioStream.close(); - audioLine.close(); - System.err.println("set to null"); - audioLine = null; - } - } catch (IOException ioe) { - logger.warning("IO Exception " + ioe.getMessage()); - ioe.printStackTrace(); - } - long duration = (long) - (((double) totalSamplesRead / - (double) audioStream.getFormat().getSampleRate()) * 1000.0); - - audioList.add(new DataEndSignal(duration)); - logger.info("DataEndSignal ended"); - logger.info("stopped recording"); - - synchronized (lock) { - lock.notify(); - } - } - - - /** - * Waits for the recorder to start - */ - private synchronized void waitForStart() { - // note that in theory we could use a LineEvent START - // to tell us when the microphone is ready, but we have - // found that some javasound implementations do not always - // issue this event when a line is opened, so this is a - // WORKAROUND. - - try { - while (!started) { - wait(); - } - } catch (InterruptedException ie) { - logger.warning("wait was interrupted"); - } - } - - - /** - * Reads one frame of audio data, and adds it to the given Utterance. - * - * @param utterance - * @return an Data object containing the audio data - * @throws java.io.IOException - */ - private Data readData(Utterance utterance) throws IOException { - - // Read the next chunk of data from the TargetDataLine. - byte[] data = new byte[frameSizeInBytes]; - - int channels = audioStream.getFormat().getChannels(); - long firstSampleNumber = totalSamplesRead / channels; - - int numBytesRead = audioStream.read(data, 0, data.length); - - // notify the waiters upon start - if (!started) { - synchronized (this) { - started = true; - notifyAll(); - } - } - - if (logger.isLoggable(Level.FINE)) { - logger.info("Read " + numBytesRead - + " bytes from audio stream."); - } - if (numBytesRead <= 0) { - return null; - } - int sampleSizeInBytes = - audioStream.getFormat().getSampleSizeInBits() / 8; - totalSamplesRead += (numBytesRead / sampleSizeInBytes); - - if (numBytesRead != frameSizeInBytes) { - - if (numBytesRead % sampleSizeInBytes != 0) { - throw new Error("Incomplete sample read."); - } - - data = Arrays.copyOf(data, numBytesRead); - } - - if (keepDataReference) { - utterance.add(data); - } - - double[] samples; - - if (bigEndian) { - samples = DataUtil.bytesToValues - (data, 0, data.length, sampleSizeInBytes, signed); - } else { - samples = DataUtil.littleEndianBytesToValues - (data, 0, data.length, sampleSizeInBytes, signed); - } - - if (channels > 1) { - samples = convertStereoToMono(samples, channels); - } - - return (new DoubleData - (samples, (int) audioStream.getFormat().getSampleRate(), - firstSampleNumber)); - } - } - - - /** - * Converts stereo audio to mono. - * - * @param samples the audio samples, each double in the array is one sample - * @param channels the number of channels in the stereo audio - */ - private double[] convertStereoToMono(double[] samples, int channels) { - assert (samples.length % channels == 0); - double[] finalSamples = new double[samples.length / channels]; - if (stereoToMono.equals("average")) { - for (int i = 0, j = 0; i < samples.length; j++) { - double sum = samples[i++]; - for (int c = 1; c < channels; c++) { - sum += samples[i++]; - } - finalSamples[j] = sum / channels; - } - } else if (stereoToMono.equals("selectChannel")) { - for (int i = selectedChannel, j = 0; i < samples.length; - i += channels, j++) { - finalSamples[j] = samples[i]; - } - } else { - throw new Error("Unsupported stereo to mono conversion: " + - stereoToMono); - } - return finalSamples; - } - - - /** - * Clears all cached audio data. - */ - public void clear() { - audioList.clear(); - } - - - /** - * Reads and returns the next Data object from this Microphone, return null if there is no more audio data. All - * audio data captured in-between startRecording() and stopRecording() is cached in an - * Utterance object. Calling this method basically returns the next chunk of audio data cached in this Utterance. - * - * @return the next Data or null if none is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - - Data output = null; - - if (!utteranceEndReached) { - try { - output = audioList.take(); - } catch (InterruptedException ie) { - throw new DataProcessingException("cannot take Data from audioList", ie); - } - if (output instanceof DataEndSignal) { - utteranceEndReached = true; - } - } - return output; - } - - - /** - * Returns true if there is more data in the Microphone. - * This happens either if the a DataEndSignal data was not taken from the buffer, - * or if the buffer in the Microphone is not yet empty. - * - * @return true if there is more data in the Microphone - */ - public boolean hasMoreData() { - return !(utteranceEndReached && audioList.isEmpty()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamCepstrumSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamCepstrumSource.java deleted file mode 100755 index a88ea15f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamCepstrumSource.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.BufferedInputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; - - -/** - * Produces Mel-cepstrum data from an InputStream. To set the inputstream with cepstral data, use the {@link - * #setInputStream(InputStream,boolean) setInputStream} method, and then call {@link #getData} to obtain the Data - * objects that have cepstra data in it. - */ -public class StreamCepstrumSource extends BaseDataProcessor { - - /** The property specifying whether the input is in binary. */ - @S4Boolean(defaultValue = true) - public final static String PROP_BINARY = "binary"; - - /** The property name for frame size in milliseconds. */ - @S4Double(defaultValue = 25.625) - public static final String PROP_FRAME_SIZE_MS = "frameSizeInMs"; - - /** The property name for frame shift in milliseconds, which has a default value of 10F. */ - @S4Double(defaultValue = 10.0) - public static final String PROP_FRAME_SHIFT_MS = "frameShiftInMs"; - - /** The property specifying the length of the cepstrum data. */ - @S4Integer(defaultValue = 13) - public static final String PROP_CEPSTRUM_LENGTH = "cepstrumLength"; - - /** The property specifying whether the input data is big-endian. */ - @S4Boolean(defaultValue = false) - public static final String PROP_BIG_ENDIAN_DATA = "bigEndianData"; - - /** The property that defines the sample rate */ - @S4Integer(defaultValue = 16000) - public static final String PROP_SAMPLE_RATE = "sampleRate"; - - private boolean binary; - private ExtendedStreamTokenizer est; // for ASCII files - private DataInputStream binaryStream; // for binary files - private int numPoints; - private int curPoint; - private int cepstrumLength; - private int frameShift; - private int frameSize; - private int sampleRate; - private long firstSampleNumber; - private boolean bigEndian; - - public StreamCepstrumSource( int cepstrumLength, boolean binary, float frameShiftMs, float frameSizeMs, int sampleRate ) { - initLogger(); - this.cepstrumLength = cepstrumLength; - this.binary = binary; - this.sampleRate = sampleRate; - this.frameShift = DataUtil.getSamplesPerWindow(sampleRate, frameShiftMs); - this.frameSize = DataUtil.getSamplesPerShift(sampleRate, frameSizeMs); - } - - public StreamCepstrumSource( ) { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - cepstrumLength = ps.getInt(PROP_CEPSTRUM_LENGTH); - binary = ps.getBoolean(PROP_BINARY); - bigEndian = ps.getBoolean(PROP_BIG_ENDIAN_DATA); - float frameShiftMs = ps.getFloat(PROP_FRAME_SHIFT_MS); - float frameSizeMs = ps.getFloat(PROP_FRAME_SIZE_MS); - sampleRate = ps.getInt(PROP_SAMPLE_RATE); - frameShift = DataUtil.getSamplesPerWindow(sampleRate, frameShiftMs); - frameSize = DataUtil.getSamplesPerShift(sampleRate, frameSizeMs); - } - - - /** Constructs a StreamCepstrumSource that reads MelCepstrum data from the given path. */ - @Override - public void initialize() { - super.initialize(); - curPoint = -1; - firstSampleNumber = 0; - bigEndian = false; - } - - - /** - * Sets the InputStream to read cepstral data from. - * - * @param is the InputStream to read cepstral data from - * @param bigEndian true if the InputStream data is in big-endian, false otherwise - * @throws IOException if an I/O error occurs - */ - public void setInputStream(InputStream is, boolean bigEndian) - throws IOException { - this.bigEndian = bigEndian; - if (binary) { - binaryStream = new DataInputStream(new BufferedInputStream(is)); - if (bigEndian) { - numPoints = binaryStream.readInt(); - System.out.println("BigEndian"); - } else { - numPoints = Utilities.readLittleEndianInt(binaryStream); - System.out.println("LittleEndian"); - } - System.out.println("Frames: " + numPoints / cepstrumLength); - } else { - est = new ExtendedStreamTokenizer(is, false); - numPoints = est.getInt("num_frames"); - est.expectString("frames"); - } - curPoint = -1; - firstSampleNumber = 0; - } - - - /** - * Returns the next Data object, which is the mel cepstrum of the input frame. However, it can also be other Data - * objects like DataStartSignal. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if a data processing error occurs - */ - @Override - public Data getData() throws DataProcessingException { - - Data data; - - if (curPoint == -1) { - data = new DataStartSignal(sampleRate); - curPoint++; - } else if (curPoint == numPoints) { - if (numPoints > 0) { - firstSampleNumber = - (firstSampleNumber - frameShift + frameSize - 1); - } - // send a DataEndSignal - int numberFrames = curPoint / cepstrumLength; - int totalSamples = (numberFrames - 1) * frameShift + frameSize; - long duration = (long) - (((double) totalSamples / (double) sampleRate) * 1000.0); - - data = new DataEndSignal(duration); - - try { - if (binary) { - binaryStream.close(); - } else { - est.close(); - } - curPoint++; - } catch (IOException ioe) { - throw new DataProcessingException("IOException closing cepstrum stream", ioe); - } - } else if (curPoint > numPoints) { - data = null; - } else { - double[] vectorData = new double[cepstrumLength]; - - for (int i = 0; i < cepstrumLength; i++) { - try { - if (binary) { - if (bigEndian) { - vectorData[i] = binaryStream.readFloat(); - } else { - vectorData[i] = Utilities.readLittleEndianFloat(binaryStream); - } - } else { - vectorData[i] = est.getFloat("cepstrum data"); - } - curPoint++; - } catch (IOException ioe) { - throw new DataProcessingException("IOException reading from cepstrum stream", ioe); - } - } - - // System.out.println("Read: " + curPoint); - data = new DoubleData - (vectorData, sampleRate, firstSampleNumber); - firstSampleNumber += frameShift; - // System.out.println(data); - } - return data; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamDataSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamDataSource.java deleted file mode 100755 index a742abcf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamDataSource.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.util; - -import java.io.IOException; -import java.io.InputStream; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.TimeFrame; -import edu.cmu.sphinx.util.props.*; - -/** - * A StreamDataSource converts data from an InputStream into Data objects. One - * would call {@link #setInputStream(InputStream,TimeFrame) setInputStream} to set - * the input stream, and call {@link #getData} to obtain the Data object. The - * InputStream can be an arbitrary stream, for example a data from the network - * or from a pipe. - * - * StreamDataSource is not aware about incoming data format and assumes - * that incoming data matches StreamDataSource configuration. By default it's configured - * to read 16 kHz little-endian 16-bit signed raw data. If data has wrong format - * the result of the recognition is undefined. Also note that the sample rate of the - * data must match the sample required by the the acoustic model. If your - * model decodes 16 kHz files you can't recognize 8kHz data using it. - * - * You can use AudioFileDataSource instead to read the file headers and - * to convert incoming data to the required format automatically. - */ -public class StreamDataSource extends BaseDataProcessor { - - /** The property for the sample rate. */ - @S4Integer(defaultValue = 16000) - public static final String PROP_SAMPLE_RATE = "sampleRate"; - - /** - * The property for the number of bytes to read from the InputStream each - * time. - */ - @S4Integer(defaultValue = 3200) - public static final String PROP_BYTES_PER_READ = "bytesPerRead"; - - /** The property for the number of bits per value. */ - @S4Integer(defaultValue = 16) - public static final String PROP_BITS_PER_SAMPLE = "bitsPerSample"; - - /** The property specifying whether the input data is big-endian. */ - @S4Boolean(defaultValue = false) - public static final String PROP_BIG_ENDIAN_DATA = "bigEndianData"; - - /** The property specifying whether the input data is signed. */ - @S4Boolean(defaultValue = true) - public static final String PROP_SIGNED_DATA = "signedData"; - - private InputStream dataStream; - protected int sampleRate; - private int bytesPerRead; - private int bytesPerValue; - private long totalValuesRead; - private boolean bigEndian; - private boolean signedData; - private boolean streamEndReached; - private boolean utteranceEndSent; - private boolean utteranceStarted; - protected int bitsPerSample; - - private TimeFrame timeFrame = TimeFrame.INFINITE; - - public StreamDataSource(int sampleRate, int bytesPerRead, - int bitsPerSample, boolean bigEndian, boolean signedData) { - initLogger(); - init(sampleRate, bytesPerRead, bitsPerSample, bigEndian, signedData); - } - - public StreamDataSource() { - - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - init( - ps.getInt(PROP_SAMPLE_RATE), - ps.getInt(PROP_BYTES_PER_READ), - ps.getInt(PROP_BITS_PER_SAMPLE), - ps.getBoolean(PROP_BIG_ENDIAN_DATA), - ps.getBoolean(PROP_SIGNED_DATA)); - } - - private void init(int sampleRate, - int bytesPerRead, - int bitsPerSample, - boolean bigEndian, - boolean signedData) { - this.sampleRate = sampleRate; - this.bytesPerRead = bytesPerRead; - this.bitsPerSample = bitsPerSample; - - if (this.bitsPerSample % 8 != 0) - throw new IllegalArgumentException( - "bits per sample must be a multiple of 8"); - - this.bytesPerValue = bitsPerSample / 8; - this.bigEndian = bigEndian; - this.signedData = signedData; - this.bytesPerRead += bytesPerRead % 2; - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend - * .CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - } - - public void setInputStream(InputStream inputStream) { - setInputStream(inputStream, TimeFrame.INFINITE); - } - - /** - * Sets the InputStream from which this StreamDataSource reads. - * - * @param inputStream the InputStream from which audio data comes - * @param timeFrame time frame to process - */ - public void setInputStream(InputStream inputStream, TimeFrame timeFrame) { - dataStream = inputStream; - this.timeFrame = timeFrame; - streamEndReached = false; - utteranceEndSent = false; - utteranceStarted = false; - totalValuesRead = 0; - } - - /** - * Reads and returns the next Data from the InputStream of - * StreamDataSource, return null if no data is read and end of file is - * reached. - * - * @return the next Data or null if none is available - * @throws DataProcessingException if there is a data processing error - */ - @Override - public Data getData() throws DataProcessingException { - Data output = null; - if (streamEndReached) { - if (!utteranceEndSent) { - // since 'firstSampleNumber' starts at 0, the last - // sample number should be 'totalValuesRead - 1' - output = new DataEndSignal(getDuration()); - utteranceEndSent = true; - } - } else { - if (!utteranceStarted) { - utteranceStarted = true; - output = new DataStartSignal(sampleRate); - } else { - if (dataStream != null) { - do { - output = readNextFrame(); - } while (output != null && getDuration() < timeFrame.getStart()); - - if ((output == null || getDuration() > timeFrame.getEnd()) - && !utteranceEndSent) { - output = new DataEndSignal(getDuration()); - utteranceEndSent = true; - streamEndReached = true; - } - } else { - logger.warning("Input stream is not set"); - if (!utteranceEndSent) { - output = new DataEndSignal(getDuration()); - utteranceEndSent = true; - } - } - } - } - return output; - } - - /** - * Returns the next Data from the input stream, or null if there is none - * available - * - * @return a Data or null - * @throws edu.cmu.sphinx.frontend.DataProcessingException - */ - private DoubleData readNextFrame() throws DataProcessingException { - // read one frame's worth of bytes - int read; - int totalRead = 0; - final int bytesToRead = bytesPerRead; - byte[] samplesBuffer = new byte[bytesPerRead]; - long firstSample = totalValuesRead; - try { - do { - read = dataStream.read(samplesBuffer, totalRead, bytesToRead - - totalRead); - if (read > 0) { - totalRead += read; - } - } while (read != -1 && totalRead < bytesToRead); - if (totalRead <= 0) { - closeDataStream(); - return null; - } - // shrink incomplete frames - totalValuesRead += (totalRead / bytesPerValue); - if (totalRead < bytesToRead) { - totalRead = (totalRead % 2 == 0) - ? totalRead + 2 - : totalRead + 3; - byte[] shrinkedBuffer = new byte[totalRead]; - System - .arraycopy(samplesBuffer, 0, shrinkedBuffer, 0, - totalRead); - samplesBuffer = shrinkedBuffer; - closeDataStream(); - } - } catch (IOException ioe) { - throw new DataProcessingException("Error reading data", ioe); - } - // turn it into an Data object - double[] doubleData; - if (bigEndian) { - doubleData = DataUtil.bytesToValues(samplesBuffer, 0, totalRead, - bytesPerValue, signedData); - } else { - doubleData = DataUtil.littleEndianBytesToValues(samplesBuffer, - 0, - totalRead, - bytesPerValue, - signedData); - } - return new DoubleData(doubleData, sampleRate, firstSample); - } - - private void closeDataStream() throws IOException { - streamEndReached = true; - if (dataStream != null) { - dataStream.close(); - } - } - - /** - * Returns the duration of the current data stream in milliseconds. - * - * @return the duration of the current data stream in milliseconds - */ - private long getDuration() { - return (long) (((double) totalValuesRead / (double) sampleRate) * 1000.0); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamHTKCepstrum.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamHTKCepstrum.java deleted file mode 100755 index 21117620..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/StreamHTKCepstrum.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - * adapted by Christophe Cerisara june 2007 - * - */ - - -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.BufferedInputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; - - -/** - * Produces Mel-cepstrum data from an InputStream. To set the input stream with cepstral data, use the {@link - * #setInputStream(InputStream) setInputStream} method, and then call {@link #getData} to obtain the Data - * objects that have cepstrum data in it. - */ -public class StreamHTKCepstrum extends BaseDataProcessor { - - /** The property specifying whether the input is in binary. */ - @S4Boolean(defaultValue = true) - public final static String PROP_BINARY = "binary"; - - /** The property specifying whether the input is big endian. */ - @S4Boolean(defaultValue = true) - public final static String PROP_BIGENDIAN = "bigEndian"; - - /** The property name for frame size in milliseconds. */ - @S4Double(defaultValue = 25.625) - public static final String PROP_FRAME_SIZE_MS = "frameSizeInMs"; - - /** The property name for frame shift in milliseconds, which has a default value of 10F. */ - @S4Double(defaultValue = 10.0) - public static final String PROP_FRAME_SHIFT_MS = "frameShiftInMs"; - - /** The property specifying the length of the cepstrum data. */ - @S4Integer(defaultValue = 13) - public static final String PROP_CEPSTRUM_LENGTH = "cepstrumLength"; - - /** The property that defines the sample rate */ - @S4Integer(defaultValue = 16000) - public static final String PROP_SAMPLE_RATE = "sampleRate"; - - private DataInputStream binaryStream; // for binary files - private int numPoints; - private int curPoint; - private int cepstrumLength; - private int frameShift; - private int frameSize; - private int sampleRate; - private long firstSampleNumber; - private boolean bigEndian; - - public StreamHTKCepstrum( float frameShiftMs, float frameSizeMs, boolean bigEndian, int sampleRate ) { - initLogger(); - this.bigEndian = bigEndian; - this.sampleRate = sampleRate; - this.frameShift = DataUtil.getSamplesPerWindow(sampleRate, frameShiftMs); - this.frameSize = DataUtil.getSamplesPerShift(sampleRate, frameSizeMs); - } - - public StreamHTKCepstrum( ) { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - float frameShiftMs = ps.getFloat(PROP_FRAME_SHIFT_MS - ); - float frameSizeMs = ps.getFloat(PROP_FRAME_SIZE_MS - ); - bigEndian = ps.getBoolean(PROP_BIGENDIAN); - sampleRate = ps.getInt(PROP_SAMPLE_RATE); - frameShift = DataUtil.getSamplesPerWindow(sampleRate, frameShiftMs); - frameSize = DataUtil.getSamplesPerShift(sampleRate, frameSizeMs); - logger = ps.getLogger(); - } - - - /** Constructs a StreamCepstrumSource that reads MelCepstrum data from the given path. */ - @Override - public void initialize() { - super.initialize(); - curPoint = -1; - firstSampleNumber = 0; - // we don't want any more that endianness be set at the upper level, as BatchReco - // utilizes an ad-hoc procedure to decide on endianness.. We want it to be fixed in the config file - //bigEndian = true; - } - - - /** - * Sets the InputStream to read cepstral data from. - * - * @param stream the InputStream to read cepstral data from - * @throws IOException if an I/O error occurs - */ - public void setInputStream(InputStream stream) - throws IOException { - { - // TODO: update sampleRate - binaryStream = new DataInputStream(new BufferedInputStream(stream)); - if (bigEndian) { - numPoints = binaryStream.readInt(); - int sampPeriod = binaryStream.readInt(); - short sampSize = binaryStream.readShort(); - short parmKind = binaryStream.readShort(); - - cepstrumLength = sampSize / 4; - numPoints *= cepstrumLength; - - logger.info("Sample period is " + sampPeriod); - logger.info("Sample size " + sampSize); - logger.info("Parameter kind " + parmKind); - logger.info("BigEndian"); - } else { - numPoints = Utilities.readLittleEndianInt(binaryStream); - - int sampPeriod = Utilities.readLittleEndianInt(binaryStream); - short sampSize = readLittleEndianShort(binaryStream); - short parmKind = readLittleEndianShort(binaryStream); - - cepstrumLength = sampSize/4; - numPoints *= cepstrumLength; - - logger.info("Sample period is " + sampPeriod); - logger.info("Sample size " + sampSize); - logger.info("Parameter kind " + parmKind); - logger.info("LittleEndian"); - } - System.out.println("Frames: " + numPoints / cepstrumLength); - } - curPoint = -1; - firstSampleNumber = 0; - } - - public static short readLittleEndianShort(DataInputStream dataStream) - throws IOException { - short bits = 0x0000; - for (int shift = 0; shift < 16; shift += 8) { - int byteRead = (0x00ff & dataStream.readByte()); - bits |= (byteRead << shift); - } - return bits; - } - - /** - * Returns the next Data object, which is the mel cepstrum of the input frame. However, it can also be other Data - * objects like DataStartSignal. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if a data processing error occurs - */ - @Override - public Data getData() throws DataProcessingException { - - Data data; - - if (curPoint == -1) { - data = new DataStartSignal(sampleRate); - curPoint++; - } else if (curPoint == numPoints) { - if (numPoints > 0) { - firstSampleNumber = - (firstSampleNumber - frameShift + frameSize - 1); - } - // send a DataEndSignal - int numberFrames = curPoint / cepstrumLength; - int totalSamples = (numberFrames - 1) * frameShift + frameSize; - long duration = (long) - (((double) totalSamples / (double) sampleRate) * 1000.0); - - data = new DataEndSignal(duration); - - try { - binaryStream.close(); - curPoint++; - } catch (IOException ioe) { - throw new DataProcessingException("IOException closing cepstrum stream", ioe); - } - } else if (curPoint > numPoints) { - data = null; - } else { - double[] vectorData = new double[cepstrumLength]; - - for (int i = 0; i < cepstrumLength; i++) { - try { - if (bigEndian) { - vectorData[i] = binaryStream.readFloat(); - } else { - vectorData[i] = Utilities.readLittleEndianFloat(binaryStream); - } - curPoint++; - } catch (IOException ioe) { - throw new DataProcessingException("IOException reading from cepstrum stream", ioe); - } - } - - // System.out.println("Read: " + curPoint); - data = new DoubleData - (vectorData, sampleRate, firstSampleNumber); - firstSampleNumber += frameShift; - // System.out.println(data); - } - return data; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Utterance.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Utterance.java deleted file mode 100755 index 710764f5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/Utterance.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.util; - -import javax.sound.sampled.AudioFileFormat; -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; - - -/** Represents the complete audio data of an utterance. */ -public class Utterance { - - private final String name; - private final ByteArrayOutputStream audioBuffer; - private final AudioFormat audioFormat; - - - /** - * Constructs a default Utterance object. - * - * @param name the name of this Utterance, e.g., it can be the name of the audio file where the audio came from - * @param format the audio format of this Utterance - */ - public Utterance(String name, AudioFormat format) { - this.name = name; - this.audioFormat = format; - this.audioBuffer = new ByteArrayOutputStream(); - } - - - /** - * Returns the name of this Utterance. - * - * @return the name of this Utterance - */ - public String getName() { - return name; - } - - - /** - * Returns the audio format of this Utterance. - * - * @return the audio format - */ - public AudioFormat getAudioFormat() { - return audioFormat; - } - - - /** - * Adds an audio frame into this Utterance. - * - * @param audio the audio frame to add - */ - public void add(byte[] audio) { - synchronized (audioBuffer) { - audioBuffer.write(audio, 0, audio.length); - } - } - - - /** - * Returns the complete audio stream of this utterance. - * - * @return the complete audio stream - */ - public byte[] getAudio() { - return audioBuffer.toByteArray(); - } - - - /** - * Returns the amount of time (in seconds) this Utterance lasts. - * - * @return how long is this utterance - */ - public float getAudioTime() { - return audioBuffer.size() / - (audioFormat.getSampleRate() * - audioFormat.getSampleSizeInBits() / 8); - } - - - /** - * Save the audio as a WAV file in the given file. - * - * @param fileName the name of the audio file - * @param fileFormat the audio file format - * @throws java.io.IOException if IO went wrong - */ - public void save(String fileName, AudioFileFormat.Type fileFormat) - throws IOException { - File file = new File(fileName); - byte[] audio = getAudio(); - AudioInputStream ais = new AudioInputStream - ((new ByteArrayInputStream(audio)), getAudioFormat(), audio.length); - AudioSystem.write(ais, fileFormat, file); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeter.java deleted file mode 100755 index 7eaf89a8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeter.java +++ /dev/null @@ -1,187 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; - -/** - * Copyright 1999-2006 Carnegie Mellon University. Portions Copyright 2002 Sun Microsystems, Inc. Portions Copyright - * 2002 Mitsubishi Electric Research Laboratories. All Rights Reserved. Use is subject to license terms. - *

- * See the file "license.terms" for information on usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - *

- * User: Peter Wolf Date: Mar 9, 2006 Time: 9:30:52 PM - */ -public class VUMeter { - - private double rms; - private double average; - private double peak; - - private static final double log10 = Math.log(10.0); - private static final double maxDB = Math.max(0.0, 20.0 * Math.log(Short.MAX_VALUE) / log10); - - private final int peakHoldTime = 1000; - private long then = System.currentTimeMillis(); - - private final float a2 = -1.9556f; - private final float a3 = 0.9565f; - - private final float b1 = 0.9780f; - private final float b2 = -1.9561f; - private final float b3 = 0.9780f; - - - public final synchronized double getRmsDB() { - return Math.max(0.0, 20.0 * Math.log(rms) / log10); - } - - - public final synchronized double getAverageDB() { - return Math.max(0.0, 20.0 * Math.log(average) / log10); - } - - - public final synchronized double getPeakDB() { - return Math.max(0.0, 20.0 * Math.log(peak) / log10); - } - - - public final synchronized boolean getIsClipping() { - return (Short.MAX_VALUE) < (2 * peak); - } - - - public final synchronized double getMaxDB() { - return maxDB; - } - - - public void calculateVULevels(Data data) { - - if (data instanceof DoubleData) { - - double[] samples = ((DoubleData) data).getValues(); - - calculateVULevels(samples); - } - } - - - public void calculateVULevels(byte[] data, int offset, int cnt) { - short[] samples = new short[cnt / 2]; - for (int i = 0; i < cnt / 2; i++) { - int o = offset + (2 * i); - samples[i] = (short) ((data[o] << 8) | (0x000000FF & data[o + 1])); - //System.out.print(data[2*i] + "+" +data[(2*i)+1] + "=" + samples[i] + " "); - } - calculateVULevels(samples); - } - - - private synchronized void calculateVULevels(double[] samples) { - double energy = 0.0; - average = 0.0; - - double y1 = 0.0f; - double y2 = 0.0f; - - - for (int i = 0; i < samples.length; i++) { - - // remove the DC offset with a filter - - //System.out.print(samples[i] + " "); - - double i1 = samples[i]; - double j = 0; - double k = 0; - - if (i > 0) { - j = samples[i - 1]; - } - if (i > 1) { - k = samples[i - 2]; - } - - double y = b1 * i1 + b2 * j + b3 * k - a2 * y1 - a3 * y2; - - y2 = y1; - y1 = y; - - double v2 = Math.abs(y); - - long now = System.currentTimeMillis(); - - energy += v2 * v2; - average += v2; - - if (v2 > peak) { - peak = v2; - } else if ((now - then) > peakHoldTime) { - peak = v2; - then = now; - } - - } - - rms = energy / samples.length; - rms = Math.sqrt(rms); - average /= samples.length; - } - - - private synchronized void calculateVULevels(short[] samples) { - - double energy = 0.0; - average = 0.0; - - double y1 = 0.0f; - double y2 = 0.0f; - - - for (int i = 0; i < samples.length; i++) { - - // remove the DC offset with a filter - - //System.out.print(samples[i] + " "); - - short i1 = samples[i]; - double j = 0; - double k = 0; - - if (i > 0) { - j = samples[i - 1]; - } - if (i > 1) { - k = samples[i - 2]; - } - - double y = b1 * i1 + b2 * j + b3 * k - a2 * y1 - a3 * y2; - - y2 = y1; - y1 = y; - - double v2 = Math.abs(y); - - long now = System.currentTimeMillis(); - - energy += v2 * v2; - average += v2; - - if (v2 > peak) { - peak = v2; - } else if ((now - then) > peakHoldTime) { - peak = v2; - then = now; - } - - } - - rms = energy / samples.length; - rms = Math.sqrt(rms); - average /= samples.length; - } - - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterMonitor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterMonitor.java deleted file mode 100755 index 5e16789f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterMonitor.java +++ /dev/null @@ -1,83 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; - -import javax.swing.*; -import java.awt.*; - -/** - * A VU meter to be plugged into a front-end. Preferably this component should be plugged directly behind the - * DataBlocker in order to ensure that only equally sized blocks of meaningful length are used for RMS - * computation. - *

- * Because vu-monitoring makes sense only for online speech processing the vu-meter will be visible only if data source - * which precedes it is a Microphone. - * - * @author Holger Brandl - */ - -public class VUMeterMonitor extends BaseDataProcessor { - - final VUMeter vumeter; - final VUMeterPanel vuMeterPanel; - final JDialog vuMeterDialog; - - - public VUMeterMonitor() { - vumeter = new VUMeter(); - - vuMeterPanel = new VUMeterPanel(); - vuMeterPanel.setVu(vumeter); - vuMeterPanel.start(); - - vuMeterDialog = new JDialog(); - vuMeterDialog.setBounds(100, 100, 100, 400); - - vuMeterDialog.getContentPane().setLayout(new BorderLayout()); - vuMeterDialog.getContentPane().add(vuMeterPanel); - - vuMeterDialog.setVisible(true); - } - - - @Override - public Data getData() throws DataProcessingException { - Data d = getPredecessor().getData(); - - // show the panel only if a microphone is used as data source - if (d instanceof DataStartSignal) - vuMeterPanel.setVisible(FrontEndUtils.getFrontEndProcessor(this, Microphone.class) != null); - - if (d instanceof DoubleData) - vumeter.calculateVULevels(d); - - return d; - } - - - public JDialog getVuMeterDialog() { - return vuMeterDialog; - } - - - /** A little test-function which plugs a microphone directly into the vu-meter. - * @param args arguments to use - * @throws edu.cmu.sphinx.frontend.DataProcessingException if error occurs - */ - public static void main(String[] args) throws DataProcessingException { - Microphone mic = new Microphone( 16000, 16, 1, - true, true, true, 10, false, - "selectChannel", 2, "default", 6400); - - mic.initialize(); - mic.startRecording(); - - VUMeterMonitor monitor = new VUMeterMonitor(); - monitor.getVuMeterDialog().setModal(true); - monitor.setPredecessor(mic); - - while (true) { - monitor.getData(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterPanel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterPanel.java deleted file mode 100755 index 3858a46a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/VUMeterPanel.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.frontend.util; - -import javax.swing.*; -import java.awt.*; - -/** - * @author Peter Wolf - */ -@SuppressWarnings("serial") -public class VUMeterPanel extends JPanel { - - public void setVu(VUMeter vu) { - this.vu = vu; - } - - - VUMeter vu; - boolean quit; - Thread thread; - - - public void start() { - quit = false; - thread = new VUMeterPanelThread(); - thread.start(); - } - - - public void stop() { - quit = true; - boolean hasQuit = false; - while (!hasQuit) { - try { - thread.join(); - hasQuit = true; - } catch (InterruptedException e) { - } - } - } - - - class VUMeterPanelThread extends Thread { - - @Override - public void run() { - while (!quit) { - repaint(); // probably this one should be replaced by a more appropriate method call in order to get rid of the annoying flickering - try { - Thread.sleep(10); - } catch (InterruptedException e) { - - } - } - } - } - - /** - * Paint the component. This will be called by AWT/Swing. - * - * @param g The Graphics to draw on. - */ - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - - if (vu != null) { - paintVUMeter(g); - } - } - - - final int numberOfLights = 50; - final int greenLevel = (int) (numberOfLights * 0.3); - final int yellowLevel = (int) (numberOfLights * 0.7); - final int redLevel = (int) (numberOfLights * 0.9); - - - public VUMeter getVu() { - return vu; - } - - - private void paintVUMeter(Graphics g) { - int level = (int) ((vu.getRmsDB() / vu.getMaxDB()) * numberOfLights); - int peak = (int) ((vu.getPeakDB() / vu.getMaxDB()) * numberOfLights); - - assert level >= 0; - assert level < numberOfLights; - - Dimension sz = getSize(); - int w = sz.width; - int h = (sz.height / numberOfLights); - - g.setColor(Color.BLACK); - g.fillRect(0, 0, sz.width - 1, sz.height - 1); - - for (int i = 0; i < level; i++) { - setLevelColor(i, g); - g.fillRect(1, sz.height - (i * h) + 1, w - 2, h - 2); - } - - setLevelColor(peak, g); - g.fillRect(1, sz.height - (peak * h) + 1, w - 2, h - 2); - - } - - - private void setLevelColor(int i, Graphics g) { - if (i < greenLevel) - g.setColor(Color.BLUE); - else if (i < yellowLevel) - g.setColor(Color.GREEN); - else if (i < redLevel) - g.setColor(Color.YELLOW); - else - g.setColor(Color.RED); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/WavWriter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/WavWriter.java deleted file mode 100755 index 7b11671c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/util/WavWriter.java +++ /dev/null @@ -1,256 +0,0 @@ -package edu.cmu.sphinx.frontend.util; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal; -import edu.cmu.sphinx.util.props.*; - -import javax.sound.sampled.AudioFileFormat; -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import java.io.*; - - -/** - * Stores audio data into numbered (MS-)wav files. - * TODO: currently the WavWriter buffers all audio data until a DataEndSignal occurs. - * - * @author Holger Brandl - */ -public class WavWriter extends BaseDataProcessor { - - /** - * The pathname which must obey the pattern: pattern + i + .wav. After each DataEndSignal the - * smallest unused 'i' is determined. Pattern is padded to create result file with fixed name - * lenght. - */ - @S4String(defaultValue = "seg000000") - public static final String PROP_OUT_FILE_NAME_PATTERN = "outFilePattern"; - - @S4Boolean(defaultValue = false) - public static final String PROP_IS_COMPLETE_PATH = "isCompletePath"; - - /** The property for the number of bits per value. */ - @S4Integer(defaultValue = 16) - public static final String PROP_BITS_PER_SAMPLE = "bitsPerSample"; - - /** The property specifying whether the input data is signed. */ - @S4Boolean(defaultValue = true) - public static final String PROP_SIGNED_DATA = "signedData"; - - /** The property specifying whether the input data is signed. */ - @S4Boolean(defaultValue = false) - public static final String PROP_CAPTURE_UTTERANCES = "captureUtterances"; - - private ByteArrayOutputStream baos; - private DataOutputStream dos; - - private int sampleRate; - private boolean isInSpeech; - - private boolean isSigned = true; - private int bitsPerSample; - - private String outFileNamePattern; - protected boolean captureUtts; - private boolean isCompletePath; - - public WavWriter(String dumpFilePath, boolean isCompletePath, int bitsPerSample, boolean isSigned, boolean captureUtts) { - initLogger(); - - this.outFileNamePattern = dumpFilePath; - this.isCompletePath = isCompletePath; - - this.bitsPerSample = bitsPerSample; - if (bitsPerSample % 8 != 0) { - throw new Error("StreamDataSource: bits per sample must be a multiple of 8."); - } - - this.isSigned = isSigned; - this.captureUtts = captureUtts; - - initialize(); - } - - public WavWriter() { - } - - /* - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - outFileNamePattern = ps.getString(WavWriter.PROP_OUT_FILE_NAME_PATTERN); - isCompletePath = ps.getBoolean(PROP_IS_COMPLETE_PATH); - - bitsPerSample = ps.getInt(PROP_BITS_PER_SAMPLE); - if (bitsPerSample % 8 != 0) { - throw new Error("StreamDataSource: bits per sample must be a multiple of 8."); - } - - isSigned = ps.getBoolean(PROP_SIGNED_DATA); - captureUtts = ps.getBoolean(PROP_CAPTURE_UTTERANCES); - - initialize(); - } - - @Override - public Data getData() throws DataProcessingException { - Data data = getPredecessor().getData(); - - if (data instanceof DataStartSignal) - sampleRate = ((DataStartSignal) data).getSampleRate(); - - if (data instanceof DataStartSignal || (data instanceof SpeechStartSignal && captureUtts)) { - baos = new ByteArrayOutputStream(); - dos = new DataOutputStream(baos); - } - - - if ((data instanceof DataEndSignal && !captureUtts) || (data instanceof SpeechEndSignal && captureUtts)) { - - String wavName; - if (isCompletePath) - wavName = outFileNamePattern; - else - wavName = getNextFreeIndex(outFileNamePattern); - - writeFile(wavName); - - isInSpeech = false; - } - - if (data instanceof SpeechStartSignal) - isInSpeech = true; - - if ((data instanceof DoubleData || data instanceof FloatData) && (isInSpeech || !captureUtts)) { - DoubleData dd = data instanceof DoubleData ? (DoubleData) data : DataUtil.FloatData2DoubleData((FloatData) data); - double[] values = dd.getValues(); - - for (double value : values) { - try { - dos.writeShort(new Short((short) value)); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - return data; - } - - - private static String getNextFreeIndex(String outPattern) { - - int fileIndex = 0; - String fileName; - - while (true) { - String indexString = Integer.toString(fileIndex); - - fileName = outPattern.substring(0, - Math.max(0, outPattern.length() - indexString.length())) - + indexString + ".wav"; - - if (!new File(fileName).isFile()) - break; - - fileIndex++; - } - - return fileName; - } - - /** Initializes this DataProcessor. This is typically called after the DataProcessor has been configured. */ - @Override - public void initialize() { - super.initialize(); - - assert outFileNamePattern != null; - baos = new ByteArrayOutputStream(); - } - - /** - * Sets the pattern for the output file name. Useful to change the output - * beside the properties - * - * @param outFileNamePattern file name - */ - public void setOutFilePattern (String outFileNamePattern) { - this.outFileNamePattern = outFileNamePattern; - } - - private static AudioFileFormat.Type getTargetType(String extension) { - AudioFileFormat.Type[] typesSupported = AudioSystem.getAudioFileTypes(); - - for (AudioFileFormat.Type aTypesSupported : typesSupported) { - if (aTypesSupported.getExtension().equals(extension)) { - return aTypesSupported; - } - } - - return null; - } - - - /** - * Converts a big-endian byte array into an array of doubles. Each consecutive bytes in the byte array are converted - * into a double, and becomes the next element in the double array. The size of the returned array is - * (length/bytesPerValue). Currently, only 1 byte (8-bit) or 2 bytes (16-bit) samples are supported. - * - * @param values source values - * @param bytesPerValue the number of bytes per value - * @param signedData whether the data is signed - * @return a double array, or null if byteArray is of zero length - * @throws ArrayIndexOutOfBoundsException if boundary fails - */ - public static byte[] valuesToBytes(double[] values, int bytesPerValue, boolean signedData) - throws ArrayIndexOutOfBoundsException { - - byte[] byteArray = new byte[bytesPerValue * values.length]; - - int byteArInd = 0; - - for (double value : values) { - int val = (int) value; - - - for (int j = bytesPerValue - 1; j >= 0; j++) { - byteArray[byteArInd + j] = (byte) (val & 0xff); - val = val >> 8; - } - - byteArInd += bytesPerValue; - } - - return byteArray; - } - - /** - * Writes the current stream to disc; override this method if you want to take - * additional action on file writes - * - * @param wavName name of the file to be written - */ - protected void writeFile(String wavName) { - AudioFormat wavFormat = new AudioFormat(sampleRate, bitsPerSample, 1, isSigned, true); - AudioFileFormat.Type outputType = getTargetType("wav"); - - byte[] abAudioData = baos.toByteArray(); - ByteArrayInputStream bais = new ByteArrayInputStream(abAudioData); - AudioInputStream ais = new AudioInputStream(bais, wavFormat, abAudioData.length / wavFormat.getFrameSize()); - - File outWavFile = new File(wavName); - - if (AudioSystem.isFileTypeSupported(outputType, ais)) { - try { - AudioSystem.write(ais, outputType, outWavFile); - } catch (IOException e) { - e.printStackTrace(); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/window/RaisedCosineWindower.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/window/RaisedCosineWindower.java deleted file mode 100755 index ff6ce80f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/frontend/window/RaisedCosineWindower.java +++ /dev/null @@ -1,485 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.frontend.window; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.frontend.util.DataUtil; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Double; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * Slices up a Data object into a number of overlapping windows (usually referred to as "frames" in the speech world). In - * order to minimize the signal discontinuities at the boundaries of each frame, we multiply each frame with a raised - * cosine windowing function. Moreover, the system uses overlapping windows to capture information that may occur at the - * window boundaries. These events would not be well represented if the windows were juxtaposed.

The number of - * resulting windows depends on the {@link #PROP_WINDOW_SIZE_MS window size} and the {@link #PROP_WINDOW_SHIFT_MS window - * shift} (commonly known as frame shift in speech world). Figure 1 shows the relationship between the original data - * stream, the window size, the window shift, and the windows returned.

Framing - *
Figure 1: Relationship between original data, window size, window shift, and the windows returned.

The - * raised cosine windowing function will be applied to each such window. Since the {@link #getData()} method returns a - * window, and multiple windows are created for each Data object, this is a 1-to-many processor. Also note that the - * returned windows should have the same number of data points as the windowing function.

The applied windowing - * function, W(n), of length N (the window size), is given by the following formula: - *

- * W(n) = (1-a) - (a * cos((2 * Math.PI * n)/(N - 1)))
- * 
- * where a is commonly known as the "alpha" value. This variable can be set by the user using the property - * defined by {@link #PROP_ALPHA}. Please follow the links to the see the constant field values. Some values of alpha - * receive special names, since they are used so often. A value of 0.46 for the alpha results in a window named Hamming - * window. A value of 0.5 results in the Hanning window. And a value of 0 results in the Rectangular window. The default - * for this system is the Hamming window, with alpha 0.46 !). Figure 2 below shows the Hamming window function (a = - * 0.46), using our default window size of 25.625 ms and assuming a sample rate of 16kHz, thus yielding 410 samples per - * window.

Hamming window
Figure 2: The Hamming window function. - * - * @see Data - */ -public class RaisedCosineWindower extends BaseDataProcessor { - - /** The property for window size in milliseconds. */ - @S4Double(defaultValue = 25.625) - public static final String PROP_WINDOW_SIZE_MS = "windowSizeInMs"; - private float windowSizeInMs; - - /** The property for window shift in milliseconds, which has a default value of 10F. */ - @S4Double(defaultValue = 10.0) - public static final String PROP_WINDOW_SHIFT_MS = "windowShiftInMs"; - private float windowShiftInMs; - - /** The property for the alpha value of the Window, which is the value for the RaisedCosineWindow. */ - @S4Double(defaultValue = 0.46) - public static final String PROP_ALPHA = "alpha"; - private double alpha; - - - // required to access the DataStartSignal-properties - public static final String WINDOW_SHIFT_SAMPLES = "windowSize"; - public static final String WINDOW_SIZE_SAMPLES = "windowShift"; - - private double[] cosineWindow; // the raised consine window - private int windowShift; // the window size - - private List outputQueue; // cache for output windows - private DoubleBuffer overflowBuffer; // cache for overlapped audio regions - private long currentFirstSampleNumber; - private int sampleRate; - - public RaisedCosineWindower( double alpha, float windowSizeInMs, float windowShiftInMs ) { - initLogger(); - this.alpha = alpha; - this.windowSizeInMs = windowSizeInMs; - this.windowShiftInMs = windowShiftInMs; - } - - public RaisedCosineWindower( ) { - - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - alpha = ps.getDouble(PROP_ALPHA); - windowSizeInMs = ps.getFloat(PROP_WINDOW_SIZE_MS); - windowShiftInMs = ps.getFloat(PROP_WINDOW_SHIFT_MS); - } - - - @Override - public void initialize() { - super.initialize(); - - // createWindow(); - outputQueue = new LinkedList(); - } - - - /** - * Creates the Hamming Window. - * - * @param sampleRate - */ - private void createWindow(int sampleRate) { - if (cosineWindow != null && sampleRate == this.sampleRate) { - return; - } - - this.sampleRate = sampleRate; - - int windowSize = DataUtil.getSamplesPerWindow(sampleRate, windowSizeInMs); - cosineWindow = new double[windowSize]; - - windowShift = DataUtil.getSamplesPerShift(sampleRate, windowShiftInMs); - - if (cosineWindow.length > 1) { - double oneMinusAlpha = (1 - alpha); - for (int i = 0; i < cosineWindow.length; i++) { - cosineWindow[i] = oneMinusAlpha - - alpha * Math.cos(2 * Math.PI * i / (cosineWindow.length - 1.0)); - } - } - - overflowBuffer = new DoubleBuffer(windowSize); - } - - - /** - * Returns the next Data object, which is usually a window of the input Data, with the windowing function applied to - * it. - * - * @return the next available Data object, returns null if no Data object is available - * @throws DataProcessingException if a data processing error occurred - * @see Data - */ - @Override - public Data getData() throws DataProcessingException { - - if (outputQueue.isEmpty()) { - Data input = getPredecessor().getData(); - - if (input != null) { - if (input instanceof DoubleData) { - DoubleData data = (DoubleData) input; - // System.err.print("to windower: "); - // System.err.println(Arrays.toString(data.getValues())); - if (currentFirstSampleNumber == -1) { - currentFirstSampleNumber = data.getFirstSampleNumber(); - } - - // should not be necessary if all DataProcessor would forward Signals. Unfortunately this - // is currently not the case. - createWindow(data.getSampleRate()); - - // process the Data, and output the windows - process(data); - } else { - if (input instanceof DataStartSignal) { - DataStartSignal startSignal = (DataStartSignal) input; - - createWindow(startSignal.getSampleRate()); - - // attach the frame-length and the shift-length to the start-signal to allow - // detection of incorrect frontend settings - Map props = startSignal.getProps(); - props.put(WINDOW_SHIFT_SAMPLES, windowShift); - props.put(WINDOW_SIZE_SAMPLES, cosineWindow.length); - - // reset the current first sample number - currentFirstSampleNumber = -1; - } else if (input instanceof SpeechStartSignal) { - // reset the current first sample number - currentFirstSampleNumber = -1; - } else if (input instanceof DataEndSignal || input instanceof SpeechEndSignal) { - // end of utterance handling - processUtteranceEnd(); - } - - outputQueue.add(input); - } - } - } - - if (!outputQueue.isEmpty()) { - Data output = outputQueue.remove(0); - if (output instanceof DoubleData) { - assert ((DoubleData) output).getValues().length == - cosineWindow.length; - } - return output; - } else { - return null; - } - } - - - /** - * Applies the Windowing to the given Data. The resulting windows are cached in the outputQueue. - * - * @param input the input Data object - * @throws DataProcessingException if a data processing error occurs - */ - private void process(DoubleData input) throws DataProcessingException { - - double[] in = input.getValues(); - int length = overflowBuffer.getOccupancy() + in.length; - - List dataList = new LinkedList(); - dataList.add(input); - - Data utteranceEnd = null; - - // read in more Data if we have under one window's length of data - while (length < cosineWindow.length) { - Data next = getPredecessor().getData(); - if (next instanceof DoubleData) { - dataList.add((DoubleData) next); - length += ((DoubleData) next).getValues().length; - } else { - if (next instanceof DataEndSignal || next instanceof SpeechEndSignal) { - utteranceEnd = next; - break; - } - - outputQueue.add(next); - } - } - - double[] allSamples = in; - - // prepend overflow samples - if (length != in.length) { - - allSamples = new double[length]; - - // copy overflow samples to allSamples buffer - System.arraycopy(overflowBuffer.getBuffer(), 0, allSamples, 0, overflowBuffer.getOccupancy()); - int start = overflowBuffer.getOccupancy(); - - // copy input samples to allSamples buffer - for (DoubleData aDataList : dataList) { - double[] samples = aDataList.getValues(); - System.arraycopy(samples, 0, allSamples, start, samples.length); - start += samples.length; - } - } - - // apply Hamming window - int residual = applyRaisedCosineWindow(allSamples, length); - - // save elements that also belong to the next window - overflowBuffer.reset(); - if (length - residual > 0) { - overflowBuffer.append(allSamples, residual, length - residual); - } - if (utteranceEnd != null) { - // end of utterance handling - processUtteranceEnd(); - outputQueue.add(utteranceEnd); - } - } - - - /** - * What happens when an DataEndSignal is received. Basically pads up to a window of the overflow buffer with zeros, - * and then apply the Hamming window to it. Checks if buffer has data. - */ - private void processUtteranceEnd() { - if (overflowBuffer.getOccupancy() > 0) { - overflowBuffer.padWindow(cosineWindow.length); - applyRaisedCosineWindow - (overflowBuffer.getBuffer(), cosineWindow.length); - overflowBuffer.reset(); - } - } - - - /** - * Applies the Hamming window to the given double array. The windows are added to the output queue. Returns the - * index of the first array element of next window that is not produced because of insufficient data. - * - * @param in the audio data to apply window and the Hamming window - * @param length the number of elements in the array to apply the RaisedCosineWindow - * @return the index of the first array element of the next window - */ - private int applyRaisedCosineWindow(double[] in, int length) { - - int windowCount; - - // if no windows can be created but there is some data, - // pad it with zeros - if (length < cosineWindow.length) { - double[] padded = new double[cosineWindow.length]; - System.arraycopy(in, 0, padded, 0, length); - in = padded; - windowCount = 1; - } else { - windowCount = getWindowCount(length, cosineWindow.length, windowShift); - } - - // create all the windows at once, not individually, saves time - double[][] windows = new double[windowCount][cosineWindow.length]; - - int windowStart = 0; - - for (int i = 0; i < windowCount; windowStart += windowShift, i++) { - - double[] myWindow = windows[i]; - - // apply the Hamming Window function to the window of data - for (int w = 0, s = windowStart; w < myWindow.length; s++, w++) { - myWindow[w] = in[s] * cosineWindow[w]; - } - - // add the frame to the output queue - outputQueue.add(new DoubleData - (myWindow, sampleRate, - currentFirstSampleNumber)); - currentFirstSampleNumber += windowShift; - } - - return windowStart; - } - - - /** - * Returns the number of windows in the given array, given the windowSize and windowShift. - * - * @param arraySize the size of the array - * @param windowSize the window size - * @param windowShift the window shift - * @return the number of windows - */ - private static int getWindowCount(int arraySize, int windowSize, - int windowShift) { - if (arraySize < windowSize) { - return 0; - } else { - int windowCount = 1; - for (int windowEnd = windowSize; - windowEnd + windowShift <= arraySize; - windowEnd += windowShift) { - windowCount++; - } - return windowCount; - } - } - - - /** - * Returns the shift size used to window the incoming speech signal. This value might be used by other components to - * determine the time resolution of feature vectors. - * @return the shift of the window - */ - public float getWindowShiftInMs() { - if (windowShiftInMs == 0) - throw new RuntimeException(this + " was not initialized yet!"); - - return windowShiftInMs; - } - - - public int getSampleRate() { - return sampleRate; - } - - - /** - * Rounds a given sample-number to the number of samples will be processed by this instance including the padding - * samples at the end.. - * @param samples samples to round to - * @return rounded result - */ - public long roundToFrames(long samples) { - int windowSize = DataUtil.getSamplesPerWindow(sampleRate, windowSizeInMs); - int windowShift = DataUtil.getSamplesPerShift(sampleRate, windowShiftInMs); - - long mxNumShifts = samples / windowShift; - - for (int i = (int) mxNumShifts; ; i--) { - long remainingSamples = samples - windowShift * i; - - if (remainingSamples > windowSize) - return windowShift * (i + 1) + windowSize; - } - } -} - - -class DoubleBuffer { - - private final double[] buffer; - private int occupancy; - - - /** Constructs a DoubleBuffer of the given size. - * @param size*/ - DoubleBuffer(int size) { - buffer = new double[size]; - occupancy = 0; - } - - - /** - * Returns the number of elements in this DoubleBuffer. - * - * @return the number of elements in this DoubleBuffer. - */ - public int getOccupancy() { - return occupancy; - } - - - /** - * Returns the underlying double array used to store the data. - * - * @return the underlying double array - */ - public double[] getBuffer() { - return buffer; - } - - - /** - * Appends all the elements in the given array to this DoubleBuffer. - * - * @param src the array to copy from - * @return the resulting number of elements in this DoubleBuffer. - */ - public int appendAll(double[] src) { - return append(src, 0, src.length); - } - - - /** - * Appends the specified elements in the given array to this DoubleBuffer. - * - * @param src the array to copy from - * @param srcPos where in the source array to start from - * @param length the number of elements to copy - * @return the resulting number of elements in this DoubleBuffer - */ - public int append(double[] src, int srcPos, int length) { - if (occupancy + length > buffer.length) { - throw new Error("RaisedCosineWindower: " + - "overflow-buffer: attempting to fill " + - "buffer beyond its capacity."); - } - System.arraycopy(src, srcPos, buffer, occupancy, length); - occupancy += length; - return occupancy; - } - - - /** - * If there are less than windowSize elements in this DoubleBuffer, pad the up to windowSize elements with zero. - * - * @param windowSize the window size - */ - public void padWindow(int windowSize) { - if (occupancy < windowSize) { - Arrays.fill(buffer, occupancy, windowSize, 0); - } - } - - - /** Sets the number of elements in this DoubleBuffer to zero, without actually remove the elements. */ - public void reset() { - occupancy = 0; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Arc.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Arc.java deleted file mode 100755 index 02951b98..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Arc.java +++ /dev/null @@ -1,165 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -/** - * The fst's arc implementation. - * - * - * @author John Salatas - */ -public class Arc { - - // Arc's weight - private float weight; - - // input label - private int iLabel; - - // output label - private int oLabel; - - // next state's id - private State nextState; - - /** - * Default Constructor - */ - public Arc() { - } - - /** - * Arc Constructor - * - * @param iLabel the input label's id - * @param oLabel the output label's id - * @param weight the arc's weight - * @param nextState the arc's next state - */ - public Arc(int iLabel, int oLabel, float weight, State nextState) { - this.weight = weight; - this.iLabel = iLabel; - this.oLabel = oLabel; - this.nextState = nextState; - } - - /** - * Get the arc's weight - * @return arc weight - */ - public float getWeight() { - return weight; - } - - /** - * Set the arc's weight - * @param weight arc weight - */ - public void setWeight(float weight) { - this.weight = weight; - } - - /** - * Get the input label's id - * @return label id - */ - public int getIlabel() { - return iLabel; - } - - /** - * Set the input label's id - * - * @param iLabel the input label's id to set - */ - public void setIlabel(int iLabel) { - this.iLabel = iLabel; - } - - /** - * Get the output label's id - * @return output label id - */ - public int getOlabel() { - return oLabel; - } - - /** - * Set the output label's id - * - * @param oLabel the output label's id to set - */ - public void setOlabel(int oLabel) { - this.oLabel = oLabel; - } - - /** - * Get the next state - * @return next state - */ - public State getNextState() { - return nextState; - } - - /** - * Set the next state - * - * @param nextState the next state to set - */ - public void setNextState(State nextState) { - this.nextState = nextState; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Arc other = (Arc) obj; - if (iLabel != other.iLabel) - return false; - if (nextState == null) { - if (other.nextState != null) - return false; - } else if (nextState.getId() != other.nextState.getId()) - return false; - if (oLabel != other.oLabel) - return false; - if (!(weight == other.weight)) { - if (Float.floatToIntBits(weight) != Float - .floatToIntBits(other.weight)) - return false; - } - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return "(" + iLabel + ", " + oLabel + ", " + weight + ", " + nextState - + ")"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Convert.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Convert.java deleted file mode 100755 index 2c796cf1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Convert.java +++ /dev/null @@ -1,282 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import java.io.BufferedReader; -import java.io.DataInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.util.HashMap; - -import edu.cmu.sphinx.fst.semiring.Semiring; -import edu.cmu.sphinx.fst.utils.Utils; - -/** - * Provides the required functionality in order to convert from/to openfst's - * text format - * - * @author John Salatas - */ -public class Convert { - - /** - * Default private Constructor. - */ - private Convert() { - } - - /** - * Exports an fst to the openfst text format Several files are created as - * follows: - basename.input.syms - basename.output.syms - basename.fst.txt - * See OpenFst - * Quick Tour - * - * @param fst - * the fst to export - * @param basename - * the files' base name - * @throws IOException IO went wrong - */ - public static void export(Fst fst, String basename) throws IOException { - exportSymbols(fst.getIsyms(), basename + ".input.syms"); - exportSymbols(fst.getOsyms(), basename + ".output.syms"); - exportFst(fst, basename + ".fst.txt"); - } - - /** - * Exports an fst to the openfst text format - * - * @param fst - * the fst to export - * @param filename - * the openfst's fst.txt filename - * @throws IOException IO went wrong - */ - private static void exportFst(Fst fst, String filename) throws IOException { - FileWriter file; - - file = new FileWriter(filename); - PrintWriter out = new PrintWriter(file); - - // print start first - State start = fst.getStart(); - out.println(start.getId() + "\t" + start.getFinalWeight()); - - // print all states - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - if (s.getId() != fst.getStart().getId()) { - out.println(s.getId() + "\t" + s.getFinalWeight()); - } - } - - String[] isyms = fst.getIsyms(); - String[] osyms = fst.getOsyms(); - numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc arc = s.getArc(j); - String isym = (isyms != null) ? isyms[arc.getIlabel()] - : Integer.toString(arc.getIlabel()); - String osym = (osyms != null) ? osyms[arc.getOlabel()] - : Integer.toString(arc.getOlabel()); - - out.println(s.getId() + "\t" + arc.getNextState().getId() - + "\t" + isym + "\t" + osym + "\t" + arc.getWeight()); - } - } - - out.close(); - - } - - /** - * Exports a symbols' map to the openfst text format - * - * @param syms - * the symbols' map - * @param filename - * the the openfst's symbols filename - * @throws IOException IO went wrong - */ - private static void exportSymbols(String[] syms, String filename) - throws IOException { - if (syms == null) - return; - - FileWriter file = new FileWriter(filename); - PrintWriter out = new PrintWriter(file); - - for (int i = 0; i < syms.length; i++) { - String key = syms[i]; - out.println(key + "\t" + i); - } - - out.close(); - - } - - /** - * Imports an openfst's symbols file - * - * @param filename - * the symbols' filename - * @return HashMap containing the imported string-to-id mapping - * @throws IOException IO went wrong - * @throws NumberFormatException import failed due to input data format - */ - private static HashMap importSymbols(String filename) - throws NumberFormatException, IOException { - - File symfile = new File(filename); - if (!(symfile.exists() && symfile.isFile())) { - return null; - } - - FileInputStream fis = new FileInputStream(filename); - DataInputStream dis = new DataInputStream(fis); - BufferedReader br = new BufferedReader(new InputStreamReader(dis)); - HashMap syms = new HashMap(); - String strLine; - - while ((strLine = br.readLine()) != null) { - String[] tokens = strLine.split("\\t"); - String sym = tokens[0]; - Integer index = Integer.parseInt(tokens[1]); - syms.put(sym, index); - - } - br.close(); - - return syms; - } - - /** - * Imports an openfst text format Several files are imported as follows: - - * basename.input.syms - basename.output.syms - basename.fst.txt - * - * @param basename - * the files' base name - * @param semiring - * the fst's semiring - * @return imported FST - * @throws IOException IO went wrong - * @throws NumberFormatException load failed due to data format issues - */ - public static Fst importFst(String basename, Semiring semiring) - throws NumberFormatException, IOException { - Fst fst = new Fst(semiring); - - HashMap isyms = importSymbols(basename + ".input.syms"); - if (isyms == null) { - isyms = new HashMap(); - isyms.put("", 0); - } - - HashMap osyms = importSymbols(basename - + ".output.syms"); - if (osyms == null) { - osyms = new HashMap(); - osyms.put("", 0); - } - - HashMap ssyms = importSymbols(basename - + ".states.syms"); - - // Parse input - FileInputStream fis = new FileInputStream(basename + ".fst.txt"); - - DataInputStream dis = new DataInputStream(fis); - BufferedReader br = new BufferedReader(new InputStreamReader(dis)); - boolean firstLine = true; - String strLine; - HashMap stateMap = new HashMap(); - - while ((strLine = br.readLine()) != null) { - String[] tokens = strLine.split("\\t"); - Integer inputStateId; - if (ssyms == null) { - inputStateId = Integer.parseInt(tokens[0]); - } else { - inputStateId = ssyms.get(tokens[0]); - } - State inputState = stateMap.get(inputStateId); - if (inputState == null) { - inputState = new State(semiring.zero()); - fst.addState(inputState); - stateMap.put(inputStateId, inputState); - } - - if (firstLine) { - firstLine = false; - fst.setStart(inputState); - } - - if (tokens.length > 2) { - Integer nextStateId; - if (ssyms == null) { - nextStateId = Integer.parseInt(tokens[1]); - } else { - nextStateId = ssyms.get(tokens[1]); - } - - State nextState = stateMap.get(nextStateId); - if (nextState == null) { - nextState = new State(semiring.zero()); - fst.addState(nextState); - stateMap.put(nextStateId, nextState); - } - // Adding arc - if (isyms.get(tokens[2]) == null) { - isyms.put(tokens[2], isyms.size()); - } - int iLabel = isyms.get(tokens[2]); - if (osyms.get(tokens[3]) == null) { - osyms.put(tokens[3], osyms.size()); - } - int oLabel = osyms.get(tokens[3]); - - float arcWeight; - if (tokens.length > 4) { - arcWeight = Float.parseFloat(tokens[4]); - } else { - arcWeight = 0; - } - Arc arc = new Arc(iLabel, oLabel, arcWeight, nextState); - inputState.addArc(arc); - } else { - if (tokens.length > 1) { - float finalWeight = Float.parseFloat(tokens[1]); - inputState.setFinalWeight(finalWeight); - } else { - inputState.setFinalWeight(0.0f); - } - } - } - dis.close(); - - fst.setIsyms(Utils.toStringArray(isyms)); - fst.setOsyms(Utils.toStringArray(osyms)); - - return fst; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Export.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Export.java deleted file mode 100755 index 61aaf2d0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Export.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import java.io.IOException; - - -/** - * Provides a command line utility to convert a java binary fst model to - * openfst's text format - * - * @author John Salatas - */ -public class Export { - /** - * Default Constructor - */ - private Export() { - } - - /** - * Exports a java binary model to openfst text format - * Several files are exported as follows: - * - basename.input.syms - * - basename.output.syms - * - basename.fst.txt - * - * @param args[0] the java binary model filename - * @param args[1] openfst's files basename - * @throws IOException IO went wrong - * @throws ClassNotFoundException loading failed due to failed serialization - */ - public static void main(String[] args) throws IOException, ClassNotFoundException { - if (args.length < 2) { - System.err.println("Input and output files not provided"); - System.err - .println("You need to provide both the input serialized java fst model"); - System.err.println("and the output binary openfst model."); - System.exit(1); - } - - Fst fst = Fst.loadModel(args[0]); - - // Serialize the java fst model to disk - System.out.println("Saving as openfst text model..."); - Convert.export(fst, args[1]); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Fst.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Fst.java deleted file mode 100755 index bf4cdf62..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Fst.java +++ /dev/null @@ -1,492 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.HashMap; -import java.util.HashSet; - -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * A mutable finite state transducer implementation. - * - * Holds an ArrayList of {@link edu.cmu.sphinx.fst.State} objects allowing - * additions/deletions. - * - * @author John Salatas - */ -public class Fst { - - // fst states - private ArrayList states = null; - - // initial state - protected State start; - - // input symbols map - protected String[] isyms; - - // output symbols map - protected String[] osyms; - - // semiring - protected Semiring semiring; - - /** - * Default Constructor - */ - public Fst() { - states = new ArrayList(); - } - - /** - * Constructor specifying the initial capacity of the states ArrayList (this - * is an optimization used in various operations) - * - * @param numStates - * the initial capacity - */ - public Fst(int numStates) { - if (numStates > 0) { - states = new ArrayList(numStates); - } - } - - /** - * Constructor specifying the fst's semiring - * - * @param s - * the fst's semiring - */ - public Fst(Semiring s) { - this(); - this.semiring = s; - } - - /** - * Get the initial states - * @return the initial state - */ - public State getStart() { - return start; - } - - /** - * Get the semiring - * @return - * used semiring - */ - public Semiring getSemiring() { - return semiring; - } - - /** - * Set the Semiring - * - * @param semiring - * the semiring to set - */ - public void setSemiring(Semiring semiring) { - this.semiring = semiring; - } - - /** - * Set the initial state - * - * @param start - * the initial state - */ - public void setStart(State start) { - this.start = start; - } - - /** - * Get the number of states in the fst - * @return number of states - */ - public int getNumStates() { - return this.states.size(); - } - - public State getState(int index) { - return states.get(index); - } - - /** - * Adds a state to the fst - * - * @param state - * the state to be added - */ - public void addState(State state) { - this.states.add(state); - state.id = states.size() - 1; - } - - /** - * Get the input symbols' array - * @return array of input symbols - */ - public String[] getIsyms() { - return isyms; - } - - /** - * Set the input symbols - * - * @param isyms - * the isyms to set - */ - public void setIsyms(String[] isyms) { - this.isyms = isyms; - } - - /** - * Get the output symbols' array - * @return array fo output symbols - */ - public String[] getOsyms() { - return osyms; - } - - /** - * Set the output symbols - * - * @param osyms - * the osyms to set - */ - public void setOsyms(String[] osyms) { - this.osyms = osyms; - } - - /** - * Serializes a symbol map to an ObjectOutputStream - * - * @param out - * the ObjectOutputStream. It should be already be initialized by - * the caller. - * @param map - * the symbol map to serialize - * @throws IOException - */ - private void writeStringMap(ObjectOutputStream out, String[] map) - throws IOException { - out.writeInt(map.length); - for (int i = 0; i < map.length; i++) { - out.writeObject(map[i]); - } - } - - /** - * Serializes the current Fst instance to an ObjectOutputStream - * - * @param out - * the ObjectOutputStream. It should be already be initialized by - * the caller. - * @throws IOException - */ - private void writeFst(ObjectOutputStream out) throws IOException { - writeStringMap(out, isyms); - writeStringMap(out, osyms); - out.writeInt(states.indexOf(start)); - - out.writeObject(semiring); - out.writeInt(states.size()); - - HashMap stateMap = new HashMap( - states.size(), 1.f); - for (int i = 0; i < states.size(); i++) { - State s = states.get(i); - out.writeInt(s.getNumArcs()); - out.writeFloat(s.getFinalWeight()); - out.writeInt(s.getId()); - stateMap.put(s, i); - } - - int numStates = states.size(); - for (int i = 0; i < numStates; i++) { - State s = states.get(i); - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - out.writeInt(a.getIlabel()); - out.writeInt(a.getOlabel()); - out.writeFloat(a.getWeight()); - out.writeInt(stateMap.get(a.getNextState())); - } - } - } - - /** - * Saves binary model to disk - * - * @param filename - * the binary model filename - * @throws IOException if IO went wrong - */ - public void saveModel(String filename) throws IOException { - FileOutputStream fos = new FileOutputStream(filename); - BufferedOutputStream bos = new BufferedOutputStream(fos); - ObjectOutputStream oos = new ObjectOutputStream(bos); - writeFst(oos); - oos.flush(); - oos.close(); - bos.close(); - fos.close(); - } - - /** - * Deserializes a symbol map from an ObjectInputStream - * - * @param in - * the ObjectInputStream. It should be already be initialized by - * the caller. - * @return the deserialized symbol map - * @throws IOException if IO went wrong - * @throws ClassNotFoundException if serialization went wrong - */ - protected static String[] readStringMap(ObjectInputStream in) - throws IOException, ClassNotFoundException { - - int mapSize = in.readInt(); - String[] map = new String[mapSize]; - for (int i = 0; i < mapSize; i++) { - String sym = (String) in.readObject(); - map[i] = sym; - } - - return map; - } - - /** - * Deserializes an Fst from an ObjectInputStream - * - * @param in - * the ObjectInputStream. It should be already be initialized by - * the caller. - * @return - * @throws IOException - * @throws ClassNotFoundException - */ - private static Fst readFst(ObjectInputStream in) throws IOException, - ClassNotFoundException { - String[] is = readStringMap(in); - String[] os = readStringMap(in); - int startid = in.readInt(); - Semiring semiring = (Semiring) in.readObject(); - int numStates = in.readInt(); - Fst res = new Fst(numStates); - res.isyms = is; - res.osyms = os; - res.semiring = semiring; - for (int i = 0; i < numStates; i++) { - int numArcs = in.readInt(); - State s = new State(numArcs + 1); - float f = in.readFloat(); - if (f == res.semiring.zero()) { - f = res.semiring.zero(); - } else if (f == res.semiring.one()) { - f = res.semiring.one(); - } - s.setFinalWeight(f); - s.id = in.readInt(); - res.states.add(s); - } - res.setStart(res.states.get(startid)); - - numStates = res.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s1 = res.getState(i); - for (int j = 0; j < s1.initialNumArcs - 1; j++) { - Arc a = new Arc(); - a.setIlabel(in.readInt()); - a.setOlabel(in.readInt()); - a.setWeight(in.readFloat()); - a.setNextState(res.states.get(in.readInt())); - s1.addArc(a); - } - } - - return res; - } - - /** - * Deserializes an Fst from disk - * - * @param filename - * the binary model filename - * @return deserialized FST - * @throws IOException io IO went wrong - * @throws ClassNotFoundException if serialization went wrong - */ - public static Fst loadModel(String filename) throws IOException, - ClassNotFoundException { - long starttime = Calendar.getInstance().getTimeInMillis(); - Fst obj; - - FileInputStream fis = null; - BufferedInputStream bis = null; - ObjectInputStream ois = null; - fis = new FileInputStream(filename); - bis = new BufferedInputStream(fis); - ois = new ObjectInputStream(bis); - obj = readFst(ois); - ois.close(); - bis.close(); - fis.close(); - - System.err.println("Load Time: " - + (Calendar.getInstance().getTimeInMillis() - starttime) - / 1000.); - return obj; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Fst other = (Fst) obj; - if (!Arrays.equals(isyms, other.isyms)) - return false; - if (!Arrays.equals(osyms, other.osyms)) - return false; - if (start == null) { - if (other.start != null) - return false; - } else if (!start.equals(other.start)) - return false; - if (states == null) { - if (other.states != null) - return false; - } else if (!states.equals(other.states)) - return false; - if (semiring == null) { - if (other.semiring != null) - return false; - } else if (!semiring.equals(other.semiring)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Fst(start=" + start + ", isyms=" + isyms + ", osyms=" - + osyms + ", semiring=" + semiring + ")\n"); - int numStates = states.size(); - for (int i = 0; i < numStates; i++) { - State s = states.get(i); - sb.append(" " + s + "\n"); - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - sb.append(" " + a + "\n"); - } - } - - return sb.toString(); - } - - /** - * Deletes a state - * - * @param state - * the state to delete - */ - public void deleteState(State state) { - - if (state == start) { - System.err.println("Cannot delete start state."); - return; - } - - states.remove(state); - - for (State s1 : states) { - ArrayList newArcs = new ArrayList(); - for (int j = 0; j < s1.getNumArcs(); j++) { - Arc a = s1.getArc(j); - if (!a.getNextState().equals(state)) { - newArcs.add(a); - } - } - s1.setArcs(newArcs); - } - } - - /** - * Remaps the states' ids. - * - * States' ids are renumbered starting from 0 up to @see - * {@link edu.cmu.sphinx.fst.Fst#getNumStates()} - */ - public void remapStateIds() { - int numStates = states.size(); - for (int i = 0; i < numStates; i++) { - states.get(i).id = i; - } - - } - - public void deleteStates(HashSet toDelete) { - - if (toDelete.contains(start)) { - System.err.println("Cannot delete start state."); - return; - } - - ArrayList newStates = new ArrayList(); - - for (State s1 : states) { - if (!toDelete.contains(s1)) { - newStates.add(s1); - ArrayList newArcs = new ArrayList(); - for (int j = 0; j < s1.getNumArcs(); j++) { - Arc a = s1.getArc(j); - if (!toDelete.contains(a.getNextState())) { - newArcs.add(a); - } - } - s1.setArcs(newArcs); - } - } - states = newStates; - - remapStateIds(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableFst.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableFst.java deleted file mode 100755 index c1a75bfd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableFst.java +++ /dev/null @@ -1,266 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst; - -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.util.Arrays; - -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * An immutable finite state transducer implementation. - * - * Holds a fixed size array of {@link edu.cmu.sphinx.fst.ImmutableState} objects - * not allowing additions/deletions - * - * @author John Salatas - */ -public class ImmutableFst extends Fst { - - // fst states - private ImmutableState[] states = null; - - // number of states - private int numStates; - - /** - * Default private constructor. - * - * An ImmutableFst cannot be created directly. It needs to be deserialized. - * - * @see edu.cmu.sphinx.fst.ImmutableFst#loadModel(String) - */ - private ImmutableFst() { - - } - - /** - * Private Constructor specifying the capacity of the states array - * - * An ImmutableFst cannot be created directly. It needs to be deserialized. - * - * @see edu.cmu.sphinx.fst.ImmutableFst#loadModel(String) - * - * @param numStates - * the number of fst's states - */ - private ImmutableFst(int numStates) { - super(0); - this.numStates = numStates; - this.states = new ImmutableState[numStates]; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#getNumStates() - */ - @Override - public int getNumStates() { - return this.numStates; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#getState(int) - */ - @Override - public ImmutableState getState(int index) { - return states[index]; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#addState(edu.cmu.sphinx.fst.State) - */ - @Override - public void addState(State state) { - throw new IllegalArgumentException("You cannot modify an ImmutableFst."); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#saveModel(java.lang.String) - */ - @Override - public void saveModel(String filename) throws IOException { - throw new IllegalArgumentException( - "You cannot serialize an ImmutableFst."); - } - - /** - * Deserializes an ImmutableFst from an ObjectInputStream - * - * @param in - * the ObjectInputStream. It should be already be initialized by - * the caller. - * @return - * @throws IOException - * @throws ClassNotFoundException - */ - private static ImmutableFst readImmutableFst(ObjectInputStream in) - throws IOException, ClassNotFoundException { - String[] is = readStringMap(in); - String[] os = readStringMap(in); - int startid = in.readInt(); - Semiring semiring = (Semiring) in.readObject(); - int numStates = in.readInt(); - ImmutableFst res = new ImmutableFst(numStates); - res.isyms = is; - res.osyms = os; - res.semiring = semiring; - for (int i = 0; i < numStates; i++) { - int numArcs = in.readInt(); - ImmutableState s = new ImmutableState(numArcs + 1); - float f = in.readFloat(); - if (f == res.semiring.zero()) { - f = res.semiring.zero(); - } else if (f == res.semiring.one()) { - f = res.semiring.one(); - } - s.setFinalWeight(f); - s.id = in.readInt(); - res.states[s.getId()] = s; - } - res.setStart(res.states[startid]); - - numStates = res.states.length; - for (int i = 0; i < numStates; i++) { - ImmutableState s1 = res.states[i]; - for (int j = 0; j < s1.initialNumArcs - 1; j++) { - Arc a = new Arc(); - a.setIlabel(in.readInt()); - a.setOlabel(in.readInt()); - a.setWeight(in.readFloat()); - a.setNextState(res.states[in.readInt()]); - s1.setArc(j, a); - } - } - - return res; - } - - /** - * Deserializes an ImmutableFst from an InputStream - * - * @param inputStream - * the InputStream. It should be already be initialized by the - * caller. - * @return Immutable FST structure - * @throws IOException IO went wrong - * @throws ClassNotFoundException serialization had issues - */ - public static ImmutableFst loadModel(InputStream inputStream) - throws IOException, ClassNotFoundException { - ImmutableFst obj; - - BufferedInputStream bis = null; - ObjectInputStream ois = null; - bis = new BufferedInputStream(inputStream); - ois = new ObjectInputStream(bis); - obj = readImmutableFst(ois); - ois.close(); - bis.close(); - inputStream.close(); - - return obj; - } - - /** - * Deserializes an ImmutableFst from disk - * - * @param filename - * the binary model filename - * @return loaded FST - */ - public static ImmutableFst loadModel(String filename) { - ImmutableFst obj; - - try { - FileInputStream fis = null; - BufferedInputStream bis = null; - ObjectInputStream ois = null; - fis = new FileInputStream(filename); - bis = new BufferedInputStream(fis); - ois = new ObjectInputStream(bis); - obj = readImmutableFst(ois); - ois.close(); - bis.close(); - fis.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - return null; - } catch (IOException e) { - e.printStackTrace(); - return null; - } catch (ClassNotFoundException e) { - e.printStackTrace(); - return null; - } - - return obj; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#deleteState(edu.cmu.sphinx.fst.State) - */ - @Override - public void deleteState(State state) { - throw new IllegalArgumentException("You cannot modify an ImmutableFst."); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.Fst#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Fst(start=" + start + ", isyms=" + isyms + ", osyms=" - + osyms + ", semiring=" + semiring + ")\n"); - int numStates = states.length; - for (int i = 0; i < numStates; i++) { - State s = states[i]; - sb.append(" " + s + "\n"); - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - sb.append(" " + a + "\n"); - } - } - - return sb.toString(); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (getClass() != obj.getClass()) - return false; - ImmutableFst other = (ImmutableFst) obj; - if (!Arrays.equals(states, other.states)) - return false; - if (!super.equals(obj)) - return false; - return true; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableState.java deleted file mode 100755 index becb86db..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/ImmutableState.java +++ /dev/null @@ -1,148 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst; - -import java.util.Arrays; -import java.util.Comparator; - -/** - * The fst's immutable state implementation. - * - * holds its outgoing {@link edu.cmu.sphinx.fst.Arc} objects in a fixed size - * array not allowing additions/deletions. - * - * @author John Salatas - */ -public class ImmutableState extends State { - - // Outgoing arcs - private Arc[] arcs = null; - - /** - * Default protected constructor. - * - * An ImmutableState cannot be created directly. It needs to be deserialized - * as part of an ImmutableFst. - * - * @see edu.cmu.sphinx.fst.ImmutableFst#loadModel(String) - * - */ - protected ImmutableState() { - } - - /** - * Constructor specifying the capacity of the arcs array. - * - * @param numArcs number of arcs - */ - protected ImmutableState(int numArcs) { - super(0); - this.initialNumArcs = numArcs; - arcs = new Arc[numArcs]; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.State#arcSort(java.util.Comparator) - */ - @Override - public void arcSort(Comparator cmp) { - Arrays.sort(arcs, cmp); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.State#addArc(edu.cmu.sphinx.fst.Arc) - */ - @Override - public void addArc(Arc arc) { - throw new IllegalArgumentException( - "You cannot modify an ImmutableState."); - } - - /** - * Set an arc at the specified position in the arcs' array. - * - * @param index the position to the arcs' array - * @param arc the arc value to set - */ - @Override - public void setArc(int index, Arc arc) { - arcs[index] = arc; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.State#deleteArc(int) - */ - @Override - public Arc deleteArc(int index) { - throw new IllegalArgumentException( - "You cannot modify an ImmutableState."); - } - - /** - * Set the state's arcs array - * - * @param arcs the arcs array to set - */ - public void setArcs(Arc[] arcs) { - this.arcs = arcs; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.State#getNumArcs() - */ - @Override - public int getNumArcs() { - return initialNumArcs; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.State#getArc(int) - */ - @Override - public Arc getArc(int index) { - return this.arcs[index]; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + id; - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (getClass() != obj.getClass()) - return false; - ImmutableState other = (ImmutableState) obj; - if (!Arrays.equals(arcs, other.arcs)) - return false; - if (!super.equals(obj)) - return false; - return true; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Import.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Import.java deleted file mode 100755 index 11e286c8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/Import.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import java.io.IOException; - -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - -/** - * Provides a command line utility to convert an Fst in openfst's text format to - * java binary fst model - * - * @author John Salatas - */ -public class Import { - - /** - * Default Constructor - */ - private Import() { - } - - /** - * Imports an openfst text format and serializes it as java binary model - * Several files are imported as follows: - basename.input.syms - - * basename.output.syms - basename.fst.txt - * - * @param args[0] openfst's files basename - * @param args[1] the java binary model filename - * @throws IOException IO went wrong - * @throws NumberFormatException data has wrong input format - */ - public static void main(String[] args) throws NumberFormatException, IOException { - if (args.length < 2) { - System.err.println("Input and output files not provided"); - System.err - .println("You need to provide both the input binary openfst model"); - System.err.println("and the output serialized java fst model."); - System.exit(1); - } - - Fst fst = Convert.importFst(args[0], new TropicalSemiring()); - - // Serialize the java fst model to disk - System.out.println("Saving as binary java fst model..."); - try { - fst.saveModel(args[1]); - - } catch (IOException e) { - System.err.println("Cannot write to file " + args[1]); - System.exit(1); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/State.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/State.java deleted file mode 100755 index e2a9de28..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/State.java +++ /dev/null @@ -1,212 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; - -/** - * The fst's mutable state implementation. - * - * Holds its outgoing {@link edu.cmu.sphinx.fst.Arc} objects in an ArrayList - * allowing additions/deletions - * - * @author John Salatas - */ -public class State { - - // State's Id - protected int id = -1; - - // Final weight - private float fnlWeight; - - // Outgoing arcs - private ArrayList arcs = null; - - // initial number of arcs - protected int initialNumArcs = -1; - - /** - * Default Constructor - */ - protected State() { - arcs = new ArrayList(); - } - - /** - * Constructor specifying the state's final weight - * - * @param fnlWeight final weight - */ - public State(float fnlWeight) { - this(); - this.fnlWeight = fnlWeight; - } - - /** - * Constructor specifying the initial capacity of the arc's ArrayList (this - * is an optimization used in various operations) - * - * @param initialNumArcs number of arcs - */ - public State(int initialNumArcs) { - this.initialNumArcs = initialNumArcs; - if (initialNumArcs > 0) { - arcs = new ArrayList(initialNumArcs); - } - } - - /** - * Shorts the arc's ArrayList based on the provided Comparator - * @param cmp comparator - */ - public void arcSort(Comparator cmp) { - Collections.sort(arcs, cmp); - } - - /** - * Get the state's final Weight - * @return final weight - */ - public float getFinalWeight() { - return fnlWeight; - } - - /** - * Set the state's arcs ArrayList - * - * @param arcs the arcs ArrayList to set - */ - public void setArcs(ArrayList arcs) { - this.arcs = arcs; - } - - /** - * Set the state's final weight - * - * @param fnlfloat the final weight to set - */ - public void setFinalWeight(float fnlfloat) { - this.fnlWeight = fnlfloat; - } - - /** - * Get the state's id - * @return state id - */ - public int getId() { - return id; - } - - /** - * Get the number of outgoing arcs - * @return number of arcs - */ - public int getNumArcs() { - return this.arcs.size(); - } - - /** - * Add an outgoing arc to the state - * - * @param arc the arc to add - */ - public void addArc(Arc arc) { - this.arcs.add(arc); - } - - /** - * Get an arc based on it's index the arcs ArrayList - * - * @param index the arc's index - * @return the arc - */ - public Arc getArc(int index) { - return this.arcs.get(index); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - State other = (State) obj; - if (id != other.id) - return false; - if (!(fnlWeight == other.fnlWeight)) { - if (Float.floatToIntBits(fnlWeight) != Float - .floatToIntBits(other.fnlWeight)) - return false; - } - if (arcs == null) { - if (other.arcs != null) - return false; - } else if (!arcs.equals(other.arcs)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("(" + id + ", " + fnlWeight + ")"); - return sb.toString(); - } - - /** - * Delete an arc based on its index - * - * @param index the arc's index - * @return the deleted arc - */ - public Arc deleteArc(int index) { - return this.arcs.remove(index); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - return id * 991; - } - - /** - * Set an arc at the specified position in the arcs' ArrayList. - * - * @param index the position to the arcs' array - * @param arc the arc value to set - */ - public void setArc(int index, Arc arc) { - arcs.set(index, arc); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ArcSort.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ArcSort.java deleted file mode 100755 index a1f9b452..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ArcSort.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.Comparator; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; - -/** - * ArcSort operation. - * - * @author John Salatas - */ -public class ArcSort { - /** - * Default Constructor - */ - private ArcSort() { - } - - /** - * Applies the ArcSort on the provided fst. Sorting can be applied either on - * input or output label based on the provided comparator. - * - * ArcSort can be applied to both {@link edu.cmu.sphinx.fst.Fst} and - * {@link edu.cmu.sphinx.fst.ImmutableFst} - * - * @param fst the fst to sort it's arcs - * @param cmp the provided Comparator - */ - public static void apply(Fst fst, Comparator cmp) { - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - s.arcSort(cmp); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Compose.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Compose.java deleted file mode 100755 index 457ab845..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Compose.java +++ /dev/null @@ -1,270 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Queue; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.ImmutableFst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.semiring.Semiring; -import edu.cmu.sphinx.fst.utils.Pair; - -/** - * Compose operation. - * - * See: M. Mohri, "Weighted automata algorithms", Handbook of Weighted Automata. - * Springer, pp. 213-250, 2009. - * - * @author John Salatas - */ - -public class Compose { - /** - * Default Constructor - */ - private Compose() { - } - - /** - * Computes the composition of two Fsts. Assuming no epsilon transitions. - * - * Input Fsts are not modified. - * - * @param fst1 the first Fst - * @param fst2 the second Fst - * @param semiring the semiring to use in the operation - * @param sorted sort result - * @return the composed Fst - */ - public static Fst compose(Fst fst1, Fst fst2, Semiring semiring, - boolean sorted) { - if (!Arrays.equals(fst1.getOsyms(), fst2.getIsyms())) { - // symboltables do not match - return null; - } - - Fst res = new Fst(semiring); - - HashMap, State> stateMap = new HashMap, State>(); - Queue> queue = new LinkedList>(); - - State s1 = fst1.getStart(); - State s2 = fst2.getStart(); - - if ((s1 == null) || (s2 == null)) { - System.err.println("Cannot find initial state."); - return null; - } - - Pair p = new Pair(s1, s2); - State s = new State(semiring.times(s1.getFinalWeight(), - s2.getFinalWeight())); - - res.addState(s); - res.setStart(s); - stateMap.put(p, s); - queue.add(p); - - while (!queue.isEmpty()) { - p = queue.remove(); - s1 = p.getLeft(); - s2 = p.getRight(); - s = stateMap.get(p); - int numArcs1 = s1.getNumArcs(); - int numArcs2 = s2.getNumArcs(); - for (int i = 0; i < numArcs1; i++) { - Arc a1 = s1.getArc(i); - for (int j = 0; j < numArcs2; j++) { - Arc a2 = s2.getArc(j); - if (sorted && a1.getOlabel() < a2.getIlabel()) - break; - if (a1.getOlabel() == a2.getIlabel()) { - State nextState1 = a1.getNextState(); - State nextState2 = a2.getNextState(); - Pair nextPair = new Pair( - nextState1, nextState2); - State nextState = stateMap.get(nextPair); - if (nextState == null) { - nextState = new State(semiring.times( - nextState1.getFinalWeight(), - nextState2.getFinalWeight())); - res.addState(nextState); - stateMap.put(nextPair, nextState); - queue.add(nextPair); - } - Arc a = new Arc(a1.getIlabel(), a2.getOlabel(), - semiring.times(a1.getWeight(), a2.getWeight()), - nextState); - s.addArc(a); - } - } - } - } - - res.setIsyms(fst1.getIsyms()); - res.setOsyms(fst2.getOsyms()); - - return res; - } - - /** - * Computes the composition of two Fsts. The two Fsts are augmented in order - * to avoid multiple epsilon paths in the resulting Fst - * - * @param fst1 the first Fst - * @param fst2 the second Fst - * @param semiring the semiring to use in the operation - * @return the composed Fst - */ - public static Fst get(Fst fst1, Fst fst2, Semiring semiring) { - if ((fst1 == null) || (fst2 == null)) { - return null; - } - - if (!Arrays.equals(fst1.getOsyms(), fst2.getIsyms())) { - // symboltables do not match - return null; - } - - Fst filter = getFilter(fst1.getOsyms(), semiring); - augment(1, fst1, semiring); - augment(0, fst2, semiring); - - Fst tmp = Compose.compose(fst1, filter, semiring, false); - - Fst res = Compose.compose(tmp, fst2, semiring, false); - - // Connect.apply(res); - - return res; - } - - /** - * Get a filter to use for avoiding multiple epsilon paths in the resulting - * Fst - * - * See: M. Mohri, "Weighted automata algorithms", Handbook of Weighted - * Automata. Springer, pp. 213-250, 2009. - * - * @param syms the gilter's input/output symbols - * @param semiring the semiring to use in the operation - * @return the filter - */ - public static Fst getFilter(String[] syms, Semiring semiring) { - Fst filter = new Fst(semiring); - - int e1index = syms.length; - int e2index = syms.length + 1; - - filter.setIsyms(syms); - filter.setOsyms(syms); - - // State 0 - State s0 = new State(syms.length + 3); - s0.setFinalWeight(semiring.one()); - State s1 = new State(syms.length); - s1.setFinalWeight(semiring.one()); - State s2 = new State(syms.length); - s2.setFinalWeight(semiring.one()); - filter.addState(s0); - s0.addArc(new Arc(e2index, e1index, semiring.one(), s0)); - s0.addArc(new Arc(e1index, e1index, semiring.one(), s1)); - s0.addArc(new Arc(e2index, e2index, semiring.one(), s2)); - for (int i = 1; i < syms.length; i++) { - s0.addArc(new Arc(i, i, semiring.one(), s0)); - } - filter.setStart(s0); - - // State 1 - filter.addState(s1); - s1.addArc(new Arc(e1index, e1index, semiring.one(), s1)); - for (int i = 1; i < syms.length; i++) { - s1.addArc(new Arc(i, i, semiring.one(), s0)); - } - - // State 2 - filter.addState(s2); - s2.addArc(new Arc(e2index, e2index, semiring.one(), s2)); - for (int i = 1; i < syms.length; i++) { - s2.addArc(new Arc(i, i, semiring.one(), s0)); - } - - return filter; - } - - /** - * Augments the labels of an Fst in order to use it for composition avoiding - * multiple epsilon paths in the resulting Fst - * - * Augment can be applied to both {@link edu.cmu.sphinx.fst.Fst} and - * {@link edu.cmu.sphinx.fst.ImmutableFst}, as immutable fsts hold an - * additional null arc for that operation - * - * @param label constant denoting if the augment should take place on input - * or output labels For value equal to 0 augment will take place - * for input labels For value equal to 1 augment will take place - * for output labels - * @param fst the fst to augment - * @param semiring the semiring to use in the operation - */ - public static void augment(int label, Fst fst, Semiring semiring) { - // label: 0->augment on ilabel - // 1->augment on olabel - - String[] isyms = fst.getIsyms(); - String[] osyms = fst.getOsyms(); - - int e1inputIndex = isyms.length; - int e2inputIndex = isyms.length + 1; - - int e1outputIndex = osyms.length; - int e2outputIndex = osyms.length + 1; - - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - // Immutable fsts hold an additional (null) arc for augmention - int numArcs = (fst instanceof ImmutableFst) ? s.getNumArcs() - 1 - : s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - if ((label == 1) && (a.getOlabel() == 0)) { - a.setOlabel(e2outputIndex); - } else if ((label == 0) && (a.getIlabel() == 0)) { - a.setIlabel(e1inputIndex); - } - } - if (label == 0) { - if (fst instanceof ImmutableFst) { - s.setArc(numArcs, new Arc(e2inputIndex, 0, semiring.one(), - s)); - } else { - s.addArc(new Arc(e2inputIndex, 0, semiring.one(), s)); - } - } else if (label == 1) { - if (fst instanceof ImmutableFst) { - s.setArc(numArcs, new Arc(0, e1outputIndex, semiring.one(), - s)); - } else { - s.addArc(new Arc(0, e1outputIndex, semiring.one(), s)); - } - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Connect.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Connect.java deleted file mode 100755 index 5d96fcce..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Connect.java +++ /dev/null @@ -1,183 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.ArrayList; -import java.util.HashSet; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * Connect operation. - * - * @author John Salatas - * - */ -public class Connect { - /** - * Calculates the coaccessible states of an fst - */ - private static void calcCoAccessible(Fst fst, State state, - ArrayList> paths, HashSet coaccessible) { - // hold the coaccessible added in this loop - ArrayList newCoAccessibles = new ArrayList(); - for (ArrayList path : paths) { - int index = path.lastIndexOf(state); - if (index != -1) { - if (state.getFinalWeight() != fst.getSemiring().zero() - || coaccessible.contains(state)) { - for (int j = index; j > -1; j--) { - if (!coaccessible.contains(path.get(j))) { - newCoAccessibles.add(path.get(j)); - coaccessible.add(path.get(j)); - } - } - } - } - } - - // run again for the new coaccessibles - for (State s : newCoAccessibles) { - calcCoAccessible(fst, s, paths, coaccessible); - } - } - - /** - * Copies a path - */ - private static void duplicatePath(int lastPathIndex, State fromState, - State toState, ArrayList> paths) { - ArrayList lastPath = paths.get(lastPathIndex); - // copy the last path to a new one, from start to current state - int fromIndex = lastPath.indexOf(fromState); - int toIndex = lastPath.indexOf(toState); - if (toIndex == -1) { - toIndex = lastPath.size() - 1; - } - ArrayList newPath = new ArrayList(lastPath.subList( - fromIndex, toIndex)); - paths.add(newPath); - } - - /** - * The depth first search recursion - */ - private static State depthFirstSearchNext(Fst fst, State start, - ArrayList> paths, ArrayList[] exploredArcs, - HashSet accessible) { - int lastPathIndex = paths.size() - 1; - - ArrayList currentExploredArcs = exploredArcs[start.getId()]; - paths.get(lastPathIndex).add(start); - if (start.getNumArcs() != 0) { - int arcCount = 0; - int numArcs = start.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc arc = start.getArc(j); - if ((currentExploredArcs == null) - || !currentExploredArcs.contains(arc)) { - lastPathIndex = paths.size() - 1; - if (arcCount++ > 0) { - duplicatePath(lastPathIndex, fst.getStart(), start, - paths); - lastPathIndex = paths.size() - 1; - paths.get(lastPathIndex).add(start); - } - State next = arc.getNextState(); - addExploredArc(start.getId(), arc, exploredArcs); - // detect self loops - if (next.getId() != start.getId()) { - depthFirstSearchNext(fst, next, paths, exploredArcs, accessible); - } - } - } - } - lastPathIndex = paths.size() - 1; - accessible.add(start); - - return start; - } - - /** - * Adds an arc top the explored arcs list - */ - private static void addExploredArc(int stateId, Arc arc, - ArrayList[] exploredArcs) { - if (exploredArcs[stateId] == null) { - exploredArcs[stateId] = new ArrayList(); - } - exploredArcs[stateId].add(arc); - - } - - /** - * Initialization of a depth first search recursion - */ - private static void depthFirstSearch(Fst fst, HashSet accessible, - ArrayList> paths, ArrayList[] exploredArcs, - HashSet coaccessible) { - State currentState = fst.getStart(); - State nextState = currentState; - do { - if (!accessible.contains(currentState)) { - nextState = depthFirstSearchNext(fst, currentState, paths, exploredArcs, - accessible); - } - } while (currentState.getId() != nextState.getId()); - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - if (s.getFinalWeight() != fst.getSemiring().zero()) { - calcCoAccessible(fst, s, paths, coaccessible); - } - } - } - - /** - * Trims an Fst, removing states and arcs that are not on successful paths. - * - * @param fst the fst to trim - */ - public static void apply(Fst fst) { - Semiring semiring = fst.getSemiring(); - if (semiring == null) { - System.out.println("Fst has no semiring."); - return; - } - - HashSet accessible = new HashSet(); - HashSet coaccessible = new HashSet(); - @SuppressWarnings("unchecked") - ArrayList[] exploredArcs = new ArrayList[fst.getNumStates()]; - - ArrayList> paths = new ArrayList>(); - paths.add(new ArrayList()); - - depthFirstSearch(fst, accessible, paths, exploredArcs, coaccessible); - - HashSet toDelete = new HashSet(); - - for (int i = 0; i < fst.getNumStates(); i++) { - State s = fst.getState(i); - if (!(accessible.contains(s) || coaccessible.contains(s))) { - toDelete.add(s); - } - } - - fst.deleteStates(toDelete); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Determinize.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Determinize.java deleted file mode 100755 index 68585dbe..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Determinize.java +++ /dev/null @@ -1,192 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst.operations; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Queue; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.semiring.Semiring; -import edu.cmu.sphinx.fst.utils.Pair; - -/** - * Determize operation. - * - * See: M. Mohri, "Finite-State Transducers in Language and Speech Processing", - * Computational Linguistics, 23:2, 1997. - * - * @author John Salatas - * - */ -public class Determinize { - - /** - * Default constructor - */ - private Determinize() { - - } - - private static Pair getPair( - ArrayList> queue, State state, Float zero) { - Pair res = null; - for (Pair tmp : queue) { - if (state.getId() == tmp.getLeft().getId()) { - res = tmp; - break; - } - } - - if (res == null) { - res = new Pair(state, zero); - queue.add(res); - } - - return res; - } - - private static ArrayList getUniqueLabels(Fst fst, - ArrayList> pa) { - ArrayList res = new ArrayList(); - - for (Pair p : pa) { - State s = p.getLeft(); - - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc arc = s.getArc(j); - if (!res.contains(arc.getIlabel())) { - res.add(arc.getIlabel()); - } - } - } - return res; - } - - private static State getStateLabel(ArrayList> pa, - HashMap stateMapper) { - StringBuilder sb = new StringBuilder(); - - for (Pair p : pa) { - if (sb.length() > 0) { - sb.append(","); - } - sb.append("(" + p.getLeft() + "," + p.getRight() + ")"); - } - return stateMapper.get(sb.toString()); - } - - /** - * Determinizes an fst. The result will be an equivalent fst that has the - * property that no state has two transitions with the same input label. For - * this algorithm, epsilon transitions are treated as regular symbols. - * - * @param fst the fst to determinize - * @return the determinized fst - */ - public static Fst get(Fst fst) { - - if (fst.getSemiring() == null) { - // semiring not provided - return null; - } - - // initialize the queue and new fst - Semiring semiring = fst.getSemiring(); - Fst res = new Fst(semiring); - res.setIsyms(fst.getIsyms()); - res.setOsyms(fst.getOsyms()); - - // stores the queue (item in index 0 is next) - Queue>> queue = new LinkedList>>(); - - HashMap stateMapper = new HashMap(); - - State s = new State(semiring.zero()); - String stateString = "(" + fst.getStart() + "," + semiring.one() + ")"; - queue.add(new ArrayList>()); - queue.peek().add(new Pair(fst.getStart(), semiring.one())); - res.addState(s); - stateMapper.put(stateString, s); - res.setStart(s); - - while (!queue.isEmpty()) { - ArrayList> p = queue.remove(); - State pnew = getStateLabel(p, stateMapper); - queue.remove(0); - ArrayList labels = getUniqueLabels(fst, p); - for (int label : labels) { - Float wnew = semiring.zero(); - // calc w' - for (Pair ps : p) { - State old = ps.getLeft(); - Float u = ps.getRight(); - int numArcs = old.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc arc = old.getArc(j); - if (label == arc.getIlabel()) { - wnew = semiring.plus(wnew, - semiring.times(u, arc.getWeight())); - } - } - } - - // calc new states - // keep residual weights to variable forQueue - ArrayList> forQueue = new ArrayList>(); - for (Pair ps : p) { - State old = ps.getLeft(); - Float u = ps.getRight(); - Float wnewRevert = semiring.divide(semiring.one(), wnew); - int numArcs = old.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc arc = old.getArc(j); - if (label == arc.getIlabel()) { - State oldstate = arc.getNextState(); - Pair pair = getPair(forQueue, - oldstate, semiring.zero()); - pair.setRight(semiring.plus( - pair.getRight(), - semiring.times(wnewRevert, - semiring.times(u, arc.getWeight())))); - } - } - } - - // build new state's id and new elements for queue - String qnewid = ""; - for (Pair ps : forQueue) { - State old = ps.getLeft(); - Float unew = ps.getRight(); - if (!qnewid.equals("")) { - qnewid = qnewid + ","; - } - qnewid = qnewid + "(" + old + "," + unew + ")"; - } - - if (stateMapper.get(qnewid) == null) { - State qnew = new State(semiring.zero()); - res.addState(qnew); - stateMapper.put(qnewid, qnew); - // update new state's weight - Float fw = qnew.getFinalWeight(); - for (Pair ps : forQueue) { - fw = semiring.plus(fw, semiring.times(ps.getLeft() - .getFinalWeight(), ps.getRight())); - } - qnew.setFinalWeight(fw); - - queue.add(forQueue); - } - pnew.addArc(new Arc(label, label, wnew, stateMapper.get(qnewid))); - } - } - - return res; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ExtendFinal.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ExtendFinal.java deleted file mode 100755 index 97b8816f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ExtendFinal.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.ArrayList; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * Extend an Fst to a single final state and undo operations. - * - * @author John Salatas - */ -public class ExtendFinal { - - /** - * Default Contructor - */ - private ExtendFinal() { - } - - /** - * Extends an Fst to a single final state. - * - * It adds a new final state with a 0.0 (Semiring's 1) final wight and - * connects the current final states to it using epsilon transitions with - * weight equal to the original final state's weight. - * - * @param fst the Fst to extend - */ - public static void apply(Fst fst) { - Semiring semiring = fst.getSemiring(); - ArrayList fStates = new ArrayList(); - - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - if (s.getFinalWeight() != semiring.zero()) { - fStates.add(s); - } - } - - // Add a new single final - State newFinal = new State(semiring.one()); - fst.addState(newFinal); - for (State s : fStates) { - // add epsilon transition from the old final to the new one - s.addArc(new Arc(0, 0, s.getFinalWeight(), newFinal)); - // set old state's weight to zero - s.setFinalWeight(semiring.zero()); - } - } - - /** - * Undo of the extend operation - * @param fst fst to work with - */ - public static void undo(Fst fst) { - State f = null; - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - if (s.getFinalWeight() != fst.getSemiring().zero()) { - f = s; - break; - } - } - - if (f == null) { - System.err.println("Final state not found."); - return; - } - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - for (int j = 0; j < s.getNumArcs(); j++) { - Arc a = s.getArc(j); - if (a.getIlabel() == 0 && a.getOlabel() == 0 - && a.getNextState().getId() == f.getId()) { - s.setFinalWeight(a.getWeight()); - } - } - } - fst.deleteState(f); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ILabelCompare.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ILabelCompare.java deleted file mode 100755 index 8f839ac9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ILabelCompare.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.Comparator; - -import edu.cmu.sphinx.fst.Arc; - -/** - * Comparator used in {@link edu.cmu.sphinx.fst.operations.ArcSort} for sorting - * based on input labels - * - * @author John Salatas - */ -public class ILabelCompare implements Comparator { - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(Arc o1, Arc o2) { - if(o1 == null) { - return 1; - } - if(o2 == null) { - return -1; - } - - return (o1.getIlabel() < o2.getIlabel()) ? -1 : ((o1.getIlabel() == o2 - .getIlabel()) ? 0 : 1); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/NShortestPaths.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/NShortestPaths.java deleted file mode 100755 index e97dbfa4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/NShortestPaths.java +++ /dev/null @@ -1,213 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.PriorityQueue; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.utils.Pair; -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * N-shortest paths operation. - * - * See: M. Mohri, M. Riley, - * "An Efficient Algorithm for the n-best-strings problem", Proceedings of the - * International Conference on Spoken Language Processing 2002 (ICSLP '02). - * - * See: M. Mohri, - * "Semiring Framework and Algorithms for Shortest-Distance Problems", Journal - * of Automata, Languages and Combinatorics, 7(3), pp. 321-350, 2002. - * - * @author John Salatas - * - */ -public class NShortestPaths { - private NShortestPaths() { - } - - /** - * Calculates the shortest distances from each state to the final - * - * @param fst - * the fst to calculate the shortest distances - * @return the array containing the shortest distances - */ - public static float[] shortestDistance(Fst fst) { - - Fst reversed = Reverse.get(fst); - - float[] d = new float[reversed.getNumStates()]; - float[] r = new float[reversed.getNumStates()]; - - Semiring semiring = reversed.getSemiring(); - - Arrays.fill(d, semiring.zero()); - Arrays.fill(r, semiring.zero()); - - LinkedHashSet queue = new LinkedHashSet(); - - queue.add(reversed.getStart()); - - d[reversed.getStart().getId()] = semiring.one(); - r[reversed.getStart().getId()] = semiring.one(); - - while (!queue.isEmpty()) { - State q = queue.iterator().next(); - queue.remove(q); - - float rnew = r[q.getId()]; - r[q.getId()] = semiring.zero(); - - for (int i = 0; i < q.getNumArcs(); i++) { - Arc a = q.getArc(i); - State nextState = a.getNextState(); - float dnext = d[a.getNextState().getId()]; - float dnextnew = semiring.plus(dnext, - semiring.times(rnew, a.getWeight())); - if (dnext != dnextnew) { - d[a.getNextState().getId()] = dnextnew; - r[a.getNextState().getId()] = semiring.plus(r[a - .getNextState().getId()], semiring.times(rnew, - a.getWeight())); - if (!queue.contains(nextState.getId())) { - queue.add(nextState); - } - } - } - } - return d; - } - - /** - * Calculates the n-best shortest path from the initial to the final state. - * - * @param fst - * the fst to calculate the nbest shortest paths - * @param n - * number of best paths to return - * @param determinize - * if true the input fst will bwe determinized prior the - * operation - * @return an fst containing the n-best shortest paths - */ - public static Fst get(Fst fst, int n, boolean determinize) { - if (fst == null) { - return null; - } - - if (fst.getSemiring() == null) { - return null; - } - Fst fstdet = fst; - if (determinize) { - fstdet = Determinize.get(fst); - } - final Semiring semiring = fstdet.getSemiring(); - Fst res = new Fst(semiring); - res.setIsyms(fstdet.getIsyms()); - res.setOsyms(fstdet.getOsyms()); - - final float[] d = shortestDistance(fstdet); - - ExtendFinal.apply(fstdet); - - int[] r = new int[fstdet.getNumStates()]; - - PriorityQueue> queue = new PriorityQueue>( - 10, new Comparator>() { - - public int compare(Pair o1, - Pair o2) { - float previous = o1.getRight(); - float d1 = d[o1.getLeft().getId()]; - - float next = o2.getRight(); - float d2 = d[o2.getLeft().getId()]; - - float a1 = semiring.times(next, d2); - float a2 = semiring.times(previous, d1); - - if (semiring.naturalLess(a1, a2)) - return 1; - - if (a1 == a2) - return 0; - - return -1; - } - }); - - HashMap, Pair> previous = new HashMap, Pair>( - fst.getNumStates()); - HashMap, State> stateMap = new HashMap, State>( - fst.getNumStates()); - - State start = fstdet.getStart(); - Pair item = new Pair(start, semiring.one()); - queue.add(item); - previous.put(item, null); - - while (!queue.isEmpty()) { - Pair pair = queue.remove(); - State p = pair.getLeft(); - Float c = pair.getRight(); - - State s = new State(p.getFinalWeight()); - res.addState(s); - stateMap.put(pair, s); - if (previous.get(pair) == null) { - // this is the start state - res.setStart(s); - } else { - // add the incoming arc from previous to current - State previouState = stateMap.get(previous.get(pair)); - State previousOldState = previous.get(pair).getLeft(); - for (int j = 0; j < previousOldState.getNumArcs(); j++) { - Arc a = previousOldState.getArc(j); - if (a.getNextState().equals(p)) { - previouState.addArc(new Arc(a.getIlabel(), a - .getOlabel(), a.getWeight(), s)); - } - } - } - - Integer stateIndex = p.getId(); - r[stateIndex]++; - - if ((r[stateIndex] == n) && (p.getFinalWeight() != semiring.zero())) { - break; - } - - if (r[stateIndex] <= n) { - for (int j = 0; j < p.getNumArcs(); j++) { - Arc a = p.getArc(j); - float cnew = semiring.times(c, a.getWeight()); - Pair next = new Pair( - a.getNextState(), cnew); - previous.put(next, pair); - queue.add(next); - } - } - } - - return res; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/OLabelCompare.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/OLabelCompare.java deleted file mode 100755 index bb8e5569..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/OLabelCompare.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import java.util.Comparator; - -import edu.cmu.sphinx.fst.Arc; - -/** - * Comparator used in {@link edu.cmu.sphinx.fst.operations.ArcSort} for sorting - * based on output labels - * - * @author John Salatas - */ -public class OLabelCompare implements Comparator { - - /* - * (non-Javadoc) - * - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(Arc o1, Arc o2) { - if(o1 == null) { - return 1; - } - if(o2 == null) { - return -1; - } - return (o1.getOlabel() < o2.getOlabel()) ? -1 : ((o1.getOlabel() == o2 - .getOlabel()) ? 0 : 1); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Project.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Project.java deleted file mode 100755 index de696fbc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Project.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst.operations; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.ImmutableFst; -import edu.cmu.sphinx.fst.State; - -/** - * Project operation. - * - * @author John Salatas - * - */ -public class Project { - /** - * Default Constructor - */ - private Project() { - } - - /** - * Projects an fst onto its domain or range by either copying each arc's - * input label to its output label or vice versa. - * - * @param fst fst to modify - * @param pType type of the projection - */ - public static void apply(Fst fst, ProjectType pType) { - if (pType == ProjectType.INPUT) { - fst.setOsyms(fst.getIsyms()); - } else if (pType == ProjectType.OUTPUT) { - fst.setIsyms(fst.getOsyms()); - } - - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - // Immutable fsts hold an additional (null) arc - int numArcs = (fst instanceof ImmutableFst) ? s.getNumArcs() - 1: s - .getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - if (pType == ProjectType.INPUT) { - a.setOlabel(a.getIlabel()); - } else if (pType == ProjectType.OUTPUT) { - a.setIlabel(a.getOlabel()); - } - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ProjectType.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ProjectType.java deleted file mode 100755 index b76c64bf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/ProjectType.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -/** - * Enum used in {@link edu.cmu.sphinx.fst.operations.Project} operation. - * - * It specifies whether the Project operation will take place on input or output - * labels - * - * @author John Salatas - */ -public enum ProjectType { - INPUT, OUTPUT -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Reverse.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Reverse.java deleted file mode 100755 index a1aa4aff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/operations/Reverse.java +++ /dev/null @@ -1,85 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.operations; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * Reverse operation. - * - * @author John Salatas - * - */ -public class Reverse { - /** - * Default Constructor - */ - private Reverse() { - } - - /** - * Reverses an fst - * - * @param fst the fst to reverse - * @return the reversed fst - */ - public static Fst get(Fst fst) { - if (fst.getSemiring() == null) { - return null; - } - - ExtendFinal.apply(fst); - - Semiring semiring = fst.getSemiring(); - - Fst res = new Fst(fst.getNumStates()); - res.setSemiring(semiring); - - res.setIsyms(fst.getOsyms()); - res.setOsyms(fst.getIsyms()); - - State[] stateMap = new State[fst.getNumStates()]; - int numStates = fst.getNumStates(); - for (int i=0; i[] cl) { - HashMap tmp = cl[fromState.getId()]; - if (tmp == null) { - tmp = new HashMap(); - cl[fromState.getId()] = tmp; - } - tmp.put(toState, weight); - } - - /** - * Add a state in the epsilon closure - */ - private static void add(State fromState, State toState, float weight, - HashMap[] cl, Semiring semiring) { - Float old = getPathWeight(fromState, toState, cl); - if (old == null) { - put(fromState, toState, weight, cl); - } else { - put(fromState, toState, semiring.plus(weight, old), cl); - } - - } - - /** - * Calculate the epsilon closure - */ - private static void calcClosure(Fst fst, State state, - HashMap[] cl, Semiring semiring) { - State s = state; - - float pathWeight; - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - if ((a.getIlabel() == 0) && (a.getOlabel() == 0)) { - if (cl[a.getNextState().getId()] == null) { - calcClosure(fst, a.getNextState(), cl, semiring); - } - if (cl[a.getNextState().getId()] != null) { - for (State pathFinalState : cl[a.getNextState().getId()] - .keySet()) { - pathWeight = semiring.times( - getPathWeight(a.getNextState(), pathFinalState, - cl), a.getWeight()); - add(state, pathFinalState, pathWeight, cl, semiring); - } - } - add(state, a.getNextState(), a.getWeight(), cl, semiring); - } - } - } - - /** - * Get an epsilon path's cost in epsilon closure - */ - private static Float getPathWeight(State in, State out, - HashMap[] cl) { - if (cl[in.getId()] != null) { - return cl[in.getId()].get(out); - } - - return null; - } - - /** - * Removes epsilon transitions from an fst. - * - * It return a new epsilon-free fst and does not modify the original fst - * - * @param fst the fst to remove epsilon transitions from - * @return the epsilon-free fst - */ - public static Fst get(Fst fst) { - if (fst == null) { - return null; - } - - if (fst.getSemiring() == null) { - return null; - } - - Semiring semiring = fst.getSemiring(); - - Fst res = new Fst(semiring); - - @SuppressWarnings("unchecked") - HashMap[] cl = new HashMap[fst.getNumStates()]; - State[] oldToNewStateMap = new State[fst.getNumStates()]; - State[] newToOldStateMap = new State[fst.getNumStates()]; - - int numStates = fst.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - // Add non-epsilon arcs - State newState = new State(s.getFinalWeight()); - res.addState(newState); - oldToNewStateMap[s.getId()] = newState; - newToOldStateMap[newState.getId()] = s; - if (newState.getId() == fst.getStart().getId()) { - res.setStart(newState); - } - } - - for (int i = 0; i < numStates; i++) { - State s = fst.getState(i); - // Add non-epsilon arcs - State newState = oldToNewStateMap[s.getId()]; - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - if ((a.getIlabel() != 0) || (a.getOlabel() != 0)) { - newState.addArc(new Arc(a.getIlabel(), a.getOlabel(), a - .getWeight(), oldToNewStateMap[a.getNextState() - .getId()])); - } - } - - // Compute e-Closure - if (cl[s.getId()] == null) { - calcClosure(fst, s, cl, semiring); - } - } - - // augment fst with arcs generated from epsilon moves. - numStates = res.getNumStates(); - for (int i = 0; i < numStates; i++) { - State s = res.getState(i); - State oldState = newToOldStateMap[s.getId()]; - if (cl[oldState.getId()] != null) { - for (State pathFinalState : cl[oldState.getId()].keySet()) { - State s1 = pathFinalState; - if (s1.getFinalWeight() != semiring.zero()) { - s.setFinalWeight(semiring.plus(s.getFinalWeight(), - semiring.times(getPathWeight(oldState, s1, cl), - s1.getFinalWeight()))); - } - int numArcs = s1.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s1.getArc(j); - if ((a.getIlabel() != 0) || (a.getOlabel() != 0)) { - Arc newArc = new Arc(a.getIlabel(), a.getOlabel(), - semiring.times(a.getWeight(), - getPathWeight(oldState, s1, cl)), - oldToNewStateMap[a.getNextState().getId()]); - s.addArc(newArc); - } - } - } - } - } - - res.setIsyms(fst.getIsyms()); - res.setOsyms(fst.getOsyms()); - - Connect.apply(res); - - return res; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/LogSemiring.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/LogSemiring.java deleted file mode 100755 index d16ba11e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/LogSemiring.java +++ /dev/null @@ -1,135 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.semiring; - -/** - * Log semiring implementation. - * - * @author John Salatas - * - */ -public class LogSemiring extends Semiring { - - private static final long serialVersionUID = 5212106775584311083L; - - // zero value - private static float zero = Float.POSITIVE_INFINITY; - - // one value - private static float one = 0.f; - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.Semiring#plus(edu.cmu.sphinx.fst.weight.float, - * edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float plus(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - if (w1 == Float.POSITIVE_INFINITY) { - return w2; - } else if (w2 == Float.POSITIVE_INFINITY) { - return w1; - } - return (float) -Math.log(Math.exp(-w1) + Math.exp(-w2)); - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.Semiring#times(edu.cmu.sphinx.fst.weight.float, - * edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float times(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - return w1 + w2; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.Semiring#divide(edu.cmu.sphinx.fst.weight.float - * , edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float divide(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - if (w2 == zero) { - return Float.NEGATIVE_INFINITY; - } else if (w1 == zero) { - return zero; - } - - return w1 - w2; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.Semiring#zero() - */ - @Override - public float zero() { - return zero; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.Semiring#one() - */ - @Override - public float one() { - return one; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.Semiring#isMember(edu.cmu.sphinx.fst.weight - * .float) - */ - @Override - public boolean isMember(float w) { - return (!Float.isNaN(w)) // not a NaN - && (w != Float.NEGATIVE_INFINITY); // and different from -inf - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.semiring.Semiring#reverse(float) - */ - @Override - public float reverse(float w1) { - // TODO: ??? - System.out.println("Not Implemented"); - return Float.NEGATIVE_INFINITY; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/ProbabilitySemiring.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/ProbabilitySemiring.java deleted file mode 100755 index 18649550..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/ProbabilitySemiring.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.semiring; - -/** - * Probability semiring implementation. - * - * @author "John Salatas" - * - */ -public class ProbabilitySemiring extends Semiring { - - private static final long serialVersionUID = 5592668313009971909L; - // zero value - private static float zero = 0.f; - - // one value - private static float one = 1.f; - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Plus(edu.cmu.sphinx.fst.weight - * .float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float plus(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - return w1 + w2; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Times(edu.cmu.sphinx.fst.weight - * .float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float times(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - return w1 * w2; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Divide(edu.cmu.sphinx.fst. - * weight.float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float divide(float w1, float w2) { - // TODO Auto-generated method stub - return Float.NEGATIVE_INFINITY; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.AbstractSemiring#zero() - */ - @Override - public float zero() { - return zero; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.AbstractSemiring#one() - */ - @Override - public float one() { - return one; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.Semiring#isMember(edu.cmu.sphinx.fst.weight - * .float) - */ - @Override - public boolean isMember(float w) { - return !Float.isNaN(w) // not a NaN, - && (w >= 0); // and positive - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.semiring.Semiring#reverse(float) - */ - @Override - public float reverse(float w1) { - // TODO: ??? - System.out.println("Not Implemented"); - return Float.NEGATIVE_INFINITY; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/Semiring.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/Semiring.java deleted file mode 100755 index c4421cc3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/Semiring.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.semiring; - -import java.io.Serializable; - -/** - * Abstract semiring class. - * - * @author "John Salatas" - * - */ -public abstract class Semiring implements Serializable { - - private static final long serialVersionUID = 1L; - - // significant decimal digits in floating point numbers - protected static final int accuracy = 5; - - - public abstract float plus(float w1, float w2); - - public abstract float reverse(float w1); - - public abstract float times(float w1, float w2); - - - public abstract float divide(float w1, float w2); - - public abstract float zero(); - - public abstract float one(); - - public abstract boolean isMember(float w); - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return this.getClass().toString(); - } - - /** - * NATURAL ORDER - * - * By definition: a <= b iff a + b = a - * - * The natural order is a negative partial order iff the semiring is - * idempotent. It is trivially monotonic for plus. It is left (resp. right) - * monotonic for times iff the semiring is left (resp. right) distributive. - * It is a total order iff the semiring has the path property. - * - * See Mohri, - * "Semiring Framework and Algorithms for Shortest-Distance Problems", - * Journal of Automata, Languages and Combinatorics 7(3):321-350, 2002. - * - * We define the strict version of this order below. - * - * @param w1: first operand - * @param w2: second operand - * @return less or more - */ - public boolean naturalLess(float w1, float w2) { - return (plus(w1, w2) == w1) && (w1 != w2); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/TropicalSemiring.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/TropicalSemiring.java deleted file mode 100755 index 6e1f5e7e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/semiring/TropicalSemiring.java +++ /dev/null @@ -1,128 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.semiring; - -/** - * Tropical semiring implementation. - * - * @author "John Salatas" - * - */ -public class TropicalSemiring extends Semiring { - - private static final long serialVersionUID = 2711172386738607866L; - - // zero value - private static float zero = Float.POSITIVE_INFINITY; - - // one value - private static float one = 0.f; - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Plus(edu.cmu.sphinx.fst.weight - * .float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float plus(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - return w1 < w2 ? w1 : w2; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Times(edu.cmu.sphinx.fst.weight - * .float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float times(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - return w1 + w2; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#Divide(edu.cmu.sphinx.fst. - * weight.float, edu.cmu.sphinx.fst.weight.float) - */ - @Override - public float divide(float w1, float w2) { - if (!isMember(w1) || !isMember(w2)) { - return Float.NEGATIVE_INFINITY; - } - - if (w2 == zero) { - return Float.NEGATIVE_INFINITY; - } else if (w1 == zero) { - return zero; - } - - return w1 - w2; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.AbstractSemiring#zero() - */ - @Override - public float zero() { - return zero; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.weight.AbstractSemiring#one() - */ - @Override - public float one() { - return one; - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.fst.weight.AbstractSemiring#isMember(edu.cmu.sphinx.fst - * .weight.float) - */ - @Override - public boolean isMember(float w) { - return (!Float.isNaN(w)) // not a NaN - && (w != Float.NEGATIVE_INFINITY); // and different from -inf - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.fst.semiring.Semiring#reverse(float) - */ - @Override - public float reverse(float w1) { - return w1; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/sequitur/SequiturImport.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/sequitur/SequiturImport.java deleted file mode 100755 index eef3f1d1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/sequitur/SequiturImport.java +++ /dev/null @@ -1,268 +0,0 @@ -/** - * - * Copyright 2014 Universität Hamburg. - * Portions Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.fst.sequitur; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlMixed; -import javax.xml.bind.annotation.XmlRootElement; - -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.semiring.Semiring; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - -/** - * Converter for an Fst in Sequitur G2P's XML to Sphinx binary OpenFst format. - * - * Sequitur G2P (http://www-i6.informatik.rwth-aachen.de/web/Software/g2p.html) - * provides easy-to-build G2P training facilities. Its binary models can be - * converted to an XML FSA-format using fsa.py which is provided with Sequitur. - * - * This program reads the XML and constructs a @link{edu.cmu.sphinx.fst.Fst}, - * which is then serialized into the Sphinx binary OpenFst format (but could - * also be used directly). - * - * NOTICE: Sequitur's fsa.py does not in all cases construct valid XML, - * specifically it fails to encode XML character entities &, <, and > - * if these were part of the training material. If in doubt, please check for - * and replace them in the alphabet portion of the XML prior to using this - * converter. - * - * Implementation details: - we add a state for <s> to the end of both - * symbol alphabets - we increment all state IDs in the states and in the arcs - - * we add a new zero'th state which transitions via <s>:<s> to the - * (new) first state - * - * @author Johannes Twiefel, Timo Baumann - */ -public class SequiturImport { - - @XmlRootElement(name = "fsa") - public static class FSA { - @XmlAttribute - String semiring; - @XmlAttribute - int initial; // first real state - @XmlElement(name = "input-alphabet") - Alphabet inputAlphabet; - @XmlElement(name = "output-alphabet") - Alphabet outputAlphabet; - @XmlElement(name = "state") - List states; - transient List openFstStates; - transient Semiring ring = new TropicalSemiring(); - - public void afterUnmarshal(Unmarshaller unmarshaller, Object parent) { - // might also work with other formats, but we have never seen any - // other format - assert "tropical".equals(semiring); - // add a new initial state that transduces : and transitions - // to the first real state - State initialState = new State(); - initialState.id = 0; - Arc initialArc = new Arc(); - initialArc.in = inputAlphabet.symbols.size() - 1; - initialArc.out = outputAlphabet.symbols.size() - 1; - initialArc.target = initial + 1; - initialArc.weight = ring.one(); - initialState.arcs = Collections. singletonList(initialArc); - states.add(initialState); - // sort the states (to ascertain that initialState is the first - // element) - Collections. sort(states, new Comparator() { - public int compare(State s1, State s2) { - return s1.id - s2.id; - } - }); - } - - /** - * convert our object to the Sphinx OpenFst data structure - * - * @return an edu.cmu.sphinx.fst.Fst built from the XML - */ - public Fst toFst() { - Fst openFst = new Fst(ring); - openFst.setIsyms(inputAlphabet.toSymbols()); - openFst.setOsyms(outputAlphabet.toSymbols()); - openFstStates = new ArrayList( - states.size()); - for (State state : states) { - edu.cmu.sphinx.fst.State openFstState = state - .toUnconnectedOpenFstState(); - openFst.addState(openFstState); - assert openFstState.getId() == state.id; - openFstStates.add(openFstState); - } - openFst.setStart(openFstStates.get(0)); - // second pass (now that all openFst states are created) to add all - // the openFst arcs - for (State state : states) { - state.connectStates(openFstStates); - } - return openFst; - } - } - - public static class Alphabet { - @XmlElement(name = "symbol") - List symbols; - - public void afterUnmarshal(Unmarshaller unmarshaller, Object parent) { - Iterator it = symbols.iterator(); - while (it.hasNext()) { - if (it.next().content.matches("__\\d+__")) - it.remove(); - } - for (int i = 0; i < symbols.size(); i++) { - assert symbols.get(i).index != null; - assert symbols.get(i).index == i; - symbols.get(i).index = null; - } - Symbol s = new Symbol(); - s.content = ""; - symbols.add(s); - } - - String[] toSymbols() { - String[] out = new String[symbols.size()]; - for (int i = 0; i < out.length; i++) { - out[i] = symbols.get(i).content; - } - return out; - } - } - - public static class Symbol { - @XmlAttribute - Integer index; - @XmlMixed - List contentList; - transient String content; - - public void afterUnmarshal(Unmarshaller unmarshaller, Object parent) { - assert contentList != null : "Error with symbol " + index; - assert contentList.size() == 1 : "Error with symbol " + index; - this.content = contentList.get(0); - if (content.equals("__term__")) { - content = ""; - } else if (content.matches("__.+__")) { - content = ""; - } - } - } - - public static class State { - @XmlAttribute - int id; - @XmlElement(name = "final") - Object finalState; - @XmlElement - Float weight; - @XmlElement(name = "arc") - List arcs; - - public void afterUnmarshal(Unmarshaller unmarshaller, Object parent) { - id++; // increment state ID (because we add a new initial state 0 - // transitioning via :) - } - - /** - * @return a first approximation State which does not yet incoroporate - * arcs - */ - public edu.cmu.sphinx.fst.State toUnconnectedOpenFstState() { - return new edu.cmu.sphinx.fst.State(weight != null ? weight : 0.f); - } - - /** - * add arcs to the state now that all states are available as possible - * targets - * @param openFstStates source states - */ - public void connectStates(List openFstStates) { - if (arcs != null) - for (Arc arc : arcs) { - edu.cmu.sphinx.fst.Arc openFstArc = arc - .toOpenFstArc(openFstStates); - openFstStates.get(id).addArc(openFstArc); - } - } - } - - public static class Arc { - @XmlAttribute - int target; - @XmlElement - int in; // automatically set to 0 (which corresponds to epsilon) if not - // set in XML - @XmlElement - int out; // automatically set to 0 (which corresponds to epsilon) if not - // set in XML - @XmlElement - float weight; - - public void afterUnmarshal(Unmarshaller unmarshaller, Object parent) { - target++; // increment state ID (because we add a new initial state - // 0 transitioning via :) - } - - public edu.cmu.sphinx.fst.Arc toOpenFstArc( - List openFstStates) { - return new edu.cmu.sphinx.fst.Arc(in, out, weight, - openFstStates.get(target)); - } - } - - /** - * Load a Sequitur FSA in XML format and store it in Sphinx' OpenFst - * binary/serialized format. - * - * @param args - * filename of input file, filename of output file - * @throws JAXBException - * indicating that XML could not be read - * @throws IOException - * indicating that file-handling does not work - */ - public static void main(String... args) throws JAXBException, IOException { - JAXBContext context = JAXBContext.newInstance(FSA.class); - Unmarshaller unmarshaller = context.createUnmarshaller(); - FSA fsa = (FSA) unmarshaller.unmarshal(new File(args[0])); - edu.cmu.sphinx.fst.Fst fst = fsa.toFst(); - fst.saveModel(args[1]); - System.out - .println("The Sequitur G2P XML-formatted FST " - + args[0] - + " has been converted to Sphinx' OpenFst binary format in the file " - + args[1]); - // uncomment this to test your model: - // edu.cmu.sphinx.linguist.g2p.G2PConverter d = new - // edu.cmu.sphinx.linguist.g2p.G2PConverter(args[1]); - // List path = - // d.phoneticize("wahnsinn", 5); - // System.err.println(path); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Pair.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Pair.java deleted file mode 100755 index 6b230fe4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Pair.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.fst.utils; - -/** - * Pairs two elements - * - * Original code obtained by - * http://stackoverflow.com/questions/521171/a-java-collection-of-value - * -pairs-tuples - * - * @author John Salatas - * - */ -public class Pair { - - // The left element - private L left; - - // The right element - private R right; - - /* - * Constructor specifying the left and right elements of the Pair. - */ - public Pair(L left, R right) { - this.left = left; - this.right = right; - } - - public void setLeft(L left) { - this.left = left; - } - - public void setRight(R right) { - this.right = right; - } - - public L getLeft() { - return left; - } - - public R getRight() { - return right; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + left.hashCode(); - result = prime * result + right.hashCode(); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - @SuppressWarnings("unchecked") - Pair other = (Pair) obj; - if (!left.equals(other.left)) - return false; - if (!right.equals(other.right)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return "(" + left + ", " + right + ")"; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Utils.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Utils.java deleted file mode 100755 index 69bb4f14..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/fst/utils/Utils.java +++ /dev/null @@ -1,103 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst.utils; - -import java.util.ArrayList; -import java.util.HashMap; - -/** - * Several general use utility functions needed by the fst framework - * - * @author John Salatas - */ -public class Utils { - - /** - * Searches an ArrayList of Strings starting from a specific position for a - * pattern - * - * @param src the input ArrayList of Strings - * @param pattern the pattern to search for - * @param start the starting position - * @return the index of the first occurrence or -1 if no matches found - */ - public static int search(ArrayList src, ArrayList pattern, - int start) { - int index = -1; - int pos = -1; - int startpos = 0; - if (start > src.size() - pattern.size()) { - return -1; - } - - do { - pos = src - .subList(startpos + start, src.size() - pattern.size() + 1) - .indexOf(pattern.get(0)); - if (pos == -1) { - return pos; - } - - boolean flag = true; - for (int i = 1; i < pattern.size(); i++) { - if (!src.get(startpos + start + pos + i).equals(pattern.get(i))) { - index = -1; - flag = false; - break; - } - } - - if (flag) { - index = startpos + pos; - break; - } else { - startpos += pos + 1; - } - } while (startpos + start < src.size()); - - return index; - } - - /** - * Get the position (index) of a particular string in a Strings array. - * - * The search is case insensitive. - * - * @param strings the Strings array - * @param string the string to search - * @return the index of the first occurrence or -1 if no matches found - */ - public static int getIndex(String[] strings, String string) { - for (int i = 0; i < strings.length; i++) { - if (string.toLowerCase().equals(strings[i].toLowerCase())) { - return i; - } - } - return -1; - } - - /** - * Convert a HashMap to string array - * - * @param syms the input HashMap - * @return the strings array - */ - public static String[] toStringArray(HashMap syms) { - String[] res = new String[syms.size()]; - for (String sym : syms.keySet()) { - res[syms.get(sym)] = sym; - } - return res; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/AccuracyTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/AccuracyTracker.java deleted file mode 100755 index f181f9eb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/AccuracyTracker.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.recognizer.StateListener; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.decoder.ResultListener; -import edu.cmu.sphinx.util.NISTAlign; -import edu.cmu.sphinx.util.props.*; - -/** Tracks and reports recognition accuracy */ -abstract public class AccuracyTracker - extends - ConfigurableAdapter - implements - ResultListener, - Resetable, - StateListener, - Monitor { - - /** The property that defines which recognizer to monitor */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** The property that defines whether summary accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_SUMMARY = "showSummary"; - - /** The property that defines whether detailed accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_DETAILS = "showDetails"; - - /** The property that defines whether recognition results should be displayed. */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_RESULTS = "showResults"; - - - /** The property that defines whether recognition results should be displayed. */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_ALIGNED_RESULTS = "showAlignedResults"; - - /** The property that defines whether recognition results should be displayed. */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_RAW_RESULTS = "showRawResults"; - - // ------------------------------ - // Configuration data - // ------------------------------ - private String name; - private Recognizer recognizer; - private boolean showSummary; - private boolean showDetails; - private boolean showResults; - private boolean showAlignedResults; - private boolean showRaw; - - private final NISTAlign aligner = new NISTAlign(false, false); - - public AccuracyTracker(Recognizer recognizer, boolean showSummary, boolean showDetails, boolean showResults, boolean showAlignedResults, boolean showRawResults) { - - initRecognizer(recognizer); - initLogger(); - - this.showSummary = showSummary; - this.showDetails = showDetails; - this.showResults = showResults; - this.showAlignedResults = showAlignedResults; - - this.showRaw = showRawResults; - - aligner.setShowResults(showResults); - aligner.setShowAlignedResults(showAlignedResults); - } - - public AccuracyTracker() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - initRecognizer((Recognizer) ps.getComponent(PROP_RECOGNIZER)); - - showSummary = ps.getBoolean(PROP_SHOW_SUMMARY); - showDetails = ps.getBoolean(PROP_SHOW_DETAILS); - showResults = ps.getBoolean(PROP_SHOW_RESULTS); - showAlignedResults = ps.getBoolean(PROP_SHOW_ALIGNED_RESULTS); - - showRaw = ps.getBoolean(PROP_SHOW_RAW_RESULTS); - - aligner.setShowResults(showResults); - aligner.setShowAlignedResults(showAlignedResults); - } - - private void initRecognizer(Recognizer newRecognizer) { - if (recognizer == null) { - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } else if (recognizer != newRecognizer) { - recognizer.removeResultListener(this); - recognizer.removeStateListener(this); - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.instrumentation.Resetable - */ - public void reset() { - aligner.resetTotals(); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /** - * Retrieves the aligner used to track the accuracy stats - * - * @return the aligner - */ - public NISTAlign getAligner() { - return aligner; - } - - - /** - * Shows the complete details. - * - * @param rawText the RAW result - */ - protected void showDetails(String rawText) { - if (showDetails) { - aligner.printSentenceSummary(); - if (showRaw) { - logger.info("RAW " + rawText); - } - aligner.printTotalSummary(); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.ResultListener#newResult(edu.cmu.sphinx.result.Result) - */ - abstract public void newResult(Result result); - - public void statusChanged(Recognizer.State status) { - if (status == State.DEALLOCATED) { - if (showSummary) { - logger.info("\n# --------------- Summary statistics ---------"); - aligner.printTotalSummary(); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/BestPathAccuracyTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/BestPathAccuracyTracker.java deleted file mode 100755 index deda99b3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/BestPathAccuracyTracker.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.*; -import edu.cmu.sphinx.recognizer.Recognizer; - -/** Tracks and reports recognition accuracy based upon the highest scoring path in a Result. */ -public class BestPathAccuracyTracker extends AccuracyTracker { - - /** The property that define whether the full token path is displayed */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_FULL_PATH = "showFullPath"; - - private boolean showFullPath; - - public BestPathAccuracyTracker(Recognizer recognizer, boolean showSummary, boolean showDetails, boolean showResults, boolean showAlignedResults, boolean showRawResults, boolean showFullPath) { - super(recognizer, showSummary, showDetails, showResults, showAlignedResults, showRawResults); - this.showFullPath = showFullPath; - } - - public BestPathAccuracyTracker() { - - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - showFullPath = ps.getBoolean(PROP_SHOW_FULL_PATH); - } - - - /** - * Dumps the best path - * - * @param result the result to dump - */ - private void showFullPath(Result result) { - if (showFullPath) { - System.out.println(); - Token bestToken = result.getBestToken(); - if (bestToken != null) { - bestToken.dumpTokenPath(); - } else { - System.out.println("Null result"); - } - System.out.println(); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.ResultListener#newResult(edu.cmu.sphinx.result.Result) - */ - @Override - public void newResult(Result result) { - String ref = result.getReferenceText(); - if (result.isFinal() && ref != null) { - String hyp = result.getBestResultNoFiller(); - getAligner().align(ref, hyp); - showFullPath(result); - showDetails(result.toString()); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/ConfigMonitor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/ConfigMonitor.java deleted file mode 100755 index 53028605..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/ConfigMonitor.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - - -import edu.cmu.sphinx.util.props.*; -import edu.cmu.sphinx.util.props.tools.GDLDumper; -import edu.cmu.sphinx.util.props.tools.HTMLDumper; - -import java.io.File; -import java.io.IOException; -import java.util.logging.Logger; - -/** - * Shows the configuration currently in use. This monitor is typically added as a recognition monitor such that the - * configuration is shown immediately after the recognizer is allocated. - */ -public class ConfigMonitor implements Configurable, Runnable, Monitor { - - /** The property that is used to indicate whether or not this monitor should show the current configuration. */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_CONFIG = "showConfig"; - - /** - * The property that is used to indicate whether or not this monitor should dump the configuration in an HTML - * document - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_CONFIG_AS_HTML = "showConfigAsHTML"; - - /** - * The property that is used to indicate whether or not this monitor should dump the configuration in an GDL - * document - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_CONFIG_AS_GDL = "showConfigAsGDL"; - - /** - * The property that is used to indicate whether or not this monitor should save the configuration in an XML - * document - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SAVE_CONFIG_AS_XML = "saveConfigAsXML"; - - - @S4String(mandatory = false) - public static final String PROP_OUTFILE = "file"; - - // ------------------------- - // Configuration data - // ------------------------- - private boolean showConfig; - private boolean showHTML = true; - private boolean saveXML; - private boolean showGDL = true; - - private Logger logger; - private ConfigurationManager cm; - - private String htmlPath = "config.html"; - private String gdlPath = "config.gdl"; - private String xmlPath = "config.xml"; - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - cm = ConfigurationManagerUtils.getPropertyManager(ps); - - showConfig = ps.getBoolean(PROP_SHOW_CONFIG); - showHTML = ps.getBoolean(PROP_SHOW_CONFIG_AS_HTML); - showGDL = ps.getBoolean(PROP_SHOW_CONFIG_AS_GDL); - saveXML = ps.getBoolean(PROP_SAVE_CONFIG_AS_XML); - - if (ps.getString(PROP_OUTFILE) != null) { - File outFile = new File(ps.getString(PROP_OUTFILE)); - - if (outFile.getParentFile().isDirectory()) { - htmlPath = outFile.getPath(); - gdlPath = outFile.getPath(); - xmlPath = outFile.getPath(); - } - } - } - - - /* (non-Javadoc) - * @see java.lang.Runnable#run() - */ - public void run() { - if (showConfig) { - ConfigurationManagerUtils.showConfig(cm); - } - - if (showHTML) { - try { - HTMLDumper.showConfigAsHTML(cm, "foo.html"); - } catch (IOException e) { - logger.warning("Can't open " + htmlPath + ' ' + e); - } - } - - if (showGDL) { - try { - GDLDumper.showConfigAsGDL(cm, gdlPath); - } catch (IOException e) { - logger.warning("Can't open " + gdlPath + ' ' + e); - } - } - - if (saveXML) { - ConfigurationManagerUtils.save(cm, new File(xmlPath)); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/MemoryTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/MemoryTracker.java deleted file mode 100755 index 510cc13e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/MemoryTracker.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.recognizer.StateListener; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.decoder.ResultListener; -import edu.cmu.sphinx.util.props.*; - -import java.text.DecimalFormat; - -/** Monitors a recognizer for memory usage */ -public class MemoryTracker - extends - ConfigurableAdapter - implements - ResultListener, - StateListener, - Monitor { - - /** The property that defines which recognizer to monitor */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** The property that defines whether summary accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_SUMMARY = "showSummary"; - - /** The property that defines whether detailed accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_DETAILS = "showDetails"; - - private static final DecimalFormat memFormat = new DecimalFormat("0.00 Mb"); - // ------------------------------ - // Configuration data - // ------------------------------ - private String name; - private Recognizer recognizer; - private boolean showSummary; - private boolean showDetails; - private float maxMemoryUsed; - private int numMemoryStats; - private float avgMemoryUsed; - - public MemoryTracker(Recognizer recognizer, boolean showSummary, boolean showDetails) { - initRecognizer(recognizer); - initLogger(); - this.showSummary = showSummary; - this.showDetails = showDetails; - } - - public MemoryTracker() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - Recognizer newRecognizer = (Recognizer) ps.getComponent( - PROP_RECOGNIZER); - initRecognizer(newRecognizer); - showSummary = ps.getBoolean(PROP_SHOW_SUMMARY); - showDetails = ps.getBoolean(PROP_SHOW_DETAILS); - } - - private void initRecognizer(Recognizer newRecognizer) { - if (recognizer == null) { - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } else if (recognizer != newRecognizer) { - recognizer.removeResultListener(this); - recognizer.removeStateListener(this); - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /** Shows memory usage - * @param show*/ - private void calculateMemoryUsage(boolean show) { - float totalMem = Runtime.getRuntime().totalMemory() - / (1024.0f * 1024.0f); - float freeMem = Runtime.getRuntime().freeMemory() / (1024.0f * 1024.0f); - float usedMem = totalMem - freeMem; - if (usedMem > maxMemoryUsed) { - maxMemoryUsed = usedMem; - } - - numMemoryStats++; - avgMemoryUsed = ((avgMemoryUsed * (numMemoryStats - 1)) + usedMem) - / numMemoryStats; - - if (show) { - logger.info(" Mem Total: " + memFormat.format(totalMem) - + " " + "Free: " + memFormat.format(freeMem)); - logger.info(" Used: This: " + memFormat.format(usedMem) + " " - + "Avg: " + memFormat.format(avgMemoryUsed) + " " + "Max: " - + memFormat.format(maxMemoryUsed)); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.ResultListener#newResult(edu.cmu.sphinx.result.Result) - */ - public void newResult(Result result) { - if (result.isFinal()) { - calculateMemoryUsage(showDetails); - } - } - - public void statusChanged(Recognizer.State status) { - if (status == State.DEALLOCATED) { - calculateMemoryUsage(showSummary); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Monitor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Monitor.java deleted file mode 100755 index 2ee4b6ab..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Monitor.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Monitor.java - * - * Created on February 22, 2007, 5:41 PM - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004-2007 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2007 Harvard Extension Schoool, Harvard University - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.util.props.Configurable; - -/** - * Common empty interface for Configurable monitors - * - * @author Ariani - */ -public interface Monitor extends Configurable { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RecognizerMonitor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RecognizerMonitor.java deleted file mode 100755 index 59abdb39..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RecognizerMonitor.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.recognizer.StateListener; -import edu.cmu.sphinx.util.props.*; - -import java.util.List; - -/** - * Monitor the state transitions of a given recognizer. This monitor maintains lists of components that should be 'run' - * when a recognizer state change is detected. - */ -public class RecognizerMonitor implements StateListener, Monitor { - - /** The property for the recognizer to monitor */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** The property that defines all of the monitors to call when the recognizer is allocated */ - @S4ComponentList(type = Configurable.class) - public final static String PROP_ALLOCATED_MONITORS = "allocatedMonitors"; - - /** The property that defines all of the monitors to call when the recognizer is deallocated */ - @S4ComponentList(type = Configurable.class) - public final static String PROP_DEALLOCATED_MONITORS = "deallocatedMonitors"; - - // -------------------------- - // Configuration data - // -------------------------- - Recognizer recognizer; - List allocatedMonitors; - List deallocatedMonitors; - String name; - - public RecognizerMonitor(Recognizer recognizer, List allocatedMonitors, List deallocatedMonitors ) { - initRecognizer(recognizer); - this.allocatedMonitors = allocatedMonitors; - this.deallocatedMonitors = deallocatedMonitors; - } - - public RecognizerMonitor() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - initRecognizer((Recognizer) ps.getComponent(PROP_RECOGNIZER)); - allocatedMonitors = ps.getComponentList(PROP_ALLOCATED_MONITORS, Runnable.class); - deallocatedMonitors = ps.getComponentList(PROP_DEALLOCATED_MONITORS, Runnable.class); - } - - private void initRecognizer(Recognizer newRecognizer) { - if (recognizer == null) { - recognizer = newRecognizer; - recognizer.addStateListener(this); - } else if (recognizer != newRecognizer) { - recognizer.removeStateListener(this); - recognizer = newRecognizer; - recognizer.addStateListener(this); - } - } - - public void statusChanged(Recognizer.State status) { - List runnableList = null; - if (status == State.ALLOCATED) { - runnableList = allocatedMonitors; - } else if (status == State.DEALLOCATED) { - runnableList = deallocatedMonitors; - } - - if (runnableList != null) { - for (Runnable r : runnableList) { - r.run(); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RejectionTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RejectionTracker.java deleted file mode 100755 index 51556090..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/RejectionTracker.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.recognizer.StateListener; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.decoder.ResultListener; -import edu.cmu.sphinx.util.props.*; - -/** Tracks and reports rejection accuracy. */ -public class RejectionTracker implements - ResultListener, - Resetable, - Monitor, - StateListener { - - /** The property that defines which recognizer to monitor */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** The property that defines whether summary accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_SUMMARY = "showSummary"; - - /** The property that defines whether detailed accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_DETAILS = "showDetails"; - - // ------------------------------ - // Configuration data - // ------------------------------ - private String name; - private Recognizer recognizer; - private boolean showSummary; - private boolean showDetails; - - /** total number of utterances */ - private int numUtterances; - - /** actual number of out-of-grammar utterance */ - private int numOutOfGrammarUtterances; - - /** number of correctly classified in-grammar utterances */ - private int numCorrectOutOfGrammarUtterances; - - /** number of in-grammar utterances misrecognized as out-of-grammar */ - private int numFalseOutOfGrammarUtterances; - - /** number of correctly classified out-of-grammar utterances */ - private int numCorrectInGrammarUtterances; - - /** number of out-of-grammar utterances misrecognized as in-grammar */ - private int numFalseInGrammarUtterances; - - - public RejectionTracker( Recognizer recognizer, boolean showSummary, boolean showDetails ) { - initRecognizer(recognizer); - this.showSummary = showSummary; - this.showDetails = showDetails; - } - - public RejectionTracker( ) { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - initRecognizer((Recognizer)ps.getComponent(PROP_RECOGNIZER)); - showSummary = ps.getBoolean(PROP_SHOW_SUMMARY); - showDetails = ps.getBoolean(PROP_SHOW_DETAILS); - } - - private void initRecognizer(Recognizer newRecognizer) { - if (recognizer == null) { - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } else if (recognizer != newRecognizer) { - recognizer.removeResultListener(this); - recognizer.removeStateListener(this); - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.instrumentation.Resetable - */ - public void reset() { - numUtterances = 0; - numOutOfGrammarUtterances = 0; - numCorrectOutOfGrammarUtterances = 0; - numFalseOutOfGrammarUtterances = 0; - numCorrectInGrammarUtterances = 0; - numFalseInGrammarUtterances = 0; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.ResultListener#newResult(edu.cmu.sphinx.result.Result) - */ - public void newResult(Result result) { - String ref = result.getReferenceText(); - if (result.isFinal() && ref != null) { - numUtterances++; - String hyp = result.getBestResultNoFiller(); - if (ref.equals("")) { - numOutOfGrammarUtterances++; - if (hyp.equals("")) { - numCorrectOutOfGrammarUtterances++; - } else { - numFalseInGrammarUtterances++; - } - } else { - if (hyp.equals("")) { - numFalseOutOfGrammarUtterances++; - } else { - numCorrectInGrammarUtterances++; - } - } - printStats(); - } - } - - - private void printStats() { - if (showSummary) { - float correctPercent = ((float) - (numCorrectOutOfGrammarUtterances + - numCorrectInGrammarUtterances)) / - ((float) numUtterances) * 100f; - System.out.println - (" Rejection Accuracy: " + correctPercent + '%'); - } - if (showDetails) { - System.out.println - (" Correct OOG: " + numCorrectOutOfGrammarUtterances + - " False OOG: " + numFalseOutOfGrammarUtterances + - " Correct IG: " + numCorrectInGrammarUtterances + - " False IG: " + numFalseInGrammarUtterances + - " Actual number: " + numOutOfGrammarUtterances); - } - } - - - public void statusChanged(Recognizer.State status) { - if (status == State.DEALLOCATED) { - printStats(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Resetable.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Resetable.java deleted file mode 100755 index 7edfd4fc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/Resetable.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - - -/** Defines the interface for an object that is resetable */ -public interface Resetable { - - /** Resets this component. Typically this is for components that keep track of statistics */ - public void reset(); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/SpeedTracker.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/SpeedTracker.java deleted file mode 100755 index 4225926b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/instrumentation/SpeedTracker.java +++ /dev/null @@ -1,291 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.instrumentation; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.recognizer.StateListener; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.decoder.ResultListener; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -import java.text.DecimalFormat; - -/** Monitors a recognizer for speed */ -public class SpeedTracker - extends - ConfigurableAdapter - implements - ResultListener, - Resetable, - StateListener, - SignalListener, - Monitor { - - /** The property that defines which recognizer to monitor */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - /** The property that defines which frontend to monitor */ - @S4Component(type = FrontEnd.class) - public final static String PROP_FRONTEND = "frontend"; - /** The property that defines whether summary accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_SUMMARY = "showSummary"; - - /** The property that defines whether detailed accuracy information is displayed */ - @S4Boolean(defaultValue = true) - public final static String PROP_SHOW_DETAILS = "showDetails"; - - /** The property that defines whether detailed response information is displayed */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_RESPONSE_TIME = "showResponseTime"; - - /** The property that defines whether detailed timer information is displayed */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_TIMERS = "showTimers"; - - private static final DecimalFormat timeFormat = new DecimalFormat("0.00"); - - - // ------------------------------ - // Configuration data - // ------------------------------ - private String name; - private Recognizer recognizer; - private FrontEnd frontEnd; - - private boolean showSummary; - private boolean showDetails; - private boolean showTimers; - private long startTime; - private long audioStartTime; - private float audioTime; - private float processingTime; - private float totalAudioTime; - private float totalProcessingTime; - - private boolean showResponseTime; - private int numUtteranceStart; - private long maxResponseTime = Long.MIN_VALUE; - private long minResponseTime = Long.MAX_VALUE; - private long totalResponseTime; - - - public SpeedTracker(Recognizer recognizer, FrontEnd frontEnd, boolean showSummary, boolean showDetails, boolean showResponseTime, boolean showTimers) { - initLogger(); - initRecognizer(recognizer); - initFrontEnd(frontEnd); - this.showSummary = showSummary; - this.showDetails = showDetails; - this.showResponseTime = showResponseTime; - this.showTimers = showTimers; - } - - public SpeedTracker() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - initRecognizer((Recognizer) ps.getComponent(PROP_RECOGNIZER)); - initFrontEnd((FrontEnd) ps.getComponent(PROP_FRONTEND)); - showSummary = ps.getBoolean(PROP_SHOW_SUMMARY); - showDetails = ps.getBoolean(PROP_SHOW_DETAILS); - showResponseTime = ps.getBoolean(PROP_SHOW_RESPONSE_TIME); - showTimers = ps.getBoolean(PROP_SHOW_TIMERS); - } - - private void initFrontEnd(FrontEnd newFrontEnd) { - if (frontEnd == null) { - frontEnd = newFrontEnd; - frontEnd.addSignalListener(this); - } else if (frontEnd != newFrontEnd) { - frontEnd.removeSignalListener(this); - frontEnd = newFrontEnd; - frontEnd.addSignalListener(this); - } - } - - private void initRecognizer(Recognizer newRecognizer) { - if (recognizer == null) { - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } else if (recognizer != newRecognizer) { - recognizer.removeResultListener(this); - recognizer.removeStateListener(this); - recognizer = newRecognizer; - recognizer.addResultListener(this); - recognizer.addStateListener(this); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.decoder.ResultListener#newResult(edu.cmu.sphinx.result.Result) - */ - public void newResult(Result result) { - if (result.isFinal()) { - processingTime = (getTime() - startTime) / 1000.0f; - totalAudioTime += audioTime; - totalProcessingTime += processingTime; - if (showDetails) { - showAudioUsage(); - } - } - } - - - /** Shows the audio usage data */ - protected void showAudioUsage() { - logger.info(" This Time Audio: " + timeFormat.format(audioTime) - + "s" - + " Proc: " + timeFormat.format(processingTime) + "s" - + " Speed: " + timeFormat.format(getSpeed()) - + " X real time"); - showAudioSummary(); - } - - - /** Shows the audio summary data */ - protected void showAudioSummary() { - logger.info(" Total Time Audio: " - + timeFormat.format(totalAudioTime) + "s" - + " Proc: " + timeFormat.format(totalProcessingTime) - + "s " - + timeFormat.format(getCumulativeSpeed()) + " X real time"); - - if (showResponseTime) { - float avgResponseTime = - (float) totalResponseTime / (numUtteranceStart * 1000); - logger.info - (" Response Time: Avg: " + avgResponseTime + 's' + - " Max: " + ((float) maxResponseTime / 1000) + - "s Min: " + ((float) minResponseTime / 1000) + 's'); - } - } - - - /** - * Returns the speed of the last decoding as a fraction of real time. - * - * @return the speed of the last decoding - */ - public float getSpeed() { - if (processingTime == 0 || audioTime == 0) { - return 0; - } else { - return (processingTime / audioTime); - } - } - - - /** Resets the speed statistics */ - public void reset() { - totalProcessingTime = 0; - totalAudioTime = 0; - numUtteranceStart = 0; - } - - - /** - * Returns the cumulative speed of this decoder as a fraction of real time. - * - * @return the cumulative speed of this decoder - */ - public float getCumulativeSpeed() { - if (totalProcessingTime == 0 || totalAudioTime == 0) { - return 0; - } else { - return (totalProcessingTime / totalAudioTime); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.frontend.SignalListener#signalOccurred(edu.cmu.sphinx.frontend.Signal) - */ - public void signalOccurred(Signal signal) { - if (signal instanceof SpeechStartSignal || signal instanceof DataStartSignal) { - startTime = getTime(); - audioStartTime = signal.getTime(); - long responseTime = startTime - audioStartTime; - totalResponseTime += responseTime; - if (responseTime > maxResponseTime) { - maxResponseTime = responseTime; - } - if (responseTime < minResponseTime) { - minResponseTime = responseTime; - } - numUtteranceStart++; - } else if (signal instanceof SpeechEndSignal) { - audioTime = (signal.getTime() - audioStartTime) / 1000f; - } else if (signal instanceof DataEndSignal) { - audioTime = ((DataEndSignal) signal).getDuration() / 1000f; - } - } - - - /** - * Returns the current time in milliseconds - * - * @return the time in milliseconds. - */ - private long getTime() { - return System.currentTimeMillis(); - } - - - public void statusChanged(Recognizer.State status) { - if (status == State.ALLOCATED) { - if (showTimers) { - TimerPool.dumpAll(logger); - } - } - - if (status == State.DEALLOCATING) { - if (showTimers) { - TimerPool.dumpAll(logger); - } - } - - if (status == State.DEALLOCATED) { - if (showSummary) { - showAudioSummary(); - } - - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLGrammar.java deleted file mode 100755 index 48552c66..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLGrammar.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 1999-2010 Carnegie Mellon University. - * Portions Copyright 2010 PC-NG Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.jsgf; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParserFactory; - -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.XMLReader; - -import edu.cmu.sphinx.jsgf.rule.JSGFRule; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; - -/** - * Grammar for GrXML W3C Standard - */ -public class GrXMLGrammar extends JSGFGrammar { - - Map rules; - - protected void loadXML() throws IOException { - try { - SAXParserFactory factory = SAXParserFactory.newInstance(); - XMLReader xr = factory.newSAXParser().getXMLReader(); - rules = new HashMap(); - GrXMLHandler handler = new GrXMLHandler(baseURL, rules, logger); - xr.setContentHandler(handler); - xr.setErrorHandler(handler); - InputStream is = baseURL.openStream(); - xr.parse(new InputSource(is)); - is.close(); - } catch (SAXParseException e) { - String msg = "Error while parsing line " + e.getLineNumber() + " of " + baseURL + ": " + e.getMessage(); - throw new IOException(msg); - } catch (SAXException e) { - throw new IOException("Problem with XML: " + e); - } catch (ParserConfigurationException e) { - throw new IOException(e.getMessage()); - } - - return; - } - - /** - * Commit changes to all loaded grammars and all changes of grammar since - * the last commitChange - * - * @throws JSGFGrammarParseException parse exception occured - * @throws JSGFGrammarException other exception occured - */ - @Override - public void commitChanges() throws IOException, JSGFGrammarParseException, - JSGFGrammarException { - try { - if (loadGrammar) { - if (manager == null) - getGrammarManager(); - loadXML(); - loadGrammar = false; - } - - ruleStack = new RuleStack(); - newGrammar(); - - firstNode = createGrammarNode(""); - GrammarNode finalNode = createGrammarNode(""); - finalNode.setFinalNode(true); - - // go through each rule and create a network of GrammarNodes - // for each of them - - for (Map.Entry entry : rules.entrySet()) { - - GrammarGraph publicRuleGraph = new GrammarGraph(); - ruleStack.push(entry.getKey(), publicRuleGraph); - GrammarGraph graph = processRule(entry.getValue()); - ruleStack.pop(); - - firstNode.add(publicRuleGraph.getStartNode(), 0.0f); - publicRuleGraph.getEndNode().add(finalNode, 0.0f); - publicRuleGraph.getStartNode().add(graph.getStartNode(), - 0.0f); - graph.getEndNode().add(publicRuleGraph.getEndNode(), 0.0f); - } - postProcessGrammar(); - } catch (MalformedURLException mue) { - throw new IOException("bad base grammar URL " + baseURL + ' ' + mue); - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLHandler.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLHandler.java deleted file mode 100755 index 946b1824..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/GrXMLHandler.java +++ /dev/null @@ -1,110 +0,0 @@ -package edu.cmu.sphinx.jsgf; - -import java.net.URL; -import java.util.ArrayList; -import java.util.Map; -import java.util.logging.Logger; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.DefaultHandler; - -import edu.cmu.sphinx.jsgf.rule.JSGFRule; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleAlternatives; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleCount; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleSequence; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleToken; - -public class GrXMLHandler extends DefaultHandler { - - protected final Map topRuleMap; - Logger logger; - JSGFRule currentRule; - - URL baseURL; - public GrXMLHandler(URL baseURL, Map rules, Logger logger) { - this.baseURL = baseURL; - this.topRuleMap = rules; - this.logger = logger; - } - - @Override - public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { - JSGFRule newRule = null; - JSGFRule topRule = null; - - logger.fine("Starting element " + qName); - if (qName.equals("rule")) { - String id = attributes.getValue("id"); - if (id != null) { - newRule = new JSGFRuleSequence(new ArrayList()); - topRuleMap.put(id, newRule); - topRule = newRule; - } - } - if (qName.equals("item")) { - String repeat = attributes.getValue("repeat"); - if (repeat != null) { - newRule = new JSGFRuleSequence(new ArrayList()); - JSGFRuleCount ruleCount = new JSGFRuleCount(newRule, JSGFRuleCount.ONCE_OR_MORE); - topRule = ruleCount; - } else { - newRule = new JSGFRuleSequence(new ArrayList()); - topRule = newRule; - } - } - if (qName.equals("one-of")) { - newRule = new JSGFRuleAlternatives(new ArrayList()); - topRule = newRule; - } - addToCurrent(newRule, topRule); - } - - @Override - public void characters(char buf[], int offset, int len)throws SAXException { - String item = new String(buf, offset, len).trim(); - - if (item.length() == 0) - return; - - logger.fine ("Processing text " + item); - - JSGFRuleToken newRule = new JSGFRuleToken(item); - addToCurrent(newRule, newRule); - // Don't shift current - currentRule = newRule.parent; - } - - private void addToCurrent(JSGFRule newRule, JSGFRule topRule) { - - if (newRule == null) - return; - - if (currentRule == null) { - currentRule = newRule; - return; - } - - if (currentRule instanceof JSGFRuleSequence) { - JSGFRuleSequence ruleSequence = (JSGFRuleSequence) currentRule; - ruleSequence.append(topRule); - newRule.parent = currentRule; - currentRule = newRule; - } else if (currentRule instanceof JSGFRuleAlternatives) { - JSGFRuleAlternatives ruleAlternatives = (JSGFRuleAlternatives) currentRule; - ruleAlternatives.append(topRule); - newRule.parent = currentRule; - currentRule = newRule; - } - } - - - @Override - public void endElement(String uri, String localName, String qName) throws SAXParseException { - logger.fine ("Ending element " + qName); - - if (qName.equals("item") || qName.equals("one-of") || qName.equals("rule")) - currentRule = currentRule.parent; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammar.java deleted file mode 100755 index ba736962..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammar.java +++ /dev/null @@ -1,869 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.jsgf; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import edu.cmu.sphinx.jsgf.parser.JSGFParser; -import edu.cmu.sphinx.jsgf.rule.*; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.language.grammar.Grammar; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4String; - -/** - *

Defines a BNF-style grammar based on JSGF grammar rules in a file.

- * - * - * The Java Speech Grammar Format (JSGF) is a BNF-style, platform-independent, - * and vendor-independent textual representation of grammars for use in speech - * recognition. It is used by the Java Speech API - * (JSAPI) . - * - * Here we only intend to give a couple of examples of grammars written in JSGF, - * so that you can quickly learn to write your own grammars. For more examples - * and a complete specification of JSGF, go to - * - * - * http://java.sun.com/products/java-media/speech/forDevelopers/JSGF/ . - * - * - *

Example 1: "Hello World" in JSGF

- * - * The example below shows how a JSGF grammar that generates the sentences - * "Hello World": - * - *
- *  #JSGF V1.0
- *  public <helloWorld> = Hello World;
- * 
- * - * Figure 1: Hello grammar that generates the sentences "Hello World". - *

- * - * The above grammar is saved in a file called "hello.gram". It defines a public - * grammar rule called "helloWorld". In order for this grammar rule to be - * publicly accessible, we must be declared it "public". Non-public grammar - * rules are not visible outside of the grammar file. - * - * The location of the grammar file(s) is(are) defined by the - * {@link #PROP_BASE_GRAMMAR_URL baseGrammarURL}property. Since all JSGF grammar - * files end with ".gram", it will automatically search all such files at the - * given URL for the grammar. The name of the grammar to search for is specified - * by {@link #PROP_GRAMMAR_NAME grammarName}. In this example, the grammar name - * is "helloWorld". - * - *

Example 2: Command Grammar in JSGF

- * - * This examples shows a grammar that generates basic control commands like - * "move a menu thanks please", "close file", - * "oh mighty computer please kindly delete menu thanks". It is the same as one - * of the command and control examples in the JSGF specification . It is considerably more complex than the previous - * example. It defines the public grammar called "basicCmd". - * - *
- *  #JSGF V1.0
- *  public <basicCmd> = <startPolite> <command> <endPolite>;
- *  <command> = <action> <object>;
- *  <action> = /10/ open |/2/ close |/1/ delete |/1/ move;
- *  <object> = [the | a] (window | file | menu);
- *  <startPolite> = (please | kindly | could you | oh mighty computer) *;
- *  <endPolite> = [ please | thanks | thank you ];
- * 
- * - * Figure 2: Command grammar that generates simple control commands. - *

- * - * The features of JSGF that are shown in this example includes: - *

    - *
  • using other grammar rules within a grammar rule. - *
  • the OR "|" operator. - *
  • the grouping "(...)" operator. - *
  • the optional grouping "[...]" operator. - *
  • the zero-or-many "*" (called Kleene star) operator. - *
  • a probability (e.g., "open" is more likely than the others). - *
- * - *

From JSGF to Grammar Graph

- * - * After the JSGF grammar is read in, it is converted to a graph of words - * representing the grammar. Lets call this the grammar graph. It is from this - * grammar graph that the eventual search structure used for speech recognition - * is built. Below, we show the grammar graphs created from the above JSGF - * grammars. The nodes "<sil>" means "silence". - * - *

- * Hello world
- * - * Figure 3: Grammar graph created from the Hello World grammar. - *

- * Command grammar
- * - * Figure 4: Grammar graph created from the Command grammar. - * - *

Limitations

- * - * There is a known limitation with the current JSGF support. Grammars that - * contain non-speech loops currently cause the recognizer to hang. - *

- * For example, in the following grammar - * - *

- *  #JSGF V1.0
- *  grammar jsgf.nastygram;
- *  public <nasty> = I saw a ((cat* | dog* | mouse*)+)+;
- * 
- * - * the production: ((cat* | dog* | mouse*)+)+ can result in a continuous loop, - * since (cat* | dog* | mouse*) can represent no speech (i.e. zero cats, dogs - * and mice), this is equivalent to ()+. To avoid this problem, the grammar - * writer should ensure that there are no rules that could possibly match no - * speech within a plus operator or kleene star operator. - * - *

Dynamic grammar behavior

It is possible to modify the grammar of a - * running application. Some rules and notes: - *
    - *
  • Unlike a JSAPI recognizer, the JSGF Grammar only maintains one Rule - * Grammar. This restriction may be relaxed in the future. - *
  • The grammar should not be modified while a recognition is in process - *
  • The call to JSGFGrammar.loadJSGF will load in a completely new grammar, - * tossing any old grammars or changes. No call to commitChanges is necessary - * (although such a call would be harmless in this situation). - *
  • RuleGrammars can be modified via calls to RuleGrammar.setEnabled and - * RuleGrammar.setRule). In order for these changes to take place, - * JSGFGrammar.commitChanges must be called after all grammar changes have been - * made. - *
- * - *

Implementation Notes

- *
    - *
  1. All internal probabilities are maintained in LogMath log base. - *
- */ -public class JSGFGrammar extends Grammar { - - /** The property that defines the location of the JSGF grammar file. */ - @S4String - public final static String PROP_BASE_GRAMMAR_URL = "grammarLocation"; - - /** The property that defines the location of the JSGF grammar file. */ - @S4String(defaultValue = "default.gram") - public final static String PROP_GRAMMAR_NAME = "grammarName"; - - // --------------------- - // Configurable data - // --------------------- - private JSGFRuleGrammar ruleGrammar; - protected JSGFRuleGrammarManager manager; - protected RuleStack ruleStack; - private String grammarName; - protected URL baseURL; - private LogMath logMath; - - protected boolean loadGrammar = true; - protected GrammarNode firstNode; - protected Logger logger; - - public JSGFGrammar(String location, String grammarName, - boolean showGrammar, boolean optimizeGrammar, - boolean addSilenceWords, boolean addFillerWords, - Dictionary dictionary) throws MalformedURLException, - ClassNotFoundException { - this(ConfigurationManagerUtils.resourceToURL(location), - grammarName, showGrammar, optimizeGrammar, addSilenceWords, - addFillerWords, dictionary); - } - - public JSGFGrammar(URL baseURL, String grammarName, - boolean showGrammar, boolean optimizeGrammar, - boolean addSilenceWords, boolean addFillerWords, - Dictionary dictionary) { - super(showGrammar, optimizeGrammar, addSilenceWords, addFillerWords, - dictionary); - logMath = LogMath.getLogMath(); - this.baseURL = baseURL; - this.grammarName = grammarName; - loadGrammar = true; - logger = Logger.getLogger(getClass().getName()); - } - - public JSGFGrammar() { - - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - baseURL = ConfigurationManagerUtils.getResource(PROP_BASE_GRAMMAR_URL, - ps); - logger = ps.getLogger(); - grammarName = ps.getString(PROP_GRAMMAR_NAME); - loadGrammar = true; - } - - /** - * Returns the RuleGrammar of this JSGFGrammar. - * - * @return the RuleGrammar - */ - public JSGFRuleGrammar getRuleGrammar() { - return ruleGrammar; - } - - /** - * Returns manager used to load grammars - * - * @return manager with loaded grammars - */ - public JSGFRuleGrammarManager getGrammarManager() { - if (manager == null) - manager = new JSGFRuleGrammarManager(); - return manager; - } - - /** - * Sets the URL context of the JSGF grammars. - * - * @param url - * the URL context of the grammars - */ - public void setBaseURL(URL url) { - baseURL = url; - } - - /** @return the name of this grammar. */ - public String getGrammarName() { - return grammarName; - } - - /** - * The JSGF grammar specified by grammarName will be loaded from the base - * URL (tossing out any previously loaded grammars) - * - * @param grammarName - * the name of the grammar - * @throws IOException - * if an error occurs while loading or compiling the grammar - * @throws JSGFGrammarException - * other grammar exception - * @throws JSGFGrammarParseException - * failed to parse grammar file - */ - public void loadJSGF(String grammarName) throws IOException, - JSGFGrammarParseException, JSGFGrammarException { - this.grammarName = grammarName; - loadGrammar = true; - commitChanges(); - } - - /** - * Creates the grammar. - * - * @return the initial node of the Grammar - */ - @Override - protected GrammarNode createGrammar() throws IOException { - try { - commitChanges(); - } catch (JSGFGrammarException e) { - throw new IOException(e); - } catch (JSGFGrammarParseException e) { - throw new IOException(e); - } - return firstNode; - } - - /** - * Returns the initial node for the grammar - * - * @return the initial grammar node - */ - @Override - public GrammarNode getInitialNode() { - return firstNode; - } - - /** - * Parses the given Rule into a network of GrammarNodes. - * - * @param rule - * the Rule to parse - * @return a grammar graph - * @throws JSGFGrammarException exception during parse - */ - protected GrammarGraph processRule(JSGFRule rule) throws JSGFGrammarException { - GrammarGraph result; - - if (rule != null) { - logger.fine("parseRule: " + rule); - } - - if (rule instanceof JSGFRuleAlternatives) { - result = processRuleAlternatives((JSGFRuleAlternatives) rule); - } else if (rule instanceof JSGFRuleCount) { - result = processRuleCount((JSGFRuleCount) rule); - } else if (rule instanceof JSGFRuleName) { - result = processRuleName((JSGFRuleName) rule); - } else if (rule instanceof JSGFRuleSequence) { - result = processRuleSequence((JSGFRuleSequence) rule); - } else if (rule instanceof JSGFRuleTag) { - result = processRuleTag((JSGFRuleTag) rule); - } else if (rule instanceof JSGFRuleToken) { - result = processRuleToken((JSGFRuleToken) rule); - } else { - throw new IllegalArgumentException("Unsupported Rule type: " + rule); - } - return result; - } - - /** - * Parses the given RuleName into a network of GrammarNodes. - * - * @param initialRuleName - * the RuleName rule to parse - * @return a grammar graph - */ - private GrammarGraph processRuleName(JSGFRuleName initialRuleName) - throws JSGFGrammarException { - logger.fine("parseRuleName: " + initialRuleName); - GrammarGraph result = ruleStack.contains(initialRuleName.getRuleName()); - - if (result != null) { // its a recursive call - return result; - } else { - result = new GrammarGraph(); - ruleStack.push(initialRuleName.getRuleName(), result); - } - JSGFRuleName ruleName = ruleGrammar.resolve(initialRuleName); - - if (ruleName == JSGFRuleName.NULL) { - result.getStartNode().add(result.getEndNode(), 0.0f); - } else if (ruleName == JSGFRuleName.VOID) { - // no connection for void - } else { - if (ruleName == null) { - throw new JSGFGrammarException("Can't resolve " - + initialRuleName + " g " - + initialRuleName.getFullGrammarName()); - } - JSGFRuleGrammar rg = manager.retrieveGrammar(ruleName - .getFullGrammarName()); - if (rg == null) { - throw new JSGFGrammarException("Can't resolve grammar name " - + ruleName.getFullGrammarName()); - } - - JSGFRule rule = rg.getRule(ruleName.getSimpleRuleName()); - if (rule == null) { - throw new JSGFGrammarException("Can't resolve rule: " - + ruleName.getRuleName()); - } - GrammarGraph ruleResult = processRule(rule); - if (result != ruleResult) { - result.getStartNode().add(ruleResult.getStartNode(), 0.0f); - ruleResult.getEndNode().add(result.getEndNode(), 0.0f); - } - } - ruleStack.pop(); - return result; - } - - /** - * Parses the given RuleCount into a network of GrammarNodes. - * - * @param ruleCount - * the RuleCount object to parse - * @return a grammar graph - */ - private GrammarGraph processRuleCount(JSGFRuleCount ruleCount) - throws JSGFGrammarException { - logger.fine("parseRuleCount: " + ruleCount); - GrammarGraph result = new GrammarGraph(); - int count = ruleCount.getCount(); - GrammarGraph newNodes = processRule(ruleCount.getRule()); - - result.getStartNode().add(newNodes.getStartNode(), 0.0f); - newNodes.getEndNode().add(result.getEndNode(), 0.0f); - - // if this is optional, add a bypass arc - - if (count == JSGFRuleCount.ZERO_OR_MORE - || count == JSGFRuleCount.OPTIONAL) { - result.getStartNode().add(result.getEndNode(), 0.0f); - } - - // if this can possibly occur more than once, add a loopback - - if (count == JSGFRuleCount.ONCE_OR_MORE - || count == JSGFRuleCount.ZERO_OR_MORE) { - newNodes.getEndNode().add(newNodes.getStartNode(), 0.0f); - } - return result; - } - - /** - * Parses the given RuleAlternatives into a network of GrammarNodes. - * - * @param ruleAlternatives - * the RuleAlternatives to parse - * @return a grammar graph - */ - private GrammarGraph processRuleAlternatives( - JSGFRuleAlternatives ruleAlternatives) throws JSGFGrammarException { - logger.fine("parseRuleAlternatives: " + ruleAlternatives); - GrammarGraph result = new GrammarGraph(); - - List rules = ruleAlternatives.getRules(); - List weights = getNormalizedWeights(ruleAlternatives.getWeights()); - - // expand each alternative, and connect them in parallel - for (int i = 0; i < rules.size(); i++) { - JSGFRule rule = rules.get(i); - float weight = 0.0f; - if (weights != null) { - weight = weights.get(i); - } - logger.fine("Alternative: " + rule); - GrammarGraph newNodes = processRule(rule); - result.getStartNode().add(newNodes.getStartNode(), weight); - newNodes.getEndNode().add(result.getEndNode(), 0.0f); - } - - return result; - } - - /** - * Normalize the weights. The weights should always be zero or greater. We - * need to convert the weights to a log probability. - * - * @param weights - * the weights to normalize - */ - private List getNormalizedWeights(List weights) { - - if (weights == null) { - return null; - } - - double sum = 0.0; - for (float weight : weights) { - if (weight < 0) { - throw new IllegalArgumentException("Negative weight " + weight); - } - sum += weight; - } - - List normalized = new LinkedList(weights); - - for (int i = 0; i < weights.size(); i++) { - if (sum == 0.0f) { - normalized.set(i, LogMath.LOG_ZERO); - } else { - normalized.set(i, logMath.linearToLog(weights.get(i) / sum)); - } - } - return normalized; - } - - /** - * Parses the given RuleSequence into a network of GrammarNodes. - * - * @param ruleSequence - * the RuleSequence to parse - * @return the first and last GrammarNodes of the network - */ - private GrammarGraph processRuleSequence(JSGFRuleSequence ruleSequence) - throws JSGFGrammarException { - - GrammarNode startNode = null; - GrammarNode endNode = null; - logger.fine("parseRuleSequence: " + ruleSequence); - - List rules = ruleSequence.getRules(); - - GrammarNode lastGrammarNode = null; - - // expand and connect each rule in the sequence serially - for (int i = 0; i < rules.size(); i++) { - JSGFRule rule = rules.get(i); - GrammarGraph newNodes = processRule(rule); - - // first node - if (i == 0) { - startNode = newNodes.getStartNode(); - } - - // last node - if (i == (rules.size() - 1)) { - endNode = newNodes.getEndNode(); - } - - if (i > 0) { - lastGrammarNode.add(newNodes.getStartNode(), 0.0f); - } - lastGrammarNode = newNodes.getEndNode(); - } - - return new GrammarGraph(startNode, endNode); - } - - /** - * Parses the given RuleTag into a network GrammarNodes. - * - * @param ruleTag - * the RuleTag to parse - * @return the first and last GrammarNodes of the network - */ - private GrammarGraph processRuleTag(JSGFRuleTag ruleTag) - throws JSGFGrammarException { - logger.fine("parseRuleTag: " + ruleTag); - JSGFRule rule = ruleTag.getRule(); - return processRule(rule); - } - - /** - * Creates a GrammarNode with the word in the given RuleToken. - * - * @param ruleToken - * the RuleToken that contains the word - * @return a GrammarNode with the word in the given RuleToken - */ - private GrammarGraph processRuleToken(JSGFRuleToken ruleToken) { - - GrammarNode node = createGrammarNode(ruleToken.getText()); - return new GrammarGraph(node, node); - } - - // /////////////////////////////////////////////////////////////////// - // Loading part - // ////////////////////////////////////////////////////////////////// - - private static URL grammarNameToURL(URL baseURL, String grammarName) - throws MalformedURLException { - - // Convert each period in the grammar name to a slash "/" - // Append a slash and the converted grammar name to the base URL - // Append the ".gram" suffix - grammarName = grammarName.replace('.', '/'); - StringBuilder sb = new StringBuilder(); - if (baseURL != null) { - sb.append(baseURL); - if (sb.charAt(sb.length() - 1) != '/') - sb.append('/'); - } - sb.append(grammarName).append(".gram"); - String urlstr = sb.toString(); - - URL grammarURL = null; - try { - grammarURL = new URL(urlstr); - } catch (MalformedURLException me) { - grammarURL = ClassLoader.getSystemResource(urlstr); - if (grammarURL == null) - throw new MalformedURLException(urlstr); - } - - return grammarURL; - } - - /** - * Commit changes to all loaded grammars and all changes of grammar since - * the last commitChange - * - * @throws JSGFGrammarParseException parse exception occurred - * @throws JSGFGrammarException other exception occurred - * @throws IOException exception during IO - */ - public void commitChanges() throws IOException, JSGFGrammarParseException, - JSGFGrammarException { - try { - if (loadGrammar) { - if (manager == null) - getGrammarManager(); - ruleGrammar = loadNamedGrammar(grammarName); - loadImports(ruleGrammar); - loadGrammar = false; - } - - manager.linkGrammars(); - ruleStack = new RuleStack(); - newGrammar(); - - firstNode = createGrammarNode(""); - GrammarNode finalNode = createGrammarNode(""); - finalNode.setFinalNode(true); - - // go through each rule and create a network of GrammarNodes - // for each of them - - for (String ruleName : ruleGrammar.getRuleNames()) { - if (ruleGrammar.isRulePublic(ruleName)) { - String fullName = getFullRuleName(ruleName); - GrammarGraph publicRuleGraph = new GrammarGraph(); - ruleStack.push(fullName, publicRuleGraph); - JSGFRule rule = ruleGrammar.getRule(ruleName); - GrammarGraph graph = processRule(rule); - ruleStack.pop(); - - firstNode.add(publicRuleGraph.getStartNode(), 0.0f); - publicRuleGraph.getEndNode().add(finalNode, 0.0f); - publicRuleGraph.getStartNode().add(graph.getStartNode(), - 0.0f); - graph.getEndNode().add(publicRuleGraph.getEndNode(), 0.0f); - } - } - postProcessGrammar(); - if (logger.isLoggable(Level.FINEST)) { - dumpGrammar(); - } - } catch (MalformedURLException mue) { - throw new IOException("bad base grammar URL " + baseURL + ' ' + mue); - } - } - - /** - * Load grammars imported by the specified RuleGrammar if they are not - * already loaded. - * - * @throws JSGFGrammarParseException - */ - private void loadImports(JSGFRuleGrammar grammar) throws IOException, - JSGFGrammarParseException { - - for (JSGFRuleName ruleName : grammar.imports) { - // System.out.println ("Checking import " + ruleName); - String grammarName = ruleName.getFullGrammarName(); - JSGFRuleGrammar importedGrammar = getNamedRuleGrammar(grammarName); - - if (importedGrammar == null) { - // System.out.println ("Grammar " + grammarName + - // " not found. Loading."); - importedGrammar = loadNamedGrammar(ruleName - .getFullGrammarName()); - } - if (importedGrammar != null) { - loadImports(importedGrammar); - } - } - loadFullQualifiedRules(grammar); - } - - private JSGFRuleGrammar getNamedRuleGrammar(String grammarName) { - return manager.retrieveGrammar(grammarName); - } - - /** - * Load named grammar from import rule - * - * @param grammarName - * @return already loaded grammar - * @throws JSGFGrammarParseException - * @throws IOException - */ - private JSGFRuleGrammar loadNamedGrammar(String grammarName) - throws JSGFGrammarParseException, IOException { - - URL url = grammarNameToURL(baseURL, grammarName); - JSGFRuleGrammar ruleGrammar = JSGFParser.newGrammarFromJSGF(url, - new JSGFRuleGrammarFactory(manager)); - ruleGrammar.setEnabled(true); - - return ruleGrammar; - } - - /** - * Load grammars imported by a fully qualified Rule Token if they are not - * already loaded. - * - * @param grammar - * @throws IOException - * @throws GrammarException - * @throws JSGFGrammarParseException - */ - private void loadFullQualifiedRules(JSGFRuleGrammar grammar) - throws IOException, JSGFGrammarParseException { - - // Go through every rule - for (String ruleName : grammar.getRuleNames()) { - String rule = grammar.getRule(ruleName).toString(); - // check for rule-Tokens - int index = 0; - while (index < rule.length()) { - index = rule.indexOf('<', index); - if (index < 0) { - break; - } - // Extract rule name - JSGFRuleName extractedRuleName = new JSGFRuleName(rule - .substring(index + 1, rule.indexOf('>', index + 1)) - .trim()); - index = rule.indexOf('>', index) + 1; - - // Check for full qualified rule name - if (extractedRuleName.getFullGrammarName() != null) { - String grammarName = extractedRuleName.getFullGrammarName(); - JSGFRuleGrammar importedGrammar = getNamedRuleGrammar(grammarName); - if (importedGrammar == null) { - importedGrammar = loadNamedGrammar(grammarName); - } - if (importedGrammar != null) { - loadImports(importedGrammar); - } - } - } - } - } - - /** - * Gets the fully resolved rule name - * - * @param ruleName - * the partial name - * @return the fully resolved name - * @throws JSGFGrammarException - */ - private String getFullRuleName(String ruleName) throws JSGFGrammarException { - JSGFRuleName rname = ruleGrammar.resolve(new JSGFRuleName(ruleName)); - return rname.getRuleName(); - } - - /** Dumps interesting things about this grammar */ - protected void dumpGrammar() { - System.out.println("Imported rules { "); - - for (JSGFRuleName imp : ruleGrammar.getImports()) { - System.out.println(" Import " + imp.getRuleName()); - } - System.out.println("}"); - - System.out.println("Rulenames { "); - - for (String name : ruleGrammar.getRuleNames()) { - System.out.println(" Name " + name); - } - System.out.println("}"); - } - - /** - * Represents a graph of grammar nodes. A grammar graph has a single - * starting node and a single ending node - */ - class GrammarGraph { - - private GrammarNode startNode; - private GrammarNode endNode; - - /** - * Creates a grammar graph with the given nodes - * - * @param startNode - * the staring node of the graph - * @param endNode - * the ending node of the graph - */ - GrammarGraph(GrammarNode startNode, GrammarNode endNode) { - this.startNode = startNode; - this.endNode = endNode; - } - - /** Creates a graph with non-word nodes for the start and ending nodes */ - GrammarGraph() { - startNode = createGrammarNode(false); - endNode = createGrammarNode(false); - } - - /** - * Gets the starting node - * - * @return the starting node for the graph - */ - GrammarNode getStartNode() { - return startNode; - } - - /** - * Gets the ending node - * - * @return the ending node for the graph - */ - GrammarNode getEndNode() { - return endNode; - } - } - - /** Manages a stack of grammar graphs that can be accessed by grammar name */ - class RuleStack { - - private List stack; - private HashMap map; - - /** Creates a name stack */ - public RuleStack() { - clear(); - } - - /** Pushes the grammar graph on the stack */ - public void push(String name, GrammarGraph g) { - stack.add(0, name); - map.put(name, g); - } - - /** remove the top graph on the stack */ - public void pop() { - map.remove(stack.remove(0)); - } - - /** - * Checks to see if the stack contains a graph with the given name - * - * @param name - * the graph name - * @return the grammar graph associated with the name if found, - * otherwise null - */ - public GrammarGraph contains(String name) { - if (stack.contains(name)) { - return map.get(name); - } else { - return null; - } - } - - /** Clears this name stack */ - public void clear() { - stack = new LinkedList(); - map = new HashMap(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarException.java deleted file mode 100755 index 345d6ca0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarException.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf; - -@SuppressWarnings("serial") -public class JSGFGrammarException extends Exception { - - public JSGFGrammarException(String message) { - super(message); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarParseException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarParseException.java deleted file mode 100755 index cf25008d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFGrammarParseException.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright 1998-2003 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf; - -@SuppressWarnings("serial") -public class JSGFGrammarParseException extends Exception -{ - public int lineNumber; - public int charNumber; - public String message; - public String details; - - public JSGFGrammarParseException (int lineNumber, int charNumber, String message, String details) { - this.lineNumber = lineNumber; - this.charNumber = charNumber; - this.message = message; - this.details = details; - } - public JSGFGrammarParseException (String message) { - this.message = message; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammar.java deleted file mode 100755 index c226fec8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammar.java +++ /dev/null @@ -1,648 +0,0 @@ -/** - * Copyright 1998-2003 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf; - -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; - -import edu.cmu.sphinx.jsgf.rule.JSGFRule; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleAlternatives; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleCount; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleName; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleSequence; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleTag; -import edu.cmu.sphinx.jsgf.rule.JSGFRuleToken; - -/** - * @author Paul Lamere - * @author Peter Wolf - * @author Francisco Aguilera - */ -public class JSGFRuleGrammar { - - private static final String LINE_SEPARATOR = System.getProperty("line.separator"); - - protected final Map rules = new HashMap(); - protected final List imports = new ArrayList(); - protected final List importedRules = new ArrayList(); - - protected final Map> ruleTags = new HashMap>(); - - private String name; - private JSGFRuleGrammarManager manager; - - /** Storage for documentation comments for rules for JSGF doc. */ - Properties ruleDocComments = new Properties(); - - /** Storage for documentation comments for imports for JSGF doc. */ - Properties importDocComments = new Properties(); - - /** Storage for documentation comments for the grammar for JSGF doc. */ - String grammarDocComment; - - /* Holds the state of the rule in grammar */ - class JSGFRuleState { - - public boolean isPublic; - public boolean isEnabled; - public JSGFRule rule; - public ArrayList samples; - public boolean isChanged; - - public JSGFRuleState(JSGFRule rule, boolean isEnabled, boolean isPublic) { - this.rule = rule; - this.isPublic = isPublic; - this.isEnabled = isEnabled; - this.samples = new ArrayList(); - } - } - - /** - * Create a new RuleGrammar - * - * @param name - * the name of this Grammar. - * @param manager - * the manager for the created Grammars - */ - public JSGFRuleGrammar(String name, JSGFRuleGrammarManager manager) { - this.name = name; - this.manager = manager; - } - - /** Add the Grammar comment. - * @param comment text for comment - **/ - public void addGrammarDocComment(String comment) { - grammarDocComment = comment; - } - - /** - * Import all rules or a specified rule from another grammar. - * - * @param importName - * the name of the rule(s) to import. - */ - public void addImport(JSGFRuleName importName) { - if (!imports.contains(importName)) { - imports.add(importName); - } - } - - /** Add a new import comment. - * @param imp import name - * @param comment comment to add - **/ - public void addImportDocComment(JSGFRuleName imp, String comment) { - importDocComments.put(imp.toString(), comment); - } - - /** Add a new RuleGrammar comment. - * @param rname rule doc name - * @param comment comment to add - **/ - public void addRuleDocComment(String rname, String comment) { - ruleDocComments.put(rname, comment); - } - - /** - * add a sample sentence to the list of sample sentences that go with the - * specified rule - * @param ruleName name of the rule - * @param sample sample sentence - */ - public void addSampleSentence(String ruleName, String sample) { - JSGFRuleState state = rules.get(ruleName); - if (state == null) { - return; - } - state.samples.add(sample); - } - - /** - * Delete a rule from the grammar. - * - * @param ruleName - * the name of the rule. - */ - public void deleteRule(String ruleName) throws IllegalArgumentException { - rules.remove(getKnownRule(ruleName).ruleName); - } - - /** Retrieve the Grammar comment. - * @return comment - **/ - public String getGrammarDocComment() { - return grammarDocComment; - } - - /** Retrieve an import comment. - * @param imp rule name - * @return stored comment - **/ - public String getImportDocComment(JSGFRuleName imp) { - return importDocComments.getProperty(imp.toString(), null); - } - - /** - * Returns the jsgf tags associated to the given rule. Cf. - * jsgf-specification for details. - * @param ruleName name of the rule - * @return list of tags - */ - public Collection getJSGFTags(String ruleName) { - return ruleTags.get(ruleName); - } - - /** - * Gets the Rule with the given name after it has been stripped, or throws - * an Exception if it is unknown. - * @param ruleName name of the rule - * @return rule object - */ - private JSGFRule getKnownRule(String ruleName) { - JSGFRuleState state = rules.get(ruleName); - if (state == null) { - throw new IllegalArgumentException("Unknown Rule: " + ruleName); - } - return state.rule; - } - - public String getName() { - return name; - } - - /** - * Return the data structure for the named rule. - * - * @param ruleName - * the name of the rule. - * @return rule object. - */ - public JSGFRule getRule(String ruleName) { - JSGFRuleState state = rules.get(ruleName); - if (state == null) { - return null; - } - return state.rule; - } - - /** Retrieve a RuleGrammar comment. - * @param rname name of the comment - * @return comment text - **/ - public String getRuleDocComment(String rname) { - return ruleDocComments.getProperty(rname, null); - } - - /** - * Test whether the specified rule is public. - * - * @param ruleName - * the name of the rule. - * @return if rule is public - */ - public boolean isRulePublic(String ruleName) throws IllegalArgumentException { - JSGFRuleState state = rules.get(ruleName); - if (state == null) { - return false; - } - return state.isPublic; - } - - /** List the current imports. - * @return the list of rule names for imports - **/ - public List getImports() { - return imports; - } - - /** List the names of all rules define in this Grammar. - * @return the list of rule names. - **/ - public Set getRuleNames() { - return rules.keySet(); - } - - /** - * Remove an import. - * - * @param importName - * the name of the rule(s) to remove. - */ - public void removeImport(JSGFRuleName importName) { - if (imports.contains(importName)) { - imports.remove(importName); - } - } - - /** - * Resolve a simple or qualified rule name as a full rule name. - * - * @param ruleName - * the name of the rule. - * @return rule name object - * @throws JSGFGrammarException an exception occured - */ - public JSGFRuleName resolve(JSGFRuleName ruleName) throws JSGFGrammarException { - // System.out.println ("Resolving " + ruleName); - JSGFRuleName rn = new JSGFRuleName(ruleName.getRuleName()); - - String simpleName = rn.getSimpleRuleName(); - String grammarName = rn.getSimpleGrammarName(); - String packageName = rn.getPackageName(); - String fullGrammarName = rn.getFullGrammarName(); - - // Check for badly formed RuleName - if (packageName != null && grammarName == null) { - throw new JSGFGrammarException("Error: badly formed rulename " + rn); - } - - if (ruleName.getSimpleRuleName().equals("NULL")) { - return JSGFRuleName.NULL; - } - - if (ruleName.getSimpleRuleName().equals("VOID")) { - return JSGFRuleName.VOID; - } - - // Check simple case: a local rule reference - if (fullGrammarName == null && this.getRule(simpleName) != null) { - return new JSGFRuleName(name + '.' + simpleName); - } - - // Check for fully-qualified reference - if (fullGrammarName != null) { - JSGFRuleGrammar g = manager.retrieveGrammar(fullGrammarName); - if (g != null) { - if (g.getRule(simpleName) != null) { - // we have a successful resolution - return new JSGFRuleName(fullGrammarName + '.' + simpleName); - } - } - } - - // Collect all matching imports into a list. After trying to - // match rn to each import statement the vec will have - // size()=0 if rn is unresolvable - // size()=1 if rn is properly resolvable - // size()>1 if rn is an ambiguous reference - List matches = new ArrayList(); - - // Get list of imports - // Add local grammar to simply the case of checking for - // a qualified or fully-qualified local reference. - List imports = new ArrayList(this.imports); - imports.add(new JSGFRuleName(name + ".*")); - - // Check each import statement for a possible match - for (JSGFRuleName importName : imports) { - // TO-DO: update for JSAPI 1.0 - String importSimpleName = importName.getSimpleRuleName(); - String importGrammarName = importName.getSimpleGrammarName(); - String importFullGrammarName = importName.getFullGrammarName(); - - // Check for badly formed import name - if (importFullGrammarName == null) { - throw new JSGFGrammarException("Error: badly formed import " + ruleName); - } - - // Get the imported grammar - JSGFRuleGrammar gref = manager.retrieveGrammar(importFullGrammarName); - if (gref == null) { - System.out.println("Warning: import of unknown grammar " + ruleName + " in " + name); - continue; - } - - // If import includes simpleName, test that it really exists - if (!importSimpleName.equals("*") && gref.getRule(importSimpleName) == null) { - System.out.println("Warning: import of undefined rule " + ruleName + " in " + name); - continue; - } - - // Check for fully-qualified or qualified reference - if (importFullGrammarName.equals(fullGrammarName) || importGrammarName.equals(fullGrammarName)) { - // Know that either - // import matches - // OR - // import matches - // (ipkg may be null) - - if (importSimpleName.equals("*")) { - if (gref.getRule(simpleName) != null) { - // import matches - matches.add(new JSGFRuleName(importFullGrammarName + '.' + simpleName)); - } - continue; - } else { - // Now testing - // import against - // - if (importSimpleName.equals(simpleName)) { - // import exact match for - // - matches.add(new JSGFRuleName(importFullGrammarName + '.' + simpleName)); - } - continue; - } - } - - // If we get here and rulename is qualified or fully-qualified - // then the match failed - try the next import statement - if (fullGrammarName != null) { - continue; - } - - // Now test - // import against - - if (importSimpleName.equals("*")) { - if (gref.getRule(simpleName) != null) { - // import matches - matches.add(new JSGFRuleName(importFullGrammarName + '.' + simpleName)); - } - continue; - } - - // Finally test - // import against - - if (importSimpleName.equals(simpleName)) { - matches.add(new JSGFRuleName(importFullGrammarName + '.' + simpleName)); - continue; - } - } - - // The return behavior depends upon number of matches - switch (matches.size()) { - case 0: // Return null if rulename is unresolvable - return null; - case 1: // Return successfully - return matches.get(0); - default: // Throw exception if ambiguous reference - StringBuilder b = new StringBuilder(); - b.append("Warning: ambiguous reference ").append(rn).append(" in ").append(name).append(" to "); - for (JSGFRuleName tmp : matches) { - b.append(tmp).append(" and "); - } - b.setLength(b.length() - 5); - throw new JSGFGrammarException(b.toString()); - } - } - - /** Resolve and link up all rule references contained in all rules. - * @throws JSGFGrammarException an exception occured - **/ - public void resolveAllRules() throws JSGFGrammarException { - StringBuilder b = new StringBuilder(); - - // First make sure that all imports are resolvable - for (JSGFRuleName ruleName : imports) { - String grammarName = ruleName.getFullGrammarName(); - JSGFRuleGrammar GI = manager.retrieveGrammar(grammarName); - if (GI == null) { - b.append("Undefined grammar ").append(grammarName).append(" imported in ").append(name).append('\n'); - } - } - if (b.length() > 0) { - throw new JSGFGrammarException(b.toString()); - } - - for (JSGFRuleState state : rules.values()) { - resolveRule(state.rule); - } - } - - /** - * Resolve the given rule. - * - * @param r rule to resolve - * @throws JSGFGrammarException if something occurs - **/ - protected void resolveRule(JSGFRule r) throws JSGFGrammarException { - - if (r instanceof JSGFRuleToken) { - return; - } - - if (r instanceof JSGFRuleAlternatives) { - for (JSGFRule rule : ((JSGFRuleAlternatives) r).getRules()) { - resolveRule(rule); - } - return; - } - - if (r instanceof JSGFRuleSequence) { - for (JSGFRule rule : ((JSGFRuleSequence) r).getRules()) { - resolveRule(rule); - } - return; - } - - if (r instanceof JSGFRuleCount) { - resolveRule(((JSGFRuleCount) r).getRule()); - return; - } - - if (r instanceof JSGFRuleTag) { - JSGFRuleTag rt = (JSGFRuleTag) r; - - JSGFRule rule = rt.getRule(); - String ruleStr = rule.toString(); - - // add the tag the tag-table - Collection tags = ruleTags.get(ruleStr); - if (tags == null) { - tags = new HashSet(); - ruleTags.put(ruleStr, tags); - } - tags.add(rt.getTag()); - - resolveRule(rule); - return; - } - - if (r instanceof JSGFRuleName) { - JSGFRuleName rn = (JSGFRuleName) r; - JSGFRuleName resolved = resolve(rn); - - if (resolved == null) { - throw new JSGFGrammarException("Unresolvable rulename in grammar " + name + ": " + rn); - } else { - // TODO: This forces all rule names to be fully resolved. - // This should be changed. - rn.resolvedRuleName = resolved.getRuleName(); - rn.setRuleName(resolved.getRuleName()); - return; - } - } - - throw new JSGFGrammarException("Unknown rule type"); - } - - /** - * Set the enabled property of the Grammar. - * - * @param enabled - * the new desired state of the enabled property. - */ - public void setEnabled(boolean enabled) { - for (JSGFRuleState state : rules.values()) { - state.isEnabled = enabled; - } - } - - public boolean isEnabled(String ruleName) { - JSGFRuleState state = rules.get(ruleName); - if (state != null) { - return state.isEnabled; - } - return false; - } - - /** - * Set the enabled state of the listed rule. - * - * @param ruleName - * the name of the rule. - * @param enabled - * the new enabled state. - */ - public void setEnabled(String ruleName, boolean enabled) throws IllegalArgumentException { - JSGFRuleState state = rules.get(ruleName); - if (state.isEnabled != enabled) { - state.isEnabled = enabled; - } - } - - /** - * Set a rule in the grammar either by creating a new rule or updating an - * existing rule. - * - * @param ruleName - * the name of the rule. - * @param rule - * the definition of the rule. - * @param isPublic - * whether this rule is public or not. - */ - public void setRule(String ruleName, JSGFRule rule, boolean isPublic) throws NullPointerException, IllegalArgumentException { - JSGFRuleState state = new JSGFRuleState(rule, true, isPublic); - rules.put(ruleName, state); - } - - /** - * Returns a string containing the specification for this grammar. - * - * @return specification for this grammar. - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("#JSGF V1.0;").append(LINE_SEPARATOR); - sb.append(LINE_SEPARATOR); - sb.append(formatComment(grammarDocComment)); - sb.append(LINE_SEPARATOR); - sb.append("grammar ").append(name).append(';').append(LINE_SEPARATOR); - sb.append(LINE_SEPARATOR); - // Set of comment keys (The import such comment belongs to). - Set docComments = importDocComments.keySet(); - for (int i = 0; i < imports.size(); i++) { - String curImport = '<' + imports.get(i).getRuleName() + '>'; - if (docComments.contains(curImport)) { - sb.append(formatComment((String) importDocComments.get(curImport))); - sb.append(LINE_SEPARATOR); - sb.append("import ").append(curImport + ';').append(LINE_SEPARATOR); - sb.append(LINE_SEPARATOR); - } - } - docComments = ruleDocComments.keySet(); - for (Map.Entry entry : rules.entrySet()) { - Object rule = entry.getKey(); - if ((docComments.size() > 0) && docComments.contains(rule)) { - sb.append(formatComment((String) ruleDocComments.get(rule))).append(LINE_SEPARATOR); - } - JSGFRuleState state = entry.getValue(); - if (state.isPublic) { - sb.append("public "); - } - sb.append('<').append(rule).append("> = ").append(state.rule).append(';').append(LINE_SEPARATOR); - sb.append(LINE_SEPARATOR); - } - return sb.toString(); - } - - /** - * Expands the given String comment into: A. a multi-line comment if the - * provided String contains any newline characters. B. a single-line comment - * if comment does not contain any newline characters. - * - * @param comment - * The String to expand into a multi or single line comment. - * @return If the provided string is not null, the multi or single line - * representation of the provided comment, otherwise an empty string - * (""). - */ - private String formatComment(String comment) { - StringBuilder sb = new StringBuilder(""); - if (comment == null) { - return sb.toString(); - } else if (java.util.regex.Pattern.compile("[\\n\\r\\f]+").matcher(comment).find()) { - String tokens[] = comment.split('[' + LINE_SEPARATOR + "]+"); - sb.append("/**").append(LINE_SEPARATOR); - sb.append(" *").append(tokens[0]).append(LINE_SEPARATOR); - for (int i = 1; i < tokens.length; i++) { - sb.append(" *").append(tokens[i]).append(LINE_SEPARATOR); - } - sb.append(" */"); - return sb.toString(); - } else { - return "//" + comment; - } - } - - /** - * This JSGFRule grammar will be saved to the file in the provided URL, - * Overwriting any contents in the provided file, or creating a new one if - * it does not exist. - * - * @param url - * The URL to save this JSGFRuleGrammar to. - * @throws URISyntaxException - * If there was a problem converting the given url to uri. - * @throws IOException - * if an error occurs while saving or compiling the grammar - */ - public void saveJSGF(URL url) throws URISyntaxException, IOException { - PrintStream out = new PrintStream(new File(url.toURI())); - out.print(toString()); - out.flush(); - out.close(); - } - - public boolean isRuleChanged(String ruleName) { - JSGFRuleState state = rules.get(ruleName); - return state.isChanged; - } - - public void setRuleChanged(String ruleName, boolean changed) { - JSGFRuleState state = rules.get(ruleName); - state.isChanged = changed; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarFactory.java deleted file mode 100755 index 1795fcd5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf; - -public class JSGFRuleGrammarFactory { - - JSGFRuleGrammarManager manager; - public JSGFRuleGrammarFactory (JSGFRuleGrammarManager manager) { - this.manager = manager; - } - - public JSGFRuleGrammar newGrammar(String name) { - - assert manager != null; - JSGFRuleGrammar grammar = new JSGFRuleGrammar(name, manager); - manager.storeGrammar(grammar); - return grammar; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarManager.java deleted file mode 100755 index 8f8d1367..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/JSGFRuleGrammarManager.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -public class JSGFRuleGrammarManager { - protected Map grammars; - - public JSGFRuleGrammarManager () { - grammars = new HashMap(); - } - - public Collection grammars() { - return grammars.values(); - } - - public void remove(JSGFRuleGrammar grammar) { - String name = grammar.getName(); - grammars.remove(name); - } - - public void remove(String name) { - grammars.remove(name); - } - - /** Add a grammar to the grammar list. - * @param grammar to store - **/ - protected void storeGrammar(JSGFRuleGrammar grammar) { - grammars.put(grammar.getName(), grammar); - } - - /** Retrieve a grammar from the grammar list. - * @param name grammar name to load - * @return grammar object - */ - public JSGFRuleGrammar retrieveGrammar(String name) { - // System.out.println ("Looking for grammar " + name); - // for (String key : grammars.keySet()) { - // System.out.println (" " + key); - // } - return grammars.get(name); - } - - public void linkGrammars() throws JSGFGrammarException { - for (JSGFRuleGrammar grammar : grammars.values()) { - grammar.resolveAllRules(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParser.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParser.java deleted file mode 100755 index 9d3a3dc0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParser.java +++ /dev/null @@ -1,1111 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JSGFParser.java */ -package edu.cmu.sphinx.jsgf.parser; - -import java.io.BufferedInputStream; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.StringTokenizer; - -import edu.cmu.sphinx.jsgf.rule.*; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammar; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarFactory; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarManager; -import edu.cmu.sphinx.jsgf.JSGFGrammarParseException; - -@SuppressWarnings("all") -class JSGFEncoding { - public String version; - - public String encoding; - - public String locale; - - JSGFEncoding(String version, String encoding, String locale) { - this.version = version; - this.encoding = encoding; - this.locale = locale; - } -} - -public class JSGFParser implements JSGFParserConstants { - // For now we create one global parser, if needed JavaCC can be set - // to allow the creation of multiple parser instances - // - static final String version = "1.0"; - - static JSGFParser parser = null; - - // This main method simply checks the syntax of a jsgf Grammar - // - public static void main(String[] args) { - if (args.length == 0) { - System.out.println("JSGF Parser Version " + version + ": Reading from standard input . . ."); - parser = new JSGFParser(System.in); - } - else if (args.length > 0) { - System.out.println("JSGF Parser Version " + version + ": Reading from file " + args[0] + " . . ."); - try { - URL codeBase = null; - File f = new File("."); - String path = f.getAbsolutePath() + "/" + args[0]; - try { - codeBase = new URL("file:" + path); - } catch (MalformedURLException e) { - System.out.println("Could not get URL for current directory " + e); - return; - } - BufferedInputStream i = new BufferedInputStream(codeBase.openStream(), 256); - JSGFEncoding encoding = getJSGFEncoding(i); - Reader rdr; - if ((encoding != null) && (encoding.encoding != null)) { - System.out.println("Grammar Character Encoding \u005c"" + encoding.encoding + "\u005c""); - rdr = new InputStreamReader(i, encoding.encoding); - } else { - if (encoding == null) System.out.println("WARNING: Grammar missing self identifying header"); - rdr = new InputStreamReader(i); - } - parser = new JSGFParser(rdr); - } catch (Exception e) { - System.out.println("JSGF Parser Version " + version + ": File " + args[0] + " not found."); - return; - } - } else { - System.out.println("JSGF Parser Version " + version + ": Usage is one of:"); - System.out.println(" java JSGFParser < inputfile"); - System.out.println("OR"); - System.out.println(" java JSGFParser inputfile"); - return; - } - try { - parser.GrammarUnit(new JSGFRuleGrammarFactory (new JSGFRuleGrammarManager())); - System.out.println("JSGF Parser Version " + version + ": JSGF Grammar parsed successfully."); - } catch (ParseException e) { - System.out.println("JSGF Parser Version " + version + ": Encountered errors during parse." + e.getMessage()); - } - } - - public static JSGFRuleGrammar newGrammarFromJSGF(InputStream i, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException - { - JSGFRuleGrammar grammar = null; - if (parser == null) { - parser = new JSGFParser(i); - } else { - parser.ReInit(i); - } - try { - grammar = parser.GrammarUnit(factory); - return grammar; - } catch (ParseException e) { - Token etoken = e.currentToken; - JSGFGrammarParseException ge = new JSGFGrammarParseException(etoken.beginLine, etoken.beginColumn, "Grammar Error", e.getMessage()); - throw ge; - } - } - - public static JSGFRuleGrammar newGrammarFromJSGF(Reader i, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException - { - JSGFRuleGrammar grammar = null; - if (parser == null) { - parser = new JSGFParser(i); - } else { - parser.ReInit(i); - } - try { - grammar = parser.GrammarUnit(factory); - return grammar; - } catch (ParseException e) { - Token etoken = e.currentToken; - JSGFGrammarParseException ge = new JSGFGrammarParseException(etoken.beginLine, etoken.beginColumn, "Grammar Error", e.getMessage()); - throw ge; - } - } - - private static JSGFEncoding getJSGFEncoding(BufferedInputStream is) { - int i = 0; - byte[] b = new byte[2]; - byte[] c = new byte[80]; - is.mark(256); - /* read 2 bytes */ - try { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if ((b[0] == 0x23) && (b[1] == 0x4A)) { - // UTF-8 - i = 0; - c[i++] = b[0]; - c[i++] = b[1]; - while (i < 80) { - if (is.read(b, 0, 1) != 1) { - is.reset(); - return null; - } - if ((b[0] == 0x0A) || (b[0] == 0x0D)) break; - c[i++] = b[0]; - } - } else if ((b[0] == 0x23) && (b[1] == 0x00)) { - // UTF-16 BE - i = 0; - c[i++] = b[0]; - while (i < 80) { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if (b[1] != 0) return null; - if ((b[0] == 0x0A) || (b[0] == 0x0D)) break; - c[i++] = b[0]; - } - } else if ((b[0] == 0x00) && (b[1] == 0x23)) { - // UTF-16 LE - i = 0; - c[i++] = b[1]; - while (i < 80) { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if (b[0] != 0) return null; - if ((b[1] == 0x0A) || (b[1] == 0x0D)) break; - c[i++] = b[1]; - } - } - } - catch (IOException ioe) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - if (i == 0) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - // - // Now c[] should have first line of text in UTF-8 format - // - String estr = new String(c, 0, i); - StringTokenizer st = new StringTokenizer(estr, " \u005ct\u005cn\u005cr\u005cf;"); - String id = null; - String ver = null; - String enc = null; - String loc = null; - if (st.hasMoreTokens()) id = st.nextToken(); - if (!id.equals("#JSGF")) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - if (st.hasMoreTokens()) ver = st.nextToken(); - if (st.hasMoreTokens()) enc = st.nextToken(); - if (st.hasMoreTokens()) loc = st.nextToken(); - return new JSGFEncoding(ver, enc, loc); - } - - public static JSGFRuleGrammar newGrammarFromJSGF(URL url, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException, IOException - { - Reader reader; - BufferedInputStream stream = new BufferedInputStream(url.openStream(), 256); - JSGFEncoding encoding = getJSGFEncoding(stream); - if ((encoding != null) && (encoding.encoding != null)) { - System.out.println("Grammar Character Encoding \u005c"" + encoding.encoding + "\u005c""); - reader = new InputStreamReader(stream, encoding.encoding); - } else { - if (encoding == null) System.out.println("WARNING: Grammar missing self identifying header"); - reader = new InputStreamReader(stream); - } - return newGrammarFromJSGF(reader, factory); - } - - public static JSGFRule ruleForJSGF(String text) { - JSGFRule r = null; - try { - StringReader sread = new StringReader(text); - if (parser == null) parser = new JSGFParser(sread); - else parser.ReInit(sread); - r = parser.alternatives(); - // System.out.println("JSGF Parser Version " + version - // + ": JSGF RHS parsed successfully."); - } catch (ParseException e) { - System.out.println("JSGF Parser Version " + version + ": Encountered errors during parse."); - } - return r; - } - - static void extractKeywords(JSGFRuleGrammar grammar, String rname, String comment) { - int i = 0; - while ((i = comment.indexOf("@example ", i) + 9) > 9) { - int j = Math.max(comment.indexOf('\u005cr', i), comment.indexOf('\u005cn', i)); - if (j < 0) { - j = comment.length(); - if (comment.endsWith(("*/"))) - j -= 2; - } - grammar.addSampleSentence(rname, comment.substring(i, j).trim()); - i = j + 1; - } - } - - @SuppressWarnings("unused") -final public JSGFRuleGrammar GrammarUnit(JSGFRuleGrammarFactory factory) throws ParseException { - JSGFRuleGrammar grammar = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - IdentHeader(); - break; - default: - jj_la1[0] = jj_gen; - ; - } - grammar = GrammarDeclaration(factory); - label_1: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORT: - ; - break; - default: - jj_la1[1] = jj_gen; - break label_1; - } - ImportDeclaration(grammar); - } - label_2: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PUBLIC: - case 28: - ; - break; - default: - jj_la1[2] = jj_gen; - break label_2; - } - RuleDeclaration(grammar); - } - jj_consume_token(0); - {if (true) return grammar;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRuleGrammar GrammarDeclaration(JSGFRuleGrammarFactory factory) throws ParseException { - String s; - JSGFRuleGrammar grammar = null; - Token t = null; - t = jj_consume_token(GRAMMAR); - s = Name(); - jj_consume_token(26); - grammar = factory.newGrammar (s); - if (grammar != null && t != null && t.specialToken != null) { - if (t.specialToken.image != null && t.specialToken.image.startsWith("/**")) { - JSGFRuleGrammar JG = grammar; - JG.addGrammarDocComment(t.specialToken.image); - } - } - {if (true) return grammar;} - throw new Error("Missing return statement in function"); - } - - final public void IdentHeader() throws ParseException { - jj_consume_token(IDENTIFIER); - jj_consume_token(27); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - jj_consume_token(IDENTIFIER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - jj_consume_token(IDENTIFIER); - break; - default: - jj_la1[3] = jj_gen; - ; - } - break; - default: - jj_la1[4] = jj_gen; - ; - } - jj_consume_token(26); - } - - final public void ImportDeclaration(JSGFRuleGrammar grammar) throws ParseException { - boolean all = false; - String name; - Token t = null; - t = jj_consume_token(IMPORT); - jj_consume_token(28); - name = Name(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 29: - jj_consume_token(29); - jj_consume_token(30); - all = true; - break; - default: - jj_la1[5] = jj_gen; - ; - } - jj_consume_token(31); - jj_consume_token(26); - // import all rules if .* - if (all) name = name + ".*"; - JSGFRuleName r = new JSGFRuleName(name); - if (grammar != null) { - grammar.addImport(r); - if (grammar instanceof JSGFRuleGrammar && t != null && t.specialToken != null) { - if (t.specialToken.image != null && t.specialToken.image.startsWith("/**")) { - JSGFRuleGrammar JG = grammar; - JG.addImportDocComment(r, t.specialToken.image); - } - } - } - } - - @SuppressWarnings("unused") -final public String Name() throws ParseException { - Token t1, t2; - StringBuilder sb = new StringBuilder(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - t1 = jj_consume_token(IDENTIFIER); - break; - case PUBLIC: - t1 = jj_consume_token(PUBLIC); - break; - case IMPORT: - t1 = jj_consume_token(IMPORT); - break; - case GRAMMAR: - t1 = jj_consume_token(GRAMMAR); - break; - default: - jj_la1[6] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - sb.append(t1.image); - label_3: - while (true) { - if (jj_2_1(2)) { - ; - } else { - break label_3; - } - jj_consume_token(29); - t2 = jj_consume_token(IDENTIFIER); - sb.append('.'); - sb.append(t2.image); - } - {if (true) return sb.toString();} - throw new Error("Missing return statement in function"); - } - - final public void RuleDeclaration(JSGFRuleGrammar grammar) throws ParseException { - boolean pub = false; - String s; - JSGFRule r; - Token t = null; - Token t1 = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PUBLIC: - t = jj_consume_token(PUBLIC); - pub = true; - break; - default: - jj_la1[7] = jj_gen; - ; - } - t1 = jj_consume_token(28); - s = ruleDef(); - jj_consume_token(31); - jj_consume_token(32); - r = alternatives(); - jj_consume_token(26); - try { - if (grammar != null) { - grammar.setRule(s, r, pub); - String docComment = null; - if ((t != null) && (t.specialToken != null) && (t.specialToken.image != null)) docComment = t.specialToken.image; - else if ((t1 != null) && (t1.specialToken != null) && (t1.specialToken.image != null)) docComment = t1.specialToken.image; - if (docComment != null && docComment.startsWith("/**")) { - extractKeywords(grammar, s, docComment); - grammar.addRuleDocComment(s, docComment); - } - } - } catch (IllegalArgumentException e) { - System.out.println("ERROR SETTING JSGFRule " + s); - } - } - - @SuppressWarnings("unused") -final public JSGFRuleAlternatives alternatives() throws ParseException { - ArrayList ruleList = new ArrayList(); - JSGFRule r; - float w; - ArrayListweights = new ArrayList(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GRAMMAR: - case IMPORT: - case PUBLIC: - case INTEGER_LITERAL: - case FLOATING_POINT_LITERAL: - case STRING_LITERAL: - case IDENTIFIER: - case 28: - case 36: - case 38: - r = sequence(); - ruleList.add(r); - label_4: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 33: - ; - break; - default: - jj_la1[8] = jj_gen; - break label_4; - } - jj_consume_token(33); - r = sequence(); - ruleList.add(r); - } - break; - case 34: - w = weight(); - r = sequence(); - ruleList.add(r); - weights.add(w); - label_5: - while (true) { - jj_consume_token(33); - w = weight(); - r = sequence(); - ruleList.add(r); - weights.add(w); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 33: - ; - break; - default: - jj_la1[9] = jj_gen; - break label_5; - } - } - break; - default: - jj_la1[10] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - JSGFRuleAlternatives ra = new JSGFRuleAlternatives(ruleList); - if (weights.size() > 0) { - ra.setWeights(weights); - } - {if (true) return ra;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public String ruleDef() throws ParseException { - Token t; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - t = jj_consume_token(IDENTIFIER); - break; - case INTEGER_LITERAL: - t = jj_consume_token(INTEGER_LITERAL); - break; - case PUBLIC: - t = jj_consume_token(PUBLIC); - break; - case IMPORT: - t = jj_consume_token(IMPORT); - break; - case GRAMMAR: - t = jj_consume_token(GRAMMAR); - break; - default: - jj_la1[11] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return t.image;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRuleSequence sequence() throws ParseException { - JSGFRule JSGFRule; - ArrayList ruleList = new ArrayList(); - label_6: - while (true) { - JSGFRule = item(); - ruleList.add(JSGFRule); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GRAMMAR: - case IMPORT: - case PUBLIC: - case INTEGER_LITERAL: - case FLOATING_POINT_LITERAL: - case STRING_LITERAL: - case IDENTIFIER: - case 28: - case 36: - case 38: - ; - break; - default: - jj_la1[12] = jj_gen; - break label_6; - } - } - {if (true) return new JSGFRuleSequence(ruleList);} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public float weight() throws ParseException { - Token t; - jj_consume_token(34); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case FLOATING_POINT_LITERAL: - t = jj_consume_token(FLOATING_POINT_LITERAL); - break; - case INTEGER_LITERAL: - t = jj_consume_token(INTEGER_LITERAL); - break; - default: - jj_la1[13] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(34); - {if (true) return Float.valueOf(t.image).floatValue();} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRule item() throws ParseException { - JSGFRule r; - ArrayList tags = null; - int count =-1; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GRAMMAR: - case IMPORT: - case PUBLIC: - case INTEGER_LITERAL: - case FLOATING_POINT_LITERAL: - case STRING_LITERAL: - case IDENTIFIER: - case 28: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GRAMMAR: - case IMPORT: - case PUBLIC: - case INTEGER_LITERAL: - case FLOATING_POINT_LITERAL: - case STRING_LITERAL: - case IDENTIFIER: - r = terminal(); - break; - case 28: - r = ruleRef(); - break; - default: - jj_la1[14] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 30: - case 35: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 30: - jj_consume_token(30); - count = JSGFRuleCount.ZERO_OR_MORE; - break; - case 35: - jj_consume_token(35); - count = JSGFRuleCount.ONCE_OR_MORE; - break; - default: - jj_la1[15] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[16] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TAG: - tags = tags(); - break; - default: - jj_la1[17] = jj_gen; - ; - } - break; - case 36: - jj_consume_token(36); - r = alternatives(); - jj_consume_token(37); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 30: - case 35: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 30: - jj_consume_token(30); - count = JSGFRuleCount.ZERO_OR_MORE; - break; - case 35: - jj_consume_token(35); - count = JSGFRuleCount.ONCE_OR_MORE; - break; - default: - jj_la1[18] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[19] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TAG: - tags = tags(); - break; - default: - jj_la1[20] = jj_gen; - ; - } - break; - case 38: - jj_consume_token(38); - r = alternatives(); - jj_consume_token(39); - count = JSGFRuleCount.OPTIONAL; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TAG: - tags = tags(); - break; - default: - jj_la1[21] = jj_gen; - ; - } - break; - default: - jj_la1[22] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - if (count != - 1) r = new JSGFRuleCount(r, count); - if (tags != null) { - for (String tag : tags) { - if (tag.charAt(0) == '{') { - tag = tag.substring(1, tag.length() - 1); - tag = tag.replace('\u005c\u005c', ' '); - } - r = new JSGFRuleTag(r, tag); - } - } - {if (true) return r;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public ArrayList tags() throws ParseException { - Token token; - ArrayList tags = new ArrayList(); - label_7: - while (true) { - token = jj_consume_token(TAG); - tags.add(token.image); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TAG: - ; - break; - default: - jj_la1[23] = jj_gen; - break label_7; - } - } - {if (true) return tags;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRule terminal() throws ParseException { - Token t; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENTIFIER: - t = jj_consume_token(IDENTIFIER); - break; - case STRING_LITERAL: - t = jj_consume_token(STRING_LITERAL); - break; - case INTEGER_LITERAL: - t = jj_consume_token(INTEGER_LITERAL); - break; - case FLOATING_POINT_LITERAL: - t = jj_consume_token(FLOATING_POINT_LITERAL); - break; - case PUBLIC: - t = jj_consume_token(PUBLIC); - break; - case IMPORT: - t = jj_consume_token(IMPORT); - break; - case GRAMMAR: - t = jj_consume_token(GRAMMAR); - break; - default: - jj_la1[24] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - String tn = t.image; - if (tn.startsWith("\u005c"") && tn.endsWith("\u005c"")) tn = tn.substring(1, tn.length() - 1); - JSGFRuleToken rt = new JSGFRuleToken(tn); - {if (true) return rt;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRuleName ruleRef() throws ParseException { - String s; - jj_consume_token(28); - s = Name(); - jj_consume_token(31); - JSGFRuleName rn = new JSGFRuleName(s); - {if (true) return rn;} - throw new Error("Missing return statement in function"); - } - - @SuppressWarnings("unused") -final public JSGFRuleName importRef() throws ParseException { - String s; - boolean all = false; - jj_consume_token(28); - s = Name(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case 29: - jj_consume_token(29); - jj_consume_token(30); - all = true; - break; - default: - jj_la1[25] = jj_gen; - ; - } - jj_consume_token(31); - if (all) s = s + ".*"; - JSGFRuleName rn = new JSGFRuleName(s); - {if (true) return rn;} - throw new Error("Missing return statement in function"); - } - - private boolean jj_2_1(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_1(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(0, xla); } - } - - private boolean jj_3_1() { - if (jj_scan_token(29)) return true; - if (jj_scan_token(IDENTIFIER)) return true; - return false; - } - - public JSGFParserTokenManager token_source; - JavaCharStream jj_input_stream; - - public Token token; - public Token jj_nt; - private int jj_ntk; - private Token jj_scanpos, jj_lastpos; - private int jj_la; - private int jj_gen; - final private int[] jj_la1 = new int[26]; - static private int[] jj_la1_0; - static private int[] jj_la1_1; - static { - jj_la1_init_0(); - jj_la1_init_1(); - } - private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x800000,0x4000,0x10008000,0x800000,0x800000,0x20000000,0x80e000,0x8000,0x0,0x0,0x10a5e000,0x81e000,0x10a5e000,0x50000,0x10a5e000,0x40000000,0x40000000,0x400000,0x40000000,0x40000000,0x400000,0x400000,0x10a5e000,0x400000,0xa5e000,0x20000000,}; - } - private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x54,0x0,0x50,0x0,0x0,0x8,0x8,0x0,0x8,0x8,0x0,0x0,0x50,0x0,0x0,0x0,}; - } - final private JJCalls[] jj_2_rtns = new JJCalls[1]; - private boolean jj_rescan = false; - private int jj_gc = 0; - - public JSGFParser(java.io.InputStream stream) { - this(stream, null); - } - public JSGFParser(java.io.InputStream stream, String encoding) { - try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } - token_source = new JSGFParserTokenManager(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - public void ReInit(java.io.InputStream stream) { - ReInit(stream, null); - } - public void ReInit(java.io.InputStream stream, String encoding) { - try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } - token_source.ReInit(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - public JSGFParser(java.io.Reader stream) { - jj_input_stream = new JavaCharStream(stream, 1, 1); - token_source = new JSGFParserTokenManager(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - public void ReInit(java.io.Reader stream) { - jj_input_stream.ReInit(stream, 1, 1); - token_source.ReInit(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - public JSGFParser(JSGFParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - public void ReInit(JSGFParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 26; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - private Token jj_consume_token(int kind) throws ParseException { - Token oldToken; - if ((oldToken = token).next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - if (token.kind == kind) { - jj_gen++; - if (++jj_gc > 100) { - jj_gc = 0; - for (int i = 0; i < jj_2_rtns.length; i++) { - JJCalls c = jj_2_rtns[i]; - while (c != null) { - if (c.gen < jj_gen) c.first = null; - c = c.next; - } - } - } - return token; - } - token = oldToken; - jj_kind = kind; - throw generateParseException(); - } - - @SuppressWarnings("serial") -static private final class LookaheadSuccess extends java.lang.Error { } - final private LookaheadSuccess jj_ls = new LookaheadSuccess(); - private boolean jj_scan_token(int kind) { - if (jj_scanpos == jj_lastpos) { - jj_la--; - if (jj_scanpos.next == null) { - jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); - } else { - jj_lastpos = jj_scanpos = jj_scanpos.next; - } - } else { - jj_scanpos = jj_scanpos.next; - } - if (jj_rescan) { - int i = 0; Token tok = token; - while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } - if (tok != null) jj_add_error_token(kind, i); - } - if (jj_scanpos.kind != kind) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; - return false; - } - - - final public Token getNextToken() { - if (token.next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - jj_gen++; - return token; - } - - final public Token getToken(int index) { - Token t = token; - for (int i = 0; i < index; i++) { - if (t.next != null) t = t.next; - else t = t.next = token_source.getNextToken(); - } - return t; - } - - private int jj_ntk() { - if ((jj_nt=token.next) == null) - return (jj_ntk = (token.next=token_source.getNextToken()).kind); - else - return (jj_ntk = jj_nt.kind); - } - - private java.util.List jj_expentries = new java.util.ArrayList(); - private int[] jj_expentry; - private int jj_kind = -1; - private int[] jj_lasttokens = new int[100]; - private int jj_endpos; - - private void jj_add_error_token(int kind, int pos) { - if (pos >= 100) return; - if (pos == jj_endpos + 1) { - jj_lasttokens[jj_endpos++] = kind; - } else if (jj_endpos != 0) { - jj_expentry = new int[jj_endpos]; - for (int i = 0; i < jj_endpos; i++) { - jj_expentry[i] = jj_lasttokens[i]; - } - jj_entries_loop: for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) { - int[] oldentry = (int[])(it.next()); - if (oldentry.length == jj_expentry.length) { - for (int i = 0; i < jj_expentry.length; i++) { - if (oldentry[i] != jj_expentry[i]) { - continue jj_entries_loop; - } - } - jj_expentries.add(jj_expentry); - break jj_entries_loop; - } - } - if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; - } - } - - public ParseException generateParseException() { - jj_expentries.clear(); - boolean[] la1tokens = new boolean[40]; - if (jj_kind >= 0) { - la1tokens[jj_kind] = true; - jj_kind = -1; - } - for (int i = 0; i < 26; i++) { - if (jj_la1[i] == jj_gen) { - for (int j = 0; j < 32; j++) { - if ((jj_la1_0[i] & (1< jj_gen) { - jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; - switch (i) { - case 0: jj_3_1(); break; - } - } - p = p.next; - } while (p != null); - } catch(LookaheadSuccess ls) { } - } - jj_rescan = false; - } - - private void jj_save(int index, int xla) { - JJCalls p = jj_2_rtns[index]; - while (p.gen > jj_gen) { - if (p.next == null) { p = p.next = new JJCalls(); break; } - p = p.next; - } - p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; - } - - static final class JJCalls { - int gen; - Token first; - int arg; - JJCalls next; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserConstants.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserConstants.java deleted file mode 100755 index e64026bd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserConstants.java +++ /dev/null @@ -1,100 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JSGFParserConstants.java */ -package edu.cmu.sphinx.jsgf.parser; - - -/* - * Token literal values and constants. - * Generated by org.javacc.parser.OtherFilesGen#start() - */ -@SuppressWarnings("all") -public interface JSGFParserConstants { - - /* End of File. */ - int EOF = 0; - /* RegularExpression Id. */ - int SINGLE_LINE_COMMENT = 9; - /* RegularExpression Id. */ - int FORMAL_COMMENT = 10; - /* RegularExpression Id. */ - int MULTI_LINE_COMMENT = 11; - /* RegularExpression Id. */ - int GRAMMAR = 13; - /* RegularExpression Id. */ - int IMPORT = 14; - /* RegularExpression Id. */ - int PUBLIC = 15; - /* RegularExpression Id. */ - int INTEGER_LITERAL = 16; - /* RegularExpression Id. */ - int DECIMAL_LITERAL = 17; - /* RegularExpression Id. */ - int FLOATING_POINT_LITERAL = 18; - /* RegularExpression Id. */ - int EXPONENT = 19; - /* RegularExpression Id. */ - int CHARACTER_LITERAL = 20; - /* RegularExpression Id. */ - int STRING_LITERAL = 21; - /* RegularExpression Id. */ - int TAG = 22; - /* RegularExpression Id. */ - int IDENTIFIER = 23; - /* RegularExpression Id. */ - int LETTER = 24; - /* RegularExpression Id. */ - int DIGIT = 25; - - /* Lexical state. */ - int DEFAULT = 0; - /* Lexical state. */ - int IN_SINGLE_LINE_COMMENT = 1; - /* Lexical state. */ - int IN_FORMAL_COMMENT = 2; - /* Lexical state. */ - int IN_MULTI_LINE_COMMENT = 3; - - /* Literal token values. */ - String[] tokenImage = { - "", - "\" \"", - "\"\\t\"", - "\"\\n\"", - "\"\\r\"", - "\"\\f\"", - "\"//\"", - "", - "\"/*\"", - "", - "\"*/\"", - "\"*/\"", - "", - "\"grammar\"", - "\"import\"", - "\"public\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\";\"", - "\"V1.0\"", - "\"<\"", - "\".\"", - "\"*\"", - "\">\"", - "\"=\"", - "\"|\"", - "\"/\"", - "\"+\"", - "\"(\"", - "\")\"", - "\"[\"", - "\"]\"", - }; - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserTokenManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserTokenManager.java deleted file mode 100755 index 4f04251a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JSGFParserTokenManager.java +++ /dev/null @@ -1,1241 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JSGFParserTokenManager.java */ -package edu.cmu.sphinx.jsgf.parser; -import java.io.BufferedInputStream; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.StringTokenizer; -import edu.cmu.sphinx.jsgf.rule.*; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammar; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarFactory; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarManager; -import edu.cmu.sphinx.jsgf.JSGFGrammarParseException; - -@SuppressWarnings("all") -public class JSGFParserTokenManager implements JSGFParserConstants -{ - - public java.io.PrintStream debugStream = System.out; - - public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } -private final int jjStopStringLiteralDfa_0(int pos, long active0) -{ - switch (pos) - { - case 0: - if ((active0 & 0x400000140L) != 0L) - return 2; - if ((active0 & 0x800e000L) != 0L) - { - jjmatchedKind = 23; - return 37; - } - if ((active0 & 0x20000000L) != 0L) - return 5; - return -1; - case 1: - if ((active0 & 0x100L) != 0L) - return 0; - if ((active0 & 0x800e000L) != 0L) - { - jjmatchedKind = 23; - jjmatchedPos = 1; - return 37; - } - return -1; - case 2: - if ((active0 & 0x8000000L) != 0L) - { - if (jjmatchedPos < 1) - { - jjmatchedKind = 23; - jjmatchedPos = 1; - } - return -1; - } - if ((active0 & 0xe000L) != 0L) - { - jjmatchedKind = 23; - jjmatchedPos = 2; - return 37; - } - return -1; - case 3: - if ((active0 & 0x8000000L) != 0L) - { - if (jjmatchedPos < 1) - { - jjmatchedKind = 23; - jjmatchedPos = 1; - } - return -1; - } - if ((active0 & 0xe000L) != 0L) - { - jjmatchedKind = 23; - jjmatchedPos = 3; - return 37; - } - return -1; - case 4: - if ((active0 & 0xe000L) != 0L) - { - jjmatchedKind = 23; - jjmatchedPos = 4; - return 37; - } - return -1; - case 5: - if ((active0 & 0xc000L) != 0L) - return 37; - if ((active0 & 0x2000L) != 0L) - { - jjmatchedKind = 23; - jjmatchedPos = 5; - return 37; - } - return -1; - default : - return -1; - } -} -private final int jjStartNfa_0(int pos, long active0) -{ - return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); -} -private int jjStopAtPos(int pos, int kind) -{ - jjmatchedKind = kind; - jjmatchedPos = pos; - return pos + 1; -} -private int jjMoveStringLiteralDfa0_0() -{ - switch(curChar) - { - case 40: - return jjStopAtPos(0, 36); - case 41: - return jjStopAtPos(0, 37); - case 42: - return jjStopAtPos(0, 30); - case 43: - return jjStopAtPos(0, 35); - case 46: - return jjStartNfaWithStates_0(0, 29, 5); - case 47: - jjmatchedKind = 34; - return jjMoveStringLiteralDfa1_0(0x140L); - case 59: - return jjStopAtPos(0, 26); - case 60: - return jjStopAtPos(0, 28); - case 61: - return jjStopAtPos(0, 32); - case 62: - return jjStopAtPos(0, 31); - case 86: - return jjMoveStringLiteralDfa1_0(0x8000000L); - case 91: - return jjStopAtPos(0, 38); - case 93: - return jjStopAtPos(0, 39); - case 103: - return jjMoveStringLiteralDfa1_0(0x2000L); - case 105: - return jjMoveStringLiteralDfa1_0(0x4000L); - case 112: - return jjMoveStringLiteralDfa1_0(0x8000L); - case 124: - return jjStopAtPos(0, 33); - default : - return jjMoveNfa_0(3, 0); - } -} -private int jjMoveStringLiteralDfa1_0(long active0) -{ - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(0, active0); - return 1; - } - switch(curChar) - { - case 42: - if ((active0 & 0x100L) != 0L) - return jjStartNfaWithStates_0(1, 8, 0); - break; - case 47: - if ((active0 & 0x40L) != 0L) - return jjStopAtPos(1, 6); - break; - case 49: - return jjMoveStringLiteralDfa2_0(active0, 0x8000000L); - case 109: - return jjMoveStringLiteralDfa2_0(active0, 0x4000L); - case 114: - return jjMoveStringLiteralDfa2_0(active0, 0x2000L); - case 117: - return jjMoveStringLiteralDfa2_0(active0, 0x8000L); - default : - break; - } - return jjStartNfa_0(0, active0); -} -private int jjMoveStringLiteralDfa2_0(long old0, long active0) -{ - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(0, old0); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(1, active0); - return 2; - } - switch(curChar) - { - case 46: - return jjMoveStringLiteralDfa3_0(active0, 0x8000000L); - case 97: - return jjMoveStringLiteralDfa3_0(active0, 0x2000L); - case 98: - return jjMoveStringLiteralDfa3_0(active0, 0x8000L); - case 112: - return jjMoveStringLiteralDfa3_0(active0, 0x4000L); - default : - break; - } - return jjStartNfa_0(1, active0); -} -private int jjMoveStringLiteralDfa3_0(long old0, long active0) -{ - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(1, old0); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(2, active0); - return 3; - } - switch(curChar) - { - case 48: - if ((active0 & 0x8000000L) != 0L) - return jjStopAtPos(3, 27); - break; - case 108: - return jjMoveStringLiteralDfa4_0(active0, 0x8000L); - case 109: - return jjMoveStringLiteralDfa4_0(active0, 0x2000L); - case 111: - return jjMoveStringLiteralDfa4_0(active0, 0x4000L); - default : - break; - } - return jjStartNfa_0(2, active0); -} -private int jjMoveStringLiteralDfa4_0(long old0, long active0) -{ - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(2, old0); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(3, active0); - return 4; - } - switch(curChar) - { - case 105: - return jjMoveStringLiteralDfa5_0(active0, 0x8000L); - case 109: - return jjMoveStringLiteralDfa5_0(active0, 0x2000L); - case 114: - return jjMoveStringLiteralDfa5_0(active0, 0x4000L); - default : - break; - } - return jjStartNfa_0(3, active0); -} -private int jjMoveStringLiteralDfa5_0(long old0, long active0) -{ - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(3, old0); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(4, active0); - return 5; - } - switch(curChar) - { - case 97: - return jjMoveStringLiteralDfa6_0(active0, 0x2000L); - case 99: - if ((active0 & 0x8000L) != 0L) - return jjStartNfaWithStates_0(5, 15, 37); - break; - case 116: - if ((active0 & 0x4000L) != 0L) - return jjStartNfaWithStates_0(5, 14, 37); - break; - default : - break; - } - return jjStartNfa_0(4, active0); -} -private int jjMoveStringLiteralDfa6_0(long old0, long active0) -{ - if (((active0 &= old0)) == 0L) - return jjStartNfa_0(4, old0); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - jjStopStringLiteralDfa_0(5, active0); - return 6; - } - switch(curChar) - { - case 114: - if ((active0 & 0x2000L) != 0L) - return jjStartNfaWithStates_0(6, 13, 37); - break; - default : - break; - } - return jjStartNfa_0(5, active0); -} -private int jjStartNfaWithStates_0(int pos, int kind, int state) -{ - jjmatchedKind = kind; - jjmatchedPos = pos; - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { return pos + 1; } - return jjMoveNfa_0(state, pos + 1); -} -static final long[] jjbitVec0 = { - 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL -}; -static final long[] jjbitVec2 = { - 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL -}; -static final long[] jjbitVec3 = { - 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L -}; -static final long[] jjbitVec4 = { - 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL -}; -static final long[] jjbitVec5 = { - 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL -}; -static final long[] jjbitVec6 = { - 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L -}; -static final long[] jjbitVec7 = { - 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L -}; -static final long[] jjbitVec8 = { - 0x3fffffffffffL, 0x0L, 0x0L, 0x0L -}; -private int jjMoveNfa_0(int startState, int curPos) -{ - int startsAt = 0; - jjnewStateCnt = 54; - int i = 1; - jjstateSet[0] = startState; - int kind = 0x7fffffff; - for (;;) - { - if (++jjround == 0x7fffffff) - ReInitRounds(); - if (curChar < 64) - { - long l = 1L << curChar; - do - { - switch(jjstateSet[--i]) - { - case 3: - if ((0x7ff30fa00000000L & l) != 0L) - { - if (kind > 23) - kind = 23; - jjCheckNAdd(37); - } - else if (curChar == 34) - jjCheckNAddStates(0, 2); - else if (curChar == 46) - jjCheckNAdd(5); - else if (curChar == 47) - jjstateSet[jjnewStateCnt++] = 2; - if ((0x3ff000000000000L & l) != 0L) - { - if (kind > 16) - kind = 16; - jjCheckNAddStates(3, 10); - } - else if (curChar == 39) - jjAddStates(11, 12); - break; - case 0: - if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 1; - break; - case 1: - if ((0xffff7fffffffffffL & l) != 0L && kind > 7) - kind = 7; - break; - case 2: - if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 0; - break; - case 4: - if (curChar == 46) - jjCheckNAdd(5); - break; - case 5: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 18) - kind = 18; - jjCheckNAddStates(13, 15); - break; - case 7: - if ((0x280000000000L & l) != 0L) - jjCheckNAdd(8); - break; - case 8: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 18) - kind = 18; - jjCheckNAddTwoStates(8, 9); - break; - case 10: - if (curChar == 39) - jjAddStates(11, 12); - break; - case 11: - if ((0xffffff7fffffdbffL & l) != 0L) - jjCheckNAdd(12); - break; - case 12: - if (curChar == 39 && kind > 20) - kind = 20; - break; - case 14: - if ((0x8400000000L & l) != 0L) - jjCheckNAdd(12); - break; - case 15: - if ((0xff000000000000L & l) != 0L) - jjCheckNAddTwoStates(16, 12); - break; - case 16: - if ((0xff000000000000L & l) != 0L) - jjCheckNAdd(12); - break; - case 17: - if ((0xf000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 18; - break; - case 18: - if ((0xff000000000000L & l) != 0L) - jjCheckNAdd(16); - break; - case 19: - if (curChar == 34) - jjCheckNAddStates(0, 2); - break; - case 20: - if ((0xfffffffbffffdbffL & l) != 0L) - jjCheckNAddStates(0, 2); - break; - case 22: - if ((0x8400000000L & l) != 0L) - jjCheckNAddStates(0, 2); - break; - case 23: - if (curChar == 34 && kind > 21) - kind = 21; - break; - case 24: - if ((0xff000000000000L & l) != 0L) - jjCheckNAddStates(16, 19); - break; - case 25: - if ((0xff000000000000L & l) != 0L) - jjCheckNAddStates(0, 2); - break; - case 26: - if ((0xf000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 27; - break; - case 27: - if ((0xff000000000000L & l) != 0L) - jjCheckNAdd(25); - break; - case 29: - jjCheckNAddStates(20, 22); - break; - case 31: - if ((0x8400000000L & l) != 0L) - jjCheckNAddStates(20, 22); - break; - case 33: - if ((0xff000000000000L & l) != 0L) - jjCheckNAddStates(23, 26); - break; - case 34: - if ((0xff000000000000L & l) != 0L) - jjCheckNAddStates(20, 22); - break; - case 35: - if ((0xf000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 36; - break; - case 36: - if ((0xff000000000000L & l) != 0L) - jjCheckNAdd(34); - break; - case 37: - if ((0x7ff30fa00000000L & l) == 0L) - break; - if (kind > 23) - kind = 23; - jjCheckNAdd(37); - break; - case 38: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 16) - kind = 16; - jjCheckNAddStates(3, 10); - break; - case 39: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 16) - kind = 16; - jjCheckNAdd(39); - break; - case 40: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(40, 41); - break; - case 41: - if (curChar != 46) - break; - if (kind > 18) - kind = 18; - jjCheckNAddStates(27, 29); - break; - case 42: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 18) - kind = 18; - jjCheckNAddStates(27, 29); - break; - case 44: - if ((0x280000000000L & l) != 0L) - jjCheckNAdd(45); - break; - case 45: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 18) - kind = 18; - jjCheckNAddTwoStates(45, 9); - break; - case 46: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(46, 47); - break; - case 48: - if ((0x280000000000L & l) != 0L) - jjCheckNAdd(49); - break; - case 49: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 18) - kind = 18; - jjCheckNAddTwoStates(49, 9); - break; - case 50: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(30, 32); - break; - case 52: - if ((0x280000000000L & l) != 0L) - jjCheckNAdd(53); - break; - case 53: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(53, 9); - break; - default : break; - } - } while(i != startsAt); - } - else if (curChar < 128) - { - long l = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 3: - if ((0x47fffffed7ffffffL & l) != 0L) - { - if (kind > 23) - kind = 23; - jjCheckNAdd(37); - } - else if (curChar == 123) - jjCheckNAddStates(20, 22); - break; - case 1: - if (kind > 7) - kind = 7; - break; - case 6: - if ((0x2000000020L & l) != 0L) - jjAddStates(33, 34); - break; - case 9: - if ((0x5000000050L & l) != 0L && kind > 18) - kind = 18; - break; - case 11: - if ((0xffffffffefffffffL & l) != 0L) - jjCheckNAdd(12); - break; - case 13: - if (curChar == 92) - jjAddStates(35, 37); - break; - case 14: - if ((0x14404410000000L & l) != 0L) - jjCheckNAdd(12); - break; - case 20: - if ((0xffffffffefffffffL & l) != 0L) - jjCheckNAddStates(0, 2); - break; - case 21: - if (curChar == 92) - jjAddStates(38, 40); - break; - case 22: - if ((0x14404410000000L & l) != 0L) - jjCheckNAddStates(0, 2); - break; - case 28: - if (curChar == 123) - jjCheckNAddStates(20, 22); - break; - case 29: - if ((0xdfffffffffffffffL & l) != 0L) - jjCheckNAddStates(20, 22); - break; - case 30: - if (curChar == 92) - jjAddStates(41, 43); - break; - case 31: - if ((0x2014404410000000L & l) != 0L) - jjCheckNAddStates(20, 22); - break; - case 32: - if (curChar == 125 && kind > 22) - kind = 22; - break; - case 37: - if ((0x47fffffed7ffffffL & l) == 0L) - break; - if (kind > 23) - kind = 23; - jjCheckNAdd(37); - break; - case 43: - if ((0x2000000020L & l) != 0L) - jjAddStates(44, 45); - break; - case 47: - if ((0x2000000020L & l) != 0L) - jjAddStates(46, 47); - break; - case 51: - if ((0x2000000020L & l) != 0L) - jjAddStates(48, 49); - break; - default : break; - } - } while(i != startsAt); - } - else - { - int hiByte = (int)(curChar >> 8); - int i1 = hiByte >> 6; - long l1 = 1L << (hiByte & 077); - int i2 = (curChar & 0xff) >> 6; - long l2 = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 3: - case 37: - if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) - break; - if (kind > 23) - kind = 23; - jjCheckNAdd(37); - break; - case 1: - if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 7) - kind = 7; - break; - case 11: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjstateSet[jjnewStateCnt++] = 12; - break; - case 20: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(0, 2); - break; - case 29: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(20, 22); - break; - default : break; - } - } while(i != startsAt); - } - if (kind != 0x7fffffff) - { - jjmatchedKind = kind; - jjmatchedPos = curPos; - kind = 0x7fffffff; - } - ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 54 - (jjnewStateCnt = startsAt))) - return curPos; - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { return curPos; } - } -} -private int jjMoveStringLiteralDfa0_3() -{ - switch(curChar) - { - case 42: - return jjMoveStringLiteralDfa1_3(0x800L); - default : - return 1; - } -} -private int jjMoveStringLiteralDfa1_3(long active0) -{ - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return 1; - } - switch(curChar) - { - case 47: - if ((active0 & 0x800L) != 0L) - return jjStopAtPos(1, 11); - break; - default : - return 2; - } - return 2; -} -private int jjMoveStringLiteralDfa0_1() -{ - return jjMoveNfa_1(4, 0); -} -private int jjMoveNfa_1(int startState, int curPos) -{ - int startsAt = 0; - jjnewStateCnt = 4; - int i = 1; - jjstateSet[0] = startState; - int kind = 0x7fffffff; - for (;;) - { - if (++jjround == 0x7fffffff) - ReInitRounds(); - if (curChar < 64) - { - long l = 1L << curChar; - do - { - switch(jjstateSet[--i]) - { - case 4: - if ((0xffffffffffffdbffL & l) != 0L) - { - if (kind > 9) - kind = 9; - jjCheckNAddStates(50, 52); - } - else if ((0x2400L & l) != 0L) - { - if (kind > 9) - kind = 9; - } - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 2; - break; - case 0: - if ((0xffffffffffffdbffL & l) == 0L) - break; - kind = 9; - jjCheckNAddStates(50, 52); - break; - case 1: - if ((0x2400L & l) != 0L && kind > 9) - kind = 9; - break; - case 2: - if (curChar == 10 && kind > 9) - kind = 9; - break; - case 3: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 2; - break; - default : break; - } - } while(i != startsAt); - } - else if (curChar < 128) - { - long l = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 4: - case 0: - kind = 9; - jjCheckNAddStates(50, 52); - break; - default : break; - } - } while(i != startsAt); - } - else - { - int hiByte = (int)(curChar >> 8); - int i1 = hiByte >> 6; - long l1 = 1L << (hiByte & 077); - int i2 = (curChar & 0xff) >> 6; - long l2 = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 4: - case 0: - if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) - break; - if (kind > 9) - kind = 9; - jjCheckNAddStates(50, 52); - break; - default : break; - } - } while(i != startsAt); - } - if (kind != 0x7fffffff) - { - jjmatchedKind = kind; - jjmatchedPos = curPos; - kind = 0x7fffffff; - } - ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 4 - (jjnewStateCnt = startsAt))) - return curPos; - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { return curPos; } - } -} -private int jjMoveStringLiteralDfa0_2() -{ - switch(curChar) - { - case 42: - return jjMoveStringLiteralDfa1_2(0x400L); - default : - return 1; - } -} -private int jjMoveStringLiteralDfa1_2(long active0) -{ - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return 1; - } - switch(curChar) - { - case 47: - if ((active0 & 0x400L) != 0L) - return jjStopAtPos(1, 10); - break; - default : - return 2; - } - return 2; -} -static final int[] jjnextStates = { - 20, 21, 23, 39, 40, 41, 46, 47, 50, 51, 9, 11, 13, 5, 6, 9, - 20, 21, 25, 23, 29, 30, 32, 29, 30, 34, 32, 42, 43, 9, 50, 51, - 9, 7, 8, 14, 15, 17, 22, 24, 26, 31, 33, 35, 44, 45, 48, 49, - 52, 53, 0, 1, 3, -}; -private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) -{ - switch(hiByte) - { - case 0: - return ((jjbitVec2[i2] & l2) != 0L); - default : - if ((jjbitVec0[i1] & l1) != 0L) - return true; - return false; - } -} -private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2) -{ - switch(hiByte) - { - case 0: - return ((jjbitVec4[i2] & l2) != 0L); - case 48: - return ((jjbitVec5[i2] & l2) != 0L); - case 49: - return ((jjbitVec6[i2] & l2) != 0L); - case 51: - return ((jjbitVec7[i2] & l2) != 0L); - case 61: - return ((jjbitVec8[i2] & l2) != 0L); - default : - if ((jjbitVec3[i1] & l1) != 0L) - return true; - return false; - } -} - -public static final String[] jjstrLiteralImages = { -"", null, null, null, null, null, null, null, null, null, null, null, null, -"\147\162\141\155\155\141\162", "\151\155\160\157\162\164", "\160\165\142\154\151\143", null, null, null, null, -null, null, null, null, null, null, "\73", "\126\61\56\60", "\74", "\56", "\52", -"\76", "\75", "\174", "\57", "\53", "\50", "\51", "\133", "\135", }; - -public static final String[] lexStateNames = { - "DEFAULT", - "IN_SINGLE_LINE_COMMENT", - "IN_FORMAL_COMMENT", - "IN_MULTI_LINE_COMMENT", -}; - -public static final int[] jjnewLexState = { - -1, -1, -1, -1, -1, -1, 1, 2, 3, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; -static final long[] jjtoToken = { - 0xfffcf5e001L, -}; -static final long[] jjtoSkip = { - 0xe3eL, -}; -static final long[] jjtoSpecial = { - 0xe00L, -}; -static final long[] jjtoMore = { - 0x11c0L, -}; -protected JavaCharStream input_stream; -private final int[] jjrounds = new int[54]; -private final int[] jjstateSet = new int[108]; -private final StringBuilder jjimage = new StringBuilder(); -private StringBuilder image = jjimage; -private int jjimageLen; -private int lengthOfMatch; -protected char curChar; - -public JSGFParserTokenManager(JavaCharStream stream){ - if (JavaCharStream.staticFlag) - throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); - input_stream = stream; -} - -public JSGFParserTokenManager(JavaCharStream stream, int lexState){ - this(stream); - SwitchTo(lexState); -} - -public void ReInit(JavaCharStream stream) -{ - jjmatchedPos = jjnewStateCnt = 0; - curLexState = defaultLexState; - input_stream = stream; - ReInitRounds(); -} -private void ReInitRounds() -{ - int i; - jjround = 0x80000001; - for (i = 54; i-- > 0;) - jjrounds[i] = 0x80000000; -} - -public void ReInit(JavaCharStream stream, int lexState) -{ - ReInit(stream); - SwitchTo(lexState); -} - -public void SwitchTo(int lexState) -{ - if (lexState >= 4 || lexState < 0) - throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); - else - curLexState = lexState; -} - -protected Token jjFillToken() -{ - final Token t; - final String curTokenImage; - final int beginLine; - final int endLine; - final int beginColumn; - final int endColumn; - if (jjmatchedPos < 0) - { - if (image == null) - curTokenImage = ""; - else - curTokenImage = image.toString(); - beginLine = endLine = input_stream.getBeginLine(); - beginColumn = endColumn = input_stream.getBeginColumn(); - } - else - { - String im = jjstrLiteralImages[jjmatchedKind]; - curTokenImage = (im == null) ? input_stream.GetImage() : im; - beginLine = input_stream.getBeginLine(); - beginColumn = input_stream.getBeginColumn(); - endLine = input_stream.getEndLine(); - endColumn = input_stream.getEndColumn(); - } - t = Token.newToken(jjmatchedKind, curTokenImage); - - t.beginLine = beginLine; - t.endLine = endLine; - t.beginColumn = beginColumn; - t.endColumn = endColumn; - - return t; -} - -int curLexState = 0; -int defaultLexState = 0; -int jjnewStateCnt; -int jjround; -int jjmatchedPos; -int jjmatchedKind; - -public Token getNextToken() -{ - Token specialToken = null; - Token matchedToken; - int curPos = 0; - - EOFLoop : - for (;;) - { - try - { - curChar = input_stream.BeginToken(); - } - catch(java.io.IOException e) - { - jjmatchedKind = 0; - matchedToken = jjFillToken(); - matchedToken.specialToken = specialToken; - return matchedToken; - } - image = jjimage; - image.setLength(0); - jjimageLen = 0; - - for (;;) - { - switch(curLexState) - { - case 0: - try { input_stream.backup(0); - while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L) - curChar = input_stream.BeginToken(); - } - catch (java.io.IOException e1) { continue EOFLoop; } - jjmatchedKind = 0x7fffffff; - jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_0(); - break; - case 1: - jjmatchedKind = 9; - jjmatchedPos = -1; - curPos = 0; - curPos = jjMoveStringLiteralDfa0_1(); - if (jjmatchedPos < 0 || (jjmatchedPos == 0 && jjmatchedKind > 12)) - { - jjmatchedKind = 12; - jjmatchedPos = 0; - } - break; - case 2: - jjmatchedKind = 0x7fffffff; - jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_2(); - if (jjmatchedPos == 0 && jjmatchedKind > 12) - { - jjmatchedKind = 12; - } - break; - case 3: - jjmatchedKind = 0x7fffffff; - jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_3(); - if (jjmatchedPos == 0 && jjmatchedKind > 12) - { - jjmatchedKind = 12; - } - break; - } - if (jjmatchedKind != 0x7fffffff) - { - if (jjmatchedPos + 1 < curPos) - input_stream.backup(curPos - jjmatchedPos - 1); - if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) - { - matchedToken = jjFillToken(); - matchedToken.specialToken = specialToken; - if (jjnewLexState[jjmatchedKind] != -1) - curLexState = jjnewLexState[jjmatchedKind]; - return matchedToken; - } - else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) - { - if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) - { - matchedToken = jjFillToken(); - if (specialToken == null) - specialToken = matchedToken; - else - { - matchedToken.specialToken = specialToken; - specialToken = (specialToken.next = matchedToken); - } - SkipLexicalActions(matchedToken); - } - else - SkipLexicalActions(null); - if (jjnewLexState[jjmatchedKind] != -1) - curLexState = jjnewLexState[jjmatchedKind]; - continue EOFLoop; - } - MoreLexicalActions(); - if (jjnewLexState[jjmatchedKind] != -1) - curLexState = jjnewLexState[jjmatchedKind]; - curPos = 0; - jjmatchedKind = 0x7fffffff; - try { - curChar = input_stream.readChar(); - continue; - } - catch (java.io.IOException e1) { } - } - int error_line = input_stream.getEndLine(); - int error_column = input_stream.getEndColumn(); - String error_after = null; - boolean EOFSeen = false; - try { input_stream.readChar(); input_stream.backup(1); } - catch (java.io.IOException e1) { - EOFSeen = true; - error_after = curPos <= 1 ? "" : input_stream.GetImage(); - if (curChar == '\n' || curChar == '\r') { - error_line++; - error_column = 0; - } - else - error_column++; - } - if (!EOFSeen) { - input_stream.backup(1); - error_after = curPos <= 1 ? "" : input_stream.GetImage(); - } - throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); - } - } -} - -void SkipLexicalActions(Token matchedToken) -{ - switch(jjmatchedKind) - { - default : - break; - } -} -void MoreLexicalActions() -{ - jjimageLen += (lengthOfMatch = jjmatchedPos + 1); - switch(jjmatchedKind) - { - case 7 : - image.append(input_stream.GetSuffix(jjimageLen)); - jjimageLen = 0; - input_stream.backup(1); - break; - default : - break; - } -} -private void jjCheckNAdd(int state) -{ - if (jjrounds[state] != jjround) - { - jjstateSet[jjnewStateCnt++] = state; - jjrounds[state] = jjround; - } -} -private void jjAddStates(int start, int end) -{ - do { - jjstateSet[jjnewStateCnt++] = jjnextStates[start]; - } while (start++ != end); -} -private void jjCheckNAddTwoStates(int state1, int state2) -{ - jjCheckNAdd(state1); - jjCheckNAdd(state2); -} - -private void jjCheckNAddStates(int start, int end) -{ - do { - jjCheckNAdd(jjnextStates[start]); - } while (start++ != end); -} - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JavaCharStream.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JavaCharStream.java deleted file mode 100755 index 2f87a571..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/JavaCharStream.java +++ /dev/null @@ -1,578 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 5.0 */ -/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ -package edu.cmu.sphinx.jsgf.parser; - -/* - * An implementation of interface CharStream, where the stream is assumed to - * contain only ASCII characters (with java-like unicode escape processing). - */ -public -@SuppressWarnings("all") -class JavaCharStream -{ - public static final boolean staticFlag = false; - - static final int hexval(char c) throws java.io.IOException { - switch(c) - { - case '0' : - return 0; - case '1' : - return 1; - case '2' : - return 2; - case '3' : - return 3; - case '4' : - return 4; - case '5' : - return 5; - case '6' : - return 6; - case '7' : - return 7; - case '8' : - return 8; - case '9' : - return 9; - - case 'a' : - case 'A' : - return 10; - case 'b' : - case 'B' : - return 11; - case 'c' : - case 'C' : - return 12; - case 'd' : - case 'D' : - return 13; - case 'e' : - case 'E' : - return 14; - case 'f' : - case 'F' : - return 15; - } - - throw new java.io.IOException(); // Should never come here - } - - public int bufpos = -1; - int bufsize; - int available; - int tokenBegin; - protected int bufline[]; - protected int bufcolumn[]; - - protected int column = 0; - protected int line = 1; - - protected boolean prevCharIsCR = false; - protected boolean prevCharIsLF = false; - - protected java.io.Reader inputStream; - - protected char[] nextCharBuf; - protected char[] buffer; - protected int maxNextCharInd = 0; - protected int nextCharInd = -1; - protected int inBuf = 0; - protected int tabSize = 8; - - protected void setTabSize(int i) { tabSize = i; } - protected int getTabSize(int i) { return tabSize; } - - protected void ExpandBuff(boolean wrapAround) - { - char[] newbuffer = new char[bufsize + 2048]; - int newbufline[] = new int[bufsize + 2048]; - int newbufcolumn[] = new int[bufsize + 2048]; - - try - { - if (wrapAround) - { - System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); - System.arraycopy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos); - buffer = newbuffer; - - System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); - System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos); - bufline = newbufline; - - System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); - System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos); - bufcolumn = newbufcolumn; - - bufpos += (bufsize - tokenBegin); - } - else - { - System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); - buffer = newbuffer; - - System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); - bufline = newbufline; - - System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); - bufcolumn = newbufcolumn; - - bufpos -= tokenBegin; - } - } - catch (Throwable t) - { - throw new Error(t.getMessage()); - } - - available = (bufsize += 2048); - tokenBegin = 0; - } - - protected void FillBuff() throws java.io.IOException - { - int i; - if (maxNextCharInd == 4096) - maxNextCharInd = nextCharInd = 0; - - try { - if ((i = inputStream.read(nextCharBuf, maxNextCharInd, - 4096 - maxNextCharInd)) == -1) - { - inputStream.close(); - throw new java.io.IOException(); - } - else - maxNextCharInd += i; - return; - } - catch(java.io.IOException e) { - if (bufpos != 0) - { - --bufpos; - backup(0); - } - else - { - bufline[bufpos] = line; - bufcolumn[bufpos] = column; - } - throw e; - } - } - - protected char ReadByte() throws java.io.IOException - { - if (++nextCharInd >= maxNextCharInd) - FillBuff(); - - return nextCharBuf[nextCharInd]; - } - - public char BeginToken() throws java.io.IOException - { - if (inBuf > 0) - { - --inBuf; - - if (++bufpos == bufsize) - bufpos = 0; - - tokenBegin = bufpos; - return buffer[bufpos]; - } - - tokenBegin = 0; - bufpos = -1; - - return readChar(); - } - - protected void AdjustBuffSize() - { - if (available == bufsize) - { - if (tokenBegin > 2048) - { - bufpos = 0; - available = tokenBegin; - } - else - ExpandBuff(false); - } - else if (available > tokenBegin) - available = bufsize; - else if ((tokenBegin - available) < 2048) - ExpandBuff(true); - else - available = tokenBegin; - } - - protected void UpdateLineColumn(char c) - { - column++; - - if (prevCharIsLF) - { - prevCharIsLF = false; - line += (column = 1); - } - else if (prevCharIsCR) - { - prevCharIsCR = false; - if (c == '\n') - { - prevCharIsLF = true; - } - else - line += (column = 1); - } - - switch (c) - { - case '\r' : - prevCharIsCR = true; - break; - case '\n' : - prevCharIsLF = true; - break; - case '\t' : - column--; - column += (tabSize - (column % tabSize)); - break; - default : - break; - } - - bufline[bufpos] = line; - bufcolumn[bufpos] = column; - } - - public char readChar() throws java.io.IOException - { - if (inBuf > 0) - { - --inBuf; - - if (++bufpos == bufsize) - bufpos = 0; - - return buffer[bufpos]; - } - - char c; - - if (++bufpos == available) - AdjustBuffSize(); - - if ((buffer[bufpos] = c = ReadByte()) == '\\') - { - UpdateLineColumn(c); - - int backSlashCnt = 1; - - for (;;) // Read all the backslashes - { - if (++bufpos == available) - AdjustBuffSize(); - - try - { - if ((buffer[bufpos] = c = ReadByte()) != '\\') - { - UpdateLineColumn(c); - // found a non-backslash char. - if ((c == 'u') && ((backSlashCnt & 1) == 1)) - { - if (--bufpos < 0) - bufpos = bufsize - 1; - - break; - } - - backup(backSlashCnt); - return '\\'; - } - } - catch(java.io.IOException e) - { - // We are returning one backslash so we should only backup (count-1) - if (backSlashCnt > 1) - backup(backSlashCnt-1); - - return '\\'; - } - - UpdateLineColumn(c); - backSlashCnt++; - } - - // Here, we have seen an odd number of backslash's followed by a 'u' - try - { - while ((c = ReadByte()) == 'u') - ++column; - - buffer[bufpos] = c = (char)(hexval(c) << 12 | - hexval(ReadByte()) << 8 | - hexval(ReadByte()) << 4 | - hexval(ReadByte())); - - column += 4; - } - catch(java.io.IOException e) - { - throw new Error("Invalid escape character at line " + line + - " column " + column + "."); - } - - if (backSlashCnt == 1) - return c; - else - { - backup(backSlashCnt - 1); - return '\\'; - } - } - else - { - UpdateLineColumn(c); - return c; - } - } - - @Deprecated - public int getColumn() { - return bufcolumn[bufpos]; - } - - @Deprecated - public int getLine() { - return bufline[bufpos]; - } - - public int getEndColumn() { - return bufcolumn[bufpos]; - } - - public int getEndLine() { - return bufline[bufpos]; - } - - public int getBeginColumn() { - return bufcolumn[tokenBegin]; - } - - public int getBeginLine() { - return bufline[tokenBegin]; - } - - public void backup(int amount) { - - inBuf += amount; - if ((bufpos -= amount) < 0) - bufpos += bufsize; - } - - public JavaCharStream(java.io.Reader dstream, - int startline, int startcolumn, int buffersize) - { - inputStream = dstream; - line = startline; - column = startcolumn - 1; - - available = bufsize = buffersize; - buffer = new char[buffersize]; - bufline = new int[buffersize]; - bufcolumn = new int[buffersize]; - nextCharBuf = new char[4096]; - } - - public JavaCharStream(java.io.Reader dstream, - int startline, int startcolumn) - { - this(dstream, startline, startcolumn, 4096); - } - - public JavaCharStream(java.io.Reader dstream) - { - this(dstream, 1, 1, 4096); - } - - public void ReInit(java.io.Reader dstream, - int startline, int startcolumn, int buffersize) - { - inputStream = dstream; - line = startline; - column = startcolumn - 1; - - if (buffer == null || buffersize != buffer.length) - { - available = bufsize = buffersize; - buffer = new char[buffersize]; - bufline = new int[buffersize]; - bufcolumn = new int[buffersize]; - nextCharBuf = new char[4096]; - } - prevCharIsLF = prevCharIsCR = false; - tokenBegin = inBuf = maxNextCharInd = 0; - nextCharInd = bufpos = -1; - } - - public void ReInit(java.io.Reader dstream, - int startline, int startcolumn) - { - ReInit(dstream, startline, startcolumn, 4096); - } - - public void ReInit(java.io.Reader dstream) - { - ReInit(dstream, 1, 1, 4096); - } - - public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, - int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException - { - this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); - } - - public JavaCharStream(java.io.InputStream dstream, int startline, - int startcolumn, int buffersize) - { - this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096); - } - - public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, - int startcolumn) throws java.io.UnsupportedEncodingException - { - this(dstream, encoding, startline, startcolumn, 4096); - } - - public JavaCharStream(java.io.InputStream dstream, int startline, - int startcolumn) - { - this(dstream, startline, startcolumn, 4096); - } - - public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException - { - this(dstream, encoding, 1, 1, 4096); - } - - public JavaCharStream(java.io.InputStream dstream) - { - this(dstream, 1, 1, 4096); - } - - public void ReInit(java.io.InputStream dstream, String encoding, int startline, - int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException - { - ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); - } - - public void ReInit(java.io.InputStream dstream, int startline, - int startcolumn, int buffersize) - { - ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); - } - public void ReInit(java.io.InputStream dstream, String encoding, int startline, - int startcolumn) throws java.io.UnsupportedEncodingException - { - ReInit(dstream, encoding, startline, startcolumn, 4096); - } - public void ReInit(java.io.InputStream dstream, int startline, - int startcolumn) - { - ReInit(dstream, startline, startcolumn, 4096); - } - public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException - { - ReInit(dstream, encoding, 1, 1, 4096); - } - - public void ReInit(java.io.InputStream dstream) - { - ReInit(dstream, 1, 1, 4096); - } - - public String GetImage() - { - if (bufpos >= tokenBegin) - return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); - else - return new String(buffer, tokenBegin, bufsize - tokenBegin) + - new String(buffer, 0, bufpos + 1); - } - - public char[] GetSuffix(int len) - { - char[] ret = new char[len]; - - if ((bufpos + 1) >= len) - System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); - else - { - System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, - len - bufpos - 1); - System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); - } - - return ret; - } - - public void Done() - { - nextCharBuf = null; - buffer = null; - bufline = null; - bufcolumn = null; - } - - public void adjustBeginLineColumn(int newLine, int newCol) - { - int start = tokenBegin; - int len; - - if (bufpos >= tokenBegin) - { - len = bufpos - tokenBegin + inBuf + 1; - } - else - { - len = bufsize - tokenBegin + bufpos + 1 + inBuf; - } - - int i = 0, j = 0, k = 0; - int nextColDiff = 0, columnDiff = 0; - - while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) - { - bufline[j] = newLine; - nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j]; - bufcolumn[j] = newCol + columnDiff; - columnDiff = nextColDiff; - i++; - } - - if (i < len) - { - bufline[j] = newLine++; - bufcolumn[j] = newCol + columnDiff; - - while (i++ < len) - { - if (bufline[j = start % bufsize] != bufline[++start % bufsize]) - bufline[j] = newLine++; - else - bufline[j] = newLine; - } - } - - line = bufline[j]; - column = bufcolumn[j]; - } - -} -/* JavaCC - OriginalChecksum=92a8b68bea3fb806dee0bf9f5f49e7c4 (do not edit this line) */ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/ParseException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/ParseException.java deleted file mode 100755 index 4b33e461..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/ParseException.java +++ /dev/null @@ -1,136 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */ -/* JavaCCOptions:KEEP_LINE_COL=null */ -package edu.cmu.sphinx.jsgf.parser; - -/* - * This exception is thrown when parse errors are encountered. - * You can explicitly create objects of this exception type by - * calling the method generateParseException in the generated - * parser. - * - * You can modify this class to customize your error reporting - * mechanisms so long as you retain the public fields. - */ -@SuppressWarnings("all") -public class ParseException extends Exception { - - private static final long serialVersionUID = 1L; - - public ParseException(Token currentTokenVal, - int[][] expectedTokenSequencesVal, - String[] tokenImageVal - ) - { - super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal)); - currentToken = currentTokenVal; - expectedTokenSequences = expectedTokenSequencesVal; - tokenImage = tokenImageVal; - } - - public ParseException() { - super(); - } - - public ParseException(String message) { - super(message); - } - - - public Token currentToken; - - public int[][] expectedTokenSequences; - - public String[] tokenImage; - - private static String initialise(Token currentToken, - int[][] expectedTokenSequences, - String[] tokenImage) { - String eol = System.getProperty("line.separator", "\n"); - StringBuffer expected = new StringBuffer(); - int maxSize = 0; - for (int i = 0; i < expectedTokenSequences.length; i++) { - if (maxSize < expectedTokenSequences[i].length) { - maxSize = expectedTokenSequences[i].length; - } - for (int j = 0; j < expectedTokenSequences[i].length; j++) { - expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' '); - } - if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { - expected.append("..."); - } - expected.append(eol).append(" "); - } - String retval = "Encountered \""; - Token tok = currentToken.next; - for (int i = 0; i < maxSize; i++) { - if (i != 0) retval += " "; - if (tok.kind == 0) { - retval += tokenImage[0]; - break; - } - retval += " " + tokenImage[tok.kind]; - retval += " \""; - retval += add_escapes(tok.image); - retval += " \""; - tok = tok.next; - } - retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; - retval += "." + eol; - if (expectedTokenSequences.length == 1) { - retval += "Was expecting:" + eol + " "; - } else { - retval += "Was expecting one of:" + eol + " "; - } - retval += expected.toString(); - return retval; - } - - protected String eol = System.getProperty("line.separator", "\n"); - - static String add_escapes(String str) { - StringBuffer retval = new StringBuffer(); - char ch; - for (int i = 0; i < str.length(); i++) { - switch (str.charAt(i)) - { - case 0 : - continue; - case '\b': - retval.append("\\b"); - continue; - case '\t': - retval.append("\\t"); - continue; - case '\n': - retval.append("\\n"); - continue; - case '\f': - retval.append("\\f"); - continue; - case '\r': - retval.append("\\r"); - continue; - case '\"': - retval.append("\\\""); - continue; - case '\'': - retval.append("\\\'"); - continue; - case '\\': - retval.append("\\\\"); - continue; - default: - if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { - String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); - } else { - retval.append(ch); - } - continue; - } - } - return retval.toString(); - } - -} -/* JavaCC - OriginalChecksum=1dcccf441da02fe67292661367446e03 (do not edit this line) */ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/Token.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/Token.java deleted file mode 100755 index 0be248bf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/Token.java +++ /dev/null @@ -1,108 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */ -/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ -package edu.cmu.sphinx.jsgf.parser; - -/* - * Describes the input token stream. - */ - -@SuppressWarnings("all") -public class Token implements java.io.Serializable { - - /* - * The version identifier for this Serializable class. - * Increment only if the serialized form of the - * class changes. - */ - private static final long serialVersionUID = 1L; - - /* - * An integer that describes the kind of this token. This numbering - * system is determined by JavaCCParser, and a table of these numbers is - * stored in the file ...Constants.java. - */ - public int kind; - - /* The line number of the first character of this Token. */ - public int beginLine; - /* The column number of the first character of this Token. */ - public int beginColumn; - /* The line number of the last character of this Token. */ - public int endLine; - /* The column number of the last character of this Token. */ - public int endColumn; - - /* - * The string image of the token. - */ - public String image; - - /* - * A reference to the next regular (non-special) token from the input - * stream. If this is the last token from the input stream, or if the - * token manager has not read tokens beyond this one, this field is - * set to null. This is true only if this token is also a regular - * token. Otherwise, see below for a description of the contents of - * this field. - */ - public Token next; - - /* - * This field is used to access special tokens that occur prior to this - * token, but after the immediately preceding regular (non-special) token. - * If there are no such special tokens, this field is set to null. - * When there are more than one such special token, this field refers - * to the last of these special tokens, which in turn refers to the next - * previous special token through its specialToken field, and so on - * until the first special token (whose specialToken field is null). - * The next fields of special tokens refer to other special tokens that - * immediately follow it (without an intervening regular token). If there - * is no such token, this field is null. - */ - public Token specialToken; - - /* - * An optional attribute value of the Token. - * Tokens which are not used as syntactic sugar will often contain - * meaningful values that will be used later on by the compiler or - * interpreter. This attribute value is often different from the image. - * Any subclass of Token that actually wants to return a non-null value can - * override this method as appropriate. - */ - public Object getValue() { - return null; - } - - public Token() {} - - public Token(int kind) - { - this(kind, null); - } - - public Token(int kind, String image) - { - this.kind = kind; - this.image = image; - } - - public String toString() - { - return image; - } - - public static Token newToken(int ofKind, String image) - { - switch(ofKind) - { - default : return new Token(ofKind, image); - } - } - - public static Token newToken(int ofKind) - { - return newToken(ofKind, null); - } - -} -/* JavaCC - OriginalChecksum=8ff98df8abd1e386f171b2d65a9a675d (do not edit this line) */ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/TokenMgrError.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/TokenMgrError.java deleted file mode 100755 index af0d91bf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/parser/TokenMgrError.java +++ /dev/null @@ -1,120 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */ -/* JavaCCOptions: */ -package edu.cmu.sphinx.jsgf.parser; - -/* Token Manager Error. */ -@SuppressWarnings("all") -public class TokenMgrError extends Error -{ - - /* - * The version identifier for this Serializable class. - * Increment only if the serialized form of the - * class changes. - */ - private static final long serialVersionUID = 1L; - - /* - * Ordinals for various reasons why an Error of this type can be thrown. - */ - - /* - * Lexical error occurred. - */ - static final int LEXICAL_ERROR = 0; - - /* - * An attempt was made to create a second instance of a static token manager. - */ - static final int STATIC_LEXER_ERROR = 1; - - /* - * Tried to change to an invalid lexical state. - */ - static final int INVALID_LEXICAL_STATE = 2; - - /* - * Detected (and bailed out of) an infinite loop in the token manager. - */ - static final int LOOP_DETECTED = 3; - - /* - * Indicates the reason why the exception is thrown. It will have - * one of the above 4 values. - */ - int errorCode; - - /* - * Replaces unprintable characters by their escaped (or unicode escaped) - * equivalents in the given string - */ - protected static final String addEscapes(String str) { - StringBuffer retval = new StringBuffer(); - char ch; - for (int i = 0; i < str.length(); i++) { - switch (str.charAt(i)) - { - case 0 : - continue; - case '\b': - retval.append("\\b"); - continue; - case '\t': - retval.append("\\t"); - continue; - case '\n': - retval.append("\\n"); - continue; - case '\f': - retval.append("\\f"); - continue; - case '\r': - retval.append("\\r"); - continue; - case '\"': - retval.append("\\\""); - continue; - case '\'': - retval.append("\\\'"); - continue; - case '\\': - retval.append("\\\\"); - continue; - default: - if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { - String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); - } else { - retval.append(ch); - } - continue; - } - } - return retval.toString(); - } - - protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { - return("Lexical error at line " + - errorLine + ", column " + - errorColumn + ". Encountered: " + - (EOFSeen ? " " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + - "after : \"" + addEscapes(errorAfter) + "\""); - } - - public String getMessage() { - return super.getMessage(); - } - - public TokenMgrError() { - } - - public TokenMgrError(String message, int reason) { - super(message); - errorCode = reason; - } - - public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { - this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); - } -} -/* JavaCC - OriginalChecksum=4cdc97d5578e9618475d56bd4cdf2fb2 (do not edit this line) */ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRule.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRule.java deleted file mode 100755 index b0cfbc8b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRule.java +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -public class JSGFRule { - - public String ruleName; - public JSGFRule parent; - - @Override - public String toString() { - return ruleName; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleAlternatives.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleAlternatives.java deleted file mode 100755 index 778ab5e9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleAlternatives.java +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -import java.util.List; - -public class JSGFRuleAlternatives extends JSGFRule { - protected List rules; - protected List weights; - - public JSGFRuleAlternatives() { - } - - public JSGFRuleAlternatives(List rules) { - setRules(rules); - weights = null; - } - - public JSGFRuleAlternatives(List rules, List weights) - throws IllegalArgumentException { - assert (rules.size() == weights.size()); - setRules(rules); - setWeights(weights); - } - - public void append(JSGFRule rule) { - assert rule != null; - rules.add(rule); - if (weights != null) - weights.add(1.0f); - } - - public List getRules() { - return rules; - } - - public List getWeights() { - return weights; - } - - public void setRules(List rules) { - if ((weights != null) && (rules.size() != weights.size())) { - weights = null; - } - this.rules = rules; - } - - public void setWeights(List newWeights) - throws IllegalArgumentException { - if ((newWeights == null) || (newWeights.size() == 0)) { - weights = null; - return; - } - - if (newWeights.size() != rules.size()) { - throw new IllegalArgumentException( - "weights/rules array length mismatch"); - } - float f = 0.0F; - - for (Float w : newWeights) { - if (Float.isNaN(w)) - throw new IllegalArgumentException("illegal weight value: NaN"); - if (Float.isInfinite(w)) - throw new IllegalArgumentException( - "illegal weight value: infinite"); - if (w < 0.0D) { - throw new IllegalArgumentException( - "illegal weight value: negative"); - } - f += w; - } - - if (f <= 0.0D) { - throw new IllegalArgumentException( - "illegal weight values: all zero"); - } - weights = newWeights; - } - - @Override - public String toString() { - if (rules == null || rules.size() == 0) { - return ""; - } - StringBuilder sb = new StringBuilder(); - - for (int i = 0; i < rules.size(); ++i) { - if (i > 0) - sb.append(" | "); - - if (weights != null) - sb.append("/" + weights.get(i) + "/ "); - - JSGFRule r = rules.get(i); - if (rules.get(i) instanceof JSGFRuleAlternatives) - sb.append("( ").append(r).append(" )"); - else { - sb.append(r); - } - } - return sb.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleCount.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleCount.java deleted file mode 100755 index 469024cb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleCount.java +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -public class JSGFRuleCount extends JSGFRule { - protected JSGFRule rule; - protected int count; - - public static int OPTIONAL = 2; - public static int ONCE_OR_MORE = 3; - public static int ZERO_OR_MORE = 4; - - public JSGFRuleCount() { - setRule(null); - setCount(OPTIONAL); - } - - public JSGFRuleCount(JSGFRule rule, int count) { - setRule(rule); - setCount(count); - } - - public int getCount() { - return count; - } - - public JSGFRule getRule() { - return rule; - } - - public void setCount(int count) { - if ((count != OPTIONAL) && (count != ZERO_OR_MORE) - && (count != ONCE_OR_MORE)) { - return; - } - this.count = count; - } - - public void setRule(JSGFRule rule) { - this.rule = rule; - } - - @Override - public String toString() { - if (count == OPTIONAL) { - return '[' + rule.toString() + ']'; - } - String str = null; - - if ((rule instanceof JSGFRuleToken) || (rule instanceof JSGFRuleName)) - str = rule.toString(); - else { - str = '(' + rule.toString() + ')'; - } - - if (count == ZERO_OR_MORE) - return str + " *"; - if (count == ONCE_OR_MORE) { - return str + " +"; - } - return str + "???"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleName.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleName.java deleted file mode 100755 index 46354eca..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleName.java +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -import java.util.StringTokenizer; - -public class JSGFRuleName extends JSGFRule { - - protected String fullRuleName; - - protected String packageName; - protected String simpleGrammarName; - protected String simpleRuleName; - - public String resolvedRuleName; - - public static JSGFRuleName NULL = new JSGFRuleName("NULL"); - - public static JSGFRuleName VOID = new JSGFRuleName("VOID"); - - public JSGFRuleName() { - this("NULL"); - } - - public JSGFRuleName(String name) { - // System.out.println ("Building rule name " + name); - setRuleName(name); - } - - public String getFullGrammarName() { - // System.out.println ("Getting full grammar name from " + fullRuleName); - if (packageName != null) { - return packageName + "." + simpleGrammarName; - } - // System.out.println ("Result is " + simpleGrammarName); - return simpleGrammarName; - } - - public String getPackageName() { - return packageName; - } - - public String getRuleName() { - return fullRuleName; - } - - public String getSimpleGrammarName() { - return simpleGrammarName; - } - - public String getSimpleRuleName() { - return simpleRuleName; - } - - public boolean isLegalRuleName() { - return isLegalRuleName(fullRuleName); - } - - public static boolean isLegalRuleName(String name) { - if (name == null) { - return false; - } - name = stripRuleName(name); - - if (name.endsWith(".*")) { - name = name.substring(0, name.length() - 2); - } - - if (name.length() == 0) { - return false; - } - - if ((name.startsWith(".")) || (name.endsWith(".")) - || (name.indexOf("..") >= 0)) { - return false; - } - - StringTokenizer localStringTokenizer = new StringTokenizer(name, "."); - - while (localStringTokenizer.hasMoreTokens()) { - String str = localStringTokenizer.nextToken(); - - int i = str.length(); - - if (i == 0) - return false; - - for (int j = 0; j < i; ++j) { - if (!(isRuleNamePart(str.charAt(j)))) - return false; - } - } - return true; - } - - public static boolean isRuleNamePart(char c) { - if (Character.isJavaIdentifierPart(c)) { - return true; - } - return ((c == '!') || (c == '#') || (c == '%') - || (c == '&') || (c == '(') - || (c == ')') || (c == '+') - || (c == ',') || (c == '-') - || (c == '/') || (c == ':') - || (c == ';') || (c == '=') - || (c == '@') || (c == '[') - || (c == '\\') || (c == ']') - || (c == '^') || (c == '|') || (c == '~')); - } - - public void setRuleName(String ruleName) { - String strippedName = stripRuleName(ruleName); - fullRuleName = strippedName; - - int j = strippedName.lastIndexOf('.'); - - if (j < 0) { - packageName = null; - simpleGrammarName = null; - simpleRuleName = strippedName; - } else { - int i = strippedName.lastIndexOf('.', j - 1); - - if (i < 0) { - packageName = null; - simpleGrammarName = strippedName.substring(0, j); - simpleRuleName = strippedName.substring(j + 1); - } else { - packageName = strippedName.substring(0, i); - simpleGrammarName = strippedName.substring(i + 1, j); - simpleRuleName = strippedName.substring(j + 1); - } - } - } - - public static String stripRuleName(String name) { - if ((name.startsWith("<")) && (name.endsWith(">"))) { - return name.substring(1, name.length() - 1); - } - return name; - } - - @Override - public String toString() { - return "<" + fullRuleName + ">"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleSequence.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleSequence.java deleted file mode 100755 index ab83fd9f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleSequence.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -import java.util.List; - -public class JSGFRuleSequence extends JSGFRule { - protected List rules; - - public JSGFRuleSequence() { - setRules(null); - } - - public JSGFRuleSequence(List rules) { - setRules(rules); - } - - public void append(JSGFRule rule) { - if (rules == null) { - throw new NullPointerException("null rule to append"); - } - rules.add(rule); - } - - public List getRules() { - return rules; - } - - public void setRules(List rules) { - this.rules = rules; - } - - @Override - public String toString() { - if (rules.size() == 0) { - return ""; - } - StringBuilder sb = new StringBuilder(); - - for (int i = 0; i < rules.size(); ++i) { - if (i > 0) - sb.append(' '); - - JSGFRule r = rules.get(i); - if ((r instanceof JSGFRuleAlternatives) || (r instanceof JSGFRuleSequence)) - sb.append("( ").append(r).append(" )"); - else { - sb.append(r); - } - } - return sb.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleTag.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleTag.java deleted file mode 100755 index 92781d1d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleTag.java +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -public class JSGFRuleTag extends JSGFRule { - protected JSGFRule rule; - protected String tag; - - public JSGFRuleTag() { - setRule(null); - setTag(null); - } - - public JSGFRuleTag(JSGFRule rule, String tag) { - setRule(rule); - setTag(tag); - } - - private String escapeTag(String tag) { - StringBuilder stringBuilder = new StringBuilder(tag); - - if ((tag.indexOf('}') >= 0) || (tag.indexOf('\\') >= 0) - || (tag.indexOf('{') >= 0)) { - for (int i = stringBuilder.length() - 1; i >= 0; --i) { - int j = stringBuilder.charAt(i); - if ((j == '\\') || (j == '}') || (j == '{')) { - stringBuilder.insert(i, '\\'); - } - } - } - return stringBuilder.toString(); - } - - public JSGFRule getRule() { - return rule; - } - - public String getTag() { - return tag; - } - - public void setRule(JSGFRule rule) { - this.rule = rule; - } - - public void setTag(String tag) { - if (tag == null) - this.tag = ""; - else - this.tag = tag; - } - - @Override - public String toString() { - String str = " {" + escapeTag(tag) + "}"; - - if ((rule instanceof JSGFRuleToken) || (rule instanceof JSGFRuleName)) { - return rule.toString() + str; - } - return "(" + rule.toString() + ")" + str; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleToken.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleToken.java deleted file mode 100755 index 437ee125..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/jsgf/rule/JSGFRuleToken.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright 1998-2009 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.jsgf.rule; - -public class JSGFRuleToken extends JSGFRule { - protected String text; - - public JSGFRuleToken() { - setText(null); - } - - public JSGFRuleToken(String text) { - setText(text); - } - - private boolean containsWhiteSpace(String text) { - for (int i = 0; i < text.length(); ++i) { - if (Character.isWhitespace(text.charAt(i))) - return true; - } - return false; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - @Override - public String toString() { - if ((containsWhiteSpace(text)) || (text.indexOf('\\') >= 0) - || (text.indexOf('"') >= 0)) { - StringBuilder stringBuilder = new StringBuilder(text); - - for (int j = stringBuilder.length() - 1; j >= 0; --j) { - int i; - i = stringBuilder.charAt(j); - if ((i == '"') || (i == '\\')) { - stringBuilder.insert(j, '\\'); - } - } - stringBuilder.insert(0, '"'); - stringBuilder.append('"'); - - return stringBuilder.toString(); - } - return text; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/HMMSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/HMMSearchState.java deleted file mode 100755 index db6ecdde..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/HMMSearchState.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import edu.cmu.sphinx.linguist.acoustic.HMMState; - -/** Represents a single HMM state in a language search space */ -public interface HMMSearchState extends SearchState { - - /** - * Gets the hmm state - * - * @return the hmm state - */ - HMMState getHMMState(); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/Linguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/Linguist.java deleted file mode 100755 index f3f82b38..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/Linguist.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Double; - -import java.io.IOException; - -/** - * The linguist is responsible for representing and managing the search space for the decoder. The role of the linguist - * is to provide, upon request, the search graph that is to be used by the decoder. The linguist is a generic interface - * that provides language model services. - *

- * The main role of any linguist is to represent the search space for the decoder. The search space can be retrieved by - * a SearchManager via a call to getSearchGraph. This method returns a SearchGraph. The initial state in - * the search graph can be retrieved via a call to getInitialState Successor states can be retrieved via - * calls to SearchState.getSuccessors().. There are a number of search state subinterfaces that are used to - * indicate different types of states in the search space: - *

  • WordSearchState - represents a word in the search space.
  • UnitSearchState - represents a - * unit in the search space
  • HMMSearchState represents an HMM state in the search space - *
- * A linguist has a great deal of latitude about the order in which it returns states. For instance a 'flat' linguist - * may return a WordState at the beginning of a word, while a 'tree' linguist may return WordStates at the ending of a - * word. Likewise, a linguist may omit certain state types completely (such as a unit state). Some Search Managers may - * want to know a priori the order in which different state types will be generated by the linguist. The method - * SearchGraph.getNumStateOrder() can be used to retrieve the number of state types that will be returned - * by the linguist. The method SearchState.getOrder() returns the ranking for a particular state. - *

- * Depending on the vocabulary size and topology, the search space represented by the linguist may include a very large - * number of states. Some linguists will generate the search states dynamically, that is, the object representing a - * particular state in the search space is not created until it is needed by the SearchManager. SearchManagers often - * need to be able to determine if a particular state has been entered before by comparing states. Because SearchStates - * may be generated dynamically, the SearchState.equals() call (as opposed to the reference equals '==' - * method) should be used to determine if states are equal. The states returned by the linguist will generally provide - * very efficient implementations of equals and hashCode. This will allow a SearchManager to - * maintain collections of states in HashMaps efficiently. - *

- * The lifecycle of a linguist is as follows: - *

    - *
  • The linguist is created by the configuration manager - *
  • The linguist is given an opportunity to register its properties via a call to its register method. - *
  • The linguist is given a new set of properties via the newProperties call. A well written linguist - * should be prepared to respond to newProperties call at any time. - *
  • The allocate method is called. During this call the linguist generally allocates resources such as - * acoustic and language models. This can often take a significant amount of time. A well-written linguist will be able - * to deal with multiple calls to allocate. This can happen if a linguist is shared by multiple search - * managers. - *
  • The getSearchGraph method is called by the search to retrieve the search graph that is used to - * guide the decoding/search. This method is typically called at the beginning of each recognition. The linguist should - * endeavor to return the search graph as quickly as possible to reduce any recognition latency. Some linguists will - * pre-generate the search graph in the allocate method, and only need to return a reference to the search - * graph, while other linguists may dynamically generate the search graph on each call. Also note that some linguists - * may change the search graph between calls so a search manager should always get a new search graph before the start - * of each recognition. - *
  • The startRecognition method is called just before recognition starts. This gives the linguist the - * opportunity to prepare for the recognition task. Some linguists may keep caches of search states that need to be - * primed or flushed. Note however that if a linguist depends on startRecognition or - * stopRecognition it is likely to not be a reentrant linguist which could limit its usefulness in some - * multi-threaded environments. - *
  • The stopRecognition method is called just after recognition completes. This gives the linguist the - * opportunity to cleanup after the recognition task. Some linguists may keep caches of search states that need to be - * primed or flushed. Note however that if a linguist depends on startRecognition or - * stopRecognition it is likely to not be a reentrant linguist which could limit its usefulness in some - * multi-threaded environments. - *
- */ -public interface Linguist extends Configurable { - - /** Word insertion probability property */ - @S4Double(defaultValue = 1.0) - public final static String PROP_WORD_INSERTION_PROBABILITY = "wordInsertionProbability"; - - /** Unit insertion probability property */ - @S4Double(defaultValue = 1.0) - public final static String PROP_UNIT_INSERTION_PROBABILITY = "unitInsertionProbability"; - - /** Silence insertion probability property */ - @S4Double(defaultValue = 1.0) - public final static String PROP_SILENCE_INSERTION_PROBABILITY = "silenceInsertionProbability"; - - /** Filler insertion probability property */ - @S4Double(defaultValue = 1.0) - public final static String PROP_FILLER_INSERTION_PROBABILITY = "fillerInsertionProbability"; - - /** The property that defines the language weight for the search */ - @S4Double(defaultValue = 1.0) - public final static String PROP_LANGUAGE_WEIGHT = "languageWeight"; - - - /** - * Retrieves search graph. The search graph represents the search space to be used to guide the search. - *

- * Implementor's note: This method is typically called at the beginning of each recognition and therefore should be - * - * @return the search graph - */ - public SearchGraph getSearchGraph(); - - - /** - * Called before a recognition. This method gives a linguist the opportunity to prepare itself before a recognition - * begins. - *

- * Implementor's Note - Some linguists (or underlying lanaguge or acoustic models) may keep caches or pools that - * need to be initialzed before a recognition. A linguist may implement this method to perform such initialization. - * Note however, that an ideal linguist will, once allocated, be state-less. This will allow the linguist to be - * shared by multiple simulataneous searches. Reliance on a 'startRecognition' may prevent a linguist from being - * used in a multi-threaded search. - */ - public void startRecognition(); - - - /** - * Called after a recognition. This method gives a linguist the opportunity to clean up after a recognition has been - * completed. - *

- * Implementor's Note - Some linguists (or underlying lanaguge or acoustic models) may keep caches or pools that - * need to be flushed after a recognition. A linguist may implement this method to perform such flushing. Note - * however, that an ideal linguist will once allocated, be state-less. This will allow the linguist to be shared by - * multiple simulataneous searches. Reliance on a 'stopRecognition' may prevent a linguist from being used in a - * multi-threaded search. - */ - public void stopRecognition(); - - - /** - * Allocates the linguist. Resources allocated by the linguist are allocated here. This method may take many seconds - * to complete depending upon the linguist. - *

- * Implementor's Note - A well written linguist will allow allocate to be called multiple times without harm. This - * will allow a linguist to be shared by multiple search managers. - * - * @throws IOException if an IO error occurs - */ - public void allocate() throws IOException; - - - /** - * Deallocates the linguist. Any resources allocated by this linguist are released. - *

- * Implementor's Note - if the linguist is being shared by multiple searches, the deallocate should only actually - * deallocate things when the last call to deallocate is made. Two approaches for dealing with this: - *

- * (1) Keep an allocation counter that is incremented during allocate and decremented during deallocate. Only when - * the counter reaches zero should the actually deallocation be performed. - *

- * (2) Do nothing in dellocate - just the the GC take care of things - * - * @throws IOException if an IO error occurs - */ - public void deallocate() throws IOException; -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/LinguistProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/LinguistProcessor.java deleted file mode 100755 index 10b70a13..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/LinguistProcessor.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 1999-2003 Carnegie Mellon University. - * Portions Copyright 2002-2003 Sun Microsystems, Inc. - * Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import edu.cmu.sphinx.util.props.*; - -/** A standard interface for a linguist processor */ -public class LinguistProcessor implements Configurable, Runnable { - - /** The property that defines the name of the linguist to process */ - @S4Component(type = Linguist.class) - public final static String PROP_LINGUIST = "linguist"; - - - // ---------------------------- - // Configuration data - // ---------------------------- - private String name; - private Linguist linguist; - - public LinguistProcessor( Linguist linguist ) { - this.linguist = linguist; - } - - public LinguistProcessor( ) { - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - linguist = (Linguist) ps.getComponent(PROP_LINGUIST); - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /* (non-Javadoc) - * @see java.lang.Runnable#run() - */ - public void run() { - - } - - - /** - * Returns the configured lingust - * - * @return the linguist - */ - protected Linguist getLinguist() { - return linguist; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchGraph.java deleted file mode 100755 index c55fac8b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchGraph.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist; - -/** Represents a search graph */ -public interface SearchGraph { - - /** - * Retrieves initial search state - * - * @return the set of initial search state - */ - SearchState getInitialState(); - - - /** - * Returns the number of different state types maintained in the search graph - * - * @return the number of different state types - */ - int getNumStateOrder(); - - /** - * @return order of words and data tokens - */ - boolean getWordTokenFirst(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchState.java deleted file mode 100755 index 4d26786d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchState.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -/** Represents a single state in a language search space */ -public interface SearchState { - - /** - * Gets a successor to this search state - * - * @return the set of successors - */ - SearchStateArc[] getSuccessors(); - - - /** - * Determines if this is an emitting state - * - * @return true if the state is an emitting state - */ - boolean isEmitting(); - - - /** - * Determines if this is a final state - * - * @return true if the state is a final state - */ - boolean isFinal(); - - - /** - * Returns a pretty version of the string representation for this object - * - * @return a pretty string - */ - String toPrettyString(); - - - /** - * Returns a unique signature for this state - * - * @return the signature for the state - */ - String getSignature(); - - - /** - * Gets the word history for this state - * - * @return the word history - */ - WordSequence getWordHistory(); - - - /** - * Returns the lex tree state - * - * @return the lex tree state - */ - Object getLexState(); - - - /** - * Returns the order of this particular state - * - * @return the state order for this state - */ - int getOrder(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchStateArc.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchStateArc.java deleted file mode 100755 index 0b6c8db6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/SearchStateArc.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - - -/** Represents a single state in a language search space */ -public interface SearchStateArc { - - /** - * Gets a successor to this search state - * - * @return the successor state - */ - SearchState getState(); - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - float getProbability(); - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - float getLanguageProbability(); - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - float getInsertionProbability(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/UnitSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/UnitSearchState.java deleted file mode 100755 index 3b42efbe..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/UnitSearchState.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import edu.cmu.sphinx.linguist.acoustic.Unit; - -/** Represents a unit state in a search space */ -public interface UnitSearchState extends SearchState { - - /** - * Gets the unit - * - * @return the unit - */ - public Unit getUnit(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSearchState.java deleted file mode 100755 index 7f2ee490..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSearchState.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; - -/** Represents a single word state in a language search space */ -public interface WordSearchState extends SearchState { - - /** - * Gets the word (as a pronunciation) - * - * @return the word - */ - Pronunciation getPronunciation(); - - - /** - * Returns true if this WordSearchState indicates the start of a word. Returns false if this WordSearchState - * indicates the end of a word. - * - * @return true if this WordSearchState indicates the start of a word, false if this WordSearchState indicates the - * end of a word - */ - public boolean isWordStart(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSequence.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSequence.java deleted file mode 100755 index 2677638c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/WordSequence.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist; - -import static java.lang.Math.min; - -import java.util.*; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; - -/** - * This class can be used to keep track of a word sequence. This class is an - * immutable class. It can never be modified once it is created (except, - * perhaps for transient, cached things such as a precalculated hashcode). - */ - -public final class WordSequence implements Comparable { - - /** - * Comparator that compares two sequences by their oldest part. - */ - public final static Comparator OLDEST_COMPARATOR = - new Comparator() { - public int compare(WordSequence o1, WordSequence o2) { - return o1.getOldest().compareTo(o2.getOldest()); - } - }; - - /** an empty word sequence, that is, it has no words. */ - public final static WordSequence EMPTY = new WordSequence(0); - - public static WordSequence asWordSequence(final Dictionary dictionary, - String... words) { - Word[] dictWords = new Word[words.length]; - for (int i = 0; i < words.length; i++) { - dictWords[i] = dictionary.getWord(words[i]); - } - return new WordSequence(dictWords); - } - - private final Word[] words; - private transient int hashCode = -1; - - /** - * Constructs a word sequence with the given depth. - * - * @param size the maximum depth of the word history - */ - private WordSequence(int size) { - words = new Word[size]; - } - - /** - * Constructs a word sequence with the given word IDs - * - * @param words the word IDs of the word sequence - */ - public WordSequence(Word... words) { - this(Arrays.asList(words)); - } - - /** - * Constructs a word sequence from the list of words - * - * @param list the list of words - */ - public WordSequence(List list) { - this.words = list.toArray(new Word[list.size()]); - check(); - } - - private void check() { - for (Word word : words) - if (word == null) - throw new Error("WordSequence should not have null Words."); - } - - /** - * Returns a new word sequence with the given word added to the sequence - * - * @param word the word to add to the sequence - * @param maxSize the maximum size of the generated sequence - * @return a new word sequence with the word added (but trimmed to - * maxSize). - */ - public WordSequence addWord(Word word, int maxSize) { - if (maxSize <= 0) { - return EMPTY; - } - int nextSize = ((size() + 1) > maxSize) ? maxSize : (size() + 1); - WordSequence next = new WordSequence(nextSize); - int nextIndex = nextSize - 1; - int thisIndex = size() - 1; - next.words[nextIndex--] = word; - - while (nextIndex >= 0 && thisIndex >= 0) { - next.words[nextIndex--] = this.words[thisIndex--]; - } - next.check(); - - return next; - } - - /** - * Returns the oldest words in the sequence (the newest word is omitted) - * - * @return the oldest words in the sequence, with the newest word omitted - */ - public WordSequence getOldest() { - WordSequence next = EMPTY; - - if (size() >= 1) { - next = new WordSequence(words.length - 1); - System.arraycopy(this.words, 0, next.words, 0, next.words.length); - } - return next; - } - - /** - * Returns the newest words in the sequence (the old word is omitted) - * - * @return the newest words in the sequence with the oldest word omitted - */ - public WordSequence getNewest() { - WordSequence next = EMPTY; - - if (size() >= 1) { - next = new WordSequence(words.length - 1); - System.arraycopy(this.words, 1, next.words, 0, next.words.length); - } - return next; - } - - /** - * Returns a word sequence that is no longer than the given size, that is - * filled in with the newest words from this sequence - * - * @param maxSize the maximum size of the sequence - * @return a new word sequence, trimmed to maxSize. - */ - public WordSequence trim(int maxSize) { - if (maxSize <= 0 || size() == 0) { - return EMPTY; - } else if (maxSize == size()) { - return this; - } else { - if (maxSize > size()) { - maxSize = size(); - } - WordSequence next = new WordSequence(maxSize); - int thisIndex = words.length - 1; - int nextIndex = next.words.length - 1; - - for (int i = 0; i < maxSize; i++) { - next.words[nextIndex--] = this.words[thisIndex--]; - } - return next; - } - } - - /** - * Returns the n-th word in this sequence - * - * @param n which word to return - * @return the n-th word in this sequence - */ - public Word getWord(int n) { - assert n < words.length; - return words[n]; - } - - /** - * Returns the number of words in this sequence - * - * @return the number of words - */ - public int size() { - return words.length; - } - - /** - * Returns a string representation of this word sequence. The format is: - * [ID_0][ID_1][ID_2]. - * - * @return the string - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - for (Word word : words) - sb.append('[').append(word).append(']'); - return sb.toString(); - } - - /** - * Calculates the hashcode for this object - * - * @return a hashcode for this object - */ - @Override - public int hashCode() { - if (hashCode == -1) { - int code = 123; - for (int i = 0; i < words.length; i++) { - code += words[i].hashCode() * (2 * i + 1); - } - hashCode = code; - } - return hashCode; - } - - /** - * compares the given object to see if it is identical to this WordSequence - * - * @param object the object to compare this to - * @return true if the given object is equal to this object - */ - @Override - public boolean equals(Object object) { - if (this == object) - return true; - if (!(object instanceof WordSequence)) - return false; - - return Arrays.equals(words, ((WordSequence) object).words); - } - - /** - * @param startIndex start index - * @param stopIndex stop index - * @return a subsequence with both startIndex and - * stopIndex exclusive. - */ - public WordSequence getSubSequence(int startIndex, int stopIndex) { - List subseqWords = new ArrayList(); - - for (int i = startIndex; i < stopIndex; i++) { - subseqWords.add(getWord(i)); - } - - return new WordSequence(subseqWords); - } - - /** - * @return the words of the WordSequence. - */ - public Word[] getWords() { - return getSubSequence(0, size()).words; // create a copy to keep the - // class immutable - } - - public int compareTo(WordSequence other) { - int n = min(words.length, other.words.length); - for (int i = 0; i < n; ++i) { - if (!words[i].equals(other.words[i])) { - return words[i].compareTo(other.words[i]); - } - } - - return words.length - other.words.length; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/AcousticModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/AcousticModel.java deleted file mode 100755 index 8f81a518..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/AcousticModel.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic; - -import edu.cmu.sphinx.util.props.Configurable; - -import java.io.IOException; -import java.util.Iterator; -import java.util.Properties; -import edu.cmu.sphinx.util.props.S4String; - -/** Represents the generic interface to the Acoustic Model for sphinx4 */ -public interface AcousticModel extends Configurable { - - /** The directory where the acoustic model data can be found. */ - @S4String(defaultValue = ".") - public final static String PROP_LOCATION = "location"; - - /** - * Gets this acoustic model ready to use, allocating all necessary resources. - * - * @throws IOException if the model could not be loaded - */ - public void allocate() throws IOException; - - - /** Deallocates previously allocated resources */ - public void deallocate(); - - - /** - * Returns the name of this AcousticModel, or null if it has no name. - * - * @return the name of this AcousticModel, or null if it has no name - */ - public String getName(); - - - /** - * Given a unit, returns the HMM that best matches the given unit. If exactMatch is false and an exact match is not - * found, then different word positions are used. If any of the contexts are non-silence filler units. a silence - * filler unit is tried instead. - * - * @param unit the unit of interest - * @param position the position of the unit of interest - * @param exactMatch if true, only an exact match is acceptable. - * @return the HMM that best matches, or null if no match could be found. - */ - public HMM lookupNearestHMM(Unit unit, HMMPosition position, - boolean exactMatch); - - - /** - * Returns an iterator that can be used to iterate through all the HMMs of the acoustic model - * - * @return an iterator that can be used to iterate through all HMMs in the model. The iterator returns objects of - * type HMM. - */ - public Iterator getHMMIterator(); - - - /** - * Returns an iterator that can be used to iterate through all the CI units in the acoustic model - * - * @return an iterator that can be used to iterate through all CI units. The iterator returns objects of type - * Unit - */ - public Iterator getContextIndependentUnitIterator(); - - - /** - * Returns the size of the left context for context dependent units - * - * @return the left context size - */ - public int getLeftContextSize(); - - - /** - * Returns the size of the right context for context dependent units - * - * @return the left context size - */ - public int getRightContextSize(); - - - /** - * Returns the properties of this acoustic model. - * - * @return the properties of this acoustic model - */ - public Properties getProperties(); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Context.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Context.java deleted file mode 100755 index f9973dc3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Context.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic; - -import java.io.Serializable; - -/** Represents the context for a unit */ -@SuppressWarnings("serial") -public class Context implements Serializable { - - /** Represents an empty context */ - public final static Context EMPTY_CONTEXT = new Context(); - - - /** No instantiations allowed */ - protected Context() { - } - - - /** - * Checks to see if there is a partial match with the given context. For a simple context such as this we always - * match. - * - * @param context the context to check - * @return true if there is a partial match - */ - public boolean isPartialMatch(Context context) { - return true; - } - - - /** Provides a string representation of a context */ - @Override - public String toString() { - return ""; - } - - - /** - * Determines if an object is equal to this context - * - * @param o the object to check - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof Context) { - Context otherContext = (Context) o; - return toString().equals(otherContext.toString()); - } else { - return false; - } - } - - - /** - * calculates a hashCode for this context. Since we defined an equals for context, we must define a hashCode as - * well - * - * @return the hashcode for this object - */ - @Override - public int hashCode() { - return toString().hashCode(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMM.java deleted file mode 100755 index c2224081..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMM.java +++ /dev/null @@ -1,70 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic; - - -/** - * Represents a hidden-markov-model. An HMM consists of a unit (context dependent or independent), a transition matrix - * from state to state, and a sequence of senones associated with each state. This representation of an HMM is a - * specialized left-to-right markov model. No backward transitions are allowed. - */ - -public interface HMM { - - /** - * Gets the unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getUnit(); - - - /** - * Gets the base unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getBaseUnit(); - - - /** - * @param which the state of interest - * @return hmm state - */ - public HMMState getState(int which); - - - /** - * Returns the order of the HMM - * - * @return the order of the HMM - */ - public int getOrder(); - - - /** - * Retrieves the position of this HMM. - * - * @return the position for this HMM - */ - public HMMPosition getPosition(); - - - /** - * Gets the initial states (with probabilities) for this HMM - * - * @return the set of arcs that transition to the initial states for this HMM - */ - public HMMState getInitialState(); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPool.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPool.java deleted file mode 100755 index a922edb0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPool.java +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic; - -import edu.cmu.sphinx.util.TimerPool; - -import java.util.Iterator; -import java.util.Map; -import java.util.EnumMap; -import java.util.logging.Level; -import java.util.logging.Logger; - - -/** - * The HMMPool provides the ability to manage units via small integer IDs. Context Independent units and context - * dependent units can be converted to an ID. IDs can be used to quickly retrieve a unit or an hmm associated with the - * unit. This class operates under the constraint that context sizes are exactly one, which is generally only valid for - * large vocabulary tasks. - */ - -public class HMMPool { - - private AcousticModel model; - private Unit[] unitTable; - private Map hmmTable; - private int numCIUnits; - private Logger logger; - private UnitManager unitManager; - - - protected HMMPool(){ - } - - /** - * Constructs a HMMPool object. - * - * @param model the model to use for the pool - * @param logger the logger for messages - * @param unitManager manager for units - */ - public HMMPool(AcousticModel model, Logger logger, UnitManager unitManager) - { - this.logger = logger; - int maxCIUnits = 0; - this.model = model; - this.unitManager = unitManager; - - if (model.getLeftContextSize() != 1) - throw new Error("LexTreeLinguist: Unsupported left context size"); - - if (model.getRightContextSize() != 1) - throw new Error("LexTreeLinguist: Unsupported right context size"); - - // count CI units: - for (Iterator i = model.getContextIndependentUnitIterator(); i.hasNext();) { - Unit unit = i.next(); - logger.fine("CI unit " + unit); - if (unit.getBaseID() > maxCIUnits) { - maxCIUnits = unit.getBaseID(); - } - } - - numCIUnits = maxCIUnits + 1; - - unitTable = new Unit[numCIUnits * numCIUnits * numCIUnits]; - - for (Iterator i = model.getHMMIterator(); i.hasNext();) { - HMM hmm = i.next(); - Unit unit = hmm.getUnit(); - int id = getID(unit); - unitTable[id] = unit; - if (logger.isLoggable(Level.FINER)) { - logger.finer("Unit " + unit + " id " + id); - } - } - - // build up the hmm table to allow quick access to the hmms - hmmTable = new EnumMap(HMMPosition.class); - for (HMMPosition position : HMMPosition.values()) { - HMM[] hmms = new HMM[unitTable.length]; - hmmTable.put(position, hmms); - for (int j = 1; j < unitTable.length; j++) { - Unit unit = unitTable[j]; - if (unit == null) { - unit = synthesizeUnit(j); - } - if (unit != null) { - hmms[j] = model.lookupNearestHMM(unit, position, false); - assert hmms[j] != null; - } - } - } - } - - - public AcousticModel getModel() { - return model; - } - - - /** - * Given a unit ID, generate a full context dependent unit that will allow us to look for a suitable hmm - * - * @param id the unit id - * @return a context dependent unit for the ID - */ - private Unit synthesizeUnit(int id) { - int centralID = getCentralUnitID(id); - int leftID = getLeftUnitID(id); - int rightID = getRightUnitID(id); - - if (centralID == 0 || leftID == 0 || rightID == 0) { - return null; - } - - Unit centralUnit = unitTable[centralID]; - Unit leftUnit = unitTable[leftID]; - Unit rightUnit = unitTable[rightID]; - - assert centralUnit != null; - assert leftUnit != null; - assert rightUnit != null; - - Unit[] lc = new Unit[1]; - Unit[] rc = new Unit[1]; - lc[0] = leftUnit; - rc[0] = rightUnit; - LeftRightContext context = LeftRightContext.get(lc, rc); - - Unit unit = unitManager.getUnit( - centralUnit.getName(), centralUnit.isFiller(), - context); - - if (logger.isLoggable(Level.FINER)) { - logger.finer("Missing " + getUnitNameFromID(id) - + " returning " + unit); - } - return unit; - } - - - /** - * Returns the number of CI units - * - * @return the number of CI Units - */ - public int getNumCIUnits() { - return numCIUnits; - } - - - /** - * Gets the unit for the given id - * - * @param unitID the id for the unit - * @return the unit associated with the ID - */ - public Unit getUnit(int unitID) { - return unitTable[unitID]; - } - - - /** - * Given a unit id and a position, return the HMM associated with the - * unit/position. - * - * @param unitID the id of the unit - * @param position the position within the word - * @return the hmm associated with the unit/position - */ - public HMM getHMM(int unitID, HMMPosition position) { - return hmmTable.get(position)[unitID]; - } - - - /** - * given a unit return its ID - * - * @param unit the unit - * @return an ID - */ - public int getID(Unit unit) { - if (unit.isContextDependent()) { - LeftRightContext context = (LeftRightContext) unit.getContext(); - assert context.getLeftContext().length == 1; - assert context.getRightContext().length == 1; - return buildID(getSimpleUnitID(unit), - getSimpleUnitID(context.getLeftContext()[0]), - getSimpleUnitID(context.getRightContext()[0])); - } else { - return getSimpleUnitID(unit); - } - } - - - /** - * Returns a context independent ID - * - * @param unit the unit of interest - * @return the ID of the central unit (ignoring any context) - */ - private int getSimpleUnitID(Unit unit) { - return unit.getBaseID(); - } - - - public boolean isValidID(int unitID) { - return unitID >= 0 && - unitID < unitTable.length && - unitTable[unitID] != null; - } - - - /** - * Builds an id from the given unit and its left and right unit ids - * - * @param unitID the id of the central unit - * @param leftID the id of the left context unit - * @param rightID the id of the right context unit - * @return the id for the context dependent unit - */ - public int buildID(int unitID, int leftID, int rightID) { - // special case ... if the unitID is associated with - // filler than we have no context ... so use the CI - // form - - if (unitTable[unitID] == null) - return -1; - - int id; - if (unitTable[unitID].isFiller()) { - id = unitID; - } else { - id = unitID * (numCIUnits * numCIUnits) - + (leftID * numCIUnits) - + rightID; - } - - assert id < unitTable.length; - - return id; - } - - - /** - * Given a unit id extract the left context unit id - * - * @param id the unit id - * @return the unit id of the left context (0 means no left context) - */ - private int getLeftUnitID(int id) { - return (id / numCIUnits) % numCIUnits; - } - - - /** - * Given a unit id extract the right context unit id - * - * @param id the unit id - * @return the unit id of the right context (0 means no right context) - */ - private int getRightUnitID(int id) { - return id % numCIUnits; - } - - - /** - * Given a unit id extract the central unit id - * - * @param id the unit id - * @return the central unit id - */ - private int getCentralUnitID(int id) { - return id / (numCIUnits * numCIUnits); - } - - - /** - * Given an ID, build up a name for display - * - * @return the name baed on the ID - */ - private String getUnitNameFromID(int id) { - int centralID = getCentralUnitID(id); - int leftID = getLeftUnitID(id); - int rightID = getRightUnitID(id); - - String cs = unitTable[centralID] == null ? "(" + centralID + ')' : - unitTable[centralID].toString(); - String ls = unitTable[leftID] == null ? ("(" + leftID + ')') : - unitTable[leftID].toString(); - String rs = unitTable[rightID] == null ? "(" + rightID + ')' : - unitTable[rightID].toString(); - - return cs + '[' + ls + ',' + rs + ']'; - } - - /** - * Retrieves an HMM for a unit in context. If there is no direct match, the - * nearest match will be used. Note that we are currently only dealing with, - * at most, single unit left and right contexts. - * - * @param base - * the base CI unit - * @param lc - * the left context - * @param rc - * the right context - * @param pos - * the position of the base unit within the word - * @return the HMM. (This should never return null) - */ - public HMM getHMM(Unit base, Unit lc, Unit rc, HMMPosition pos) { - int id = -1; - int bid = getID(base); - int lid = getID(lc); - int rid = getID(rc); - - if (!isValidID(bid)) { - logger.severe("Bad HMM Unit: " + base.getName()); - return null; - } - if (!isValidID(lid)) { - logger.severe("Bad HMM Unit: " + lc.getName()); - return null; - } - if (!isValidID(rid)) { - logger.severe("Bad HMM Unit: " + rc.getName()); - return null; - } - id = buildID(bid, lid, rid); - if (id < 0) { - logger.severe("Unable to build HMM Unit ID for " + base.getName() - + " lc=" + lc.getName() + " rc=" + rc.getName()); - return null; - } - HMM hmm = getHMM(id, pos); - if (hmm == null) { - logger.severe("Missing HMM Unit for " + base.getName() + " lc=" - + lc.getName() + " rc=" + rc.getName()); - } - - return hmm; - } - - - - /** Dumps out info about this pool */ - public void dumpInfo() { - logger.info("Max CI Units " + numCIUnits); - logger.info("Unit table size " + unitTable.length); - - if (logger.isLoggable(Level.FINER)) { - for (int i = 0; i < unitTable.length; i++) { - logger.finer(String.valueOf(i) + ' ' + unitTable[i]); - } - } - } - - - /** - * A quick and dirty benchmark to get an idea how long the HMM lookups will take. This experiment shows that on a - * 1GHZ sparc system, the lookup takes a little less than 1uSec. This is probably fast enough. - */ - - static final HMMPosition[] pos = { - HMMPosition.BEGIN, HMMPosition.END, HMMPosition.SINGLE, - HMMPosition.INTERNAL}; - - static final int[] ids = {9206, 9320, 9620, 9865, 14831, 15836}; - - void benchmark() { - int nullCount = 0; - System.out.println("benchmarking ..."); - TimerPool.getTimer(this,"hmmPoolBenchmark").start(); - - for (int i = 0; i < 1000000; i++) { - int id = ids[i % ids.length]; - HMMPosition position = pos[i % pos.length]; - HMM hmm = getHMM(id, position); - if (hmm == null) { - nullCount++; - } - } - TimerPool.getTimer(this,"hmmPoolBenchmark").stop(); - System.out.println("null count " + nullCount); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPosition.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPosition.java deleted file mode 100755 index ec1f3a15..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMPosition.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic; - -/** - * Defines possible positions of HMMs. Note that even though the positions are defined to be within words, some - * recognizers may classify positions in terms of other elements besides words. - */ -public enum HMMPosition { - - BEGIN ('b'), // HMM is at the beginning position of the word - END ('e'), // HMM is at the end position of the word - SINGLE ('s'), // HMM is at the beginning and the end of the word - INTERNAL ('i'), // HMM is completely internal to the word - UNDEFINED ('-'); // HMM is at an undefined position in the word - - private static final HMMPosition[] posByRep; - static { - int maxChar = 0; - for (HMMPosition pos : values()) // determine max char to use as index - if (pos.rep.charAt(0) > maxChar) - maxChar = pos.rep.charAt(0); - posByRep = new HMMPosition[maxChar + 1]; - for (HMMPosition pos : values()) // cache HMMPositions according to rep - posByRep[pos.rep.charAt(0)] = pos; - } - - private final String rep; - - /** - * Looks up an HMMPosition based upon its representation - * - * @param rep the string representation - * @return the HMMPosition represented by rep or null if not found - */ - private HMMPosition(char rep) { - this.rep = String.valueOf(rep); - } - - /** - * Looks up an HMMPosition based upon its representation - * - * @param rep the string representation - * @return the HMMPosition represented by rep or null if not found - */ - public static HMMPosition lookup(String rep) { - return rep == null || rep.isEmpty() ? null : posByRep[rep.charAt(0)]; - } - - /** - * Determines if this position is an end word position - * - * @return true if this is an end of word position - */ - public boolean isWordEnd() { - return this == SINGLE || this == END; - } - - /** - * Determines if this position is word beginning position - * - * @return true if this is a word beginning position - */ - public boolean isWordBeginning() { - return this == SINGLE || this == BEGIN; - } - - /** - * Returns a string representation of this object - * - * @return the string representation - */ - @Override - public String toString() { - return rep; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMState.java deleted file mode 100755 index cd3feb03..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMState.java +++ /dev/null @@ -1,89 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; - -/** Represents a single state in an HMM */ -public interface HMMState { - - /** - * Gets the HMM associated with this state - * - * @return the HMM - */ - public HMM getHMM(); - - /** - * Returns the mixture components associated with this Gaussian - * - * @return the array of mixture components - */ - public MixtureComponent[] getMixtureComponents(); - - /** - * Gets the id of the mixture - * - * @return the id - */ - public long getMixtureId(); - - /** - * - * @return the mixture weights vector - */ - public float[] getLogMixtureWeights(); - - /** - * Gets the state - * - * @return the state - */ - public int getState(); - - - /** - * Gets the score for this HMM state - * - * @param data the data to be scored - * @return the acoustic score for this state. - */ - public float getScore(Data data); - - public float[] calculateComponentScore(Data data); - - /** - * Determines if this HMMState is an emitting state - * - * @return true if the state is an emitting state - */ - public boolean isEmitting(); - - - /** - * Retrieves the state of successor states for this state - * - * @return the set of successor state arcs - */ - public HMMStateArc[] getSuccessors(); - - - /** - * Determines if this state is an exit state of the HMM - * - * @return true if the state is an exit state - */ - public boolean isExitState(); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMStateArc.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMStateArc.java deleted file mode 100755 index c1648536..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/HMMStateArc.java +++ /dev/null @@ -1,65 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic; - - -/** - * Represents a transition to single state in an HMM - *

- * All probabilities are maintained in linear base - */ -public class HMMStateArc { - - private final HMMState hmmState; - private final float probability; - - - /** - * Constructs an HMMStateArc - * - * @param hmmState destination state for this arc - * @param probability the probability for this transition - */ - public HMMStateArc(HMMState hmmState, float probability) { - this.hmmState = hmmState; - this.probability = probability; - } - - - /** - * Gets the HMM associated with this state - * - * @return the HMM - */ - public HMMState getHMMState() { - return hmmState; - } - - - /** - * Gets log transition probability - * - * @return the probability in the LogMath log domain - */ - public float getLogProbability() { - return probability; - } - - - /** returns a string representation of the arc */ - @Override - public String toString() { - return "HSA " + hmmState + " prob " + probability; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/LeftRightContext.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/LeftRightContext.java deleted file mode 100755 index 7fef5fa0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/LeftRightContext.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic; - -/** Represents the context for a unit */ -@SuppressWarnings("serial") -public class LeftRightContext extends Context { - - String stringRepresentation; - final Unit[] leftContext; - final Unit[] rightContext; - - /** - * Creates a LeftRightContext - * - * @param leftContext the left context or null if no left context - * @param rightContext the right context or null if no right context - */ - private LeftRightContext(Unit[] leftContext, Unit[] rightContext) { - this.leftContext = leftContext; - this.rightContext = rightContext; - } - - /** Provides a string representation of a context */ - @Override - public String toString() { - return getContextName(leftContext) + ',' + getContextName(rightContext); - } - - /** - * Factory method for creating a left/right context - * - * @param leftContext the left context or null if no left context - * @param rightContext the right context or null if no right context - * @return a left right context - */ - public static LeftRightContext get(Unit[] leftContext, Unit[] rightContext) { - return new LeftRightContext(leftContext, rightContext); - } - - /** - * Retrieves the left context for this unit - * - * @return the left context - */ - public Unit[] getLeftContext() { - return leftContext; - } - - /** - * Retrieves the right context for this unit - * - * @return the right context - */ - public Unit[] getRightContext() { - return rightContext; - } - - /** - * Gets the context name for a particular array of units - * - * @param context the context - * @return the context name - */ - public static String getContextName(Unit[] context) { - if (context == null) - return "*"; - if (context.length == 0) - return "(empty)"; - StringBuilder sb = new StringBuilder(); - for (Unit unit : context) { - sb.append(unit == null ? null : unit.getName()).append('.'); - } - sb.setLength(sb.length() - 1); // remove last period - return sb.toString(); - } - - /** - * Checks to see if there is a partial match with the given context. If both contexts are LeftRightContexts then a - * left or right context that is null is considered a wild card and matches anything, othewise the contexts must - * match exactly. Anything matches the Context.EMPTY_CONTEXT - * - * @param context the context to check - * @return true if there is a partial match - */ - @Override - public boolean isPartialMatch(Context context) { - if (context instanceof LeftRightContext) { - LeftRightContext lrContext = (LeftRightContext)context; - Unit[] lc = lrContext.getLeftContext(); - Unit[] rc = lrContext.getRightContext(); - - return (lc == null || leftContext == null || Unit.isContextMatch(lc, leftContext)) - && (rc == null || rightContext == null || Unit.isContextMatch(rc, rightContext)); - } - return context == Context.EMPTY_CONTEXT && leftContext == null && rightContext == null; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Unit.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Unit.java deleted file mode 100755 index 4000c143..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/Unit.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.acoustic; - -import java.util.Arrays; - -/** Represents a unit of speech. Units may represent phones, words or any other suitable unit */ - -public class Unit { - - public final static Unit[] EMPTY_ARRAY = new Unit[0]; - - private final String name; - private final boolean filler; - private final boolean silence; - private final int baseID; - private final Unit baseUnit; - private final Context context; - - private volatile String key; - - /** - * Constructs a context independent unit. Constructors are package private, use the UnitManager to create and access - * units. - * - * @param name the name of the unit - * @param filler true if the unit is a filler unit - * @param id the base id for the unit - */ - Unit(String name, boolean filler, int id) { - this.name = name; - this.filler = filler; - this.silence = name.equals(UnitManager.SILENCE_NAME); - this.baseID = id; - this.baseUnit = this; - this.context = Context.EMPTY_CONTEXT; - } - - /** - * Constructs a context dependent unit. Constructors are package private, use the UnitManager to create and access - * units. - * - * @param baseUnit the base id for the unit - * @param filler true if the unit is a filler unit - * @param context the context for this unit - */ - Unit(Unit baseUnit, boolean filler, Context context) { - this.name = baseUnit.getName(); - this.filler = filler; - this.silence = name.equals(UnitManager.SILENCE_NAME); - this.baseID = baseUnit.getBaseID(); - this.baseUnit = baseUnit; - this.context = context; - } - - /** - * Gets the name for this unit - * - * @return the name for this unit - */ - public String getName() { - return name; - } - - /** - * Determines if this unit is a filler unit - * - * @return true if the unit is a filler unit - */ - public boolean isFiller() { - return filler; - } - - /** - * Determines if this unit is the silence unit - * - * @return true if the unit is the silence unit - */ - public boolean isSilence() { - return silence; - } - - /** - * Gets the base ID for this unit - * - * @return the id - */ - public int getBaseID() { - return baseID; - } - - /** - * Gets the base unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getBaseUnit() { - return baseUnit; - } - - /** - * Returns the context for this unit - * - * @return the context for this unit (or null if context independent) - */ - public Context getContext() { - return context; - } - - /** - * Determines if this unit is context dependent - * - * @return true if the unit is context dependent - */ - public boolean isContextDependent() { - return getContext() != Context.EMPTY_CONTEXT; - } - - /** gets the key for this unit - * @return the key - */ - private String getKey() { - return toString(); - } - - /** - * Checks to see of an object is equal to this unit - * - * @param o the object to check - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof Unit) { - Unit otherUnit = (Unit) o; - return getKey().equals(otherUnit.getKey()); - } else { - return false; - } - } - - /** - * calculates a hashCode for this unit. Since we defined an equals for Unit, we must define a hashCode as well - * - * @return the hashcode for this object - */ - @Override - public int hashCode() { - return getKey().hashCode(); - } - - /** - * Converts to a string - * - * @return string version - */ - @Override - public String toString() { - if (key == null) { - if (context == Context.EMPTY_CONTEXT) { - key = (filler ? "*" : "") + name; - } else { - key = (filler ? "*" : "") + name + '[' + context + ']'; - } - } - return key; - } - - /** - * Checks to see if the given unit with associated contexts is a partial match for this unit. Zero, One or both - * contexts can be null. A null context matches any context - * - * @param name the name of the unit - * @param context the context to match against - * @return true if this unit matches the name and non-null context - */ - public boolean isPartialMatch(String name, Context context) { - return getName().equals(name) && context.isPartialMatch(this.context); - } - - /** - * Creates and returns an empty context with the given size. The context is padded with SIL filler - * - * @param size the size of the context - * @return the context - */ - - public static Unit[] getEmptyContext(int size) { - Unit[] context = new Unit[size]; - Arrays.fill(context, UnitManager.SILENCE); - return context; - } - - /** - * Checks to see that there is 100% overlap in the given contexts - * - * @param a context to check for a match - * @param b context to check for a match - * @return true if the contexts match - */ - public static boolean isContextMatch(Unit[] a, Unit[] b) { - if (a == null || b == null) { - return a == b; - } else if (a.length != b.length) { - return false; - } else { - for (int i = 0; i < a.length; i++) { - if (!a[i].getName().equals(b[i].getName())) { - return false; - } - } - return true; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/UnitManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/UnitManager.java deleted file mode 100755 index 7b474417..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/UnitManager.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.acoustic; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.util.HashMap; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** Manages the set of units for a recognizer */ -public class UnitManager implements Configurable { - - /** The name for the silence unit */ - public final static String SILENCE_NAME = "SIL"; - private final static int SILENCE_ID = 1; - - /** The silence unit */ - public final static Unit SILENCE = new Unit(SILENCE_NAME, true, SILENCE_ID); - - private final Map ciMap = new HashMap(); - { - ciMap.put(SILENCE_NAME, SILENCE); - } - - private int nextID = SILENCE_ID + 1; - private Logger logger; - - public UnitManager() { - logger = Logger.getLogger(getClass().getName()); - } - - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - } - - /** - * Gets or creates a unit from the unit pool - * - * @param name the name of the unit - * @param filler true if the unit is a filler unit - * @param context the context for this unit - * @return the unit - */ - public Unit getUnit(String name, boolean filler, Context context) { - Unit unit = ciMap.get(name); - if (context == Context.EMPTY_CONTEXT) { - if (unit == null) { - unit = new Unit(name, filler, nextID++); - ciMap.put(name, unit); - if (logger != null && logger.isLoggable(Level.INFO)) { - logger.info("CI Unit: " + unit); - } - } - } else { - unit = new Unit(unit, filler, context); - } - return unit; - } - - /** - * Gets or creates a unit from the unit pool - * - * @param name the name of the unit - * @param filler true if the unit is a filler unit - * @return the unit - */ - public Unit getUnit(String name, boolean filler) { - return getUnit(name, filler, Context.EMPTY_CONTEXT); - } - - /** - * Gets or creates a unit from the unit pool - * - * @param name the name of the unit - * @return the unit - */ - public Unit getUnit(String name) { - return getUnit(name, false, Context.EMPTY_CONTEXT); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/CompositeSenone.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/CompositeSenone.java deleted file mode 100755 index 9801e2e6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/CompositeSenone.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.frontend.Data; - -import java.util.Collection; - - -/** - * Represents a composite senone. A composite senone consists of a set of all possible {@link Senone senones} for a - * given state. CompositeSenones are used when the exact context of a senone is not known. The CompositeSenone - * represents all the possible senones. - *

- * This class currently only needs to be public for testing purposes. - *

- * Note that all scores are maintained in LogMath log base - */ - -@SuppressWarnings("serial") -public class CompositeSenone extends ScoreCachingSenone { - - private final static int MAX_SENONES = 20000; - private final static boolean wantMaxScore = true; - private final Senone[] senones; - private final float weight; - - /** - * a factory method that creates a CompositeSenone from a list of senones. - * - * @param senoneCollection the Collection of senones - * @param weight weigth - * @return a composite senone - */ - public static CompositeSenone create(Collection senoneCollection, - float weight) { - return new CompositeSenone(senoneCollection.toArray(new Senone[senoneCollection.size()]), weight); - } - - - /** - * Constructs a CompositeSenone given the set of constituent senones - * - * @param senones the set of constituent senones - * @param weight weigth for composition - */ - public CompositeSenone(Senone[] senones, float weight) { - this.senones = senones; - this.weight = weight; - System.out.print(" " + senones.length); - } - - - /** - * Dumps this senone - * - * @param msg annotation for the dump - */ - public void dump(String msg) { - System.out.println(" CompositeSenone " + msg + ": "); - for (Senone senone : senones) { - senone.dump(" "); - } - } - - - /** - * Calculates the composite senone score. Typically this is the best score for all of the constituent senones - */ - @Override - public float calculateScore(Data feature) { - float logScore; - if (wantMaxScore) { - logScore = -Float.MAX_VALUE; - for (Senone senone : senones) { - logScore = Math.max(logScore, senone.getScore(feature)); - } - } else { // average score - logScore = 0.0f; - for (Senone senone : senones) { - logScore += senone.getScore(feature); - } - logScore = logScore / senones.length; - } - return logScore + weight; - } - - - /** - * Calculate scores for each component in the senone's distribution. Not yet implemented. - * - * @param feature the current feature - * @return the score for the feature in LogMath - */ - public float[] calculateComponentScore(Data feature) { - assert false : "Not implemented!"; - return null; - } - - - /** - * Returns the set of senones that compose this composite senone. This method is only needed for unit testing. - * - * @return the array of senones. - */ - public Senone[] getSenones() { - return senones; - } - - - /** - * Determines if two objects are equal - * - * @param o the object to compare to this. - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (!(o instanceof Senone)) { - return false; - } - Senone other = (Senone) o; - return this.getID() == other.getID(); - } - - - /** - * Returns the hashcode for this object - * - * @return the hashcode - */ - @Override - public int hashCode() { - long id = getID(); - int high = (int) ((id >> 32)); - int low = (int) (id); - return high + low; - } - - - /** - * Gets the ID for this senone - * - * @return the senone id - */ - public long getID() { - long factor = 1L; - long id = 0L; - for (Senone senone : senones) { - id += senone.getID() * factor; - factor = factor * MAX_SENONES; - } - return id; - } - - - /** - * Retrieves a string form of this object - * - * @return the string representation of this object - */ - @Override - public String toString() { - return "senone id: " + getID(); - } - - public MixtureComponent[] getMixtureComponents() { - return null; - } - - - public float[] getLogMixtureWeights() { - return null; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianMixture.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianMixture.java deleted file mode 100755 index be218993..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianMixture.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.util.LogMath; - -/** - * Represents a concrete implementation of a simple {@link Senone senone}. A simple senone is a set of probability - * density functions implemented as a Gaussian mixture. - *

- * All scores and weights are maintained in LogMath log base. - */ - -@SuppressWarnings("serial") -public class GaussianMixture extends ScoreCachingSenone { - - // these data element in a senone may be shared with other senones - // and therefore should not be written to. - protected GaussianWeights mixtureWeights; - private MixtureComponent[] mixtureComponents; - protected int id; - - protected LogMath logMath; - - - /** - * Creates a new senone from the given components. - * - * @param mixtureWeights the mixture weights for this senone in LogMath log base - * @param mixtureComponents the mixture components for this senone - * @param id id of the mixture - */ - public GaussianMixture(GaussianWeights mixtureWeights, - MixtureComponent[] mixtureComponents, int id) { - - logMath = LogMath.getLogMath(); - this.mixtureComponents = mixtureComponents; - this.mixtureWeights = mixtureWeights; - this.id = id; - } - - - /** - * Dumps this senone. - * - * @param msg annotation message - */ - public void dump(String msg) { - System.out.println(msg + " GaussianMixture: ID " + getID()); - } - - /** - * Determines if two objects are equal - * - * @param o the object to compare to this. - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (!(o instanceof Senone)) { - return false; - } - Senone other = (Senone) o; - return this.getID() == other.getID(); - } - - - /** - * Returns the hashcode for this object - * - * @return the hashcode - */ - @Override - public int hashCode() { - long id = getID(); - int high = (int) ((id >> 32)); - int low = (int) (id); - return high + low; - } - - - - public long getID() { - return id; - } - - - /** - * Retrieves a string form of this object - * - * @return the string representation of this object - */ - @Override - public String toString() { - return "senone id: " + getID(); - } - - @Override - public float calculateScore(Data feature) { - if (feature instanceof DoubleData) - System.err.println("DoubleData conversion required on mixture level!"); - - float[] featureVector = FloatData.toFloatData(feature).getValues(); - - float logTotal = LogMath.LOG_ZERO; - for (int i = 0; i < mixtureComponents.length; i++) { - // In linear form, this would be: - // - // Total += Mixture[i].score * MixtureWeight[i] - logTotal = logMath.addAsLinear(logTotal, - mixtureComponents[i].getScore(featureVector) + mixtureWeights.get(id, 0, i)); - } - - return logTotal; - } - - - /** - * Calculates the scores for each component in the senone. - * - * @param feature the feature to score - * @return the LogMath log scores for the feature, one for each component - */ - public float[] calculateComponentScore(Data feature) { - if (feature instanceof DoubleData) - System.err.println("DoubleData conversion required on mixture level!"); - - float[] featureVector = FloatData.toFloatData(feature).getValues(); - - float[] logComponentScore = new float[mixtureComponents.length]; - for (int i = 0; i < mixtureComponents.length; i++) { - // In linear form, this would be: - // - // Total += Mixture[i].score * MixtureWeight[i] - logComponentScore[i] = mixtureComponents[i].getScore(featureVector) + mixtureWeights.get(id, 0, i); - } - - return logComponentScore; - } - - - public MixtureComponent[] getMixtureComponents() { - return mixtureComponents; - } - - - /** @return the dimension of the modeled feature space */ - public int dimension() { - return mixtureComponents[0].getMean().length; - } - - - /** @return the number of component densities of this GaussianMixture. */ - public int numComponents() { - return mixtureComponents.length; - } - - - public float[] getLogMixtureWeights(){ - float[] logWeights = new float[getMixtureComponents().length]; - for (int i = 0; i < logWeights.length; i++) - logWeights[i] = mixtureWeights.get(id, 0, i); - return logWeights; - } - - - /** @return the (linearly scaled) mixture weights of the component densities */ - public float[] getComponentWeights() { - float[] mixWeights = new float[getMixtureComponents().length]; - for (int i = 0; i < mixWeights.length; i++) - mixWeights[i] = (float) logMath.logToLinear(mixtureWeights.get(id, 0, i)); - - return mixWeights; - } - - /** - * @param index of the component - * @return the (log-scaled) mixture weight of the component density - * index */ - public float getLogComponentWeight(int index) { - return mixtureWeights.get(id, 0, index); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianWeights.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianWeights.java deleted file mode 100755 index 3037046a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/GaussianWeights.java +++ /dev/null @@ -1,66 +0,0 @@ -/* -* Copyright 2014 Carnegie Mellon University. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import java.util.logging.Logger; - -/** Structure to store weights for all gaussians in AM. - * Supposed to provide faster access in case of large models */ -public class GaussianWeights { - - private final float[][] weights; - private final int numStates; - private final int gauPerState; - private final int numStreams; - private final String name; - - public GaussianWeights(String name, int numStates, int gauPerState, int numStreams) { - this.numStates = numStates; - this.gauPerState = gauPerState; - this.numStreams = numStreams; - this.name = name; - weights = new float[gauPerState][numStates * numStreams]; - } - - public void put(int stateId, int streamId, float[] gauWeights) { - assert gauWeights.length == gauPerState; - for (int i = 0; i < gauPerState; i++) - weights[i][stateId * numStreams + streamId] = gauWeights[i]; - } - - public float get(int stateId, int streamId, int gaussianId) { - return weights[gaussianId][stateId * numStreams + streamId]; - } - - public int getStatesNum() { - return numStates; - } - - public int getGauPerState() { - return gauPerState; - } - - public int getStreamsNum() { - return numStreams; - } - - public String getName() { - return name; - } - - public void logInfo(Logger logger) { - logger.info("Gaussian weights: " + name + ". Entries: " + numStates * numStreams); - } - - public Pool convertToPool() { - return null; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HMMManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HMMManager.java deleted file mode 100755 index 7ada4083..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HMMManager.java +++ /dev/null @@ -1,95 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; - -import java.util.*; -import java.util.logging.Logger; - - -/** - * Manages HMMs. This HMMManager groups {@link edu.cmu.sphinx.linguist.acoustic.HMM HMMs} together by their {@link - * edu.cmu.sphinx.linguist.acoustic.HMMPosition position} with the word. - */ -public class HMMManager implements Iterable { - - private final List allHMMs = new ArrayList(); - private final Map> hmmsPerPosition = new EnumMap>(HMMPosition.class); - - public HMMManager () { - for (HMMPosition pos : HMMPosition.values()) - hmmsPerPosition.put(pos, new HashMap()); - } - - /** - * Put an HMM into this manager - * - * @param hmm the hmm to manage - */ - public void put(HMM hmm) { - hmmsPerPosition.get(hmm.getPosition()).put(hmm.getUnit(), hmm); - allHMMs.add(hmm); - } - - - /** - * Retrieves an HMM by position and unit - * - * @param position the position of the HMM - * @param unit the unit that this HMM represents - * @return the HMM for the unit at the given position or null if no HMM at the position could be found - */ - public HMM get(HMMPosition position, Unit unit) { - return hmmsPerPosition.get(position).get(unit); - } - - - /** - * Gets an iterator that iterates through all HMMs - * - * @return an iterator that iterates through all HMMs - */ - public Iterator iterator() { - return allHMMs.iterator(); - } - - - /** - * Returns the number of HMMS in this manager - * - * @return the number of HMMs - */ - private int getNumHMMs() { - int count = 0; - - for (Map map : hmmsPerPosition.values()) { - if (map != null) { - count += map.size(); - } - } - return count; - } - - - /** - * Log information about this manager - * - * @param logger logger to use for this logInfo - */ - public void logInfo(Logger logger) { - logger.info("HMM Manager: " + getNumHMMs() + " hmms"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/GMMDiag.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/GMMDiag.java deleted file mode 100755 index 2b1e172f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/GMMDiag.java +++ /dev/null @@ -1,552 +0,0 @@ -/* - * Copyright 2007 LORIA, France. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.HTK; - -import edu.cmu.sphinx.util.LogMath; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.StringTokenizer; - -/** - * This a producer for observations, it outputs the log likelihoods for - * guassians - * - * @author Christophe Cerisara - * - */ - -public class GMMDiag { - public int nT; - public String nom; - public LogMath logMath; - - private int ncoefs; - private int ngauss; - protected float[] weights; - protected float[][] means; - protected float[][] covar; - private float[] logPreComputedGaussianFactor; - protected float[] loglikes; - - public GMMDiag() { - } - - public GMMDiag(int ng, int nc) { - ngauss = ng; - ncoefs = nc; - allocate(); - } - - public int getNgauss() { - return ngauss; - } - - public float getWeight(int i) { - return (float) logMath.logToLinear(weights[i]); - } - - public float getVar(int i, int j) { - return -1f / (2f * covar[i][j]); - } - - public void setWeight(int i, float w) { - if (weights == null) - weights = new float[ngauss]; - weights[i] = logMath.linearToLog(w); - } - - public void setVar(int i, int j, float v) { - if (v <= 0) - // This is not a error, because you can use the GMM just to store - // values and retrieve them later. - // TODO: good constant is not very clean, because we must still have variance > 0 - System.err.println("WARNING: setVar " + v); - covar[i][j] = -1f / (2f * v); - } - - public void setMean(int i, int j, float v) { - means[i][j] = v; - } - - public float getMean(int i, int j) { - return means[i][j]; - } - - /** - * Saves in proprietary format - * @param name name of file to save - */ - public void save(String name) { - try { - PrintWriter fout = new PrintWriter(new FileWriter(name)); - fout.println(ngauss + " " + ncoefs); - for (int i = 0; i < ngauss; i++) { - fout.println("gauss " + i + ' ' + getWeight(i)); - for (int j = 0; j < ncoefs; j++) - fout.print(means[i][j] + " "); - fout.println(); - for (int j = 0; j < ncoefs; j++) - fout.print(getVar(i, j) + " "); - fout.println(); - } - fout.println(nT); - fout.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * Load from text proprietary format - * @param name filename to load from - */ - public void load(String name) { - try { - BufferedReader fin = new BufferedReader(new FileReader(name)); - String s = fin.readLine(); - String[] ss = s.split(" "); - ngauss = Integer.parseInt(ss[0]); - ncoefs = Integer.parseInt(ss[1]); - allocate(); - for (int i = 0; i < ngauss; i++) { - s = fin.readLine(); - ss = s.split(" "); - if (!ss[0].equals("gauss") || Integer.parseInt(ss[1]) != i) { - System.err.println("Error loading GMM " + s + ' ' + i); - System.exit(1); - } - setWeight(i, Float.parseFloat(ss[2])); - // means - s = fin.readLine(); - ss = s.split(" "); - for (int j = 0; j < ncoefs; j++) { - setMean(i, j, Float.parseFloat(ss[j])); - } - // covariances - s = fin.readLine(); - ss = s.split(" "); - for (int j = 0; j < ncoefs; j++) { - setVar(i, j, Float.parseFloat(ss[j])); - } - } - s = fin.readLine(); - if (s != null) { - // can be added to store the amount of data on which the GMM has been - // learned - nT = Integer.parseInt(s); - } - fin.close(); - precomputeDistance(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void saveHTK(String nomFich, String nomHMM) { - saveHTK(nomFich, nomHMM, ""); - } - - public PrintWriter saveHTKheader(String nomFich, String parmKind) { - try { - PrintWriter fout = new PrintWriter(new FileWriter(nomFich)); - fout.println("~o"); - fout.println(" tree"); - fout.println(" 1 " + getNcoefs()); - fout.println(" " + getNcoefs() + "" + parmKind - + ""); - fout.println("~r \"rtree_1\""); - fout.println(" 1"); - fout.println(" 1 " + getNgauss()); - return fout; - } catch (IOException e) { - e.printStackTrace(); - return null; - } - } - - public void saveHTKState(PrintWriter fout) { - fout.println(" " + getNgauss()); - for (int i = 1; i <= getNgauss(); i++) { - fout.println(" " + i + ' ' + getWeight(i - 1)); - fout.println(" 1"); - fout.println(" " + getNcoefs()); - for (int j = 0; j < getNcoefs(); j++) { - fout.print(getMean(i - 1, j) + " "); - } - fout.println(); - fout.println(" " + getNcoefs()); - for (int j = 0; j < getNcoefs(); j++) { - fout.print(getVar(i - 1, j) + " "); - } - fout.println(); - } - } - - public void saveHTKtailer(int nstates, PrintWriter fout) { - fout.println(" " + nstates); - // First state is non emitting - for (int j = 0; j < nstates; j++) - fout.print("0 "); - fout.println(); - for (int i = 1; i < nstates - 1; i++) { - for (int j = 0; j < i; j++) - fout.print("0 "); - fout.print("0.5 0.5"); - for (int j = i + 3; j < nstates; j++) - fout.print("0 "); - } - fout.println(); - fout.println("0 0 0"); - fout.println(""); - } - - public void saveHTK(String nomFich, String nomHMM, String parmKind) { - try { - PrintWriter fout = new PrintWriter(new FileWriter(nomFich)); - fout.println("~o"); - fout.println(" tree"); - fout.println(" 1 " + getNcoefs()); - fout.println(" " + getNcoefs() + "" + parmKind - + ""); - fout.println("~r \"rtree_1\""); - fout.println(" 1"); - fout.println(" 1 " + getNgauss()); - fout.println("~h \"" + nomHMM + '\"'); - fout.println(""); - fout.println(" 3"); - fout.println(" 2"); - fout.println(" " + getNgauss()); - for (int i = 1; i <= getNgauss(); i++) { - fout.println(" " + i + ' ' + getWeight(i - 1)); - fout.println(" 1"); - fout.println(" " + getNcoefs()); - for (int j = 0; j < getNcoefs(); j++) { - fout.print(getMean(i - 1, j) + " "); - } - fout.println(); - fout.println(" " + getNcoefs()); - for (int j = 0; j < getNcoefs(); j++) { - fout.print(getVar(i - 1, j) + " "); - } - fout.println(); - } - fout.println(" 3"); - fout.println("0 1 0"); - fout.println("0 0.7 0.3"); - fout.println("0 0 0"); - fout.println(""); - fout.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void loadHTK(String nom) { - try { - BufferedReader fin = new BufferedReader(new FileReader(nom)); - String s, s2; - StringTokenizer st; - ngauss = 0; - ncoefs = 0; - for (;;) { - s = fin.readLine(); - if (s == null) - break; - if (s.contains("")) { - ngauss++; - if (ncoefs == 0) { - st = new StringTokenizer(s); - st.nextToken(); - ncoefs = Integer.parseInt(st.nextToken()); - } - } - } - fin.close(); - allocate(); - fin = new BufferedReader(new FileReader(nom)); - for (int g = 0;;) { - s = fin.readLine(); - if (s == null) - break; - if (s.contains("")) { - s = fin.readLine(); - st = new StringTokenizer(s); - for (int c = 0; st.hasMoreTokens(); c++) { - s2 = st.nextToken(); - setMean(g, c, Float.parseFloat(s2)); - } - s = fin.readLine(); - if (!s.contains("")) { - fin.close(); - throw new IOException(); - } - s = fin.readLine(); - st = new StringTokenizer(s); - for (int c = 0; st.hasMoreTokens(); c++) { - s2 = st.nextToken(); - setVar(g, c, Float.parseFloat(s2)); - } - g++; - } - } - fin.close(); - precomputeDistance(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void loadScaleKMeans(String nom) { - String s; - String[] ss; - int ng = 0; - try { - BufferedReader fin = new BufferedReader(new FileReader(nom)); - for (;; ng++) { - s = fin.readLine(); - if (s == null) - break; - } - ngauss = ng / 2; - fin.close(); - fin = new BufferedReader(new FileReader(nom)); - s = fin.readLine(); - ss = s.split(" "); - ncoefs = ss.length - 1; - fin.close(); - fin = new BufferedReader(new FileReader(nom)); - allocate(); - nT = 0; - for (int i = 0; i < ngauss; i++) { - s = fin.readLine(); - ss = s.split(" "); - weights[i] = Float.parseFloat(ss[0]); - nT += weights[i]; - for (int j = 0; j < ncoefs; j++) { - setMean(i, j, Float.parseFloat(ss[j + 1])); - } - s = fin.readLine(); - ss = s.split(" "); - for (int j = 0; j < ncoefs; j++) { - setVar(i, j, Float.parseFloat(ss[j])); - } - } - for (int i = 0; i < ngauss; i++) { - setWeight(i, weights[i] / nT); - } - fin.close(); - precomputeDistance(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void allocateWeights() { - logMath = LogMath.getLogMath(); - weights = new float[ngauss]; - for (int i = 0; i < ngauss; i++) { - setWeight(i, 1f / ngauss); - } - } - - public void precomputeDistance() { - for (int gidx = 0; gidx < ngauss; gidx++) { - float fact = 0.0f; - for (int i = 0; i < ncoefs; i++) { - fact += logMath.linearToLog(getVar(gidx, i)); - } - fact += logMath.linearToLog(2.0 * Math.PI) * ncoefs; - logPreComputedGaussianFactor[gidx] = fact * 0.5f; - } - } - - private void allocate() { - if (weights == null) - allocateWeights(); - if (means == null) { - loglikes = new float[ngauss]; - means = new float[ngauss][ncoefs]; - covar = new float[ngauss][ncoefs]; - logPreComputedGaussianFactor = new float[ngauss]; - } - } - - /* - * Log likelihood calculation - */ - - private static final float distFloor = -Float.MAX_VALUE; - - public void computeLogLikes(float[] data) { - float logDval1gauss = 0f; - for (int gidx = 0; gidx < ngauss; gidx++) { - logDval1gauss = 0f; - for (int i = 0; i < data.length; i++) { - float logDiff = data[i] - means[gidx][i]; - logDval1gauss += logDiff * logDiff * covar[gidx][i]; - } - logDval1gauss -= logPreComputedGaussianFactor[gidx]; - if (Float.isNaN(logDval1gauss)) { - System.err.println("gs2 is Nan, converting to 0 debug " + gidx - + ' ' + logPreComputedGaussianFactor[gidx] + ' ' - + means[gidx][0] + ' ' + covar[gidx][0]); - logDval1gauss = LogMath.LOG_ZERO; - } - if (logDval1gauss < distFloor) { - logDval1gauss = distFloor; - } - // Including apriori probability for each gaussian - loglikes[gidx] = weights[gidx] + logDval1gauss; - } - } - - /** - * Calculate log probability of the observation - * must be called AFTER next() ! - * - * @return log likelihood - */ - public float getLogLike() { - float sc = loglikes[0]; - for (int i = 1; i < ngauss; i++) { - sc = logMath.addAsLinear(sc, loglikes[i]); - } - return sc; - } - - /** - * must be called AFTER next() - * - * @return best gaussian - */ - public int getWinningGauss() { - int imax = 0; - for (int i = 1; i < ngauss; i++) { - if (loglikes[i] > loglikes[imax]) - imax = i; - } - return imax; - } - - public int getNcoefs() { - return ncoefs; - } - - /* - * Manipulations with HMMs - */ - - public GMMDiag getMarginal(boolean[] mask) { - int nc = 0; - for (boolean flag : mask) - if (flag) - nc++; - GMMDiag g = new GMMDiag(getNgauss(), nc); - int curc = 0; - for (int j = 0; j < ncoefs; j++) { - if (mask[j]) { - for (int i = 0; i < ngauss; i++) { - g.setMean(i, curc, getMean(i, j)); - g.setVar(i, curc, getVar(i, j)); - } - curc++; - } - } - for (int i = 0; i < ngauss; i++) { - g.setWeight(i, getWeight(i)); - } - g.precomputeDistance(); - return g; - } - - /** - * - * @param g second GMM for the merge - * @param w1 weight of the first GMM for the merge - * @return gaussian - */ - public GMMDiag merge(GMMDiag g, float w1) { - GMMDiag res = new GMMDiag(getNgauss() + g.getNgauss(), getNcoefs()); - for (int i = 0; i < getNgauss(); i++) { - System.arraycopy(means[i], 0, res.means[i], 0, getNcoefs()); - System.arraycopy(covar[i], 0, res.covar[i], 0, getNcoefs()); - res.setWeight(i, getWeight(i) * w1); - } - for (int i = 0; i < g.getNgauss(); i++) { - System.arraycopy(g.means[i], 0, res.means[ngauss + i], 0, - getNcoefs()); - System.arraycopy(g.covar[i], 0, res.covar[ngauss + i], 0, - getNcoefs()); - res.setWeight(ngauss + i, g.getWeight(i) * (1f - w1)); - } - res.precomputeDistance(); - return res; - } - - /** - * extracts ONE gaussian from the GMM - * - * @param i position - * @return gaussian - */ - public GMMDiag getGauss(int i) { - GMMDiag res = new GMMDiag(1, getNcoefs()); - System.arraycopy(means[i], 0, res.means[0], 0, getNcoefs()); - System.arraycopy(covar[i], 0, res.covar[0], 0, getNcoefs()); - res.setWeight(0, 1); - res.precomputeDistance(); - return res; - } - - public void setNom(String s) { - nom = s; - } - - /** - * 2 GMMs are considered to be equal when all of their parameters do not - * differ from more than 1% - * @param g second gmm to compare to - * @return if GMMs are equal - */ - public boolean isEqual(GMMDiag g) { - if (getNgauss() != g.getNgauss()) - return false; - if (getNgauss() != g.getNcoefs()) - return false; - for (int i = 0; i < getNgauss(); i++) { - if (isDiff(getWeight(i), g.getWeight(i))) - return false; - for (int j = 0; j < getNcoefs(); j++) { - if (isDiff(getMean(i, j), g.getMean(i, j))) - return false; - if (isDiff(getVar(i, j), g.getVar(i, j))) - return false; - } - } - return true; - } - - private boolean isDiff(float a, float b) { - return Math.abs(1 - b / a) > 0.01; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder (); - for (int i = 0; i < getNgauss(); i++) { - sb.append(getMean(i, 0)).append(' ').append(getVar(i, 0)).append( - '\n'); - } - return sb.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMSet.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMSet.java deleted file mode 100755 index 8c7630e0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMSet.java +++ /dev/null @@ -1,518 +0,0 @@ -/* - * Copyright 2007 LORIA, France. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.HTK; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.*; - -/** - * - * @author Christophe Cerisara - */ - -public class HMMSet { - private GMMDiag g; - private int nGaussians; - float[][] trans; - /** - * contains HMMState instances - */ - public final List states; - public final List transitions = new ArrayList(); - public final Map transNames = new HashMap(); - - public Iterator get1phIt() { - Iterator it = new Iterator() { - int cur; - - public void remove() { - } - - public SingleHMM next() { - for (;;) { - if (cur >= hmms.size()) - return null; - SingleHMM hmm = hmms.get(cur++); - if (hmm.getName().indexOf('-') >= 0 - || hmm.getName().indexOf('+') >= 0) - continue; - return hmm; - } - } - - public boolean hasNext() { - return false; - } - }; - return it; - } - - public Iterator get3phIt() { - Iterator it = new Iterator() { - int cur; - - public void remove() { - } - - public SingleHMM next() { - for (;;) { - if (cur >= hmms.size()) - return null; - SingleHMM hmm = hmms.get(cur++); - if (!(hmm.getName().indexOf('-') >= 0 || hmm.getName() - .indexOf('+') >= 0)) - continue; - return hmm; - } - } - - public boolean hasNext() { - return false; - } - }; - return it; - } - - public int getStateIdx(HMMState st) { - return st.gmmidx; - } - - public int getHMMidx(SingleHMM hmm) { - for (int i = 0; i < hmms.size(); i++) { - SingleHMM h = hmms.get(i); - if (h == hmm) - return i; - } - return -1; - } - - public int getNstates() { - return gmms.size(); - } - - public String[] getHMMnames() { - String[] rep = new String[hmms.size()]; - for (int i = 0; i < rep.length; i++) { - SingleHMM h = hmms.get(i); - rep[i] = h.getName(); - } - return rep; - } - - /** - * contains GMMDiag instances - */ - public final List gmms; - /** - * contains HMM instances - */ - public final List hmms; - - public int getNhmms() { - return hmms.size(); - } - - public int getNhmmsMono() { - int n = 0; - for (SingleHMM hmm : hmms) { - if (!(hmm.getName().indexOf('-') >= 0 || hmm.getName().indexOf('+') >= 0)) - n++; - } - return n; - } - - public int getNhmmsTri() { - int n = 0; - for (SingleHMM hmm : hmms) { - if (hmm.getName().indexOf('-') >= 0 - || hmm.getName().indexOf('+') >= 0) - n++; - } - return n; - } - - public int getHMMIndex(SingleHMM h) { - return hmms.indexOf(h); - } - - /** - * @param hmmidx index of the HMM (begins at 0) - * @param stateidx index of the state WITHIN the HMM ! (begins at 1, as in MMF) - * @return index of the state in the vector of all the states of the HMMSet - */ - public int getStateIdx(int hmmidx, int stateidx) { - // TODO: store a table not to recalculate every time - SingleHMM hmm; - int nEmittingStates = 0; - for (int i = 0; i < hmmidx; i++) { - hmm = hmms.get(i); - nEmittingStates += hmm.getNbEmittingStates(); - } - hmm = hmms.get(hmmidx); - for (int i = 1; i < stateidx; i++) { - if (hmm.isEmitting(i)) - nEmittingStates++; - } - if (hmm.isEmitting(stateidx)) - return nEmittingStates; // Don't add 1 since states are counted from - // 0 - else - return -1; - } - - public SingleHMM getHMM(int idx) { - return hmms.get(idx); - } - - public SingleHMM getHMM(String nom) { - SingleHMM h = null; - for (SingleHMM hmm : hmms) { - h = hmm; - if (h.getName().equals(nom)) - break; - } - return h; - } - - public HMMSet() { - states = new ArrayList(); - hmms = new ArrayList(); - gmms = new ArrayList(); - } - - public void loadHTK(String nomFich) { - try { - BufferedReader f = new BufferedReader(new FileReader(nomFich)); - String s; - for (;;) { - s = f.readLine(); - if (s == null) - break; - if (s.startsWith("~s")) { - String nomEtat = s.substring(s.indexOf('"') + 1, s - .lastIndexOf('"')); - loadState(f, nomEtat, null); - } else if (s.startsWith("~v")) { - // variance floor: bypass - } else if (s.startsWith("~t")) { - String nomTrans = s.substring(s.indexOf('"') + 1, s - .lastIndexOf('"')); - loadTrans(f, nomTrans, null); - } else if (s.startsWith("~h")) { - String nomHMM = s.substring(s.indexOf('"') + 1, s - .lastIndexOf('"')); - if (nomHMM.toUpperCase().equals(nomHMM)) { - System.out - .println("WARNING: HMM is in lowercase, converting to upper"); - } - hmms.add(loadHMM(f, nomHMM.toUpperCase(), gmms)); - } - } - f.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private String[][] tiedHMMs; - - public void loadTiedList(String nomFich) { - try { - BufferedReader f = new BufferedReader(new FileReader(nomFich)); - String s; - String[] ss; - int ntiedstates = 0; - for (;;) { - s = f.readLine(); - if (s == null) - break; - ss = s.split(" "); - if (ss.length >= 2) { - // We have a tiedstate - ntiedstates++; - } - } - tiedHMMs = new String[ntiedstates][2]; - f.close(); - f = new BufferedReader(new FileReader(nomFich)); - for (int i = 0;;) { - s = f.readLine(); - if (s == null) - break; - ss = s.split(" "); - if (ss.length >= 2) { - // We have a tiedstate - tiedHMMs[i][0] = ss[0]; - tiedHMMs[i++][1] = ss[1]; - } - } - f.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * WARNING To be compliant with sphinx3 models, we remove the first - * non-emitting state ! - * - - - - * @throws IOException - - */ - private SingleHMM loadHMM(BufferedReader f, String n, - List autresEtats) throws IOException { - GMMDiag e = null; - int curstate; - String name = n; - String s = ""; - - while (!s.startsWith("")) { - s = f.readLine(); - } - int nstates = Integer.parseInt(s.substring(s.indexOf(' ') + 1)); - // Compliance with sphinx3 - nstates--; - SingleHMM theHMM = new SingleHMM(nstates); - theHMM.setName(n); - theHMM.hmmset = this; - while (!s.startsWith("")) - s = f.readLine(); - while (s.startsWith("")) { - curstate = Integer.parseInt(s.substring(s.indexOf(' ') + 1)); - // Compliance with sphinx3 - curstate--; - s = f.readLine(); - int gmmidx = -1; - if (s.startsWith("~s")) { - String nomEtat = s.substring(s.indexOf('"') + 1, s - .lastIndexOf('"')); - int i; - for (i = 0; i < autresEtats.size(); i++) { - e = autresEtats.get(i); - if (e.nom.equals(nomEtat)) - break; - } - gmmidx = i; - if (i == autresEtats.size()) { - System.err.println("Error creatiing HMM : state " + name + " not found"); - System.exit(1); - } - } else { - loadState(f, "", s); - gmmidx = gmms.size() - 1; - e = gmms.get(gmms.size() - 1); - } - HMMState st = new HMMState(e, new Lab(name, curstate)); - st.gmmidx = gmmidx; - states.add(st); - theHMM.setState(curstate - 1, st); // -1 because in HTK HMMs are counted from 1 - s = f.readLine(); - // t eliminates the gconst because it is then recalculated! - if (s.startsWith("")) - s = f.readLine(); - } - if (s.startsWith("~t")) { - // simple application of the - String nomTrans = s.substring(s.indexOf('"') + 1, s - .lastIndexOf('"')); - int tridx = getTrans(nomTrans); - theHMM.setTrans(tridx); - } else { - // The transitions are explicit - if (!s.startsWith("")) { - System.err.println("Error reading model: missing transitions." + s); - System.exit(1); - } - loadTrans(f, null, s); - theHMM.setTrans(trans); - } - s = f.readLine(); - if (!s.startsWith("")) { - System.err.println("Error reading model: missing ENDHMM." + s); - System.exit(1); - } - return theHMM; - } - - private int loadTrans(BufferedReader f, String nomEtat, String prem) - throws IOException { - String s; - int nstates = 0; - if (prem != null) - s = prem; - else - s = f.readLine().trim(); - if (s.startsWith("")) { - nstates = Integer.parseInt(s.substring(s.indexOf(' ') + 1)); - // Compliance with sphinx3 - nstates--; - } else { - System.err.println("ERROR no TRANSP !"); - System.exit(1); - } - String[] ss; - trans = new float[nstates][nstates]; - // Compliance with sphinx3 - f.readLine(); - for (int i = 0; i < nstates; i++) { - s = f.readLine().trim(); - ss = s.split(" "); - for (int j = 0; j < nstates; j++) { - // Compliance with sphinx3 - trans[i][j] = Float.parseFloat(ss[j + 1]); - } - } - if (nomEtat != null) { - int tridx = transitions.size(); - transNames.put(nomEtat, tridx); - transitions.add(trans); - return tridx; - } else { - return -1; - // Application can recover the transitions in the pool - } - } - - private int getTrans(String trnom) { - int tridx = transNames.get(trnom); - return tridx; - } - - private void loadState(BufferedReader f, String nomEtat, String prem) - throws IOException { - nGaussians = 1; - String s; - if (prem != null) - s = prem; - else - s = f.readLine().trim(); - if (s.startsWith("")) { - nGaussians = Integer.parseInt(s.substring(s.indexOf(' ') + 1)); - s = f.readLine().trim(); - } - g = null; - if (!s.startsWith("")) { - // This model has single mixture - if (nGaussians != 1) { - System.err.println("Error loading model: number of mixtures is " + nGaussians - + " while state " + s + " has 1 mixture."); - System.exit(1); - } - loadHTKGauss(f, 0, s); - g.setWeight(0, 1f); - } else { - String[] ss; - for (int i = 0; i < nGaussians; i++) { - if (i > 0) - s = f.readLine().trim(); - // Don't load GCONST - if (s.startsWith("")) - s = f.readLine().trim(); - ss = s.split(" "); - if (Integer.parseInt(ss[1]) != i + 1) { - System.err.println("Error reading model: mixture conflict " - + i + ' ' + s); - System.exit(1); - } - loadHTKGauss(f, i, null); - g.setWeight(i, Float.parseFloat(ss[2])); - } - } - g.precomputeDistance(); - g.setNom(nomEtat); - gmms.add(g); - } - - /** - * Read until the last line of the file but it may leave one last line - * so it can loose GCONST. - * @throws java.io.IOException - */ - private void loadHTKGauss(BufferedReader f, int n, String prem) - throws IOException { - String s; - String[] ss; - if (prem != null) { - // First line is taken into account - s = prem; - } else - s = f.readLine().trim(); - if (s.startsWith("")) - s = f.readLine().trim(); - if (s.startsWith("")) - s = f.readLine().trim(); - if (!s.startsWith("")) { - System.err.println("Error loading model: can't find ! " + s); - System.exit(1); - } - int ncoefs = Integer.parseInt(s.substring(s.indexOf(' ') + 1)); - if (g == null) - g = new GMMDiag(nGaussians, ncoefs); - s = f.readLine().trim(); - ss = s.split(" "); - if (ss.length != ncoefs) { - System.err.println("Error loading model: incorrect number of coefficients " - + ncoefs + ' ' + s + ' ' + ss[0] + ' ' + ss[39]); - System.exit(1); - } - for (int i = 0; i < ncoefs; i++) { - g.setMean(n, i, Float.parseFloat(ss[i])); - } - s = f.readLine().trim(); - if (!s.startsWith("")) { - System.err.println("Error loading model: missing ! " + s); - System.exit(1); - } - s = f.readLine().trim(); - ss = s.split(" "); - if (ss.length != ncoefs) { - System.err.println("Error loading model: incorrect number of coefficients " - + ncoefs + ' ' + s); - System.exit(1); - } - for (int i = 0; i < ncoefs; i++) { - g.setVar(n, i, Float.parseFloat(ss[i])); - } - } - - public GMMDiag findState(Lab l) { - while (true) { - HMMState s = null; - int i; - for (i = 0; i < states.size(); i++) { - s = states.get(i); - if (s.getLab().isEqual(l)) - break; - } - if (i < states.size()) { - return s.gmm; - } else { - if (tiedHMMs != null) { - // May be that state appears in the tied states - for (i = 0; i < tiedHMMs.length; i++) { - if (tiedHMMs[i][0].equals(l.getName())) { - break; - } - } - if (i < tiedHMMs.length) { - l = new Lab(tiedHMMs[i][1], l.getState()); - continue; - } - } - System.err.println("WARNING: state is not found in hmmset " + l); - return null; - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMState.java deleted file mode 100755 index 6e13e4cb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/HMMState.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2007 LORIA, France. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.HTK; - -/** - * This is simply a GMMDiag with a label which is a HMM name (String) and a state - * number - * - * @author Christophe Cerisara - * - */ -public class HMMState { - public int gmmidx = -1; - - public float getLogLike() { - return gmm.getLogLike(); - } - - public HMMState(GMMDiag g, Lab l) { - lab = l; - gmm = g; - } - - public void setLab(Lab l) { - lab = l; - } - - public Lab getLab() { - return lab; - } - - public Lab lab; - public final GMMDiag gmm; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/Lab.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/Lab.java deleted file mode 100755 index 8df351db..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/Lab.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2007 LORIA, France. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.HTK; - -/** - * Represents a label, i.e. a model name + a state number - * - * @author Christophe Cerisara - * - */ -public class Lab { - private String nameHMM; - private int numState = -1; - private int start = -1, end = -1; - - public Lab() { - } - - public Lab(String s) { - setName(s); - } - - public Lab(String s, int n) { - setName(s); - setStateIdx(n); - } - - // copy-constructor - public Lab(Lab ref) { - setDeb(ref.getStart()); - setFin(ref.getEnd()); - setName(ref.getName()); - setStateIdx(ref.getState()); - } - - public String getName() { - return nameHMM; - } - - public int getState() { - return numState; - } - - public int getStart() { - return start; - } - - public int getEnd() { - return end; - } - - public void setName(String s) { - nameHMM = s; - } - - public void setStateIdx(int i) { - numState = i; - } - - public void setDeb(int i) { - start = i; - } - - public void setFin(int i) { - end = i; - } - - public boolean isEqual(Lab l) { - if (l.getState() != -1 && getState() != -1) { - return l.getName().equals(getName()) && l.getState() == getState(); - } else { - return l.getName().equals(getName()); - } - } - - @Override - public String toString() { - String r = ""; - if (start >= 0 && end >= start) - r += start + " " + end + ' '; - r += nameHMM; - if (numState >= 0) - r += "[" + numState + ']'; - return r; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/NamesConversion.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/NamesConversion.java deleted file mode 100755 index d563cc53..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/HTK/NamesConversion.java +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Copyright 2007 LORIA, France. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.HTK; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.HashMap; -import java.util.StringTokenizer; - -/** - * HTK is case-sensitive, S4 is not. - * - * One must then first convert the HMM names to upper-case, resolve conflicts, - * and use the same conversion to convert the lexicons and grammar. This tool - * does it. - * - * @author Christophe Cerisara - * - */ -public class NamesConversion { - final HashMap phoneConv = new HashMap(); - final HashMap wordConv = new HashMap(); - String left, base, right; - - public NamesConversion() { - } - - void addInConv(String item, HashMap conv) { - if (!conv.containsKey(item)) { - // new item - String cand = item.toUpperCase(); - while (conv.containsValue(cand)) { - // conflict ! - cand = cand+"_X"; - } - conv.put(item,cand); - } - } - - void buildPhoneConversion(String MMFfile) { - try { - BufferedReader bf = new BufferedReader(new FileReader(MMFfile)); - String s; - for (;;) { - s=bf.readLine(); - if (s==null) break; - int i=s.indexOf("~h"); - if (i>=0) { - i=s.indexOf('"'); - int j = s.lastIndexOf('"'); - String nom = s.substring(i+1,j); - split3ph(nom); - if (left!=null) addInConv(left,phoneConv); - if (base!=null) addInConv(base,phoneConv); - if (right!=null) addInConv(right,phoneConv); - } - } - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - void buildWordConversion(String lexFile) { - try { - BufferedReader bf = new BufferedReader(new FileReader(lexFile)); - String s; - for (;;) { - s=bf.readLine(); - if (s==null) break; - StringTokenizer st = new StringTokenizer(s); - if (st.hasMoreTokens()) { - String word = st.nextToken(); - addInConv(word,wordConv); - } - } - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - void split3ph(String nom) { - int i = nom.indexOf('-'); - if (i>=0) { - left = nom.substring(0,i); - } else {left=null; i=-1;} - String s = nom.substring(i+1); - i = s.indexOf('+'); - if (i>=0) { - right = s.substring(i+1); - } else {right=null; i=s.length();} - base = s.substring(0,i); - } - - String conv3ph() { - String rep; - if (left!=null) { - rep=conv1ph(left)+ '-'; - } else rep=""; - rep+=conv1ph(base); - if (right!=null) { - rep+= '+' +conv1ph(right); - } - if (rep.equals("null")) { - System.err.println("detson error "+left+ ' ' +base+ ' ' +right); - System.exit(1); - } - return rep; - } - String conv1ph(String p) { - return phoneConv.get(p); - } - - void convertMMF(String MMFfile) { - try { - BufferedReader bf = new BufferedReader(new FileReader(MMFfile)); - PrintWriter pf = new PrintWriter(new FileWriter(MMFfile+".conv")); - String s; - for (;;) { - s=bf.readLine(); - if (s==null) break; - int i=s.indexOf("~h"); - if (i>=0) { - i=s.indexOf('"'); - int j = s.lastIndexOf('"'); - String nom = s.substring(i+1,j); - split3ph(nom); - String newnom = conv3ph(); - pf.println("~h \""+newnom+ '\"'); - } else - pf.println(s); - } - pf.close(); - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - void convertWordGrammar(String gramFile) { - try { - BufferedReader bf = new BufferedReader(new FileReader(gramFile)); - PrintWriter pf = new PrintWriter(new FileWriter(gramFile+".conv")); - String s; - // skip comments - for (;;) { - s=bf.readLine(); - if (s==null) {pf.close();bf.close();return;} - pf.println(s); - int i=s.indexOf("\\data\\"); - if (i==0) break; - } - // wait for 1-gram - for (;;) { - s=bf.readLine(); - if (s==null) {pf.close();bf.close();return;} - pf.println(s); - int i=s.indexOf("\\1-grams:"); - if (i==0) break; - } - // 1-grams: - boolean fin=false; - while (!fin) { - s=bf.readLine(); - if (s==null) {pf.close();bf.close();return;} - int i=s.indexOf("\\2-grams:"); - if (i==0) { - pf.println(s); break; - } - i=s.indexOf("\\end\\"); - if (i==0) {fin=true; pf.println(s); break;} - StringTokenizer st = new StringTokenizer(s); - if (st!=null & st.hasMoreTokens()) { - pf.print(st.nextToken()+ ' '); - if (st.hasMoreTokens()) { - String mot = st.nextToken(); - String newmot = wordConv.get(mot); - if (newmot==null) { - // when the word is not in the lexicon, we get null here. - // we should then build a new converted item - System.err.println("WARNING word "+mot+" not in lexicon !"); - addInConv(mot,wordConv); - newmot = wordConv.get(mot); - } - pf.print(newmot+ ' '); - while (st.hasMoreTokens()) - pf.print(st.nextToken()+ ' '); - } - pf.println(); - } - } - // 2-grams: - while (!fin) { - s=bf.readLine(); - if (s==null) {pf.close();bf.close();return;} - int i=s.indexOf("\\3-grams:"); - if (i==0) { - pf.println(s); break; - } - i=s.indexOf("\\end\\"); - if (i==0) {fin=true; pf.println(s); break;} - StringTokenizer st = new StringTokenizer(s); - if (st!=null & st.hasMoreTokens()) { - pf.print(st.nextToken()+ ' '); - if (st.hasMoreTokens()) { - String mot = st.nextToken(); - String newmot = wordConv.get(mot); - if (newmot==null) newmot=mot; - pf.print(newmot+ ' '); - if (st.hasMoreTokens()) { - mot = st.nextToken(); - newmot = wordConv.get(mot); - if (newmot==null) newmot=mot; - pf.print(newmot+ ' '); - while (st.hasMoreTokens()) - pf.print(st.nextToken()+ ' '); - } - } - pf.println(); - } - } - // 3-grams: - while (!fin) { - s=bf.readLine(); - if (s==null) {pf.close();bf.close();return;} - int i=s.indexOf("\\end\\"); - if (i==0) {fin=true; pf.println(s); break;} - StringTokenizer st = new StringTokenizer(s); - if (st!=null & st.hasMoreTokens()) { - pf.print(st.nextToken()+ ' '); - if (st.hasMoreTokens()) { - String mot = st.nextToken(); - String newmot = wordConv.get(mot); - if (newmot==null) newmot=mot; - pf.print(newmot+ ' '); - if (st.hasMoreTokens()) { - mot = st.nextToken(); - newmot = wordConv.get(mot); - if (newmot==null) newmot=mot; - pf.print(newmot+ ' '); - if (st.hasMoreTokens()) { - mot = st.nextToken(); - newmot = wordConv.get(mot); - if (newmot==null) newmot=mot; - pf.print(newmot+ ' '); - while (st.hasMoreTokens()) - pf.print(st.nextToken()+ ' '); - } - } - } - pf.println(); - } - } - pf.close(); - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - void convertLexicon(String lexFile) { - try { - BufferedReader bf = new BufferedReader(new FileReader(lexFile)); - PrintWriter pf = new PrintWriter(new FileWriter(lexFile+".conv")); - String s; - for (;;) { - s=bf.readLine(); - if (s==null) break; - StringTokenizer st = new StringTokenizer(s); - if (st==null || !st.hasMoreTokens()) continue; - String mot = st.nextToken(); - String newmot = wordConv.get(mot); - if (newmot!=null) mot=newmot; - pf.print(mot+ ' '); - while (st.hasMoreTokens()) { - String ph = st.nextToken(); - // format julius: delete the output string between [..] - if (ph.charAt(0)=='[') { - for (;;) { - if (ph.endsWith("]")) break; - ph = st.nextToken(); - } - ph = st.nextToken(); - } - split3ph(ph); - String newnom = conv3ph(); - pf.print(newnom+ ' '); - } - pf.println(); - } - pf.close(); - bf.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - // TODO: support without filler, which shall be loaded from the HTK lexicon in the future - public static void main(String args[]) { - String MMFfile = null; - String lexFile = null; - String fillerFile = null; - String gramFile = null; - - for (int i=0;i meansPool; - private Pool variancePool; - private Pool matrixPool; - private Pool meanTransformationMatrixPool; - private Pool meanTransformationVectorPool; - private Pool varianceTransformationMatrixPool; - private Pool varianceTransformationVectorPool; - private GaussianWeights mixtureWeights; - private Pool senonePool; - private Map contextIndependentUnits; - private HMMManager hmmManager; - private LogMath logMath; - private UnitManager unitManager; - private Properties properties; - private boolean swap; - protected final static String DENSITY_FILE_VERSION = "1.0"; - protected final static String MIXW_FILE_VERSION = "1.0"; - protected final static String TMAT_FILE_VERSION = "1.0"; - // -------------------------------------- - // Configuration variables - // -------------------------------------- - private String name; - private Logger logger; - private String location; - private String model; - private String dataDir; - private String propsFile; - private float distFloor; - private float mixtureWeightFloor; - private float varianceFloor; - private boolean useCDUnits; - private boolean loaded; - private boolean tie1ph; - - public HTKLoader(String propsFile, - UnitManager unitManager, boolean isBinary, int vectorLength, - String model, boolean tie1ph, float distFloor, - float mixtureWeightFloor, float varianceFloor) { - - this.logger = Logger.getLogger(getClass().getName()); - - this.propsFile = propsFile; - loadProperties(); - - logMath = LogMath.getLogMath(); - this.unitManager = unitManager; - this.model = model; - this.tie1ph = tie1ph; - this.distFloor = distFloor; - this.mixtureWeightFloor = mixtureWeightFloor; - this.varianceFloor = varianceFloor; - } - - public HTKLoader() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - - propsFile = ps.getString(PROP_PROPERTIES_FILE); - loadProperties(); - - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - - String mdef = (String) properties.get(PROP_MODEL); - model = mdef != null ? mdef : ps.getString(PROP_MODEL); - - tie1ph = ps.getBoolean(PROP_TIE_1PH); - - distFloor = ps.getFloat(PROP_MC_FLOOR); - mixtureWeightFloor = ps.getFloat(PROP_MW_FLOOR); - varianceFloor = ps.getFloat(PROP_VARIANCE_FLOOR); - } - - private void loadProperties() { - if (properties == null) { - properties = new Properties(); - try { - URL url = getClass().getResource(propsFile); - if (url != null) - properties.load(url.openStream()); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - } - - public void load() throws IOException { - if (!loaded) { - hmmManager = new HMMManager(); - contextIndependentUnits = new LinkedHashMap(); - // dummy pools for these elements - meanTransformationMatrixPool = null; - meanTransformationVectorPool = null; - varianceTransformationMatrixPool = null; - varianceTransformationVectorPool = null; - // do the actual acoustic model loading - loadModelFiles(model); - System.err.println("HTK -> S4 conversion finished"); - loaded = true; - } - } - - public String getName() { - return name; - } - - /** - * Return the acoustic model properties. - * - * @return the acoustic model properties - */ - public Properties getProperties() { - if (properties == null) { - loadProperties(); - } - return properties; - } - - /** - * Return the location. - * - * @return the location - */ - protected String getLocation() { - return location; - } - - /** - * Loads the AcousticModel from an HTK MMF - * - * - * @param MMFname the name of the acoustic model; if null we just load from the default - * location - * - * @throws java.io.IOException - */ - private void loadModelFiles(String MMFname) throws IOException { - - logger.config("Loading HTK acoustic model: " + MMFname); - logger.config(" Path : " + location); - logger.config(" modellName: " + model); - logger.config(" dataDir : " + dataDir); - - HTKStruct htkmods = new HTKStruct(); - htkmods.load(MMFname); - - meansPool = htkmods.htkMeans(MMFname); - variancePool = htkmods.htkVars(MMFname, varianceFloor); - mixtureWeights = htkmods.htkWeights(MMFname, mixtureWeightFloor); - matrixPool = htkmods.htkTrans(MMFname); - - // senonePool represents the set of the emitting states - senonePool = createSenonePool(distFloor, varianceFloor); - loadHMMPool(useCDUnits, htkmods, location + File.separator + model); - } - - public Map getContextIndependentUnits() { - return contextIndependentUnits; - } - - /** - * Creates the senone pool from the rest of the pools. assumes the means and - * variances are in the same order - * - * @param distFloor the lowest allowed score - * @param varianceFloor the lowest allowed variance - * @return the senone pool - */ - private Pool createSenonePool(float distFloor, float varianceFloor) { - Pool pool = new Pool("senones"); - - int numMeans = meansPool.size(); - int numVariances = variancePool.size(); - // TODO: remove this variable to allow different number of states per - // HMM - int numGaussiansPerSenone = mixtureWeights.getGauPerState(); - int numSenones = mixtureWeights.getStatesNum(); - int whichGaussian = 0; - - logger.fine("NG " + numGaussiansPerSenone); - logger.fine("NS " + numSenones); - logger.fine("NMNS " + numMeans); - logger.fine("NMNS " + numVariances); - - assert numGaussiansPerSenone > 0; - assert numVariances == numSenones * numGaussiansPerSenone; - assert numMeans == numSenones * numGaussiansPerSenone; - - float [][] meansTransformationMatrix = meanTransformationMatrixPool == null ? - null : meanTransformationMatrixPool.get(0); - float [] meansTransformationVector = meanTransformationVectorPool == null ? - null : meanTransformationVectorPool.get(0); - float [][] varianceTransformationMatrix = varianceTransformationMatrixPool == null ? - null : varianceTransformationMatrixPool.get(0); - float [] varianceTransformationVector = varianceTransformationVectorPool == null ? - null : varianceTransformationVectorPool.get(0); - - for (int i = 0; i < numSenones; i++) { - MixtureComponent[] mixtureComponents = new MixtureComponent[numGaussiansPerSenone]; - for (int j = 0; j < numGaussiansPerSenone; j++) { - mixtureComponents[j] = new MixtureComponent( - meansPool.get(whichGaussian), - meansTransformationMatrix, - meansTransformationVector, - variancePool.get(whichGaussian), - varianceTransformationMatrix, - varianceTransformationVector, - distFloor, - varianceFloor); - - whichGaussian++; - } - - Senone senone = new GaussianMixture(mixtureWeights, mixtureComponents, i); - - pool.put(i, senone); - } - return pool; - } - - /** - * Reads the next word (text separated by whitespace) from the given stream. - * - * the input stream - * - * @return the next word - * @throws IOException - * on error - */ - String readWord(DataInputStream dis) throws IOException { - StringBuilder sb = new StringBuilder(); - char c; - // skip leading whitespace - do { - c = readChar(dis); - } while (Character.isWhitespace(c)); - // read the word - do { - sb.append(c); - c = readChar(dis); - } while (!Character.isWhitespace(c)); - return sb.toString(); - } - - /** - * Reads a single char from the stream. - * - * the stream to read - * - * @return the next character on the stream - * @throws IOException - * if an error occurs - */ - private char readChar(DataInputStream dis) throws IOException { - return (char) dis.readByte(); - } - - /** - * Read an integer from the input stream, byte-swapping as necessary. - * - * - * @param dis the input stream - * @return an integer value - * @throws IOException - * on error - */ - protected int readInt(DataInputStream dis) throws IOException { - if (swap) { - return Utilities.readLittleEndianInt(dis); - } else { - return dis.readInt(); - } - } - - /** - * Read a float from the input stream, byte-swapping as necessary. the input - * stream - * - * @param dis the input stream - * @return a floating value - * @throws IOException - * on error - */ - protected float readFloat(DataInputStream dis) throws IOException { - float val; - if (swap) { - val = Utilities.readLittleEndianFloat(dis); - } else { - val = dis.readFloat(); - } - return val; - } - - - /** - * Reads the given number of floats from the stream and returns them in an - * array of floats. - * - * @param dis the stream to read data from the number of floats to read - * @param size size of the array - * @return an array of size float elements - * @throws IOException - * if an exception occurs - */ - protected float[] readFloatArray(DataInputStream dis, int size) - throws IOException { - float[] data = new float[size]; - for (int i = 0; i < size; i++) { - data[i] = readFloat(dis); - } - return data; - } - - /** - * Loads the model file. A set of density arrays are created and placed in - * the given pool. - * - * - * @param useCDUnits if true, loads also the context dependent units - * @param htkModels the set of HTK models - * @param path the path to a density file - * - * @throws IOException - * if an error occurs while loading the data - */ - protected void loadHMMPool(boolean useCDUnits, HTKStruct htkModels, - String path) throws IOException { - int numStatePerHMM; - - // assert numTiedState == mixtureWeightsPool.getFeature(NUM_SENONES, 0); - // assert numTiedTransitionMatrices == matrixPool.size(); - - // Load the base phones - /** - * This version loads the phones from the .MMF But contrary to S4, HTK - * do not produce reliable monophones, and some monophones may be - * missing ! An option might be to load 1ph trained independently from - * the 3ph but this file may not be always available. An easy fallback - * solution for now is to tie all the monophone to the first 3ph with - * the same base name found... - */ - if (!tie1ph) { - for (Iterator monoPhones = htkModels.hmmsHTK.get1phIt(); monoPhones - .hasNext();) { - SingleHMM hmm = monoPhones.next(); - if (hmm == null) - break; - String name = hmm.getName(); - String attribute; - if (name.equals("sil") || name.equals("sp") - || name.equals("bb") || name.equals("xx") - || name.equals("hh")) - attribute = FILLER; - else - attribute = "nofiller"; - // get the transition index - int tmat = hmm.trIdx; - - // This includes non-emitting states ! - numStatePerHMM = hmm.getNstates(); - int[] stid = new int[hmm.getNbEmittingStates()]; - - // stid contains the number of senone as it in senone pool - int j = 0; - for (int ii = 0; ii < numStatePerHMM; ii++) { - if (hmm.isEmitting(ii)) { - HMMState s = hmm.getState(ii); - // we use the index of HMM in MMF file - stid[j] = htkModels.hmmsHTK.getStateIdx(s); - j++; - // assert stid[j] >= 0 && stid[j] < - // numContextIndependentTiedState; - } - } - // assert tmat < numTiedTransitionMatrices; - - Unit unit = unitManager.getUnit(name, attribute.equals(FILLER)); - contextIndependentUnits.put(unit.getName(), unit); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - // The first filler - if (unit.isFiller() && unit.getName().equals(SILENCE_CIPHONE)) { - unit = UnitManager.SILENCE; - } - - float[][] transitionMatrix = matrixPool.get(tmat); - SenoneSequence ss = getSenoneSequence(stid); - - HMM hmm2 = new SenoneHMM(unit, ss, transitionMatrix, - HMMPosition.lookup("-")); - hmmManager.put(hmm2); - } - } else { - // build the 1ph by tying to the first 3ph - for (int i = 0; i < htkModels.hmmsHTK.getNhmms(); i++) { - SingleHMM hmm = htkModels.hmmsHTK.getHMM(i); - if (hmm == null) - break; - String name = hmm.getBaseName(); - if (!contextIndependentUnits.containsKey(name)) { - String attribute; - - if (name.equals("SIL") || name.equals("SP") - || name.equals("BB") || name.equals("XX") - || name.equals("HH")) - attribute = FILLER; - else - attribute = "nofiller"; - // get the transition index - int tmat = hmm.trIdx; - - // warning ! this includes non-emitting states ! - numStatePerHMM = hmm.getNstates(); - int[] stid = new int[hmm.getNbEmittingStates()]; - - // stid contains the identifier of senone used during - // creation of senone pool - int j = 0; - for (int ii = 0; ii < numStatePerHMM; ii++) { - if (hmm.isEmitting(ii)) { - HMMState s = hmm.getState(ii); - // We get an index of HMM in MMF file - stid[j] = htkModels.hmmsHTK.getStateIdx(s); - j++; - // assert stid[j] >= 0 && stid[j] < - // numContextIndependentTiedState; - } - } - // assert tmat < numTiedTransitionMatrices; - - Unit unit = unitManager.getUnit(name, attribute - .equals(FILLER)); - contextIndependentUnits.put(unit.getName(), unit); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - // The first filler - if (unit.isFiller() - && unit.getName().equals(SILENCE_CIPHONE)) { - unit = UnitManager.SILENCE; - } - - float[][] transitionMatrix = matrixPool.get(tmat); - SenoneSequence ss = getSenoneSequence(stid); - - HMM hmm2 = new SenoneHMM(unit, ss, transitionMatrix, - HMMPosition.lookup("-")); - hmmManager.put(hmm2); - } - } - } - // Load the context dependent phones. If the useCDUnits - // property is false, the CD phones will not be created, but - // the values still need to be read in from the file. - - String lastUnitName = ""; - Unit lastUnit = null; - int[] lastStid = null; - SenoneSequence lastSenoneSequence = null; - - List HMMdejavu = new ArrayList(); - for (Iterator triPhones = htkModels.hmmsHTK.get3phIt(); triPhones - .hasNext();) { - SingleHMM hmm = triPhones.next(); - if (hmm == null) - break; - String name = hmm.getBaseName(); - String left = hmm.getLeft(); - String right = hmm.getRight(); - - { - // diphones are transformed into triphones with SIL context, as - // it looks - // like S4 do not support diphones - if (left.equals("-")) - left = "SIL"; - if (right.equals("-")) - right = "SIL"; - String s = left + ' ' + name + ' ' + right; - if (HMMdejavu.contains(s)) { - // this may happen when a diphone is transformed into a - // triphone with SIL - continue; - } - HMMdejavu.add(s); - } - - // TODO: For this moment we don't know if the HMMS are in the end or - // not - String position = "i"; - int tmat = hmm.trIdx; - - numStatePerHMM = hmm.getNstates(); - int[] stid = new int[hmm.getNbEmittingStates()]; - - int j = 0; - for (int ii = 0; ii < numStatePerHMM; ii++) { - if (hmm.isEmitting(ii)) { - HMMState s = hmm.getState(ii); - stid[j] = htkModels.hmmsHTK.getStateIdx(s); - j++; - // assert stid[j] >= 0 && stid[j] < - // numContextIndependentTiedState; - } - } - - if (useCDUnits) { - Unit unit; - String unitName = (name + ' ' + left + ' ' + right); - - if (unitName.equals(lastUnitName)) { - unit = lastUnit; - } else { - Unit[] leftContext = new Unit[1]; - leftContext[0] = contextIndependentUnits.get(left); - - Unit[] rightContext = new Unit[1]; - rightContext[0] = contextIndependentUnits.get(right); - - Context context = LeftRightContext.get(leftContext, - rightContext); - unit = unitManager.getUnit(name, false, context); - } - lastUnitName = unitName; - lastUnit = unit; - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - float[][] transitionMatrix = matrixPool.get(tmat); - - SenoneSequence ss = lastSenoneSequence; - if (ss == null || !sameSenoneSequence(stid, lastStid)) { - ss = getSenoneSequence(stid); - } - lastSenoneSequence = ss; - lastStid = stid; - - HMM hmm2 = new SenoneHMM(unit, ss, transitionMatrix, - HMMPosition.lookup(position)); - hmmManager.put(hmm2); - } - } - } - - /** - * Returns true if the given senone sequence IDs are the same. - * - * @param ssid1 first sequence of senones - * @param ssid2 second sequence of senones - * @return true if the given senone sequence IDs are the same, false - * otherwise - */ - protected boolean sameSenoneSequence(int[] ssid1, int[] ssid2) { - if (ssid1.length == ssid2.length) { - for (int i = 0; i < ssid1.length; i++) { - if (ssid1[i] != ssid2[i]) { - return false; - } - } - return true; - } else { - return false; - } - } - - /** - * Gets the senone sequence representing the given senones. - * - * @param stateId is the array of senone state ids - * @return the senone sequence associated with the states - */ - protected SenoneSequence getSenoneSequence(int[] stateId) { - Senone[] senones = new Senone[stateId.length]; - for (int i = 0; i < stateId.length; i++) { - senones[i] = senonePool.get(stateId[i]); - } - return new SenoneSequence(senones); - } - - - public Pool getMeansPool() { - return meansPool; - } - - public Pool getMeansTransformationMatrixPool() { - return meanTransformationMatrixPool; - } - - public Pool getMeansTransformationVectorPool() { - return meanTransformationVectorPool; - } - - public Pool getVariancePool() { - return variancePool; - } - - public Pool getVarianceTransformationMatrixPool() { - return varianceTransformationMatrixPool; - } - - public Pool getVarianceTransformationVectorPool() { - return varianceTransformationVectorPool; - } - - public GaussianWeights getMixtureWeights() { - return mixtureWeights; - } - - public Pool getTransitionMatrixPool() { - return matrixPool; - } - - public float[][] getTransformMatrix() { - return null; - } - - public Pool getSenonePool() { - return senonePool; - } - - public int getLeftContextSize() { - return CONTEXT_SIZE; - } - - public int getRightContextSize() { - return CONTEXT_SIZE; - } - - public HMMManager getHMMManager() { - return hmmManager; - } - - public void logInfo() { - logger.info("HTKLoader"); - meansPool.logInfo(logger); - variancePool.logInfo(logger); - matrixPool.logInfo(logger); - senonePool.logInfo(logger); - - if (meanTransformationMatrixPool != null) - meanTransformationMatrixPool.logInfo(logger); - if (meanTransformationVectorPool != null) - meanTransformationVectorPool.logInfo(logger); - if (varianceTransformationMatrixPool != null) - varianceTransformationMatrixPool.logInfo(logger); - if (varianceTransformationVectorPool != null) - varianceTransformationVectorPool.logInfo(logger); - - senonePool.logInfo(logger); - logger.info("Context Independent Unit Entries: " - + contextIndependentUnits.size()); - hmmManager.logInfo(logger); - } - - class HTKStruct { - - HMMSet hmmsHTK; - - public void load(String name) { - System.err.println("HTK loading..."); - hmmsHTK = new HMMSet(); - hmmsHTK.loadHTK(name); - // TODO: Is tied list useful for sphinx4 - // hmmsHTK.loadTiedList(name + ".tiedlist"); - System.err.println("HTK loading finished"); - } - - int getNumStates() { - return hmmsHTK.getNstates(); - } - - int getGMMSize() { - GMMDiag gmm = hmmsHTK.gmms.get(0); - return gmm.getNgauss(); - } - - int getNcoefs() { - GMMDiag gmm = hmmsHTK.gmms.get(0); - return gmm.getNcoefs(); - } - - int getNumHMMs() { - return hmmsHTK.getNhmms(); - } - - public Pool htkMeans(String path) { - Pool pool = new Pool(path); - // Suppose this is the number of shared states - int numStates = getNumStates(); - int numStreams = 1; - int numGaussiansPerState = getGMMSize(); - pool.setFeature(NUM_SENONES, numStates); - pool.setFeature(NUM_STREAMS, numStreams); - pool.setFeature(NUM_GAUSSIANS_PER_STATE, numGaussiansPerState); - int ncoefs = getNcoefs(); - for (int i = 0; i < numStates; i++) { - GMMDiag gmm = hmmsHTK.gmms.get(i); - for (int j = 0; j < numGaussiansPerState; j++) { - float[] density = new float[ncoefs]; - for (int k = 0; k < ncoefs; k++) { - density[k] = gmm.getMean(j, k); - } - int id = i * numGaussiansPerState + j; - // the order of the means is the order in the HMMSet.gmms - // vector which is the order of appearance in the MMF file - pool.put(id, density); - } - } - return pool; - } - - public Pool htkVars(String path, float floor) { - Pool pool = new Pool(path); - int numStates = getNumStates(); - int numStreams = 1; - int numGaussiansPerState = getGMMSize(); - pool.setFeature(NUM_SENONES, numStates); - pool.setFeature(NUM_STREAMS, numStreams); - pool.setFeature(NUM_GAUSSIANS_PER_STATE, numGaussiansPerState); - int ncoefs = getNcoefs(); - for (int i = 0; i < numStates; i++) { - GMMDiag gmm = hmmsHTK.gmms.get(i); - for (int j = 0; j < numGaussiansPerState; j++) { - float[] vars = new float[ncoefs]; - for (int k = 0; k < ncoefs; k++) { - // TODO: check: shall we put inverse vars here ? - vars[k] = gmm.getVar(j, k); - } - Utilities.floorData(vars, varianceFloor); - int id = i * numGaussiansPerState + j; - // the order of the vars is the order in the HMMSet.gmms - // vector which is the order of appearance in the MMF file - pool.put(id, vars); - } - } - return pool; - } - - public GaussianWeights htkWeights(String path, float floor) { - int numStates = getNumStates(); - int numStreams = 1; - int numGaussiansPerState = getGMMSize(); - GaussianWeights mixtureWeights = new GaussianWeights(path, numStates, numGaussiansPerState, numStreams); - for (int i = 0; i < numStates; i++) { - GMMDiag gmm = hmmsHTK.gmms.get(i); - float[] logWeights = new float[numGaussiansPerState]; - for (int j = 0; j < numGaussiansPerState; j++) { - logWeights[j] = gmm.getWeight(j); - } - Utilities.floorData(logWeights, mixtureWeightFloor); - logMath.linearToLog(logWeights); - // the order of the weights is the order in the HMMSet.gmms - // vector which is the order of appearance in the MMF file - mixtureWeights.put(i, 0, logWeights); - } - return mixtureWeights; - } - - public Pool htkTrans(String path) { - Pool pool = new Pool(path); - int numMatrices = getNumHMMs(); - int i = 0; - - /* - * the order of the transitions is first, the order of the trans - * macro, and then the order of the trans in the HMMs... in other - * words, this is simply the order of the trans in the MMF ! - */ - - // tied-trans - if (hmmsHTK.transitions != null) - for (; i < hmmsHTK.transitions.size(); i++) { - float[][] tr = hmmsHTK.transitions.get(i); - float[][] tmat = new float[tr.length][tr[0].length]; - for (int j = 0; j < tmat.length; j++) - for (int k = 0; k < tmat[j].length; k++) { - tmat[j][k] = logMath.linearToLog(tr[j][k]); - } - pool.put(i, tmat); - } - - // untied-trans - for (int l = 0; l < numMatrices; l++) { - SingleHMM hmm = hmmsHTK.getHMM(l); - if (hmm.trans != null) { - float[][] tr = hmm.trans; - float[][] tmat = new float[tr.length][tr[0].length]; - for (int j = 0; j < tmat.length; j++) - for (int k = 0; k < tmat[j].length; k++) { - tmat[j][k] = logMath.linearToLog(tr[j][k]); - } - hmm.trIdx = i; - pool.put(i++, tmat); - } else { - // The index in the pool is the same as the index in the - // macros - hmm.trIdx = hmm.getTransIdx(); - } - } - return pool; - } - } - - @Override - public void update(Transform transform, ClusteredDensityFileData clusters) { - // TODO not implemented yet - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/KaldiLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/KaldiLoader.java deleted file mode 100755 index f34cd564..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/KaldiLoader.java +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import edu.cmu.sphinx.decoder.adaptation.ClusteredDensityFileData; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.KaldiGmmPool; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.KaldiTextParser; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.TransitionModel; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4String; - - -public class KaldiLoader implements Loader { - - @S4Component(type = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - private String location; - - @S4String(mandatory = true) - public final static String PROP_LOCATION = "location"; - private UnitManager unitManager; - - private Pool senonePool; - private HMMManager hmmManager; - private Properties modelProperties; - private Map contextIndependentUnits; - private float[][] transform; - - /** - * Constructs empty object. - * - * Does nothing but is required for instantiation from the context object. - */ - public KaldiLoader() { - } - - public KaldiLoader(String location, UnitManager unitManager) { - init(location, unitManager); - } - - public void init(String location, UnitManager unitManager) { - this.location = location; - this.unitManager = unitManager; - } - - public void newProperties(PropertySheet ps) throws PropertyException { - init(ps.getString(PROP_LOCATION), - (UnitManager) ps.getComponent(PROP_UNIT_MANAGER)); - } - - /** - * Loads the acoustic model. - * - * @throws IOException if an error occurs while loading the model - */ - public void load() throws IOException { - KaldiTextParser parser = new KaldiTextParser(location); - TransitionModel transitionModel = new TransitionModel(parser); - senonePool = new KaldiGmmPool(parser); - - File file = new File(location, "phones.txt"); - InputStream stream = new URL(file.getPath()).openStream(); - Reader reader = new InputStreamReader(stream); - BufferedReader br = new BufferedReader(reader); - Map symbolTable = new HashMap(); - String line; - - while (null != (line = br.readLine())) { - String[] fields = line.split(" "); - if (Character.isLetter(fields[0].charAt(0))) - symbolTable.put(fields[0], Integer.parseInt(fields[1])); - } - - contextIndependentUnits = new HashMap(); - hmmManager = new LazyHmmManager(parser, transitionModel, - senonePool, symbolTable); - - for (String phone : symbolTable.keySet()) { - Unit unit = unitManager.getUnit(phone, "SIL".equals(phone)); - contextIndependentUnits.put(unit.getName(), unit); - // Ensure monophone HMMs are created. - hmmManager.get(HMMPosition.UNDEFINED, unit); - } - - loadTransform(); - loadProperties(); - } - - private void loadTransform() throws IOException { - URL transformUrl = new URL(new File(location, "final.mat").getPath()); - Reader reader = new InputStreamReader(transformUrl.openStream()); - BufferedReader br = new BufferedReader(reader); - List values = new ArrayList(); - int numRows = 0; - int numCols = 0; - String line; - - while (null != (line = br.readLine())) { - int colCount = 0; - - for (String word : line.split("\\s+")) { - if (word.isEmpty() || "[".equals(word) || "]".equals(word)) - continue; - - values.add(Float.parseFloat(word)); - ++colCount; - } - - if (colCount > 0) - ++numRows; - - numCols = colCount; - } - - transform = new float[numRows][numCols]; - Iterator valueIterator = values.iterator(); - - for (int i = 0; i < numRows; ++i) { - for (int j = 0; j < numCols; ++j) - transform[i][j] = valueIterator.next(); - } - } - - private void loadProperties() throws IOException { - File file = new File(location, "feat.params"); - InputStream stream = new URL(file.getPath()).openStream(); - Reader reader = new InputStreamReader(stream); - BufferedReader br = new BufferedReader(reader); - modelProperties = new Properties(); - String line; - - while ((line = br.readLine()) != null) { - String[] tokens = line.split(" "); - modelProperties.put(tokens[0], tokens[1]); - } - } - - /** - * Gets the senone pool for this loader. - * - * @return the pool - */ - public Pool getSenonePool() { - return senonePool; - } - - /** - * Returns the HMM Manager for this loader. - * - * @return the HMM Manager - */ - public HMMManager getHMMManager() { - return hmmManager; - } - - /** - * Returns the map of context indepent units. - * - * The map can be accessed by unit name. - * - * @return the map of context independent units - */ - public Map getContextIndependentUnits() { - return contextIndependentUnits; - } - - /** - * Returns the size of the left context for context dependent units. - * - * @return the left context size - */ - public int getLeftContextSize() { - return 1; - } - - /** - * Returns the size of the right context for context dependent units. - * - * @return the right context size - */ - public int getRightContextSize() { - return 1; - } - - /** - * Returns the model properties - */ - public Properties getProperties() { - return modelProperties; - } - - /** - * Logs information about this loader - */ - public void logInfo() { - } - - /** - * Not implemented. - */ - public Pool getMeansPool() { - return null; - } - - /** - * Not implemented. - */ - public Pool getMeansTransformationMatrixPool() { - return null; - } - - /** - * Not implemented. - */ - public Pool getMeansTransformationVectorPool() { - return null; - } - - /** - * Not implemented. - */ - public Pool getVariancePool() { - return null; - } - - /** - * Not implemented. - */ - public Pool getVarianceTransformationMatrixPool() { - return null; - } - - /** - * Not implemented. - */ - public Pool getVarianceTransformationVectorPool() { - return null; - } - - /** - * Not implemented. - */ - public GaussianWeights getMixtureWeights() { - return null; - } - - /** - * Not implemented. - */ - public Pool getTransitionMatrixPool() { - return null; - } - - /** - * Not implemented. - */ - public float[][] getTransformMatrix() { - return transform; - } - - @Override - public void update(Transform transform, ClusteredDensityFileData clusters) { - // TODO Not implemented yet - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/LazyHmmManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/LazyHmmManager.java deleted file mode 100755 index 2e63fe67..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/LazyHmmManager.java +++ /dev/null @@ -1,134 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.InputMismatchException; -import java.util.List; -import java.util.Map; - -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.LeftRightContext; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.ConstantEventMap; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.EventMap; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.KaldiTextParser; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.SplitEventMap; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.TableEventMap; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi.TransitionModel; - -/** - * {@link HMMManager} extension to load HMMs from Kaldi model. - * - * Initially empty this class creates HMMs on request. - */ -public class LazyHmmManager extends HMMManager { - - private final EventMap eventMap; - private final Pool senonePool; - private final Map symbolTable; - private final TransitionModel transitionModel; - - public LazyHmmManager(KaldiTextParser parser, - TransitionModel transitionModel, - Pool senonePool, - Map symbolTable) - { - this.transitionModel = transitionModel; - this.senonePool = senonePool; - this.symbolTable = symbolTable; - - parser.expectToken("ContextDependency"); - parser.getInt(); - parser.getInt(); - parser.expectToken("ToPdf"); - eventMap = parseEventMap(parser); - parser.expectToken("EndContextDependency"); - } - - private EventMap parseEventMap(KaldiTextParser parser) { - String token = parser.getToken(); - - if ("CE".equals(token)) - return new ConstantEventMap(parser.getInt()); - - if ("SE".equals(token)) - return parseSplitEventMap(parser); - - if ("TE".equals(token)) - return parseTableEventMap(parser); - - if ("NULL".equals(token)) - return null; - - throw new InputMismatchException(token); - } - - private EventMap parseSplitEventMap(KaldiTextParser parser) { - int key = parser.getInt(); - Collection values; - values = new ArrayList(); - for (Integer n : parser.getIntArray()) - values.add(n); - - parser.expectToken("{"); - EventMap yesMap = parseEventMap(parser); - EventMap noMap = parseEventMap(parser); - EventMap eventMap = new SplitEventMap(key, values, yesMap, noMap); - parser.expectToken("}"); - - return eventMap; - } - - private EventMap parseTableEventMap(KaldiTextParser parser) { - int key = parser.getInt(); - int size = parser.getInt(); - List table = new ArrayList(size); - - parser.expectToken("("); - - while (0 < size--) - table.add(parseEventMap(parser)); - - parser.expectToken(")"); - return new TableEventMap(key, table); - } - - @Override - public HMM get(HMMPosition position, Unit unit) { - HMM hmm = super.get(position, unit); - if (null != hmm) return hmm; - - int[] ids = new int[3]; - ids[1] = symbolTable.get(unit.getName()); - - if (unit.isContextDependent()) { - LeftRightContext context = (LeftRightContext) unit.getContext(); - Unit left = context.getLeftContext()[0]; - Unit right = context.getRightContext()[0]; - ids[0] = symbolTable.get(left.getName()); - ids[2] = symbolTable.get(right.getName()); - } else { - ids[0] = symbolTable.get("SIL"); - ids[2] = symbolTable.get("SIL"); - } - - int[] pdfs = new int[3]; - pdfs[0] = eventMap.map(0, ids); - pdfs[1] = eventMap.map(1, ids); - pdfs[2] = eventMap.map(2, ids); - - Senone[] senones = new Senone[3]; - senones[0] = senonePool.get(pdfs[0]); - senones[1] = senonePool.get(pdfs[1]); - senones[2] = senonePool.get(pdfs[2]); - SenoneSequence ss = new SenoneSequence(senones); - - float[][] transitionMatrix; - transitionMatrix = transitionModel.getTransitionMatrix(ids[1], pdfs); - hmm = new SenoneHMM(unit, ss, transitionMatrix, position); - put(hmm); - - return hmm; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Loader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Loader.java deleted file mode 100755 index 2dba12d5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Loader.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.decoder.adaptation.ClusteredDensityFileData; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.linguist.acoustic.Unit; - -import java.io.IOException; -import java.util.Map; -import java.util.Properties; - -/** Generic interface for a loader of acoustic models */ -public interface Loader extends Configurable { - - /** - * Loads the acoustic model. - * - * @throws IOException if an error occurs while loading the model - */ - public void load() throws IOException; - - /** - * Gets the pool of means for this loader. - * - * @return the pool - */ - public Pool getMeansPool(); - - /** - * Gets the means transformation matrix pool. - * - * @return the pool - */ - public Pool getMeansTransformationMatrixPool(); - - /** - * Gets the means transformation vectors pool. - * - * @return the pool - */ - public Pool getMeansTransformationVectorPool(); - - /** - * Gets the variance pool. - * - * @return the pool - */ - public Pool getVariancePool(); - - /** - * Gets the variance transformation matrix pool. - * - * @return the pool - */ - public Pool getVarianceTransformationMatrixPool(); - - /** - * Gets the variance transformation vectors pool. - * - * @return the pool - */ - public Pool getVarianceTransformationVectorPool(); - - /** - * Gets the mixture weight pool. - * - * @return the pool - */ - public GaussianWeights getMixtureWeights(); - - /** - * Gets the transition matrix pool. - * - * @return the pool - */ - public Pool getTransitionMatrixPool(); - - /** - * Gets the transformation matrix. - * - * @return the matrix - */ - public float[][] getTransformMatrix(); - - /** - * Gets the senone pool for this loader. - * - * @return the pool - */ - public Pool getSenonePool(); - - /** - * Returns the HMM Manager for this loader. - * - * @return the HMM Manager - */ - public HMMManager getHMMManager(); - - /** - * Returns the map of context indepent units. The map can be accessed by unit name. - * - * @return the map of context independent units - */ - public Map getContextIndependentUnits(); - - /** logs information about this loader */ - public void logInfo(); - - /** - * Returns the size of the left context for context dependent units. - * - * @return the left context size - */ - public int getLeftContextSize(); - - /** - * Returns the size of the right context for context dependent units. - * - * @return the left context size - */ - public int getRightContextSize(); - - /** - * @return the model properties - */ - public Properties getProperties(); - - /** - * Apply the transform - * @param transform transform to apply to the model - * @param clusters transform clusters - */ - public void update(Transform transform, ClusteredDensityFileData clusters); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/MixtureComponent.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/MixtureComponent.java deleted file mode 100755 index fef9a216..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/MixtureComponent.java +++ /dev/null @@ -1,345 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.util.LogMath; - -import java.io.Serializable; -import java.util.Arrays; - -/** - * Defines the set of shared elements for a GaussianMixture. Since these elements are potentially - * shared by a number of {@link GaussianMixture GaussianMixtures}, these elements should not be - * written to. The GaussianMixture defines a single probability density function along with a set of - * adaptation parameters. - *

- * Note that all scores and weights are in LogMath log base - */ -// TODO: Since many of the subcomponents of a MixtureComponent are shared, are -// there some potential opportunities to reduce the number of computations in scoring -// senones by sharing intermediate results for these subcomponents? -@SuppressWarnings("serial") -public class MixtureComponent implements Cloneable, Serializable { - - private float[] mean; - /** Mean after transformed by the adaptation parameters. */ - protected float[] meanTransformed; - private float[][] meanTransformationMatrix; - private float[] meanTransformationVector; - private float[] variance; - /** Precision is the inverse of the variance. This includes adaptation. */ - protected float[] precisionTransformed; - private float[][] varianceTransformationMatrix; - private float[] varianceTransformationVector; - - protected float distFloor; - private float varianceFloor; - - public static final float DEFAULT_VAR_FLOOR = 0.0001f; // this also seems to be the default of SphinxTrain - public static final float DEFAULT_DIST_FLOOR = 0.0f; - - protected float logPreComputedGaussianFactor; - protected LogMath logMath; - - /** - * Create a MixtureComponent with the given sub components. - * - * @param mean the mean vector for this PDF - * @param variance the variance for this PDF - */ - public MixtureComponent(float[] mean, float[] variance) { - this(mean, null, null, variance, null, null, DEFAULT_DIST_FLOOR, DEFAULT_VAR_FLOOR); - } - - - /** - * Create a MixtureComponent with the given sub components. - * - * @param mean the mean vector for this PDF - * @param meanTransformationMatrix transformation matrix for this pdf - * @param meanTransformationVector transform vector for this PDF - * @param variance the variance for this PDF - * @param varianceTransformationMatrix var. transform matrix for this PDF - * @param varianceTransformationVector var. transform vector for this PDF - */ - public MixtureComponent( - float[] mean, - float[][] meanTransformationMatrix, - float[] meanTransformationVector, - float[] variance, - float[][] varianceTransformationMatrix, - float[] varianceTransformationVector) { - this(mean, meanTransformationMatrix, meanTransformationVector, variance, - varianceTransformationMatrix, varianceTransformationVector, DEFAULT_DIST_FLOOR, DEFAULT_VAR_FLOOR); - } - - - /** - * Create a MixtureComponent with the given sub components. - * - * @param mean the mean vector for this PDF - * @param meanTransformationMatrix transformation matrix for this pdf - * @param meanTransformationVector transform vector for this PDF - * @param variance the variance for this PDF - * @param varianceTransformationMatrix var. transform matrix for this PDF - * @param varianceTransformationVector var. transform vector for this PDF - * @param distFloor the lowest score value (in linear domain) - * @param varianceFloor the lowest value for the variance - */ - public MixtureComponent( - float[] mean, - float[][] meanTransformationMatrix, - float[] meanTransformationVector, - float[] variance, - float[][] varianceTransformationMatrix, - float[] varianceTransformationVector, - float distFloor, - float varianceFloor) { - - assert variance.length == mean.length; - - logMath = LogMath.getLogMath(); - this.mean = mean; - this.meanTransformationMatrix = meanTransformationMatrix; - this.meanTransformationVector = meanTransformationVector; - this.variance = variance; - this.varianceTransformationMatrix = varianceTransformationMatrix; - this.varianceTransformationVector = varianceTransformationVector; - - assert distFloor >= 0.0 : "distFloot seems to be already in log-domain"; - this.distFloor = logMath.linearToLog(distFloor); - this.varianceFloor = varianceFloor; - - transformStats(); - - logPreComputedGaussianFactor = precomputeDistance(); - } - - - /** - * Returns the mean for this component. - * - * @return the mean - */ - public float[] getMean() { - return mean; - } - - - /** - * Returns the variance for this component. - * - * @return the variance - */ - public float[] getVariance() { - return variance; - } - - - /** - * Calculate the score for this mixture against the given feature. - *

- * Note: The support of DoubleData-features would require an array conversion to - * float[]. Because getScore might be invoked with very high frequency, features are restricted - * to be FloatDatas. - * - * @param feature the feature to score - * @return the score, in log, for the given feature - */ - public float getScore(FloatData feature) { - return getScore(feature.getValues()); - } - - - /** - * Calculate the score for this mixture against the given feature. We model the output - * distributions using a mixture of Gaussians, therefore the current implementation is simply - * the computation of a multi-dimensional Gaussian.

Normal(x) = exp{-0.5 * (x-m)' * - * inv(Var) * (x-m)} / {sqrt((2 * PI) ^ N) * det(Var))}

- *

- * where x and m are the incoming cepstra and mean vector respectively, - * Var is the Covariance matrix, det() is the determinant of a matrix, - * inv() is its inverse, exp is the exponential operator, x' is the - * transposed vector of x and N is the dimension of the vectors x and - * m. - * - * @param feature the feature to score - * @return the score, in log, for the given feature - */ - public float getScore(float[] feature) { - float logDval = logPreComputedGaussianFactor; - - // First, compute the argument of the exponential function in - // the definition of the Gaussian, then convert it to the - // appropriate base. If the log base is Math.E, - // then no operation is necessary. - - for (int i = 0; i < feature.length; i++) { - float logDiff = feature[i] - meanTransformed[i]; - logDval += logDiff * logDiff * precisionTransformed[i]; - } - // logDval = -logVal / 2; - - // At this point, we have the ln() of what we need, that is, - // the argument of the exponential in the javadoc comment. - - // Convert to the appropriate base. - logDval = logMath.lnToLog(logDval); - - // System.out.println("MC: getscore " + logDval); - - // TODO: Need to use mean and variance transforms here - - if (Float.isNaN(logDval)) { - System.out.println("gs is Nan, converting to 0"); - logDval = LogMath.LOG_ZERO; - } - - if (logDval < distFloor) { - logDval = distFloor; - } - - return logDval; - } - - - /** - * Pre-compute factors for the Mahalanobis distance. Some of the Mahalanobis distance - * computation can be carried out in advance. Specifically, the factor containing only variance - * in the Gaussian can be computed in advance, keeping in mind that the the determinant of the - * covariance matrix, for the degenerate case of a mixture with independent components - only - * the diagonal elements are non-zero - is simply the product of the diagonal elements.

- * We're computing the expression: - *

{sqrt((2 * PI) ^ N) * det(Var))}
- * - * @return the precomputed distance - */ - public float precomputeDistance() { - double logPreComputedGaussianFactor = 0.0; // = log(1.0) - // Compute the product of the elements in the Covariance - // matrix's main diagonal. Covariance matrix is assumed - // diagonal - independent dimensions. In log, the product - // becomes a summation. - for (int i = 0; i < variance.length; i++) { - logPreComputedGaussianFactor += - Math.log(precisionTransformed[i] * -2); - // variance[i] = 1.0f / (variance[i] * 2.0f); - } - - // We need the minus sign since we computed - // logPreComputedGaussianFactor based on precision, which is - // the inverse of the variance. Therefore, in the log domain, - // the two quantities have opposite signs. - - // The covariance matrix's dimension becomes a multiplicative - // factor in log scale. - logPreComputedGaussianFactor = - Math.log(2.0 * Math.PI) * variance.length - - logPreComputedGaussianFactor; - - // The sqrt above is a 0.5 multiplicative factor in log scale. - return -(float)logPreComputedGaussianFactor * 0.5f; - } - - - /** Applies transformations to means and variances. */ - public void transformStats() { - int featDim = mean.length; - /* - * The transformed mean vector is given by: - * - *

M = A * m + B

- * - * where M and m are the mean vector after and - * before transformation, respectively, and A and - * B are the transformation matrix and vector, - * respectively. - * - * if A or B are null the according substeps are skipped - */ - if (meanTransformationMatrix != null) { - meanTransformed = new float[featDim]; - for (int i = 0; i < featDim; i++) - for (int j = 0; j < featDim; j++) - meanTransformed[i] += mean[j] * meanTransformationMatrix[i][j]; - } else { - meanTransformed = mean; - } - - if (meanTransformationVector != null) - for (int k = 0; k < featDim; k++) - meanTransformed[k] += meanTransformationVector[k]; - - /** - * We do analogously with the variance. In this case, we also - * invert the variance, and work with precision instead of - * variance. - */ - if (varianceTransformationMatrix != null) { - precisionTransformed = new float[variance.length]; - for (int i = 0; i < featDim; i++) - for (int j = 0; j < featDim; j++) - precisionTransformed[i] += variance[j] * varianceTransformationMatrix[i][j]; - } else - precisionTransformed = variance.clone(); - - if (varianceTransformationVector != null) - for (int k = 0; k < featDim; k++) - precisionTransformed[k] += varianceTransformationVector[k]; - - for (int k = 0; k < featDim; k++) { - float flooredPrecision = (precisionTransformed[k] < varianceFloor ? varianceFloor : precisionTransformed[k]); - precisionTransformed[k] = 1.0f / (-2.0f * flooredPrecision); - } - } - - @Override - public MixtureComponent clone() throws CloneNotSupportedException { - MixtureComponent mixComp = (MixtureComponent)super.clone(); - - mixComp.distFloor = distFloor; - mixComp.varianceFloor = varianceFloor; - mixComp.logPreComputedGaussianFactor = logPreComputedGaussianFactor; - - mixComp.mean = this.mean != null ? this.mean.clone() : null; - if (meanTransformationMatrix != null) { - mixComp.meanTransformationMatrix = this.meanTransformationMatrix.clone(); - for (int i = 0; i < meanTransformationMatrix.length; i++) - mixComp.meanTransformationMatrix[i] = meanTransformationMatrix[i].clone(); - } - mixComp.meanTransformationVector = this.meanTransformationVector != null ? - this.meanTransformationVector.clone() : null; - mixComp.meanTransformed = this.meanTransformed != null ? this.meanTransformed.clone() : null; - - mixComp.variance = this.variance != null ? this.variance.clone() : null; - if (varianceTransformationMatrix != null) { - mixComp.varianceTransformationMatrix = this.varianceTransformationMatrix.clone(); - for (int i = 0; i < varianceTransformationMatrix.length; i++) - mixComp.varianceTransformationMatrix[i] = varianceTransformationMatrix[i].clone(); - } - mixComp.varianceTransformationVector = this.varianceTransformationVector != null ? - this.varianceTransformationVector.clone() : null; - mixComp.precisionTransformed = this.precisionTransformed != null ? - this.precisionTransformed.clone() : null; - - return mixComp; - } - - - @Override - public String toString() { - return "mu=" + Arrays.toString(mean) + " cov=" + Arrays.toString(variance); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Pool.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Pool.java deleted file mode 100755 index 4d58b0ba..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Pool.java +++ /dev/null @@ -1,121 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - - -import java.util.*; -import java.util.logging.Logger; - -/** Used to pool shared objects in the acoustic model */ -public class Pool { - - public enum Feature { NUM_SENONES, NUM_GAUSSIANS_PER_STATE, NUM_STREAMS } - - private final String name; - private final List pool; - private final Map features = new EnumMap(Feature.class); - - /** - * Creates a new pool. - * - * @param name the name of the pool - */ - public Pool(String name) { - this.name = name; - pool = new ArrayList(); - } - - /** - * Returns the pool's name. - * - * @return the pool name - */ - public String getName() { - return name; - } - - /** - * Returns the object with the given ID from the pool. - * - * @param id the id of the object - * @return the object - * @throws IndexOutOfBoundsException if the ID is out of range - */ - public T get(int id) { - return pool.get(id); - } - - /** - * Returns the ID of a given object from the pool. - * - * @param object the object - * @return the index - */ - public int indexOf(T object) { - return pool.indexOf(object); - } - - /** - * Places the given object in the pool. - * - * @param id a unique ID for this object - * @param o the object to add to the pool - */ - public void put(int id, T o) { - if (id == pool.size()) { - pool.add(o); - } else { - pool.set(id, o); - } - } - - /** - * Retrieves the size of the pool. - * - * @return the size of the pool - */ - public int size() { - return pool.size(); - } - - /** - * Dump information on this pool to the given logger. - * - * @param logger the logger to send the info to - */ - public void logInfo(Logger logger) { - logger.info("Pool " + name + " Entries: " + size()); - } - - /** - * Sets a feature for this pool. - * - * @param feature feature to set - * @param value the value for the feature - */ - public void setFeature(Feature feature, int value) { - features.put(feature, value); - } - - /** - * Retrieves a feature from this pool. - * - * @param feature feature to get - * @param defaultValue the defaultValue for the pool - * @return the value for the feature - */ - public int getFeature(Feature feature, int defaultValue) { - Integer val = features.get(feature); - return val == null ? defaultValue : val; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Saver.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Saver.java deleted file mode 100755 index 46b8984b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Saver.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.linguist.acoustic.Unit; - -import java.util.Map; -import java.io.IOException; - -/** Generic interface for a saver of acoustic models */ -public interface Saver extends Configurable { - - @S4Double(defaultValue = 0.0001f) - public final static String PROP_VARIANCE_FLOOR = "varianceFloor"; - - /** Mixture component score floor. */ - @S4Double(defaultValue = 0.0f) - public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; - - /** Mixture weight floor. */ - @S4Double(defaultValue = 1e-7f) - public final static String PROP_MW_FLOOR = "mixtureWeightFloor"; - - @S4Boolean(defaultValue = true) - public final static String PROP_SPARSE_FORM = "sparseForm"; - - /** - * Gets the pool of means for this loader. - * - * @return the pool - */ - public Pool getMeansPool(); - - /** - * Gets the pool of means transformation matrices for this loader. - * - * @return the pool - */ - public Pool getMeansTransformationMatrixPool(); - - /** - * Gets the pool of means transformation vectors for this loader. - * - * @return the pool - */ - public Pool getMeansTransformationVectorPool(); - - /** - * Gets the variance pool. - * - * @return the pool - */ - public Pool getVariancePool(); - - /** - * Gets the variance transformation matrix pool. - * - * @return the pool - */ - public Pool getVarianceTransformationMatrixPool(); - - /** - * Gets the variance transformation vectorpool. - * - * @return the pool - */ - public Pool getVarianceTransformationVectorPool(); - - /** - * Gets the senone pool for this loader. - * - * @return the pool - */ - public Pool getSenonePool(); - - /** - * Returns the HMM Manager for this loader. - * - * @return the HMM Manager - */ - public HMMManager getHMMManager(); - - /** - * Returns the map of context indepent units. The map can be accessed by unit name. - * - * @return the map of context independent units - */ - public Map getContextIndependentUnits(); - - /** logs information about this loader */ - public void logInfo(); - - /** - * Returns the size of the left context for context dependent units. - * - * @return the left context size - */ - public int getLeftContextSize(); - - /** - * Returns the size of the right context for context dependent units. - * - * @return the left context size - */ - public int getRightContextSize(); - - public void save(String name, boolean b) throws IOException; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/ScoreCachingSenone.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/ScoreCachingSenone.java deleted file mode 100755 index f6d84524..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/ScoreCachingSenone.java +++ /dev/null @@ -1,54 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.frontend.Data; - -/** - * Implements a Senone that contains a cache of the last scored data. - *

- * Subclasses should implement the abstract {@link #calculateScore} method, - * which is called by the {@link #getScore} method to calculate the score - * for each cache miss. - *

- * Note: this implementation is thread-safe and can be safely used - * across different threads without external synchronization. - * - * @author Yaniv Kunda - */ -@SuppressWarnings("serial") -public abstract class ScoreCachingSenone implements Senone { - - private class ScoreCache { - private final Data feature; - private final float score; - - public ScoreCache(Data feature, float score) { - this.feature = feature; - this.score = score; - } - } - - private volatile ScoreCache scoreCache = new ScoreCache(null, 0.0f); - - /** - * Gets the cached score for this senone based upon the given feature. - * If the score was not cached, it is calculated using {@link #calculateScore}, - * cached, and then returned. - */ - public float getScore(Data feature) { - ScoreCache cached = scoreCache; - if (feature != cached.feature) { - cached = new ScoreCache(feature, calculateScore(feature)); - scoreCache = cached; - } - return cached.score; - } - - /** - * Calculates the score for this senone based upon the given feature. - * - * @param feature the feature vector to score this senone against - * @return the score for this senone in LogMath log base - */ - protected abstract float calculateScore(Data feature); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Senone.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Senone.java deleted file mode 100755 index cf5da030..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Senone.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - - -import edu.cmu.sphinx.frontend.Data; - -import java.io.Serializable; - -/** Represents a set of acoustic data that can be scored against a feature */ -public interface Senone extends Serializable { - - /** - * Calculates the score for this senone based upon the given feature. - * - * @param feature the feature vector to score this senone against - * @return the score for this senone in LogMath log base - */ - public float getScore(Data feature); - - - /** - * Calculates the component scores for the mixture components in this senone based upon the given feature. - * - * @param feature the feature vector to score this senone against - * @return the scores for this senone in LogMath log base - */ - public float[] calculateComponentScore(Data feature); - - - /** - * Gets the ID for this senone - * - * @return the senone id - */ - public long getID(); - - - /** - * Dumps a senone - * - * @param msg an annotation for the dump - */ - public void dump(String msg); - - /** - * Returns the mixture components associated with this Gaussian - * - * @return the array of mixture components - */ - public MixtureComponent[] getMixtureComponents(); - - /** - * - * @return the mixture weights vector - */ - public float[] getLogMixtureWeights(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMM.java deleted file mode 100755 index 64b613b6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMM.java +++ /dev/null @@ -1,230 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.util.Utilities; - -/** - * Represents a hidden-markov-model. An HMM consists of a unit (context dependent or independent), a transition matrix - * from state to state, and a sequence of senones associated with each state. This representation of an HMM is a - * specialized left-to-right markov model. No backward transitions are allowed. - */ -public class SenoneHMM implements HMM { - - private final Unit unit; - private final Unit baseUnit; - private final SenoneSequence senoneSequence; - private final float[][] transitionMatrix; - private final HMMPosition position; - private static int objectCount; - private final HMMState[] hmmStates; - - - /** - * Constructs an HMM - * - * @param unit the unit for this HMM - * @param senoneSequence the sequence of senones for this HMM - * @param transitionMatrix the state transition matrix - * @param position the position associated with this HMM - */ - public SenoneHMM(Unit unit, SenoneSequence senoneSequence, - float[][] transitionMatrix, HMMPosition position) { - this.unit = unit; - this.senoneSequence = senoneSequence; - this.transitionMatrix = transitionMatrix; - this.position = position; - Utilities.objectTracker("HMM", objectCount++); - - hmmStates = new HMMState[transitionMatrix.length]; - for (int i = 0; i < hmmStates.length; i++) { - hmmStates[i] = new SenoneHMMState(this, i); - } - // baseUnit = Unit.getUnit(unit.getName()); - baseUnit = unit.getBaseUnit(); - } - - - /** - * Gets the unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getUnit() { - return unit; - } - - - /** - * Gets the base unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getBaseUnit() { - return baseUnit; - } - - - /** - * Retrieves the hmm state - * - * @param which the state of interest - */ - public HMMState getState(int which) { - return hmmStates[which]; - } - - - /** - * Returns the order of the HMM - * - * @return the order of the HMM - */ - // [[[NOTE: this method is probably not explicitly needed since - // getSenoneSequence.getSenones().length will provide the same - // value, but this is certainly more convenient and easier to - // understand - public int getOrder() { - return getSenoneSequence().getSenones().length; - } - - - /** - * Returns the SenoneSequence associated with this HMM - * - * @return the sequence of senones associated with this HMM. The length of the sequence is N, where N is the order - * of the HMM. Note that senone sequences may be shared among HMMs. - */ - // [[ NOTE: the senone sequence may in fact be a sequence of - // composite senones - public SenoneSequence getSenoneSequence() { - return senoneSequence; - } - - - /** - * Determines if this HMM is a composite HMM - * - * @return true if this is a composite hmm - */ - public boolean isComposite() { - Senone[] senones = getSenoneSequence().getSenones(); - for (Senone senone : senones) { - if (senone instanceof CompositeSenone) { - return true; - } - } - return false; - } - - - /** - * Returns the transition matrix that determines the state transition probabilities for the matrix. Each entry in - * the transition matrix defines the probability of transitioning from one state to the next. For example, the - * probability of transitioning from state 1 to state 2 can be determined by accessing transition matrix - * element[1][2]. - * - * @return the transition matrix (in log domain) of size NxN where N is the order of the HMM - */ - public float[][] getTransitionMatrix() { - return transitionMatrix; - } - - - /** - * Returns the transition probability between two states. - * - * @param stateFrom the index of the state this transition goes from - * @param stateTo the index of the state this transition goes to - * @return the transition probability (in log domain) - */ - public float getTransitionProbability(int stateFrom, int stateTo) { - return transitionMatrix[stateFrom][stateTo]; - } - - - /** - * Retrieves the position of this HMM. Possible - * - * @return the position for this HMM - */ - public HMMPosition getPosition() { - return position; - } - - - /** - * Determines if this HMM represents a filler unit. A filler unit is speech that is not meaningful such as a cough, - * 'um' , 'er', or silence. - * - * @return true if the HMM represents a filler unit - */ - public boolean isFiller() { - return unit.isFiller(); - } - - - /** - * Determines if this HMM corresponds to a context dependent unit - * - * @return true if the HMM is context dependent - */ - public boolean isContextDependent() { - return unit.isContextDependent(); - } - - - /** - * Gets the initial states (with probabilities) for this HMM - * - * @return the set of arcs that transition to the initial states for this HMM - */ - public HMMState getInitialState() { - return getState(0); - } - - - /** - * Returns the string representation of this object - * - * @return the string representation - */ - @Override - public String toString() { - String name = isComposite() ? "HMM@" : "HMM"; - return name + '(' + unit + "):" + position; - } - - - @Override - public int hashCode() { - return getSenoneSequence().hashCode(); - } - - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof SenoneHMM) { - SenoneHMM other = (SenoneHMM) o; - return getSenoneSequence().equals(other.getSenoneSequence()); - } - return false; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMMState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMMState.java deleted file mode 100755 index 0a9f8ece..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneHMMState.java +++ /dev/null @@ -1,208 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.HMMStateArc; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Utilities; - -import java.util.ArrayList; -import java.util.List; - -/** Represents a single state in an HMM */ -public class SenoneHMMState implements HMMState { - - private final SenoneHMM hmm; - private final int state; - HMMStateArc[] arcs; - private final boolean isEmitting; - private Senone senone; - private final int hashCode; - - private static int objectCount; - - - /** - * Constructs a SenoneHMMState - * - * @param hmm the HMM for this state - * @param which the index for this particular state - */ - SenoneHMMState(SenoneHMM hmm, int which) { - this.hmm = hmm; - this.state = which; - this.isEmitting = ((hmm.getTransitionMatrix().length - 1) != state); - if (isEmitting) { - SenoneSequence ss = hmm.getSenoneSequence(); - senone = ss.getSenones()[state]; - } - Utilities.objectTracker("HMMState", objectCount++); - hashCode = hmm.hashCode() + 37 * state; - } - - - /** - * Gets the HMM associated with this state - * - * @return the HMM - */ - public HMM getHMM() { - return hmm; - } - - - /** - * Gets the state - * - * @return the state - */ - public int getState() { - return state; - } - - - /** - * Gets the score for this HMM state - * - * @param feature the feature to be scored - * @return the acoustic score for this state. - */ - public float getScore(Data feature) { - return senone.getScore(feature); - } - - - /** - * Gets the scores for each mixture component in this HMM state - * - * @param feature the feature to be scored - * @return the acoustic scores for the components of this state. - */ - public float[] calculateComponentScore(Data feature) { - hmm.getSenoneSequence(); - return senone.calculateComponentScore(feature); - } - - - /** - * Gets the senone for this HMM state - * - * @return the senone for this state. - */ - public Senone getSenone() { - return senone; - } - - - /** - * Determines if two HMMStates are equal - * - * @param other the state to compare this one to - * @return true if the states are equal - */ - @Override - public boolean equals(Object other) { - if (this == other) { - return true; - } else if (!(other instanceof SenoneHMMState)) { - return false; - } else { - SenoneHMMState otherState = (SenoneHMMState) other; - return this.hmm == otherState.hmm && - this.state == otherState.state; - } - } - - - /** - * Returns the hashcode for this state - * - * @return the hashcode - */ - @Override - public int hashCode() { - return hashCode; - } - - - /** - * Determines if this HMMState is an emitting state - * - * @return true if the state is an emitting state - */ - // TODO: We may have non-emitting entry states as well. - public final boolean isEmitting() { - return isEmitting; - } - - - /** - * Retrieves the state of successor states for this state - * - * @return the set of successor state arcs - */ - public HMMStateArc[] getSuccessors() { - if (arcs == null) { - List list = new ArrayList(); - float[][] transitionMatrix = hmm.getTransitionMatrix(); - - for (int i = 0; i < transitionMatrix.length; i++) { - if (transitionMatrix[state][i] > LogMath.LOG_ZERO) { - HMMStateArc arc = new HMMStateArc(hmm.getState(i), - transitionMatrix[state][i]); - list.add(arc); - } - } - arcs = list.toArray(new HMMStateArc[list.size()]); - } - return arcs; - } - - - /** - * Determines if this state is an exit state of the HMM - * - * @return true if the state is an exit state - */ - public boolean isExitState() { - // return (hmm.getTransitionMatrix().length - 1) == state; - return !isEmitting; - } - - - /** - * returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return "HMMS " + hmm + " state " + state; - } - - public MixtureComponent[] getMixtureComponents() { - return senone.getMixtureComponents(); - } - - public long getMixtureId() { - return senone.getID(); - } - - public float[] getLogMixtureWeights() { - return senone.getLogMixtureWeights(); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneSequence.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneSequence.java deleted file mode 100755 index c25c179f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SenoneSequence.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import java.io.Serializable; -import java.util.List; - -/** Contains an ordered list of senones. */ -@SuppressWarnings("serial") -public class SenoneSequence implements Serializable { - - private final Senone[] senones; - - - /** - * a factory method that creates a SeononeSequence from a list of senones. - * - * @param senoneList the list of senones - * @return a composite senone - */ - public static SenoneSequence create(List senoneList) { - return new SenoneSequence(senoneList.toArray(new Senone[senoneList.size()])); - } - - - /** - * Constructs a senone sequence - * - * @param sequence the ordered set of senones for this sequence - */ - public SenoneSequence(Senone[] sequence) { - this.senones = sequence; - } - - - /** - * Returns the ordered set of senones for this sequence - * - * @return the ordered set of senones for this sequence - */ - public Senone[] getSenones() { - return senones; - } - - - /** - * Returns the hashCode for this object - * - * @return the object hashcode - */ - @Override - public int hashCode() { - int hashCode = 31; - for (Senone senone : senones) { - hashCode = hashCode * 91 + senone.hashCode(); - } - return hashCode; - } - - - /** - * Returns true if the objects are equal - * - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else { - if (o instanceof SenoneSequence) { - SenoneSequence other = (SenoneSequence) o; - if (senones.length != other.senones.length) { - return false; - } else { - for (int i = 0; i < senones.length; i++) { - if (!senones[i].equals(other.senones[i])) { - return false; - } - } - return true; - } - } - return false; - } - } - - - /** - * Dumps this senone sequence - * - * @param msg a string annotation - */ - public void dump(String msg) { - System.out.println(" SenoneSequence " + msg + ':'); - for (Senone senone : senones) { - senone.dump(" seq:"); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Sphinx3Loader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Sphinx3Loader.java deleted file mode 100755 index 9a3fdee0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/Sphinx3Loader.java +++ /dev/null @@ -1,1300 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.decoder.adaptation.ClusteredDensityFileData; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture.MixtureComponentSet; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture.PrunableMixtureComponent; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture.SetBasedGaussianMixture; -import static edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.Feature.*; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.*; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Loads a tied-state acoustic model generated by the Sphinx-3 trainer. - *

- * The acoustic model is stored as a directory specified by a URL. The - * dictionary and language model files are not required to be in the package. - * You can specify their locations separately. - *

- * Configuration file should set mandatory property of component: location - - * this specifies the directory where the actual model - * data files are. You can use resource: prefix to refer to files packed - * inside jar or any other URI scheme. - * The actual model data files are named "mdef", "means", "variances", - * "transition_matrices", "mixture_weights". - *

- * If model has some layout that is different default generated by SphinxTrain, - * you may specify additional properties like dataLocation to set the - * path to the binary files, mdef to set the path to the model definition - * file. - */ - -public class Sphinx3Loader implements Loader { - - /** - * The unit manager - */ - @S4Component(type = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - - /** - * The root location of the model directory structure - */ - @S4String(mandatory = true) - public final static String PROP_LOCATION = "location"; - - /** - * The name of the model definition file (contains the HMM data) - */ - @S4String(mandatory = false, defaultValue = "mdef") - public final static String PROP_MODEL = "modelDefinition"; - - /** - * Subfolder where the acoustic model can be found - */ - @S4String(mandatory = false, defaultValue = "") - public final static String PROP_DATA_LOCATION = "dataLocation"; - - /** - * The property specifying whether context-dependent units should be used. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_USE_CD_UNITS = "useCDUnits"; - - /** - * Mixture component score floor. - */ - @S4Double(defaultValue = 0.0f) - public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; - - /** - * Variance floor. - */ - @S4Double(defaultValue = 0.0001f) - public final static String PROP_VARIANCE_FLOOR = "varianceFloor"; - - /** - * Mixture weight floor - */ - @S4Double(defaultValue = 1e-7f) - public final static String PROP_MW_FLOOR = "mixtureWeightFloor"; - - /** - * Number of top Gaussians to use in scoring - */ - @S4Integer(defaultValue = 4) - public final static String PROP_TOPN = "topGaussiansNum"; - - protected final static String FILLER = "filler"; - protected final static String SILENCE_CIPHONE = "SIL"; - protected final static int BYTE_ORDER_MAGIC = 0x11223344; - - /** - * Supports this version of the acoustic model - */ - public final static String MODEL_VERSION = "0.3"; - - private final static int CONTEXT_SIZE = 1; - protected Properties modelProps; - protected Pool meansPool; - protected Pool variancePool; - protected Pool transitionsPool; - protected GaussianWeights mixtureWeights; - private int numStates; - private int numStreams; - private int numBase; - private int numGaussiansPerState; - private int[] vectorLength; - private int[] senone2ci; - - protected Pool meanTransformationMatrixPool; - protected Pool meanTransformationVectorPool; - protected Pool varianceTransformationMatrixPool; - protected Pool varianceTransformationVectorPool; - - protected float[][] transformMatrix; - private MixtureComponentSet[] phoneticTiedMixtures; - protected Pool senonePool; - - private Map contextIndependentUnits; - private HMMManager hmmManager; - protected LogMath logMath; - private UnitManager unitManager; - private boolean swap; - - private final static String DENSITY_FILE_VERSION = "1.0"; - private final static String MIXW_FILE_VERSION = "1.0"; - private final static String TMAT_FILE_VERSION = "1.0"; - private final static String TRANSFORM_FILE_VERSION = "0.1"; - // -------------------------------------- - // Configuration variables - // -------------------------------------- - protected Logger logger; - private URL location; - protected String model; - protected String dataLocation; - protected float distFloor; - protected float mixtureWeightFloor; - protected float varianceFloor; - private int topGauNum; - protected boolean useCDUnits; - private boolean loaded; - - public Sphinx3Loader(URL location, String model, String dataLocation, - UnitManager unitManager, float distFloor, float mixtureWeightFloor, - float varianceFloor, int topGauNum, boolean useCDUnits) { - - init(location, model, dataLocation, unitManager, distFloor, - mixtureWeightFloor, varianceFloor, topGauNum, useCDUnits, - Logger.getLogger(getClass().getName())); - } - - public Sphinx3Loader(String location, String model, String dataLocation, - UnitManager unitManager, float distFloor, float mixtureWeightFloor, - float varianceFloor, int topGauNum, boolean useCDUnits) - throws MalformedURLException, ClassNotFoundException { - - init(ConfigurationManagerUtils.resourceToURL(location), model, - dataLocation, unitManager, distFloor, mixtureWeightFloor, - varianceFloor, topGauNum, useCDUnits, - Logger.getLogger(getClass().getName())); - } - - protected void init(URL location, String model, String dataLocatoin, - UnitManager unitManager, float distFloor, float mixtureWeightFloor, - float varianceFloor, int topGauNum, boolean useCDUnits, Logger logger) { - logMath = LogMath.getLogMath(); - this.location = location; - this.logger = logger; - this.model = model; - this.dataLocation = dataLocatoin; - this.unitManager = unitManager; - this.distFloor = distFloor; - this.mixtureWeightFloor = mixtureWeightFloor; - this.varianceFloor = varianceFloor; - this.topGauNum = topGauNum; - this.useCDUnits = useCDUnits; - } - - public Sphinx3Loader() { - - } - - public int getNumStates() { - return numStates; - } - - public int getNumStreams() { - return numStreams; - } - - public int getNumGaussiansPerState() { - return numGaussiansPerState; - } - - public int[] getVectorLength() { - return vectorLength; - } - - public int[] getSenone2Ci() { - return senone2ci; - } - - public String getLocation() { - return this.location.getPath(); - } - - public boolean hasTiedMixtures() { - String modelType = modelProps.getProperty("-model", "cont"); - return modelType.equals("ptm"); - } - - public void newProperties(PropertySheet ps) throws PropertyException { - - init(ConfigurationManagerUtils.getResource(PROP_LOCATION, ps), - ps.getString(PROP_MODEL), ps.getString(PROP_DATA_LOCATION), - (UnitManager) ps.getComponent(PROP_UNIT_MANAGER), - ps.getFloat(PROP_MC_FLOOR), ps.getFloat(PROP_MW_FLOOR), - ps.getFloat(PROP_VARIANCE_FLOOR), - ps.getInt(PROP_TOPN), - ps.getBoolean(PROP_USE_CD_UNITS), ps.getLogger()); - } - - // This function is a bit different from the - // ConfigurationManagerUtils.getResource - // for compatibility reasons. By default it looks for the resources, not - // for the files. - protected InputStream getDataStream(String path) throws IOException, - URISyntaxException { - return new URL(location.toURI().toString() + "/" + path).openStream(); - } - - public void load() throws IOException { - if (!loaded) { - TimerPool.getTimer(this, "Load AM").start(); - - hmmManager = new HMMManager(); - contextIndependentUnits = new LinkedHashMap(); - - // dummy pools for these elements - meanTransformationMatrixPool = null; - meanTransformationVectorPool = null; - varianceTransformationMatrixPool = null; - varianceTransformationVectorPool = null; - transformMatrix = null; - - // do the actual acoustic model loading - try { - loadModelFiles(model); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - - // done - loaded = true; - TimerPool.getTimer(this, "Load AM").stop(); - } - } - - /** - * Return the HmmManager. - * - * @return the hmmManager - */ - protected HMMManager getHmmManager() { - return hmmManager; - } - - /** - * Return the MatrixPool. - * - * @return the matrixPool - */ - protected Pool getMatrixPool() { - return transitionsPool; - } - - /** - * Return the MixtureWeightsPool. - * - * @return the mixtureWeightsPool - */ - protected GaussianWeights getMixtureWeightsPool() { - return mixtureWeights; - } - - /** - * Loads the AcousticModel from a directory in the file system. - * - * @param modelDef - * the name of the acoustic modelDef; if null we just load from - * the default location - * @throws IOException IO went wrong - * @throws URISyntaxException uri was incorrectly specified - */ - protected void loadModelFiles(String modelDef) throws IOException, - URISyntaxException { - - logger.config("Loading Sphinx3 acoustic model: " + modelDef); - logger.config(" modelName: " + this.model); - logger.config(" dataLocation : " + dataLocation); - - meansPool = loadDensityFile(dataLocation + "means", -Float.MAX_VALUE); - variancePool = loadDensityFile(dataLocation + "variances", - varianceFloor); - mixtureWeights = loadMixtureWeights(dataLocation - + "mixture_weights", mixtureWeightFloor); - transitionsPool = loadTransitionMatrices(dataLocation - + "transition_matrices"); - transformMatrix = loadTransformMatrix(dataLocation - + "feature_transform"); - modelProps = loadModelProps(dataLocation + "feat.params"); - - if (hasTiedMixtures()) { - //create senone to CI mapping - getSenoneToCIPhone(); - //create tied senone pool - senonePool = createTiedSenonePool(distFloor, varianceFloor); - } else { - //create regular senone poll - senonePool = createSenonePool(distFloor, varianceFloor); - } - - // load the HMM modelDef file - InputStream modelStream = getDataStream(this.model); - if (modelStream == null) { - throw new IOException("can't find modelDef " + this.model); - } - loadHMMPool(useCDUnits, modelStream, this.model); - } - - public Map getContextIndependentUnits() { - return contextIndependentUnits; - } - - /** - * Creates senone to CI phone mapping, reading model definition file - */ - private void getSenoneToCIPhone() throws IOException, URISyntaxException { - InputStream inputStream = getDataStream(model); - if (inputStream == null) { - throw new IOException("can't find modelDef " + model); - } - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, - '#', false); - - logger.fine("Loading HMM file from: " + model); - - est.expectString(MODEL_VERSION); - - numBase = est.getInt("numBase"); - est.expectString("n_base"); - - int numTri = est.getInt("numTri"); - est.expectString("n_tri"); - - int numStateMap = est.getInt("numStateMap"); - est.expectString("n_state_map"); - - int numTiedState = est.getInt("numTiedState"); - est.expectString("n_tied_state"); - - senone2ci = new int[numTiedState]; - - est.getInt("numContextIndependentTiedState"); - est.expectString("n_tied_ci_state"); - - int numTiedTransitionMatrices = est.getInt("numTiedTransitionMatrices"); - est.expectString("n_tied_tmat"); - - int numStatePerHMM = numStateMap / (numTri + numBase); - - assert numTiedState == mixtureWeights.getStatesNum(); - assert numTiedTransitionMatrices == transitionsPool.size(); - - // Load the base phones - for (int i = 0; i < numBase + numTri; i++) { - //TODO name this magic const somehow - for (int j = 0; j < 5; j++) - est.getString(); - int tmat = est.getInt("tmat"); - - for (int j = 0; j < numStatePerHMM - 1; j++) { - senone2ci[est.getInt("j")] = tmat; - } - est.expectString("N"); - - assert tmat < numTiedTransitionMatrices; - } - - est.close(); - } - - /** - * Creates the senone pool from the rest of the pools. - * - * @param distFloor - * the lowest allowed score - * @param varianceFloor - * the lowest allowed variance - * @return the senone pool - */ - protected Pool createSenonePool(float distFloor, float varianceFloor) { - Pool pool = new Pool("senones"); - - int numMeans = meansPool.size(); - int numVariances = variancePool.size(); - int numGaussiansPerSenone = mixtureWeights.getGauPerState(); - int numSenones = mixtureWeights.getStatesNum(); - int numStreams = mixtureWeights.getStreamsNum(); - int whichGaussian = 0; - - logger.fine("Senones " + numSenones); - logger.fine("Gaussians Per Senone " + numGaussiansPerSenone); - logger.fine("Means " + numMeans); - logger.fine("Variances " + numVariances); - - assert numGaussiansPerSenone > 0; - assert numVariances == numSenones * numGaussiansPerSenone; - assert numMeans == numSenones * numGaussiansPerSenone; - - float[][] meansTransformationMatrix = meanTransformationMatrixPool == null ? null - : meanTransformationMatrixPool.get(0); - float[] meansTransformationVector = meanTransformationVectorPool == null ? null - : meanTransformationVectorPool.get(0); - float[][] varianceTransformationMatrix = varianceTransformationMatrixPool == null ? null - : varianceTransformationMatrixPool.get(0); - float[] varianceTransformationVector = varianceTransformationVectorPool == null ? null - : varianceTransformationVectorPool.get(0); - - for (int i = 0; i < numSenones; i++) { - MixtureComponent[] mixtureComponents = new MixtureComponent[numGaussiansPerSenone - * numStreams]; - for (int j = 0; j < numGaussiansPerSenone; j++) { - mixtureComponents[j] = new MixtureComponent( - meansPool.get(whichGaussian), - meansTransformationMatrix, meansTransformationVector, - variancePool.get(whichGaussian), - varianceTransformationMatrix, - varianceTransformationVector, distFloor, varianceFloor); - - whichGaussian++; - } - - Senone senone = new GaussianMixture(mixtureWeights, mixtureComponents, i); - pool.put(i, senone); - } - return pool; - } - - /** - * Creates the tied senone pool from the rest of the pools. - * - * @param distFloor - * the lowest allowed score - * @param varianceFloor - * the lowest allowed variance - * @return the senone pool - */ - private Pool createTiedSenonePool(float distFloor, float varianceFloor) { - Pool pool = new Pool("senones"); - - int numMeans = meansPool.size(); - int numVariances = variancePool.size(); - int numGaussiansPerState = mixtureWeights.getGauPerState(); - int numSenones = mixtureWeights.getStatesNum(); - int numStreams = mixtureWeights.getStreamsNum(); - - logger.fine("Senones " + numSenones); - logger.fine("Gaussians Per State " + numGaussiansPerState); - logger.fine("Means " + numMeans); - logger.fine("Variances " + numVariances); - - assert numGaussiansPerState > 0; - assert numVariances == numBase * numGaussiansPerState * numStreams; - assert numMeans == numBase * numGaussiansPerState * numStreams; - - float[][] meansTransformationMatrix = meanTransformationMatrixPool == null ? null - : meanTransformationMatrixPool.get(0); - float[] meansTransformationVector = meanTransformationVectorPool == null ? null - : meanTransformationVectorPool.get(0); - float[][] varianceTransformationMatrix = varianceTransformationMatrixPool == null ? null - : varianceTransformationMatrixPool.get(0); - float[] varianceTransformationVector = varianceTransformationVectorPool == null ? null - : varianceTransformationVectorPool.get(0); - - phoneticTiedMixtures = new MixtureComponentSet[numBase]; - for (int i = 0; i < numBase; i++) { - ArrayList mixtureComponents = new ArrayList(); - for (int j = 0; j < numStreams; j++) { - PrunableMixtureComponent[] featMixtureComponents = new PrunableMixtureComponent[numGaussiansPerState]; - for (int k = 0; k < numGaussiansPerState; k++) { - int whichGaussian = i * numGaussiansPerState * numStreams + j * numGaussiansPerState + k; - featMixtureComponents[k] = new PrunableMixtureComponent( - meansPool.get(whichGaussian), - meansTransformationMatrix, meansTransformationVector, - variancePool.get(whichGaussian), - varianceTransformationMatrix, - varianceTransformationVector, distFloor, varianceFloor, k); - } - mixtureComponents.add(featMixtureComponents); - } - phoneticTiedMixtures[i] = new MixtureComponentSet(mixtureComponents, topGauNum); - } - - for (int i = 0; i < numSenones; i++) { - Senone senone = new SetBasedGaussianMixture(mixtureWeights, phoneticTiedMixtures[senone2ci[i]], i); - pool.put(i, senone); - } - return pool; - } - - /** - * Loads the sphinx3 density file, a set of density arrays are created and - * placed in the given pool. - * - * @param path - * the name of the data - * @param floor - * the minimum density allowed - * @return a pool of loaded densities - * @throws FileNotFoundException - * if a file cannot be found - * @throws IOException - * if an error occurs while loading the data - * @throws URISyntaxException uri was incorrectly specified - */ - public Pool loadDensityFile(String path, float floor) - throws IOException, URISyntaxException { - Properties props = new Properties(); - int blockSize = 0; - - DataInputStream dis = readS3BinaryHeader(path, props); - - String version = props.getProperty("version"); - - if (version == null || !version.equals(DENSITY_FILE_VERSION)) { - throw new IOException("Unsupported version in " + path); - } - - String checksum = props.getProperty("chksum0"); - boolean doCheckSum = (checksum != null && checksum.equals("yes")); - resetChecksum(); - - int numStates = readInt(dis); - int numStreams = readInt(dis); - int numGaussiansPerState = readInt(dis); - - int[] vectorLength = new int[numStreams]; - for (int i = 0; i < numStreams; i++) { - vectorLength[i] = readInt(dis); - } - - int rawLength = readInt(dis); - - logger.fine("Number of states " + numStates); - logger.fine("Number of streams " + numStreams); - logger.fine("Number of gaussians per state " + numGaussiansPerState); - logger.fine("Vector length " + vectorLength.length); - logger.fine("Raw length " + rawLength); - - for (int i = 0; i < numStreams; i++) { - blockSize += vectorLength[i]; - } - - assert rawLength == numGaussiansPerState * blockSize * numStates; - - Pool pool = new Pool(path); - pool.setFeature(NUM_SENONES, numStates); - pool.setFeature(NUM_STREAMS, numStreams); - pool.setFeature(NUM_GAUSSIANS_PER_STATE, numGaussiansPerState); - - for (int i = 0; i < numStates; i++) { - for (int j = 0; j < numStreams; j++) { - for (int k = 0; k < numGaussiansPerState; k++) { - float[] density = readFloatArray(dis, vectorLength[j]); - Utilities.floorData(density, floor); - pool.put(i * numStreams * numGaussiansPerState + j - * numGaussiansPerState + k, density); - } - } - } - - validateChecksum(dis, doCheckSum); - - dis.close(); - - this.numStates = numStates; - this.numStreams = numStreams; - this.numGaussiansPerState = numGaussiansPerState; - this.vectorLength = vectorLength; - - return pool; - } - - /** - * Reads the S3 binary header from the given location + path. Adds header - * information to the given set of properties. - * - * @param path - * the name of the file - * @param props - * the properties - * @return the input stream positioned after the header - * @throws IOException - * on error - * @throws URISyntaxException uri was incorrectly specified - */ - public DataInputStream readS3BinaryHeader(String path, Properties props) - throws IOException, URISyntaxException { - - InputStream inputStream = getDataStream(path); - - if (inputStream == null) { - throw new IOException("Can't open " + path); - } - DataInputStream dis = new DataInputStream(new BufferedInputStream( - inputStream)); - String id = readWord(dis); - if (!id.equals("s3")) { - throw new IOException("Not proper s3 binary file " + path); - } - String name; - while ((name = readWord(dis)) != null) { - if (!name.equals("endhdr")) { - String value = readWord(dis); - props.setProperty(name, value); - } else { - break; - } - } - int byteOrderMagic = dis.readInt(); - if (byteOrderMagic == BYTE_ORDER_MAGIC) { - logger.fine("Not swapping " + path); - swap = false; - } else if (Utilities.swapInteger(byteOrderMagic) == BYTE_ORDER_MAGIC) { - logger.fine("Swapping " + path); - swap = true; - } else { - throw new IOException("Corrupted S3 file " + path); - } - return dis; - } - - /** - * Reads the next word (text separated by whitespace) from the given stream. - * - * @param dis - * the input stream - * @return the next word - * @throws IOException - * on error - */ - String readWord(DataInputStream dis) throws IOException { - StringBuilder sb = new StringBuilder(); - char c; - // skip leading whitespace - do { - c = readChar(dis); - } while (Character.isWhitespace(c)); - // read the word - do { - sb.append(c); - c = readChar(dis); - } while (!Character.isWhitespace(c)); - return sb.toString(); - } - - /** - * Reads a single char from the stream. - * - * @param dis - * the stream to read - * @return the next character on the stream - * @throws IOException - * if an error occurs - */ - private char readChar(DataInputStream dis) throws IOException { - return (char) dis.readByte(); - } - - /* Stores checksum during loading */ - private long calculatedCheckSum = 0; - - /** - * Resets the checksum before loading a new chunk of data - */ - private void resetChecksum() { - calculatedCheckSum = 0; - } - - /** - * Validates checksum in the stream - * - * @param dis - * input stream - * @param doCheckSum - * validates - * @throws IOException - * on error - **/ - private void validateChecksum(DataInputStream dis, boolean doCheckSum) - throws IOException { - if (!doCheckSum) - return; - int oldCheckSum = (int) calculatedCheckSum; - int checkSum = readInt(dis); - if (checkSum != oldCheckSum) { - throw new IOException("Invalid checksum " - + Long.toHexString(calculatedCheckSum) + " must be " - + Integer.toHexString(checkSum)); - } - } - - /** - * Read an integer from the input stream, byte-swapping as necessary. - * - * @param dis - * the input stream - * @return an integer value - * @throws IOException - * on error - */ - public int readInt(DataInputStream dis) throws IOException { - int val; - if (swap) { - val = Utilities.readLittleEndianInt(dis); - } else { - val = dis.readInt(); - } - calculatedCheckSum = ((calculatedCheckSum << 20 | calculatedCheckSum >> 12) + val) & 0xFFFFFFFFL; - return val; - } - - /** - * Read a float from the input stream, byte-swapping as necessary. - * - * @param dis - * the input stream - * @return a floating pint value - * @throws IOException - * on error - */ - public float readFloat(DataInputStream dis) throws IOException { - int val; - if (swap) { - val = Utilities.readLittleEndianInt(dis); - } else { - val = dis.readInt(); - } - calculatedCheckSum = ((calculatedCheckSum << 20 | calculatedCheckSum >> 12) + val) & 0xFFFFFFFFL; - return Float.intBitsToFloat(val); - } - - /** - * Reads the given number of floats from the stream and returns them in an - * array of floats. - * - * @param dis - * the stream to read data from - * @param size - * the number of floats to read - * @return an array of size float elements - * @throws IOException - * if an exception occurs - */ - public float[] readFloatArray(DataInputStream dis, int size) - throws IOException { - float[] data = new float[size]; - for (int i = 0; i < size; i++) { - data[i] = readFloat(dis); - } - return data; - } - - /** - * Loads the sphinx3 density file, a set of density arrays are created and - * placed in the given pool. - * - * @param useCDUnits - * if true, loads also the context dependent units - * @param inputStream - * the open input stream to use - * @param path - * the path to a density file - * @throws FileNotFoundException - * if a file cannot be found - * @throws IOException - * if an error occurs while loading the data - */ - protected void loadHMMPool(boolean useCDUnits, InputStream inputStream, - String path) throws IOException { - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, - '#', false); - - logger.fine("Loading HMM file from: " + path); - - est.expectString(MODEL_VERSION); - - int numBase = est.getInt("numBase"); - est.expectString("n_base"); - - int numTri = est.getInt("numTri"); - est.expectString("n_tri"); - - int numStateMap = est.getInt("numStateMap"); - est.expectString("n_state_map"); - - int numTiedState = est.getInt("numTiedState"); - est.expectString("n_tied_state"); - - int numContextIndependentTiedState = est - .getInt("numContextIndependentTiedState"); - est.expectString("n_tied_ci_state"); - - int numTiedTransitionMatrices = est.getInt("numTiedTransitionMatrices"); - est.expectString("n_tied_tmat"); - - int numStatePerHMM = numStateMap / (numTri + numBase); - - assert numTiedState == mixtureWeights.getStatesNum(); - assert numTiedTransitionMatrices == transitionsPool.size(); - - // Load the base phones - for (int i = 0; i < numBase; i++) { - String name = est.getString(); - String left = est.getString(); - String right = est.getString(); - String position = est.getString(); - String attribute = est.getString(); - int tmat = est.getInt("tmat"); - - int[] stid = new int[numStatePerHMM - 1]; - - for (int j = 0; j < numStatePerHMM - 1; j++) { - stid[j] = est.getInt("j"); - assert stid[j] >= 0 && stid[j] < numContextIndependentTiedState; - } - est.expectString("N"); - - assert left.equals("-"); - assert right.equals("-"); - assert position.equals("-"); - assert tmat < numTiedTransitionMatrices; - - Unit unit = unitManager.getUnit(name, attribute.equals(FILLER)); - contextIndependentUnits.put(unit.getName(), unit); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - // The first filler - if (unit.isFiller() && unit.getName().equals(SILENCE_CIPHONE)) { - unit = UnitManager.SILENCE; - } - - float[][] transitionMatrix = transitionsPool.get(tmat); - SenoneSequence ss = getSenoneSequence(stid); - - HMM hmm = new SenoneHMM(unit, ss, transitionMatrix, - HMMPosition.lookup(position)); - hmmManager.put(hmm); - } - - if (hmmManager.get(HMMPosition.UNDEFINED, UnitManager.SILENCE) == null) { - throw new IOException("Could not find SIL unit in acoustic model"); - } - - // Load the context dependent phones. If the useCDUnits - // property is false, the CD phones will not be created, but - // the values still need to be read in from the file. - - String lastUnitName = ""; - Unit lastUnit = null; - int[] lastStid = null; - SenoneSequence lastSenoneSequence = null; - - for (int i = 0; i < numTri; i++) { - String name = est.getString(); - String left = est.getString(); - String right = est.getString(); - String position = est.getString(); - String attribute = est.getString(); - int tmat = est.getInt("tmat"); - - int[] stid = new int[numStatePerHMM - 1]; - - for (int j = 0; j < numStatePerHMM - 1; j++) { - stid[j] = est.getInt("j"); - assert stid[j] >= numContextIndependentTiedState - && stid[j] < numTiedState; - } - est.expectString("N"); - - assert !left.equals("-"); - assert !right.equals("-"); - assert !position.equals("-"); - assert attribute.equals("n/a"); - assert tmat < numTiedTransitionMatrices; - - if (useCDUnits) { - Unit unit; - String unitName = (name + ' ' + left + ' ' + right); - - if (unitName.equals(lastUnitName)) { - unit = lastUnit; - } else { - Unit[] leftContext = new Unit[1]; - leftContext[0] = contextIndependentUnits.get(left); - - Unit[] rightContext = new Unit[1]; - rightContext[0] = contextIndependentUnits.get(right); - - Context context = LeftRightContext.get(leftContext, - rightContext); - unit = unitManager.getUnit(name, false, context); - } - lastUnitName = unitName; - lastUnit = unit; - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - float[][] transitionMatrix = transitionsPool.get(tmat); - - SenoneSequence ss = lastSenoneSequence; - if (ss == null || !sameSenoneSequence(stid, lastStid)) { - ss = getSenoneSequence(stid); - } - lastSenoneSequence = ss; - lastStid = stid; - - HMM hmm = new SenoneHMM(unit, ss, transitionMatrix, - HMMPosition.lookup(position)); - hmmManager.put(hmm); - } - } - - est.close(); - } - - /** - * Returns true if the given senone sequence IDs are the same. - * - * @param ssid1 ids of first senone sequence - * @param ssid2 ids of second senone sequence - * @return true if the given senone sequence IDs are the same, false - * otherwise - */ - protected boolean sameSenoneSequence(int[] ssid1, int[] ssid2) { - if (ssid1.length == ssid2.length) { - for (int i = 0; i < ssid1.length; i++) { - if (ssid1[i] != ssid2[i]) { - return false; - } - } - return true; - } else { - return false; - } - } - - /** - * Gets the senone sequence representing the given senones. - * - * @param stateid - * is the array of senone state ids - * @return the senone sequence associated with the states - */ - protected SenoneSequence getSenoneSequence(int[] stateid) { - Senone[] senones = new Senone[stateid.length]; - for (int i = 0; i < stateid.length; i++) { - senones[i] = senonePool.get(stateid[i]); - } - return new SenoneSequence(senones); - } - - /** - * Loads the mixture weights (Binary). - * - * @param path - * the path to the mixture weight file - * @param floor - * the minimum mixture weight allowed - * @return a pool of mixture weights - * @throws IOException - * if an error occurs while loading the data - * @throws URISyntaxException uri was incorrectly specified - */ - protected GaussianWeights loadMixtureWeights(String path, float floor) - throws IOException, URISyntaxException { - logger.fine("Loading mixture weights from: " + path); - - Properties props = new Properties(); - - DataInputStream dis = readS3BinaryHeader(path, props); - - String version = props.getProperty("version"); - - if (version == null || !version.equals(MIXW_FILE_VERSION)) { - throw new IOException("Unsupported version in " + path); - } - - String checksum = props.getProperty("chksum0"); - boolean doCheckSum = (checksum != null && checksum.equals("yes")); - resetChecksum(); - - int numStates = readInt(dis); - int numStreams = readInt(dis); - int numGaussiansPerState = readInt(dis); - int numValues = readInt(dis); - GaussianWeights mixtureWeights = new GaussianWeights(path, numStates, numGaussiansPerState, numStreams); - - logger.fine("Number of states " + numStates); - logger.fine("Number of streams " + numStreams); - logger.fine("Number of gaussians per state " + numGaussiansPerState); - - assert numValues == numStates * numStreams * numGaussiansPerState; - - for (int i = 0; i < numStates; i++) { - for (int j = 0; j < numStreams; j++) { - float[] logStreamMixtureWeight = readFloatArray(dis, - numGaussiansPerState); - Utilities.normalize(logStreamMixtureWeight); - Utilities.floorData(logStreamMixtureWeight, floor); - logMath.linearToLog(logStreamMixtureWeight); - mixtureWeights.put(i, j, logStreamMixtureWeight); - } - } - - validateChecksum(dis, doCheckSum); - - dis.close(); - return mixtureWeights; - } - - /** - * Loads the transition matrices (Binary). - * - * @param path - * the path to the transitions matrices - * @return a pool of transition matrices - * @throws IOException - * if an error occurs while loading the data - * @throws URISyntaxException uri was incorrectly specified - */ - protected Pool loadTransitionMatrices(String path) - throws IOException, URISyntaxException { - logger.fine("Loading transition matrices from: " + path); - - Properties props = new Properties(); - DataInputStream dis = readS3BinaryHeader(path, props); - - String version = props.getProperty("version"); - - if (version == null || !version.equals(TMAT_FILE_VERSION)) { - throw new IOException("Unsupported version in " + path); - } - - String checksum = props.getProperty("chksum0"); - boolean doCheckSum = (checksum != null && checksum.equals("yes")); - resetChecksum(); - - Pool pool = new Pool(path); - - int numMatrices = readInt(dis); - int numRows = readInt(dis); - int numStates = readInt(dis); - int numValues = readInt(dis); - - assert numValues == numStates * numRows * numMatrices; - - for (int i = 0; i < numMatrices; i++) { - float[][] tmat = new float[numStates][]; - // last row should be zeros - tmat[numStates - 1] = new float[numStates]; - logMath.linearToLog(tmat[numStates - 1]); - - for (int j = 0; j < numRows; j++) { - tmat[j] = readFloatArray(dis, numStates); - Utilities.nonZeroFloor(tmat[j], 0f); - Utilities.normalize(tmat[j]); - logMath.linearToLog(tmat[j]); - } - pool.put(i, tmat); - } - - validateChecksum(dis, doCheckSum); - - dis.close(); - return pool; - } - - /** - * Loads the transform matrices (Binary). - * - * @param path - * the path to the transform matrix - * @return a transform matrix - * @throws java.io.FileNotFoundException - * if a file cannot be found - * @throws java.io.IOException - * if an error occurs while loading the data - */ - protected float[][] loadTransformMatrix(String path) throws IOException { - logger.fine("Loading transform matrix from: " + path); - - Properties props = new Properties(); - - DataInputStream dis; - try { - dis = readS3BinaryHeader(path, props); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } catch (IOException e) { - return null; - } - - String version = props.getProperty("version"); - - if (version == null || !version.equals(TRANSFORM_FILE_VERSION)) { - throw new IOException("Unsupported version in " + path); - } - - String checksum = props.getProperty("chksum0"); - boolean doCheckSum = (checksum != null && checksum.equals("yes")); - resetChecksum(); - - readInt(dis); - int numRows = readInt(dis); - int numValues = readInt(dis); - int num = readInt(dis); - - assert num == numRows * numValues; - - float[][] result = new float[numRows][]; - for (int i = 0; i < numRows; i++) { - result[i] = readFloatArray(dis, numValues); - } - - validateChecksum(dis, doCheckSum); - - dis.close(); - return result; - } - - public void clearGauScores() { - if (phoneticTiedMixtures == null) - return; - for (MixtureComponentSet mixture : phoneticTiedMixtures) - mixture.clearStoredScores(); - } - - public void setGauScoresQueueLength(int scoresQueueLen) { - if (phoneticTiedMixtures == null) - return; - for (MixtureComponentSet mixture : phoneticTiedMixtures) - mixture.setScoreQueueLength(scoresQueueLen); - } - - public Pool getMeansPool() { - return meansPool; - } - - public Pool getMeansTransformationMatrixPool() { - return meanTransformationMatrixPool; - } - - public Pool getMeansTransformationVectorPool() { - return meanTransformationVectorPool; - } - - public Pool getVariancePool() { - return variancePool; - } - - public Pool getVarianceTransformationMatrixPool() { - return varianceTransformationMatrixPool; - } - - public Pool getVarianceTransformationVectorPool() { - return varianceTransformationVectorPool; - } - - public GaussianWeights getMixtureWeights() { - return mixtureWeights; - } - - public Pool getTransitionMatrixPool() { - return transitionsPool; - } - - public float[][] getTransformMatrix() { - return transformMatrix; - } - - public Pool getSenonePool() { - return senonePool; - } - - public int getLeftContextSize() { - return CONTEXT_SIZE; - } - - public int getRightContextSize() { - return CONTEXT_SIZE; - } - - public HMMManager getHMMManager() { - return hmmManager; - } - - public void logInfo() { - logger.info("Loading tied-state acoustic model from: " + location); - meansPool.logInfo(logger); - variancePool.logInfo(logger); - transitionsPool.logInfo(logger); - senonePool.logInfo(logger); - - if (meanTransformationMatrixPool != null) - meanTransformationMatrixPool.logInfo(logger); - if (meanTransformationVectorPool != null) - meanTransformationVectorPool.logInfo(logger); - if (varianceTransformationMatrixPool != null) - varianceTransformationMatrixPool.logInfo(logger); - if (varianceTransformationVectorPool != null) - varianceTransformationVectorPool.logInfo(logger); - - mixtureWeights.logInfo(logger); - senonePool.logInfo(logger); - logger.info("Context Independent Unit Entries: " - + contextIndependentUnits.size()); - hmmManager.logInfo(logger); - } - - public Properties getProperties() { - return modelProps; - } - - protected Properties loadModelProps(String path) - throws MalformedURLException, IOException, URISyntaxException { - Properties props = new Properties(); - BufferedReader reader = new BufferedReader(new InputStreamReader( - getDataStream(path))); - String line; - while ((line = reader.readLine()) != null) { - String[] tokens = line.split(" "); - props.put(tokens[0], tokens[1]); - } - return props; - } - - @Override - public void update(Transform transform, ClusteredDensityFileData clusters) { - for (int index = 0; index < meansPool.size(); index++) { - int transformClass = clusters.getClassIndex(index); - float[] tmean = new float[getVectorLength()[0]]; - float[] mean = meansPool.get(index); - - for (int i = 0; i < numStreams; i++) { - for (int l = 0; l < getVectorLength()[i]; l++) { - tmean[l] = 0; - for (int m = 0; m < getVectorLength()[i]; m++) { - tmean[l] += transform.getAs()[transformClass][i][l][m] - * mean[m]; - } - tmean[l] += transform.getBs()[transformClass][i][l]; - } - System.arraycopy(tmean, 0, mean, 0, tmean.length); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SphinxAsciiLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SphinxAsciiLoader.java deleted file mode 100755 index 986b917a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/SphinxAsciiLoader.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -import edu.cmu.sphinx.linguist.acoustic.*; -import static edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.Feature.*; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - -import java.io.*; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Sphinx loader that loads ASCII versions. - */ - -public class SphinxAsciiLoader extends Sphinx3Loader { - - public SphinxAsciiLoader(URL location, String model, String dataLocation, - UnitManager unitManager, float distFloor, float mixtureWeightFloor, - float varianceFloor, int topGauNum, boolean useCDUnits) - { - init(location, model, dataLocation, unitManager, distFloor, mixtureWeightFloor, varianceFloor, topGauNum, - useCDUnits, Logger.getLogger(getClass().getName())); - } - - public SphinxAsciiLoader(String location, String model, - String dataLocation, UnitManager unitManager, - float distFloor, float mixtureWeightFloor, float varianceFloor, - int topGauNum, boolean useCDUnits) - throws MalformedURLException, ClassNotFoundException - { - init(ConfigurationManagerUtils.resourceToURL(location), model, - dataLocation, unitManager, distFloor, - mixtureWeightFloor, varianceFloor, topGauNum, useCDUnits, Logger.getLogger(getClass().getName())); - } - - public SphinxAsciiLoader() { - - } - - @Override - protected void loadModelFiles(String modelDef) throws IOException, URISyntaxException { - - logger.config("Loading Sphinx3 acoustic model: " + modelDef); - logger.config(" modelName: " + this.model); - logger.config(" dataLocation : " + dataLocation); - - meansPool = loadDensityFile(dataLocation + "means.ascii", -Float.MAX_VALUE); - variancePool = loadDensityFile(dataLocation + "variances.ascii", varianceFloor); - mixtureWeights = loadMixtureWeights(dataLocation + "mixture_weights.ascii", mixtureWeightFloor); - transitionsPool = loadTransitionMatrices(dataLocation + "transition_matrices.ascii"); - - senonePool = createSenonePool(distFloor, varianceFloor); - // load the HMM modelDef file - InputStream modelStream = getDataStream(this.model); - if (modelStream == null) { - throw new IOException("can't find modelDef " + this.model); - } - loadHMMPool(useCDUnits, modelStream, this.model); - } - - /** - * Loads the sphinx3 density file, a set of density arrays are created and - * placed in the given pool. - * - * @param path - * the name of the data - * @param floor - * the minimum density allowed - * @return a pool of loaded densities - * @throws FileNotFoundException - * if a file cannot be found - * @throws IOException - * if an error occurs while loading the data - */ - @Override - public Pool loadDensityFile(String path, float floor) throws IOException, URISyntaxException { - logger.fine("Loading density file from: " + path); - InputStream inputStream = getDataStream(path); - if (inputStream == null) { - throw new FileNotFoundException("Error trying to read file " + path); - } - - // 'false' argument refers to EOL is insignificant - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, '#', false); - Pool pool = new Pool(path); - est.expectString("param"); - int numStates = est.getInt("numStates"); - int numStreams = est.getInt("numStreams"); - int numGaussiansPerState = est.getInt("numGaussiansPerState"); - pool.setFeature(NUM_SENONES, numStates); - pool.setFeature(NUM_STREAMS, numStreams); - pool.setFeature(NUM_GAUSSIANS_PER_STATE, numGaussiansPerState); - int vectorLength = 39; - - for (int i = 0; i < numStates; i++) { - est.expectString("mgau"); - est.expectInt("mgau index", i); - est.expectString("feat"); - est.expectInt("feat index", 0); - for (int j = 0; j < numGaussiansPerState; j++) { - est.expectString("density"); - est.expectInt("densityValue", j); - float[] density = new float[vectorLength]; - for (int k = 0; k < vectorLength; k++) { - density[k] = est.getFloat("val"); - if (density[k] < floor) { - density[k] = floor; - } - } - int id = i * numGaussiansPerState + j; - pool.put(id, density); - } - } - est.close(); - return pool; - } - - /** - * Loads the mixture weights. - * - * @param path - * the path to the mixture weight file - * @param floor - * the minimum mixture weight allowed - * @return a pool of mixture weights - * @throws FileNotFoundException - * if a file cannot be found - * @throws IOException - * if an error occurs while loading the data - */ - @Override - protected GaussianWeights loadMixtureWeights(String path, float floor) throws IOException, URISyntaxException { - logger.fine("Loading mixture weights from: " + path); - InputStream inputStream = getDataStream(path); - if (inputStream == null) { - throw new FileNotFoundException("Error trying to read file " + path); - } - - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, '#', false); - est.expectString("mixw"); - int numStates = est.getInt("numStates"); - int numStreams = est.getInt("numStreams"); - int numGaussiansPerState = est.getInt("numGaussiansPerState"); - GaussianWeights mixtureWeights = new GaussianWeights(path, numStates, numGaussiansPerState, numStreams); - for (int i = 0; i < numStates; i++) { - est.expectString("mixw"); - est.expectString("[" + i); - est.expectString("0]"); - // float total = est.getFloat("total"); - float[] gauMixtureWeight = new float[numGaussiansPerState]; - for (int j = 0; j < numGaussiansPerState; j++) { - float val = est.getFloat("mixwVal"); - if (val < floor) { - val = floor; - } - gauMixtureWeight[j] = val; - } - LogMath.getLogMath().linearToLog(gauMixtureWeight); - mixtureWeights.put(i, 0, gauMixtureWeight); - } - est.close(); - return mixtureWeights; - } - - /** - * Loads the transition matrices. - * - * @param path - * the path to the transitions matrices - * @return a pool of transition matrices - * @throws FileNotFoundException - * if a file cannot be found - * @throws IOException - * if an error occurs while loading the data - */ - @Override - protected Pool loadTransitionMatrices(String path) throws IOException, URISyntaxException { - logger.fine("Loading transition matrices from: " + path); - - InputStream inputStream = getDataStream(path); - if (inputStream == null) { - throw new FileNotFoundException("Error trying to read file " + path); - } - - Pool pool = new Pool(path); - ExtendedStreamTokenizer est = - new ExtendedStreamTokenizer(inputStream, '#', false); - LogMath logMath = LogMath.getLogMath(); - est.expectString("tmat"); - int numMatrices = est.getInt("numMatrices"); - int numStates = est.getInt("numStates"); - logger.fine("with " + numMatrices + " and " + numStates + " states"); - - // read in the matrices - for (int i = 0; i < numMatrices; i++) { - est.expectString("tmat"); - est.expectString("[" + i + ']'); - float[][] tmat = new float[numStates][numStates]; - for (int j = 0; j < numStates; j++) { - for (int k = 0; k < numStates; k++) { - // the last row is just zeros, so we just do - // the first (numStates - 1) rows - if (j < numStates - 1) { - if (k == j || k == j + 1) { - tmat[j][k] = est.getFloat("tmat value"); - } - } - tmat[j][k] = logMath.linearToLog(tmat[j][k]); - if (logger.isLoggable(Level.FINE)) { - logger.fine("tmat j " + j + " k " + k + " tm " + tmat[j][k]); - } - } - } - pool.put(i, tmat); - } - est.close(); - return pool; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/TiedStateAcousticModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/TiedStateAcousticModel.java deleted file mode 100755 index 40e9ded8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/TiedStateAcousticModel.java +++ /dev/null @@ -1,554 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate; - -// Placeholder for a package import - -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Loads a tied-state acoustic model generated by the Sphinx-3 trainer. - *

- * It is not the goal of this documentation to provide an explanation about the concept of HMMs. The explanation below - * is superficial, and provided only in a way that the files in the acoustic model package make sense. - *

- * An HMM models a process using a sequence of states. Associated with each state, there is a probability density - * function. A popular choice for this function is a Gaussian mixture, that is, a summation of Gaussians. As you may - * recall, a single Gaussian is defined by a mean and a variance, or, in the case of a multidimensional Gaussian, by a - * mean vector and a covariance matrix, or, under some simplifying assumptions, a variance vector. The "means" and - * "variances" files in the "continuous" directory contain exactly this: a table in which each line contains a mean - * vector or a variance vector respectively. The dimension of these vectors is the same as the incoming data, the - * encoded speech signal. The Gaussian mixture is a summation of Gaussians, with different weights for different - * Gaussians. The "mixture_weights" file contains this: each line contains the weights for a combination of Gaussians. - *

- * The HMM is a model with a set of states. The transitions between states have an associated probability. These - * probabilities make up the transition matrices stored in the "transition_matrices" file. - *

- * The files in the "continuous" directory are, therefore, tables, or pools, of means, variances, mixture weights, and - * transition probabilities. - *

- * The dictionary is a file that maps words to their phonetic transcriptions, that is, it maps words to sequences of - * phonemes. - *

- * The language model contains information about probabilities of words in a language. These probabilities could be for - * individual words or for sequences of two or three words. - *

- * The model definition file in a way ties everything together. If the recognition system models phonemes, there is an - * HMM for each phoneme. The model definition file has one line for each phoneme. The phoneme could be in a context - * dependent or independent. Each line, therefore, identifies a unique HMM. This line has the phoneme identification, - * the non-required left or right context, the index of a transition matrix, and, for each state, the index of a mean - * vector, a variance vector, and a set of mixture weights. - */ -public class TiedStateAcousticModel implements AcousticModel { - - /** The property that defines the component used to load the acoustic model */ - @S4Component(type = Loader.class) - public final static String PROP_LOADER = "loader"; - - /** The property that defines the unit manager */ - @S4Component(type = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - - /** Controls whether we generate composites or CI units when no context is given during a lookup. */ - @S4Boolean(defaultValue = true) - public final static String PROP_USE_COMPOSITES = "useComposites"; - - - // ----------------------------- - // Configured variables - // ----------------------------- - protected String name; - protected Logger logger; - protected Loader loader; - protected UnitManager unitManager; - private boolean useComposites; - private Properties properties; - - // ---------------------------- - // internal variables - // ----------------------------- - final transient private Map compositeSenoneSequenceCache = new HashMap(); - private boolean allocated; - - public TiedStateAcousticModel( Loader loader, UnitManager unitManager, boolean useComposites) { - this.loader = loader; - this.unitManager = unitManager; - this.useComposites = useComposites; - this.logger = Logger.getLogger(getClass().getName()); - } - - public TiedStateAcousticModel() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - loader = (Loader) ps.getComponent(PROP_LOADER); - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - useComposites = ps.getBoolean(PROP_USE_COMPOSITES); - logger = ps.getLogger(); - } - - /** - * initialize this acoustic model with the given name and context. - * - * @throws IOException if the model could not be loaded - */ - public void allocate() throws IOException { - if (!allocated) { - loader.load(); - logInfo(); - allocated = true; - } - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.acoustic.AcousticModel#deallocate() - */ - public void deallocate() { - } - - - /** - * Returns the name of this AcousticModel, or null if it has no name. - * - * @return the name of this AcousticModel, or null if it has no name - */ - public String getName() { - return name; - } - - - /** - * Gets a composite HMM for the given unit and context - * - * @param unit the unit for the hmm - * @param position the position of the unit within the word - * @return a composite HMM - */ - private HMM getCompositeHMM(Unit unit, HMMPosition position) { - - Unit ciUnit = unitManager.getUnit(unit.getName(), unit.isFiller(), - Context.EMPTY_CONTEXT); - - SenoneSequence compositeSequence = getCompositeSenoneSequence(unit, - position); - - SenoneHMM contextIndependentHMM = (SenoneHMM) lookupNearestHMM(ciUnit, - HMMPosition.UNDEFINED, true); - float[][] tmat = contextIndependentHMM.getTransitionMatrix(); - return new SenoneHMM(unit, compositeSequence, tmat, position); - } - - - /** - * Given a unit, returns the HMM that best matches the given unit. If exactMatch is false and an exact match is not - * found, then different word positions are used. If any of the contexts are non-silence filler units. a silence - * filler unit is tried instead. - * - * @param unit the unit of interest - * @param position the position of the unit of interest - * @param exactMatch if true, only an exact match is acceptable. - * @return the HMM that best matches, or null if no match could be found. - */ - public HMM lookupNearestHMM(Unit unit, HMMPosition position, - boolean exactMatch) { - - if (exactMatch) - return lookupHMM(unit, position); - - HMMManager mgr = loader.getHMMManager(); - HMM hmm = mgr.get(position, unit); - - if (hmm != null) { - return hmm; - } - // no match, try a composite - - if (useComposites && hmm == null) { - if (isComposite(unit)) { - - hmm = getCompositeHMM(unit, position); - if (hmm != null) { - mgr.put(hmm); - } - } - } - // no match, try at other positions - if (hmm == null) { - hmm = getHMMAtAnyPosition(unit); - } - // still no match, try different filler - if (hmm == null) { - hmm = getHMMInSilenceContext(unit, position); - } - - // still no match, backoff to base phone - if (hmm == null) { - Unit ciUnit = lookupUnit(unit.getName()); - - assert unit.isContextDependent(); - if (ciUnit == null) { - logger.severe("Can't find HMM for " + unit.getName()); - } - assert ciUnit != null; - assert !ciUnit.isContextDependent(); - - hmm = mgr.get(HMMPosition.UNDEFINED, ciUnit); - } - - assert hmm != null; - - // System.out.println("PROX match for " - // + unit + " at " + position + ":" + hmm); - - return hmm; - } - - - /** - * Determines if a unit is a composite unit - * - * @param unit the unit to test - * @return true if the unit is missing a right context - */ - private boolean isComposite(Unit unit) { - - if (unit.isFiller()) { - return false; - } - - Context context = unit.getContext(); - if (context instanceof LeftRightContext) { - LeftRightContext lrContext = (LeftRightContext) context; - if (lrContext.getRightContext() == null) { - return true; - } - if (lrContext.getLeftContext() == null) { - return true; - } - } - return false; - } - - - /** - * Looks up the context independent unit given the name - * - * @param name the name of the unit - * @return the unit or null if the unit was not found - */ - private Unit lookupUnit(String name) { - return loader.getContextIndependentUnits().get(name); - } - - - /** - * Returns an iterator that can be used to iterate through all the HMMs of the acoustic model - * - * @return an iterator that can be used to iterate through all HMMs in the model. The iterator returns objects of - * type HMM. - */ - public Iterator getHMMIterator() { - return loader.getHMMManager().iterator(); - } - - - /** - * Returns an iterator that can be used to iterate through all the CI units in the acoustic model - * - * @return an iterator that can be used to iterate through all CI units. The iterator returns objects of type - * Unit - */ - public Iterator getContextIndependentUnitIterator() { - return loader.getContextIndependentUnits().values().iterator(); - } - - - /** - * Get a composite senone sequence given the unit. - * - * The unit should have a LeftRightContext, where one or two of 'left' or - * 'right' may be null to indicate that the match should succeed on any - * context. - * - * @param unit the unit - * @param position position in HMM - * @return senone sequence - */ - public SenoneSequence getCompositeSenoneSequence(Unit unit, - HMMPosition position) - { - String unitStr = unit.toString(); - SenoneSequence compositeSenoneSequence; - compositeSenoneSequence = compositeSenoneSequenceCache.get(unitStr); - - if (logger.isLoggable(Level.FINE)) - logger.fine("getCompositeSenoneSequence: " - + unit + - compositeSenoneSequence == null ? "" : "Cached"); - - if (compositeSenoneSequence != null) - return compositeSenoneSequence; - - // Iterate through all HMMs looking for - // a) An hmm with a unit that has the proper base - // b) matches the non-null context - - Context context = unit.getContext(); - List senoneSequenceList; - senoneSequenceList = new ArrayList(); - - // collect all senone sequences that match the pattern - for (Iterator i = getHMMIterator(); i.hasNext();) { - SenoneHMM hmm = (SenoneHMM) i.next(); - if (hmm.getPosition() == position) { - Unit hmmUnit = hmm.getUnit(); - if (hmmUnit.isPartialMatch(unit.getName(), context)) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("collected: " + hmm.getUnit()); - } - senoneSequenceList.add(hmm.getSenoneSequence()); - } - } - } - - // couldn't find any matches, so at least include the CI unit - if (senoneSequenceList.isEmpty()) { - Unit ciUnit = unitManager.getUnit(unit.getName(), unit.isFiller()); - SenoneHMM baseHMM = lookupHMM(ciUnit, HMMPosition.UNDEFINED); - senoneSequenceList.add(baseHMM.getSenoneSequence()); - } - - // Add this point we have all of the senone sequences that - // match the base/context pattern collected into the list. - // Next we build a CompositeSenone consisting of all of the - // senones in each position of the list. - - // First find the longest senone sequence - - int longestSequence = 0; - for (SenoneSequence ss : senoneSequenceList) { - if (ss.getSenones().length > longestSequence) { - longestSequence = ss.getSenones().length; - } - } - - // now collect all of the senones at each position into - // arrays so we can create CompositeSenones from them - // QUESTION: is is possible to have different size senone - // sequences. For now lets assume the worst case. - - List compositeSenones = new ArrayList(); - float logWeight = 0.0f; - for (int i = 0; i < longestSequence; i++) { - Set compositeSenoneSet = new HashSet(); - for (SenoneSequence senoneSequence : senoneSequenceList) { - if (i < senoneSequence.getSenones().length) { - Senone senone = senoneSequence.getSenones()[i]; - compositeSenoneSet.add(senone); - } - } - compositeSenones.add(CompositeSenone.create( - compositeSenoneSet, logWeight)); - } - - compositeSenoneSequence = SenoneSequence.create(compositeSenones); - compositeSenoneSequenceCache.put(unit.toString(), - compositeSenoneSequence); - - if (logger.isLoggable(Level.FINE)) { - logger.fine(unit + " consists of " + compositeSenones.size() + " composite senones"); - if (logger.isLoggable(Level.FINEST)) { - compositeSenoneSequence.dump("am"); - } - } - return compositeSenoneSequence; - } - - - /** - * Returns the size of the left context for context dependent units - * - * @return the left context size - */ - public int getLeftContextSize() { - return loader.getLeftContextSize(); - } - - - /** - * Returns the size of the right context for context dependent units - * - * @return the left context size - */ - public int getRightContextSize() { - return loader.getRightContextSize(); - } - - - /** - * Given a unit, returns the HMM that exactly matches the given unit. - * - * @param unit the unit of interest - * @param position the position of the unit of interest - * @return the HMM that exactly matches, or null if no match could be found. - */ - private SenoneHMM lookupHMM(Unit unit, HMMPosition position) { - return (SenoneHMM) loader.getHMMManager().get(position, unit); - } - - - public Senone getSenone(long id) { - return loader.getSenonePool().get((int)id); - } - - /** Dumps information about this model to the logger */ - protected void logInfo() { - if (loader != null) { - loader.logInfo(); - } - logger.info("CompositeSenoneSequences: " + - compositeSenoneSequenceCache.size()); - } - - - /** - * Searches an hmm at any position - * - * @param unit the unit to search for - * @return hmm the hmm or null if it was not found - */ - private SenoneHMM getHMMAtAnyPosition(Unit unit) { - HMMManager mgr = loader.getHMMManager(); - for (HMMPosition pos : HMMPosition.values()) { - SenoneHMM hmm = (SenoneHMM)mgr.get(pos, unit); - if (hmm != null) - return hmm; - } - return null; - } - - - /** - * Given a unit, search for the HMM associated with this unit by replacing all non-silence filler contexts with the - * silence filler context - * - * @param unit the unit of interest - * @return the associated hmm or null - */ - private SenoneHMM getHMMInSilenceContext(Unit unit, HMMPosition position) { - SenoneHMM hmm = null; - HMMManager mgr = loader.getHMMManager(); - Context context = unit.getContext(); - - if (context instanceof LeftRightContext) { - LeftRightContext lrContext = (LeftRightContext) context; - - Unit[] lc = lrContext.getLeftContext(); - Unit[] rc = lrContext.getRightContext(); - - Unit[] nlc; - Unit[] nrc; - - if (hasNonSilenceFiller(lc)) { - nlc = replaceNonSilenceFillerWithSilence(lc); - } else { - nlc = lc; - } - - if (hasNonSilenceFiller(rc)) { - nrc = replaceNonSilenceFillerWithSilence(rc); - } else { - nrc = rc; - } - - if (nlc != lc || nrc != rc) { - Context newContext = LeftRightContext.get(nlc, nrc); - Unit newUnit = unitManager.getUnit(unit.getName(), - unit.isFiller(), newContext); - hmm = (SenoneHMM) mgr.get(position, newUnit); - if (hmm == null) { - hmm = getHMMAtAnyPosition(newUnit); - } - } - } - return hmm; - } - - - /** - * Returns true if the array of units contains a non-silence filler - * - * @param units the units to check - * @return true if the array contains a filler that is not the silence filler - */ - private boolean hasNonSilenceFiller(Unit[] units) { - if (units == null) { - return false; - } - - for (Unit unit : units) { - if (unit.isFiller() && - !unit.equals(UnitManager.SILENCE)) { - return true; - } - } - return false; - } - - - /** - * Returns a unit array with all non-silence filler units replaced with the silence filler a non-silence filler - * - * @param context the context to check - * @return true if the array contains a filler that is not the silence filler - */ - private Unit[] replaceNonSilenceFillerWithSilence(Unit[] context) { - Unit[] replacementContext = new Unit[context.length]; - for (int i = 0; i < context.length; i++) { - if (context[i].isFiller() && - !context[i].equals(UnitManager.SILENCE)) { - replacementContext[i] = UnitManager.SILENCE; - } else { - replacementContext[i] = context[i]; - } - } - return replacementContext; - } - - - /** - * Returns the properties of this acoustic model. - * - * @return the properties of this acoustic model - */ - public Properties getProperties() { - if (properties == null) { - properties = new Properties(); - try { - properties.load - (getClass().getResource("model.props").openStream()); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - return properties; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/ConstantEventMap.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/ConstantEventMap.java deleted file mode 100755 index 7f10f89b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/ConstantEventMap.java +++ /dev/null @@ -1,31 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - - -/** - * Stores a single answer. - * - * This is always a leaf node in decision tree. - */ -public class ConstantEventMap implements EventMap { - - private final int value; - - /** - * Constructs a constant event map that returns one value. - * - * @param value returned value - */ - public ConstantEventMap(int value) { - this.value = value; - } - - /** - * @param pdfClass is not used - * @param context is not used - * - * @return stored value - */ - public int map(int pdfClass, int[] context) { - return value; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/DiagGmm.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/DiagGmm.java deleted file mode 100755 index 04c55bef..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/DiagGmm.java +++ /dev/null @@ -1,110 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import java.util.Arrays; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.ScoreCachingSenone; -import edu.cmu.sphinx.util.LogMath; - -/** - * Gaussian Mixture Model with diagonal covariances. - * - * @see DiagGmm class in Kaldi. - */ -@SuppressWarnings("serial") -public class DiagGmm extends ScoreCachingSenone { - - private int id; - private float[] gconsts; - private float[] invVars; - private float[] meansInvVars; - - /** - * Constructs new mixture model. - * - * @param id identifier of this GMM as defined in the model - * @param parser text format parser - */ - public DiagGmm(int id, KaldiTextParser parser) { - this.id = id; - - parser.expectToken(""); - parser.expectToken(""); - gconsts = parser.getFloatArray(); - - parser.expectToken(""); - // Do not use weights as they are in gconsts. - parser.getFloatArray(); - - parser.expectToken(""); - meansInvVars = parser.getFloatArray(); - - parser.expectToken(""); - invVars = parser.getFloatArray(); - parser.expectToken(""); - } - - /** - * Convenient method if 32-bit ID is required. - * - * Kaldi model uses 32-bit integer to store GMM id while Senone contract - * imposes long type. This method is present to avaoid type cast when - * working in the Kaldi domain. - * @return the ID of gmm - */ - public int getId() { - return id; - } - - @Override - public float calculateScore(Data data) { - float logTotal = LogMath.LOG_ZERO; - LogMath logMath = LogMath.getLogMath(); - for (Float mixtureScore : calculateComponentScore(data)) - logTotal = logMath.addAsLinear(logTotal, mixtureScore); - - return logTotal; - } - - public float[] calculateComponentScore(Data data) { - float[] features = FloatData.toFloatData(data).getValues(); - int dim = meansInvVars.length / gconsts.length; - - if (features.length != dim) { - String fmt = "feature vector must be of length %d, got %d"; - String msg = String.format(fmt, dim, features.length); - throw new IllegalArgumentException(msg); - } - - float[] likelihoods = Arrays.copyOf(gconsts, gconsts.length); - for (int i = 0; i < likelihoods.length; ++i) { - for (int j = 0; j < features.length; ++j) { - int k = i * features.length + j; - likelihoods[i] += meansInvVars[k] * features[j]; - likelihoods[i] -= .5f * invVars[k] * features[j] * features[j]; - } - - likelihoods[i] = LogMath.getLogMath().lnToLog(likelihoods[i]); - } - - return likelihoods; - } - - public long getID() { - return id; - } - - public void dump(String msg) { - System.out.format("%s DiagGmm: ID %d\n", msg, id); - } - - public MixtureComponent[] getMixtureComponents() { - return null; - } - - public float[] getLogMixtureWeights() { - return null; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMap.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMap.java deleted file mode 100755 index 5133fb3b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMap.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - - -/** - * Decision tree. - */ -public interface EventMap { - - /** - * Maps speech unit to probability distribution function. - * - * @param pdfClass pdf-class - * @param context context - * - * @return identifier of probability distribution function - */ - public int map(int pdfClass, int[] context); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMapWithKey.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMapWithKey.java deleted file mode 100755 index 77a1549e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/EventMapWithKey.java +++ /dev/null @@ -1,34 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - - -/** - * Event map that splits on a key. - */ -public abstract class EventMapWithKey implements EventMap { - - protected final int key; - - /** - * Constructs new event map. - * - * @param key key to split on - */ - protected EventMapWithKey(int key) { - this.key = key; - } - - /** - * Returns value of the given context for the key. - * - * Convenient method to retrieve value for the key. - * - * @param pdfClass pdf-class - * @param context context - * - * @return phone ID for non-negative values of the key and pdf-class if the - * key equals -1 - */ - protected int getKeyValue(int pdfClass, int[] context) { - return -1 == key ? pdfClass : context[key]; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiGmmPool.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiGmmPool.java deleted file mode 100755 index e4af4a73..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiGmmPool.java +++ /dev/null @@ -1,27 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Senone; - - -/** - * Pool of GMMs loaded from Kaldi model. - */ -public class KaldiGmmPool extends Pool { - - /** - * Constructs new pool of GMMs loading them from the provided parser. - * @param parser text parser - */ - public KaldiGmmPool(KaldiTextParser parser) { - super("senones"); - parser.expectToken(""); - // Skip dimension value. - parser.getInt(); - parser.expectToken(""); - int npdf = parser.getInt(); - - for (int i = 0; i < npdf; ++i) - put(i, new DiagGmm(i, parser)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiTextParser.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiTextParser.java deleted file mode 100755 index ffeef24b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/KaldiTextParser.java +++ /dev/null @@ -1,92 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.SequenceInputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.InputMismatchException; -import java.util.List; -import java.util.Scanner; - - -public class KaldiTextParser { - - private final Scanner scanner; - - public KaldiTextParser(String path) - throws IOException, MalformedURLException - { - // TODO: rewrite with StreamTokenizer, see ExtendedStreamTokenizer. - File modelFile = new File(path, "final.mdl"); - InputStream modelStream = new URL(modelFile.getPath()).openStream(); - File treeFile = new File(path, "tree"); - InputStream treeStream = new URL(treeFile.getPath()).openStream(); - - InputStream stream = new SequenceInputStream(modelStream, treeStream); - scanner = new Scanner(stream); - } - - public String getToken() { - return scanner.next(); - } - - public int getInt() { - return scanner.nextInt(); - } - - public float parseFloat() { - return scanner.nextFloat(); - } - - public int[] getIntArray() { - List ints = new ArrayList(); - for (String token : getTokenList("[", "]")) - ints.add(Integer.parseInt(token)); - - int[] result = new int[ints.size()]; - for (int i = 0 ; i < result.length; ++i) - result[i] = ints.get(i); - - return result; - } - - public float[] getFloatArray() { - List floats = new ArrayList(); - for (String token : getTokenList("[", "]")) - floats.add(Float.parseFloat(token)); - - float[] result = new float[floats.size()]; - for (int i = 0; i < result.length; ++i) - result[i] = floats.get(i); - - return result; - } - - public List getTokenList(String openToken, String closeToken) { - expectToken(openToken); - List tokens = new ArrayList(); - String token; - - while (!closeToken.equals(token = scanner.next())) - tokens.add(token); - - return tokens; - } - - public void expectToken(String expected) { - String actual = scanner.next(); - assertToken(expected, actual); - } - - public void assertToken(String expected, String actual) { - if (actual.equals(expected)) - return; - - String msg; - msg = String.format("'%s' expected, '%s' got", expected, actual); - throw new InputMismatchException(msg); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/SplitEventMap.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/SplitEventMap.java deleted file mode 100755 index 13a877a1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/SplitEventMap.java +++ /dev/null @@ -1,52 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - - -/** - * Binary decision tree. - * - * Splits on a certain key and goes to the "yes" or "no" child node depending - * on the answer. Its Map function calls the Map function of the appropriate - * child node. It stores a set of integers of type kAnswerType that correspond - * to the "yes" child (everything else goes to "no"). - */ -public class SplitEventMap extends EventMapWithKey { - - private final Set values; - private final EventMap yesMap; - private final EventMap noMap; - - /** - * Constructs new event map. - * - * @param key key to split on - * @param values values - * @param yesMap event map for "yes" answer - * @param noMap eventMap for no answer - */ - public SplitEventMap(int key, - Collection values, - EventMap yesMap, EventMap noMap) - { - super(key); - this.values = new HashSet(values); - this.yesMap = yesMap; - this.noMap = noMap; - } - - /** - * Maps given context to probability distribution function. - * - * @param context phonetic context - * - * @return identifier of probability distribution function. - */ - public int map(int pdfClass, int[] context) { - return values.contains(getKeyValue(pdfClass, context)) ? - yesMap.map(pdfClass, context) : noMap.map(pdfClass, context); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TableEventMap.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TableEventMap.java deleted file mode 100755 index 447b32ee..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TableEventMap.java +++ /dev/null @@ -1,29 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import java.util.ArrayList; -import java.util.List; - - -public class TableEventMap extends EventMapWithKey { - - private final List table; - - /** - * Constructs new table event map. - * - * @param key key to split on - * @param table event map - */ - public TableEventMap(int key, List table) { - super(key); - this.table = new ArrayList(table); - } - - /** - * - */ - public int map(int pdfClass, int[] context) { - EventMap eventMap = table.get(getKeyValue(pdfClass, context)); - return eventMap.map(pdfClass, context); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TransitionModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TransitionModel.java deleted file mode 100755 index b58600d8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/kaldi/TransitionModel.java +++ /dev/null @@ -1,194 +0,0 @@ -package edu.cmu.sphinx.linguist.acoustic.tiedstate.kaldi; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import edu.cmu.sphinx.util.LogMath; - -final class HmmState { - - private final int id; - private final int pdfClass; - private final List transitions; - - public HmmState(int id, int pdfClass, Collection transitions) { - this.id = id; - this.pdfClass = pdfClass; - this.transitions = new ArrayList(transitions); - } - - public int getId() { - return id; - } - - public int getPdfClass() { - return pdfClass; - } - - public List getTransitions() { - return transitions; - } - - public int size() { - return transitions.size(); - } - - @Override - public String toString() { - return String.format("HmmSate {%d, %d, %s}", - id, pdfClass, transitions); - } -} - -final class Triple { - - private int phone; - private int hmmState; - private int pdf; - - public Triple(int phone, int hmmState, int pdf) { - this.phone = phone; - this.hmmState = hmmState; - this.pdf = pdf; - } - - @Override - public boolean equals(Object object) { - if (!(object instanceof Triple)) - return false; - - Triple other = (Triple) object; - - return phone == other.phone && - hmmState == other.hmmState && - pdf == other.pdf; - } - - @Override - public int hashCode() { - return 31 * (31 * phone + hmmState) + pdf; - } - - @Override - public String toString() { - return String.format("Triple {%d, %d, %d}", phone, hmmState, pdf); - } -} - -/** - * Represents transition model of a Kaldi acoustic model. - */ -public class TransitionModel { - - private Map> phoneStates; - private Map transitionStates; - private float[] logProbabilities; - - /** - * Loads transition model using provided parser. - * - * @param parser parser - */ - public TransitionModel(KaldiTextParser parser) { - parser.expectToken(""); - parseTopology(parser); - - parser.expectToken(""); - transitionStates = new HashMap(); - int numTriples = parser.getInt(); - int transitionId = 1; - - for (int i = 0; i < numTriples; ++i) { - int phone = parser.getInt(); - int hmmState = parser.getInt(); - int pdf = parser.getInt(); - Triple triple = new Triple(phone, hmmState, pdf); - transitionStates.put(triple, transitionId); - transitionId += - phoneStates.get(phone).get(hmmState).getTransitions().size(); - } - - parser.expectToken(""); - parser.expectToken(""); - logProbabilities = parser.getFloatArray(); - parser.expectToken(""); - parser.expectToken(""); - - LogMath logMath = LogMath.getLogMath(); - for (int i = 0; i < logProbabilities.length; ++i) - logProbabilities[i] = logMath.lnToLog(logProbabilities[i]); - } - - private void parseTopology(KaldiTextParser parser) { - parser.expectToken(""); - - phoneStates = new HashMap>(); - String token; - - while ("".equals(token = parser.getToken())) { - parser.assertToken("", token); - parser.expectToken(""); - - List phones = new ArrayList(); - while (!"".equals(token = parser.getToken())) - phones.add(Integer.parseInt(token)); - - List states = new ArrayList(3); - while ("".equals(token = parser.getToken())) { - // Skip state number. - int id = parser.getInt(); - token = parser.getToken(); - - if ("".equals(token)) { - int pdfClass = parser.getInt(); - List transitions = new ArrayList(); - while ("".equals(token = parser.getToken())) { - transitions.add(parser.getInt()); - // Skip initial probability. - parser.getToken(); - } - - parser.assertToken("", token); - states.add(new HmmState(id, pdfClass, transitions)); - } - } - - for (Integer id : phones) - phoneStates.put(id, states); - } - - parser.assertToken("", token); - } - - /** - * Returns transition matrix for the given context. - * - * @param phone central phone in the context - * @param pdfs array of pdf identifiers of the context units - * - * @return - * 4 by 4 matrix where cell i,j contains probability in {@link LogMath} - * domain of transition from state i to state j - */ - public float[][] getTransitionMatrix(int phone, int[] pdfs) { - // TODO: use variable size - float[][] transitionMatrix = new float[4][4]; - Arrays.fill(transitionMatrix[3], LogMath.LOG_ZERO); - - for (HmmState state : phoneStates.get(phone)) { - int stateId = state.getId(); - Arrays.fill(transitionMatrix[stateId], LogMath.LOG_ZERO); - Triple triple = new Triple(phone, stateId, pdfs[stateId]); - int i = transitionStates.get(triple); - - for (Integer j : state.getTransitions()) - transitionMatrix[stateId][j] = logProbabilities[i++]; - } - - return transitionMatrix; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSet.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSet.java deleted file mode 100755 index ffd74e78..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSet.java +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.LinkedList; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; - -/** - * MixtureComponentsSet - phonetically tied set of gaussians - */ -public class MixtureComponentSet { - - private int scoresQueueLen; - private boolean toStoreScore; - private LinkedList storedScores; - MixtureComponentSetScores curScores; - - private ArrayList components; - private ArrayList topComponents; - private int numStreams; - private int topGauNum; - private int gauNum; - private long gauCalcSampleNumber; - - public MixtureComponentSet(ArrayList components, int topGauNum) { - this.components = components; - this.numStreams = components.size(); - this.topGauNum = topGauNum; - this.gauNum = components.get(0).length; - topComponents = new ArrayList(); - for (int i = 0; i < numStreams; i++) { - PrunableMixtureComponent[] featTopComponents = new PrunableMixtureComponent[topGauNum]; - for (int j = 0; j < topGauNum; j++) - featTopComponents[j] = components.get(i)[j]; - topComponents.add(featTopComponents); - } - gauCalcSampleNumber = -1; - toStoreScore = false; - storedScores = new LinkedList(); - curScores = null; - } - - private void storeScores(MixtureComponentSetScores scores) { - storedScores.add(scores); - while(storedScores.size() > scoresQueueLen) - storedScores.poll(); - } - - private MixtureComponentSetScores getStoredScores(long frameFirstSample) { - if (storedScores.isEmpty()) - return null; - if (storedScores.peekLast().getFrameStartSample() < frameFirstSample) - //new frame - return null; - for (MixtureComponentSetScores scores : storedScores) { - if (scores.getFrameStartSample() == frameFirstSample) - return scores; - } - //Failed to find score. Seems it wasn't calculated yet - return null; - } - - private MixtureComponentSetScores createFromTopGau(long firstFrameSample) { - MixtureComponentSetScores scores = new MixtureComponentSetScores(numStreams, topGauNum, firstFrameSample); - for (int i = 0; i < numStreams; i++) { - for (int j = 0; j < topGauNum; j++) { - scores.setScore(i, j, topComponents.get(i)[j].getStoredScore()); - scores.setGauId(i, j, topComponents.get(i)[j].getId()); - } - } - return scores; - } - - private void insertTopComponent(PrunableMixtureComponent[] topComponents, PrunableMixtureComponent component) { - int i; - for (i = 0; i < topComponents.length - 1; i++) { - if (component.getPartialScore() < topComponents[i].getPartialScore()) { - topComponents[i - 1] = component; - return; - } - topComponents[i] = topComponents[i + 1]; - } - if (component.getPartialScore() < topComponents[topComponents.length - 1].getPartialScore()) - topComponents[topComponents.length - 2] = component; - else - topComponents[topComponents.length - 1] = component; - } - - private boolean isInTopComponents(PrunableMixtureComponent[] topComponents, PrunableMixtureComponent component) { - for (PrunableMixtureComponent topComponent : topComponents) - if (topComponent.getId() == component.getId()) - return true; - return false; - } - - private void updateTopScores(float[] featureVector) { - int step = featureVector.length / numStreams; - - float[] streamVector = new float[step]; - for (int i = 0; i < numStreams; i++) { - System.arraycopy(featureVector, i * step, streamVector, 0, step); - PrunableMixtureComponent[] featTopComponents = topComponents.get(i); - PrunableMixtureComponent[] featComponents = components.get(i); - - //update scores in top gaussians from previous frame - for (PrunableMixtureComponent topComponent : featTopComponents) - topComponent.updateScore(streamVector); - Arrays.sort(featTopComponents, componentComparator); - - //Check if there is any gaussians that should float into top - float threshold = featTopComponents[0].getPartialScore(); - for (PrunableMixtureComponent component : featComponents) { - if (isInTopComponents(featTopComponents, component)) - continue; - if (component.isTopComponent(streamVector, threshold)) { - insertTopComponent(featTopComponents, component); - threshold = featTopComponents[0].getPartialScore(); - } - } - } - } - - public void updateTopScores(Data feature) { - - if (feature instanceof DoubleData) - System.err.println("DoubleData conversion required on mixture level!"); - - long firstSampleNumber = FloatData.toFloatData(feature).getFirstSampleNumber(); - if (toStoreScore) { - curScores = getStoredScores(firstSampleNumber); - } else { - if (curScores != null && curScores.getFrameStartSample() != firstSampleNumber) - curScores = null; - } - if (curScores != null) - //component scores for this frame was already calculated - return; - float[] featureVector = FloatData.toFloatData(feature).getValues(); - updateTopScores(featureVector); - //store just calculated score in list - curScores = createFromTopGau(firstSampleNumber); - if (toStoreScore) - storeScores(curScores); - } - - private void updateScores(float[] featureVector) { - int step = featureVector.length / numStreams; - float[] streamVector = new float[step]; - for (int i = 0; i < numStreams; i++) { - System.arraycopy(featureVector, i * step, streamVector, 0, step); - for (PrunableMixtureComponent component : components.get(i)) { - component.updateScore(streamVector); - } - } - } - - public void updateScores(Data feature) { - if (feature instanceof DoubleData) - System.err.println("DoubleData conversion required on mixture level!"); - - long firstSampleNumber = FloatData.toFloatData(feature).getFirstSampleNumber(); - if (gauCalcSampleNumber != firstSampleNumber) { - float[] featureVector = FloatData.toFloatData(feature).getValues(); - updateScores(featureVector); - gauCalcSampleNumber = firstSampleNumber; - } - } - - /** - * Should be called on each new utterance to scores for old frames - */ - public void clearStoredScores() { - storedScores.clear(); - } - - /** - * How long scores for previous frames should be stored. - * For fast match this value is lookahead_window_length + 1) - * @param scoresQueueLen queue length - */ - public void setScoreQueueLength(int scoresQueueLen) { - toStoreScore = scoresQueueLen > 0; - this.scoresQueueLen = scoresQueueLen; - } - - public int getTopGauNum() { - return topGauNum; - } - - public int getGauNum() { - return gauNum; - } - - public float getTopGauScore(int streamId, int topGauId) { - return curScores.getScore(streamId, topGauId); - } - - public int getTopGauId(int streamId, int topGauId) { - return curScores.getGauId(streamId, topGauId); - } - - public float getGauScore(int streamId, int topGauId) { - return components.get(streamId)[topGauId].getStoredScore(); - } - - public int getGauId(int streamId, int topGauId) { - return components.get(streamId)[topGauId].getId(); - } - - private T[] concatenate (T[] A, T[] B) { - int aLen = A.length; - int bLen = B.length; - - @SuppressWarnings("unchecked") - T[] C = (T[]) Array.newInstance(A.getClass().getComponentType(), aLen+bLen); - System.arraycopy(A, 0, C, 0, aLen); - System.arraycopy(B, 0, C, aLen, bLen); - - return C; - } - - protected MixtureComponent[] toArray() { - PrunableMixtureComponent[] allComponents = new PrunableMixtureComponent[0]; - for (int i = 0; i < numStreams; i++) - concatenate(allComponents, components.get(i)); - return allComponents; - } - - protected int dimension() { - int dimension = 0; - for (int i = 0; i < numStreams; i++) { - dimension+= components.get(i)[0].getMean().length; - } - return dimension; - } - - protected int size() { - int size = 0; - for (int i = 0; i < numStreams; i++) { - size += components.get(0).length; - } - return size; - } - - private Comparator componentComparator = new Comparator() { - - @Override - public int compare(PrunableMixtureComponent a, PrunableMixtureComponent b) { - return (int)(a.getStoredScore() - b.getStoredScore()); - } - }; - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSetScores.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSetScores.java deleted file mode 100755 index 75c7ba8c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/MixtureComponentSetScores.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture; - -/** - * Class to keep scores of mixture components for certain frame. - * Is use useful in case of fast match to avoid scoring gaussians twice - */ -public class MixtureComponentSetScores { - - private float[][] scores; //scores[featureStreamIdx][gaussianIndex] - private int[][] ids; //id[featureStreamIdx][gaussianIndex] - private long frameStartSample; - - public MixtureComponentSetScores(int numStreams, int gauNum, long frameStartSample) { - scores = new float[numStreams][gauNum]; - ids = new int[numStreams][gauNum]; - this.frameStartSample = frameStartSample; - } - - public void setScore(int featStream, int gauIdx, float score) { - scores[featStream][gauIdx] = score; - } - - public void setGauId(int featStream, int gauIdx, int id) { - ids[featStream][gauIdx] = id; - } - - public float getScore(int featStream, int gauIdx) { - return scores[featStream][gauIdx]; - } - - public int getGauId(int featStream, int gauIdx) { - return ids[featStream][gauIdx]; - } - - public long getFrameStartSample() { - return frameStartSample; - } - - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/PrunableMixtureComponent.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/PrunableMixtureComponent.java deleted file mode 100755 index 7b740709..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/PrunableMixtureComponent.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; -import edu.cmu.sphinx.util.LogMath; - -/** - * Mixture component with partial score computation result. - * Allows to skip score computing if temporary score reaches provided threshold - */ -@SuppressWarnings("serial") -public class PrunableMixtureComponent extends MixtureComponent { - - private float score = LogMath.LOG_ZERO; - private float partScore = LogMath.LOG_ZERO; - private int id; - - public PrunableMixtureComponent( - float[] mean, - float[][] meanTransformationMatrix, - float[] meanTransformationVector, - float[] variance, - float[][] varianceTransformationMatrix, - float[] varianceTransformationVector, - float distFloor, - float varianceFloor, - int id) { - super(mean, meanTransformationMatrix, meanTransformationVector, variance, varianceTransformationMatrix, varianceTransformationVector, distFloor, varianceFloor); - this.id = id; - } - - private float convertScore(float val) { - // Convert to the appropriate base. - val = logMath.lnToLog(val); - - // TODO: Need to use mean and variance transforms here - - if (Float.isNaN(val)) { - System.out.println("gs is Nan, converting to 0"); - val = LogMath.LOG_ZERO; - } - - if (val < distFloor) { - val = distFloor; - } - - return val; - } - - public boolean isTopComponent(float[] feature, float threshold) { - - float logDval = logPreComputedGaussianFactor; - - // First, compute the argument of the exponential function in - // the definition of the Gaussian, then convert it to the - // appropriate base. If the log base is Math.E, - // then no operation is necessary. - for (int i = 0; i < feature.length; i++) { - float logDiff = feature[i] - meanTransformed[i]; - logDval += logDiff * logDiff * precisionTransformed[i]; - if (logDval < threshold) - return false; - } - - partScore = logDval; - score = convertScore(logDval); - return true; - } - - public void updateScore(float[] feature) { - - float logDval = logPreComputedGaussianFactor; - - // First, compute the argument of the exponential function in - // the definition of the Gaussian, then convert it to the - // appropriate base. If the log base is Math.E, - // then no operation is necessary. - for (int i = 0; i < feature.length; i++) { - float logDiff = feature[i] - meanTransformed[i]; - logDval += logDiff * logDiff * precisionTransformed[i]; - } - - partScore = logDval; - score = convertScore(logDval); - } - - public float getStoredScore() { - return score; - } - - public float getPartialScore() { - return partScore; - } - - public int getId() { - return id; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/SetBasedGaussianMixture.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/SetBasedGaussianMixture.java deleted file mode 100755 index 8bc6f1b4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/tiedmixture/SetBasedGaussianMixture.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.tiedmixture; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.GaussianMixture; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.GaussianWeights; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; -import edu.cmu.sphinx.util.LogMath; - -/** - * Represents gaussian mixture that is based on provided mixture component set - *

- * All scores and weights are maintained in LogMath log base. - */ - -@SuppressWarnings("serial") -public class SetBasedGaussianMixture extends GaussianMixture { - - private MixtureComponentSet mixtureComponentSet; - - public SetBasedGaussianMixture(GaussianWeights mixtureWeights, - MixtureComponentSet mixtureComponentSet, int id) { - super(mixtureWeights, null, id); - this.mixtureComponentSet = mixtureComponentSet; - } - - @Override - public float calculateScore(Data feature) { - mixtureComponentSet.updateTopScores(feature); - float ascore = 0; - for (int i = 0; i < mixtureWeights.getStreamsNum(); i++) { - float logTotal = LogMath.LOG_ZERO; - for (int j = 0; j < mixtureComponentSet.getTopGauNum(); j++) { - float gauScore = mixtureComponentSet.getTopGauScore(i, j); - int gauId = mixtureComponentSet.getTopGauId(i, j); - logTotal = logMath.addAsLinear(logTotal, gauScore + mixtureWeights.get(id, i, gauId)); - } - ascore += logTotal; - } - return ascore; - } - - /** - * Calculates the scores for each component in the senone. - * - * @param feature the feature to score - * @return the LogMath log scores for the feature, one for each component - */ - @Override - public float[] calculateComponentScore(Data feature) { - mixtureComponentSet.updateScores(feature); - float[] scores = new float[mixtureComponentSet.size()]; - int scoreIdx = 0; - for (int i = 0; i < mixtureWeights.getStreamsNum(); i++) { - for (int j = 0; j < mixtureComponentSet.getGauNum(); j++) { - scores[scoreIdx++] = mixtureComponentSet.getGauScore(i, j) + mixtureWeights.get(id, i, mixtureComponentSet.getGauId(i, j)); - } - } - return scores; - } - - @Override - public MixtureComponent[] getMixtureComponents() { - return mixtureComponentSet.toArray(); - } - - @Override - public int dimension() { - return mixtureComponentSet.dimension(); - } - - /** @return the number of component densities of this GaussianMixture. */ - @Override - public int numComponents() { - return mixtureComponentSet.size(); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Buffer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Buffer.java deleted file mode 100755 index 79915f63..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Buffer.java +++ /dev/null @@ -1,313 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.util.LogMath; - -/** Used to accumulate data for updating of models. */ -class Buffer { - - private double[] numerator; - private double denominator; - private boolean wasUsed; - // Maybe isLog should be used otherwise: one single, say, - // accumulate(), which would be directed according to isLog. But - // then again having accumulate() and logAccumulate() makes it - // clearer if we're dealing with log scale or not... - private boolean isLog; - private int id; - - - /** - * Creates a new buffer. If the values will be in log, the buffer is initialized to all - * LogMath.LOG_ZERO. - * - * @param size the number of elements in this buffer - * @param isLog if true, the values in the buffer will be in log - */ - Buffer(int size, boolean isLog, int id) { - this.id = id; - this.isLog = isLog; - wasUsed = false; - numerator = new double[size]; - if (isLog) { - denominator = LogMath.LOG_ZERO; - for (int i = 0; i < size; i++) { - numerator[i] = LogMath.LOG_ZERO; - } - } - } - - - /** - * Accumulates data to this buffer. Data are accumulated to a given numerator buffer and to the denominator buffer. - * - * @param data the data to be added - * @param entry the numerator entry to be accumulated to - */ - void accumulate(float data, int entry) { - // Not needed anymore?? - assert false; - assert numerator != null; - assert !isLog; - numerator[entry] += data; - denominator += data; - wasUsed = true; - } - - - /** - * Accumulates data to this buffer. Data are accumulated to a given numerator buffer and to the denominator buffer. - * - * @param data the data to be added - * @param entry the numerator entry to be accumulated to - * @param logMath the logMath to use - */ - void logAccumulate(float data, int entry, LogMath logMath) { - assert numerator != null; - assert isLog; - numerator[entry] = logMath.addAsLinear((float) numerator[entry], data); - denominator = logMath.addAsLinear((float) denominator, data); - wasUsed = true; - } - - - /** - * Accumulates data to this buffer. Data are accumulated to a given numerator buffer and to the denominator buffer. - * - * @param numeratorData the data to be added to the numerator - * @param denominatorData the data to be added to the denominator - */ - void accumulate(double[] numeratorData, double denominatorData) { - assert numerator != null; - assert numeratorData != null; - assert numerator.length == numeratorData.length; - assert !isLog; - for (int i = 0; i < numerator.length; i++) { - numerator[i] += numeratorData[i]; - } - denominator += denominatorData; - wasUsed = true; - } - - - /** - * Accumulates data to this buffer. Data are accumulated to a given numerator buffer and to the denominator buffer. - * - * @param logNumeratorData the data to be added to the numerator - * @param logDenominatorData the data to be added to the denominator - * @param logMath the LogMath instance to be used - */ - void logAccumulate(float[] logNumeratorData, float logDenominatorData, - LogMath logMath) { - assert numerator != null; - assert logNumeratorData != null; - assert numerator.length == logNumeratorData.length; - assert isLog; - for (int i = 0; i < numerator.length; i++) { - numerator[i] = - logMath.addAsLinear((float) numerator[i], logNumeratorData[i]); - } - denominator = logMath.addAsLinear((float) denominator, logDenominatorData); - wasUsed = true; - } - - - /** - * Normalize the buffer. This method divides the numerator by the denominator, storing the result in the numerator, - * and setting denominator to 1. - */ - void normalize() { - assert !isLog; - if (denominator == 0) { - System.out.println("Empty denominator: " + id); - // dump(); - // assert false; - wasUsed = false; - return; - } - - double invDenominator = (1.0 / denominator); - for (int i = 0; i < numerator.length; i++) { - numerator[i] *= invDenominator; - } - denominator = 1.0; - } - - - /** - * Normalize the buffer in log scale. This method divides the numerator by the denominator, storing the result in - * the numerator, and setting denominator to log(1) = 0. - */ - void logNormalize() { - assert isLog; - for (int i = 0; i < numerator.length; i++) { - numerator[i] -= denominator; - } - denominator = 0.0f; - } - - - /** - * Normalize the non-zero elements in a buffer in log scale. This method divides the numerator by the denominator, - * storing the result in the numerator, and setting denominator to log(1) = 0. A mask is used to tell whether a - * component should be normalized (non-zero) or not (zero). - * - * @param mask a vector containing zero/non-zero values. - */ - void logNormalizeNonZero(float[] mask) { - assert isLog; - assert mask.length == numerator.length; - for (int i = 0; i < numerator.length; i++) { - if (mask[i] != LogMath.LOG_ZERO) { - numerator[i] -= denominator; - } - } - denominator = 0.0; - } - - - /** Normalize the buffer. The normalization is done so that the summation of elements in the buffer is 1. */ - void normalizeToSum() { - assert !isLog; - float den = 0.0f; - for (double val : numerator) { - den += val; - } - float invDenominator = (float) (1.0 / den); - for (int i = 0; i < numerator.length; i++) { - numerator[i] *= invDenominator; - } - denominator = 1.0; - } - - - /** - * Normalize the buffer in log scale. The normalization is done so that the summation of elements in the buffer is - * log(1) = 0. In this, we assume that if an element has a value of zero, it won't be updated. - * - * @param logMath the logMath to use - */ - void logNormalizeToSum(LogMath logMath) { - assert isLog; - float logZero = LogMath.LOG_ZERO; - float den = logZero; - for (double val : numerator) { - if (val != logZero) { - den = logMath.addAsLinear(den, (float)val); - } - } - for (int i = 0; i < numerator.length; i++) { - if (numerator[i] != logZero) { - numerator[i] -= den; - } - } - denominator = 0.0; - } - - - /** - * Floor the buffer. - * - * @param floor the floor for this buffer - * @return if true, the buffer was modified - */ - protected boolean floor(float floor) { - assert !isLog; - boolean wasModified = false; - for (int i = 0; i < numerator.length; i++) { - if (numerator[i] < floor) { - wasModified = true; - numerator[i] = floor; - } - } - return wasModified; - } - - - /** - * Floor the buffer in log scale. - * - * @param logFloor the floor for this buffer, in log scale - * @return if true, the buffer was modified - */ - protected boolean logFloor(float logFloor) { - assert isLog; - boolean wasModified = false; - for (int i = 0; i < numerator.length; i++) { - if (numerator[i] < logFloor) { - wasModified = true; - numerator[i] = logFloor; - } - } - return wasModified; - } - - - /** - * Retrieves a value from this buffer. Make sure you normalize the buffer first. - * - * @param entry the index into the buffer - * @return the value - */ - protected float getValue(int entry) { - return (float) numerator[entry]; - } - - - /** - * Set the entry in this buffer to a value. - * - * @param entry the index into the buffer - * @param value the value - */ - protected void setValue(int entry, float value) { - numerator[entry] = value; - } - - - /** - * Retrieves a vector from this buffer. Make sure you normalize the buffer first. - * - * @return the value - */ - protected float[] getValues() { - float[] returnVector = new float[numerator.length]; - for (int i = 0; i < numerator.length; i++) { - returnVector[i] = (float) numerator[i]; - } - return returnVector; - } - - - /** - * Returns whether the buffer was used. - * - * @return if true, the buffer was used - */ - protected boolean wasUsed() { - return wasUsed; - } - - - /** Dump info about this buffer. */ - public void dump() { - System.out.println("Denominator= " + denominator); - System.out.println("Numerators= "); - for (int i = 0; i < numerator.length; i++) { - System.out.println("[" + i + "]= " + numerator[i]); - } - } - -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/HMMPoolManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/HMMPoolManager.java deleted file mode 100755 index ec831671..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/HMMPoolManager.java +++ /dev/null @@ -1,574 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.*; -import edu.cmu.sphinx.util.LogMath; - -import java.io.IOException; -import java.util.HashMap; -import java.util.logging.Logger; - -/** Manages the HMM pools. */ -class HMMPoolManager { - - private HMMManager hmmManager; - private HashMap indexMap; - private Pool meansPool; - private Pool variancePool; - private Pool matrixPool; - private GaussianWeights mixtureWeights; - - private Pool meansBufferPool; - private Pool varianceBufferPool; - private Pool matrixBufferPool; - private Pool mixtureWeightsBufferPool; - - private Pool senonePool; - private LogMath logMath; - - private float logMixtureWeightFloor; - private float logTransitionProbabilityFloor; - private float varianceFloor; - private float logLikelihood; - private float currentLogLikelihood; - - /** The logger for this class */ - private static Logger logger = Logger.getLogger("edu.cmu.sphinx.linguist.acoustic.HMMPoolManager"); - - /** - * Constructor for this pool manager. It gets the pointers to the pools from a loader. - * - * @param loader the loader - * @throws IOException - */ - protected HMMPoolManager(Loader loader) throws IOException { - loader.load(); - hmmManager = loader.getHMMManager(); - indexMap = new HashMap(); - meansPool = loader.getMeansPool(); - variancePool = loader.getVariancePool(); - mixtureWeights = loader.getMixtureWeights(); - matrixPool = loader.getTransitionMatrixPool(); - senonePool = loader.getSenonePool(); - -// logMath = LogMath.getLogMath(); -// float mixtureWeightFloor = -// props.getFloat(TiedStateAcousticModel.PROP_MW_FLOOR); -// logMixtureWeightFloor = logMath.linearToLog(mixtureWeightFloor); -// float transitionProbabilityFloor = -// props.getFloat(TiedStateAcousticModel.PROP_TP_FLOOR); -// logTransitionProbabilityFloor = -// logMath.linearToLog(transitionProbabilityFloor); -// varianceFloor = -// props.getFloat(TiedStateAcousticModel.PROP_VARIANCE_FLOOR); - - createBuffers(); - logLikelihood = 0.0f; - logMath = LogMath.getLogMath(); - } - - /** Recreates the buffers. */ - protected void resetBuffers() { - createBuffers(); - logLikelihood = 0.0f; - } - - /** Create buffers for all pools used by the trainer in this pool manager. */ - protected void createBuffers() { - // the option false or true refers to whether the buffer is in - // log scale or not, true if it is. - meansBufferPool = create1DPoolBuffer(meansPool, false); - varianceBufferPool = create1DPoolBuffer(variancePool, false); - matrixBufferPool = create2DPoolBuffer(matrixPool, true); - mixtureWeightsBufferPool = createWeightsPoolBuffer(mixtureWeights); - } - - - /** Create buffers for a given pool. */ - private Pool create1DPoolBuffer(Pool pool, boolean isLog) { - Pool bufferPool = new Pool(pool.getName()); - - for (int i = 0; i < pool.size(); i++) { - float[] element = pool.get(i); - indexMap.put(element, i); - Buffer buffer = new Buffer(element.length, isLog, i); - bufferPool.put(i, buffer); - } - return bufferPool; - } - - private Pool createWeightsPoolBuffer(GaussianWeights mixtureWeights) { - Pool bufferPool = new Pool(mixtureWeights.getName()); - int statesNum = mixtureWeights.getStatesNum(); - int streamsNum = mixtureWeights.getStreamsNum(); - int gauPerState = mixtureWeights.getGauPerState(); - for (int i = 0; i < streamsNum; i++) { - for (int j = 0; j < statesNum; j++) { - int id = i * statesNum + j; - Buffer buffer = new Buffer(gauPerState, true, id); - bufferPool.put(id, buffer); - } - } - return bufferPool; - } - - /** Create buffers for a given pool. */ - private Pool create2DPoolBuffer(Pool pool, boolean isLog) { - Pool bufferPool = new Pool(pool.getName()); - - for (int i = 0; i < pool.size(); i++) { - float[][] element = pool.get(i); - indexMap.put(element, i); - int poolSize = element.length; - Buffer[] bufferArray = new Buffer[poolSize]; - for (int j = 0; j < poolSize; j++) { - bufferArray[j] = new Buffer(element[j].length, isLog, j); - } - bufferPool.put(i, bufferArray); - } - return bufferPool; - } - - /** - * Accumulate the TrainerScore into the buffers. - * - * @param index the current index into the TrainerScore vector - * @param score the TrainerScore - */ - protected void accumulate(int index, TrainerScore[] score) { - accumulate(index, score, null); - } - - /** - * Accumulate the TrainerScore into the buffers. - * - * @param index the current index into the TrainerScore vector - * @param score the TrainerScore for the current frame - * @param nextScore the TrainerScore for the next time frame - */ - protected void accumulate(int index, TrainerScore[] score, TrainerScore[] nextScore) { - int senoneID; - TrainerScore thisScore = score[index]; - - // We should be doing this just once per utterance... - // currentLogLikelihood = thisScore.getLogLikelihood(); - - // Since we're scaling, the loglikelihood disappears... - currentLogLikelihood = 0; - // And the total becomes the sum of (-) scaling factors - logLikelihood -= score[0].getScalingFactor(); - - SenoneHMMState state = (SenoneHMMState) thisScore.getState(); - if (state == null) { - // We only care about the case "all models" - senoneID = thisScore.getSenoneID(); - if (senoneID == TrainerAcousticModel.ALL_MODELS) { - accumulateMean(senoneID, score[index]); - accumulateVariance(senoneID, score[index]); - accumulateMixture(senoneID, score[index]); - accumulateTransition(senoneID, index, score, nextScore); - } - } else { - // If state is non-emitting, we presume there's only one - // transition out of it. Therefore, we only accumulate - // data for emitting states. - if (state.isEmitting()) { - senoneID = senonePool.indexOf(state.getSenone()); - // accumulateMean(senoneID, score[index]); - // accumulateVariance(senoneID, score[index]); - accumulateMixture(senoneID, score[index]); - accumulateTransition(senoneID, index, score, nextScore); - } - } - } - - /** Accumulate the means. */ - private void accumulateMean(int senone, TrainerScore score) { - if (senone == TrainerAcousticModel.ALL_MODELS) { - for (int i = 0; i < senonePool.size(); i++) { - accumulateMean(i, score); - } - } else { - GaussianMixture gaussian = (GaussianMixture)senonePool.get(senone); - MixtureComponent[] mix = gaussian.getMixtureComponents(); - for (int i = 0; i < mix.length; i++) { - float[] mean = mix[i].getMean(); - // int indexMean = meansPool.indexOf(mean); - int indexMean = indexMap.get(mean); - assert indexMean >= 0; - assert indexMean == senone; - Buffer buffer = meansBufferPool.get(indexMean); - float[] feature = ((FloatData) score.getData()).getValues(); - double[] data = new double[feature.length]; - float prob = score.getComponentGamma()[i]; - prob -= currentLogLikelihood; - double dprob = logMath.logToLinear(prob); - // prob = (float) logMath.logToLinear(prob); - for (int j = 0; j < data.length; j++) { - data[j] = feature[j] * dprob; - } - buffer.accumulate(data, dprob); - } - } - } - - - /** Accumulate the variance. */ - private void accumulateVariance(int senone, TrainerScore score) { - if (senone == TrainerAcousticModel.ALL_MODELS) { - for (int i = 0; i < senonePool.size(); i++) { - accumulateVariance(i, score); - } - } else { - GaussianMixture gaussian = (GaussianMixture)senonePool.get(senone); - MixtureComponent[] mix = gaussian.getMixtureComponents(); - for (int i = 0; i < mix.length; i++) { - float[] mean = mix[i].getMean(); - float[] variance = mix[i].getVariance(); - // int indexVariance = variancePool.indexOf(variance); - int indexVariance = indexMap.get(variance); - Buffer buffer = varianceBufferPool.get(indexVariance); - float[] feature = ((FloatData) score.getData()).getValues(); - double[] data = new double[feature.length]; - float prob = score.getComponentGamma()[i]; - prob -= currentLogLikelihood; - double dprob = logMath.logToLinear(prob); - for (int j = 0; j < data.length; j++) { - data[j] = (feature[j] - mean[j]); - data[j] *= data[j] * dprob; - } - buffer.accumulate(data, dprob); - } - } - } - - /** Accumulate the mixture weights. */ - private void accumulateMixture(int senone, TrainerScore score) { - // The index into the senone pool and the mixture weight pool - // is the same - if (senone == TrainerAcousticModel.ALL_MODELS) { - for (int i = 0; i < senonePool.size(); i++) { - accumulateMixture(i, score); - } - } else { - Buffer buffer = mixtureWeightsBufferPool.get(senone); - for (int i = 0; i < mixtureWeights.getGauPerState(); i++) { - float prob = score.getComponentGamma()[i]; - prob -= currentLogLikelihood; - buffer.logAccumulate(prob, i, logMath); - } - } - } - - /** - * Accumulate transitions from a given state. - * - * @param indexScore the current index into the TrainerScore - * @param score the score information - * @param nextScore the score information for the next frame - */ - private void accumulateStateTransition(int indexScore, TrainerScore[] score, TrainerScore[] nextScore) { - HMMState state = score[indexScore].getState(); - if (state == null) { - // Non-emitting state - return; - } - int indexState = state.getState(); - SenoneHMM hmm = (SenoneHMM) state.getHMM(); - float[][] matrix = hmm.getTransitionMatrix(); - - // Find the index for current matrix in the transition matrix pool - // int indexMatrix = matrixPool.indexOf(matrix); - int indexMatrix = indexMap.get(matrix); - - // Find the corresponding buffer - Buffer[] bufferArray = matrixBufferPool.get(indexMatrix); - - // Let's concentrate on the transitions *from* the current state - float[] vector = matrix[indexState]; - - for (int i = 0; i < vector.length; i++) { - // Make sure this is a valid transition - if (vector[i] != LogMath.LOG_ZERO) { - - // We're assuming that if the states have position "a" - // and "b" in the HMM, they'll have positions "k+a" - // and "k+b" in the graph, that is, their relative - // position is the same. - - // Distance between current state and "to" state in - // the HMM - int dist = i - indexState; - - // "to" state in the graph - int indexNextScore = indexScore + dist; - - // Make sure the next state is non-emitting (the last - // in the HMM), or in the same HMM. - assert ((nextScore[indexNextScore].getState() == null) || - (nextScore[indexNextScore].getState().getHMM() == hmm)); - float alpha = score[indexScore].getAlpha(); - float beta = nextScore[indexNextScore].getBeta(); - float transitionProb = vector[i]; - float outputProb = nextScore[indexNextScore].getScore(); - float prob = alpha + beta + transitionProb + outputProb; - prob -= currentLogLikelihood; - // i is the index into the next state. - bufferArray[indexState].logAccumulate(prob, i, logMath); - /* - if ((indexMatrix == 0) && (i == 2)) { - // System.out.println("Out: " + outputProb); - // bufferArray[indexState].dump(); - } - */ - } - } - } - - /** - * Accumulate transitions from a given state. - * - * @param indexState the state index - * @param hmm the HMM - * @param value the value to accumulate - */ - private void accumulateStateTransition(int indexState, SenoneHMM hmm, float value) { - // Find the transition matrix in this hmm - float[][] matrix = hmm.getTransitionMatrix(); - - // Find the vector with transitions from the current state to - // other states. - float[] stateVector = matrix[indexState]; - - // Find the index of the current transition matrix in the - // transition matrix pool. - // int indexMatrix = matrixPool.indexOf(matrix); - int indexMatrix = indexMap.get(matrix); - - // Find the buffer for the transition matrix. - Buffer[] bufferArray = matrixBufferPool.get(indexMatrix); - - // Accumulate for the transitions from current state - for (int i = 0; i < stateVector.length; i++) { - // Make sure we're not trying to accumulate in an invalid - // transition. - if (stateVector[i] != LogMath.LOG_ZERO) { - bufferArray[indexState].logAccumulate(value, i, logMath); - } - } - } - - /** Accumulate the transition probabilities. */ - private void accumulateTransition(int indexHmm, int indexScore, TrainerScore[] score, TrainerScore[] nextScore) { - if (indexHmm == TrainerAcousticModel.ALL_MODELS) { - // Well, special case... we want to add an amount to all - // the states in all models - for (HMM hmm : hmmManager) { - for (int j = 0; j < hmm.getOrder(); j++) { - accumulateStateTransition(j, (SenoneHMM)hmm, score[indexScore].getScore()); - } - } - } else { - // For transition accumulation, we don't consider the last - // time frame, since there's no transition from there to - // anywhere... - if (nextScore != null) { - accumulateStateTransition(indexScore, score, nextScore); - } - } - } - - /** Update the log likelihood. This method should be called for every utterance. */ - protected void updateLogLikelihood() { - // logLikelihood += currentLogLikelihood; - } - - /** - * Normalize the buffers. - * - * @return the log likelihood associated with the current training set - */ - protected float normalize() { - normalizePool(meansBufferPool); - normalizePool(varianceBufferPool); - logNormalizePool(mixtureWeightsBufferPool); - logNormalize2DPool(matrixBufferPool, matrixPool); - return logLikelihood; - } - - /** - * Normalize a single buffer pool. - * - * @param pool the buffer pool to normalize - */ - private void normalizePool(Pool pool) { - assert pool != null; - for (int i = 0; i < pool.size(); i++) { - Buffer buffer = pool.get(i); - if (buffer.wasUsed()) { - buffer.normalize(); - } - } - } - - /** - * Normalize a single buffer pool in log scale. - * - * @param pool the buffer pool to normalize - */ - private void logNormalizePool(Pool pool) { - assert pool != null; - for (int i = 0; i < pool.size(); i++) { - Buffer buffer = pool.get(i); - if (buffer.wasUsed()) { - buffer.logNormalize(); - } - } - } - - /** - * Normalize a 2D buffer pool in log scale. Typically, this is the case with the transition matrix, which also needs - * a mask for values that are allowed, and therefor have to be updated, or not allowed, and should be ignored. - * - * @param pool the buffer pool to normalize - * @param maskPool pool containing a mask with zero/non-zero values. - */ - private void logNormalize2DPool(Pool pool, Pool maskPool) { - assert pool != null; - for (int i = 0; i < pool.size(); i++) { - Buffer[] bufferArray = pool.get(i); - float[][] mask = maskPool.get(i); - for (int j = 0; j < bufferArray.length; j++) { - if (bufferArray[j].wasUsed()) { - bufferArray[j].logNormalizeNonZero(mask[j]); - } - } - } - } - - /** Update the models. */ - protected void update() { - updateMeans(); - updateVariances(); - recomputeMixtureComponents(); - updateMixtureWeights(); - updateTransitionMatrices(); - } - - /** - * Copy one vector onto another. - * - * @param in the source vector - * @param out the destination vector - */ - private void copyVector(float[] in, float[] out) { - assert in.length == out.length; - System.arraycopy(in, 0, out, 0, in.length); - } - - /** Update the means. */ - private void updateMeans() { - assert meansPool.size() == meansBufferPool.size(); - for (int i = 0; i < meansPool.size(); i++) { - float[] means = meansPool.get(i); - Buffer buffer = meansBufferPool.get(i); - if (buffer.wasUsed()) { - float[] meansBuffer = buffer.getValues(); - copyVector(meansBuffer, means); - } else { - logger.info("Senone " + i + " not used."); - } - } - } - - /** Update the variances. */ - private void updateVariances() { - assert variancePool.size() == varianceBufferPool.size(); - for (int i = 0; i < variancePool.size(); i++) { - float[] means = meansPool.get(i); - float[] variance = variancePool.get(i); - Buffer buffer = varianceBufferPool.get(i); - if (buffer.wasUsed()) { - float[] varianceBuffer = buffer.getValues(); - assert means.length == varianceBuffer.length; - for (int j = 0; j < means.length; j++) { - varianceBuffer[j] -= means[j] * means[j]; - if (varianceBuffer[j] < varianceFloor) { - varianceBuffer[j] = varianceFloor; - } - } - copyVector(varianceBuffer, variance); - } - } - } - - /** Recompute the precomputed values in all mixture components. */ - private void recomputeMixtureComponents() { - for (int i = 0; i < senonePool.size(); i++) { - GaussianMixture gMix = (GaussianMixture) senonePool.get(i); - MixtureComponent[] mixComponent = gMix.getMixtureComponents(); - for (MixtureComponent component : mixComponent) { - component.precomputeDistance(); - } - } - } - - /** Update the mixture weights. */ - private void updateMixtureWeights() { - int statesNum = mixtureWeights.getStatesNum(); - int streamsNum = mixtureWeights.getStreamsNum(); - assert statesNum * streamsNum == mixtureWeightsBufferPool.size(); - for (int i = 0; i < streamsNum; i++) { - for (int j = 0; j < statesNum; j++) { - int id = i * statesNum + j; - Buffer buffer = mixtureWeightsBufferPool.get(id); - if (buffer.wasUsed()) { - if (buffer.logFloor(logMixtureWeightFloor)) { - buffer.logNormalizeToSum(logMath); - } - float[] mixtureWeightsBuffer = buffer.getValues(); - mixtureWeights.put(j, i, mixtureWeightsBuffer); - } - } - } - } - - /** Update the transition matrices. */ - private void updateTransitionMatrices() { - assert matrixPool.size() == matrixBufferPool.size(); - for (int i = 0; i < matrixPool.size(); i++) { - float[][] matrix = matrixPool.get(i); - Buffer[] bufferArray = matrixBufferPool.get(i); - for (int j = 0; j < matrix.length; j++) { - Buffer buffer = bufferArray[j]; - if (buffer.wasUsed()) { - for (int k = 0; k < matrix[j].length; k++) { - float bufferValue = buffer.getValue(k); - if (bufferValue != LogMath.LOG_ZERO) { - assert matrix[j][k] != LogMath.LOG_ZERO; - if (bufferValue < logTransitionProbabilityFloor) { - buffer.setValue(k, logTransitionProbabilityFloor); - } - } - } - buffer.logNormalizeToSum(logMath); - copyVector(buffer.getValues(), matrix[j]); - } - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/ModelInitializerLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/ModelInitializerLoader.java deleted file mode 100755 index 2f751c96..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/ModelInitializerLoader.java +++ /dev/null @@ -1,633 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.decoder.adaptation.ClusteredDensityFileData; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.*; -import static edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.Feature.*; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StreamFactory; -import edu.cmu.sphinx.util.props.*; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.StreamCorruptedException; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * an acoustic model loader that initializes models - *

- * Mixture weights and transition probabilities are maintained in logMath log base, - */ -public class ModelInitializerLoader implements Loader { - - private final static String SILENCE_CIPHONE = "SIL"; - - public final static String MODEL_VERSION = "0.3"; - - private final static int CONTEXT_SIZE = 1; - - private Pool meansPool; - private Pool variancePool; - private Pool matrixPool; - private Pool meanTransformationMatrixPool; - private Pool meanTransformationVectorPool; - private Pool varianceTransformationMatrixPool; - private Pool varianceTransformationVectorPool; - private GaussianWeights mixtureWeights; - - private Pool senonePool; - private int vectorLength = 39; - - private Map contextIndependentUnits; - private Map phoneList; - private HMMManager hmmManager; - - @S4String(defaultValue="model") - public static final String MODEL_NAME = "modelName"; - - @S4String(defaultValue = ".") - public static final String LOCATION = "location"; - - @S4String(defaultValue = "phonelist") - public static final String PHONE_LIST = "phones"; - - @S4String(defaultValue = "data") - public static final String DATA_DIR = "dataDir"; - - @S4String(defaultValue = "model.props") - public static final String PROP_FILE = "propsFile"; - - @S4Component(type = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - private UnitManager unitManager; - - @S4Boolean(defaultValue = false) - public final static String PROP_USE_CD_UNITS = "useCDUnits"; - - @S4Double(defaultValue = 0.0001f) - public final static String PROP_VARIANCE_FLOOR = "varianceFloor"; - - /** Mixture component score floor. */ - @S4Double(defaultValue = 0.0) - public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; - - /** Mixture weight floor. */ - @S4Double(defaultValue = 1e-7f) - public final static String PROP_MW_FLOOR = "mixtureWeightFloor"; - - private LogMath logMath; - - /** The logger for this class */ - private Logger logger; - - public void newProperties(PropertySheet ps) throws PropertyException { - logMath = LogMath.getLogMath(); - logger = ps.getLogger(); - - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - - hmmManager = new HMMManager(); - contextIndependentUnits = new LinkedHashMap(); - phoneList = new LinkedHashMap(); - - meanTransformationMatrixPool = createDummyMatrixPool("meanTransformationMatrix"); - meanTransformationVectorPool = createDummyVectorPool("meanTransformationMatrix"); - varianceTransformationMatrixPool = createDummyMatrixPool("varianceTransformationMatrix"); - varianceTransformationVectorPool = createDummyVectorPool("varianceTransformationMatrix"); - - String modelName = ps.getString(MODEL_NAME); - - String location = ps.getString(LOCATION); - String phone = ps.getString(PHONE_LIST); - String dataDir = ps.getString(DATA_DIR); - - logger.info("Creating Sphinx3 acoustic model: " + modelName); - logger.info(" Path : " + location); - logger.info(" phonelist : " + phone); - logger.info(" dataDir : " + dataDir); - - // load the HMM model file - boolean useCDUnits = ps.getBoolean(PROP_USE_CD_UNITS); - - assert !useCDUnits; - try { - loadPhoneList(ps, useCDUnits, StreamFactory.getInputStream(location, phone), location + File.separator + phone); - } catch (StreamCorruptedException sce) { - printPhoneListHelp(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** Prints out a help message with format of phone list. */ - private void printPhoneListHelp() { - System.out.println("The format for the phone list file is:"); - System.out.println("\tversion 0.1"); - System.out.println("\tsame_sized_models yes"); - System.out.println("\tn_state 3"); - System.out.println("\ttmat_skip (no|yes)"); - System.out.println("\tAA"); - System.out.println("\tAE"); - System.out.println("\tAH"); - System.out.println("\t..."); - System.out.println("Or:"); - System.out.println("\tversion 0.1"); - System.out.println("\tsame_sized_models no"); - System.out.println("\ttmat_skip (no|yes)"); - System.out.println("\tAA 5"); - System.out.println("\tAE 3"); - System.out.println("\tAH 4"); - System.out.println("\t..."); - } - - public Map getContextIndependentUnits() { - return contextIndependentUnits; - } - - /** - * Adds a model to the senone pool. - * - * @param pool the senone pool - * @param stateID vector with senone ID for an HMM - * @param distFloor the lowest allowed score - * @param varianceFloor the lowest allowed variance - * @return the senone pool - */ - private void addModelToSenonePool(Pool pool, int[] stateID, float distFloor, float varianceFloor) { - assert pool != null; - -// int numMixtureWeights = mixtureWeightsPool.size(); - - /* - int numMeans = meansPool.size(); - int numVariances = variancePool.size(); - int numSenones = mixtureWeightsPool.getFeature(NUM_SENONES, 0); - int whichGaussian = 0; - - logger.fine("NG " + numGaussiansPerSenone); - logger.fine("NS " + numSenones); - logger.fine("NMIX " + numMixtureWeights); - logger.fine("NMNS " + numMeans); - logger.fine("NMNS " + numVariances); - - assert numMixtureWeights == numSenones; - assert numVariances == numSenones * numGaussiansPerSenone; - assert numMeans == numSenones * numGaussiansPerSenone; - */ - int numGaussiansPerSenone = mixtureWeights.getGauPerState(); - assert numGaussiansPerSenone > 0; - for (int state : stateID) { - MixtureComponent[] mixtureComponents = new MixtureComponent[numGaussiansPerSenone]; - for (int j = 0; j < numGaussiansPerSenone; j++) { - int whichGaussian = state * numGaussiansPerSenone + j; - mixtureComponents[j] = new MixtureComponent( - meansPool.get(whichGaussian), - meanTransformationMatrixPool.get(0), - meanTransformationVectorPool.get(0), - variancePool.get(whichGaussian), - varianceTransformationMatrixPool.get(0), - varianceTransformationVectorPool.get(0), - distFloor, - varianceFloor); - } - - Senone senone = new GaussianMixture(mixtureWeights, mixtureComponents, state); - - pool.put(state, senone); - } - } - - /** - * Adds a set of density arrays to a given pool. - * - * @param pool the pool to add densities to - * @param stateID a vector with the senone id of the states in a model - * @param numStreams the number of streams - * @param numGaussiansPerState the number of Gaussians per state - * @throws IOException if an error occurs while loading the data - */ - private void addModelToDensityPool(Pool pool, int[] stateID, int numStreams, int numGaussiansPerState) - throws IOException { - assert pool != null; - assert stateID != null; - - int numStates = stateID.length; - - int numInPool = pool.getFeature(NUM_SENONES, 0); - pool.setFeature(NUM_SENONES, numStates + numInPool); - numInPool = pool.getFeature(NUM_STREAMS, -1); - if (numInPool == -1) { - pool.setFeature(NUM_STREAMS, numStreams); - } else { - assert numInPool == numStreams; - } - numInPool = pool.getFeature(NUM_GAUSSIANS_PER_STATE, -1); - if (numInPool == -1) { - pool.setFeature(NUM_GAUSSIANS_PER_STATE, numGaussiansPerState); - } else { - assert numInPool == numGaussiansPerState; - } - - // TODO: numStreams should be any number > 0, but for now.... - assert numStreams == 1; - for (int i = 0; i < numStates; i++) { - int state = stateID[i]; - for (int j = 0; j < numGaussiansPerState; j++) { - // We're creating densities here, so it's ok if values - // are all zero. - float[] density = new float[vectorLength]; - int id = state * numGaussiansPerState + j; - pool.put(id, density); - } - } - } - - /** - * If a data point is below 'floor' make it equal to floor. - * - * @param data the data to floor - * @param floor the floored value - */ - private void floorData(float[] data, float floor) { - for (int i = 0; i < data.length; i++) { - if (data[i] < floor) { - data[i] = floor; - } - } - } - - /** - * Normalize the given data. - * - * @param data the data to normalize - */ - private void normalize(float[] data) { - float sum = 0; - for (float val : data) { - sum += val; - } - - if (sum != 0.0f) { - // Invert, so we multiply instead of dividing inside the loop - sum = 1.0f / sum; - for (int i = 0; i < data.length; i++) { - data[i] = data[i] * sum; - } - } - } - - /** - * Loads the phone list, which possibly contains the sizes (number of states) of models. - * - * @param ps - * @param useCDUnits if true, uses context dependent units - * @param inputStream the open input stream to use - * @param path the path to a density file @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while loading the data - */ - private void loadPhoneList(PropertySheet ps, boolean useCDUnits, InputStream inputStream, String path) - throws IOException { - int numState = 0; - // TODO: this should be flexible, but we're hardwiring for now - int numStreams = 1; - // Since we're initializing, we start simple. - int numGaussiansPerState = 1; - - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, '#', false); - - // Initialize the pools we'll need. - meansPool = new Pool("means"); - variancePool = new Pool("variances"); - matrixPool = new Pool("transitionmatrices"); - senonePool = new Pool("senones"); - - float distFloor = ps.getFloat(PROP_MC_FLOOR); - float mixtureWeightFloor = ps.getFloat(PROP_MW_FLOOR); - float transitionProbabilityFloor = 0; - float varianceFloor = ps.getFloat(PROP_VARIANCE_FLOOR); - - logger.info("Loading phone list file from: "); - logger.info(path); - - // At this point, we only accept version 0.1 - String version = "0.1"; - est.expectString("version"); - est.expectString(version); - - est.expectString("same_sized_models"); - boolean sameSizedModels = est.getString().equals("yes"); - - if (sameSizedModels) { - est.expectString("n_state"); - numState = est.getInt("numBase"); - } - - // for this phone list version, let's assume left-to-right - // models, with optional state skip. - est.expectString("tmat_skip"); - boolean tmatSkip = est.getString().equals("yes"); - - // Load the phones with sizes - - // stateIndex contains the absolute state index, that is, a - // unique index in the senone pool. - int stateIndex, unitCount; - for (stateIndex = 0, unitCount = 0; ;) { - String phone = est.getString(); - if (est.isEOF()) { - break; - } - int size = numState; - if (!sameSizedModels) { - size = est.getInt("ModelSize"); - } - phoneList.put(phone, size); - logger.fine("Phone: " + phone + " size: " + size); - int[] stid = new int[size]; - String position = "-"; - - for (int j = 0; j < size; j++, stateIndex++) { - stid[j] = stateIndex; - } - - Unit unit = unitManager.getUnit(phone, phone.equals(SILENCE_CIPHONE)); - - contextIndependentUnits.put(unit.getName(), unit); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit + " with " + size + " states"); - } - - // Means - addModelToDensityPool(meansPool, stid, numStreams, numGaussiansPerState); - - // Variances - addModelToDensityPool(variancePool, stid, numStreams, numGaussiansPerState); - - // Transition matrix - addModelToTransitionMatrixPool(matrixPool, unitCount, stid.length, transitionProbabilityFloor, tmatSkip); - - // After creating all pools, we create the senone pool. - addModelToSenonePool(senonePool, stid, distFloor, varianceFloor); - - // With the senone pool in place, we go through all units, and - // create the HMMs. - - // Create tmat - float[][] transitionMatrix = matrixPool.get(unitCount); - SenoneSequence ss = getSenoneSequence(stid); - - HMM hmm = new SenoneHMM(unit, ss, transitionMatrix, HMMPosition.lookup(position)); - hmmManager.put(hmm); - unitCount++; - } - // Mixture weights - all at once - mixtureWeights = initMixtureWeights(stateIndex, numStreams, numGaussiansPerState, mixtureWeightFloor); - - // If we want to use this code to load sizes/create models for - // CD units, we need to find another way of establishing the - // number of CI models, instead of just reading until the end - // of file. - - est.close(); - } - - /** - * Gets the senone sequence representing the given senones. - * - * @param stateid is the array of senone state ids - * @return the senone sequence associated with the states - */ - - private SenoneSequence getSenoneSequence(int[] stateid) { - Senone[] senones = new Senone[stateid.length]; - - for (int i = 0; i < stateid.length; i++) { - senones[i] = senonePool.get(stateid[i]); - } - - // TODO: Is there any advantage in trying to pool these? - return new SenoneSequence(senones); - } - - /** - * Adds model to the mixture weights - * - * @param numStates the number of states - * @param numStreams the number of streams - * @param numGaussiansPerState the number of Gaussians per state - * @param floor the minimum mixture weight allowed - * @return mixtureWeights the gaussian weights holder - */ - private GaussianWeights initMixtureWeights(int numStates, int numStreams, int numGaussiansPerState, float floor) { - - // TODO: allow any number for numStreams - assert numStreams == 1; - GaussianWeights mixtureWeights = new GaussianWeights("mixtureweights", numStates, numGaussiansPerState, numStreams); - for (int i = 0; i < numStates; i++) { - float[] logMixtureWeight = new float[numGaussiansPerState]; - // Initialize the weights with the same value, e.g. floor - floorData(logMixtureWeight, floor); - // Normalize, so the numbers are not all too low - normalize(logMixtureWeight); - logMath.linearToLog(logMixtureWeight); - mixtureWeights.put(i, 0, logMixtureWeight); - } - return mixtureWeights; - } - - /** - * Adds transition matrix to the transition matrices pool - * - * @param pool the pool to add matrix to - * @param hmmId current HMM's id - * @param numEmittingStates number of states in current HMM - * @param floor the transition probability floor - * @param skip if true, states can be skipped - * @throws IOException if an error occurs while loading the data - */ - private void addModelToTransitionMatrixPool(Pool pool, int hmmId, int numEmittingStates, - float floor, boolean skip) - throws IOException { - - assert pool != null; - - // Add one to account for the last, non-emitting, state - int numStates = numEmittingStates + 1; - - float[][] tmat = new float[numStates][numStates]; - - for (int j = 0; j < numStates; j++) { - for (int k = 0; k < numStates; k++) { - // Just to be sure... - tmat[j][k] = 0.0f; - - // the last row is just zeros, so we just do - // the first (numStates - 1) rows - - // The value assigned could be anything, provided - // we normalize it. - if (j < numStates - 1) { - // Usual case: state can transition to itself - // or the next state. - if (k == j || k == j + 1) { - tmat[j][k] = floor; - } - // If we can skip, we can also transition to - // the next state - if (skip) { - if (k == j + 2) { - tmat[j][k] = floor; - } - } - } - } - normalize(tmat[j]); - logMath.linearToLog(tmat[j]); - } - pool.put(hmmId, tmat); - } - - /** - * Creates a pool with a single identity matrix in it. - * - * @param name the name of the pool - * @return the pool with the matrix - */ - private Pool createDummyMatrixPool(String name) { - Pool pool = new Pool(name); - float[][] matrix = new float[vectorLength][vectorLength]; - logger.info("creating dummy matrix pool " + name); - for (int i = 0; i < vectorLength; i++) { - for (int j = 0; j < vectorLength; j++) { - if (i == j) { - matrix[i][j] = 1.0F; - } else { - matrix[i][j] = 0.0F; - } - } - } - - pool.put(0, matrix); - return pool; - } - - /** - * Creates a pool with a single zero vector in it. - * - * @param name the name of the pool - * @return the pool with the vector - */ - private Pool createDummyVectorPool(String name) { - logger.info("creating dummy vector pool " + name); - Pool pool = new Pool(name); - float[] vector = new float[vectorLength]; - for (int i = 0; i < vectorLength; i++) { - vector[i] = 0.0f; - } - pool.put(0, vector); - return pool; - } - - public void load() throws IOException { - } - - public Pool getMeansPool() { - return meansPool; - } - - public Pool getMeansTransformationMatrixPool() { - return meanTransformationMatrixPool; - } - - public Pool getMeansTransformationVectorPool() { - return meanTransformationVectorPool; - } - - public Pool getVariancePool() { - return variancePool; - } - - public Pool getVarianceTransformationMatrixPool() { - return varianceTransformationMatrixPool; - } - - public Pool getVarianceTransformationVectorPool() { - return varianceTransformationVectorPool; - } - - public GaussianWeights getMixtureWeights() { - return mixtureWeights; - } - - public Pool getTransitionMatrixPool() { - return matrixPool; - } - - public float[][] getTransformMatrix() { - return null; - } - - public Pool getSenonePool() { - return senonePool; - } - - public int getLeftContextSize() { - return CONTEXT_SIZE; - } - - public int getRightContextSize() { - return CONTEXT_SIZE; - } - - public HMMManager getHMMManager() { - return hmmManager; - } - - public void logInfo() { - logger.info("Sphinx3Loader"); - meansPool.logInfo(logger); - variancePool.logInfo(logger); - matrixPool.logInfo(logger); - senonePool.logInfo(logger); - meanTransformationMatrixPool.logInfo(logger); - meanTransformationVectorPool.logInfo(logger); - varianceTransformationMatrixPool.logInfo(logger); - varianceTransformationVectorPool.logInfo(logger); - mixtureWeights.logInfo(logger); - senonePool.logInfo(logger); - logger.info("Context Independent Unit Entries: " + contextIndependentUnits.size()); - hmmManager.logInfo(logger); - } - - public Properties getProperties() { - return new Properties(); - } - - @Override - public void update(Transform transform, ClusteredDensityFileData clusters) { - // TODO Not implemented yet - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx3Saver.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx3Saver.java deleted file mode 100755 index e14e39f6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx3Saver.java +++ /dev/null @@ -1,836 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.linguist.acoustic.LeftRightContext; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.*; -import static edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool.Feature.*; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StreamFactory; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.*; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * An acoustic model saver that saves sphinx3 ascii data. - *

- * Mixture weights and transition probabilities are saved in linear scale. - */ -public class Sphinx3Saver implements Saver { - - /** - * The property specifying whether the transition matrices of the acoustic model is in sparse form, i.e., - * omitting the zeros of the non-transitioning states. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_SPARSE_FORM = "sparseForm"; - protected boolean sparseForm; - - @S4Boolean(defaultValue = true) - public final static String PROP_USE_CD_UNITS = "useCDUnits"; - - @S4Double(defaultValue = 0.0f) - public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; - - - @S4Component(type = Loader.class) - public static final String LOADER = "loader"; - - @S4Integer(defaultValue = 39) - public final static String PROP_VECTOR_LENGTH = "vectorLength"; - - protected Logger logger; - - protected final static String FILLER = "filler"; - protected final static String SILENCE_CIPHONE = "SIL"; - - protected final static int BYTE_ORDER_MAGIC = 0x11223344; - - public final static String MODEL_VERSION = "0.3"; - - protected final static int CONTEXT_SIZE = 1; - - private String checksum; - private boolean doCheckSum; - - private Pool meansPool; - private Pool variancePool; - private Pool matrixPool; - private Pool meanTransformationMatrixPool; - private Pool meanTransformationVectorPool; - private Pool varianceTransformationMatrixPool; - private Pool varianceTransformationVectorPool; - private GaussianWeights mixtureWeights; - - private Pool senonePool; - private int vectorLength; - - private Map contextIndependentUnits; - private HMMManager hmmManager; - protected LogMath logMath; - private boolean binary; - private String location; - private boolean swap; - - protected final static String DENSITY_FILE_VERSION = "1.0"; - protected final static String MIXW_FILE_VERSION = "1.0"; - protected final static String TMAT_FILE_VERSION = "1.0"; - - @S4String(defaultValue = ".") - public static final String SAVE_LOCATION = "saveLocation"; - - @S4String(mandatory = false, defaultValue = "") - public final static String DATA_LOCATION = "dataLocation"; - private String dataDir; - - @S4String(mandatory = false, defaultValue = "") - public final static String DEF_FILE = "definitionFile"; - - public boolean useCDUnits; - - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - - location = ps.getString(SAVE_LOCATION); - dataDir = ps.getString(DATA_LOCATION); - - sparseForm = ps.getBoolean(PROP_SPARSE_FORM); - useCDUnits = ps.getBoolean(PROP_USE_CD_UNITS); - logMath = LogMath.getLogMath(); - - // extract the feature vector length - vectorLength = ps.getInt(PROP_VECTOR_LENGTH); - - Loader loader = (Loader) ps.getComponent(LOADER); - hmmManager = loader.getHMMManager(); - meansPool = loader.getMeansPool(); - variancePool = loader.getVariancePool(); - mixtureWeights = loader.getMixtureWeights(); - matrixPool = loader.getTransitionMatrixPool(); - senonePool = loader.getSenonePool(); - contextIndependentUnits = new LinkedHashMap (); - - // TODO: read checksum from props; - checksum = "no"; - doCheckSum = (checksum != null && checksum.equals("yes")); - swap = false; - } - - /** - * Return the checksum string. - * - * @return the checksum - */ - protected String getCheckSum() { - return checksum; - } - - /** - * Return whether to do the dochecksum. If true, checksum is performed. - * - * @return the dochecksum - */ - protected boolean getDoCheckSum() { - return doCheckSum; - } - - /** - * Return the location. - * - * @return the location - */ - protected String getLocation() { - return location; - } - - /** - * Saves the AcousticModel from a directory in the file system. - * - * @param modelName the name of the acoustic model; if null we just save from the default location - */ - public void save(String modelName, boolean b) throws IOException { - - logger.info("Saving acoustic model: " + modelName); - logger.info(" Path : " + location); - logger.info(" modellName: " + modelName); - logger.info(" dataDir : " + dataDir); - - // save the acoustic properties file (am.props), - // create a different URL depending on the data format - - if (binary) { - // First, overwrite the previous file - saveDensityFileBinary(meansPool, dataDir + "means", true); - // From now on, append to previous file - saveDensityFileBinary(variancePool, dataDir + "variances", true); - saveMixtureWeightsBinary(mixtureWeights, dataDir + "mixture_weights", true); - saveTransitionMatricesBinary(matrixPool, dataDir + "transition_matrices", true); - - } else { - saveDensityFileAscii(meansPool, dataDir + "means.ascii", true); - saveDensityFileAscii(variancePool, dataDir + "variances.ascii", true); - saveMixtureWeightsAscii(mixtureWeights, dataDir + "mixture_weights.ascii", true); - saveTransitionMatricesAscii(matrixPool, dataDir + "transition_matrices.ascii", true); - } - - // save the HMM model file - - saveHMMPool(useCDUnits, StreamFactory.getOutputStream(location, "mdef", true), location + File.separator + "mdef"); - } - - public Map getContextIndependentUnits() { - return contextIndependentUnits; - } - - - /** - * Saves the sphinx3 density file, a set of density arrays are created and placed in the given pool. - * - * @param pool the pool to be saved - * @param path the name of the data - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - private void saveDensityFileAscii(Pool pool, String path, boolean append) - throws FileNotFoundException, IOException { - logger.info("Saving density file to: "); - logger.info(path); - - OutputStream outputStream = StreamFactory.getOutputStream(location, path, append); - - if (outputStream == null) { - throw new IOException("Error trying to write file " + location + path); - } - PrintWriter pw = new PrintWriter(outputStream, true); - - pw.print("param "); - int numStates = pool.getFeature(NUM_SENONES, -1); - pw.print(numStates + " "); - int numStreams = pool.getFeature(NUM_STREAMS, -1); - pw.print(numStreams + " "); - int numGaussiansPerState = pool.getFeature(NUM_GAUSSIANS_PER_STATE, -1); - pw.println(numGaussiansPerState); - - for (int i = 0; i < numStates; i++) { - pw.println("mgau " + i); - pw.println("feat " + 0); - for (int j = 0; j < numGaussiansPerState; j++) { - - pw.print("density" + " \t" + j); - - int id = i * numGaussiansPerState + j; - float[] density = pool.get(id); - for (int k = 0; k < vectorLength; k++) { - pw.print(" " + density[k]); - // System.out.println(" " + i + " " + j + " " + k + - // " " + density[k]); - } - pw.println(); - } - } - outputStream.close(); - } - - /** - * Saves the sphinx3 density file, a set of density arrays are created and placed in the given pool. - * - * @param pool the pool to be saved - * @param path the name of the data - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - private void saveDensityFileBinary(Pool pool, String path, boolean append) - throws FileNotFoundException, IOException { - Properties props = new Properties(); - int checkSum = 0; - - logger.info("Saving density file to: "); - logger.info(path); - - props.setProperty("version", DENSITY_FILE_VERSION); - props.setProperty("chksum0", checksum); - - DataOutputStream dos = writeS3BinaryHeader(location, path, props, append); - - int numStates = pool.getFeature(NUM_SENONES, -1); - int numStreams = pool.getFeature(NUM_STREAMS, -1); - int numGaussiansPerState = pool.getFeature(NUM_GAUSSIANS_PER_STATE, -1); - - writeInt(dos, numStates); - writeInt(dos, numStreams); - writeInt(dos, numGaussiansPerState); - - int rawLength = 0; - int[] vectorLength = new int[numStreams]; - for (int i = 0; i < numStreams; i++) { - vectorLength[i] = this.vectorLength; - writeInt(dos, vectorLength[i]); - rawLength += numGaussiansPerState * numStates * vectorLength[i]; - } - - assert numStreams == 1; - assert rawLength == numGaussiansPerState * numStates * this.vectorLength; - writeInt(dos, rawLength); - - //System.out.println("Nstates " + numStates); - //System.out.println("Nstreams " + numStreams); - //System.out.println("NgaussiansPerState " + numGaussiansPerState); - //System.out.println("vectorLength " + vectorLength.length); - //System.out.println("rawLength " + rawLength); - - for (int i = 0; i < numStates; i++) { - for (int j = 0; j < numStreams; j++) { - for (int k = 0; k < numGaussiansPerState; k++) { - int id = i * numStreams * numGaussiansPerState + - j * numGaussiansPerState + k; - float[] density = pool.get(id); - // Do checksum here? - writeFloatArray(dos, density); - } - } - } - if (doCheckSum) { - assert doCheckSum = false : "Checksum not supported"; - } - // S3 requires some number here.... - writeInt(dos, checkSum); - // BUG: not checking the check sum yet. - dos.close(); - } - - /** - * Writes the S3 binary header to the given location+path. - * - * @param location the location of the file - * @param path the name of the file - * @param props the properties - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @return the output stream positioned after the header - * @throws IOException on error - */ - protected DataOutputStream writeS3BinaryHeader(String location, String path, Properties props, boolean append) - throws IOException { - - OutputStream outputStream = StreamFactory.getOutputStream(location, path, append); - if (doCheckSum) { - assert false : "Checksum not supported"; - } - DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(outputStream)); - - writeWord(dos, "s3\n"); - - for (Enumeration e = props.keys(); e.hasMoreElements();) { - String name = (String) e.nextElement(); - String value = props.getProperty(name); - writeWord(dos, name + ' ' + value + '\n'); - } - writeWord(dos, "endhdr\n"); - - writeInt(dos, BYTE_ORDER_MAGIC); - - return dos; - } - - /** - * Writes the next word (without surrounding white spaces) to the given stream. - * - * @param dos the output stream - * @param word the next word - * @throws IOException on error - */ - void writeWord(DataOutputStream dos, String word) throws IOException { - dos.writeBytes(word); - } - - - /** - * Writes an integer to the output stream, byte-swapping as necessary - * - * @param dos the output stream - * @param val an integer value - * @throws IOException on error - */ - protected void writeInt(DataOutputStream dos, int val) throws IOException { - if (swap) { - dos.writeInt(Utilities.swapInteger(val)); - } else { - dos.writeInt(val); - } - } - - /** - * Writes a float to the output stream, byte-swapping as necessary - * - * @param dos the input stream - * @param val a float value - * @throws IOException on error - */ - protected void writeFloat(DataOutputStream dos, float val) - throws IOException { - if (swap) { - dos.writeFloat(Utilities.swapFloat(val)); - } else { - dos.writeFloat(val); - } - } - - - /** - * Writes the given number of floats from an array of floats to a stream. - * - * @param dos the stream to write the data to - * @param data the array of floats to write to the stream - * @throws IOException if an exception occurs - */ - protected void writeFloatArray(DataOutputStream dos, float[] data) - throws IOException { - for (float val : data) { - writeFloat(dos, val); - } - } - - /** - * Saves the sphinx3 density file, a set of density arrays are created and placed in the given pool. - * - * @param useCDUnits if true, uses context dependent units - * @param outputStream the open output stream to use - * @param path the path to a density file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - private void saveHMMPool(boolean useCDUnits, OutputStream outputStream, String path) - throws FileNotFoundException, IOException { - logger.info("Saving HMM file to: "); - logger.info(path); - - if (outputStream == null) { - throw new IOException("Error trying to write file " - + location + path); - } - PrintWriter pw = new PrintWriter(outputStream, true); - - /* - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer - (outputStream, '#', false); - Pool pool = new Pool(path); - */ - - // First, count the HMMs - int numBase = 0; - int numTri = 0; - int numContextIndependentTiedState = 0; - int numStateMap = 0; - for (HMM hmm : hmmManager) { - numStateMap += hmm.getOrder() + 1; - if (((SenoneHMM)hmm).isContextDependent()) { - numTri++; - } else { - numBase++; - numContextIndependentTiedState += hmm.getOrder(); - } - } - pw.println(MODEL_VERSION); - pw.println(numBase + " n_base"); - pw.println(numTri + " n_tri"); - pw.println(numStateMap + " n_state_map"); - int numTiedState = mixtureWeights.getStatesNum(); - pw.println(numTiedState + " n_tied_state"); - pw.println(numContextIndependentTiedState + " n_tied_ci_state"); - int numTiedTransitionMatrices = numBase; - assert numTiedTransitionMatrices == matrixPool.size(); - pw.println(numTiedTransitionMatrices + " n_tied_tmat"); - - pw.println("#"); - pw.println("# Columns definitions"); - pw.println("#base lft rt p attrib tmat ... state id's ..."); - - // Save the base phones - for (HMM hmm0 : hmmManager) { - SenoneHMM hmm = (SenoneHMM)hmm0; - if (hmm.isContextDependent()) { - continue; - } - - Unit unit = hmm.getUnit(); - - String name = unit.getName(); - pw.print(name + '\t'); - String left = "-"; - pw.print(left + " "); - String right = "-"; - pw.print(right + ' '); - String position = hmm.getPosition().toString(); - pw.print(position + '\t'); - String attribute = unit.isFiller() ? FILLER : "n/a"; - pw.print(attribute + '\t'); - int tmat = matrixPool.indexOf(hmm.getTransitionMatrix()); - assert tmat < numTiedTransitionMatrices; - pw.print(tmat + "\t"); - - SenoneSequence ss = hmm.getSenoneSequence(); - Senone[] senones = ss.getSenones(); - for (Senone senone : senones) { - int index = senonePool.indexOf(senone); - assert index >= 0 && index < numContextIndependentTiedState; - pw.print(index + "\t"); - } - pw.println("N"); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Saved " + unit); - } - - } - - // Save the context dependent phones. - - for (HMM hmm0 : hmmManager) { - SenoneHMM hmm = (SenoneHMM)hmm0; - if (!hmm.isContextDependent()) { - continue; - } - - Unit unit = hmm.getUnit(); - LeftRightContext context = (LeftRightContext)unit.getContext(); - Unit[] leftContext = context.getLeftContext(); - Unit[] rightContext = context.getRightContext(); - assert leftContext.length == 1 && rightContext.length == 1; - - String name = unit.getName(); - pw.print(name + '\t'); - String left = leftContext[0].getName(); - pw.print(left + " "); - String right = rightContext[0].getName(); - pw.print(right + ' '); - String position = hmm.getPosition().toString(); - pw.print(position + '\t'); - String attribute = unit.isFiller() ? FILLER : "n/a"; - assert attribute.equals("n/a"); - pw.print(attribute + '\t'); - int tmat = matrixPool.indexOf(hmm.getTransitionMatrix()); - assert tmat < numTiedTransitionMatrices; - pw.print(tmat + "\t"); - - SenoneSequence ss = hmm.getSenoneSequence(); - Senone[] senones = ss.getSenones(); - for (Senone senone : senones) { - int index = senonePool.indexOf(senone); - assert index >= 0 && index < numTiedState; - pw.print(index + "\t"); - } - pw.println("N"); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Saved " + unit); - } - - } - - outputStream.close(); - } - - - /** - * Saves the mixture weights - * - * @param mixtureWeights guassian weights holder - * @param path the path to the mixture weight file - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - private void saveMixtureWeightsAscii(GaussianWeights mixtureWeights, String path, boolean append) - throws FileNotFoundException, IOException { - logger.info("Saving mixture weights to: "); - logger.info(path); - - OutputStream outputStream = StreamFactory.getOutputStream(location, path, append); - if (outputStream == null) { - throw new IOException("Error trying to write file " + location + path); - } - PrintWriter pw = new PrintWriter(outputStream, true); - - pw.print("mixw "); - int numStates = mixtureWeights.getStatesNum(); - pw.print(numStates + " "); - int numStreams = mixtureWeights.getStreamsNum(); - pw.print(numStreams + " "); - int numGaussiansPerState = mixtureWeights.getGauPerState(); - pw.println(numGaussiansPerState); - - for (int i = 0; i < numStates; i++) { - for (int j = 0; j < numStreams; j++) { - pw.print("mixw [" + i + " " + j + "] "); - float[] mixtureWeight = new float[numGaussiansPerState]; - float[] logMixtureWeight = new float[numGaussiansPerState]; - for (int k = 0; k < numGaussiansPerState; k++) - logMixtureWeight[k] = mixtureWeights.get(i, j, k); - logMath.logToLinear(logMixtureWeight, mixtureWeight); - float sum = 0.0f; - for (int k = 0; k < numGaussiansPerState; k++) - sum += mixtureWeight[k]; - pw.println(sum); - pw.print("\n\t"); - for (int k = 0; k < numGaussiansPerState; k++) - pw.print(" " + mixtureWeight[k]); - pw.println(); - } - } - outputStream.close(); - } - - /** - * Saves the mixture weights (Binary) - * - * @param mixtureWeights gaussian weights holder - * @param path the path to the mixture weight file - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - private void saveMixtureWeightsBinary(GaussianWeights mixtureWeights, String path, boolean append) - throws FileNotFoundException, IOException { - logger.info("Saving mixture weights to: "); - logger.info(path); - - Properties props = new Properties(); - - props.setProperty("version", MIXW_FILE_VERSION); - if (doCheckSum) { - props.setProperty("chksum0", checksum); - } - - DataOutputStream dos = writeS3BinaryHeader(location, path, props, append); - - int numStates = mixtureWeights.getStatesNum(); - int numStreams = mixtureWeights.getStreamsNum(); - int numGaussiansPerState = mixtureWeights.getGauPerState(); - - writeInt(dos, numStates); - writeInt(dos, numStreams); - writeInt(dos, numGaussiansPerState); - - assert numStreams == 1; - - int rawLength = numGaussiansPerState * numStates * numStreams; - writeInt(dos, rawLength); - - for (int i = 0; i < numStates; i++) { - for (int j = 0; j < numStreams; j++) { - float[] mixtureWeight = new float[numGaussiansPerState]; - float[] logMixtureWeight = new float[numGaussiansPerState]; - for (int k = 0; k < numGaussiansPerState; k++) - logMixtureWeight[k] = mixtureWeights.get(i, j, k); - logMath.logToLinear(logMixtureWeight, mixtureWeight); - writeFloatArray(dos, mixtureWeight); - } - } - if (doCheckSum) { - assert doCheckSum = false : "Checksum not supported"; - // writeInt(dos, checkSum); - } - - dos.close(); - } - - /** - * Saves the transition matrices - * - * @param pool the transition matrices pool - * @param path the path to the transitions matrices - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws FileNotFoundException if a file cannot be found - * @throws IOException if an error occurs while saving the data - */ - protected void saveTransitionMatricesAscii(Pool pool, String path, boolean append) - throws FileNotFoundException, IOException { - OutputStream outputStream = StreamFactory.getOutputStream(location, path, append); - if (outputStream == null) { - throw new IOException("Error trying to write file " + location + path); - } - PrintWriter pw = new PrintWriter(outputStream, true); - - logger.info("Saving transition matrices to: "); - logger.info(path); - int numMatrices = pool.size(); - - assert numMatrices > 0; - float[][] tmat = pool.get(0); - int numStates = tmat[0].length; - - pw.println("tmat " + numMatrices + ' ' + numStates); - - for (int i = 0; i < numMatrices; i++) { - pw.println("tmat [" + i + ']'); - - tmat = pool.get(i); - for (int j = 0; j < numStates; j++) { - for (int k = 0; k < numStates; k++) { - - // the last row is just zeros, so we just do - // the first (numStates - 1) rows - - if (j < numStates - 1) { - if (sparseForm) { - if (k < j) { - pw.print("\t"); - } - if (k == j || k == j + 1) { - pw.print((float) - logMath.logToLinear(tmat[j][k])); - } - } else { - pw.print((float) logMath.logToLinear(tmat[j][k])); - } - if (numStates - 1 == k) { - pw.println(); - } else { - pw.print(" "); - } - - } - - if (logger.isLoggable(Level.FINE)) { - logger.fine("tmat j " + j + " k " - + k + " tm " + tmat[j][k]); - } - } - } - } - outputStream.close(); - } - - /** - * Saves the transition matrices (Binary) - * - * @param pool the transition matrices pool - * @param path the path to the transitions matrices - * @param append is true, the file will be appended, useful if saving to a ZIP or JAR file - * @throws IOException if an error occurs while saving the data - */ - protected void saveTransitionMatricesBinary(Pool pool, String path, boolean append) - throws IOException { - - logger.info("Saving transition matrices to: "); - logger.info(path); - Properties props = new Properties(); - - props.setProperty("version", TMAT_FILE_VERSION); - if (doCheckSum) { - props.setProperty("chksum0", checksum); - } - - DataOutputStream dos = writeS3BinaryHeader(location, path, props, append); - - int numMatrices = pool.size(); - assert numMatrices > 0; - writeInt(dos, numMatrices); - - float[][] tmat = pool.get(0); - int numStates = tmat[0].length; - int numRows = numStates - 1; - - writeInt(dos, numRows); - writeInt(dos, numStates); - int numValues = numStates * numRows * numMatrices; - writeInt(dos, numValues); - - for (int i = 0; i < numMatrices; i++) { - tmat = pool.get(i); - - // Last row should be all zeroes - float[] logTmatRow = tmat[numStates - 1]; - float[] tmatRow = new float[logTmatRow.length]; - - for (int j = 0; j < numStates; j++) { - assert tmatRow[j] == 0.0f; - } - - for (int j = 0; j < numRows; j++) { - logTmatRow = tmat[j]; - tmatRow = new float[logTmatRow.length]; - logMath.logToLinear(logTmatRow, tmatRow); - writeFloatArray(dos, tmatRow); - } - } - if (doCheckSum) { - assert doCheckSum = false : "Checksum not supported"; - // writeInt(dos, checkSum); - } - dos.close(); - } - - public Pool getMeansPool() { - return meansPool; - } - - public Pool getMeansTransformationMatrixPool() { - return meanTransformationMatrixPool; - } - - public Pool getMeansTransformationVectorPool() { - return meanTransformationVectorPool; - } - - public Pool getVariancePool() { - return variancePool; - } - - public Pool getVarianceTransformationMatrixPool() { - return varianceTransformationMatrixPool; - } - - public Pool getVarianceTransformationVectorPool() { - return varianceTransformationVectorPool; - } - - public Pool getSenonePool() { - return senonePool; - } - - public int getLeftContextSize() { - return CONTEXT_SIZE; - } - - public int getRightContextSize() { - return CONTEXT_SIZE; - } - - public HMMManager getHMMManager() { - return hmmManager; - } - - public void logInfo() { - logger.info("Sphinx3Saver"); - meansPool.logInfo(logger); - variancePool.logInfo(logger); - matrixPool.logInfo(logger); - senonePool.logInfo(logger); - meanTransformationMatrixPool.logInfo(logger); - meanTransformationVectorPool.logInfo(logger); - varianceTransformationMatrixPool.logInfo(logger); - varianceTransformationVectorPool.logInfo(logger); - mixtureWeights.logInfo(logger); - senonePool.logInfo(logger); - logger.info("Context Independent Unit Entries: " + contextIndependentUnits.size()); - hmmManager.logInfo(logger); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Loader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Loader.java deleted file mode 100755 index 3f1660ab..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Loader.java +++ /dev/null @@ -1,280 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.*; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StreamFactory; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.util.Arrays; -import java.util.Map; -import java.util.logging.Level; - -/** - * an acoustic model loader that loads sphinx3 ascii data - *

- * Mixture weights and transition probabilities are maintained in logMath log base, - */ -class Sphinx4Loader extends Sphinx3Loader { - - protected final static String TMAT_FILE_VERSION = "4.0"; - - @S4Integer(defaultValue = 10) - public final static String MAX_MODEL_SIZE = "maxStatePerModel"; - private int maxModelSize; - - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - maxModelSize = ps.getInt(MAX_MODEL_SIZE); - } - - /** - * Loads the sphinx4 density file, a set of density arrays are created and placed in the given pool. - * - * {@inheritDoc} - */ - @Override - protected void loadHMMPool(boolean useCDUnits, InputStream inputStream, String path) - throws IOException { - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, '#', false); - - logger.info("Loading HMM file from: "); - logger.info(path); - - est.expectString(MODEL_VERSION); - - int numBase = est.getInt("numBase"); - est.expectString("n_base"); - - int numTri = est.getInt("numTri"); - est.expectString("n_tri"); - - est.getInt("numStateMap"); - est.expectString("n_state_map"); - - int numTiedState = est.getInt("numTiedState"); - est.expectString("n_tied_state"); - - int numContextIndependentTiedState = est.getInt("numContextIndependentTiedState"); - est.expectString("n_tied_ci_state"); - - int numTiedTransitionMatrices = est.getInt("numTiedTransitionMatrices"); - est.expectString("n_tied_tmat"); - - int[] maxStid = new int[maxModelSize]; - - HMMManager hmmManager = super.getHmmManager(); - Pool matrixPool = super.getMatrixPool(); - GaussianWeights mixtureWeights = super.getMixtureWeights(); - Map contextIndependentUnits = super.getContextIndependentUnits(); - - assert numTiedState == mixtureWeights.getStatesNum(); - assert numTiedTransitionMatrices == matrixPool.size(); - - // Load the base phones - for (int i = 0; i < numBase; i++) { - String left = est.getString(); - String right = est.getString(); - String position = est.getString(); - int tmat = est.getInt("tmat"); - - // Read all state ID in the line... - for (int j = 0; ; j++) { - String str = est.getString(); - - // ... until we reach a "N" - - if (!str.equals("N")) { - int id = Integer.parseInt(str); - try { - maxStid[j] = id; - } catch (ArrayIndexOutOfBoundsException aie) { - throw new Error("Use a larger value for " + - "maxStatePerModel"); - } - assert maxStid[j] >= 0 && - maxStid[j] < numContextIndependentTiedState; - } else { - break; - } - } - - assert left.equals("-"); - assert right.equals("-"); - assert position.equals("-"); - assert tmat < numTiedTransitionMatrices; - -// int[] stid = Arrays.copyOf(maxStid, numStates); -// Unit unit = Unit.getUnit(name, attribute.equals(FILLER)); -// contextIndependentUnits.put(unit.getName(), unit); -// -// if (logger.isLoggable(Level.FINE)) { -// logger.fine("Loaded " + unit); -// } -// The first filler -// if (unit.isFiller() && unit.getName().equals(SILENCE_CIPHONE)) { -// unit = Unit.SILENCE; -// } -// float[][] transitionMatrix = matrixPool.get(tmat); -// SenoneSequence ss = getSenoneSequence(stid); -// HMM hmm = new SenoneHMM(unit, ss, transitionMatrix, HMMPosition.lookup(position)); -// hmmManager.put(hmm); - } - - // Load the context dependent phones. If the useCDUnits - // property is false, the CD phones will not be created, but - // the values still need to be read in from the file. - - String lastUnitName = ""; - Unit lastUnit = null; - int[] lastStid = null; - SenoneSequence lastSenoneSequence = null; - - for (int i = 0; i < numTri; i++) { - String name = est.getString(); - String left = est.getString(); - String right = est.getString(); - String position = est.getString(); - String attribute = est.getString(); - int tmat = est.getInt("tmat"); - - int numStates = 0; - - // Read all state ID in the line... - for (int j = 0; ; j++) { - String str = est.getString(); - - // ... until we reach a "N" - - if (!str.equals("N")) { - int id = Integer.parseInt(str); - maxStid[j] = id; - assert maxStid[j] >= numContextIndependentTiedState && - maxStid[j] < numTiedState; - } else { - numStates = j; - break; - } - } - int[] stid = Arrays.copyOf(maxStid, numStates); - - assert !left.equals("-"); - assert !right.equals("-"); - assert !position.equals("-"); - assert attribute.equals("n/a"); - assert tmat < numTiedTransitionMatrices; - - if (useCDUnits) { - Unit unit = null; - String unitName = (name + ' ' + left + ' ' + right); - - if (unitName.equals(lastUnitName)) { - unit = lastUnit; - } else { - Unit[] leftContext = new Unit[1]; - leftContext[0] = contextIndependentUnits.get(left); - - Unit[] rightContext = new Unit[1]; - rightContext[0] = contextIndependentUnits.get(right); - - //Context context = LeftRightContext.get(leftContext, rightContext); - //unit = Unit.getUnit(name, false, context); - } - lastUnitName = unitName; - lastUnit = unit; - - if (logger.isLoggable(Level.FINE)) { - logger.fine("Loaded " + unit); - } - - float[][] transitionMatrix = matrixPool.get(tmat); - - SenoneSequence ss = lastSenoneSequence; - if (ss == null || !sameSenoneSequence(stid, lastStid)) { - ss = getSenoneSequence(stid); - } - lastSenoneSequence = ss; - lastStid = stid; - - HMM hmm = new SenoneHMM(unit, ss, transitionMatrix, HMMPosition.lookup(position)); - hmmManager.put(hmm); - } - } - - est.close(); - } - - @Override - protected Pool loadTransitionMatrices(String path) - throws FileNotFoundException, IOException { - - String location = ""; - InputStream inputStream = StreamFactory.getInputStream(location, path); - - LogMath logMath = LogMath.getLogMath(); - logger.info("Loading transition matrices from: "); - logger.info(path); - - Pool pool = new Pool(path); - ExtendedStreamTokenizer est = new ExtendedStreamTokenizer(inputStream, '#', false); - - est.expectString("tmat"); - int numMatrices = est.getInt("numMatrices"); - est.expectString("X"); - // numStates = est.getInt("numStates"); - - for (int i = 0; i < numMatrices; i++) { - est.expectString("tmat"); - est.expectString("[" + i + ']'); - est.expectString("nstate"); - // Number of emitting states + 1, final non-emitting state - int numStates = est.getInt("numStates") + 1; - float[][] tmat = new float[numStates][numStates]; - - for (int j = 0; j < numStates; j++) { - for (int k = 0; k < numStates; k++) { - - // the last row is just zeros, so we just do - // the first (numStates - 1) rows - - if (j < numStates - 1) { - if (k == j || k == j + 1) { - tmat[j][k] = est.getFloat("tmat value"); - } - } - - tmat[j][k] = logMath.linearToLog(tmat[j][k]); - - if (logger.isLoggable(Level.FINE)) { - logger.fine("tmat j " + j + " k " - + k + " tm " + tmat[j][k]); - } - } - } - pool.put(i, tmat); - } - est.close(); - return pool; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Saver.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Saver.java deleted file mode 100755 index f6add0a3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/Sphinx4Saver.java +++ /dev/null @@ -1,157 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Pool; -import edu.cmu.sphinx.util.StreamFactory; - -import java.io.*; -import java.util.Properties; -import java.util.logging.Level; - -/** - * An acoustic model saver that saves sphinx3 ascii data. - *

- * Mixture weights and transition probabilities are saved in linear scale. - */ -class Sphinx4Saver extends Sphinx3Saver { - - protected final static String TMAT_FILE_VERSION = "4.0"; - - @Override - protected void saveTransitionMatricesAscii(Pool pool, String path, boolean append) - throws IOException { - - String location = super.getLocation(); - OutputStream outputStream = StreamFactory.getOutputStream(location, path, append); - if (outputStream == null) { - throw new IOException("Error trying to write file " + location + path); - } - PrintWriter pw = new PrintWriter(outputStream, true); - - logger.info("Saving transition matrices to: "); - logger.info(path); - int numMatrices = pool.size(); - - assert numMatrices > 0; - float[][] tmat = pool.get(0); - - pw.println("tmat " + numMatrices + " X"); - - for (int i = 0; i < numMatrices; i++) { - tmat = pool.get(i); - int numStates = tmat[0].length; - - pw.println("tmat [" + i + ']'); - pw.println("nstate " + (numStates - 1)); - for (int j = 0; j < numStates; j++) { - for (int k = 0; k < numStates; k++) { - - // the last row is just zeros, so we just do - // the first (numStates - 1) rows - - if (j < numStates - 1) { - if (sparseForm) { - if (k < j) { - pw.print("\t"); - } - if (k == j || k == j + 1) { - pw.print((float)logMath.logToLinear(tmat[j][k])); - } - } else { - pw.print((float)logMath.logToLinear(tmat[j][k])); - } - if (numStates - 1 == k) { - pw.println(); - } else { - pw.print(" "); - } - - } - - if (logger.isLoggable(Level.FINE)) { - logger.fine("tmat j " + j + " k " + k + " tm " + tmat[j][k]); - } - } - } - } - outputStream.close(); - } - - @Override - protected void saveTransitionMatricesBinary(Pool pool, String path, boolean append) - throws IOException { - - logger.info("Saving transition matrices to: "); - logger.info(path); - Properties props = new Properties(); - - String strCheckSum = super.getCheckSum(); - boolean doCheckSum = super.getDoCheckSum(); - props.setProperty("version", TMAT_FILE_VERSION); - if (doCheckSum) { - props.setProperty("chksum0", strCheckSum); - } - - String location = super.getLocation(); - - DataOutputStream dos = writeS3BinaryHeader(location, path, props, append); - - int numMatrices = pool.size(); - assert numMatrices > 0; - writeInt(dos, numMatrices); - - // Now we count number of states. Since each model can have an - // arbitrary number of states, we have to visit all tmats, and - // count the total number of states. - int numStates = 0; - int numValues = 0; - for (int i = 0; i < numMatrices; i++) { - float[][] tmat = pool.get(i); - int nStates = tmat[0].length; - numStates += nStates; - // Number of elements in each transition matrix is the - // number of row, i.e. number of emitting states, times - // number of columns, i.e., number of emitting states plus - // final non-emitting state. - numValues += nStates * (nStates - 1); - } - writeInt(dos, numValues); - - for (int i = 0; i < numMatrices; i++) { - float[][] tmat = pool.get(i); - numStates = tmat[0].length; - writeInt(dos, numStates); - - // Last row should be all zeroes - float[] logTmatRow = tmat[numStates - 1]; - float[] tmatRow = new float[logTmatRow.length]; - - for (int j = 0; j < numStates; j++) { - assert tmatRow[j] == 0.0f; - } - - for (int j = 0; j < numStates - 1; j++) { - logTmatRow = tmat[j]; - tmatRow = new float[logTmatRow.length]; - logMath.logToLinear(logTmatRow, tmatRow); - writeFloatArray(dos, tmatRow); - } - } - if (doCheckSum) { - assert doCheckSum = false : "Checksum not supported"; - // writeInt(dos, checkSum); - } - dos.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerAcousticModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerAcousticModel.java deleted file mode 100755 index 3a9a656e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerAcousticModel.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Loader; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Saver; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.TiedStateAcousticModel; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.util.props.*; - -import java.io.FileNotFoundException; -import java.io.IOException; - -/** Represents the generic interface to the Acoustic Model for sphinx4 */ -public class TrainerAcousticModel extends TiedStateAcousticModel { - - @S4Component(type = Saver.class) - public static final String SAVER = "saver"; - private Saver saver; - - @S4Double(defaultValue = 0.0001f) - public final static String PROP_VARIANCE_FLOOR = "varianceFloor"; - - /** Mixture component score floor. */ - @S4Double(defaultValue = 0.0) - public final static String PROP_MC_FLOOR = "MixtureComponentScoreFloor"; - - /** Mixture weight floor. */ - @S4Double(defaultValue = 1e-7f) - public final static String PROP_MW_FLOOR = "mixtureWeightFloor"; - - /** - * The save format for the acoustic model data. Current supported formats - * are: - */ - @S4String(defaultValue = "sphinx3.binary") - public final static String PROP_FORMAT_SAVE = "saveFormat"; - public String saveFormat; - - /** Flag indicating all models should be operated on. */ - public final static int ALL_MODELS = -1; - - /** The pool manager */ - private HMMPoolManager hmmPoolManager; - - public TrainerAcousticModel(Loader loader, UnitManager unitManager, - boolean useComposites, Saver saver, String saveFormat) throws IOException { - super(loader, unitManager, useComposites); - - this.saver = saver; - this.hmmPoolManager = new HMMPoolManager(loader); - this.saveFormat = saveFormat; - - logInfo(); - } - - public TrainerAcousticModel() { - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - saver = (Saver) ps.getComponent(SAVER); - try { - hmmPoolManager = new HMMPoolManager(loader); - } catch (IOException e) { - throw new PropertyException(e); - } - saveFormat = ps.getString(PROP_FORMAT_SAVE); - - logInfo(); - } - - /** - * Saves the acoustic model with a given name and format - * - * @param name - * the name of the acoustic model - * @throws IOException - * if the model could not be loaded - * @throws FileNotFoundException - * if the model does not exist - */ - public void save(String name) throws IOException { - saver.save(name, true); - logger.info("saved models with " + saver); - } - - /** - * Loads the acoustic models. This has to be explicitly requested in this - * class. - * - * @throws IOException - * if the model could not be loaded - * @throws FileNotFoundException - * if the model does not exist - */ - public void load() throws IOException, FileNotFoundException { - // super.load(); - logInfo(); - hmmPoolManager = new HMMPoolManager(loader); - } - - /** Resets the buffers. */ - public void resetBuffers() { - // Resets the buffers and associated variables. - hmmPoolManager.resetBuffers(); - } - - /** - * Accumulate the current TrainerScore into the buffers. - * - * @param index - * the current index into the TrainerScore vector - * @param trainerScore - * the TrainerScore in the current frame - * @param nextTrainerScore - * the TrainerScore in the next frame - */ - public void accumulate(int index, TrainerScore[] trainerScore, - TrainerScore[] nextTrainerScore) { - hmmPoolManager.accumulate(index, trainerScore, nextTrainerScore); - } - - /** - * Accumulate the current TrainerScore into the buffers. - * - * @param index - * the current index into the TrainerScore vector - * @param trainerScore - * the TrainerScore - */ - public void accumulate(int index, TrainerScore[] trainerScore) { - hmmPoolManager.accumulate(index, trainerScore); - } - - /** - * Update the log likelihood. This should be called at the end of each - * utterance. - */ - public void updateLogLikelihood() { - hmmPoolManager.updateLogLikelihood(); - } - - /** - * Normalize the buffers and update the models. - * - * @return the log likelihood for the whole training set - */ - public float normalize() { - float logLikelihood = hmmPoolManager.normalize(); - hmmPoolManager.update(); - return logLikelihood; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerScore.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerScore.java deleted file mode 100755 index 67de09aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/TrainerScore.java +++ /dev/null @@ -1,334 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.Senone; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneSequence; - -/** Used to transfer data from the trainer to the acoustic model */ -public class TrainerScore { - - private Data feature; - private float logOutputProbability; - private float logScalingFactor; - private int senoneID; - private HMMState hmmState; - private Senone senone; - private float logAlpha; - private float logBeta; - private float logGamma; - private float[] logComponentGamma; - private float[] logComponentProb; - static private float logLikelihood; - - - /** - * Creates a new TrainerScore - * - * @param feature the current feature - * @param probability the score for the current frame - * @param senone the id for the current senone - */ - public TrainerScore(Data feature, float probability, int senone) { - this.feature = feature; - this.logOutputProbability = probability; - this.senoneID = senone; - logScalingFactor = 0.0f; - logAlpha = 0.0f; - logBeta = 0.0f; - logGamma = 0.0f; - logComponentProb = new float[1]; - logComponentProb[0] = 0.0f; - logComponentGamma = new float[1]; - logComponentGamma[0] = 0.0f; - } - - - /** - * Creates a new buffer - * - * @param feature the current feature - * @param probability the score for the current frame - * @param state the HMMState for this score object - * @param logAlpha the forward probability - * @param logBeta the backward probability - * @param logComponentProb the mixture component a posteriori probabilities - */ - public TrainerScore(Data feature, - float probability, - HMMState state, - float logAlpha, - float logBeta, - float[] logComponentProb) { - - this.feature = feature; - this.hmmState = state; - logScalingFactor = 0.0f; - - // For dummy state, the state is a null pointer - if ((state != null) && (state.isEmitting())) { - // get the index and the HMM for this HMMState - int stateIndex = state.getState(); - SenoneHMM hmm = (SenoneHMM) state.getHMM(); - // Get the senone sequence associated with this HMM - SenoneSequence ss = hmm.getSenoneSequence(); - // Get the senone associated with this HMMState, located - // in the stateIndex-th position in the senone sequence - senone = ss.getSenones()[stateIndex]; - // After this, we need to go to the senone pool to find - // out the senone id... Or maybe we can operate directly - // on the senone - } - // Now, the probabilities - this.logOutputProbability = probability; - this.logAlpha = logAlpha; - this.logBeta = logBeta; - // gamma = alpha * beta; - this.logGamma = logAlpha + logBeta; - // Compute the gammas for each component in the mixture - // this.logComponentProb = logComponentProb; - if (logComponentProb != null) { - this.logComponentProb = new float[logComponentProb.length]; - this.logComponentGamma = new float[logComponentProb.length]; - for (int i = 0; i < logComponentProb.length; i++) { - this.logComponentProb[i] = logComponentProb[i]; - this.logComponentGamma[i] = - logComponentProb[i] + this.logGamma; - } - } else { - this.logComponentProb = null; - this.logComponentGamma = null; - } - } - - - /** - * Creates a new buffer - * - * @param feature the current feature - * @param probability the score for the current frame - * @param state the HMMState for this score object - * @param logAlpha the forward probability - * @param logComponentProb the mixture component a posteriori probabilities - */ - public TrainerScore(Data feature, - float probability, - HMMState state, - float logAlpha, - float[] logComponentProb) { - this(feature, probability, state, logAlpha, 0.0f, logComponentProb); - } - - - /** - * Creates a new buffer - * - * @param feature the current feature - * @param probability the score for the current frame - * @param state the HMMState for this score object - * @param logComponentProb the mixture component a posteriori probabilities - */ - public TrainerScore(Data feature, - float probability, - HMMState state, - float[] logComponentProb) { - this(feature, probability, state, 0.0f, 0.0f, logComponentProb); - } - - - /** - * Creates a new buffer - * - * @param feature the current feature - * @param probability the score for the current frame - * @param state the HMMState for this score object - */ - public TrainerScore(Data feature, - float probability, - HMMState state) { - this(feature, probability, state, 0.0f, 0.0f, null); - } - - - /** - * Retrieves the Data. - * - * @return the Data - */ - public Data getData() { - return feature; - } - - - /** - * Retrieves the probability. - * - * @return the probability - */ - public float getScore() { - return logOutputProbability; - } - - - /** - * Retrieves the forward probability. - * - * @return the forward log probability - */ - public float getAlpha() { - return logAlpha; - } - - - /** - * Retrieves the backward probability. - * - * @return the backward log probability - */ - public float getBeta() { - return logBeta; - } - - - /** - * Retrieves the utterance's log likelihood - * - * @return the log likelihood - */ - static public float getLogLikelihood() { - return logLikelihood; - } - - - /** - * Retrieves the a posteriori probability. - * - * @return the a posteriori log probability - */ - public float getGamma() { - return logGamma; - } - - - /** - * Retrieves the mixture component a posteriori probability. - * - * @return the a posteriori log probabilities - */ - public float[] getComponentGamma() { - return logComponentGamma; - } - - - /** - * Retrieves the scaling factor. - * - * @return the scaling factor - */ - public float getScalingFactor() { - return logScalingFactor; - } - - - /** - * Sets the overall likelihood. - * - * @param likelihood the log likelihood of the whole utterance - */ - static public void setLogLikelihood(float likelihood) { - logLikelihood = likelihood; - } - - - /** - * Sets the forward probability. - * - * @param logAlpha the forward log probability - */ - public void setAlpha(float logAlpha) { - this.logAlpha = logAlpha; - } - - - /** - * Sets the backward probability. - * - * @param logBeta the backward log probability - */ - public void setBeta(float logBeta) { - this.logBeta = logBeta; - } - - - /** - * Computes the a posteriori probability. This is the product of the current alpha and beta, or the summation of the - * current logAlpha and logBeta. The current beta is updated in the object, and the current alpha and beta are - * used. - */ - public void setGamma() { - logGamma = logAlpha + logBeta + logScalingFactor; - // Compute the gammas for each component in the mixture - if (logComponentGamma != null) { - for (int i = 0; i < logComponentGamma.length; i++) { - logComponentGamma[i] = logComponentProb[i] + logGamma; - if (logComponentGamma[i] < -Float.MAX_VALUE) { - logComponentGamma[i] = -Float.MAX_VALUE; - } - } - } - } - - - /** - * Sets the scaling factor for this frame.. - * - * @param logScalingFactor the log scaling factor - */ - public void setScalingFactor(float logScalingFactor) { - this.logScalingFactor = logScalingFactor; - } - - - /** - * Retrieves the senone ID. - * - * @return the senone ID - */ - public int getSenoneID() { - return senoneID; - } - - - /** - * Retrieves the senone. - * - * @return the senone - */ - public Senone getSenone() { - return senone; - } - - - /** - * Retrieves the HMM state. - * - * @return the HMM state - */ - public HMMState getState() { - return hmmState; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/trivial/TrivialAcousticModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/trivial/TrivialAcousticModel.java deleted file mode 100755 index 3cbfcf47..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/acoustic/trivial/TrivialAcousticModel.java +++ /dev/null @@ -1,394 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.acoustic.trivial; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; - -/** Represents the generic interface to the Acoustic Model for sphinx4 */ -public class TrivialAcousticModel implements AcousticModel { - - /** Defines the left context size */ - @S4Integer(defaultValue = 1) - public final static String LEFT_CONTEXT_SIZE ="leftContextSize"; - - @S4Integer(defaultValue = 1) - public final static String RIGHT_CONTEXT_SIZE = "leftContextSize"; - - private String name; - private final Map hmmMap = new HashMap(); - private int leftContextSize; - private int rightContextSize; - - public TrivialAcousticModel(int leftContextSize, int rightContextSize) { - init(leftContextSize,rightContextSize); - } - - public TrivialAcousticModel() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - // get acoustic model configuration data from the sphinx - // properties - - init(ps.getInt(LEFT_CONTEXT_SIZE),ps.getInt(RIGHT_CONTEXT_SIZE)); - - } - - private void init(int leftContextSize, int rightContextSize) { - this.leftContextSize = leftContextSize; - this.rightContextSize = rightContextSize; - - // create HMMs for all of the units - - String[] unitNames = { - "AX_one", "AY_five", "AY_nine", "EH_seven", "EY_eight", "E_seven", - "F_five", "F_four", "II_three", "II_zero", "I_six", "K_six", - "N_nine", "N_nine_2", "N_one", "N_seven", "OO_two", "OW_four", - "OW_oh", "OW_zero", "R_four", "R_three", "R_zero", "S_seven", - "S_six", "S_six_2", "TH_three", "T_eight", "T_two", "V_five", - "V_seven", "W_one", "Z_zero", "AX_one", "SIL" - }; - - for (String unitName : unitNames) { - createTrivialHMM(unitName); - } - } - - - /** - * Returns the name of this AcousticModel, or null if it has no name. - * - * @return the name of this AcousticModel, or null if it has no name - */ - public String getName() { - return name; - } - - - /** - * Returns the properties of this acoustic model. - * - * @return the properties of this acoustic model - */ - public Properties getProperties() { - return new Properties(); - } - - - /** - * Given a unit, returns the HMM that best matches the given unit. If exactMatch is false and an exact match is not - * found, then different word positions are used. If any of the contexts are non-silence filler units. a silence - * filler unit is tried instead. - * - * @param unit the unit of interest - * @param position the position of the unit of interest - * @param exactMatch if true, only an exact match is acceptable. - * @return the HMM that best matches, or null if no match could be found. - */ - public HMM lookupNearestHMM(Unit unit, HMMPosition position, - boolean exactMatch) { - HMM hmm = null; - if (!exactMatch || position == HMMPosition.UNDEFINED) { - unit = unit.getBaseUnit(); - hmm = hmmMap.get(unit); - } - return hmm; - } - - - /** - * Returns an iterator that can be used to iterate through all the HMMs of the acoustic model - * - * @return an iterator that can be used to iterate through all HMMs in the model. The iterator returns objects of - * type HMM. - */ - public Iterator getHMMIterator() { - return hmmMap.values().iterator(); - } - - - /** - * Returns an iterator that can be used to iterate through all the CI units in the acoustic model - * - * @return an iterator that can be used to iterate through all CI units. The iterator returns objects of type - * Unit - */ - public Iterator getContextIndependentUnitIterator() { - return hmmMap.keySet().iterator(); - } - - - /** - * Returns the size of the left context for context dependent units - * - * @return the left context size - */ - public int getLeftContextSize() { - return leftContextSize; - } - - - /** - * Returns the size of the right context for context dependent units - * - * @return the left context size - */ - public int getRightContextSize() { - return rightContextSize; - } - - - /** - * Creates a trivial HMM - * - * @param unitName the name of the unit - */ - private void createTrivialHMM(String unitName) { - // FIXME - //Unit unit = Unit.getUnit(unitName); - //HMM hmm = new TrivialHMM(unit, HMMPosition.UNDEFINED); - //hmmMap.put(unit, hmm); - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.acoustic.AcousticModel#allocate() - */ - public void allocate() throws IOException { - - } - - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.acoustic.AcousticModel#deallocate() - */ - public void deallocate() { - - } -} - - -/** Trivial HMM */ -class TrivialHMM implements HMM { - - private final static int NUM_STATES = 4; - final Unit unit; - final HMMPosition position; - final HMMState[] hmmStates; - private final Unit baseUnit; - - - /** - * Creates a trivial hmm - * - * @param unit the unit for the hmm - * @param position the position of the hmm - */ - TrivialHMM(Unit unit, HMMPosition position) { - this.unit = unit; - this.position = position; - hmmStates = new HMMState[NUM_STATES]; - // baseUnit = Unit.getUnit(unit.getName()); - baseUnit = unit.getBaseUnit(); - - for (int i = 0; i < hmmStates.length; i++) { - boolean finalState = i == hmmStates.length - 1; - hmmStates[i] = new TrivialHMMState(this, i, finalState); - } - } - - - /** - * Gets the unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getUnit() { - return unit; - } - - - /** - * Gets the base unit associated with this HMM - * - * @return the unit associated with this HMM - */ - public Unit getBaseUnit() { - return baseUnit; - } - - - /** - * Retrieves the hmm state - * - * @param which the state of interest - */ - public HMMState getState(int which) { - return hmmStates[which]; - } - - - /** - * Returns the order of the HMM - * - * @return the order of the HMM - */ - public int getOrder() { - return hmmStates.length; - } - - - /** - * Retrieves the position of this HMM. - * - * @return the position for this HMM - */ - public HMMPosition getPosition() { - return position; - } - - - /** - * Gets the initial states (with probabilities) for this HMM - * - * @return the set of arcs that transition to the initial states for this HMM - */ - public HMMState getInitialState() { - return hmmStates[0]; - } -} - - -/** A trivial implementation of an HMMState */ -class TrivialHMMState implements HMMState { - - private static final HMMStateArc[] EMPTY_ARC = new HMMStateArc[0]; - private final HMM hmm; - private final int which; - private final boolean isFinal; - - - TrivialHMMState(HMM hmm, int which, boolean isFinal) { - this.hmm = hmm; - this.which = which; - this.isFinal = isFinal; - } - - - /** - * Gets the HMM associated with this state - * - * @return the HMM - */ - public HMM getHMM() { - return hmm; - } - - - /** - * Gets the state - * - * @return the state - */ - public int getState() { - return which; - } - - - /** - * Gets the score for this HMM state - * - * @param feature the feature to be scored - * @return the acoustic score for this state. - */ - public float getScore(Data feature) { - return 0.0f; - } - - public float[] calculateComponentScore(Data feature){ - return new float[((FloatData) feature).getValues().length]; - } - - - /** - * Determines if this HMMState is an emittting state - * - * @return true if the state is an emitting state - */ - public boolean isEmitting() { - return !isFinal; - } - - - /** - * Retrieves the state of successor states for this state - * - * @return the set of successor state arcs - */ - public HMMStateArc[] getSuccessors() { - if (isFinal) { - return EMPTY_ARC; - } else { - HMMStateArc[] arcs = new HMMStateArc[2]; - arcs[0] = new HMMStateArc(this, 0f); - arcs[1] = new HMMStateArc(hmm.getState(which + 1), 0f); - return arcs; - } - } - - - /** - * Determines if this state is an exit state of the HMM - * - * @return true if the state is an exit state - */ - public boolean isExitState() { - return isFinal; - } - - /** - * Returns the mixture components associated with this Gaussian - * - * @return the array of mixture components - */ - public MixtureComponent[] getMixtureComponents() { - return null; - } - - /** - * Gets the ID for this senone - * - * @return the senone id - */ - public long getMixtureId() { - return 0; - } - - - public float[] getLogMixtureWeights() { - return null; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/AFlatLinguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/AFlatLinguist.java deleted file mode 100755 index 40c15b99..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/AFlatLinguist.java +++ /dev/null @@ -1,1508 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.aflat; - -import java.io.IOException; -import java.util.*; -import java.util.logging.Logger; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.grammar.Grammar; -import edu.cmu.sphinx.linguist.language.grammar.GrammarArc; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -/** - * A simple form of the linguist. It makes the following simplifying - * assumptions: 1) Zero or one word per grammar node 2) No fan-in allowed ever - * 3) No composites (yet) 4) Only Unit, HMMState, and pronunciation states (and - * the initial/final grammar state are in the graph (no word, alternative or - * grammar states attached). 5) Only valid transitions (matching contexts) are - * allowed 6) No tree organization of units 7) Branching grammar states are - * allowed - *

- * This is a dynamic version of the flat linguist that is more efficient in - * terms of startup time and overall footprint - *

- * Note that all probabilities are maintained in the log math domain - */ - -public class AFlatLinguist implements Linguist, Configurable { - - /** - * The property used to define the grammar to use when building the search - * graph - */ - @S4Component(type = Grammar.class) - public final static String GRAMMAR = "grammar"; - - /** - * The property used to define the unit manager to use when building the - * search graph - */ - @S4Component(type = UnitManager.class) - public final static String UNIT_MANAGER = "unitManager"; - - /** - * The property used to define the acoustic model to use when building the - * search graph - */ - @S4Component(type = AcousticModel.class) - public final static String ACOUSTIC_MODEL = "acousticModel"; - - /** - * The property that specifies whether to add a branch for detecting - * out-of-grammar utterances. - */ - @S4Boolean(defaultValue = false) - public final static String ADD_OUT_OF_GRAMMAR_BRANCH = "addOutOfGrammarBranch"; - - /** The property for the probability of entering the out-of-grammar branch. */ - @S4Double(defaultValue = 1.0) - public final static String OUT_OF_GRAMMAR_PROBABILITY = "outOfGrammarProbability"; - - /** - * The property for the probability of inserting a CI phone in the - * out-of-grammar ci phone loop - */ - @S4Double(defaultValue = 1.0) - public static final String PHONE_INSERTION_PROBABILITY = "phoneInsertionProbability"; - - /** - * The property for the acoustic model to use to build the phone loop that - * detects out of grammar utterances. - */ - @S4Component(type = AcousticModel.class) - public final static String PHONE_LOOP_ACOUSTIC_MODEL = "phoneLoopAcousticModel"; - - // ---------------------------------- - // Subcomponents that are configured - // by the property sheet - // ----------------------------------- - private Grammar grammar; - private AcousticModel acousticModel; - private AcousticModel phoneLoopAcousticModel; - private UnitManager unitManager; - // ------------------------------------ - // Data that is configured by the - // property sheet - // ------------------------------------ - private float logWordInsertionProbability; - private float logSilenceInsertionProbability; - private float logUnitInsertionProbability; - private float logFillerInsertionProbability; - private float languageWeight; - private float logOutOfGrammarBranchProbability; - private float logPhoneInsertionProbability; - private boolean addOutOfGrammarBranch; - - // ------------------------------------ - // Data used for building and maintaining - // the search graph - // ------------------------------------- - private SearchGraph searchGraph; - private Logger logger; - private HMMPool hmmPool; - SearchStateArc outOfGrammarGraph; - public Runtime runtime = Runtime.getRuntime(); - private long counterForMemoryLogging = 0; - - // this map is used to manage the set of follow on units for a - // particular grammar node. It is used to select the set of - // possible right contexts as we leave a node - - private Map nodeToNextUnitArrayMap; - - // this map is used to manage the set of possible entry units for - // a grammar node. It is used to filter paths so that we only - // branch to grammar nodes that match the current right context. - - private Map> nodeToUnitSetMap; - - // an empty arc (just waiting for Noah, I guess) - private final SearchStateArc[] EMPTY_ARCS = new SearchStateArc[0]; - - public AFlatLinguist(AcousticModel acousticModel, Grammar grammar, - UnitManager unitManager, - double wordInsertionProbability, - double silenceInsertionProbability, - double unitInsertionProbability, double fillerInsertionProbability, - float languageWeight, boolean addOutOfGrammarBranch, - double outOfGrammarBranchProbability, - double phoneInsertionProbability, - AcousticModel phoneLoopAcousticModel) { - - this.logger = Logger.getLogger(getClass().getName()); - this.acousticModel = acousticModel; - this.grammar = grammar; - this.unitManager = unitManager; - - LogMath logMath = LogMath.getLogMath(); - this.logWordInsertionProbability = logMath - .linearToLog(wordInsertionProbability); - this.logSilenceInsertionProbability = logMath - .linearToLog(silenceInsertionProbability); - this.logUnitInsertionProbability = logMath - .linearToLog(unitInsertionProbability); - this.logFillerInsertionProbability = logMath - .linearToLog(fillerInsertionProbability); - this.languageWeight = languageWeight; - this.addOutOfGrammarBranch = addOutOfGrammarBranch; - this.logOutOfGrammarBranchProbability = logMath - .linearToLog(outOfGrammarBranchProbability); - - this.logPhoneInsertionProbability = logMath - .linearToLog(logPhoneInsertionProbability); - if (addOutOfGrammarBranch) { - this.phoneLoopAcousticModel = phoneLoopAcousticModel; - } - } - - public AFlatLinguist() { - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - // hookup to all of the components - logger = ps.getLogger(); - acousticModel = (AcousticModel) ps.getComponent(ACOUSTIC_MODEL); - - grammar = (Grammar) ps.getComponent(GRAMMAR); - unitManager = (UnitManager) ps.getComponent(UNIT_MANAGER); - - // get the rest of the configuration data - LogMath logMath = LogMath.getLogMath(); - logWordInsertionProbability = logMath.linearToLog(ps - .getDouble(PROP_WORD_INSERTION_PROBABILITY)); - logSilenceInsertionProbability = logMath.linearToLog(ps - .getDouble(PROP_SILENCE_INSERTION_PROBABILITY)); - logUnitInsertionProbability = logMath.linearToLog(ps - .getDouble(PROP_UNIT_INSERTION_PROBABILITY)); - logFillerInsertionProbability = logMath.linearToLog(ps - .getDouble(PROP_FILLER_INSERTION_PROBABILITY)); - languageWeight = ps.getFloat(Linguist.PROP_LANGUAGE_WEIGHT); - addOutOfGrammarBranch = ps.getBoolean(ADD_OUT_OF_GRAMMAR_BRANCH); - logOutOfGrammarBranchProbability = logMath.linearToLog(ps - .getDouble(OUT_OF_GRAMMAR_PROBABILITY)); - - logPhoneInsertionProbability = logMath.linearToLog(ps - .getDouble(PHONE_INSERTION_PROBABILITY)); - if (addOutOfGrammarBranch) { - phoneLoopAcousticModel = (AcousticModel) ps - .getComponent(PHONE_LOOP_ACOUSTIC_MODEL); - } - } - - /** - * Returns the search graph - * - * @return the search graph - */ - public SearchGraph getSearchGraph() { - logger.info("Generated Search Graph"); - logger.info("Total Memory= " + runtime.totalMemory() / (1024 * 1024) - + " MB"); - logger.info("Free Memory = " + runtime.freeMemory() / (1024 * 1024) - + " MB"); - return searchGraph; - } - - /** - * Sets up the acoustic model. - * - * @param ps - * the PropertySheet from which to obtain the acoustic model - * @throws PropertyException something went wrong - */ - protected void setupAcousticModel(PropertySheet ps) - throws PropertyException { - acousticModel = (AcousticModel) ps.getComponent(ACOUSTIC_MODEL); - } - - public void allocate() throws IOException { - logger.info("Allocating DFLAT"); - allocateAcousticModel(); - grammar.allocate(); - hmmPool = new HMMPool(acousticModel, logger, unitManager); - nodeToNextUnitArrayMap = new HashMap(); - nodeToUnitSetMap = new HashMap>(); - Timer timer = TimerPool.getTimer(this, "compileGrammar"); - timer.start(); - compileGrammar(); - timer.stop(); - logger.info("Done allocating DFLAT"); - } - - /** - * Allocates the acoustic model. - * - * @throws java.io.IOException loading failed - */ - protected void allocateAcousticModel() throws IOException { - acousticModel.allocate(); - if (addOutOfGrammarBranch) { - phoneLoopAcousticModel.allocate(); - } - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#deallocate() - */ - public void deallocate() { - if (acousticModel != null) { - acousticModel.deallocate(); - } - grammar.deallocate(); - } - - /** - * Returns the log silence insertion probability. - * - * @return the log silence insertion probability. - */ - public float getLogSilenceInsertionProbability() { - return logSilenceInsertionProbability; - } - - /** Compiles the grammar */ - private void compileGrammar() { - - logger.info("Compiling Grammar"); - // iterate through the grammar nodes - Set nodeSet = grammar.getGrammarNodes(); - - for (GrammarNode node : nodeSet) { - initUnitMaps(node); - } - logger.info("Free Memory before generating Search Graph= " - + runtime.freeMemory() / (1024 * 1024) + " MB"); - searchGraph = new DynamicFlatSearchGraph(); - } - - /** - * Initializes the unit maps for this linguist. There are two unit maps: (a) - * nodeToNextUnitArrayMap contains an array of unit ids for all possible - * units that immediately follow the given grammar node. This is used to - * determine the set of exit contexts for words within a grammar node. (b) - * nodeToUnitSetMap contains the set of possible entry units for a given - * grammar node. This is typically used to determine if a path with a given - * right context should branch into a particular grammar node - * - * @param node - * the units maps will be created for this node. - */ - private void initUnitMaps(GrammarNode node) { - - // collect the set of next units for this node - - if (nodeToNextUnitArrayMap.get(node) == null) { - Set vistedNodes = new HashSet(); - Set unitSet = new HashSet(); - - GrammarArc[] arcs = node.getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode nextNode = arc.getGrammarNode(); - collectNextUnits(nextNode, vistedNodes, unitSet); - } - int[] nextUnits = new int[unitSet.size()]; - int index = 0; - for (Unit unit : unitSet) { - nextUnits[index++] = unit.getBaseID(); - } - nodeToNextUnitArrayMap.put(node, nextUnits); - } - - // collect the set of entry units for this node - - if (nodeToUnitSetMap.get(node) == null) { - Set vistedNodes = new HashSet(); - Set unitSet = new HashSet(); - collectNextUnits(node, vistedNodes, unitSet); - nodeToUnitSetMap.put(node, unitSet); - } - } - - /** - * For the given grammar node, collect the set of possible next units. - * - * @param thisNode - * the grammar node - * @param vistedNodes - * the set of visited grammar nodes, used to ensure that we don't - * attempt to expand a particular grammar node more than once - * (which could lead to a death spiral) - * @param unitSet - * the entry units are collected here. - */ - private void collectNextUnits(GrammarNode thisNode, - Set vistedNodes, Set unitSet) { - if (vistedNodes.contains(thisNode)) { - return; - } - - vistedNodes.add(thisNode); - if (thisNode.isFinalNode()) { - unitSet.add(UnitManager.SILENCE); - } else if (!thisNode.isEmpty()) { - Word word = thisNode.getWord(); - Pronunciation[] pronunciations = word.getPronunciations(); - for (Pronunciation pronunciation : pronunciations) { - unitSet.add(pronunciation.getUnits()[0]); - } - } else { - GrammarArc[] arcs = thisNode.getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode nextNode = arc.getGrammarNode(); - collectNextUnits(nextNode, vistedNodes, unitSet); - } - } - } - - final Map successorCache = new HashMap(); - - /** The base search state for this dynamic flat linguist. */ - abstract class FlatSearchState implements SearchState, SearchStateArc { - - final static int ANY = 0; - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - public abstract SearchStateArc[] getSuccessors(); - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - public abstract String getSignature(); - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - public abstract int getOrder(); - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - public boolean isEmitting() { - return false; - } - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - public boolean isFinal() { - return false; - } - - /** - * Returns a lex state associated with the searc state (not applicable - * to this linguist) - * - * @return the lex state (null for this linguist) - */ - public Object getLexState() { - return null; - } - - /** - * Returns a well formatted string representation of this state - * - * @return the formatted string - */ - public String toPrettyString() { - return toString(); - } - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - - /** - * Returns the word history for this state (not applicable to this - * linguist) - * - * @return the word history (null for this linguist) - */ - public WordSequence getWordHistory() { - return null; - } - - /** - * Gets a successor to this search state - * - * @return the successor state - */ - public SearchState getState() { - return this; - } - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - public float getLanguageProbability() { - return LogMath.LOG_ONE; - } - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - public float getInsertionProbability() { - return LogMath.LOG_ONE; - } - - /** - * Get the arcs from the cache if the exist - * - * @return the cached arcs or null - */ - SearchStateArc[] getCachedSuccessors() { - return successorCache.get(this); - } - - /** - * Places the set of successor arcs in the cache - * - * @param successors - * the set of arcs to be cached for this state - */ - void cacheSuccessors(SearchStateArc[] successors) { - successorCache.put(this, successors); - } - } - - /** - * Represents a grammar node in the search graph. A grammar state needs to - * keep track of the associated grammar node as well as the left context and - * next base unit. - */ - public class GrammarState extends FlatSearchState { - - private final GrammarNode node; - private final int lc; - private final int nextBaseID; - private final float languageProbability; - - /** - * Creates a grammar state for the given node with a silence Lc - * - * @param node - * the grammar node - */ - GrammarState(GrammarNode node) { - this(node, LogMath.LOG_ONE, UnitManager.SILENCE.getBaseID()); - } - - /** - * Creates a grammar state for the given node and left context. The path - * will connect to any possible next base - * - * @param node - * the grammar node - * @param languageProbability - * the probability of transistioning to this word - * @param lc - * the left context for this path - */ - GrammarState(GrammarNode node, float languageProbability, int lc) { - this(node, languageProbability, lc, ANY); - } - - /** - * Creates a grammar state for the given node and left context and next - * base ID. - * - * @param node - * the grammar node - * @param languageProbability - * the probability of transistioning to this word - * @param lc - * the left context for this path - * @param nextBaseID - * the next base ID - */ - GrammarState(GrammarNode node, float languageProbability, int lc, - int nextBaseID) { - this.lc = lc; - this.nextBaseID = nextBaseID; - this.node = node; - this.languageProbability = languageProbability; - } - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return languageProbability * languageWeight; - } - - /** - * Generate a hashcode for an object. Equality for a grammar state - * includes the grammar node, the lc and the next base ID - * - * @return the hashcode - */ - @Override - public int hashCode() { - return node.hashCode() * 17 + lc * 7 + nextBaseID; - } - - /** - * Determines if the given object is equal to this object - * - * @param o - * the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof GrammarState) { - GrammarState other = (GrammarState) o; - return other.node == node && lc == other.lc - && nextBaseID == other.nextBaseID; - } else { - return false; - } - } - - /** - * Determines if this is a final state in the search graph - * - * @return true if this is a final state in the search graph - */ - @Override - public boolean isFinal() { - return node.isFinalNode(); - } - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - counterForMemoryLogging++; - if (counterForMemoryLogging % 500000 == 0) { - logger.info("Free Memory= " + runtime.freeMemory() - / (1024 * 1024) + " MB" + "\tMax Memory= " - + runtime.maxMemory() / (1024 * 1024) + "MB"); - } - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - if (isFinal()) { - arcs = EMPTY_ARCS; - } else if (node.isEmpty()) { - arcs = getNextGrammarStates(lc, nextBaseID); - } else { - Word word = node.getWord(); - Pronunciation[] pronunciations = word.getPronunciations(); - pronunciations = filter(pronunciations, nextBaseID); - SearchStateArc[] nextArcs; - if(addOutOfGrammarBranch) - nextArcs= new SearchStateArc[pronunciations.length + 1]; - else - nextArcs = new SearchStateArc[pronunciations.length]; - - for (int i = 0; i < pronunciations.length; i++) { - nextArcs[i] = new PronunciationState(this, - pronunciations[i]); - } - SearchStateArc[] returnState = new SearchStateArc[1]; - returnState[0] = this; - if(addOutOfGrammarBranch){ - PhoneLoop pl = new PhoneLoop(acousticModel, - logOutOfGrammarBranchProbability, - logPhoneInsertionProbability, returnState); - nextArcs[pronunciations.length] = pl.getPhoneLoop(); - } - arcs = nextArcs; - } - cacheSuccessors(arcs); - } - return arcs; - } - - /** - * Gets the set of arcs to the next set of grammar states that match the - * given nextBaseID - * - * @param lc - * the current left context - * @param nextBaseID - * the desired next base ID - */ - SearchStateArc[] getNextGrammarStates(int lc, int nextBaseID) { - GrammarArc[] nextNodes = node.getSuccessors(); - nextNodes = filter(nextNodes, nextBaseID); - SearchStateArc[] nextArcs = new SearchStateArc[nextNodes.length]; - - for (int i = 0; i < nextNodes.length; i++) { - GrammarArc arc = nextNodes[i]; - nextArcs[i] = new GrammarState(arc.getGrammarNode(), arc - .getProbability(), lc, nextBaseID); - } - return nextArcs; - } - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "GS " + node + "-lc-" + hmmPool.getUnit(lc) + "-rc-" - + hmmPool.getUnit(nextBaseID); - } - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 1; - } - - /** - * Given a set of arcs and the ID of the desired next unit, return the - * set of arcs containing only those that transition to the next unit - * - * @param arcs - * the set of arcs to filter - * @param nextBase - * the ID of the desired next unit - */ - GrammarArc[] filter(GrammarArc[] arcs, int nextBase) { - if (nextBase != ANY) { - List list = new ArrayList(); - for (GrammarArc arc : arcs) { - GrammarNode node = arc.getGrammarNode(); - if (hasEntryContext(node, nextBase)) { - list.add(arc); - } - } - arcs = list.toArray(new GrammarArc[list.size()]); - } - return arcs; - } - - /** - * Determines if the given node starts with the specified unit - * - * @param node - * the grammar node - * @param unitID - * the id of the unit - */ - private boolean hasEntryContext(GrammarNode node, int unitID) { - Set unitSet = nodeToUnitSetMap.get(node); - return unitSet.contains(hmmPool.getUnit(unitID)); - } - - /** - * Retain only the pronunciations that start with the unit indicated by - * nextBase - * - * @param p - * the set of pronunciations to filter - * @param nextBase - * the ID of the desired initial unit - */ - Pronunciation[] filter(Pronunciation[] p, int nextBase) { - return p; - // if (nextBase == ANY) { - // return p; - // } else { - // int count = 0; - // for (int i = 0; i < p.length; i++) { - // Unit[] units = p[i].getUnits(); - // if (units[0].getBaseID() == nextBase) { - // count++; - // } - // } - // - // if (count == p.length) { - // return p; - // } else { - // Pronunciation[] filteredP = new Pronunciation[count]; - // int index = 0; - // for (int i = 0; i < p.length; i++) { - // Unit[] units = p[i].getUnits(); - // if (units[0].getBaseID() == nextBase) { - // filteredP[index++] = p[i]; - // } - // } - // return filteredP; - // } - // } - } - - /** - * Gets the ID of the left context unit for this path - * - * @return the left context ID - */ - int getLC() { - return lc; - } - - /** - * Gets the ID of the desired next unit - * - * @return the ID of the next unit - */ - int getNextBaseID() { - return nextBaseID; - } - - /** - * Returns the set of IDs for all possible next units for this grammar - * node - * - * @return the set of IDs of all possible next units - */ - int[] getNextUnits() { - return nodeToNextUnitArrayMap.get(node); - } - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return node + "[" + hmmPool.getUnit(lc) + ',' - + hmmPool.getUnit(nextBaseID) + ']'; - } - - /** - * Returns the grammar node associated with this grammar state - * - * @return the grammar node - */ - GrammarNode getGrammarNode() { - return node; - } - - } - - class InitialState extends FlatSearchState { - - private final List nextArcs = new ArrayList(); - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - return nextArcs.toArray(new SearchStateArc[nextArcs.size()]); - } - - public void addArc(SearchStateArc arc) { - nextArcs.add(arc); - } - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "initialState"; - } - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 1; - } - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - } - - /** This class representations a word punctuation in the search graph */ - class PronunciationState extends FlatSearchState implements WordSearchState { - - private final GrammarState gs; - private final Pronunciation pronunciation; - - /** - * Creates a PronunciationState - * - * @param gs - * the associated grammar state - * @param p - * the pronunciation - */ - PronunciationState(GrammarState gs, Pronunciation p) { - this.gs = gs; - this.pronunciation = p; - } - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - if (pronunciation.getWord().isFiller()) { - return LogMath.LOG_ONE; - } else { - return logWordInsertionProbability; - } - } - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 13 * gs.hashCode() + pronunciation.hashCode(); - } - - /** - * Determines if the given object is equal to this object - * - * @param o - * the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof PronunciationState) { - PronunciationState other = (PronunciationState) o; - return other.gs.equals(gs) - && other.pronunciation.equals(pronunciation); - } else { - return false; - } - } - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - arcs = getSuccessors(gs.getLC(), 0); - cacheSuccessors(arcs); - } - return arcs; - } - - /** - * Gets the successor states for the unit and the given position and - * left context - * - * @param lc - * the ID of the left context - * @param index - * the position of the unit within the pronunciation - * @return the set of sucessor arcs - */ - SearchStateArc[] getSuccessors(int lc, int index) { - SearchStateArc[] arcs; - if (index == pronunciation.getUnits().length - 1) { - if (isContextIndependentUnit(pronunciation.getUnits()[index])) { - arcs = new SearchStateArc[1]; - arcs[0] = new FullHMMSearchState(this, index, lc, ANY); - } else { - int[] nextUnits = gs.getNextUnits(); - arcs = new SearchStateArc[nextUnits.length]; - for (int i = 0; i < arcs.length; i++) { - arcs[i] = new FullHMMSearchState(this, index, lc, - nextUnits[i]); - } - } - } else { - arcs = new SearchStateArc[1]; - arcs[0] = new FullHMMSearchState(this, index, lc); - } - return arcs; - } - - /** - * Gets the pronunciation assocated with this state - * - * @return the pronunciation - */ - public Pronunciation getPronunciation() { - return pronunciation; - } - - /** - * Determines if the given unit is a CI unit - * - * @param unit - * the unit to test - * @return true if the unit is a context independent unit - */ - private boolean isContextIndependentUnit(Unit unit) { - return unit.isFiller(); - } - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "PS " + gs.getSignature() + '-' + pronunciation; - } - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return pronunciation.getWord().getSpelling(); - } - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 2; - } - - /** - * Returns the grammar state associated with this state - * - * @return the grammar state - */ - GrammarState getGrammarState() { - return gs; - } - - /** - * Returns true if this WordSearchState indicates the start of a word. - * Returns false if this WordSearchState indicates the end of a word. - * - * @return true if this WordSearchState indicates the start of a word, - * false if this WordSearchState indicates the end of a word - */ - public boolean isWordStart() { - return true; - } - } - - /** Represents a unit (as an HMM) in the search graph */ - class FullHMMSearchState extends FlatSearchState implements UnitSearchState { - - private final PronunciationState pState; - private final int index; - private final int lc; - private final int rc; - private final HMM hmm; - private final boolean isLastUnitOfWord; - - /** - * Creates a FullHMMSearchState - * - * @param p - * the parent PronunciationState - * @param which - * the index of the unit within the pronunciation - * @param lc - * the ID of the left context - */ - FullHMMSearchState(PronunciationState p, int which, int lc) { - this(p, which, lc, p.getPronunciation().getUnits()[which + 1] - .getBaseID()); - } - - /** - * Creates a FullHMMSearchState - * - * @param p - * the parent PronunciationState - * @param which - * the index of the unit within the pronunciation - * @param lc - * the ID of the left context - * @param rc - * the ID of the right context - */ - FullHMMSearchState(PronunciationState p, int which, int lc, int rc) { - this.pState = p; - this.index = which; - this.lc = lc; - this.rc = rc; - int base = p.getPronunciation().getUnits()[which].getBaseID(); - int id = hmmPool.buildID(base, lc, rc); - hmm = hmmPool.getHMM(id, getPosition()); - isLastUnitOfWord = which == p.getPronunciation().getUnits().length - 1; - } - - /** - * Determines the insertion probability based upon the type of unit - * - * @return the insertion probability - */ - @Override - public float getInsertionProbability() { - Unit unit = hmm.getBaseUnit(); - - if (unit.isSilence()) { - return logSilenceInsertionProbability; - } else if (unit.isFiller()) { - return logFillerInsertionProbability; - } else { - return logUnitInsertionProbability; - } - } - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return hmm.getUnit().toString(); - } - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return pState.getGrammarState().getGrammarNode().hashCode() * 29 - + pState.getPronunciation().hashCode() * 19 + index * 7 - + 43 * lc + rc; - } - - /** - * Determines if the given object is equal to this object - * - * @param o - * the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof FullHMMSearchState) { - FullHMMSearchState other = (FullHMMSearchState) o; - // the definition for equal for a FullHMMState: - // Grammar Node equal - // Pronunciation equal - // index equal - // rc equal - - return pState.getGrammarState().getGrammarNode() == other.pState - .getGrammarState().getGrammarNode() - && pState.getPronunciation() == other.pState - .getPronunciation() - && index == other.index - && lc == other.lc && rc == other.rc; - } else { - return false; - } - } - - /** - * Returns the unit associated with this state - * - * @return the unit - */ - public Unit getUnit() { - return hmm.getBaseUnit(); - } - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - arcs = new SearchStateArc[1]; - arcs[0] = new HMMStateSearchState(this, hmm.getInitialState()); - cacheSuccessors(arcs); - } - return arcs; - } - - /** - * Determines if this unit is the last unit of a word - * - * @return true if this unit is the last unit of a word - */ - boolean isLastUnitOfWord() { - return isLastUnitOfWord; - } - - /** - * Determines the position of the unit within the word - * - * @return the position of the unit within the word - */ - HMMPosition getPosition() { - int len = pState.getPronunciation().getUnits().length; - if (len == 1) { - return HMMPosition.SINGLE; - } else if (index == 0) { - return HMMPosition.BEGIN; - } else if (index == len - 1) { - return HMMPosition.END; - } else { - return HMMPosition.INTERNAL; - } - } - - /** - * Returns the HMM for this state - * - * @return the HMM - */ - HMM getHMM() { - return hmm; - } - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 3; - } - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "HSS " + pState.getGrammarState().getGrammarNode() - + pState.getPronunciation() + index + '-' + rc + '-' + lc; - } - - /** - * Returns the ID of the right context for this state - * - * @return the right context unit ID - */ - int getRC() { - return rc; - } - - /** - * Returns the next set of arcs after this state and all substates have - * been processed - * - * @return the next set of arcs - */ - SearchStateArc[] getNextArcs() { - SearchStateArc[] arcs; - // this is the last state of the hmm - // so check to see if we are at the end - // of a word, if not get the next full hmm in the word - // otherwise generate arcs to the next set of words - - // Pronunciation pronunciation = pState.getPronunciation(); - int nextLC = getHMM().getBaseUnit().getBaseID(); - - if (!isLastUnitOfWord()) { - arcs = pState.getSuccessors(nextLC, index + 1); - } else { - // we are at the end of the word, so we transit to the - // next grammar nodes - GrammarState gs = pState.getGrammarState(); - arcs = gs.getNextGrammarStates(nextLC, getRC()); - } - return arcs; - } - } - - /** Represents a single hmm state in the search graph */ - class HMMStateSearchState extends FlatSearchState implements - HMMSearchState, ScoreProvider { - - private final FullHMMSearchState fullHMMSearchState; - private final HMMState hmmState; - private final float probability; - - /** - * Creates an HMMStateSearchState - * - * @param hss - * the parent hmm state - * @param hmmState - * which hmm state - */ - HMMStateSearchState(FullHMMSearchState hss, HMMState hmmState) { - this(hss, hmmState, LogMath.LOG_ONE); - } - - /** - * Creates an HMMStateSearchState - * - * @param hss - * the parent hmm state - * @param hmmState - * which hmm state - * @param prob - * the transition probability - */ - HMMStateSearchState(FullHMMSearchState hss, HMMState hmmState, - float prob) { - this.probability = prob; - fullHMMSearchState = hss; - this.hmmState = hmmState; - } - - /** - * Returns the acoustic probability for this state - * - * @return the probability - */ - @Override - public float getInsertionProbability() { - return probability; - } - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 7 * fullHMMSearchState.hashCode() + hmmState.hashCode(); - } - - /** - * Determines if the given object is equal to this object - * - * @param o - * the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof HMMStateSearchState) { - HMMStateSearchState other = (HMMStateSearchState) o; - return other.fullHMMSearchState.equals(fullHMMSearchState) - && other.hmmState.equals(hmmState); - } else { - return false; - } - } - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - @Override - public boolean isEmitting() { - return hmmState.isEmitting(); - } - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - if (hmmState.isExitState()) { - arcs = fullHMMSearchState.getNextArcs(); - } else { - HMMStateArc[] next = hmmState.getSuccessors(); - arcs = new SearchStateArc[next.length]; - for (int i = 0; i < arcs.length; i++) { - arcs[i] = new HMMStateSearchState(fullHMMSearchState, - next[i].getHMMState(), next[i] - .getLogProbability()); - } - } - cacheSuccessors(arcs); - } - return arcs; - } - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return isEmitting() ? 4 : 0; - } - - /** - * Returns a unique string representation of the state. This string is - * suitable (and typically used) for a label for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "HSSS " + fullHMMSearchState.getSignature() + '-' + hmmState; - } - - /** - * Returns the hmm state for this search state - * - * @return the hmm state - */ - public HMMState getHMMState() { - return hmmState; - } - - public float getScore(Data data) { - return hmmState.getScore(data); - } - - @Override - public float[] getComponentScore(Data data) { - return hmmState.calculateComponentScore(data); - } - } - - /** The search graph that is produced by the flat linguist. */ - class DynamicFlatSearchGraph implements SearchGraph { - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getInitialState() - */ - public SearchState getInitialState() { - InitialState initialState = new InitialState(); - initialState.addArc(new GrammarState(grammar.getInitialNode())); - return initialState; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getNumStateOrder() - */ - public int getNumStateOrder() { - return 5; - } - - public boolean getWordTokenFirst() { - return true; - } - } - - public void startRecognition() { - } - - public void stopRecognition() { - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/PhoneLoop.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/PhoneLoop.java deleted file mode 100755 index 67760584..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/aflat/PhoneLoop.java +++ /dev/null @@ -1,627 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.aflat; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; - - -/** Builds a grammar sub-graph that matches all phones. This is suitable for use as an out-of-grammar detector */ -public class PhoneLoop { - - private final AcousticModel acousticModel; - private final float logOutOfGrammarBranchProbability; - private final float logPhoneInsertionProbability; - private final static SearchStateArc[] EMPTY_ARCS = new SearchStateArc[0]; - private final FirstBranchState fbs; - private final LastBranchState lbs; - private final UnknownWordState uws; - private final SearchStateArc[] lbsArcSet; - private final SearchStateArc[] toGrammarSearchState; - - - /** - * Creates an PhoneLoop - * - * @param model the acoustic model - * @param logOutOfGrammarBranchProbability probability of branching to this graph - * @param logPhoneInsertionProbability probability of inserting a phone - * @param toGrammarSearchState target search state - */ - public PhoneLoop(AcousticModel model, - float logOutOfGrammarBranchProbability, - float logPhoneInsertionProbability, SearchStateArc[] toGrammarSearchState) { - this.acousticModel = model; - this.logOutOfGrammarBranchProbability = logOutOfGrammarBranchProbability; - this.logPhoneInsertionProbability = logPhoneInsertionProbability; - this.toGrammarSearchState = toGrammarSearchState; - fbs = new FirstBranchState(); - lbs = new LastBranchState(); - uws = new UnknownWordState(); - lbsArcSet = new SearchStateArc[1]; - lbsArcSet[0] = lbs; - } - - - /** - * Returns an arc to this out-of-grammar graph - * - * @return an arc to the graph - */ - public SearchStateArc getPhoneLoop() { - return uws; - } - - - /** Represents the unknown word */ - class UnknownWordState extends OogSearchState implements WordSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the unknown word state */ - UnknownWordState() { - successors = new SearchStateArc[1]; - successors[0] = fbs; - } - - - /** - * Returns the pronunciation for this word - * - * @return the pronunciation - */ - public Pronunciation getPronunciation() { - return Word.UNKNOWN.getPronunciations()[0]; - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogUNK"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - - - /** - * Gets the language probability for transitioning to this state - * - * @return the language probability - */ - @Override - public float getLanguageProbability() { - return logOutOfGrammarBranchProbability; - } - - - /** - * Returns true if this UnknownWordState indicates the start of a word. Returns false if this UnknownWordState - * indicates the end of a word. - * - * @return true if this UnknownWordState indicates the start of a word, false if this UnknownWordState indicates - * the end of a word - */ - public boolean isWordStart() { - return true; - } - } - - /** Represents the first branch state in the grammar */ - class FirstBranchState extends OogSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the first branch state */ - FirstBranchState() { - List successorList = new ArrayList(); - for (Iterator i = acousticModel.getContextIndependentUnitIterator(); i.hasNext();) { - Unit unit = i.next(); - if(!unit.isFiller()) { - OogHMM hmm = new OogHMM(unit); - successorList.add(hmm); - } - } - successors = successorList.toArray(new SearchStateArc[successorList.size()]); - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 2; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogFBS"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - } - - /** Represents an HMM Unit in the search graph */ - class OogHMM extends OogSearchState implements UnitSearchState { - - private final HMM hmm; - private final SearchStateArc[] successors; - - - /** - * Creates an HMM unit state - * - * @param unit the unit represented by this state - */ - OogHMM(Unit unit) { - hmm = acousticModel.lookupNearestHMM(unit, HMMPosition.UNDEFINED, false); - successors = new SearchStateArc[1]; - successors[0] = new OogHMMState(hmm.getInitialState(), LogMath.LOG_ONE); - } - - - /** - * Gets the unit - * - * @return the unit - */ - public Unit getUnit() { - return hmm.getBaseUnit(); - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 3; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogHMM-" + getUnit(); - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - return logPhoneInsertionProbability; - } - } - - /** Represents a single hmm state in the search graph */ - class OogHMMState extends OogSearchState implements HMMSearchState,ScoreProvider { - - final HMMState hmmState; - final float logProbability; - - - /** - * Creates an OogHMMState - * - * @param hmmState the hmm state associated with this search state - * @param logProbability the probability of transitioning to this state - */ - OogHMMState(HMMState hmmState, float logProbability) { - this.hmmState = hmmState; - this.logProbability = logProbability; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oog-" + hmmState; - } - - - /** - * Returns the hmm state - * - * @return the hmm state - */ - public HMMState getHMMState() { - return hmmState; - } - - - /** - * Determines if this is an emitting state - * - * @return true if this is an emitting state - */ - @Override - public boolean isEmitting() { - return hmmState.isEmitting(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 191 + hmmState.hashCode(); - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof OogHMMState) { - OogHMMState other = (OogHMMState) o; - return other.hmmState == hmmState; - } else { - return false; - } - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return isEmitting() ? 4 : 0; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - if (hmmState.isExitState()) { - return lbsArcSet; - } else { - HMMStateArc[] arcs = hmmState.getSuccessors(); - SearchStateArc[] successors = new SearchStateArc[arcs.length]; - for (int i = 0; i < arcs.length; i++) { - successors[i] = new OogHMMState(arcs[i].getHMMState(), - arcs[i].getLogProbability()); - } - return successors; - } - } - - public float getScore(Data feature) { - return hmmState.getScore(feature); - } - - - @Override - public float[] getComponentScore(Data feature) { - return hmmState.calculateComponentScore(feature); - } - } - - /** Represents the last branch state in the search graph */ - class LastBranchState extends OogSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the last branch state */ - LastBranchState() { - successors = new SearchStateArc[2]; - successors[0] = fbs; - successors[1] = toGrammarSearchState[0]; - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogLBS"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - } - - /** Represents the final state in the search graph */ - class FinalState extends OogSearchState { - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 2; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogFinal"; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - @Override - public boolean isFinal() { - return true; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return EMPTY_ARCS; - } - } - - /** The base search state for this dynamic flat linguist. */ - abstract class OogSearchState implements SearchState, SearchStateArc { - - final static int ANY = 0; - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - public abstract SearchStateArc[] getSuccessors(); - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - public abstract String getSignature(); - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - public abstract int getOrder(); - - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - public boolean isEmitting() { - return false; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - public boolean isFinal() { - return false; - } - - - /** - * Returns a lex state associated with the searc state (not applicable to this linguist) - * - * @return the lex state (null for this linguist) - */ - public Object getLexState() { - return null; - } - - - /** - * Returns a well formatted string representation of this state - * - * @return the formatted string - */ - public String toPrettyString() { - return toString(); - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - - - /** - * Returns the word history for this state (not applicable to this linguist) - * - * @return the word history (null for this linguist) - */ - public WordSequence getWordHistory() { - return null; - } - - - /** - * Gets a successor to this search state - * - * @return the sucessor state - */ - public SearchState getState() { - return this; - } - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - public float getLanguageProbability() { - return LogMath.LOG_ONE; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - public float getInsertionProbability() { - return LogMath.LOG_ONE; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneLinguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneLinguist.java deleted file mode 100755 index 1efd7864..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneLinguist.java +++ /dev/null @@ -1,175 +0,0 @@ -package edu.cmu.sphinx.linguist.allphone; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; - -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchGraph; -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.LeftRightContext; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneSequence; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Double; - -public class AllphoneLinguist implements Linguist { - - /** The property that defines the acoustic model to use when building the search graph */ - @S4Component(type = AcousticModel.class) - public final static String PROP_ACOUSTIC_MODEL = "acousticModel"; - - /** - * The property that controls phone insertion probability. - * Default value for context independent phoneme decoding is 0.05, - * while for context dependent - 0.01. - */ - @S4Double(defaultValue = 0.05) - public final static String PROP_PIP = "phoneInsertionProbability"; - - /** - * The property that controls whether to use context dependent phones. - * Changing it for true, don't forget to tune phone insertion probability. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_CD = "useContextDependentPhones"; - - private AcousticModel acousticModel; - private ArrayList ciHMMs; - private ArrayList fillerHMMs; - private ArrayList leftContextSilHMMs; - private HashMap> senonesToUnits; - private HashMap>> cdHMMs; - private float pip; - private boolean useCD; - - public AllphoneLinguist() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - acousticModel = (AcousticModel) ps.getComponent(PROP_ACOUSTIC_MODEL); - pip = LogMath.getLogMath().linearToLog(ps.getFloat(PROP_PIP)); - - useCD = ps.getBoolean(PROP_CD); - if (useCD) - createContextDependentSuccessors(); - else - createContextIndependentSuccessors(); - } - - public SearchGraph getSearchGraph() { - return new AllphoneSearchGraph(this); - } - - public void startRecognition() { - } - - public void stopRecognition() { - } - - public void allocate() throws IOException { - } - - public void deallocate() throws IOException { - } - - public AcousticModel getAcousticModel() { - return acousticModel; - } - - public float getPhoneInsertionProb() { - return pip; - } - - public boolean useContextDependentPhones() { - return useCD; - } - - public ArrayList getCISuccessors() { - return ciHMMs; - } - - public ArrayList getCDSuccessors(Unit lc, Unit base) { - if (lc.isFiller()) - return leftContextSilHMMs; - if (base == UnitManager.SILENCE) - return fillerHMMs; - return cdHMMs.get(lc).get(base); - } - - public ArrayList getUnits(SenoneSequence senoneSeq) { - return senonesToUnits.get(senoneSeq); - } - - private void createContextIndependentSuccessors() { - Iterator hmmIter = acousticModel.getHMMIterator(); - ciHMMs = new ArrayList(); - senonesToUnits = new HashMap>(); - while (hmmIter.hasNext()) { - HMM hmm = hmmIter.next(); - if (!hmm.getUnit().isContextDependent()) { - ArrayList sameSenonesUnits; - SenoneSequence senoneSeq = ((SenoneHMM)hmm).getSenoneSequence(); - if ((sameSenonesUnits = senonesToUnits.get(senoneSeq)) == null) { - sameSenonesUnits = new ArrayList(); - senonesToUnits.put(senoneSeq, sameSenonesUnits); - } - sameSenonesUnits.add(hmm.getUnit()); - ciHMMs.add(hmm); - } - } - } - - private void createContextDependentSuccessors() { - cdHMMs = new HashMap>>(); - senonesToUnits = new HashMap>(); - fillerHMMs = new ArrayList(); - leftContextSilHMMs = new ArrayList(); - Iterator hmmIter = acousticModel.getHMMIterator(); - while (hmmIter.hasNext()) { - HMM hmm = hmmIter.next(); - ArrayList sameSenonesUnits; - SenoneSequence senoneSeq = ((SenoneHMM)hmm).getSenoneSequence(); - if ((sameSenonesUnits = senonesToUnits.get(senoneSeq)) == null) { - sameSenonesUnits = new ArrayList(); - senonesToUnits.put(senoneSeq, sameSenonesUnits); - } - sameSenonesUnits.add(hmm.getUnit()); - if (hmm.getUnit().isFiller()) { - fillerHMMs.add(hmm); - continue; - } - if (hmm.getUnit().isContextDependent()) { - LeftRightContext context = (LeftRightContext)hmm.getUnit().getContext(); - Unit lc = context.getLeftContext()[0]; - if (lc == UnitManager.SILENCE) { - leftContextSilHMMs.add(hmm); - continue; - } - Unit base = hmm.getUnit().getBaseUnit(); - HashMap> lcSuccessors; - if ((lcSuccessors = cdHMMs.get(lc)) == null) { - lcSuccessors = new HashMap>(); - cdHMMs.put(lc, lcSuccessors); - } - ArrayList lcBaseSuccessors; - if ((lcBaseSuccessors = lcSuccessors.get(base)) == null) { - lcBaseSuccessors = new ArrayList(); - lcSuccessors.put(base, lcBaseSuccessors); - } - lcBaseSuccessors.add(hmm); - } - } - leftContextSilHMMs.addAll(fillerHMMs); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneSearchGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneSearchGraph.java deleted file mode 100755 index 36cfa0df..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/AllphoneSearchGraph.java +++ /dev/null @@ -1,30 +0,0 @@ -package edu.cmu.sphinx.linguist.allphone; - -import edu.cmu.sphinx.linguist.SearchGraph; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.util.LogMath; - -public class AllphoneSearchGraph implements SearchGraph { - - private AllphoneLinguist linguist; - - public AllphoneSearchGraph(AllphoneLinguist linguist) { - this.linguist = linguist; - } - - public SearchState getInitialState() { - HMMState silHmmState = linguist.getAcousticModel().lookupNearestHMM(UnitManager.SILENCE, HMMPosition.UNDEFINED, true).getInitialState(); - return new PhoneHmmSearchState(silHmmState, linguist, LogMath.LOG_ONE, LogMath.LOG_ONE); - } - - public int getNumStateOrder() { - return 2; - } - - public boolean getWordTokenFirst() { - return false; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneHmmSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneHmmSearchState.java deleted file mode 100755 index d0109f1e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneHmmSearchState.java +++ /dev/null @@ -1,122 +0,0 @@ -package edu.cmu.sphinx.linguist.allphone; - -import java.util.ArrayList; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.HMMStateArc; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneSequence; - -public class PhoneHmmSearchState implements SearchState, SearchStateArc, ScoreProvider { - - private HMMState state; - private AllphoneLinguist linguist; - - private float insertionProb; - private float languageProb; - - public PhoneHmmSearchState(HMMState hmmState, AllphoneLinguist linguist, float insertionProb, float languageProb) { - this.state = hmmState; - this.linguist = linguist; - this.insertionProb = insertionProb; - this.languageProb = languageProb; - } - - public SearchState getState() { - return this; - } - - public int getBaseId() { - return ((SenoneHMM)state.getHMM()).getBaseUnit().getBaseID(); - } - - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - public float getLanguageProbability() { - return languageProb; - } - - public float getInsertionProbability() { - return insertionProb; - } - - /* If we are final, transfer to all possible phones, otherwise - * return all successors of this hmm state. - * */ - public SearchStateArc[] getSuccessors() { - if (state.isExitState()) { - ArrayList units = linguist.getUnits(((SenoneHMM)state.getHMM()).getSenoneSequence()); - SearchStateArc[] result = new SearchStateArc[units.size()]; - for (int i = 0; i < result.length; i++) - result[i] = new PhoneNonEmittingSearchState(units.get(i), linguist, insertionProb, languageProb); - return result; - } else { - HMMStateArc successors[] = state.getSuccessors(); - SearchStateArc[] results = new SearchStateArc[successors.length]; - for (int i = 0; i < successors.length; i++) { - results[i] = new PhoneHmmSearchState(successors[i].getHMMState(), linguist, insertionProb, languageProb); - } - return results; - } - } - - public boolean isEmitting() { - return state.isEmitting(); - } - - public boolean isFinal() { - return false; - } - - public String toPrettyString() { - return "HMM " + state.toString(); - } - - public String getSignature() { - return null; - } - - public WordSequence getWordHistory() { - return null; - } - - public Object getLexState() { - return null; - } - - public int getOrder() { - return 2; - } - - @Override - public float getScore(Data data) { - return state.getScore(data); - } - - @Override - public float[] getComponentScore(Data feature) { - return state.calculateComponentScore(feature); - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof PhoneHmmSearchState)) - return false; - SenoneSequence otherSenoneSeq = ((SenoneHMM)((PhoneHmmSearchState)obj).state.getHMM()).getSenoneSequence(); - SenoneSequence thisSenoneSeq = ((SenoneHMM)state.getHMM()).getSenoneSequence(); - return thisSenoneSeq.equals(otherSenoneSeq); - } - - @Override - public int hashCode() { - return ((SenoneHMM)state.getHMM()).getSenoneSequence().hashCode() + state.getState() * 37; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneNonEmittingSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneNonEmittingSearchState.java deleted file mode 100755 index 62e94ee4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneNonEmittingSearchState.java +++ /dev/null @@ -1,85 +0,0 @@ -package edu.cmu.sphinx.linguist.allphone; - -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.Unit; - -public class PhoneNonEmittingSearchState implements SearchState, SearchStateArc { - - protected Unit unit; - protected AllphoneLinguist linguist; - private float insertionProb; - private float languageProb; - - public PhoneNonEmittingSearchState(Unit unit, AllphoneLinguist linguist, float insertionProb, float languageProb) { - this.unit = unit; - this.linguist = linguist; - this.insertionProb = insertionProb; - this.languageProb = languageProb; - } - - public SearchStateArc[] getSuccessors() { - SearchStateArc[] result = new SearchStateArc[1]; - result[0] = new PhoneWordSearchState(unit, linguist, insertionProb, languageProb); - return result; - } - - public boolean isEmitting() { - return false; - } - - public boolean isFinal() { - return false; - } - - public String toPrettyString() { - return "Unit " + unit.toString(); - } - - public String getSignature() { - return null; - } - - public WordSequence getWordHistory() { - return null; - } - - public int getOrder() { - return 0; - } - - public SearchState getState() { - return this; - } - - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - public float getLanguageProbability() { - return languageProb; - } - - public float getInsertionProbability() { - return insertionProb; - } - - public Object getLexState() { - return null; - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof PhoneNonEmittingSearchState)) - return false; - boolean haveSameBaseId = ((PhoneNonEmittingSearchState)obj).unit.getBaseID() == unit.getBaseID(); - boolean haveSameContex = ((PhoneNonEmittingSearchState)obj).unit.getContext().equals(unit.getContext()); - return haveSameBaseId && haveSameContex; - } - - @Override - public int hashCode() { - return unit.getContext().hashCode() * 91 + unit.getBaseID(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneWordSearchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneWordSearchState.java deleted file mode 100755 index 8d5068b5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/allphone/PhoneWordSearchState.java +++ /dev/null @@ -1,68 +0,0 @@ -package edu.cmu.sphinx.linguist.allphone; - -import java.util.ArrayList; - -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.LeftRightContext; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; - -public class PhoneWordSearchState extends PhoneNonEmittingSearchState implements WordSearchState { - - public PhoneWordSearchState(Unit unit, AllphoneLinguist linguist, float insertionProb, float languageProb) { - super(unit, linguist, insertionProb, languageProb); - } - - public SearchStateArc[] getSuccessors() { - ArrayList result = new ArrayList(); - Unit rc = UnitManager.SILENCE; - Unit base = unit.getBaseUnit(); - if (unit.isContextDependent()) - rc = ((LeftRightContext)unit.getContext()).getRightContext()[0]; - ArrayList successors = linguist.useContextDependentPhones() ? linguist.getCDSuccessors(base, rc) : linguist.getCISuccessors(); - for (HMM successor : successors) - result.add(new PhoneHmmSearchState(successor.getInitialState(), linguist, linguist.getPhoneInsertionProb(), LogMath.LOG_ONE)); - return result.toArray(new SearchStateArc[result.size()]); - } - - public boolean isFinal() { - return true; - } - - @Override - public Pronunciation getPronunciation() { - Unit[] pronUnits = new Unit[1]; - pronUnits[0] = unit; - Pronunciation p = new Pronunciation(pronUnits, "", 1.0f); - p.setWord(new Word(unit.getName(), null, false)); - return p; - } - - @Override - public boolean isWordStart() { - return false; - } - - public int getOrder() { - return 1; - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof PhoneWordSearchState)) - return false; - boolean haveSameBaseId = ((PhoneWordSearchState)obj).unit.getBaseID() == unit.getBaseID(); - boolean haveSameContex = ((PhoneWordSearchState)obj).unit.getContext().equals(unit.getContext()); - return haveSameBaseId && haveSameContex; - } - - @Override - public int hashCode() { - return unit.getContext().hashCode() * 91 + unit.getBaseID(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/DynamicFlatLinguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/DynamicFlatLinguist.java deleted file mode 100755 index ddf33578..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/DynamicFlatLinguist.java +++ /dev/null @@ -1,1486 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.dflat; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.grammar.Grammar; -import edu.cmu.sphinx.linguist.language.grammar.GrammarArc; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; -import java.util.logging.Logger; - -/** - * A simple form of the linguist. It makes the following simplifying assumptions: 1) Zero or one word per grammar node - * 2) No fan-in allowed ever 3) No composites (yet) 4) Only Unit, HMMState, and pronunciation states (and the - * initial/final grammar state are in the graph (no word, alternative or grammar states attached). 5) Only valid - * transitions (matching contexts) are allowed 6) No tree organization of units 7) Branching grammar states are - * allowed - *

- * This is a dynamic version of the flat linguist that is more efficient in terms of startup time and overall footprint - *

- * Note that all probabilities are maintained in the log math domain - */ - -public class DynamicFlatLinguist implements Linguist, Configurable { - - /** The property used to define the grammar to use when building the search graph */ - @S4Component(type = Grammar.class) - public final static String GRAMMAR = "grammar"; - - /** The property used to define the unit manager to use when building the search graph */ - @S4Component(type = UnitManager.class) - public final static String UNIT_MANAGER = "unitManager"; - - /** The property used to define the acoustic model to use when building the search graph */ - @S4Component(type = AcousticModel.class) - public final static String ACOUSTIC_MODEL = "acousticModel"; - - /** The property that specifies whether to add a branch for detecting out-of-grammar utterances. */ - @S4Boolean(defaultValue = false) - public final static String ADD_OUT_OF_GRAMMAR_BRANCH = "addOutOfGrammarBranch"; - - /** The property for the probability of entering the out-of-grammar branch. */ - @S4Double(defaultValue = 1.0) - public final static String OUT_OF_GRAMMAR_PROBABILITY = "outOfGrammarProbability"; - - /** The property for the probability of inserting a CI phone in the out-of-grammar ci phone loop */ - @S4Double(defaultValue = 1.0) - public static final String PHONE_INSERTION_PROBABILITY = "phoneInsertionProbability"; - - /** The property for the acoustic model to use to build the phone loop that detects out of grammar utterances. */ - @S4Component(type = AcousticModel.class) - public final static String PHONE_LOOP_ACOUSTIC_MODEL = "phoneLoopAcousticModel"; - - // ---------------------------------- - // Subcomponents that are configured - // by the property sheet - // ----------------------------------- - private Grammar grammar; - private AcousticModel acousticModel; - private AcousticModel phoneLoopAcousticModel; - private LogMath logMath; - private UnitManager unitManager; - // ------------------------------------ - // Data that is configured by the - // property sheet - // ------------------------------------ - private float logWordInsertionProbability; - private float logSilenceInsertionProbability; - private float logUnitInsertionProbability; - private float logFillerInsertionProbability; - private float languageWeight; - private float logOutOfGrammarBranchProbability; - private float logPhoneInsertionProbability; - private boolean addOutOfGrammarBranch; - - // ------------------------------------ - // Data used for building and maintaining - // the search graph - // ------------------------------------- - private SearchGraph searchGraph; - private Logger logger; - private HMMPool hmmPool; - SearchStateArc outOfGrammarGraph; - private GrammarNode initialGrammarState; - - // this map is used to manage the set of follow on units for a - // particular grammar node. It is used to select the set of - // possible right contexts as we leave a node - - private Map nodeToNextUnitArrayMap; - - // this map is used to manage the set of possible entry units for - // a grammar node. It is used to filter paths so that we only - // branch to grammar nodes that match the current right context. - - private Map> nodeToUnitSetMap; - - // an empty arc (just waiting for Noah, I guess) - private final SearchStateArc[] EMPTY_ARCS = new SearchStateArc[0]; - - public DynamicFlatLinguist(AcousticModel acousticModel, Grammar grammar, UnitManager unitManager, - double wordInsertionProbability, double silenceInsertionProbability, double unitInsertionProbability, - double fillerInsertionProbability, float languageWeight, boolean addOutOfGrammarBranch, - double outOfGrammarBranchProbability, double phoneInsertionProbability, AcousticModel phoneLoopAcousticModel) { - - this.logger = Logger.getLogger(getClass().getName()); - this.acousticModel = acousticModel; - logMath = LogMath.getLogMath(); - this.grammar = grammar; - this.unitManager = unitManager; - - this.logWordInsertionProbability = logMath.linearToLog(wordInsertionProbability); - this.logSilenceInsertionProbability = logMath.linearToLog(silenceInsertionProbability); - this.logUnitInsertionProbability = logMath.linearToLog(unitInsertionProbability); - this.logFillerInsertionProbability = logMath.linearToLog(fillerInsertionProbability); - this.languageWeight = languageWeight; - this.addOutOfGrammarBranch = addOutOfGrammarBranch; - this.logOutOfGrammarBranchProbability = logMath.linearToLog(outOfGrammarBranchProbability); - - this.logPhoneInsertionProbability = logMath.linearToLog(logPhoneInsertionProbability); - if (addOutOfGrammarBranch) { - this.phoneLoopAcousticModel = phoneLoopAcousticModel; - } - } - - public DynamicFlatLinguist() { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - logMath = LogMath.getLogMath(); - - acousticModel = (AcousticModel) ps.getComponent(ACOUSTIC_MODEL); - grammar = (Grammar) ps.getComponent(GRAMMAR); - unitManager = (UnitManager) ps.getComponent(UNIT_MANAGER); - - // get the rest of the configuration data - logWordInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_WORD_INSERTION_PROBABILITY)); - logSilenceInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_SILENCE_INSERTION_PROBABILITY)); - logUnitInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_UNIT_INSERTION_PROBABILITY)); - logFillerInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_FILLER_INSERTION_PROBABILITY)); - languageWeight = ps.getFloat(Linguist.PROP_LANGUAGE_WEIGHT); - addOutOfGrammarBranch = ps.getBoolean(ADD_OUT_OF_GRAMMAR_BRANCH); - logOutOfGrammarBranchProbability = logMath.linearToLog(ps.getDouble(OUT_OF_GRAMMAR_PROBABILITY)); - - logPhoneInsertionProbability = logMath.linearToLog(ps.getDouble(PHONE_INSERTION_PROBABILITY)); - if (addOutOfGrammarBranch) { - phoneLoopAcousticModel = (AcousticModel) ps.getComponent(PHONE_LOOP_ACOUSTIC_MODEL); - } - } - - - /** - * Returns the search graph - * - * @return the search graph - */ - public SearchGraph getSearchGraph() { - return searchGraph; - } - - public void allocate() throws IOException { - logger.info("Allocating DFLAT"); - allocateAcousticModel(); - grammar.allocate(); - hmmPool = new HMMPool(acousticModel, logger, unitManager); - nodeToNextUnitArrayMap = new HashMap(); - nodeToUnitSetMap = new HashMap>(); - Timer timer = TimerPool.getTimer(this, "compileGrammar"); - timer.start(); - compileGrammar(); - timer.stop(); - logger.info("Done allocating DFLAT"); - } - - - /** - * Allocates the acoustic model. - * @throws java.io.IOException if error happens - **/ - protected void allocateAcousticModel() throws IOException { - acousticModel.allocate(); - if (addOutOfGrammarBranch) { - phoneLoopAcousticModel.allocate(); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#deallocate() - */ - public void deallocate() { - if (acousticModel != null) { - acousticModel.deallocate(); - } - grammar.deallocate(); - } - - - /** Called before a recognition */ - public void startRecognition() { - if (grammarHasChanged()) { - compileGrammar(); - } - } - - - /** Called after a recognition */ - public void stopRecognition() { - } - - - /** - * Returns the log silence insertion probability. - * - * @return the log silence insertion probability. - */ - public float getLogSilenceInsertionProbability() { - return logSilenceInsertionProbability; - } - - /** - * Determines if the underlying grammar has changed since we last compiled the search graph - * - * @return true if the grammar has changed - */ - private boolean grammarHasChanged() { - return initialGrammarState == null || - initialGrammarState != grammar.getInitialNode(); - } - - private void compileGrammar() { - initialGrammarState = grammar.getInitialNode(); - - for (GrammarNode node : grammar.getGrammarNodes()) { - initUnitMaps(node); - } - - searchGraph = new DynamicFlatSearchGraph(); - } - - - /** - * Initializes the unit maps for this linguist. There are two unit maps: (a) nodeToNextUnitArrayMap contains an - * array of unit ids for all possible units that immediately follow the given grammar node. This is used to - * determine the set of exit contexts for words within a grammar node. (b) nodeToUnitSetMap contains the set of - * possible entry units for a given grammar node. This is typically used to determine if a path with a given right - * context should branch into a particular grammar node - * - * @param node the units maps will be created for this node. - */ - private void initUnitMaps(GrammarNode node) { - - // collect the set of next units for this node - - if (nodeToNextUnitArrayMap.get(node) == null) { - Set vistedNodes = new HashSet(); - Set unitSet = new HashSet(); - - GrammarArc[] arcs = node.getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode nextNode = arc.getGrammarNode(); - collectNextUnits(nextNode, vistedNodes, unitSet); - } - int[] nextUnits = new int[unitSet.size()]; - int index = 0; - for (Unit unit : unitSet) { - nextUnits[index++] = unit.getBaseID(); - } - nodeToNextUnitArrayMap.put(node, nextUnits); - } - - // collect the set of entry units for this node - - if (nodeToUnitSetMap.get(node) == null) { - Set vistedNodes = new HashSet(); - Set unitSet = new HashSet(); - collectNextUnits(node, vistedNodes, unitSet); - nodeToUnitSetMap.put(node, unitSet); - } - } - - - /** - * For the given grammar node, collect the set of possible next units. - * - * @param thisNode the grammar node - * @param vistedNodes the set of visited grammar nodes, used to ensure that we don't attempt to expand a particular - * grammar node more than once (which could lead to a death spiral) - * @param unitSet the entry units are collected here. - */ - private void collectNextUnits(GrammarNode thisNode, - Set vistedNodes, Set unitSet) { - if (vistedNodes.contains(thisNode)) { - return; - } - - vistedNodes.add(thisNode); - if (thisNode.isFinalNode()) { - unitSet.add(UnitManager.SILENCE); - } else if (!thisNode.isEmpty()) { - Word word = thisNode.getWord(); - Pronunciation[] pronunciations = word.getPronunciations(); - for (Pronunciation pronunciation : pronunciations) { - unitSet.add(pronunciation.getUnits()[0]); - } - } else { - GrammarArc[] arcs = thisNode.getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode nextNode = arc.getGrammarNode(); - collectNextUnits(nextNode, vistedNodes, unitSet); - } - } - } - - - final Map successorCache = new HashMap(); - - /** The base search state for this dynamic flat linguist. */ - abstract class FlatSearchState implements SearchState, SearchStateArc { - - final static int ANY = 0; - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - public abstract SearchStateArc[] getSuccessors(); - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - public abstract String getSignature(); - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - public abstract int getOrder(); - - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - public boolean isEmitting() { - return false; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - public boolean isFinal() { - return false; - } - - - /** - * Returns a lex state associated with the searc state (not applicable to this linguist) - * - * @return the lex state (null for this linguist) - */ - public Object getLexState() { - return null; - } - - - /** - * Returns a well formatted string representation of this state - * - * @return the formatted string - */ - public String toPrettyString() { - return toString(); - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - - - /** - * Returns the word history for this state (not applicable to this linguist) - * - * @return the word history (null for this linguist) - */ - public WordSequence getWordHistory() { - return null; - } - - - /** - * Gets a successor to this search state - * - * @return the successor state - */ - public SearchState getState() { - return this; - } - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - public float getLanguageProbability() { - return LogMath.LOG_ONE; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - public float getInsertionProbability() { - return LogMath.LOG_ONE; - } - - - /** - * Get the arcs from the cache if the exist - * - * @return the cached arcs or null - */ - SearchStateArc[] getCachedSuccessors() { - return successorCache.get(this); - } - - - /** - * Places the set of successor arcs in the cache - * - * @param successors the set of arcs to be cached for this state - */ - void cacheSuccessors(SearchStateArc[] successors) { - successorCache.put(this, successors); - } - } - - /** - * Represents a grammar node in the search graph. A grammar state needs to keep track of the associated grammar node - * as well as the left context and next base unit. - */ - class GrammarState extends FlatSearchState { - - private final GrammarNode node; - private final int lc; - private final int nextBaseID; - private final float languageProbability; - - - /** - * Creates a grammar state for the given node with a silence Lc - * - * @param node the grammar node - */ - GrammarState(GrammarNode node) { - this(node, LogMath.LOG_ONE, UnitManager.SILENCE.getBaseID()); - } - - - /** - * Creates a grammar state for the given node and left context. The path will connect to any possible next base - * - * @param node the grammar node - * @param languageProbability the probability of transistioning to this word - * @param lc the left context for this path - */ - GrammarState(GrammarNode node, float languageProbability, int lc) { - this(node, languageProbability, lc, ANY); - } - - - /** - * Creates a grammar state for the given node and left context and next base ID. - * - * @param node the grammar node - * @param languageProbability the probability of transistioning to this word - * @param lc the left context for this path - * @param nextBaseID the next base ID - */ - GrammarState(GrammarNode node, float languageProbability, - int lc, int nextBaseID) { - this.lc = lc; - this.nextBaseID = nextBaseID; - this.node = node; - this.languageProbability = languageProbability; - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return languageProbability * languageWeight; - } - - - /** - * Generate a hashcode for an object. Equality for a grammar state includes the grammar node, the lc and the - * next base ID - * - * @return the hashcode - */ - @Override - public int hashCode() { - return node.hashCode() * 17 + lc * 7 + nextBaseID; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof GrammarState) { - GrammarState other = (GrammarState) o; - return other.node == node && lc == other.lc - && nextBaseID == other.nextBaseID; - } else { - return false; - } - } - - - /** - * Determines if this is a final state in the search graph - * - * @return true if this is a final state in the search graph - */ - @Override - public boolean isFinal() { - return node.isFinalNode(); - } - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - - SearchStateArc[] arcs = getCachedSuccessors(); - - if (arcs != null) { - return arcs; - } - - if (isFinal()) { - arcs = EMPTY_ARCS; - } else if (node.isEmpty()) { - arcs = getNextGrammarStates(lc, nextBaseID); - } else { - Word word = node.getWord(); - Pronunciation[] pronunciations = word.getPronunciations(); - - // This can potentially speedup computation - // pronunciations = filter(pronunciations, nextBaseID); - - SearchStateArc[] nextArcs = new SearchStateArc[pronunciations.length]; - - for (int i = 0; i < pronunciations.length; i++) { - nextArcs[i] = new PronunciationState(this, - pronunciations[i]); - } - arcs = nextArcs; - } - - cacheSuccessors(arcs); - return arcs; - } - - - /** - * Gets the set of arcs to the next set of grammar states that match the given nextBaseID - * - * @param lc the current left context - * @param nextBaseID the desired next base ID - - */ - SearchStateArc[] getNextGrammarStates(int lc, int nextBaseID) { - GrammarArc[] nextNodes = node.getSuccessors(); - nextNodes = filter(nextNodes, nextBaseID); - SearchStateArc[] nextArcs = new SearchStateArc[nextNodes.length]; - - for (int i = 0; i < nextNodes.length; i++) { - GrammarArc arc = nextNodes[i]; - nextArcs[i] = new GrammarState(arc.getGrammarNode(), - arc.getProbability(), lc, nextBaseID); - } - return nextArcs; - } - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "GS " + node + "-lc-" + hmmPool.getUnit(lc) + "-rc-" + - hmmPool.getUnit(nextBaseID); - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Given a set of arcs and the ID of the desired next unit, return the set of arcs containing only those that - * transition to the next unit - * - * @param arcs the set of arcs to filter - * @param nextBase the ID of the desired next unit - - */ - GrammarArc[] filter(GrammarArc[] arcs, int nextBase) { - if (nextBase != ANY) { - List list = new ArrayList(); - for (GrammarArc arc : arcs) { - GrammarNode node = arc.getGrammarNode(); - if (hasEntryContext(node, nextBase)) { - list.add(arc); - } - } - arcs = list.toArray(new GrammarArc[list.size()]); - } - return arcs; - } - - - /** - * Determines if the given node starts with the specified unit - * - * @param node the grammar node - * @param unitID the id of the unit - - */ - private boolean hasEntryContext(GrammarNode node, int unitID) { - Set unitSet = nodeToUnitSetMap.get(node); - return unitSet.contains(hmmPool.getUnit(unitID)); - } - - /** - * Retain only the pronunciations that start with the unit indicated by - * nextBase. This method can be used instead of filter to reduce search - * space. It's not used by default but could potentially lead to a - * decoding speedup. - * - * @param p - * the set of pronunciations to filter - * @param nextBase - * the ID of the desired initial unit - */ - Pronunciation[] filter(Pronunciation[] pronunciations, int nextBase) { - - if (nextBase == ANY) { - return pronunciations; - } - - ArrayList filteredPronunciation = new ArrayList( - pronunciations.length); - for (Pronunciation pronunciation : pronunciations) { - if (pronunciation.getUnits()[0].getBaseID() == nextBase) { - filteredPronunciation.add(pronunciation); - } - } - return filteredPronunciation - .toArray(new Pronunciation[filteredPronunciation.size()]); - } - - /** - * Gets the ID of the left context unit for this path - * - * @return the left context ID - */ - int getLC() { - return lc; - } - - - /** - * Gets the ID of the desired next unit - * - * @return the ID of the next unit - */ - int getNextBaseID() { - return nextBaseID; - } - - - /** - * Returns the set of IDs for all possible next units for this grammar node - * - * @return the set of IDs of all possible next units - */ - int[] getNextUnits() { - return nodeToNextUnitArrayMap.get(node); - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return node + "[" + hmmPool.getUnit(lc) + ',' + hmmPool.getUnit(nextBaseID) + ']'; - } - - - /** - * Returns the grammar node associated with this grammar state - * - * @return the grammar node - */ - GrammarNode getGrammarNode() { - return node; - } - - } - - class InitialState extends FlatSearchState { - - private final List nextArcs = new ArrayList(); - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - return nextArcs.toArray(new - SearchStateArc[nextArcs.size()]); - } - - - public void addArc(SearchStateArc arc) { - nextArcs.add(arc); - } - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "initialState"; - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - } - - /** This class representations a word punctuation in the search graph */ - class PronunciationState extends FlatSearchState implements - WordSearchState { - - private final GrammarState gs; - private final Pronunciation pronunciation; - - - /** - * Creates a PronunciationState - * - * @param gs the associated grammar state - * @param p the pronunciation - */ - PronunciationState(GrammarState gs, Pronunciation p) { - this.gs = gs; - this.pronunciation = p; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - if (pronunciation.getWord().isFiller()) { - return LogMath.LOG_ONE; - } else { - return logWordInsertionProbability; - } - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 13 * gs.hashCode() + pronunciation.hashCode(); - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof PronunciationState) { - PronunciationState other = (PronunciationState) o; - return other.gs.equals(gs) && - other.pronunciation.equals(pronunciation); - } else { - return false; - } - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - arcs = getSuccessors(gs.getLC(), 0); - cacheSuccessors(arcs); - } - return arcs; - } - - - /** - * Gets the successor states for the unit and the given position and left context - * - * @param lc the ID of the left context - * @param index the position of the unit within the pronunciation - * @return the set of sucessor arcs - */ - SearchStateArc[] getSuccessors(int lc, int index) { - SearchStateArc[] arcs; - if (index == pronunciation.getUnits().length - 1) { - if (isContextIndependentUnit( - pronunciation.getUnits()[index])) { - arcs = new SearchStateArc[1]; - arcs[0] = new FullHMMSearchState(this, index, lc, ANY); - } else { - int[] nextUnits = gs.getNextUnits(); - arcs = new SearchStateArc[nextUnits.length]; - for (int i = 0; i < arcs.length; i++) { - arcs[i] = new - FullHMMSearchState(this, index, lc, nextUnits[i]); - } - } - } else { - arcs = new SearchStateArc[1]; - arcs[0] = new FullHMMSearchState(this, index, lc); - } - return arcs; - } - - - /** - * Gets the pronunciation assocated with this state - * - * @return the pronunciation - */ - public Pronunciation getPronunciation() { - return pronunciation; - } - - - /** - * Determines if the given unit is a CI unit - * - * @param unit the unit to test - * @return true if the unit is a context independent unit - */ - private boolean isContextIndependentUnit(Unit unit) { - return unit.isFiller(); - } - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "PS " + gs.getSignature() + '-' + pronunciation; - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return pronunciation.getWord().getSpelling(); - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 2; - } - - - /** - * Returns the grammar state associated with this state - * - * @return the grammar state - */ - GrammarState getGrammarState() { - return gs; - } - - - /** - * Returns true if this WordSearchState indicates the start of a word. Returns false if this WordSearchState - * indicates the end of a word. - * - * @return true if this WordSearchState indicates the start of a word, false if this WordSearchState indicates - * the end of a word - */ - public boolean isWordStart() { - return true; - } - } - - - /** Represents a unit (as an HMM) in the search graph */ - class FullHMMSearchState extends FlatSearchState implements - UnitSearchState { - - private final PronunciationState pState; - private final int index; - private final int lc; - private final int rc; - private final HMM hmm; - private final boolean isLastUnitOfWord; - - - /** - * Creates a FullHMMSearchState - * - * @param p the parent PronunciationState - * @param which the index of the unit within the pronunciation - * @param lc the ID of the left context - */ - FullHMMSearchState(PronunciationState p, int which, int lc) { - this(p, which, lc, - p.getPronunciation().getUnits()[which + 1].getBaseID()); - } - - - /** - * Creates a FullHMMSearchState - * - * @param p the parent PronunciationState - * @param which the index of the unit within the pronunciation - * @param lc the ID of the left context - * @param rc the ID of the right context - */ - FullHMMSearchState(PronunciationState p, int which, int lc, int rc) { - this.pState = p; - this.index = which; - this.lc = lc; - this.rc = rc; - int base = - p.getPronunciation().getUnits()[which].getBaseID(); - int id = hmmPool.buildID(base, lc, rc); - hmm = hmmPool.getHMM(id, getPosition()); - isLastUnitOfWord = - which == p.getPronunciation().getUnits().length - 1; - } - - - /** - * Determines the insertion probability based upon the type of unit - * - * @return the insertion probability - */ - @Override - public float getInsertionProbability() { - Unit unit = hmm.getBaseUnit(); - - if (unit.isSilence()) { - return logSilenceInsertionProbability; - } else if (unit.isFiller()) { - return logFillerInsertionProbability; - } else { - return logUnitInsertionProbability; - } - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return hmm.getUnit().toString(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return pState.getGrammarState().getGrammarNode().hashCode() * 29 + - pState.getPronunciation().hashCode() * 19 + - index * 7 + 43 * lc + rc; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof FullHMMSearchState) { - FullHMMSearchState other = (FullHMMSearchState) o; - // the definition for equal for a FullHMMState: - // Grammar Node equal - // Pronunciation equal - // index equal - // rc equal - - return pState.getGrammarState().getGrammarNode() == - other.pState.getGrammarState().getGrammarNode() && - pState.getPronunciation() == other.pState.getPronunciation() && - index == other.index && lc == other.lc && rc == other.rc; - } else { - return false; - } - } - - - /** - * Returns the unit associated with this state - * - * @return the unit - */ - public Unit getUnit() { - return hmm.getBaseUnit(); - } - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - arcs = new SearchStateArc[1]; - arcs[0] = new HMMStateSearchState(this, hmm.getInitialState()); - cacheSuccessors(arcs); - } - return arcs; - } - - - /** - * Determines if this unit is the last unit of a word - * - * @return true if this unit is the last unit of a word - */ - boolean isLastUnitOfWord() { - return isLastUnitOfWord; - } - - - /** - * Determines the position of the unit within the word - * - * @return the position of the unit within the word - */ - HMMPosition getPosition() { - int len = pState.getPronunciation().getUnits().length; - if (len == 1) { - return HMMPosition.SINGLE; - } else if (index == 0) { - return HMMPosition.BEGIN; - } else if (index == len - 1) { - return HMMPosition.END; - } else { - return HMMPosition.INTERNAL; - } - } - - - /** - * Returns the HMM for this state - * - * @return the HMM - */ - HMM getHMM() { - return hmm; - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return 3; - } - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "HSS " + pState.getGrammarState().getGrammarNode() + - pState.getPronunciation() + index + '-' + rc + '-' + lc; - } - - /** - * Returns the ID of the right context for this state - * - * @return the right context unit ID - */ - int getRC() { - return rc; - } - - - /** - * Returns the next set of arcs after this state and all substates have been processed - * - * @return the next set of arcs - */ - SearchStateArc[] getNextArcs() { - SearchStateArc[] arcs; - // this is the last state of the hmm - // so check to see if we are at the end - // of a word, if not get the next full hmm in the word - // otherwise generate arcs to the next set of words - -// Pronunciation pronunciation = pState.getPronunciation(); - int nextLC = getHMM().getBaseUnit().getBaseID(); - - if (!isLastUnitOfWord()) { - arcs = pState.getSuccessors(nextLC, index + 1); - } else { - // we are at the end of the word, so we transit to the - // next grammar nodes - GrammarState gs = pState.getGrammarState(); - arcs = gs.getNextGrammarStates(nextLC, getRC()); - } - return arcs; - } - } - - /** Represents a single hmm state in the search graph */ - class HMMStateSearchState extends FlatSearchState implements - HMMSearchState, ScoreProvider { - - private final FullHMMSearchState fullHMMSearchState; - private final HMMState hmmState; - private final float probability; - - - /** - * Creates an HMMStateSearchState - * - * @param hss the parent hmm state - * @param hmmState which hmm state - */ - HMMStateSearchState(FullHMMSearchState hss, HMMState hmmState) { - this(hss, hmmState, LogMath.LOG_ONE); - } - - - /** - * Creates an HMMStateSearchState - * - * @param hss the parent hmm state - * @param hmmState which hmm state - * @param prob the transition probability - */ - HMMStateSearchState(FullHMMSearchState hss, HMMState hmmState, - float prob) { - this.probability = prob; - fullHMMSearchState = hss; - this.hmmState = hmmState; - } - - - /** - * Returns the acoustic probability for this state - * - * @return the probability - */ - @Override - public float getInsertionProbability() { - return probability; - } - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 7 * fullHMMSearchState.hashCode() + hmmState.hashCode(); - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof HMMStateSearchState) { - HMMStateSearchState other = (HMMStateSearchState) o; - return other.fullHMMSearchState.equals(fullHMMSearchState) - && other.hmmState.equals(hmmState); - } else { - return false; - } - } - - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - @Override - public boolean isEmitting() { - return hmmState.isEmitting(); - } - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - @Override - public SearchStateArc[] getSuccessors() { - - SearchStateArc[] arcs = getCachedSuccessors(); - if (arcs == null) { - if (hmmState.isExitState()) { - arcs = fullHMMSearchState.getNextArcs(); - } else { - HMMStateArc[] next = hmmState.getSuccessors(); - arcs = new SearchStateArc[next.length]; - for (int i = 0; i < arcs.length; i++) { - arcs[i] = new - HMMStateSearchState(fullHMMSearchState, - next[i].getHMMState(), - next[i].getLogProbability()); - } - } - cacheSuccessors(arcs); - } - return arcs; - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return isEmitting() ? 4 : 0; - } - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - @Override - public String getSignature() { - return "HSSS " + fullHMMSearchState.getSignature() + '-' + hmmState; - } - - - /** - * Returns the hmm state for this search state - * - * @return the hmm state - */ - public HMMState getHMMState() { - return hmmState; - } - - - public float getScore(Data data) { - return hmmState.getScore(data); - } - - public float[] getComponentScore(Data data) { - return hmmState.calculateComponentScore(data); - } - } - - - /** The search graph that is produced by the flat linguist. */ - class DynamicFlatSearchGraph implements SearchGraph { - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getInitialState() - */ - public SearchState getInitialState() { - InitialState initialState = new InitialState(); - initialState.addArc(new GrammarState(grammar.getInitialNode())); - // add an out-of-grammar branch if configured to do so - if (addOutOfGrammarBranch) { - OutOfGrammarGraph oogg = new OutOfGrammarGraph - (phoneLoopAcousticModel, - logOutOfGrammarBranchProbability, - logPhoneInsertionProbability); - - initialState.addArc(oogg.getOutOfGrammarGraph()); - } - return initialState; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getNumStateOrder() - */ - public int getNumStateOrder() { - return 5; - } - - public boolean getWordTokenFirst() { - return true; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/OutOfGrammarGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/OutOfGrammarGraph.java deleted file mode 100755 index 59d9afd7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dflat/OutOfGrammarGraph.java +++ /dev/null @@ -1,626 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.dflat; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - - -/** Builds a grammar sub-graph that matches all phones. This is suitable for use as an out-of-grammar detector */ -public class OutOfGrammarGraph { - - private final AcousticModel acousticModel; - private final float logOutOfGrammarBranchProbability; - private final float logPhoneInsertionProbability; - private final static SearchStateArc[] EMPTY_ARCS = new SearchStateArc[0]; - private final FirstBranchState fbs; - private final LastBranchState lbs; - private final UnknownWordState uws; - private final SearchStateArc[] lbsArcSet; - - - /** - * Creates an OutOfGrammarGraph - * - * @param model the acoustic model - * @param logOutOfGrammarBranchProbability probability of branching to this graph - * @param logPhoneInsertionProbability probability of inserting a phone - */ - public OutOfGrammarGraph(AcousticModel model, - float logOutOfGrammarBranchProbability, - float logPhoneInsertionProbability) { - this.acousticModel = model; - this.logOutOfGrammarBranchProbability = logOutOfGrammarBranchProbability; - this.logPhoneInsertionProbability = logPhoneInsertionProbability; - fbs = new FirstBranchState(); - lbs = new LastBranchState(); - uws = new UnknownWordState(); - lbsArcSet = new SearchStateArc[1]; - lbsArcSet[0] = lbs; - - } - - - /** - * Returns an arc to this out-of-grammar graph - * - * @return an arc to the graph - */ - public SearchStateArc getOutOfGrammarGraph() { - return uws; - } - - - /** Represents the unknown word */ - class UnknownWordState extends OogSearchState implements WordSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the unknown word state */ - UnknownWordState() { - successors = new SearchStateArc[1]; - successors[0] = fbs; - } - - - /** - * Returns the pronunciation for this word - * - * @return the pronunciation - */ - public Pronunciation getPronunciation() { - return Word.UNKNOWN.getPronunciations()[0]; - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogUNK"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - - - /** - * Gets the language probability for transitioning to this state - * - * @return the language probability - */ - @Override - public float getLanguageProbability() { - return logOutOfGrammarBranchProbability; - } - - - /** - * Returns true if this UnknownWordState indicates the start of a word. Returns false if this UnknownWordState - * indicates the end of a word. - * - * @return true if this UnknownWordState indicates the start of a word, false if this UnknownWordState indicates - * the end of a word - */ - public boolean isWordStart() { - return true; - } - } - - /** Represents the first branch state in the grammar */ - class FirstBranchState extends OogSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the first branch state */ - FirstBranchState() { - List successorList = new ArrayList(); - for (Iterator i = acousticModel.getContextIndependentUnitIterator(); i.hasNext();) { - Unit unit = i.next(); - OogHMM hmm = new OogHMM(unit); - successorList.add(hmm); - } - successors = successorList.toArray(new SearchStateArc[successorList.size()]); - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 2; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogFBS"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - } - - /** Represents an HMM Unit in the search graph */ - class OogHMM extends OogSearchState implements UnitSearchState { - - private final HMM hmm; - private final SearchStateArc[] successors; - - - /** - * Creates an HMM unit state - * - * @param unit the unit represented by this state - */ - OogHMM(Unit unit) { - hmm = acousticModel.lookupNearestHMM(unit, HMMPosition.UNDEFINED, false); - successors = new SearchStateArc[1]; - successors[0] = new OogHMMState(hmm.getInitialState(), - LogMath.LOG_ONE); - } - - - /** - * Gets the unit - * - * @return the unit - */ - public Unit getUnit() { - return hmm.getBaseUnit(); - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 3; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogHMM-" + getUnit(); - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - return logPhoneInsertionProbability; - } - } - - /** Represents a single hmm state in the search graph */ - class OogHMMState extends OogSearchState implements - HMMSearchState, ScoreProvider { - - final HMMState hmmState; - final float logProbability; - - - /** - * Creates an OogHMMState - * - * @param hmmState the hmm state associated with this search state - * @param logProbability the probability of transitioning to this state - */ - OogHMMState(HMMState hmmState, float logProbability) { - this.hmmState = hmmState; - this.logProbability = logProbability; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oog-" + hmmState; - } - - - /** - * Returns the hmm state - * - * @return the hmm state - */ - public HMMState getHMMState() { - return hmmState; - } - - - /** - * Determines if this is an emitting state - * - * @return true if this is an emitting state - */ - @Override - public boolean isEmitting() { - return hmmState.isEmitting(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return 191 + hmmState.hashCode(); - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof OogHMMState) { - OogHMMState other = (OogHMMState) o; - return other.hmmState == hmmState; - } else { - return false; - } - } - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - @Override - public int getOrder() { - return isEmitting() ? 4 : 0; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - if (hmmState.isExitState()) { - return lbsArcSet; - } else { - HMMStateArc[] arcs = hmmState.getSuccessors(); - SearchStateArc[] successors = new SearchStateArc[arcs.length]; - for (int i = 0; i < arcs.length; i++) { - successors[i] = new OogHMMState(arcs[i].getHMMState(), - arcs[i].getLogProbability()); - } - return successors; - } - } - - - public float getScore(Data data) { - return hmmState.getScore(data); - } - - - @Override - public float[] getComponentScore(Data data) { - return hmmState.calculateComponentScore(data); - } - } - - /** Represents the last branch state in the search graph */ - class LastBranchState extends OogSearchState { - - private final SearchStateArc[] successors; - - - /** Creates the last branch state */ - LastBranchState() { - successors = new SearchStateArc[2]; - successors[0] = fbs; - successors[1] = new FinalState(); - } - - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogLBS"; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return successors; - } - } - - /** Represents the final state in the search graph */ - class FinalState extends OogSearchState { - - /** - * Gets the state order for this state - * - * @return the state order - */ - @Override - public int getOrder() { - return 2; - } - - - /** - * Returns the signature for this state - * - * @return the signature - */ - @Override - public String getSignature() { - return "oogFinal"; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - @Override - public boolean isFinal() { - return true; - } - - - /** - * Gets the successor states for this search graph - * - * @return the successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - return EMPTY_ARCS; - } - } - - /** The base search state for this dynamic flat linguist. */ - abstract class OogSearchState implements SearchState, SearchStateArc { - - final static int ANY = 0; - - - /** - * Gets the set of successors for this state - * - * @return the set of successors - */ - public abstract SearchStateArc[] getSuccessors(); - - - /** - * Returns a unique string representation of the state. This string is suitable (and typically used) for a label - * for a GDL node - * - * @return the signature - */ - public abstract String getSignature(); - - - /** - * Returns the order of this state type among all of the search states - * - * @return the order - */ - public abstract int getOrder(); - - - /** - * Determines if this state is an emitting state - * - * @return true if this is an emitting state - */ - public boolean isEmitting() { - return false; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - public boolean isFinal() { - return false; - } - - - /** - * Returns a lex state associated with the searc state (not applicable to this linguist) - * - * @return the lex state (null for this linguist) - */ - public Object getLexState() { - return null; - } - - - /** - * Returns a well formatted string representation of this state - * - * @return the formatted string - */ - public String toPrettyString() { - return toString(); - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return getSignature(); - } - - - /** - * Returns the word history for this state (not applicable to this linguist) - * - * @return the word history (null for this linguist) - */ - public WordSequence getWordHistory() { - return null; - } - - - /** - * Gets a successor to this search state - * - * @return the sucessor state - */ - public SearchState getState() { - return this; - } - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - public float getLanguageProbability() { - return LogMath.LOG_ONE; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - public float getInsertionProbability() { - return LogMath.LOG_ONE; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Dictionary.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Dictionary.java deleted file mode 100755 index 2d6f8a76..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Dictionary.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.dictionary; - -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Integer; -import edu.cmu.sphinx.util.props.S4String; - -import java.io.IOException; - -/** - * Provides a generic interface to a dictionary. The dictionary is responsible for determining how a word is - * pronounced. - */ -public interface Dictionary extends Configurable { - - /** Spelling of the sentence start word. */ - public static final String SENTENCE_START_SPELLING = ""; - /** Spelling of the sentence end word. */ - public static final String SENTENCE_END_SPELLING = ""; - /** Spelling of the 'word' that marks a silence */ - public static final String SILENCE_SPELLING = ""; - - /** The property for the dictionary file path. */ - @S4String - public static final String PROP_DICTIONARY = "dictionaryPath"; - - /** The property for the g2p model file path. */ - @S4String(defaultValue = "") - public static final String PROP_G2P_MODEL_PATH = "g2pModelPath"; - - /** The property for the g2p model file path. */ - @S4Integer(defaultValue = 1) - public static final String PROP_G2P_MAX_PRONUNCIATIONS = "g2pMaxPron"; - - /** The property for the filler dictionary file path. */ - @S4String - public static final String PROP_FILLER_DICTIONARY = "fillerPath"; - /** - * The property that specifies the word to substitute when a lookup fails to find the word in the - * dictionary. If this is not set, no substitute is performed. - */ - @S4String(mandatory = false) - public static final String PROP_WORD_REPLACEMENT = "wordReplacement"; - - /** The property that defines the name of the unit manager that is used to convert strings to Unit objects */ - @S4Component(type = UnitManager.class, defaultClass = UnitManager.class) - public static final String PROP_UNIT_MANAGER = "unitManager"; - - /** - * The property for the custom dictionary file paths. This addenda property points to a possibly - * empty list of URLs to dictionary addenda. Each addendum should contain word pronunciations in the same Sphinx-3 - * dictionary format as the main dictionary. Words in the addendum are added after the words in the main dictionary - * and will override previously specified pronunciations. If you wish to extend the set of pronunciations for a - * particular word, add a new pronunciation by number. For example, in the following addendum, given that the - * aforementioned main dictionary is specified, the pronunciation for 'EIGHT' will be overridden by the addenda, - * while the pronunciation for 'SIX' and 'ZERO' will be augmented and a new pronunciation for 'ELEVEN' will be - * added. - *

-     *          EIGHT   OW T
-     *          SIX(2)  Z IH K S
-     *          ZERO(3)  Z IY Rl AH
-     *          ELEVEN   EH L EH V AH N
-     * 
- */ - @S4String(mandatory = false) - public static final String PROP_ADDENDA = "addenda"; - - /** - * Returns a Word object based on the spelling and its classification. The behavior of this method is also affected - * by the properties wordReplacement and g2pModel - * - * @param text the spelling of the word of interest. - * @return a Word object - * @see edu.cmu.sphinx.linguist.dictionary.Pronunciation - */ - public Word getWord(String text); - - - /** - * Returns the sentence start word. - * - * @return the sentence start word - */ - public Word getSentenceStartWord(); - - - /** - * Returns the sentence end word. - * - * @return the sentence end word - */ - public Word getSentenceEndWord(); - - - /** - * Returns the silence word. - * - * @return the silence word - */ - public Word getSilenceWord(); - - /** - * Gets the set of all filler words in the dictionary - * - * @return an array (possibly empty) of all filler words - */ - public Word[] getFillerWords(); - - - /** - * Allocates the dictionary - * - * @throws IOException if there is trouble loading the dictionary - */ - public void allocate() throws IOException; - - - /** Deallocates the dictionary */ - public void deallocate(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/MappingDictionary.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/MappingDictionary.java deleted file mode 100755 index 123635d3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/MappingDictionary.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 1999-2009 Carnegie Mellon University. - * Copyright 2009 PC-NG Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.dictionary; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.List; - -import edu.cmu.sphinx.linguist.acoustic.Context; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4String; - -/** - * Maps the phones from one phoneset to another to use dictionary from the one - * acoustic mode with another one. The mapping file is specified with a mapList - * property. The contents should look like - * - *
- * AX AH
- * IX IH
- * 
- */ -public class MappingDictionary extends TextDictionary implements Dictionary { - - @S4String(mandatory = true, defaultValue = "") - public static final String PROP_MAP_FILE = "mapFile"; - - private URL mappingFile; - private final Map mapping = new HashMap(); - - public MappingDictionary(URL mappingFile, URL wordDictionaryFile, URL fillerDictionaryFile, List addendaUrlList, - String wordReplacement, UnitManager unitManager) { - super(wordDictionaryFile, fillerDictionaryFile, addendaUrlList, wordReplacement, unitManager); - this.mappingFile = mappingFile; - } - - public MappingDictionary() { - - } - - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - mappingFile = ConfigurationManagerUtils.getResource(PROP_MAP_FILE, ps); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#allocate() - */ - @Override - public void allocate() throws IOException { - super.allocate(); - if (!mappingFile.getFile().equals("")) - loadMapping(mappingFile.openStream()); - } - - /** - * Gets a context independent unit. There should only be one instance of any - * CI unit - * - * - * the name of the unit - * - * if true, the unit is a filler unit - * - * @return the unit - */ - @Override - protected Unit getCIUnit(String name, boolean isFiller) { - if (mapping.containsKey(name)) { - name = mapping.get(name); - } - return unitManager.getUnit(name, isFiller, Context.EMPTY_CONTEXT); - } - - protected void loadMapping(InputStream inputStream) throws IOException { - InputStreamReader isr = new InputStreamReader(inputStream); - BufferedReader br = new BufferedReader(isr); - String line; - while ((line = br.readLine()) != null) { - StringTokenizer st = new StringTokenizer(line); - if (st.countTokens() != 2) { - throw new IOException("Wrong file format"); - } - mapping.put(st.nextToken(), st.nextToken()); - } - br.close(); - isr.close(); - inputStream.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Pronunciation.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Pronunciation.java deleted file mode 100755 index 71a021ea..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Pronunciation.java +++ /dev/null @@ -1,169 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.dictionary; - -import java.util.List; - -import edu.cmu.sphinx.linguist.acoustic.Unit; - - -/** Provides pronunciation information for a word. */ -public class Pronunciation { - - public static final Pronunciation UNKNOWN = new Pronunciation(Unit.EMPTY_ARRAY, null, 1.0f); - - private Word word; - private final Unit[] units; - private final String tag; - private final float probability; - - - /** - * Creates a pronunciation - * - * @param units represents the pronunciation - * @param tag a grammar specific tag - * @param probability the probability of this pronunciation occurring - */ - public Pronunciation(Unit[] units, - String tag, - float probability) { - this.units = units; - this.tag = tag; - this.probability = probability; - } - - /** - * Creates a pronunciation - * - * @param units represents the pronunciation - * @param tag a grammar specific tag - * @param probability the probability of this pronunciation occurring - */ - protected Pronunciation(List units, - String tag, - float probability) { - Unit[] unitsArray = units.toArray(new Unit[units.size()]); - this.units = unitsArray; - this.tag = tag; - this.probability = probability; - } - - /** - * Creates a pronunciation with defaults - * - * @param units represents the pronunciation - */ - protected Pronunciation(List units) { - this(units, null, 1.0f); - } - - - /** - * Sets the word this pronunciation represents. - * - * @param word the Word this Pronunciation represents - */ - public void setWord(Word word) { - if (this.word == null) { - this.word = word; - } else { - throw new Error("Word of Pronunciation cannot be set twice."); - } - } - - - /** - * Retrieves the word that this Pronunciation object represents. - * - * @return the word - */ - public Word getWord() { - return word; - } - - - /** - * Retrieves the units for this pronunciation - * - * @return the units for this pronunciation - */ - public Unit[] getUnits() { - return units; - } - - - /** - * Retrieves the tag associated with the pronunciation or null if there is no tag associated with this - * pronunciation. Pronunciations can optionally be tagged to allow applications to distinguish between different - * pronunciations. - * - * @return the tag or null if no tag is available. - */ - public String getTag() { - return tag; - } - - - /** - * Retrieves the probability for the pronunciation. A word may have multiple pronunciations that are not all equally - * probable. All probabilities for particular word sum to 1.0. - * - * @return the probability of this pronunciation as a value between 0 and 1.0. - *

- * TODO: FIX Note that probabilities are currently maintained in the linear domain (unlike just about - * everything else) - */ - public float getProbability() { - return probability; - } - - - /** Dumps a pronunciation */ - public void dump() { - System.out.println(toString()); - } - - - /** - * Returns a string representation of this Pronunication. - * - * @return a string of this Pronunciation - */ - @Override - public String toString() { - StringBuilder result = new StringBuilder().append(word).append('('); - for (Unit unit : units) { - result.append(unit).append(' '); - } - result.append(')'); - return result.toString(); - } - - - /** - * Returns a detailed string representation of this Pronunciation. - * - * @return a string of this Pronunciation - */ - public String toDetailedString() { - StringBuilder result = new StringBuilder().append(word).append(' '); - for (Unit unit : units) { - result.append(unit).append(' '); - } - result.append("\n class: ").append(" tag: ").append(tag).append(" prob: ").append(probability); - - return result.toString(); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/TextDictionary.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/TextDictionary.java deleted file mode 100755 index f71296a6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/TextDictionary.java +++ /dev/null @@ -1,487 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.dictionary; - -import edu.cmu.sphinx.linguist.acoustic.Context; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.g2p.G2PConverter; -import edu.cmu.sphinx.linguist.g2p.Path; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.*; -import java.util.logging.Logger; - -/** - * Creates a dictionary by quickly reading in an ASCII-based Sphinx-3 format - * dictionary. When loaded the dictionary just loads each line of the dictionary - * into the hash table, assuming that most words are not going to be used. Only - * when a word is actually used is its pronunciations massaged into an array of - * pronunciations. - *

- * The format of the ASCII dictionary is the word, followed by spaces or tab, - * followed by the pronunciation(s). For example, a digits dictionary will look - * like: - *

- *  ONE HH W AH N
- *  ONE(2) W AH N
- *  TWO T UW
- *  THREE TH R IY
- *  FOUR F AO R
- *  FIVE F AY V
- *  SIX S IH K S
- *  SEVEN S EH V AH N
- *  EIGHT EY T
- *  NINE N AY N
- *  ZERO Z IH R OW
- *  ZERO(2) Z IY R OW
- *  OH OW
- * 
- * In the above example, the words "one" and "zero" have two pronunciations - * each. - */ - -public class TextDictionary implements Dictionary { - - // ------------------------------- - // Configuration data - // -------------------------------- - protected Logger logger; - - protected URL wordDictionaryFile; - protected URL fillerDictionaryFile; - protected List addendaUrlList; - - // Replacement to use if word is missing - private String wordReplacement; - - // G2P model to use if word replacement is not specified and word is missing - protected URL g2pModelFile; - protected int g2pMaxPron = 0; - - protected UnitManager unitManager; - - // ------------------------------- - // working data - // ------------------------------- - protected Map dictionary; - protected Map wordDictionary; - protected G2PConverter g2pDecoder; - - protected final static String FILLER_TAG = "-F-"; - protected Set fillerWords; - protected boolean allocated; - - public TextDictionary(String wordDictionaryFile, String fillerDictionaryFile, List addendaUrlList, - boolean addSilEndingPronunciation, String wordReplacement, UnitManager unitManager) throws MalformedURLException, - ClassNotFoundException { - this(ConfigurationManagerUtils.resourceToURL(wordDictionaryFile), ConfigurationManagerUtils - .resourceToURL(fillerDictionaryFile), addendaUrlList, wordReplacement, unitManager); - } - - public TextDictionary(URL wordDictionaryFile, URL fillerDictionaryFile, List addendaUrlList, String wordReplacement, - UnitManager unitManager) { - this.logger = Logger.getLogger(getClass().getName()); - - this.wordDictionaryFile = wordDictionaryFile; - this.fillerDictionaryFile = fillerDictionaryFile; - this.addendaUrlList = addendaUrlList; - this.wordReplacement = wordReplacement; - this.unitManager = unitManager; - } - - public TextDictionary(URL wordDictionaryFile, URL fillerDictionaryFile, List addendaUrlList, - boolean addSilEndingPronunciation, String wordReplacement, UnitManager unitManager, URL g2pModelFile, int g2pMaxPron) { - this(wordDictionaryFile, fillerDictionaryFile, addendaUrlList, wordReplacement, unitManager); - this.g2pModelFile = g2pModelFile; - this.g2pMaxPron = g2pMaxPron; - } - - public TextDictionary() { - - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - - wordDictionaryFile = ConfigurationManagerUtils.getResource(PROP_DICTIONARY, ps); - fillerDictionaryFile = ConfigurationManagerUtils.getResource(PROP_FILLER_DICTIONARY, ps); - addendaUrlList = ps.getResourceList(PROP_ADDENDA); - wordReplacement = ps.getString(Dictionary.PROP_WORD_REPLACEMENT); - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - g2pModelFile = ConfigurationManagerUtils.getResource(PROP_G2P_MODEL_PATH, ps); - g2pMaxPron = ps.getInt(PROP_G2P_MAX_PRONUNCIATIONS); - } - - /** - * Get the word dictionary file - * - * @return the URL of the word dictionary file - */ - public URL getWordDictionaryFile() { - return wordDictionaryFile; - } - - /** - * Get the filler dictionary file - * - * @return the URL of the filler dictionary file - */ - public URL getFillerDictionaryFile() { - return fillerDictionaryFile; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#allocate() - */ - - public void allocate() throws IOException { - if (!allocated) { - dictionary = new HashMap(); - wordDictionary = new HashMap(); - - Timer loadTimer = TimerPool.getTimer(this, "Load Dictionary"); - fillerWords = new HashSet(); - - loadTimer.start(); - - logger.info("Loading dictionary from: " + wordDictionaryFile); - - loadDictionary(wordDictionaryFile.openStream(), false); - - loadCustomDictionaries(addendaUrlList); - - logger.info("Loading filler dictionary from: " + fillerDictionaryFile); - - loadDictionary(fillerDictionaryFile.openStream(), true); - - if (g2pModelFile != null && !g2pModelFile.getPath().equals("")) { - g2pDecoder = new G2PConverter(g2pModelFile); - } - loadTimer.stop(); - } - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#deallocate() - */ - - public void deallocate() { - if (allocated) { - dictionary = null; - g2pDecoder = null; - allocated = false; - } - } - - /** - * Loads the given simple dictionary from the given InputStream. The - * InputStream is assumed to contain ASCII data. - * - * @param inputStream - * the InputStream of the dictionary - * @param isFillerDict - * true if this is a filler dictionary, false otherwise - * @throws java.io.IOException - * if there is an error reading the dictionary - */ - protected void loadDictionary(InputStream inputStream, boolean isFillerDict) throws IOException { - InputStreamReader isr = new InputStreamReader(inputStream); - BufferedReader br = new BufferedReader(isr); - String line; - - while ((line = br.readLine()) != null) { - line = line.trim(); - if (line.isEmpty()) { - continue; - } - int spaceIndex = getSpaceIndex(line); - if (spaceIndex < 0) { - throw new Error("Error loading word: " + line); - } - String word = line.substring(0, spaceIndex); - - // Add numeric index if the word is repeating. - if (dictionary.containsKey(word)) { - int index = 2; - String wordWithIdx; - do { - wordWithIdx = String.format("%s(%d)", word, index++); - } while (dictionary.containsKey(wordWithIdx)); - word = wordWithIdx; - } - - if (isFillerDict) { - dictionary.put(word, (FILLER_TAG + line)); - fillerWords.add(word); - } else { - dictionary.put(word, line); - } - } - - br.close(); - isr.close(); - inputStream.close(); - } - - private int getSpaceIndex(String line) { - for (int i = 0; i < line.length(); i++) { - if (line.charAt(i) == ' ' || line.charAt(i) == '\t') - return i; - } - return -1; - } - - /** - * Gets a context independent unit. There should only be one instance of any - * CI unit - * - * @param name - * the name of the unit - * @param isFiller - * if true, the unit is a filler unit - * @return the unit - */ - protected Unit getCIUnit(String name, boolean isFiller) { - return unitManager.getUnit(name, isFiller, Context.EMPTY_CONTEXT); - } - - /** - * Returns the sentence start word. - * - * @return the sentence start word - */ - public Word getSentenceStartWord() { - return getWord(SENTENCE_START_SPELLING); - } - - /** - * Returns the sentence end word. - * - * @return the sentence end word - */ - public Word getSentenceEndWord() { - return getWord(SENTENCE_END_SPELLING); - } - - /** - * Returns the silence word. - * - * @return the silence word - */ - public Word getSilenceWord() { - return getWord(SILENCE_SPELLING); - } - - /** - * Returns a Word object based on the spelling and its classification. The - * behavior of this method is also affected by the properties - * wordReplacement and g2pModel - * - * @param text - * the spelling of the word of interest. - * @return a Word object - * @see edu.cmu.sphinx.linguist.dictionary.Word - */ - public Word getWord(String text) { - Word wordObject = wordDictionary.get(text); - - if (wordObject != null) { - return wordObject; - } - - String word = dictionary.get(text); - if (word == null) { // deal with 'not found' case - logger.info("The dictionary is missing a phonetic transcription for the word '" + text + "'"); - if (wordReplacement != null) { - wordObject = getWord(wordReplacement); - } else if (g2pModelFile != null && !g2pModelFile.getPath().equals("")) { - logger.info("Generating phonetic transcription(s) for the word '" + text + "' using g2p model"); - wordObject = extractPronunciation(text); - wordDictionary.put(text, wordObject); - } - } else { // first lookup for this string - wordObject = processEntry(text); - } - - return wordObject; - } - - private Word extractPronunciation(String text) { - Word wordObject; - ArrayList paths = g2pDecoder.phoneticize(text, g2pMaxPron); - List pronunciations = new LinkedList(); - for (Path p : paths) { - int unitCount = p.getPath().size(); - ArrayList units = new ArrayList(unitCount); - for (String token : p.getPath()) { - units.add(getCIUnit(token, false)); - } - if (units.size() == 0) { - units.add(UnitManager.SILENCE); - } - pronunciations.add(new Pronunciation(units)); - } - Pronunciation[] pronunciationsArray = pronunciations.toArray(new Pronunciation[pronunciations.size()]); - wordObject = createWord(text, pronunciationsArray, false); - for (Pronunciation pronunciation : pronunciationsArray) { - pronunciation.setWord(wordObject); - } - return wordObject; - } - - /** - * Create a Word object with the given spelling and pronunciations, and - * insert it into the dictionary. - * - * @param text - * the spelling of the word - * @param pronunciation - * the pronunciation of the word - * @param isFiller - * if true this is a filler word - * @return the word - */ - private Word createWord(String text, Pronunciation[] pronunciation, boolean isFiller) { - Word word = new Word(text, pronunciation, isFiller); - dictionary.put(text, word.toString()); - return word; - } - - /** - * Processes a dictionary entry. When loaded the dictionary just loads each - * line of the dictionary into the hash table, assuming that most words are - * not going to be used. Only when a word is actually used is its - * pronunciations massaged into an array of pronunciations. - */ - private Word processEntry(String word) { - List pronunciations = new LinkedList(); - String line; - int count = 0; - boolean isFiller = false; - - do { - count++; - String lookupWord = word; - if (count > 1) { - lookupWord = lookupWord + '(' + count + ')'; - } - line = dictionary.get(lookupWord); - if (line != null) { - StringTokenizer st = new StringTokenizer(line); - - String tag = st.nextToken(); - isFiller = tag.startsWith(FILLER_TAG); - int unitCount = st.countTokens(); - - ArrayList units = new ArrayList(unitCount); - for (int i = 0; i < unitCount; i++) { - String unitName = st.nextToken(); - units.add(getCIUnit(unitName, isFiller)); - } - pronunciations.add(new Pronunciation(units)); - } - } while (line != null); - - Pronunciation[] pronunciationsArray = pronunciations.toArray(new Pronunciation[pronunciations.size()]); - Word wordObject = createWord(word, pronunciationsArray, isFiller); - - for (Pronunciation pronunciation : pronunciationsArray) { - pronunciation.setWord(wordObject); - } - wordDictionary.put(word, wordObject); - - return wordObject; - } - - /** - * Returns a string representation of this TextDictionary in alphabetical - * order. - * - * @return a string representation of this dictionary - */ - @Override - public String toString() { - SortedMap sorted = new TreeMap(dictionary); - StringBuilder result = new StringBuilder(); - - for (Map.Entry entry : sorted.entrySet()) { - result.append(entry.getKey()); - result.append(" ").append(entry.getValue()).append('\n'); - } - - return result.toString(); - } - - /** - * Gets the set of all filler words in the dictionary - * - * @return an array (possibly empty) of all filler words - */ - public Word[] getFillerWords() { - Word[] fillerWordArray = new Word[fillerWords.size()]; - int index = 0; - for (String spelling : fillerWords) { - fillerWordArray[index++] = getWord(spelling); - } - return fillerWordArray; - } - - /** - * Dumps this FastDictionary to System.out. - */ - public void dump() { - System.out.print(toString()); - } - - /** - * Loads the dictionary with a list of URLs to custom dictionary resources - * - * @param addenda - * the list of custom dictionary URLs to be loaded - * @throws IOException - * if there is an error reading the resource URL - */ - private void loadCustomDictionaries(List addenda) throws IOException { - if (addenda != null) { - for (URL addendumUrl : addenda) { - logger.info("Loading addendum dictionary from: " + addendumUrl); - loadDictionary(addendumUrl.openStream(), false); - } - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Word.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Word.java deleted file mode 100755 index 791798a9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/dictionary/Word.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.dictionary; - -/** Represents a word, its spelling and its pronunciation. */ -public class Word implements Comparable { - - /** The Word representing the unknown word. */ - public static final Word UNKNOWN; - - static { - Pronunciation[] pros = {Pronunciation.UNKNOWN}; - UNKNOWN = new Word("", pros, false); - Pronunciation.UNKNOWN.setWord(UNKNOWN); - } - - private final String spelling; // the spelling of the word - private final Pronunciation[] pronunciations; // pronunciations of this - // word - private final boolean isFiller; - - /** - * Creates a Word - * - * @param spelling the spelling of this word - * @param pronunciations the pronunciations of this word - * @param isFiller true if the word is a filler word - */ - public Word(String spelling, Pronunciation[] pronunciations, - boolean isFiller) { - this.spelling = spelling; - this.pronunciations = pronunciations; - this.isFiller = isFiller; - } - - /** - * Returns the spelling of the word. - * - * @return the spelling of the word - */ - public String getSpelling() { - return spelling; - } - - /** - * Determines if this is a filler word - * - * @return true if this word is a filler word, otherwise it - * returns false - */ - public boolean isFiller() { - return isFiller; - } - - /** - * Returns true if this word is an end of sentence word - * - * @return true if the word matches Dictionary.SENTENCE_END_SPELLING - */ - public boolean isSentenceEndWord() { - return Dictionary.SENTENCE_END_SPELLING.equals(this.spelling); - } - - /** - * Returns true if this word is a start of sentence word - * - * @return true if the word matches Dictionary.SENTENCE_START_SPELLING - */ - public boolean isSentenceStartWord() { - return Dictionary.SENTENCE_START_SPELLING.equals(this.spelling); - } - - /** - * Retrieves the pronunciations of this word - * - * @return the pronunciations of this word - */ - public Pronunciation[] getPronunciations() { - return pronunciations; - } - - /** - * Get the highest probability pronunciation for a word - * - * @return the highest probability pronunciation - */ - public Pronunciation getMostLikelyPronunciation() { - float bestScore = Float.NEGATIVE_INFINITY; - Pronunciation best = null; - for (Pronunciation pronunciation : pronunciations) { - if (pronunciation.getProbability() > bestScore) { - bestScore = pronunciation.getProbability(); - best = pronunciation; - } - } - return best; - } - - @Override - public int hashCode() { - return spelling.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return obj instanceof Word && spelling.equals(((Word) obj).spelling); - - } - - /** - * Returns a string representation of this word, which is the spelling - * - * @return the spelling of this word - */ - @Override - public String toString() { - return spelling; - } - - public int compareTo(Word other) { - return getSpelling().compareTo(other.getSpelling()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/AlternativeState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/AlternativeState.java deleted file mode 100755 index 80b74c93..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/AlternativeState.java +++ /dev/null @@ -1,68 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.dictionary.Word; - -import java.io.Serializable; - -/** Represents a set of alternatives in an SentenceHMMS */ - -@SuppressWarnings("serial") -public class AlternativeState extends SentenceHMMState - implements Serializable { - - /** Creates a WordState - * @param parent parent item - * @param which state number - **/ - public AlternativeState(GrammarState parent, int which) { - super("A", parent, which); - } - - - /** - * Gets the word associated with this state - * - * @return the word - */ - public Word[] getAlternative() { - return ((GrammarState) getParent()) - .getGrammarNode().getWords(getWhich()); - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Alt"; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/BranchState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/BranchState.java deleted file mode 100755 index 6b9a12ff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/BranchState.java +++ /dev/null @@ -1,43 +0,0 @@ -package edu.cmu.sphinx.linguist.flat; - - -/** Represents a branching node in a grammar */ - -@SuppressWarnings("serial") -public class BranchState extends SentenceHMMState { - - /** - * Creates a branch state - * - * @param leftContext left context - * @param rightContext right context - * @param nodeID the grammar node id - */ - public BranchState(String leftContext, String rightContext, int nodeID) { - super("B[" + leftContext + "," + - rightContext + "]", null, nodeID); - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Brnch"; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 2; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/CIPhoneLoop.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/CIPhoneLoop.java deleted file mode 100755 index 0b1440fa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/CIPhoneLoop.java +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.SearchGraph; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -/** - * Constructs a loop of all the context-independent phones. This loop is used in the static flat linguist for detecting - * out-of-grammar utterances. A 'phoneInsertionProbability' will be added to the score each time a new phone is entered. - * To obtain the all-phone search graph loop, simply called the method {@link #getSearchGraph() getSearchGraph}. - *

- * For futher details of this approach cf. 'Modeling Out-of-vocabulary Words for Robust Speech Recognition', Brazzi, - * 2000, Proc. ICSLP - */ -public class CIPhoneLoop { - - public final AcousticModel model; - private final float logPhoneInsertionProbability; - public final float logOne = LogMath.LOG_ONE; - - - /** - * Creates the CIPhoneLoop with the given acoustic model and phone insertion probability - * - * @param model the acoustic model - * @param logPhoneInsertionProbability the insertion probability - */ - public CIPhoneLoop(AcousticModel model, - float logPhoneInsertionProbability) { - this.model = model; - this.logPhoneInsertionProbability = - logPhoneInsertionProbability; - } - - - /** - * Creates a new loop of all the context-independent phones. - * - * @return the phone loop search graph - */ - public SearchGraph getSearchGraph() { - return new PhoneLoopSearchGraph(); - } - - - protected class PhoneLoopSearchGraph implements SearchGraph { - - protected final Map existingStates; - protected final SentenceHMMState firstState; - - - /** Constructs a phone loop search graph. */ - public PhoneLoopSearchGraph() { - existingStates = new HashMap(); - firstState = new UnknownWordState(); - SentenceHMMState branchState = new BranchOutState(firstState); - attachState(firstState, branchState, logOne, logOne); - - SentenceHMMState lastState = new LoopBackState(firstState); - lastState.setFinalState(true); - attachState(lastState, branchState, logOne, logOne); - - for (Iterator i = model.getContextIndependentUnitIterator(); i.hasNext();) { - UnitState unitState = new UnitState(i.next(), HMMPosition.UNDEFINED); - - // attach unit state to the branch out state - attachState(branchState, unitState, logOne, - logPhoneInsertionProbability); - - HMM hmm = model.lookupNearestHMM - (unitState.getUnit(), unitState.getPosition(), false); - HMMState initialState = hmm.getInitialState(); - HMMStateState hmmTree = new HMMStateState(unitState, initialState); - addStateToCache(hmmTree); - - // attach first HMM state to the unit state - attachState(unitState, hmmTree, logOne, logOne); - - // expand the HMM tree - HMMStateState finalState = expandHMMTree(unitState, hmmTree); - - // attach final state of HMM tree to the loopback state - attachState(finalState, lastState, logOne, logOne); - } - } - - - /** - * Retrieves initial search state - * - * @return the set of initial search state - */ - public SearchState getInitialState() { - return firstState; - } - - - /** - * Returns the number of different state types maintained in the search graph - * - * @return the number of different state types - */ - public int getNumStateOrder() { - return 5; - } - - public boolean getWordTokenFirst() { - return false; - } - - /** - * Checks to see if a state that matches the given state already exists - * - * @param state the state to check - * @return true if a state with an identical signature already exists. - */ - private SentenceHMMState getExistingState(SentenceHMMState state) { - return (SentenceHMMState) existingStates.get(state.getSignature()); - } - - - /** - * Adds the given state to the cache of states - * - * @param state the state to add - */ - protected void addStateToCache(SentenceHMMState state) { - existingStates.put(state.getSignature(), state); - } - - - /** - * Expands the given hmm state tree - * - * @param parent the parent of the tree - * @param tree the tree to expand - * @return the final state in the tree - */ - protected HMMStateState expandHMMTree(UnitState parent, - HMMStateState tree) { - HMMStateState retState = tree; - for (HMMStateArc arc : tree.getHMMState().getSuccessors()) { - HMMStateState newState; - if (arc.getHMMState().isEmitting()) { - newState = new HMMStateState - (parent, arc.getHMMState()); - } else { - newState = new NonEmittingHMMState - (parent, arc.getHMMState()); - } - SentenceHMMState existingState = getExistingState(newState); - float logProb = arc.getLogProbability(); - if (existingState != null) { - attachState(tree, existingState, logOne, logProb); - } else { - attachState(tree, newState, logOne, logProb); - addStateToCache(newState); - retState = expandHMMTree(parent, newState); - } - } - return retState; - } - - - protected void attachState(SentenceHMMState prevState, - SentenceHMMState nextState, - float logLanguageProbability, - float logInsertionProbability) { - SentenceHMMStateArc arc = new SentenceHMMStateArc - (nextState, - logLanguageProbability, - logInsertionProbability); - prevState.connect(arc); - } - } -} - -@SuppressWarnings("serial") -class UnknownWordState extends SentenceHMMState implements WordSearchState { - - public Pronunciation getPronunciation() { - return Word.UNKNOWN.getPronunciations()[0]; - } - - - @Override - public int getOrder() { - return 0; - } - - - @Override - public String getName() { - return "UnknownWordState"; - } - - - /** - * Returns true if this UnknownWordState indicates the start of a word. Returns false if this UnknownWordState - * indicates the end of a word. - * - * @return true if this UnknownWordState indicates the start of a word, false if this UnknownWordState indicates the - * end of a word - */ - @Override - public boolean isWordStart() { - return true; - } -} - -@SuppressWarnings("serial") -class LoopBackState extends SentenceHMMState { - - LoopBackState(SentenceHMMState parent) { - super("CIPhonesLoopBackState", parent, 0); - } - - - @Override - public int getOrder() { - return 1; - } -} - -@SuppressWarnings("serial") -class BranchOutState extends SentenceHMMState { - - BranchOutState(SentenceHMMState parent) { - super("BranchOutState", parent, 0); - } - - - @Override - public int getOrder() { - return 1; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/ExtendedUnitState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/ExtendedUnitState.java deleted file mode 100755 index 4f65e662..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/ExtendedUnitState.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.acoustic.Unit; - -/** - * A unit state that modifies how the unit state is cached. Caching keys are generated from the full name for the - * sentence hmm. The default behavior for the unit (and all sentence hmms) is to generate the full name by combining the - * name for this unit with the name of the parent. For the simple linguist, this is undesirable, because there are many - * different names for the parent pronunciations (differing contexts). We want to be able to combine units that have - * identical names and context and are in the same position in the same pronunciation. By defining getFullName to - * combine the name and the pronunciation index we allow units with identical contexts in the same position in a - * pronunciation to be combined. - */ -@SuppressWarnings("serial") -public class ExtendedUnitState extends UnitState { - - /** - * Creates a UnitState. Gets the left and right contexts from the unit itself. - * - * @param parent the parent state - * @param which the index of the given state - * @param unit the unit associated with this state - */ - public ExtendedUnitState(PronunciationState parent, int which, Unit unit) { - super(parent, which, unit); - } - - - /** - * Gets the fullName for this state - * - * @return the full name for this state - */ - @Override - public String getFullName() { - return getName() + " in P" + getParent().getWhich(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/FlatLinguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/FlatLinguist.java deleted file mode 100755 index 0b6cf1b8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/FlatLinguist.java +++ /dev/null @@ -1,1638 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchGraph; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.acoustic.*; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.grammar.Grammar; -import edu.cmu.sphinx.linguist.language.grammar.GrammarArc; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; -import edu.cmu.sphinx.util.Cache; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.StatisticsVariable; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; - -/** - * A simple form of the linguist. - *

- * The flat linguist takes a Grammar graph (as returned by the underlying, configurable grammar), and generates a search - * graph for this grammar. - *

- * It makes the following simplifying assumptions: - *

  • Zero or one word per grammar node
  • No fan-in allowed ever
  • No composites (yet)
  • Only Unit, - * HMMState, and pronunciation states (and the initial/final grammar state are in the graph (no word, alternative or - * grammar states attached).
  • Only valid transitions (matching contexts) are allowed
  • No tree organization of - * units
  • Branching grammar states are allowed
- * Note that all probabilities are maintained in the log math domain - */ -public class FlatLinguist implements Linguist, Configurable { - - /** - * The property used to define the grammar to use when building the search graph - */ - @S4Component(type = Grammar.class) - public final static String PROP_GRAMMAR = "grammar"; - - /** - * The property used to define the unit manager to use when building the search graph - */ - @S4Component(type = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - - /** - * The property used to define the acoustic model to use when building the search graph - */ - @S4Component(type = AcousticModel.class) - public final static String PROP_ACOUSTIC_MODEL = "acousticModel"; - - /** - * The property used to determine whether or not the gstates are dumped. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_DUMP_GSTATES = "dumpGstates"; - - /** - * The property that specifies whether to add a branch for detecting out-of-grammar utterances. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_ADD_OUT_OF_GRAMMAR_BRANCH = "addOutOfGrammarBranch"; - - /** - * The property for the probability of entering the out-of-grammar branch. - */ - @S4Double(defaultValue = 1.0) - public final static String PROP_OUT_OF_GRAMMAR_PROBABILITY = "outOfGrammarProbability"; - - /** - * The property for the acoustic model used for the CI phone loop. - */ - @S4Component(type = AcousticModel.class) - public static final String PROP_PHONE_LOOP_ACOUSTIC_MODEL = "phoneLoopAcousticModel"; - - /** - * The property for the probability of inserting a CI phone in the out-of-grammar ci phone loop - */ - @S4Double(defaultValue = 1.0) - public static final String PROP_PHONE_INSERTION_PROBABILITY = "phoneInsertionProbability"; - - /** - * Property to control whether compilation progress is displayed on standard output. - * If this property is true, a 'dot' is displayed for every 1000 search states added - * to the search space - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_COMPILATION_PROGRESS = "showCompilationProgress"; - - /** - * Property that controls whether word probabilities are spread across all pronunciations. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_SPREAD_WORD_PROBABILITIES_ACROSS_PRONUNCIATIONS = - "spreadWordProbabilitiesAcrossPronunciations"; - - protected final static float logOne = LogMath.LOG_ONE; - - // note: some fields are protected to allow to override FlatLinguist.compileGrammar() - - // ---------------------------------- - // Subcomponents that are configured - // by the property sheet - // ----------------------------------- - protected Grammar grammar; - private AcousticModel acousticModel; - private UnitManager unitManager; - protected LogMath logMath; - - // ------------------------------------ - // Fields that define the OOV-behavior - // ------------------------------------ - protected AcousticModel phoneLoopAcousticModel; - protected boolean addOutOfGrammarBranch; - protected float logOutOfGrammarBranchProbability; - protected float logPhoneInsertionProbability; - - // ------------------------------------ - // Data that is configured by the - // property sheet - // ------------------------------------ - private float logWordInsertionProbability; - private float logSilenceInsertionProbability; - private float logFillerInsertionProbability; - private float logUnitInsertionProbability; - private boolean showCompilationProgress = true; - private boolean spreadWordProbabilitiesAcrossPronunciations; - private boolean dumpGStates; - private float languageWeight; - - // ----------------------------------- - // Data for monitoring performance - // ------------------------------------ - protected StatisticsVariable totalStates; - protected StatisticsVariable totalArcs; - protected StatisticsVariable actualArcs; - private transient int totalStateCounter; - private final static boolean tracing = false; - - // ------------------------------------ - // Data used for building and maintaining - // the search graph - // ------------------------------------- - private transient Collection stateSet; - private String name; - protected Map nodeStateMap; - protected Cache arcPool; - protected GrammarNode initialGrammarState; - - protected SearchGraph searchGraph; - - - /** - * Returns the search graph - * - * @return the search graph - */ - public SearchGraph getSearchGraph() { - return searchGraph; - } - - public FlatLinguist(AcousticModel acousticModel, Grammar grammar, UnitManager unitManager, - double wordInsertionProbability, double silenceInsertionProbability, double fillerInsertionProbability, - double unitInsertionProbability, float languageWeight, boolean dumpGStates, boolean showCompilationProgress, - boolean spreadWordProbabilitiesAcrossPronunciations, boolean addOutOfGrammarBranch, - double outOfGrammarBranchProbability, double phoneInsertionProbability, AcousticModel phoneLoopAcousticModel ) { - - this.acousticModel = acousticModel; - this.logMath = LogMath.getLogMath(); - this.grammar = grammar; - this.unitManager = unitManager; - - this.logWordInsertionProbability = logMath.linearToLog(wordInsertionProbability); - this.logSilenceInsertionProbability = logMath.linearToLog(silenceInsertionProbability); - this.logFillerInsertionProbability = logMath.linearToLog(fillerInsertionProbability); - this.logUnitInsertionProbability = logMath.linearToLog(unitInsertionProbability); - this.languageWeight = languageWeight; - - this.dumpGStates = dumpGStates; - this.showCompilationProgress = showCompilationProgress; - this.spreadWordProbabilitiesAcrossPronunciations = spreadWordProbabilitiesAcrossPronunciations; - - this.addOutOfGrammarBranch = addOutOfGrammarBranch; - - if (addOutOfGrammarBranch) { - this.logOutOfGrammarBranchProbability = logMath.linearToLog(outOfGrammarBranchProbability); - this.logPhoneInsertionProbability = logMath.linearToLog(phoneInsertionProbability); - this.phoneLoopAcousticModel = phoneLoopAcousticModel; - } - - this.name = null; - } - - public FlatLinguist() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logMath = LogMath.getLogMath(); - - acousticModel = (AcousticModel) ps.getComponent(PROP_ACOUSTIC_MODEL); - grammar = (Grammar) ps.getComponent(PROP_GRAMMAR); - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - - // get the rest of the configuration data - logWordInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_WORD_INSERTION_PROBABILITY)); - logSilenceInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_SILENCE_INSERTION_PROBABILITY)); - logFillerInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_FILLER_INSERTION_PROBABILITY)); - logUnitInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_UNIT_INSERTION_PROBABILITY)); - languageWeight = ps.getFloat(Linguist.PROP_LANGUAGE_WEIGHT); - dumpGStates = ps.getBoolean(PROP_DUMP_GSTATES); - showCompilationProgress = ps.getBoolean(PROP_SHOW_COMPILATION_PROGRESS); - spreadWordProbabilitiesAcrossPronunciations = ps.getBoolean(PROP_SPREAD_WORD_PROBABILITIES_ACROSS_PRONUNCIATIONS); - - addOutOfGrammarBranch = ps.getBoolean(PROP_ADD_OUT_OF_GRAMMAR_BRANCH); - - if (addOutOfGrammarBranch) { - logOutOfGrammarBranchProbability = logMath.linearToLog(ps.getDouble(PROP_OUT_OF_GRAMMAR_PROBABILITY)); - logPhoneInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_PHONE_INSERTION_PROBABILITY)); - phoneLoopAcousticModel = (AcousticModel)ps.getComponent(PROP_PHONE_LOOP_ACOUSTIC_MODEL); - } - - name = ps.getInstanceName(); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#allocate() - */ - public void allocate() throws IOException { - allocateAcousticModel(); - grammar.allocate(); - totalStates = StatisticsVariable.getStatisticsVariable(getName(), "totalStates"); - totalArcs = StatisticsVariable.getStatisticsVariable(getName(), "totalArcs"); - actualArcs = StatisticsVariable.getStatisticsVariable(getName(), "actualArcs"); - stateSet = compileGrammar(); - totalStates.value = stateSet.size(); - } - - - /** - * Allocates the acoustic model. - * @throws java.io.IOException if error occured - */ - protected void allocateAcousticModel() throws IOException { - acousticModel.allocate(); - if (addOutOfGrammarBranch) { - phoneLoopAcousticModel.allocate(); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#deallocate() - */ - public void deallocate() { - if (acousticModel != null) { - acousticModel.deallocate(); - } - grammar.deallocate(); - } - - - /** - * Called before a recognition - */ - public void startRecognition() { - if (grammarHasChanged()) { - stateSet = compileGrammar(); - totalStates.value = stateSet.size(); - } - } - - - /** - * Called after a recognition - */ - public void stopRecognition() { - } - - /** - * Returns the log silence insertion probability. - * - * @return the log silence insertion probability. - */ - public float getLogSilenceInsertionProbability() { - return logSilenceInsertionProbability; - } - - /** - * Compiles the grammar into a sentence HMM. A GrammarJob is created for the - * initial grammar node and added to the GrammarJob queue. While there are - * jobs left on the grammar job queue, a job is removed from the queue and - * the associated grammar node is expanded and attached to the tails. - * GrammarJobs for the successors are added to the grammar job queue. - * @return collection of states - */ - protected Collection compileGrammar() { - initialGrammarState = grammar.getInitialNode(); - - nodeStateMap = new HashMap(); - arcPool = new Cache(); - - List gstateList = new ArrayList(); - TimerPool.getTimer(this, "Compile").start(); - - // get the nodes from the grammar and create states - // for them. Add the non-empty gstates to the gstate list. - TimerPool.getTimer(this, "Create States").start(); - for (GrammarNode grammarNode : grammar.getGrammarNodes()) { - GState gstate = createGState(grammarNode); - gstateList.add(gstate); - } - TimerPool.getTimer(this, "Create States").stop(); - addStartingPath(); - - // ensures an initial path to the start state - // Prep all the gstates, by gathering all of the contexts up - // this allows each gstate to know about its surrounding - // contexts - TimerPool.getTimer(this, "Collect Contexts").start(); - for (GState gstate : gstateList) - gstate.collectContexts(); - TimerPool.getTimer(this, "Collect Contexts").stop(); - - // now all gstates know all about their contexts, we can - // expand them fully - TimerPool.getTimer(this, "Expand States").start(); - for (GState gstate : gstateList) - gstate.expand(); - TimerPool.getTimer(this, "Expand States").stop(); - - // now that all states are expanded fully, we can connect all - // the states up - TimerPool.getTimer(this, "Connect Nodes").start(); - for (GState gstate : gstateList) - gstate.connect(); - TimerPool.getTimer(this, "Connect Nodes").stop(); - - SentenceHMMState initialState = findStartingState(); - - // add an out-of-grammar branch if configured to do so - if (addOutOfGrammarBranch) { - CIPhoneLoop phoneLoop = new CIPhoneLoop(phoneLoopAcousticModel, logPhoneInsertionProbability); - SentenceHMMState firstBranchState = (SentenceHMMState) - phoneLoop.getSearchGraph().getInitialState(); - initialState.connect(getArc(firstBranchState, logOne, logOutOfGrammarBranchProbability)); - } - - searchGraph = new FlatSearchGraph(initialState); - TimerPool.getTimer(this, "Compile").stop(); - // Now that we are all done, dump out some interesting - // information about the process - if (dumpGStates) { - for (GrammarNode grammarNode : grammar.getGrammarNodes()) { - GState gstate = getGState(grammarNode); - gstate.dumpInfo(); - } - } - nodeStateMap = null; - arcPool = null; - return SentenceHMMState.collectStates(initialState); - } - - - /** - * Returns a new GState for the given GrammarNode. - * @param grammarNode grammar node - * @return a new GState for the given GrammarNode - */ - protected GState createGState(GrammarNode grammarNode) { - return new GState(grammarNode); - } - - - /** - * Ensures that there is a starting path by adding an empty left context to the starting gstate - */ - protected void addStartingPath() { - // TODO: Currently the FlatLinguist requires that the initial - // grammar node returned by the Grammar contains a "sil" word - addStartingPath(grammar.getInitialNode()); - } - - /** - * Start the search at the indicated node - * @param initialNode initial node - */ - protected void addStartingPath(GrammarNode initialNode) { - // guarantees a starting path into the initial node by - // adding an empty left context to the starting gstate - GrammarNode node = initialNode; - GState gstate = getGState(node); - gstate.addLeftContext(UnitContext.SILENCE); - } - - - /** - * Determines if the underlying grammar has changed since we last compiled the search graph - * - * @return true if the grammar has changed - */ - protected boolean grammarHasChanged() { - return initialGrammarState == null || - initialGrammarState != grammar.getInitialNode(); - } - - - /** - * Finds the starting state - * - * @return the starting state - */ - protected SentenceHMMState findStartingState() { - GrammarNode node = grammar.getInitialNode(); - GState gstate = getGState(node); - return gstate.getEntryPoint(); - } - - - /** - * Gets a SentenceHMMStateArc. The arc is drawn from a pool of arcs. - * - * @param nextState the next state - * @param logLanguageProbability the log language probability - * @param logInsertionProbability the log insertion probability - * @return sentence arc - */ - protected SentenceHMMStateArc getArc(SentenceHMMState nextState, - float logLanguageProbability, - float logInsertionProbability) { - SentenceHMMStateArc arc = new SentenceHMMStateArc(nextState, - logLanguageProbability * languageWeight, - logInsertionProbability); - SentenceHMMStateArc pooledArc = arcPool.cache(arc); - actualArcs.value = arcPool.getMisses(); - totalArcs.value = arcPool.getHits() + arcPool.getMisses(); - return pooledArc == null ? arc : pooledArc; - } - - - /** - * Given a grammar node, retrieve the grammar state - * - * @param node the grammar node - * @return the grammar state associated with the node - */ - protected GState getGState(GrammarNode node) { - return nodeStateMap.get(node); - } - - - /** - * The search graph that is produced by the flat linguist. - */ - protected class FlatSearchGraph implements SearchGraph { - - /** - * An array of classes that represents the order in which the states will be returned. - */ - private final SearchState initialState; - - - /** - * Constructs a flast search graph with the given initial state - * - * @param initialState the initial state - */ - public FlatSearchGraph(SearchState initialState) { - this.initialState = initialState; - } - - public boolean getWordTokenFirst() { - return true; - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getInitialState() - */ - public SearchState getInitialState() { - return initialState; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getNumStateOrder() - */ - public int getNumStateOrder() { - return 7; - } - } - - /** - * This is a nested class that is used to manage the construction of the states in a grammar node. There is one - * GState created for each grammar node. The GState is used to collect the entry and exit points for the grammar - * node and for connecting up the grammar nodes to each other. - */ - protected class GState { - - private final Map> entryPoints = new HashMap>(); - private final Map> exitPoints = new HashMap>(); - private final Map existingStates = new HashMap(); - - private final GrammarNode node; - - private final Set rightContexts = new HashSet(); - private final Set leftContexts = new HashSet(); - private Set startingContexts; - - private int exitConnections; -// private GrammarArc[] successors = null; - - - /** - * Creates a GState for a grammar node - * - * @param node the grammar node - */ - protected GState(GrammarNode node) { - this.node = node; - nodeStateMap.put(node, this); - } - - - /** - * Retrieves the set of starting contexts for this node. The starting contexts are the set of Unit[] with a size - * equal to the maximum right context size. - * - * @return the set of starting contexts across nodes. - */ - private Set getStartingContexts() { - if (startingContexts == null) { - startingContexts = new HashSet(); - // if this is an empty node, the starting context is - // the set of starting contexts for all successor - // nodes, otherwise, it is built up from each - // pronunciation of this word - if (node.isEmpty()) { - GrammarArc[] arcs = getSuccessors(); - for (GrammarArc arc : arcs) { - GState gstate = getGState(arc.getGrammarNode()); - startingContexts.addAll(gstate.getStartingContexts()); - } - } else { -// int maxSize = getRightContextSize(); - Word word = node.getWord(); - Pronunciation[] prons = word.getPronunciations(); - for (Pronunciation pron : prons) { - UnitContext startingContext = getStartingContext(pron); - startingContexts.add(startingContext); - } - } - } - return startingContexts; - } - - - /** - * Retrieves the starting UnitContext for the given pronunciation - * - * @param pronunciation the pronunciation - * @return a UnitContext representing the starting context of the pronunciation - */ - private UnitContext getStartingContext(Pronunciation pronunciation) { - int maxSize = getRightContextSize(); - Unit[] units = pronunciation.getUnits(); - Unit[] context = units.length > maxSize ? Arrays.copyOf(units, maxSize) : units; - return UnitContext.get(context); - } - - - /** - * Retrieves the set of trailing contexts for this node. the trailing contexts are the set of Unit[] with a size - * equal to the maximum left context size that align with the end of the node - - */ - Collection getEndingContexts() { - Collection endingContexts = new ArrayList(); - if (!node.isEmpty()) { - int maxSize = getLeftContextSize(); - Word word = node.getWord(); - Pronunciation[] prons = word.getPronunciations(); - for (Pronunciation pron : prons) { - Unit[] units = pron.getUnits(); - int size = units.length; - Unit[] context = size > maxSize ? Arrays.copyOfRange(units, size - maxSize, size) : units; - endingContexts.add(UnitContext.get(context)); - } - } - return endingContexts; - } - - - /** - * Visit all of the successor states, and gather their starting contexts into this gstates right context - */ - private void pullRightContexts() { - GrammarArc[] arcs = getSuccessors(); - for (GrammarArc arc : arcs) { - GState gstate = getGState(arc.getGrammarNode()); - rightContexts.addAll(gstate.getStartingContexts()); - } - } - - - /** - * Returns the set of succesor arcs for this grammar node. If a successor grammar node has no words we'll - * substitute the successors for that node (avoiding loops of course) - * - * @return an array of successors for this GState - */ - private GrammarArc[] getSuccessors() { - return node.getSuccessors(); - } - - - /** - * Visit all of the successor states, and push our ending context into the successors left context - */ - void pushLeftContexts() { - Collection endingContext = getEndingContexts(); - Set visitedSet = new HashSet(); - pushLeftContexts(visitedSet, endingContext); - } - - - /** - * Pushes the given left context into the successor states. If a successor state is empty, continue to push into - * this empty states successors - * - - * @param leftContext the context to push - */ - void pushLeftContexts(Set visitedSet, Collection leftContext) { - if (visitedSet.contains(getNode())) { - return; - } else { - visitedSet.add(getNode()); - } - for (GrammarArc arc : getSuccessors()) { - GState gstate = getGState(arc.getGrammarNode()); - gstate.addLeftContext(leftContext); - // if our successor state is empty, also push our - // ending context into the empty nodes successors - if (gstate.getNode().isEmpty()) { - gstate.pushLeftContexts(visitedSet, leftContext); - } - } - } - - - /** - * Add the given left contexts to the set of left contexts for this state - * - * @param context the set of contexts to add - */ - private void addLeftContext(Collection context) { - leftContexts.addAll(context); - } - - - /** - * Adds the given context to the set of left contexts for this state - * - * @param context the context to add - */ - private void addLeftContext(UnitContext context) { - leftContexts.add(context); - } - - - /** - * Returns the entry points for a given context pair - - - */ - private List getEntryPoints(ContextPair contextPair) { - return entryPoints.get(contextPair); - } - - - /** - * Gets the context-free entry point to this state - * - * @return the entry point to the state - */ - // TODO: ideally we'll look for entry points with no left - // context, but those don't exist yet so we just take - // the first entry point with an SILENCE left context - // note that this assumes that the first node in a grammar has a - // word and that word is a SIL. Not always a valid assumption. - public SentenceHMMState getEntryPoint() { - ContextPair cp = ContextPair.get(UnitContext.SILENCE, UnitContext.SILENCE); - List list = getEntryPoints(cp); - return list == null || list.isEmpty() ? null : (SentenceHMMState)list.get(0); - } - - - /** - * Collects the right contexts for this node and pushes this nodes ending context into the next next set of - * nodes. - */ - public void collectContexts() { - pullRightContexts(); - pushLeftContexts(); - } - - - /** - * Expands each GState into the sentence HMM States - */ - public void expand() { - // for each left context/starting context pair create a list - // of starting states. - for (UnitContext leftContext : leftContexts) { - for (UnitContext startingContext : getStartingContexts()) { - ContextPair contextPair = ContextPair.get(leftContext, startingContext); - entryPoints.put(contextPair, new ArrayList()); - } - } - // if this is a final node don't expand it, just create a - // state and add it to all entry points - if (node.isFinalNode()) { - GrammarState gs = new GrammarState(node); - for (List epList : entryPoints.values()) { - epList.add(gs); - } - } else if (!node.isEmpty()) { - // its a full fledged node with a word - // so expand it. Nodes without words don't need - // to be expanded. - for (UnitContext leftContext : leftContexts) { - expandWord(leftContext); - } - } else { - //if the node is empty, populate the set of entry and exit - //points with a branch state. The branch state - // branches to the successor entry points for this - // state - // the exit point should consist of the set of - // incoming left contexts and outgoing right contexts - // the 'entryPoint' table already consists of such - // pairs so we can use that - for (Map.Entry> entry : entryPoints.entrySet()) { - ContextPair cp = entry.getKey(); - List epList = entry.getValue(); - SentenceHMMState bs = new BranchState(cp.getLeftContext().toString(), - cp.getRightContext().toString(), node.getID()); - epList.add(bs); - addExitPoint(cp, bs); - } - } - addEmptyEntryPoints(); - } - - - /** - * Adds the set of empty entry points. The list of entry points are tagged with a context pair. The context pair - * represent the left context for the state and the starting context for the state, this allows states to be - * hooked up properly. However, we may be transitioning from states that have no right hand context (CI units - * such as SIL fall into this category). In this case we'd normally have no place to transition to since we add - * entry points for each starting context. To make sure that there are entry points for empty contexts if - * necessary, we go through the list of entry points and find all left contexts that have a right hand context - * size of zero. These entry points will need an entry point with an empty starting context. These entries are - * synthesized and added to the the list of entry points. - */ - private void addEmptyEntryPoints() { - Map> emptyEntryPoints = new HashMap>(); - for (Map.Entry> entry : entryPoints.entrySet()) { - ContextPair cp = entry.getKey(); - if (needsEmptyVersion(cp)) { - ContextPair emptyContextPair = ContextPair.get(cp.getLeftContext(), UnitContext.EMPTY); - List epList = emptyEntryPoints.get(emptyContextPair); - if (epList == null) { - epList = new ArrayList(); - emptyEntryPoints.put(emptyContextPair, epList); - } - epList.addAll(entry.getValue()); - } - } - entryPoints.putAll(emptyEntryPoints); - } - - - /** - * Determines if the context pair needs an empty version. A context pair needs an empty version if the left - * context has a max size of zero. - * - * @param cp the contex pair to check - * @return true if the pair needs an empt version - */ - private boolean needsEmptyVersion(ContextPair cp) { - UnitContext left = cp.getLeftContext(); - Unit[] units = left.getUnits(); - return units.length > 0 && (getRightContextSize(units[0]) < getRightContextSize()); - - } - - - /** - * Returns the grammar node of the gstate - * - * @return the grammar node - */ - private GrammarNode getNode() { - return node; - } - - - /** - * Expand the the word given the left context - * - * @param leftContext the left context - */ - private void expandWord(UnitContext leftContext) { - Word word = node.getWord(); - T(" Expanding word " + word + " for lc " + leftContext); - Pronunciation[] pronunciations = word.getPronunciations(); - for (int i = 0; i < pronunciations.length; i++) { - expandPronunciation(leftContext, pronunciations[i], i); - } - } - - - /** - * Expand the pronunciation given the left context - * - * @param leftContext the left context - * @param pronunciation the pronunciation to expand - * @param which unique ID for this pronunciation - */ - // Each GState maintains a list of entry points. This list of - // entry points is used when connecting up the end states of - // one GState to the beginning states in another GState. The - // entry points are tagged by a ContextPair which represents - // the left context upon entering the state (the left context - // of the initial units of the state), and the right context - // of the previous states (corresponding to the starting - // contexts for this state). - // - // When expanding a pronunciation, the following steps are - // taken: - // 1) Get the starting context for the pronunciation. - // This is the set of units that correspond to the start - // of the pronunciation. - // - // 2) Create a new PronunciationState for the - // pronunciation. - // - // 3) Add the PronunciationState to the entry point table - // (a hash table keyed by the ContextPair(LeftContext, - // StartingContext). - // - // 4) Generate the set of context dependent units, using - // the left and right context of the GState as necessary. - // Note that there will be fan out at the end of the - // pronunciation to allow for units with all of the - // various right contexts. The point where the fan-out - // occurs is the (length of the pronunciation - the max - // right context size). - // - // 5) Attach each cd unit to the tree - // - // 6) Expand each cd unit into the set of HMM states - // - // 7) Attach the optional and looping back silence cd - // unit - // - // 8) Collect the leaf states of the tree and add them to - // the exitStates list. - private void expandPronunciation(UnitContext leftContext, - Pronunciation pronunciation, int which) { - UnitContext startingContext = getStartingContext(pronunciation); - // Add the pronunciation state to the entry point list - // (based upon its left and right context) - String pname = "P(" + pronunciation.getWord() + '[' + leftContext - + ',' + startingContext + "])-G" + getNode().getID(); - PronunciationState ps = new PronunciationState(pname, pronunciation, which); - T(" Expanding " + ps.getPronunciation() + " for lc " + leftContext); - ContextPair cp = ContextPair.get(leftContext, startingContext); - List epList = entryPoints.get(cp); - if (epList == null) { - throw new Error("No EP list for context pair " + cp); - } else { - epList.add(ps); - } - Unit[] units = pronunciation.getUnits(); - int fanOutPoint = units.length - getRightContextSize(); - if (fanOutPoint < 0) { - fanOutPoint = 0; - } - SentenceHMMState tail = ps; - for (int i = 0; tail != null && i < fanOutPoint; i++) { - tail = attachUnit(ps, tail, units, i, leftContext, UnitContext.EMPTY); - } - SentenceHMMState branchTail = tail; - for (UnitContext finalRightContext : rightContexts) { - tail = branchTail; - for (int i = fanOutPoint; tail != null && i < units.length; i++) { - tail = attachUnit(ps, tail, units, i, leftContext, finalRightContext); - } - } - } - - - /** - * Attaches the given unit to the given tail, expanding the unit if necessary. If an identical unit is already - * attached, then this path is folded into the existing path. - * - * @param parent the parent state - * @param tail the place to attach the unit to - * @param units the set of units - * @param which the index into the set of units - * @param leftContext the left context for the unit - * @param rightContext the right context for the unit - * @return the tail of the added unit (or null if the path was folded onto an already expanded path. - */ - private SentenceHMMState attachUnit(PronunciationState parent, - SentenceHMMState tail, Unit[] units, int which, - UnitContext leftContext, UnitContext rightContext) { - Unit[] lc = getLC(leftContext, units, which); - Unit[] rc = getRC(units, which, rightContext); - UnitContext actualRightContext = UnitContext.get(rc); - LeftRightContext context = LeftRightContext.get(lc, rc); - Unit cdUnit = unitManager.getUnit(units[which].getName(), units[which] .isFiller(), context); - UnitState unitState = new ExtendedUnitState(parent, which, cdUnit); - float logInsertionProbability; - if (unitState.getUnit().isSilence()) { - logInsertionProbability = logSilenceInsertionProbability; - } else if (unitState.getUnit().isFiller()) { - logInsertionProbability = logFillerInsertionProbability; - } else if (unitState.getWhich() == 0) { - logInsertionProbability = logWordInsertionProbability; - } else { - logInsertionProbability = logUnitInsertionProbability; - } - // check to see if this state already exists, if so - // branch to it and we are done, otherwise, branch to - // the new state and expand it. - SentenceHMMState existingState = getExistingState(unitState); - if (existingState != null) { - attachState(tail, existingState, logOne, logInsertionProbability); - // T(" Folding " + existingState); - return null; - } else { - attachState(tail, unitState, logOne, logInsertionProbability); - addStateToCache(unitState); - // T(" Attaching " + unitState); - tail = expandUnit(unitState); - // if we are attaching the last state of a word, then - // we add it to the exitPoints table. the exit points - // table is indexed by a ContextPair, consisting of - // the exiting left context and the right context. - if (unitState.isLast()) { - UnitContext nextLeftContext = generateNextLeftContext(leftContext, units[which]); - ContextPair cp = ContextPair.get(nextLeftContext, actualRightContext); - // T(" Adding to exitPoints " + cp); - addExitPoint(cp, tail); - } - return tail; - } - } - - - /** - * Adds an exit point to this gstate - * - * @param cp the context tag for the state - * @param state the state associated with the tag - */ - private void addExitPoint(ContextPair cp, SentenceHMMState state) { - List list = exitPoints.get(cp); - if (list == null) { - list = new ArrayList(); - exitPoints.put(cp, list); - } - list.add(state); - } - - /** - * Get the left context for a unit based upon the left context size, the entry left context and the current - * unit. - * - * @param left the entry left context - * @param units the set of units - * @param index the index of the current unit - - */ - private Unit[] getLC(UnitContext left, Unit[] units, int index) { - Unit[] leftUnits = left.getUnits(); - int curSize = leftUnits.length + index; - int actSize = Math.min(curSize, getLeftContextSize(units[index])); - int leftIndex = index - actSize; - - Unit[] lc = new Unit[actSize]; - for (int i = 0; i < lc.length; i++) { - int lcIndex = leftIndex + i; - if (lcIndex < 0) { - lc[i] = leftUnits[leftUnits.length + lcIndex]; - } else { - lc[i] = units[lcIndex]; - } - } - return lc; - } - - /** - * Get the right context for a unit based upon the right context size, the exit right context and the current - * unit. - * - * @param units the set of units - * @param index the index of the current unit - * @param right the exiting right context - - */ - private Unit[] getRC(Unit[] units, int index, UnitContext right) { - Unit[] rightUnits = right.getUnits(); - int leftIndex = index + 1; - int curSize = units.length - leftIndex + rightUnits.length; - int actSize = Math.min(curSize, getRightContextSize(units[index])); - - Unit[] rc = new Unit[actSize]; - for (int i = 0; i < rc.length; i++) { - int rcIndex = leftIndex + i; - if (rcIndex < units.length) { - rc[i] = units[rcIndex]; - } else { - rc[i] = rightUnits[rcIndex - units.length]; - } - } - return rc; - } - - /** - * Gets the maximum context size for the given unit - * - * @param unit the unit of interest - * @return the maximum left context size for the unit - */ - private int getLeftContextSize(Unit unit) { - return unit.isFiller() ? 0 : getLeftContextSize(); - } - - - /** - * Gets the maximum context size for the given unit - * - * @param unit the unit of interest - * @return the maximum right context size for the unit - */ - private int getRightContextSize(Unit unit) { - return unit.isFiller() ? 0 : getRightContextSize(); - } - - - /** - * Returns the size of the left context. - * - * @return the size of the left context - */ - protected int getLeftContextSize() { - return acousticModel.getLeftContextSize(); - } - - - /** - * Returns the size of the right context. - * - * @return the size of the right context - */ - protected int getRightContextSize() { - return acousticModel.getRightContextSize(); - } - - - /** - * Generates the next left context based upon a previous context and a unit - * - * @param prevLeftContext the previous left context - * @param unit the current unit - */ - UnitContext generateNextLeftContext(UnitContext prevLeftContext, Unit unit) { - Unit[] prevUnits = prevLeftContext.getUnits(); - int actSize = Math.min(prevUnits.length, getLeftContextSize()); - if (actSize == 0) - return UnitContext.EMPTY; - Unit[] leftUnits = Arrays.copyOfRange(prevUnits, 1, actSize + 1); - leftUnits[actSize - 1] = unit; - return UnitContext.get(leftUnits); - } - - - /** - * Expands the unit into a set of HMMStates. If the unit is a silence unit add an optional loopback to the - * tail. - * - * @param unit the unit to expand - * @return the head of the hmm tree - */ - protected SentenceHMMState expandUnit(UnitState unit) { - SentenceHMMState tail = getHMMStates(unit); - // if the unit is a silence unit add a loop back from the - // tail silence unit - if (unit.getUnit().isSilence()) { - // add the loopback, but don't expand it // anymore - attachState(tail, unit, logOne, logSilenceInsertionProbability); - } - return tail; - } - - - /** - * Given a unit state, return the set of sentence hmm states associated with the unit - * - * @param unitState the unit state of intereset - * @return the hmm tree for the unit - */ - private HMMStateState getHMMStates(UnitState unitState) { - HMMStateState hmmTree; - HMMStateState finalState; - Unit unit = unitState.getUnit(); - HMMPosition position = unitState.getPosition(); - HMM hmm = acousticModel.lookupNearestHMM(unit, position, false); - HMMState initialState = hmm.getInitialState(); - hmmTree = new HMMStateState(unitState, initialState); - attachState(unitState, hmmTree, logOne, logOne); - addStateToCache(hmmTree); - finalState = expandHMMTree(unitState, hmmTree); - return finalState; - } - - - /** - * Expands the given hmm state tree - * - * @param parent the parent of the tree - * @param tree the tree to expand - * @return the final state in the tree - */ - private HMMStateState expandHMMTree(UnitState parent, HMMStateState tree) { - HMMStateState retState = tree; - for (HMMStateArc arc : tree.getHMMState().getSuccessors()) { - HMMStateState newState; - if (arc.getHMMState().isEmitting()) { - newState = new HMMStateState(parent, arc.getHMMState()); - } else { - newState = new NonEmittingHMMState(parent, arc.getHMMState()); - } - SentenceHMMState existingState = getExistingState(newState); - float logProb = arc.getLogProbability(); - if (existingState != null) { - attachState(tree, existingState, logOne, logProb); - } else { - attachState(tree, newState, logOne, logProb); - addStateToCache(newState); - retState = expandHMMTree(parent, newState); - } - } - return retState; - } - - - /** - * Connect up all of the GStates. Each state now has a table of exit points. These exit points represent tail - * states for the node. Each of these tail states is tagged with a ContextPair, that indicates what the left - * context is (the exiting context) and the right context (the entering context) for the transition. To connect - * up a state, the connect does the following: 1) Iterate through all of the grammar successors for this state - * 2) Get the 'entry points' for the successor that match the exit points. 3) Hook them up. - *

- * Note that for a task with 1000 words this will involve checking on the order of 35,000,000 connections and - * making about 2,000,000 connections - */ - public void connect() { - // T("Connecting " + node.getWord()); - for (GrammarArc arc : getSuccessors()) { - GState gstate = getGState(arc.getGrammarNode()); - if (!gstate.getNode().isEmpty() - && gstate.getNode().getWord().getSpelling().equals( - Dictionary.SENTENCE_START_SPELLING)) { - continue; - } - float probability = arc.getProbability(); - // adjust the language probability by the number of - // pronunciations. If there are 3 ways to say the - // word, then each pronunciation gets 1/3 of the total - // probability. - if (spreadWordProbabilitiesAcrossPronunciations && !gstate.getNode().isEmpty()) { - int numPronunciations = gstate.getNode().getWord().getPronunciations().length; - probability -= logMath.linearToLog(numPronunciations); - } - float fprob = probability; - for (Map.Entry> entry : exitPoints.entrySet()) { - List destEntryPoints = gstate.getEntryPoints(entry.getKey()); - if (destEntryPoints != null) { - List srcExitPoints = entry.getValue(); - connect(srcExitPoints, destEntryPoints, fprob); - } - } - } - } - - - /** - * connect all the states in the source list to the states in the destination list - * - * @param sourceList the set of source states - * @param destList the set of destination states. - - */ - private void connect(List sourceList, List destList, float logLangProb) { - for (SearchState source : sourceList) { - SentenceHMMState sourceState = (SentenceHMMState) source; - for (SearchState dest : destList) { - SentenceHMMState destState = (SentenceHMMState) dest; - sourceState.connect(getArc(destState, logLangProb, logOne)); - exitConnections++; - } - } - } - - - /** - * Attaches one SentenceHMMState as a child to another, the transition has the given probability - * - * @param prevState the parent state - * @param nextState the child state - * @param logLanguageProbablity the language probability of transition in the LogMath log domain - * @param logInsertionProbablity insertion probability of transition in the LogMath log domain - */ - protected void attachState(SentenceHMMState prevState, - SentenceHMMState nextState, - float logLanguageProbablity, - float logInsertionProbablity) { - prevState.connect(getArc(nextState, - logLanguageProbablity, logInsertionProbablity)); - if (showCompilationProgress && totalStateCounter++ % 1000 == 0) { - System.out.print("."); - } - } - - - /** - * Returns all of the states maintained by this gstate - * - * @return the set of all states - */ - public Collection getStates() { - // since pstates are not placed in the cache we have to - // gather those states. All other states are found in the - // existingStates cache. - List allStates = new ArrayList(existingStates.values()); - for (List list : entryPoints.values()) { - allStates.addAll(list); - } - return allStates; - } - - - /** - * Checks to see if a state that matches the given state already exists - * - * @param state the state to check - * @return true if a state with an identical signature already exists. - */ - private SentenceHMMState getExistingState(SentenceHMMState state) { - return existingStates.get(state.getSignature()); - } - - - /** - * Adds the given state to the cache of states - * - * @param state the state to add - */ - private void addStateToCache(SentenceHMMState state) { - existingStates.put(state.getSignature(), state); - } - - - /** - * Prints info about this GState - */ - void dumpInfo() { - System.out.println(" ==== " + this + " ========"); - System.out.print("Node: " + node); - if (node.isEmpty()) { - System.out.print(" (Empty)"); - } else { - System.out.print(" " + node.getWord()); - } - System.out.print(" ep: " + entryPoints.size()); - System.out.print(" exit: " + exitPoints.size()); - System.out.print(" cons: " + exitConnections); - System.out.print(" tot: " + getStates().size()); - System.out.print(" sc: " + getStartingContexts().size()); - System.out.print(" rc: " + leftContexts.size()); - System.out.println(" lc: " + rightContexts.size()); - dumpDetails(); - } - - - /** - * Dumps the details for a gstate - */ - void dumpDetails() { - dumpCollection(" entryPoints", entryPoints.keySet()); - dumpCollection(" entryPoints states", entryPoints.values()); - dumpCollection(" exitPoints", exitPoints.keySet()); - dumpCollection(" exitPoints states", exitPoints.values()); - dumpNextNodes(); - dumpExitPoints(exitPoints.values()); - dumpCollection(" startingContexts", getStartingContexts()); - dumpCollection(" branchingInFrom", leftContexts); - dumpCollection(" branchingOutTo", rightContexts); - dumpCollection(" existingStates", existingStates.keySet()); - } - - - /** - * Dumps out the names of the next set of grammar nodes - */ - private void dumpNextNodes() { - System.out.println(" Next Grammar Nodes: "); - for (GrammarArc arc : node.getSuccessors()) { - System.out.println(" " + arc.getGrammarNode()); - } - } - - - /** - * Dumps the exit points and their destination states - * - * @param eps the collection of exit points - */ - private void dumpExitPoints(Collection> eps) { - for (List epList : eps) { - for (SearchState state : epList) { - System.out.println(" Arcs from: " + state); - for (SearchStateArc arc : state.getSuccessors()) { - System.out.println(" " + arc.getState()); - } - } - } - } - - - /** - * Dumps the given collection - * - * @param name the name of the collection - * @param collection the collection to dump - */ - private void dumpCollection(String name, Collection collection) { - System.out.println(" " + name); - for (Object obj : collection) { - System.out.println(" " + obj); - } - } - - /** - * Returns the string representation of the object - * - * @return the string representation of the object - */ - @Override - public String toString() { - if (node.isEmpty()) { - return "GState " + node + "(empty)"; - } else { - return "GState " + node + " word " + node.getWord(); - } - } - } - - - /** - * Quick and dirty tracing. Traces the string if 'tracing' is true - * - * @param s the string to trace. - */ - private void T(String s) { - if (tracing) { - System.out.println(s); - } - } -} - -/** - * A class that represents a set of units used as a context - */ -class UnitContext { - - private static final Cache unitContextCache = new Cache(); - private final Unit[] context; - private int hashCode = 12; - public final static UnitContext EMPTY = new UnitContext(Unit.EMPTY_ARRAY); - public final static UnitContext SILENCE = new UnitContext(new Unit[] { UnitManager.SILENCE }); - - static { - unitContextCache.cache(EMPTY); - unitContextCache.cache(SILENCE); - } - - - /** - * Creates a UnitContext for the given context. This constructor is not directly accessible, use the factory method - * instead. - * - * @param context the context to wrap with this UnitContext - */ - private UnitContext(Unit[] context) { - this.context = context; - hashCode = 12; - for (int i = 0; i < context.length; i++) { - hashCode += context[i].getName().hashCode() * ((i + 1) * 34); - } - } - - - /** - * Gets the unit context for the given units. There is a single unit context for each unit combination. - * - * @param units the units of interest - * @return the unit context. - */ - static UnitContext get(Unit[] units) { - UnitContext newUC = new UnitContext(units); - UnitContext cachedUC = unitContextCache.cache(newUC); - return cachedUC == null ? newUC : cachedUC; - } - - - /** - * Retrieves the units for this context - * - * @return the units associated with this context - */ - public Unit[] getUnits() { - return context; - } - - - /** - * Determines if the given object is equal to this UnitContext - * - * @param o the object to compare to - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof UnitContext) { - UnitContext other = (UnitContext) o; - if (this.context.length != other.context.length) { - return false; - } else { - for (int i = 0; i < this.context.length; i++) { - if (this.context[i] != other.context[i]) { - return false; - } - } - return true; - } - } else { - return false; - } - } - - - /** - * Returns a hashcode for this object - * - * @return the hashCode - */ - @Override - public int hashCode() { - return hashCode; - } - - - /** - * Dumps information about the total number of UnitContext objects - */ - public static void dumpInfo() { - System.out.println("Total number of UnitContexts : " - + unitContextCache.getMisses() + " folded: " + unitContextCache.getHits()); - } - - - /** - * Returns a string representation of this object - * - * @return a string representation - */ - @Override - public String toString() { - return LeftRightContext.getContextName(context); - } -} - -/** - * A context pair hold a left and starting context. It is used as a hash into the set of starting points for a - * particular gstate - */ -class ContextPair { - - static final Cache contextPairCache = new Cache(); - private final UnitContext left; - private final UnitContext right; - private final int hashCode; - - - /** - * Creates a UnitContext for the given context. This constructor is not directly accessible, use the factory method - * instead. - * - * @param left the left context - * @param right the right context - */ - private ContextPair(UnitContext left, UnitContext right) { - this.left = left; - this.right = right; - hashCode = 99 + left.hashCode() * 113 + right.hashCode(); - } - - - /** - * Gets the ContextPair for the given set of contexts. This is a factory method. If the ContextPair already exists, - * return that one, otherwise, create it and store it so it can be reused. - * - * @param left the left context - * @param right the right context - * @return the unit context. - */ - static ContextPair get(UnitContext left, UnitContext right) { - ContextPair newCP = new ContextPair(left, right); - ContextPair cachedCP = contextPairCache.cache(newCP); - return cachedCP == null ? newCP : cachedCP; - } - - - /** - * Determines if the given object is equal to this UnitContext - * - * @param o the object to compare to - * @return true if the objects are equal return; - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof ContextPair) { - ContextPair other = (ContextPair) o; - return this.left.equals(other.left) && this.right.equals(other.right); - } else { - return false; - } - } - - - /** - * Returns a hashcode for this object - * - * @return the hashCode - */ - @Override - public int hashCode() { - return hashCode; - } - - - /** - * Returns a string representation of the object - */ - @Override - public String toString() { - return "CP left: " + left + " right: " + right; - } - - - /** - * Gets the left unit context - * - * @return the left unit context - */ - public UnitContext getLeftContext() { - return left; - } - - - /** - * Gets the right unit context - * - * @return the right unit context - */ - public UnitContext getRightContext() { - return right; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarPoint.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarPoint.java deleted file mode 100755 index 4bc414dc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarPoint.java +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.grammar.GrammarArc; -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; - -import java.util.ArrayList; -import java.util.List; - -/** - * Manages a particular point in a grammar. The GrammarPoint is used to manage the look-ahead for generating - * right-contexts. Since we haven't built the HMM tree yet, looking ahead can be difficult. The GrammarPoint class - * points to a particular unit within a pronunciation/word/grammar. From a particular grammar point, it is possible to - * get the set of next grammar points. - */ - -public class GrammarPoint { - - private GrammarNode node; // the grammar node - private int alternativeIndex; // which alternative in the grammar - private int wordIndex; // which word in the alternative - private int pronunciationIndex; // which pronunciation in the word - private int unitIndex; // which unit in the pronunciation - private static boolean bounded; - - - /** - * Creates a grammar point that points to the given unit of the given pronunciation state. - * - * @param state the pronunciation of interest - */ - public GrammarPoint(SentenceHMMState state) { - while (state != null) { - if (state instanceof UnitState) { - unitIndex = state.getWhich(); - } else if (state instanceof PronunciationState) { - pronunciationIndex = state.getWhich(); - } else if (state instanceof WordState) { - wordIndex = state.getWhich(); - } else if (state instanceof AlternativeState) { - alternativeIndex = state.getWhich(); - } else if (state instanceof GrammarState) { - node = ((GrammarState) state).getGrammarNode(); - } - state = state.getParent(); - } - assert node != null; - } - - - /** - * Creates a grammar node that points to the first unit of the first pronunciation of the first word of the given - * grammar node - * - * @param node the grammar node of interest - */ - public GrammarPoint(GrammarNode node) { - this(node, -1, 0, 0, 0); - } - - - /** - * Creates a GrammarPoint that corresponds to the given unit of the given pronunciation - * - * @param state the pronunciation state - * @param which the index of the unit - */ - public GrammarPoint(PronunciationState state, int which) { - this(state); - unitIndex = which; - } - - - /** - * Creates a GrammarPoint that points to a fully specified unit - * - * @param node the grammar node - * @param alternativeIndex the index of alternative - * @param wordIndex the index of the word in the node - * @param pronunciationIndex the index of the pronunciation in the word. - * @param unitIndex the index of the unit in the pronunciation - */ - public GrammarPoint(GrammarNode node, int alternativeIndex, - int wordIndex, int pronunciationIndex, int unitIndex) { - assert node != null; - this.node = node; - this.alternativeIndex = alternativeIndex; - this.wordIndex = wordIndex; - this.pronunciationIndex = pronunciationIndex; - this.unitIndex = unitIndex; - } - - - /** - * Gets the unit associated with this point in the grammar - * - * @return the unit, or null if there is no unit associated with this point in the grammar - */ - private Unit getUnit() { - Unit unit = null; - Word[][] alternatives = node.getAlternatives(); - if (alternativeIndex != -1 && alternativeIndex < alternatives.length) { - Word[] words = alternatives[alternativeIndex]; - if (wordIndex < words.length) { - Pronunciation[] pronunciations = - words[wordIndex].getPronunciations(); - if (pronunciationIndex < pronunciations.length) { - Unit[] units = - pronunciations[pronunciationIndex].getUnits(); - if (unitIndex < units.length) { - unit = units[unitIndex]; - } - } - } - } - return unit; - } - - - /** - * Gets the unit associated with this point in the grammar. If there is no unit, return filler - * - * @return the unit for this grammar node or a filler unit - */ - private Unit getUnitOrFill() { - Unit unit = getUnit(); - if (unit == null) { - unit = UnitManager.SILENCE; - } - return unit; - } - - - /** - * Gets all of the right contexts for this grammar point. The contexts returned are guaranteed to be 'size' units - * in length, The number of contexts returned depends upon the perplexity of the grammar downstream from this - * GrammarPoint - * - * @param size the size of each context returned - * @param startWithCurrent include the current state in the context - * @param maxContexts the maxium number of right contexts to return - * @return a list of containing Unit[] contexts. - */ - public List getRightContexts(int size, boolean startWithCurrent, - int maxContexts) { - List contexts = new ArrayList(); - List nextPoints = getNextGrammarPoints(startWithCurrent); - - if (nextPoints.isEmpty()) { - Unit[] units = Unit.getEmptyContext(size); - addContext(contexts, units); - } else { - for (GrammarPoint gp : nextPoints) { - if (size == 1) { - Unit[] units = new Unit[size]; - units[0] = gp.getUnitOrFill(); - addContext(contexts, units); - } else { - List rc = gp.getRightContexts(size - 1, false, - maxContexts - contexts.size()); - for (Unit[] rcUnits : rc) { - Unit[] units = Unit.getEmptyContext(rcUnits.length + 1); - units[0] = gp.getUnitOrFill(); - System.arraycopy(rcUnits, 0, units, 1, rcUnits.length); - addContext(contexts, units); - } - } - if (contexts.size() >= maxContexts) { - break; - } - } - } - return contexts; - } - - - /** - * Add a context to a list of contexts after ensuring that no identical contexts exist on the list. When a right - * context is collected it may contain duplicates in certain cases (when this unit is the last unit in a grammar - * node, and there is a branch to multiple words in subsequent nodes, for instance) - * - * @param contexts the list of contexts to add the new units to - * @param units the units to add to the context - */ - private void addContext(List contexts, Unit[] units) { - for (Unit[] onList : contexts) { - if (Unit.isContextMatch(onList, units)) { - return; // found on list so bailout - } - } - contexts.add(units); - } - - - /** - * Returns a list of next GrammarPoints for this GrammarPoint. If there are no more downstream grammar points with - * words, an empty list is returned. - * - * @param startWithCurrent include the current state in the context - * @return the (possibly empty) list of next GrammarPoint objects - */ - private List getNextGrammarPoints(boolean startWithCurrent) { - List nextPoints = new ArrayList(); - int unitsLength = 0; - - // if this GrammarPoint is associated with a grammar node - // and the grannar node has alternatives, add points for each - // alternative - if (alternativeIndex == -1 && node.getAlternatives().length > 0) { - for (int i = 0; i < node.getAlternatives().length; i++) { - GrammarPoint gp = new GrammarPoint(node, i, 0, 0, 0); - nextPoints.add(gp); - } - } - - // If we don't have any alternatives, (i.e. this grammar node - // has no words at all associated with it, then just go and - // find the set of next grammar nodes with words, collect - // them up, expand them and return that set. - - else if (node.getAlternatives().length == 0) { - addNextGrammarPointsWithWords(node, nextPoints); - } else { - - // At this point we are at a node with a set of alternatives - - GrammarPoint next; - - if (startWithCurrent) { - next = this; - } else { - next = new GrammarPoint(node, alternativeIndex, wordIndex, - pronunciationIndex, unitIndex + 1); - } - Pronunciation[] pronunciations = node. - getAlternatives()[alternativeIndex][wordIndex]. - getPronunciations(); - - unitsLength = pronunciations[pronunciationIndex].getUnits().length; - - if (next.unitIndex < unitsLength) { - nextPoints.add(next); - } else { - next.unitIndex = 0; - Word[] alternative = - next.node.getAlternatives()[alternativeIndex]; - if (++next.wordIndex < alternative.length) { - Word word = alternative[next.wordIndex]; - for (int i = 0; i < word.getPronunciations().length; - i++) { - GrammarPoint newGP = new GrammarPoint(next.node, - next.alternativeIndex, next.wordIndex, i, 0); - nextPoints.add(newGP); - } - } else if (!bounded) { - addNextGrammarPointsWithWords(next.node, nextPoints); - } - } - } - return nextPoints; - } - - - /** - * Given a GrammarNode return a list of successors GrammarNodes that contain words - * - * @param node successors are gathered from this node - * @return list the list of grammar nodes - */ - private static List getNextGrammarNodesWithWords(GrammarNode node) { - List list = new ArrayList(); - - for (GrammarArc arc : node.getSuccessors()) { - GrammarNode gnode = arc.getGrammarNode(); - if (gnode.getAlternatives().length == 0) { - if (gnode.isFinalNode()) { - list.add(gnode); - } else { - list.addAll(getNextGrammarNodesWithWords(gnode)); - } - } else { - list.add(gnode); - } - } - return list; - } - - - /** - * Adds the next set of grammar points that contain words to the given list - * - * @param node the grammar node - * @param nextPoints where the grammar points should be added - */ - private static void addNextGrammarPointsWithWords(GrammarNode - node, List nextPoints) { - for (GrammarNode nextNode : getNextGrammarNodesWithWords(node)) { - for (int j = 0; j < nextNode.getAlternatives().length; j++) { - GrammarPoint gp = new GrammarPoint(nextNode, j, 0, 0, 0); - nextPoints.add(gp); - } - } - } - - - /** - * Sets the state of the bounded configuration flag - * - * @param state if true searches for context will not cross grammar nodes. - */ - static void setBounded(boolean state) { - bounded = state; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarState.java deleted file mode 100755 index 6d6275b7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/GrammarState.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - - -import edu.cmu.sphinx.linguist.language.grammar.GrammarNode; - -/** Represents a non-emitting sentence hmm state */ -@SuppressWarnings("serial") -public class GrammarState extends SentenceHMMState { - - private final GrammarNode grammarNode; - - - /** - * Creates a GrammarState - * - * @param node the GrammarNode associated with this state - */ - public GrammarState(GrammarNode node) { - super("G", null, node.getID()); - this.grammarNode = node; - setFinalState(grammarNode.isFinalNode()); - } - - - /** - * Gets the grammar node associated with this state - * - * @return the grammar node - */ - public GrammarNode getGrammarNode() { - return grammarNode; - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Gram"; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 3; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/HMMStateState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/HMMStateState.java deleted file mode 100755 index 606a526a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/HMMStateState.java +++ /dev/null @@ -1,105 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.acoustic.HMMState; - -import java.io.Serializable; - -/** Represents a hmmState in an SentenceHMMS */ - -@SuppressWarnings("serial") -public class HMMStateState extends SentenceHMMState - implements Serializable, HMMSearchState, ScoreProvider { - - private HMMState hmmState; - private boolean isEmitting; - - - /** - * Creates a HMMStateState - * - * @param parent the parent of this state - * @param hmmState the hmmState associated with this state - */ - public HMMStateState(SentenceHMMState parent, HMMState hmmState) { - super("S", parent, hmmState.getState()); - this.hmmState = hmmState; - this.isEmitting = hmmState.isEmitting(); - } - - - /** - * Gets the hmmState associated with this state - * - * @return the hmmState - */ - public HMMState getHMMState() { - return hmmState; - } - - - /** - * Determines if this state is an emitting state - * - * @return true if the state is an emitting state - */ - @Override - public boolean isEmitting() { - return isEmitting; - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "HMM"; - } - - - /** - * Calculate the acoustic score for this state - * - * @return the acoustic score for this state - */ - public float getScore(Data feature) { - return hmmState.getScore(feature); - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return isEmitting ? 6 : 0; - } - - - @Override - public float[] getComponentScore(Data feature) { - return hmmState.calculateComponentScore(feature); - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/NonEmittingHMMState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/NonEmittingHMMState.java deleted file mode 100755 index 24716db7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/NonEmittingHMMState.java +++ /dev/null @@ -1,33 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.acoustic.HMMState; - - -/** Represents a hmmState in an SentenceHMMS */ -@SuppressWarnings("serial") -public class NonEmittingHMMState extends HMMStateState { - - /** - * Creates a NonEmittingHMMState - * - * @param parent the parent of this state - * @param hmmState the hmmState associated with this state - */ - public NonEmittingHMMState(SentenceHMMState parent, HMMState hmmState) { - super(parent, hmmState); - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/PronunciationState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/PronunciationState.java deleted file mode 100755 index e00b4c87..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/PronunciationState.java +++ /dev/null @@ -1,97 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; - - -/** Represents a pronunciation in an SentenceHMMS */ -@SuppressWarnings("serial") -public class PronunciationState extends SentenceHMMState implements WordSearchState { - - private final Pronunciation pronunciation; - - /** - * Creates a PronunciationState - * - * @param parent the parent word of the current pronunciation - * @param which the pronunciation of interest - */ - public PronunciationState(WordState parent, int which) { - super("P", parent, which); - - pronunciation = parent.getWord().getPronunciations()[which]; - } - - - /** - * Creates a PronunciationState - * - * @param name the name of the pronunciation associated with this state - * @param p the pronunciation - * @param which the index for the pronunciation - */ - public PronunciationState(String name, Pronunciation p, int which) { - super(name, null, which); - pronunciation = p; - } - - - /** - * Gets the pronunciation associated with this state - * - * @return the pronunciation - */ - public Pronunciation getPronunciation() { - return pronunciation; - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Pron"; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 4; - } - - - /** - * Returns true if this PronunciationState indicates the start of a word. Returns false if this PronunciationState - * indicates the end of a word. - * - * @return true if this PronunciationState indicates the start of a word, false if this PronunciationState indicates - * the end of a word - */ - @Override - public boolean isWordStart() { - return true; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMState.java deleted file mode 100755 index 0e5c12c1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMState.java +++ /dev/null @@ -1,645 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - - -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; - -import java.io.Serializable; -import java.util.*; - - -/** Represents a single state in an SentenceHMM */ -@SuppressWarnings("serial") -public abstract class SentenceHMMState implements Serializable, SearchState { - - private final static int MASK_IS_FINAL = 0x1; - private final static int MASK_COLOR_RED = 0x2; - private final static int MASK_PROCESSED = 0x4; - private final static int MASK_FAN_IN = 0x8; - private final static int MASK_IS_WORD_START = 0x10; - private final static int MASK_IS_SHARED_STATE = 0x20; - private final static int MASK_WHICH = 0xffff; - private final static int SHIFT_WHICH = 0x8; - - /** A Color is used to tag SentenceHMM nodes */ - public static enum Color { RED, GREEN } - - private static int globalStateNumber = -1000; - - private int stateNumber; - - // a number of separate variables are maintained in 'fields' - // inorder to reduce the size of the SentenceHMM - - private int fields; - private String name; - - private final Map arcs; - private SentenceHMMState parent; - private String cachedName; - private String fullName; - private SentenceHMMStateArc[] successorArray; - - - /** - * Creates a SentenceHMMState - * - * @param name the name of the current SentenceHMMState - * @param parent the parent of the current instance - * @param which the index of the current instance - */ - protected SentenceHMMState(String name, SentenceHMMState parent, int which) { - this(); - this.name = name + which; - this.parent = parent; - setWhich(which); - setProcessed(false); - setColor(Color.RED); - } - - - /** Empty contructor */ - protected SentenceHMMState() { - stateNumber = globalStateNumber--; - this.arcs = new LinkedHashMap(); - } - - - /** - * Determines if this state marks the beginning of a word - * - * @return true if the state marks the beginning of a word - */ - public boolean isWordStart() { - return (fields & MASK_IS_WORD_START) == MASK_IS_WORD_START; - } - - - /** - * Sets the 'wordStart' flag - * - * @param wordStart true if this state marks the beginning of a word. - */ - public void setWordStart(boolean wordStart) { - if (wordStart) { - this.fields |= MASK_IS_WORD_START; - } else { - this.fields &= ~MASK_IS_WORD_START; - } - } - - - /** - * Determines if this state is a shard state - * - * @return true if the state marks the beginning of a word - */ - public boolean isSharedState() { - return (fields & MASK_IS_SHARED_STATE) == MASK_IS_SHARED_STATE; - } - - - /** - * Sets the shared state flag - * - * @param shared true if this state is shared - */ - public void setSharedState(boolean shared) { - if (shared) { - this.fields |= MASK_IS_SHARED_STATE; - } else { - this.fields &= ~MASK_IS_SHARED_STATE; - } - } - - - /** - * Returns the word associated with the particular unit - * - * @return the word associated with this state, or null if there is no word associated with this state. - */ - public Word getAssociatedWord() { - Word word = null; - SentenceHMMState state = this; - - while (state != null && !(state instanceof WordState)) { - state = state.getParent(); - } - - if (state != null) { - WordState wordState = (WordState) state; - word = wordState.getWord(); - } - return word; - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - public String getTypeLabel() { - return "state"; - } - - - /** - * Determines if this state is a fan-in state. The search may need to adjust the pruning for states that fan in - * since they are shared by multiple paths - * - * @return true if the state is a fan in state - */ - public boolean isFanIn() { - return (fields & MASK_FAN_IN) == MASK_FAN_IN; - } - - - /** - * Sets the fan in state - * - * @param fanIn if true its a fan in state - */ - public void setFanIn(boolean fanIn) { - if (fanIn) { - this.fields |= MASK_FAN_IN; - } else { - this.fields &= ~MASK_FAN_IN; - } - } - - - /** - * Sets the processed flag for this state - * - * @param processed the new setting for the processed flag - */ - public void setProcessed(boolean processed) { - if (processed) { - this.fields |= MASK_PROCESSED; - } else { - this.fields &= ~MASK_PROCESSED; - } - } - - - /** - * Determines if this state has been 'processed'. The meaning of 'processed' is not defined here, but is up to the - * higher levels - * - * @return true if the state has been processed. - */ - public boolean isProcessed() { - return (fields & MASK_PROCESSED) == MASK_PROCESSED; - } - - - /** Reset process flags for this state and all successor states */ - public void resetAllProcessed() { - visitStates(new SentenceHMMStateVisitor() { - public boolean visit(SentenceHMMState state) { - state.setProcessed(false); - return false; - } - }, this, false); - } - - - /** - * Gets the word history for this state. - * - * @return the word history. - */ - //TODO Not implemented - public WordSequence getWordHistory() { - return WordSequence.EMPTY; - } - - - /** - * Gets the number of successors - * - * @return the number of successors - */ - public int getNumSuccessors() { - return arcs.size(); - } - - - /** - * Gets a successor to this search state - * - * @return the set of successors - */ - public SearchStateArc[] getSuccessors() { - if (successorArray == null) { - successorArray = arcs.values().toArray(new SentenceHMMStateArc[arcs.size()]); - } - return successorArray; - } - - - /** - * Returns the lextree state - * - * @return the lex tree state - */ - public SentenceHMMState getLexState() { - return this; - } - - - /** - * remove the given arc from the set of succors - * - * @param arc the arc to remove - */ - void deleteSuccessor(SentenceHMMStateArc arc) { - arcs.remove(arc); - } - - - /** - * Connects the arc to this sentence hmm. If the node at the end of the arc is already pointing to some other node - * as its predecessor, don't change that relationship, since its probably a result of the nodes being reused' - * - * @param arc the path to the next state - */ - public void connect(SentenceHMMStateArc arc) { - if (successorArray != null) { - successorArray = null; - } - rawConnect(arc); - } - - - /** - * Connects the arc to this sentence hmm, but don't affect the predecessor relation ship - * - * @param arc the arc to the next state - */ - private void rawConnect(SentenceHMMStateArc arc) { - SentenceHMMState state = (SentenceHMMState) arc.getState(); - - // attach the state-number because the state-signature is not necessarily unique - arcs.put(state.getValueSignature() + state.getStateNumber(), arc); - } - - - /** - * Determines if this state is an emitting state - * - * @return true if the state is an emitting state - */ - public boolean isEmitting() { - return false; - } - - - /** - * Determines if this is a final state - * - * @return true if this is a final state - */ - public boolean isFinal() { - return (fields & MASK_IS_FINAL) == MASK_IS_FINAL; - } - - - /** - * Sets this is to be final state - * - * @param state true if this is a final state - */ - public void setFinalState(boolean state) { - if (state) { - this.fields |= MASK_IS_FINAL; - } else { - this.fields &= ~MASK_IS_FINAL; - } - } - - - /** - * Determines if this state is a unit state - * - * @return true if the state is a unit state. - */ - public boolean isUnit() { - return false; - } - - - /** Dumps this SentenceHMMState and all its successors. Just for debugging. */ - public void dumpAll() { - visitStates(new SentenceHMMStateVisitor() { - public boolean visit(SentenceHMMState state) { - state.dump(); - return false; - } - }, this, true); - } - - - /** - * Returns any annotation for this state - * - * @return the annotation - */ - protected String getAnnotation() { - return ""; - } - - - /** Dumps this state */ - private void dump() { - System.out.println(" ----- " + getTitle() + " ---- "); - for (int i = 0; i < getSuccessors().length; i++) { - SentenceHMMStateArc arc = (SentenceHMMStateArc) getSuccessors()[i]; - System.out.println(" -> " + - arc.getState().toPrettyString()); - } - } - - - /** Validates this SentenceHMMState and all successors */ - public void validateAll() { - // TODO fix me - } - - - /** - * Gets the name for this state - * - * @return the name - */ - public String getName() { - return name; - } - - - /** - * Returns a pretty name for this HMM - * - * @return a pretty name - */ - public String getPrettyName() { - return getName(); - } - - - /** Returns the string representation of this object */ - @Override - public String toString() { - if (cachedName == null) { - StringBuilder sb = new StringBuilder(); - if (isEmitting()) { - sb.append('*'); - } - sb.append(getName()); - - // String base = (isEmitting() ? "*" : "") + getName() - // + getWhich() + (isFinal() ? "!" : ""); - - if (parent != null) { - sb.append('_'); - sb.append(parent); - } - - if (isFinal()) { - sb.append('!'); - } - cachedName = sb.toString(); - } - return cachedName; - } - - - /* - * Returns a pretty version of the string representation - * for this object - * - * @return a pretty string - */ - public String toPrettyString() { - return toString(); - } - - - /** - * Gets the fullName for this state - * - * @return the full name for this state - */ - public String getFullName() { - if (fullName == null) { - if (parent == null) { - fullName = getName(); - } else { - fullName = getName() + '.' + parent.getFullName(); - } - } - - return fullName; - } - - - /** - * Gets the signature for this state - * - * @return the signature - */ - public String getSignature() { - return getFullName(); - } - - - /** - * gets the title (fullname + stateNumber) for this state - * - * @return the title - */ - public String getTitle() { - return getFullName() + ':' + stateNumber; - // return getSignature() + ":" + stateNumber; - } - - - /** - * Retrieves the index for this state words - * - * @return the index - */ - public int getWhich() { - return (fields >> SHIFT_WHICH) & MASK_WHICH; - } - - - /** - * Sets the index for this state - * - * @param which the index for this state - */ - public void setWhich(int which) { - assert which >= 0 && which <= MASK_WHICH; - fields |= (which & MASK_WHICH) << SHIFT_WHICH; - } - - - /** - * Retrieves the parent sate - * - * @return the parent state (or null if this state does not have a parent state). - */ - public SentenceHMMState getParent() { - return parent; - } - - - /** - * Searches the set of arcs for an arc that points to a state with an identical value - * - * @param state the state to search for - * @return the arc or null if none could be found. - */ - public SentenceHMMStateArc findArc(SentenceHMMState state) { - return arcs.get(state.getValueSignature()); - } - - - /** - * Returns the value signature of this unit - * - * @return the value signature - */ - public String getValueSignature() { - return getFullName(); - } - - - /** - * Visit all of the states starting at start with the given vistor - * - * @param visitor the state visitor - * @param start the place to start the search - * @param sorted if true, states are sorted before visited - * @return true if the visiting was terminated before all nodes were visited - */ - public static boolean visitStates(SentenceHMMStateVisitor visitor, - SentenceHMMState start, boolean sorted) { - Set states = collectStates(start); - - if (sorted) { - // sort the states by stateNumber - - TreeSet sortedStates = new TreeSet(new Comparator() { - - public int compare(SentenceHMMState o1, SentenceHMMState o2) { - SentenceHMMState so1 = o1; - SentenceHMMState so2 = o2; - return so1.stateNumber - so2.stateNumber; - } - }); - - sortedStates.addAll(states); - states = sortedStates; - } - - for (SentenceHMMState state : states) { - if (visitor.visit(state)) { - return true; - } - } - return false; - } - - - /** - * Sets the color for this node - * - * @param color the color of this node - */ - public void setColor(Color color) { - if (color == Color.RED) { - this.fields |= MASK_COLOR_RED; - } else { - this.fields &= ~MASK_COLOR_RED; - } - } - - - /** - * Gets the color for this node - * - * @return the color of this node - */ - public Color getColor() { - if ((fields & MASK_COLOR_RED) == MASK_COLOR_RED) { - return Color.RED; - } else { - return Color.GREEN; - } - } - - - /** - * Gets the state number for this state - * - * @return the state number - */ - private int getStateNumber() { - return stateNumber; - } - - - /** - * Collect all states starting from the given start state - * - * @param start the state to start the search from - * @return the set of collected state - */ - public static Set collectStates(SentenceHMMState start) { - Set visitedStates = new HashSet(); - List queue = new LinkedList(); - - queue.add(start); - - while (!queue.isEmpty()) { - SentenceHMMState state = queue.remove(0); - - visitedStates.add(state); - SearchStateArc[] successors = state.getSuccessors(); - for (SearchStateArc arc : successors) { - SentenceHMMState nextState = (SentenceHMMState)arc.getState(); - if (!visitedStates.contains(nextState) && !queue.contains(nextState)) { - queue.add(nextState); - } - } - } - return visitedStates; - } - - - /** - * Returns the order of this particular state - * - * @return the state order for this state - */ - abstract public int getOrder(); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateArc.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateArc.java deleted file mode 100755 index dd0c34dd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateArc.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; - -/** - * Represents a transition in a sentence HMM. Each transition is described by the next state and the associated acoustic - * and language probability for the transition. - *

- * All probabilities are in the LogMath log domain - */ -public class SentenceHMMStateArc implements SearchStateArc { - - private final SentenceHMMState nextState; - private final float logLanguageProbability; - private final float logInsertionProbability; - private final int hashCode; - - - /** - * Creates a SentenceHMMStateArc - * - * @param nextState the next state - * @param logLanguageProbability the log language probability - * @param logInsertionProbability the log insertion probability - */ - public SentenceHMMStateArc(SentenceHMMState nextState, - float logLanguageProbability, - float logInsertionProbability) { - this.nextState = nextState; - this.logLanguageProbability = logLanguageProbability; - this.logInsertionProbability = logInsertionProbability; - - hashCode = 111 + nextState.hashCode() + - 17 * Float.floatToIntBits(logLanguageProbability) + - 23 * Float.floatToIntBits(logInsertionProbability); - - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to compare to - * @return true if the objects are equal - */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (o instanceof SentenceHMMStateArc) { - SentenceHMMStateArc other = (SentenceHMMStateArc) o; - return nextState == other.nextState && - logLanguageProbability == other.logLanguageProbability && - logInsertionProbability == other.logInsertionProbability; - - } else { - return false; - } - } - - - /** - * Returns a hashCode for this object - * - * @return the hashCode - */ - @Override - public int hashCode() { - return hashCode; - } - - - /** - * Retrieves the next state - * - * @return the next state - */ - public SearchState getState() { - return nextState; - } - - - /** - * For backwards compatibility - *

- * Returns the next state as a SentenceHMSMtate - * - * @return the next state - */ - public SentenceHMMState getNextState() { - return (SentenceHMMState) getState(); - } - - - /** - * Retrieves the language transition probability for this transition - * - * @return the language transition probability in the logmath log domain - */ - public float getLanguageProbability() { - return logLanguageProbability; - } - - - /** - * Retrieves the insertion probability for this transition - * - * @return the insertion probability in the logmath log domain - */ - public float getInsertionProbability() { - return logInsertionProbability; - } - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return logLanguageProbability + - logInsertionProbability; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateVisitor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateVisitor.java deleted file mode 100755 index 5ddd9e05..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/SentenceHMMStateVisitor.java +++ /dev/null @@ -1,27 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - - -/** a visitor interface */ -interface SentenceHMMStateVisitor { - - /** - * Method called when a state is visited by the vistor - * - * @param state the state that is being visited - * @return true if the visiting should be terminated - */ - public boolean visit(SentenceHMMState state); -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/UnitState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/UnitState.java deleted file mode 100755 index ab5fface..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/UnitState.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.UnitSearchState; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; - -/** Represents a unit in an SentenceHMMS */ -@SuppressWarnings("serial") -public class UnitState extends SentenceHMMState implements UnitSearchState { - - private final Unit unit; - private HMMPosition position = HMMPosition.INTERNAL; - - - /** - * Creates a UnitState. Gets the left and right contexts from the unit itself. - * - * @param parent the parent state - * @param which the index of the given state - * @param unit the unit associated with this state - */ - public UnitState(PronunciationState parent, int which, Unit unit) { - super("U", parent, which); - this.unit = unit; - Unit[] units = parent.getPronunciation().getUnits(); - int length = units.length; - - // If the last phone is SIL, then we should be using - // a word-ending phone for the last phone. Decrementing - // length will make the phone before SIL the last phone. - - if (units[length - 1] == UnitManager.SILENCE && length > 1) { - length--; - } - - if (length == 1) { - position = HMMPosition.SINGLE; - } else if (which == 0) { - position = HMMPosition.BEGIN; - } else if (which == length - 1) { - position = HMMPosition.END; - } - } - - - /** - * Creates a UnitState with the given unit and HMM position. - * - * @param unit the unit associated with this state - * @param position the HMM position of this unit - */ - public UnitState(Unit unit, HMMPosition position) { - this.unit = unit; - this.position = position; - } - - - /** - * Gets the unit associated with this state - * - * @return the unit - */ - public Unit getUnit() { - return unit; - } - - - /** - * Returns true if this unit is the last unit of the pronunciation - * - * @return true if the unit is the last unit - */ - public boolean isLast() { - return position == HMMPosition.SINGLE || position == HMMPosition.END; - } - - - /** - * Gets the name for this state - * - * @return the name for this state - */ - @Override - public String getName() { - return super.getName() + '<' + unit + '>'; - } - - - /** - * Returns the value signature of this unit - * - * @return the value signature - */ - @Override - public String getValueSignature() { - return unit.toString(); - } - - - /** - * Gets the pretty name for this unit sate - * - * @return the pretty name - */ - @Override - public String getPrettyName() { - return unit.toString(); - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Unit"; - } - - - /** - * Gets the position for this unit - * - * @return the position for this unit - */ - public HMMPosition getPosition() { - return position; - } - - - @Override - public boolean isUnit() { - return true; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 5; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/WordState.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/WordState.java deleted file mode 100755 index 70b31e62..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/flat/WordState.java +++ /dev/null @@ -1,76 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.flat; - -import edu.cmu.sphinx.linguist.dictionary.Word; - -/** Represents a word in an SentenceHMMS */ - -@SuppressWarnings("serial") -public class WordState extends SentenceHMMState { - - /** Creates a WordState - * @param parent a parent state - * @param which which state to pick - */ - public WordState(AlternativeState parent, int which) { - super("W", parent, which); - } - - - /** - * Gets the word associated with this state - * - * @return the word - */ - public Word getWord() { - return ((AlternativeState) getParent()).getAlternative()[getWhich()]; - } - - - /** - * Returns a pretty name for this state - * - * @return a pretty name for this state - */ - @Override - public String getPrettyName() { - return getName() + '(' + getWord().getSpelling() + ')'; - } - - - /** - * Retrieves a short label describing the type of this state. Typically, subclasses of SentenceHMMState will - * implement this method and return a short (5 chars or less) label - * - * @return the short label. - */ - @Override - public String getTypeLabel() { - return "Word"; - } - - - /** - * Returns the state order for this state type - * - * @return the state order - */ - @Override - public int getOrder() { - return 1; - } - -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/G2PConverter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/G2PConverter.java deleted file mode 100755 index 560bc640..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/G2PConverter.java +++ /dev/null @@ -1,352 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.g2p; - -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.Queue; -import java.util.regex.Pattern; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.ImmutableFst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.operations.ArcSort; -import edu.cmu.sphinx.fst.operations.Compose; -import edu.cmu.sphinx.fst.operations.ILabelCompare; -import edu.cmu.sphinx.fst.operations.NShortestPaths; -import edu.cmu.sphinx.fst.operations.OLabelCompare; -import edu.cmu.sphinx.fst.operations.Project; -import edu.cmu.sphinx.fst.operations.ProjectType; -import edu.cmu.sphinx.fst.operations.RmEpsilon; -import edu.cmu.sphinx.fst.semiring.Semiring; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; -import edu.cmu.sphinx.fst.utils.Utils; - -/** - * The grapheme-to-phoneme (g2p) decoder - * - * @author John Salatas - */ -public class G2PConverter { - - // epsilon symbol - String eps = ""; - - // end sequence symbol - String se = ""; - - // begin sequence symbol - String sb = ""; - - // skip symbol - String skip = "_"; - - // separator symbol - String tie = "|"; - - // set containing sequences to ignore - HashSet skipSeqs = new HashSet(); - - // clusters - ArrayList[] clusters = null; - - // the g2p model - ImmutableFst g2pmodel; - - // fst containing the epsilon filter for the compose operation - Fst epsilonFilter; - - /** - * Create a decoder by loading the serialized model from a specified URL - * - * @param g2pModelUrl - * the URL of the serialized model - * @throws IOException when model is not loaded - */ - public G2PConverter(URL g2pModelUrl) throws IOException { - try { - g2pmodel = ImmutableFst.loadModel(g2pModelUrl.openStream()); - } catch (ClassNotFoundException e) { - throw new IOException("Failed to load the model from " + g2pModelUrl, e); - } - init(); - } - - /** - * Create a decoder by loading the serialized model from a specified - * filename - * - * @param g2pmodel_file - * the filename of the serialized model - */ - public G2PConverter(String g2pmodel_file) { - g2pmodel = ImmutableFst.loadModel(g2pmodel_file); - init(); - } - - /** - * Initialize the decoder - */ - private void init() { - skipSeqs.add(eps); - skipSeqs.add(sb); - skipSeqs.add(se); - skipSeqs.add(skip); - skipSeqs.add("-"); - // keep an augmented copy (for compose) - Compose.augment(0, g2pmodel, g2pmodel.getSemiring()); - ArcSort.apply(g2pmodel, new ILabelCompare()); - - String[] isyms = g2pmodel.getIsyms(); - - loadClusters(isyms); - - // get epsilon filter for composition - epsilonFilter = Compose.getFilter(g2pmodel.getIsyms(), - g2pmodel.getSemiring()); - ArcSort.apply(epsilonFilter, new ILabelCompare()); - } - - /** - * Phoneticize a word - * - * @param entry - * the word to phoneticize transformed to an ArrayList of Strings - * (each element hold a single character) - * @param nbest - * the number of distinct pronunciations to return - * @return the pronunciation(s) of the input word - */ - public ArrayList phoneticize(ArrayList entry, int nbest) { - Fst efst = entryToFSA(entry); - Semiring s = efst.getSemiring(); - Compose.augment(1, efst, s); - ArcSort.apply(efst, new OLabelCompare()); - Fst result = Compose.compose(efst, epsilonFilter, s, true); - ArcSort.apply(result, new OLabelCompare()); - result = Compose.compose(result, g2pmodel, s, true); - Project.apply(result, ProjectType.OUTPUT); - if (nbest == 1) { - result = NShortestPaths.get(result, 1, false); - } else { - // Requesting 10 times more best paths than what was asking - // as there might be several paths resolving to same pronunciation - // due to epsilon transitions. - // I really hate cosmological constants :) - result = NShortestPaths.get(result, nbest * 10, false); - } - // result = NShortestPaths.get(result, nbest, false); - result = RmEpsilon.get(result); - ArrayList paths = findAllPaths(result, nbest, skipSeqs, - tie); - - return paths; - } - - /** - * Phoneticize a word - * - * @param word - * the word to phoneticize - * @param nbest - * the number of distinct pronunciations to return - * @return the pronunciation(s) of the input word - */ - public ArrayList phoneticize(String word, int nbest) { - ArrayList entry = new ArrayList(word.length()); - for (int i = 0; i < word.length(); i++) { - String ch = word.substring(i, i + 1); - if (Utils.getIndex(g2pmodel.getIsyms(), ch) >= 0) { - entry.add(ch); - } - } - return phoneticize(entry, nbest); - } - - /** - * Transforms an input spelling/pronunciation into an equivalent FSA, adding - * extra arcs as needed to accommodate clusters. - * - * @param entry - * the input vector - * @return the created fst - */ - private Fst entryToFSA(ArrayList entry) { - TropicalSemiring ts = new TropicalSemiring(); - Fst efst = new Fst(ts); - - State s = new State(ts.zero()); - efst.addState(s); - efst.setStart(s); - - // Build the basic FSA - for (int i = 0; i < entry.size() + 1; i++) { - s = new State(ts.zero()); - efst.addState(s); - if (i >= 1) { - int symIndex = Utils.getIndex(g2pmodel.getIsyms(), - entry.get(i - 1)); - efst.getState(i).addArc(new Arc(symIndex, symIndex, 0.f, s)); - } else if (i == 0) { - int symIndex = Utils.getIndex(g2pmodel.getIsyms(), sb); - efst.getStart().addArc(new Arc(symIndex, symIndex, 0.f, s)); - } - - if (i == entry.size()) { - State s1 = new State(ts.zero()); - efst.addState(s1); - int symIndex = Utils.getIndex(g2pmodel.getIsyms(), se); - s.addArc(new Arc(symIndex, symIndex, 0.f, s1)); - s1.setFinalWeight(0.f); - } - } - - // Add any cluster arcs - for (int value = 0; value < clusters.length; value++) { - ArrayList cluster = clusters[value]; - if (cluster != null) { - int start = 0; - int k = 0; - while (k != -1) { - k = Utils.search(entry, cluster, start); - if (k != -1) { - State from = efst.getState(start + k + 1); - from.addArc(new Arc(value, value, 0.f, efst - .getState(start + k + cluster.size() + 1))); - start = start + k + cluster.size(); - } - } - } - } - - efst.setIsyms(g2pmodel.getIsyms()); - efst.setOsyms(g2pmodel.getIsyms()); - - return efst; - } - - /** - * Finds nbest paths in an Fst returned by NShortestPaths operation - * - * @param fst - * the input fst - * @param nbest - * the number of paths to return - * @param skipSeqs - * the sequences to ignore - * @param tie - * the separator symbol - * @return the paths - */ - @SuppressWarnings("unchecked") - private ArrayList findAllPaths(Fst fst, int nbest, - HashSet skipSeqs, String tie) { - Semiring semiring = fst.getSemiring(); - - // ArrayList finalPaths = new ArrayList(); - HashMap finalPaths = new HashMap(); - HashMap paths = new HashMap(); - Queue queue = new LinkedList(); - Path p = new Path(fst.getSemiring()); - p.setCost(semiring.one()); - paths.put(fst.getStart(), p); - - queue.add(fst.getStart()); - - String[] osyms = fst.getOsyms(); - while (!queue.isEmpty()) { - State s = queue.remove(); - Path currentPath = paths.get(s); - - if (s.getFinalWeight() != semiring.zero()) { - String pathString = currentPath.getPath().toString(); - if (finalPaths.containsKey(pathString)) { - // path already exist. update its cost - Path old = finalPaths.get(pathString); - if (old.getCost() > currentPath.getCost()) { - finalPaths.put(pathString, currentPath); - } - } else { - finalPaths.put(pathString, currentPath); - } - } - - int numArcs = s.getNumArcs(); - for (int j = 0; j < numArcs; j++) { - Arc a = s.getArc(j); - p = new Path(fst.getSemiring()); - Path cur = paths.get(s); - p.setCost(cur.getCost()); - p.setPath((ArrayList) cur.getPath().clone()); - - String sym = osyms[a.getOlabel()]; - - String[] symsArray = sym.split("\\" + tie); - - for (int i = 0; i < symsArray.length; i++) { - String phone = symsArray[i]; - if (!skipSeqs.contains(phone)) { - p.getPath().add(phone); - } - } - p.setCost(semiring.times(p.getCost(), a.getWeight())); - State nextState = a.getNextState(); - paths.put(nextState, p); - if (!queue.contains(nextState)) { - queue.add(nextState); - } - } - } - - ArrayList res = new ArrayList(); - for (Path path : finalPaths.values()) { - res.add(path); - } - - Collections.sort(res, new PathComparator()); - int numPaths = res.size(); - for (int i = nbest; i < numPaths; i++) { - res.remove(res.size() - 1); - } - - return res; - } - - /** - * Initialize clusters - */ - @SuppressWarnings("unchecked") - private void loadClusters(String[] syms) { - clusters = new ArrayList[syms.length]; - for (int i = 0; i < syms.length; i++) { - clusters[i] = null; - } - for (int i = 2; i < syms.length; i++) { - String sym = syms[i]; - if (sym.contains(tie)) { - String split[] = sym.split(Pattern.quote(tie)); - ArrayList cluster = new ArrayList( - Arrays.asList(split)); - clusters[i] = cluster; - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/Path.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/Path.java deleted file mode 100755 index 468915cd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/Path.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.g2p; - -import java.util.ArrayList; - -import edu.cmu.sphinx.fst.semiring.Semiring; - -/** - * @author John Salatas - */ -public class Path { - // the path - private ArrayList path; - - // the path's cost - private float cost; - - // the paths' semiring - private Semiring semiring; - - /** - * Create a Path instance with specified path and semiring elements - * @param path word list to create path from - * @param semiring the semiring to use - */ - public Path(ArrayList path, Semiring semiring) { - this.path = path; - this.semiring = semiring; - cost = this.semiring.zero(); - } - - /** - * Create a Path instance with specified semiring element - * @param semiring semiring to use - */ - public Path(Semiring semiring) { - this(new ArrayList(), semiring); - } - - /** - * Get the path - * @return word path - */ - public ArrayList getPath() { - return path; - } - - /** - * Get the paths' cost - * @return path cost - */ - public float getCost() { - return cost; - } - - /** - * Set the paths' cost - * @param cost to set - */ - public void setCost(float cost) { - this.cost = cost; - } - - /** - * Set the path - * @param path set from list of word - */ - public void setPath(ArrayList path) { - this.path = path; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(cost + "\t"); - for (String s : path) { - sb.append(s); - sb.append(' '); - } - return sb.toString().trim(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/PathComparator.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/PathComparator.java deleted file mode 100755 index 46f1b9e0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/g2p/PathComparator.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.g2p; - -import java.util.Comparator; - -/** - * Comparator for {@link edu.cmu.sphinx.linguist.g2p.Path} object based on its cost - * @author John Salatas - */ -public class PathComparator implements Comparator { - - /* - * (non-Javadoc) - * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) - */ - public int compare(Path o1, Path o2) { - if (o1.getCost() < o2.getCost()) - return -1; - else if (o1.getCost() > o2.getCost()) - return 1; - - return 0; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassBasedLanguageModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassBasedLanguageModel.java deleted file mode 100755 index 5295bba2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassBasedLanguageModel.java +++ /dev/null @@ -1,171 +0,0 @@ -/** - * Created on Jan 19, 2005 - */ -package edu.cmu.sphinx.linguist.language.classes; - -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - - -/** - * An LM that computes a probability of a word sequence by converting words to - * classes and asking the class-based probability from a delegate LM. - * - * @author Tanel Alumae - */ -public class ClassBasedLanguageModel implements LanguageModel { - - /** - * The property that defines the classLanguageModel component. - */ - @S4Component(type = LanguageModel.class) - public final static String PROP_CLASS_LANGUAGE_MODEL = - "classLanguageModel"; - - /** - * The property that defines the classMap component. - */ - @S4Component(type = ClassMap.class) - public final static String PROP_CLASS_MAP = "classMap"; - - // ---------------------------- - // Configuration data - // ---------------------------- - private LanguageModel classLM; - private Set vocabulary; - - private boolean allocated = false; - - private ClassMap classMap; - - public ClassBasedLanguageModel(ClassMap classMap, LanguageModel classLM) { - this.classMap = classMap; - this.classLM = classLM; - } - - public ClassBasedLanguageModel() { - - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - if (allocated) { - throw new PropertyException( - ClassBasedLanguageModel.class.getName(), - null, - "Can't change properties after allocation"); - } - classMap = (ClassMap) ps.getComponent(PROP_CLASS_MAP); - classLM = (LanguageModel) ps.getComponent(PROP_CLASS_LANGUAGE_MODEL); - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#allocate() - */ - public void allocate() throws IOException { - if (!allocated) { - allocated = true; - classMap.allocate(); - classLM.allocate(); - makeVocabulary(); - } - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#deallocate() - */ - public void deallocate() throws IOException { - allocated = false; - classLM.deallocate(); - classMap.deallocate(); - vocabulary = null; - } - - /** - * Actual implementation of the class-based LM: P=P(W|C1)*P(C1|C2,C3..) - * @see - * edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getProbability( - * edu.cmu.sphinx.linguist.WordSequence) - */ - public float getProbability(WordSequence wordSequence) { - Word[] classes = new Word[wordSequence.size()]; - float wordToClassProb = 0; - for (int i = 0; i < classes.length; i++) { - Word sourceWord = wordSequence.getWord(i); - ClassProbability classProbability = - classMap.getClassProbability(sourceWord.getSpelling()); - classes[i] = - (classProbability == null ? sourceWord : classMap - .getClassAsWord(classProbability.getClassName())); - if (i == classes.length - 1) { - if (classProbability != null) { - // the first word of the word sequence is a class - wordToClassProb = classProbability.getLogProbability(); - } - } - } - float classBasedProbability = - classLM.getProbability(new WordSequence(classes)); - return classBasedProbability + wordToClassProb; - } - - /** - * Gets the smear term for the given wordSequence - * - * @param wordSequence the word sequence - * @return the smear term associated with this word sequence - */ - public float getSmear(WordSequence wordSequence) { - return 0.0f; // TODO not implemented - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getVocabulary() - */ - public Set getVocabulary() { - return vocabulary; - } - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language mdoel - */ - public int getMaxDepth() { - return classLM.getMaxDepth(); - } - - /** - * Converts a vocabulary of the class LM to a word vocabulary. - */ - private void makeVocabulary() { - vocabulary = new HashSet(); - for (String name : classLM.getVocabulary()) { - Set wordsInClass = classMap.getWordsInClass(name); - if (wordsInClass == null) { - // 'name' not a class - vocabulary.add(name); - } else { - vocabulary.addAll(wordsInClass); - } - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassMap.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassMap.java deleted file mode 100755 index 6eb3757e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassMap.java +++ /dev/null @@ -1,173 +0,0 @@ -package edu.cmu.sphinx.linguist.language.classes; - -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * A component that knows how to map words to classes and vice versa. - * - * @author Tanel Alumae - */ -public class ClassMap implements Configurable { - @S4String - public final static String PROP_CLASS_DEFS_LOCATION = "classDefsLocation"; - - private Logger logger; - private boolean allocated; - private URL classDefsLocation; - private LogMath logMath; - - /** - * Maps class name to class as a Word - */ - private Map classVocabulary = new HashMap(); - - /** - * Maps a word to it's class and the probability of the word being in this class - */ - private Map wordToClassProbabilities = new HashMap(); - - /** - * Maps a class to a set of words that belong to this class - */ - private final HashMap> classToWord = new HashMap>(); - - public ClassMap(URL classDefsLocation) { - this.logger = Logger.getLogger(getClass().getName()); - this.classDefsLocation = classDefsLocation; - logMath = LogMath.getLogMath(); - } - - public ClassMap() { - - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - - if (allocated) - throw new RuntimeException("Can't change properties after allocation"); - - classDefsLocation = ConfigurationManagerUtils.getResource(PROP_CLASS_DEFS_LOCATION, ps); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#allocate() - */ - public void allocate() throws IOException { - if (!allocated) { - allocated = true; - loadClassDefs(); - } - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#deallocate() - */ - public void deallocate() { - allocated = false; - wordToClassProbabilities = null; - classVocabulary = null; - } - - public ClassProbability getClassProbability(String word) { - return wordToClassProbabilities.get(word); - } - - public Word getClassAsWord(String text) { - return classVocabulary.get(text); - } - - public Set getWordsInClass(String className) { - return classToWord.get(className); - } - - - /** - * Loads class definitions. - * Class definitions should be in SRILM format: - *

-     * CLASS1 probability1 WORD1
-     * CLASS2 probability2 WORD2
-     * ...
-     * 
- * Probabilities should be given in linear domain. - * - * @throws java.io.IOException If an IO error occurs during loading Class definition resource. - */ - private void loadClassDefs() throws IOException { - BufferedReader reader = new BufferedReader - (new InputStreamReader(classDefsLocation.openStream())); - String line; - while ((line = reader.readLine()) != null) { - StringTokenizer st = new StringTokenizer(line, " \t\n\r\f="); - if (st.countTokens() != 3) { - throw new IOException("corrupt word to class def: " + line + "; " - + st.countTokens()); - } - String className = st.nextToken(); - float linearProb = Float.parseFloat(st.nextToken()); - String word = st.nextToken(); - if (logger.isLoggable(Level.FINE)) { - logger.fine(word + " --> " + className + " " + linearProb); - } - wordToClassProbabilities.put(word, - new ClassProbability(className, logMath.linearToLog(linearProb))); - classVocabulary.put(className, new Word(className, null, false)); - addWordInClass(className, word); - } - reader.close(); - checkClasses(); - logger.info("Loaded word to class mappings for " + wordToClassProbabilities.size() + " words"); - } - - /** - * Checks that word probabilities in each class sum to 1. - */ - private void checkClasses() { - Map sums = new HashMap(); - for (ClassProbability cp : wordToClassProbabilities.values()) { - Float sum = sums.get(cp.getClassName()); - if (sum == null) { - sums.put(cp.getClassName(), 0f); - } else { - sums.put(cp.getClassName(), (float) logMath.logToLinear(cp.getLogProbability()) + sum); - } - } - - for (Map.Entry entry : sums.entrySet()) { - if (Math.abs(1.0 - entry.getValue()) > 0.001) { - logger.warning("Word probabilities for class " + entry.getKey() + " sum to " + entry.getValue()); - } - } - } - - /** - * @param className Name of the class - * @param word Word String - */ - private void addWordInClass(String className, String word) { - Set words = classToWord.get(className); - if (words == null) { - words = new HashSet(); - classToWord.put(className, words); - } - words.add(word); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassPresentingDictionary.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassPresentingDictionary.java deleted file mode 100755 index f13ad3bd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassPresentingDictionary.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Created on Jan 19, 2005 - */ -package edu.cmu.sphinx.linguist.language.classes; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.io.IOException; - -/** - * The only purpose of this class is to present all classes - * as words in the getWord() method. This dictionary must be injected to - * a class LM as a dictionary, otherwise classes will be treated as OOVs. - * - * @author Tanel Alumae - */ -public class ClassPresentingDictionary implements Dictionary { - - @S4Component(type = ClassMap.class) - public final static String PROP_CLASS_MAP = "classMap"; - - @S4Component(type = Dictionary.class) - public final static String PROP_WORD_DICTIONARY = "wordDictionary"; - - private boolean allocated = false; - private Dictionary wordDictionary; - private ClassMap classMap; - - public ClassPresentingDictionary(ClassMap classMap, Dictionary wordDictionary) { - this.classMap = classMap; - this.wordDictionary = wordDictionary; - } - - public ClassPresentingDictionary() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - classMap = (ClassMap) ps.getComponent(PROP_CLASS_MAP); - wordDictionary = (Dictionary) ps.getComponent(PROP_WORD_DICTIONARY); - - } - - public void allocate() throws IOException { - if (!allocated) { - allocated = true; - wordDictionary.allocate(); - classMap.allocate(); - } - } - - - public void deallocate() { - allocated = false; - wordDictionary = null; - } - - /** - * This method disguises all classes as words. - */ - public Word getWord(String text) { - Word word = classMap.getClassAsWord(text); - return (word != null) ? word : wordDictionary.getWord(text); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#getSentenceStartWord() - */ - public Word getSentenceStartWord() { - return wordDictionary.getSentenceStartWord(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#getSentenceEndWord() - */ - public Word getSentenceEndWord() { - return wordDictionary.getSentenceEndWord(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#getSilenceWord() - */ - public Word getSilenceWord() { - return wordDictionary.getSilenceWord(); - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.linguist.dictionary.Dictionary#getFillerWords() - */ - public Word[] getFillerWords() { - return wordDictionary.getFillerWords(); - } - - @Override - public String toString() { - return "Word dictionary:\n" + wordDictionary.toString() - + "Classes:\n" + classMap.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassProbability.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassProbability.java deleted file mode 100755 index 8c6a7b89..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/classes/ClassProbability.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Created on Mar 4, 2005 - */ -package edu.cmu.sphinx.linguist.language.classes; - -/** - * Represents a probability of a word belonging to class. - * - * @author Tanel Alumae - */ -class ClassProbability { - - private final String className; - private final float logProbability; - - /** - * @param className Name of the class - * @param logProbability Log probability - */ - public ClassProbability(String className, float logProbability) { - this.className = className; - this.logProbability = logProbability; - } - - public String getClassName() { - return className; - } - - public float getLogProbability() { - return logProbability; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/AlignerGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/AlignerGrammar.java deleted file mode 100755 index 800ef607..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/AlignerGrammar.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import static java.util.Arrays.asList; - -import java.util.ArrayList; -import java.util.List; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.util.LogMath; - -public class AlignerGrammar extends Grammar { - - protected GrammarNode finalNode; - private final List tokens = new ArrayList(); - - public AlignerGrammar(final boolean showGrammar, final boolean optimizeGrammar, final boolean addSilenceWords, - final boolean addFillerWords, final Dictionary dictionary) { - super(showGrammar, optimizeGrammar, addSilenceWords, addFillerWords, dictionary); - } - - public AlignerGrammar() { - } - - /* - * Reads Text and converts it into a list of tokens - */ - public void setText(String text) { - setWords(asList(text.split(" "))); - } - - public void setWords(Iterable words) { - tokens.clear(); - for (String word : words) { - if (!word.isEmpty()) { - tokens.add(word); - } - } - createGrammar(); - postProcessGrammar(); - } - - @Override - protected GrammarNode createGrammar() { - - logger.info("Making Grammar"); - - initialNode = createGrammarNode(Dictionary.SILENCE_SPELLING); - finalNode = createGrammarNode(true); - - GrammarNode prevNode = initialNode; - for (final String word : tokens) { - final GrammarNode wordNode = createGrammarNode(word); - final GrammarNode alternativeNode = createGrammarNode(false); - final GrammarNode exitNode = createGrammarNode(false); - prevNode.add(wordNode, LogMath.LOG_ONE); - prevNode.add(alternativeNode, LogMath.LOG_ONE); - wordNode.add(exitNode, LogMath.LOG_ONE); - alternativeNode.add(exitNode, LogMath.LOG_ONE); - prevNode = exitNode; - } - prevNode.add(finalNode, LogMath.LOG_ONE); - - logger.info("Done making Grammar"); - return initialNode; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammar.java deleted file mode 100755 index 15350e3b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammar.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.util.props.*; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.io.LineNumberReader; -import java.util.HashMap; -import java.util.Map; - -/** - * @author Peter Wolf - */ -public class BatchForcedAlignerGrammar extends ForcedAlignerGrammar implements GrammarInterface { - - /** Property that defines the reference file containing the transcripts used to create the froced align grammar */ - @S4String(defaultValue = "") - public final static String PROP_REF_FILE = "refFile"; - - protected String refFile; - protected final Map grammars = new HashMap(); - protected String currentUttName = ""; - - public BatchForcedAlignerGrammar(String refFile, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, - boolean addFillerWords, Dictionary dictionary) { - super(showGrammar, optimizeGrammar, addSilenceWords, addFillerWords, dictionary); - this.refFile = refFile; - } - - public BatchForcedAlignerGrammar () { - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - refFile = ps.getString(PROP_REF_FILE); - } - - - @Override - protected GrammarNode createGrammar() { - // TODO: FlatLinguist requires the initial grammar node - // to contain a single silence. We'll do that for now, - // but once the FlatLinguist is fixed, this should be - // returned to its former method of creating an empty - // initial grammar node - // initialNode = createGrammarNode(initialID, false); - - initialNode = null; - finalNode = createGrammarNode(true); - try { - LineNumberReader in = new LineNumberReader(new FileReader(refFile)); - String line; - while (true) { - line = in.readLine(); - - if (line == null || line.isEmpty()) - break; - - int uttNameStart = line.indexOf('(') + 1; - int uttNameEnd = line.indexOf(')'); - - if (uttNameStart < 0 || uttNameStart > uttNameEnd) - continue; - - String uttName = line.substring(uttNameStart, uttNameEnd); - String transcript = line.substring(0, uttNameStart - 1).trim(); - - if (transcript.isEmpty()) - continue; - - initialNode = createGrammarNode(Dictionary.SILENCE_SPELLING); - createForcedAlignerGrammar(initialNode, finalNode, transcript); - grammars.put(uttName, initialNode); - currentUttName = uttName; - } - in.close(); - } catch (FileNotFoundException e) { - throw new Error(e); - } catch (IOException e) { - throw new Error(e); - } - return initialNode; - } - - - @Override - public GrammarNode getInitialNode() { - return initialNode; - } - - - public void setUtterance(String utteranceName) { - initialNode = grammars.get(utteranceName); - assert initialNode != null; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammar.java deleted file mode 100755 index 881e1d22..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammar.java +++ /dev/null @@ -1,443 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; - -/** - * Loads a grammar from a file representing a finite-state transducer (FST) in the 'ARPA' grammar format. The ARPA FST - * format is like so (the explanation of the format is below):
- *
- *  I 2
- *  F 0 2.30259
- *  T 0 1 <unknown> <unknown> 2.30259
- *  T 0 4 wood wood 1.60951
- *  T 0 5 cindy cindy 1.60951
- *  T 0 6 pittsburgh pittsburgh 1.60951
- *  T 0 7 jean jean 1.60951
- *  F 1 2.89031
- *  T 1 0 , , 0.587725
- *  T 1 4 wood wood 0.58785
- *  F 2 3.00808
- *  T 2 0 , , 0.705491
- *  T 2 1 <unknown> <unknown> 0.58785
- *  F 3 2.30259
- *  T 3 0
- *  F 4 2.89031
- *  T 4 0 , , 0.587725
- *  T 4 6 pittsburgh pittsburgh 0.58785
- *  F 5 2.89031
- *  T 5 0 , , 0.587725
- *  T 5 7 jean jean 0.58785
- *  F 6 2.89031
- *  T 6 0 , , 0.587725
- *  T 6 5 cindy cindy 0.58785
- *  F 7 1.28093
- *  T 7 0 , , 0.454282
- *  T 7 4 wood wood 1.28093
- *   
- * Key: - *
- *  I - initial node, so "I 2" means node 2 is the initial node
- *  F - final node, e.g., "F 0 2.30259" means that node 0 is a final node,
- *  and the probability of finishing at node 0 is 2.30259 (in -ln)
- *  T - transition, "T 0 4 wood wood 1.60951" means "transitioning from
- *  node 0 to node 4, the output is wood and the machine is now
- *  in the node wood, and the probability associated with the
- *  transition is 1.60951 (in -ln)". "T 6 0 , , 0.587725" is
- *  a backoff transition, and the output is null (epsilon in
- *  the picture), and the machine is now in the null node.
- *  
- * Probabilities read in from the FST file are in negative natural log format and are converted to the internal logMath - * log base. - *

- * As the FST file is read in, a Grammar object that is structurally equivalent to the FST is created. The steps of - * converting the FST file to a Grammar object are: - *

    - *
  1. Create all the Grammar nodes
    Go through the entire FST file and for each word transition, take the - * destination node ID and create a grammar node using that ID. These nodes are kept in a hashmap to make sure they - * are created once for each ID. Therefore, we get one word per grammar node.
  2. - *
  3. Create an end node for each Grammar node
    This is end node is used for backoff transitions into the - * Grammar node, so that it will not go through the word itself, but instead go directly to the end of the word. - * Moreover, we also add an optional silence node between the grammar node and its end node. The result of this - * step on each grammar node (show in Figure 1 below as the circle with "word") is as follows. The end node is the empty - * circle at the far right:
    Fst end node
    Figure 1: Addition of end node and the - * optional silence.
  4. - *
  5. Create the transitions
    Read through the entire FST file, and for each line indicating a transition, - * connect up the corresponding Grammar nodes. Backoff transitions and null transitions (i.e., the ones that do not - * output a word) will be linked to the end node of a grammar node.
  6. - *
- */ - -public class FSTGrammar extends Grammar { - - /** The property for the location of the FST n-gram file. */ - @S4String(defaultValue = "default.arpa_gram") - public final static String PROP_PATH = "path"; - - // TODO: If this property turns out to be worthwhile, turn this - // into a full fledged property - private boolean addInitialSilenceNode; - - // TODO: If this property turns out to be worthwhile, turn this - // into a full fledged property - - // ------------------------------ - // Configuration data - // ------------------------------- - - private boolean addOptionalSilence; - private final boolean ignoreUnknownTransitions = true; - private String path; - private LogMath logMath; - - private final Map nodes = new HashMap(); - private final Set expandedNodes = new HashSet(); - - - /** - * Create class from reference text (not implemented). - * - * @param bogusText dummy variable - */ - @Override - protected GrammarNode createGrammar(String bogusText) - throws NoSuchMethodException { - throw new NoSuchMethodException("Does not create " - + "grammar with reference text"); - } - - - public FSTGrammar(String path, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary) { - super(showGrammar,optimizeGrammar,addSilenceWords,addFillerWords,dictionary); - this.path = path; - logMath = LogMath.getLogMath(); - } - - public FSTGrammar() { - - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - path = ps.getString(PROP_PATH); - } - - - /** - * Creates the grammar. - * - * @return the initial node for the grammar. - */ - @Override - protected GrammarNode createGrammar() throws IOException { - - GrammarNode initialNode = null; - GrammarNode finalNode = null; - - // first pass create the FST nodes - int maxNodeId = createNodes(path); - - // create the final node: - finalNode = createGrammarNode(++maxNodeId, Dictionary.SILENCE_SPELLING); - finalNode.setFinalNode(true); - - // replace each word node with a pair of nodes, which - // consists of the word node and a new dummy end node, which is - // for adding null or backoff transitions - maxNodeId = expandWordNodes(maxNodeId); - - ExtendedStreamTokenizer tok = new ExtendedStreamTokenizer(path, true); - - // Second pass, add all of the arcs - - while (!tok.isEOF()) { - String token; - tok.skipwhite(); - token = tok.getString(); - - // System.out.println(token); - - if (token == null) { - break; - - } else if (token.equals("I")) { - assert initialNode == null; - int initialID = tok.getInt("initial ID"); - String nodeName = "G" + initialID; - - // TODO: FlatLinguist requires the initial grammar node - // to contain a single silence. We'll do that for now, - // but once the FlatLinguist is fixed, this should be - // returned to its former method of creating an empty - // initial grammar node - // initialNode = createGrammarNode(initialID, false); - - initialNode = createGrammarNode(initialID, - Dictionary.SILENCE_SPELLING); - nodes.put(nodeName, initialNode); - - // optionally add a silence node - if (addInitialSilenceNode) { - GrammarNode silenceNode = - createGrammarNode(++maxNodeId, - Dictionary.SILENCE_SPELLING); - initialNode.add(silenceNode, LogMath.LOG_ONE); - silenceNode.add(initialNode, LogMath.LOG_ONE); - } - - } else if (token.equals("T")) { - int thisID = tok.getInt("this id"); - int nextID = tok.getInt("next id"); - - GrammarNode thisNode = get(thisID); - GrammarNode nextNode = get(nextID); - - // if the source node is an FSTGrammarNode, we want - // to join the endNode to the destination node - - if (hasEndNode(thisNode)) { - thisNode = getEndNode(thisNode); - } - - float lnProb = 0f; // negative natural log - String output = tok.getString(); - - if (output == null || output.equals(",")) { - - // these are epsilon (meaning backoff) transitions - - if (output != null && output.equals(",")) { - tok.getString(); // skip the word - lnProb = tok.getFloat("probability"); - } - - // if the destination node has been expanded - // we actually want to add the backoff transition - // to the endNode - - if (hasEndNode(nextNode)) { - nextNode = getEndNode(nextNode); - } - - } else { - String word = tok.getString(); // skip words - lnProb = tok.getFloat("probability"); - - if (ignoreUnknownTransitions && word.equals("")) { - continue; - } - /* - * System.out.println(nextNode + ": " + output); - */ - assert hasWord(nextNode); - } - - thisNode.add(nextNode, convertProbability(lnProb)); - - } else if (token.equals("F")) { - int thisID = tok.getInt("this id"); - float lnProb = tok.getFloat("probability"); - - GrammarNode thisNode = get(thisID); - GrammarNode nextNode = finalNode; - - if (hasEndNode(thisNode)) { - thisNode = getEndNode(thisNode); - } - - thisNode.add(nextNode, convertProbability(lnProb)); - } - } - tok.close(); - - assert initialNode != null; - - return initialNode; - } - - - /** - * Reads the FST file in the given path, and creates the nodes in the FST file. - * - * @param path the path of the FST file to read - * @return the highest ID of all nodes - * @throws java.io.IOException - */ - private int createNodes(String path) throws IOException { - ExtendedStreamTokenizer tok = new ExtendedStreamTokenizer(path, true); - int maxNodeId = 0; - while (!tok.isEOF()) { - tok.skipwhite(); - String token = tok.getString(); - if (token == null) { - break; - } else if (token.equals("T")) { - tok.getInt("src id"); // toss source node - int id = tok.getInt("dest id"); // dest node numb - if (id > maxNodeId) { - maxNodeId = id; - } - String word1 = tok.getString(); // get word - if (word1 == null) { - continue; - } - String word2 = tok.getString(); // get word - tok.getString(); // toss probability - String nodeName = "G" + id; - GrammarNode node = nodes.get(nodeName); - if (node == null) { - if (word2.equals(",")) { - node = createGrammarNode(id, false); - } else { - node = createGrammarNode(id, word2); - } - nodes.put(nodeName, node); - } else { - if (!word2.equals(",")) { - /* - * if (!word2.equals(getWord(node))) { - * System.out.println(node + ": " + word2 + ' ' + getWord(node)); } - */ - assert (word2.equals(getWord(node))); - } - } - } - } - tok.close(); - return maxNodeId; - } - - - /** - * Expand each of the word nodes into a pair of nodes, as well as adding an optional silence node between the - * grammar node and its end node. - * - * @param maxNodeID the node ID to start with for the new nodes - * @return the last (or maximum) node ID - */ - private int expandWordNodes(int maxNodeID) { - Collection allNodes = nodes.values(); - String[][] silence = {{Dictionary.SILENCE_SPELLING}}; - for (GrammarNode node :allNodes) { - // if it has at least one word, then expand the node - if (node.getNumAlternatives() > 0) { - GrammarNode endNode = createGrammarNode(++maxNodeID, false); - node.add(endNode, LogMath.LOG_ONE); - // add an optional silence - if (addOptionalSilence) { - GrammarNode silenceNode = createGrammarNode(++maxNodeID, - silence); - node.add(silenceNode, LogMath.LOG_ONE); - silenceNode.add(endNode, LogMath.LOG_ONE); - } - expandedNodes.add(node); - } - } - return maxNodeID; - } - - - /** - * Converts the probability from -ln to logmath - * - * @param lnProb the probability to convert. Probabilities in the arpa format in negative natural log format. We - * convert them to logmath. - * @return the converted probability in logMath log base - */ - private float convertProbability(float lnProb) { - return logMath.lnToLog(-lnProb); - } - - - /** - * Given an id returns the associated grammar node - * - * @param id the id of interest - * @return the grammar node or null if none could be found with the proper id - */ - private GrammarNode get(int id) { - String name = "G" + id; - GrammarNode grammarNode = nodes.get(name); - if (grammarNode == null) { - grammarNode = createGrammarNode(id, false); - nodes.put(name, grammarNode); - } - return grammarNode; - } - - - /** - * Determines if the node has a word - * - * @param node the grammar node of interest - * @return true if the node has a word - */ - private boolean hasWord(GrammarNode node) { - return (node.getNumAlternatives() > 0); - } - - - /** - * Gets the word from the given grammar ndoe - * - * @param node the node of interest - * @return the word (or null if the node has no word) - */ - private String getWord(GrammarNode node) { - String word = null; - if (node.getNumAlternatives() > 0) { - Word[][] alternatives = node.getAlternatives(); - word = alternatives[0][0].getSpelling(); - } - return word; - } - - - /** - * Determines if the given node has an end node associated with it. - * - * @param node the node of interest - * @return true if the given node has an end node. - */ - private boolean hasEndNode(GrammarNode node) { - return (expandedNodes.contains(node)); - } - - - /** - * Retrieves the end node associated with the given node - * - * @param node the node of interest - * @return the ending node or null if no end node is available - */ - private GrammarNode getEndNode(GrammarNode node) { - GrammarArc[] arcs = node.getSuccessors(); - assert arcs != null && arcs.length > 0; - return arcs[0].getGrammarNode(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/ForcedAlignerGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/ForcedAlignerGrammar.java deleted file mode 100755 index 0a4c0bff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/ForcedAlignerGrammar.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -import java.util.StringTokenizer; - -/** - * Creates a grammar from a reference sentence. It is a constrained grammar that represents the sentence only. - *

- * Note that all grammar probabilities are maintained in the LogMath log base - */ - -public class ForcedAlignerGrammar extends Grammar { - - protected GrammarNode finalNode; - - public ForcedAlignerGrammar(boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary) { - super(showGrammar,optimizeGrammar,addSilenceWords,addFillerWords,dictionary); - } - - public ForcedAlignerGrammar() { - - } - - - /** Create class from reference text (not implemented). */ - @Override - protected GrammarNode createGrammar() { - throw new Error("Not implemented"); - } - - - /** Creates the grammar */ - @Override - protected GrammarNode createGrammar(String referenceText) - throws NoSuchMethodException { - - initialNode = createGrammarNode(false); - finalNode = createGrammarNode(true); - createForcedAlignerGrammar(initialNode, finalNode, referenceText); - - return initialNode; - } - - - /** - * Create a branch of the grammar that corresponds to a transcript. For each word create a node, and link the nodes - * with arcs. The branch is connected to the initial node iNode, and the final node fNode. - * - * @param iNode initial node - * @param fNode final node - * @param transcript transcript - * @return the first node of this branch - */ - protected GrammarNode createForcedAlignerGrammar(GrammarNode iNode, GrammarNode fNode, String transcript) { - final float logArcProbability = LogMath.LOG_ONE; - - StringTokenizer tok = new StringTokenizer(transcript); - - GrammarNode firstNode = null; - GrammarNode lastNode = null; - - while (tok.hasMoreTokens()) { - - String token; - token = tok.nextToken(); - - GrammarNode prevNode = lastNode; - lastNode = createGrammarNode(token); - if (firstNode == null) firstNode = lastNode; - - if (prevNode != null) { - prevNode.add(lastNode, logArcProbability); - } - } - - iNode.add(firstNode, logArcProbability); - lastNode.add(fNode, logArcProbability); - - return firstNode; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/Grammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/Grammar.java deleted file mode 100755 index f1ac694b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/Grammar.java +++ /dev/null @@ -1,547 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -/** - * Classes that implement this interface create grammars. A grammar is represented internally as a graph of {@link - * GrammarNode GrammarNodes} linked together by {@link GrammarArc GrammarArcs}. Calling {@link #getInitialNode() - * getInitialNode} will return the first node of the grammar graph. To traverse the grammar graph, one should call - * GrammarNode.getSuccessors, which will return an array of GrammarArcs, from which you can reach the neighboring - * GrammarNodes. - *

- * Note that all grammar probabilities are maintained in LogMath log domain. - */ - -public abstract class Grammar implements Configurable, GrammarInterface { - - /** Property to control the the dumping of the grammar */ - @S4Boolean(defaultValue = false) - public final static String PROP_SHOW_GRAMMAR = "showGrammar"; - /** The default value for PROP_SHOW_GRAMMAR. */ - - @S4Boolean(defaultValue = true) - public final static String PROP_OPTIMIZE_GRAMMAR = "optimizeGrammar"; - - /** Property to control whether silence words are inserted into the graph */ - @S4Boolean(defaultValue = false) - public final static String PROP_ADD_SIL_WORDS = "addSilenceWords"; - - /** Property to control whether filler words are inserted into the graph */ - @S4Boolean(defaultValue = false) - public final static String PROP_ADD_FILLER_WORDS = "addFillerWords"; - - /** Property that defines the dictionary to use for this grammar */ - @S4Component(type = Dictionary.class) - public final static String PROP_DICTIONARY = "dictionary"; - - // ---------------------------- - // Configuration data - // ----------------------------- - protected Logger logger; - - private boolean optimizeGrammar = true; - private boolean addSilenceWords; - private boolean addFillerWords; - protected Dictionary dictionary; - protected GrammarNode initialNode; - private Set grammarNodes; - - private final static Word[][] EMPTY_ALTERNATIVE = new Word[0][0]; - private final Random randomizer = new Random(56); // use fixed initial to make get deterministic random value for testing - private int maxIdentity; - private boolean idCheck; - - public Grammar(boolean showGrammar,boolean optimizeGrammar,boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary ) { - this.logger = Logger.getLogger(getClass().getName()); - this.optimizeGrammar = optimizeGrammar; - this.addSilenceWords = addSilenceWords; - this.addFillerWords = addFillerWords; - this.dictionary = dictionary; - } - - public Grammar() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - optimizeGrammar = ps.getBoolean(PROP_OPTIMIZE_GRAMMAR); - - addSilenceWords = ps.getBoolean(PROP_ADD_SIL_WORDS); - addFillerWords = ps.getBoolean(PROP_ADD_FILLER_WORDS); - - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - } - - - /** Create the grammar - * @throws java.io.IOException if IO went wrong - **/ - public void allocate() throws IOException { - dictionary.allocate(); - newGrammar(); - Timer timer = TimerPool.getTimer(this, "grammarLoad"); - timer.start(); - initialNode = createGrammar(); - timer.stop(); - } - - - /** Deallocate resources allocated to this grammar */ - public void deallocate() { - initialNode = null; - grammarNodes = null; - dictionary.deallocate(); - } - - - /** - * Returns the initial node for the grammar - * - * @return the initial grammar node - */ - public GrammarNode getInitialNode() { - return initialNode; - } - - - /** - * Perform the standard set of grammar post processing. This can include - * inserting silence nodes and optimizing out empty nodes - */ - protected void postProcessGrammar() { - if (addFillerWords) { - addFillerWords(); - } else if (addSilenceWords) { - addSilenceWords(); - } - - if (optimizeGrammar) { - optimizeGrammar(); - } - dumpStatistics(); - } - - - /** Dumps statistics for this grammar */ - public void dumpStatistics() { - if (logger.isLoggable(Level.INFO)) { - int successorCount = 0; - logger.info("Num nodes : " + getNumNodes()); - for (GrammarNode grammarNode : grammarNodes) - successorCount += grammarNode.getSuccessors().length; - - logger.info("Num arcs : " + successorCount); - logger.info("Avg arcs : " - + ((float) successorCount / getNumNodes())); - } - } - - - /** - * Dump a set of random sentences that fit this grammar - * - * @param path the name of the file to dump the sentences to - * @param count dumps no more than this. May dump less than this depending upon the number of uniqe sentences in the - * grammar. - */ - public void dumpRandomSentences(String path, int count) { - try { - Set set = new HashSet(); - PrintWriter out = new PrintWriter(new FileOutputStream(path)); - for (int i = 0; i < count; i++) { - String s = getRandomSentence(); - if (!set.contains(s)) { - set.add(s); - out.println(s); - } - } - out.close(); - } catch (IOException ioe) { - logger.severe("Can't write random sentences to " + path + ' ' + ioe); - } - } - - - /** - * Dump a set of random sentences that fit this grammar - * - * @param count dumps no more than this. May dump less than this depending upon the number of uniqe sentences in the - * grammar. - */ - public void dumpRandomSentences(int count) { - Set set = new HashSet(); - for (int i = 0; i < count; i++) { - String s = getRandomSentence(); - if (!set.contains(s)) { - set.add(s); - } - } - List sampleList = new ArrayList(set); - Collections.sort(sampleList); - - for (String sentence : sampleList) { - System.out.println(sentence); - } - } - - - /** - * Returns a random sentence that fits this grammar - * - * @return a random sentence that fits this grammar - */ - public String getRandomSentence() { - StringBuilder sb = new StringBuilder(); - GrammarNode node = getInitialNode(); - while (!node.isFinalNode()) { - if (!node.isEmpty()) { - Word word = node.getWord(); - if (!word.isFiller()) - sb.append(word.getSpelling()).append(' '); - } - node = selectRandomSuccessor(node); - } - return sb.toString().trim(); - } - - - /** - * Given a node, select a random successor from the set of possible successor nodes - * - * @param node the node - * @return a random successor node. - */ - private GrammarNode selectRandomSuccessor(GrammarNode node) { - GrammarArc[] arcs = node.getSuccessors(); - - // select a transition arc with respect to the arc-probabilities (which are log and we don't have a logMath here - // which makes the implementation a little bit messy - if (arcs.length > 1) { - double[] linWeights = new double[arcs.length]; - double linWeightsSum = 0; - - final double EPS = 1E-10; - - for (int i = 0; i < linWeights.length; i++) { - linWeights[i] = (arcs[0].getProbability() + EPS) / (arcs[i].getProbability() + EPS); - linWeightsSum += linWeights[i]; - } - - for (int i = 0; i < linWeights.length; i++) { - linWeights[i] /= linWeightsSum; - } - - - double selIndex = randomizer.nextDouble(); - int index = 0; - for (int i = 0; selIndex > EPS; i++) { - index = i; - selIndex -= linWeights[i]; - } - - return arcs[index].getGrammarNode(); - - } else { - return arcs[0].getGrammarNode(); - } - } - - - /** Dumps the grammar - * @param name name of the file to dump to - **/ - public void dumpGrammar(String name) { - getInitialNode().dumpDot(name); - } - - /** - * returns the number of nodes in this grammar - * - * @return the number of nodes - */ - public int getNumNodes() { - return grammarNodes.size(); - } - - - /** - * returns the set of of nodes in this grammar - * - * @return the set of nodes - */ - public Set getGrammarNodes() { - return grammarNodes; - } - - - /** Prepare to create a new grammar */ - protected void newGrammar() { - maxIdentity = 0; - grammarNodes = new HashSet(); - initialNode = null; - } - - - /** - * Creates a grammar. Subclasses of grammar should implement this method. - * - * @return the initial node for the grammar - * @throws java.io.IOException if the grammar could not be loaded - */ - protected abstract GrammarNode createGrammar() throws IOException; - - - /** - * Create class from reference text (not implemented). - * - * @param bogusText dummy variable - * @return created grammar node - * @throws NoSuchMethodException if called with reference sentence - */ - protected GrammarNode createGrammar(String bogusText) - throws NoSuchMethodException { - throw new NoSuchMethodException("Does not create " - + "grammar with reference text"); - } - - - /** - * Gets the dictionary for this grammar - * - * @return the dictionary - */ - public Dictionary getDictionary() { - return dictionary; - } - - - /** - * Returns a new GrammarNode with the given set of alternatives. - * - * @param identity the id for this node - * @param alts the set of alternative word lists for this GrammarNode - * @return created grammar node - */ - protected GrammarNode createGrammarNode(int identity, String[][] alts) { - GrammarNode node; - Word[][] alternatives = new Word[alts.length][]; - for (int i = 0; i < alternatives.length; i++) { - alternatives[i] = new Word[alts[i].length]; - for (int j = 0; j < alts[i].length; j++) { - Word word = getDictionary().getWord(alts[i][j]); - // Pronunciation[] pronunciation = - // word.getPronunciations(null); - if (word == null) { - alternatives = EMPTY_ALTERNATIVE; - break; - } else { - alternatives[i][j] = word; - } - } - } - node = new GrammarNode(identity, alternatives); - add(node); - - return node; - } - - - /** - * Returns a new GrammarNode with the given single word. If the word is not in the dictionary, an empty node is - * created. The grammar id is automatically assigned - * - * @param word the word for this grammar node - * @return created grammar node - */ - - protected GrammarNode createGrammarNode(String word) { - GrammarNode node = createGrammarNode(maxIdentity + 1, word); - return node; - } - - - /** - * Creates an empty grammar node in this grammar. The gramar ID is automatically assigned. - * - * @param isFinal if true, this is a final node - * @return the grammar node - */ - protected GrammarNode createGrammarNode(boolean isFinal) { - return createGrammarNode(maxIdentity + 1, isFinal); - } - - - /** - * Returns a new GrammarNode with the given single word. If the word is not in the dictionary, an empty node is - * created - * - * @param identity the id for this node - * @param word the word for this grammar node - * @return created grammar node - */ - protected GrammarNode createGrammarNode(int identity, String word) { - GrammarNode node; - Word[][] alternatives = EMPTY_ALTERNATIVE; - Word wordObject = getDictionary().getWord(word); - // Pronunciation[] pronunciation = wordObject.getPronunciations(null); - if (wordObject != null) { - alternatives = new Word[1][]; - alternatives[0] = new Word[1]; - alternatives[0][0] = wordObject; - node = new GrammarNode(identity, alternatives); - add(node); - } else { - node = createGrammarNode(identity, false); - logger.warning("Can't find pronunciation for " + word); - } - return node; - } - - - /** - * Creates a grammar node in this grammar with the given identity - * - * @param identity the identity of the node - * @param isFinal if true, this is a final node - * @return the grammar node - */ - protected GrammarNode createGrammarNode(int identity, boolean isFinal) { - GrammarNode node; - node = new GrammarNode(identity, isFinal); - add(node); - return node; - } - - - /** - * Adds the given grammar node to the set of nodes for this grammar - * - * @param node the grammar node - * @throws Error - */ - private void add(GrammarNode node) throws Error { - if (node.getID() > maxIdentity) { - maxIdentity = node.getID(); - } - - // check to see if there is already a node with the given ID. - if (idCheck) { - for (GrammarNode grammarNode : grammarNodes) { - if (grammarNode.getID() == node.getID()) { - - throw new Error("DUP ID " + grammarNode + " and " + node); - } - } - } - - grammarNodes.add(node); - - } - - - /** - * Eliminate unnecessary nodes from the grammar. This method goes through the grammar and looks for branches to - * nodes that have no words and have only a single exit and bypasses these nodes. - */ - private void optimizeGrammar() { - Set nodes = getGrammarNodes(); - for (GrammarNode node : nodes) - node.optimize(); - } - - - /** Adds an optional silence word after every non-filler word in the grammar */ - private void addSilenceWords() { - HashSet nodes = new HashSet(getGrammarNodes()); - for (GrammarNode g : nodes) { - if (!g.isEmpty() && !g.getWord().isFiller()) { - GrammarNode silNode = createGrammarNode(maxIdentity + 1, - dictionary.getSilenceWord().getSpelling()); - - GrammarNode branchNode = g.splitNode(maxIdentity + 1); - add(branchNode); - - g.add(silNode, 0.00f); - silNode.add(branchNode, 0.0f); - silNode.add(silNode, 0.0f); - } - } - } - - - /** Adds an optional filler word loop after every non-filler word in the grammar */ - private void addFillerWords() { - Set nodes = new HashSet(getGrammarNodes()); - - Word[] fillers = getInterWordFillers(); - - if (fillers.length == 0) { - return; - } - - for (GrammarNode wordNode : nodes) { - if (!wordNode.isEmpty() && !wordNode.getWord().isFiller()) { - GrammarNode wordExitNode = wordNode.splitNode(maxIdentity + 1); - add(wordExitNode); - GrammarNode fillerStart = createGrammarNode(false); - GrammarNode fillerEnd = createGrammarNode(false); - fillerEnd.add(fillerStart, 0.0f); - fillerEnd.add(wordExitNode, 0.0f); - wordNode.add(fillerStart, 0.0f); - - for (Word filler : fillers) { - GrammarNode fnode = createGrammarNode(maxIdentity + 1, filler.getSpelling()); - fillerStart.add(fnode, 0.0f); - fnode.add(fillerEnd, 0.0f); - } - } - } - } - - - /** - * Gets the set of fillers after filtering out fillers that don't go between words. - * - * @return the set of inter-word fillers - */ - private Word[] getInterWordFillers() { - List fillerList = new ArrayList(); - Word[] fillers = dictionary.getFillerWords(); - - for (Word fillerWord : fillers) { - if (fillerWord != dictionary.getSentenceStartWord() - && fillerWord != dictionary.getSentenceEndWord()) { - fillerList.add(fillerWord); - } - } - return fillerList.toArray(new Word[fillerList.size()]); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarArc.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarArc.java deleted file mode 100755 index a4298ee1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarArc.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.grammar; - - -/** - * Represents a single transition out of a grammar node. The grammar represented is a stochastic grammar, each - * transition has a probability associated with it. The probabilities are relative and are not necessarily constrained - * to total 1.0. - *

- * Note that all probabilities are maintained in the LogMath log base - */ -public class GrammarArc { - - private GrammarNode grammarNode; - private float logProbability; - - /** - * Create a grammar arc - * - * @param grammarNode the node that this arc points to - * @param logProbability the log probability of following this arc - */ - public GrammarArc(GrammarNode grammarNode, float logProbability) { - assert grammarNode != null; - this.grammarNode = grammarNode; - this.logProbability = logProbability; - } - - - /** - * Retrieves the destination node for this transition - * - * @return the destination node - */ - public GrammarNode getGrammarNode() { - return grammarNode; - } - - - /** - * Retrieves the probability for this transition - * - * @return the log probability for this transition - */ - public float getProbability() { - return logProbability; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarInterface.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarInterface.java deleted file mode 100755 index 5d7928e6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarInterface.java +++ /dev/null @@ -1,23 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.language.grammar; - -import java.util.Set; - -public interface GrammarInterface { - - GrammarNode getInitialNode(); - - - Set getGrammarNodes(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarNode.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarNode.java deleted file mode 100755 index 398f1608..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/GrammarNode.java +++ /dev/null @@ -1,439 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.language.grammar; - - -import edu.cmu.sphinx.linguist.dictionary.Word; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.*; - - -/** - * Represents a grammar node in a grammar. A {@link Grammar grammar} is represented as a graph of grammar nodes and - * {@link GrammarArc arcs}. A grammar node usually represents a word or words, but it can also be a transition point or - * simply silence. - *

- * Note that all probabilities are maintained in the LogMath log base - */ - -public class GrammarNode { - - private final int identity; // the node id - private boolean isFinal; // is this the final node? - - private Word[][] alternatives; // ordered words at this node - private List arcList = new ArrayList(); // arcs to successors - - - /** - * Creates a GrammarNode with the given ID, Words. A GrammarNode with words is, by default, neither a silence nor a - * final node. - * - * @param id the identity of this GrammarNode - * @param alternatives the set of Words in this GrammarNode. This is a two dimensional array, the first index - * corresponds to the set of alternative choices, the second index corresponds to a particular - * word for the alternative - */ - public GrammarNode(int id, Word[][] alternatives) { - this(id, false); - this.alternatives = alternatives; - } - - - /** - * Creates a GrammarNode with the given ID and silence or final attributes. A silence or final node does not have - * any words by default. - * - * @param id the identity of this GrammarNode - * @param isFinal if true this is a final node - */ - protected GrammarNode(int id, boolean isFinal) { - this.identity = id; - this.isFinal = isFinal; - this.alternatives = new Word[0][0]; - } - - - /** - * Returns the ID of this GrammarNode. - * - * @return the ID of this GrammarNode - */ - public int getID() { - return identity; - } - - - /** - * Retrieves the words associated with this grammar node - * - * @return the words associated with this grammar node - */ - public Word[][] getAlternatives() { - return alternatives; - } - - - /** Optimize this grammar node. */ - void optimize() { - for (int i = 0; i < arcList.size(); i++) { - GrammarArc arc = arcList.get(i); - arcList.set(i, optimizeArc(arc)); - } - - // now remove all self-looping empty arcs - - if (this.isEmpty()) { - for (ListIterator i = arcList.listIterator(); i.hasNext();) { - GrammarArc arc = i.next(); - if (this == arc.getGrammarNode()) { - i.remove(); - } - } - } - } - - - /** - * Optimize the given arc. If an arc branches to an empty node that has only one exit, the node can be bypassed by - * making a new arc that skips the nodes. This can happen multiple times. - * - * @param arc the arc to optimize - * @return the optimized arc - */ - GrammarArc optimizeArc(GrammarArc arc) { - GrammarNode nextNode = arc.getGrammarNode(); - while (nextNode.isEmpty() && nextNode.arcList.size() == 1) { - GrammarArc nextArc = nextNode.arcList.get(0); - arc = new GrammarArc(nextArc.getGrammarNode(), - arc.getProbability() + nextArc.getProbability()); - nextNode = arc.getGrammarNode(); - } - return arc; - } - - - /** - * Retrieves the words associated with a specific alternative - * - * @param alternative the index of the alternative - * @return the words associated with this grammar node - */ - public Word[] getWords(int alternative) { - return alternatives[alternative]; - } - - - /** - * Retrieve the single word associated with this grammar - * - * @return the word associated with this grammar node - */ - public Word getWord() { - return alternatives[0][0]; - } - - - /** - * Gets the number of alternatives - * - * @return the number of alternatives - */ - public int getNumAlternatives() { - return alternatives.length; - } - - - /** - * Determines if this grammar node is empty (that is, has no words). - * - * @return true if the node is empty, otherwise false. - */ - public boolean isEmpty() { - return getNumAlternatives() == 0; - } - - - /** - * Retrieves the set of transitions out of this node - * - * @return the transitions to the successors for this node. - */ - public GrammarArc[] getSuccessors() { - return arcList.toArray(new GrammarArc[arcList.size()]); - } - - - /** - * Determines if this grammar node is a final node in the grammar - * - * @return true if the node is a final node in the grammar - */ - public boolean isFinalNode() { - return isFinal; - } - - - /** - * Sets the 'final' state of the grammar node. A 'final' state grammar marks the end of a grammar - * - * @param isFinal if true the grammar node is a final node. - */ - - public void setFinalNode(boolean isFinal) { - this.isFinal = isFinal; - } - - - /** - * Adds an arc to the given node - * - * @param node the node that this new arc goes to - * @param logProbability the log probability of the transition occuring - */ - public void add(GrammarNode node, float logProbability) { - // if we are an empty node, a loopback makes no sense. - // this construct can be generated when dealing with recursive - // grammars, so we check for them and toss them out. - // - if (isEmpty() && this == node) { - return; - } - arcList.add(new GrammarArc(node, logProbability)); - } - - - /** Returns the string representation of this object */ - @Override - public String toString() { - return "G" + getID(); - } - - - /** - * Dumps this GrammarNode as a String. - * - * @param level the indent level - * @param visitedNodes the set of visited nodes - * @param logProb the probability of the transition (in logMath log domain) - */ - private String traverse(int level, Set visitedNodes, float logProb) { - StringBuilder dump = new StringBuilder(); - - for (int i = 0; i < level; i++) { - dump.append(" "); - } - - dump.append("N(").append(getID()).append("):"); - dump.append("p:").append(logProb); - - if (isFinalNode()) { - dump.append(" !"); - } - - Word[][] alternatives = getAlternatives(); - for (int i = 0; i < alternatives.length; i++) { - for (int j = 0; j < alternatives[i].length; j++) { - dump.append(' ').append(alternatives[i][j].getSpelling()); - } - if (i < alternatives.length - 1) { - dump.append('|'); - } - } - - System.out.println(dump); - - // Visit the children nodes if this node has never been visited. - - if (!isFinalNode() && !(visitedNodes.contains(this))) { - - visitedNodes.add(this); - GrammarArc[] arcs = getSuccessors(); - - for (GrammarArc arc : arcs) { - GrammarNode child = arc.getGrammarNode(); - child.traverse(level + 1, visitedNodes, arc.getProbability()); - } - } else if (isFinalNode()) { - - // this node has no children, so just add it to the visitedNodes - visitedNodes.add(this); - } - - return dump.toString(); - } - - - /** - * Traverse the grammar and dump out the nodes and arcs in GDL - * - * @param out print the gdl to this file - * @param visitedNodes the set of visited nodes - * @throws IOException if an error occurs while writing the file - */ - private void traverseGDL(PrintWriter out, Set visitedNodes) - throws IOException { - - // Visit the children nodes if this node has never been visited. - - if (!(visitedNodes.contains(this))) { - visitedNodes.add(this); - out.println(" node: { title: " + getGDLID(this) + - " label: " + getGDLLabel(this) + - " shape: " + getGDLShape(this) + - " color: " + getGDLColor(this) + '}'); - GrammarArc[] arcs = getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode child = arc.getGrammarNode(); - float prob = arc.getProbability(); - out.println(" edge: { source: " - + getGDLID(this) + - " target: " + getGDLID(child) + - " label: \"" + prob + "\"}"); - child.traverseGDL(out, visitedNodes); - } - } - } - - - /** - * Gvien a node, return a GDL ID for the node - * - * @param node the node - * @return the GDL id - */ - String getGDLID(GrammarNode node) { - return "\"" + node.getID() + '\"'; - } - - - /** - * Given a node, returns a GDL Label for the node - * - * @param node the node - * @return a gdl label for the node - */ - String getGDLLabel(GrammarNode node) { - String label = node.isEmpty() ? "" : node.getWord().getSpelling(); - return '\"' + label + '\"'; - } - - - /** - * Given a node, returns a GDL shape for the node - * - * @param node the node - * @return a gdl shape for the node - */ - String getGDLShape(GrammarNode node) { - return node.isEmpty() ? "circle" : "box"; - } - - - /** - * Gets the color for the grammar node - * - * @param node the node of interest - * @return the gdl label for the color - */ - String getGDLColor(GrammarNode node) { - String color = "grey"; - if (node.isFinalNode()) { - color = "red"; - } else if (!node.isEmpty()) { - color = "green"; - } - return color; - } - - - /** - * Dumps the grammar in GDL form - * - * @param path the path to write the gdl file to - */ - public void dumpGDL(String path) { - try { - PrintWriter out = new PrintWriter(new FileOutputStream(path)); - out.println("graph: {"); - out.println(" orientation: left_to_right"); - out.println(" layout_algorithm: dfs"); - traverseGDL(out, new HashSet()); - out.println("}"); - out.close(); - } catch (FileNotFoundException fnfe) { - System.out.println("Can't write to " + path + ' ' + fnfe); - } catch (IOException ioe) { - System.out.println("Trouble writing to " + path + ' ' + ioe); - } - } - - - /** Dumps the grammar */ - public void dump() { - System.out.println(traverse(0, new HashSet(), 1.0f)); - } - - - /** - * Splits this node into a pair of nodes. The first node in the pair retains the word info, and a single branch to - * the new second node. The second node retains all of the original successor branches. - * - * @param id the id of the new node - * @return the newly created second node. - */ - GrammarNode splitNode(int id) { - GrammarNode branchNode = new GrammarNode(id, false); - branchNode.arcList = arcList; - arcList = new ArrayList(); - add(branchNode, 0.0f); - return branchNode; - } - - - public void dumpDot(String path) { - try { - PrintWriter out = new PrintWriter(new FileOutputStream(path)); - out.println("digraph \"" + path + "\" {"); - out.println("rankdir = LR\n"); - traverseDot(out, new HashSet()); - out.println("}"); - out.close(); - } catch (FileNotFoundException fnfe) { - System.out.println("Can't write to " + path + ' ' + fnfe); - } - } - - - private void traverseDot(PrintWriter out, Set visitedNodes) { - if (!(visitedNodes.contains(this))) { - visitedNodes.add(this); - out.println("\tnode" + this.getID() - + " [ label=" + getGDLLabel(this) - + ", color=" + getGDLColor(this) - + ", shape=" + getGDLShape(this) - + " ]\n"); - GrammarArc[] arcs = getSuccessors(); - for (GrammarArc arc : arcs) { - GrammarNode child = arc.getGrammarNode(); - float prob = arc.getProbability(); - out.write("\tnode" + this.getID() + " -> node" + child.getID() - + " [ label=" + prob + " ]\n"); - child.traverseDot(out, visitedNodes); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LMGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LMGrammar.java deleted file mode 100755 index 21407fe4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LMGrammar.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * Defines a simple grammar based upon a language model. It generates one {@link GrammarNode grammar node}per word. This - * grammar can deal with unigram and bigram grammars of up to 1000 or so words. Note that all probabilities are in the - * log math domain. - */ -public class LMGrammar extends Grammar { - - /** The property for the language model to be used by this grammar */ - @S4Component(type = LanguageModel.class) - public final static String PROP_LANGUAGE_MODEL = "languageModel"; - // ------------------------ - // Configuration data - // ------------------------ - private LanguageModel languageModel; - - public LMGrammar(LanguageModel languageModel, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary) { - super(showGrammar,optimizeGrammar,addSilenceWords,addFillerWords,dictionary); - this.languageModel = languageModel; - } - - public LMGrammar() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - languageModel = (LanguageModel) ps.getComponent(PROP_LANGUAGE_MODEL); - } - - - /** - * Creates the grammar from the language model. This Grammar contains one word per grammar node. Each word (and - * grammar node) is connected to all other words with the given probability - * - * @return the initial grammar node - */ - @Override - protected GrammarNode createGrammar() throws IOException { - languageModel.allocate(); - TimerPool.getTimer(this,"LMGrammar.create").start(); - GrammarNode firstNode = null; - if (languageModel.getMaxDepth() > 2) { - System.out.println("Warning: LMGrammar limited to bigrams"); - } - List nodes = new ArrayList(); - Set words = languageModel.getVocabulary(); - // create all of the word nodes - for (String word : words) { - GrammarNode node = createGrammarNode(word); - if (node != null && !node.isEmpty()) { - if (node.getWord().equals( - getDictionary().getSentenceStartWord())) { - firstNode = node; - } else if (node.getWord().equals( - getDictionary().getSentenceEndWord())) { - node.setFinalNode(true); - } - nodes.add(node); - } - } - if (firstNode == null) { - throw new Error("No sentence start found in language model"); - } - for (GrammarNode prevNode : nodes) { - // don't add any branches out of the final node - if (prevNode.isFinalNode()) { - continue; - } - for (GrammarNode nextNode : nodes) { - String prevWord = prevNode.getWord().getSpelling(); - String nextWord = nextNode.getWord().getSpelling(); - Word[] wordArray = {getDictionary().getWord(prevWord), - getDictionary().getWord(nextWord)}; - float logProbability = languageModel - .getProbability((new WordSequence(wordArray))); - prevNode.add(nextNode, logProbability); - } - } - TimerPool.getTimer(this,"LMGrammar.create").stop(); - languageModel.deallocate(); - return firstNode; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LatticeGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LatticeGrammar.java deleted file mode 100755 index c14e9fdd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/LatticeGrammar.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2010 PC-NG Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.result.Lattice; -import edu.cmu.sphinx.result.Node; -import edu.cmu.sphinx.result.Edge; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.io.IOException; -import java.util.HashMap; - -/** - * A grammar build from a lattice. Can be used for a second and subsequent - * passes of multi-pass recognition. - */ -public class LatticeGrammar extends Grammar { - - public Lattice lattice; - - public LatticeGrammar(Lattice lattice, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary) { - super(showGrammar,optimizeGrammar,addSilenceWords,addFillerWords,dictionary); - this.lattice = lattice; - } - - public LatticeGrammar() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - } - - - /** - * Creates the grammar from the language model. This Grammar contains one word per grammar node. Each word (and - * grammar node) is connected to all other words with the given probability - * - * @return the initial grammar node - */ - @Override - protected GrammarNode createGrammar() throws IOException { - if (lattice == null) { - return createGrammarNode(""); - } - - GrammarNode firstNode = null; - HashMap nodeMap = new HashMap(); - for (Node n : lattice.getNodes()) { - String word = n.getWord().toString(); - GrammarNode node = createGrammarNode(word); - if (n.equals(lattice.getInitialNode())) - firstNode = node; - if (n.equals(lattice.getTerminalNode())) - node.setFinalNode(true); - nodeMap.put(n, node); - } - if (firstNode == null) { - throw new Error("No lattice start found"); - } - - for (Edge e : lattice.getEdges()) { - float logProbability = (float)e.getLMScore(); - GrammarNode prevNode = nodeMap.get(e.getFromNode()); - GrammarNode toNode = nodeMap.get(e.getToNode()); - prevNode.add(toNode, logProbability); - } - - return firstNode; - - } - - public void setLattice (Lattice lattice) throws IOException { - this.lattice = lattice; - allocate(); - //dumpGrammar("Grammar"); - //dumpRandomSentences("test.sentences", 10); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/SimpleWordListGrammar.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/SimpleWordListGrammar.java deleted file mode 100755 index 7e9e2039..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/grammar/SimpleWordListGrammar.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import edu.cmu.sphinx.util.ExtendedStreamTokenizer; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - -import java.io.IOException; -import java.util.*; - -/** - * Defines a grammar based upon a list of words in a file. The format of the file is just one word per line. For - * example, for an isolated digits grammar the file will simply look like: - *

- * zero
- * one
- * two
- * three
- * four
- * five
- * six
- * seven
- * eight
- * nine
- * 
- * The path to the file is defined by the {@link #PROP_PATH PROP_PATH} property. If the {@link #PROP_LOOP PROP_LOOP} - * property is true, the grammar created will be a looping grammar. Using the above digits grammar example, setting - * PROP_LOOP to true will make it a connected-digits grammar. - *

- * All probabilities are maintained in LogMath log base. - */ -public class SimpleWordListGrammar extends Grammar implements Configurable { - - /** The property that defines the location of the word list grammar */ - @S4String(defaultValue = "spelling.gram") - public final static String PROP_PATH = "path"; - - /** The property that if true, indicates that this is a looping grammar */ - @S4Boolean(defaultValue = true) - public final static String PROP_LOOP = "isLooping"; - - // --------------------- - // Configurable data - // --------------------- - private String path; - private boolean isLooping; - private LogMath logMath; - - public SimpleWordListGrammar(String path, boolean isLooping, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, edu.cmu.sphinx.linguist.dictionary.Dictionary dictionary) { - super(showGrammar,optimizeGrammar,addSilenceWords,addFillerWords,dictionary); - this.path = path; - this.isLooping = isLooping; - logMath = LogMath.getLogMath(); - } - - public SimpleWordListGrammar() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - path = ps.getString(PROP_PATH); - isLooping = ps.getBoolean(PROP_LOOP); - } - - - /** - * Create class from reference text (not implemented). - * - * @param bogusText dummy variable - */ - @Override - protected GrammarNode createGrammar(String bogusText) - throws NoSuchMethodException { - throw new NoSuchMethodException("Does not create " - + "grammar with reference text"); - } - - - /** Creates the grammar. */ - @Override - protected GrammarNode createGrammar() throws IOException { - ExtendedStreamTokenizer tok = new ExtendedStreamTokenizer(path, true); - GrammarNode initialNode = createGrammarNode(""); - GrammarNode branchNode = createGrammarNode(false); - GrammarNode finalNode = createGrammarNode(""); - finalNode.setFinalNode(true); - List wordGrammarNodes = new LinkedList(); - while (!tok.isEOF()) { - String word; - while ((word = tok.getString()) != null) { - GrammarNode wordNode = createGrammarNode(word); - wordGrammarNodes.add(wordNode); - } - } - // now connect all the GrammarNodes together - initialNode.add(branchNode, LogMath.LOG_ONE); - float branchScore = logMath.linearToLog( - 1.0 / wordGrammarNodes.size()); - for (GrammarNode wordNode : wordGrammarNodes) { - branchNode.add(wordNode, branchScore); - wordNode.add(finalNode, LogMath.LOG_ONE); - if (isLooping) { - wordNode.add(branchNode, LogMath.LOG_ONE); - } - } - - return initialNode; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModel.java deleted file mode 100755 index 1a0a39c8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModel.java +++ /dev/null @@ -1,207 +0,0 @@ -package edu.cmu.sphinx.linguist.language.ngram; - -import java.io.IOException; -import java.util.*; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -/** - * 3-gram language model that can change its content at runtime. - * - * @author Alexander Solovets - * - */ -public class DynamicTrigramModel implements LanguageModel { - - private Dictionary dictionary; - private final Set vocabulary; - private int maxDepth; - private float unigramWeight; - - private List sentences; - private Map logProbs; - private Map logBackoffs; - - public DynamicTrigramModel() { - vocabulary = new HashSet(); - logProbs = new HashMap(); - logBackoffs = new HashMap(); - } - - public DynamicTrigramModel(Dictionary dictionary) { - this(); - this.dictionary = dictionary; - } - - public void newProperties(PropertySheet ps) throws PropertyException { - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - maxDepth = ps.getInt(PROP_MAX_DEPTH); - unigramWeight = ps.getFloat(PROP_UNIGRAM_WEIGHT); - } - - public void allocate() throws IOException { - vocabulary.clear(); - logProbs.clear(); - logBackoffs.clear(); - HashMap unigrams = new HashMap(); - HashMap bigrams = new HashMap(); - HashMap trigrams = new HashMap(); - int wordCount = 0; - - for (String sentence : sentences) { - String[] textWords = sentence.split("\\s+"); - List words = new ArrayList(); - words.add(dictionary.getSentenceStartWord()); - for (String wordString : textWords) { - if (wordString.length() == 0) { - continue; - } - vocabulary.add(wordString); - Word word = dictionary.getWord(wordString); - if (word == null) { - words.add(Word.UNKNOWN); - } else { - words.add(word); - } - } - words.add(dictionary.getSentenceEndWord()); - - if (words.size() > 0) { - addSequence(unigrams, new WordSequence(words.get(0))); - wordCount++; - } - - if (words.size() > 1) { - wordCount++; - addSequence(unigrams, new WordSequence(words.get(1))); - addSequence(bigrams, new WordSequence(words.get(0), words.get(1))); - } - - for (int i = 2; i < words.size(); ++i) { - wordCount++; - addSequence(unigrams, new WordSequence(words.get(i))); - addSequence(bigrams, new WordSequence(words.get(i - 1), words.get(i))); - addSequence(trigrams, new WordSequence(words.get(i - 2), words.get(i - 1), words.get(i))); - } - } - - float discount = .5f; - float deflate = 1 - discount; - Map uniprobs = new HashMap(); - for (Map.Entry e : unigrams.entrySet()) { - uniprobs.put(e.getKey(), (float) e.getValue() * deflate / wordCount); - } - - LogMath lmath = LogMath.getLogMath(); - float logUnigramWeight = lmath.linearToLog(unigramWeight); - float invLogUnigramWeight = lmath.linearToLog(1 - unigramWeight); - float logUniformProb = -lmath.linearToLog(uniprobs.size()); - - Set sorted1grams = new TreeSet(unigrams.keySet()); - Iterator iter = new TreeSet(bigrams.keySet()).iterator(); - WordSequence ws = iter.hasNext() ? iter.next() : null; - for (WordSequence unigram : sorted1grams) { - float p = lmath.linearToLog(uniprobs.get(unigram)); - p += logUnigramWeight; - p = lmath.addAsLinear(p, logUniformProb + invLogUnigramWeight); - logProbs.put(unigram, p); - - float sum = 0.f; - while (ws != null) { - int cmp = ws.getOldest().compareTo(unigram); - if (cmp > 0) { - break; - } - if (cmp == 0) { - sum += uniprobs.get(ws.getNewest()); - } - ws = iter.hasNext() ? iter.next() : null; - } - - logBackoffs.put(unigram, lmath.linearToLog(discount / (1 - sum))); - } - - Map biprobs = new HashMap(); - for (Map.Entry entry : bigrams.entrySet()) { - int unigramCount = unigrams.get(entry.getKey().getOldest()); - biprobs.put(entry.getKey(), entry.getValue() * deflate / unigramCount); - } - - Set sorted2grams = new TreeSet(bigrams.keySet()); - iter = new TreeSet(trigrams.keySet()).iterator(); - ws = iter.hasNext() ? iter.next() : null; - for (WordSequence biword : sorted2grams) { - logProbs.put(biword, lmath.linearToLog(biprobs.get(biword))); - - float sum = 0.f; - while (ws != null) { - int cmp = ws.getOldest().compareTo(biword); - if (cmp > 0) { - break; - } - if (cmp == 0) { - sum += biprobs.get(ws.getNewest()); - } - ws = iter.hasNext() ? iter.next() : null; - } - logBackoffs.put(biword, lmath.linearToLog(discount / (1 - sum))); - } - - for (Map.Entry e : trigrams.entrySet()) { - float p = e.getValue() * deflate; - p /= bigrams.get(e.getKey().getOldest()); - logProbs.put(e.getKey(), lmath.linearToLog(p)); - } - } - - private void addSequence(HashMap grams, WordSequence wordSequence) { - Integer count = grams.get(wordSequence); - if (count != null) { - grams.put(wordSequence, count + 1); - } else { - grams.put(wordSequence, 1); - } - } - - public void deallocate() throws IOException { - } - - public float getProbability(WordSequence wordSequence) { - float prob; - if (logProbs.containsKey(wordSequence)) { - prob = logProbs.get(wordSequence); - } else if (wordSequence.size() > 1) { - Float backoff = logBackoffs.get(wordSequence.getOldest()); - if (backoff == null) { - prob = LogMath.LOG_ONE + getProbability(wordSequence.getNewest()); - } else { - prob = backoff + getProbability(wordSequence.getNewest()); - } - } else { - prob = LogMath.LOG_ZERO; - } - return prob; - } - - public float getSmear(WordSequence wordSequence) { - // TODO: implement - return 0; - } - - public Set getVocabulary() { - return vocabulary; - } - - public int getMaxDepth() { - return maxDepth; - } - - public void setText(List sentences) { - this.sentences = sentences; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/InterpolatedLanguageModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/InterpolatedLanguageModel.java deleted file mode 100755 index bf358fa7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/InterpolatedLanguageModel.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Created on Jan 21, 2005 - */ -package edu.cmu.sphinx.linguist.language.ngram; - -import java.io.IOException; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - - -/** - * Simple interpolated LM implementation. - * - * @author Tanel Alumae - */ -public class InterpolatedLanguageModel implements LanguageModel { - - /** - * The property that defines the language models to be interpolated. - */ - @S4ComponentList(type = LanguageModel.class) - public final static String PROP_LANGUAGE_MODELS = "languageModels"; - - /** - * The property that defines the language models weights - */ - @S4StringList - public final static String PROP_LANGUAGE_MODEL_WEIGHTS = - "languageModelWeights"; - - private LogMath logMath; - private boolean allocated = false; - - private List languageModels; - private float weights[]; - private int numberOfLanguageModels; - private Set vocabulary; - - private static final double EPSILON = 0.001; - - public InterpolatedLanguageModel(List languageModels, float [] floats ) { - logMath = LogMath.getLogMath(); - this.languageModels = languageModels; - this.numberOfLanguageModels = languageModels.size(); - - this.weights = new float[floats.length]; - float weightSum = 0; - for (int i = 0; i < floats.length; i++) { - weightSum += floats[i]; - this.weights[i] = logMath.linearToLog(floats[i]); - } - if (weightSum < 1.0 - EPSILON || weightSum > 1.0 + EPSILON) { - throw new PropertyException( - InterpolatedLanguageModel.class.getName(), - PROP_LANGUAGE_MODEL_WEIGHTS, - "Weights do not sum to 1.0"); - } - } - - public InterpolatedLanguageModel() { - - } - - public void newProperties(PropertySheet ps) throws PropertyException { - if (allocated) { - throw new RuntimeException("Can't change properties after allocation"); - } - languageModels = - ps.getComponentList(PROP_LANGUAGE_MODELS, LanguageModel.class); - numberOfLanguageModels = languageModels.size(); - - // read weights as a String List. - List items = ps.getStringList(PROP_LANGUAGE_MODEL_WEIGHTS); - if (items.size() != numberOfLanguageModels) { - throw new RuntimeException("Number of weights not equal to number of language models"); - } - - // convert Strings to floats and assign weights. - float[] floats = new float[items.size()]; - weights = new float[floats.length]; - float weightSum = 0; - for (int i = 0; i < items.size(); i++) { - try { - floats[i] = Float.parseFloat(items.get(i)); - weightSum += floats[i]; - weights[i] = logMath.linearToLog(floats[i]); - } catch (NumberFormatException e) { - throw new PropertyException( - InterpolatedLanguageModel.class.getName(), - PROP_LANGUAGE_MODEL_WEIGHTS, - "Float value expected from the property list. But found:" + - items.get(i)); - } - } - if (weightSum < 1.0 - EPSILON || weightSum > 1.0 + EPSILON) { - throw new PropertyException( - InterpolatedLanguageModel.class.getName(), - PROP_LANGUAGE_MODEL_WEIGHTS, - "Weights do not sum to 1.0"); - } - } - - public void allocate() throws IOException { - if (!allocated) { - allocated = true; - vocabulary = new HashSet(); - for (LanguageModel model : languageModels) { - model.allocate(); - vocabulary.addAll(model.getVocabulary()); - } - } - } - - public void deallocate() throws IOException { - allocated = false; - for (LanguageModel model : languageModels) { - model.deallocate(); - } - } - - /** - * Calculates probability p = w[1]*p[1] + w[2]*p[2] + ... (in log domain) - * - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getProbability(edu.cmu.sphinx.linguist.WordSequence) - */ - public float getProbability(WordSequence wordSequence) { - float prob = 0; - for (int i = 0; i < numberOfLanguageModels; i++) { - float p = - weights[i] + - (languageModels.get(i)).getProbability(wordSequence); - if (i == 0) { - prob = p; - } else { - prob = logMath.addAsLinear(prob, p); - } - } - return prob; - - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getSmear(edu.cmu - * .sphinx.linguist.WordSequence) - */ - public float getSmear(WordSequence wordSequence) { - return 1.0f; // TODO not implemented - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getVocabulary() - */ - public Set getVocabulary() { - return vocabulary; - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#getMaxDepth() - */ - public int getMaxDepth() { - int maxDepth = 0; - for (LanguageModel languageModel : languageModels) { - int d = languageModel.getMaxDepth(); - if (d > maxDepth) { - maxDepth = d; - } - } - return maxDepth; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/KeywordOptimizerModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/KeywordOptimizerModel.java deleted file mode 100755 index 4f8357fd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/KeywordOptimizerModel.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2009 PC-NG Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.ngram; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Set; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - - -/* - * A model that optimizes the search by giving a preference to the list of - * keywords. - */ -public class KeywordOptimizerModel implements LanguageModel { - - /** The property that defines the parent language model. */ - @S4Component(type = LanguageModel.class) - public final static String PROP_PARENT = "parent"; - - public HashMap keywordProbs; - - // ---------------------------- - // Configuration data - // ---------------------------- - private LanguageModel parent; - - public KeywordOptimizerModel(LanguageModel parent) { - this.parent = parent; - } - - public KeywordOptimizerModel() { - - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - parent = (LanguageModel) ps.getComponent(PROP_PARENT); - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#allocate() - */ - public void allocate() throws IOException { - parent.allocate(); - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#deallocate() - */ - public void deallocate() throws IOException { - parent.deallocate(); - } - - /** - * Gets the ngram probability of the word sequence represented by the word - * list - * - * @param wordSequence the word sequence - * @return the probability of the word sequence. Probability is in logMath - * log base - */ - public float getProbability(WordSequence wordSequence) { - float prob = parent.getProbability(wordSequence); - - if (keywordProbs == null) - return prob; - - for (Word word : wordSequence.getWords()) { - String ws = word.toString(); - if (keywordProbs.containsKey(ws)) { - prob *= keywordProbs.get(ws); - } - } - - return prob; - } - - /** - * Gets the smear term for the given wordSequence - * - * @param wordSequence the word sequence - * @return the smear term associated with this word sequence - */ - public float getSmear(WordSequence wordSequence) { - return parent.getSmear(wordSequence); - } - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language model - */ - public int getMaxDepth() { - return parent.getMaxDepth(); - } - - /** - * Returns the set of words in the language model. The set is unmodifiable. - * - * @return the unmodifiable set of words - */ - public Set getVocabulary() { - return parent.getVocabulary(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/LanguageModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/LanguageModel.java deleted file mode 100755 index 05668ca7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/LanguageModel.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.ngram; - -import java.io.IOException; -import java.util.Set; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.lextree.LexTreeLinguist; -import edu.cmu.sphinx.util.props.*; - - -/** - * Represents the generic interface to an N-Gram language model. - *

- * Note that all probabilities are in LogMath log base, except as otherwise - * noted. - */ - -public interface LanguageModel extends Configurable { - - /** The property specifying the location of the language model. */ - @S4String(defaultValue = ".") - public final static String PROP_LOCATION = "location"; - - /** The property specifying the unigram weight */ - @S4Double(defaultValue = 1.0) - public final static String PROP_UNIGRAM_WEIGHT = "unigramWeight"; - /** - * The property specifying the maximum depth reported by the language model - * (from a getMaxDepth()) call. If this property is set to (-1) (the - * default) the language model reports the implicit depth of the model. - * This property allows a deeper language model to be used. For instance, a - * trigram language model could be used as a bigram model by setting this - * property to 2. Note if this property is set to a value greater than the - * implicit depth, the implicit depth is used. Legal values for this - * property are 1..N and -1. - */ - @S4Integer(defaultValue = -1) - public final static String PROP_MAX_DEPTH = "maxDepth"; - - /** The property specifying the dictionary to use */ - @S4Component(type = Dictionary.class) - public final static String PROP_DICTIONARY = "dictionary"; - - /** - * Create the language model - * - * @throws java.io.IOException if error occurrs - */ - public void allocate() throws IOException; - - /** - * Deallocate resources allocated to this language model - * - * @throws IOException if error occurrs - */ - public void deallocate() throws IOException; - - /** - * Gets the n-gram probability of the word sequence represented by the word - * list - * - * @param wordSequence the wordSequence - * @return the probability of the word sequence in log base - */ - public float getProbability(WordSequence wordSequence); - - /** - * Gets the smear term for the given wordSequence. Used in - * {@link LexTreeLinguist}. See - * {@link LexTreeLinguist#PROP_WANT_UNIGRAM_SMEAR} for details. - * - * @param wordSequence the word sequence - * @return the smear term associated with this word sequence - */ - public float getSmear(WordSequence wordSequence); - - /** - * Returns the set of words in the language model. The set is unmodifiable. - * - * @return the unmodifiable set of words - */ - public Set getVocabulary(); - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language model - */ - public int getMaxDepth(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/NetworkLanguageModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/NetworkLanguageModel.java deleted file mode 100755 index 2b4f8362..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/NetworkLanguageModel.java +++ /dev/null @@ -1,170 +0,0 @@ -package edu.cmu.sphinx.linguist.language.ngram; - -import java.io.*; -import java.net.Socket; -import java.net.URL; -import java.util.HashSet; -import java.util.Set; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.util.LRUCache; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.*; - - -/* - * The client of the SRILM language model server. It needs to read the - * vocabulary from a vocabulary file though. - */ -public class NetworkLanguageModel implements LanguageModel { - - /** The property specifying the host of the language model server. */ - @S4String(defaultValue = "localhost") - public final static String PROP_HOST = "host"; - - /** The property specifying the port of the language model server. */ - @S4Integer(defaultValue = 2525) - public final static String PROP_PORT = "port"; - - LogMath logMath; - - private String host; - private int port; - private URL location; - int maxDepth; - - Socket socket; - private BufferedReader inReader; - private PrintWriter outWriter; - LRUCache cache; - - private boolean allocated; - - /** - * Creates network language model client - * - * @param host server host - * @param port server port - * @param location URL of the file with vocabulary (only needed for 1-stage - * model) - * @param maxDepth depth of the model - */ - public NetworkLanguageModel(String host, int port, URL location, - int maxDepth) { - this.host = host; - this.port = port; - this.maxDepth = maxDepth; - this.location = location; - logMath = LogMath.getLogMath(); - } - - public NetworkLanguageModel() { - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - - if (allocated) { - throw new RuntimeException("Can't change properties after allocation"); - } - host = ps.getString(PROP_HOST); - port = ps.getInt(PROP_PORT); - location = ConfigurationManagerUtils.getResource(PROP_LOCATION, ps); - - maxDepth = ps.getInt(PROP_MAX_DEPTH); - if (maxDepth == -1) - maxDepth = 3; - } - - public void allocate() throws IOException { - allocated = true; - - socket = new Socket(host, port); - inReader = - new BufferedReader(new InputStreamReader(socket.getInputStream())); - outWriter = new PrintWriter(socket.getOutputStream(), true); - String greeting = inReader.readLine(); - if (!greeting.equals("probserver ready")) { - throw new IOException("Incorrect input"); - } - cache = new LRUCache(1000); - } - - public void deallocate() { - allocated = false; - try { - socket.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public int getMaxDepth() { - return maxDepth; - } - - public float getProbability(WordSequence wordSequence) { - - Float probability = cache.get(wordSequence); - - if (probability != null) { - return probability.floatValue(); - } - - StringBuilder builder = new StringBuilder(); - if (wordSequence.size() == 0) - return 0.0f; - for (Word w : wordSequence.getWords()) { - builder.append(w.toString()); - builder.append(' '); - } - outWriter.println(builder.toString()); - String result = "0"; - try { - result = inReader.readLine(); - if (result.charAt(0) == 0) - result = result.substring(1); - } catch (IOException e) { - e.printStackTrace(); - } - - if (!result.equals("-inf")) - probability = logMath.log10ToLog(Float.parseFloat(result)); - else - probability = LogMath.LOG_ZERO; - - cache.put(wordSequence, probability); - return probability.floatValue(); - } - - public float getSmear(WordSequence wordSequence) { - return 0.0f; - } - - public Set getVocabulary() { - Set result = new HashSet(); - try { - BufferedReader reader = - new BufferedReader(new InputStreamReader(location.openStream())); - String line; - while (true) { - line = reader.readLine(); - if (line == null) - break; - if (line.length() == 0) - continue; - result.add(line.trim()); - } - reader.close(); - } catch (IOException e) { - e.printStackTrace(); - } - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/SimpleNGramModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/SimpleNGramModel.java deleted file mode 100755 index b0c35f5c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/SimpleNGramModel.java +++ /dev/null @@ -1,466 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.ngram; - -import static java.lang.Math.max; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.*; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - - -/** - * An ASCII ARPA language model loader. This loader makes no attempt to - * optimize storage, so it can only load very small language models - *

- * Note that all probabilities in the grammar are stored in LogMath log base - * format. Language Probabilities in the language model file are stored in log - * 10 base. - */ - -public class SimpleNGramModel implements LanguageModel { - - // ---------------------------- - // Configuration data - // ---------------------------- - private String name; - private LogMath logMath; - private URL urlLocation; - private float unigramWeight; - private Dictionary dictionary; - private int desiredMaxDepth; - private int maxNGram; - private Map map; - private Set vocabulary; - protected int lineNumber; - protected BufferedReader reader; - protected String fileName; - private boolean allocated; - private LinkedList tokens; - - public SimpleNGramModel(String location, Dictionary dictionary, - float unigramWeight, int desiredMaxDepth) - throws MalformedURLException, ClassNotFoundException - { - this(ConfigurationManagerUtils.resourceToURL(location), dictionary, - unigramWeight, desiredMaxDepth); - } - - public SimpleNGramModel(URL urlLocation, Dictionary dictionary, - float unigramWeight, int desiredMaxDepth) - { - this.urlLocation = urlLocation; - this.unigramWeight = unigramWeight; - this.logMath = LogMath.getLogMath(); - this.desiredMaxDepth = desiredMaxDepth; - this.dictionary = dictionary; - this.map = new HashMap(); - this.vocabulary = new HashSet(); - this.tokens = new LinkedList(); - } - - public SimpleNGramModel() { - - } - - /* - * (non-Javadoc) - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logMath = LogMath.getLogMath(); - - if (allocated) { - throw new RuntimeException("Can't change properties after allocation"); - } - - urlLocation = ConfigurationManagerUtils.getResource(PROP_LOCATION, ps); - unigramWeight = ps.getFloat(PROP_UNIGRAM_WEIGHT); - desiredMaxDepth = ps.getInt(PROP_MAX_DEPTH); - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - map = new HashMap(); - vocabulary = new HashSet(); - tokens = new LinkedList(); - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#allocate() - */ - public void allocate() throws IOException { - allocated = true; - load(urlLocation, unigramWeight, dictionary); - if (desiredMaxDepth > 0) { - if (desiredMaxDepth < maxNGram) { - maxNGram = desiredMaxDepth; - } - } - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#deallocate() - */ - public void deallocate() { - allocated = false; - } - - /* - * (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#getName() - */ - public String getName() { - return name; - } - - /** - * Gets the ngram probability of the word sequence represented by the word - * list - * - * @param wordSequence the word sequence - * @return the probability of the word sequence. Probability is in logMath - * log base - */ - public float getProbability(WordSequence wordSequence) { - float logProbability = 0.0f; - Probability prob = getProb(wordSequence); - if (prob == null) { - if (wordSequence.size() > 1) { - logProbability = getBackoff(wordSequence.getOldest()) - + getProbability(wordSequence.getNewest()); - } else { // if the single word is not in the model at all - // then its zero likelihood that we'll use it - logProbability = LogMath.LOG_ZERO; - } - } else { - logProbability = prob.logProbability; - } - // System.out.println("Search: " + wordSequence + " : " - // + logProbability + " " - // + logMath.logToLinear(logProbability)); - return logProbability; - } - - /** - * Gets the smear term for the given wordSequence - * - * @param wordSequence the word sequence - * @return the smear term associated with this word sequence - */ - public float getSmear(WordSequence wordSequence) { - return 0.0f; // TODO not implemented - } - - /** - * Returns the backoff probability for the give sequence of words - * - * @param wordSequence the sequence of words - * @return the backoff probability in LogMath log base - */ - public float getBackoff(WordSequence wordSequence) { - float logBackoff = 0.0f; // log of 1.0 - Probability prob = getProb(wordSequence); - if (prob != null) { - logBackoff = prob.logBackoff; - } - return logBackoff; - } - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language model - */ - public int getMaxDepth() { - return maxNGram; - } - - /** - * Returns the set of words in the language model. The set is unmodifiable. - * - * @return the unmodifiable set of words - */ - public Set getVocabulary() { - return Collections.unmodifiableSet(vocabulary); - } - - /** - * Gets the probability entry for the given word sequence or null if there - * is no entry - * - * @param wordSequence a word sequence - * @return the probability entry for the wordlist or null - */ - private Probability getProb(WordSequence wordSequence) { - return map.get(wordSequence); - } - - /** - * Converts a wordList to a string - * - * @param wordList the wordList - * @return the string - */ - @SuppressWarnings("unused") - private String listToString(List wordList) { - StringBuilder sb = new StringBuilder(); - for (Word word : wordList) - sb.append(word).append(' '); - return sb.toString(); - } - - /** Dumps the language model */ - public void dump() { - for (Map.Entry entry : map.entrySet()) - System.out.println(entry.getKey() + " " + entry.getValue()); - } - - /** - * Retrieves a string representation of the wordlist, suitable for map - * access - * - * @param wordList the list of words - * @return a string representation of the word list - */ - @SuppressWarnings("unused") - private String getRepresentation(List wordList) { - if (wordList.isEmpty()) - return ""; - StringBuilder sb = new StringBuilder(); - for (String word : wordList) - sb.append(word).append('+'); - sb.setLength(sb.length() - 1); - return sb.toString(); - } - - /** - * Loads the language model from the given location. - * - * @param location the URL location of the model - * @param unigramWeight the unigram weight - * @throws IOException if an error occurs while loading - */ - private void load(URL location, float unigramWeight, - Dictionary dictionary) throws IOException { - String line; - float logUnigramWeight = logMath.linearToLog(unigramWeight); - float inverseLogUnigramWeight = logMath - .linearToLog(1.0 - unigramWeight); - - open(location); - // look for beginning of data - readUntil("\\data\\"); - // look for ngram statements - List ngramList = new ArrayList(); - while ((line = readLine()) != null) { - if (line.startsWith("ngram")) { - StringTokenizer st = new StringTokenizer(line, " \t\n\r\f="); - if (st.countTokens() != 3) { - corrupt("corrupt ngram field " + line + ' ' - + st.countTokens()); - } - st.nextToken(); - int index = Integer.parseInt(st.nextToken()); - int count = Integer.parseInt(st.nextToken()); - ngramList.add(index - 1, count); - maxNGram = max(index, maxNGram); - } else if (line.equals("\\1-grams:")) { - break; - } - } - int numUnigrams = ngramList.get(0) - 1; - // -log(x) = log(1/x) - float logUniformProbability = -logMath.linearToLog(numUnigrams); - for (int index = 0; index < ngramList.size(); index++) { - int ngram = index + 1; - int ngramCount = ngramList.get(index); - for (int i = 0; i < ngramCount; i++) { - StringTokenizer tok = new StringTokenizer(readLine()); - int tokenCount = tok.countTokens(); - if (tokenCount != ngram + 1 && tokenCount != ngram + 2) { - corrupt("Bad format"); - } - float log10Prob = Float.parseFloat(tok.nextToken()); - float log10Backoff = 0.0f; - // construct the WordSequence for this N-Gram - List wordList = new ArrayList(maxNGram); - for (int j = 0; j < ngram; j++) { - String word = tok.nextToken(); - vocabulary.add(word); - Word wordObject = dictionary.getWord(word); - if (wordObject == null) { - wordObject = Word.UNKNOWN; - } - wordList.add(wordObject); - } - WordSequence wordSequence = new WordSequence(wordList); - if (tok.hasMoreTokens()) { - log10Backoff = Float.parseFloat(tok.nextToken()); - } - float logProb = logMath.log10ToLog(log10Prob); - float logBackoff = logMath.log10ToLog(log10Backoff); - // Apply unigram weights if this is a unigram probability - if (ngram == 1) { - float p1 = logProb + logUnigramWeight; - float p2 = logUniformProbability + inverseLogUnigramWeight; - logProb = logMath.addAsLinear(p1, p2); - // System.out - // .println("p1 " + p1 + " p2 " + p2 + " luw " - // + logUnigramWeight + " iluw " - // + inverseLogUnigramWeight + " lup " - // + logUniformProbability + " logprog " - // + logProb); - } - put(wordSequence, logProb, logBackoff); - } - if (index < ngramList.size() - 1) { - String next = "\\" + (ngram + 1) + "-grams:"; - readUntil(next); - } - } - readUntil("\\end\\"); - close(); - } - - /** - * Puts the probability into the map - * - * @param wordSequence the tag for the prob. - * @param logProb the probability in log math base - * @param logBackoff the backoff probability in log math base - */ - private void put(WordSequence wordSequence, float logProb, float logBackoff) { - // System.out.println("Putting " + wordSequence + " p " + logProb - // + " b " + logBackoff); - map.put(wordSequence, new Probability(logProb, logBackoff)); - tokens.add(wordSequence); - } - - /** - * Returns a list of all the word sequences in the language model This - * method is used to create Finite State Transducers of the language model. - * - * @return List containing all the word sequences - */ - public LinkedList getNGrams() { - return tokens; - } - - /** - * Reads the next line from the LM file. Keeps track of line number. - * - * @throws IOException if an error occurs while reading the input or an EOF - * is encountered. - */ - private String readLine() throws IOException { - String line; - lineNumber++; - line = reader.readLine(); - if (line == null) { - corrupt("Premature EOF"); - } - return line.trim(); - } - - /** - * Opens the language model at the given location - * - * @param location the path to the language model - * @throws IOException if an error occurs while opening the file - */ - private void open(URL location) throws - IOException { - lineNumber = 0; - fileName = location.toString(); - reader = new BufferedReader - (new InputStreamReader(location.openStream())); - } - - /** - * Reads from the input stream until the input matches the given string - * - * @param match the string to match on - * @throws IOException if an error occurs while reading the input or an EOF - * is encountered before finding the match - */ - private void readUntil(String match) throws IOException { - try { - while (!readLine().equals(match)) { - } - } catch (IOException ioe) { - corrupt("Premature EOF while waiting for " + match); - } - } - - /** - * Closes the language model file - * - * @throws IOException if an error occurs - */ - private void close() throws IOException { - reader.close(); - reader = null; - } - - /** - * Generates a 'corrupt' IO exception - * - * @throws IOException with the given string - */ - private void corrupt(String why) throws IOException { - throw new IOException("Corrupt Language Model " + fileName - + " at line " + lineNumber + ':' + why); - } -} - - -/** Represents a probability and a backoff probability */ - -class Probability { - - final float logProbability; - final float logBackoff; - - /** - * Constructs a probability - * - * @param logProbability the probability - * @param logBackoff the backoff probability - */ - Probability(float logProbability, float logBackoff) { - this.logProbability = logProbability; - this.logBackoff = logBackoff; - } - - /** - * Returns a string representation of this object - * - * @return the string form of this object - */ - @Override - public String toString() { - return "Prob: " + logProbability + ' ' + logBackoff; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryLoader.java deleted file mode 100755 index aa6f9cd4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryLoader.java +++ /dev/null @@ -1,841 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Anthony Rousseau, Teva Merlin, Yannick Esteve - - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Utilities; - -import java.io.*; -import java.util.regex.Pattern; -import java.util.regex.Matcher; - -/** - * Reads a binary NGram language model file ("DMP file") generated by the SphinxBase sphinx_lm_convert. - *

- * Note that all probabilities in the grammar are stored in LogMath log base format. Language - * Probabilities in the language model file are stored in log 10 base. They are converted to - * the LogMath base. - */ - -public class BinaryLoader { - - private static final String DARPA_TG_HEADER = "Darpa Trigram LM"; - private static final String DARPA_QG_HEADER = "Darpa Quadrigram LM"; - - // For convenience, NG Header is regular expression, so there is 2 extra characters in it. - // Therefore, header.length() must be adjusted by -1 (and not +1), - // and we use Pattern.matches() for equality in header names. - private static final String DARPA_NG_HEADER = "Darpa \\d-gram LM"; - - private static final int LOG2_NGRAM_SEGMENT_SIZE = 9; - - private static final float MIN_PROBABILITY = -99.0f; - private static final int MAX_PROB_TABLE_SIZE = java.lang.Integer.MAX_VALUE; - - private LogMath logMath; - - private int maxNGram; - - private float unigramWeight; - private float languageWeight; - - private double wip; - - private boolean bigEndian = true; - private boolean applyLanguageWeightAndWip; - - private long bytesRead; - - private UnigramProbability[] unigrams; - private String[] words; - - private long[] NGramOffset; - private int[] numberNGrams; - private int logNGramSegmentSize; - - private int startWordID; - private int endWordID; - - private int[][] NGramSegmentTable; - private float[][] NGramProbTable; - private float[][] NGramBackoffTable; - - private RandomAccessFile file; - - // Bytes multiplier for LM (2 = 16 bits, 4 = 32 bits) - private int bytesPerField; - - /** - * Initializes the binary loader - * - * @param location location of the model - * @param format file format - * @param applyLanguageWeightAndWip if true apply language weight and word insertion penalty - * @param languageWeight language weight - * @param wip word insertion probability - * @param unigramWeight unigram weight - * @throws IOException if an I/O error occurs - */ - public BinaryLoader(File location, String format, - boolean applyLanguageWeightAndWip, - float languageWeight, double wip, float unigramWeight) - throws IOException { - this(format, applyLanguageWeightAndWip, languageWeight, wip, unigramWeight); - loadModelLayout(new FileInputStream (location)); - file = new RandomAccessFile(location, "r"); - } - - - /** - * Initializes the binary loader - * - * @param format file format - * @param applyLanguageWeightAndWip if true apply language weight and word insertion penalty - * @param languageWeight language weight - * @param wip word insertion probability - * @param unigramWeight unigram weight - */ - public BinaryLoader(String format, boolean applyLanguageWeightAndWip, float - languageWeight, double wip, - float unigramWeight) { - startWordID = -1; - endWordID = -1; - this.applyLanguageWeightAndWip = applyLanguageWeightAndWip; - logMath = LogMath.getLogMath(); - this.languageWeight = languageWeight; - this.wip = wip; - this.unigramWeight = unigramWeight; - } - - public void deallocate() throws IOException { - if (null != file) - file.close(); - } - - /** - * Returns the number of unigrams - * - * @return the number of unigrams - */ - public int getNumberUnigrams() { - return getNumberNGrams(1); - } - - - /** - * Returns the number of bigrams - * - * @return the number of bigrams - */ - public int getNumberBigrams() { - return getNumberNGrams(2); - } - - - /** - * Returns the number of trigrams - * - * @return the number of trigrams - */ - public int getNumberTrigrams() { - return getNumberNGrams(3); - } - - - /** - * Returns the number of NGrams at - * a specified N order. - * - * @param n the desired order - * @return the number of NGrams - */ - public int getNumberNGrams(int n) { - // Be sure that we don't overcome the model - assert (n <= maxNGram) & (n > 0); - return numberNGrams[n - 1]; - } - - - /** - * Returns all the unigrams - * - * @return all the unigrams - */ - public UnigramProbability[] getUnigrams() { - return unigrams; - } - - - /** - * Returns all the bigram probabilities. - * - * @return all the bigram probabilities - */ - public float[] getBigramProbabilities() { - return getNGramProbabilities(2); - } - - - /** - * Returns all the trigram probabilities. - * - * @return all the trigram probabilities - */ - public float[] getTrigramProbabilities() { - return getNGramProbabilities(3); - } - - - /** - * Returns all the trigram backoff weights - * - * @return all the trigram backoff weights - */ - public float[] getTrigramBackoffWeights() { - return getNGramBackoffWeights(3); - } - - - /** - * Returns the trigram segment table. - * - * @return the trigram segment table - */ - public int[] getTrigramSegments() { - return getNGramSegments(3); - } - - - /** - * Returns the log of the bigram segment size - * - * @return the log of the bigram segment size - */ - public int getLogBigramSegmentSize() { - return logNGramSegmentSize; - } - - - /** - * Returns all the NGram probabilities at - * a specified N order. - * - * @param n the desired order - * @return all the NGram probabilities - */ - public float[] getNGramProbabilities(int n) { - // Be sure that we don't overcome the model - assert (n <= maxNGram) && (n > 1); - return NGramProbTable[n - 1]; - } - - - /** - * Returns all the NGram backoff weights at - * a specified N order. - * - * @param n the desired order - * @return all the NGram backoff weights - */ - public float[] getNGramBackoffWeights(int n) { - // Be sure that we don't overcome the model - assert (n <= maxNGram) & (n > 2); - return NGramBackoffTable[n - 1]; - } - - - /** - * Returns the NGram segment table at - * a specified order. - * - * @param n the desired order - * @return the NGram segment table - */ - public int[] getNGramSegments(int n) { - // Be sure that we don't overcome the model - assert (n <= maxNGram) & (n > 2); - return NGramSegmentTable[n - 1]; - } - - - /** - * Returns the log of the NGram segment size - * - * @return the log of the NGram segment size - */ - public int getLogNGramSegmentSize() { - return logNGramSegmentSize; - } - - - /** - * Returns all the words. - * - * @return all the words - */ - public String[] getWords() { - return words; - } - - - /** - * Returns the location (or offset) into the file where bigrams start. - * - * @return the location of the bigrams - */ - public long getBigramOffset() { - return getNGramOffset(2); - } - - - /** - * Returns the location (or offset) into the file where trigrams start. - * - * @return the location of the trigrams - */ - public long getTrigramOffset() { - return getNGramOffset(3); - } - - - /** - * Returns the location (or offset) into the file where NGrams start - * at a specified N order. - * - * @param n the desired order - * @return the location of the bigrams - */ - public long getNGramOffset(int n) { - // Be sure that we don't overcome the model - assert (n <= maxNGram) & (n > 1); - return NGramOffset[n - 1]; - } - - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language model - */ - public int getMaxDepth() { - return maxNGram; - } - - - /** - * Returns true if the loaded file is in big-endian. - * - * @return true if the loaded file is big-endian - */ - public boolean getBigEndian() { - return bigEndian; - } - - - /** - * Returns the multiplier for the size of a NGram - * (1 for 16 bits, 2 for 32 bits). - * - * @return the multiplier for the size of a NGram - */ - public int getBytesPerField() { - return bytesPerField; - } - - - /** - * Loads the contents of the memory-mapped file starting at the given position and for the given size, into a byte - * buffer. This method is implemented because MappedByteBuffer.load() does not work properly. - * - * @param position the starting position in the file - * @param size the number of bytes to load - * @return the loaded ByteBuffer - * @throws java.io.IOException if IO went wrong - */ - public byte[] loadBuffer(long position, int size) throws IOException { - // assert ((position + size) <= fileChannel.size()); - file.seek(position); - byte[] bytes = new byte[size]; - if (file.read(bytes) != size) { - throw new IOException("Incorrect number of bytes read. Size = " + size + ". Position =" + position + "."); - } - return bytes; - } - - - /** - * Loads the language model from the given file. - * - * @param inputStream stream to read the language model data - * @throws java.io.IOException if IO went wrong - */ - protected void loadModelLayout(InputStream inputStream) throws IOException { - - DataInputStream stream = new DataInputStream - (new BufferedInputStream(inputStream)); - - // read standard header string-size; set bigEndian flag - readHeader(stream); - - // +1 is the sentinel unigram at the end - unigrams = readUnigrams(stream, numberNGrams[0] + 1, bigEndian); - - skipNGrams(stream); - - // Read the NGram prob & bow tables - for (int i = 1; i < maxNGram; i++) { - if (numberNGrams[i] > 0) { - if (i == 1) { - NGramProbTable[i] = readFloatTable(stream, bigEndian); - } - else { - NGramBackoffTable[i] = readFloatTable(stream, bigEndian); - NGramProbTable[i] = readFloatTable(stream, bigEndian); - - int nMinus1gramSegmentSize = 1 << logNGramSegmentSize; - int NGramSegTableSize = ((numberNGrams[i - 1] + 1) / nMinus1gramSegmentSize) + 1; - - NGramSegmentTable[i] = readIntTable(stream, bigEndian, NGramSegTableSize); - } - } - } - - // read word string names - int wordsStringLength = readInt(stream, bigEndian); - if (wordsStringLength <= 0) { - throw new Error("Bad word string size: " + wordsStringLength); - } - - // read the string of all words - this.words = readWords(stream, wordsStringLength, numberNGrams[0]); - - // A voir - if (startWordID > -1) { - UnigramProbability unigram = unigrams[startWordID]; - unigram.setLogProbability(MIN_PROBABILITY); - } - if (endWordID > -1) { - UnigramProbability unigram = unigrams[endWordID]; - unigram.setLogBackoff(MIN_PROBABILITY); - } - - applyUnigramWeight(); - - if (applyLanguageWeightAndWip) { - for (int i = 0; i <= maxNGram; i++) { - applyLanguageWeight(NGramProbTable[i], languageWeight); - applyWip(NGramProbTable[i], wip); - - if (i > 1) { - applyLanguageWeight(NGramBackoffTable[i], languageWeight); - } - } - } - - stream.close(); - } - - - /** - * Reads the LM file header - * - * @param stream the data stream of the LM file - * @throws java.io.IOException - */ - private void readHeader(DataInputStream stream) throws IOException { - int headerLength = readInt(stream, bigEndian); - - if ((headerLength != DARPA_TG_HEADER.length() + 1) && (headerLength != DARPA_QG_HEADER.length() + 1) && (headerLength != DARPA_NG_HEADER.length() - 1)) { // not big-endian - headerLength = Utilities.swapInteger(headerLength); - if (headerLength == (DARPA_TG_HEADER.length() + 1) || headerLength == (DARPA_QG_HEADER.length() + 1) || headerLength == (DARPA_NG_HEADER.length() - 1)) { - bigEndian = false; - // System.out.println("Little-endian"); - } else { - throw new Error("Bad binary LM file magic number: " - + headerLength + ", not an LM dumpfile?"); - } - } else { - // System.out.println("Big-endian"); - } - - // read and verify standard header string - String header = readString(stream, headerLength - 1); - stream.readByte(); // read the '\0' - bytesRead++; - - if (!header.equals(DARPA_TG_HEADER) & !header.equals(DARPA_QG_HEADER) & !Pattern.matches(DARPA_NG_HEADER, header)) { - throw new Error("Bad binary LM file header: " + header); - } - else { - if (header.equals(DARPA_TG_HEADER)) - maxNGram = 3; - else if (header.equals(DARPA_QG_HEADER)) - maxNGram = 4; - else { - Pattern p = Pattern.compile("\\d"); - Matcher m = p.matcher(header); - maxNGram = Integer.parseInt(m.group()); - } - } - - // read LM filename string size and string - int fileNameLength = readInt(stream, bigEndian); - skipStreamBytes(stream, fileNameLength); - - numberNGrams = new int[maxNGram]; - NGramOffset = new long[maxNGram]; - NGramProbTable = new float[maxNGram][]; - NGramBackoffTable = new float[maxNGram][]; - NGramSegmentTable = new int[maxNGram][]; - - numberNGrams[0] = 0; - logNGramSegmentSize = LOG2_NGRAM_SEGMENT_SIZE; - - // read version number, if present. it must be <= 0. - - int version = readInt(stream, bigEndian); - // System.out.println("Version: " + version); - - bytesPerField = 2; - - if (version <= 0) { // yes, its the version number - readInt(stream, bigEndian); // read and skip timestamp - - // Means we are going 32 bits. - if (version <= -3) - bytesPerField = 4; - - // read and skip format description - int formatLength; - for (; ;) { - if ((formatLength = readInt(stream, bigEndian)) == 0) { - break; - } - bytesRead += stream.skipBytes(formatLength); - } - - // read log NGram segment size if present - // only for 16 bits version 2 LM - if (version == -2) { - logNGramSegmentSize = readInt(stream, bigEndian); - if (logNGramSegmentSize < 1 || logNGramSegmentSize > 15) { - throw new Error("log2(bg_seg_sz) outside range 1..15"); - } - } - - numberNGrams[0] = readInt(stream, bigEndian); - } else { - numberNGrams[0] = version; - } - - if (numberNGrams[0] <= 0) { - throw new Error("Bad number of unigrams: " + numberNGrams[0] - + ", must be > 0."); - } - - for (int i = 1; i < maxNGram; i++) { - if ((numberNGrams[i] = readInt(stream, bigEndian)) < 0) { - throw new Error("Bad number of " + String.valueOf(i) + "-grams: " + numberNGrams[i]); - } - } - } - - - /** - * Skips the NGrams of the LM. - * - * @param stream - * the source of data - * @throws java.io.IOException - */ - private void skipNGrams(DataInputStream stream) throws IOException { - long bytesToSkip; - - NGramOffset[1] = bytesRead; - bytesToSkip = (numberNGrams[1] + 1) * LargeNGramModel.BYTES_PER_NGRAM * getBytesPerField(); - skipStreamBytes(stream, bytesToSkip); - - for (int i = 2; i < maxNGram; i++) { - if (numberNGrams[i] > 0 && i < maxNGram - 1) { - NGramOffset[i] = bytesRead; - bytesToSkip = (long) (numberNGrams[i] + 1) * (long) LargeNGramModel.BYTES_PER_NGRAM * getBytesPerField(); - skipStreamBytes(stream, bytesToSkip); - } else if (numberNGrams[i] > 0 && i == maxNGram - 1) { - NGramOffset[i] = bytesRead; - bytesToSkip = (long) (numberNGrams[i]) * (long) LargeNGramModel.BYTES_PER_NMAXGRAM * getBytesPerField(); - skipStreamBytes(stream, bytesToSkip); - } - } - } - - /** - * Reliable skip - * - * @param stream stream - * @param bytes number of bytes - */ - private void skipStreamBytes(DataInputStream stream, long bytes) throws IOException { - while (bytes > 0) { - long skipped = stream.skip(bytes); - bytesRead += skipped; - bytes -= skipped; - } - } - - - /** Apply the unigram weight to the set of unigrams */ - private void applyUnigramWeight() { - float logUnigramWeight = logMath.linearToLog(unigramWeight); - float logNotUnigramWeight = logMath.linearToLog(1.0f - unigramWeight); - float logUniform = logMath.linearToLog(1.0f / (numberNGrams[0])); - - float logWip = logMath.linearToLog(wip); - - float p2 = logUniform + logNotUnigramWeight; - - for (int i = 0; i < numberNGrams[0]; i++) { - UnigramProbability unigram = unigrams[i]; - - float p1 = unigram.getLogProbability(); - - if (i != startWordID) { - p1 += logUnigramWeight; - p1 = logMath.addAsLinear(p1, p2); - } - - if (applyLanguageWeightAndWip) { - p1 = p1 * languageWeight + logWip; - unigram.setLogBackoff(unigram.getLogBackoff() * languageWeight); - } - - unigram.setLogProbability(p1); - } - } - - - /** Apply the language weight to the given array of probabilities. - */ - private void applyLanguageWeight(float[] logProbabilities, - float languageWeight) { - for (int i = 0; i < logProbabilities.length; i++) { - logProbabilities[i] = logProbabilities[i] * languageWeight; - } - } - - - /** Apply the WIP to the given array of probabilities. - */ - private void applyWip(float[] logProbabilities, double wip) { - float logWip = logMath.linearToLog(wip); - for (int i = 0; i < logProbabilities.length; i++) { - logProbabilities[i] = logProbabilities[i] + logWip; - } - } - - - /** - * Reads the probability table from the given DataInputStream. - * - * @param stream the DataInputStream from which to read the table - * @param bigEndian true if the given stream is bigEndian, false otherwise - * @throws java.io.IOException - */ - private float[] readFloatTable(DataInputStream stream, boolean bigEndian) - throws IOException { - - int numProbs = readInt(stream, bigEndian); - if (numProbs <= 0 || numProbs > MAX_PROB_TABLE_SIZE) { - throw new Error("Bad probabilities table size: " + numProbs); - } - - float[] probTable = new float[numProbs]; - - for (int i = 0; i < numProbs; i++) { - //probTable[i] = readFloat(stream, bigEndian); - probTable[i] = logMath.log10ToLog(readFloat(stream, bigEndian)); - } - - return probTable; - } - - - /** - * Reads a table of integers from the given DataInputStream. - * - * @param stream the DataInputStream from which to read the table - * @param bigEndian true if the given stream is bigEndian, false otherwise - * @param tableSize the size of the NGram segment table - * @return the NGram segment table, which is an array of integers - * @throws java.io.IOException - */ - private int[] readIntTable(DataInputStream stream, boolean bigEndian, - int tableSize) throws IOException { - int numSegments = readInt(stream, bigEndian); - if (numSegments != tableSize) { - throw new Error("Bad NGram seg table size: " + numSegments); - } - int[] segmentTable = new int[numSegments]; - for (int i = 0; i < numSegments; i++) { - segmentTable[i] = readInt(stream, bigEndian); - } - return segmentTable; - } - - - /** - * Read in the unigrams in the given DataInputStream. - * - * @param stream the DataInputStream to read from - * @param numberUnigrams the number of unigrams to read - * @param bigEndian true if the DataInputStream is big-endian, false otherwise - * @return an array of UnigramProbability index by the unigram ID - * @throws java.io.IOException - */ - private UnigramProbability[] readUnigrams(DataInputStream stream, - int numberUnigrams, boolean bigEndian) throws IOException { - - UnigramProbability[] unigrams = new UnigramProbability[numberUnigrams]; - - for (int i = 0; i < numberUnigrams; i++) { - - // read unigram ID, unigram probability, unigram backoff weight - int unigramID = readInt(stream, bigEndian); - - /* Some tools to convert to DMP doesn't store ID's in unigrams */ - if (unigramID < 1) - unigramID = i; - - // if we're not reading the sentinel unigram at the end, - // make sure that the unigram IDs are consecutive - if (i != (numberUnigrams - 1)) { - assert (unigramID == i); - } - - float unigramProbability = readFloat(stream, bigEndian); - float unigramBackoff = readFloat(stream, bigEndian); - int firstBigramEntry = readInt(stream, bigEndian); - - float logProbability = logMath.log10ToLog(unigramProbability); - float logBackoff = logMath.log10ToLog(unigramBackoff); - - unigrams[i] = new UnigramProbability(unigramID, logProbability, - logBackoff, firstBigramEntry); - } - - return unigrams; - } - - - /** - * Reads an integer from the given DataInputStream. - * - * @param stream the DataInputStream to read from - * @param bigEndian true if the DataInputStream is in bigEndian, false otherwise - * @return the integer read - * @throws java.io.IOException - */ - private int readInt(DataInputStream stream, boolean bigEndian) - throws IOException { - bytesRead += 4; - if (bigEndian) { - return stream.readInt(); - } else { - return Utilities.readLittleEndianInt(stream); - } - } - - - /** - * Reads a float from the given DataInputStream. - * - * @param stream the DataInputStream to read from - * @param bigEndian true if the DataInputStream is in bigEndian, false otherwise - * @return the float read - * @throws java.io.IOException - */ - private float readFloat(DataInputStream stream, boolean bigEndian) - throws IOException { - bytesRead += 4; - if (bigEndian) { - return stream.readFloat(); - } else { - return Utilities.readLittleEndianFloat(stream); - } - } - - - - /** - * Reads a string of the given length from the given DataInputStream. It is assumed that the DataInputStream - * contains 8-bit chars. - * - * @param stream the DataInputStream to read from - * @param length the number of characters in the returned string - * @return a string of the given length from the given DataInputStream - * @throws java.io.IOException - */ - private String readString(DataInputStream stream, int length) - throws IOException { - StringBuilder builder = new StringBuilder(); - byte[] bytes = new byte[length]; - bytesRead += stream.read(bytes); - - for (int i = 0; i < length; i++) { - builder.append((char) bytes[i]); - } - return builder.toString(); - } - - - /** - * Reads a series of consecutive Strings from the given stream. - * - * @param stream the DataInputStream to read from - * @param length the total length in bytes of all the Strings - * @param numberUnigrams the number of String to read - * @return an array of the Strings read - * @throws java.io.IOException - */ - private String[] readWords(DataInputStream stream, int length, - int numberUnigrams) throws IOException { - String[] words = new String[numberUnigrams]; - byte[] bytes = new byte[length]; - bytesRead += stream.read(bytes); - - int s = 0; - int wordStart = 0; - for (int i = 0; i < length; i++) { - char c = (char) (bytes[i] & 0xFF); - bytesRead++; - if (c == '\0') { - // if its the end of a string, add it to the 'words' array - words[s] = new String(bytes, wordStart, i - wordStart); - wordStart = i + 1; - if (words[s].equals(Dictionary.SENTENCE_START_SPELLING)) { - startWordID = s; - } else if (words[s].equals(Dictionary.SENTENCE_END_SPELLING)) { - endWordID = s; - } - s++; - } - } - assert (s == numberUnigrams); - return words; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryStreamLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryStreamLoader.java deleted file mode 100755 index e287f390..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/BinaryStreamLoader.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2010 PC-NG Inc. - * - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; - -/** - * Language model that reads whole model into memory. Useful - * for loading language models from resources or external locations. - * - * @author Nikolay Shmyrev - */ -public class BinaryStreamLoader extends BinaryLoader { - - byte[] modelData; - - public BinaryStreamLoader(URL location, String format, boolean - applyLanguageWeightAndWip, - float languageWeight, double wip, - float unigramWeight) - throws IOException - { - super(format, applyLanguageWeightAndWip, languageWeight, wip, - unigramWeight); - - InputStream stream = location.openStream(); - loadModelLayout(stream); - - stream = location.openStream(); - loadModelData(stream); - } - - - /** - * Reads whole data into memory - * - * @param stream the stream to load model from - * @throws IOException - */ - private void loadModelData(InputStream stream) throws IOException { - DataInputStream dataStream = new DataInputStream (new BufferedInputStream (stream)); - ByteArrayOutputStream bytes = new ByteArrayOutputStream(); - byte[] buffer = new byte[4096]; - while (true) { - if (dataStream.read(buffer) < 0) - break; - bytes.write(buffer); - } - modelData = bytes.toByteArray(); - } - - @Override - public byte[] loadBuffer(long position, int size) throws IOException { - byte[] result = new byte[size]; - System.arraycopy(modelData, (int)position, result, 0, size); - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/KeywordOptimizerLargeNGramModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/KeywordOptimizerLargeNGramModel.java deleted file mode 100755 index 5a058e02..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/KeywordOptimizerLargeNGramModel.java +++ /dev/null @@ -1,64 +0,0 @@ -package edu.cmu.sphinx.linguist.language.ngram.large; - -import edu.cmu.sphinx.linguist.language.ngram.large.LargeNGramModel; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; - -import java.util.*; - -/** - * Use a largeNGramModel that also can be adjusted depending on context. - * A model that optimizes the search by giving a preference to - * the list of keywords. - *

- * Example of use in calling program using config file: - *
- * - * KeywordOptimizerLargeNGramModel model = - * (KeywordOptimizerLargeNGramModel) cm.lookup("trigramModel"); - * model.keywordProbs = this.hashProbs; - *

- * Create hashProbs by loading keywords and changes to probabilities, - * string, float pairs. Keywords may be all lower case.
- * - * hashProbs.put("keyword", 0.5f); - * @author daktari3 - * @version 2010-12-16 - * @see LargeNGramModel - * @see edu.cmu.sphinx.linguist.language.ngram.KeywordOptimizerModel - * - */ - -public class KeywordOptimizerLargeNGramModel extends LargeNGramModel { - - /** - * hash map of probability adjustments settable by - * user program. - * - */ - public HashMap keywordProbs; - - /** - * Gets the ngram probability of the word sequence represented by the word list - * - * @param wordSequence the word sequence - * @return the probability of the word sequence. Probability is in logMath log base - */ - @Override - public float getProbability(WordSequence wordSequence) { - float prob = super.getProbability(wordSequence); - - if (keywordProbs == null) - return prob; - - for (Word word : wordSequence.getWords()) { - String ws = word.toString(); - if (keywordProbs.containsKey(ws)) { - prob *= keywordProbs.get(ws); - } - } - - return prob; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNGramModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNGramModel.java deleted file mode 100755 index 3832c000..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNGramModel.java +++ /dev/null @@ -1,1100 +0,0 @@ -/* - * Copyright 2010 LIUM, based on Carnegie Mellon University previous work. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - -import java.io.*; -import java.net.URL; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.linguist.util.LRUCache; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.*; - -/** - * Language model that uses a binary NGram language model file ("DMP file") - * generated by the SphinxBase sphinx_lm_convert. - */ - -public class LargeNGramModel implements LanguageModel { - - /** - * The property for the name of the file that logs all the queried N-grams. - * If this property is set to null, it means that the queried N-grams are - * not logged. - */ - @S4String(mandatory = false) - public static final String PROP_QUERY_LOG_FILE = "queryLogFile"; - - /** The property that defines that maximum number of ngrams to be cached */ - @S4Integer(defaultValue = 100000) - public static final String PROP_NGRAM_CACHE_SIZE = "ngramCacheSize"; - - /** - * The property that controls whether the ngram caches are cleared after - * every utterance - */ - @S4Boolean(defaultValue = false) - public static final String PROP_CLEAR_CACHES_AFTER_UTTERANCE = "clearCachesAfterUtterance"; - - /** The property that defines the language weight for the search */ - @S4Double(defaultValue = 1.0f) - public final static String PROP_LANGUAGE_WEIGHT = "languageWeight"; - - /** - * The property that controls whether or not the language model will apply - * the language weight and word insertion probability - */ - @S4Boolean(defaultValue = false) - public final static String PROP_APPLY_LANGUAGE_WEIGHT_AND_WIP = "applyLanguageWeightAndWip"; - - /** Word insertion probability property */ - @S4Double(defaultValue = 1.0f) - public final static String PROP_WORD_INSERTION_PROBABILITY = "wordInsertionProbability"; - - /** If true, use full bigram information to determine smear */ - @S4Boolean(defaultValue = false) - public final static String PROP_FULL_SMEAR = "fullSmear"; - - /** - * The number of bytes per N-gram in the LM file generated by the - * CMU-Cambridge Statistical Language Modeling Toolkit. - */ - public static final int BYTES_PER_NGRAM = 4; - public static final int BYTES_PER_NMAXGRAM = 2; - - private final static int SMEAR_MAGIC = 0xC0CAC01A; // things go better - - // ------------------------------ - // Configuration data - // ------------------------------ - URL location; - protected Logger logger; - protected LogMath logMath; - protected int maxDepth; - - protected int ngramCacheSize; - protected boolean clearCacheAfterUtterance; - - protected boolean fullSmear; - - protected Dictionary dictionary; - protected String format; - protected boolean applyLanguageWeightAndWip; - protected float languageWeight; - protected float unigramWeight; - protected double wip; - - // ------------------------------- - // Statistics - // ------------------------------- - private int ngramMisses; - private int ngramHits; - private int smearTermCount; - protected String ngramLogFile; - - // ------------------------------- - // subcomponents - // -------------------------------- - private BinaryLoader loader; - private PrintWriter logFile; - - // ------------------------------- - // Working data - // -------------------------------- - private Map unigramIDMap; - private Map[] loadedNGramBuffers; - private LRUCache ngramProbCache; - private Map bigramSmearMap; - - private NGramBuffer[] loadedBigramBuffers; - private UnigramProbability[] unigrams; - private int[][] ngramSegmentTable; - private float[][] ngramProbTable; - private float[][] ngramBackoffTable; - private float[] unigramSmearTerm; - - public LargeNGramModel(String format, URL location, String ngramLogFile, - int maxNGramCacheSize, boolean clearCacheAfterUtterance, - int maxDepth, Dictionary dictionary, - boolean applyLanguageWeightAndWip, float languageWeight, - double wip, float unigramWeight, boolean fullSmear) { - logger = Logger.getLogger(getClass().getName()); - this.format = format; - this.location = location; - this.ngramLogFile = ngramLogFile; - this.ngramCacheSize = maxNGramCacheSize; - this.clearCacheAfterUtterance = clearCacheAfterUtterance; - this.maxDepth = maxDepth; - logMath = LogMath.getLogMath(); - this.dictionary = dictionary; - this.applyLanguageWeightAndWip = applyLanguageWeightAndWip; - this.languageWeight = languageWeight; - this.wip = wip; - this.unigramWeight = unigramWeight; - this.fullSmear = fullSmear; - } - - public LargeNGramModel() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx. - * util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - location = ConfigurationManagerUtils.getResource(PROP_LOCATION, ps); - ngramLogFile = ps.getString(PROP_QUERY_LOG_FILE); - ngramCacheSize = ps.getInt(PROP_NGRAM_CACHE_SIZE); - clearCacheAfterUtterance = ps - .getBoolean(PROP_CLEAR_CACHES_AFTER_UTTERANCE); - maxDepth = ps.getInt(LanguageModel.PROP_MAX_DEPTH); - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - applyLanguageWeightAndWip = ps - .getBoolean(PROP_APPLY_LANGUAGE_WEIGHT_AND_WIP); - languageWeight = ps.getFloat(PROP_LANGUAGE_WEIGHT); - wip = ps.getDouble(PROP_WORD_INSERTION_PROBABILITY); - unigramWeight = ps.getFloat(PROP_UNIGRAM_WEIGHT); - fullSmear = ps.getBoolean(PROP_FULL_SMEAR); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#allocate() - */ - @SuppressWarnings("unchecked") - public void allocate() throws IOException { - TimerPool.getTimer(this, "Load LM").start(); - - logger.info("Loading n-gram language model from: " + location); - - // create the log file if specified - if (ngramLogFile != null) - logFile = new PrintWriter(new FileOutputStream(ngramLogFile)); - - if (location.getProtocol() == null - || location.getProtocol().equals("file")) { - try { - loader = new BinaryLoader(new File(location.toURI()), format, - applyLanguageWeightAndWip, languageWeight, wip, - unigramWeight); - } catch (Exception e) { - loader = new BinaryLoader(new File(location.getPath()), format, - applyLanguageWeightAndWip, languageWeight, wip, - unigramWeight); - } - } else { - loader = new BinaryStreamLoader(location, format, - applyLanguageWeightAndWip, languageWeight, wip, - unigramWeight); - } - - unigramIDMap = new HashMap(); - unigrams = loader.getUnigrams(); - loadedNGramBuffers = new Map[loader.getMaxDepth()]; - ngramProbTable = new float[loader.getMaxDepth()][]; - ngramBackoffTable = new float[loader.getMaxDepth()][]; - ngramSegmentTable = new int[loader.getMaxDepth()][]; - - for (int i = 1; i <= loader.getMaxDepth(); i++) { - loadedNGramBuffers[i - 1] = new HashMap(); - - if (i >= 2) - ngramProbTable[i - 1] = loader.getNGramProbabilities(i); - - if (i > 2) { - ngramBackoffTable[i - 1] = loader.getNGramBackoffWeights(i); - ngramSegmentTable[i - 1] = loader.getNGramSegments(i); - } - } - - ngramProbCache = new LRUCache(ngramCacheSize); - if (dictionary != null) - buildUnigramIDMap(dictionary); - else - buildUnigramIDMap(); - loadedBigramBuffers = new NGramBuffer[unigrams.length]; - - if (maxDepth <= 0 || maxDepth > loader.getMaxDepth()) - maxDepth = loader.getMaxDepth(); - - for (int i = 1; i <= loader.getMaxDepth(); i++) - logger.info(Integer.toString(i) + "-grams: " - + loader.getNumberNGrams(i)); - - if (fullSmear) { - System.out.println("Full Smear"); - try { - System.out.println("... Reading ..."); - readSmearInfo("smear.dat"); - System.out.println("... Done "); - } catch (IOException e) { - System.out.println("... " + e); - System.out.println("... Calculating"); - buildSmearInfo(); - System.out.println("... Writing"); - // writeSmearInfo("smear.dat"); - System.out.println("... Done"); - } - } - - TimerPool.getTimer(this, "Load LM").stop(); - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.language.ngram.LanguageModel#deallocate() - */ - public void deallocate() throws IOException { - loader.deallocate(); - } - - /** - * Builds the map from unigram to unigramID. Also finds the startWordID and - * endWordID. - * - * @param dictionary - * */ - private void buildUnigramIDMap(Dictionary dictionary) { - int missingWords = 0; - String[] words = loader.getWords(); - for (int i = 0; i < words.length; i++) { - Word word = dictionary.getWord(words[i]); - - if (word == null) { - logger.warning("The dictionary is missing a phonetic transcription for the word '" - + words[i] + "'"); - missingWords++; - } - - unigramIDMap.put(word, unigrams[i]); - - if (logger.isLoggable(Level.FINE)) - logger.fine("Word: " + word); - } - - if (missingWords > 0) - logger.warning("Dictionary is missing " + missingWords - + " words that are contained in the language model."); - } - - private void buildUnigramIDMap() { - String[] words = loader.getWords(); - for (int i = 0; i < words.length; i++) { - Word word = new Word(words[i], null, false); - - unigramIDMap.put(word, unigrams[i]); - } - } - - /** Called after a recognition */ - public void stop() { - clearCache(); - - if (logFile != null) { - logFile.println(""); - logFile.flush(); - } - } - - /** Clears the various N-gram caches. */ - private void clearCache() { - for (int i = 0; i < loadedBigramBuffers.length; i++) { - NGramBuffer buffer = loadedBigramBuffers[i]; - - if (buffer != null) { - if (!buffer.getUsed()) - loadedBigramBuffers[i] = null; // free the BigramBuffer - else - buffer.setUsed(false); - } - } - - loadedBigramBuffers = new NGramBuffer[unigrams.length]; - for (int i = 2; i <= loader.getMaxDepth(); i++) { - loadedNGramBuffers[i - 1] = new HashMap(); - } - logger.info("LM Cache Size: " + ngramProbCache.size() + " Hits: " - + ngramHits + " Misses: " + ngramMisses); - if (clearCacheAfterUtterance) { - ngramProbCache = new LRUCache(ngramCacheSize); - } - } - - /** - * Gets the ngram probability of the word sequence represented by the word - * list - * - * @param wordSequence - * the word sequence - * @return the probability of the word sequence. Probability is in logMath - * log base - */ - public float getProbability(WordSequence wordSequence) { - int numberWords = wordSequence.size(); - Float probability; - - if (numberWords > maxDepth) { - throw new Error("Unsupported NGram: " + wordSequence.size()); - } - - if (numberWords == maxDepth) { - probability = ngramProbCache.get(wordSequence); - - if (probability != null) { - ngramHits++; - return probability; - } - ngramMisses++; - } - - probability = getNGramProbability(wordSequence); - - if (numberWords == maxDepth) - ngramProbCache.put(wordSequence, probability); - - if (logFile != null && probability != null) - logFile.println(wordSequence.toString().replace("][", " ") + " : " - + Float.toString(probability)); - - return probability; - } - - private Float getNGramProbability(WordSequence wordSequence) { - int numberWords = wordSequence.size(); - Word firstWord = wordSequence.getWord(0); - - if (loader.getNumberNGrams(numberWords) == 0 || !hasUnigram(firstWord)) - return getNGramProbability(wordSequence.getNewest()); - - if (numberWords < 2) { - return getUnigramProbability(wordSequence); - } - - NGramProbability nGProbability = findNGram(wordSequence); - - if (nGProbability != null) { - return ngramProbTable[numberWords - 1][nGProbability - .getProbabilityID()]; - } - - if (numberWords == 2) { - UnigramProbability unigramProb = getUnigram(firstWord); - UnigramProbability unigramProb1 = getUnigram(wordSequence - .getWord(1)); - return unigramProb.getLogBackoff() - + unigramProb1.getLogProbability(); - } - - NGramProbability nMinus1Gram = findNGram(wordSequence.getOldest()); - - if (nMinus1Gram != null) { - return ngramBackoffTable[numberWords - 1][nMinus1Gram - .getBackoffID()] + getProbability(wordSequence.getNewest()); - } - - return getProbability(wordSequence.getNewest()); - } - - /** - * Finds or loads the NGram probability of the given NGram. - * - * @param wordSequence - * the NGram to load - * @return a NGramProbability of the given NGram - */ - private NGramProbability findNGram(WordSequence wordSequence) { - int numberWords = wordSequence.size(); - NGramProbability nGram = null; - - WordSequence oldest = wordSequence.getOldest(); - NGramBuffer nGramBuffer = loadedNGramBuffers[numberWords - 1] - .get(oldest); - if (nGramBuffer == null) { - nGramBuffer = getNGramBuffer(oldest); - if (nGramBuffer != null) - loadedNGramBuffers[numberWords - 1].put(oldest, nGramBuffer); - } - - if (nGramBuffer != null) { - int nthWordID = getWordID(wordSequence.getWord(numberWords - 1)); - nGram = nGramBuffer.findNGram(nthWordID); - } - - return nGram; - } - - /** - * Tells if the model is 16 or 32 bits. - * - * @return true if 32 bits, false otherwise - */ - private boolean is32bits() { - if (loader.getBytesPerField() == 4) - return true; - return false; - } - - /** - * Loads into a buffer all the NGram followers of the given N-1Gram. - * - * @param ws - * the N-1Gram to find followers - * - * @return a NGramBuffer of all the NGram followers of the given sequence - */ - private NGramBuffer loadNGramBuffer(WordSequence ws) { - int firstWordID = getWordID(ws.getWord(0)); - int firstCurrentNGramEntry = 0; - int numberNGrams = 0; - int size = 0; - long position = 0; - int orderBuffer = ws.size() + 1; - NGramBuffer currentBuffer = null; - NGramBuffer nMinus1Buffer = null; - - firstCurrentNGramEntry = unigrams[firstWordID].getFirstBigramEntry(); - numberNGrams = getNumberBigramFollowers(firstWordID) + 1; - - if (numberNGrams == 1) // 1 means that there is no bigram starting with - // firstWordID - return null; - - if (orderBuffer == 2) { - size = numberNGrams - * ((loader.getMaxDepth() == orderBuffer) ? BYTES_PER_NMAXGRAM - : BYTES_PER_NGRAM) * loader.getBytesPerField(); - position = (loader.getNGramOffset(orderBuffer) + (firstCurrentNGramEntry - * ((loader.getMaxDepth() == orderBuffer) ? BYTES_PER_NMAXGRAM - : BYTES_PER_NGRAM) * loader.getBytesPerField())); - } else { // only for ws.size() >= 2 - int lastWordId = getWordID(ws.getWord(ws.size() - 1)); - nMinus1Buffer = getNGramBuffer(ws.getOldest()); - int index = nMinus1Buffer.findNGramIndex(lastWordId); - - if (index == -1) - return null; - - int firstNMinus1GramEntry = nMinus1Buffer.getFirstNGramEntry(); - firstCurrentNGramEntry = getFirstNGramEntry( - nMinus1Buffer.getNGramProbability(index), - firstNMinus1GramEntry, orderBuffer); - int firstNextNGramEntry = getFirstNGramEntry( - nMinus1Buffer.getNGramProbability(index + 1), - firstNMinus1GramEntry, orderBuffer); - numberNGrams = firstNextNGramEntry - firstCurrentNGramEntry; - - if (numberNGrams == 0) - return null; - - if (loader.getMaxDepth() != orderBuffer) - numberNGrams++; - - size = numberNGrams - * ((loader.getMaxDepth() == orderBuffer) ? BYTES_PER_NMAXGRAM - : BYTES_PER_NGRAM) * loader.getBytesPerField(); - position = loader.getNGramOffset(orderBuffer) - + (long) firstCurrentNGramEntry - * (long) ((loader.getMaxDepth() == orderBuffer) ? BYTES_PER_NMAXGRAM - : BYTES_PER_NGRAM) * loader.getBytesPerField(); - } - - try { - byte[] buffer = loader.loadBuffer(position, size); - - if (loader.getMaxDepth() == orderBuffer) { - currentBuffer = new NMaxGramBuffer(buffer, numberNGrams, - loader.getBigEndian(), is32bits(), orderBuffer, - firstCurrentNGramEntry); - } else { - currentBuffer = new NGramBuffer(buffer, numberNGrams, - loader.getBigEndian(), is32bits(), orderBuffer, - firstCurrentNGramEntry); - } - } catch (IOException ioe) { - ioe.printStackTrace(); - throw new Error("Error loading " + orderBuffer + "-Grams."); - } - - return currentBuffer; - } - - /** - * Returns the NGrams of the given word sequence - * - * @param wordSequence - * the word sequence from which to get the buffer - * @return the NGramBuffer of the word sequence - */ - private NGramBuffer getNGramBuffer(WordSequence wordSequence) { - NGramBuffer nGramBuffer = null; - int order = wordSequence.size(); - - if (order > 1) - nGramBuffer = loadedNGramBuffers[order - 1].get(wordSequence); // better - // when - // using - // containsKey - - if (nGramBuffer == null) { - nGramBuffer = loadNGramBuffer(wordSequence); - - if (nGramBuffer != null) - loadedNGramBuffers[order - 1].put(wordSequence, nGramBuffer); // optimizable - // by - // adding - // an - // 'empty' - // nGramBuffer - } - - return nGramBuffer; - } - - /** - * Returns the index of the first NGram entry of the given N-1Gram - * - * @param nMinus1Gram - * the N-1Gram which first NGram entry we're looking for - * @param firstNMinus1GramEntry - * the index of the first N-1Gram entry of the N-1Gram in - * question - * @param n - * the order of the NGram - * @return the index of the first NGram entry of the given N-1Gram - */ - private int getFirstNGramEntry(NGramProbability nMinus1Gram, - int firstNMinus1GramEntry, int n) { - int firstNGramEntry = ngramSegmentTable[n - 1][(firstNMinus1GramEntry + nMinus1Gram - .getWhichFollower()) >> loader.getLogNGramSegmentSize()] - + nMinus1Gram.getFirstNPlus1GramEntry(); - - return firstNGramEntry; - } - - /** - * Returns the unigram probability of the given unigram. - * - * @param wordSequence - * the unigram word sequence - * @return the unigram probability - */ - private float getUnigramProbability(WordSequence wordSequence) { - Word unigram = wordSequence.getWord(0); - UnigramProbability unigramProb = getUnigram(unigram); - - if (unigramProb == null) - throw new Error("Unigram not in LM: " + unigram); - - return unigramProb.getLogProbability(); - } - - /** - * Returns its UnigramProbability if this language model has the given - * unigram. - * - * @param unigram - * the unigram to find - * @return the UnigramProbability, or null if this language model does not - * have the unigram - */ - private UnigramProbability getUnigram(Word unigram) { - return unigramIDMap.get(unigram); - } - - /** - * Returns true if this language model has the given unigram. - * - * @param unigram - * the unigram to find - * @return true if this LM has this unigram, false otherwise - */ - private boolean hasUnigram(Word unigram) { - return (unigramIDMap.get(unigram) != null); - } - - /** - * Returns the ID of the given word. - * - * @param word - * the word to find the ID - * @return the ID of the word - */ - public final int getWordID(Word word) { - UnigramProbability probability = getUnigram(word); - - if (probability == null) - throw new IllegalArgumentException("No word ID: " + word); - else - return probability.getWordID(); - } - - /** - * Returns true if the language model contains the given word - * - * @param w word - * @return if word is in the language model - */ - public boolean hasWord(Word w) { - return (unigramIDMap.get(new Word(w.toString(), null, false)) != null); - } - - /** - * Gets the smear term for the given wordSequence - * - * @param wordSequence - * the word sequence - * @return the smear term associated with this word sequence - */ - public float getSmearOld(WordSequence wordSequence) { - float smearTerm = 0.0f; - - if (fullSmear) { - int length = wordSequence.size(); - - if (length > 0) { - int wordID = getWordID(wordSequence.getWord(length - 1)); - smearTerm = unigramSmearTerm[wordID]; - } - } - - if (fullSmear && logger.isLoggable(Level.FINE)) - logger.fine("SmearTerm: " + smearTerm); - - return smearTerm; - } - - int smearCount; - int smearBigramHit; - - public float getSmear(WordSequence wordSequence) { - float smearTerm = 0.0f; - - if (fullSmear) { - smearCount++; - int length = wordSequence.size(); - - if (length == 1) { - int wordID = getWordID(wordSequence.getWord(0)); - smearTerm = unigramSmearTerm[wordID]; - } else if (length >= 2) { - int size = wordSequence.size(); - int wordID1 = getWordID(wordSequence.getWord(size - 2)); - int wordID2 = getWordID(wordSequence.getWord(size - 1)); - Float st = getSmearTerm(wordID1, wordID2); - - if (st == null) - smearTerm = unigramSmearTerm[wordID2]; - else { - smearTerm = st; - smearBigramHit++; - } - } - - if (smearCount % 100000 == 0) - System.out.println("Smear hit: " + smearBigramHit + " tot: " - + smearCount); - } - - if (fullSmear && logger.isLoggable(Level.FINE)) - logger.fine("SmearTerm: " + smearTerm); - - return smearTerm; - } - - /** - * Returns the number of bigram followers of a word. - * - * @param wordID - * the ID of the word - * @return the number of bigram followers - */ - private int getNumberBigramFollowers(int wordID) { - if (wordID == unigrams.length - 1) - return 0; - else - return unigrams[wordID + 1].getFirstBigramEntry() - - unigrams[wordID].getFirstBigramEntry(); - } - - /** - * Returns the maximum depth of the language model - * - * @return the maximum depth of the language model - */ - public int getMaxDepth() { - return maxDepth; - } - - /** - * Returns the set of words in the language model. The set is unmodifiable. - * - * @return the unmodifiable set of words - */ - public Set getVocabulary() { - Set vocabulary = new HashSet(Arrays.asList(loader - .getWords())); - return Collections.unmodifiableSet(vocabulary); - } - - /** - * Returns the number of times when a NGram is queried, but there is no such - * NGram in the LM (in which case it uses the backoff probabilities). - * - * @return the number of NGram misses - */ - public int getNGramMisses() { - return ngramMisses; - } - - /** - * Returns the number of NGram hits. - * - * @return the number of NGram hits - */ - public int getNGramHits() { - return ngramHits; - } - - /** - * Returns the bigrams of the given word - * - * @param firstWordID - * the ID of the word - * - * @return the bigrams of the word - */ - private NGramBuffer getBigramBuffer(int firstWordID) { - Word[] wd = new Word[1]; - wd[0] = dictionary.getWord(loader.getWords()[firstWordID]); - WordSequence ws = new WordSequence(wd); - - return loadNGramBuffer(ws); - } - - /** - * Loads into a buffer all the trigram followers of the given bigram. - * - * @param firstWordID - * the ID of the first word - * @param secondWordID - * the ID of the second word - * - * @return a TrigramBuffer of all the trigram followers of the given two - * words - */ - private NGramBuffer loadTrigramBuffer(int firstWordID, int secondWordID) { - Word[] wd = new Word[2]; - wd[0] = dictionary.getWord(loader.getWords()[firstWordID]); - wd[1] = dictionary.getWord(loader.getWords()[secondWordID]); - WordSequence ws = new WordSequence(wd); - - return loadNGramBuffer(ws); - } - - private void buildSmearInfo() throws IOException { - double S0 = 0; - double R0 = 0; - - bigramSmearMap = new HashMap(); - - double[] ugNumerator = new double[unigrams.length]; - double[] ugDenominator = new double[unigrams.length]; - double[] ugAvgLogProb = new double[unigrams.length]; - - unigramSmearTerm = new float[unigrams.length]; - - for (UnigramProbability unigram : unigrams) { - float logp = unigram.getLogProbability(); - double p = logMath.logToLinear(logp); - S0 += p * logp; - R0 += p * logp * logp; - } - - System.out.println("R0 S0 " + R0 + ' ' + S0); - - for (int i = 0; i < loadedBigramBuffers.length; i++) { - NGramBuffer bigram = getBigramBuffer(i); - - if (bigram == null) { - unigramSmearTerm[i] = LogMath.LOG_ONE; - continue; - } - - ugNumerator[i] = 0.0; - ugDenominator[i] = 0.0; - ugAvgLogProb[i] = 0.0; - - float logugbackoff = unigrams[i].getLogBackoff(); - double ugbackoff = logMath.logToLinear(logugbackoff); - - for (int j = 0; j < bigram.getNumberNGrams(); j++) { - int wordID = bigram.getWordID(j); - NGramProbability bgProb = bigram.getNGramProbability(j); - - float logugprob = unigrams[wordID].getLogProbability(); - float logbgprob = ngramProbTable[1][bgProb.getProbabilityID()]; - - double ugprob = logMath.logToLinear(logugprob); - double bgprob = logMath.logToLinear(logbgprob); - - double backoffbgprob = ugbackoff * ugprob; - double logbackoffbgprob = logMath.linearToLog(backoffbgprob); - - ugNumerator[i] += (bgprob * logbgprob - backoffbgprob - * logbackoffbgprob) - * logugprob; - - ugDenominator[i] += (bgprob - backoffbgprob) * logugprob; - // dumpProbs(ugNumerator, ugDenominator, i, j, logugprob, - // logbgprob, ugprob, bgprob, backoffbgprob, - // logbackoffbgprob); - } - - ugNumerator[i] += ugbackoff * (logugbackoff * S0 + R0); - ugAvgLogProb[i] = ugDenominator[i] + ugbackoff * S0; - ugDenominator[i] += ugbackoff * R0; - - // System.out.println("n/d " + ugNumerator[i] + " " + - // ugDenominator[i]); - - unigramSmearTerm[i] = (float) (ugNumerator[i] / ugDenominator[i]); - // / unigramSmearTerm[i] = - // logMath.linearToLog(ugNumerator[i] / ugDenominator[i]); - // System.out.println("ugs " + unigramSmearTerm[i]); - } - - for (int i = 0; i < loadedBigramBuffers.length; i++) { - System.out.println("Processed " + i + " of " - + loadedBigramBuffers.length); - NGramBuffer bigram = getBigramBuffer(i); - - if (bigram == null) - continue; - - for (int j = 0; j < bigram.getNumberNGrams(); j++) { - float smearTerm; - NGramProbability bgProb = bigram.getNGramProbability(j); - float logbgbackoff = ngramBackoffTable[2][bgProb.getBackoffID()]; - double bgbackoff = logMath.logToLinear(logbgbackoff); - int k = bigram.getWordID(j); - NGramBuffer trigram = loadTrigramBuffer(i, k); - - if (trigram == null) - smearTerm = unigramSmearTerm[k]; - else { - double bg_numerator = 0; - double bg_denominator = 0; - for (int l = 0; l < trigram.getNumberNGrams(); l++) { - int m = trigram.getWordID(l); - float logtgprob = ngramProbTable[2][trigram - .getProbabilityID(l)]; - double tgprob = logMath.logToLinear(logtgprob); - float logbgprob = getBigramProb(k, m); - double bgprob = logMath.logToLinear(logbgprob); - float logugprob = unigrams[m].getLogProbability(); - double backofftgprob = bgbackoff * bgprob; - double logbackofftgprob = logMath - .linearToLog(backofftgprob); - - bg_numerator += (tgprob * logtgprob - backofftgprob - * logbackofftgprob) - * logugprob; - - bg_denominator += (tgprob - backofftgprob) * logugprob - * logugprob; - } - - bg_numerator += bgbackoff - * (logbgbackoff * ugAvgLogProb[k] - ugNumerator[k]); - bg_denominator += bgbackoff * ugDenominator[k]; - // bigram.ugsmear = bg_numerator / bg_denominator; - smearTerm = (float) (bg_numerator / bg_denominator); - smearTermCount++; - } - - putSmearTerm(i, k, smearTerm); - } - } - - System.out.println("Smear count is " + smearTermCount); - } - - @SuppressWarnings("unused") - private void dumpProbs(double[] ugNumerator, double[] ugDenominator, int i, - int j, float logugprob, float logbgprob, double ugprob, - double bgprob, double backoffbgprob, double logbackoffbgprob) { - - System.out - .println("ubo " + ugprob + ' ' + bgprob + ' ' + backoffbgprob); - System.out.println("logubo " + logugprob + ' ' + logbgprob + ' ' - + logbackoffbgprob); - System.out.println("n/d " + j + ' ' + ugNumerator[i] + ' ' - + ugDenominator[i]); - - System.out.print(ugprob + " " + bgprob + ' ' + backoffbgprob); - System.out.print(" " + logugprob + ' ' + logbgprob + ' ' - + logbackoffbgprob); - System.out.println(" " + ugNumerator[i] + ' ' + ugDenominator[i]); - } - - /** - * Writes the smear info to the given file - * - * @param filename - * the file to write the smear info to - * @throws IOException - * if an error occurs on write - */ - @SuppressWarnings("unused") - private void writeSmearInfo(String filename) throws IOException { - DataOutputStream out = new DataOutputStream(new FileOutputStream( - filename)); - out.writeInt(SMEAR_MAGIC); - System.out.println("writing " + unigrams.length); - out.writeInt(unigrams.length); - - for (int i = 0; i < unigrams.length; i++) - out.writeFloat(unigramSmearTerm[i]); - - for (int i = 0; i < unigrams.length; i++) { - System.out.println("Writing " + i + " of " + unigrams.length); - NGramBuffer bigram = getBigramBuffer(i); - - if (bigram == null) { - out.writeInt(0); - continue; - } - - out.writeInt(bigram.getNumberNGrams()); - - for (int j = 0; j < bigram.getNumberNGrams(); j++) { - int k = bigram.getWordID(j); - Float smearTerm = getSmearTerm(i, k); - out.writeInt(k); - out.writeFloat(smearTerm.floatValue()); - } - } - - out.close(); - } - - /** - * Reads the smear info from the given file - * - * @param filename - * where to read the smear info from - * @throws IOException - * if an inconsistent file is found or on any general I/O error - */ - private void readSmearInfo(String filename) throws IOException { - DataInputStream in = new DataInputStream(new FileInputStream(filename)); - - if (in.readInt() != SMEAR_MAGIC) { - in.close(); - throw new IOException("Bad smear format for " + filename); - } - - if (in.readInt() != unigrams.length) { - in.close(); - throw new IOException("Bad unigram length in " + filename); - } - - bigramSmearMap = new HashMap(); - unigramSmearTerm = new float[unigrams.length]; - System.out.println("Reading " + unigrams.length); - - for (int i = 0; i < unigrams.length; i++) - unigramSmearTerm[i] = in.readFloat(); - - for (int i = 0; i < unigrams.length; i++) { - System.out.println("Processed " + i + " of " - + loadedBigramBuffers.length); - int numBigrams = in.readInt(); - NGramBuffer bigram = getBigramBuffer(i); - - if (bigram.getNumberNGrams() != numBigrams) { - in.close(); - throw new IOException("Bad ngrams for unigram " + i + " Found " - + numBigrams + " expected " + bigram.getNumberNGrams()); - } - - for (int j = 0; j < numBigrams; j++) { - int k = bigram.getWordID(j); - putSmearTerm(i, k, in.readFloat()); - } - } - - in.close(); - } - - /** - * Puts the smear term for the two words - * - * @param word1 - * the first word - * @param word2 - * the second word - * @param smearTerm - * the smear term - */ - private void putSmearTerm(int word1, int word2, float smearTerm) { - long bigramID = (((long) word1) << 32) | word2; - bigramSmearMap.put(bigramID, smearTerm); - } - - /** - * Retrieves the smear term for the two words - * - * @param word1 - * the first word - * @param word2 - * the second word - * @return the smear term - */ - private Float getSmearTerm(int word1, int word2) { - long bigramID = (((long) word1) << 32) | word2; - return bigramSmearMap.get(bigramID); - } - - /** - * Retrieves the bigram probability for the two given words - * - * @param word1 - * the first word of the bigram - * @param word2 - * the second word of the bigram - * @return the log probability - */ - private float getBigramProb(int word1, int word2) { - NGramBuffer bigram = getBigramBuffer(word1); - NGramProbability bigramProbability = bigram.findNGram(word2); - return ngramProbTable[1][bigramProbability.getProbabilityID()]; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeTrigramModel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeTrigramModel.java deleted file mode 100755 index dd700c8e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeTrigramModel.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2010 LIUM, based on Carnegie Mellon University previous work. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.language.ngram.large; - -import java.net.URL; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.util.props.*; - -/** - * A wrapper for LargeNGramModel base on the old LargeTrigramModel class. - * - * @author Anthony Rousseau, LIUM - */ -public class LargeTrigramModel extends LargeNGramModel { - - /** The property that defines that maximum number of trigrams to be cached */ - @S4Integer(defaultValue = 100000) - public static final String PROP_TRIGRAM_CACHE_SIZE = "trigramCacheSize"; - - /** - * @param format format of the model - * @param urlLocation Location of the model - * @param ngramLogFile log file to use - * @param maxTrigramCacheSize max cache size - * @param maxBigramCacheSize max cache size - * @param clearCacheAfterUtterance clear cache after each utterance - * @param maxDepth ngram order - * @param dictionary dictionary - * @param applyLanguageWeightAndWip apply lw during load - * @param languageWeight lw - * @param wip word insertion probability - * @param unigramWeight unigram weight - * @param fullSmear build full smear - */ - public LargeTrigramModel(String format, URL urlLocation, - String ngramLogFile, int maxTrigramCacheSize, - int maxBigramCacheSize, boolean clearCacheAfterUtterance, - int maxDepth, Dictionary dictionary, - boolean applyLanguageWeightAndWip, float languageWeight, - double wip, float unigramWeight, boolean fullSmear) { - // Inline conditional statement to prevent maxDepth being > to 3 - // We are in a Trigram wrapper, after all - super(format, urlLocation, ngramLogFile, maxTrigramCacheSize, - clearCacheAfterUtterance, (maxDepth > 3 ? 3 - : maxDepth), dictionary, - applyLanguageWeightAndWip, languageWeight, wip, unigramWeight, - fullSmear); - } - - /** - * - */ - public LargeTrigramModel() { - } - - /* - * (non-Javadoc) - * - * @see - * edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util - * .props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - location = ConfigurationManagerUtils.getResource(PROP_LOCATION, ps); - ngramLogFile = ps.getString(PROP_QUERY_LOG_FILE); - clearCacheAfterUtterance = ps - .getBoolean(PROP_CLEAR_CACHES_AFTER_UTTERANCE); - maxDepth = ps.getInt(LanguageModel.PROP_MAX_DEPTH); - ngramCacheSize = ps.getInt(PROP_TRIGRAM_CACHE_SIZE); - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - applyLanguageWeightAndWip = ps - .getBoolean(PROP_APPLY_LANGUAGE_WEIGHT_AND_WIP); - languageWeight = ps.getFloat(PROP_LANGUAGE_WEIGHT); - wip = ps.getDouble(PROP_WORD_INSERTION_PROBABILITY); - unigramWeight = ps.getFloat(PROP_UNIGRAM_WEIGHT); - fullSmear = ps.getBoolean(PROP_FULL_SMEAR); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramBuffer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramBuffer.java deleted file mode 100755 index bad04f64..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramBuffer.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - - -/** - * Implements a buffer that contains NGrams. It assumes that the first two bytes of each n-gram entry is the ID of the - * n-gram. - */ - -class NGramBuffer { - - private final byte[] buffer; - private final int numberNGrams; - private int position; - private final boolean bigEndian; - private final boolean is32bits; - private final int n; - private boolean used; - private int firstNGramEntry; - - /** - * Constructs a NGramBuffer object with the given byte[]. - * - * @param buffer the byte[] with NGrams - * @param numberNGrams the number of N-gram - * @param bigEndian the buffer's endianness - * @param is32bits whether the buffer is 16 or 32 bits - * @param n the buffer's order - * @param firstNGramEntry the first NGram Entry - */ - public NGramBuffer(byte[] buffer, int numberNGrams, boolean bigEndian, boolean is32bits, int n, int firstNGramEntry) { - this.buffer = buffer; - this.numberNGrams = numberNGrams; - this.bigEndian = bigEndian; - this.is32bits = is32bits; - this.position = 0; - this.n = n; - this.firstNGramEntry = firstNGramEntry; - } - - - /** - * Returns the byte[] of n-grams. - * - * @return the byte[] of n-grams - */ - public byte[] getBuffer() { - return buffer; - } - - /** - * Returns the firstNGramEntry - * @return the firstNGramEntry of the buffer - */ - - public int getFirstNGramEntry() { - return firstNGramEntry; - } - - - /** - * Returns the size of the buffer in bytes. - * - * @return the size of the buffer in bytes - */ - public int getSize() { - return buffer.length; - } - - - /** - * Returns the number of n-grams in this buffer. - * - * @return the number of n-grams in this buffer - */ - public int getNumberNGrams() { - return numberNGrams; - } - - - /** - * Returns the position of the buffer. - * - * @return the position of the buffer - */ - protected int getPosition() { - return position; - } - - - protected int getN() { - return n; - } - - - /** - * Sets the position of the buffer. - * - * @param position new buffer position - */ - protected void setPosition(int position) { - this.position = position; - } - - - /** - * Returns the word ID of the nth follower, assuming that the ID is the first two bytes of the NGram entry. - * - * @param nthFollower starts from 0 to (numberFollowers - 1). - * @return the word ID - */ - public final int getWordID(int nthFollower) { - int nthPosition = nthFollower * (buffer.length / numberNGrams); - setPosition(nthPosition); - return readBytesAsInt(); - } - - - /** - * Returns true if the NGramBuffer is big-endian. - * - * @return true if the NGramBuffer is big-endian, false if little-endian - */ - public final boolean isBigEndian() { - return bigEndian; - } - - - /** - * Returns true if the NGramBuffer is 32 bits. - * - * @return true if the NGramBuffer is 32 bits, false if 16 bits - */ - public final boolean is32bits() { - return is32bits; - } - - /** - * Reads the next two bytes from the buffer's current position as an integer. - * - * @return the next two bytes as an integer - */ - public final int readBytesAsInt() { - if (is32bits) { - if (bigEndian) { - int value = (0x000000ff & buffer[position++]); - value <<= 8; - value |= (0x000000ff & buffer[position++]); - value <<= 8; - value |= (0x000000ff & buffer[position++]); - value <<= 8; - value |= (0x000000ff & buffer[position++]); - return value; - } else { - int value = (0x000000ff & buffer[position+3]); - value <<= 8; - value |= (0x000000ff & buffer[position+2]); - value <<= 8; - value |= (0x000000ff & buffer[position+1]); - value <<= 8; - value |= (0x000000ff & buffer[position]); - position += 4; - return value; - } - } - else { - if (bigEndian) { - int value = (0x000000ff & buffer[position++]); - value <<= 8; - value |= (0x000000ff & buffer[position++]); - return value; - } else { - int value = (0x000000ff & buffer[position + 1]); - value <<= 8; - value |= (0x000000ff & buffer[position]); - position += 2; - return value; - } - } - } - - - /** - * Returns true if this buffer was used in the last utterance. - * - * @return true if this buffer was used in the last utterance - */ - public boolean getUsed() { - return used; - } - - - /** - * Sets whether this buffer was used in the last utterance - * - * @param used true if this buffer was used in the last utterance, false otherwise - */ - public void setUsed(boolean used) { - this.used = used; - } - - - /** - * Finds the NGram probability ID for the given nth word in a NGram. - * - * @param nthWordID the ID of the nth word - * @return the NGram Probability ID of the given nth word - */ - public int findProbabilityID(int nthWordID) { - int mid, start = 0, end = getNumberNGrams(); - - int nGram = -1; - - while ((end - start) > 0) { - mid = (start + end) / 2; - int midWordID = getWordID(mid); - if (midWordID < nthWordID) { - start = mid + 1; - } else if (midWordID > nthWordID) { - end = mid; - } else { - nGram = getProbabilityID(mid); - break; - } - } - return nGram; - } - - - /** - * Returns the NGramProbability of the nth follower. - * - * @param nthFollower which follower - * @return the NGramProbability of the nth follower - */ - public int getProbabilityID(int nthFollower) { - int nthPosition = 0; - - nthPosition = nthFollower * LargeNGramModel.BYTES_PER_NGRAM * ((is32bits) ? 4 : 2); - setPosition(nthPosition + ((is32bits) ? 4 : 2)); // to skip the word ID - - return readBytesAsInt(); - } - - - /** - * Finds the NGram probabilities for the given nth word in a NGram. - * - * @param nthWordID the ID of the nth word - * @return the NGramProbability of the given nth word - */ - public NGramProbability findNGram(int nthWordID) { - - int mid, start = 0, end = getNumberNGrams() - 1; - NGramProbability ngram = null; - - while ((end - start) > 0) { - mid = (start + end) / 2; - int midWordID = getWordID(mid); - if (midWordID < nthWordID) { - start = mid + 1; - } else if (midWordID > nthWordID) { - end = mid; - } else { - ngram = getNGramProbability(mid); - break; - } - } - - return ngram; - } - - /** - * Finds the NGram index for the given nth word in a NGram - * - * @param nthWordID the ID of the nth word - * @return the NGramIndex of the given nth word - */ - public int findNGramIndex(int nthWordID) { - - int mid = -1, start = 0, end = getNumberNGrams() - 1; - - while ((end - start) > 0) { - mid = (start + end) / 2; - int midWordID = getWordID(mid); - if (midWordID < nthWordID) { - start = mid + 1; - } else if (midWordID > nthWordID) { - end = mid; - } else { - break; - } - } - - return mid; - } - - - /** - * Returns the NGramProbability of the nth follower. - * - * @param nthFollower which follower - * @return the NGramProbability of the nth follower - */ - public NGramProbability getNGramProbability(int nthFollower) { - int nthPosition = 0, wordID = 0, probID = 0, backoffID = 0, firstNGram = 0; - - nthPosition = nthFollower * LargeNGramModel.BYTES_PER_NGRAM * ((is32bits) ? 4 : 2); - - setPosition(nthPosition); - - wordID = readBytesAsInt(); - probID = readBytesAsInt(); - backoffID = readBytesAsInt(); - firstNGram = readBytesAsInt(); - - return (new NGramProbability(nthFollower, wordID, probID, backoffID, firstNGram)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramProbability.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramProbability.java deleted file mode 100755 index 0c5342c4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NGramProbability.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - -/** Represents a word ID (Nth word of a N-gram), and a N-gram probability ID. */ -class NGramProbability { - - private final int which; - private final int wordID; - private final int probabilityID; - private final int backoffID; - private final int firstNPlus1GramEntry; - - /** - * Constructs a NGramProbability - * - * @param which - * which follower of the first word is this NGram - * @param wordID - * the ID of the Nth word in a NGram - * @param probabilityID - * the index into the probability array - * @param backoffID - * the index into the backoff probability array - * @param firstNPlus1GramEntry - * the first N+1Gram entry - */ - public NGramProbability(int which, int wordID, int probabilityID, - int backoffID, int firstNPlus1GramEntry) { - this.which = which; - this.wordID = wordID; - this.probabilityID = probabilityID; - this.backoffID = backoffID; - this.firstNPlus1GramEntry = firstNPlus1GramEntry; - } - - /** - * Returns which follower of the first word is this NGram - * - * @return which follower of the first word is this NGram - */ - public int getWhichFollower() { - return which; - } - - /** - * Returns the Nth word ID of this NGram - * - * @return the Nth word ID - */ - public int getWordID() { - return wordID; - } - - /** - * Returns the NGram probability ID. - * - * @return the NGram probability ID - */ - public int getProbabilityID() { - return probabilityID; - } - - /** - * Returns the backoff weight ID. - * - * @return the backoff weight ID - */ - public int getBackoffID() { - return backoffID; - } - - /** - * Returns the index of the first N+1Gram entry. - * - * @return the index of the first N+1Gram entry - */ - public int getFirstNPlus1GramEntry() { - return firstNPlus1GramEntry; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NMaxGramBuffer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NMaxGramBuffer.java deleted file mode 100755 index c2dd136d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/NMaxGramBuffer.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - - -/** - * Implements a buffer that contains NGrams of model's MAX order. - * It assumes that the first two bytes of each n-gram entry is the - * ID of the n-gram. - */ - -class NMaxGramBuffer extends NGramBuffer { - - /** - * Constructs a NMaxGramBuffer object with the given byte[]. - * - * @param buffer the byte[] with NGrams - * @param numberNGrams the number of N-gram - * @param bigEndian the buffer's endianness - * @param is32bits whether the buffer is 16 or 32 bits - * @param n the buffer's order - * @param firstCurrentNGramEntry the first Current NGram Entry - */ - public NMaxGramBuffer(byte[] buffer, int numberNGrams, boolean bigEndian, boolean is32bits, int n, int firstCurrentNGramEntry) { - super(buffer, numberNGrams, bigEndian, is32bits, n, firstCurrentNGramEntry); - } - - - /** - * Returns the NGramProbability of the nth follower. - * - * @param nthFollower which follower - * @return the NGramProbability of the nth follower - */ - @Override - public int getProbabilityID(int nthFollower) { - int nthPosition = 0; - - nthPosition = nthFollower * LargeNGramModel.BYTES_PER_NMAXGRAM * ((is32bits()) ? 4 : 2); - setPosition(nthPosition + ((is32bits()) ? 4 : 2)); // to skip the word ID - - return readBytesAsInt(); - } - - - /** - * Finds the NGram probabilities for the given nth word in a NGram. - * - * @param nthWordID the ID of the nth word - * @return the NGramProbability of the given nth word - */ - @Override - public NGramProbability findNGram(int nthWordID) { - - int mid, start = 0, end = getNumberNGrams(); - NGramProbability ngram = null; - - while ((end - start) > 0) { - mid = (start + end) / 2; - int midWordID = getWordID(mid); - if (midWordID < nthWordID) { - start = mid + 1; - } else if (midWordID > nthWordID) { - end = mid; - } else { - ngram = getNGramProbability(mid); - break; - } - } - - return ngram; - } - - - /** - * Returns the NGramProbability of the nth follower. - * - * @param nthFollower which follower - * @return the NGramProbability of the nth follower - */ - @Override - public NGramProbability getNGramProbability(int nthFollower) { - int nthPosition = 0, wordID = 0, probID = 0, backoffID = 0, firstNGram = 0; - - nthPosition = nthFollower * LargeNGramModel.BYTES_PER_NMAXGRAM * ((is32bits()) ? 4 : 2); - - setPosition(nthPosition); - - wordID = readBytesAsInt(); - probID = readBytesAsInt(); - - return (new NGramProbability(nthFollower, wordID, probID, backoffID, firstNGram)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/UnigramProbability.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/UnigramProbability.java deleted file mode 100755 index a2742c93..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/language/ngram/large/UnigramProbability.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * Portions Copyright 2010 LIUM, University of Le Mans, France - -> Yannick Esteve, Anthony Rousseau - - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.language.ngram.large; - - -/** Represents a probability, a backoff probability, and the location of the first bigram entry. */ -class UnigramProbability { - - private final int wordID; - private float logProbability; - private float logBackoff; - private final int firstBigramEntry; - - - /** - * Constructs a UnigramProbability - * - * @param wordID the id of the word - * @param logProbability the probability - * @param logBackoff the backoff probability - * @param firstBigramEntry the first bigram entry - */ - public UnigramProbability(int wordID, float logProbability, - float logBackoff, int firstBigramEntry) { - this.wordID = wordID; - this.logProbability = logProbability; - this.logBackoff = logBackoff; - this.firstBigramEntry = firstBigramEntry; - } - - - /** - * Returns a string representation of this object - * - * @return the string form of this object - */ - @Override - public String toString() { - return "Prob: " + logProbability + ' ' + logBackoff; - } - - - /** - * Returns the word ID of this unigram - * - * @return the word ID of this unigram - */ - public int getWordID() { - return wordID; - } - - - /** - * Returns the log probability of this unigram. - * - * @return the log probability of this unigram - */ - public float getLogProbability() { - return logProbability; - } - - - /** - * Returns the log backoff weight of this unigram - * - * @return the log backoff weight of this unigram - */ - public float getLogBackoff() { - return logBackoff; - } - - - /** - * Returns the index of the first bigram entry of this unigram. - * - * @return the index of the first bigram entry of this unigram - */ - public int getFirstBigramEntry() { - return firstBigramEntry; - } - - - /** - * Sets the log probability of this unigram - * - * @param logProbability the new log probability of this unigram - */ - public void setLogProbability(float logProbability) { - this.logProbability = logProbability; - } - - - /** - * Sets the log backoff weight. - * - * @param logBackoff the new log backoff weight - */ - public void setLogBackoff(float logBackoff) { - this.logBackoff = logBackoff; - } -} - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/HMMTree.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/HMMTree.java deleted file mode 100755 index 4edf7498..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/HMMTree.java +++ /dev/null @@ -1,1250 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.lextree; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPool; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Utilities; - -import java.util.*; -import java.util.logging.Logger; - - -/** Represents a node in the HMM Tree */ - -// For large vocabularies we may create millions of these objects, -// therefore they are extremely space sensitive. So we want to make -// these objects as small as possible. The requirements for these -// objects when building the tree of nodes are very different from once -// we have built it. When building, we need to easily add successor -// nodes and quickly identify duplicate children nodes. After the tree -// is built we just need to quickly identify successors. We want the -// flexibility of a map to manage successors at startup, but we don't -// want the space penalty (at least 5 32 bit fields per map), instead -// we'd like an array. To support this dual mode, we manage the -// successors in an Object which can either be a Map or a List -// depending upon whether the node has been frozen or not. - -class Node { - - private static int nodeCount; - private static int successorCount; - - /** - * This can be either Map during tree construction or Array after - * tree freeze. Conversion to array helps to save memory. - */ - private Object successors; - private float logUnigramProbability; - - - /** - * Creates a node - * - * @param probability the unigram probability for the node - */ - Node(float probability) { - logUnigramProbability = probability; - nodeCount++; -// if ((nodeCount % 10000) == 0) { -// System.out.println("NC " + nodeCount); -// } - } - - - /** - * Returns the unigram probability - * - * @return the unigram probability - */ - public float getUnigramProbability() { - return logUnigramProbability; - } - - - /** - * Sets the unigram probability - * - * @param probability the unigram probability - */ - public void setUnigramProbability(float probability) { - logUnigramProbability = probability; - } - - - /** - * Given an object get the set of successors for this object - * - * @param key the object key - * @return the node containing the successors - */ - private Node getSuccessor(Object key) { - Map successors = getSuccessorMap(); - return successors.get(key); - } - - - /** - * Add the child to the set of successors - * - * @param key the object key - * @param child the child to add - */ - void putSuccessor(Object key, Node child) { - Map successors = getSuccessorMap(); - successors.put(key, child); - } - - - /** - * Gets the successor map for this node - * - * @return the successor map - */ - @SuppressWarnings({"unchecked"}) - public Map getSuccessorMap() { - if (successors == null) { - successors = new HashMap(4); - } - - assert successors instanceof Map; - return (Map) successors; - } - - - /** Freeze the node. Convert the successor map into an array list */ - void freeze() { - if (successors instanceof Map) { - Map map = getSuccessorMap(); - successors = map.values().toArray(new Node[map.size()]); - for (Node node : map.values()) { - node.freeze(); - } - successorCount += map.size(); - } - } - - - static void dumpNodeInfo() { - System.out.println("Nodes: " + nodeCount + " successors " + - successorCount + " avg " + (successorCount / nodeCount)); - } - - - /** - * Adds a child node holding an hmm to the successor. If a node similar to the child has already been added, we use - * the previously added node, otherwise we add this. Also, we record the base unit of the child in the set of right - * context - * - * @param hmm the hmm to add - * @return the node that holds the hmm (new or old) - */ - Node addSuccessor(HMM hmm, float probability) { - Node child = null; - Node matchingChild = getSuccessor(hmm); - if (matchingChild == null) { - child = new HMMNode(hmm, probability); - putSuccessor(hmm, child); - } else { - if (matchingChild.getUnigramProbability() < probability) { - matchingChild.setUnigramProbability(probability); - } - child = matchingChild; - } - return child; - } - - - /** - * Adds a child node holding a pronunciation to the successor. If a node similar to the child has already been - * added, we use the previously added node, otherwise we add this. Also, we record the base unit of the child in the - * set of right context - * - * @param pronunciation the pronunciation to add - * @param wordNodeMap - * @return the node that holds the pronunciation (new or old) - */ - WordNode addSuccessor(Pronunciation pronunciation, float probability, Map wordNodeMap) { - WordNode child = null; - WordNode matchingChild = (WordNode) getSuccessor(pronunciation); - if (matchingChild == null) { - child = wordNodeMap.get(pronunciation); - if (child == null) { - child = new WordNode(pronunciation, probability); - wordNodeMap.put(pronunciation, child); - } - putSuccessor(pronunciation, child); - } else { - if (matchingChild.getUnigramProbability() < probability) { - matchingChild.setUnigramProbability(probability); - } - child = matchingChild; - } - return child; - } - - - void addSuccessor(WordNode wordNode) { - putSuccessor(wordNode, wordNode); - } - - - /** - * Adds an EndNode to the set of successors for this node If a node similar to the child has already been added, we - * use the previously added node, otherwise we add this. - * - * @param child the endNode to add - * @param probability probability for this transition - * @return the node that holds the endNode (new or old) - */ - EndNode addSuccessor(EndNode child, float probability) { - Unit baseUnit = child.getBaseUnit(); - EndNode matchingChild = (EndNode) getSuccessor(baseUnit); - if (matchingChild == null) { - putSuccessor(baseUnit, child); - } else { - if (matchingChild.getUnigramProbability() < probability) { - matchingChild.setUnigramProbability(probability); - } - child = matchingChild; - } - return child; - } - - - /** - * Adds a child node to the successor. If a node similar to the child has already been added, we use the previously - * added node, otherwise we add this. Also, we record the base unit of the child in the set of right context - * - * @param child the child to add - * @return the node (may be different than child if there was already a node attached holding the hmm held by - * child) - */ - UnitNode addSuccessor(UnitNode child) { - UnitNode matchingChild = (UnitNode) getSuccessor(child.getKey()); - if (matchingChild == null) { - putSuccessor(child.getKey(), child); - } else { - child = matchingChild; - } - - return child; - } - - - /** - * Returns the successors for this node - * - * @return the set of successor nodes - */ - Node[] getSuccessors() { - if (successors instanceof Map) { - freeze(); - } - return (Node[])successors; - } - - - /** - * Returns the string representation for this object - * - * @return the string representation of the object - */ - @Override - public String toString() { - return "Node "; - } -} - - -/** A node representing a word in the HMM tree */ -class WordNode extends Node { - - private final Pronunciation pronunciation; - private final boolean isFinal; - - /** - * Creates a word node - * - * @param pronunciation the pronunciation to wrap in this node - * @param probability the word unigram probability - */ - WordNode(Pronunciation pronunciation, float probability) { - super(probability); - this.pronunciation = pronunciation; - this.isFinal = pronunciation.getWord().isSentenceEndWord(); - } - - - /** - * Gets the word associated with this node - * - * @return the word - */ - Word getWord() { - return pronunciation.getWord(); - } - - - /** - * Gets the pronunciation associated with this node - * - * @return the pronunciation - */ - Pronunciation getPronunciation() { - return pronunciation; - } - - - /** - * Gets the last unit for this word - * - * @return the last unit - */ - Unit getLastUnit() { - Unit[] units = pronunciation.getUnits(); - return units[units.length - 1]; - } - - - /** - * Returns the successors for this node - * - * @return the set of successor nodes - */ - @Override - Node[] getSuccessors() { - throw new Error("Not supported"); - } - - - /** - * Returns a string representation for this object - * - * @return a string representation - */ - @Override - public String toString() { - return "WordNode " + pronunciation + " p " + - getUnigramProbability(); - } - - - public boolean isFinal() { - return isFinal; - } -} - - -/** - * A class that represents the initial word in the search space. It is treated specially because we need to keep track - * of the context as well. The context is embodied in the parent node - */ -class InitialWordNode extends WordNode { - - final HMMNode parent; - - - /** - * Creates an InitialWordNode - * - * @param pronunciation the pronunciation - * @param parent the parent node - */ - InitialWordNode(Pronunciation pronunciation, HMMNode parent) { - super(pronunciation, LogMath.LOG_ONE); - this.parent = parent; - } - - - /** - * Gets the parent for this word node - * - * @return the parent - */ - HMMNode getParent() { - return parent; - } - -} - - -abstract class UnitNode extends Node { - - public final static int SIMPLE_UNIT = 1; - public final static int WORD_BEGINNING_UNIT = 2; - public final static int SILENCE_UNIT = 3; - public final static int FILLER_UNIT = 4; - - private int type; - - - /** - * Creates the UnitNode - * - * @param probablilty the probability for the node - */ - UnitNode(float probablilty) { - super(probablilty); - } - - - /** - * Returns the base unit for this hmm node - * - * @return the base unit - */ - abstract Unit getBaseUnit(); - - - abstract Object getKey(); - - - abstract HMMPosition getPosition(); - - - /** - * Gets the unit type (one of SIMPLE_UNIT, WORD_BEGINNING_UNIT, SIMPLE_UNIT or FILLER_UNIT - * - * @return the unit type - */ - int getType() { - return type; - } - - - /** - * Sets the unit type - * - * @param type the unit type - */ - void setType(int type) { - this.type = type; - } - -} - -/** A node that represents an HMM in the hmm tree */ - -class HMMNode extends UnitNode { - - private final HMM hmm; - - // There can potentially be a large number of nodes (millions), - // therefore it is important to conserve space as much as - // possible. While building the HMMNodes, we keep right contexts - // in a set to allow easy pruning of duplicates. Once the tree is - // entirely built, we no longer need to manage the right contexts - // as a set, a simple array will do. The freeze method converts - // the set to the array of units. This rcSet object holds the set - // during construction and the array after the freeze. - - private Object rcSet; - - - /** - * Creates the node, wrapping the given hmm - * - * @param hmm the hmm to hold - */ - HMMNode(HMM hmm, float probablilty) { - super(probablilty); - this.hmm = hmm; - - Unit base = getBaseUnit(); - - int type = SIMPLE_UNIT; - if (base.isSilence()) { - type = SILENCE_UNIT; - } else if (base.isFiller()) { - type = FILLER_UNIT; - } else if (hmm.getPosition().isWordBeginning()) { - type = WORD_BEGINNING_UNIT; - } - setType(type); - } - - - /** - * Returns the base unit for this hmm node - * - * @return the base unit - */ - @Override - Unit getBaseUnit() { - // return hmm.getUnit().getBaseUnit(); - return hmm.getBaseUnit(); - } - - - /** - * Returns the hmm for this node - * - * @return the hmm - */ - HMM getHMM() { - return hmm; - } - - - @Override - HMMPosition getPosition() { - return hmm.getPosition(); - } - - - @Override - HMM getKey() { - return getHMM(); - } - - - /** - * Returns a string representation for this object - * - * @return a string representation - */ - @Override - public String toString() { - return "HMMNode " + hmm + " p " + getUnigramProbability(); - } - - - /** - * Adds a right context to the set of possible right contexts for this node. This is typically only needed for hmms - * at the ends of words. - * - * @param rc the right context. - */ - void addRC(Unit rc) { - getRCSet().add(rc); - } - - - /** Freeze this node. Convert the set into an array to reduce memory overhead */ - @Override - @SuppressWarnings({"unchecked"}) - void freeze() { - super.freeze(); - if (rcSet instanceof Set) { - Set set = (Set) rcSet; - rcSet = set.toArray(new Unit[set.size()]); - } - } - - - /** - * Gets the rc as a set. If we've already been frozen it is an error - * - * @return the set of right contexts - */ - @SuppressWarnings({"unchecked"}) - private Set getRCSet() { - if (rcSet == null) { - rcSet = new HashSet(); - } - - assert rcSet instanceof HashSet; - return (Set) rcSet; - } - - - /** - * returns the set of right contexts for this node - * - * @return the set of right contexts - */ - Unit[] getRC() { - if (rcSet instanceof HashSet) { - freeze(); - } - return (Unit[]) rcSet; - } -} - - -class EndNode extends UnitNode { - - final Unit baseUnit; - final Unit leftContext; - final Integer key; - - - /** - * Creates the node, wrapping the given hmm - * - * @param baseUnit the base unit for this node - * @param lc the left context - * @param probablilty the probability for the transition to this node - */ - EndNode(Unit baseUnit, Unit lc, float probablilty) { - super(probablilty); - this.baseUnit = baseUnit; - this.leftContext = lc; - key = baseUnit.getBaseID() * 121 + leftContext.getBaseID(); - } - - - /** - * Returns the base unit for this hmm node - * - * @return the base unit - */ - @Override - Unit getBaseUnit() { - return baseUnit; - } - - - /** - * Returns the base unit for this hmm node - * - * @return the base unit - */ - Unit getLeftContext() { - return leftContext; - } - - - @Override - Integer getKey() { - return key; - } - - - @Override - HMMPosition getPosition() { - return HMMPosition.END; - } - - - /** - * Returns a string representation for this object - * - * @return a string representation - */ - @Override - public String toString() { - return "EndNode base:" + baseUnit + " lc " + leftContext + ' ' + key; - } - - - /** Freeze this node. Convert the set into an array to reduce memory overhead */ - @Override - void freeze() { - super.freeze(); - } -} - - - -/** - * Represents the vocabulary as a lex tree with nodes in the tree representing either words (WordNode) or units - * (HMMNode). HMMNodes may be shared. - */ -class HMMTree { - - private final HMMPool hmmPool; - private InitialWordNode initialNode; - private Dictionary dictionary; - - private LanguageModel lm; - private final boolean addFillerWords; - private final boolean addSilenceWord = true; - private final Set entryPoints = new HashSet(); - private Set exitPoints = new HashSet(); - private Set allWords; - private EntryPointTable entryPointTable; - private boolean debug; - private final float languageWeight; - - private final Map endNodeMap; - private final Map wordNodeMap; - - private WordNode sentenceEndWordNode; - private Logger logger; - - - /** - * Creates the HMMTree - * - * @param pool the pool of HMMs and units - * @param dictionary the dictionary containing the pronunciations - * @param lm the source of the set of words to add to the lex tree - * @param addFillerWords if false add filler words - * @param languageWeight the languageWeight - */ - HMMTree(HMMPool pool, Dictionary dictionary, LanguageModel lm, - boolean addFillerWords, float languageWeight) { - this.hmmPool = pool; - this.dictionary = dictionary; - this.lm = lm; - this.endNodeMap = new HashMap(); - this.wordNodeMap = new HashMap(); - this.addFillerWords = addFillerWords; - this.languageWeight = languageWeight; - - logger = Logger.getLogger(HMMTree.class.getSimpleName()); - compile(); - } - - - /** - * Given a base unit and a left context, return the set of entry points into the lex tree - * - * @param lc the left context - * @param base the center unit - * @return the set of entry points - */ - public Node[] getEntryPoint(Unit lc, Unit base) { - EntryPoint ep = entryPointTable.getEntryPoint(base); - return ep.getEntryPointsFromLeftContext(lc).getSuccessors(); - } - - - /** - * Gets the set of hmm nodes associated with the given end node - * - * @param endNode the end node - * @return an array of associated hmm nodes - */ - public HMMNode[] getHMMNodes(EndNode endNode) { - HMMNode[] results = endNodeMap.get(endNode.getKey()); - if (results == null) { - // System.out.println("Filling cache for " + endNode.getKey() - // + " size " + endNodeMap.size()); - Map resultMap = new HashMap(); - Unit baseUnit = endNode.getBaseUnit(); - Unit lc = endNode.getLeftContext(); - for (Unit rc : entryPoints) { - HMM hmm = hmmPool.getHMM(baseUnit, lc, rc, HMMPosition.END); - HMMNode hmmNode = resultMap.get(hmm); - if (hmmNode == null) { - hmmNode = new HMMNode(hmm, LogMath.LOG_ONE); - resultMap.put(hmm, hmmNode); - } - hmmNode.addRC(rc); - for (Node node : endNode.getSuccessors()) { - WordNode wordNode = (WordNode)node; - hmmNode.addSuccessor(wordNode); - } - } - - // cache it - results = resultMap.values().toArray(new HMMNode[resultMap.size()]); - endNodeMap.put(endNode.getKey(), results); - } - - // System.out.println("GHN: " + endNode + " " + results.length); - return results; - } - - - /** - * Returns the word node associated with the sentence end word - * - * @return the sentence end word node - */ - public WordNode getSentenceEndWordNode() { - assert sentenceEndWordNode != null; - return sentenceEndWordNode; - } - - -// private Object getKey(EndNode endNode) { -// Unit base = endNode.getBaseUnit(); -// Unit lc = endNode.getLeftContext(); -// return null; -// } - - - /** Compiles the vocabulary into an HMM Tree */ - private void compile() { - collectEntryAndExitUnits(); - entryPointTable = new EntryPointTable(entryPoints); - addWords(); - entryPointTable.createEntryPointMaps(); - freeze(); - } - - - /** Dumps the tree */ - void dumpTree() { - System.out.println("Dumping Tree ..."); - Map dupNode = new HashMap(); - dumpTree(0, getInitialNode(), dupNode); - System.out.println("... done Dumping Tree"); - } - - - /** - * Dumps the tree - * - * @param level the level of the dump - * @param node the root of the tree to dump - * @param dupNode map of visited nodes - */ - private void dumpTree(int level, Node node, Map dupNode) { - if (dupNode.get(node) == null) { - dupNode.put(node, node); - System.out.println(Utilities.pad(level) + node); - if (!(node instanceof WordNode)) { - for (Node nextNode : node.getSuccessors()) { - dumpTree(level + 1, nextNode, dupNode); - } - } - } - } - - - /** Collects all of the entry and exit points for the vocabulary. */ - private void collectEntryAndExitUnits() { - Collection words = getAllWords(); - for (Word word : words) { - for (int j = 0; j < word.getPronunciations().length; j++) { - Pronunciation p = word.getPronunciations()[j]; - Unit first = p.getUnits()[0]; - Unit last = p.getUnits()[p.getUnits().length - 1]; - entryPoints.add(first); - exitPoints.add(last); - } - } - - if (debug) { - System.out.println("Entry Points: " + entryPoints.size()); - System.out.println("Exit Points: " + exitPoints.size()); - } - } - - - /** - * Called after the lex tree is built. Frees all temporary structures. After this is called, no more words can be - * added to the lex tree. - */ - private void freeze() { - entryPointTable.freeze(); - dictionary = null; - lm = null; - exitPoints = null; - allWords = null; - wordNodeMap.clear(); - endNodeMap.clear(); - } - - - /** Adds the given collection of words to the lex tree */ - private void addWords() { - Set words = getAllWords(); - for (Word word : words) { - addWord(word); - } - } - - - /** - * Adds a single word to the lex tree - * - * @param word the word to add - */ - private void addWord(Word word) { - float prob = getWordUnigramProbability(word); - Pronunciation[] pronunciations = word.getPronunciations(); - for (Pronunciation pronunciation : pronunciations) { - addPronunciation(pronunciation, prob); - } - } - - - /** - * Adds the given pronunciation to the lex tree - * - * @param pronunciation the pronunciation - * @param probability the unigram probability - */ - private void addPronunciation(Pronunciation pronunciation, - float probability) { - Unit baseUnit; - Unit lc; - Unit rc; - Node curNode; - WordNode wordNode; - - Unit[] units = pronunciation.getUnits(); - baseUnit = units[0]; - EntryPoint ep = entryPointTable.getEntryPoint(baseUnit); - - ep.addProbability(probability); - - if (units.length > 1) { - curNode = ep.getNode(); - lc = baseUnit; - for (int i = 1; i < units.length - 1; i++) { - baseUnit = units[i]; - rc = units[i + 1]; - HMM hmm = hmmPool.getHMM(baseUnit, lc, rc, HMMPosition.INTERNAL); - if (hmm == null) { - logger.severe("Missing HMM for unit " + baseUnit.getName() + " with lc=" + lc.getName() + " rc=" + rc.getName()); - } else { - curNode = curNode.addSuccessor(hmm, probability); - } - lc = baseUnit; // next lc is this baseUnit - } - - // now add the last unit as an end unit - baseUnit = units[units.length - 1]; - EndNode endNode = new EndNode(baseUnit, lc, probability); - curNode = curNode.addSuccessor(endNode, probability); - wordNode = curNode.addSuccessor(pronunciation, probability, wordNodeMap); - if (wordNode.getWord().isSentenceEndWord()) { - sentenceEndWordNode = wordNode; - } - } else { - ep.addSingleUnitWord(pronunciation); - } - } - - - /** - * Gets the unigram probability for the given word - * - * @param word the word - * @return the unigram probability for the word. - */ - private float getWordUnigramProbability(Word word) { - float prob = LogMath.LOG_ONE; - if (!word.isFiller()) { - Word[] wordArray = new Word[1]; - wordArray[0] = word; - prob = lm.getProbability((new WordSequence(wordArray))); - // System.out.println("gwup: " + word + " " + prob); - prob *= languageWeight; - } - return prob; - } - - - /** - * Returns the entire set of words, including filler words - * - * @return the set of all words (as Word objects) - */ - private Set getAllWords() { - if (allWords == null) { - allWords = new HashSet(); - for (String spelling : lm.getVocabulary()) { - Word word = dictionary.getWord(spelling); - if (word != null) { - allWords.add(word); - } - } - - if (addFillerWords) { - allWords.addAll(Arrays.asList(dictionary.getFillerWords())); - } else if (addSilenceWord) { - allWords.add(dictionary.getSilenceWord()); - } - } - return allWords; - } - - - /** - * Returns the initial node for this lex tree - * - * @return the initial lex node - */ - InitialWordNode getInitialNode() { - return initialNode; - } - - - /** The EntryPoint table is used to manage the set of entry points into the lex tree. */ - class EntryPointTable { - - private final Map entryPoints; - - - /** - * Create the entry point table give the set of all possible entry point units - * - * @param entryPointCollection the set of possible entry points - */ - EntryPointTable(Collection entryPointCollection) { - entryPoints = new HashMap(); - for (Unit unit : entryPointCollection) { - entryPoints.put(unit, new EntryPoint(unit)); - } - } - - - /** - * Given a CI unit, return the EntryPoint object that manages the entry point for the unit - * - * @param baseUnit the unit of interest (A ci unit) - * @return the object that manages the entry point for the unit - */ - EntryPoint getEntryPoint(Unit baseUnit) { - return entryPoints.get(baseUnit); - } - - - /** Creates the entry point maps for all entry points. */ - void createEntryPointMaps() { - for (EntryPoint ep : entryPoints.values()) { - ep.createEntryPointMap(); - } - } - - - /** Freezes the entry point table */ - void freeze() { - for (EntryPoint ep : entryPoints.values()) { - ep.freeze(); - } - } - - - /** Dumps the entry point table */ - void dump() { - for (EntryPoint ep : entryPoints.values()) { - ep.dump(); - } - } - } - - - /** Manages a single entry point. */ - class EntryPoint { - - final Unit baseUnit; - final Node baseNode; // second units and beyond start here - final Map unitToEntryPointMap; - List singleUnitWords; - int nodeCount; - Set rcSet; - float totalProbability; - - - /** - * Creates an entry point for the given unit - * - * @param baseUnit the EntryPoint is created for this unit - */ - EntryPoint(Unit baseUnit) { - this.baseUnit = baseUnit; - this.baseNode = new Node(LogMath.LOG_ZERO); - this.unitToEntryPointMap = new HashMap(); - this.singleUnitWords = new ArrayList(); - this.totalProbability = LogMath.LOG_ZERO; - } - - - /** - * Given a left context get a node that represents a single set of entry points into this unit - * - * @param leftContext the left context of interest - * @return the node representing the entry point - */ - Node getEntryPointsFromLeftContext(Unit leftContext) { - return unitToEntryPointMap.get(leftContext); - } - - - /** - * Accumulates the probability for this entry point - * - * @param probability a new probability - */ - void addProbability(float probability) { - if (probability > totalProbability) { - totalProbability = probability; - } - } - - - /** - * Returns the probability for all words reachable from this node - * - * @return the log probability - */ - float getProbability() { - return totalProbability; - } - - - /** Once we have built the full entry point we can eliminate some fields */ - void freeze() { - for (Node node : unitToEntryPointMap.values()) { - node.freeze(); - } - singleUnitWords = null; - rcSet = null; - } - - - /** - * Gets the base node for this entry point - * - * @return the base node - */ - Node getNode() { - return baseNode; - } - - - /** - * Adds a one-unit word to this entry point. Such single unit words need to be dealt with specially. - * - * @param p the pronunciation of the single unit word - */ - void addSingleUnitWord(Pronunciation p) { - singleUnitWords.add(p); - } - - - /** - * Gets the set of possible right contexts that we can transition to from this entry point - * - * @return the set of possible transition points. - */ - private Collection getEntryPointRC() { - if (rcSet == null) { - rcSet = new HashSet(); - for (Node node : baseNode.getSuccessorMap().values()) { - UnitNode unitNode = (UnitNode) node; - rcSet.add(unitNode.getBaseUnit()); - } - } - return rcSet; - } - - - /** - * A version of createEntryPointMap that compresses common hmms across all entry points. - */ - void createEntryPointMap() { - HashMap map = new HashMap(); - HashMap singleUnitMap = new HashMap(); - - for (Unit lc : exitPoints) { - Node epNode = new Node(LogMath.LOG_ZERO); - for (Unit rc : getEntryPointRC()) { - HMM hmm = hmmPool.getHMM(baseUnit, lc, rc, HMMPosition.BEGIN); - Node addedNode; - - if ((addedNode = map.get(hmm)) == null) { - addedNode = epNode.addSuccessor(hmm, getProbability()); - map.put(hmm, addedNode); - } else { - epNode.putSuccessor(hmm, addedNode); - } - - nodeCount++; - connectEntryPointNode(addedNode, rc); - } - connectSingleUnitWords(lc, epNode, singleUnitMap); - unitToEntryPointMap.put(lc, epNode); - } - } - - - /** - * Connects the single unit words associated with this entry point. The singleUnitWords list contains all - * single unit pronunciations that have as their sole unit, the unit associated with this entry point. Entry - * points for these words are added to the epNode for all possible left (exit) and right (entry) contexts. - * - * @param lc the left context - * @param epNode the entry point node - */ - private void connectSingleUnitWords(Unit lc, Node epNode, HashMap map) { - if (!singleUnitWords.isEmpty()) { - - for (Unit rc : entryPoints) { - HMM hmm = hmmPool.getHMM(baseUnit, lc, rc, HMMPosition.SINGLE); - - HMMNode tailNode; - if (( tailNode = map.get(hmm)) == null) { - tailNode = (HMMNode) - epNode.addSuccessor(hmm, getProbability()); - map.put(hmm, tailNode); - } else { - epNode.putSuccessor(hmm, tailNode); - } - WordNode wordNode; - tailNode.addRC(rc); - nodeCount++; - - for (Pronunciation p : singleUnitWords) { - if (p.getWord() == dictionary.getSentenceStartWord()) { - initialNode = new InitialWordNode(p, tailNode); - } else { - float prob = getWordUnigramProbability(p.getWord()); - wordNode = tailNode.addSuccessor(p, prob, wordNodeMap); - if (p.getWord() == - dictionary.getSentenceEndWord()) { - sentenceEndWordNode = wordNode; - } - } - nodeCount++; - } - } - } - } - - - /** - * Connect the entry points that match the given rc to the given epNode - * - * @param epNode add matching successors here - * @param rc the next unit - */ - private void connectEntryPointNode(Node epNode, Unit rc) { - for (Node node : baseNode.getSuccessors()) { - UnitNode successor = (UnitNode) node; - if (successor.getBaseUnit() == rc) { - epNode.addSuccessor(successor); - } - } - } - - - /** Dumps the entry point */ - void dump() { - System.out.println("EntryPoint " + baseUnit + " RC Followers: " - + getEntryPointRC().size()); - int count = 0; - Collection rcs = getEntryPointRC(); - System.out.print(" "); - for (Unit rc : rcs) { - System.out.print(Utilities.pad(rc.getName(), 4)); - if (count++ >= 12) { - count = 0; - System.out.println(); - System.out.print(" "); - } - } - System.out.println(); - } - } - - -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/LexTreeLinguist.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/LexTreeLinguist.java deleted file mode 100755 index 2c8b76a3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/lextree/LexTreeLinguist.java +++ /dev/null @@ -1,1605 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.linguist.lextree; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; - -import edu.cmu.sphinx.decoder.scorer.ScoreProvider; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchGraph; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.linguist.UnitSearchState; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPool; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.HMMStateArc; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.grammar.Grammar; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.linguist.language.ngram.large.LargeNGramModel; -import edu.cmu.sphinx.linguist.util.LRUCache; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimerPool; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * A linguist that can represent large vocabularies efficiently. This class implements the Linguist interface. The main - * role of any linguist is to represent the search space for the decoder. The initial state in the search space can be - * retrieved by a SearchManager via a call to getInitialSearchState. This method returns a SearchState. - * Successor states can be retrieved via calls to SearchState.getSuccessors().. There are a number of - * search state sub-interfaces that are used to indicate different types of states in the search space: - *

  • WordSearchState - represents a word in the search space.
  • UnitSearchState - represents a - * unit in the search space
  • HMMSearchState represents an HMM state in the search space
- * A linguist has a great deal of latitude about the order in which it returns states. For instance a 'flat' linguist - * may return a WordState at the beginning of a word, while a 'tree' linguist may return WordStates at the ending of a - * word. Likewise, a linguist may omit certain state types completely (such as a unit state). Some Search Managers may - * want to know a priori the order in which states will be generated by the linguist. The method - * getSearchStateOrder can be used to retrieve the order of state returned by the linguist. - *

- * Depending on the vocabulary size and topology, the search space represented by the linguist may include a very large - * number of states. Some linguists will generate the search states dynamically, that is, the object representing a - * particular state in the search space is not created until it is needed by the SearchManager. SearchManagers often - * need to be able to determine if a particular state has been entered before by comparing states. Because SearchStates - * may be generated dynamically, the SearchState.equals() call (as opposed to the reference equals '==' - * method) should be used to determine if states are equal. The states returned by the linguist will generally provide - * very efficient implementations of equals and hashCode. This will allow a SearchManager to - * maintain collections of states in HashMaps efficiently. - *

- * LexTeeLinguist Characteristics - *

- * Some characteristics of this linguist:

  • Dynamic - the linguist generates search states on the fly, - * greatly reducing the required memory footprint
  • tree topology this linguist represents the search space as - * an inverted tree. Units near the roots of word are shared among many different words. These reduces the amount of - * states that need to be considered during the search.
  • HMM sharing - because of state tying in the acoustic - * models, it is often the case that triphone units that differ in the right context actually are represented by the - * same HMM. This linguist recognizes this case and will use a single state to represent the HMM instead of two states. - * This can greatly reduce the number of states generated by the linguist.
  • Small-footprint - this linguist - * uses a few other techniques to reduce the overall footprint of the search space. One technique that is particularly - * helpful is to share the end word units (where the largest fanout of states occurs) across all of the words. For a 60K - * word vocabulary, these can result in a reduction in tree nodes of about 2 million to around 3,000.
  • Quick - * loading - this linguist can compile the search space very quickly. A 60K word vocabulary can be made ready in - * less than 10 seconds.
- *

- * This linguist is not a general purpose linguist. It does impose some constraints: - *

  • unit size - this linguist will units that are no larger than triphones.
  • n-gram grammars - - * this linguist will generate the search space directly from the N-Gram language model. The vocabulary supported is the - * intersection of the words found in the language model and the words that exist in the Dictionary. It is assumed that - * all sequences of words in the vocabulary are valid. This linguist doesn't support arbitrary grammars.
- *

- * Design Notes The following are some notes describing the design of this linguist. They may be helpful to - * those who want to understand how this linguist works but are not necessary if you are only interested in using this - * linguist. - *

- * Search Space Representation It has been shown that representing the search space as a tree can greatly reduce - * the number of active states in a search since the units at the beginnings of words can be shared across multiple - * words. For example, with a large vocabulary (60K words), at the end of a word, with a flat representation, we have to - * provide transitions to the initial state of each possible word. That is 60K transitions. In a tree based system we - * need to only provide transitions to each initial phone (within its context). That is about 1600 transitions. This is - * a substantial reduction. Conceptually, this tree consists of a node for each possible initial unit. Each node can - * have an arbitrary number of children which can be either unit nodes or word nodes. - *

- * This linguist uses the HMMTree class to build and represent the tree. The HMMTree is given the dictionary and - * language model and builds the lextree. Instead of representing the nodes in the tree as phonemes and words as is - * typically done, the HMMTree represents the tree as HMMs and words. The HMM is essentially a unit within its context. - * This is typically a triphone (although for some units (such as SIL) it is a simple phone. Representing the nodes as - * HMM instead of nodes yields a much larger tree, but also has some advantages: - *

  • Because of state-tying in the acoustic models, many distinct triphones actually share an HMM. Representing - * the nodes as HMMs allows these shared HMMs to be represented in the tree only once instead of many times if we - * representing states as phones or triphones. This leads to a reduction in the actual number of states that are - * considered during a search. Experiments have shown that this can reduce the required beam by a factor of 2 or 3. - *
  • By representing the nodes as HMM, we avoid having to lookup the HMM for a particular triphone during the search. - * This is a modest savings.
- * There are some disadvantages in representing the tree with HMMs: - *
  • size since HMMs represent units in their context, we have many more copies of each node. For - * instance, instead of having a single unit representing the initial 'd' in the word 'dog' we would have about 40 HMMs, - * one for each possible left context.
  • speed building the much larger HMM tree can take much more time, - * since many more nodes are needed to represent the tree.
  • complexity representing the tree with HMMs is - * more complex. There are multiple entry points for each word/unit that have to be dealt with.
- * Luckily the size and speed issues can be mitigated (by adding a bit more complexity of course). The bulk of the nodes - * in the HMM tree are the word ending nodes. There is a word ending node for each possible right context. To reduce - * space, all of the word ending nodes are replaced by a single EndNode. During the search, the actual HMM nodes for a - * particular EndNode are generated on request. These sets of HMM nodes can be shared among different word endings, and - * therefore are cached. The effect of using this EndNode optimization is to reduce the space required by the tree by - * about 300mb and the time required to generate the tree from about 60 seconds to about 6 seconds. - * - *

- * Word Histories - *

- * We use explicit backoff for word histories. That technique is proven to be useful and save number of - * states. The reasoning is the following. With a vocabulary of size N, you have N^2 unique bigram - * histories. So the token stack will have N^2*K unique tokens, where K is the number of states per token. - * For a 100k vocab, 3 states per HMM, that will be 3*10^10 tokens (max). Of course, a large majority - * of them will be pruned, but really, its still way too much. If you stick with the actual K-gram - * used (i.e. accounting explicitly for backoff), then this reduces tremendously. - * Most bigrams dont have corresponding trigrams. Not all 10^10 bigrams have trigrams. We only - * need to store as many explicit tokens as the number of bigrams that have trigrams. - */ -public class LexTreeLinguist implements Linguist { - - /** The property that defines the grammar to use when building the search graph */ - @S4Component(type = Grammar.class) - public final static String PROP_GRAMMAR = "grammar"; - - /** The property that defines the acoustic model to use when building the search graph */ - @S4Component(type = AcousticModel.class) - public final static String PROP_ACOUSTIC_MODEL = "acousticModel"; - - /** The property that defines the unit manager to use when building the search graph */ - @S4Component(type = UnitManager.class, defaultClass = UnitManager.class) - public final static String PROP_UNIT_MANAGER = "unitManager"; - - /** - * The property that determines whether or not full word histories are used to - * determine when two states are equal. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_FULL_WORD_HISTORIES = "fullWordHistories"; - - /** The property for the language model to be used by this grammar */ - @S4Component(type = LanguageModel.class) - public final static String PROP_LANGUAGE_MODEL = "languageModel"; - - /** The property that defines the dictionary to use for this grammar */ - @S4Component(type = Dictionary.class) - public final static String PROP_DICTIONARY = "dictionary"; - - /** The property that defines the size of the arc cache (zero to disable the cache). */ - @S4Integer(defaultValue = 0) - public final static String PROP_CACHE_SIZE = "cacheSize"; - - /** The property that controls whether filler words are automatically added to the vocabulary */ - @S4Boolean(defaultValue = false) - public final static String PROP_ADD_FILLER_WORDS = "addFillerWords"; - - /** - * The property to control whether or not the linguist will generate unit states. When this property is false the - * linguist may omit UnitSearchState states. For some search algorithms this will allow for a faster search with - * more compact results. - */ - @S4Boolean(defaultValue = false) - public final static String PROP_GENERATE_UNIT_STATES = "generateUnitStates"; - - /** - * The property that determines whether or not unigram probabilities are - * smeared through the lextree. During the expansion of the tree the - * language probability could be only calculated when we reach word end node. - * Until that point we need to keep path alive and give it some language - * probability. See - * - * Alleva, F., Huang, X. and Hwang, M.-Y., "Improvements on the pronunciation - * prefix tree search organization", Proceedings of ICASSP, pp. 133-136, - * Atlanta, GA, 1996. - * - * for the description of this technique. - */ - @S4Boolean(defaultValue = true) - public final static String PROP_WANT_UNIGRAM_SMEAR = "wantUnigramSmear"; - - - /** The property that determines the weight of the smear. See {@link LexTreeLinguist#PROP_WANT_UNIGRAM_SMEAR} */ - @S4Double(defaultValue = 1.0) - public final static String PROP_UNIGRAM_SMEAR_WEIGHT = "unigramSmearWeight"; - - - // just for detailed debugging - private final static SearchStateArc[] EMPTY_ARC = new SearchStateArc[0]; - - // ---------------------------------- - // Subcomponents that are configured - // by the property sheet - // ----------------------------------- - private LanguageModel languageModel; - private AcousticModel acousticModel; - private LogMath logMath; - private Dictionary dictionary; - private UnitManager unitManager; - - // ------------------------------------ - // Data that is configured by the - // property sheet - // ------------------------------------ - private Logger logger; - protected boolean addFillerWords; - private boolean generateUnitStates; - private boolean wantUnigramSmear = true; - private float unigramSmearWeight = 1.0f; - private boolean cacheEnabled; - private int maxArcCacheSize; - - protected float languageWeight; - private float logWordInsertionProbability; - private float logUnitInsertionProbability; - private float logFillerInsertionProbability; - private float logSilenceInsertionProbability; - private float logOne; - - // ------------------------------------ - // Data used for building and maintaining - // the search graph - // ------------------------------------- - private Word sentenceEndWord; - private Word[] sentenceStartWordArray; - private SearchGraph searchGraph; - private HMMPool hmmPool; - private LRUCache arcCache; - private int maxDepth; - - protected HMMTree hmmTree; - - private int cacheTrys; - private int cacheHits; - - public LexTreeLinguist(AcousticModel acousticModel, UnitManager unitManager, - LanguageModel languageModel, Dictionary dictionary, boolean fullWordHistories, boolean wantUnigramSmear, - double wordInsertionProbability, double silenceInsertionProbability, double fillerInsertionProbability, - double unitInsertionProbability, float languageWeight, boolean addFillerWords, boolean generateUnitStates, - float unigramSmearWeight, int maxArcCacheSize) { - - logger = Logger.getLogger(getClass().getName()); - - this.acousticModel = acousticModel; - this.logMath = LogMath.getLogMath(); - this.unitManager = unitManager; - this.languageModel = languageModel; - this.dictionary = dictionary; - - this.wantUnigramSmear = wantUnigramSmear; - this.logWordInsertionProbability = logMath.linearToLog(wordInsertionProbability); - this.logSilenceInsertionProbability = logMath.linearToLog(silenceInsertionProbability); - this.logFillerInsertionProbability = logMath.linearToLog(fillerInsertionProbability); - this.logUnitInsertionProbability = logMath.linearToLog(unitInsertionProbability); - this.languageWeight = languageWeight; - this.addFillerWords = addFillerWords; - this.generateUnitStates = generateUnitStates; - this.unigramSmearWeight = unigramSmearWeight; - this.maxArcCacheSize = maxArcCacheSize; - - cacheEnabled = maxArcCacheSize > 0; - if( cacheEnabled ) { - arcCache = new LRUCache(maxArcCacheSize); - } - } - - public LexTreeLinguist() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - logMath = LogMath.getLogMath(); - - acousticModel = (AcousticModel) ps.getComponent(PROP_ACOUSTIC_MODEL); - unitManager = (UnitManager) ps.getComponent(PROP_UNIT_MANAGER); - languageModel = (LanguageModel) ps.getComponent(PROP_LANGUAGE_MODEL); - dictionary = (Dictionary) ps.getComponent(PROP_DICTIONARY); - - wantUnigramSmear = ps.getBoolean(PROP_WANT_UNIGRAM_SMEAR); - logWordInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_WORD_INSERTION_PROBABILITY)); - logSilenceInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_SILENCE_INSERTION_PROBABILITY)); - logFillerInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_FILLER_INSERTION_PROBABILITY)); - logUnitInsertionProbability = logMath.linearToLog(ps.getDouble(PROP_UNIT_INSERTION_PROBABILITY)); - languageWeight = ps.getFloat(PROP_LANGUAGE_WEIGHT); - addFillerWords = (ps.getBoolean(PROP_ADD_FILLER_WORDS)); - generateUnitStates = (ps.getBoolean(PROP_GENERATE_UNIT_STATES)); - unigramSmearWeight = ps.getFloat(PROP_UNIGRAM_SMEAR_WEIGHT); - maxArcCacheSize = ps.getInt(PROP_CACHE_SIZE); - - cacheEnabled = maxArcCacheSize > 0; - if(cacheEnabled) { - arcCache = new LRUCache(maxArcCacheSize); - } - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#allocate() - */ - public void allocate() throws IOException { - dictionary.allocate(); - acousticModel.allocate(); - languageModel.allocate(); - compileGrammar(); - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#deallocate() - */ - public void deallocate() throws IOException { - if (acousticModel != null) - acousticModel.deallocate(); - if (dictionary != null) - dictionary.deallocate(); - if (languageModel != null) - languageModel.deallocate(); - hmmTree = null; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.Linguist#getSearchGraph() - */ - public SearchGraph getSearchGraph() { - return searchGraph; - } - - - /** Called before a recognition */ - public void startRecognition() { - } - - - /** Called after a recognition */ - public void stopRecognition() { - // FIXME: remove - if (languageModel instanceof LargeNGramModel) - ((LargeNGramModel) languageModel).stop(); - } - - - /** - * Retrieves the language model for this linguist - * - * @return the language model (or null if there is none) - */ - public LanguageModel getLanguageModel() { - return languageModel; - } - - - public Dictionary getDictionary() { - return dictionary; - } - - - /** - * retrieves the initial language state - * - * @return the initial language state - */ - private SearchState getInitialSearchState() { - InitialWordNode node = hmmTree.getInitialNode(); - - if (node == null) - throw new RuntimeException("Language model has no entry for initial word "); - - return new LexTreeWordState(node, node.getParent(), (new WordSequence(sentenceStartWordArray)).trim( - maxDepth - 1), 0f, logOne, logOne); - } - - - /** Compiles the n-gram into a lex tree that is used during the search */ - private void compileGrammar() { - TimerPool.getTimer(this, "Compile").start(); - - sentenceEndWord = dictionary.getSentenceEndWord(); - sentenceStartWordArray = new Word[1]; - sentenceStartWordArray[0] = dictionary.getSentenceStartWord(); - maxDepth = languageModel.getMaxDepth(); - - generateHmmTree(); - - TimerPool.getTimer(this,"Compile").stop(); - // Now that we are all done, dump out some interesting - // information about the process - - searchGraph = new LexTreeSearchGraph(getInitialSearchState()); - } - - - protected void generateHmmTree() { - hmmPool = new HMMPool(acousticModel, logger, unitManager); - hmmTree = new HMMTree(hmmPool, dictionary, languageModel, - addFillerWords, languageWeight); - - hmmPool.dumpInfo(); - } - - - class LexTreeSearchGraph implements SearchGraph { - - /** An array of classes that represents the order in which the states will be returned. */ - - private SearchState initialState; - - - /** - * Constructs a search graph with the given initial state - * - * @param initialState the initial state - */ - LexTreeSearchGraph(SearchState initialState) { - this.initialState = initialState; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getInitialState() - */ - public SearchState getInitialState() { - return initialState; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.linguist.SearchGraph#getSearchStateOrder() - */ - public int getNumStateOrder() { - return 6; - } - - public boolean getWordTokenFirst() { - return false; - } - } - - /** - * The LexTreeLinguist returns language states to the search manager. This class forms the base implementation for - * all language states returned. This LexTreeState keeps track of the probability of entering this state (a - * language+insertion probability) as well as the unit history. The unit history consists of the LexTree nodes that - * correspond to the left, center and right contexts. - *

- * This is an abstract class, subclasses must implement the getSuccessorss method. - */ - abstract class LexTreeState implements SearchState, SearchStateArc { - - private final Node node; - private final WordSequence wordSequence; - final float currentSmearTerm; - final float currentSmearProb; - - - /** - * Creates a LexTreeState. - * - * @param node the node associated with this state - * @param wordSequence the history of words up until this point - - - */ - LexTreeState(Node node, WordSequence wordSequence, float smearTerm, - float smearProb) { - this.node = node; - this.wordSequence = wordSequence; - currentSmearTerm = smearTerm; - currentSmearProb = smearProb; - } - - - /** - * Gets the unique signature for this state. The signature building code is slow and should only be used for - * non-time-critical tasks such as plotting states. - * - * @return the signature - */ - public String getSignature() { - return "lts-" + node.hashCode() + "-ws-" + wordSequence; - } - - - public float getSmearTerm() { - return currentSmearTerm; - } - - - public float getSmearProb() { - return currentSmearProb; - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - int hashCode = wordSequence.hashCode() * 37; - hashCode += node.hashCode(); - return hashCode; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof LexTreeState) { - LexTreeState other = (LexTreeState) o; - if (node != other.node) - return false; - return wordSequence.equals(other.wordSequence); - } else { - return false; - } - } - - - /** - * Gets a successor to this search state - * - * @return the successor state - */ - public SearchState getState() { - return this; - } - - - /** - * Gets the composite probability of entering this state - * - * @return the log probability - */ - public float getProbability() { - return getLanguageProbability() + getInsertionProbability(); - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - public float getLanguageProbability() { - return logOne; - } - - - /** - * Gets the insertion probability of entering this state - * - * @return the log probability - */ - public float getInsertionProbability() { - return logOne; - } - - - /** - * Determines if this is an emitting state - * - * @return true if this is an emitting state. - */ - public boolean isEmitting() { - return false; - } - - - /** - * Determines if this is a final state - * - * @return true if this is an final state. - */ - public boolean isFinal() { - return false; - } - - - /** - * Gets the hmm tree node representing the unit - * - * @return the unit lex node - */ - protected Node getNode() { - return node; - } - - - /** - * Returns the word sequence for this state - * - * @return the word sequence - */ - public WordSequence getWordHistory() { - return wordSequence; - } - - - public Node getLexState() { - return node; - } - - - /** - * Returns the list of successors to this state - * - * @return a list of SearchState objects - */ - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedArcs(); - if (arcs == null) { - arcs = getSuccessors(node); - putCachedArcs(arcs); - } - return arcs; - } - - - /** - * Returns the list of successors to this state - * - * @param theNode node to get successors - * @return a list of SearchState objects - */ - protected SearchStateArc[] getSuccessors(Node theNode) { - Node[] nodes = theNode.getSuccessors(); - SearchStateArc[] arcs = new SearchStateArc[nodes.length]; - // System.out.println("Arc: "+ this); - int i = 0; - for (Node nextNode : nodes) { - // System.out.println(" " + nextNode); - if (nextNode instanceof WordNode) { - arcs[i] = createWordStateArc((WordNode) nextNode, - (HMMNode) getNode(), this); - } else if (nextNode instanceof EndNode) { - arcs[i] = createEndUnitArc((EndNode) nextNode, this); - } else { - arcs[i] = createUnitStateArc((HMMNode) nextNode, this); - } - i++; - } - return arcs; - } - - - /** - * Creates a word search state for the given word node - * @param wordNode the wordNode - * @param lastUnit last unit of the word - * @param previous previous state - * @return the search state for the wordNode - */ - protected SearchStateArc createWordStateArc(WordNode wordNode, - HMMNode lastUnit, LexTreeState previous) { - // System.out.println("CWSA " + wordNode + " fup " + fixupProb); - float languageProbability = logOne; - Word nextWord = wordNode.getWord(); - float smearTerm = previous.getSmearTerm(); - - if (nextWord.isFiller() && nextWord != sentenceEndWord) { - return new LexTreeWordState(wordNode, lastUnit, - wordSequence, - smearTerm, logOne, languageProbability); - } - - WordSequence nextWordSequence = wordSequence.addWord(nextWord, maxDepth); - float probability = languageModel.getProbability(nextWordSequence) * languageWeight; - smearTerm = getSmearTermFromLanguageModel(nextWordSequence); - // System.out.println("LP " + nextWordSequence + " " + - // logProbability); - // subtract off the previously applied smear probability - languageProbability = probability - previous.getSmearProb(); - - if (nextWord == sentenceEndWord) { - return new LexTreeEndWordState(wordNode, lastUnit, - nextWordSequence.trim(maxDepth - 1), - smearTerm, logOne, languageProbability); - } - - return new LexTreeWordState(wordNode, lastUnit, - nextWordSequence.trim(maxDepth - 1), - smearTerm, logOne, languageProbability); - } - - - /** - * Creates a unit search state for the given unit node - * - * @param hmmNode the unit node - - * @return the search state - */ - SearchStateArc createUnitStateArc(HMMNode hmmNode, LexTreeState previous) { - SearchStateArc arc; - // System.out.println("CUSA " + hmmNode); - float insertionProbability = calculateInsertionProbability(hmmNode); - float smearProbability = getUnigramSmear(hmmNode) - + previous.getSmearTerm(); - float languageProbability = smearProbability - previous.getSmearProb(); - - // if we want a unit state create it, otherwise - // get the first hmm state of the unit - - if (generateUnitStates) { - arc = new LexTreeUnitState(hmmNode, getWordHistory(), previous - .getSmearTerm(), smearProbability, languageProbability, - insertionProbability); - } else { - HMM hmm = hmmNode.getHMM(); - arc = new LexTreeHMMState(hmmNode, getWordHistory(), previous - .getSmearTerm(), smearProbability, hmm.getInitialState(), - languageProbability, insertionProbability, null); - } - return arc; - } - - - /** - * Creates a unit search state for the given unit node - * - * @param endNode the unit node - * @param previous the previous state - * @return the search state - */ - SearchStateArc createEndUnitArc(EndNode endNode, LexTreeState previous) { - float smearProbability = getUnigramSmear(endNode) - + previous.getSmearTerm(); - float languageProbability = smearProbability - previous.getSmearProb(); - float insertionProbability = calculateInsertionProbability(endNode); - return new LexTreeEndUnitState(endNode, getWordHistory(), previous - .getSmearTerm(), smearProbability, languageProbability, - insertionProbability); - } - - - /** - * Returns the string representation of this object - * - * @return the string representation - */ - @Override - public String toString() { - return "lt-" + node + ' ' + getProbability() + '{' + wordSequence - + '}'; - } - - - /** - * Returns a pretty version of the string representation for this object - * - * @return a pretty string - */ - public String toPrettyString() { - return toString(); - } - - - /** - * Gets the successor arcs for this state from the cache - * - * @return the next set of arcs for this state, or null if none can be found or if caching is disabled. - */ - SearchStateArc[] getCachedArcs() { - if (cacheEnabled) { - SearchStateArc[] arcs = arcCache.get(this); - if (arcs != null) { - cacheHits++; - } - if (++cacheTrys % 1000000 == 0) { - System.out.println("Hits: " + cacheHits - + " of " + cacheTrys + ' ' + - ((float) cacheHits) / cacheTrys * 100f); - } - return arcs; - } else { - return null; - } - } - - - /** - * Puts the set of arcs into the cache - * - * @param arcs the arcs to cache. - */ - void putCachedArcs(SearchStateArc[] arcs) { - if (cacheEnabled) { - arcCache.put(this, arcs); - } - } - - - abstract public int getOrder(); - } - - /** Represents a unit in the search space */ - public class LexTreeEndUnitState extends LexTreeState - implements UnitSearchState { - - float logLanguageProbability; - float logInsertionProbability; - - - /** - * Constructs a LexTreeUnitState - * - - * @param wordSequence the history of words - - - - - */ - LexTreeEndUnitState(EndNode endNode, WordSequence wordSequence, - float smearTerm, float smearProb, float languageProbability, - float insertionProbability) { - super(endNode, wordSequence, smearTerm, smearProb); - logLanguageProbability = languageProbability; - logInsertionProbability = insertionProbability; - // System.out.println("LTEUS " + logLanguageProbability + " " + - // logInsertionProbability); - } - - - /** - * Returns the base unit associated with this state - * - * @return the base unit - */ - public Unit getUnit() { - return getEndNode().getBaseUnit(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return super.hashCode() * 17 + 423; - } - - - /** - * Gets the acoustic probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - return logInsertionProbability; - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return logLanguageProbability; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - return o == this || o instanceof LexTreeEndUnitState && super.equals(o); - } - - - /** - * Returns the unit node for this state - * - * @return the unit node - */ - private EndNode getEndNode() { - return (EndNode) getNode(); - } - - - /** - * Returns the list of successors to this state - * - * @return a list of SearchState objects - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedArcs(); - if (arcs == null) { - HMMNode[] nodes = getHMMNodes(getEndNode()); - arcs = new SearchStateArc[nodes.length]; - - if (generateUnitStates) { - for (int i = 0; i < nodes.length; i++) { - arcs[i] = new LexTreeUnitState(nodes[i], - getWordHistory(), getSmearTerm(), - getSmearProb(), logOne, logOne, - this.getNode()); - } - } else { - for (int i = 0; i < nodes.length; i++) { - HMM hmm = nodes[i].getHMM(); - arcs[i] = new LexTreeHMMState(nodes[i], - getWordHistory(), getSmearTerm(), - getSmearProb(), hmm.getInitialState(), - logOne, logOne, this.getNode()); - } - } - putCachedArcs(arcs); - } - return arcs; - } - - - @Override - public String toString() { - return super.toString() + " EndUnit"; - } - - - @Override - public int getOrder() { - return 3; - } - } - - /** Represents a unit in the search space */ - public class LexTreeUnitState extends LexTreeState - implements UnitSearchState { - - private float logInsertionProbability; - private float logLanguageProbability; - private Node parentNode; - private int hashCode = -1; - - - /** - * Constructs a LexTreeUnitState - * - * @param wordSequence the history of words - */ - LexTreeUnitState(HMMNode hmmNode, WordSequence wordSequence, - float smearTerm, float smearProb, float languageProbability, - float insertionProbability) { - this(hmmNode, wordSequence, smearTerm, smearProb, - languageProbability, insertionProbability, null); - } - - - /** - * Constructs a LexTreeUnitState - * - * @param wordSequence the history of words - */ - LexTreeUnitState(HMMNode hmmNode, WordSequence wordSequence, - float smearTerm, float smearProb, float languageProbability, - float insertionProbability, Node parentNode) { - super(hmmNode, wordSequence, smearTerm, smearProb); - this.logInsertionProbability = insertionProbability; - this.logLanguageProbability = languageProbability; - this.parentNode = parentNode; - } - - - /** - * Returns the base unit associated with this state - * - * @return the base unit - */ - public Unit getUnit() { - return getHMMNode().getBaseUnit(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - if (hashCode == -1) { - hashCode = super.hashCode() * 17 + 421; - if (parentNode != null) { - hashCode *= 432; - hashCode += parentNode.hashCode(); - } - } - return hashCode; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof LexTreeUnitState) { - LexTreeUnitState other = (LexTreeUnitState) o; - return parentNode == other.parentNode && super.equals(o); - } else { - return false; - } - } - - - /** - * Returns the unit node for this state - * - * @return the unit node - */ - private HMMNode getHMMNode() { - return (HMMNode) getNode(); - } - - - /** - * Returns the list of successors to this state - * - * @return a list of SearchState objects - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = new SearchStateArc[1]; - HMM hmm = getHMMNode().getHMM(); - arcs[0] = new LexTreeHMMState(getHMMNode(), getWordHistory(), - getSmearTerm(), getSmearProb(), hmm.getInitialState(), - logOne, logOne, parentNode); - return arcs; - } - - - @Override - public String toString() { - return super.toString() + " unit"; - } - - - /** - * Gets the acoustic probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - return logInsertionProbability; - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return logLanguageProbability; - } - - - @Override - public int getOrder() { - return 4; - } - } - - /** Represents a HMM state in the search space */ - public class LexTreeHMMState extends LexTreeState implements HMMSearchState, ScoreProvider { - - private final HMMState hmmState; - private float logLanguageProbability; - private float logInsertionProbability; - private final Node parentNode; - int hashCode = -1; - - - /** - * Constructs a LexTreeHMMState - * - * @param hmmNode the HMM state associated with this unit - * @param wordSequence the word history - * @param languageProbability the probability of the transition - * @param insertionProbability the probability of the transition - */ - LexTreeHMMState(HMMNode hmmNode, WordSequence wordSequence, - float smearTerm, float smearProb, HMMState hmmState, - float languageProbability, float insertionProbability, - Node parentNode) { - super(hmmNode, wordSequence, smearTerm, smearProb); - this.hmmState = hmmState; - this.parentNode = parentNode; - this.logLanguageProbability = languageProbability; - this.logInsertionProbability = insertionProbability; - } - - - /** - * Gets the ID for this state - * - * @return the ID - */ - @Override - public String getSignature() { - return super.getSignature() + "-HMM-" + hmmState.getState(); - } - - - /** - * returns the HMM state associated with this state - * - * @return the HMM state - */ - public HMMState getHMMState() { - return hmmState; - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - if (hashCode == -1) { - hashCode = super.hashCode() * 29 + (hmmState.getState() + 1); - if (parentNode != null) { - hashCode *= 377; - hashCode += parentNode.hashCode(); - } - } - return hashCode; - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof LexTreeHMMState) { - LexTreeHMMState other = (LexTreeHMMState) o; - return hmmState == other.hmmState - && parentNode == other.parentNode && super.equals(o); - } else { - return false; - } - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return logLanguageProbability; - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getInsertionProbability() { - return logInsertionProbability; - } - - - /** - * Retrieves the set of successors for this state - * - * @return the list of successor states - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] nextStates = getCachedArcs(); - if (nextStates == null) { - - // if this is an exit state, we are transitioning to a - // new unit or to a word end. - - if (hmmState.isExitState()) { - if (parentNode == null) { - nextStates = super.getSuccessors(); - } else { - nextStates = super.getSuccessors(parentNode); - } - } else { - // The current hmm state is not an exit state, so we - // just go through the next set of successors - - HMMStateArc[] arcs = hmmState.getSuccessors(); - nextStates = new SearchStateArc[arcs.length]; - for (int i = 0; i < arcs.length; i++) { - HMMStateArc arc = arcs[i]; - if (arc.getHMMState().isEmitting()) { - // if its a self loop and the prob. matches - // reuse the state - if (arc.getHMMState() == hmmState - && logInsertionProbability == arc - .getLogProbability()) { - nextStates[i] = this; - } else { - nextStates[i] = new LexTreeHMMState( - (HMMNode) getNode(), getWordHistory(), - getSmearTerm(), getSmearProb(), - arc.getHMMState(), logOne, - arc.getLogProbability(), parentNode); - } - } else { - nextStates[i] = new LexTreeNonEmittingHMMState( - (HMMNode) getNode(), getWordHistory(), - getSmearTerm(), getSmearProb(), - arc.getHMMState(), - arc.getLogProbability(), parentNode); - } - } - } - putCachedArcs(nextStates); - } - return nextStates; - } - - - /** Determines if this is an emitting state */ - @Override - public boolean isEmitting() { - return hmmState.isEmitting(); - } - - - @Override - public String toString() { - return super.toString() + " hmm:" + hmmState; - } - - - @Override - public int getOrder() { - return 5; - } - - - public float getScore(Data data) { - return hmmState.getScore(data); - } - - @Override - public float[] getComponentScore(Data feature) { - return hmmState.calculateComponentScore(feature); - } - -} - - /** Represents a non emitting hmm state */ - public class LexTreeNonEmittingHMMState extends LexTreeHMMState { - - /** - * Constructs a NonEmittingLexTreeHMMState - * - - - * @param hmmState the hmm state associated with this unit - - * @param wordSequence the word history - * @param probability the probability of the transition occurring - - */ - LexTreeNonEmittingHMMState(HMMNode hmmNode, WordSequence wordSequence, - float smearTerm, float smearProb, HMMState hmmState, - float probability, Node parentNode) { - super(hmmNode, wordSequence, smearTerm, smearProb, hmmState, - logOne, probability, parentNode); - } - - - @Override - public int getOrder() { - return 0; - } - } - - /** Represents a word state in the search space */ - public class LexTreeWordState extends LexTreeState - implements - WordSearchState { - - private HMMNode lastNode; - private float logLanguageProbability; - - - /** - * Constructs a LexTreeWordState - * - * @param wordNode the word node - * @param wordSequence the sequence of words triphone context - * @param languageProbability the probability of this word - */ - LexTreeWordState(WordNode wordNode, HMMNode lastNode, - WordSequence wordSequence, float smearTerm, float smearProb, - float languageProbability) { - - super(wordNode, wordSequence, smearTerm, smearProb); - // System.out.println("LTWS " + wordSequence); - this.lastNode = lastNode; - this.logLanguageProbability = languageProbability; - } - - - /** - * Gets the word pronunciation for this state - * - * @return the pronunciation for this word - */ - public Pronunciation getPronunciation() { - return ((WordNode) getNode()).getPronunciation(); - } - - - /** - * Determines if this is a final state - * - * @return true if this is an final state. - */ - @Override - public boolean isFinal() { - return ((WordNode) getNode()).isFinal(); - } - - - /** - * Generate a hashcode for an object - * - * @return the hashcode - */ - @Override - public int hashCode() { - return super.hashCode() * 41 + lastNode.hashCode(); - } - - - /** - * Gets the unique signature for this state. The signature building code is slow and should only be used for - * non-time-critical tasks such as plotting states. - * - * @return the signature - */ - @Override - public String getSignature() { - return super.getSignature() + "-ln-" + lastNode.hashCode(); - } - - - /** - * Determines if the given object is equal to this object - * - * @param o the object to test - * @return true if the object is equal to this - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } else if (o instanceof LexTreeWordState) { - LexTreeWordState other = (LexTreeWordState) o; - return lastNode == other.lastNode && super.equals(o); - } else { - return false; - } - } - - - /** - * Gets the language probability of entering this state - * - * @return the log probability - */ - @Override - public float getLanguageProbability() { - return logLanguageProbability; - } - - - /** - * Returns the list of successors to this state - * - * @return a list of SearchState objects - */ - @Override - public SearchStateArc[] getSuccessors() { - SearchStateArc[] arcs = getCachedArcs(); - if (arcs == null) { - arcs = EMPTY_ARC; - WordNode wordNode = (WordNode) getNode(); - - if (wordNode.getWord() != sentenceEndWord) { - int index = 0; - List list = new ArrayList(); - Unit[] rc = lastNode.getRC(); - Unit left = wordNode.getLastUnit(); - - for (Unit unit : rc) { - Node[] epList = hmmTree.getEntryPoint(left, unit); - for (Node n : epList) { - list.add(n); - } - } - - // add a link to every possible entry point as well - // as link to the node - arcs = new SearchStateArc[list.size() + 1]; - for (Node node : list) { - arcs[index++] = createUnitStateArc((HMMNode)node, this); - } - - // now add the link to the end of sentence arc: - - arcs[index++] = createWordStateArc(hmmTree.getSentenceEndWordNode(), lastNode, this); - } - putCachedArcs(arcs); - } - return arcs; - } - - - @Override - public int getOrder() { - return 1; - } - - - /** - * Returns true if this LexTreeWordState indicates the start of a word. Returns false if this LexTreeWordState - * indicates the end of a word. - * - * @return true if this LexTreeWordState indicates the start of a word, false if this LexTreeWordState indicates - * the end of a word - */ - public boolean isWordStart() { - return false; - } - } - - /** Represents the final end of utterance word */ - public class LexTreeEndWordState extends LexTreeWordState - implements - WordSearchState { - - /** - * Constructs a LexTreeWordState - * - * @param wordNode the word node - * @param lastNode the previous word node - * @param wordSequence the sequence of words triphone context - - - * @param logProbability the probability of this word occurring - */ - LexTreeEndWordState(WordNode wordNode, HMMNode lastNode, - WordSequence wordSequence, float smearTerm, float smearProb, - float logProbability) { - super(wordNode, lastNode, wordSequence, smearTerm, smearProb, - logProbability); - } - - - @Override - public int getOrder() { - return 2; - } - - } - - - /** - * Determines the insertion probability for the given unit lex node - * - * @param unitNode the unit lex node - * @return the insertion probability - */ - private float calculateInsertionProbability(UnitNode unitNode) { - int type = unitNode.getType(); - - if (type == UnitNode.SIMPLE_UNIT) { - return logUnitInsertionProbability; - } else if (type == UnitNode.WORD_BEGINNING_UNIT) { - return logUnitInsertionProbability + logWordInsertionProbability; - } else if (type == UnitNode.SILENCE_UNIT) { - return logSilenceInsertionProbability; - } else { // must be filler - return logFillerInsertionProbability; - } - } - - - /** - * Retrieves the unigram smear from the given node - * - * @return the unigram smear - */ - private float getUnigramSmear(Node node) { - float prob; - if (wantUnigramSmear) { - prob = node.getUnigramProbability() * unigramSmearWeight; - } else { - prob = logOne; - } - return prob; - } - - - /** - * Returns the smear term for the given word sequence - * - * @param ws the word sequence - * @return the smear term for the word sequence - */ - private float getSmearTermFromLanguageModel(WordSequence ws) { - return languageModel.getSmear(ws); - } - - - /** - * Gets the set of HMM nodes associated with the given end node - * - * @param endNode the end node - * @return an array of associated HMM nodes - */ - private HMMNode[] getHMMNodes(EndNode endNode) { - return hmmTree.getHMMNodes(endNode); - } - -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/GDLDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/GDLDumper.java deleted file mode 100755 index c547c221..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/GDLDumper.java +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Copyright 1999-2003 Carnegie Mellon University. - * Portions Copyright 2003 Sun Microsystems, Inc. - * Portions Copyright 2003 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.util; - -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.PrintStream; -import java.util.*; - -/** A linguist processor that dumps out the sentence hmm in GDL format. */ - -public class GDLDumper extends LinguistDumper { - - /** The property specifying whether to skip HMMs during dumping. */ - @S4Boolean(defaultValue = true) - public static final String PROP_SKIP_HMMS = "skipHMMs"; - - /** The property to specify whether to use vertical graph layout. */ - @S4Boolean(defaultValue = false) - public static final String PROP_VERTICAL_LAYOUT = "verticalLayout"; - - /** The property to specify whether to dump arc labels. */ - @S4Boolean(defaultValue = true) - public static final String PROP_DUMP_ARC_LABELS = "dumpArcLabels"; - - // ------------------------------- - // Configuration data - // -------------------------------- - private boolean skipHMMs; - private boolean verticalLayout; - private boolean dumpArcLabels; - private LogMath logMath; - - public GDLDumper( String filename, Linguist linguist, - boolean verticalLayout, boolean skipHMMs, boolean dumpArcLabels) - { - super( filename, linguist ); - - this.verticalLayout = verticalLayout; - this.skipHMMs = skipHMMs; - this.dumpArcLabels = dumpArcLabels; - setDepthFirst(false); // breadth first traversal - logMath = LogMath.getLogMath(); - } - - public GDLDumper() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - verticalLayout = ps.getBoolean( - PROP_VERTICAL_LAYOUT); - skipHMMs = ps.getBoolean(PROP_SKIP_HMMS); - dumpArcLabels = ps.getBoolean( - PROP_DUMP_ARC_LABELS); - setDepthFirst(false); // breadth first traversal - } - - - /** - * Retreives the default name for the destination dump. This method is typically overridden by derived classes - * - * @return the default name for the file. - */ - protected String getDefaultName() { - return "linguistDump.gdl"; - } - - - /** - * Called at the start of the dump - * - * @param out the output stream. - */ - @Override - protected void startDump(PrintStream out) { - out.println("graph: {"); - out.println(" layout_algorithm: minbackward"); - if (verticalLayout) { - out.println(" orientation: top_to_bottom"); - out.println(" manhatten_edges: no"); - out.println(" splines: yes"); - } else { - out.println(" orientation: left_to_right"); - out.println(" manhatten_edges: yes"); - out.println(" splines: no"); - } - } - - - /** - * Called at the end of the dump - * - * @param out the output stream. - */ - @Override - protected void endDump(PrintStream out) { - out.println("}"); - } - - - /** - * Called to dump out a node in the search space - * - * @param out the output stream. - * @param state the state to dump - * @param level the level of the state - */ - @Override - protected void startDumpNode(PrintStream out, SearchState state, int level) { - - if (skipHMMs && (state instanceof HMMSearchState)) { - } else { - String color = getColor(state); - String shape = "box"; - - out.println(" node: {" + "title: " + qs(getUniqueName(state)) - + " label: " + qs(state.toPrettyString()) + " color: " - + color + " shape: " + shape + " vertical_order: " + level - + '}'); - } - } - - - /** - * Gets the color for a particular state - * - * @param state the state - * @return its color - */ - private String getColor(SearchState state) { - String color = "lightred"; - if (state.isFinal()) { - color = "magenta"; - } else if (state instanceof UnitSearchState) { - color = "green"; - } else if (state instanceof WordSearchState) { - color = "lightblue"; - } else if (state instanceof HMMSearchState) { - color = "orange"; - } - return color; - } - - - /** - * Called to dump out a node in the search space - * - * @param out the output stream. - * @param state the state to dump - * @param level the level of the state - */ - @Override - protected void endDumpNode(PrintStream out, SearchState state, int level) { - } - - - /** - * Dumps an arc - * - * @param out the output stream. - * @param from arc leaves this state - * @param arc the arc to dump - * @param level the level of the state - */ - @Override - protected void dumpArc(PrintStream out, SearchState from, - SearchStateArc arc, int level) { - List arcList = new ArrayList(); - - if (skipHMMs) { - if (from instanceof HMMSearchState) { - return; - } else if (arc.getState() instanceof HMMSearchState) { - findNextNonHMMArc(arc, arcList); - } else { - arcList.add(arc); - } - } else { - arcList.add(arc); - } - for (SearchStateArc nextArc : arcList) { - String label = ""; - String color = getArcColor(nextArc); - if (dumpArcLabels) { - double language = logMath.logToLinear(nextArc - .getLanguageProbability()); - double insert = logMath.logToLinear(nextArc - .getInsertionProbability()); - label = " label: " - + qs('(' - + formatEdgeLabel(language) + ',' - + formatEdgeLabel(insert) + ')'); - } - out.println(" edge: { sourcename: " + qs(getUniqueName(from)) - + " targetname: " + qs(getUniqueName(nextArc.getState())) - + label + " color: " + color + '}'); - } - } - - - /** - * Given an arc to an HMMSearchState, find a downstream arc to the first non-HMM state - * - * @param arc the arc to start the search at - * @param results the resulting arcs are placed on this list - */ - private void findNextNonHMMArc(SearchStateArc arc, List results) { - Set visited = new HashSet(); - List queue = new ArrayList(); - queue.add(arc); - while (!queue.isEmpty()) { - SearchStateArc nextArc = queue.remove(0); - if (!visited.contains(nextArc)) { - visited.add(nextArc); - if (!(nextArc.getState() instanceof HMMSearchState)) { - results.add(nextArc); - } else { - queue.addAll(Arrays.asList(nextArc.getState().getSuccessors())); - } - } - } - } - - - /** - * Formats the given floating point number for edge labels. - * - * @param value the floating point value to format - */ - private String formatEdgeLabel(double value) { - if (value == 1.0) { - return "1"; - } else if (value == 0.0) { - return "0"; - } else { - int maxStringLength = 5; - String stringValue = String.valueOf(value); - if (stringValue.length() > maxStringLength) { - stringValue = Utilities.doubleToScientificString(value, 3); - } - return stringValue; - } - } - - - /** - * Returns a color based upon the type of arc - * - * @param arc the arc - * @return the color of the arc based on weather it is a language arc (green), acoustic arc (red), insertion - * arc(blue), flat arc (black) or a combo (purple). - */ - private String getArcColor(SearchStateArc arc) { - String color = null; - if (arc.getLanguageProbability() != 0.0) { - color = "green"; - } - if (arc.getInsertionProbability() != 0.0) { - if (color == null) { - color = "blue"; - } else { - color = "purple"; - } - } - if (color == null) { - color = "black"; - } - return color; - } - - - /** - * Returns a quoted string version of its argument. This method mainly is used to hide the ugliness caused by trying - * to escape a quote character in certain syntax highlighting editors such as vim. - * - * @param s the string to quote. - * @return the quoted string - */ - private String qs(String s) { - return '\"' + s + '\"'; - } - - - /** - * returns a guaranteed unique name for the state - * - * @param state the state of interest - * @return the name - */ - private String getUniqueName(SearchState state) { - return state.getSignature(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LRUCache.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LRUCache.java deleted file mode 100755 index f643960c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LRUCache.java +++ /dev/null @@ -1,33 +0,0 @@ -package edu.cmu.sphinx.linguist.util; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** An LRU cache */ -@SuppressWarnings("serial") -public class LRUCache extends LinkedHashMap { - - final int maxSize; - - - /** - * Creates an LRU cache with the given maximum size - * - * @param maxSize the maximum size of the cache - */ - public LRUCache(int maxSize) { - this.maxSize = maxSize; - } - - - /** - * Determines if the eldest entry in the map should be removed. - * - * @param eldest the eldest entry - * @return true if the eldest entry should be removed - */ - @Override - protected boolean removeEldestEntry(Map.Entry eldest) { - return size() > maxSize; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistDumper.java deleted file mode 100755 index 4c2171f8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistDumper.java +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright 1999-2003 Carnegie Mellon University. - * Portions Copyright 2003 Sun Microsystems, Inc. - * Portions Copyright 2003 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.util; - -import edu.cmu.sphinx.linguist.*; -import edu.cmu.sphinx.util.Cache; -import edu.cmu.sphinx.util.props.*; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.util.*; - -/** - * A linguist processor that dumps out the search space in a simple format. This processor is designed so that it can be - * easily extended by replacing the dumpNode and the dumpEdge methods. - */ -public class LinguistDumper extends LinguistProcessor { - - /** The property for the destination of the LinguistDumper */ - @S4String(defaultValue = "linguistDump.txt") - public final static String PROP_FILENAME = "filename"; - - // ------------------------------ - // Configuration data - // ------------------------------- - private boolean depthFirst = true; - private String filename; - - public LinguistDumper( String filename, Linguist linguist ) { - super( linguist ); - this.filename = filename; - } - - public LinguistDumper() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - filename = ps.getString(PROP_FILENAME); - } - - - /** Dumps the search space hmm in GDL format */ - @Override - public void run() { - try { - FileOutputStream fos = new FileOutputStream(filename); - PrintStream out = new PrintStream(fos); - SearchState firstState = - getLinguist().getSearchGraph().getInitialState(); - dumpSearchGraph(out, firstState); - out.close(); - } catch (FileNotFoundException fnfe) { - System.out.println("Can't dump to file " + filename + ' ' + fnfe); - } - } - - - /** - * Sets whether the traversal is depth first or breadth first - * - * @param depthFirst if true traversal is depth first, otherwise the traversal is breadth first - */ - protected void setDepthFirst(boolean depthFirst) { - this.depthFirst = depthFirst; - } - - /** - * Called at the start of the dump - * - * @param out the output stream. - */ - protected void startDump(PrintStream out) { - } - - - /** - * Called at the end of the dump - * - * @param out the output stream. - */ - protected void endDump(PrintStream out) { - } - - - /** - * Called to dump out a node in the search space - * - * @param out the output stream. - * @param state the state to dump - * @param level the level of the state - */ - protected void startDumpNode(PrintStream out, SearchState state, int level) { - } - - - /** - * Called to dump out a node in the search space - * - * @param out the output stream. - * @param state the state to dump - * @param level the level of the state - */ - protected void endDumpNode(PrintStream out, SearchState state, int level) { - } - - - /** - * Dumps an arc - * - * @param out the output stream. - * @param from arc leaves this state - * @param arc the arc to dump - * @param level the level of the state - */ - protected void dumpArc(PrintStream out, SearchState from, - SearchStateArc arc, int level) { - } - - - /** - * Dumps the search graph - * - * @param out place to dump the output - * @param startingState the initial state of the search space - */ - private void dumpSearchGraph(PrintStream out, SearchState startingState) { - List queue = new LinkedList(); - Set visitedStates = new HashSet(); - startDump(out); - queue.add(new StateLevel(startingState, 0)); - while (!queue.isEmpty()) { - StateLevel stateLevel = queue.remove(0); - int level = stateLevel.getLevel(); - SearchState state = stateLevel.getState(); - // equalCheck(state); - if (!visitedStates.contains(state.getSignature())) { - visitedStates.add(state.getSignature()); - startDumpNode(out, state, level); - SearchStateArc[] arcs = state.getSuccessors(); - for (int i = arcs.length - 1; i >= 0; i--) { - SearchState nextState = arcs[i].getState(); - dumpArc(out, state, arcs[i], level); - if (depthFirst) { - // if depth first, its a stack - queue.add(0, new StateLevel(nextState, level + 1)); - } else { - queue.add(new StateLevel(nextState, level + 1)); - } - } - endDumpNode(out, state, level); - } - } - endDump(out); - } - - - final Cache eqStates = new Cache(); - final Map eqSigs = new HashMap(); - - - /** - * This is a bit of test/debugging code that ensures that the states that have equal signatures are also considered - * to be object.equals and vice versa.. This method will dump out any states where this contract is not true - * - * @param state the state to check - */ - @SuppressWarnings("unused") - private void equalCheck(SearchState state) { - SearchState eqState = eqStates.cache(state); - SearchState eqSig = eqSigs.get(state.getSignature()); - if (eqState == null ^ eqSig == null) { - System.out.println("Missing one: "); - System.out.println(" state val: " + state); - System.out.println(" state sig: " + state.getSignature()); - System.out.println(" eqState val: " + eqState); - System.out.println(" eqSig val: " + eqSig); - if (eqState != null) { - System.out.println(" eqState sig: " + eqState.getSignature()); - } - if (eqSig != null) { - System.out.println(" eqSig sig: " + eqSig.getSignature()); - } - } - if (eqState == null) { - eqState = state; - } - if (eqSig == null) { - eqSigs.put(state.getSignature(), state); - eqSig = state; - } - if (!eqState.getSignature().equals(state.getSignature())) { - System.out.println("Sigs mismatch for: "); - System.out.println(" state sig: " + state.getSignature()); - System.out.println(" eqSig sig: " + eqSig.getSignature()); - System.out.println(" state val: " + state); - System.out.println(" eqSig val: " + eqSig); - } - if (!eqState.equals(state)) { - System.out.println("obj mismatch for: "); - System.out.println(" state sig: " + state.getSignature()); - System.out.println(" eqSig sig: " + eqSig.getSignature()); - System.out.println(" state val: " + state); - System.out.println(" eqSig val: " + eqSig); - } - } -} - -/** A class for bundling together a SearchState and its level. */ - -class StateLevel { - - private final int level; - private final SearchState state; - - - /** - * Constructs a StateLevel from its primitive components. - * - * @param state the state to be bundled in the StateLevel - * @param level the level of the state - */ - StateLevel(SearchState state, int level) { - this.state = state; - this.level = level; - } - - - /** - * Returns the state - * - * @return the state - */ - SearchState getState() { - return state; - } - - - /** - * Returns the level - * - * @return the level. - */ - int getLevel() { - return level; - } - - - /** - * Returns a string representation of the object - * - * @return a string representation - */ - @Override - public String toString() { - return String.valueOf(level) + ' ' + state.getSignature() + " 1 " - + getTypeLabel(state); - } - - - /** - * Retrieves a type label for a state - * - * @param state the state of interest - * @return a label for the type of state (one of Unit, Word, HMM or other - */ - public String getTypeLabel(SearchState state) { - if (state instanceof UnitSearchState) { - return "Unit"; - } - if (state instanceof WordSearchState) { - return "Word"; - } - if (state instanceof HMMSearchState) { - return "HMM"; - } - return "other"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistStats.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistStats.java deleted file mode 100755 index 839bd20d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistStats.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 1999-2003 Carnegie Mellon University. - * Portions Copyright 2003 Sun Microsystems, Inc. - * Portions Copyright 2003 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.util; - -import edu.cmu.sphinx.linguist.*; - -import java.util.*; - -/** A linguist processor that dumps out statistics about the search space */ -public class LinguistStats extends LinguistProcessor { - - private final Map, Integer> stateCountByType = new HashMap, Integer>(); - - public LinguistStats( Linguist linguist ) { - super(linguist); - } - - public LinguistStats() { - - } - - /** Dumps the statistics of the linguist */ - @Override - public void run() { - Linguist linguist = getLinguist(); - List queue = new LinkedList(); - Set visitedStates = new HashSet(); - int stateCount = 0; - queue.add(linguist.getSearchGraph().getInitialState()); - while (!queue.isEmpty()) { - SearchState state = queue.remove(0); - if (!visitedStates.contains(state)) { - stateCount++; - incrementStateTypeCount(state); - visitedStates.add(state); - SearchStateArc[] arcs = state.getSuccessors(); - for (int i = arcs.length - 1; i >= 0; i--) { - SearchState nextState = arcs[i].getState(); - queue.add(nextState); - } - // Dump out the unique word states for debugging - // if (state instanceof WordSearchState) { - // System.out.println("WS: " + state); - // } - // if (false && state instanceof HMMSearchState) { - // System.out.println("HS: " + state); - // } - } - } - System.out.println("# ----------- linguist stats ------------ "); - System.out.println("# Total states: " + stateCount); - dumpStateTypeCounts(); - } - - - /** - * Keeps track of state counts by class - * - * @param state the state to track - */ - private void incrementStateTypeCount(SearchState state) { - Integer count = stateCountByType.get(state.getClass()); - if (count == null) { - count = 0; - } - count = count + 1; - stateCountByType.put(state.getClass(), count); - } - - - /** Dumps all of the class counts */ - private void dumpStateTypeCounts() { - for (Map.Entry, Integer> entry : stateCountByType.entrySet()) - System.out.println("# " + entry.getKey() + ": " + entry.getValue()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistTimer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistTimer.java deleted file mode 100755 index 122e6c6f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/linguist/util/LinguistTimer.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.linguist.util; - -import edu.cmu.sphinx.linguist.Linguist; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.SearchStateArc; -import edu.cmu.sphinx.util.Timer; -import edu.cmu.sphinx.util.TimerPool; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Random; - -/** Gets successors from a linguist and times them */ -public class LinguistTimer { - - private final Linguist linguist; - private final boolean details; - int totalStates; - int totalEmittingStates; - int totalNonEmittingStates; - int totalFinalStates; - int maxSuccessors; - - - /** - * Creates a LinguistTimer - * - * @param linguist the linguist to time - * @param details if true print out details - */ - public LinguistTimer(Linguist linguist, boolean details) { - this.linguist = linguist; - this.details = details; - } - /** - * tests the linguist - */ - /** - * Times the lingust - * - * @param numRuns the number of simulated runs - * @param numFrames the number of simulated frames - * @param maxBeam the size of the beam - */ - public void timeLinguist(int numRuns, int numFrames, int maxBeam) { - // this test invokes the linguist using access patterns that - // are similar to a real search. It allows for timing and - // profiling of the linguist, independent of the search - // or scoring - Random random = new Random(1000); - Timer frameTimer = TimerPool.getTimer(this, "frameTimer"); - Timer totalTimer = TimerPool.getTimer(this, "totalTimer"); - // Note: this comparator imposes orderings that are - // inconsistent with equals. - System.out.println("TestLinguist: runs " + numRuns + " frames " - + numFrames + " beam " + maxBeam); - totalTimer.start(); - for (int runs = 0; runs < numRuns; runs++) { - int level = 0; - List activeList = new ArrayList(); - activeList.add(linguist.getSearchGraph().getInitialState()); - linguist.startRecognition(); - for (int i = 0; i < numFrames; i++) { - List oldList = activeList; - activeList = new ArrayList(maxBeam * 10); - frameTimer.start(); - for (SearchState nextStates : oldList) { - expandState(level, activeList, nextStates); - } - frameTimer.stop(); - Collections.shuffle(activeList, random); - if (activeList.size() > maxBeam) { - activeList = activeList.subList(0, maxBeam); - } - } - linguist.stopRecognition(); - } - totalTimer.stop(); - System.out.println(" MaxSuccessors : " + maxSuccessors); - System.out.println(" TotalStates : " + totalStates); - System.out.println(" TotalEmitting : " + totalEmittingStates); - System.out.println(" NonEmitting : " + totalNonEmittingStates); - System.out.println(" Final States : " + totalFinalStates); - } - - - /** - * expand the give search state - * - * @param level the nesting level - * @param activeList where next states are placed - * @param state the search state to expand - */ - private void expandState(int level, List activeList, SearchState state) { - SearchStateArc[] newStates = state.getSuccessors(); - totalStates++; - // System.out.println(Utilities.pad(level * 2) + state); - if (newStates.length > maxSuccessors) { - maxSuccessors = newStates.length; - } - for (SearchStateArc newState : newStates) { - SearchState ns = newState.getState(); - if (ns.isEmitting()) { - totalEmittingStates++; - activeList.add(ns); - } else if (!ns.isFinal()) { - totalNonEmittingStates++; - activeList.add(ns); - if (details && ns.isFinal()) { - System.out.println("result " + ns.toPrettyString()); - } - expandState(level + 1, activeList, ns); - } else { - totalFinalStates++; - } - totalStates++; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/Recognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/Recognizer.java deleted file mode 100755 index d5163a10..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/Recognizer.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.recognizer; - -import edu.cmu.sphinx.decoder.Decoder; -import edu.cmu.sphinx.decoder.ResultProducer; -import edu.cmu.sphinx.decoder.ResultListener; -import edu.cmu.sphinx.instrumentation.Monitor; -import edu.cmu.sphinx.instrumentation.Resetable; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.*; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * The Sphinx-4 recognizer. This is the main entry point for Sphinx-4. Typical usage of a recognizer is like so: - * - * public void recognizeDigits() { - * URL digitsConfig = new URL("file:./digits.xml"); - * ConfigurationManager cm = new ConfigurationManager(digitsConfig); - * Recognizer sphinxDigitsRecognizer - * = (Recognizer) cm.lookup("digitsRecognizer"); - * boolean done = false; - * Result result; - * - * sphinxDigitsRecognizer.allocate(); - * - * // echo spoken digits, quit when 'nine' is spoken - * - * while (!done) { - * result = sphinxDigitsRecognizer.recognize(); - * System.out.println("Result: " + result); - * done = result.toString().equals("nine"); - * } - * sphinxDigitsRecognizer.deallocate(); - * } - * - * Note that some Recognizer methods may throw an IllegalStateException if the recognizer is not in the proper state - */ -public class Recognizer implements Configurable, ResultProducer { - - /** The property for the decoder to be used by this recognizer. */ - @S4Component(type = Decoder.class) - public final static String PROP_DECODER = "decoder"; - - /** The property for the set of monitors for this recognizer */ - @S4ComponentList(type = Monitor.class) - public final static String PROP_MONITORS = "monitors"; - - /** Defines the possible states of the recognizer. */ - public static enum State { DEALLOCATED, ALLOCATING, ALLOCATED, READY, RECOGNIZING, DEALLOCATING, ERROR } - - private String name; - private Decoder decoder; - private State currentState = State.DEALLOCATED; - - private final List stateListeners = Collections.synchronizedList(new ArrayList()); - private List monitors; - - - public Recognizer(Decoder decoder, List monitors) { - this.decoder = decoder; - this.monitors = monitors; - name = null; - } - - public Recognizer() { - } - - /* (non-Javadoc) - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - decoder = (Decoder) ps.getComponent(PROP_DECODER); - monitors = ps.getComponentList(PROP_MONITORS, Monitor.class); - - name = ps.getInstanceName(); - } - - - /** - * Performs recognition for the given number of input frames, or until a 'final' result is generated. This method - * should only be called when the recognizer is in the allocated state. - * - * @param referenceText what was actually spoken - * @return a recognition result - * @throws IllegalStateException if the recognizer is not in the ALLOCATED state - */ - public Result recognize(String referenceText) throws IllegalStateException { - Result result = null; - checkState(State.READY); - try { - setState(State.RECOGNIZING); - result = decoder.decode(referenceText); - } finally { - setState(State.READY); - } - return result; - } - - - /** - * Performs recognition for the given number of input frames, or until a 'final' result is generated. This method - * should only be called when the recognizer is in the allocated state. - * - * @return a recognition result - * @throws IllegalStateException if the recognizer is not in the ALLOCATED state - */ - public Result recognize() throws IllegalStateException { - return recognize(null); - } - - - /** - * Checks to ensure that the recognizer is in the given state. - * - * @param desiredState the state that the recognizer should be in - * @throws IllegalStateException if the recognizer is not in the desired state. - */ - private void checkState(State desiredState) { - if (currentState != desiredState) { - throw new IllegalStateException("Expected state " + desiredState - + " actual state " + currentState); - } - } - - - /** - * sets the current state - * - * @param newState the new state - */ - private void setState(State newState) { - currentState = newState; - synchronized (stateListeners) { - for (StateListener sl : stateListeners) { - sl.statusChanged(currentState); - } - } - } - - - /** - * Allocate the resources needed for the recognizer. Note this method make take some time to complete. This method - * should only be called when the recognizer is in the deallocated state. - * - * @throws IllegalStateException if the recognizer is not in the DEALLOCATED state - */ - public void allocate() throws IllegalStateException { - checkState(State.DEALLOCATED); - setState(State.ALLOCATING); - decoder.allocate(); - setState(State.ALLOCATED); - setState(State.READY); - } - - - /** - * Deallocates the recognizer. This method should only be called if the recognizer is in the allocated - * state. - * - * @throws IllegalStateException if the recognizer is not in the ALLOCATED state - */ - public void deallocate() throws IllegalStateException { - checkState(State.READY); - setState(State.DEALLOCATING); - decoder.deallocate(); - setState(State.DEALLOCATED); - } - - - /** - * Retrieves the recognizer state. This method can be called in any state. - * - * @return the recognizer state - */ - public State getState() { - return currentState; - } - - - /** Resets the monitors monitoring this recognizer */ - public void resetMonitors() { - for (Monitor listener : monitors) { - if (listener instanceof Resetable) - ((Resetable)listener).reset(); - } - } - - - /** - * Adds a result listener to this recognizer. A result listener is called whenever a new result is generated by the - * recognizer. This method can be called in any state. - * - * @param resultListener the listener to add - */ - public void addResultListener(ResultListener resultListener) { - decoder.addResultListener(resultListener); - } - - - /** - * Adds a status listener to this recognizer. The status listener is called whenever the status of the recognizer - * changes. This method can be called in any state. - * - * @param stateListener the listener to add - */ - public void addStateListener(StateListener stateListener) { - stateListeners.add(stateListener); - } - - - /** - * Removes a previously added result listener. This method can be called in any state. - * - * @param resultListener the listener to remove - */ - public void removeResultListener(ResultListener resultListener) { - decoder.removeResultListener(resultListener); - } - - - /** - * Removes a previously added state listener. This method can be called in any state. - * - * @param stateListener the state listener to remove - */ - public void removeStateListener(StateListener stateListener) { - stateListeners.remove(stateListener); - } - - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return "Recognizer: " + name + " State: " + currentState; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/StateListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/StateListener.java deleted file mode 100755 index c6e1a07e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/recognizer/StateListener.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.recognizer; - -import edu.cmu.sphinx.util.props.Configurable; - -import java.util.EventListener; - -/** The listener interface for receiving recognizer status events */ -public interface StateListener extends EventListener, Configurable { - - /** - * Called when the status has changed. - * - * @param status the new status - */ - public void statusChanged(Recognizer.State status); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/BoundedPriorityQueue.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/BoundedPriorityQueue.java deleted file mode 100755 index c23ac6e5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/BoundedPriorityQueue.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import java.util.Iterator; -import java.util.TreeSet; - -// TODO: replace with MinMaxPriorityQueue -public class BoundedPriorityQueue implements Iterable { - - TreeSet items; - int maxSize; - - public BoundedPriorityQueue(int maxSize) { - items = new TreeSet(); - this.maxSize = maxSize; - } - - public void add(T item) { - items.add(item); - if (items.size() > maxSize) - items.pollFirst(); - } - - public int size() { - return items.size(); - } - - public T poll() { - return items.pollLast(); - } - - public Iterator iterator() { - return items.iterator(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Edge.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Edge.java deleted file mode 100755 index ff96af39..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Edge.java +++ /dev/null @@ -1,196 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ -package edu.cmu.sphinx.result; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.StringTokenizer; - -/** Edges are part of Lattices. They connect Nodes, and contain the score associated with that sequence. */ -public class Edge { - - protected double acousticScore; - protected double lmScore; - protected final Node fromNode; - protected final Node toNode; - - - /** - * Create an Edge from fromNode to toNode with acoustic and Language Model scores. - * - * @param fromNode from node - * @param toNode to node - * @param acousticScore acoustic score - * @param lmScore langauge model score - */ - protected Edge(Node fromNode, Node toNode, - double acousticScore, double lmScore) { - this.acousticScore = acousticScore; - this.lmScore = lmScore; - this.fromNode = fromNode; - this.toNode = toNode; - } - - - @Override - public String toString() { - return "Edge(" + fromNode + "-->" + toNode + '[' + acousticScore - + ',' + lmScore + "])"; - } - - - /** - * Internal routine used when creating a Lattice from a .LAT file - * - * @param lattice - * @param tokens - */ - static void load(Lattice lattice, StringTokenizer tokens) { - - String from = tokens.nextToken(); - String to = tokens.nextToken(); - double aScore = Double.parseDouble(tokens.nextToken()); - double lmScore = Double.parseDouble(tokens.nextToken()); - - Node fromNode = lattice.getNode(from); - if (fromNode == null) { - throw new Error("Edge fromNode \"" + from + "\" does not exist"); - } - - Node toNode = lattice.getNode(to); - if (toNode == null) { - throw new Error("Edge toNode \"" + to + "\" does not exist"); - } - - lattice.addEdge(fromNode, toNode, aScore, lmScore); - } - - - /** - * Internal routine used when dumping a Lattice as a .LAT file - * - * @param f - * @throws IOException - */ - void dump(PrintWriter f) throws IOException { - f.println("edge: " + fromNode.getId() + ' ' + toNode.getId() + ' ' - + acousticScore + ' ' + lmScore); - } - - - /** - * Internal routine used when dumping a Lattice as an AiSee file - * - * @param f - * @throws IOException - */ - void dumpAISee(FileWriter f) throws IOException { - f.write("edge: { sourcename: \"" + fromNode.getId() - + "\" targetname: \"" + toNode.getId() - + "\" label: \"" + acousticScore + ',' + lmScore + "\" }\n"); - } - - /** - * Internal routine used when dumping a Lattice as an Graphviz file - * - * @param f file writer - * @throws IOException if error occured - */ - public void dumpDot(FileWriter f) throws IOException { - String label = "" + acousticScore + "," + lmScore; - f.write("\tnode" + fromNode.getId() + " -> node" + toNode.getId() - + " [ label=\"" + label + "\" ]\n"); - } - - /** - * Get the acoustic score associated with an Edge. This is the acoustic - * score of the word that this edge is transitioning to, that is, the word - * represented by the node returned by the getToNode() method. - * - * @return the acoustic score of the word this edge is transitioning to - */ - public double getAcousticScore() { - return acousticScore; - } - - - /** - * Get the language model score associated with an Edge - * - * @return the score - */ - public double getLMScore() { - return lmScore; - } - - - /** - * Get the "from" Node associated with an Edge - * - * @return the Node - */ - public Node getFromNode() { - return fromNode; - } - - - /** - * Get the "to" Node associated with an Edge - * - * @return the Node - */ - public Node getToNode() { - return toNode; - } - - - /** - * Sets the acoustic score - * - * @param v the acoustic score. - */ - public void setAcousticScore(double v) { - acousticScore = v; - } - - - /** - * Sets the language model score - * - * @param v the lm score. - */ - public void setLMScore(double v) { - lmScore = v; - } - - - /** - * Returns true if the given edge is equivalent to this edge. Two edges are equivalent only if they have their - * 'fromNode' and 'toNode' are equivalent, and that their acoustic and language scores are the same. - * - * @param other the Edge to compare this Edge against - * @return true if the Edges are equivalent; false otherwise - */ - public boolean isEquivalent(Edge other) { - /* - * TODO: Figure out why there would be minute differences - * in the acousticScore. Therefore, the equality of the acoustic - * score is judge based on whether the difference is bigger than 1. - */ - double diff = Math.abs(acousticScore) * 0.00001; - return ((Math.abs(acousticScore - other.getAcousticScore()) <= diff && - lmScore == other.getLMScore()) && - (fromNode.isEquivalent(other.getFromNode()) && - toNode.isEquivalent(other.getToNode()))); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/FrameStatistics.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/FrameStatistics.java deleted file mode 100755 index 58248a6b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/FrameStatistics.java +++ /dev/null @@ -1,65 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.result; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.acoustic.Unit; - -/** - * Contains statistics about a frame. - *

- * Note that all scores are maintained in LogMath log base - */ -public abstract class FrameStatistics { - - /** - * Gets the frame number - * - * @return the frame number - */ - public abstract int getFrameNumber(); - - - /** - * Gets the feature associated with this frame - * - * @return the feature associated with the frame or null if the feature is not available - */ - public abstract Data getData(); - - - /** - * Gets the best score for this frame - * - * @return the best score for this frame in the LogMath log domain - */ - public abstract float getBestScore(); - - - /** - * Gets the unit that had the best score for this frame - * - * @return the unit with the best score - */ - public abstract Unit getBestUnit(); - - - /** - * Gets the best scoring hmm state for this frame - * - * @return the best scoring state - */ - public abstract int getBestState(); -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/GDLLatticeFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/GDLLatticeFactory.java deleted file mode 100755 index 3b78a46d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/GDLLatticeFactory.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; - - -/** - * Creates a Lattice from a GDL (AISee) Lattice file. One can obtain such a GDL file from a lattice by calling the - * Lattice.dumpAISee method. - */ -public class GDLLatticeFactory { - - private GDLLatticeFactory() { - } - - - /** - * Create a Lattice from a GDL (AISee) Lattice file. - * - * @param gdlFile the lattice file - * @param dictionary the dictionary to use to look up words - * @return Lattice created from file - * @throws IOException if something went wrong - */ - public static Lattice getLattice(String gdlFile, Dictionary dictionary) - throws IOException { - Lattice lattice = new Lattice(); - - BufferedReader reader = new BufferedReader(new FileReader(gdlFile)); - String line = null; - - while ((line = reader.readLine()) != null) { - if (line.startsWith("node")) { - createNode(line, lattice, dictionary); - } else if (line.startsWith("edge")) { - createEdge(line, lattice); - } - } - reader.close(); - return lattice; - } - - - private static void createNode(String line, Lattice lattice, - Dictionary dictionary) { - String[] text = line.split("\\s"); - String id = text[3].substring(1, text[3].length() - 1); - String contents = text[5].substring(1); - String posterior = text[6].substring(2, text[6].length() - 2); - - String word = contents.substring(0, contents.indexOf('[')); - contents = contents.substring(contents.indexOf('[') + 1); - - String start = contents.substring(0, contents.indexOf(',')); - String end = contents.substring(contents.indexOf(',') + 1); - - Node node = lattice.addNode(id, dictionary.getWord(word), - Integer.parseInt(start), - Integer.parseInt(end)); - node.setPosterior(Double.parseDouble(posterior)); - - if (word.equals("")) { - lattice.setInitialNode(node); - } else if (word.equals("")) { - lattice.setTerminalNode(node); - } - } - - - private static void createEdge(String line, Lattice lattice) { - String[] text = line.split("\\s"); - String src = text[3].substring(1, text[3].length() - 1); - String dest = text[5].substring(1, text[5].length() - 1); - String contents = text[7].substring(1, text[7].length() - 1); - String[] scores = contents.split(","); - - lattice.addEdge(lattice.getNode(src), lattice.getNode(dest), - Double.parseDouble(scores[0]), - Double.parseDouble(scores[1])); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Lattice.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Lattice.java deleted file mode 100755 index bf34b462..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Lattice.java +++ /dev/null @@ -1,1158 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.LineNumberReader; -import java.io.PrintWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.Set; -import java.util.StringTokenizer; - -import edu.cmu.sphinx.decoder.search.AlternateHypothesisManager; -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimeFrame; - -/** - *

- * Provides recognition lattice results. Lattices are created from - * {@link edu.cmu.sphinx.result.Result Results} which can be partial or final. - *

- *

- * Lattices describe all theories considered by the Recognizer that have not - * been pruned out. Lattices are a directed graph containing - * {@link edu.cmu.sphinx.result.Node Nodes} and - * {@link edu.cmu.sphinx.result.Edge Edges}. A Node that corresponds to a theory - * that a word was spoken over a particular period of time. An Edge that - * corresponds to the score of one word following another. The usual result - * transcript is the sequence of Nodes though the Lattice with the best scoring - * path. Lattices are a useful tool for analyzing "alternate results". - *

- *

- * A Lattice can be created from a Result that has a full token tree (with its - * corresponding AlternativeHypothesisManager). Currently, only the - * {@link edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager} - * has an AlternativeHypothesisManager. Furthermore, the lattice construction - * code currently only works for linguists where the - * {@link edu.cmu.sphinx.linguist.WordSearchState} returns false on the - * isWordStart method, i.e., where the word states appear at the - * end of the word in the linguist. Therefore, lattices should only be - * created from Result from the - * {@link edu.cmu.sphinx.linguist.lextree.LexTreeLinguist} and the - * {@link edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager}. - * - *

- *

- * Lattices can also be created from a collapsed - * {@link edu.cmu.sphinx.decoder.search.Token} tree and its - * AlternativeHypothesisManager. This is what 'collapsed' means. Normally, - * between two word tokens is a series of tokens for other types of states, such - * as unit or HMM states. Using 'W' for word tokens, 'U' for unit tokens, 'H' - * for HMM tokens, a token chain can look like: - *

- * - *
- * W - U - H - H - H - H - U - H - H - H - H - W
- * 
- *

- * Usually, HMM tokens contains acoustic scores, and word tokens contains - * language scores. If we want to know the total acoustic and language scores - * between any two words, it is unnecessary to keep around the unit and HMM - * tokens. Therefore, all their acoustic and language scores are 'collapsed' - * into one token, so that it will look like: - *

- * - *
- * W - P - W
- * 
- *

- * where 'P' is a token that represents the path between the two words, and P - * contains the acoustic and language scores between the two words. It is this - * type of collapsed token tree that the Lattice class is expecting. Normally, - * the task of collapsing the token tree is done by the - * {@link edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager}. A - * collapsed token tree can look like: - *

- * - *
- *                             "cat" - P - </s>
- *                            /
- *                           P
- *                          /
- * <s> - P - "a" - P - "big"
- *                          \
- *                           P
- *                            \
- *                             "dog" - P - </s>
- * 
- *

- * When a Lattice is constructed from a Result, the above collapsed token tree - * together with the alternate hypothesis of "all" instead of "a", will be - * converted into a Lattice that looks like the following: - * - *

- *       "a"           "cat"
- *     /     \        /     \
- * <s>          "big"         - </s>
- *     \     /        \     /
- *      "all"          "dog"
- * 
- *

- * Initially, a lattice can have redundant nodes, i.e., nodes referring to the - * same word and that originate from the same parent node. These nodes can be - * collapsed using the {@link LatticeOptimizer}. - *

- */ -public class Lattice { - - protected Node initialNode; - protected Node terminalNode; - protected Set edges; - protected Map nodes; - protected double logBase; - protected LogMath logMath; - private boolean wordTokenFirst; - private Set visitedWordTokens; - private AlternateHypothesisManager loserManager; - - /** Create an empty Lattice. */ - public Lattice() { - edges = new HashSet(); - nodes = new HashMap(); - logMath = LogMath.getLogMath(); - } - - /** - * Create a Lattice from a Result. - *

- * The Lattice is created from the Token tree referenced by the Result. The - * Lattice is then optimized to all collapse equivalent paths. - * - * @param result - * the result to convert into a lattice - */ - public Lattice(Result result) { - this(); - visitedWordTokens = new HashSet(); - wordTokenFirst = result.getWordTokenFirst(); - loserManager = result.getAlternateHypothesisManager(); - if (loserManager != null) { - loserManager.purge(); - } - Token token = result.getBestFinalToken(); - assert token != null && token.getWord().isSentenceEndWord(); - if (terminalNode == null) { - terminalNode = new Node(getNodeID(result.getBestToken()), token.getWord(), -1, -1); - initialNode = terminalNode; - addNode(terminalNode); - } - collapseWordToken(token); - } - - private TimeFrame getTimeFrameWordTokenFirst(Token token) { - // TODO: Not implemented yet - return new TimeFrame(0, 0); - } - - private TimeFrame getTimeFrameWordTokenLast(Token token) { - TimeFrame capTimeFrame = new TimeFrame(0, 0); - - Word word = null; - long lastStartTime = -1; - long lastEndTime = -1; - Token dataToken = token; - while (dataToken != null) { - if (dataToken.isWord()) { - if (word != null && lastStartTime >= 0) { - return new TimeFrame(lastStartTime, - lastEndTime); - } - word = dataToken.getWord(); - lastEndTime = dataToken.getCollectTime(); - } - lastStartTime = dataToken.getCollectTime(); - dataToken = dataToken.getPredecessor(); - } - if (lastEndTime >= 0 && lastStartTime >= 0) - return new TimeFrame(lastStartTime, lastEndTime); - - return capTimeFrame; - } - - private TimeFrame getTimeFrame(Token token) { - if (wordTokenFirst) - return getTimeFrameWordTokenFirst(token); - else - return getTimeFrameWordTokenLast(token); - } - - /** - * Returns the node corresponding to the given word token. - * - * @param token - * the token which we want a node of - * @return the node of the given token - */ - private Node getNode(Token token) { - if (token.getWord().isSentenceEndWord()) { - return terminalNode; - } - Node node = nodes.get(getNodeID(token)); - if (node == null) { - TimeFrame timeFrame = getTimeFrame(token); - node = new Node(getNodeID(token), token.getWord(), timeFrame.getStart(), timeFrame.getEnd()); - addNode(node); - } - return node; - } - - /** - * Collapse the given word-ending token. This means collapsing all the unit - * and HMM tokens that correspond to the word represented by this token into - * an edge of the lattice. - * - * @param token - * the word-ending token to collapse - */ - private void collapseWordToken(Token token) { - assert token != null; - if (visitedWordTokens.contains(token)) { - return; - } - visitedWordTokens.add(token); - - collapseWordPath(getNode(token), token.getPredecessor(), token.getAcousticScore() + token.getInsertionScore(), - token.getLanguageScore()); - - if (loserManager != null && loserManager.hasAlternatePredecessors(token)) { - for (Token loser : loserManager.getAlternatePredecessors(token)) { - collapseWordPath(getNode(token), loser, token.getAcousticScore(), token.getLanguageScore()); - } - } - } - - /** - * @param parentWordNode - * the 'toNode' of the returned edge - * @param token - * the predecessor token of the token represented by the - * parentWordNode - * @param acousticScore - * the acoustic score until and including the parent of token - * @param languageScore - * the language score until and including the parent of token - */ - private void collapseWordPath(Node parentWordNode, Token token, float acousticScore, float languageScore) { - - if (token == null) - return; - - if (token.isWord()) { - /* - * If this is a word, create a Node for it, and then create an edge - * from the Node to the parentWordNode - */ - Node fromNode = getNode(token); - addEdge(fromNode, parentWordNode, acousticScore, languageScore); - if (token.getPredecessor() != null) { - /* Collapse the token sequence ending in this token. */ - collapseWordToken(token); - } else { - /* we've reached the sentence start token */ - assert token.getWord().isSentenceStartWord(); - initialNode = fromNode; - } - return; - } - - /* - * If a non-word token, just add the acoustic and language scores to the - * current totals, and then move on to the predecessor token. Fast - * forward through the not so interesting states to save stack space. - */ - while (true) { - acousticScore += token.getAcousticScore() + token.getInsertionScore(); - languageScore += token.getLanguageScore(); - Token preToken = token.getPredecessor(); - - if (preToken == null) - return; - - if (preToken.isWord() || (loserManager != null && loserManager.hasAlternatePredecessors(token))) - break; - token = preToken; - } - - collapseWordPath(parentWordNode, token.getPredecessor(), acousticScore, languageScore); - - /* Traverse the path(s) for the loser token(s). */ - if (loserManager != null && loserManager.hasAlternatePredecessors(token)) { - for (Token loser : loserManager.getAlternatePredecessors(token)) { - collapseWordPath(parentWordNode, loser, acousticScore, languageScore); - } - } - } - - /** - * Returns an ID for the Node associated with the given token. - * - * @param token - * the token associated with the Node - * @return an ID for the Node - */ - private String getNodeID(Token token) { - return Integer.toString(token.hashCode()); - } - - /** - * Create a Lattice from a LAT file. LAT files are created by the method - * Lattice.dump() - * - * @param fileName filename to load from - */ - public Lattice(String fileName) { - this(); - try { - System.err.println("Loading from " + fileName); - - // load the nodes - LineNumberReader in = new LineNumberReader(new FileReader(fileName)); - String line; - while ((line = in.readLine()) != null) { - StringTokenizer tokens = new StringTokenizer(line); - if (tokens.hasMoreTokens()) { - String type = tokens.nextToken(); - - if (type.equals("edge:")) { - Edge.load(this, tokens); - } else if (type.equals("node:")) { - Node.load(this, tokens); - } else if (type.equals("initialNode:")) { - setInitialNode(getNode(tokens.nextToken())); - } else if (type.equals("terminalNode:")) { - setTerminalNode(getNode(tokens.nextToken())); - } else if (type.equals("logBase:")) { - logBase = Double.parseDouble(tokens.nextToken()); - } else { - in.close(); - throw new Error("SYNTAX ERROR: " + fileName + '[' + in.getLineNumber() + "] " + line); - } - } - } - in.close(); - } catch (Exception e) { - throw new Error(e.toString()); - } - } - - public static Lattice readSlf(InputStream stream) throws NumberFormatException, IOException { - Lattice lattice = new Lattice(); - LineNumberReader in = new LineNumberReader(new InputStreamReader(stream)); - String line; - boolean readingNodes = false; - boolean readingEdges = false; - int startIdx = 0; - int endIdx = 1; - double lmscale = 9.5; - while ((line = in.readLine()) != null) { - if (line.contains("Node definitions")) { - readingEdges = false; - readingNodes = true; - continue; - } - if (line.contains("Link definitions")) { - readingEdges = true; - readingNodes = false; - continue; - } - if (line.startsWith("#")) - // skip commented line - continue; - if (readingNodes) { - // reading node info, format: - // I=id t=start_time_sec W=word_transcription - String[] parts = line.split("\\s+"); - if (parts.length != 3 || !parts[0].startsWith("I=") || !parts[1].startsWith("t=") || !parts[2].startsWith("W=")) { - in.close(); - throw new IOException("Unknown node definition: " + line); - } - int idx = Integer.parseInt(parts[0].substring(2)); - // convert to milliseconds inplace - long beginTime = (long) (Double.parseDouble(parts[1].substring(2)) * 1000); - String wordStr = parts[2].substring(2); - boolean isFiller = false; - if (idx == startIdx || wordStr.equals("!ENTER")) { - wordStr = ""; - isFiller = true; - } - if (idx == endIdx || wordStr.equals("!EXIT")) { - wordStr = ""; - isFiller = true; - } - if (wordStr.equals("!NULL")) { - wordStr = ""; - isFiller = true; - } - if (wordStr.startsWith("[")) - isFiller = true; - Word word = new Word(wordStr, new Pronunciation[0], isFiller); - Node node = lattice.addNode(Integer.toString(idx), word, beginTime, -1); - if (wordStr.equals("")) - lattice.setInitialNode(node); - if (wordStr.equals("")) - lattice.setTerminalNode(node); - } else if (readingEdges) { - // reading edge info, format: - // J=id S=from_node E=to_node a=acoustic_score l=language_score - String[] parts = line.split("\\s+"); - if (parts.length != 5 || !parts[1].startsWith("S=") || !parts[2].startsWith("E=") || !parts[3].startsWith("a=") - || !parts[4].startsWith("l=")) { - in.close(); - throw new IOException("Unknown edge definition: " + line); - } - String fromId = parts[1].substring(2); - String toId = parts[2].substring(2); - double ascore = Double.parseDouble(parts[3].substring(2)); - double lscore = Double.parseDouble(parts[4].substring(2)) * lmscale; - lattice.addEdge(lattice.nodes.get(fromId), lattice.nodes.get(toId), ascore, lscore); - } else { - // reading header here if needed - if (line.startsWith("start=")) - startIdx = Integer.parseInt(line.replace("start=", "")); - if (line.startsWith("end=")) - endIdx = Integer.parseInt(line.replace("end=", "")); - if (line.startsWith("lmscale=")) - lmscale = Double.parseDouble(line.replace("lmscale=", "")); - } - } - for (Node node : lattice.nodes.values()) - // calculate end time of nodes depending successors begin time - for (Edge edge : node.getLeavingEdges()) - if ((node.getEndTime() < 0 || node.getEndTime() > edge.getToNode().getBeginTime())) - node.setEndTime(Math.max(edge.getToNode().getBeginTime(), node.getBeginTime())); - return lattice; - } - - public static Lattice readSlf(String fileName) throws IOException { - FileInputStream stream = new FileInputStream(fileName); - Lattice result = readSlf(stream); - stream.close(); - return result; - } - - /** - * Add an edge from fromNode to toNode. This method creates the Edge object - * and does all the connecting - * - * @param fromNode from node - * @param toNode to node - * @param acousticScore acoustic score - * @param lmScore langauge model score - * @return the new Edge - */ - public Edge addEdge(Node fromNode, Node toNode, double acousticScore, double lmScore) { - Edge e = new Edge(fromNode, toNode, acousticScore, lmScore); - fromNode.addLeavingEdge(e); - toNode.addEnteringEdge(e); - edges.add(e); - return e; - } - - /** - * Add a Node with a given ID that represents the theory that a given word - * was spoken over a given period of time. This method is used when loading - * Lattices from .LAT files. - * - * @param id id of the node - * @param word word word - * @param beginTime begin time - * @param endTime end time - * @return the new Node - */ - protected Node addNode(String id, Word word, long beginTime, long endTime) { - Node n = new Node(id, word, beginTime, endTime); - addNode(n); - return n; - } - - /** - * Add a Node with a given ID that represents the theory that a given word - * was spoken over a given period of time. This method is used when loading - * Lattices from .LAT files. - * - * @param id id - * @param word word - * @param beginTime begin time - * @param endTime end time - * @return the new Node - */ - public Node addNode(String id, String word, long beginTime, long endTime) { - Word w = new Word(word, new Pronunciation[0], false); - return addNode(id, w, beginTime, endTime); - } - - /** - * Test to see if the Lattice contains an Edge - * - * @param edge edge to check - * @return true if yes - */ - boolean hasEdge(Edge edge) { - return edges.contains(edge); - } - - /** - * Test to see if the Lattice contains a Node - * - * @param node node to check - * @return true if yes - */ - boolean hasNode(Node node) { - return hasNode(node.getId()); - } - - /** - * Test to see if the Lattice already contains a Node corresponding to a - * given Token. - * - * @param ID - * the ID of the Node to find - * @return true if yes - */ - protected boolean hasNode(String ID) { - return nodes.containsKey(ID); - } - - /** - * Add a Node to the set of all Nodes - * - * @param n node to remove - */ - protected void addNode(Node n) { - assert !hasNode(n.getId()); - nodes.put(n.getId(), n); - } - - /** - * Remove a Node from the set of all Nodes - * - * @param n node to remove - */ - protected void removeNode(Node n) { - assert hasNode(n.getId()); - nodes.remove(n.getId()); - } - - /** - * Get the Node associated with an ID - * - * @param id id to look for - * @return the Node - */ - protected Node getNode(String id) { - return (nodes.get(id)); - } - - /** - * Get a copy of the Collection of all Nodes. Used by LatticeOptimizer to - * avoid Concurrent modification of the nodes list. - * - * @return a copy of the collection of Nodes - */ - protected Collection getCopyOfNodes() { - return new ArrayList(nodes.values()); - } - - /** - * Get the Collection of all Nodes. - * - * @return the collection of all Nodes - */ - public Collection getNodes() { - return nodes.values(); - } - - /** - * Remove an Edge from the set of all Edges. - * - * @param e edge to remove - */ - protected void removeEdge(Edge e) { - edges.remove(e); - } - - /** - * Get the set of all Edges. - * - * @return the set of all edges - */ - public Collection getEdges() { - return edges; - } - - /** - * Dump the Lattice in the form understood by AiSee (a graph visualization - * tool). See http://www.AbsInt.com - * - * @param fileName file to store to - * @param title title in the file - */ - public void dumpAISee(String fileName, String title) { - try { - System.err.println("Dumping " + title + " to " + fileName); - FileWriter f = new FileWriter(fileName); - f.write("graph: {\n"); - f.write("title: \"" + title + "\"\n"); - f.write("display_edge_labels: yes\n"); - /* - * f.write( "colorentry 32: 25 225 0\n"); f.write( - * "colorentry 33: 50 200 0\n"); f.write( - * "colorentry 34: 75 175 0\n"); f.write( - * "colorentry 35: 100 150 0\n"); f.write( - * "colorentry 36: 125 125 0\n"); f.write( - * "colorentry 37: 150 100 0\n"); f.write( - * "colorentry 38: 175 75 0\n"); f.write( - * "colorentry 39: 200 50 0\n"); f.write( - * "colorentry 40: 225 25 0\n"); f.write( - * "colorentry 41: 250 0 0\n"); f.write( "color: black\n"); f.write( - * "orientation: left_to_right\n"); f.write( "xspace: 10\n"); - * f.write( "yspace: 10\n"); - */ - - for (Node node : nodes.values()) { - node.dumpAISee(f); - } - for (Edge edge : edges) { - edge.dumpAISee(f); - } - f.write("}\n"); - f.close(); - } catch (IOException e) { - throw new Error(e.toString()); - } - } - - /** - * Dump the Lattice in the form understood by Graphviz. See - * http://graphviz.org - * - * @param fileName filename to store - * @param title title in graph - */ - public void dumpDot(String fileName, String title) { - try { - System.err.println("Dumping " + title + " to " + fileName); - FileWriter f = new FileWriter(fileName); - f.write("digraph \"" + title + "\" {\n"); - f.write("rankdir = LR\n"); - - for (Node node : nodes.values()) { - node.dumpDot(f); - } - for (Edge edge : edges) { - edge.dumpDot(f); - } - f.write("}\n"); - f.close(); - } catch (IOException e) { - throw new Error(e.toString()); - } - } - - public void dumpSlf(Writer w) throws IOException { - w.write("VERSION=1.1\n"); - w.write("UTTERANCE=test\n"); - w.write("base=1.0001\n"); - w.write("lmscale=9.5\n"); - w.write("start=0\n"); - w.write("end=1\n"); - w.write("#\n# Size line.\n#\n"); - w.write("NODES=" + nodes.size() + " LINKS=" + this.edges.size() + "\n"); - - // we cannot use the id from sphinx as node id. The id from sphinx may - // be arbitrarily big. - // Certain tools, such as lattice-tool from srilm, may elect to use an - // array to hold the nodes, - // which might cause out of memory problem due to huge array. - HashMap nodeIdMap = new HashMap(); - - nodeIdMap.put(initialNode.getId(), 0); - nodeIdMap.put(terminalNode.getId(), 1); - - int count = 2; - w.write("#\n# Node definitions.\n#\n"); - for (Node node : nodes.values()) { - if (nodeIdMap.containsKey(node.getId())) { - w.write("I=" + nodeIdMap.get(node.getId())); - } else { - nodeIdMap.put(node.getId(), count); - w.write("I=" + count); - count++; - } - w.write(" t=" + (node.getBeginTime() * 1.0 / 1000)); - String spelling = node.getWord().getSpelling(); - if (spelling.startsWith("<")) - spelling = "!NULL"; - w.write(" W=" + spelling); - w.write("\n"); - } - w.write("#\n# Link definitions.\n#\n"); - count = 0; - for (Edge edge : edges) { - w.write("J=" + count); - w.write(" S=" + nodeIdMap.get(edge.getFromNode().getId())); - w.write(" E=" + nodeIdMap.get(edge.getToNode().getId())); - w.write(" a=" + edge.getAcousticScore()); - w.write(" l=" + edge.getLMScore() / 9.5); - w.write("\n"); - count++; - } - w.flush(); - } - - /** - * Dump the Lattice as a .LAT file - * - * @param out writer for the lattice - * @throws IOException if error occurred - */ - protected void dump(PrintWriter out) throws IOException { - // System.err.println( "Dumping to " + out ); - for (Node node : nodes.values()) { - node.dump(out); - } - for (Edge edge : edges) { - edge.dump(out); - } - out.println("initialNode: " + initialNode.getId()); - out.println("terminalNode: " + terminalNode.getId()); - out.println("logBase: " + logMath.getLogBase()); - out.flush(); - } - - /** - * Dump the Lattice as a .LAT file. Used to save Lattices as ASCII files for - * testing and experimentation. - * - * @param file file to store - */ - public void dump(String file) { - try { - dump(new PrintWriter(new FileWriter(file))); - } catch (IOException e) { - throw new Error(e.toString()); - } - } - - /** - * Remove a Node and all Edges connected to it. Also remove those Edges from - * all connected Nodes. - * - * @param n node to remove - */ - protected void removeNodeAndEdges(Node n) { - - // System.err.println("Removing node " + n + " and associated edges"); - for (Edge e : n.getLeavingEdges()) { - e.getToNode().removeEnteringEdge(e); - // System.err.println( "\tRemoving " + e ); - edges.remove(e); - } - for (Edge e : n.getEnteringEdges()) { - e.getFromNode().removeLeavingEdge(e); - // System.err.println( "\tRemoving " + e ); - edges.remove(e); - } - // System.err.println( "\tRemoving " + n ); - nodes.remove(n.getId()); - - assert checkConsistency(); - } - - /** - * Remove a Node and cross connect all Nodes with Edges to it. - *

- * For example given - *

- * Nodes A, B, X, M, N Edges A-->X, B-->X, X-->M, X-->N - *

- * Removing and cross connecting X would result in - *

- * Nodes A, B, M, N Edges A-->M, A-->N, B-->M, B-->N - * - * @param n node to remove - */ - protected void removeNodeAndCrossConnectEdges(Node n) { - System.err.println("Removing node " + n + " and cross connecting edges"); - for (Edge ei : n.getEnteringEdges()) { - for (Edge ej : n.getLeavingEdges()) { - addEdge(ei.getFromNode(), ej.getToNode(), ei.getAcousticScore(), ei.getLMScore()); - } - } - removeNodeAndEdges(n); - - assert checkConsistency(); - } - - /** - * Get the initialNode for this Lattice. This corresponds usually to the <s> - * symbol - * - * @return the initial Node - */ - public Node getInitialNode() { - return initialNode; - } - - /** - * Set the initialNode for this Lattice. This corresponds usually to the <s> - * symbol - * - * @param initialNode node to set as initial - */ - public void setInitialNode(Node initialNode) { - this.initialNode = initialNode; - } - - /** - * Get the terminalNode for this Lattice. This corresponds usually to the - * </s> symbol - * - * @return the terminal node - */ - public Node getTerminalNode() { - return terminalNode; - } - - /** - * Set the terminalNode for this Lattice. This corresponds usually to the - * </s> symbol - * - * @param terminalNode not to set as terminal - */ - public void setTerminalNode(Node terminalNode) { - this.terminalNode = terminalNode; - } - - /** Dump all paths through this Lattice. Used for debugging. */ - public void dumpAllPaths() { - for (String path : allPaths()) { - System.out.println(path); - } - } - - /** - * Generate a List of all paths through this Lattice. - * - * @return a lists of lists of Nodes - */ - public List allPaths() { - return allPathsFrom("", initialNode); - } - - /** - * Internal routine used to generate all paths starting at a given node. - * - * @param path word path - * @param n node to start - * @return a list of lists of Nodes - */ - protected List allPathsFrom(String path, Node n) { - String p = path + ' ' + n.getWord(); - List l = new LinkedList(); - if (n == terminalNode) { - l.add(p); - } else { - for (Edge e : n.getLeavingEdges()) { - l.addAll(allPathsFrom(p, e.getToNode())); - } - } - return l; - } - - boolean checkConsistency() { - for (Node n : nodes.values()) { - for (Edge e : n.getEnteringEdges()) { - if (!hasEdge(e)) { - throw new Error("Lattice has NODE with missing FROM edge: " + n + ',' + e); - } - } - for (Edge e : n.getLeavingEdges()) { - if (!hasEdge(e)) { - throw new Error("Lattice has NODE with missing TO edge: " + n + ',' + e); - } - } - } - for (Edge e : edges) { - if (!hasNode(e.getFromNode())) { - throw new Error("Lattice has EDGE with missing FROM node: " + e); - } - if (!hasNode(e.getToNode())) { - throw new Error("Lattice has EDGE with missing TO node: " + e); - } - if (!e.getToNode().hasEdgeFromNode(e.getFromNode())) { - throw new Error("Lattice has EDGE with TO node with no corresponding FROM edge: " + e); - } - if (!e.getFromNode().hasEdgeToNode(e.getToNode())) { - throw new Error("Lattice has EDGE with FROM node with no corresponding TO edge: " + e); - } - } - return true; - } - - protected void sortHelper(Node n, List sorted, Set visited) { - if (visited.contains(n)) { - return; - } - visited.add(n); - if (n == null) { - throw new Error("Node is null"); - } - for (Edge e : n.getLeavingEdges()) { - sortHelper(e.getToNode(), sorted, visited); - } - sorted.add(n); - } - - /** - * Topologically sort the nodes in this lattice. - * - * @return Topologically sorted list of nodes in this lattice. - */ - public List sortNodes() { - List sorted = new ArrayList(nodes.size()); - sortHelper(initialNode, sorted, new HashSet()); - Collections.reverse(sorted); - return sorted; - } - - /** - * Compute the utterance-level posterior for every node in the lattice, i.e. - * the probability that this node occurs on any path through the lattice. - * Uses a forward-backward algorithm specific to the nature of non-looping - * left-to-right lattice structures. - *

- * Node posteriors can be retrieved by calling getPosterior() on Node - * objects. - * - * @param languageModelWeightAdjustment - * the weight multiplier that will be applied to language score - * already scaled by language weight - */ - public void computeNodePosteriors(float languageModelWeightAdjustment) { - computeNodePosteriors(languageModelWeightAdjustment, false); - } - - /** - * Compute the utterance-level posterior for every node in the lattice, i.e. - * the probability that this node occurs on any path through the lattice. - * Uses a forward-backward algorithm specific to the nature of non-looping - * left-to-right lattice structures. - *

- * Node posteriors can be retrieved by calling getPosterior() on Node - * objects. - * - * @param languageModelWeightAdjustment - * the weight multiplier that will be applied to language score - * already scaled by language weight - * @param useAcousticScoresOnly - * use only the acoustic scores to compute the posteriors, ignore - * the language weight and scores - */ - public void computeNodePosteriors(float languageModelWeightAdjustment, boolean useAcousticScoresOnly) { - if (initialNode == null) - return; - // forward - initialNode.setForwardScore(LogMath.LOG_ONE); - initialNode.setViterbiScore(LogMath.LOG_ONE); - List sortedNodes = sortNodes(); - assert sortedNodes.get(0) == initialNode; - for (Node currentNode : sortedNodes) { - for (Edge edge : currentNode.getLeavingEdges()) { - double forwardProb = edge.getFromNode().getForwardScore(); - double edgeScore = computeEdgeScore(edge, languageModelWeightAdjustment, useAcousticScoresOnly); - forwardProb += edgeScore; - edge.getToNode().setForwardScore( - logMath.addAsLinear((float) forwardProb, (float) edge.getToNode().getForwardScore())); - double vs = edge.getFromNode().getViterbiScore() + edgeScore; - if (edge.getToNode().getBestPredecessor() == null || vs > edge.getToNode().getViterbiScore()) { - edge.getToNode().setBestPredecessor(currentNode); - edge.getToNode().setViterbiScore(vs); - } - } - } - - // backward - terminalNode.setBackwardScore(LogMath.LOG_ONE); - assert sortedNodes.get(sortedNodes.size() - 1) == terminalNode; - ListIterator n = sortedNodes.listIterator(sortedNodes.size() - 1); - while (n.hasPrevious()) { - Node currentNode = n.previous(); - Collection currentEdges = currentNode.getLeavingEdges(); - for (Edge edge : currentEdges) { - double backwardProb = edge.getToNode().getBackwardScore(); - backwardProb += computeEdgeScore(edge, languageModelWeightAdjustment, useAcousticScoresOnly); - edge.getFromNode().setBackwardScore( - logMath.addAsLinear((float) backwardProb, (float) edge.getFromNode().getBackwardScore())); - } - } - - // inner - double normalizationFactor = terminalNode.getForwardScore(); - for (Node node : nodes.values()) { - node.setPosterior((node.getForwardScore() + node.getBackwardScore()) - normalizationFactor); - } - } - - /** - * Retrieves the MAP path from this lattice. Only works once - * computeNodePosteriors has been called. - * - * @return a list of nodes representing the MAP path. - */ - public List getViterbiPath() { - LinkedList path = new LinkedList(); - Node n = terminalNode; - while (n != initialNode) { - path.addFirst(n); - n = n.getBestPredecessor(); - } - path.addFirst(initialNode); - return path; - } - - /** - * Retrieves the list of WordResult from this lattice. Only works once - * computeNodePosteriors has been called. - * - * @return list of WordResult - */ - public List getWordResultPath() { - List path = getViterbiPath(); - LinkedList wordResults = new LinkedList(); - for (Node node : path) { - if (node.getWord().isSentenceStartWord() || node.getWord().isSentenceEndWord()) - continue; - wordResults.add(new WordResult(node)); - } - return wordResults; - } - - /** - * Computes the score of an edge. It multiplies on adjustment since language - * model score is already scaled by language model weight in linguist. - * - * @param edge - * the edge which score we want to compute - * @param languageModelWeightAdjustment - * the weight multiplier that will be applied to language score - * already scaled by language weight - * @return the score of an edge - */ - private double computeEdgeScore(Edge edge, float languageModelWeightAdjustment, boolean useAcousticScoresOnly) { - if (useAcousticScoresOnly) { - return edge.getAcousticScore(); - } else { - return edge.getAcousticScore() + edge.getLMScore() * languageModelWeightAdjustment; - } - } - - /** - * Returns true if the given Lattice is equivalent to this Lattice. Two - * lattices are equivalent if all their nodes and edges are equivalent. - * - * @param other - * the Lattice to compare this Lattice against - * @return true if the Lattices are equivalent; false otherwise - */ - public boolean isEquivalent(Lattice other) { - return checkNodesEquivalent(initialNode, other.getInitialNode()); - } - - /** - * Returns true if the two lattices starting at the given two nodes are - * equivalent. It recursively checks all the child nodes until these two - * nodes until there are no more child nodes. - * - * @param n1 - * starting node of the first lattice - * @param n2 - * starting node of the second lattice - * @return true if the two lattices are equivalent - */ - private boolean checkNodesEquivalent(Node n1, Node n2) { - assert n1 != null && n2 != null; - - boolean equivalent = n1.isEquivalent(n2); - if (equivalent) { - Collection leavingEdges = n1.getCopyOfLeavingEdges(); - Collection leavingEdges2 = n2.getCopyOfLeavingEdges(); - - System.out.println("# edges: " + leavingEdges.size() + ' ' + leavingEdges2.size()); - - for (Edge edge : leavingEdges) { - /* find an equivalent edge from n2 for this edge */ - Edge e2 = n2.findEquivalentLeavingEdge(edge); - - if (e2 == null) { - System.out.println("Equivalent edge not found, lattices not equivalent."); - return false; - } else { - if (!leavingEdges2.remove(e2)) { - /* - * if it cannot be removed, then the leaving edges are - * not the same - */ - System.out.println("Equivalent edge already matched, lattices not equivalent."); - return false; - } else { - /* recursively check the two child nodes */ - equivalent &= checkNodesEquivalent(edge.getToNode(), e2.getToNode()); - if (!equivalent) { - return false; - } - } - } - } - if (!leavingEdges2.isEmpty()) { - System.out.println("One lattice has too many edges."); - return false; - } - } - return equivalent; - } - - boolean isFillerNode(Node node) { - Word word = node.getWord(); - if (word.isSentenceStartWord() || word.isSentenceEndWord()) - return false; - return word.isFiller(); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeOptimizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeOptimizer.java deleted file mode 100755 index 8cafbf4b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeOptimizer.java +++ /dev/null @@ -1,425 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import java.util.List; -import java.util.ArrayList; - -/** - * Class used to collapse all equivalent paths in a Lattice. Results in a Lattices that is deterministic (no Node has - * Edges to two or more equivalent Nodes), and minimal (no Node has Edge from two or more equivalent Nodes). - */ - -public class LatticeOptimizer { - - protected final Lattice lattice; - - - /** - * Create a new Lattice optimizer - * - * @param lattice lattice to optimize - */ - public LatticeOptimizer(Lattice lattice) { - this.lattice = lattice; - } - - - /** - * Code for optimizing Lattices. An optimal lattice has all the same paths as the original, but with fewer nodes - * and edges - *

- * Note that these methods are all in Lattice so that it is easy to change the definition of "equivalent" nodes and - * edges. For example, an equivalent node might have the same word, but start or end at a different time. - *

- * To experiment with other definitions of equivalent, just create a superclass of Lattice. - */ - public void optimize() { - optimizeForward(); - optimizeBackward(); - } - - - /** - * Make the Lattice deterministic, so that no node has multiple outgoing edges to equivalent nodes. - *

- * Given two edges from the same node to two equivalent nodes, replace with one edge to one node with outgoing edges - * that are a union of the outgoing edges of the old two nodes. - *

- * A --> B --> C \--> B' --> Y - *

- * where B and B' are equivalent. - *

- * is replaced with - *

- * A --> B" --> C \--> Y - *

- * where B" is the merge of B and B' - *

- * Note that equivalent nodes must have the same incomming edges. For example - *

- * A --> B \ \ X --> B' - *

- * B and B' would not be equivalent because the incomming edges are different - */ - protected void optimizeForward() { - //System.err.println("*** Optimizing forward ***"); - - boolean moreChanges = true; - while (moreChanges) { - moreChanges = false; - // search for a node that can be optimized - // note that we use getCopyOfNodes to avoid concurrent changes to nodes - for (Node n : lattice.getCopyOfNodes()) { - // we are iterating down a list of node before optimization - // previous iterations may have removed nodes from the list - // therefore we have to check that the node stiff exists - if (lattice.hasNode(n)) { - moreChanges |= optimizeNodeForward(n); - } - } - } - } - - - /** - * Look for 2 "to" edges to equivalent nodes. Replace the edges with one edge to one node that is a merge of the - * equivalent nodes - *

- * nodes are equivalent if they have equivalent from edges, and the same label - *

- * merged nodes have a union of "from" and "to" edges - * - * @param n node - * @return true if Node n required an optimize forward - */ - protected boolean optimizeNodeForward(Node n) { - assert lattice.hasNode(n); - - List leavingEdges = new ArrayList(n.getLeavingEdges()); - for (int j = 0; j < leavingEdges.size(); j++) { - Edge e = leavingEdges.get(j); - for (int k = j + 1; k < leavingEdges.size(); k++) { - Edge e2 = leavingEdges.get(k); - - /* - * If these are not the same edge, and they point to - * equivalent nodes, we have a hit, return true - */ - assert e != e2; - if (equivalentNodesForward(e.getToNode(), e2.getToNode())) { - mergeNodesAndEdgesForward(e, e2); - return true; - } - } - } - /* - * return false if we did not get a hit - */ - return false; - } - - - /** - * nodes are equivalent forward if they have "from" edges from the same nodes, and have equivalent labels (Token, - * start/end times) - * - * @param n1 first node - * @param n2 second node - * @return true if n1 and n2 are "equivalent forwards" - */ - protected boolean equivalentNodesForward(Node n1, Node n2) { - - assert lattice.hasNode(n1); - assert lattice.hasNode(n2); - - // do the labels match? - if (!equivalentNodeLabels(n1, n2)) return false; - - // if they have different number of "from" edges they are not equivalent - // or if there is a "from" edge with no match then the nodes are not - // equivalent - return n1.hasEquivalentEnteringEdges(n2); - } - - - /** - * given edges e1 and e2 from node n to nodes n1 and n2 - *

- * merge e1 and e2, that is, merge the scores of e1 and e2 create n' that is a merge of n1 and n2 add n' add edge e' - * from n to n' - *

- * remove n1 and n2 and all associated edges - * - * @param e1 first edge - * @param e2 second edge - */ - protected void mergeNodesAndEdgesForward(Edge e1, Edge e2) { - assert lattice.hasNode(e1.getFromNode()); - assert lattice.hasEdge(e1); - assert lattice.hasEdge(e2); - assert e1.getFromNode() == e2.getFromNode(); - - Node n1 = e1.getToNode(); - Node n2 = e2.getToNode(); - - assert n1.hasEquivalentEnteringEdges(n2); - assert n1.getWord().equals(n2.getWord()); - - for (Edge edge : n2.getEnteringEdges()) { - Edge anotherEdge = n1.getEdgeFromNode(edge.getFromNode()); - assert anotherEdge != null; - anotherEdge.setAcousticScore - (mergeAcousticScores(edge.getAcousticScore(), - anotherEdge.getAcousticScore())); - anotherEdge.setLMScore(mergeLanguageScores(edge.getLMScore(), - anotherEdge.getLMScore())); - } - - // add n2's edges to n1 - for (Edge edge : n2.getLeavingEdges()) { - Edge anotherEdge = n1.getEdgeToNode(edge.getToNode()); - if (anotherEdge == null) { - lattice.addEdge(n1, edge.getToNode(), - edge.getAcousticScore(), edge.getLMScore()); - } else { - // if we got here then n1 and n2 had edges to the same node - // choose the edge with best score - anotherEdge.setAcousticScore - (mergeAcousticScores(edge.getAcousticScore(), - anotherEdge.getAcousticScore())); - anotherEdge.setLMScore(mergeLanguageScores(edge.getLMScore(), - anotherEdge.getLMScore())); - } - } - - // remove n2 and all associated edges - lattice.removeNodeAndEdges(n2); - } - - - /** - * Minimize the Lattice deterministic, so that no node has multiple incoming edges from equivalent nodes. - *

- * Given two edges from equivalent nodes to a single nodes, replace with one edge from one node with incoming edges - * that are a union of the incoming edges of the old two nodes. - *

- * A --> B --> C X --> B' --/ - *

- * where B and B' are equivalent. - *

- * is replaced with - *

- * A --> B" --> C X --/ - *

- * where B" is the merge of B and B' - *

- * Note that equivalent nodes must have the same outgoing edges. For example - *

- * A --> X \ \ \ A' --> B - *

- * A and A' would not be equivalent because the outgoing edges are different - */ - protected void optimizeBackward() { - //System.err.println("*** Optimizing backward ***"); - - boolean moreChanges = true; - while (moreChanges) { - moreChanges = false; - // search for a node that can be optimized - // note that we use getCopyOfNodes to avoid concurrent changes to nodes - for (Node n : lattice.getCopyOfNodes()) { - // we are iterating down a list of node before optimization - // previous iterations may have removed nodes from the list - // therefore we have to check that the node stiff exists - if (lattice.hasNode(n)) { - moreChanges |= optimizeNodeBackward(n); - } - } - } - } - - - /** - * Look for 2 entering edges from equivalent nodes. Replace the edges with one edge to one new node that is a merge - * of the equivalent nodes Nodes are equivalent if they have equivalent to edges, and the same label. Merged nodes - * have a union of entering and leaving edges - * - * @param n node - * @return true if Node n required optimizing backwards - */ - protected boolean optimizeNodeBackward(Node n) { - List enteringEdges = new ArrayList(n.getEnteringEdges()); - for (int j = 0; j < enteringEdges.size(); j++) { - Edge e = enteringEdges.get(j); - for (int k = j + 1; k < n.getEnteringEdges().size(); k++) { - Edge e2 = enteringEdges.get(k); - - /* - * If these are not the same edge, and they point to - * equivalent nodes, we have a hit, return true - */ - assert e != e2; - if (equivalentNodesBackward(e.getFromNode(), - e2.getFromNode())) { - mergeNodesAndEdgesBackward(e, e2); - return true; - } - } - } - /* - * return false if we did not get a hit - */ - return false; - } - - - /** - * nodes are equivalent backward if they have "to" edges to the same nodes, and have equivalent labels (Token, - * start/end times) - * - * @param n1 first node - * @param n2 second node - * @return true if n1 and n2 are "equivalent backwards" - */ - protected boolean equivalentNodesBackward(Node n1, Node n2) { - - assert lattice.hasNode(n1); - assert lattice.hasNode(n2); - - // do the labels match? - if (!equivalentNodeLabels(n1, n2)) return false; - - // if they have different number of "to" edges they are not equivalent - // or if there is a "to" edge with no match then the nodes are not equiv - return n1.hasEquivalentLeavingEdges(n2); - } - - - /** - * Is the contents of these Node equivalent? - * - * @param n1 first node - * @param n2 second node - * @return true if n1 and n2 have "equivalent labels" - */ - protected boolean equivalentNodeLabels(Node n1, Node n2) { - return (n1.getWord().equals(n2.getWord()) && - (n1.getBeginTime() == n2.getBeginTime() && - n1.getEndTime() == n2.getEndTime())); - } - - - /** - * given edges e1 and e2 to node n from nodes n1 and n2 - *

- * merge e1 and e2, that is, merge the scores of e1 and e2 create n' that is a merge of n1 and n2 add n' add edge e' - * from n' to n - *

- * remove n1 and n2 and all associated edges - * - * @param e1 first edge - * @param e2 second edge - */ - protected void mergeNodesAndEdgesBackward(Edge e1, Edge e2) { - assert lattice.hasNode(e1.getToNode()); - assert lattice.hasEdge(e1); - assert lattice.hasEdge(e2); - assert e1.getToNode() == e2.getToNode(); - - Node n1 = e1.getFromNode(); - Node n2 = e2.getFromNode(); - - assert n1.hasEquivalentLeavingEdges(n2); - assert n1.getWord().equals(n2.getWord()); - - for (Edge edge : n2.getLeavingEdges()) { - Edge anotherEdge = n1.getEdgeToNode(edge.getToNode()); - assert anotherEdge != null; - anotherEdge.setAcousticScore - (mergeAcousticScores(edge.getAcousticScore(), - anotherEdge.getAcousticScore())); - anotherEdge.setLMScore(mergeLanguageScores(edge.getLMScore(), - anotherEdge.getLMScore())); - } - - // add n2's "from" edges to n1 - for (Edge edge : n2.getEnteringEdges()) { - Edge anotherEdge = n1.getEdgeFromNode(edge.getFromNode()); - if (anotherEdge == null) { - lattice.addEdge(edge.getFromNode(), n1, - edge.getAcousticScore(), edge.getLMScore()); - } else { - // if we got here then n1 and n2 had edges from the same node - // choose the edge with best score - anotherEdge.setAcousticScore - (mergeAcousticScores(edge.getAcousticScore(), - anotherEdge.getAcousticScore())); - anotherEdge.setLMScore(mergeLanguageScores(edge.getLMScore(), - anotherEdge.getLMScore())); - } - } - - // remove n2 and all associated edges - lattice.removeNodeAndEdges(n2); - } - - - /** Remove all Nodes that have no Edges to them (but not <s>) */ - protected void removeHangingNodes() { - for (Node n : lattice.getCopyOfNodes()) { - if (lattice.hasNode(n)) { - if (n == lattice.getInitialNode()) { - - } else if (n == lattice.getTerminalNode()) { - - } else { - if (n.getLeavingEdges().isEmpty() - || n.getEnteringEdges().isEmpty()) { - lattice.removeNodeAndEdges(n); - removeHangingNodes(); - return; - } - } - } - } - } - - - /** - * Provides a single method to merge acoustic scores, so that changes to how acoustic score are merged can be made - * at one point only. - * - * @param score1 the first acoustic score - * @param score2 the second acoustic score - * @return the merged acoustic score - */ - private double mergeAcousticScores(double score1, double score2) { - // return lattice.getLogMath().addAsLinear(score1, score2); - return Math.max(score1, score2); - } - - - /** - * Provides a single method to merge language scores, so that changes to how language score are merged can be made - * at one point only. - * - * @param score1 the first language score - * @param score2 the second language score - * @return the merged language score - */ - private double mergeLanguageScores(double score1, double score2) { - // return lattice.getLogMath().addAsLinear(score1, score2); - return Math.max(score1, score2); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeRescorer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeRescorer.java deleted file mode 100755 index 772a0146..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/LatticeRescorer.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import java.util.LinkedList; -import java.util.List; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.linguist.language.ngram.LanguageModel; -import edu.cmu.sphinx.util.LogMath; - -/** - * Class to rescore the lattice with the new Language model. - */ - -public class LatticeRescorer { - - protected final Lattice lattice; - protected final LanguageModel model; - private int depth; - private float languageWeigth = 8.0f; - - /** - * Create a new Lattice optimizer - * - * @param lattice lattice to rescore - * @param model language model to rescore - */ - public LatticeRescorer(Lattice lattice, LanguageModel model) { - this.lattice = lattice; - this.model = model; - depth = model.getMaxDepth(); - } - - - private void rescoreEdges() { - for (Edge edge : lattice.edges) { - - float maxProb = LogMath.LOG_ZERO; - if (lattice.isFillerNode(edge.getToNode())) { - edge.setLMScore(maxProb); - continue; - } - - List paths = allPathsTo("", edge, depth); - for (String path : paths) { - List wordList = new LinkedList(); - for (String pathWord : path.split(" ")) { - wordList.add(new Word(pathWord, null, false)); - } - wordList.add(edge.getToNode().getWord()); - - WordSequence seq = new WordSequence(wordList); - float prob = model.getProbability(seq) * languageWeigth; - if (maxProb < prob) - maxProb = prob; - } - edge.setLMScore(maxProb); - } - } - - protected List allPathsTo(String path, Edge edge, int currentDepth) { - List l = new LinkedList(); - String p = path; - boolean isFiller = lattice.isFillerNode(edge.getFromNode()); - if (!isFiller) - p = edge.getFromNode().getWord().toString() + ' ' + p; - - if (currentDepth == 2 - || edge.getFromNode().equals(lattice.getInitialNode())) { - l.add(p); - } else { - int decrement = isFiller ? 0 : 1; - for (Edge e : edge.getFromNode().getEnteringEdges()) { - l.addAll(allPathsTo(p, e, currentDepth - decrement)); - } - } - return l; - } - - public void rescore() { - rescoreEdges(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Nbest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Nbest.java deleted file mode 100755 index b04bafe8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Nbest.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import java.util.Collection; -import java.util.HashSet; - -/** - * NBest list with A* - */ - -public class Nbest { - - protected Lattice lattice; - - public Nbest(Lattice lattice) { - this.lattice = lattice; - } - - class NBestPath implements Comparable { - String path; - Node node; - double score; - double forwardScore; - - public NBestPath(String path, Node node, double score, - double forwardScore) { - super(); - this.path = path; - this.node = node; - this.score = score; - this.forwardScore = forwardScore; - } - - public int compareTo(NBestPath o) { - return Double.compare(score, o.score); - } - - @Override - public String toString() { - return path + " [" + score + ',' + forwardScore + ']'; - } - } - - public Collection getNbest(int n) { - HashSet result = new HashSet(); - BoundedPriorityQueue queue = - new BoundedPriorityQueue(n); - - queue.add(new NBestPath("", lattice.getInitialNode(), 0, 0)); - - while (result.size() < n && queue.size() > 0) { - NBestPath path = queue.poll(); - if (path.node.equals(lattice.terminalNode)) { - result.add(path.path); - continue; - } - - for (Edge e : path.node.getLeavingEdges()) { - Node newNode = e.getToNode(); - - double newForwardScore = path.forwardScore - + e.getAcousticScore() + e.getLMScore(); - - double newScore = newForwardScore + newNode.getBackwardScore(); - - String newPathString = getNewPathString(path, newNode); - - NBestPath newPath = new NBestPath(newPathString, newNode, newScore, newForwardScore); - - queue.add(newPath); - } - // printQueue(queue); - } - - return result; - } - - private String getNewPathString(NBestPath path, Node newNode) { - String newPathString; - if (newNode.getWord().isSentenceEndWord()) - newPathString = path.path + " "; - else if (newNode.getWord().isFiller()) - newPathString = path.path; - else - newPathString = path.path + " " + newNode.getWord(); - return newPathString; - } - - @SuppressWarnings("unused") - private void printQueue(BoundedPriorityQueue queue) { - System.out.println(); - for (NBestPath p : queue) { - System.out.println(p); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Node.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Node.java deleted file mode 100755 index 4604abc4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Node.java +++ /dev/null @@ -1,680 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.result; - -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimeFrame; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.*; - -/** - *

- * A node is part of Lattices, representing the theory that a word was spoken over a given period of time. A node also - * has a set of entering and leaving {@link edu.cmu.sphinx.result.Edge edges}, connecting it to other nodes. One can get - * and set the beginning and end frames of the word via the getBeginTime and getEndTime methods. When setting these - * times, the beginning time must be earlier or equal to the end time, otherwise an error will be thrown.

- *

- * The posterior probability of any word in a word lattice is the probability that the node representing that word - * occurs on any path through the lattice. It is usually computed as the ratio of the total likelihood scores of all - * paths through the lattice that pass through the node, to the total likelihood score of all paths through the lattice. - * Path scores are usually computed using the acoustic likelihoods of the nodes, although language scores can also be - * incorporated. The posterior probabilities of an entire lattice is usually computed efficiently using the - * Forward-Backward Algorithm. Refer to the {@link edu.cmu.sphinx.result.Lattice#computeNodePosteriors - * computeNodePosteriors} method in the Lattice class for details.

- */ -public class Node { - - // used to generate unique IDs for new Nodes. - private static int nodeCount; - - private String id; - private Word word; - private long beginTime = -1; - private long endTime = -1; - private List enteringEdges; - private List leavingEdges; - private double forwardScore; - private double backwardScore; - private double posterior; - private Node bestPredecessor; - private double viterbiScore; - private Set descendants; - - - { - enteringEdges = new ArrayList(); - leavingEdges = new ArrayList(); - nodeCount++; - } - - - /** - * Create a new Node - * - * @param word the word of this node - * @param beginTime the start time of the word - * @param endTime the end time of the word - */ - protected Node(Word word, long beginTime, long endTime) { - this(getNextNodeId(), word, beginTime, endTime); - } - - - /** - * Create a new Node with given ID. Used when creating a Lattice from a .LAT file - * - * @param id id of the node - * @param word word - * @param beginTime begin time - * @param endTime end time - */ - protected Node(String id, Word word, long beginTime, long endTime) { - this.id = id; - this.word = word; - this.beginTime = beginTime; - this.endTime = endTime; - - assert beginTime <= endTime || endTime < 0; - - this.forwardScore = LogMath.LOG_ZERO; - this.backwardScore = LogMath.LOG_ZERO; - this.posterior = LogMath.LOG_ZERO; - } - - - /** - * Get a unique ID for a new Node. Used when creating a Lattice from a .LAT file - * - * @return the unique ID for a new node - */ - protected static String getNextNodeId() { - return Integer.toString(nodeCount); - } - - - /** - * Test if a node has an Edge to a Node - * - * @param n node to check - * @return unique Node ID - */ - protected boolean hasEdgeToNode(Node n) { - return getEdgeToNode(n) != null; - } - - - /** - * given a node find the edge to that node - * - * @param n the node of interest - * @return the edge to that node or null if no edge could be found. - */ - public Edge getEdgeToNode(Node n) { - for (Edge e : leavingEdges) { - if (e.getToNode() == n) { - return e; - } - } - return null; - } - - - /** - * Test is a Node has an Edge from a Node - * - * @param n node to check - * @return true if this node has an Edge from n - */ - protected boolean hasEdgeFromNode(Node n) { - return getEdgeFromNode(n) != null; - } - - - /** - * given a node find the edge from that node - * - * @param n the node of interest - * @return the edge from that node or null if no edge could be found. - */ - public Edge getEdgeFromNode(Node n) { - for (Edge e : enteringEdges) { - if (e.getFromNode() == n) { - return e; - } - } - return null; - } - - - /** - * Test if a Node has all Edges from the same Nodes and another Node. - * - * @param n node to check - * @return true if this Node has Edges from the same Nodes as n - */ - protected boolean hasEquivalentEnteringEdges(Node n) { - if (enteringEdges.size() != n.getEnteringEdges().size()) { - return false; - } - for (Edge e : enteringEdges) { - Node fromNode = e.getFromNode(); - if (!n.hasEdgeFromNode(fromNode)) { - return false; - } - } - return true; - } - - - /** - * Test if a Node has all Edges to the same Nodes and another Node. - * - * @param n the node of interest - * @return true if this Node has all Edges to the sames Nodes as n - */ - public boolean hasEquivalentLeavingEdges(Node n) { - if (leavingEdges.size() != n.getLeavingEdges().size()) { - return false; - } - for (Edge e : leavingEdges) { - Node toNode = e.getToNode(); - if (!n.hasEdgeToNode(toNode)) { - return false; - } - } - return true; - } - - - /** - * Get the Edges to this Node - * - * @return Edges to this Node - */ - public Collection getEnteringEdges() { - return enteringEdges; - } - - - /** - * Get the Edges from this Node - * - * @return Edges from this Node - */ - public Collection getLeavingEdges() { - return leavingEdges; - } - - /** - * Returns a copy of the Edges to this Node, so that the underlying data structure will not be modified. - * - * @return a copy of the edges to this node - */ - public Collection getCopyOfEnteringEdges() { - return new ArrayList(enteringEdges); - } - - /** - * Returns a copy of the Edges from this Node, so that the underlying data structure will not be modified. - * - * @return a copy of the edges from this node - */ - public Collection getCopyOfLeavingEdges() { - return new ArrayList(leavingEdges); - } - - /** - * Add an Edge from this Node - * - * @param e edge to add - */ - protected void addEnteringEdge(Edge e) { - enteringEdges.add(e); - } - - - /** - * Add an Edge to this Node - * - * @param e edge to add - */ - protected void addLeavingEdge(Edge e) { - leavingEdges.add(e); - } - - - /** - * Remove an Edge from this Node - * - * @param e edge to remove - */ - protected void removeEnteringEdge(Edge e) { - enteringEdges.remove(e); - } - - - /** - * Remove an Edge to this Node - * - * @param e the edge to remove - */ - public void removeLeavingEdge(Edge e) { - leavingEdges.remove(e); - } - - - /** - * Get the ID associated with this Node - * - * @return the ID - */ - public String getId() { - return id; - } - - - /** - * Get the word associated with this Node - * - * @return the word - */ - public Word getWord() { - return word; - } - - - /** - * Get the frame number when the word began - * - * @return the begin frame number, or -1 if the frame number is unknown - */ - public long getBeginTime() { - if (beginTime == -1) { - calculateBeginTime(); - } - return beginTime; - } - - - /** - * Sets the frame number when the word began. The begin time must be not be later than the time returned by the - * getEndTime() method, otherwise an error will be thrown. - * - * @param beginTime the frame number when the word began - */ - public void setBeginTime(long beginTime) { - assert beginTime <= endTime; - this.beginTime = beginTime; - } - - - /** - * Get the frame number when the word ends - * - * @return the end time, or -1 if the frame number if is unknown - */ - public long getEndTime() { - return endTime; - } - - - /** - * Sets the frame number when the words ended. The end time must not be earlier than the time returned by the - * getEndTime() method, otherwise an error will be thrown. - * - * @param endTime the frame number when the word ended - */ - public void setEndTime(long endTime) { - assert beginTime <= endTime; - this.endTime = endTime; - } - - - /** - * Returns TimeFrame of the Node - * - * @return TimeFrame - */ - public TimeFrame getTimeFrame() { - return new TimeFrame(getBeginTime(), getEndTime()); - } - - - /** - * Returns a description of this Node that contains the word, the start time, and the end time. - * - * @return a description of this Node - */ - @Override - public String toString() { - return ("Node(" + word.getSpelling() + ',' + getBeginTime() + '|' + - getEndTime() + ')'); - } - - - /** - * Internal routine when dumping Lattices as AiSee files - * - * @param f - * @throws IOException - */ - void dumpAISee(FileWriter f) throws IOException { - String posterior = String.valueOf(getPosterior()); - if (getPosterior() == LogMath.LOG_ZERO) { - posterior = "log zero"; - } - f.write("node: { title: \"" + id + "\" label: \"" - + getWord() + '[' + getBeginTime() + ',' + getEndTime() + - " p:" + posterior + "]\" }\n"); - } - - /** - * Internal routine when dumping Lattices as Graphviz files - * - * @param f file writer to store - * @throws IOException if error occurred - */ - public void dumpDot(FileWriter f) throws IOException { - String posterior = String.valueOf(getPosterior()); - if (getPosterior() == LogMath.LOG_ZERO) { - posterior = "log zero"; - } - String label = getWord().toString() + '[' + getBeginTime() + ',' + getEndTime() + " p:" + posterior + ']'; - f.write("\tnode" + id + " [ label=\"" + label + "\" ]\n"); - } - - /** - * Internal routine used when dumping Lattices as .LAT files - * - * @param f print writer to store - * @throws IOException if error occurred - */ - void dump(PrintWriter f) throws IOException { - f.println("node: " + id + ' ' + word.getSpelling() + - //" a:" + getForwardProb() + " b:" + getBackwardProb() - //" p:" + getPosterior()); - ' ' + getBeginTime() + ' ' + getEndTime()); - } - - - /** - * Internal routine used when loading Lattices from .LAT files - * - * @param lattice - * @param tokens - */ - static void load(Lattice lattice, StringTokenizer tokens) { - - String id = tokens.nextToken(); - String label = tokens.nextToken(); - long beginTime = Long.parseLong(tokens.nextToken()); - long endTime = Long.parseLong(tokens.nextToken()); - - Word word = new Word(label, new Pronunciation[0], label.startsWith("<") || label.startsWith("[")); - lattice.addNode(id, word, beginTime, endTime); - } - - - /** - * Returns the backward score, which is calculated during the computation of the posterior score for this node. - * - * @return Returns the backwardScore. - */ - public double getBackwardScore() { - return backwardScore; - } - - - /** - * Sets the backward score for this node. - * - * @param backwardScore The backwardScore to set. - */ - public void setBackwardScore(double backwardScore) { - this.backwardScore = backwardScore; - } - - - /** - * Returns the forward score, which is calculated during the computation of the posterior score for this node. - * - * @return Returns the forwardScore. - */ - public double getForwardScore() { - return forwardScore; - } - - - /** - * Sets the backward score for this node. - * - * @param forwardScore The forwardScore to set. - */ - public void setForwardScore(double forwardScore) { - this.forwardScore = forwardScore; - } - - - /** - * Returns the posterior probability of this node. Refer to the javadocs for this class for a description of - * posterior probabilities. - * - * @return Returns the posterior probability of this node. - */ - public double getPosterior() { - return posterior; - } - - - /** - * Sets the posterior probability of this node. Refer to the javadocs for this class for a description of posterior - * probabilities. - * - * @param posterior The node posterior probability to set. - */ - public void setPosterior(double posterior) { - this.posterior = posterior; - } - - - /** @see java.lang.Object#hashCode() */ - @Override - public int hashCode() { - return id.hashCode(); - } - - - /** - * Assumes ids are unique node identifiers - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - return obj instanceof Node && id.equals(((Node) obj).getId()); - } - - - /** - * Calculates the begin time of this node, in the event that the begin time was not specified. The begin time is the - * latest of the end times of its predecessor nodes. - */ - private void calculateBeginTime() { - beginTime = 0; - for (Edge edge : enteringEdges) { - if (edge.getFromNode().getEndTime() > beginTime) { - beginTime = edge.getFromNode().getEndTime(); - } - } - } - - - /** - * Get the nodes at the other ends of outgoing edges of this node. - * - * @return a list of child nodes - */ - public List getChildNodes() { - LinkedList childNodes = new LinkedList(); - for (Edge edge : leavingEdges) { - childNodes.add(edge.getToNode()); - } - return childNodes; - } - - - protected void cacheDescendants() { - descendants = new HashSet(); - cacheDescendantsHelper(this); - } - - - protected void cacheDescendantsHelper(Node n) { - for (Node child : n.getChildNodes()) { - if (descendants.contains(child)) { - continue; - } - descendants.add(child); - cacheDescendantsHelper(child); - } - } - - - protected boolean isAncestorHelper(List children, Node node, Set seenNodes) { - for (Node n : children) { - if (seenNodes.contains(n)) { - continue; - } - seenNodes.add(n); - if (n.equals(node)) { - return true; - } - if (isAncestorHelper(n.getChildNodes(), node, seenNodes)) { - return true; - } - } - return false; - } - - - /** - * Check whether this node is an ancestor of another node. - * - * @param node the Node to check - * @return whether this node is an ancestor of the passed in node. - */ - public boolean isAncestorOf(Node node) { - if (descendants != null) { - return descendants.contains(node); - } - if (this.equals(node)) { - return true; // node is its own ancestor - } - Set seenNodes = new HashSet(); - seenNodes.add(this); - return isAncestorHelper(this.getChildNodes(), node, seenNodes); - } - - - /** - * Check whether this node has an ancestral relationship with another node (i.e. either this node is an ancestor of - * the other node, or vice versa) - * - * @param node the Node to check for a relationship - * @return whether a relationship exists - */ - public boolean hasAncestralRelationship(Node node) { - return this.isAncestorOf(node) || node.isAncestorOf(this); - } - - - /** - * Returns true if the given node is equivalent to this node. Two nodes are equivalent only if they have the same - * word, the same number of entering and leaving edges, and that their begin and end times are the same. - * - * @param other the Node we're comparing to - * @return true if the Node is equivalent; false otherwise - */ - public boolean isEquivalent(Node other) { - return - ((word.getSpelling().equals(other.getWord().getSpelling()) && - (getEnteringEdges().size() == other.getEnteringEdges().size() && - getLeavingEdges().size() == other.getLeavingEdges().size())) && - (getBeginTime() == other.getBeginTime() && - endTime == other.getEndTime())); - } - - - /** - * Returns a leaving edge that is equivalent to the given edge. Two edges are eqivalent if Edge.isEquivalent() - * returns true. - * - * @param edge the Edge to compare the leaving edges of this node against - * @return an equivalent edge, if any; or null if no equivalent edge - */ - public Edge findEquivalentLeavingEdge(Edge edge) { - for (Edge e : leavingEdges) { - if (e.isEquivalent(edge)) { - return e; - } - } - return null; - } - - - /** - * Returns the best predecessor for this node. - * - * @return Returns the bestPredecessor. - */ - public Node getBestPredecessor() { - return bestPredecessor; - } - - - /** - * Sets the best predecessor of this node. - * - * @param bestPredecessor The bestPredecessor to set. - */ - public void setBestPredecessor(Node bestPredecessor) { - this.bestPredecessor = bestPredecessor; - } - - - /** - * Returns the Viterbi score for this node. The Viterbi score is usually computed during the speech recognition - * process. - * - * @return Returns the viterbiScore. - */ - public double getViterbiScore() { - return viterbiScore; - } - - - /** - * Sets the Viterbi score for this node. The Viterbi score is usually computed during the speech recognition - * process. - * - * @param viterbiScore The viterbiScore to set. - */ - public void setViterbiScore(double viterbiScore) { - this.viterbiScore = viterbiScore; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Path.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Path.java deleted file mode 100755 index 31fd4365..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Path.java +++ /dev/null @@ -1,66 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.result; - - -/** - * Represents a path of words through the recognition result lattice. - *

- * All scores are maintained in the logMath log domain - */ -public interface Path { - - /** - * Gets the total score for this path. Scores are in the LogMath log domain - * - * @return the score for the path in the LogMath log domaain. - */ - public double getScore(); - - - /** - * Returns a log confidence score for this path. Use the getLogMath().logToLinear() method to convert the log - * confidence score to linear. The linear value should be between 0.0 and 1.0 (inclusive). - * - * @return a log confidence score which linear value is between 0.0 and 1.0 (inclusive) - */ - public double getConfidence(); - - /** - * Gets the ordered set of words for this path - * - * @return an array containing zero or more words - */ - public WordResult[] getWords(); - - - /** - * Gets the transcription of the path. - * - * @return the transcription of the path. - */ - public String getTranscription(); - - /** - * Gets the transcription of the path skipping the filler words - * - * @return the transcription of the path without fillers. - */ - public String getTranscriptionNoFiller(); - - /** Returns a string representation of this object */ - public String toString(); - - -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Result.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Result.java deleted file mode 100755 index c85baece..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/Result.java +++ /dev/null @@ -1,553 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.result; - -import static java.util.Collections.emptyList; -import static java.util.Collections.reverse; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -import edu.cmu.sphinx.decoder.search.ActiveList; -import edu.cmu.sphinx.decoder.search.AlternateHypothesisManager; -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimeFrame; - -/** - * Provides recognition results. Results can be partial or final. A result - * should not be modified before it is a final result. Note that a result may - * not contain all possible information. - *

- * The following methods are not yet defined but should be: - * - *

- * public Result getDAG(int compressionLevel);
- * 
- */ -public class Result { - - private final ActiveList activeList; - private final List resultList; - private AlternateHypothesisManager alternateHypothesisManager; - private boolean isFinal; - private boolean wordTokenFirst; - private final long currentCollectTime; - private String reference; - private final LogMath logMath; - private final boolean toCreateLattice; - - /** - * Creates a result - * - * @param alternateHypothesisManager hypothesis manager - * @param activeList - * the active list associated with this result - * @param resultList - * the result list associated with this result - * @param collectTime - * token time in a stream. - * @param isFinal - * if true, the result is a final result - * @param wordTokenFirst if word token goes first. - * @param toCreateLattice create lattice or not. - */ - public Result(AlternateHypothesisManager alternateHypothesisManager, ActiveList activeList, List resultList, - long collectTime, boolean isFinal, boolean wordTokenFirst, boolean toCreateLattice) { - this(activeList, resultList, collectTime, isFinal, wordTokenFirst, toCreateLattice); - this.alternateHypothesisManager = alternateHypothesisManager; - } - - /** - * Creates a result - * - * @param activeList - * the active list associated with this result - * @param resultList - * the result list associated with this result - * @param collectTime - * token collect time in a stream. - * @param isFinal - * if true, the result is a final result. This means that the - * last frame in the speech segment has been decoded. - * @param wordTokenFirst if word token goes first. - * @param toCreateLattice create lattice or not. - */ - public Result(ActiveList activeList, List resultList, long collectTime, boolean isFinal, boolean wordTokenFirst, boolean toCreateLattice) { - this.activeList = activeList; - this.resultList = resultList; - this.currentCollectTime = collectTime; - this.isFinal = isFinal; - this.toCreateLattice = toCreateLattice; - this.wordTokenFirst = wordTokenFirst; - logMath = LogMath.getLogMath(); - } - - /** - * Determines if the result is a final result. A final result is guaranteed - * to no longer be modified by the SearchManager that generated it. - * Non-final results can be modifed by a - * SearchManager.recognize calls. - * - * @return true if the result is a final result - */ - public boolean isFinal() { - return isFinal; - } - - /** - * Checks if it justified to build lattice for this result - * - * @return true if lattice created from this result can provide confidence - * scores and n-best list - */ - public boolean toCreateLattice() { - return toCreateLattice; - } - - /** - * Returns the log math used for this Result. - * - * @return the log math used - */ - public LogMath getLogMath() { - return logMath; - } - - /** - * Returns a list of active tokens for this result. The list contains zero - * or active Token objects that represents the leaf nodes of - * all active branches in the result (sometimes referred to as the - * 'lattice'). - *

- * The lattice is live and may be modified by a SearchManager during a - * recognition. Once the Result is final, the lattice is fixed and will no - * longer be modified by the SearchManager. Applications can modify the - * lattice (to prepare for a re-recognition, for example) only after - * isFinal returns true - * - * @return a list containing the active tokens for this result - * @see Token - */ - public ActiveList getActiveTokens() { - return activeList; - } - - /** - * Returns a list of result tokens for this result. The list contains zero - * or more result Token objects that represents the leaf nodes - * of all final branches in the result (sometimes referred to as the - * 'lattice'). - *

- * The lattice is live and may be modified by a SearchManager during a - * recognition. Once the Result is final, the lattice is fixed and will no - * longer be modified by the SearchManager. Applications can modify the - * lattice (to prepare for a re-recognition, for example) only after - * isFinal returns true - * - * @return a list containing the final result tokens for this result - * @see Token - */ - public List getResultTokens() { - return resultList; - } - - /** - * Returns the AlternateHypothesisManager Used to construct a Lattice - * - * @return the AlternateHypothesisManager - */ - public AlternateHypothesisManager getAlternateHypothesisManager() { - return alternateHypothesisManager; - } - - /** - * Returns the current frame number - * - * @return the frame number - */ - public long getCollectTime() { - return currentCollectTime; - } - - /** - * Returns the best scoring final token in the result. A final token is a - * token that has reached a final state in the current frame. - * - * @return the best scoring final token or null - */ - public Token getBestFinalToken() { - Token bestToken = null; - for (Token token : resultList) { - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - return bestToken; - } - - /** - * Returns the best scoring token in the result. First, the best final token - * is retrieved. A final token is one that has reached the final state in - * the search space. If no final tokens can be found, then the best, - * non-final token is returned. - * - * @return the best scoring token or null - */ - public Token getBestToken() { - Token bestToken = getBestFinalToken(); - - if (bestToken == null) { - bestToken = getBestActiveToken(); - } - - return bestToken; - } - - /** - * Returns the best scoring token in the active set - * - * @return the best scoring token or null - */ - public Token getBestActiveToken() { - Token bestToken = null; - if (activeList != null) { - for (Token token : activeList) { - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - } - return bestToken; - } - - /** - * Searches through the n-best list to find the the branch that matches the - * given string - * - * @param text - * the string to search for - * @return the token at the head of the branch or null - */ - public Token findToken(String text) { - text = text.trim(); - for (Token token : resultList) { - if (text.equals(token.getWordPathNoFiller())) { - return token; - } - } - return null; - } - - /** - * Searches through the n-best list to find the the branch that matches the - * beginning of the given string - * - * @param text - * the string to search for - * @return the list token at the head of the branch - */ - public List findPartialMatchingTokens(String text) { - List list = new ArrayList(); - text = text.trim(); - for (Token token : activeList) { - if (text.startsWith(token.getWordPathNoFiller())) { - list.add(token); - } - } - return list; - } - - /** - * Returns the best scoring token that matches the beginning of the given - * text. - * - * @param text - * the text to match - * @return best token - */ - public Token getBestActiveParitalMatchingToken(String text) { - List matchingList = findPartialMatchingTokens(text); - Token bestToken = null; - for (Token token : matchingList) { - if (bestToken == null || token.getScore() > bestToken.getScore()) { - bestToken = token; - } - } - return bestToken; - } - - /** - * Returns detailed frame statistics for this result - * - * @return frame statistics for this result as an array, with one element - * per frame or null if no frame statistics are - * available. - */ - public FrameStatistics[] getFrameStatistics() { - return null; // [[[ TBD: write me ]]] - } - - /** - * Gets the starting frame number for the result. Note that this method is - * currently not implemented, and always returns zero. - * - * @return the starting frame number for the result - */ - public int getStartFrame() { - return 0; - } - - /** - * Gets the ending frame number for the result. Note that this method is - * currently not implemented, and always returns zero. - * - * @return the ending frame number for the result - */ - public int getEndFrame() { - return 0; // [[[ TBD: write me ]]] - } - - /** - * Gets the feature frames associated with this result - * - * @return the set of feature frames associated with this result, or null if - * the frames are not available. - */ - public List getDataFrames() { - // find the best token, and then trace back for all the features - Token token = getBestToken(); - - if (token == null) - return null; - - List featureList = new LinkedList(); - - do { - Data feature = token.getData(); - if (feature != null) - featureList.add(0, feature); - - token = token.getPredecessor(); - } while (token != null); - - return featureList; - } - - /** - * Returns the string of the best result, removing any filler words. This - * method first attempts to return the best final result, that is, the - * result that has reached the final state of the search space. If there are - * no best final results, then the best non-final result, that is, the one - * that did not reach the final state, is returned. - * - * @return the string of the best result, removing any filler words - */ - public String getBestResultNoFiller() { - Token token = getBestToken(); - if (token == null) { - return ""; - } else { - return token.getWordPathNoFiller(); - } - } - - /** - * Returns the string of the best final result, removing any filler words. A - * final result is a path that has reached the final state. A Result object - * can also contain paths that did not reach the final state, and those - * paths are not returned by this method. - * - * @return the string of the best result, removing any filler words, or null - * if there are no best results - */ - public String getBestFinalResultNoFiller() { - Token token = getBestFinalToken(); - if (token == null) { - return ""; - } else { - return token.getWordPathNoFiller(); - } - } - - /** - * The method is used when the application wants the phonemes on the best - * final path. Note that words may have more than one pronunciation, so this - * is not equivalent to the word path e.g. one[HH,W,AH,N] to[T,UW] - * three[TH,R,IY] - * - * @return the String of words and associated phonemes on the best path - */ - public String getBestPronunciationResult() { - Token token = getBestFinalToken(); - if (token == null) { - return ""; - } else { - return token.getWordPath(false, true); - } - } - - /** - * Returns the string of words (with timestamp) for this token. - * - * @param withFillers - * true if we want filler words included, false otherwise - * @return the string of words - */ - public List getTimedBestResult(boolean withFillers) { - Token token = getBestToken(); - if (token == null) { - return emptyList(); - } else { - if (wordTokenFirst) { - return getTimedWordPath(token, withFillers); - } else { - return getTimedWordTokenLastPath(token, withFillers); - } - } - } - - /** - * Returns the string of words (with timestamp) for this token. This method - * assumes that the word tokens come before other types of token. - * - * @param withFillers - * true if we want filler words, false otherwise - * @return list of word with timestamps - */ - private List getTimedWordPath(Token token, boolean withFillers) { - long prevWordEnd = -1; - List result = new ArrayList(); - - while (token != null) { - - if (prevWordEnd < 0) - prevWordEnd = token.getCollectTime(); - - if (token.isWord()) { - Word word = token.getWord(); - if (withFillers || !word.isFiller()) { - TimeFrame timeFrame = new TimeFrame(token.getCollectTime(), prevWordEnd); - result.add(new WordResult(word, timeFrame, token.getScore(), 1.)); - } - prevWordEnd = token.getCollectTime(); - } - token = token.getPredecessor(); - } - - reverse(result); - return result; - } - - /** - * Returns the string of words for this token, each with the starting sample - * number as the timestamp. This method assumes that the word tokens come - * after the unit and HMM tokens. - * - * @return the string of words, each with the starting sample number - */ - private List getTimedWordTokenLastPath(Token token, boolean withFillers) { - long lastWordEnd = -1; - long lastWordStart = -1; - Word word = null; - - List result = new ArrayList(); - while (token != null) { - if (token.isWord()) { - if (word != null && lastWordEnd >= 0) { - if (withFillers || !word.isFiller()) { - TimeFrame timeFrame = new TimeFrame(lastWordStart, lastWordEnd); - result.add(new WordResult(word, timeFrame, token.getScore(), 1.)); - } - } - lastWordEnd = token.getCollectTime(); - word = token.getWord(); - } - lastWordStart = token.getCollectTime(); - token = token.getPredecessor(); - } - - reverse(result); - return result; - } - - /** Returns a string representation of this object */ - @Override - public String toString() { - Token token = getBestToken(); - if (token == null) { - return ""; - } else { - return token.getWordPath(); - } - } - - /** - * Sets the results as a final result - * - * @param finalResult - * if true, the result should be made final - */ - void setFinal(boolean finalResult) { - this.isFinal = finalResult; - } - - /** - * Determines if the Result is valid. This is used for testing and debugging - * - * @return true if the result is properly formed. - */ - public boolean validate() { - boolean valid = true; - for (Token token : activeList) { - if (!token.validate()) { - valid = false; - token.dumpTokenPath(); - } - } - return valid; - } - - /** - * Sets the reference text - * - * @param ref - * the reference text - */ - public void setReferenceText(String ref) { - reference = ref; - } - - /** - * Retrieves the reference text. The reference text is a transcript of the - * text that was spoken. - * - * @return the reference text or null if no reference text exists. - */ - public String getReferenceText() { - return reference; - } - - /** - * Getter for wordTokenFirst flag - * - * @return true if word tokens goes first, before data tokens - */ - public boolean getWordTokenFirst() { - return wordTokenFirst; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/TokenGraphDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/TokenGraphDumper.java deleted file mode 100755 index 857b04d6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/TokenGraphDumper.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.result; - -import edu.cmu.sphinx.decoder.search.AlternateHypothesisManager; -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.linguist.HMMSearchState; -import edu.cmu.sphinx.linguist.SearchState; -import edu.cmu.sphinx.linguist.UnitSearchState; -import edu.cmu.sphinx.linguist.WordSearchState; - -import java.io.FileWriter; -import java.io.IOException; -import java.util.*; - -/** - * Dumps out the GDL graph of all the result token chains in a Result, as well as all the alternate hypotheses along - * those chains. - */ -public class TokenGraphDumper { - - private final AlternateHypothesisManager loserManager; - private final Result result; - private final Map tokenIDMap; - private final Set dumpedTokens; - private int ID; - - - /** - * Constructs a TokenGraphDumper from the given result. - * - * @param result The result which search space we want to dump. - */ - public TokenGraphDumper(Result result) { - this.result = result; - this.loserManager = result.getAlternateHypothesisManager(); - tokenIDMap = new HashMap(); - dumpedTokens = new HashSet(); - } - - - /** - * Dumps the GDL output of the search space to the given file. - * - * @param title the title of the GDL graph - * @param fileName filename to store - */ - public void dumpGDL(String title, String fileName) { - try { - System.err.println("Dumping " + title + " to " + fileName); - FileWriter f = new FileWriter(fileName); - f.write(dumpGDL(title)); - f.close(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - - - /** - * Dumps the GDL output. - * - * @param title the title of the GDL graph - * @return the GDL output string - */ - public String dumpGDL(String title) { - StringBuilder gdl = new StringBuilder("graph: {\n"); - gdl.append("title: \"").append(title).append("\"\n"); - gdl.append("display_edge_labels: yes\n"); - - for (Token token : result.getResultTokens()) { - gdl.append(dumpTokenGDL(token)); - } - - gdl.append("}\n"); - return gdl.toString(); - } - - - /** - * Dumps the GDL output for a token, and any of its predecessors or alternate hypotheses. - * - * @param token the token to dump - * @return the GDL output string - */ - private String dumpTokenGDL(Token token) { - - if (dumpedTokens.contains(token)) { - return ""; - } else { - String label = ("[" + token.getAcousticScore() + token.getInsertionScore() + ',' + - token.getLanguageScore() + ']'); - if (token.isWord()) { - label = token.getWord().getSpelling() + label; - } - - String color = null; - - if (token.getSearchState() != null) { - color = getColor(token.getSearchState()); - } - - StringBuilder gdl = new StringBuilder().append("node: { title: \"").append(getTokenID(token)) - .append("\" label: \"").append(label).append("\" color: "); - if (color != null) { - gdl.append(color).append(" }"); - } else { - gdl.append(" }"); - } - gdl.append('\n'); - - dumpedTokens.add(token); - - if (token.getPredecessor() != null) { - gdl.append("edge: { sourcename: \"").append(getTokenID(token)) - .append("\" targetname: \"").append(getTokenID(token.getPredecessor())) - .append("\" }").append('\n').append(dumpTokenGDL(token.getPredecessor())); - } - - if (loserManager != null) { - List list = loserManager.getAlternatePredecessors(token); - if (list != null) { - for (Token loser : list) { - gdl.append("edge: { sourcename: \"").append(getTokenID(token)) - .append("\" targetname: \"").append(getTokenID(loser)) - .append("\" }").append('\n').append(dumpTokenGDL(loser)); - } - } - } - return gdl.toString(); - } - } - - - /** - * Gets the color for a particular state - * - * @param state the state - * @return its color - */ - private String getColor(SearchState state) { - String color = "lightred"; - if (state.isFinal()) { - color = "magenta"; - } else if (state instanceof UnitSearchState) { - color = "green"; - } else if (state instanceof WordSearchState) { - color = "lightblue"; - } else if (state instanceof HMMSearchState) { - color = "orange"; - } - return color; - } - - - /** - * Returns the next available token ID. - * - * @param token the token for which we want an ID - * @return the next available token ID - */ - private Integer getTokenID(Token token) { - Integer id = tokenIDMap.get(token); - if (id == null) { - id = ID++; - tokenIDMap.put(token, id); - } - return id; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/WordResult.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/WordResult.java deleted file mode 100755 index 9098636d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/result/WordResult.java +++ /dev/null @@ -1,121 +0,0 @@ -/* -* Copyright 1999-2015 Carnegie Mellon University. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -*/ - -package edu.cmu.sphinx.result; - -import java.util.Locale; - -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.TimeFrame; - -/** - * Represents a word in a recognition result. - * - * This is designed specifically for obtaining confidence scores. - * All scores are maintained in LogMath log base. - */ -public class WordResult { - - private final Word word; - private final TimeFrame timeFrame; - private final double score; - private final double confidence; - - /** - * Construct a word result with full information. - * - * @param w the word object to store - * @param timeFrame time frame - * @param score acoustic score of the word - * @param posterior of the word - */ - public WordResult(Word w, TimeFrame timeFrame, double score, double posterior) - { - this.word = w; - this.timeFrame = timeFrame; - this.score = score; - this.confidence = posterior; - } - - /** - * Construct a WordResult using a Node object and a confidence (posterior). - * - * This does not use the posterior stored in the Node object, just its - * word, start and end. - * - * @param node the node to extract information from - */ - public WordResult(Node node) { - this(node.getWord(), - new TimeFrame(node.getBeginTime(), node.getEndTime()), - node.getViterbiScore(), node.getPosterior()); - } - - /** - * @return total score for this WirdResult in log domain - */ - public double getScore() { - return score; - } - - /** - * Returns a log confidence score for this WordResult. - * - * Use the getLogMath().logToLinear() method to convert the log confidence - * score to linear. The linear value should be between 0.0 and 1.0 - * (inclusive) for this word. - * - * @return a log confidence score which linear value is in [0, 1] - */ - public double getConfidence() { - // TODO: can confidence really be greater than 1? - return Math.min(confidence, LogMath.LOG_ONE); - } - - /** - * Gets the pronunciation for this word. - * - * @return the pronunciation for the word - */ - public Pronunciation getPronunciation() { - return word.getMostLikelyPronunciation(); - } - - /** - * Gets the word object associated with the given result. - * - * @return the word object - */ - public Word getWord() { - return word; - } - - /** - * @return time frame for the word - */ - public TimeFrame getTimeFrame() { - return timeFrame; - } - - /** - * Does this word result represent a filler token? - * - * @return true if this is a filler - */ - public boolean isFiller() { - return word.isFiller() || word.toString().equals(""); - } - - @Override - public String toString() { - return String.format(Locale.US, "{%s, %.3f, [%s]}", word, LogMath.getLogMath().logToLinear((float)getConfidence()), timeFrame); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Segment.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Segment.java deleted file mode 100755 index ee41d88d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Segment.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.speakerid; - -public class Segment implements Comparable { - public final static int FEATURES_SIZE = 13; - - public final static int FRAME_LENGTH = 10; - - private int startTime, length; - - public Segment(Segment ref) { - this.startTime = ref.startTime; - this.length = ref.length; - } - - public Segment(int startTime, int length) { - this.startTime = startTime; - this.length = length; - } - - public Segment(int startTime, int length, float[] features) { - this.startTime = startTime; - this.length = length; - } - - public Segment() { - this.startTime = this.length = 0; - } - - public void setStartTime(int startTime) { - this.startTime = startTime; - } - - public void setLength(int length) { - this.length = length; - } - - public int getStartTime() { - return this.startTime; - } - - public int getLength() { - return this.length; - } - - public int equals(Segment ref) { - return (this.startTime == ref.startTime) ? 1 : 0; - } - - @Override - public String toString() { - return this.startTime + " " + this.length + "\n"; - } - - public int compareTo(Segment ref) { - return (this.startTime - ref.startTime); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerCluster.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerCluster.java deleted file mode 100755 index 9db3c8fa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerCluster.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.speakerid; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.TreeSet; - -import org.apache.commons.math3.linear.Array2DRowRealMatrix; - -public class SpeakerCluster { - private TreeSet segmentSet; - private double bicValue; - - public double getBicValue() { - return bicValue; - } - - public void setBicValue(double bicValue) { - this.bicValue = bicValue; - } - - protected Array2DRowRealMatrix featureMatrix; - - public Array2DRowRealMatrix getFeatureMatrix() { - return featureMatrix; - } - - public SpeakerCluster() { - this.segmentSet = new TreeSet(); - } - - public SpeakerCluster(Segment s, Array2DRowRealMatrix featureMatrix, double bicValue) { - this.segmentSet = new TreeSet(); - this.featureMatrix = new Array2DRowRealMatrix(featureMatrix.getData()); - this.bicValue = bicValue; - addSegment(s); - } - - public SpeakerCluster(SpeakerCluster c) { - this.segmentSet = new TreeSet(); - this.featureMatrix = new Array2DRowRealMatrix(c.getFeatureMatrix().getData()); - Iterator it = c.segmentSet.iterator(); - while (it.hasNext()) - this.addSegment(it.next()); - } - - public TreeSet getSegments() { - return this.segmentSet; - } - - public ArrayList getArrayOfSegments() { - Iterator it = segmentSet.iterator(); - ArrayList ret = new ArrayList(); - while (it.hasNext()) - ret.add(it.next()); - return ret; - } - - public Boolean addSegment(Segment s) { - return this.segmentSet.add(s); - } - - public Boolean removeSegment(Segment s) { - return this.segmentSet.remove(s); - } - - /** - * Returns a 2 * n length array where n is the numbers of intervals assigned - * to the speaker modeled by this cluster every pair of elements with - * indexes (2 * i, 2 * i + 1) represents the start time and the length for - * each interval - * - * We may need a delay parameter to this function because the segments may - * not be exactly consecutive - * - * @return a list of segments for speaker - */ - public ArrayList getSpeakerIntervals() { - Iterator it = segmentSet.iterator(); - Segment curent = new Segment(0, 0), previous = it.next(); - int start = previous.getStartTime(); - int length = previous.getLength(); - int idx = 0; - ArrayList ret = new ArrayList(); - ret.add(previous); - while (it.hasNext()) { - curent = it.next(); - start = ret.get(idx).getStartTime(); - length = ret.get(idx).getLength(); - if ((start + length) == curent.getStartTime()) { - ret.set(idx, new Segment(start, length + curent.getLength())); - } else { - idx++; - ret.add(curent); - } - previous = curent; - } - return ret; - } - - public void mergeWith(SpeakerCluster target) throws NullPointerException { - if (target == null) - throw new NullPointerException(); - Iterator it = target.segmentSet.iterator(); - while (it.hasNext()) { - if (!this.addSegment(it.next())) - System.out.println("Something doesn't work in mergeWith method, Cluster class"); - } - int rowDim = featureMatrix.getRowDimension() + target.getFeatureMatrix().getRowDimension(); - int colDim = featureMatrix.getColumnDimension(); - Array2DRowRealMatrix combinedFeatures = new Array2DRowRealMatrix(rowDim, colDim); - combinedFeatures.setSubMatrix(featureMatrix.getData(), 0, 0); - combinedFeatures - .setSubMatrix(target.getFeatureMatrix().getData(), featureMatrix.getRowDimension(), 0); - bicValue = SpeakerIdentification.getBICValue(combinedFeatures); - featureMatrix = new Array2DRowRealMatrix(combinedFeatures.getData()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerIdentification.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerIdentification.java deleted file mode 100755 index 6653b076..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/SpeakerIdentification.java +++ /dev/null @@ -1,324 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.speakerid; - -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; - -import org.apache.commons.math3.linear.Array2DRowRealMatrix; -import org.apache.commons.math3.linear.EigenDecomposition; -import org.apache.commons.math3.stat.correlation.Covariance; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.util.props.ConfigurationManager; - -/** - * Provides method for detecting the number of speakers from a given input file - * - */ -public class SpeakerIdentification { - - public final String FRONTEND_NAME = "plpFrontEnd"; - - private FrontEnd frontEnd; - private StreamDataSource audioSource; - private ConfigurationManager cm; - - public SpeakerIdentification() { - URL url = getClass().getResource("frontend.config.xml"); - cm = new ConfigurationManager(url); - audioSource = cm.lookup("streamDataSource"); - frontEnd = cm.lookup(FRONTEND_NAME); - } - - /** - * @return The list of feature vectors from the fileStream used by - * audioSource - */ - private ArrayList getFeatures() { - ArrayList ret = new ArrayList(); - try { - int featureLength = -1; - Data feature = frontEnd.getData(); - while (!(feature instanceof DataEndSignal)) { - if (feature instanceof DoubleData) { - double[] featureData = ((DoubleData) feature).getValues(); - if (featureLength < 0) { - featureLength = featureData.length; - } - float[] convertedData = new float[featureData.length]; - for (int i = 0; i < featureData.length; i++) { - convertedData[i] = (float) featureData[i]; - } - ret.add(convertedData); - } else if (feature instanceof FloatData) { - float[] featureData = ((FloatData) feature).getValues(); - if (featureLength < 0) { - featureLength = featureData.length; - - } - ret.add(featureData); - } - feature = frontEnd.getData(); - } - } catch (Exception e) { - e.printStackTrace(); - } - return ret; - } - - /** - * - * @param bicValue - * The bicValue of the model represented by only one Gaussian. - * This parameter it's useful when this function is called - * repeatedly for different frame values and the same features - * parameter - * @param frame - * the frame which is tested for being a change point - * @param features - * the feature vectors matrix - * @return the likelihood ratio - */ - double getLikelihoodRatio(double bicValue, int frame, Array2DRowRealMatrix features) { - double bicValue1, bicValue2; - int d = Segment.FEATURES_SIZE; - double penalty = 0.5 * (d + 0.5 * d * (d + 1)) * Math.log(features.getRowDimension()) * 2; - int nrows = features.getRowDimension(), ncols = features.getColumnDimension(); - Array2DRowRealMatrix sub1, sub2; - sub1 = (Array2DRowRealMatrix) features.getSubMatrix(0, frame - 1, 0, ncols - 1); - sub2 = (Array2DRowRealMatrix) features.getSubMatrix(frame, nrows - 1, 0, ncols - 1); - bicValue1 = getBICValue(sub1); - bicValue2 = getBICValue(sub2); - return (bicValue - bicValue1 - bicValue2 - penalty); - } - - /** - * @param start - * The starting frame - * @param length - * The length of the interval, as numbers of frames - * @param features - * The matrix build with feature vectors as rows - * @return Returns the changing point in the input represented by features - * - */ - - private int getPoint(int start, int length, int step, Array2DRowRealMatrix features) { - double max = Double.NEGATIVE_INFINITY; - int ncols = features.getColumnDimension(), point = 0; - Array2DRowRealMatrix sub = (Array2DRowRealMatrix) features.getSubMatrix(start, start + length - 1, 0, - ncols - 1); - double bicValue = getBICValue(sub); - for (int i = Segment.FEATURES_SIZE + 1; i < length - Segment.FEATURES_SIZE; i += step) { - double aux = getLikelihoodRatio(bicValue, i, sub); - if (aux > max) { - max = aux; - point = i; - } - } - if (max < 0) - point = Integer.MIN_VALUE; - return point + start; - } - - /** - * - * @param features - * Matrix with feature vectors as rows - * @return A list with all changing points detected in the file - */ - private LinkedList getAllChangingPoints(Array2DRowRealMatrix features) { - LinkedList ret = new LinkedList(); - ret.add(0); - int framesCount = features.getRowDimension(), step = 500; - int start = 0, end = step, cp; - while (end < framesCount) { - cp = getPoint(start, end - start + 1, step / 10, features); - if (cp > 0) { - start = cp; - end = start + step; - ret.add(cp); - } else - end += step; - } - ret.add(framesCount); - return ret; - } - - /** - * @param mat - * A matrix with feature vectors as rows. - * @return Returns the BICValue of the Gaussian model that approximates the - * the feature vectors data samples - */ - public static double getBICValue(Array2DRowRealMatrix mat) { - double ret = 0; - EigenDecomposition ed = new EigenDecomposition(new Covariance(mat).getCovarianceMatrix()); - double[] re = ed.getRealEigenvalues(); - for (int i = 0; i < re.length; i++) - ret += Math.log(re[i]); - return ret * (mat.getRowDimension() / 2); - } - - /** - * @param stream stream to process - * @return A cluster for each speaker found in the input file - */ - public ArrayList cluster(InputStream stream) { - audioSource.setInputStream(stream); - ArrayList features = getFeatures(); - return cluster(features); - } - - /** - * @param features The feature vectors to be used for clustering - * @return A cluster for each speaker detected based on the feature vectors provided - */ - public ArrayList cluster(ArrayList features) { - ArrayList ret = new ArrayList(); - Array2DRowRealMatrix featuresMatrix = ArrayToRealMatrix(features, features.size()); - LinkedList l = getAllChangingPoints(featuresMatrix); - Iterator it = l.iterator(); - int curent, previous = it.next(); - while (it.hasNext()) { - curent = it.next(); - Segment s = new Segment(previous * Segment.FRAME_LENGTH, (curent - previous) - * (Segment.FRAME_LENGTH)); - Array2DRowRealMatrix featuresSubset = (Array2DRowRealMatrix) featuresMatrix.getSubMatrix( - previous, curent - 1, 0, 12); - ret.add(new SpeakerCluster(s, featuresSubset, getBICValue(featuresSubset))); - previous = curent; - } - int clusterCount = ret.size(); - - Array2DRowRealMatrix distance; - distance = new Array2DRowRealMatrix(clusterCount, clusterCount); - distance = updateDistances(ret); - while (true) { - double distmin = 0; - int imin = -1, jmin = -1; - - for (int i = 0; i < clusterCount; i++) - for (int j = 0; j < clusterCount; j++) - if (i != j) - distmin += distance.getEntry(i, j); - distmin /= (clusterCount * (clusterCount - 1) * 4); - - for (int i = 0; i < clusterCount; i++) { - for (int j = 0; j < clusterCount; j++) { - if (distance.getEntry(i, j) < distmin && i != j) { - distmin = distance.getEntry(i, j); - imin = i; - jmin = j; - } - } - } - if (imin == -1) { - break; - } - ret.get(imin).mergeWith(ret.get(jmin)); - updateDistances(ret, imin, jmin, distance); - ret.remove(jmin); - clusterCount--; - } - return ret; - } - - /** - * @param Clustering - * The array of clusters - * @param posi - * The index of the merged cluster - * @param posj - * The index of the cluster that will be eliminated from the - * clustering - * @param distance - * The distance matrix that will be updated - */ - void updateDistances(ArrayList clustering, int posi, int posj, - Array2DRowRealMatrix distance) { - int clusterCount = clustering.size(); - for (int i = 0; i < clusterCount; i++) { - distance.setEntry(i, posi, computeDistance(clustering.get(i), clustering.get(posi))); - distance.setEntry(posi, i, distance.getEntry(i, posi)); - } - for (int i = posj; i < clusterCount - 1; i++) - for (int j = 0; j < clusterCount; j++) - distance.setEntry(i, j, distance.getEntry(i + 1, j)); - - for (int i = 0; i < clusterCount; i++) - for (int j = posj; j < clusterCount - 1; j++) - distance.setEntry(i, j, distance.getEntry(i, j + 1)); - } - - /** - * @param Clustering - * The array of clusters - */ - Array2DRowRealMatrix updateDistances(ArrayList clustering) { - int clusterCount = clustering.size(); - Array2DRowRealMatrix distance = new Array2DRowRealMatrix(clusterCount, clusterCount); - for (int i = 0; i < clusterCount; i++) { - for (int j = 0; j <= i; j++) { - distance.setEntry(i, j, computeDistance(clustering.get(i), clustering.get(j))); - distance.setEntry(j, i, distance.getEntry(i, j)); - } - } - return distance; - } - - double computeDistance(SpeakerCluster c1, SpeakerCluster c2) { - int rowDim = c1.getFeatureMatrix().getRowDimension() + c2.getFeatureMatrix().getRowDimension(); - int colDim = c1.getFeatureMatrix().getColumnDimension(); - Array2DRowRealMatrix combinedFeatures = new Array2DRowRealMatrix(rowDim, colDim); - combinedFeatures.setSubMatrix(c1.getFeatureMatrix().getData(), 0, 0); - combinedFeatures.setSubMatrix(c2.getFeatureMatrix().getData(), c1.getFeatureMatrix() - .getRowDimension(), 0); - double bicValue = getBICValue(combinedFeatures); - double d = Segment.FEATURES_SIZE; - double penalty = 0.5 * (d + 0.5 * d * (d + 1)) * Math.log(combinedFeatures.getRowDimension()) * 2; - return bicValue - c1.getBicValue() - c2.getBicValue() - penalty; - } - - /** - * @param lst - * An ArrayList with all the values being vectors of the same - * dimension - * @return The RealMatrix with the vectors from the ArrayList on columns - */ - Array2DRowRealMatrix ArrayToRealMatrix(ArrayList lst, int size) { - int length = lst.get(1).length; - Array2DRowRealMatrix ret = new Array2DRowRealMatrix(size, length); - int i = 0; - for (i = 0; i < size; i++) { - double[] converted = new double[length]; - for (int j = 0; j < length; j++) - converted[j] = ((lst.get(i))[j]); - ret.setRow(i, converted); - } - return ret; - } - - void printMatrix(Array2DRowRealMatrix a) { - for (int i = 0; i < a.getRowDimension(); i++) { - for (int j = 0; j < a.getColumnDimension(); j++) - System.out.print(a.getEntry(i, j) + " "); - System.out.println(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Tester.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Tester.java deleted file mode 100755 index 46b583f6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/speakerid/Tester.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.speakerid; - -import java.io.*; -import java.util.ArrayList; -import java.util.Random; - -public class Tester { - - /** - * Generates artificial input with distinct speakers based - * - * @param vectorSize - * The dimension of a feature vector - * @param vectorsCount - * The number of features vectors per speakers - * @param speakersCount - * The number of speakers - * @return List of features that satisfies the given requirements - */ - public static ArrayList generateDistinctSpeakers(int vectorSize, int vectorsCount, - int speakersCount) { - Random rd = new Random(); - ArrayList ret = new ArrayList(); - float[] dummy = new float[vectorSize]; - for (int i = 0; i < speakersCount; i++) { - for (int j = 0; j < vectorSize; j++) - dummy[j] = (float) (i + 1) / 10 + (float) rd.nextInt(5000) / 50000; - dummy[0] = 3 + (float) (i + 1) / 10; - for (int j = 0; j < vectorsCount; j++) { - float[] copy = new float[vectorSize]; - for (int k = 0; k < vectorSize; k++) - copy[k] = dummy[k] + (float) rd.nextInt(5000) / 50000; - ret.add(copy); - } - } - return ret; - } - - /** - * Returns string version of the given time in miliseconds - * - * @param seconds seconds to convert - * @return time in mm:ss format - */ - public static String time(int seconds) { - return (seconds / 60000) + ":" + (Math.round((double) (seconds % 60000) / 1000)); - } - - /** - * @param speakers - * An array of clusters for which it is needed to be printed the - * speakers intervals - */ - public static void printIntervals(ArrayList speakers) { - System.out.println("Detected " + speakers.size() + " Speakers :"); - int idx = 0; - for (SpeakerCluster spk : speakers) { - System.out.print("Speaker " + (++idx) + ": "); - ArrayList segments = spk.getSpeakerIntervals(); - for (Segment seg : segments) - System.out.print("[" + time(seg.getStartTime()) + " " + time(seg.getLength()) + "]"); - System.out.println(); - } - } - - /** - * - * @param speakers - * An array of clusters for which it is needed to be printed the - * speakers intervals - * @param fileName the file to print to - * @throws IOException if error occurred - */ - public static void printSpeakerIntervals(ArrayList speakers, String fileName) - throws IOException { - String ofName = fileName.substring(0, fileName.indexOf('.')) + ".seg"; - FileWriter fr = new FileWriter(ofName); - int idx = 0; - for (SpeakerCluster spk : speakers) { - idx ++; - ArrayList segments = spk.getSpeakerIntervals(); - for (Segment seg : segments) - fr.write(fileName + " " + 1 + " " + seg.getStartTime() / 10 + " " + seg.getLength() / 10 - + "U U U Speaker" + idx + "\n"); - } - fr.close(); - } - - /** - * Test method for SpeakerIdentification, based on artificial input with - * non-repeated speakers - * - * @param vectorSize - * number of features (Segment.FEATURES_SIZE) - * @param vectorsCount - * number of frames for each speaker - * @param speakersCount - * number of speakers - */ - public static void testDistinctSpeakerIdentification(int vectorSize, int vectorsCount, int speakersCount) { - ArrayList ret = generateDistinctSpeakers(vectorSize, vectorsCount, speakersCount); - printIntervals(new SpeakerIdentification().cluster(ret)); - } - - /** - * Test method for SpeakerIdentification, based on artificial input with - * repeated speakers - * - * @param vectorSize - * number of features (Segment.FEATURES_SIZE) - * @param vectorsCount - * number of frames for each speaker - * @param speakersCount - * number of speakers - * @param repeatFactor - * number of times the input should be repeated - */ - public static void testRepeatedSpeakerIdentification(int vectorSize, int vectorsCount, int speakersCount, - int repeatFactor) { - ArrayList lst = new ArrayList(); - ArrayList aux = generateDistinctSpeakers(vectorSize, vectorsCount, speakersCount); - for (int i = 0; i < repeatFactor; i++) - lst.addAll(aux); - printIntervals(new SpeakerIdentification().cluster(lst)); - } - - /** - * Tests SpeakerIdentification on input file given as parameter. - * - * @param inputFile - * the input file that needs to be diarized - * @throws IOException if IO went wrong - */ - public static void testSpeakerIdentification(String inputFile) throws IOException { - InputStream stream = new FileInputStream(inputFile); - ArrayList speakers = new SpeakerIdentification().cluster(stream); - printIntervals(speakers); - printSpeakerIntervals(speakers, inputFile); - } - - public static void main(String[] args) throws IOException { - String inputFile = null; - for (int i = 0; i < args.length; i++) - if (args[i].equals("-i")) - inputFile = args[++i]; - testSpeakerIdentification(inputFile); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/aligner/Aligner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/aligner/Aligner.java deleted file mode 100755 index 11dd910e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/aligner/Aligner.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.tools.aligner; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.sound.sampled.AudioFileFormat; -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.UnsupportedAudioFileException; - -import edu.cmu.sphinx.api.SpeechAligner; -import edu.cmu.sphinx.util.TimeFrame; -import edu.cmu.sphinx.result.WordResult; - -/** - * This is a simple tool to align audio to text and dump a database - * for the training/evaluation. - * - * You need to provide a model, dictionary, audio and the text to align. - */ -public class Aligner { - - private static int MIN_FILLER_LENGTH = 200; - - /** - * @param args acoustic model, dictionary, audio file, text - * @throws Exception if error occurs - */ - public static void main(String args[]) throws Exception { - File file = new File(args[2]); - SpeechAligner aligner = new SpeechAligner(args[0], args[1], null); - splitStream(file, aligner.align(file.toURI().toURL(), args[3])); - } - - private static void splitStream(File inFile, List results) - throws UnsupportedAudioFileException, IOException - { - System.err.println(results.size()); - - List> utts = new ArrayList>(); - List currentUtt = null; - int fillerLength = 0; - - for (WordResult result : results) { - if (result.isFiller()) { - fillerLength += result.getTimeFrame().length(); - if (fillerLength > MIN_FILLER_LENGTH) { - if (currentUtt != null) - utts.add(currentUtt); - - currentUtt = null; - } - } else { - fillerLength = 0; - if (currentUtt == null) - currentUtt = new ArrayList(); - - currentUtt.add(result); - } - } - - if (null != currentUtt) - utts.add(currentUtt); - - int count = 0; - for (List utt : utts) { - long startFrame = Long.MAX_VALUE; - long endFrame = Long.MIN_VALUE; - - for (WordResult result : utt) { - TimeFrame frame = result.getTimeFrame(); - startFrame = Math.min(startFrame, frame.getStart()); - endFrame = Math.max(endFrame, frame.getEnd()); - System.out.print(result.getPronunciation().getWord()); - System.out.print(' '); - } - - String[] basename = inFile.getName().split("\\.wav$"); - String uttId = String.format("%03d0", count); - String outPath = String.format("%s-%s.wav", basename[0], uttId); - System.out.println("(" + uttId + ")"); - count++; - - dumpStreamChunk(inFile, outPath, startFrame - MIN_FILLER_LENGTH, - endFrame - startFrame + MIN_FILLER_LENGTH); - } - } - - private static void dumpStreamChunk(File file, String dstPath, - long offset, long length) - throws UnsupportedAudioFileException, IOException - { - AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file); - AudioInputStream inputStream = AudioSystem.getAudioInputStream(file); - AudioFormat audioFormat = fileFormat.getFormat(); - int bitrate = Math.round(audioFormat.getFrameSize() * - audioFormat.getFrameRate() / 1000); - - inputStream.skip(offset * bitrate); - AudioInputStream chunkStream = - new AudioInputStream(inputStream, audioFormat, length * bitrate); - AudioSystem.write(chunkStream, fileFormat.getType(), new File(dstPath)); - inputStream.close(); - chunkStream.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioData.java deleted file mode 100755 index b8ff687f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioData.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioInputStream; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** Represents a 16bit, SIGNED_PCM, little endian audio clip with a sample rate specified by AudioFormat. */ -public class AudioData { - - protected AudioFormat format; - protected short[] shorts; - protected final List listeners = new ArrayList(); - protected int selectionStart = -1; - protected int selectionEnd = -1; - - /** No-arg constructor. Creates an empty clip at 8kHz sample rate. */ - public AudioData() { - this.format = new AudioFormat(8000f, - 16, // sample size in bits - 1, // mono - true, // signed - false); // little endian - shorts = new short[0]; - } - - - /** - * Creates a new AudioData with the given data and sample rate. Expects the data to be 16bit, little endian, - * SIGNED_PCM. - * - * @param data the audio samples; one sample per element in the array - * @param sampleRate the sample rate in Hz - */ - public AudioData(short[] data, float sampleRate) { - this.shorts = data; - this.format = new AudioFormat(sampleRate, - 16, // sample size in bits - 1, // mono - true, // signed - false); // little endian - } - - - /** - * Creates a new AudioData from the given AudioInputStream, converting the data to 16bit, little endian, SIGNED_PCM if - * needed. - * - * @param ais the AudioInputStream - * @throws IOException if problems happen when reading from ais - */ - public AudioData(AudioInputStream ais) throws IOException { - this.shorts = Utils.toSignedPCM(ais); - this.format = new AudioFormat(ais.getFormat().getSampleRate(), - 16, // sample size in bits - 1, // mono - true, // signed - false); // little endian - } - - - /** - * Gets the SIGNED_PCM 16 bit little endian audio data. NOTE: this the actual array held by this object, so only use - * it as a reference (i.e., don't modify the contents). - * - * @return the SIGNED_PCM 16 bit little endian samples - */ - public short[] getAudioData() { - return shorts; - } - - - /** - * Sets the audio data and notifies all ChangeListeners. - * - * @param data the new SIGNED_PCM 16 bit little endian samples - */ - public void setAudioData(short[] data) { - this.shorts = data; - fireStateChanged(); - } - - - /** - * Gets the audio format. - * - * @return the AudioFormat for the data managed by this object - */ - public AudioFormat getAudioFormat() { - return format; - } - - - /** - * Add a ChangeListener. - * - * @param listener the listener to add - */ - public void addChangeListener(ChangeListener listener) { - listeners.add(listener); - } - - - /** - * Remove a ChangeListener. - * - * @param listener the listener to remove - */ - public void removeChangeListener(ChangeListener listener) { - listeners.remove(listener); - } - - - /** Notify all ChangeListeners of a change. */ - protected void fireStateChanged() { - ChangeEvent event = new ChangeEvent(this); - for (ChangeListener listener : listeners) - listener.stateChanged(event); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioDataInputStream.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioDataInputStream.java deleted file mode 100755 index 0db855bc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioDataInputStream.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import java.io.IOException; -import java.io.InputStream; - -/** Converts an AudioData into an InputStream. */ -public class AudioDataInputStream extends InputStream { - - AudioFormat format; - int currentIndex; - int markIndex; - final short[] shorts; - final byte[] bytes; - - - /** - * Creates a new AudioDataInputStream for the given AudioData. - * - * @param audio the AudioData to turn into an AudioDataInputStream - */ - public AudioDataInputStream(AudioData audio) { - shorts = audio.getAudioData(); - bytes = new byte[2 * shorts.length]; - - byte[] sample = new byte[2]; - for (int i = 0; i < shorts.length; i++) { - Utils.toBytes(shorts[i], sample, true); - bytes[i * 2 + 1] = sample[0]; - bytes[i * 2] = sample[1]; - } - } - - - // inherited from InputStream - // - @Override - public int read() throws IOException { - if (currentIndex >= bytes.length) { - return -1; - } else { - return bytes[currentIndex++]; - } - } - - - // inherited from InputStream - // - @Override - public int read(byte[] buf) throws IOException { - int count = 0; - for (int i = 0; i < buf.length; i++) { - if (currentIndex >= bytes.length) { - break; - } else { - buf[i] = bytes[currentIndex++]; - count++; - } - } - return (count == 0) ? -1 : count; - } - - - // inherited from InputStream - // - @Override - public int read(byte[] buf, int off, int len) throws IOException { - int count = 0; - for (int i = 0; (i < len) && ((i + off) < buf.length); i++) { - if (currentIndex >= bytes.length) { - break; - } else { - buf[i + off] = bytes[currentIndex++]; - count++; - } - } - return (count == 0) ? -1 : count; - } - - - // inherited from InputStream - // - public long skip(int n) throws IOException { - int actual = n; - if ((currentIndex + n) > bytes.length) { - actual = bytes.length - currentIndex; - } - currentIndex += actual; - return actual; - } - - - // inherited from InputStream - // - @Override - public int available() throws IOException { - return bytes.length - currentIndex; - } - - - // inherited from InputStream - // - @Override - public void close() throws IOException { - super.close(); - } - - - // inherited from InputStream - // - @Override - public void mark(int readLimit) { - markIndex = currentIndex; - } - - - // inherited from AudioInputStream - // - @Override - public boolean markSupported() { - return true; - } - - - // inherited from AudioInputStream - // - @Override - public void reset() throws IOException { - currentIndex = markIndex; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPanel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPanel.java deleted file mode 100755 index ac3db8a8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPanel.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.event.MouseMotionListener; -import java.util.Arrays; - -/** Provides an interface to view and play back various forms of an audio signal. */ -@SuppressWarnings("serial") -public class AudioPanel extends JPanel - implements MouseMotionListener, MouseListener { - - private final AudioData audio; - private float[] labelTimes; - private String[] labels; - private float xScale; - private final float yScale; - private final float originalXScale; - private int xDragStart; - private int xDragEnd; - protected int selectionStart = -1; - protected int selectionEnd = -1; - - - /** - * Creates a new AudioPanel. The scale factors represent how much to scale the audio. A scaleX factor of 1.0f - * means one pixel per sample, and a scaleY factor of 1.0f means one pixel per resolution of the sample (e.g., a - * scale of 1.0f would take 2**16 pixels). - * - * @param audioData the AudioData to draw - * @param scaleX how much to scale the width of the audio - * @param scaleY how much to scale the height - */ - public AudioPanel(AudioData audioData, - float scaleX, - float scaleY) { - this.audio = audioData; - labelTimes = new float[0]; - labels = new String[0]; - this.xScale = scaleX; - this.yScale = scaleY; - this.originalXScale = this.xScale; - - int width = (int) (audio.getAudioData().length * xScale); - int height = (int) ((1 << 16) * yScale); - - setPreferredSize(new Dimension(width, height)); - setBackground(Color.white); - - audio.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent event) { - int width = (int) (audio.getAudioData().length * xScale); - int height = (int) ((1 << 16) * yScale); - - labelTimes = new float[0]; - labels = new String[0]; - - setSelectionStart(-1); - setSelectionEnd(-1); - - setPreferredSize(new Dimension(width, height)); - Dimension sz = getSize(); - - revalidate(); - repaint(0, 0, 0, sz.width, sz.height); - } - }); - - addMouseMotionListener(this); - addMouseListener(this); - setFocusable(true); - requestFocus(); - } - - - /** Sets the labels to be used when drawing this panel. - * @param labelTimes label times - * @param labels labels - */ - public void setLabels(float[] labelTimes, String[] labels) { - this.labelTimes = labelTimes; - this.labels = labels; - repaint(); - } - - - /** Sets the zoom, adjusting the scroll bar in the process. - * @param zoom float zoom - */ - protected void zoomSet(float zoom) { - xScale = originalXScale * zoom; - int width = (int) (audio.getAudioData().length * xScale); - int height = (int) ((1 << 16) * yScale); - - setPreferredSize(new Dimension(width, height)); - revalidate(); - repaint(); - } - - - /** - * Repaints the component with the given Graphics. - * - * @param g the Graphics to use to repaint the component. - */ - @Override - public void paintComponent(Graphics g) { - int pos, index; - int length; - - super.paintComponent(g); - - Dimension sz = getSize(); - int gZero = sz.height / 2; - short[] audioData = audio.getAudioData(); - - /** - * Only draw what is in the viewport. - */ - JViewport viewport = getViewport(); - if (viewport != null) { - Rectangle r = viewport.getViewRect(); - pos = (int) r.getX(); - length = (int) r.getWidth(); - } else { - pos = 0; - length = (int) (audioData.length * xScale); - } - - /** - * Fill in the whole image with white. - */ - g.setColor(Color.WHITE); - g.fillRect(pos, 0, length, sz.height - 1); - - /** - * Now fill in the audio selection area as gray. - */ - index = Math.max(0, getSelectionStart()); - int start = (int) (index * xScale); - index = getSelectionEnd(); - if (index == -1) { - index = audioData.length - 1; - } - int end = (int) (index * xScale); - g.setColor(Color.LIGHT_GRAY); - g.fillRect(start, 0, - end - start, sz.height - 1); - - /* Now scale the audio data and draw it. - */ - int[] x = new int[length]; - int[] y = new int[length]; - for (int i = 0; i < length; i++) { - x[i] = pos; - index = (int) (pos / xScale); - if (index < audioData.length) { - y[i] = gZero - (int) (audioData[index] * yScale); - } else { - break; - } - pos++; - } - g.setColor(Color.RED); - g.drawPolyline(x, y, length); - - /** - * Now draw the labels. - */ - for (int i = 0; i < labelTimes.length; i++) { - pos = (int) (xScale - * labelTimes[i] - * audio.getAudioFormat().getSampleRate()); - g.drawLine(pos, 0, pos, sz.height - 1); - g.drawString(labels[i], pos + 5, sz.height - 5); - } - } - - - /** Finds the JViewport enclosing this component. */ - private JViewport getViewport() { - Container p = getParent(); - if (p instanceof JViewport) { - Container gp = p.getParent(); - if (gp instanceof JScrollPane) { - JScrollPane scroller = (JScrollPane) gp; - JViewport viewport = scroller.getViewport(); - if (viewport == null || viewport.getView() != this) { - return null; - } else { - return viewport; - } - } - } - return null; - } - - - /** - * Returns the index of the sample representing the start of the selection. -1 means the very beginning. - * - * @return the start of the selection - * @see #crop - * @see #getSelectionEnd - */ - public int getSelectionStart() { - return selectionStart; - } - - - /** - * Sets the index of the sample of representing the start of the selection. -1 means the very beginning. - * - * @param newStart the new selection start - * @see #crop - * @see #setSelectionEnd - */ - public void setSelectionStart(int newStart) { - selectionStart = newStart; - if (selectionEnd != -1) { - if (selectionEnd < selectionStart) { - selectionEnd = selectionStart; - } - } - } - - - /** - * Returns the index of the sample representing the end of the selection. -1 means the very end. - * - * @return the end of the selection - * @see #crop - * @see #getSelectionStart - */ - public int getSelectionEnd() { - return selectionEnd; - } - - - /** - * Sets the index of the sample of representing the end of the selection. -1 means the very end. - * - * @param newEnd the new selection end - * @see #crop - * @see #setSelectionStart - */ - public void setSelectionEnd(int newEnd) { - selectionEnd = newEnd; - if (selectionEnd != -1) { - if (selectionStart > selectionEnd) { - selectionStart = selectionEnd; - } - } - } - - - /** - * Crops the audio data between the start and end selections. All audio data outside the region will be permanently - * lost. The selection will be reset to the very beginning and very end of the cropped clip. - * - * @see #getSelectionStart - * @see #getSelectionEnd - */ - public void crop() { - short[] shorts = audio.getAudioData(); - int start = Math.max(0, getSelectionStart()); - int end = getSelectionEnd(); - if (end == -1) { - end = shorts.length; - } - audio.setAudioData(Arrays.copyOfRange(shorts, start, end)); - - setSelectionStart(-1); - setSelectionEnd(-1); - } - - - /** Clears the current selection. */ - public void selectAll() { - setSelectionStart(-1); - setSelectionEnd(-1); - repaint(); - } - - - /** - * When the mouse is pressed, we update the selection in the audio. - * - * @param evt the mouse pressed event - */ - public void mousePressed(MouseEvent evt) { - xDragStart = Math.max(0, evt.getX()); - setSelectionStart((int) (xDragStart / xScale)); - setSelectionEnd((int) (xDragStart / xScale)); - repaint(); - } - - - /** - * When the mouse is dragged, we update the selection in the audio. - * - * @param evt the mouse dragged event - */ - public void mouseDragged(MouseEvent evt) { - xDragEnd = evt.getX(); - if (xDragEnd < (int) (getSelectionStart() * xScale)) { - setSelectionStart((int) (xDragEnd / xScale)); - } else { - setSelectionEnd((int) (xDragEnd / xScale)); - } - repaint(); - } - - - public void mouseReleased(MouseEvent evt) { - } - - - public void mouseMoved(MouseEvent evt) { - } - - - public void mouseEntered(MouseEvent evt) { - } - - - public void mouseExited(MouseEvent evt) { - } - - - public void mouseClicked(MouseEvent evt) { - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPlayer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPlayer.java deleted file mode 100755 index 0f6891cf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioPlayer.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.DataLine; -import javax.sound.sampled.SourceDataLine; - -/** Plays an AudioData in a separate thread. */ -public class AudioPlayer extends Thread { - - private final AudioData audio; - private SourceDataLine line; - private int selectionStart; - private int selectionEnd; - - - /* Creates a new AudioPlayer for the given AudioData. */ - public AudioPlayer(AudioData audio) { - this.audio = audio; - selectionStart = 0; - selectionEnd = audio.getAudioData().length; - } - - - /* Notifies the AudioPlayer thread to play the audio. */ - public void play(int selectionStart, int selectionEnd) { - synchronized (audio) { - this.selectionStart = selectionStart; - this.selectionEnd = selectionEnd; - audio.notify(); - } - } - - - /* Plays the AudioData in a separate thread. */ - @Override - public void run() { - while (true) { - try { - synchronized (audio) { - audio.wait(); - AudioFormat format = audio.getAudioFormat(); - short[] data = audio.getAudioData(); - int start = Math.max(0, selectionStart); - int end = selectionEnd; - if (end == -1) { - end = data.length; - } - - DataLine.Info info = - new DataLine.Info(SourceDataLine.class, - format); - line = (SourceDataLine) AudioSystem.getLine(info); - line.open(format); - line.start(); - - byte[] frame = new byte[2]; - for (int i = start; - i < end && i < data.length; i++) { - Utils.toBytes(data[i], frame, false); - line.write(frame, 0, frame.length); - } - - line.drain(); - line.close(); - line = null; - } - } catch (Exception e) { - e.printStackTrace(); - break; - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioTool.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioTool.java deleted file mode 100755 index 900cff1b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/AudioTool.java +++ /dev/null @@ -1,594 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FrontEnd; -import edu.cmu.sphinx.frontend.util.Microphone; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.frontend.window.RaisedCosineWindower; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertySheet; - -import javax.sound.sampled.*; -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.*; -import java.net.URL; -import java.util.Arrays; -import java.util.StringTokenizer; -import java.util.prefs.Preferences; - - -/** - * Records and displays the waveform and spectrogram of an audio signal. See How - * to Run AudioTool for information on how to run AudioTool. - */ -public class AudioTool { - - static final String CONTEXT = "AudioTool"; - static final String PREFS_CONTEXT = "/edu/cmu/sphinx/tools/audio/" - + CONTEXT; - static final String FILENAME_PREFERENCE = "filename"; - - // ------------------------------- - // Component names - // ----------------------------------- - // These names should match the corresponding names in the - // spectrogram.config.xml - - static final String MICROPHONE = "microphone"; - static final String FRONT_END = "frontEnd"; - static final String CESPTRUM_FRONT_END = "cepstrumFrontEnd"; - static final String DATA_SOURCE = "streamDataSource"; - static final String CEPSTRUM_DATA_SOURCE = "cstreamDataSource"; - static final String WINDOWER = "windower"; - - static AudioData audio; - static JFrame jframe; - static AudioPanel audioPanel; - static SpectrogramPanel spectrogramPanel; - static CepstrumPanel cepstrumPanel; - static JFileChooser fileChooser; - static String filename; - static File file; - static AudioPlayer player; - static Microphone recorder; - static boolean recording; - static Preferences prefs; - static float zoom = 1.0f; - - private static JMenuItem saveMenuItem; - - private static JButton playButton; - private static JButton recordButton; - private static JButton zoomInButton; - private static JButton zoomOutButton; - private static JButton zoomResetButton; - - private static ActionListener recordListener; - - - /* Dumps the information about a line. */ - private static void dumpLineInfo(String indent, - Line.Info[] lineInfo) { - int numDumped = 0; - - if (lineInfo != null) { - for (Line.Info info : lineInfo) { - if (info instanceof DataLine.Info) { - AudioFormat[] formats = - ((DataLine.Info)info).getFormats(); - for (AudioFormat format : formats) { - System.out.println(indent + format); - } - numDumped++; - } else if (info instanceof Port.Info) { - System.out.println(indent + info); - numDumped++; - } - } - } - - if (numDumped == 0) { - System.out.println(indent + "none"); - } - } - - - /* Lists all the available audio devices. */ - private static void dumpMixers() { - Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); - - for (int i = 0; i < mixerInfo.length; i++) { - Mixer mixer = AudioSystem.getMixer(mixerInfo[i]); - System.out.println("Mixer[" + i + "]: \"" - + mixerInfo[i].getName() + '\"'); - System.out.println(" Description: " - + mixerInfo[i].getDescription()); - - System.out.println(" SourceLineInfo (e.g., speakers):"); - dumpLineInfo(" ", mixer.getSourceLineInfo()); - - System.out.println(" TargetLineInfo (e.g., microphones):"); - dumpLineInfo(" ", mixer.getTargetLineInfo()); - } - } - - - /* Gets a filename. */ - static public void getFilename(String title, int type) { - int returnVal; - - fileChooser.setDialogTitle(title); - fileChooser.setCurrentDirectory(file); - fileChooser.setDialogType(type); - - if (type == JFileChooser.OPEN_DIALOG) { - returnVal = fileChooser.showOpenDialog(jframe); - } else { - returnVal = fileChooser.showSaveDialog(jframe); - } - if (returnVal == JFileChooser.APPROVE_OPTION) { - file = fileChooser.getSelectedFile(); - filename = file.getAbsolutePath(); - prefs.put(FILENAME_PREFERENCE, filename); - } - } - - - static public void populateAudio(String filename) { - try { - AudioData newAudio = Utils.readAudioFile(filename); - if (newAudio == null) { - newAudio = Utils.readRawFile(filename); - } - zoomReset(); - audio.setAudioData(newAudio.getAudioData()); - /* - * Play only if user requests. Auto play is annoying if - * the audio is too long - * - * player.play(audioPanel.getSelectionStart(), - * audioPanel.getSelectionEnd()); - */ - } catch (IOException e) { - /* just ignore bad files. */ - } - } - - - static public void getAudioFromFile(String filename) throws IOException { - /* Supports alignment data. The format of the alignment file - * is as follows: - * - * input filename String - * number of (time tag) lines int - * time tag float String - * time tag float String - * time tag float String - * ... - * - * Times are in seconds. - */ - if (filename.endsWith(".align")) { - BufferedReader reader = new BufferedReader( - new InputStreamReader(new FileInputStream(filename))); - - populateAudio(reader.readLine()); - - int numPoints = Integer.parseInt(reader.readLine()); - float[] times = new float[numPoints]; - String[] labels = new String[numPoints]; - for (int i = 0; i < numPoints; i++) { - StringTokenizer tokenizer = new StringTokenizer( - reader.readLine()); - while (tokenizer.hasMoreTokens()) { - times[i] = Float.parseFloat(tokenizer.nextToken()); - labels[i] = tokenizer.nextToken(); - } - } - audioPanel.setLabels(times, labels); - - reader.close(); - } else { - populateAudio(filename); - } - } - - - /* Gets the audio that's in the recorder. This should only be called after recorder.stopRecording is called. */ - static private short[] getRecordedAudio(Microphone recorder) { - short[] shorts = new short[0]; - int sampleRate = 8000; - - /* [[[WDW - TODO: this is not the most efficient way - * to do this, but it at least works for now.]]] - */ - while (recorder.hasMoreData()) { - try { - Data data = recorder.getData(); - if (data instanceof DoubleData) { - sampleRate = - ((DoubleData) data).getSampleRate(); - double[] values = - ((DoubleData) data).getValues(); - short[] newShorts = Arrays.copyOf(shorts, shorts.length + values.length); - for (int i = 0; i < values.length; i++) { - newShorts[shorts.length + i] = (short)values[i]; - } - shorts = newShorts; - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - if (sampleRate > 8000) { - System.out.println("Downsampling from " + - sampleRate + " to 8000."); - shorts = Downsampler.downsample( - shorts, - sampleRate / 1000, - 16); - } - - return shorts; - } - - - /* Zoom the panels according to the zoom scale. */ - private static void zoomPanels() { - if (audioPanel != null) { - audioPanel.zoomSet(zoom); - } - if (spectrogramPanel != null) { - spectrogramPanel.zoomSet(zoom); - } - if (cepstrumPanel != null) { - cepstrumPanel.zoomSet(zoom); - } - } - - - private static void zoomIn() { - zoom *= 2.0f; - zoomPanels(); - } - - - private static void zoomOut() { - zoom /= 2.0f; - zoomPanels(); - } - - - private static void zoomReset() { - zoom = 1.0f; - zoomPanels(); - } - - - private static void createMenuBar(JFrame jframe) { - JMenuBar menuBar = new JMenuBar(); - jframe.setJMenuBar(menuBar); - - JMenu menu = new JMenu("File"); - menuBar.add(menu); - - JMenuItem menuItem = new JMenuItem("Open..."); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control O")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - getFilename("Open...", JFileChooser.OPEN_DIALOG); - if (filename == null || filename.isEmpty()) { - return; - } - try { - getAudioFromFile(filename); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - menu.add(menuItem); - - saveMenuItem = new JMenuItem("Save"); - saveMenuItem.setAccelerator(KeyStroke.getKeyStroke("control S")); - saveMenuItem.setEnabled(false); - saveMenuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (filename != null && !filename.isEmpty()) { - try { - Utils.writeRawFile(audio, filename); - saveMenuItem.setEnabled(false); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - }); - menu.add(saveMenuItem); - - menuItem = new JMenuItem("Save As..."); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control V")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - getFilename("Save As...", JFileChooser.SAVE_DIALOG); - if (filename == null || filename.isEmpty()) { - return; - } - try { - Utils.writeRawFile(audio, filename); - saveMenuItem.setEnabled(false); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - menu.add(menuItem); - - menuItem = new JMenuItem("Quit"); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control Q")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - System.exit(0); - } - }); - menu.add(menuItem); - - - menu = new JMenu("Edit"); - menuBar.add(menu); - - menuItem = new JMenuItem("Select All"); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control A")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - audioPanel.selectAll(); - } - }); - menu.add(menuItem); - - menuItem = new JMenuItem("Crop"); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control X")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - audioPanel.crop(); - } - }); - menu.add(menuItem); - - - menu = new JMenu("View"); - menuBar.add(menu); - - menuItem = new JMenuItem("Zoom In"); - menuItem.setAccelerator(KeyStroke.getKeyStroke('>')); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - zoomIn(); - } - }); - menu.add(menuItem); - - menuItem = new JMenuItem("Zoom Out"); - menuItem.setAccelerator(KeyStroke.getKeyStroke('<')); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - zoomOut(); - } - }); - menu.add(menuItem); - - menuItem = new JMenuItem("Original Size"); - menuItem.setAccelerator(KeyStroke.getKeyStroke('!')); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - zoomReset(); - } - }); - menu.add(menuItem); - - - menu = new JMenu("Audio"); - menuBar.add(menu); - - menuItem = new JMenuItem("Play"); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control P")); - menuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent evt) { - player.play(audioPanel.getSelectionStart(), - audioPanel.getSelectionEnd()); - } - }); - menu.add(menuItem); - - recordListener = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (!recording) { - recording = true; - recorder.startRecording(); - recordButton.setText("Stop"); - saveMenuItem.setEnabled(true); - } else { - recording = false; - recorder.stopRecording(); - audio.setAudioData(getRecordedAudio(recorder)); - recordButton.setText("Record"); - player.play(audioPanel.getSelectionStart(), - audioPanel.getSelectionEnd()); - } - } - }; - - - menuItem = new JMenuItem("Record Start/Stop"); - menuItem.setAccelerator(KeyStroke.getKeyStroke("control R")); - menuItem.addActionListener(recordListener); - menu.add(menuItem); - } - - - /** - * Create the Panel where all the buttons are. - * @return created panel - */ - private static JPanel createButtonPanel() { - JPanel buttonPanel = new JPanel(); - FlowLayout layout = new FlowLayout(); - layout.setAlignment(FlowLayout.LEFT); - buttonPanel.setLayout(layout); - - playButton = new JButton("Play"); - playButton.setEnabled(true); - playButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - player.play(audioPanel.getSelectionStart(), - audioPanel.getSelectionEnd()); - } - }); - - recordButton = new JButton("Record"); - recordButton.setEnabled(true); - recordButton.addActionListener(recordListener); - - zoomInButton = new JButton("Zoom In"); - zoomInButton.setEnabled(true); - zoomInButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - zoomIn(); - } - }); - - zoomOutButton = new JButton("Zoom Out"); - zoomOutButton.setEnabled(true); - zoomOutButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - zoomOut(); - } - }); - - zoomResetButton = new JButton("Reset Size"); - zoomResetButton.setEnabled(true); - zoomResetButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - zoomReset(); - } - }); - - JButton exitButton = new JButton("Exit"); - exitButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.exit(0); - } - }); - - buttonPanel.add(recordButton); - buttonPanel.add(playButton); - buttonPanel.add(zoomInButton); - buttonPanel.add(zoomOutButton); - buttonPanel.add(zoomResetButton); - buttonPanel.add(exitButton); - - return buttonPanel; - } - - static public void main(String[] args) { - FrontEnd frontEnd; - FrontEnd cepstrumFrontEnd; - StreamDataSource dataSource; - StreamDataSource cepstrumDataSource; - - prefs = Preferences.userRoot().node(PREFS_CONTEXT); - filename = prefs.get(FILENAME_PREFERENCE, "untitled.raw"); - file = new File(filename); - - if ((args.length == 1) && (args[0].equals("-dumpMixers"))) { - dumpMixers(); - System.exit(0); - } - - try { - URL url; - if (args.length > 0) { - filename = args[0]; - } - if (args.length == 2) { - url = new File(args[1]).toURI().toURL(); - } else { - url = AudioTool.class.getResource("spectrogram.config.xml"); - } - ConfigurationManager cm = new ConfigurationManager(url); - - recorder = (Microphone) cm.lookup(MICROPHONE); - recorder.initialize(); - audio = new AudioData(); - - frontEnd = (FrontEnd) cm.lookup(FRONT_END); - dataSource = (StreamDataSource) cm.lookup(DATA_SOURCE); - cepstrumFrontEnd = (FrontEnd) cm.lookup(CESPTRUM_FRONT_END); - cepstrumDataSource = (StreamDataSource) cm.lookup(CEPSTRUM_DATA_SOURCE); - - - PropertySheet ps = cm.getPropertySheet(WINDOWER); - float windowShiftInMs = ps.getFloat(RaisedCosineWindower.PROP_WINDOW_SHIFT_MS); - - final JFrame jframe = new JFrame("AudioTool"); - fileChooser = new JFileChooser(); - createMenuBar(jframe); - - /* Scale the width according to the size of the - * spectrogram. - */ - float windowShiftInSamples = windowShiftInMs - * audio.getAudioFormat().getSampleRate() / 1000.0f; - audioPanel = new AudioPanel(audio, - 1.0f / windowShiftInSamples, - 0.004f); - spectrogramPanel = new SpectrogramPanel(frontEnd, dataSource, audio); - cepstrumPanel = new CepstrumPanel(cepstrumFrontEnd, cepstrumDataSource, audio); - - JPanel panel = new JPanel(); - panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); - panel.add(audioPanel); - audioPanel.setAlignmentX(0.0f); - panel.add(spectrogramPanel); - spectrogramPanel.setAlignmentX(0.0f); - panel.add(cepstrumPanel); - cepstrumPanel.setAlignmentX(0.0f); - - JScrollPane scroller = new JScrollPane(panel); - - JPanel outerPanel = new JPanel(new BorderLayout()); - outerPanel.add(createButtonPanel(), BorderLayout.NORTH); - outerPanel.add(scroller); - - player = new AudioPlayer(audio); - player.start(); - - getAudioFromFile(filename); - - jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - jframe.setContentPane(outerPanel); - jframe.pack(); - jframe.setSize(640, 400); - jframe.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/CepstrumPanel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/CepstrumPanel.java deleted file mode 100755 index 4f48ecab..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/CepstrumPanel.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataEndSignal; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.frontend.FrontEnd; -import edu.cmu.sphinx.frontend.util.StreamDataSource; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.awt.image.FilteredImageSource; -import java.awt.image.ImageFilter; -import java.awt.image.ReplicateScaleFilter; -import java.util.ArrayList; -import java.util.Arrays; - -/** Converts a set of log magnitude Spectrum data into a graphical representation. */ -@SuppressWarnings("serial") -public class CepstrumPanel extends JPanel { - - /** Where the spectrogram will live. */ - protected BufferedImage spectrogram; - - /** A scaled version of the spectrogram image. */ - protected Image scaledSpectrogram; - - /** The zooming factor. */ - protected float zoom = 1.0f; - - /** Offset factor - what will be subtracted from the image to adjust for noise level. */ - protected double offsetFactor; - - /** The audio data. */ - protected AudioData audio; - - - /** The frontEnd (the source of features */ - protected FrontEnd frontEnd; - - /** The source of audio (the first stage of the frontend) */ - protected StreamDataSource dataSource; - - - /** Creates a new JPanel with a double buffer and a flow layout. */ - public CepstrumPanel() { - } - - - /** - * Creates a new SpectrogramPanel for the given AudioData. - * - * @param frontEnd the front end to use - * @param dataSource the source of audio - * @param audioData the AudioData - */ - public CepstrumPanel(FrontEnd frontEnd, - StreamDataSource dataSource, AudioData audioData) { - audio = audioData; - this.frontEnd = frontEnd; - this.dataSource = dataSource; - audio.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent event) { - computeCepstrum(); - } - }); - } - - static final int HSCALE = 10; - - /** Actually creates the Spectrogram image. */ - protected void computeCepstrum() { - try { - AudioDataInputStream is = new AudioDataInputStream(audio); - dataSource.setInputStream(is); - - /* Run through all the spectra one at a time and convert - * them to an log intensity value. - */ - ArrayList intensitiesList = new ArrayList(); - float maxIntensity[] = new float[100]; - Arrays.fill(maxIntensity, Float.MIN_VALUE); - Data spectrum = frontEnd.getData(); - - while (!(spectrum instanceof DataEndSignal)) { - if (spectrum instanceof FloatData) { - float[] spectrumData = ((FloatData) spectrum).getValues(); - float[] intensities = new float[spectrumData.length]; - for (int i = 0; i < intensities.length; i++) { - intensities[i] = spectrumData[i]; - if (Math.abs(intensities[i]) > maxIntensity[i]) { - maxIntensity[i] = Math.abs(intensities[i]); - } - } - intensitiesList.add(intensities); - } - if (spectrum instanceof DoubleData) { - double[] spectrumData = ((DoubleData) spectrum).getValues(); - float[] intensities = new float[spectrumData.length]; - for (int i = 0; i < intensities.length; i++) { - intensities[i] = (float)spectrumData[i]; - if (Math.abs(intensities[i]) > maxIntensity[i]) { - maxIntensity[i] = Math.abs(intensities[i]); - } - } - intensitiesList.add(intensities); - } - spectrum = frontEnd.getData(); - } - is.close(); - - int width = intensitiesList.size(); - int ncep = intensitiesList.get(0).length; - int height = ncep * HSCALE; - Dimension d = new Dimension(width, height); - - setMinimumSize(d); - setMaximumSize(d); - setPreferredSize(d); - - /* Create the image for displaying the data. - */ - spectrogram = new BufferedImage(width, - height, - BufferedImage.TYPE_INT_RGB); - - for (int i = 0; i < width; i++) { - float[] intensities = intensitiesList.get(i); - for (int j = ncep - 1; j >= 0; j--) { - - /* Adjust the grey value to make a value of 0 to mean - * white and a value of 0xff to mean black. - */ - int grey = 0x7f - (int) (intensities[j] / maxIntensity[j] * 0x7f); - - /* Turn the grey into a pixel value. - */ - int pixel = ((grey << 16) & 0xff0000) - | ((grey << 8) & 0xff00) - | (grey & 0xff); - - for (int k = 0; k < HSCALE; k++) - spectrogram.setRGB(i, height - 1 - j * HSCALE - k, pixel); - } - } - ImageFilter scaleFilter = - new ReplicateScaleFilter((int) (zoom * width), height); - scaledSpectrogram = - createImage(new FilteredImageSource(spectrogram.getSource(), - scaleFilter)); - Dimension sz = getSize(); - repaint(0, 0, 0, sz.width - 1, sz.height - 1); - } catch (Exception e) { - e.printStackTrace(); - } - } - - - /** - * Updates the offset factor used to calculate the greyscale values from the intensities. This also calculates and - * populates all the greyscale values in the image. - * - * @param offsetFactor the offset factor used to calculate the greyscale values from the intensities; this is used - * to adjust the level of background noise that shows up in the image - */ - public void setOffsetFactor(double offsetFactor) { - this.offsetFactor = offsetFactor; - computeCepstrum(); - } - - - /** Zoom the image, preparing for new display. - * @param zoom to set - **/ - protected void zoomSet(float zoom) { - this.zoom = zoom; - if (spectrogram != null) { - int width = spectrogram.getWidth(); - int height = spectrogram.getHeight(); - - ImageFilter scaleFilter = - new ReplicateScaleFilter((int) (zoom * width), height); - scaledSpectrogram = - createImage(new FilteredImageSource(spectrogram.getSource(), - scaleFilter)); - Dimension d = new Dimension((int) (width * zoom), height); - setMinimumSize(d); - setMaximumSize(d); - setPreferredSize(d); - repaint(); - } - } - - - /** - * Paint the component. This will be called by AWT/Swing. - * - * @param g The Graphics to draw on. - */ - @Override - public void paint(Graphics g) { - /** - * Fill in the whole image with white. - */ - Dimension sz = getSize(); - - g.setColor(Color.WHITE); - g.fillRect(0, 0, sz.width - 1, sz.height - 1); - - if (spectrogram != null) { - - g.drawImage(scaledSpectrogram, 0, 0, null); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Downsampler.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Downsampler.java deleted file mode 100755 index 89cecede..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Downsampler.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import java.util.Arrays; - -/** Downsamples an audio clip. */ -public class Downsampler { - - /** - * Downsamples the given audio clip from the given input sample rate to the given output sample rate. - * - * @param inSamples the clip to down sample - one sample per element - * @param srIn the sample rate of the given clip - * @param srOut the sample to downsample to - * @return an array of downsampled samples - */ - public static short[] downsample(short[] inSamples, - int srIn, - int srOut) { - - /* [[[WDW - this was very back of the napkin for me. The main - * idea was to break a series of input samples into chunks - * and have each sample in the chunk contribute to the average - * value. It's brute force, but I didn't have time to think - * of anything less or more grand.]]] - */ - short[] temp = new short[inSamples.length]; - int inSampleIndex = -1; - int outSampleIndex = 0; - int k = srOut; - boolean done = false; - while (!done) { - int sum = 0; - for (int i = 0; i < srIn; i++) { - if (k == srOut) { - inSampleIndex++; - if (inSampleIndex >= inSamples.length) { - done = true; - break; - } - k = 0; - } - sum += inSamples[inSampleIndex]; - k++; - } - temp[outSampleIndex++] = (short) (sum / srIn); - } - return Arrays.copyOf(temp, outSampleIndex); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/FilenameDialog.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/FilenameDialog.java deleted file mode 100755 index da0f4284..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/FilenameDialog.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; - -/** Creates a dialog that prompts for a filename. */ -@SuppressWarnings("serial") -public class FilenameDialog extends JDialog { - - String action; - JTextField filename; - - - /** - * Class constructor. - * - * @param parent the parent of this dialog - * @param modal if true, this dialog box is modal - * @param title the title for the login box - */ - public FilenameDialog(Frame parent, - boolean modal, - String title) { - super(parent, modal); - setTitle(title); - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent event) { - setVisible(false); - } - }); - createFilenamePanel(); - pack(); - } - - - /** Creates the filename panel. */ - void createFilenamePanel() { - Container contentPane = getContentPane(); - GridBagLayout gridBag = new GridBagLayout(); - GridBagConstraints constraints; - Insets insets; - - contentPane.setLayout(gridBag); - filename = new JTextField(12); - JLabel filenameLabel = new JLabel("Filename:"); - filenameLabel.setLabelFor(filename); - - insets = new Insets(12, 12, 0, 0); // top, left, bottom, right - constraints = new GridBagConstraints( - 0, 0, 1, 1, // x, y, width, height - 0.0, 0.0, // weightx, weighty - GridBagConstraints.WEST, // anchor - GridBagConstraints.NONE, // fill - insets, // insets - 0, 0); // ipadx, ipady - gridBag.setConstraints(filenameLabel, constraints); - contentPane.add(filenameLabel); - - insets = new Insets(12, 7, 0, 12); // top, left, bottom, right - constraints = new GridBagConstraints( - 1, 0, 1, 1, // x, y, width, height - 1.0, 1.0, // weightx, weighty - GridBagConstraints.WEST, // anchor - GridBagConstraints.HORIZONTAL, // fill - insets, // insets - 0, 0); // ipadx, ipady - gridBag.setConstraints(filename, constraints); - contentPane.add(filename); - - /* BUTTON PANEL - */ - JButton okButton = new JButton("Save"); - okButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent event) { - setVisible(false); - } - }); - - insets = new Insets(0, 12, 12, 12); // top, left, bottom, right - constraints = new GridBagConstraints( - 0, 2, 2, 1, // x, y, width, height - 1.0, 1.0, // weightx, weighty - GridBagConstraints.EAST, // anchor - GridBagConstraints.NONE, // fill - insets, // insets - 0, 0); // ipadx, ipady - gridBag.setConstraints(okButton, constraints); - contentPane.add(okButton); - - getRootPane().setDefaultButton(okButton); - } - - - /** - * Gets the user ID. - * - * @return the user ID - */ - public String getFilename() { - return filename.getText(); - } - - - public static void main(String args[]) { - JFrame frame = new JFrame(); - frame.setTitle("Debug"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.pack(); - frame.setVisible(false); - - FilenameDialog dialog = new FilenameDialog(frame, true, "Save as..."); - - System.out.println("Showing dialog..."); - dialog.setVisible(true); - - String filename = dialog.getFilename(); - System.out.println("Filename: " + filename - + " (length = " + filename.length() + ')'); - System.exit(0); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawReader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawReader.java deleted file mode 100755 index 501e1981..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawReader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; - -/** - * Reads a raw audio file (i.e., a file that is just plain raw samples and nothing else) and converts it to signed - * data. - */ -public class RawReader { - - /** - * Reads raw bytes from the given audioStream and returns samples based on the audioFormat. - * - * @param audioStream the stream containing the raw bytes - * @param audioFormat a hint of what to expect from the stream - * @return samples, one sample per array element - * @throws IOException if IO went wrong - */ - public static short[] readAudioData(InputStream audioStream, - AudioFormat audioFormat) - throws IOException { - - /* Initialize ourselves based on the input data format. - */ - int bytesPerSample; - boolean signedData = true; - boolean bigEndian; - AudioFormat.Encoding encoding = audioFormat.getEncoding(); - bytesPerSample = audioFormat.getSampleSizeInBits() / 8; - if (encoding == AudioFormat.Encoding.PCM_SIGNED) { - signedData = true; - } else if (encoding == AudioFormat.Encoding.PCM_UNSIGNED) { - signedData = false; - } else { - System.err.println("Unsupported audio encoding: " + encoding); - System.exit(-1); - } - bigEndian = audioFormat.isBigEndian(); - - /* Now read in the data, saving the samples in an array list. - * Along the way, convert each sample to little endian signed - * data. - */ - byte[] buffer = new byte[bytesPerSample]; - ArrayList samples = new ArrayList(); - int read = 0; - int totalRead = 0; - boolean done = false; - while (!done) { - totalRead = read = audioStream.read(buffer, 0, bytesPerSample); - while (totalRead < bytesPerSample) { - if (read == -1) { - done = true; - break; - } else { - read = audioStream.read(buffer, - totalRead, - bytesPerSample - totalRead); - totalRead += read; - } - } - if (!done) { - int val = 0; - if (bigEndian) { - val = buffer[0]; - if (!signedData) { - val &= 0xff; - } - for (int i = 1; i < bytesPerSample; i++) { - int temp = buffer[i] & 0xff; - val = (val << 8) + temp; - } - } else { - val = buffer[bytesPerSample - 1]; - if (!signedData) { - val &= 0xff; - } - for (int i = bytesPerSample - 2; i >= 0; i--) { - int temp = buffer[i] & 0xff; - val = (val << 8) + temp; - } - } - - /* We'll always give signed data. So, if the input - * is unsigned, convert it to signed. - */ - if (!signedData) { - val = val - (1 << ((bytesPerSample * 8) - 1)); - } - samples.add((short) val); - } - } - - /* Convert the array list to an array of shorts and return. - */ - short[] audioData = new short[samples.size()]; - for (int i = 0; i < audioData.length; i++) { - audioData[i] = samples.get(i); - } - return audioData; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawRecorder.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawRecorder.java deleted file mode 100755 index 541cef51..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawRecorder.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.*; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -/** Grabs audio from the microphone and returns an array of samples. */ -public class RawRecorder { - - final Object lock = new Object(); - RecordThread recorder; - AudioFormat inFormat; - final AudioFormat outFormat; - TargetDataLine microphone; - boolean downsample; - - - /** - * Create a new RawRecorder. - * - * @param audioFormat the desired output - * @throws LineUnavailableException if the audioFormat is not supported - */ - public RawRecorder(AudioFormat audioFormat) - throws LineUnavailableException { - - inFormat = audioFormat; - outFormat = audioFormat; - - /* Some machines, such as my Mac OS X PowerBook, don't support - * a wide range of input formats. So...we may need to read - * data in using a different format and then resample to the - * desired format. Here, I'm just going to go for 44.1kHz - * 16-bit signed little endian data if the given audio format - * is not supported. - */ - DataLine.Info info = new DataLine.Info(TargetDataLine.class, - inFormat); - - if (!AudioSystem.isLineSupported(info)) { - downsample = true; - inFormat = new AudioFormat(44100.0f, // sample rate - 16, // sample size - 1, // channels (1 == mono) - true, // signed - false); // little endian - info = new DataLine.Info(TargetDataLine.class, - inFormat); - if (!AudioSystem.isLineSupported(info)) { - throw new LineUnavailableException( - "Unsupported format: " + audioFormat); - } - } - - microphone = (TargetDataLine) AudioSystem.getLine(info); - microphone.open(audioFormat, microphone.getBufferSize()); - } - - - /** - * Start recording. The stop method will give us the clip. - * - * @see #stop - */ - public void start() { - synchronized (lock) { - if (recorder != null) { - recorder.stopRecording(); - } - recorder = new RecordThread(); - recorder.start(); - } - } - - - /** - * Stop recording and give us the clip. - * - * @return the clip that was recorded since the last time start was called - * @see #start - */ - public short[] stop() { - synchronized (lock) { - if (recorder == null) { - return new short[0]; - } - ByteArrayOutputStream out = recorder.stopRecording(); - microphone.close(); - recorder = null; - byte audioBytes[] = out.toByteArray(); - ByteArrayInputStream in = new ByteArrayInputStream(audioBytes); - try { - short[] samples = RawReader.readAudioData(in, inFormat); - if (downsample) { - samples = Downsampler.downsample( - samples, - (int) (inFormat.getSampleRate() / 1000.0f), - (int) (outFormat.getSampleRate() / 1000.0f)); - } - return samples; - } catch (IOException e) { - e.printStackTrace(); - return new short[0]; - } - } - } - - - class RecordThread extends Thread { - - boolean done; - final Object lock = new Object(); - ByteArrayOutputStream out; - - - public ByteArrayOutputStream stopRecording() { - try { - synchronized (lock) { - done = true; - lock.wait(); - } - } catch (InterruptedException e) { - } - return out; - } - - - @Override - public void run() { - byte[] data = new byte[microphone.getBufferSize()]; - out = new ByteArrayOutputStream(); - - try { - microphone.flush(); - microphone.start(); - while (!done) { - int numBytesRead = microphone.read(data, 0, data.length); - if (numBytesRead != -1) { - out.write(data, 0, numBytesRead); - } else { - break; - } - } - microphone.stop(); - out.flush(); - } catch (IOException e) { - e.printStackTrace(); - } - synchronized (lock) { - lock.notify(); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawWriter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawWriter.java deleted file mode 100755 index 65701218..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/RawWriter.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import java.io.IOException; -import java.io.OutputStream; - - -/** Writes raw audio to a file, handling sample size, endian format, and signed/unsigned data. */ -public class RawWriter { - - private final OutputStream outputStream; - private final int bytesPerSample; - private boolean signedData; - - - public RawWriter(OutputStream outputStream, - AudioFormat audioFormat) { - AudioFormat.Encoding encoding = audioFormat.getEncoding(); - this.outputStream = outputStream; - this.bytesPerSample = audioFormat.getSampleSizeInBits() / 8; - if (encoding == AudioFormat.Encoding.PCM_SIGNED) { - this.signedData = true; - } else if (encoding == AudioFormat.Encoding.PCM_UNSIGNED) { - this.signedData = false; - } else { - System.err.println("Unsupported audio encoding: " + encoding); - System.exit(-1); - } - } - - - /** - * Writes the sample to the output stream. - * - * @param sample sampel value - * @throws java.io.IOException if IO went wrong - */ - public void writeSample(int sample) throws IOException { - /* First byte contains the byte that carries the sign. - */ - if (signedData) { - outputStream.write(sample >> ((bytesPerSample - 1) * 8)); - } else { - outputStream.write((sample >> ((bytesPerSample - 1) * 8)) & 0xff); - } - - /* Now just output the rest of the data in little endian form. - */ - for (int i = bytesPerSample - 2; i >= 0; i--) { - outputStream.write((sample >> (i * 8)) & 0xff); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Sinusoid.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Sinusoid.java deleted file mode 100755 index 3891ab24..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Sinusoid.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - - -/** A 16bit, linear SIGNED_PCM, little endian, sinusoid with a sample rate of 8kHz. */ -public class Sinusoid extends AudioData { - - /** - * Creates a 16bit, linear SIGNED_PCM, little endian, sinusoid with a sample rate of 8kHz. - * - * @param frequency cycles per second - * @param phase phase offset in radians - * @param amplitude amplitude - * @param duration duration in seconds - */ - public Sinusoid(double frequency, - double phase, - double amplitude, - double duration) { - this.shorts = new short[(int) (8000 * duration)]; - double radiansPerSample = (frequency * 2.0 * Math.PI) / 8000.0; - for (int i = 0; i < shorts.length; i++) { - shorts[i] = (short) ( - amplitude * Math.cos((radiansPerSample * i) + phase)); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/SpectrogramPanel.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/SpectrogramPanel.java deleted file mode 100755 index 6f0248d3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/SpectrogramPanel.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataEndSignal; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FrontEnd; -import edu.cmu.sphinx.frontend.util.StreamDataSource; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.awt.image.FilteredImageSource; -import java.awt.image.ImageFilter; -import java.awt.image.ReplicateScaleFilter; -import java.util.ArrayList; - -/** Converts a set of log magnitude Spectrum data into a graphical representation. */ -@SuppressWarnings("serial") -public class SpectrogramPanel extends JPanel { - - /** Where the spectrogram will live. */ - protected BufferedImage spectrogram; - - /** A scaled version of the spectrogram image. */ - protected Image scaledSpectrogram; - - /** The zooming factor. */ - protected float zoom = 1.0f; - - /** Offset factor - what will be subtracted from the image to adjust for noise level. */ - protected double offsetFactor; - - /** The audio data. */ - protected AudioData audio; - - - /** The frontEnd (the source of features */ - protected FrontEnd frontEnd; - - /** The source of audio (the first stage of the frontend) */ - protected StreamDataSource dataSource; - - - /** Creates a new JPanel with a double buffer and a flow layout. */ - public SpectrogramPanel() { - } - - - /** - * Creates a new SpectrogramPanel for the given AudioData. - * - * @param frontEnd the front end to use - * @param dataSource the source of audio - * @param audioData the AudioData - */ - public SpectrogramPanel(FrontEnd frontEnd, - StreamDataSource dataSource, AudioData audioData) { - audio = audioData; - this.frontEnd = frontEnd; - this.dataSource = dataSource; - audio.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent event) { - computeSpectrogram(); - } - }); - } - - - /** Actually creates the Spectrogram image. */ - protected void computeSpectrogram() { - try { - AudioDataInputStream is = new AudioDataInputStream(audio); - dataSource.setInputStream(is); - - /* Run through all the spectra one at a time and convert - * them to an log intensity value. - */ - ArrayList intensitiesList = new ArrayList(); - double maxIntensity = Double.MIN_VALUE; - Data spectrum = frontEnd.getData(); - - while (!(spectrum instanceof DataEndSignal)) { - if (spectrum instanceof DoubleData) { - double[] spectrumData = ((DoubleData) spectrum).getValues(); - double[] intensities = new double[spectrumData.length]; - for (int i = 0; i < intensities.length; i++) { - /* - * A very small intensity is, for all intents - * and purposes, the same as 0. - */ - intensities[i] = Math.max(Math.log(spectrumData[i]), - 0.0); - if (intensities[i] > maxIntensity) { - maxIntensity = intensities[i]; - } - } - intensitiesList.add(intensities); - } - spectrum = frontEnd.getData(); - } - is.close(); - - int width = intensitiesList.size(); - int height = (intensitiesList.get(0)).length; - int maxYIndex = height - 1; - Dimension d = new Dimension(width, height); - - setMinimumSize(d); - setMaximumSize(d); - setPreferredSize(d); - - /* Create the image for displaying the data. - */ - spectrogram = new BufferedImage(width, - height, - BufferedImage.TYPE_INT_RGB); - - /* Set scaleFactor so that the maximum value, after removing - * the offset, will be 0xff. - */ - double scaleFactor = ((0xff + offsetFactor) / maxIntensity); - - for (int i = 0; i < width; i++) { - double[] intensities = intensitiesList.get(i); - for (int j = maxYIndex; j >= 0; j--) { - - /* Adjust the grey value to make a value of 0 to mean - * white and a value of 0xff to mean black. - */ - int grey = (int) (intensities[j] * scaleFactor - - offsetFactor); - grey = Math.max(grey, 0); - grey = 0xff - grey; - - /* Turn the grey into a pixel value. - */ - int pixel = ((grey << 16) & 0xff0000) - | ((grey << 8) & 0xff00) - | (grey & 0xff); - - spectrogram.setRGB(i, maxYIndex - j, pixel); - } - } - ImageFilter scaleFilter = - new ReplicateScaleFilter((int) (zoom * width), height); - scaledSpectrogram = - createImage(new FilteredImageSource(spectrogram.getSource(), - scaleFilter)); - Dimension sz = getSize(); - repaint(0, 0, 0, sz.width - 1, sz.height - 1); - } catch (Exception e) { - e.printStackTrace(); - } - } - - - /** - * Updates the offset factor used to calculate the greyscale values from the intensities. This also calculates and - * populates all the greyscale values in the image. - * - * @param offsetFactor the offset factor used to calculate the greyscale values from the intensities; this is used - * to adjust the level of background noise that shows up in the image - */ - public void setOffsetFactor(double offsetFactor) { - this.offsetFactor = offsetFactor; - computeSpectrogram(); - } - - - /** Zoom the image, preparing for new display. - * @param zoom a zoom to set - **/ - protected void zoomSet(float zoom) { - this.zoom = zoom; - if (spectrogram != null) { - int width = spectrogram.getWidth(); - int height = spectrogram.getHeight(); - - ImageFilter scaleFilter = - new ReplicateScaleFilter((int) (zoom * width), height); - scaledSpectrogram = - createImage(new FilteredImageSource(spectrogram.getSource(), - scaleFilter)); - Dimension d = new Dimension((int) (width * zoom), height); - setMinimumSize(d); - setMaximumSize(d); - setPreferredSize(d); - repaint(); - } - } - - - /** - * Paint the component. This will be called by AWT/Swing. - * - * @param g The Graphics to draw on. - */ - @Override - public void paint(Graphics g) { - /** - * Fill in the whole image with white. - */ - Dimension sz = getSize(); - - g.setColor(Color.WHITE); - g.fillRect(0, 0, sz.width - 1, sz.height - 1); - - if (spectrogram != null) { - - g.drawImage(scaledSpectrogram, 0, 0, null); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Utils.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Utils.java deleted file mode 100755 index 10548c7b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/audio/Utils.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2002-2004 Sun Microsystems, Inc. - * Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.audio; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioFormat.Encoding; -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.UnsupportedAudioFileException; -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -public class Utils { - - /** Index = ulaw value, entry = signed 16 bit value. */ - static final private short[] ulawTable = { - 32760, 31608, 30584, 29560, 28536, 27512, 26488, 25464, 24440, - 23416, 22392, 21368, 20344, 19320, 18296, 17272, 16248, 15736, - 15224, 14712, 14200, 13688, 13176, 12664, 12152, 11640, 11128, - 10616, 10104, 9592, 9080, 8568, 8056, 7800, 7544, 7288, 7032, - 6776, 6520, 6264, 6008, 5752, 5496, 5240, 4984, 4728, 4472, - 4216, 3960, 3832, 3704, 3576, 3448, 3320, 3192, 3064, 2936, - 2808, 2680, 2552, 2424, 2296, 2168, 2040, 1912, 1848, 1784, - 1720, 1656, 1592, 1528, 1464, 1400, 1336, 1272, 1208, 1144, - 1080, 1016, 952, 888, 856, 824, 792, 760, 728, 696, 664, 632, - 600, 568, 536, 504, 472, 440, 408, 376, 360, 344, 328, 312, - 296, 280, 264, 248, 232, 216, 200, 184, 168, 152, 136, 120, - 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0, - -32760, -31608, -30584, -29560, -28536, -27512, -26488, -25464, - -24440, -23416, -22392, -21368, -20344, -19320, -18296, -17272, - -16248, -15736, -15224, -14712, -14200, -13688, -13176, -12664, - -12152, -11640, -11128, -10616, -10104, -9592, -9080, -8568, - -8056, -7800, -7544, -7288, -7032, -6776, -6520, -6264, -6008, - -5752, -5496, -5240, -4984, -4728, -4472, -4216, -3960, -3832, - -3704, -3576, -3448, -3320, -3192, -3064, -2936, -2808, -2680, - -2552, -2424, -2296, -2168, -2040, -1912, -1848, -1784, -1720, - -1656, -1592, -1528, -1464, -1400, -1336, -1272, -1208, -1144, - -1080, -1016, -952, -888, -856, -824, -792, -760, -728, -696, - -664, -632, -600, -568, -536, -504, -472, -440, -408, -376, - -360, -344, -328, -312, -296, -280, -264, -248, -232, -216, - -200, -184, -168, -152, -136, -120, -112, -104, -96, -88, -80, - -72, -64, -56, -48, -40, -32, -24, -16, -8, 0}; - - - /** Uninstantiable class. */ - private Utils() { - } - - - /** Converts a byte array to a signed short value. - * @param bytes array to convert - * @param bigEndian is big endian - * @return converted value - */ - static public short toShort(byte[] bytes, boolean bigEndian) { - if (bytes.length == 1) { - return bytes[0]; - } else if (bigEndian) { - return (short) ((bytes[0] << 8) | (0xff & bytes[1])); - } else { - return (short) ((bytes[1] << 8) | (0xff & bytes[0])); - } - } - - - /** Converts a byte array into an unsigned short. - * @param bytes array to convert - * @param bigEndian is big endian - * @return converted value - */ - static public int toUnsignedShort(byte[] bytes, boolean bigEndian) { - if (bytes.length == 1) { - return 0xff & bytes[0]; - } else if (bigEndian) { - return ((bytes[0] & 0xff) << 8) | (0xff & bytes[1]); - } else { - return ((bytes[1] & 0xff) << 8) | (0xff & bytes[0]); - } - } - - - /** Converts a short into a byte array. - * @param sVal source value - * @param bytes array to convert - * @param bigEndian is big endian - */ - public static void toBytes(short sVal, byte[] bytes, boolean bigEndian) { - if (bigEndian) { - bytes[0] = (byte) (sVal >> 8); - bytes[1] = (byte) (sVal & 0xff); - } else { - bytes[0] = (byte) (sVal & 0xff); - bytes[1] = (byte) (sVal >> 8); - } - } - - - /** - * Convert the bytes starting at the given offset to a signed short based upon the AudioFormat. If the frame size - * is 1, then the value is doubled to make it match a frame size of 2. - * - * @param format the audio format - * @param byteArray the byte array - * @return a short - */ - public static short bytesToShort(AudioFormat format, - byte[] byteArray) { - short result = 0; - Encoding encoding = format.getEncoding(); - int frameSize = format.getFrameSize(); - - if (encoding == Encoding.PCM_SIGNED) { - result = toShort(byteArray, format.isBigEndian()); - if (frameSize == 1) { - result = (short) (result << 8); - } - } else if (encoding == Encoding.PCM_UNSIGNED) { - int tmp = toUnsignedShort(byteArray, format.isBigEndian()); - if (frameSize == 1) { - tmp = tmp << 8; - } - result = (short) (tmp - (2 << 14)); - } else if (encoding == Encoding.ULAW) { - result = ulawTable[byteArray[0] + 128]; - } else { - System.out.println("Unknown encoding: " + encoding); - } - return result; - } - - - /** - * Turns the AudioInputStream into a 16bit, SIGNED_PCM, little endian audio stream that preserves the original sample - * rate of the AudioInputStream. NOTE: this assumes the frame size can be only 1 or 2 bytes. The AudioInputStream - * is left in a state of having all of its data being read. - * @param ais stream to convert - * @return result array - * @throws IOException if error occurred - */ - static public short[] toSignedPCM(AudioInputStream ais) - throws IOException { - AudioFormat aisFormat = ais.getFormat(); - - short[] shorts = new short[ais.available() / aisFormat.getFrameSize()]; - byte[] frame = new byte[aisFormat.getFrameSize()]; - - int pos = 0; - while (ais.read(frame) != -1) { - shorts[pos++] = bytesToShort(aisFormat, frame); - } - - return shorts; - } - - - /** - * Attempts to read an audio file using the Java Sound APIs. If this file isn't a typical audio file, then this - * returns a null. Otherwise, it converts the data into a 8kHz 16-bit signed PCM little endian clip. - * - * @param filename the file containing audio data - * @return the audio data or null if the audio cannot be parsed - * @throws IOException if error occured - */ - static public AudioData readAudioFile(String filename) throws IOException { - try { - BufferedInputStream stream = new BufferedInputStream( - new FileInputStream(filename)); - AudioInputStream ais = AudioSystem.getAudioInputStream(stream); - AudioData audioData = new AudioData(ais); - stream.close(); - return audioData; - } catch (UnsupportedAudioFileException e) { - return null; - } - } - - - /** - * Reads the given stream in as 8kHz 16-bit signed PCM little endian audio data and returns an audio clip. - * - * @param filename the file containing audio data - * @return the audio data or null if the audio cannot be parsed - * @throws IOException if exception occurred - */ - static public AudioData readRawFile(String filename) - throws IOException { - FileInputStream stream = new FileInputStream(filename); - AudioFormat format = new AudioFormat(8000.0f, // sample rate - 16, // sample size - 1, // channels (1 == mono) - true, // signed - false); // little endian - short[] audioData = RawReader.readAudioData(stream, format); - stream.close(); - return new AudioData(audioData, 8000.0f); - } - - - /** Writes the given 8kHz 16-bit signed PCM audio clip to the given file as raw little endian data. - * @param audio data - * @param filename filename to write to - * @throws IOException if IO went wrong - */ - static public void writeRawFile(AudioData audio, String filename) - throws IOException { - - FileOutputStream outputStream = new FileOutputStream(filename); - AudioFormat format = new AudioFormat( - 8000.0f, // sample rate - 16, // sample size - 1, // channels (1 == mono) - true, // signed - false); // little endian - RawWriter writer = new RawWriter(outputStream, format); - short[] samples = audio.getAudioData(); - for (short sample : samples) { - writer.writeSample(sample); - } - outputStream.flush(); - outputStream.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/bandwidth/BandDetector.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/bandwidth/BandDetector.java deleted file mode 100755 index 347a1393..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/bandwidth/BandDetector.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.tools.bandwidth; - -import java.io.File; -import java.io.FileNotFoundException; -import java.util.ArrayList; -import java.util.Scanner; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank; -import edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform; -import edu.cmu.sphinx.frontend.util.AudioFileDataSource; -import edu.cmu.sphinx.frontend.window.RaisedCosineWindower; - -/** - * A simple energy-based detector for upsampled audio. Could be used to detect - * bandwidth issues leading to the accuracy issues. - * - * The detector simply looks for energies in different mel bands and using the - * threshold it decides if we have cut of the frequencies signal. On every frame - * we find the maximum energy band, then we just control that energy doesn't - * fall too fast in upper bands. - * - * A paper on the subject is "DETECTING BANDLIMITED AUDIO IN BROADCAST TELEVISION SHOWS" - * by by Mark C. Fuhs, Qin Jin and Tanja Schultz where spline approximation is proposed - * for detection. However, the paper seems to contain a fundamental flaw. The - * decision is made on average spectrum, not per-frame. This probably leads - * to omission of the events in high frequency which might signal about wide band. - */ -public class BandDetector { - - static final int bands = 40; - - // From 4750 to 6800 Hz - static final int highRangeStart = 35; - static final int highRangeEnd = 39; - - // From 2156 to 3687 Hz - static final int lowRangeStart = 23; - static final int lowRangeEnd = 29; - - // Thresholds, selected during the experiments, about -30dB - static final double noSignalLevel = 0.02; - static final double signalLevel = 0.5; - - // Don't care if intensity is very low - static final double lowIntensity = 1e+5; - - private FrontEnd frontend; - private AudioFileDataSource source; - - public BandDetector() { - - // standard frontend - source = new AudioFileDataSource(320, null); - RaisedCosineWindower windower = new RaisedCosineWindower(0.97f, - 25.625f, 10.0f); - DiscreteFourierTransform fft = new DiscreteFourierTransform(512, false); - MelFrequencyFilterBank filterbank = new MelFrequencyFilterBank(130.0, - 6800.0, bands); - - ArrayList list = new ArrayList(); - list.add(source); - list.add(windower); - list.add(fft); - list.add(filterbank); - - frontend = new FrontEnd(list); - } - - public static void main(String args[]) throws FileNotFoundException { - - if (args.length < 1) { - System.out - .println("Usage: Detector or Detector "); - return; - } - - if (args[0].endsWith(".wav")) { - BandDetector detector = new BandDetector(); - System.out.println("Bandwidth for " + args[0] + " is " - + detector.bandwidth(args[0])); - } else { - BandDetector detector = new BandDetector(); - Scanner s = new Scanner(new File(args[0])); - while (s.hasNextLine()) { - String line = s.nextLine().trim(); - if (detector.bandwidth(line)) - System.out.println("Bandwidth for " + line + " is low"); - } - s.close(); - } - return; - } - - public boolean bandwidth(String file) { - - source.setAudioFile(new File(file), ""); - - Data data; - double energy[] = new double[bands]; - - while ((data = frontend.getData()) != null) { - if (data instanceof DoubleData) { - - double maxIntensity = lowIntensity; - double[] frame = ((DoubleData) data).getValues(); - - for (int i = 0; i < bands; i++) - maxIntensity = Math.max(maxIntensity, frame[i]); - - if (maxIntensity <= lowIntensity) { - continue; - } - - for (int i = 0; i < bands; i++) { - energy[i] = Math.max(frame[i] / maxIntensity, energy[i]); - } - } - } - - double maxLow = max(energy, lowRangeStart, lowRangeEnd); - double maxHi = max(energy, highRangeStart, highRangeEnd); - - // System.out.format("%f %f\n", maxHi, maxLow); - // for (int i = 0; i < bands; i++) - // System.out.format("%.4f ", energy[i]); - // System.out.println(); - - if (maxHi < noSignalLevel && maxLow > signalLevel) - return true; - - return false; - } - - private double max(double[] energy, int start, int end) { - double max = 0; - for (int i = start; i <= end; i++) - max = Math.max(max, energy[i]); - return max; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchDecoderRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchDecoderRecognizer.java deleted file mode 100755 index f96b1bc7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchDecoderRecognizer.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.batch; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Scanner; - -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.ConfigurationManager; - -/** - * Batch decoder recognizer which can be used inside Sphinxtrain - * to build lattices and generate decoding results. - */ -public class BatchDecoderRecognizer { - - int ctlOffset = -1; - int ctlCount = 1000000; - String config; - String hmm; - String ctl; - String hyp; - String featDir; - - ConfigurationManager manager; - StreamDataSource source; - Recognizer recognizer; - PrintWriter writer; - - void parseArgs(String[] argv) { - for (int i = 0; i < argv.length; i++) { - if (argv[i].equals("-ctl")) { - ctl = argv[++i]; - } - if (argv[i].equals("-config")) { - config = argv[++i]; - } - if (argv[i].equals("-hmm")) { - hmm = argv[++i]; - } - if (argv[i].equals("-ctloffset")) { - ctlOffset = Integer.parseInt(argv[++i]); - } - if (argv[i].equals("-ctlcount")) { - ctlCount = Integer.parseInt(argv[++i]); - } - if (argv[i].equals("-hyp")) { - hyp = argv[++i]; - } - if (argv[i].equals("-feat")) { - featDir = argv[++i]; - } - } - } - - void recognize() throws IOException { - - init(); - writer = new PrintWriter (new File(hyp), "UTF-8"); - Scanner scanner = new Scanner(new File(ctl)); - - for (int i = 0; i < ctlOffset; i++) { - if (scanner.hasNext()) - scanner.next(); - } - - for (int i = 0; i < ctlCount; i++) { - if (scanner.hasNext()) { - String utteranceId = scanner.next(); - String inputFile = featDir + "/" + utteranceId + ".wav"; - processFile(utteranceId, inputFile); - } - } - writer.close(); - scanner.close(); - recognizer.deallocate(); - } - - private void processFile(String utteranceId, String inputFile) throws IOException { - FileInputStream stream = new FileInputStream(inputFile); - source.setInputStream(stream); - Result result = recognizer.recognize(); - writer.println (result.getBestFinalResultNoFiller() + " (" + utteranceId + ")"); - } - - public static void main(String[] argv) throws IOException { - BatchDecoderRecognizer batchRecognizer = new BatchDecoderRecognizer(); - batchRecognizer.parseArgs(argv); - batchRecognizer.recognize(); - } - - private void init() throws IOException { - manager = new ConfigurationManager(config); - recognizer = (Recognizer)manager.lookup("recognizer"); - source = (StreamDataSource)manager.lookup("streamDataSource"); - - recognizer.allocate(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchForcedAlignerRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchForcedAlignerRecognizer.java deleted file mode 100755 index 316a12aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchForcedAlignerRecognizer.java +++ /dev/null @@ -1,117 +0,0 @@ -package edu.cmu.sphinx.tools.batch; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.DataProcessor; -import edu.cmu.sphinx.linguist.language.grammar.BatchForcedAlignerGrammar; -import edu.cmu.sphinx.linguist.language.grammar.ForcedAlignerGrammar; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.io.DataOutputStream; -import java.io.IOException; -import java.util.List; - -/** - * Copyright 1999-2002 Carnegie Mellon University. Portions Copyright 2002 Sun Microsystems, Inc. Portions Copyright - * 2002 Mitsubishi Electric Research Laboratories. All Rights Reserved. Use is subject to license terms. - *

- * See the file "license.terms" for information on usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - *

- * User: Peter Wolf Date: Jan 9, 2006 Time: 5:35:54 PM - *

- * Utility for generating word segmentation by forced alignment - *

- * Given a CTL file that specifies a series of audio and coresponding correct transcripts, this utility creates a - * trivial grammar from the transcript, and runs the recognizer on the utterance. The output is words with beginning - * and end times. - *

- * See BatchNISTRecognizer for more information about the format of CTL and audio files. - */ - -public class BatchForcedAlignerRecognizer extends BatchNISTRecognizer { - - String segFile; - ForcedAlignerGrammar forcedAlignerGrammar; - public BatchForcedAlignerGrammar bfaGrammar; - - - @Override - protected void setInputStream(CTLUtterance utt) throws IOException { - super.setInputStream(utt); - bfaGrammar.setUtterance(utt.getName()); - } - - - @Override - protected void handleResult(DataOutputStream out, CTLUtterance utt, Result result) throws IOException { - System.out.println(utt + " --> " + result); - Token token = result.getBestToken(); - dumpTokenTimes(token); - } - - - void dumpTokenTimes(Token token) { - if (token != null) { - dumpTokenTimes(token.getPredecessor()); - System.out.println(token.getWord() + " " + token.getCollectTime()); - } - } - - - public BatchForcedAlignerRecognizer( - BatchForcedAlignerGrammar bfaGrammar, - Recognizer recognizer, - List inputDataProcessors, - String ctlFile, - String dataDir, - String refFile, - String ctmFile, - int bitsPerSample, - int samplesPerSecond, - int framesPerSecond, - int channelCount - ) { - super(recognizer, - inputDataProcessors, - ctlFile, - dataDir, - refFile, - ctmFile, - bitsPerSample, - samplesPerSecond, - framesPerSecond, - channelCount); - - this.bfaGrammar = bfaGrammar; - } - - public BatchForcedAlignerRecognizer() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - bfaGrammar = (BatchForcedAlignerGrammar) ps.getComponent("forcedAlignerGrammar"); - } - - - public static void main(String[] argv) { - - if (argv.length != 1) { - System.out.println("Usage: BatchForcedAlignerRecognizer propertiesFile"); - System.exit(1); - } - - BatchNISTRecognizer.main(argv); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchModeRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchModeRecognizer.java deleted file mode 100755 index 811d14f8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchModeRecognizer.java +++ /dev/null @@ -1,675 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.tools.batch; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.DataProcessor; -import edu.cmu.sphinx.frontend.util.StreamCepstrumSource; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.frontend.util.StreamHTKCepstrum; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.recognizer.Recognizer.State; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.*; -import edu.cmu.sphinx.util.props.*; - -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.UnsupportedAudioFileException; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.List; -import java.util.logging.Logger; - -/** - * Decodes a batch file containing a list of files to decode. The files can be - * either audio files or cepstral files, but defaults to audio files. The audio - * data should be 16-bit, 16kHz, PCM-linear data. Since this classes makes use - * of Java Sound, it supports all the audio file formats that are supported by - * Java Sound. If the audio file does not correspond to a format supported by - * Java Sound, it is treated as a raw audio file (i.e., one without a header). - * Audio file formats differ in the endian order of the audio data. Therefore, - * it is important to specify it correctly in the configuration of the StreamDataSource. Note - * that in the ideal situation, the audio format of the data should be passed - * into the StreamDataSource, so that no extra configuration is needed. This - * will be fixed in future releases. - *

- * To run this BatchModeRecognizer: - * - *

- * java BatchModeRecognizer <xmlConfigFile> <batchFile>
- * 
- * - * where xmlConfigFile is an XML-based configuration file and - * batchFile is a file listing all the files to decode and - * transcript of those files. For information about the configuration file, - * refer to the document Sphinx-4 - * Configuration Management. For information about the batch file, refer to - * the batch file - * description. - *

- * This class will send recognition results to the logger if the log level is - * set to INFO. - */ -public class BatchModeRecognizer implements Configurable { - - /** - * The property or how many files to skip for every decode. - */ - @S4Integer(defaultValue = 0) - public final static String PROP_SKIP = "skip"; - - /** - * The property for how many utterances to process - */ - @S4Integer(defaultValue = 1000000) - public final static String PROP_COUNT = "count"; - - /** - * The property that specified which batch job is to be run. - */ - @S4Integer(defaultValue = 0) - public final static String PROP_WHICH_BATCH = "whichBatch"; - - /** - * The property for the total number of batch jobs the decoding run is being divided into. - *

- * The BatchDecoder supports running a subset of a batch. This allows a test to be distributed among several - * machines. - */ - @S4Integer(defaultValue = 1) - public final static String PROP_TOTAL_BATCHES = "totalBatches"; - - /** - * The property that defines whether or not the decoder should use the pooled batch manager - */ - @S4Boolean(defaultValue = false) - public final static String PROP_USE_POOLED_BATCH_MANAGER = "usePooledBatchManager"; - - /** - * The property that specifies the recognizer to use - */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** - * The property that specifies the input source - */ - @S4ComponentList(type = BaseDataProcessor.class) - public final static String PROP_INPUT_DATA_PROCESSORS = "inputDataProcessors"; - - - // ------------------------------- - // Configuration data - // -------------------------------- - protected String name; - protected List inputDataProcessors; - protected int skip; - protected int utteranceId; - protected int whichBatch; - protected int totalBatches; - protected boolean usePooledBatchManager; - protected BatchManager batchManager; - protected Recognizer recognizer; - protected Logger logger; - - protected BatchItem curBatchItem; - protected ConfigurationManager cm; - - public BatchModeRecognizer( - Recognizer recognizer, - List inputDataProcessors, - int skip, - int utteranceId, - int whichBatch, - int totalBatches, - boolean usePooledBatchManager - ) { - logger = Logger.getLogger(getClass().getName()); - cm = null; - - this.skip = skip; - this.utteranceId = utteranceId; - this.whichBatch = whichBatch; - this.totalBatches = totalBatches; - this.usePooledBatchManager = usePooledBatchManager; - - this.recognizer = recognizer; - this.inputDataProcessors = inputDataProcessors; - } - - public BatchModeRecognizer() { - - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - cm = ConfigurationManagerUtils.getPropertyManager(ps); - - skip = ps.getInt(PROP_SKIP); - utteranceId = ps.getInt(PROP_COUNT); - if (utteranceId <= 0) { - utteranceId = Integer.MAX_VALUE; - } - - whichBatch = ps.getInt(PROP_WHICH_BATCH); - totalBatches = ps.getInt(PROP_TOTAL_BATCHES); - usePooledBatchManager = ps.getBoolean(PROP_USE_POOLED_BATCH_MANAGER); - - recognizer = (Recognizer) ps.getComponent(PROP_RECOGNIZER); - inputDataProcessors = ps.getComponentList(PROP_INPUT_DATA_PROCESSORS, DataProcessor.class); - } - - /** - * Sets the batch file to use for this recognition - * - * @param batchFile the name of the batch file - * @throws IOException if the file could not be opened or read. - */ - public void setBatchFile(String batchFile) throws IOException { - if (usePooledBatchManager) { - batchManager = new PooledBatchManager(batchFile, skip); - } else { - batchManager = new SimpleBatchManager(batchFile, skip, whichBatch, - totalBatches); - } - } - - - /** - * Decodes the batch of audio files - * @param batchFile file with list of files to decode - * @throws IOException if IO went wrong - */ - public void decode(String batchFile) throws IOException { - BatchItem batchItem; - int count = 0; - try { - recognizer.allocate(); - setBatchFile(batchFile); - - batchManager.start(); - logger.info("BatchDecoder: decoding files in " - + batchManager.getFilename()); - - while (count < utteranceId && - (batchItem = batchManager.getNextItem()) != null) { - setInputStream(batchItem.getFilename()); - Result result = recognizer.recognize(batchItem.getTranscript()); - logger.info("File : " + batchItem.getFilename()); - logger.info("Result: " + result); - count++; - } - batchManager.stop(); - recognizer.deallocate(); - } catch (IOException io) { - logger.severe("I/O error during decoding: " + io.getMessage()); - throw io; - } - logger.info("BatchDecoder: " + count + " files decoded"); - } - - - /** - * Sets the input stream to the given filename - * - * @param filename the filename to set the input stream to - * @throws IOException if an error occurs - */ - void setInputStream(String filename) throws IOException { - for (DataProcessor dataSource : inputDataProcessors) { - InputStream is; - try { - File file = new File(filename); - logger.info - (AudioSystem.getAudioFileFormat(file).toString()); - is = AudioSystem.getAudioInputStream(file); - } catch (UnsupportedAudioFileException uafe) { - logger.info - ("Reading " + filename + " as raw audio file."); - is = new FileInputStream(filename); - // Total hack: NIST Sphere files aren't supported by - // javax.sound, so skip their header - if (filename.toLowerCase().endsWith(".sph")) { - logger.info("Skipping 1024-byte Sphere header."); - is.skip(1024); - } - } - if (dataSource instanceof StreamDataSource) { - ((StreamDataSource) dataSource).setInputStream(is); - } else if (dataSource instanceof StreamCepstrumSource) { - boolean isBigEndian = Utilities - .isCepstraFileBigEndian(filename); - StreamCepstrumSource cepstrumSource = - (StreamCepstrumSource) dataSource; - cepstrumSource.setInputStream(is, isBigEndian); - // TODO: christophe: should use an interface there !! - } else if (dataSource instanceof StreamHTKCepstrum) { - StreamHTKCepstrum cepstrumSource = - (StreamHTKCepstrum) dataSource; - cepstrumSource.setInputStream(is); - } - } - } - - - /** - * Add commands to the given interpreter to support shell mode - * - * @param ci the interpreter - */ - void addCommands(CommandInterpreter ci) { - ci.add("ls", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 1) { - ci.putResponse("Usage: ls"); - } else { - for (String name : cm.getInstanceNames(Configurable.class)) - ci.putResponse(name); - } - return ""; - } - - - public String getHelp() { - return "list active components"; - } - }); - ci.add("show", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length < 2) { - ConfigurationManagerUtils.showConfig(cm); - } else { - for (int i = 1; i < args.length; i++) { - String name = args[i]; - ConfigurationManagerUtils.showConfig(cm, name); - } - } - return ""; - } - - - public String getHelp() { - return "show component configuration"; - } - }); - ci.add("edit", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 2) { - ci.putResponse("Usage: edit component"); - } else { - try { - ConfigurationManagerUtils.editConfig(cm, args[1]); - } catch (Exception e) { - ci.putResponse("Failed to save " + e); - } -// cm.editConfig(args[1]); - } - return ""; - } - - - public String getHelp() { - return "edit a component's configuration"; - } - }); - ci.add("save", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 2) { - ci.putResponse("Usage: save filename.xml"); - } else { - ConfigurationManagerUtils.save(cm, new File(args[1])); -// cm.save(new File(args[1])); - } - return ""; - } - - - public String getHelp() { - return "save configuration to a file"; - } - }); - ci.add("set", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 4) { - ci.putResponse("Usage: set component property value"); - } else { -// System.err.println("tried to configure the CM with " + args ); - ConfigurationManagerUtils.setProperty(BatchModeRecognizer.this.cm, args[1], args[3], args[2]); - } - return ""; - } - - - public String getHelp() { - return "set component property to a given value"; - } - }); - ci.add("recognize", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - Result result = null; - - if (args.length < 2) { - ci.putResponse("Usage: recognize audio [transcript]"); - } else { - String audioFile = args[1]; - String transcript = null; - if (args.length > 2) { - transcript = args[2]; - } - - try { - setInputStream(audioFile); - result = recognizer.recognize(transcript); - } catch (IOException io) { - ci.putResponse("I/O error during decoding: " + - io.getMessage()); - } - } - - return result != null ? result.getBestResultNoFiller() : ""; - } - - - public String getHelp() { - return "perform recognition on the given audio"; - } - }); - ci.addAlias("recognize", "rec"); - - ci.add("statsReset", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 1) { - ci.putResponse("Usage: statsReset"); - } else { - recognizer.resetMonitors(); - } - return ""; - } - - - public String getHelp() { - return "resets gathered statistics"; - } - }); - - ci.add("batchRecognize", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - Result result = null; - - if (args.length != 1) { - ci.putResponse("Usage: batchRecognize"); - } else { - - try { - if (curBatchItem == null) { - batchManager.start(); - curBatchItem = batchManager.getNextItem(); - } - String audioFile = curBatchItem.getFilename(); - String transcript = curBatchItem.getTranscript(); - setInputStream(audioFile); - result = recognizer.recognize(transcript); - } catch (IOException io) { - ci.putResponse("I/O error during decoding: " + - io.getMessage()); - } - } - return result != null ? result.getBestResultNoFiller() : ""; - } - - - public String getHelp() { - return "perform recognition on the current batch item"; - } - }); - ci.addAlias("batchRecognize", "br"); - - ci.add("batchNext", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - Result result = null; - - if (args.length != 1 && args.length != 2) { - ci.putResponse("Usage: batchNext [norec]"); - } else { - try { - - // if we don't have a batch item, start (or - // start over) - - if (curBatchItem == null) { - batchManager.start(); - } - curBatchItem = batchManager.getNextItem(); - - // if we reach the end, just loop back and - // start over. - - if (curBatchItem == null) { - batchManager.start(); - curBatchItem = batchManager.getNextItem(); - } - - String audioFile = curBatchItem.getFilename(); - String transcript = curBatchItem.getTranscript(); - if (args.length == 2) { - ci.putResponse("Skipping: " + transcript); - } else { - setInputStream(audioFile); - result = recognizer.recognize(transcript); - } - } catch (IOException io) { - ci.putResponse("I/O error during decoding: " + - io.getMessage()); - } - } - return result != null ? result.getBestResultNoFiller() : ""; - } - - - public String getHelp() { - return "advance the batch and perform recognition"; - } - }); - ci.addAlias("batchNext", "bn"); - - ci.add("batchAll", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - Result result = null; - - if (args.length != 1) { - ci.putResponse("Usage: batchAll"); - } else { - try { - if (curBatchItem == null) { - batchManager.start(); - } - - while (true) { - curBatchItem = batchManager.getNextItem(); - // if we reach the end bail out - - if (curBatchItem == null) { - return ""; - } - String audioFile = curBatchItem.getFilename(); - String transcript = curBatchItem.getTranscript(); - setInputStream(audioFile); - result = recognizer.recognize(transcript); - } - } catch (IOException io) { - ci.putResponse("I/O error during decoding: " + - io.getMessage()); - } - } - return result != null ? result.getBestResultNoFiller() : ""; - } - - - public String getHelp() { - return "recognize all of the remaining batch items"; - } - }); - - ci.add("batchReset", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 1) { - ci.putResponse("Usage: batchReset"); - } else { - try { - batchManager.start(); - } catch (IOException ioe) { - ci.putResponse("trouble reseting batch"); - } - } - return ""; - } - - - public String getHelp() { - return "reset the batch to the beginning"; - } - }); - ci.add("batchLoad", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length != 2) { - ci.putResponse("Usage: batchReset batchfile"); - } else { - try { - setBatchFile(args[1]); - } catch (IOException ioe) { - ci.putResponse("Can't load " + args[1] + ' ' + ioe); - } - } - return ""; - } - - - public String getHelp() { - return "reset the batch to the beginning"; - } - }); - } - - - public void shell(String batchfile) throws IOException { - try { - CommandInterpreter ci = new CommandInterpreter(); - ci.setPrompt("s4> "); - addCommands(ci); - setBatchFile(batchfile); - recognizer.allocate(); - ci.run(); - batchManager.stop(); - if (recognizer.getState() == State.READY) { - recognizer.deallocate(); - } - } catch (IOException io) { - logger.severe("I/O error during decoding: " + io.getMessage()); - throw io; - } - } - - - /** - * Main method of this BatchDecoder. - * - * @param argv argv[0] : config.xml argv[1] : a file listing all the audio files to decode - */ - public static void main(String[] argv) { - if (argv.length < 2) { - System.out.println( - "Usage: BatchDecoder propertiesFile batchFile [-shell]"); - System.exit(1); - } - String cmFile = argv[0]; - String batchFile = argv[1]; - ConfigurationManager cm; - BatchModeRecognizer bmr; - - try { - URL url = new File(cmFile).toURI().toURL(); - cm = new ConfigurationManager(url); - bmr = (BatchModeRecognizer) cm.lookup("batch"); - if (bmr == null) { - System.err.println("Can't find batchModeRecognizer in " + cmFile); - return; - } - if (argv.length >= 3 && argv[2].equals("-shell")) { - bmr.shell(batchFile); - } else { - bmr.decode(batchFile); - } - System.out.println("Tokens created: " + StatisticsVariable.getStatisticsVariable("totalTokensScored").value); - /* - } catch (IOException ioe) { - System.err.println("I/O error: \n"); - ioe.printStackTrace(); - } catch (InstantiationException e) { - System.err.println("Error during initialization: \n"); - e.printStackTrace(); - } catch (PropertyException e) { - System.err.println("Error during initialization: \n"); - e.printStackTrace(); - */ - } catch (Exception e) { - System.err.println("Error during decoding: \n "); - e.printStackTrace(); - } - } - - - int count; - - - public void start(String batchFile) throws IOException { - recognizer.allocate(); - setBatchFile(batchFile); - batchManager.start(); - logger.info("BatchDecoder: decoding files in " - + batchManager.getFilename()); - count = 0; - } - - - public void stop() throws IOException { - batchManager.stop(); - recognizer.deallocate(); - } - - - public Result recognize() throws IOException { - Result result = null; - BatchItem batchItem; - if (count < utteranceId && - (batchItem = batchManager.getNextItem()) != null) { - setInputStream(batchItem.getFilename()); - result = recognizer.recognize(batchItem.getTranscript()); - logger.info("File : " + batchItem.getFilename()); - logger.info("Result: " + result); - count++; - } - logger.info("BatchDecoder: " + count + " files decoded"); - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchNISTRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchNISTRecognizer.java deleted file mode 100755 index 5382206b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/BatchNISTRecognizer.java +++ /dev/null @@ -1,466 +0,0 @@ -package edu.cmu.sphinx.tools.batch; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.DataProcessor; -import edu.cmu.sphinx.frontend.util.StreamCepstrumSource; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.linguist.WordSearchState; -import edu.cmu.sphinx.linguist.dictionary.Word; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.*; - -import java.io.*; -import java.net.URL; -import java.util.Iterator; -import java.util.List; -import java.util.logging.Logger; - -/** - * Copyright 1999-2002 Carnegie Mellon University. Portions Copyright 2002 Sun Microsystems, Inc. Portions Copyright - * 2002 Mitsubishi Electric Research Laboratories. All Rights Reserved. Use is subject to license terms. - *

- * See the file "license.terms" for information on usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - *

- * User: Peter Wolf Date: Nov 10, 2005 Time: 2:42:06 PM Copyright 2005, Peter Wolf - *

- * Runs a NIST corpus as used by the GALE project. The inputs are a CTL file, and a REF file. The output is a CTM - * file. - *

- * A CTL file contains a list of utterances to decode. The format is - *

- * <utterance file> <start offset> <end offset> <utterance name> - *

- * The <utterance file> is a base to which the property "dataDirectory" is prepended, and ".raw" is appended. The - * utterance file should be raw PCM that agrees with the "bitsPerSample", "channelCount", "samplesPerSecond", and - * "framesPerSecond" properties. - *

- * The <start offset> and <end offset> are specified in frames, where - *

- * bytesPerFrame = (bitsPerSample/8)*channelCount*samplesPerSecond/framesPerSecond - *

- * The <utterance name> should be a unique string. For example "<utterance file>_<start offset>_<end offset>". - *

- * A REF file contains the correct transcripts of the utterances specified in the CTL file. Each line should be of the - * form - *

- * <ASCII transcript> (<utterance name>) - *

- * The output is a "processed" CTM file. It is used by the NIST tools to compute the performance on the copus. The - * format is not documented because it is currently a hack to get the Dry Run going. We need to think more about it. If - * you want to use this tool talk to Peter Wolf, or Arthur Chan. - */ -public class BatchNISTRecognizer extends BatchModeRecognizer { - - protected String ctlFile; - protected String dataDir; - protected String refFile; - protected String ctmFile; - protected int bitsPerSample; - protected int samplesPerSecond; - protected int framesPerSecond; - protected int channelCount; - protected int bytesPerFrame; - - /** - * The property that specifies the file containing the corpus utterance audio - */ - @S4String(defaultValue = "") - public final static String PROP_DATA_DIR = "dataDirectory"; - - /** - * The property that specifies the file containing the corpus utterance audio - */ - @S4String(defaultValue = "") - public final static String PROP_CTL_FILE = "ctlFile"; - - /** - * The property that specifies the file containing the transcripts of the corpus - */ - @S4String(defaultValue = "") - public final static String PROP_REF_FILE = "refFile"; - - /** - * The property that specifies the the directory where the output XXX files should be placed - */ - @S4String(defaultValue = "") - public final static String PROP_CTM_FILE = "ctmFile"; - - /** - * The sphinx properties that specify the format of the PCM audio in the data file - */ - @S4Integer(defaultValue = 16) - public final static String PROP_BITS_PER_SAMPLE = "bitsPerSample"; - @S4Integer(defaultValue = 1) - public final static String PROP_CHANNEL_COUNT = "channelCount"; - @S4Integer(defaultValue = 16000) - public final static String PROP_SAMPLES_PER_SECOND = "samplesPerSecond"; - @S4Integer(defaultValue = 100) - public final static String PROP_FRAMES_PER_SECOND = "framesPerSecond"; - - - public BatchNISTRecognizer( - Recognizer recognizer, - List inputDataProcessors, - String ctlFile, - String dataDir, - String refFile, - String ctmFile, - int bitsPerSample, - int samplesPerSecond, - int framesPerSecond, - int channelCount - ) { - this.logger = Logger.getLogger(getClass().getName()); - this.recognizer = recognizer; - this.inputDataProcessors = inputDataProcessors; - this.dataDir = dataDir; - this.ctlFile = ctlFile; - this.refFile = refFile; - this.ctmFile = ctmFile; - - this.bitsPerSample = bitsPerSample; - this.channelCount = channelCount; - this.samplesPerSecond = samplesPerSecond; - this.framesPerSecond = framesPerSecond; - - this.bytesPerFrame = ((bitsPerSample / 8) * channelCount * samplesPerSecond) / framesPerSecond; - - logger.info( - "BatchNISTRecognizer:\n" + - " dataDirectory=" + dataDir + '\n' + - " ctlFile=" + ctlFile + '\n' + - " bitsPerSample=" + bitsPerSample + '\n' + - " channelCount=" + channelCount + '\n' + - " samplesPerSecond=" + samplesPerSecond + '\n' + - " framesPerSecond=" + framesPerSecond + '\n'); - } - - public BatchNISTRecognizer() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - recognizer = (Recognizer) ps.getComponent(PROP_RECOGNIZER); - inputDataProcessors = ps.getComponentList(PROP_INPUT_DATA_PROCESSORS, DataProcessor.class); - dataDir = ps.getString(PROP_DATA_DIR); - ctlFile = ps.getString(PROP_CTL_FILE); - refFile = ps.getString(PROP_REF_FILE); - ctmFile = ps.getString(PROP_CTM_FILE); - - bitsPerSample = ps.getInt(PROP_BITS_PER_SAMPLE); - channelCount = ps.getInt(PROP_CHANNEL_COUNT); - samplesPerSecond = ps.getInt(PROP_SAMPLES_PER_SECOND); - framesPerSecond = ps.getInt(PROP_FRAMES_PER_SECOND); - - bytesPerFrame = ((bitsPerSample / 8) * channelCount * samplesPerSecond) / framesPerSecond; - - logger.info( - "BatchNISTRecognizer:\n" + - " dataDirectory=" + dataDir + '\n' + - " ctlFile=" + ctlFile + '\n' + - " bitsPerSample=" + bitsPerSample + '\n' + - " channelCount=" + channelCount + '\n' + - " samplesPerSecond=" + samplesPerSecond + '\n' + - " framesPerSecond=" + framesPerSecond + '\n'); - } - - - @SuppressWarnings("serial") - protected class CTLException extends Exception { - CTLException(String msg) { - super(msg); - } - } - - public class CTLUtterance { - - int startOffset; - int endOffset; - String name; - byte[] data; - final String ref; - - - public String getFile() { - return file; - } - - - String file; - - - CTLUtterance(String ctl, String ref) throws CTLException { - /* - example line: - 20040422_150000_NTDTV.80Hz-6400Hz 64155 65103 20040422_150000_NTDTV_64155-65103_spk8 - */ - this.ref = ref; - String[] fields = ctl.split(" "); - if (fields.length != 4) throw new CTLException("CTL Syntax Error: " + ctl); - startOffset = Integer.parseInt(fields[1]); - endOffset = Integer.parseInt(fields[2]); - name = fields[3]; - data = new byte[(endOffset - startOffset) * bytesPerFrame]; - int i = fields[0].indexOf('.'); - file = fields[0]; - if (i >= 0) { - file = file.substring(0, i); - } - file = dataDir + '/' + file + ".raw"; - try { - InputStream dataStream = new FileInputStream(file); - dataStream.skip(startOffset * bytesPerFrame); - if (dataStream.read(data) != data.length) { - dataStream.close(); - throw new CTLException("Unable to read " + data.length + " bytes of utterance " + name); - } - dataStream.close(); - } - catch (IOException e) { - throw new CTLException("Unable to read utterance " + name + ": " + e.getMessage()); - } - } - - - public InputStream getInputStream() { - return new ByteArrayInputStream(data); - } - - - public String getName() { - return name; - } - - - public String getRef() { - return ref; - } - - - public int getStartOffset() { - return startOffset; - } - - - public int getEndOffset() { - return endOffset; - } - } - - protected class CTLIterator implements Iterator { - - CTLUtterance utterance; - LineNumberReader ctlReader; - LineNumberReader refReader; - - - public CTLIterator() throws IOException { - ctlReader = new LineNumberReader(new FileReader(ctlFile)); - refReader = new LineNumberReader(new FileReader(refFile)); - utterance = nextUtterance(); - } - - - private CTLUtterance nextUtterance() { - try { - String ctl = ctlReader.readLine(); - String ref = refReader.readLine(); - if (ctl == null || ref == null) - return null; - else - return new CTLUtterance(ctl, ref); - } catch (Exception e) { - throw new Error(e.getMessage()); - } - } - - - public boolean hasNext() { - return utterance != null; - } - - - public CTLUtterance next() { - CTLUtterance u = utterance; - utterance = nextUtterance(); - return u; - } - - - public void remove() { - throw new Error("Not implemented"); - } - } - - - protected void setInputStream(CTLUtterance utt) throws IOException { - for (DataProcessor dataSource : inputDataProcessors) { - if (dataSource instanceof StreamDataSource) { - ((StreamDataSource) - dataSource).setInputStream(utt.getInputStream()); - } else if (dataSource instanceof StreamCepstrumSource) { - boolean isBigEndian = Utilities - .isCepstraFileBigEndian(utt.getName()); - StreamCepstrumSource cepstrumSource = - (StreamCepstrumSource) dataSource; - cepstrumSource.setInputStream(utt.getInputStream(), isBigEndian); - } - } - } - - - public void decode() { - - try { - utteranceId = 0; - DataOutputStream ctm = new DataOutputStream(new FileOutputStream(ctmFile)); - recognizer.allocate(); - - for (Iterator i = new CTLIterator(); i.hasNext();) { - CTLUtterance utt = i.next(); - setInputStream(utt); - Result result = recognizer.recognize(); - System.out.println("Utterance " + utteranceId + ": " + utt.getName()); - System.out.println("Reference: " + utt.getRef()); - System.out.println("Result : " + result); - logger.info("Utterance " + utteranceId + ": " + utt.getName()); - logger.info("Result : " + result); - handleResult(ctm, utt, result); - utteranceId++; - } - - recognizer.deallocate(); - } catch (IOException io) { - logger.severe("I/O error during decoding: " + io.getMessage()); - } - logger.info("BatchCTLDecoder: " + utteranceId + " utterances decoded"); - } - - - protected void handleResult(DataOutputStream out, CTLUtterance utt, Result result) throws IOException { - dumpBestPath(out, utt, result.getBestFinalToken()); - } - - - private long dumpBestPath(DataOutputStream out, CTLUtterance utt, Token token) throws IOException { - - if (token == null) return 0; - - Token pred = token.getPredecessor(); - long startFrame = dumpBestPath(out, utt, pred); - if (token.isWord()) { - - long endFrame = token.getCollectTime(); - - WordSearchState wordState = (WordSearchState) token.getSearchState(); - Word word = wordState.getPronunciation().getWord(); - String spelling = word.getSpelling(); - if (!spelling.startsWith("<")) { - String[] names = utt.name.split("_"); - out.write((names[0] + '_' + names[1] + '_' + names[2] - + " 1 " + (utt.startOffset + startFrame) / 100.0 + ' ' + (endFrame - startFrame) / 100.0 + ' ').getBytes()); - out.write(hex2Binary(spelling)); - out.write(" 0.700000\n".getBytes()); - } - return endFrame; - } - return startFrame; - } - - - static public byte[] hex2Binary(String spelling) { - byte[] bin = new byte[spelling.length() / 2]; - for (int i = 0; i < spelling.length(); i += 2) { - int i0 = hexToByte(spelling.charAt(i)); - int i1 = hexToByte(spelling.charAt(i + 1)); - bin[i / 2] = (byte) (i1 + (16 * i0)); - } - return bin; - } - - - static private int hexToByte(char c) { - switch (c) { - case '0': - return 0; - case '1': - return 1; - case '2': - return 2; - case '3': - return 3; - case '4': - return 4; - case '5': - return 5; - case '6': - return 6; - case '7': - return 7; - case '8': - return 8; - case '9': - return 9; - case 'a': - return 10; - case 'b': - return 11; - case 'c': - return 12; - case 'd': - return 13; - case 'e': - return 14; - case 'f': - return 15; - default: - throw new Error("Bad hex char " + c); - } - - } - - - public static void main(String[] argv) { - - if (argv.length != 1) { - System.out.println( - "Usage: BatchNISTRecognizer propertiesFile"); - System.exit(1); - } - - String propertiesFile = argv[0]; - - ConfigurationManager cm; - - BatchNISTRecognizer bmr; - - try { - URL url = new File(propertiesFile).toURI().toURL(); - cm = new ConfigurationManager(url); - bmr = (BatchNISTRecognizer) cm.lookup("batchNIST"); - } catch (IOException ioe) { - System.err.println("I/O error during initialization: \n " + ioe); - return; - } catch (PropertyException e) { - System.err.println("Error during initialization: \n " + e); - return; - } - - if (bmr == null) { - System.err.println("Can't find batchNIST in " + propertiesFile); - return; - } - - bmr.decode(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/SphinxShell.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/SphinxShell.java deleted file mode 100755 index e25486ae..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/batch/SphinxShell.java +++ /dev/null @@ -1,52 +0,0 @@ -package edu.cmu.sphinx.tools.batch; - -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; - -/** - * A little test application which instantiates a sphinx4-system and allows to reconfigure its component-parameters. - * - * @author Holger Brandl - */ -public class SphinxShell { - - public static void main(String[] args) throws IOException { - if (args.length == 0 || (args.length == 1 && (args[0].startsWith("-h") || args[0].startsWith("--h")))) { - System.out.println("Usage: SphinxShell *([[->]=] )"); - System.out.println("Example: SphinxShell foobar.xml beamWidth=123 phoneDecoder->autoAllocate=true"); - - System.out.println("\nOther options are: "); - System.out.println(" -h : Prints this help message"); - System.out.println(" -l : Prints a list of all component properties"); - - System.exit(-1); - } - - // dump the properties of an xml-configuration - if (args.length == 2 && args[0].equals("-l")) { - ConfigurationManagerUtils.dumpPropStructure(new ConfigurationManager(new File(args[1]).toURI().toURL())); - System.exit(0); - } - - File configFile = new File(args[0]); - if (!configFile.isFile()) - throw new FileNotFoundException("Can not open '" + configFile + '\''); - - ConfigurationManager cm = new ConfigurationManager(configFile.toURI().toURL()); - - // skip the first argument because it's the filename - for (int i = 1; i < args.length; i++) { - String[] splitArg = args[i].split("="); - - assert splitArg.length == 2; - - String propName = splitArg[0]; - String propValue = splitArg[1]; - ConfigurationManagerUtils.setProperty(cm, propName, propValue); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/endpoint/Segmenter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/endpoint/Segmenter.java deleted file mode 100755 index 71cc2080..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/endpoint/Segmenter.java +++ /dev/null @@ -1,109 +0,0 @@ -package edu.cmu.sphinx.tools.endpoint; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Scanner; - -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.FrontEnd; -import edu.cmu.sphinx.frontend.util.AudioFileDataSource; -import edu.cmu.sphinx.frontend.util.WavWriter; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; - -public class Segmenter { - - public static void main(String[] argv) throws MalformedURLException, - IOException { - - String configFile = null; - String inputFile = null; - String inputCtl = null; - String outputFile = null; - boolean noSplit = false; - - for (int i = 0; i < argv.length; i++) { - if (argv[i].equals("-c")) { - configFile = argv[++i]; - } - if (argv[i].equals("-i")) { - inputFile = argv[++i]; - } - if (argv[i].equals("-ctl")) { - inputCtl = argv[++i]; - } - if (argv[i].equals("-o")) { - outputFile = argv[++i]; - } - if (argv[i].equals("-no-split")) { - noSplit = Boolean.parseBoolean(argv[i]); - } - } - - if ((inputFile == null && inputCtl == null) || outputFile == null) { - System.out - .println("Usage: java -cp lib/batch.jar:lib/sphinx4.jar edu.cmu.sphinx.tools.endpoint.Segmenter " - + "[ -config configFile ] -name frontendName " - + "< -i input File -o outputFile | -ctl inputCtl -i inputFolder -o outputFolder >"); - System.exit(1); - } - - URL configURL; - if (configFile == null) - configURL = Segmenter.class.getResource("frontend.config.xml"); - else - configURL = new File(configFile).toURI().toURL(); - - ConfigurationManager cm = new ConfigurationManager(configURL); - - if (noSplit) { - ConfigurationManagerUtils.setProperty(cm, "wavWriter", - "captureUtterances", "false"); - } - if (inputCtl != null) { - ConfigurationManagerUtils.setProperty(cm, "wavWriter", - "isCompletePath", "true"); - } - - if (inputCtl == null) - processFile(inputFile, outputFile, cm); - else - processCtl(inputCtl, inputFile, outputFile, cm); - } - - static private void processFile(String inputFile, String outputFile, - ConfigurationManager cm) throws MalformedURLException, IOException { - - FrontEnd frontend = (FrontEnd) cm.lookup("endpointer"); - - AudioFileDataSource dataSource = (AudioFileDataSource) cm - .lookup("audioFileDataSource"); - System.out.println(inputFile); - dataSource.setAudioFile(new File(inputFile), null); - WavWriter wavWriter = (WavWriter) cm.lookup("wavWriter"); - wavWriter.setOutFilePattern(outputFile); - - frontend.initialize(); - - Data data = null; - do { - data = frontend.getData(); - } while (data != null); - } - - static private void processCtl(String inputCtl, String inputFolder, - String outputFolder, ConfigurationManager cm) - throws MalformedURLException, IOException { - - Scanner scanner = new Scanner(new File(inputCtl)); - while (scanner.hasNext()) { - String fileName = scanner.next(); - String inputFile = inputFolder + "/" + fileName + ".wav"; - String outputFile = outputFolder + "/" + fileName + ".wav"; - processFile(inputFile, outputFile, cm); - } - scanner.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/feature/FeatureFileDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/feature/FeatureFileDumper.java deleted file mode 100755 index 378500cd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/feature/FeatureFileDumper.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.tools.feature; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.util.StreamDataSource; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; - -import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.LinkedList; -import java.util.List; -import java.util.Scanner; -import java.util.logging.Logger; - -/** - * This program takes in an audio file, does frontend signal processing to it, - * and then dumps the resulting Feature into a separate file. Also it can - * process a list of files at once. - *

- * Available options: - *

    - *
  • -config configFile - the XML configuration file
  • - *
  • -name frontendName - the name of the feature extractor inside the - * configuration file
  • - *
  • -i audioFile - the name of the audio file
  • - *
  • -ctl controlFile - the name of the input file for batch processing
  • - *
  • -o outputFile - the name of the output file or output folder
  • - *
  • -format binary/ascii - output file format
  • - *
- */ -public class FeatureFileDumper { - - private FrontEnd frontEnd; - private StreamDataSource audioSource; - private List allFeatures; - private int featureLength = -1; - - /** The logger for this class */ - private static final Logger logger = Logger - .getLogger("edu.cmu.sphinx.tools.feature.FeatureFileDumper"); - - /** - * Constructs a FeatureFileDumper. - * - * @param cm - * the configuration manager - * @param frontEndName - * the name for the frontend - * @throws IOException if error occurred - */ - public FeatureFileDumper(ConfigurationManager cm, String frontEndName) - throws IOException { - try { - frontEnd = (FrontEnd) cm.lookup(frontEndName); - audioSource = (StreamDataSource) cm.lookup("streamDataSource"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Process the file and store the features - * - * @param inputAudioFile - * the input audio file - * @throws FileNotFoundException if exception occurred - */ - public void processFile(String inputAudioFile) throws FileNotFoundException { - audioSource .setInputStream(new FileInputStream(inputAudioFile)); - allFeatures = new LinkedList(); - getAllFeatures(); - logger.info("Frames: " + allFeatures.size()); - } - - /** - * Retrieve all Features from the frontend, and cache all those with actual - * feature data. - */ - private void getAllFeatures() { - /* - * Run through all the data and produce feature. - */ - try { - assert (allFeatures != null); - Data feature = frontEnd.getData(); - while (!(feature instanceof DataEndSignal)) { - if (feature instanceof DoubleData) { - double[] featureData = ((DoubleData) feature).getValues(); - if (featureLength < 0) { - featureLength = featureData.length; - logger.info("Feature length: " + featureLength); - } - float[] convertedData = new float[featureData.length]; - for (int i = 0; i < featureData.length; i++) { - convertedData[i] = (float) featureData[i]; - } - allFeatures.add(convertedData); - } else if (feature instanceof FloatData) { - float[] featureData = ((FloatData) feature).getValues(); - if (featureLength < 0) { - featureLength = featureData.length; - logger.info("Feature length: " + featureLength); - } - allFeatures.add(featureData); - } - feature = frontEnd.getData(); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Returns the total number of data points that should be written to the - * output file. - * - * @return the total number of data points that should be written - */ - private int getNumberDataPoints() { - return (allFeatures.size() * featureLength); - } - - /** - * Dumps the feature to the given binary output. - * - * @param outputFile - * the binary output file - * @throws IOException if error occurred - */ - public void dumpBinary(String outputFile) throws IOException { - DataOutputStream outStream = new DataOutputStream(new FileOutputStream( - outputFile)); - outStream.writeInt(getNumberDataPoints()); - - for (float[] feature : allFeatures) { - for (float val : feature) { - outStream.writeFloat(val); - } - } - - outStream.close(); - } - - /** - * Dumps the feature to the given ASCII output file. - * - * @param outputFile - * the ASCII output file - * @throws IOException if error occurred - */ - public void dumpAscii(String outputFile) throws IOException { - PrintStream ps = new PrintStream(new FileOutputStream(outputFile), true); - ps.print(getNumberDataPoints()); - ps.print(' '); - - for (float[] feature : allFeatures) { - for (float val : feature) { - ps.print(val); - ps.print(' '); - } - } - - ps.close(); - } - - public static void main(String[] argv) { - - String configFile = null; - String frontEndName = null; - String inputFile = null; - String inputCtl = null; - String outputFile = null; - String format = "binary"; - - for (int i = 0; i < argv.length; i++) { - if (argv[i].equals("-c")) { - configFile = argv[++i]; - } - if (argv[i].equals("-name")) { - frontEndName = argv[++i]; - } - if (argv[i].equals("-i")) { - inputFile = argv[++i]; - } - if (argv[i].equals("-ctl")) { - inputCtl = argv[++i]; - } - if (argv[i].equals("-o")) { - outputFile = argv[++i]; - } - if (argv[i].equals("-format")) { - format = argv[++i]; - } - } - - if (frontEndName == null || (inputFile == null && inputCtl == null) - || outputFile == null || format == null) { - System.out - .println("Usage: FeatureFileDumper " - + "[ -config configFile ] -name frontendName " - + "< -i input File -o outputFile | -ctl inputFile -i inputFolder -o outputFolder >\n" - + "Possible frontends are: cepstraFrontEnd, spectraFrontEnd, plpFrontEnd"); - System.exit(1); - } - - logger.info("Input file: " + inputFile); - logger.info("Output file: " + outputFile); - logger.info("Format: " + format); - - try { - URL url; - if (configFile != null) { - url = new File(configFile).toURI().toURL(); - } else { - url = FeatureFileDumper.class - .getResource("frontend.config.xml"); - } - ConfigurationManager cm = new ConfigurationManager(url); - - if(cm.lookup(frontEndName) == null) { - throw new RuntimeException("No such frontend: " + frontEndName); - } - - FeatureFileDumper dumper = new FeatureFileDumper(cm, frontEndName); - - if (inputCtl == null) - dumper.processFile(inputFile, outputFile, format); - else - dumper.processCtl(inputCtl, inputFile, outputFile, format); - } catch (IOException ioe) { - System.err.println("I/O Error " + ioe); - } catch (PropertyException p) { - System.err.println("Bad configuration " + p); - } - } - - private void processFile(String inputFile, String outputFile, String format) - throws MalformedURLException, IOException { - processFile(inputFile); - if (format.equals("binary")) { - dumpBinary(outputFile); - } else if (format.equals("ascii")) { - dumpAscii(outputFile); - } else { - System.out.println("ERROR: unknown output format: " + format); - } - } - - private void processCtl(String inputCtl, String inputFolder, - String outputFolder, String format) throws MalformedURLException, - IOException { - - Scanner scanner = new Scanner(new File(inputCtl)); - while (scanner.hasNext()) { - String fileName = scanner.next(); - String inputFile = inputFolder + "/" + fileName + ".wav"; - String outputFile = outputFolder + "/" + fileName + ".mfc"; - - processFile(inputFile); - if (format.equals("binary")) { - dumpBinary(outputFile); - } else if (format.equals("ascii")) { - dumpAscii(outputFile); - } else { - System.out.println("ERROR: unknown output format: " + format); - } - } - scanner.close(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/live/LiveModeRecognizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/live/LiveModeRecognizer.java deleted file mode 100755 index 35396e61..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/tools/live/LiveModeRecognizer.java +++ /dev/null @@ -1,309 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.tools.live; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.URL; -import java.util.LinkedList; -import java.util.List; - -import edu.cmu.sphinx.frontend.util.ConcatFileDataSource; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.result.WordResult; -import edu.cmu.sphinx.util.*; -import edu.cmu.sphinx.util.props.*; - -/** - * Decodes a batch file containing a list of files to decode. The files can be either audio files or cepstral files, but - * defaults to audio files. - */ -public class LiveModeRecognizer implements Configurable { - - /** The property that specifies the recognizer to use */ - @S4Component(type = Recognizer.class) - public final static String PROP_RECOGNIZER = "recognizer"; - - /** The property that specifies the source of the transcript */ - @S4Component(type = ConcatFileDataSource.class) - public final static String PROP_INPUT_SOURCE = "inputSource"; - - /** The property specifying whether to print out the gap insertion errors. */ - @S4Boolean(defaultValue = false) - public static final String PROP_SHOW_GAP_INSERTIONS = "showGapInsertions"; - - /** The property specifying the transcript file. */ - @S4String(defaultValue = "hypothesis.txt") - public final static String PROP_HYPOTHESIS_TRANSCRIPT = "hypothesisTranscript"; - - /** The property specifying the number of files to decode before alignment is performed. */ - @S4Integer(defaultValue = -1) - public final static String PROP_ALIGN_INTERVAL = "alignInterval"; - - // TODO - the instrumentation in here that is looking for gap insertions - // and performing the alignment and reporting of the live summary data - // should probably be moved to a separate instrumentation package, much - // like the BestPathAccuracyTracker. - - // ------------------------------- - // Configuration data - // -------------------------------- - private Recognizer recognizer; - private ConcatFileDataSource dataSource; - private String hypothesisFile; - private boolean showGapInsertions; - - // ------------------------------- - // Working data - // -------------------------------- - private int alignInterval; - private int numUtterances; - - private FileWriter hypothesisTranscript; - private ReferenceSource referenceSource; - private final NISTAlign aligner = new NISTAlign(true, true); - - public LiveModeRecognizer( Recognizer recognizer, ConcatFileDataSource dataSource, int skip, boolean showGapInsertions, String hypothesisFile, int alignInterval ) { - this.recognizer = recognizer; - this.dataSource = dataSource; - this.showGapInsertions = showGapInsertions; - this.hypothesisFile = hypothesisFile; - this.alignInterval = alignInterval; - this.referenceSource = dataSource; - } - - public LiveModeRecognizer() { - - } - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - public void newProperties(PropertySheet ps) throws PropertyException { - recognizer = (Recognizer) ps.getComponent(PROP_RECOGNIZER); - dataSource = (ConcatFileDataSource) ps.getComponent(PROP_INPUT_SOURCE); - showGapInsertions = ps.getBoolean(PROP_SHOW_GAP_INSERTIONS); - - hypothesisFile = ps.getString(PROP_HYPOTHESIS_TRANSCRIPT); - - alignInterval = ps.getInt(PROP_ALIGN_INTERVAL); - - referenceSource = dataSource; - } - - - /** Decodes the batch of audio files - * @throws IOException if IO went wrong - */ - public void decode() throws IOException { - List resultList = new LinkedList(); - Result result; - int startReference = 0; - hypothesisTranscript = new FileWriter(hypothesisFile); - recognizer.allocate(); - while ((result = recognizer.recognize()) != null) { - numUtterances++; - String resultText = result.getBestResultNoFiller(); - - System.out.println("\nHYP: " + resultText); - System.out.println(" Sentences: " + numUtterances); - resultList.add(resultText); - - for (WordResult wr : result.getTimedBestResult(false)) { - hypothesisTranscript.write(wr.toString()); - hypothesisTranscript.write(' '); - } - hypothesisTranscript.write('\n'); - hypothesisTranscript.flush(); - - if (alignInterval > 0 && (numUtterances % alignInterval == 0)) { - // perform alignment if the property 'alignInterval' is set - List references = referenceSource.getReferences(); - List section = references.subList(startReference, references - .size()); - alignResults(resultList, section); - resultList = new LinkedList(); - startReference = references.size(); - } - } - - hypothesisTranscript.close(); - - // perform alignment on remaining results - List references = referenceSource.getReferences(); - List section = references.subList(startReference, references.size()); - if (!resultList.isEmpty() || !section.isEmpty()) { - alignResults(resultList, section); - } - System.out.println("# ------------- Summary Statistics -------------"); - aligner.printTotalSummary(); - - recognizer.deallocate(); - - showLiveSummary(); - System.out.println(); - } - - - /** Shows the test statistics that relates to live mode decoding. */ - private void showLiveSummary() throws IOException { - int actualUtterances = referenceSource.getReferences().size(); - int gapInsertions = detectGapInsertionErrors(); - - System.out.println - (" Utterances: Actual: " + actualUtterances + - " Found: " + numUtterances); - System.out.println - (" Gap Insertions: " + gapInsertions); - } - - - /** Detect gap insertion errors. */ - private int detectGapInsertionErrors() throws IOException { - Timer gapTimer = TimerPool.getTimer(this, "GapInsertionDetector"); - gapTimer.start(); - GapInsertionDetector gid = new GapInsertionDetector(dataSource - .getTranscriptFile(), hypothesisFile, showGapInsertions); - int gapInsertions = gid.detect(); - gapTimer.stop(); - return gapInsertions; - } - - - /** - * Align the list of results with reference text. This method figures out how many words and sentences match, and - * the different types of errors. - * - * @param hypothesisList the list of hypotheses - * @param referenceList the list of references - */ - private void alignResults(List hypothesisList, List referenceList) { - System.out.println(); - System.out.println("Aligning results..."); - System.out.println(" Utterances: Found: " + hypothesisList.size() - + " Actual: " + referenceList.size()); - - String hypothesis = listToString(hypothesisList); - String reference = listToString(referenceList); - saveAlignedText(hypothesis, reference); - - getAlignTimer().start(); - aligner.align(reference, hypothesis); - getAlignTimer().stop(); - - System.out.println(" ...done aligning"); - System.out.println(); - } - - - /** - * Saves the aligned hypothesis and reference text to the aligned text file. - * - * @param hypothesis the aligned hypothesis text - * @param reference the aligned reference text - */ - private void saveAlignedText(String hypothesis, String reference) { - try { - FileWriter writer = new FileWriter("align.txt"); - writer.write(hypothesis); - writer.write("\n"); - writer.write(reference); - writer.close(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } - } - - - /** - * Converts the given list of strings into one string, putting a space character in between the strings. - * - * @param resultList the list of strings - * @return a string which is a concatenation of the strings in the list, separated by a space character - */ - private String listToString(List resultList) { - StringBuilder sb = new StringBuilder(); - for (String result : resultList) { - sb.append(result).append(' '); - } - return sb.toString(); - } - - - /** Return the timer for alignment. */ - private Timer getAlignTimer() { - return TimerPool.getTimer(this, "Align"); - } - - - /** Do clean up - * @throws IOException if something went wrong - */ - public void close() throws IOException { - hypothesisTranscript.close(); - } - - - /** - * Main method of this BatchDecoder. - * - * @param argv argv[0] : config file argv[1] : a file listing all the audio files to decode - */ - public static void main(String[] argv) { - if (argv.length != 1) { - System.out.println("Usage: LiveModeRecognizer config-file.xml "); - System.exit(1); - } - String cmFile = argv[0]; - ConfigurationManager cm; - LiveModeRecognizer lmr; - - try { - URL url = new File(cmFile).toURI().toURL(); - cm = new ConfigurationManager(url); - lmr = (LiveModeRecognizer) cm.lookup("live"); - } catch (IOException ioe) { - System.err.println("I/O error during initialization: \n " + ioe); - return; - } catch (PropertyException e) { - System.err.println("Error during initialization: \n " + e); - e.printStackTrace(); - return; - } - - if (lmr == null) { - System.err.println("Can't find liveModeRecognizer in " + cmFile); - return; - } - - try { - lmr.decode(); - } catch (IOException ioe) { - System.err - .println("I/O error during decoding: " + ioe.getMessage()); - } - } - -// -// @Test -// public void testUseConcatDataSource() { -// Map props = new HashMap(); -// props.put("inputSource", new ConcatFileDataSource()); -// props.put("recognizer", new Recognizer()); -// LiveModeRecognizer liveRecognizer = (LiveModeRecognizer) ConfigurationManager.getInstance(LiveModeRecognizer.class, props); -// -// } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BaumWelchLearner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BaumWelchLearner.java deleted file mode 100755 index 51a96aef..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BaumWelchLearner.java +++ /dev/null @@ -1,761 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.util.StreamCepstrumSource; -import edu.cmu.sphinx.linguist.acoustic.HMMState; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMM; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMMState; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerScore; -import edu.cmu.sphinx.util.LogMath; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; - - -/** Provides mechanisms for computing statistics given a set of states and input data. */ -public class BaumWelchLearner implements Learner { - - - @S4Component(type = FrontEnd.class) - public static final String FRONT_END = "frontend"; - private FrontEnd frontEnd; - - @S4Component(type = StreamCepstrumSource.class) - public static final String DATA_SOURCE = "source"; - private StreamCepstrumSource dataSource; - - private LogMath logMath; - - /* - * The logger for this class - */ - private static Logger logger = - Logger.getLogger("edu.cmu.sphinx.trainer.BaumWelch"); - - private Data curFeature; - private UtteranceGraph graph; - private TrainerScore[][] scoreArray; - private int lastFeatureIndex; - private int currentFeatureIndex; - private float[] betas; - private float[] outputProbs; - private float[] componentScores; - private float[] probCurrentFrame; - private float totalLogScore; - - - public void newProperties(PropertySheet ps) throws PropertyException { - logMath = LogMath.getLogMath(); - dataSource = (StreamCepstrumSource) ps.getComponent(DATA_SOURCE); - - frontEnd = (FrontEnd) ps.getComponent(FRONT_END); - frontEnd.setDataSource(dataSource); - } - - - /* Initialize and return the frontend based on the given sphinx properties. */ - protected FrontEnd getFrontEnd() { - return frontEnd; - } - - - /** - * Sets the learner to use a utterance. - * - * @param utterance the utterance - * @throws IOException if error occurred - */ - public void setUtterance(Utterance utterance) throws IOException { - String file = utterance.toString(); - InputStream is = new FileInputStream(file); - dataSource.setInputStream(is, false); - } - - - /** - * Gets a single frame of speech. - * - * @return if success - */ - private boolean getFeature() { - try { - curFeature = frontEnd.getData(); - - if (curFeature == null) { - return false; - } - - if (curFeature instanceof DataStartSignal) { - curFeature = frontEnd.getData(); - if (curFeature == null) { - return false; - } - } - - if (curFeature instanceof DataEndSignal) { - return false; - } - - if (curFeature instanceof Signal) { - throw new Error("Can't score non-content feature"); - } - } catch (DataProcessingException dpe) { - System.out.println("DataProcessingException " + dpe); - dpe.printStackTrace(); - return false; - } - return true; - } - - - /** Starts the Learner. */ - public void start() { - } - - - /** Stops the Learner. */ - public void stop() { - } - - - /** - * Initializes computation for current utterance and utterance graph. - * - * @param utterance the current utterance - * @param graph the current utterance graph - * @throws IOException if exception occured - */ - public void initializeComputation(Utterance utterance, - UtteranceGraph graph) throws IOException { - setUtterance(utterance); - setGraph(graph); - } - - - /** - * Implements the setGraph method. - * - * @param graph the graph - */ - public void setGraph(UtteranceGraph graph) { - this.graph = graph; - } - - - /** - * Prepares the learner for returning scores, one at a time. To do so, it performs the full forward pass, but - * returns the scores for the backward pass one feature frame at a time. - */ - private TrainerScore[][] prepareScore() { - // scoreList will contain a list of score, which in turn are a - // vector of TrainerScore elements. - List scoreList = new ArrayList(); - int numStates = graph.size(); - TrainerScore[] score = new TrainerScore[numStates]; - betas = new float[numStates]; - outputProbs = new float[numStates]; - - // First we do the forward pass. We need this before we can - // return any probability. When we're doing the backward pass, - // we can finally return a score for each call of this method. - - probCurrentFrame = new float[numStates]; - // Initialization of probCurrentFrame for the alpha computation - Node initialNode = graph.getInitialNode(); - int indexInitialNode = graph.indexOf(initialNode); - for (int i = 0; i < numStates; i++) { - probCurrentFrame[i] = LogMath.LOG_ZERO; - } - // Overwrite in the right position - probCurrentFrame[indexInitialNode] = 0.0f; - - for (initialNode.startOutgoingEdgeIterator(); - initialNode.hasMoreOutgoingEdges();) { - Edge edge = initialNode.nextOutgoingEdge(); - Node node = edge.getDestination(); - int index = graph.indexOf(node); - if (!node.isType("STATE")) { - // Certainly non-emitting, if it's not in an HMM. - probCurrentFrame[index] = 0.0f; - } else { - // See if it's the last state in the HMM, i.e., if - // it's non-emitting. - HMMState state = (HMMState) node.getObject(); - if (!state.isEmitting()) { - probCurrentFrame[index] = 0.0f; - } - assert false; - } - } - - // If getFeature() is true, curFeature contains a valid - // Feature. If not, a problem or EOF was encountered. - lastFeatureIndex = 0; - while (getFeature()) { - forwardPass(score); - scoreList.add(score); - lastFeatureIndex++; - } - logger.info("Feature frames read: " + lastFeatureIndex); - // Prepare for beta computation - for (int i = 0; i < probCurrentFrame.length; i++) { - probCurrentFrame[i] = LogMath.LOG_ZERO; - } - Node finalNode = graph.getFinalNode(); - int indexFinalNode = graph.indexOf(finalNode); - // Overwrite in the right position - probCurrentFrame[indexFinalNode] = 0.0f; - for (finalNode.startIncomingEdgeIterator(); - finalNode.hasMoreIncomingEdges();) { - Edge edge = finalNode.nextIncomingEdge(); - Node node = edge.getSource(); - int index = graph.indexOf(node); - if (!node.isType("STATE")) { - // Certainly non-emitting, if it's not in an HMM. - probCurrentFrame[index] = 0.0f; - assert false; - } else { - // See if it's the last state in the HMM, i.e., if - // it's non-emitting. - HMMState state = (HMMState) node.getObject(); - if (!state.isEmitting()) { - probCurrentFrame[index] = 0.0f; - } - } - } - - return scoreList.toArray(new TrainerScore[scoreList.size()][]); - } - - - /** - * Gets the TrainerScore for the next frame - * - * @return the TrainerScore, or null if EOF was found - */ - public TrainerScore[] getScore() { - TrainerScore[] score; - if (scoreArray == null) { - // Do the forward pass, and create the necessary arrays - scoreArray = prepareScore(); - currentFeatureIndex = lastFeatureIndex; - } - currentFeatureIndex--; - if (currentFeatureIndex >= 0) { - float logScore = LogMath.LOG_ZERO; - score = scoreArray[currentFeatureIndex]; - assert score.length == betas.length; - backwardPass(score); - for (int i = 0; i < betas.length; i++) { - score[i].setGamma(); - logScore = logMath.addAsLinear(logScore, score[i].getGamma()); - } - if (currentFeatureIndex == lastFeatureIndex - 1) { - TrainerScore.setLogLikelihood(logScore); - totalLogScore = logScore; - } else { - if (Math.abs(totalLogScore - logScore) > - Math.abs(totalLogScore)) { - System.out.println("WARNING: log probabilities differ: " + - totalLogScore + " and " + logScore); - } - } - return score; - } else { - // We need to clear this, so we start the next iteration - // on a clean plate. - scoreArray = null; - return null; - } - } - - - /** - * Computes the acoustic scores using the current Feature and a given node in the graph. - * - * @param index the graph index - * @return the overall acoustic score - */ - private float calculateScores(int index) { - float logScore; - // Find the HMM state for this node - SenoneHMMState state = (SenoneHMMState) graph.getNode(index).getObject(); - if ((state != null) && (state.isEmitting())) { - // Compute the scores for each mixture component in this state - componentScores = state.calculateComponentScore(curFeature); - // Compute the overall score for this state - logScore = state.getScore(curFeature); - // For CI models, for now, we only try to use mixtures - // with one component - assert componentScores.length == 1; - } else { - componentScores = null; - logScore = 0.0f; - } - return logScore; - } - - - /** - * Does the forward pass, one frame at a time. - * - * @param score the objects transferring info to the buffers - */ - private void forwardPass(TrainerScore[] score) { - // Let's precompute the acoustic probabilities and create the - // score object, one for each state - for (int i = 0; i < graph.size(); i++) { - outputProbs[i] = calculateScores(i); - score[i] = new TrainerScore(curFeature, - outputProbs[i], - (HMMState) graph.getNode(i).getObject(), - componentScores); - score[i].setAlpha(probCurrentFrame[i]); - } - - // Now, the forward pass. - float[] probPreviousFrame = probCurrentFrame; - probCurrentFrame = new float[graph.size()]; - // First, the emitting states. We have to do this because the - // emitting states use probabilities from the previous - // frame. The non-emitting states, however, since they don't - // consume frames, use probabilities from the current frame - for (int indexNode = 0; indexNode < graph.size(); indexNode++) { - Node node = graph.getNode(indexNode); - // Treat dummy node (and initial and final nodes) the same - // as non-emitting - if (!node.isType("STATE")) { - continue; - } - SenoneHMMState state = (SenoneHMMState) node.getObject(); - SenoneHMM hmm = (SenoneHMM) state.getHMM(); - if (!state.isEmitting()) { - continue; - } - // Initialize the current frame probability with 0.0f, log scale - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - for (node.startIncomingEdgeIterator(); - node.hasMoreIncomingEdges();) { - // Finds out what the previous node and previous state are - Node previousNode = node.nextIncomingEdge().getSource(); - int indexPreviousNode = graph.indexOf(previousNode); - HMMState previousState = (HMMState) previousNode.getObject(); - float logTransitionProbability; - // previous state could be have an associated hmm state... - if (previousState != null) { - // Make sure that the transition happened from a state - // that either is in the same model, or was a - // non-emitting state - assert ((!previousState.isEmitting()) || - (previousState.getHMM() == hmm)); - if (!previousState.isEmitting()) { - logTransitionProbability = 0.0f; - } else { - logTransitionProbability = - hmm.getTransitionProbability( - previousState.getState(), - state.getState()); - } - } else { - // Previous state is a dummy state or beginning of - // utterance. - logTransitionProbability = 0.0f; - } - // Adds the alpha and transition from the previous - // state into the current alpha - probCurrentFrame[indexNode] = - logMath.addAsLinear(probCurrentFrame[indexNode], - probPreviousFrame[indexPreviousNode] + - logTransitionProbability); - // System.out.println("State= " + indexNode + " curr " - // + probCurrentFrame[indexNode] + " prev " + - // probPreviousFrame[indexNode] + " trans " + - // logTransitionProbability); - } - // Finally, multiply by this state's output probability for the - // current Feature (add in log scale) - probCurrentFrame[indexNode] += outputProbs[indexNode]; - // System.out.println("State= " + indexNode + " alpha= " + - // probCurrentFrame[indexNode]); - score[indexNode].setAlpha(probCurrentFrame[indexNode]); - } - - // Finally, the non-emitting states - for (int indexNode = 0; indexNode < graph.size(); indexNode++) { - Node node = graph.getNode(indexNode); - HMMState state = null; - SenoneHMM hmm = null; - if (node.isType("STATE")) { - state = (HMMState) node.getObject(); - hmm = (SenoneHMM) state.getHMM(); - if (state.isEmitting()) { - continue; - } - } else if (graph.isInitialNode(node)) { - score[indexNode].setAlpha(LogMath.LOG_ZERO); - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - continue; - } - // Initialize the current frame probability 0.0f, log scale - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - for (node.startIncomingEdgeIterator(); - node.hasMoreIncomingEdges();) { - float logTransitionProbability; - // Finds out what the previous node and previous state are - Node previousNode = node.nextIncomingEdge().getSource(); - int indexPreviousNode = graph.indexOf(previousNode); - if (previousNode.isType("STATE")) { - HMMState previousState = - (HMMState) previousNode.getObject(); - // Make sure that the transition happened from a - // state that either is in the same model, or was - // a non-emitting state - assert ((!previousState.isEmitting()) || - (previousState.getHMM() == hmm)); - if (!previousState.isEmitting()) { - logTransitionProbability = 0.0f; - } else { - // previousState == state - logTransitionProbability = - hmm.getTransitionProbability( - previousState.getState(), - state.getState()); - } - } else { - logTransitionProbability = 0.0f; - } - // Adds the alpha and transition from the previous - // state into the current alpha - probCurrentFrame[indexNode] = - logMath.addAsLinear(probCurrentFrame[indexNode], - probCurrentFrame[indexPreviousNode] + - logTransitionProbability); - // System.out.println("State= " + indexNode + " curr " - // + probCurrentFrame[indexNode] + " prev " + - // probPreviousFrame[indexNode] + " trans " + - // logTransitionProbability); - } - // System.out.println("State= " + indexNode + " alpha= " + - // probCurrentFrame[indexNode]); - - // Non-emitting states have the equivalent of output - // probability of 1.0. In log scale, this is the same as - // adding 0.0f, or doing nothing. - score[indexNode].setAlpha(probCurrentFrame[indexNode]); - } - } - - - /** - * Does the backward pass, one frame at a time. - * - * @param score the feature to be used - */ - private void backwardPass(TrainerScore[] score) { - // Now, the backward pass. - for (int i = 0; i < graph.size(); i++) { - outputProbs[i] = score[i].getScore(); - score[i].setBeta(probCurrentFrame[i]); - } - float[] probNextFrame = probCurrentFrame; - probCurrentFrame = new float[graph.size()]; - - // First, the emitting states - for (int indexNode = 0; indexNode < graph.size(); indexNode++) { - Node node = graph.getNode(indexNode); - // Treat dummy node (and initial and final nodes) the same - // as non-emitting - if (!node.isType("STATE")) { - continue; - } - HMMState state = (HMMState) node.getObject(); - SenoneHMM hmm = (SenoneHMM) state.getHMM(); - if (!state.isEmitting()) { - continue; - } - // Initialize the current frame probability with log - // probability of log(0f) - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - for (node.startOutgoingEdgeIterator(); - node.hasMoreOutgoingEdges();) { - float logTransitionProbability; - // Finds out what the next node and next state are - Node nextNode = node.nextOutgoingEdge().getDestination(); - int indexNextNode = graph.indexOf(nextNode); - HMMState nextState = (HMMState) nextNode.getObject(); - if (nextState != null) { - // Make sure that the transition happened to a - // non-emitting state, or to the same model - assert ((!nextState.isEmitting()) || - (nextState.getHMM() == hmm)); - if (nextState.getHMM() != hmm) { - logTransitionProbability = 0.0f; - } else { - logTransitionProbability = - hmm.getTransitionProbability(state.getState(), - nextState.getState()); - } - } else { - // Next state is a dummy state or beginning of - // utterance. - logTransitionProbability = 0.0f; - } - // Adds the beta, the output prob, and the transition - // from the next state into the current beta - probCurrentFrame[indexNode] = - logMath.addAsLinear(probCurrentFrame[indexNode], - probNextFrame[indexNextNode] + - logTransitionProbability + - outputProbs[indexNextNode]); - } - // System.out.println("State= " + indexNode + " beta= " + probCurrentFrame[indexNode]); - score[indexNode].setBeta(probCurrentFrame[indexNode]); - } - - // Now, the non-emitting states - - // We have to go backwards because for non-emitting states we - // use the current frame probability, and we need to refer to - // states that are downstream in the graph - for (int indexNode = graph.size() - 1; indexNode >= 0; indexNode--) { - Node node = graph.getNode(indexNode); - HMMState state = null; - if (node.isType("STATE")) { - state = (HMMState) node.getObject(); - if (state.isEmitting()) { - continue; - } - } else if (graph.isFinalNode(node)) { - score[indexNode].setBeta(LogMath.LOG_ZERO); - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - continue; - } - // Initialize the current frame probability with log(0f) - probCurrentFrame[indexNode] = LogMath.LOG_ZERO; - for (node.startOutgoingEdgeIterator(); - node.hasMoreOutgoingEdges();) { - float logTransitionProbability; - // Finds out what the next node and next state are - Node nextNode = node.nextOutgoingEdge().getDestination(); - int indexNextNode = graph.indexOf(nextNode); - if (nextNode.isType("STATE")) { - HMMState nextState = (HMMState) nextNode.getObject(); - // Make sure that the transition happened to a - // state that either is the same, or is emitting - assert ((nextState.isEmitting()) || (nextState == state)); - // In any case, the transition (at this point) is - // assumed to be 1.0f, or 0.0f in log scale. - logTransitionProbability = 0.0f; - /* - if (!nextState.isEmitting()) { - logTransitionProbability = 0.0f; - } else { - logTransitionProbability = - hmm.getTransitionProbability(state.getState(), - nextState.getState()); - } - */ - } else { - logTransitionProbability = 0.0f; - } - // Adds the beta, the transition, and the output prob - // from the next state into the current beta - probCurrentFrame[indexNode] = - logMath.addAsLinear(probCurrentFrame[indexNode], - probCurrentFrame[indexNextNode] + - logTransitionProbability); - } - // System.out.println("State= " + indexNode + " beta= " + probCurrentFrame[indexNode]); - score[indexNode].setBeta(probCurrentFrame[indexNode]); - } - } - - /* Pseudo code: - forward pass: - token = maketoken(initialstate); - List initialTokenlist = new List; - newtokenlist.add(token); - - // Initial token is on a nonemitting state; no need to score; - List newList = expandToEmittingStateList(initialTokenList){ - - while (morefeatures){ - scoreTokenList(emittingTokenList, featurevector[timestamp]); - pruneTokenList(emittingTokenList); - List newList = expandToEmittingStateList(emittingTokenList){ - timestamp++; - } - // Some logic to expand to a final nonemitting state (how)? - expandToNonEmittingStates(emittingTokenList); - */ - - /* - private void forwardPass() { - ActiveList activelist = new FastActiveList(createInitialToken()); - AcousticScorer acousticScorer = new ThreadedAcousticScorer(); - FeatureFrame featureFrame = frontEnd.getFeatureFrame(1, ""); - Pruner pruner = new SimplePruner(); - - // Initialization code pushing initial state to emitting state here - - while ((featureFrame.getFeatures() != null)) { - ActiveList nextActiveList = new FastActiveList(); - - // At this point we have only emitting states. We score - // and prune them - ActiveList emittingStateList = new FastActiveList(); - // activelist.getEmittingStateList(); - acousticScorer.calculateScores(emittingStateList.getTokens()); - // The pruner must clear up references to pruned objects - emittingStateList = pruner.prune( emittingStateList); - - expandStateList(emittingStateList, nextActiveList); - - while (nextActiveList.hasNonEmittingStates()){ - // extractNonEmittingStateList will pull out the list - // of nonemitting states completely from the - // nextActiveList. At this point nextActiveList does - // not have a list of nonemitting states and must - // instantiate a new one. - ActiveList nonEmittingStateList = - nextActiveList.extractNonEmittingStateList(); - nonEmittingStateList = pruner.prune(nonEmittingStateList); - expandStateList(nonEmittingStateList, nextActiveList); - } - activeList = newActiveList; - } - } - */ - - /* Pseudo code - backward pass: - state = finaltoken.state.wholelistofeverythingthatcouldbefinal; - while (moreTokensAtCurrentTime) { - Token token = nextToken(); - State state = token.state; - state.gamma = state.logalpha + state.logbeta - logtotalprobability; - SentenceHMM.updateState(state,state.gamma,vector[state.timestamp]); - // state.update (state.gamma, vector[state.timestamp], updatefunction()); - while token.hasMoreIncomingEdges() { - Edge transition = token.nextIncomingEdge(); - double logalpha = transition.source.alpha; - double logbeta = transition.destination.beta; - double logtransition = transition.transitionprob; - // transition.posterior = alpha*transition*beta / - // totalprobability; - double localtransitionbetascore = logtransition + logbeta + - transition.destination.logscore; - double transition.posterior = localtransitionbetascore + - logalpha - logtotalprobability; - transition.updateaccumulator(transition.posterior); - // transition.updateaccumulator(transition.posterior, updatefunction()); - SentenceHMM.updateTransition(transition, transitionstate,state.gamma); - transition.source.beta = Logadd(transition.source.beta, - localtransitionbetascore); - - } - } - */ - - /* - private void expandStateList(ActiveList stateList, - ActiveList nextActiveList) { - while (stateList.hasMoreTokens()) { - Token token = emittingStateList.getNextToken(); - - // First get list of links to possible future states - List successorList = getSuccessors(token); - while (successorList.hasMoreEntries()) { - UtteranceGraphEdge edge = successorList.getNextEntry(); - - // create a token for the future state, if its not - // already in active list; The active list will check - // for the key "edge.destination()" in both of its - // lists - if (nextActiveList.hasState(edge.destination())) { - Token newToken = - nextActiveList.getTokenForState(edge.destination()); - } else { - Token newToken = new Token(edge.destination()); - } - - // create a link between current state and future state - TrainerLink newlink = new TrainerLink(edge, token, newToken); - newlink.logScore = token.logScore + edge.transition.logprob(); - - // add link to the appropriate lists for source and - // destination tokens - token.addOutGoingLink(newlink); - - newToken.addIncomingLink(newlink); - newToken.alpha = logAdd(newToken.alpha, newlink.logScore); - - // At this point, we have placed a new token in the - // successor state, and linked the token at the - // current state to the token at the non-emitting - // states. - - // Add token to appropriate active list - nextActiveList.add(newToken); - } - } - } - */ - - /* - private void expandToEmittingStateList(List tokenList){ - List emittingTokenList = new List(); - do { - List nonEmittingTokenList = new List(); - expandtokens(newtokenlist, emittingTokenList, - nonemittingTokenList); - while (nonEmittingTokenList.length() != 0); - return emittingTokenList; - } - } - */ - - /* - private void expandtokens(List tokens, List nonEmittingStateList, - List EmittingStateList){ - while (moreTokens){ - sucessorlist = SentenceHMM.gettransitions(nextToken()); - while (moretransitions()){ - transition = successor; - State destinationState = successor.state; - newtoken = gettokenfromHash(destinationState, - currenttimestamp); - newtoken.logscore = Logadd(newtoken.logscore, - token.logscore + transition.logscore); - // Add transition to newtoken predecessor list? - // Add transition to token sucessor list - // Should we define a token "arc" for this. ?? - if (state.isemitting) - EmittingStateList.add(newtoken); - else - nonEmittingStateList.add(newtoken); - } - } - } - */ - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BuildTranscriptHMM.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BuildTranscriptHMM.java deleted file mode 100755 index b544bec5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/BuildTranscriptHMM.java +++ /dev/null @@ -1,274 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.HMM; -import edu.cmu.sphinx.linguist.acoustic.HMMPosition; -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.SenoneHMM; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; -import edu.cmu.sphinx.util.LogMath; - -/** This class builds an HMM from a transcript, at increasing levels of details. */ -public class BuildTranscriptHMM { - - private Graph wordGraph; - private Graph phonemeGraph; - private Graph contextDependentPhoneGraph; - private Graph hmmGraph; - private TrainerDictionary dictionary; - private AcousticModel acousticModel; - private UnitManager unitManager; - - - /** - * Constructor for class BuildTranscriptHMM. When called, this method creates graphs for the transcript at several - * levels of detail, subsequently mapping from a word graph to a phone graph, to a state graph. - * - * @param context this object's context - * @param transcript the transcript to be converted to HMM - * @param acousticModel the acoustic model to be used - * @param unitManager the manager for units - */ - public BuildTranscriptHMM(String context, Transcript transcript, - AcousticModel acousticModel, UnitManager unitManager) { - - this.acousticModel = acousticModel; - this.unitManager = unitManager; - wordGraph = buildWordGraph(transcript); - assert wordGraph.validate() : "Word graph not validated"; - phonemeGraph = buildPhonemeGraph(wordGraph); - assert phonemeGraph.validate() : "Phone graph not validated"; - contextDependentPhoneGraph = - buildContextDependentPhonemeGraph(phonemeGraph); - assert contextDependentPhoneGraph.validate() : - "Context dependent graph not validated"; - hmmGraph = buildHMMGraph(contextDependentPhoneGraph); - assert hmmGraph.validate() : "HMM graph not validated"; - // hmmGraph.printGraph(); - } - - - /** - * Returns the graph. - * - * @return the graph. - */ - public Graph getGraph() { - return hmmGraph; - } - - - /* - * Build a word graph from this transcript - */ - private Graph buildWordGraph(Transcript transcript) { - Graph graph; - Dictionary transcriptDict = transcript.getDictionary(); - // Make sure the dictionary is a TrainerDictionary before we cast - assert - transcriptDict.getClass().getName().endsWith("TrainerDictionary"); - dictionary = (TrainerDictionary) transcriptDict; - - transcript.startWordIterator(); - /* Shouldn't node and edge be part of the graph class? */ - - /* The wordgraph must always begin with the */ - graph = new Graph(); - Node initialNode = new Node(NodeType.UTTERANCE_BEGIN); - graph.addNode(initialNode); - graph.setInitialNode(initialNode); - - if (transcript.isExact()) { - Node prevNode = initialNode; - for (transcript.startWordIterator(); - transcript.hasMoreWords();) { - /* create a new node for the next word */ - Node wordNode = new Node(NodeType.WORD, - transcript.nextWord()); - /* Link the new node into the graph */ - graph.linkNodes(prevNode, wordNode); - - prevNode = wordNode; - } - /* All words are done. Just add the */ - Node wordNode = new Node(NodeType.UTTERANCE_END); - graph.linkNodes(prevNode, wordNode); - graph.setFinalNode(wordNode); - } else { - /* Begin the utterance with a loopy silence */ - Node silLoopBack = - new Node(NodeType.SILENCE_WITH_LOOPBACK); - graph.linkNodes(initialNode, silLoopBack); - - // Create links with words from the transcript - for (transcript.startWordIterator(); - transcript.hasMoreWords();) { - String word = transcript.nextWord(); - Pronunciation[] pronunciations = - dictionary.getWord(word).getPronunciations(); - int numberOfPronunciations = pronunciations.length; - - Node[] pronNode = new Node[numberOfPronunciations]; - - // Create node at the beginning of the word - Node dummyWordBeginNode = new Node(NodeType.DUMMY); - // Allow the silence to be skipped - // TODO: don't link this, for debugging. - // graph.linkNodes(prevNode, dummyWordBeginNode); - // Link the latest silence to the dummy too - graph.linkNodes(silLoopBack, dummyWordBeginNode); - // Add word ending dummy node - Node dummyWordEndNode = new Node(NodeType.DUMMY); - for (int i = 0; i < numberOfPronunciations; i++) { - String wordAlternate - = pronunciations[i].getWord().getSpelling(); - if (i > 0) { - wordAlternate += "(" + i + ')'; - } - pronNode[i] = new Node(NodeType.WORD, wordAlternate); - graph.linkNodes(dummyWordBeginNode, pronNode[i]); - graph.linkNodes(pronNode[i], dummyWordEndNode); - } - - /* Add silence */ - silLoopBack = new - Node(NodeType.SILENCE_WITH_LOOPBACK); - graph.linkNodes(dummyWordEndNode, silLoopBack); - - } - Node wordNode = new Node(NodeType.UTTERANCE_END); - // Link previous node, a dummy word end node - // TODO: disable this link for now. - // graph.linkNodes(prevNode, wordNode); - // Link also the previous silence node - graph.linkNodes(silLoopBack, wordNode); - graph.setFinalNode(wordNode); - } - return graph; - } - - - /** Convert word graph to phoneme graph */ - private Graph buildPhonemeGraph(Graph wordGraph) { - Graph phonemeGraph = new Graph(); - phonemeGraph.copyGraph(wordGraph); - - for (Node node : phonemeGraph.nodeToArray()) { - if (node.getType().equals(NodeType.WORD)) { - String word = node.getID(); - // "false" means graph won't have additional dummy - // nodes surrounding the word - Graph pronunciationGraph = dictionary.getWordGraph(word, false); - phonemeGraph.insertGraph(pronunciationGraph, node); - } - } - return phonemeGraph; - } - - - /** - * Convert phoneme graph to a context sensitive phoneme graph. This graph expands paths out to have separate phoneme - * nodes for phonemes in different contexts. - * - * @param phonemeGraph the phoneme graph - * @return a context dependendent phoneme graph - */ - public Graph buildContextDependentPhonemeGraph(Graph phonemeGraph) { - // TODO: Dummy stub for now - return a copy of the original graph - Graph cdGraph = new Graph(); - cdGraph.copyGraph(phonemeGraph); - return cdGraph; - } - - - /** - * Convert the phoneme graph to an HMM. - * - * @param cdGraph a context dependent phoneme graph - * @return an HMM graph for a context dependent phoneme graph - */ - public Graph buildHMMGraph(Graph cdGraph) { - Graph hmmGraph = new Graph(); - - hmmGraph.copyGraph(cdGraph); - - for (Node node : hmmGraph.nodeToArray()) { - Unit unit = null; - if (node.getType().equals(NodeType.PHONE)) { - unit = unitManager.getUnit(node.getID()); - } else if (node.getType().equals(NodeType.SILENCE_WITH_LOOPBACK)) { - unit = unitManager.getUnit("SIL"); - } else { - // if it's not a phone, and it's not silence, it's a - // dummy node, and we don't care. - continue; - } - HMM hmm = - acousticModel.lookupNearestHMM(unit, HMMPosition.UNDEFINED, false); - Graph modelGraph = buildModelGraph((SenoneHMM)hmm); - modelGraph.validate(); - hmmGraph.insertGraph(modelGraph, node); - } - return hmmGraph; - } - - - /** - * Build a graph given an HMM. The graph will not be surrounded by dummy nodes. The number of nodes in the graph is - * the number of emitting states in the hmm plus one, to account for a final, non-emitting state. - * - * @param hmm the HMM - * @return the graph - */ - private Graph buildModelGraph(SenoneHMM hmm) { - Graph graph = new Graph(); - Node prevNode; - Node stateNode = null; - float[][] tmat = hmm.getTransitionMatrix(); - - prevNode = new Node(NodeType.DUMMY); - graph.addNode(prevNode); - graph.setInitialNode(prevNode); - - // 'hmm.getOrder() + 1' to account for final, non-emitting state. - for (int i = 0; i < hmm.getOrder() + 1; i++) { - /* create a new node for the next hmmState */ - stateNode = new Node(NodeType.STATE, hmm.getUnit().getName()); - stateNode.setObject(hmm.getState(i)); - graph.addNode(stateNode); - /* Link the new node into the graph */ - if (i == 0) { - graph.linkNodes(prevNode, stateNode); - } - for (int j = 0; j <= i; j++) { - // System.out.println("TMAT: " + j + " " + i + " " + - // tmat[j][i]); - if (tmat[j][i] != LogMath.LOG_ZERO) { - // 'j + 1' to account for the initial dummy node - graph.linkNodes(graph.getNode(j + 1), stateNode); - } - } - prevNode = stateNode; - } - /* All words are done. Just add the final dummy */ - // stateNode = new Node(NodeType.DUMMY); - // graph.linkNodes(prevNode, stateNode); - graph.setFinalNode(stateNode); - - return graph; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/ControlFile.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/ControlFile.java deleted file mode 100755 index 09d311c3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/ControlFile.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Integer; -import edu.cmu.sphinx.util.props.S4String; - - -/** Provides mechanisms for reading a control file (or a pair control file plus transcription file). */ -public interface ControlFile extends Configurable { - - /** Simple control file containing audio file names only. */ - @S4String(defaultValue = "an4_train.fileids") - String PROP_AUDIO_FILE = "audioFile"; - - /** Transcription file containing transcriptions, simple or full. */ - @S4String(defaultValue = "an4_train.transcription") - String PROP_TRANSCRIPT_FILE = "transcriptFile"; - - /** The property for which batch partition to process. */ - @S4Integer(defaultValue = 1) - public final static String PROP_WHICH_BATCH = "whichBatch"; - - /** The property for the total number of batch partitions. */ - @S4Integer(defaultValue = 1) - public final static String PROP_TOTAL_BATCHES = "totalBatches"; - - - /** Gets an iterator for utterances. */ - public void startUtteranceIterator(); - - - /** @return whether there is a next utterance. - */ - public boolean hasMoreUtterances(); - - - /** @return next utterance. */ - public Utterance nextUtterance(); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Edge.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Edge.java deleted file mode 100755 index 3025b537..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Edge.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -/** Defines the basic Edge for any graph A generic graph edge must have a destination Node and an identifier. */ - -public class Edge { - - /** The identifier for this edge */ - public String id; - - /** The source node for this edge */ - public Node sourceNode; - - /** The destination node for this edge */ - public Node destinationNode; - - - /* - * Default Constructor - */ - Edge(Node source, Node destination, String id) { - this.sourceNode = source; - this.destinationNode = destination; - this.id = id; - } - - - /* - * Constructor given no id. - */ - Edge(Node source, Node destination) { - this(source, destination, null); - } - - - /** - * Sets the destination node for a given edge. - * - * @param node the destination node for this edge - * @see #getDestination - */ - public void setDestination(Node node) { - this.destinationNode = node; - } - - - /** - * Sets source node for a given edge. - * - * @param node the source node for this edge - * @see #getSource - */ - public void setSource(Node node) { - this.sourceNode = node; - } - - - /** - * Gets the destination node for a given edge. - * - * @return the destination node - * @see #setDestination - */ - public Node getDestination() { - return destinationNode; - } - - - /** - * Gets source node for a given edge. - * - * @return the source node - * @see #setSource - */ - public Node getSource() { - return sourceNode; - } - - - /** - * Validate this edge. Checks if source and destination are non-null. - * - * @return if true, edge passed validation - */ - public boolean validate() { - return ((sourceNode != null) && (destinationNode != null)); - } - - - /** Prints out this edge. */ - public void print() { - System.out.print("ID: " + id); - System.out.print(" | " + sourceNode); - System.out.println(" | " + destinationNode); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/FlatInitializerLearner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/FlatInitializerLearner.java deleted file mode 100755 index 86ade6ce..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/FlatInitializerLearner.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.util.StreamCepstrumSource; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerAcousticModel; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerScore; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - -/** Provides mechanisms for computing statistics given a set of states and input data. */ -public class FlatInitializerLearner implements Learner { - - @S4Component(type = FrontEnd.class) - public static final String FRONT_END = "frontend"; - private FrontEnd frontEnd; - - @S4Component(type = StreamCepstrumSource.class) - public static final String DATA_SOURCE = "source"; - private StreamCepstrumSource dataSource; - - private Data curFeature; - - - public void newProperties(PropertySheet ps) throws PropertyException { - dataSource = (StreamCepstrumSource) ps.getComponent(DATA_SOURCE); - - frontEnd = (FrontEnd) ps.getComponent(FRONT_END); - frontEnd.setDataSource(dataSource); - } - - - /** - * Sets the learner to use a utterance. - * - * @param utterance the utterance - * @throws IOException if error occured - */ - public void setUtterance(Utterance utterance) throws IOException { - String file = utterance.toString(); - InputStream is = new FileInputStream(file); - - dataSource.setInputStream(is, false); - } - - - /** - * Returns a single frame of speech. - * - * @return a feature frame - * @throws IOException if error occured - */ - private boolean getFeature() { - try { - curFeature = frontEnd.getData(); - - if (curFeature == null) { - return false; - } - - if (curFeature instanceof DataStartSignal) { - curFeature = frontEnd.getData(); - if (curFeature == null) { - return false; - } - } - - if (curFeature instanceof DataEndSignal) { - return false; - } - - if (curFeature instanceof Signal) { - throw new Error("Can't score non-content feature"); - } - - } catch (DataProcessingException dpe) { - System.out.println("DataProcessingException " + dpe); - dpe.printStackTrace(); - return false; - } - - return true; - } - - - /** Starts the Learner. */ - public void start() { - } - - - /** Stops the Learner. */ - public void stop() { - } - - - /** - * Initializes computation for current utterance and utterance graph. - * - * @param utterance the current utterance - * @param graph the current utterance graph - * @throws IOException if IO went wrong - */ - public void initializeComputation(Utterance utterance, - UtteranceGraph graph) throws IOException { - setUtterance(utterance); - setGraph(graph); - } - - - /** - * Implements the setGraph method. Since the flat initializer does not need a graph, this method produces an error. - * - * @param graph the graph - */ - public void setGraph(UtteranceGraph graph) { - throw new Error("Flat initializer does not use a graph!"); - } - - - /** - * Gets the TrainerScore for the next frame - * - * @return the TrainerScore - */ - public TrainerScore[] getScore() { - // If getFeature() is true, curFeature contains a valid - // Feature. If not, a problem or EOF was encountered. - if (getFeature()) { - // Since it's flat initialization, the probability is - // neutral, and the senone means "all senones". - TrainerScore[] score = new TrainerScore[1]; - score[0] = new TrainerScore(curFeature, 0.0f, - TrainerAcousticModel.ALL_MODELS); - return score; - } else { - return null; - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Graph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Graph.java deleted file mode 100755 index ce54215c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Graph.java +++ /dev/null @@ -1,376 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import java.util.ArrayList; -import java.util.Iterator; - -/** Implementation of a graph */ - -public class Graph { - - private ArrayList edges; // The list of edges. - private ArrayList nodes; // The list of nodes. - private Iterator edgeIterator; // The iterator for the list of edges. - private Iterator nodeIterator; // The iterator for the list of nodes. - - /** The initial node in the graph. This has no incoming edges. */ - private Node initialNode; - - /* - * The final node in the graph. This has no outgoing edges. - */ - private Node finalNode; - - - /** Constructor for class. Creates lists of edges and nodes. */ - public Graph() { - edges = new ArrayList(); - nodes = new ArrayList(); - } - - - /** Set the initial node - * @param node node - * @throws IllegalArgumentException if node is not in the graph - */ - public void setInitialNode(Node node) throws IllegalArgumentException { - if (isNodeInGraph(node)) { - initialNode = node; - } else { - throw new IllegalArgumentException("Initial node not in graph"); - } - } - - - /** Set the final node - * @param node node - * @throws IllegalArgumentException if node is not in the graph - */ - public void setFinalNode(Node node) throws IllegalArgumentException { - if (isNodeInGraph(node)) { - finalNode = node; - } else { - throw new IllegalArgumentException("Final node not in graph"); - } - } - - - /** Get the initial node - * @return initial node - */ - public Node getInitialNode() { - return initialNode; - } - - - /** Get the final node - * @return final node - */ - public Node getFinalNode() { - return finalNode; - } - - - /** - * Get this graph's size. The size of a graph is the number of nodes in the graph. - * - * @return the size of the graph - */ - public int size() { - return nodes.size(); - } - - - /** - * Get node at the specified position in the list. The order is the same in which the nodes were entered. - * - * @param index index of item to retun - * @return the item - */ - public Node getNode(int index) { - return nodes.get(index); - } - - - /** - * Gets an array containing the nodes in this graph. - * - * @return an array of nodes - */ - public Node[] nodeToArray() { - return nodes.toArray(new Node[nodes.size()]); - } - - - /** - * Gets the index of a particular node in the graph. - * - * @param node the node - * @return the index in this graph, or -1 if not found - */ - public int indexOf(Node node) { - return nodes.indexOf(node); - } - - - /** - * Returns whether the given node is the initial node in this graph. - * - * @param node the node we want to compare - * @return if true, the node is the initial node - */ - public boolean isInitialNode(Node node) { - return node == initialNode; - } - - - /** - * Returns whether the given node is the final node in this graph. - * - * @param node the node we want to compare - * @return if true, the node is the final node - */ - public boolean isFinalNode(Node node) { - return node == finalNode; - } - - - /** - * Link two nodes. If the source or destination nodes are not in the graph, they are added to it. No check is - * performed to ensure that the nodes are linked to other nodes in the graph. - * @param sourceNode source node - * @param destinationNode destination node - * @return created edge - */ - public Edge linkNodes(Node sourceNode, Node destinationNode) { - Edge newLink = new Edge(sourceNode, destinationNode); - - sourceNode.addOutgoingEdge(newLink); - destinationNode.addIncomingEdge(newLink); - - if (!isNodeInGraph(sourceNode)) { - addNode(sourceNode); - } - - if (!isNodeInGraph(destinationNode)) { - addNode(destinationNode); - } - - addEdge(newLink); - - return newLink; - } - - - /** Add node to list of nodes. - * @param node node to add - */ - public void addNode(Node node) { - nodes.add(node); - } - - - /** Add edge to list of nodes. - * @param edge edge to add - */ - public void addEdge(Edge edge) { - edges.add(edge); - } - - - /** Check if a node is in the graph. - * @param node node to check - * @return if node in the graph - */ - public boolean isNodeInGraph(Node node) { - return nodes.contains(node); - } - - - /** Check if an edge is in the graph. - * @param edge edge to check - * @return if edge in the graph - */ - public boolean isEdgeInGraph(Node edge) { - return edges.contains(edge); - } - - - /** Start iterator for nodes. */ - public void startNodeIterator() { - nodeIterator = nodes.iterator(); - } - - - /** @return whether there are more nodes. - */ - public boolean hasMoreNodes() { - return nodeIterator.hasNext(); - } - - - /** @return next node. - */ - public Node nextNode() { - return nodeIterator.next(); - } - - - /** Start iterator for edges. */ - public void startEdgeIterator() { - edgeIterator = edges.iterator(); - } - - - /** @return whether there are more edges. - */ - public boolean hasMoreEdges() { - return edgeIterator.hasNext(); - } - - - /** @return next edge. */ - public Edge nextEdge() { - return edgeIterator.next(); - } - - - /** - * Copy a graph to the current graph object. - * - * @param graph the graph to copy from - */ - public void copyGraph(Graph graph) { - // Make sure the current graph is empty - assert ((nodes.isEmpty()) && (edges.isEmpty())); - for (graph.startNodeIterator(); - graph.hasMoreNodes();) { - addNode(graph.nextNode()); - } - for (graph.startEdgeIterator(); - graph.hasMoreEdges();) { - addEdge(graph.nextEdge()); - } - setInitialNode(graph.getInitialNode()); - setFinalNode(graph.getFinalNode()); - } - - - /** - * Insert a graph in the current graph, replacing a particular node. - * - * @param graph the graph to insert - * @param node the node that this graph will replace - */ - public void insertGraph(Graph graph, Node node) { - // Make sure the node belongs to the graph - assert isNodeInGraph(node) : "Node not in graph"; - assert graph != null : "Graph not defined"; - assert ((!isFinalNode(node)) && (!isInitialNode(node))); - int nodePosition = nodes.indexOf(node); - nodes.remove(nodePosition); - int index; - for (graph.startNodeIterator(), index = nodePosition; - graph.hasMoreNodes(); index++) { - nodes.add(index, graph.nextNode()); - } - for (graph.startEdgeIterator(); - graph.hasMoreEdges();) { - addEdge(graph.nextEdge()); - } - Node initialNode = graph.getInitialNode(); - for (node.startIncomingEdgeIterator(); - node.hasMoreIncomingEdges();) { - Edge edge = node.nextIncomingEdge(); - edge.setDestination(initialNode); - initialNode.addIncomingEdge(edge); - } - Node finalNode = graph.getFinalNode(); - for (node.startOutgoingEdgeIterator(); - node.hasMoreOutgoingEdges();) { - Edge edge = node.nextOutgoingEdge(); - edge.setSource(finalNode); - finalNode.addOutgoingEdge(edge); - } - } - - - /** - * Validate the graph. It checks out basics about the graph, such as whether all nodes have at least one incoming - * and outgoing edge, except for the initial and final. - * - * @return if true, graph validation passed - */ - public boolean validate() { - boolean passed = true; - for (startNodeIterator(); - hasMoreNodes();) { - Node node = nextNode(); - passed &= node.validate(); - int incoming = node.incomingEdgesSize(); - int outgoing = node.outgoingEdgesSize(); - if (incoming < 1) { - if (!isInitialNode(node)) { - System.out.println("No incoming edge: " + node); - passed = false; - } - } - for (node.startIncomingEdgeIterator(); - node.hasMoreIncomingEdges();) { - passed &= edges.contains(node.nextIncomingEdge()); - } - if (outgoing < 1) { - if (!isFinalNode(node)) { - System.out.println("No outgoing edge: " + node); - passed = false; - } - } - for (node.startOutgoingEdgeIterator(); - node.hasMoreOutgoingEdges();) { - passed &= edges.contains(node.nextOutgoingEdge()); - } - } - for (startEdgeIterator(); - hasMoreEdges();) { - Edge edge = nextEdge(); - passed &= edge.validate(); - passed &= nodes.contains(edge.getSource()); - passed &= nodes.contains(edge.getDestination()); - } - return passed; - } - - - /** Prints out the graph. For debugging purposes. */ - public void printGraph() { - for (startNodeIterator(); - hasMoreNodes();) { - Node node = nextNode(); - if (isInitialNode(node)) { - System.out.println("Initial Node"); - } - if (isFinalNode(node)) { - System.out.println("Final Node"); - } - System.out.println(node); - node.print(); - } - for (startEdgeIterator(); - hasMoreEdges();) { - Edge edge = nextEdge(); - System.out.println(edge); - edge.print(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Learner.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Learner.java deleted file mode 100755 index 3b510678..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Learner.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerScore; -import edu.cmu.sphinx.util.props.Configurable; - -import java.io.IOException; - - -/** Provides mechanisms for computing statistics given a set of states and input data. */ -public interface Learner extends Configurable { - - /** Starts the Learner. */ - public void start(); - - - /** Stops the Learner. */ - public void stop(); - - - /** - * Sets the learner to use a utterance. - * - * @param utterance the utterance - * @throws IOException if exception occurred - */ - public void setUtterance(Utterance utterance) throws IOException; - - - /** - * Initializes computation for current utterance and utterance graph. - * - * @param utterance the current utterance - * @param graph the current utterance graph - * @throws IOException if exception occurred - */ - public void initializeComputation(Utterance utterance, - UtteranceGraph graph) throws IOException; - - - /** - * Implements the setGraph method. Since the flat initializer does not need a graph, this method produces an error. - * - * @param graph the graph - */ - public void setGraph(UtteranceGraph graph); - - - /** @return posterior probabilities for a given state. */ - public TrainerScore[] getScore(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Node.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Node.java deleted file mode 100755 index 3c74bb2e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Node.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** Defines the basic Node for any graph A generic graph Node must have a list of outgoing edges and an identifier. */ -public class Node { - - // Do we really need nodeId and object? Maybe we can use object as - // the id when we assign a string to it. - /** The identifier for this Node */ - private String nodeId; - - /** Object contained in this mode. Typically, an HMM state, a senone. */ - private Object object; - - /** The type of node, such as a dummy node or node represented by a specific type of symbol */ - private NodeType nodeType; - - /** The list of incoming edges to this node. */ - private List incomingEdges; - private Iterator incomingEdgeIterator; - - /** The list of outgoing edges from this node */ - private List outgoingEdges; - private Iterator outgoingEdgeIterator; - - - /** - * Constructor for node when a type and symbol are given. - * - * @param nodeType the type of node. - * @param nodeSymbol the symbol for this type. - */ - Node(NodeType nodeType, String nodeSymbol) { - incomingEdges = new ArrayList(); - outgoingEdges = new ArrayList(); - this.nodeId = nodeSymbol; - this.nodeType = nodeType; - this.object = null; - } - - - /** - * Constructor for node when a type only is given. - * - * @param nodeType the type of node. - */ - Node(NodeType nodeType) { - this(nodeType, null); - } - - - /** - * Assign an object to this node. - * - * @param object the object to assign - */ - public void setObject(Object object) { - this.object = object; - } - - - /** - * Retrieves the object associated with this node. - * - * @return the object - */ - public Object getObject() { - return object; - } - - - /** - * Method to add an incoming edge. Note that we do not check if the destination node of the incoming edge is - * identical to this node - * - * @param edge the incoming edge - */ - public void addIncomingEdge(Edge edge) { - incomingEdges.add(edge); - } - - - /** Start iterator for incoming edges. */ - public void startIncomingEdgeIterator() { - incomingEdgeIterator = incomingEdges.iterator(); - } - - - /** - * Whether there are more incoming edges. - * - * @return if true, there are more incoming edges - */ - public boolean hasMoreIncomingEdges() { - return incomingEdgeIterator.hasNext(); - } - - - /** - * Returns the next incoming edge to this node. - * - * @return the next edge incoming edge - */ - public Edge nextIncomingEdge() { - return incomingEdgeIterator.next(); - } - - - /** - * Returns the size of the incoming edges list. - * - * @return the number of incoming edges - */ - public int incomingEdgesSize() { - return incomingEdges.size(); - } - - - /** - * Method to add an outgoing edge. Note that we do not check if the source node of the outgoing edge is identical to - * this node - * - * @param edge the outgoing edge - */ - public void addOutgoingEdge(Edge edge) { - outgoingEdges.add(edge); - } - - - /** Start iterator for outgoing edges. */ - public void startOutgoingEdgeIterator() { - outgoingEdgeIterator = outgoingEdges.iterator(); - } - - - /** - * Whether there are more outgoing edges. - * - * @return if true, there are more outgoing edges - */ - public boolean hasMoreOutgoingEdges() { - return outgoingEdgeIterator.hasNext(); - } - - - /** - * Returns the next outgoing edge from this node. - * - * @return the next outgoing edge - */ - public Edge nextOutgoingEdge() { - return outgoingEdgeIterator.next(); - } - - - /** - * Returns the size of the outgoing edges list. - * - * @return the number of outgoing edges - */ - public int outgoingEdgesSize() { - return outgoingEdges.size(); - } - - - /** - * Method to check the type of a node. - * - * @param type to compare to - * @return if true, this node is of the type specified - */ - public boolean isType(String type) { - return (type.equals(this.nodeType.toString())); - } - - - /** - * Returns type of a node. - * - * @return returns the type of this node - */ - public NodeType getType() { - return nodeType; - } - - - /** - * Returns the ID of a node. Typically, a string representing a word or a phoneme. - * - * @return this node's ID - */ - public String getID() { - return nodeId; - } - - - /** - * Validade node. Checks if all nodes have at least one incoming and one outgoing edge. - * - * @return if true, node passed validation - */ - public boolean validate() { - boolean passed = true; - - if (isType("WORD") || isType("PHONE")) { - if (nodeId == null) { - System.out.println("Content null in a WORD node."); - passed = false; - } - } - if ((incomingEdgesSize() == 0) && (outgoingEdgesSize() == 0)) { - System.out.println("Node not connected anywhere."); - passed = false; - } - return passed; - } - - - /** Prints out this node. */ - public void print() { - System.out.print("ID: " + nodeId); - System.out.print(" Type: " + nodeType + " | "); - for (startIncomingEdgeIterator(); - hasMoreIncomingEdges();) { - System.out.print(nextIncomingEdge() + " "); - } - System.out.print(" | "); - for (startOutgoingEdgeIterator(); - hasMoreOutgoingEdges();) { - System.out.print(nextOutgoingEdge() + " "); - } - System.out.println(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/NodeType.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/NodeType.java deleted file mode 100755 index f98c2ebe..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/NodeType.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - - -package edu.cmu.sphinx.trainer; - -/** Indicates node types such as beginning, end, containing word etc. */ -public class NodeType { - - private String name; - - /** NodeType to indicate dummy node. */ - public static final NodeType DUMMY = new NodeType("DUMMY"); - - /** NodeType to indicate node containing silence with loopback. */ - public static final NodeType SILENCE_WITH_LOOPBACK = - new NodeType("SILENCE_WITH_LOOPBACK"); - - /** NodeType to indicate the end of a speech utterance. */ - public static final NodeType UTTERANCE_END = new NodeType("UTTERANCE_END"); - - /** NodeType to indicate the start of am utterance. */ - public static final NodeType UTTERANCE_BEGIN = - new NodeType("UTTERANCE_BEGIN"); - - /** NodeType to indicate the node contains a word. */ - public static final NodeType WORD = new NodeType("WORD"); - - /** NodeType to indicate the node contains a word. */ - public static final NodeType PHONE = new NodeType("PHONE"); - - /** NodeType to indicate the node contains a word. */ - public static final NodeType STATE = new NodeType("STATE"); - - - /** Constructs a NodeType with the given name. - * @param name of the node type - */ - protected NodeType(String name) { - this.name = name; - } - - - /** - * Returns true if the given NodeType is equal to this NodeType. - * - * @param nodeType the NodeType to compare - * @return true if they are the same, false otherwise - */ - public boolean equals(NodeType nodeType) { - if (nodeType != null) { - return toString().equals(nodeType.toString()); - } else { - return false; - } - } - - - /** - * Returns the name of this NodeType. - * - * @return the name of this NodeType. - */ - @Override - public String toString() { - return name; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleControlFile.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleControlFile.java deleted file mode 100755 index 9ebef69d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleControlFile.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.S4Component; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.logging.Logger; - -/** Provides mechanisms for accessing a next utterance's file name and transcription. */ -public class SimpleControlFile implements ControlFile { - - @S4Component(type = TrainerDictionary.class) - public static final String DICTIONARY = "dictionary"; - private TrainerDictionary dictionary; - - private String audioFile; // the audio file - private String transcriptFile; // the transcript file - private String wordSeparator; // the word separator - private int currentPartition; // the current partition - private int numberOfPartitions; // total number of partitions - private Iterator audioFileIterator; // iterator for the control file - private Iterator transcriptFileIterator; // iterator for the transcriptions - private List audioFileList; // list containing the audio files - private List transcriptFileList; // list containing the transcriptions - - - /* - * The logger for this class - */ - private Logger logger; - - - public void newProperties(PropertySheet ps) throws PropertyException { - logger = ps.getLogger(); - this.dictionary = (TrainerDictionary)ps.getComponent(DICTIONARY); - try { - dictionary.allocate(); - } catch (IOException e) { - throw new PropertyException(e); - } - - this.audioFile = ps.getString(PROP_AUDIO_FILE); - this.transcriptFile = ps.getString(PROP_TRANSCRIPT_FILE); - this.currentPartition = ps.getInt(PROP_WHICH_BATCH); - this.numberOfPartitions = ps.getInt(PROP_TOTAL_BATCHES); - - - logger.info("Audio control file: " + this.audioFile); - logger.info("Transcript file: " + this.transcriptFile); - this.wordSeparator = " \t\n\r\f"; // the white spaces - logger.info("Processing part " + this.currentPartition + - " of " + this.numberOfPartitions); - try { - this.audioFileList = getLines(audioFile); - } catch (IOException ioe) { - throw new Error("IOE: Can't open file " + audioFile, ioe); - } - try { - this.transcriptFileList = getLines(transcriptFile); - } catch (IOException ioe) { - throw new Error("IOE: Can't open file " + transcriptFile, ioe); - } - } - - - /** Gets an iterator for utterances. */ - public void startUtteranceIterator() { - audioFileIterator = audioFileList.iterator(); - transcriptFileIterator = transcriptFileList.iterator(); - } - - - /** - * Returns whether there is another utterance. - * - * @return true if there is another utterance. - */ - public boolean hasMoreUtterances() { - // Should throw exception or break if one has next and the - // other doesn't. - return (audioFileIterator.hasNext() - && transcriptFileIterator.hasNext()); - } - - - /** - * Gets the next utterance. - * - * @return the next utterance. - */ - public Utterance nextUtterance() { - logger.fine("processing ext utterance"); - - String utteranceLine = audioFileIterator.next() + ".mfc"; - Utterance utterance = new SimpleUtterance(utteranceLine); - String utteranceFilename = - utteranceLine.replaceFirst("^.*/", "").replaceFirst("\\..*$", ""); - String transcriptLine = transcriptFileIterator.next(); - // Finds out if the audio file name is part of the transcript line - assert transcriptLine.matches(".*[ \t]\\(" + utteranceFilename + "\\)$") : - "File name in transcript \"" + transcriptLine + - "\" and control file \"" + utteranceFilename + - "\" have to match."; - // Removes the filename from the transcript line. - // The transcript line is of the form: - // She washed her dark suit (st002) - String transcript = transcriptLine.replaceFirst("[ \t]\\(.*\\)$", ""); - utterance.add(transcript, dictionary, false, wordSeparator); - return utterance; - } - - // Next method copied from decoder.BatchDecoder - - - /** - * Gets the set of lines from the file. - * - * @param file the name of the file - * @throws IOException if error occurs while reading file - */ - private List getLines(String file) throws IOException { - List list = new ArrayList(); - BufferedReader reader - = new BufferedReader(new FileReader(file)); - - String line = null; - - while ((line = reader.readLine()) != null) { - list.add(line); - } - reader.close(); - - if (numberOfPartitions > 1) { - int linesPerBatch = list.size() / numberOfPartitions; - if (linesPerBatch < 1) { - linesPerBatch = 1; - } - if (currentPartition >= numberOfPartitions) { - currentPartition = numberOfPartitions - 1; - } - int startLine = currentPartition * linesPerBatch; - // last batch needs to get all remaining lines - if (currentPartition == (numberOfPartitions - 1)) { - list = list.subList(startLine, list.size()); - } else { - list = list.subList(startLine, startLine + - linesPerBatch); - } - } - return list; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTrainManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTrainManager.java deleted file mode 100755 index 6d36fad9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTrainManager.java +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerAcousticModel; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.trainer.TrainerScore; -import edu.cmu.sphinx.util.Utilities; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4ComponentList; - -import java.io.IOException; -import java.util.List; - - -/** This is a dummy implementation of a TrainManager. */ -public class SimpleTrainManager implements TrainManager { - - @S4Component(type = ControlFile.class) - public static final String CONTROL_FILE = "control"; - private ControlFile controlFile; - - private boolean dumpMemoryInfo; - - @S4Component(type = Learner.class) - public static final String LEARNER = "learner"; - private Learner learner; - - @S4Component(type = Learner.class) - public static final String INIT_LEARNER = "initLearner"; - private Learner initLearner; - - @S4Component(type = UnitManager.class) - public static final String UNIT_MANAGER = "unitManager"; - private UnitManager unitManager; - - @S4ComponentList(type = TrainerAcousticModel.class) - public static final String AM_COLLECTION = "models"; - private List acousticModels; - - /** - * The property for the boolean property that controls whether or not the recognizer will display detailed - * memory information while it is running. The default value is true. - */ - @S4Boolean(defaultValue = false) - public final static String DUMP_MEMORY_INFO = "dumpMemoryInfo"; - - private int maxIteration; - private float minimumImprovement; - - - public void newProperties(PropertySheet ps) throws PropertyException { - dumpMemoryInfo = ps.getBoolean(DUMP_MEMORY_INFO); - learner = (Learner) ps.getComponent(LEARNER); - controlFile = (ControlFile) ps.getComponent(CONTROL_FILE); - initLearner = (Learner) ps.getComponent(INIT_LEARNER); - minimumImprovement = ps.getFloat(PROP_MINIMUM_IMPROVEMENT); - maxIteration = ps.getInt(PROP_MAXIMUM_ITERATION); - acousticModels = ps.getComponentList(AM_COLLECTION, TrainerAcousticModel.class); - unitManager = (UnitManager)ps.getComponent(UNIT_MANAGER); - } - - - /** Do the train. */ - public void train() { - assert controlFile != null; - for (controlFile.startUtteranceIterator(); - controlFile.hasMoreUtterances();) { - Utterance utterance = controlFile.nextUtterance(); - System.out.println(utterance); - for (utterance.startTranscriptIterator(); - utterance.hasMoreTranscripts();) { - System.out.println(utterance.nextTranscript()); - } - } - } - - - /** - * Copy the model. - *

- * This method copies to model set, possibly to a new location and new format. This is useful if one wants to - * convert from binary to ascii and vice versa, or from a directory structure to a JAR file. If only one model is - * used, then name can be null. - * - * @param context this TrainManager's context - * @throws IOException if an error occurs while loading the data - */ - public void copyModels(String context) throws IOException { - loadModels(context); - saveModels(context); - } - - - /** - * Saves the acoustic models. - * - * @param context the context of this TrainManager - * @throws IOException if an error occurs while loading the data - */ - public void saveModels(String context) throws IOException { - if (1 == acousticModels.size()) { - acousticModels.get(0).save(null); - } else { - for (AcousticModel model : acousticModels) { - if (model instanceof TrainerAcousticModel) { - TrainerAcousticModel tmodel = - (TrainerAcousticModel) model; - tmodel.save(model.getName()); - } - } - } - } - - - /** - * Loads the acoustic models. - * - * @param context the context of this TrainManager - */ - private void loadModels(String context) throws IOException { - dumpMemoryInfo("TrainManager start"); - - for (TrainerAcousticModel model : acousticModels) { - model.load(); - } - dumpMemoryInfo("acoustic model"); - - } - - - /** - * Initializes the acoustic models. - * - * @param context the context of this TrainManager - */ - public void initializeModels(String context) throws IOException { - TrainerScore score[]; - - dumpMemoryInfo("TrainManager start"); - - for (TrainerAcousticModel model : acousticModels) { - - for (controlFile.startUtteranceIterator(); - controlFile.hasMoreUtterances();) { - Utterance utterance = controlFile.nextUtterance(); - initLearner.setUtterance(utterance); - while ((score = initLearner.getScore()) != null) { - assert score.length == 1; - model.accumulate(0, score); - } - } - - // normalize() has a return value, but we can ignore it here. - model.normalize(); - } - dumpMemoryInfo("acoustic model"); - } - - - /** - * Trains context independent models. If the initialization stage was skipped, it loads models from files, - * automatically. - * - * @param context the context of this train manager. - * @throws IOException if IO went wrong - */ - public void trainContextIndependentModels(String context) - throws IOException { - UtteranceGraph uttGraph; - TrainerScore[] score; - TrainerScore[] nextScore; - - // If initialization was performed, then learner should not be - // null. Otherwise, we need to load the models. - if (learner == null) { - loadModels(context); - } - - - dumpMemoryInfo("TrainManager start"); - - for (TrainerAcousticModel model : acousticModels) { - float logLikelihood; - float lastLogLikelihood = Float.MAX_VALUE; - float relativeImprovement = 100.0f; - for (int iteration = 0; - (iteration < maxIteration) && - (relativeImprovement > minimumImprovement); - iteration++) { - System.out.println("Iteration: " + iteration); - model.resetBuffers(); - for (controlFile.startUtteranceIterator(); - controlFile.hasMoreUtterances();) { - Utterance utterance = controlFile.nextUtterance(); - uttGraph = - new UtteranceHMMGraph(context, utterance, model, unitManager); - learner.setUtterance(utterance); - learner.setGraph(uttGraph); - nextScore = null; - while ((score = learner.getScore()) != null) { - for (int i = 0; i < score.length; i++) { - if (i > 0) { - model.accumulate(i, score, nextScore); - } else { - model.accumulate(i, score); - } - } - nextScore = score; - } - model.updateLogLikelihood(); - } - logLikelihood = model.normalize(); - System.out.println("Loglikelihood: " + logLikelihood); - saveModels(context); - if (iteration > 0) { - if (lastLogLikelihood != 0) { - relativeImprovement = - (logLikelihood - lastLogLikelihood) / - lastLogLikelihood * 100.0f; - } else if (lastLogLikelihood == logLikelihood) { - relativeImprovement = 0; - } - System.out.println("Finished iteration: " + iteration + - " - Improvement: " + - relativeImprovement); - } - lastLogLikelihood = logLikelihood; - } - } - } - - - /** - * Conditional dumps out memory information - * - * @param what an additional info string - */ - private void dumpMemoryInfo(String what) { - if (dumpMemoryInfo) { - Utilities.dumpMemoryInfo(what); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTranscript.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTranscript.java deleted file mode 100755 index 4883c313..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleTranscript.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -import java.util.StringTokenizer; - -/** Provides mechanisms for accessing a transcription. */ -public class SimpleTranscript implements Transcript { - - private String transcript; // the transcript - private Dictionary dictionary; // the dictionary - boolean isExact; // is exact transcription? - private boolean wasInitialized; // Has this object been initialized? - private StringTokenizer words; // string tokenizer for current transcription. - private String wordSeparator; // word separators - - - /** - * Constructor for the SimpleTranscript. - * - * @param transcript this transcript's text - */ - public SimpleTranscript(String transcript) { - if (!wasInitialized) { - initialize(null, false); - } - this.transcript = transcript; - } - - - /** - * Constructor for the SimpleTranscript. - * - * @param dictionary this transcript's dictionary - * @param isExact whether the transcription is exact - */ - public SimpleTranscript(Dictionary dictionary, boolean isExact) { - initialize(dictionary, isExact); - } - - - /** - * Constructor for the SimpleTranscript. - * - * @param transcript this transcript's text - * @param dictionary this transcript's dictionary - * @param isExact whether the transcription is exact - * @param wordSeparator string containing the word separator characters. - */ - public SimpleTranscript(String transcript, Dictionary dictionary, - boolean isExact, String wordSeparator) { - this.transcript = transcript; - this.dictionary = dictionary; - this.isExact = isExact; - this.wordSeparator = wordSeparator; - } - - - /** - * Constructor for the SimpleTranscript. - * - * @param transcript this transcript's text - * @param dictionary this transcript's dictionary - * @param isExact whether the transcription is exact - */ - public SimpleTranscript(String transcript, Dictionary dictionary, - boolean isExact) { - this.transcript = transcript; - this.dictionary = dictionary; - this.isExact = isExact; - this.wordSeparator = " \t\n\r\f"; // the white spaces - } - - - /** - * Initializes the SimpleTranscript with dictionary and exact flag. - * - * @param dictionary this transcript's dictionary - * @param isExact whether the transcription is exact - */ - public void initialize(Dictionary dictionary, boolean isExact) { - this.dictionary = dictionary; - this.isExact = isExact; - wasInitialized = true; - } - - - /** - * Gets the transcription. - * - * @return current transcription string. - */ - public String getTranscriptText() { - return transcript; - } - - - /** - * Gets the transcript's dictionary. - * - * @return current dictionary. - */ - public Dictionary getDictionary() { - return dictionary; - } - - - /** - * Returns whether the transcript is exact. - * - * @return true is transcription is exact (has been forced aligned) - */ - public boolean isExact() { - return isExact; - } - - - /** - * Get the number of words in the transcription. - * - * @return number of words in the transcription. - */ - public int numberOfWords() { - return words.countTokens(); - } - - - /** Start the iterator for the words in the transcription. */ - public void startWordIterator() { - words = new StringTokenizer(transcript, wordSeparator); - } - - - /** - * Return whether there are more words. - * - * @return whether there are more words. - */ - public boolean hasMoreWords() { - return words.hasMoreTokens(); - } - - - /** - * Returns the next word. - * - * @return next word in the transcription. - */ - public String nextWord() { - return words.nextToken(); - } - - - /** - * Returns a string representation of this transcript. - * - * @return the string representation - */ - @Override - public String toString() { - String result = ""; - - result = "Dict: " + dictionary + " : transcript "; - if (isExact) { - result += "IS exact: "; - } else { - result += "is NOT exact: "; - } - result += transcript; - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleUtterance.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleUtterance.java deleted file mode 100755 index 4c545e1a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/SimpleUtterance.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.logging.Logger; - -/** Provides mechanism for handling a simple utterance. */ -public class SimpleUtterance implements Utterance { - - private String utteranceID; - private Collection transcriptSet; - private Iterator transcriptIterator; - - /* - * The logger for this class - */ - private static Logger logger = - Logger.getLogger("edu.cmu.sphinx.trainer.SimpleUtterance"); - - - /** Constructor for class SimpleUtterance. */ - public SimpleUtterance() { - transcriptSet = new LinkedList(); - } - - - /** - * Constructor for class SimpleUtterance. - * - * @param utteranceID the utterance ID, usually a file name. - */ - public SimpleUtterance(String utteranceID) { - logger.info("Utterance ID: " + utteranceID); - this.utteranceID = utteranceID; - this.transcriptSet = new LinkedList(); - } - - - /** - * Add transcript with dictionary and exact flag. - * - * @param transcript the transcript - * @param dictionary the default dictionary name - * @param isExact the default flag - * @param wordSeparator the word separator characters - */ - public void add(String transcript, Dictionary dictionary, - boolean isExact, String wordSeparator) { - logger.info("Transcript: " + transcript); - transcriptSet.add(new SimpleTranscript(transcript, dictionary, - isExact, wordSeparator)); - } - - - /** - * Starts the transcript iterator. - */ - public void startTranscriptIterator() { - transcriptIterator = transcriptSet.iterator(); - } - - - /** - * Returns whether there is a next transcript. - * - * @return true if there are more transcrips. - */ - public boolean hasMoreTranscripts() { - return transcriptIterator.hasNext(); - } - - - /** - * Gets next transcript. - * - * @return the next Trasncript. - */ - public Transcript nextTranscript() { - return transcriptIterator.next(); - } - - - /** - * Returns a string representation of this utterance. - * - * @return the string representation. - */ - @Override - public String toString() { - return utteranceID; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Stage.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Stage.java deleted file mode 100755 index 4a9d9a13..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Stage.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - - -/** - * Indicates stages during training. The numbers prepended to the names indicate the order in which they are performed. - * Consecutive numbers were avoided to allow for future expansion of alternative stages. The value of the numbers has no - * bearing on the importance or duration of each stage, it is just an ordering method. - */ -public class Stage { - - private String name; - - /** Initialization stage. */ - public static final Stage _00_INITIALIZATION = - new Stage("_00_INITIALIZATION"); - - /** Context independent model training stage. */ - public static final Stage _10_CI_TRAIN = new Stage("_10_CI_TRAIN"); - - /** Untied context dependent model training stage. */ - public static final Stage _20_UNTIED_CD_TRAIN = - new Stage("_20_UNTIED_CD_TRAIN"); - - /** State pruning stage. */ - public static final Stage _30_STATE_PRUNING = - new Stage("_30_STATE_PRUNING"); - - /** Tied context dependent model training stage. */ - public static final Stage _40_TIED_CD_TRAIN = - new Stage("_40_TIED_CD_TRAIN"); - - /** Copy models, possibly changing format. */ - public static final Stage _90_CP_MODEL = - new Stage("_90_CP_MODEL"); - - - /** Constructs a Stage with the given name. - * @param name the name to use - */ - protected Stage(String name) { - this.name = name; - } - - - /** - * Returns true if the given Stage is equal to this Stage. - * - * @param stage the Stage to compare - * @return true if they are the same, false otherwise - */ - public boolean equals(Stage stage) { - if (stage != null) { - return toString().equals(stage.toString()); - } else { - return false; - } - } - - - /** - * Returns true if the given String is equal to this Stage's name. - * - * @param stage the Stage to compare - * @return true if they are the same, false otherwise - */ - public boolean equals(String stage) { - if (stage != null) { - return toString().equals(stage); - } else { - return false; - } - } - - - /** - * Returns the name of this Stage. - * - * @return the name of this Stage. - */ - @Override - public String toString() { - return name; - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainManager.java deleted file mode 100755 index 18d0cf7d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainManager.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -import java.io.IOException; - -/** Manages inputs and outputs to the other trainer classes. */ -public interface TrainManager extends Configurable { - - /** The minimum relative improvement of the log likelihood associated with the training data. */ - @S4Double(defaultValue = 0.2f) - public final static String PROP_MINIMUM_IMPROVEMENT = "minimumImprovement"; - - /** The maximum number of iterations. */ - @S4Integer(defaultValue = 15) - public final static String PROP_MAXIMUM_ITERATION = "maximumIteration"; - - - /** Do the train. */ - public void train(); - - /** - * Saves the acoustic models. - * - * @param context the context of this TrainManager - * @throws IOException if an error occurs while loading the data - */ - void saveModels(String context) throws IOException; - - - /** - * Copy the model. - *

- * This method copies to model set, possibly to a new location and new format. This is useful if one wants to - * convert from binary to ascii and vice versa, or from a directory structure to a JAR file. If only one model is - * used, then name can be null. - * - * @param context this TrainManager's context - * @throws IOException if an error occurs while loading the data - */ - void copyModels(String context) throws IOException; - - - /** - * Initializes the acoustic models. - * - * @param context the context of this TrainManager - * @throws IOException if something went wrong - */ - void initializeModels(String context) throws IOException; - - - /** - * Trains context independent models. If the initialization stage was skipped, it loads models from files, - * automatically. - * - * @param context the context of this train manager. - * @throws IOException if something went wrong - */ - void trainContextIndependentModels(String context) throws IOException; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Trainer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Trainer.java deleted file mode 100755 index f6726303..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Trainer.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - - -import java.io.IOException; -import java.util.*; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4String; - - -/** - * Trains models given a set of audio files. - *

- * At this point, a very simple file that helps us debug the code. - */ -public class Trainer implements Configurable { - - @S4Component(type = TrainManager.class) - public static final String TRAIN_MANAGER = "trainManager"; - - /** The property for the initial trainer stage to be processed. */ - @S4String(defaultValue = "_00_INITIALIZATION") - public final static String PROP_INITIAL_STAGE = "initialStage"; - - /** The property for the final trainer stage to be processed. */ - @S4String(defaultValue = "_40_TIED_CD_TRAIN") - public final static String PROP_FINAL_STAGE = "finalStage"; - - private String initialStage; - private String finalStage; - private boolean isStageActive; - private List StageList = new LinkedList(); - private Set StageNames = new HashSet(); - - private TrainManager trainManager; - - public void newProperties(PropertySheet ps) throws PropertyException { - trainManager = (TrainManager) ps.getComponent(TRAIN_MANAGER); - - initialStage = ps.getString(PROP_INITIAL_STAGE); - finalStage = ps.getString(PROP_FINAL_STAGE); - - addStage(Stage._00_INITIALIZATION); - addStage(Stage._10_CI_TRAIN); - addStage(Stage._20_UNTIED_CD_TRAIN); - addStage(Stage._30_STATE_PRUNING); - addStage(Stage._40_TIED_CD_TRAIN); - addStage(Stage._90_CP_MODEL); - } - - - /** - * Add Stage to a list of stages. - * - * @param stage the Stage to add - */ - private void addStage(Stage stage) { - StageList.add(stage); - StageNames.add(stage.toString()); - } - - - /** - * Process this stage. - * - * @param context this trainer's context - */ - private void processStages(String context) { - if (!(StageNames.contains(initialStage) && - StageNames.contains(finalStage))) { - return; - } - for (Stage stage : StageList) { - if (!isStageActive) { - if (initialStage.equals(stage.toString())) { - isStageActive = true; - } - } - if (isStageActive) { - /* - * Not sure of an elegant way to do it. For each - * stage, it should call a different method. Switch - * would be a good solution, but it works with int, - * and stage is of type Stage. - * - * run(); - */ - try { - if (stage.equals(Stage._00_INITIALIZATION)) { - System.out.println("00 - Initializing"); - trainManager.initializeModels(context); - System.out.println("Saving"); - trainManager.saveModels(context); - } else if (stage.equals(Stage._10_CI_TRAIN)) { - System.out.println("01 - CI train"); - trainManager.trainContextIndependentModels(context); - System.out.println("Saving"); - trainManager.saveModels(context); - } else if (stage.equals(Stage._20_UNTIED_CD_TRAIN)) { - System.out.println("02 - Untied CD train"); - } else if (stage.equals(Stage._30_STATE_PRUNING)) { - System.out.println("03 - State pruning"); - } else if (stage.equals(Stage._40_TIED_CD_TRAIN)) { - System.out.println("04 - Tied CD train"); - } else if (stage.equals(Stage._90_CP_MODEL)) { - System.out.println("Copying"); - trainManager.copyModels(context); - } else { - assert false : "stage not implemented"; - } - } catch (IOException ioe) { - ioe.printStackTrace(); - throw new Error("IOE: Can't finish trainer " + ioe, ioe); - } - - if (finalStage.equals(stage.toString())) { - isStageActive = false; - } - } - } - } - - - /** - * Main method of this Trainer. - * - * @param argv argv[0] : XML configuration file - */ - public static void main(String[] argv) { - - if (argv.length > 1) { - System.out.println - ("Usage: Trainer [config]"); - System.exit(1); - } - String context = "trainer"; - - if (argv.length == 1) { - String configFile = argv[0]; - - ConfigurationManager cm = new ConfigurationManager(configFile); - Trainer trainer = (Trainer)cm.lookup (context); - trainer.processStages(context); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerDictionary.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerDictionary.java deleted file mode 100755 index 5680429c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerDictionary.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.Unit; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; -import edu.cmu.sphinx.linguist.dictionary.Pronunciation; - -/** Dummy trainer dictionary. */ -public class TrainerDictionary extends TextDictionary { - - static final String UTTERANCE_BEGIN_SYMBOL = ""; - static final String UTTERANCE_END_SYMBOL = ""; - static final String SILENCE_SYMBOL = "SIL"; - - - /** - * Gets a word pronunciation graph. Dummy initial and final states optional. - * - * @param word the word - * @param hasDummy if true, the graph will have dummy initial and final states - * @return the graph - */ - public Graph getWordGraph(String word, boolean hasDummy) { - Graph wordGraph = new Graph(); - Pronunciation[] pronunciations; - Unit[] units; - Node prevNode; - Node wordNode = null; - int pronunciationID = 0; - String wordWithoutParentheses = word.replaceFirst("\\(.*\\)", ""); - - if (word.equals(wordWithoutParentheses)) { - pronunciationID = 0; - } else { - String number = - word.replaceFirst(".*\\(", "").replaceFirst("\\)", ""); - try { - pronunciationID = Integer.parseInt(number); - } catch (NumberFormatException nfe) { - throw new Error("Word with invalid pronunciation ID", nfe); - } - } - pronunciations - = getWord(wordWithoutParentheses).getPronunciations(); - if (pronunciations == null) { - System.out.println("Pronunciation not found for word " + - wordWithoutParentheses); - return null; - } - if (pronunciationID >= pronunciations.length) { - System.out.println("Dictionary has only " + - pronunciations.length + - " for word " + word); - return null; - } - units = pronunciations[pronunciationID].getUnits(); - assert units != null : "units is empty: problem with dictionary?"; - - // Now, create the graph, where each node contains a single unit - if (hasDummy) { - Node initialNode = new Node(NodeType.DUMMY); - wordGraph.addNode(initialNode); - wordGraph.setInitialNode(initialNode); - prevNode = initialNode; - } else { - prevNode = null; - } - for (Unit unit : units) { - // create a new node for the next unit - wordNode = new Node(NodeType.PHONE, unit.getName()); - if (prevNode == null) { - wordGraph.addNode(wordNode); - wordGraph.setInitialNode(wordNode); - } else { - // Link the new node into the graph - wordGraph.linkNodes(prevNode, wordNode); - } - prevNode = wordNode; - } - // All words are done. Just add the final node - if (hasDummy) { - wordNode = new Node(NodeType.DUMMY); - wordGraph.linkNodes(prevNode, wordNode); - } - assert wordNode != null; - wordGraph.setFinalNode(wordNode); - - return wordGraph; - } - - - /** Prints out dictionary as a string. */ - @Override - public String toString() { - return "DEFAULT"; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerLink.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerLink.java deleted file mode 100755 index 328d99f1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerLink.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -/** Provides mechanisms for handling tokens in the trainer. */ -public class TrainerLink { - - private TrainerToken source; - private TrainerToken destination; - private Edge transition; - - - public TrainerLink(Edge transition, TrainerToken source, TrainerToken destination) { - this.source = source; - this.transition = transition; - this.destination = destination; - } - - - public TrainerToken getSource() { - return source; - } - - - public TrainerToken getDestination() { - return destination; - } - - - public Edge getTransition() { - return transition; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerToken.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerToken.java deleted file mode 100755 index 2b93b1d4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TrainerToken.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -/** Provides mechanisms for handling tokens in the trainer. */ -public class TrainerToken /* extends Token */ { - - // private Collection linkToParent; - // private Collection linkToChild; - // private float alpha; - // private float beta; - // - // private Node state; - // private boolean isEmitting; - // private Data dataVector; - // private int timeStamp; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Transcript.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Transcript.java deleted file mode 100755 index 0c79fbff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Transcript.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -/** Provides mechanisms for accessing an utterance's transcription. */ -public interface Transcript { - - /** @return the transcript's text */ - public String getTranscriptText(); - - - /** @return the transcript's dictionary. */ - public Dictionary getDictionary(); - - - /** @return whether the transcript is exact. */ - public boolean isExact(); - - - /** @return the number of words in the transcription. */ - public int numberOfWords(); - - - /** Start the iterator for the words in the transcription. */ - public void startWordIterator(); - - - /** @return whether there are more words. */ - public boolean hasMoreWords(); - - - /** @return the next word. */ - public String nextWord(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptGraph.java deleted file mode 100755 index 6a7700af..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptGraph.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - - -/** Interface to the TranscriptGraph, a graph of a transcript */ -public interface TranscriptGraph { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptHMMGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptHMMGraph.java deleted file mode 100755 index 47da2af3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/TranscriptHMMGraph.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; - -/** Defines the Transcript Graph */ -public class TranscriptHMMGraph extends Graph implements TranscriptGraph { - - public TranscriptHMMGraph(String context, Transcript transcript, - AcousticModel acousticModel, UnitManager unitManager) { - super(); - BuildTranscriptHMM builder = - new BuildTranscriptHMM(context, transcript, acousticModel, unitManager); - copyGraph(builder.getGraph()); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Utterance.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Utterance.java deleted file mode 100755 index a045337b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/Utterance.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.dictionary.Dictionary; - -/** Provides mechanisms for accessing an utterance. */ -public interface Utterance { - - /** - * Add transcript with dictionary and exact flag. - * - * @param transcript the transcript - * @param dictionary the default dictionary name - * @param isExact the default flag - * @param wordSeparator the word separator characters - */ - public void add(String transcript, Dictionary dictionary, - boolean isExact, String wordSeparator); - - - /** Gets the transcript iterator. */ - public void startTranscriptIterator(); - - - /** @return whether there is a next transcript. */ - public boolean hasMoreTranscripts(); - - - /** @return next transcript. */ - public Transcript nextTranscript(); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceGraph.java deleted file mode 100755 index a10668bb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceGraph.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - - -/** Interface to the UtteranceGraph, a graph of an utterance. */ -public interface UtteranceGraph { - - /** - * Add a transcript graph to the current utterance graph. - * - * @param transcriptGraph the transcript graph to add - */ - public void add(Graph transcriptGraph); - - - /** @return the size of a graph. This is the number of nodes in a graph. */ - public int size(); - - - /** - * Get node at the specified position in the list. The order is the same in which the nodes were entered. - * - * @param index index of item to retun - * @return the node - */ - public Node getNode(int index); - - - /** - * Gets the initial node in this graph - * - * @return the initial node - */ - public Node getInitialNode(); - - - /** - * Gets the final node in this graph - * - * @return the final node - */ - public Node getFinalNode(); - - - /** - * Returns whether the given node is the initial node in this graph. - * - * @param node the node we want to compare - * @return if true, the node is the initial node - */ - public boolean isInitialNode(Node node); - - - /** - * Returns whether the given node is the final node in this graph. - * - * @param node the node we want to compare - * @return if true, the node is the final node - */ - public boolean isFinalNode(Node node); - - - /** - * Gets the index of a particular node in the graph. - * - * @param node the node - * @return the index - */ - public int indexOf(Node node); - - - /** - * Validate the graph. It checks out basics about the graph, such as whether all nodes have at least one incoming - * and outgoing edge, except for the initial and final. - * - * @return if true, graph validation passed - */ - public boolean validate(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceHMMGraph.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceHMMGraph.java deleted file mode 100755 index 83a4ed6c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/trainer/UtteranceHMMGraph.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.trainer; - -import edu.cmu.sphinx.linguist.acoustic.AcousticModel; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; - -/** Defines the Utterance Graph. */ -public class UtteranceHMMGraph extends Graph implements UtteranceGraph { - - public UtteranceHMMGraph(String context, Utterance utterance, AcousticModel acousticModel, UnitManager unitManager) { - super(); - - Graph transcriptGraph; - for (utterance.startTranscriptIterator(); - utterance.hasMoreTranscripts();) { - Transcript transcript = utterance.nextTranscript(); - transcriptGraph = new TranscriptHMMGraph(context, transcript, - acousticModel, unitManager); - add(transcriptGraph); - } - } - - - /** - * Add a transcript graph to the current utterance graph. - * Implementation requires a single transcript per - * utterance. The copy will fail if the current utterance - * graph is not empty. - * - * @param transcriptGraph the transcript graph - */ - public void add(Graph transcriptGraph) { - copyGraph(transcriptGraph); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchFile.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchFile.java deleted file mode 100755 index 77a44b2a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchFile.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - - -/** Provides a set of utilities methods for manipulating batch files. */ -public class BatchFile { - - /** - * Returns a List of the lines in a batch file. - * - * @param batchFile the batch file to read - * @return a List of the lines in a batch file - * @throws IOException if something went wrong - */ - public static List getLines(String batchFile) throws IOException { - return getLines(batchFile, 0); - } - - - /** - * Returns a List of the lines in a batch file. - * - * @param batchFile the batch file to read - * @param skip the number of lines to skip between items - * @return a List of the lines in a batch file - * @throws IOException if something went wrong - */ - public static List getLines(String batchFile, int skip) throws IOException { - int curCount = skip; - List list = new ArrayList(); - BufferedReader reader = new BufferedReader(new FileReader(batchFile)); - - String line = null; - - while ((line = reader.readLine()) != null) { - if (!line.isEmpty()) { - if (++curCount >= skip) { - list.add(line); - curCount = 0; - } - } - } - reader.close(); - return list; - } - - - /** - * Returns the file name portion of a line in a batch file. This is the portion of the line before the first space. - * - * @param batchFileLine the source line - * @return the file name portion of a line in a batch file. - */ - public static String getFilename(String batchFileLine) { - int firstSpace = batchFileLine.indexOf(' '); - return batchFileLine.substring(0, firstSpace).trim(); - } - - - /** - * Returns the reference string portion of a line in a batch file. This is the portion of the line after the first - * space - * - * @param batchFileLine the source line - * @return the reference string portion of a line in a batch file. - */ - public static String getReference(String batchFileLine) { - int firstSpace = batchFileLine.indexOf(' '); - return batchFileLine.substring(firstSpace + 1).trim(); - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchItem.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchItem.java deleted file mode 100755 index 100a120b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchItem.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - - -/** Provides a standard interface to for a single decode in a batch of decodes */ -public class BatchItem { - - private final String filename; - private final String transcript; - - - /** - * Creates a batch item - * - * @param filename the filename - * @param transcript the transcript - */ - public BatchItem(String filename, String transcript) { - this.filename = filename; - this.transcript = transcript; - } - - - /** - * Gets the filename for this batch - * - * @return the file name - */ - public String getFilename() { - return filename; - } - - - /** - * Gets the transcript for the batch - * - * @return the transcript (or null if there is no transcript) - */ - public String getTranscript() { - return transcript; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchManager.java deleted file mode 100755 index 246fe577..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/BatchManager.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.io.IOException; - - -/** Provides a standard interface to a batching mechanism */ -public interface BatchManager { - - - /** - * Starts processing the batch - * - * @throws IOException if an error occurs while processing the batch file - */ - public void start() throws IOException; - - - /** - * Gets the next available batch item or null if no more are available - * - * @return the next available batch item - * @throws IOException if an error occurs while processing the batch file - */ - public BatchItem getNextItem() throws IOException; - - - /** - * Stops processing the batch - * - * @throws IOException if an error occurs while processing the batch file - */ - public void stop() throws IOException; - - - /** - * Returns the name of the file - * - * @return the filename - */ - public String getFilename(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Cache.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Cache.java deleted file mode 100755 index a161f124..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Cache.java +++ /dev/null @@ -1,62 +0,0 @@ -package edu.cmu.sphinx.util; - -import java.util.HashMap; -import java.util.Map; - -/** - * Provides a simple object cache. - * - *

Object stored in cache must properly implement {@link Object#hashCode hashCode} and {@link Object#equals equals}. - * - *

Note that this class is not synchronized. - * If multiple threads access a cache concurrently, and at least one of - * the threads modifies the cache, it must be synchronized externally. - * This is typically accomplished by synchronizing on some object that - * naturally encapsulates the cache. - */ -public class Cache { - - private Map map = new HashMap(); - - private int hits = 0; - - /** - * Puts the given object in the cache if it is not already present. - * - *

If the object is already cached, than the instance that exists in the cached is returned. - * Otherwise, it is placed in the cache and null is returned. - * - * @param object object to cache - * @return the cached object or null if the given object was not already cached - */ - public T cache(T object) { - T result = map.get(object); - if (result == null) { - map.put(object, object); - } else { - hits++; - } - return result; - } - - /** - * Returns the number of cache hits, which is the number of times {@link #cache} was called - * and returned an object that already existed in the cache. - * - * @return the number of cache hits - */ - public int getHits() { - return hits; - } - - /** - * Returns the number of cache misses, which is the number of times {@link #cache} was called - * and returned null (after caching the object), effectively representing the size of the cache. - * - * @return the number of cache misses - */ - public int getMisses() { - return map.size(); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterface.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterface.java deleted file mode 100755 index 5bae22fa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -/** - * An interface implemented by command functions typically added to a command interpreter - * - * @see CommandInterpreter - */ - -public interface CommandInterface { - - /** - * Execute the given command. - * - * @param ci the command interpretere that invoked this command. - * @param args command line arguments (just like main). - * @return a command result - */ - public String execute(CommandInterpreter ci, String[] args); - - - /** - * Returns a one line description of the command - * - * @return a one-liner help message - */ - public String getHelp(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterpreter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterpreter.java deleted file mode 100755 index 12822f45..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CommandInterpreter.java +++ /dev/null @@ -1,774 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -import java.io.*; -import java.net.Socket; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.regex.PatternSyntaxException; - - -/** - * This class is a command interpreter. It reads strings from an input stream, parses them into commands and executes - * them, results are sent back on the output stream. - * - * @see CommandInterpreter - */ - -public class CommandInterpreter extends Thread { - - private Map commandList; - private int totalCommands; - private BufferedReader in; - private PrintWriter out; - private String prompt; - private boolean done; - private boolean trace; - private final CommandHistory history = new CommandHistory(); - - private Socket socket; - - - /** - * Creates a command interpreter that reads/writes on the given streams. - * - * @param in the input stream. - * @param out the output stream. - */ - - public CommandInterpreter(BufferedReader in, PrintWriter out) { - init(in, out); - } - - - /** - * Sets the trace mode of the command interpreter. - * - * @param trace true if tracing. - */ - - public void setTrace(boolean trace) { - this.trace = trace; - } - - - /** Creates a command interpreter that won't read a stream. */ - - public CommandInterpreter() { - BufferedReader bin = - new BufferedReader(new InputStreamReader(System.in)); - - PrintWriter pw = new PrintWriter(System.out); - init(bin, pw); - } - - - /** Initializes the CI */ - - private void init(BufferedReader in, PrintWriter out) { - commandList = new HashMap(); - addStandardCommands(); - setStreams(in, out); - } - - - /** - * Sets the I/O streams - * - * @param in the input stream. - * @param out the output stream. - */ - public void setStreams(BufferedReader in, PrintWriter out) { - this.in = in; - this.out = out; - } - - - /** @return the Socket this CommandInterpreter uses. */ - public Socket getSocket() { - return socket; - } - - - /** - * Sets the Socket for this CommandInterpreter. - * - * @param skt the Socket this CommandInterpreter uses - */ - public void setSocket(Socket skt) { - socket = skt; - } - - - /** Adds the set of standard commands */ - - private void addStandardCommands() { - add("help", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - dumpCommands(); - return ""; - } - - - public String getHelp() { - return "lists available commands"; - } - }); - - add("history", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - history.dump(); - return ""; - } - - - public String getHelp() { - return "shows command history"; - } - }); - - add("status", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - putResponse("Total number of commands: " + totalCommands); - return ""; - } - - - public String getHelp() { - return "shows command status"; - } - }); - - add("echo", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - StringBuilder b = new StringBuilder(80); - - for (int i = 1; i < args.length; i++) { - b.append(args[i]); - b.append(' '); - } - putResponse(b.toString()); - return ""; - } - - - public String getHelp() { - return "display a line of text"; - } - }); - - add("quit", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - done = true; - return ""; - } - - - public String getHelp() { - return "exit the shell"; - } - }); - - add("on_exit", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - return ""; - } - - - public String getHelp() { - return "command executed upon exit"; - } - }); - - add("version", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - putResponse("Command Interpreter - Version 1.1 "); - return ""; - } - - - public String getHelp() { - return "displays version information"; - } - }); - - add("gc", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - Runtime.getRuntime().gc(); - return ""; - } - - - public String getHelp() { - return "performs garbage collection"; - } - }); - - add("memory", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - long totalMem = Runtime.getRuntime().totalMemory(); - long freeMem = Runtime.getRuntime().freeMemory(); - - putResponse("Free Memory : " - + freeMem / (1024.0 * 1024) + " mbytes"); - putResponse("Total Memory : " - + totalMem / (1024.0 * 1024) + " mbytes"); - return ""; - } - - - public String getHelp() { - return "shows memory statistics"; - } - }); - - - add("delay", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length == 2) { - try { - float seconds = Float.parseFloat(args[1]); - Thread.sleep((long) (seconds * 1000)); - } catch (NumberFormatException nfe) { - putResponse("Usage: delay time-in-seconds"); - } catch (InterruptedException ie) { - } - } else { - putResponse("Usage: delay time-in-seconds"); - } - return ""; - } - - - public String getHelp() { - return "pauses for a given number of seconds"; - } - }); - - add("repeat", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length >= 3) { - try { - int count = Integer.parseInt(args[1]); - String[] subargs = Arrays.copyOfRange(args, 2, args.length); - for (int i = 0; i < count; i++) { - putResponse(CommandInterpreter.this.execute(subargs)); - } - } catch (NumberFormatException nfe) { - putResponse("Usage: repeat count command args"); - } - } else { - putResponse("Usage: repeat count command args"); - } - return ""; - } - - - public String getHelp() { - return "repeatedly execute a command"; - } - }); - - add("load", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length == 2) { - if (!load(args[1])) { - putResponse("load: trouble loading " + args[1]); - } - } else { - putResponse("Usage: load filename"); - } - return ""; - } - - - public String getHelp() { - return "load and execute commands from a file"; - } - }); - - add("chain", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length > 1) { - String[] subargs = new String[args.length - 1]; - List commands = new ArrayList(5); - int count = 0; - for (int i = 1; i < args.length; i++) { - if (args[i].equals(";")) { - if (count > 0) { - commands.add(Arrays.copyOf(subargs, count)); - count = 0; - } - } else { - subargs[count++] = args[i]; - } - } - - if (count > 0) { - commands.add(Arrays.copyOf(subargs, count)); - } - - for (String[] command : commands) { - putResponse(CommandInterpreter.this.execute(command)); - } - } else { - putResponse("Usage: chain cmd1 ; cmd2 ; cmd3 "); - } - return ""; - } - - - public String getHelp() { - return "execute multiple commands on a single line"; - } - }); - - add("time", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - if (args.length > 1) { - String[] subargs = Arrays.copyOfRange(args, 1, args.length); - long startTime = System.currentTimeMillis(); - long endTime; - - putResponse(CommandInterpreter.this.execute(subargs)); - endTime = System.currentTimeMillis(); - - putResponse("Time: " + ((endTime - startTime) / 1000.0) - + " seconds"); - - } else { - putResponse("Usage: time cmd [args]"); - } - return ""; - } - - - public String getHelp() { - return "report the time it takes to run a command"; - } - }); - } - - - /** Dumps the commands in the interpreter */ - - private void dumpCommands() { - for (Map.Entry entry : new TreeMap(commandList).entrySet()) - putResponse(entry.getKey() + " - " + entry.getValue().getHelp()); - } - - - /** - * Adds the given command to the command list. - * - * @param name the name of the command. - * @param command the command to be executed. - */ - public void add(String name, CommandInterface command) { - commandList.put(name, command); - } - - - /** - * Adds an alias to the command - * - * @param command the name of the command. - * @param alias the new aliase - */ - public void addAlias(String command, String alias) { - commandList.put(alias, commandList.get(command)); - } - - - /** - * Add the given set of commands to the list of commands. - * - * @param newCommands the new commands to add to this interpreter. - */ - public void add(Map newCommands) { - commandList.putAll(newCommands); - } - - - /** - * Outputs a response to the sender. - * - * @param response the response to send. - */ - - public synchronized void putResponse(String response) { - if (response != null && !response.isEmpty()) { - out.println(response); - out.flush(); - if (trace) { - System.out.println("Out: " + response); - } - } - } - - - /** Called when the interpreter is exiting. Default behavior is to execute an "on_exit" command. */ - - protected void onExit() { - execute("on_exit"); - System.out.println("----------\n"); - } - - - /** - * Execute the given command. - * - * @param args command args, args[0] contains name of cmd. - * @return result string - */ - protected String execute(String[] args) { - String response = ""; - - CommandInterface ci; - - if (args.length > 0) { - - ci = commandList.get(args[0]); - if (ci != null) { - response = ci.execute(this, args); - } else { - response = "ERR CMD_NOT_FOUND"; - } - - totalCommands++; - } - return response; - } - - - /** - * Execute the given command string. - * - * @param cmdString the command string. - * @return result string - */ - public String execute(String cmdString) { - if (trace) { - System.out.println("Execute: " + cmdString); - } - return execute(parseMessage(cmdString)); - } - - - /** - * Parses the given message into an array of strings. - * - * @param message the string to be parsed. - * @return the parsed message as an array of strings - */ - protected String[] parseMessage(String message) { - int tokenType; - List words = new ArrayList(20); - StreamTokenizer st = new StreamTokenizer(new StringReader(message)); - - st.resetSyntax(); - st.whitespaceChars(0, ' '); - st.wordChars('!', 255); - st.quoteChar('"'); - st.quoteChar('\"'); - st.commentChar('#'); - - while (true) { - try { - tokenType = st.nextToken(); - if (tokenType == StreamTokenizer.TT_WORD) { - words.add(st.sval); - } else if (tokenType == '\'' || tokenType == '"') { - words.add(st.sval); - } else if (tokenType == StreamTokenizer.TT_NUMBER) { - System.out.println("Unexpected numeric token!"); - } else { - break; - } - } catch (IOException e) { - break; - } - } - return words.toArray(new String[words.size()]); - } - - // inherited from thread. - - - @Override - public void run() { - while (!done) { - try { - printPrompt(); - String message = getInputLine(); - if (message == null) { - break; - } else { - if (trace) { - System.out.println("\n----------"); - System.out.println("In : " + message); - } - message = message.trim(); - if (!message.isEmpty()) { - putResponse(execute(message)); - } - } - } - catch (IOException e) { - System.out.println("Exception: CommandInterpreter.run()"); - break; - } - } - onExit(); - } - - // some history patterns used by getInputLine() - - private static final Pattern historyPush = Pattern.compile("(.+):p"); - private static final Pattern editPattern = - Pattern.compile("\\^(.+?)\\^(.*?)\\^?"); - private static final Pattern bbPattern = Pattern.compile("(!!)"); - - - /** - * Gets the input line. Deals with history. Currently we support simple csh-like history. !! - execute last command, - * !-3 execute 3 from last command, !2 execute second command in history list, !foo - find last command that started - * with foo and execute it. Also allows editing of the last command wich ^old^new^ type replacesments - * - * @return the next history line or null if done - */ - private String getInputLine() throws IOException { - String message = in.readLine(); - if (message == null) - return null; - - boolean justPush = false; - boolean echo = false; - boolean error = false; - - Matcher m = historyPush.matcher(message); - if (m.matches()) { - justPush = true; - echo = true; - message = m.group(1); - } - if (message.startsWith("^")) { // line editing ^foo^fum^ - m = editPattern.matcher(message); - if (m.matches()) { - String orig = m.group(1); - String sub = m.group(2); - try { - Pattern pat = Pattern.compile(orig); - Matcher subMatcher = pat.matcher(history.getLast(0)); - if (subMatcher.find()) { - message = subMatcher.replaceFirst(sub); - echo = true; - } else { - error = true; - putResponse(message + ": substitution failed"); - } - } catch (PatternSyntaxException pse) { - error = true; - putResponse("Bad regexp: " + pse.getDescription()); - } - } else { - error = true; - putResponse("bad substitution sytax, use ^old^new^"); - } - } else if ((m = bbPattern.matcher(message)).find()) { - message = m.replaceAll(history.getLast(0)); - echo = true; - } else if (message.startsWith("!")) { - if (message.matches("!\\d+")) { - int which = Integer.parseInt(message.substring(1)); - message = history.get(which); - } else if (message.matches("!-\\d+")) { - int which = Integer.parseInt(message.substring(2)); - message = history.getLast(which - 1); - } else { - message = history.findLast(message.substring(1)); - } - echo = true; - } - - if (error) { - return ""; - } - - if (!message.isEmpty()) { - history.add(message); - } - - if (echo) { - putResponse(message); - } - return justPush ? "" : message; - } - - - public void close() { - done = true; - } - - - /** Prints the prompt. */ - - private void printPrompt() { - if (prompt != null) { - out.print(prompt); - out.flush(); - } - } - - - public boolean load(String filename) { - try { - FileReader fr = new FileReader(filename); - BufferedReader br = new BufferedReader(fr); - String inputLine; - - while ((inputLine = br.readLine()) != null) { - String response = CommandInterpreter.this.execute(inputLine); - if (!response.equals("OK")) { - putResponse(response); - } - } - fr.close(); - return true; - } catch (IOException ioe) { - return false; - } - } - - - /** - * Sets the prompt for the interpreter - * - * @param prompt the prompt. - */ - - public void setPrompt(String prompt) { - this.prompt = prompt; - } - - - /** - * Gets the prompt for the interpreter - * - * @return the prompt. - */ - - public String getPrompt() { - return prompt; - } - - - /** - * Returns the output stream of this CommandInterpreter. - * - * @return the output stream - */ - public PrintWriter getPrintWriter() { - return out; - } - - - public static void main(String[] args) { - CommandInterpreter ci = new CommandInterpreter(); - - try { - System.out.println("Welcome to the Command interpreter test program"); - ci.setPrompt("CI> "); - ci.run(); - System.out.println("Goodbye!"); - } catch (Throwable t) { - System.out.println(t); - } - } - - - class CommandHistory { - - private final List history = new ArrayList(100); - - - /** - * Adds a command to the history - * - * @param command the command to add - */ - public void add(String command) { - history.add(command); - } - - - /** - * Gets the most recent element in the history - * - * @param offset the offset from the most recent command - * @return the last command executed - */ - public String getLast(int offset) { - if (history.size() > offset) { - return history.get((history.size() - 1) - offset); - } else { - putResponse("command not found"); - return ""; - } - } - - - /** - * Gets the most recent element in the history - * - * @param which the offset from the most recent command - * @return the last command executed - */ - public String get(int which) { - if (history.size() > which) { - return history.get(which); - } else { - putResponse("command not found"); - return ""; - } - } - - - /** - * Finds the most recent message that starts with the given string - * - * @param match the string to match - * @return the last command executed that matches match - */ - public String findLast(String match) { - for (int i = history.size() - 1; i >= 0; i--) { - String cmd = get(i); - if (cmd.startsWith(match)) { - return cmd; - } - } - putResponse("command not found"); - return ""; - } - - - /** Dumps the current history */ - public void dump() { - for (int i = 0; i < history.size(); i++) { - String cmd = get(i); - putResponse(i + " " + cmd); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Complex.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Complex.java deleted file mode 100755 index f93fc9fc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Complex.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -/** Implements complex types and arythmetics */ -public class Complex { - - /** The real part of a complex number. */ - private double real; - - /** The imaginary part of a complex number. */ - private double imaginary; - - - /** Create a default complex number */ - public Complex() { - reset(); - } - - - /** Create a complex number from a real one - * @param real source value - */ - public Complex(double real) { - set(real, 0.0f); - } - - - /** Create a complex number from the real and imaginary parts - * @param real real part - * @param imaginary imaginary part - */ - public Complex(double real, double imaginary) { - set(real, imaginary); - } - - - /** - * Returns the real part of this Complex number. - * - * @return the real part - */ - public double getReal() { - return real; - } - - - /** - * Returns the imaginary part of this Complex number. - * - * @return the imaginary part - */ - public double getImaginary() { - return imaginary; - } - - - /** Sets both the real and imaginary parts of this complex number to zero. */ - public void reset() { - this.real = 0.0f; - this.imaginary = 0.0f; - } - - - /** - * Sets the real and imaginary parts of this complex number. - * - * @param real the value of the real part - * @param imaginary the value of the imaginary part - */ - public void set(double real, double imaginary) { - this.real = real; - this.imaginary = imaginary; - } - - - /** - * Method to add two complex numbers. - * - * @param a the first element to be added - * @param b the second element to be added - */ - public void addComplex(Complex a, Complex b) { - this.real = a.real + b.real; - this.imaginary = a.imaginary + b.imaginary; - } - - - /** - * Method to subtract two complex numbers. - * - * @param a the element we subtract from - * @param b the element to be subtracted - */ - public void subtractComplex(Complex a, Complex b) { - this.real = a.real - b.real; - this.imaginary = a.imaginary - b.imaginary; - } - - - /** - * Method to multiply two complex numbers. - * - * @param a the first element to multiply - * @param b the second element to multiply - */ - public void multiplyComplex(Complex a, Complex b) { - this.real = a.real * b.real - a.imaginary * b.imaginary; - this.imaginary = a.real * b.imaginary + a.imaginary * b.real; - } - - - /** - * Method to divide two complex numbers. To divide two complexes, we multiply by the complex conjugate of the - * denominator, thus resulting in a real number in the denominator. - * - * @param a the numerator - * @param b the denominator - */ - public void divideComplex(Complex a, Complex b) { - this.real = a.real * b.real + a.imaginary * b.imaginary; - this.imaginary = a.imaginary * b.real - a.real * b.imaginary; - this.scaleComplex(this, b.squaredMagnitudeComplex()); - } - - - /** - * Method to scale a complex number by a real one. The input complex number is modified in place. - * - * @param a the complex number - * @param b the real scaling factor - */ - public void scaleComplex(Complex a, double b) { - this.real = a.real / b; - this.imaginary = a.imaginary / b; - } - - - /** - * Method to compute the squared magnitude of a complex number. - * - * @return the squared magnitude of the complex number - */ - public double squaredMagnitudeComplex() { - double squaredMag; - squaredMag = this.real * this.real + this.imaginary * this.imaginary; - return squaredMag; - } - - - /** Returns this complex number as a string in the format (real, imaginary). */ - @Override - public String toString() { - return ("(" + this.real + ", " + this.imaginary + ')'); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CustomThreadFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CustomThreadFactory.java deleted file mode 100755 index 275acdd8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/CustomThreadFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -package edu.cmu.sphinx.util; - -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.atomic.AtomicInteger; - -/** - * A custom thread factory, able to create threads with custom name prefix, daemon-ness and priority. - * Based on java.util.concurrent.ThreadFactory. - * - * @author Yaniv Kunda - * @see java.util.concurrent.ThreadFactory - */ -public class CustomThreadFactory implements ThreadFactory { - static final AtomicInteger poolNumber = new AtomicInteger(1); - final ThreadGroup group; - final AtomicInteger threadNumber = new AtomicInteger(1); - final String namePrefix; - final boolean daemon; - final int priority; - - public CustomThreadFactory(String namePrefix, boolean daemon, int priority) { - if (priority > Thread.MAX_PRIORITY || priority < Thread.MIN_PRIORITY) - throw new IllegalArgumentException("illegal thread priority"); - SecurityManager s = System.getSecurityManager(); - this.group = s != null ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); - this.namePrefix = namePrefix + "-" + poolNumber.getAndIncrement() + "-thread-"; - this.daemon = daemon; - this.priority = priority; - } - - public Thread newThread(Runnable r) { - Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); - if (t.isDaemon() != daemon) - t.setDaemon(daemon); - if (t.getPriority() != priority) - t.setPriority(priority); - return t; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ExtendedStreamTokenizer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ExtendedStreamTokenizer.java deleted file mode 100755 index 431a3614..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ExtendedStreamTokenizer.java +++ /dev/null @@ -1,355 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.util; - -import java.io.*; -import java.util.ArrayList; -import java.util.List; - - -/** A class that provides a mechanism for tokenizing a stream */ -public class ExtendedStreamTokenizer { - - private String path; - private final StreamTokenizer st; - private final Reader reader; - private boolean atEOF; - private final List putbackList; - - - /** - * Creates and returns a stream tokenizer that has been properly configured to parse sphinx3 data This - * ExtendedStreamTokenizer has no comment characters. - * - * @param path the source of the data - * @throws FileNotFoundException if a file cannot be found - */ - public ExtendedStreamTokenizer(String path) throws FileNotFoundException { - this(path, false); - } - - - /** - * Creates and returns a stream tokenizer that has been properly configured to parse sphinx3 data This - * ExtendedStreamTokenizer has no comment characters. - * - * @param path the source of the data - * @param eolIsSignificant if true eol is significant - * @throws FileNotFoundException if a file cannot be found - */ - public ExtendedStreamTokenizer(String path, boolean eolIsSignificant) - throws FileNotFoundException { - this(new FileReader(path), eolIsSignificant); - this.path = path; - } - - - /** - * Constructs an ExtendedStreamTokenizer from the given InputStream - * - * @param inputStream the source of the data - * @param commentChar the comment character - * @param eolIsSignificant true if EOL is significant, false otherwise - */ - public ExtendedStreamTokenizer(InputStream inputStream, int commentChar, - boolean eolIsSignificant) { - this(new InputStreamReader(inputStream), eolIsSignificant); - commentChar(commentChar); - } - - - /** - * Constructs an ExtendedStreamTokenizer from the given InputStream. This ExtendedStreamTokenizer has no comment - * characters. - * - * @param inputStream the source of the data - * @param eolIsSignificant true if EOL is significant, false otherwise - */ - public ExtendedStreamTokenizer(InputStream inputStream, - boolean eolIsSignificant) { - this(new InputStreamReader(inputStream), eolIsSignificant); - } - - - /** - * Constructs an ExtendedStreamTokenizer from the given Reader. This ExtendedStreamTokenizer has no comment - * characters. - * - * @param reader the source of the data - * @param eolIsSignificant true if eol is significant - */ - public ExtendedStreamTokenizer(Reader reader, boolean eolIsSignificant) { - this.reader = new BufferedReader(reader); - - st = new StreamTokenizer(reader); - st.resetSyntax(); - st.whitespaceChars(0, 32); - st.wordChars(33, 255); - st.eolIsSignificant(eolIsSignificant); - putbackList = new ArrayList(); - } - - - /** - * Closes the tokenizer - * - * @throws IOException if an error occurs while closing the stream - */ - public void close() throws IOException { - reader.close(); - } - - - /** - * Specifies that all the characters between low and hi incluseive are whitespace characters - * - * @param low the low end of the range - * @param hi the high end of the range - */ - public void whitespaceChars(int low, int hi) { - st.whitespaceChars(low, hi); - } - - - /** - * Specified that the character argument starts a single-line comment. All characters from the comment character to - * the end of the line are ignored by this stream tokenizer. - * - * @param ch the comment character - */ - public void commentChar(int ch) { - st.commentChar(ch); - } - - - /** - * Gets the next word from the tokenizer - * - * @return the next word - * @throws StreamCorruptedException if the word does not match - * @throws IOException if an error occurs while loading the data - */ - public String getString() throws IOException { - if (!putbackList.isEmpty()) { - return putbackList.remove(putbackList.size() - 1); - } else { - st.nextToken(); - if (st.ttype == StreamTokenizer.TT_EOF) { - atEOF = true; - } - if (st.ttype != StreamTokenizer.TT_WORD && - st.ttype != StreamTokenizer.TT_EOL && - st.ttype != StreamTokenizer.TT_EOF) { - corrupt("word expected but not found"); - } - if (st.ttype == StreamTokenizer.TT_EOL || - st.ttype == StreamTokenizer.TT_EOF) { - return null; - } else { - return st.sval; - } - } - } - - - /** - * Puts a string back, the next get will return this string - * - * @param string the string to unget - */ - public void unget(String string) { - putbackList.add(string); - } - - - /** - * Determines if the stream is at the end of file - * - * @return true if the stream is at EOF - */ - public boolean isEOF() { - return atEOF; - } - - - /** - * Throws an error with the line and path added - * - * @param msg the annotation message - */ - private void corrupt(String msg) throws StreamCorruptedException { - throw new StreamCorruptedException( - msg + " at line " + st.lineno() + " in file " + path); - } - - - /** - * Gets the current line number - * - * @return the line number - */ - public int getLineNumber() { - return st.lineno(); - } - - - /** - * Loads a word from the tokenizer and ensures that it matches 'expecting' - * - * @param expecting the word read must match this - * @throws StreamCorruptedException if the word does not match - * @throws IOException if an error occurs while loading the data - */ - public void expectString(String expecting) - throws IOException { - String line = getString(); - if (!line.equals(expecting)) { - corrupt("error matching expected string '" + expecting + - "' in line: '" + line + '\''); - } - } - - - /** - * Loads an integer from the tokenizer and ensures that it matches 'expecting' - * - * @param name the name of the value - * @param expecting the word read must match this - * @throws StreamCorruptedException if the word does not match - * @throws IOException if an error occurs while loading the data - */ - public void expectInt(String name, int expecting) - throws IOException { - int val = getInt(name); - if (val != expecting) { - corrupt("Expecting integer " + expecting); - } - } - - - /** - * gets an integer from the tokenizer stream - * - * @param name the name of the parameter (for error reporting) - * @return the next word in the stream as an integer - * @throws StreamCorruptedException if the next value is not a - * @throws IOException if an error occurs while loading the data number - */ - public int getInt(String name) - throws IOException { - int iVal = 0; - try { - String val = getString(); - iVal = Integer.parseInt(val); - } catch (NumberFormatException nfe) { - corrupt("while parsing int " + name); - } - return iVal; - } - - - /** - * gets a double from the tokenizer stream - * - * @param name the name of the parameter (for error reporting) - * @return the next word in the stream as a double - * @throws StreamCorruptedException if the next value is not a - * @throws IOException if an error occurs while loading the data number - */ - public double getDouble(String name) - throws IOException { - double dVal = 0.0; - try { - String val = getString(); - if (val.equals("inf")) { - dVal = Double.POSITIVE_INFINITY; - } else { - dVal = Double.parseDouble(val); - } - } catch (NumberFormatException nfe) { - corrupt("while parsing double " + name); - } - return dVal; - } - - - /** - * gets a float from the tokenizer stream - * - * @param name the name of the parameter (for error reporting) - * @return the next word in the stream as a float - * @throws StreamCorruptedException if the next value is not a - * @throws IOException if an error occurs while loading the data number - */ - public float getFloat(String name) - throws IOException { - float fVal = 0.0F; - try { - String val = getString(); - if (val.equals("inf")) { - fVal = Float.POSITIVE_INFINITY; - } else { - fVal = Float.parseFloat(val); - } - } catch (NumberFormatException nfe) { - corrupt("while parsing float " + name); - } - return fVal; - } - - - /** - * gets a optional float from the tokenizer stream. If a float is not present, the default is returned - * - * @param name the name of the parameter (for error reporting) - * @param defaultValue the default value - * @return the next word in the stream as a float - * @throws StreamCorruptedException if the next value is not a - * @throws IOException if an error occurs while loading the data number - */ - public float getFloat(String name, float defaultValue) - throws IOException { - float fVal = 0.0F; - try { - String val = getString(); - if (val == null) { - fVal = defaultValue; - } else if (val.equals("inf")) { - fVal = Float.POSITIVE_INFINITY; - } else { - fVal = Float.parseFloat(val); - } - } catch (NumberFormatException nfe) { - corrupt("while parsing float " + name); - } - return fVal; - } - - - /** - * Skip any carriage returns. - * - * @throws IOException if an error occurs while reading data from the stream. - */ - public void skipwhite() throws IOException { - String next = null; - - while (!isEOF()) { - if ((next = getString()) != null) { - unget(next); - break; - } - } - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/FileReferenceSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/FileReferenceSource.java deleted file mode 100755 index 65183a48..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/FileReferenceSource.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -/** A source of reference texts. */ -public class FileReferenceSource implements ReferenceSource { - - private final List references; - - - /** - * Constructs a ReferenceSource from a reference file. - * - * @param file the reference file - * @throws IOException if something went wrong - */ - public FileReferenceSource(String file) throws IOException { - references = new LinkedList(); - BufferedReader reader = new BufferedReader(new FileReader(file)); - String line = null; - while ((line = reader.readLine()) != null) { - if (!line.startsWith(";;")) { - int fromIndex = 0; - boolean isSilence = false; - for (int i = 0; i < 6; i++) { - if (i == 2) { - String type = line.substring(fromIndex); - if (type.startsWith("inter_segment_gap")) { - isSilence = true; - break; - } - } - fromIndex = line.indexOf(' ', fromIndex) + 1; - } - if (!isSilence) { - String reference = line.substring(fromIndex).trim(); - // System.out.println("REF: " + reference); - references.add(reference); - } - } - } - reader.close(); - } - - - /** - * Returns a list of reference text. - * - * @return a list of reference text - */ - public List getReferences() { - return references; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/GapInsertionDetector.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/GapInsertionDetector.java deleted file mode 100755 index c0f7bd23..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/GapInsertionDetector.java +++ /dev/null @@ -1,460 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.StringTokenizer; - - -/** - * A program that takes in a reference transcript and a hypothesis transcript and figures out how many gap insertion - * errors are there. The hypothesis transcript file should contain timestamps for when each word was entered and exited. - *

The gap insertion detection algorithm works as follows. It takes each hypothesized word individually and see - * whether it falls into a non-speech region in the reference transcript. If it does, that hypothesized word is counted - * as a gap insertion. - */ -public class GapInsertionDetector { - - - private ReferenceFile referenceFile; - private HypothesisFile hypothesisFile; - private boolean showGapInsertions; - - - /** - * Create a gap insertion detector to detect gap insertions using the given reference file and hypothesis file. - * - * @param referenceFile the file of references - * @param hypothesisFile the file of hypotheses - * @param showGapInsertions if true show gap insertions. - * @throws IOException if IO went wrong - */ - public GapInsertionDetector(String referenceFile, String hypothesisFile, - boolean showGapInsertions) - throws IOException { - this.referenceFile = new ReferenceFile(referenceFile); - this.hypothesisFile = new HypothesisFile(hypothesisFile); - } - - - /** - * Detect the gap insertion errors. - * - * @return the total number of gap insertion errors - * @throws IOException if IO error occurred - */ - public int detect() throws IOException { - int gaps = 0; - boolean done = false; - ReferenceUtterance reference = referenceFile.nextUtterance(); - StringBuilder log = new StringBuilder(); - while (!done) { - HypothesisWord word = hypothesisFile.nextWord(); - if (word != null) { - boolean hasGapError = false; - - // go to the relevant reference utterance - while (reference != null && - reference.getEndTime() < word.getStartTime()) { - reference = referenceFile.nextUtterance(); - } - - // 'reference' should be the relevant one now - if (reference != null) { - if (reference.isSilenceGap()) { - hasGapError = true; - } else { - while (reference.getEndTime() < word.getEndTime()) { - reference = referenceFile.nextUtterance(); - if (reference == null || - reference.isSilenceGap()) { - hasGapError = true; - break; - } - } - } - } else { - // if no more reference words, this is a gap insertion - hasGapError = true; - } - - if (hasGapError) { - gaps++; - if (showGapInsertions) { - log.append("GapInsError: Utterance: ").append(hypothesisFile.getUtteranceCount()) - .append(" Word: ").append(word.getText()).append(" (") - .append(word.getStartTime()).append(',').append(word.getEndTime()).append("). "); - if (reference != null) { - assert reference.isSilenceGap(); - log.append("Reference: (").append(reference.getStartTime()) - .append(',').append(reference.getEndTime()).append(')'); - } - log.append('\n'); - } - } - } else { - done = true; - } - } - if (showGapInsertions) { - System.out.println(log); - } - return gaps; - } - - - /* - * A command line program for detecting gap insertion errors. To run this program, type: java - * GapInsertionDetector {propsFile} {referenceFile} {hypothesisFile} The propsFile need to have only one - * property: edu.cmu.sphinx.util.GapInsertionDetector.showGapInsertions=true/false - */ - public static void main(String[] argv) { - - if (argv.length < 2) { - System.out.println("Usage: java GapInsertionDetector " + - " "); - } - try { - String referenceFile = argv[0]; - String hypothesisFile = argv[1]; - - GapInsertionDetector gid = new GapInsertionDetector - (referenceFile, hypothesisFile, true); - System.out.println("# of gap insertions: " + gid.detect()); - } catch (Exception e) { - e.printStackTrace(); - } - } -} - -/** - * Creates a ReferenceFile. - */ -class ReferenceFile { - - private BufferedReader reader; - - - /** - * Creates a ReferenceFile, given the name of the reference file. - * - * @param fileName the name of the reference file - */ - ReferenceFile(String fileName) throws IOException { - reader = new BufferedReader(new FileReader(fileName)); - } - - - /** - * Returns the next available ReferenceUtterance. This method skips all the silence gaps. - * - * @return the next available ReferenceUtterance, or null if the end of file has been reached. - */ - ReferenceUtterance nextUtterance() throws IOException { - String line = reader.readLine(); - if (line != null) { - return new ReferenceUtterance(line); - } else { - return null; - } - } -} - -/** - * Converts a line in the HUB-4 .stm reference file into an object. - */ -class ReferenceUtterance { - - private boolean isSilenceGap; - private final float startTime; - private final float endTime; - private final String[] words; - - - /** - * Creates a ReferenceUtterance from the given line of reference. - * - * @param line the line of reference, in the format: [test_name] [category] [speaker_name|"inter_segment_gap"] - * [start_time] [end_time] [] [reference_text] - */ - ReferenceUtterance(String line) { - StringTokenizer st = new StringTokenizer(line); - st.nextToken(); // parse the test set name - st.nextToken(); // parse category - String type = st.nextToken(); // parse speaker - if (type.equals("inter_segment_gap")) { - isSilenceGap = true; - } - startTime = Float.parseFloat(st.nextToken()); // parse start time - endTime = Float.parseFloat(st.nextToken()); // parse end time - - if (st.hasMoreTokens()) { - st.nextToken(); // parse <...> - words = new String[st.countTokens()]; - for (int i = 0; i < words.length; i++) { - words[i] = st.nextToken(); - } - } else { - words = new String[0]; - } - } - - - /** - * Returns true if this is a silence gap. - * - * @return true if this is a silence gap, false otherwise. - */ - boolean isSilenceGap() { - return isSilenceGap; - } - - - /** - * Returns the starting time (in seconds) of this utterance. - * - * @return the starting time of this utterance - */ - float getStartTime() { - return startTime; - } - - - /** - * Returns the ending time (in seconds) of this utterance. - * - * @return the ending time of this utterance - */ - float getEndTime() { - return endTime; - } - - - /** - * Returns the text of this utterance. - * - * @return the text of this utterance - */ - String[] getWords() { - return words; - } -} - -class HypothesisFile { - - private BufferedReader reader; - private Iterator iterator; - private int utteranceCount; - - - /** - * Creates a HypothesisFile from the given file. - * - * @param fileName the name of the hypothesis file - */ - HypothesisFile(String fileName) throws IOException { - reader = new BufferedReader(new FileReader(fileName)); - } - - - /** - * Returns the next hypothesized word in the hypothesis file. - * - * @return the next hypothesized word - */ - HypothesisWord nextWord() throws IOException { - if (iterator == null || !iterator.hasNext()) { - HypothesisUtterance utterance = nextUtterance(); - if (utterance != null) { - iterator = utterance.getWords().iterator(); - } else { - iterator = null; - } - } - if (iterator == null) { - return null; - } else { - return iterator.next(); - } - } - - - /** - * Returns the next available hypothesis utterance. - * - * @return the next available hypothesis utterance, or null if the end of file has been reached - */ - private HypothesisUtterance nextUtterance() throws IOException { - String line = reader.readLine(); - if (line != null) { - utteranceCount++; - HypothesisUtterance utterance = new HypothesisUtterance(line); - if (utterance.getWordCount() <= 0) { - return nextUtterance(); - } else { - return utterance; - } - } else { - return null; - } - } - - - /** - * Returns the utterance count. - * - * @return the utterance count - */ - public int getUtteranceCount() { - return utteranceCount; - } -} - -/** - * A hypothesis utterance, which will give you a list of hypothesis words. - */ -class HypothesisUtterance { - - private final List words; - private float startTime; - private float endTime; - - - /** - * Creates a hypothesis utterance from a line of input describing the hypothesis. - */ - HypothesisUtterance(String line) { - words = new LinkedList(); - StringTokenizer st = new StringTokenizer(line, " \t\n\r\f(),"); - while (st.hasMoreTokens()) { - String text = st.nextToken(); - try { - float myStartTime = Float.parseFloat(st.nextToken()); - float myEndTime = Float.parseFloat(st.nextToken()); - HypothesisWord word = new HypothesisWord - (text, myStartTime, myEndTime); - words.add(word); - } catch (NumberFormatException nfe) { - System.out.println("NumberFormatException at line: " + line); - nfe.printStackTrace(); - } - } - if (!words.isEmpty()) { - HypothesisWord firstWord = words.get(0); - startTime = firstWord.getStartTime(); - HypothesisWord lastWord = - words.get(words.size() - 1); - endTime = lastWord.getEndTime(); - } - } - - - /** - * Returns the number of words in this hypothesis. - * - * @return the number of words in this hypothesis - */ - int getWordCount() { - return words.size(); - } - - - /** - * Returns a list of the words in this hypothesis. - * - * @return a list of the words in this hypothesis - */ - List getWords() { - List newList = new LinkedList(); - newList.addAll(words); - return newList; - } - - - /** - * Returns the start time of this hypothesis. - * - * @return the start time of this hypothesis - */ - float getStartTime() { - return startTime; - } - - - /** - * Returns the end time of this hypothesis. - * - * @return the end time of this hypothesis - */ - float getEndTime() { - return endTime; - } -} - -/** - * A word in the hypothesis, containing information about when the word started and ended. - */ -class HypothesisWord { - - private final String text; - private final float startTime; - private final float endTime; - - - /** - * Constructs a hypothesis word with the given start and end times. - * - * @param text the text of the hypothesized word - * @param startTime the starting time of the word - * @param endTime the ending time of the word - */ - HypothesisWord(String text, float startTime, float endTime) { - this.text = text; - this.startTime = startTime; - this.endTime = endTime; - } - - - /** - * Returns the text of the word. - * - * @return the text of the word - */ - String getText() { - return text; - } - - - /** - * Returns the starting time of the word. - * - * @return the starting time of the word - */ - float getStartTime() { - return startTime; - } - - - /** - * Returns the ending time of the word. - * - * @return the ending time of the word - */ - float getEndTime() { - return endTime; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/LogMath.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/LogMath.java deleted file mode 100755 index 784e2719..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/LogMath.java +++ /dev/null @@ -1,362 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.util; - -/** - * Provides a set of methods for performing simple math in the log domain. - * - * The logarithmic base can be set by the - * property: edu.cmu.sphinx.util.LogMath.logBase - */ -public final class LogMath { - - public static final float LOG_ZERO = -Float.MAX_VALUE; - public static final float LOG_ONE = 0.f; - - // Singleton instance. - private static LogMath instance; - private static float logBase = 1.0001f; - private static boolean useTable = true; - - private float naturalLogBase; - private float inverseNaturalLogBase; - - private float theAddTable[]; - - private LogMath() { - naturalLogBase = (float) Math.log(logBase); - inverseNaturalLogBase = 1.0f / naturalLogBase; - if (useTable) { - // Now create the addTable table. - // summation needed in the loop - float innerSummation; - // First decide number of elements. - int entriesInTheAddTable; - final int veryLargeNumberOfEntries = 150000; - final int verySmallNumberOfEntries = 0; - // To decide size of table, take into account that a base - // of 1.0001 or 1.0003 converts probabilities, which are - // numbers less than 1, into integers. Therefore, a good - // approximation for the smallest number in the table, - // therefore the value with the highest index, is an - // index that maps into 0.5: indices higher than that, if - // they were present, would map to less values less than - // 0.5, therefore they would be mapped to 0 as - // integers. Since the table implements the expression: - // - // log(1.0 + base^(-index))) - // - // then the highest index would be: - // - // topIndex = - log(logBase^(0.5) - 1) - // - // where log is the log in the appropriate base. - // - // Added -Math.rint(...) to round to nearest - // integer. Added the negation to match the preceding - // documentation - entriesInTheAddTable = (int) -Math - .rint(linearToLog(logToLinear(0.5f) - 1)); - // We reach this max if the log base is 1.00007. The - // closer you get to 1, the higher the number of entries - // in the table. - if (entriesInTheAddTable > veryLargeNumberOfEntries) { - entriesInTheAddTable = veryLargeNumberOfEntries; - } - if (entriesInTheAddTable <= verySmallNumberOfEntries) { - throw new IllegalArgumentException("The log base " + logBase - + " yields a very small addTable. " - + "Either choose not to use the addTable, " - + "or choose a logBase closer to 1.0"); - } - // PBL added this just to see how many entries really are - // in the table - theAddTable = new float[entriesInTheAddTable]; - for (int index = 0; index < entriesInTheAddTable; ++index) { - // This loop implements the expression: - // - // log( 1.0 + power(base, index)) - // - // needed to add two numbers in the log domain. - innerSummation = (float) logToLinear(-index); - innerSummation += 1.0f; - theAddTable[index] = linearToLog(innerSummation); - } - } - } - - public static LogMath getLogMath() { - if (null == instance) { - synchronized(LogMath.class) { - if (null == instance) - instance = new LogMath(); - } - } - - return instance; - } - - /** - * Sets log base. - *

- * According to forum discussions a value between 1.00001 and 1.0004 should - * be used for speech recognition. Going above 1.0005 will probably hurt. - * - * @param logBase Log base - */ - public static void setLogBase(float logBase) { - synchronized(LogMath.class) { - assert instance == null; - LogMath.logBase = logBase; - } - } - - /** - * The property that controls whether we use the old, slow (but correct) - * method of performing the LogMath.add by doing the actual computation. - * @param useTable to configure table lookups - */ - public static void setUseTable(boolean useTable) { - synchronized(LogMath.class) { - assert instance == null; - LogMath.useTable = useTable; - } - } - - /** - * Returns the summation of two numbers when the arguments and the result are in log.

That is, it returns - * log(a + b) given log(a) and log(b)

This method makes use of the equality:

log(a - * + b) = log(a) + log (1 + exp(log(b) - log(a)))

which is derived from:

a + b - * = a * (1 + (b / a))

which in turns makes use of:

b / a = exp (log(b) - - * log(a))

Important to notice that subtractAsLinear(a, b) is *not* the same as - * addAsLinear(a, -b), since we're in the log domain, and -b is in fact the inverse.

No - * underflow/overflow check is performed.

- * - * @param logVal1 value in log domain (i.e. log(val1)) to add - * @param logVal2 value in log domain (i.e. log(val2)) to add - * @return sum of val1 and val2 in the log domain - */ - public final float addAsLinear(float logVal1, float logVal2) { - float logHighestValue = logVal1; - float logDifference = logVal1 - logVal2; - /* - * [ EBG: maybe we should also have a function to add many numbers, * - * say, return the summation of all terms in a given vector, if * - * efficiency becomes an issue. - */ - // difference is always a positive number - if (logDifference < 0) { - logHighestValue = logVal2; - logDifference = -logDifference; - } - return logHighestValue + addTable(logDifference); - } - - /** - * Method used by add() internally. It returns the difference between the highest number and the total summation of - * two numbers.

Considering the expression (in which we assume natural log)

log(a + b) = log(a) + - * log(1 + exp(log(b) - log(a)))

- *

- * the current function returns the second term of the right hand side of the equality above, generalized for the - * case of any log base. This function can be constructed as a table, if table lookup is faster than actual - * computation. - * - * @param index the index into the addTable - * @return the value pointed to by index - */ - @SuppressWarnings("unused") - private float addTableActualComputation(float index) { - double logInnerSummation; - // Negate index, since the derivation of this formula implies - // the smallest number as a numerator, therefore the log of the - // ratio is negative - logInnerSummation = logToLinear(-index); - logInnerSummation += 1.0; - return linearToLog(logInnerSummation); - } - - /** - * Method used by add() internally. It returns the difference between the highest number and the total summation of - * two numbers.

Considering the expression (in which we assume natural log)

log(a + b) = log(a) + - * log(1 + exp(log(b) - log(a)))

- *

- * the current function returns the second term of the right hand side of the equality above, generalized for the - * case of any log base. This function is constructed as a table lookup. - * - * @param index the index into the addTable - * @return the value pointed to by index - * @throws IllegalArgumentException - */ - private float addTable(float index) throws IllegalArgumentException { - // int intIndex = (int) Math.rint(index); - int intIndex = (int) (index + 0.5); - // When adding two numbers, the highest one should be - // preserved, and therefore the difference should always - // be positive. - if (intIndex < theAddTable.length) { - return theAddTable[intIndex]; - } else { - return 0.0f; - } - } - - /** - * Returns the difference between two numbers when the arguments and the result are in log.

That is, it - * returns log(a - b) given log(a) and log(b)

Implementation is less efficient than add(), since - * we're less likely to use this function, provided for completeness. Notice however that the result only makes - * sense if the minuend is higher than the subtrahend. Otherwise, we should return the log of a negative number. - *

It implements the subtraction as:

log(a - b) = log(a) + log(1 - exp(log(b) - - * log(a)))

No need to check for underflow/overflow.

- * - * @param logMinuend value in log domain (i.e. log(minuend)) to be subtracted from - * @param logSubtrahend value in log domain (i.e. log(subtrahend)) that is being subtracted - * @return difference between minuend and the subtrahend in the log domain - * @throws IllegalArgumentException

This is a very slow way to do this, but this method should rarely be used. - *

- */ - public final float subtractAsLinear(float logMinuend, float logSubtrahend) - throws IllegalArgumentException { - double logInnerSummation; - if (logMinuend < logSubtrahend) { - throw new IllegalArgumentException("Subtraction results in log " - + "of a negative number: " + logMinuend + " - " - + logSubtrahend); - } - logInnerSummation = 1.0; - logInnerSummation -= logToLinear(logSubtrahend - logMinuend); - return logMinuend + linearToLog(logInnerSummation); - } - - /** - * Converts the source, which is assumed to be a log value whose base is sourceBase, to a log value whose base is - * resultBase. Possible values for both the source and result bases include Math.E, 10.0, LogMath.getLogBase(). If a - * source or result base is not supported, an IllegalArgumentException will be thrown.

It takes advantage - * of the relation:

log_a(b) = log_c(b) / lob_c(a)

or:

- * log_a(b) = log_c(b) * lob_a(c)

where log_a(b) is logarithm of b base a - * etc.

- * - * @param logSource log value whose base is sourceBase - * @param sourceBase the base of the log the source - * @param resultBase the base to convert the source log to - * @return converted value - * @throws IllegalArgumentException if arguments out of bounds - */ - public static float logToLog(float logSource, float sourceBase, - float resultBase) throws IllegalArgumentException { - // TODO: This is slow, but it probably doesn't need - // to be too fast. - // It can be made more efficient if one of the bases is - // Math.E. So maybe we should consider two functions logToLn and - // lnToLog instead of a generic function like this?? - float lnSourceBase = (float) Math.log(sourceBase); - float lnResultBase = (float) Math.log(resultBase); - return (logSource * lnSourceBase / lnResultBase); - } - - /** - * Converts the source, which is a number in base Math.E, to a log value which base is the LogBase of this LogMath. - * - * @return converted value - * @param logSource the number in base Math.E to convert - */ - public final float lnToLog(float logSource) { - return (logSource * inverseNaturalLogBase); - } - - /** - * Converts the source, which is a number in base 10, to a log value which base is the LogBase of this LogMath. - * - * @return converted value - * @param logSource the number in base Math.E to convert - */ - public final float log10ToLog(float logSource) { - return logToLog(logSource, 10.0f, logBase); - } - - /** - * Converts the source, whose base is the LogBase of this LogMath, to a log value which is a number in base Math.E. - * - * @param logSource the number to convert to base Math.E - * @return converted value - */ - public final float logToLn(float logSource) { - return logSource * naturalLogBase; - } - - /** - * Converts the value from linear scale to log scale. The log scale numbers are limited by the range of the type - * float. The linear scale numbers can be any double value. - * - * @param linearValue the value to be converted to log scale - * @return the value in log scale - * @throws IllegalArgumentException if value out of range - */ - public final float linearToLog(double linearValue) - throws IllegalArgumentException { - return (float)Math.log(linearValue) * inverseNaturalLogBase; - } - - /** - * Converts the value from log scale to linear scale. - * - * @param logValue the value to be converted to the linear scale - * @return the value in the linear scale - */ - public final double logToLinear(float logValue) { - return Math.exp(logToLn(logValue)); - } - - /** @return the actual log base. - */ - public final float getLogBase() { - return logBase; - } - - public boolean isUseTable() { - return useTable; - } - - /** - * Returns the log (base 10) of value - * - * @param value the value to take the log of - * @return the log (base 10) of value - */ - // [ EBG: Shouldn't we be using something like logToLog(value, base, 10) - // for this? ] - public static float log10(float value) { - return (float) (0.4342944819 * java.lang.Math.log(value)); - // If you want to get rid of the constant: - // return ((1.0f / Math.log(10.0f)) * Math.log(value)); - } - - /** Converts a vector from linear domain to log domain using a given LogMath-instance for conversion. - * @param vector to convert in-place - */ - public void linearToLog(float[] vector) { - int nbGaussians = vector.length; - for (int i = 0; i < nbGaussians; i++) { - vector[i] = linearToLog(vector[i]); - } - } - - - /** Converts a vector from log to linear domain using a given LogMath-instance for conversion. - * @param vector to convert - * @param out result - */ - public void logToLinear(float[] vector, float[] out) { - for (int i = 0; i < vector.length; i++) { - out[i] = (float)logToLinear(vector[i]); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/MatrixUtils.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/MatrixUtils.java deleted file mode 100755 index 4168dc20..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/MatrixUtils.java +++ /dev/null @@ -1,79 +0,0 @@ -package edu.cmu.sphinx.util; - -import java.text.DecimalFormat; - -/** Some simple matrix and vector manipulation methods. */ -public class MatrixUtils { - - public static final DecimalFormat df = new DecimalFormat("0.00"); - - - public static String toString(double[][] m) { - StringBuilder s = new StringBuilder("["); - - for (double[] row : m) { - s.append(toString(row)); - s.append('\n'); - } - - return s.append(" ]").toString(); - } - - - public static String toString(double[] m) { - StringBuilder s = new StringBuilder("["); - - for (double val : m) { - s.append(' ').append(df.format(val)); - } - - return s.append(" ]").toString(); - } - - - public static int numCols(double[][] m) { - return m[0].length; - } - - - public static String toString(float[][] matrix) { - return toString(float2double(matrix)); - } - - - public static float[] double2float(double[] values) { // what a mess !!! -> fixme: how to convert number arrays ? - float[] newVals = new float[values.length]; - for (int i = 0; i < newVals.length; i++) { - newVals[i] = (float) values[i]; - } - - return newVals; - } - - - public static float[][] double2float(double[][] array) { - float[][] floatArr = new float[array.length][array[0].length]; - for (int i = 0; i < array.length; i++) - floatArr[i] = double2float(array[i]); - - return floatArr; - } - - - public static double[] float2double(float[] values) { - double[] doubArr = new double[values.length]; - for (int i = 0; i < doubArr.length; i++) - doubArr[i] = values[i]; - - return doubArr; - } - - - public static double[][] float2double(float[][] array) { - double[][] doubArr = new double[array.length][array[0].length]; - for (int i = 0; i < array.length; i++) - doubArr[i] = float2double(array[i]); - - return doubArr; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/NISTAlign.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/NISTAlign.java deleted file mode 100755 index 5409c519..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/NISTAlign.java +++ /dev/null @@ -1,977 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.text.DecimalFormat; -import java.util.LinkedList; -import java.util.ListIterator; -import java.util.StringTokenizer; - -/** - * Implements a portion of the NIST align/scoring algorithm to compare a reference string to a hypothesis string. It - * only keeps track of substitutions, insertions, and deletions. - */ -public class NISTAlign { - - /* Constants that help with the align. The following are - * used in the backtrace table and backtrace list. - */ - final static int OK = 0; - final static int SUBSTITUTION = 1; - final static int INSERTION = 2; - final static int DELETION = 3; - - /* Constants that help with the align. The following are - * used to create the penalty table. - */ - final static int MAX_PENALTY = 1000000; - final static int SUBSTITUTION_PENALTY = 100; - final static int INSERTION_PENALTY = 75; - final static int DELETION_PENALTY = 75; - - /* Used for padding out aligned strings. - */ - final static String STARS = - "********************************************"; - final static String SPACES = - " "; - final static String HRULE = - "============================================" - + "================================"; - - /** Totals over the life of this class. These can be reset to 0 with a call to resetTotals. */ - private int totalSentences; - private int totalSentencesWithErrors; - private int totalSentencesWithSubtitutions; - private int totalSentencesWithInsertions; - private int totalSentencesWithDeletions; - private int totalReferenceWords; - private int totalHypothesisWords; - private int totalAlignedWords; - private int totalWordsCorrect; - private int totalSubstitutions; - private int totalInsertions; - private int totalDeletions; - - /** Error values for one call to 'align' */ - private int substitutions; - private int insertions; - private int deletions; - private int correct; - - /** The raw reference string. Updated with each call to 'align'. */ - private String rawReference; - - /** - * The reference annotation; typically the name of the audio file for the reference string. This is an optional - * part of the rawReference string. If it is included, it is appended to the end of the string in parentheses. - * Updated with each call to 'align'. - */ - private String referenceAnnotation; - - /** - * Ordered list of words from rawReference after the annotation has been removed. Updated with each call to - * 'align'. - */ - private LinkedList referenceItems; - - /** Aligned list of words from rawReference. Created in alignWords. Updated with each call to 'align'. */ - private LinkedList alignedReferenceWords; - - /** The raw hypothesis string. Updated with each call to 'align'. */ - private String rawHypothesis; - - /** - * Ordered list of words from rawHypothesis after the annotation has been removed. Updated with each call to - * 'align'. - */ - private LinkedList hypothesisItems; - - /** Aligned list of words from rawHypothesis. Created in alignWords. Updated with each call to 'align'. */ - private LinkedList alignedHypothesisWords; - - /** Helpers to create percentage strings. */ - static final DecimalFormat percentageFormat = new DecimalFormat("##0.0%"); - - - private boolean showResults; - private boolean showAlignedResults; - - - /** Creates a new NISTAlign object. - * @param showResults show decoding result - * @param showAlignedResults show alignment - */ - public NISTAlign(boolean showResults, boolean showAlignedResults) { - this.showResults = showResults; - this.showAlignedResults = showAlignedResults; - resetTotals(); - } - - - /** - * Sets whether results are displayed - * - * @param showResults true if the results should be displayed - */ - public void setShowResults(boolean showResults) { - this.showResults = showResults; - } - - - /** - * Sets whether aligned results are displayed - * - * @param showAlignedResults true if the aligned results should be displayed - */ - public void setShowAlignedResults(boolean showAlignedResults) { - this.showAlignedResults = showAlignedResults; - } - - - /** Reset the total insertions, deletions, and substitutions counts for this class. */ - public void resetTotals() { - totalSentences = 0; - totalSentencesWithErrors = 0; - totalSentencesWithSubtitutions = 0; - totalSentencesWithInsertions = 0; - totalSentencesWithDeletions = 0; - totalReferenceWords = 0; - totalHypothesisWords = 0; - totalAlignedWords = 0; - totalWordsCorrect = 0; - totalSubstitutions = 0; - totalInsertions = 0; - totalDeletions = 0; - } - - - /** - * Performs the NIST alignment on the reference and hypothesis strings. This has the side effect of updating nearly - * all the fields of this class. - * - * @param reference the reference string - * @param hypothesis the hypothesis string - * @return true if the reference and hypothesis match - */ - public boolean align(String reference, String hypothesis) { - int annotationIndex; - - // Save the original strings for future reference. - // - rawReference = reference; - rawHypothesis = hypothesis; - - // Strip the annotation off the reference string and - // save it. - // - annotationIndex = rawReference.indexOf('('); - if (annotationIndex != -1) { - referenceAnnotation = rawReference.substring(annotationIndex); - referenceItems = toList(rawReference.substring(0, annotationIndex)); - } else { - referenceAnnotation = null; - referenceItems = toList(rawReference); - } - - // Strip the annotation off the hypothesis string. - // If one wanted to be anal retentive, they might compare - // the hypothesis annotation to the reference annotation, - // but I'm not quite that obsessive. - // - annotationIndex = rawHypothesis.indexOf('('); - if (annotationIndex != -1) { - hypothesisItems = toList( - rawHypothesis.substring(0, annotationIndex)); - } else { - hypothesisItems = toList(rawHypothesis); - } - - // Reset the counts for this sentence. - // - substitutions = 0; - insertions = 0; - deletions = 0; - - // Turn the list of reference and hypothesis words into two - // aligned lists of strings. This has the side effect of - // creating alignedReferenceWords and alignedHypothesisWords. - // - alignWords(backtrace(createBacktraceTable(referenceItems, - hypothesisItems, new Comparator () { - public boolean isSimilar(Object ref, Object hyp) { - if (ref instanceof String && hyp instanceof String) { - return ((String)ref).equals(hyp); - } - return false; - } - })), new StringRenderer () { - - public String getRef(Object ref, Object hyp) { - return (String)ref; - } - public String getHyp(Object ref, Object hyp) { - return (String)hyp; - } - - }); - - // Compute the number of correct words in the hypothesis. - // - correct = alignedReferenceWords.size() - - (insertions + deletions + substitutions); - - // Update the totals that are kept over the lifetime of this - // class. - // - updateTotals(); - - return (insertions + deletions + substitutions) == 0; - } - - - /** - * Returns the reference string. This string will be filtered (all spurious whitespace removed and annotation - * removed) and set to all lower case. - * - * @return the reference string - */ - public String getReference() { - return toString(referenceItems); - } - - - /** - * Returns the hypothesis string. This string will be filtered (all spurious whitespace removed and annotation - * removed) and set to all lower case. - * - * @return the hypothesis string - */ - public String getHypothesis() { - return toString(hypothesisItems); - } - - - /** - * Returns the aligned reference string. - * - * @return the aligned reference string - */ - public String getAlignedReference() { - return toString(alignedReferenceWords); - } - - - /** - * Returns the aligned hypothesis string. - * - * @return the aligned hypothesis string - */ - public String getAlignedHypothesis() { - return toString(alignedHypothesisWords); - } - - - /** - * Gets the total number of word errors for all calls to align. - * - * @return the total number of word errors for all calls to align - */ - public int getTotalWordErrors() { - return totalSubstitutions + totalInsertions + totalDeletions; - } - - - /** - * Returns the total word accuracy. - * - * @return the accuracy between 0.0 and 1.0 - */ - public float getTotalWordAccuracy() { - if (totalReferenceWords == 0) { - return 0; - } else { - return ((float) totalWordsCorrect) / ((float) totalReferenceWords); - } - } - - - /** - * Returns the total word accuracy. - * - * @return the accuracy between 0.0 and 1.0 - */ - public float getTotalWordErrorRate() { - if (totalReferenceWords == 0) { - return 0; - } else { - return ((float) getTotalWordErrors()) - / ((float) totalReferenceWords); - } - } - - - /** - * Returns the total sentence accuracy. - * - * @return the accuracy between 0.0 and 1.0 - */ - public float getTotalSentenceAccuracy() { - int totalSentencesCorrect = totalSentences - totalSentencesWithErrors; - if (totalSentences == 0) { - return 0; - } else { - return ((float) totalSentencesCorrect / (float) totalSentences); - } - } - - - /** - * Gets the total number of words - * - * @return the total number of words - */ - public int getTotalWords() { - return totalReferenceWords; - } - - - /** - * Gets the total number of substitution errors - * - * @return the total number of substitutions - */ - public int getTotalSubstitutions() { - return totalSubstitutions; - } - - - /** - * Gets the total number of insertion errors - * - * @return the total number of insertion errors - */ - public int getTotalInsertions() { - return totalInsertions; - } - - - /** - * Gets the total number of deletions - * - * @return the total number of deletions - */ - public int getTotalDeletions() { - return totalDeletions; - } - - - /** - * Gets the total number of sentences - * - * @return the total number of sentences - */ - public int getTotalSentences() { - return totalSentences; - } - - - /** - * Gets the total number of sentences with errors - * - * @return the total number of sentences with errors - */ - public int getTotalSentencesWithErrors() { - return totalSentencesWithDeletions; - } - - - /** - * Prints the results for this sentence to System.out. If you want the output to match the NIST output, see - * printNISTSentenceSummary. - * - * @see #printNISTSentenceSummary - */ - public void printSentenceSummary() { - if (showResults) { - System.out.println("REF: " + toString(referenceItems)); - System.out.println("HYP: " + toString(hypothesisItems)); - } - - if (showAlignedResults) { - System.out.println("ALIGN_REF: " + toString(alignedReferenceWords)); - System.out.println("ALIGN_HYP: " + toString(alignedHypothesisWords)); - } - } - - - /** - * Prints the total summary for all calls. If you want the output to match the NIST output, see - * printNISTTotalSummary. - * - * @see #printNISTTotalSummary - */ - public void printTotalSummary() { - if (totalSentences > 0) { - System.out.print( - " Accuracy: " + toPercentage("##0.000%", - getTotalWordAccuracy())); - System.out.println( - " Errors: " + getTotalWordErrors() - + " (Sub: " + totalSubstitutions - + " Ins: " + totalInsertions - + " Del: " + totalDeletions + ')'); - System.out.println( - " Words: " + totalReferenceWords - + " Matches: " + totalWordsCorrect - + " WER: " + toPercentage("##0.000%", - getTotalWordErrorRate())); - System.out.println( - " Sentences: " + totalSentences - + " Matches: " + (totalSentences - totalSentencesWithErrors) - + " SentenceAcc: " + toPercentage("##0.000%", - getTotalSentenceAccuracy())); - } - } - - - /** Prints the results for this sentence to System.out. This matches the output from the NIST aligner. */ - public void printNISTSentenceSummary() { - int sentenceErrors = substitutions + insertions + deletions; - - System.out.println(); - - System.out.print("REF: " + toString(alignedReferenceWords)); - if (referenceAnnotation != null) { - System.out.print(' ' + referenceAnnotation); - } - System.out.println(); - - System.out.print("HYP: " + toString(alignedHypothesisWords)); - if (referenceAnnotation != null) { - System.out.print(' ' + referenceAnnotation); - } - System.out.println(); - - System.out.println(); - - if (referenceAnnotation != null) { - System.out.println("SENTENCE " + totalSentences - + " " + referenceAnnotation); - } else { - System.out.println("SENTENCE " + totalSentences); - } - - System.out.println("Correct = " - + toPercentage("##0.0%", - correct, - referenceItems.size()) - + padLeft(5, correct) - + " (" - + padLeft(6, totalWordsCorrect) - + ')'); - System.out.println("Errors = " - + toPercentage("##0.0%", - sentenceErrors, - referenceItems.size()) - + padLeft(5, sentenceErrors) - + " (" - + padLeft(6, totalSentencesWithErrors) - + ')'); - - System.out.println(); - System.out.println(HRULE); - } - - - /** Prints the summary for all calls to align to System.out. This matches the output from the NIST aligner. */ - public void printNISTTotalSummary() { - int totalSentencesCorrect = totalSentences - totalSentencesWithErrors; - - System.out.println(); - System.out.println("---------- SUMMARY ----------"); - System.out.println(); - System.out.println("SENTENCE RECOGNITION PERFORMANCE:"); - System.out.println( - "sentences " + totalSentences); - System.out.println( - " correct " - + toPercentage("##0.0%", totalSentencesCorrect, totalSentences) - + " (" + padLeft(4, totalSentencesCorrect) + ')'); - System.out.println( - " with error(s) " - + toPercentage("##0.0%", totalSentencesWithErrors, totalSentences) - + " (" + padLeft(4, totalSentencesWithErrors) + ')'); - System.out.println( - " with substitutions(s) " - + toPercentage("##0.0%", totalSentencesWithSubtitutions, totalSentences) - + " (" + padLeft(4, totalSentencesWithSubtitutions) + ')'); - System.out.println( - " with insertion(s) " - + toPercentage("##0.0%", totalSentencesWithInsertions, totalSentences) - + " (" + padLeft(4, totalSentencesWithInsertions) + ')'); - System.out.println( - " with deletions(s) " - + toPercentage("##0.0%", totalSentencesWithDeletions, totalSentences) - + " (" + padLeft(4, totalSentencesWithDeletions) + ')'); - - System.out.println(); - System.out.println(); - System.out.println(); - - System.out.println("WORD RECOGNITION PERFORMANCE:"); - System.out.println( - "Correct = " - + toPercentage("##0.0%", totalWordsCorrect, totalReferenceWords) - + " (" + padLeft(6, totalWordsCorrect) + ')'); - System.out.println( - "Substitutions = " - + toPercentage("##0.0%", totalSubstitutions, totalReferenceWords) - + " (" + padLeft(6, totalSubstitutions) + ')'); - System.out.println( - "Deletions = " - + toPercentage("##0.0%", totalDeletions, totalReferenceWords) - + " (" + padLeft(6, totalDeletions) + ')'); - System.out.println( - "Insertions = " - + toPercentage("##0.0%", totalInsertions, totalReferenceWords) - + " (" + padLeft(6, totalInsertions) + ')'); - System.out.println( - "Errors = " - + toPercentage("##0.0%", getTotalWordErrors(), totalReferenceWords) - + " (" + padLeft(6, getTotalWordErrors()) + ')'); - - System.out.println(); - - System.out.println( - "Ref. words = " + padLeft(6, totalReferenceWords)); - System.out.println( - "Hyp. words = " + padLeft(6, totalHypothesisWords)); - System.out.println( - "Aligned words = " + padLeft(6, totalAlignedWords)); - - System.out.println(); - System.out.println( - "WORD ACCURACY= " - + toPercentage("##0.000%", totalWordsCorrect, totalReferenceWords) - + " (" - + padLeft(5, totalWordsCorrect) - + '/' - + padLeft(5, totalReferenceWords) - + ") ERRORS= " - + toPercentage("##0.000%", - getTotalWordErrors(), - totalReferenceWords) - + " (" - + padLeft(5, getTotalWordErrors()) - + '/' - + padLeft(5, totalReferenceWords) - + ')'); - - System.out.println(); - } - - - /** - * Creates the backtrace table. This is magic. The basic idea is that the penalty table contains a set of penalty - * values based on some strategically selected numbers. I'm not quite sure what they are, but they help determine - * the backtrace table values. The backtrace table contains information used to help determine if words matched - * (OK), were inserted (INSERTION), substituted (SUBSTITUTION), or deleted (DELETION). - * - * @param referenceItems the ordered list of reference words - * @param hypothesisItems the ordered list of hypothesis words - * @return the backtrace table - */ - int[][] createBacktraceTable(LinkedList referenceItems, - LinkedList hypothesisItems, - Comparator comparator) { - int[][] penaltyTable; - int[][] backtraceTable; - int penalty; - int minPenalty; - - penaltyTable = - new int[referenceItems.size() + 1][hypothesisItems.size() + 1]; - - backtraceTable = - new int[referenceItems.size() + 1][hypothesisItems.size() + 1]; - - // Initialize the penaltyTable and the backtraceTable. The - // rows of each table represent the words in the reference - // string. The columns of each table represent the words in - // the hypothesis string. - // - penaltyTable[0][0] = 0; - backtraceTable[0][0] = OK; - - // The lower left of the tables represent deletions. If you - // think about this, a shorter hypothesis string will have - // deleted words from the reference string. - // - for (int i = 1; i <= referenceItems.size(); i++) { - penaltyTable[i][0] = DELETION_PENALTY * i; - backtraceTable[i][0] = DELETION; - } - - // The upper right of the tables represent insertions. If - // you think about this, a longer hypothesis string will have - // inserted words. - // - for (int j = 1; j <= hypothesisItems.size(); j++) { - penaltyTable[0][j] = INSERTION_PENALTY * j; - backtraceTable[0][j] = INSERTION; - } - - // Row-by-row, column-by-column, fill out the tables. - // The goal is to keep the penalty for each cell to a - // minimum. - // - for (int i = 1; i <= referenceItems.size(); i++) { - for (int j = 1; j <= hypothesisItems.size(); j++) { - minPenalty = MAX_PENALTY; - - // First assume that this represents a deletion. - // - penalty = penaltyTable[i - 1][j] + DELETION_PENALTY; - if (penalty < minPenalty) { - minPenalty = penalty; - penaltyTable[i][j] = penalty; - backtraceTable[i][j] = DELETION; - } - - // If the words match, we'll assume it's OK. - // Otherwise, we assume we have a substitution. - // - if (comparator.isSimilar(referenceItems.get(i - 1), (hypothesisItems.get(j - 1)))) { - penalty = penaltyTable[i - 1][j - 1]; - if (penalty < minPenalty) { - minPenalty = penalty; - penaltyTable[i][j] = penalty; - backtraceTable[i][j] = OK; - } - } else { - penalty = penaltyTable[i - 1][j - 1] + SUBSTITUTION_PENALTY; - if (penalty < minPenalty) { - minPenalty = penalty; - penaltyTable[i][j] = penalty; - backtraceTable[i][j] = SUBSTITUTION; - } - } - - // If you've made it this far, it should be obvious I - // have no idea what the heck this code is doing. I'm - // just doing a transliteration. - // - penalty = penaltyTable[i][j - 1] + INSERTION_PENALTY; - if (penalty < minPenalty) { - minPenalty = penalty; - penaltyTable[i][j] = penalty; - backtraceTable[i][j] = INSERTION; - } - } - } - return backtraceTable; - } - - - /** - * Backtraces through the penalty table. This starts at the "lower right" corner (i.e., the last word of the longer - * of the reference vs. hypothesis strings) and works its way backwards. - * - * @param backtraceTable created from call to createBacktraceTable - * @return a linked list of Integers representing the backtrace - */ - LinkedList backtrace(int[][] backtraceTable) { - LinkedList list = new LinkedList(); - int i = referenceItems.size(); - int j = hypothesisItems.size(); - while ((i >= 0) && (j >= 0)) { - list.add(backtraceTable[i][j]); - switch (backtraceTable[i][j]) { - case OK: - i--; - j--; - break; - case SUBSTITUTION: - i--; - j--; - substitutions++; - break; - case INSERTION: - j--; - insertions++; - break; - case DELETION: - i--; - deletions++; - break; - } - } - return list; - } - - - /** - * Based on the backtrace information, words are aligned as appropriate with insertions and deletions causing - * asterisks to be placed in the word lists. This generates the alignedReferenceWords and alignedHypothesisWords - * lists. - * - * @param backtrace the backtrace list created in backtrace - */ - void alignWords(LinkedList backtrace, StringRenderer renderer) { - ListIterator referenceWordsIterator = referenceItems.listIterator(); - ListIterator hypothesisWordsIterator = hypothesisItems.listIterator(); - String referenceWord; - String hypothesisWord; - Object a = null; - Object b = null; - - alignedReferenceWords = new LinkedList(); - alignedHypothesisWords = new LinkedList(); - - - for (int m = backtrace.size() - 2; m >= 0; m--) { - int backtraceEntry = backtrace.get(m); - - if (backtraceEntry != INSERTION) { - a = referenceWordsIterator.next(); - referenceWord = renderer.getRef(a, b); - } else { - referenceWord = null; - } - if (backtraceEntry != DELETION) { - b = hypothesisWordsIterator.next(); - hypothesisWord = renderer.getHyp(a, b); - } else { - hypothesisWord = null; - } - switch (backtraceEntry) { - case SUBSTITUTION: { - referenceWord = referenceWord.toUpperCase(); - hypothesisWord = hypothesisWord.toUpperCase(); - break; - } - case INSERTION: { - hypothesisWord = hypothesisWord.toUpperCase(); - break; - } - case DELETION: { - referenceWord = referenceWord.toUpperCase(); - break; - } - case OK: - break; - } - - // Expand the missing words out to be all *'s. - // - if (referenceWord == null) { - referenceWord = STARS.substring(0, hypothesisWord.length()); - } - if (hypothesisWord == null) { - hypothesisWord = STARS.substring(0, referenceWord.length()); - } - - // Fill the words up with spaces so they are the same - // length. - // - if (referenceWord.length() > hypothesisWord.length()) { - hypothesisWord = hypothesisWord.concat( - SPACES.substring(0, - referenceWord.length() - - hypothesisWord.length())); - } else if (referenceWord.length() < hypothesisWord.length()) { - referenceWord = referenceWord.concat( - SPACES.substring(0, - hypothesisWord.length() - - referenceWord.length())); - } - - alignedReferenceWords.add(referenceWord); - alignedHypothesisWords.add(hypothesisWord); - } - } - - - /** Updates the total counts based on the current alignment. */ - void updateTotals() { - totalSentences++; - if ((substitutions + insertions + deletions) != 0) { - totalSentencesWithErrors++; - } - if (substitutions != 0) { - totalSentencesWithSubtitutions++; - } - if (insertions != 0) { - totalSentencesWithInsertions++; - } - if (deletions != 0) { - totalSentencesWithDeletions++; - } - totalReferenceWords += referenceItems.size(); - totalHypothesisWords += hypothesisItems.size(); - totalAlignedWords += alignedReferenceWords.size(); - - totalWordsCorrect += correct; - totalSubstitutions += substitutions; - totalInsertions += insertions; - totalDeletions += deletions; - } - - - /** - * Turns the numerator/denominator into a percentage. - * - * @param pattern percentage pattern (ala DecimalFormat) - * @param numerator the numerator - * @param denominator the denominator - * @return a String that represents the percentage value. - */ - String toPercentage(String pattern, int numerator, int denominator) { - percentageFormat.applyPattern(pattern); - return padLeft( - 6, - percentageFormat.format((double) numerator - / (double) denominator)); - } - - - /** - * Turns the float into a percentage. - * - * @param pattern percentage pattern (ala DecimalFormat) - * @param value the floating point value - * @return a String that represents the percentage value. - */ - String toPercentage(String pattern, float value) { - percentageFormat.applyPattern(pattern); - return percentageFormat.format(value); - } - - - /** - * Turns the integer into a left-padded string. - * - * @param width the total width of String, including spaces - * @param i the integer - * @return a String padded left with spaces - */ - String padLeft(int width, int i) { - return padLeft(width, Integer.toString(i)); - } - - - /** - * Pads a string to the left with spaces (i.e., prepends spaces to the string so it fills out the given width). - * - * @param width the total width of String, including spaces - * @param string the String to pad - * @return a String padded left with spaces - */ - String padLeft(int width, String string) { - int len = string.length(); - if (len < width) { - return SPACES.substring(0, width - len).concat(string); - } else { - return string; - } - } - - - /** - * Converts the given String or words to a LinkedList. - * - * @param s the String of words to parse to a LinkedList - * @return a list, one word per item - */ - LinkedList toList(String s) { - LinkedList list = new LinkedList(); - StringTokenizer st = new StringTokenizer(s.trim()); - while (st.hasMoreTokens()) { - String token = st.nextToken(); - list.add(token); - } - return list; - } - - - /** - * convert the list of words back to a space separated string - * - * @param list the list of words - * @return a space separated string - */ - private String toString(LinkedList list) { - if (list == null || list.isEmpty()) - return ""; - StringBuilder sb = new StringBuilder(); - ListIterator iterator = list.listIterator(); - while (iterator.hasNext()) - sb.append(iterator.next()).append(' '); - sb.setLength(sb.length() - 1); - return sb.toString(); - } - - - /* - * Takes two filenames -- the first contains a list of reference sentences, the second contains a list of hypothesis - * sentences. Aligns each pair of sentences and outputs the individual and total results. - */ - public static void main(String args[]) { - NISTAlign align = new NISTAlign(true, true); - - BufferedReader referenceFile; - BufferedReader hypothesisFile; - String reference; - String hypothesis; - - try { - referenceFile = new BufferedReader( - new InputStreamReader(new FileInputStream(args[0]))); - hypothesisFile = new BufferedReader( - new InputStreamReader(new FileInputStream(args[1]))); - try { - while (true) { - reference = referenceFile.readLine(); - hypothesis = hypothesisFile.readLine(); - if ((reference == null) || (hypothesis == null)) { - break; - } else { - align.align(reference, hypothesis); - align.printNISTSentenceSummary(); - } - } - } catch (java.io.IOException e) { - } - align.printNISTTotalSummary(); - } catch (Exception e) { - System.err.println(e); - e.printStackTrace(); - System.out.println(); - System.out.println("Usage: align "); - System.out.println(); - } - } - - interface Comparator { - public boolean isSimilar (Object ref, Object hyp); - } - - - public interface StringRenderer { - String getRef (Object ref, Object hyp); - String getHyp (Object ref, Object hyp); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/PooledBatchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/PooledBatchManager.java deleted file mode 100755 index e09151f9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/PooledBatchManager.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.io.*; -import java.net.InetAddress; -import java.nio.channels.FileLock; -import java.util.List; - -/** A simple implementation of the batch manager suitable for single threaded batch processing */ -public class PooledBatchManager implements BatchManager { - - private final String batchFile; - private final int skip; - private File processingFile; - - private final static File topDir = new File("tests"); - private final static File inputDir = new File(topDir, "ToRun"); - private final static File inProcessDir = new File(topDir, "InProcess"); - private final static File completedDir = new File(topDir, "Completed"); - private final static File resultsDir = new File(topDir, "Results"); - private final static File lockFile = new File(".lock"); - private FileLock lock; - private PrintStream oldOut; - private final FileFilter testFileFilter = new TestFileFilter(); - - - /** - * Creates a pooled batch manager - * - * @param filename the name of the batch file - * @param skip items to skip between runs - */ - - public PooledBatchManager(String filename, int skip) { - this.batchFile = filename; - this.skip = skip; - } - - - /** Starts processing the batch */ - public void start() throws IOException { - - // redirect standard out to a file - lock(); - try { - createDirectories(); - redirectStdout(); - } finally { - unlock(); - } - } - - - /** - * Gets the next available batch item or null if no more are available - * - * @return the next available batch item - * @throws IOException if an I/O error occurs while reading the next item from the batch file. - */ - public BatchItem getNextItem() throws IOException { - lock(); - try { - // move the last 'in process' file to the 'completed' - // tests section. - - if (processingFile != null) { - File completedFile = getCompletedFile(processingFile); - processingFile.renameTo(completedFile); - processingFile = null; - } - File testFile = getNextFile(); - if (testFile != null) { - processingFile = getProcessingFile(testFile); - testFile.renameTo(processingFile); - System.out.println("Processing: " + processingFile); - return getBatchItem(processingFile); - } else { - return null; - } - } finally { - unlock(); - } - } - - - /** Stops processing the batch */ - public void stop() throws IOException { - lock(); - try { - closeStdout(); - } finally { - unlock(); - } - } - - - /** - * Returns the name of the file - * - * @return the filename - */ - public String getFilename() { - return batchFile; - } - - - /** Creates the test directories as necessary */ - private void createDirectories() throws IOException { - if (!topDir.isDirectory()) { - topDir.mkdir(); - inProcessDir.mkdir(); - completedDir.mkdir(); - resultsDir.mkdir(); - createInputDirectory(); - } - } - - - /** Creates the input directory */ - private void createInputDirectory() throws IOException { - inputDir.mkdir(); - // read in the batch file - List list = BatchFile.getLines(batchFile, skip); - - for (int i = 0; i < list.size(); i++) { - String name = Integer.toString(i + 1); - String line = list.get(i); - createInputFile(inputDir, name, line); - } - } - - - /** - * Creates the individual batch files - * - * @param dir the directory to place the input file in - * @param name the name of the file - * @param line the contents of the file - */ - private void createInputFile(File dir, String name, String line) - throws IOException { - - File path = new File(dir, name); - FileOutputStream fos = new FileOutputStream(path); - PrintStream ps = new PrintStream(fos); - ps.println(line); - ps.close(); - } - - - /** Redirects standard out to a file in the results directory with a name 'Results_xxx.out' */ - private void redirectStdout() throws IOException { - String myName = getMyName(); - File resultFile = File.createTempFile(myName, ".out", resultsDir); - - FileOutputStream fos = new FileOutputStream(resultFile); - PrintStream ps = new PrintStream(fos); - oldOut = System.out; - System.setOut(ps); - - System.out.println("# These results collected on " + getMyName()); - } - - - /** - * Gets my network name - * - * @return my network name - */ - private String getMyName() throws IOException { - return InetAddress.getLocalHost().getHostName(); - } - - - /** Close the redirected stdout and restore it to what it was before we redirected it. */ - private void closeStdout() throws IOException { - System.out.close(); - System.setOut(oldOut); - } - - - /** Lock the test suite so we can manipulate the set of tests */ - private void lock() throws IOException { - RandomAccessFile raf = new RandomAccessFile(lockFile, "rw"); - lock = raf.getChannel().lock(); - raf.close(); - } - - - /** unlock the test suite so we can manipulate the set of tests */ - private void unlock() throws IOException { - lock.release(); - lock = null; - } - - - /** - * Given an 'in process' file, generate the corresponding completed file. - * - * @param file the in process file - * @return the completed file - */ - private File getCompletedFile(File file) { - return new File(completedDir, file.getName()); - } - - - /** - * Given an 'input' file, generate the corresponding inProcess file. - * - * @param file the in process file - * @return the completed file - */ - private File getProcessingFile(File file) { - return new File(inProcessDir, file.getName()); - } - - - /** returns the next batch item file in the input directory */ - private File getNextFile() throws IOException { - File[] match = inputDir.listFiles(testFileFilter); - - if (match.length > 0) { - return match[0]; - } - return null; - } - - - /** - * Given a file parse the contents of the file into a BatchItem - * - * @param file the file to parse - * @return the contents in the form of a batch item - */ - private BatchItem getBatchItem(File file) throws IOException { - List list = BatchFile.getLines(file.getPath()); - if (list.size() != 1) { - throw new IOException("Bad batch file size"); - } - String line = list.get(0); - return new BatchItem(BatchFile.getFilename(line), - BatchFile.getReference(line)); - } -} - -/** Filter that only yields filenames that are integer numbers */ -class TestFileFilter implements FileFilter { - - public boolean accept(File pathname) { - String name = pathname.getName(); - try { - Integer.parseInt(name); - return true; - } catch (NumberFormatException nfe) { - return false; - } - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Range.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Range.java deleted file mode 100755 index cf68f946..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Range.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.cmu.sphinx.util; - -public class Range { - - private int start; - private int end; - - public Range(int start, int end) { - this.start = start; - this.end = end; - } - - public boolean contains(int shift) { - return shift >= start && shift < end; - } - - public int lowerEndpoint() { - return start; - } - - public int upperEndpoint() { - return end; - } - - public String toString() { - return String.format("[%d, %d]", start, end); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ReferenceSource.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ReferenceSource.java deleted file mode 100755 index b871d6f7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/ReferenceSource.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - *[B - */ -package edu.cmu.sphinx.util; - -import java.util.List; - -/** A source of reference texts. */ -public interface ReferenceSource { - - /** @return a list of reference texts. */ - public List getReferences(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SimpleBatchManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SimpleBatchManager.java deleted file mode 100755 index de1cba10..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SimpleBatchManager.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.io.IOException; -import java.util.List; - - -/** A simple implementation of the batch manager suitable for single threaded batch processing */ -public class SimpleBatchManager implements BatchManager { - - private final String batchFile; - private final int skip; - private int whichBatch; - private final int totalBatches; - private int curItem; - private List items; - - - /** - * Constructs a SimpleBatchManager object. - * - * @param filename the name of the batch file - * @param skip number of records to skip between items - * @param whichBatch which chunk of the batch should we process - * @param totalBatches the total number of chuncks that the batch is divided into. - */ - public SimpleBatchManager(String filename, - int skip, int whichBatch, int totalBatches) { - this.batchFile = filename; - this.skip = skip; - this.whichBatch = whichBatch; - this.totalBatches = totalBatches; - } - - - /** Starts processing the batch */ - public void start() throws IOException { - curItem = 0; - items = getBatchItems(batchFile); - } - - - /** - * Gets the next available batch item or null if no more are available - * - * @return the next available batch item - * @throws IOException if an I/O error occurs while getting the next item from the batch file. - */ - public BatchItem getNextItem() throws IOException { - if (curItem >= items.size()) { - return null; - } else { - String line = items.get(curItem++); - return new BatchItem(BatchFile.getFilename(line), - BatchFile.getReference(line)); - } - } - - - /** Stops processing the batch */ - public void stop() throws IOException { - } - - - /** - * Returns the name of the file - * - * @return the filename - */ - public String getFilename() { - return batchFile; - } - - - /** - * Gets the set of lines from the file - * - * @param file the name of the file - */ - private List getBatchItems(String file) throws IOException { - List list = BatchFile.getLines(file, skip); - - if (totalBatches > 1) { - int linesPerBatch = list.size() / totalBatches; - if (linesPerBatch < 1) { - linesPerBatch = 1; - } - if (whichBatch >= totalBatches) { - whichBatch = totalBatches - 1; - } - int startLine = whichBatch * linesPerBatch; - // last batch needs to get all remaining lines - if (whichBatch == (totalBatches - 1)) { - list = list.subList(startLine, list.size()); - } else { - list = list.subList(startLine, startLine + - linesPerBatch); - } - } - return list; - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandClient.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandClient.java deleted file mode 100755 index f1ec85bb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandClient.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.net.Socket; -import java.net.SocketException; - -/** - * A client for a socketed command interpreter. Hooks up to a socketed command interpreter and allows the sending of - * commands. - * - * @see CommandInterpreter - */ - -public class SocketCommandClient { - - private String host; - private int port; - private Socket socket; - private BufferedReader inReader; - private PrintWriter outWriter; - - - /** - * Creates a socket command client at the given host and port. - * - * @param host the host machine - * @param port the port to use - * @throws IOException if setup went wrong - */ - public SocketCommandClient(String host, int port) - throws IOException { - this.host = host; - this.port = port; - open(); - } - - - /** Creats a SocketCommandClient with no connection open must be called. */ - public SocketCommandClient() { - } - - - /** - * Opens a socket connection - * - * @param aHost the host to connect to - * @param aPort the port to connect to - * @throws IOException if connection fails - */ - public synchronized void open(String aHost, int aPort) - throws IOException { - host = aHost; - port = aPort; - - /* Open a client socket connection, throws IOExceptions - * to the calling thread. - * RATIONALE: the caller should handle any connection- - * related errors. - */ - socket = new Socket(host, port); - - inReader = new BufferedReader - (new InputStreamReader(socket.getInputStream())); - outWriter = new PrintWriter(socket.getOutputStream(), true); - } - - - private synchronized void open() throws IOException { - open(host, port); - } - - - /** - * @return the SO_TIMEOUT of the Socket that this client uses. 0 returns implies that the option is disabled (i.e., - * timeout of infinity). - * @throws SocketException if configuration failed - */ - public int getSoTimeout() throws SocketException { - if (socket != null) { - return socket.getSoTimeout(); - } else { - return 0; - } - } - - - /** - * Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds. The timeout must be > 0. A timeout of zero - * is interpreted as an infinite timeout. - * - * @param millisecs the timeout in milliseconds - * @throws SocketException if configuration failed - */ - public void setSoTimeout(int millisecs) throws SocketException { - if (socket != null) { - socket.setSoTimeout(millisecs); - } else { - System.err.println("SocketCommandClient.setSoTimeout(): " + - "socket is null"); - } - } - - - /** - * sends a command, retries on error which will attempt to repair a dead socket - * - * @param command the command - * @return true if command was sent ok - */ - - public synchronized boolean sendCommand(String command) { - final int maxTries = 2; - - for (int i = 0; i < maxTries; i++) { - if (!checkOpen()) { - continue; - } - outWriter.println(command); - if (outWriter.checkError()) { - close(); - System.err.println("IO error while sending " + command); - } else { - return true; - } - } - return false; - } - - - /** - * Gets a response - * - * @return the response or null if error - */ - - public synchronized String getResponse() { - String response = null; - - if (!checkOpen()) { - return null; - } - - try { - response = inReader.readLine(); - } catch (IOException ioe) { - System.err.println("IO error while reading response"); - close(); - } - return response; - } - - - /** - * is a response - * - * @return the response or null if error - */ - - public synchronized boolean isResponse() { - boolean response = false; - - if (!checkOpen()) { - return false; - } - - try { - response = inReader.ready(); - } catch (IOException ioe) { - System.err.println("IO error while checking response"); - close(); - } - return response; - } - - - /** - * sends a command get a response - * - * @param command the command to send - * @return the response or null if error - */ - - public synchronized String sendCommandGetResponse(String command) { - String response = null; - if (sendCommand(command)) { - response = getResponse(); - } - return response; - } - - - /** Closes the socket connection */ - public synchronized void close() { - try { - if (socket != null) { - socket.close(); - } else { - System.err.println("SocketCommandClient.close(): " + - "socket is null"); - } - } catch (IOException ioe) { - System.err.println("Trouble closing socket"); - } - socket = null; - } - - - /** Checks to see if the socket is open, if not opens it. */ - private synchronized boolean checkOpen() { - try { - if (socket == null) - open(); - } - catch (IOException e) { - System.err.println("SocketCommandClient.checkOpen():" - + "could not open socket"); - socket = null; - } - return socket != null; - } - - public static void main(String[] args) { - try { - CommandInterpreter ci = new CommandInterpreter(); - final SocketCommandClient sci = new - SocketCommandClient("localhost", 7890); - ci.add("s", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - StringBuilder cmd = new StringBuilder(); - for (int i = 1; i < args.length; i++) { - cmd.append(args[i]).append(' '); - } - sci.sendCommand(cmd.toString()); - return ""; - } - - - public String getHelp() { - return "send a command"; - } - }); - - ci.add("r", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - while (sci.isResponse()) { - ci.putResponse(sci.getResponse()); - } - return ""; - } - - - public String getHelp() { - return "receive a response"; - } - }); - - ci.add("sr", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - StringBuilder cmd = new StringBuilder(); - for (int i = 1; i < args.length; i++) { - cmd.append(args[i]).append(' '); - } - ci.putResponse(sci.sendCommandGetResponse(cmd.toString())); - while (sci.isResponse()) { - ci.putResponse(sci.getResponse()); - } - return ""; - } - - - public String getHelp() { - return "send a command, receive a response"; - } - }); - - ci.setPrompt("scc-test> "); - ci.run(); - } - catch (Exception e) { - System.err.println("error occured."); - e.printStackTrace(); - System.exit(-1); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandInterpreter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandInterpreter.java deleted file mode 100755 index e81dfdd8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SocketCommandInterpreter.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util; - - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.net.ServerSocket; -import java.net.Socket; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -/** - * This class is a command interpreter. It reads strings from an input stream, parses them into commands and executes - * them, results are sent back on the output stream. - * - * @see CommandInterpreter - */ - -public class SocketCommandInterpreter extends Thread { - - private final int port; - private final Map commandList; - private boolean trace; - private boolean acceptConnections = true; - - - /** - * Creates a command interpreter at the given port. - * - * @param port the port to create the command interpreter - */ - public SocketCommandInterpreter(int port) { - this.port = port; - commandList = new HashMap(); - } - - - /** - * Adds the given command to the command list. - * - * @param name the name of the command. - * @param command the command to be executed. - */ - - public void add(String name, CommandInterface command) { - commandList.put(name, command); - } - - // Implements the run() method of Runnable - - - @Override - public final void run() { - ServerSocket ss; - - try { - ss = new ServerSocket(port); - System.out.println("Waiting on " + ss); - } catch (IOException ioe) { - System.out.println("Can't open socket on port " + port); - ioe.printStackTrace(); - return; - } - - while (acceptConnections) { - try { - Socket s = ss.accept(); - spawnCommandInterpreter(s); - } catch (IOException ioe) { - System.err.println("Could not accept socket " + ioe); - ioe.printStackTrace(); - break; - } - } - - try { - ss.close(); - } catch (IOException ioe) { - System.err.println("Could not close server socket " + ioe); - ioe.printStackTrace(); - } - } - - - /** Stops this SocketCommandInterpreter from accepting connections. Effectively stops this thread. */ - public void setStopAcceptConnections() { - acceptConnections = false; - } - - - /** - * Sets the trace mode of the command interpreter. - * - * @param trace true if tracing. - */ - - public void setTrace(boolean trace) { - this.trace = trace; - } - - - /** - * spawns a command interpreter - * - * @param s the socket where the interpeter reads/writes to/from - */ - private void spawnCommandInterpreter(Socket s) { - try { - BufferedReader inReader = new BufferedReader( - new InputStreamReader(s.getInputStream())); - PrintWriter outWriter = new PrintWriter( - s.getOutputStream(), true); - CommandInterpreter ci = new CommandInterpreter(inReader, outWriter); - ci.setSocket(s); - ci.add(commandList); - ci.setTrace(trace); - ci.start(); - } catch (IOException ioe) { - System.err.println("Could not attach CI to socket " + ioe); - } - } - - public static void main(String[] args) { - SocketCommandInterpreter sci = new SocketCommandInterpreter(7890); - sci.add("testCommand", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - return "this is a test"; - } - - - public String getHelp() { - return "a test command"; - } - }); - sci.add("time", new CommandInterface() { - public String execute(CommandInterpreter ci, String[] args) { - return "Time is " + new Date(); - } - - - public String getHelp() { - return "shows the current time"; - } - }); - - System.out.println("Welcome to SocketCommand interpreter test program"); - sci.setTrace(true); - sci.start(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxHelp.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxHelp.java deleted file mode 100755 index b62544a3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxHelp.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -/** This class provides information on Sphinx-4 and how to use it */ - -public class SphinxHelp { - - private final static String VERSION = "1.0 beta6"; - - /** - * The main entry point - * - * @param args the command line arguments - */ - public static void main(String[] args) { - System.out.println(); - System.out.println("Welcome to Sphinx-4!"); - System.out.println(); - System.out.println(" This is version " + VERSION + '.'); - System.out.println(" For information on how to configure and run"); - System.out.println(" Sphinx-4 please read:"); - System.out.println(" http://cmusphinx.sourceforge.net/sphinx4"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxLogFormatter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxLogFormatter.java deleted file mode 100755 index d8417ddf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/SphinxLogFormatter.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.logging.Formatter; -import java.util.logging.LogRecord; - -/** - * Provides a log formatter for use with CMU Sphinx. This formatter generates - * nicer looking console messages than the default formatter. To use the - * formatter, set the property - *

- * java.util.logging.ConsoleHandler.formatter to - * edu.cmu.sphinx.util.SphinxLogFormatter - *

- * This is typically done in a custom loger.properties file - */ -public class SphinxLogFormatter extends Formatter { - - private final DateFormat DATE_FORMATTER = new SimpleDateFormat("HH:mm:ss.SSS"); - private boolean terse; - - - /** - * Sets the level of output - * - * @param terse if true, the output level should be terse - */ - public void setTerse(boolean terse) { - this.terse = terse; - } - - - /** - * Retrieves the level of output - * - * @return the level of output - */ - public boolean getTerse() { - return terse; - } - - - /** - * Formats the given log record and return the formatted string. - * - * @param record the record to format - * @return the formatted string - */ - @Override - public String format(LogRecord record) { - if (terse) { - return record.getMessage() + '\n'; - } else { - String date = DATE_FORMATTER.format(new Date(record.getMillis())); - StringBuilder sb = new StringBuilder().append(date).append(' '); - - String loggerName = record.getLoggerName(); - String source; - if (loggerName != null) { - String[] strings = loggerName.split("[.]"); - source = strings[strings.length - 1]; - } else { - source = loggerName; - } - - sb.append(Utilities.pad(record.getLevel().getName() + ' ' + source, 24)); - sb.append(" ").append(record.getMessage()).append('\n'); - return sb.toString(); - } - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StatisticsVariable.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StatisticsVariable.java deleted file mode 100755 index 61f27ca2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StatisticsVariable.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.util.HashMap; -import java.util.Map; - -/** - * Represents a named value. A StatisticsVariable may be used to track data in a fashion that will allow the data to be - * viewed or dumped at any time. Statistics are kept in a pool and are grouped in contexts. Statistics can be dumped - * as a whole or by context. - */ -public class StatisticsVariable { - - private static final Map pool = new HashMap(); - - /** the value of this StatisticsVariable. It can be manipulated directly by the application. */ - public double value; - - private final String name; // the name of this value - private boolean enabled; // if true this var is enabled - - - /** - * Gets the StatisticsVariable with the given name from the given context. If the statistic does not currently - * exist, it is created. If the context does not currently exist, it is created. - * - * @param statName the name of the StatisticsVariable - * @return the StatisticsVariable with the given name and context - */ - static public StatisticsVariable getStatisticsVariable(String statName) { - - StatisticsVariable stat = pool.get(statName); - if (stat == null) { - stat = new StatisticsVariable(statName); - pool.put(statName, stat); - } - return stat; - } - - - /** - * Gets the StatisticsVariable with the given name for the given instance and context. This is a convenience - * function. - * - * @param instanceName the instance name of creator - * @param statName the name of the StatisticsVariable - * @return new variable - */ - static public StatisticsVariable getStatisticsVariable( - String instanceName, String statName) { - return getStatisticsVariable(instanceName + '.' + statName); - } - - - /** Dump all of the StatisticsVariable in the given context */ - static public void dumpAll() { - System.out.println(" ========= statistics " + "======="); - for (StatisticsVariable stats : pool.values()) { - stats.dump(); - } - } - - - /** Resets all of the StatisticsVariables in the given context */ - static public void resetAll() { - for (StatisticsVariable stats : pool.values()) { - stats.reset(); - } - } - - - /** - * Contructs a StatisticsVariable with the given name and context - * - * @param statName the name of this StatisticsVariable - */ - private StatisticsVariable(String statName) { - this.name = statName; - this.value = 0.0; - } - - - /** - * Retrieves the name of this StatisticsVariable - * - * @return the name of this StatisticsVariable - */ - public String getName() { - return name; - } - - - /** - * Retrieves the value for this StatisticsVariable - * - * @return the current value for this StatisticsVariable - */ - public double getValue() { - return value; - } - - - /** - * Sets the value for this StatisticsVariable - * - * @param value the new value - */ - public void setValue(double value) { - this.value = value; - } - - - /** Resets this StatisticsVariable. The value is set to zero. */ - public void reset() { - setValue(0.0); - } - - - /** Dumps this StatisticsVariable. */ - public void dump() { - if (isEnabled()) { - System.out.println(name + ' ' + value); - } - } - - - /** - * Determines if this StatisticsVariable is enabled - * - * @return true if enabled - */ - public boolean isEnabled() { - return enabled; - } - - - /** - * Sets the enabled state of this StatisticsVariable - * - * @param enabled the new enabled state - */ - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - - public static void main(String[] args) { - StatisticsVariable loops = - StatisticsVariable.getStatisticsVariable("main", "loops"); - StatisticsVariable sum = - StatisticsVariable.getStatisticsVariable("main", "sum"); - - StatisticsVariable foot = - StatisticsVariable.getStatisticsVariable("body", "foot"); - StatisticsVariable leg = - StatisticsVariable.getStatisticsVariable("body", "leg"); - StatisticsVariable finger = - StatisticsVariable.getStatisticsVariable("body", "finger"); - - foot.setValue(2); - leg.setValue(2); - finger.setValue(10); - - StatisticsVariable.dumpAll(); - StatisticsVariable.dumpAll(); - - for (int i = 0; i < 1000; i++) { - loops.value++; - sum.value += i; - } - - StatisticsVariable.dumpAll(); - - - StatisticsVariable loopsAlias = - StatisticsVariable.getStatisticsVariable("main", "loops"); - StatisticsVariable sumAlias = - StatisticsVariable.getStatisticsVariable("main", "sum"); - - for (int i = 0; i < 1000; i++) { - loopsAlias.value++; - sumAlias.value += i; - } - - StatisticsVariable.dumpAll(); - StatisticsVariable.resetAll(); - StatisticsVariable.dumpAll(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StreamFactory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StreamFactory.java deleted file mode 100755 index 45d49b3c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/StreamFactory.java +++ /dev/null @@ -1,344 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.util; - -import java.io.*; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.zip.ZipEntry; -import java.util.zip.ZipException; -import java.util.zip.ZipFile; -import java.util.zip.ZipOutputStream; - -/** - * Supports the loading and saving of files from different sources, e.g., a ZIP file or a plain directory. Provides - * methods that returns an InputStream or OutputStream to the named file in the given source. - */ -public class StreamFactory { - - /** Identifies a ZIP file. */ - public static final String ZIP_FILE = "ZIP_FILE"; - - - /** Identifies a plain directory. */ - public static final String DIRECTORY = "DIRECTORY"; - - - /** - * Returns an appropriate InputStream of the given file in the given URL location. The location can be a plain - * directory or a ZIP file (these are the only two supported at this point). The resolve method is - * called to resolve whether "location" refers to a ZIP file or a directory. - *

- * Suppose you want the InputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getInputStream( - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt"); - *

- * Suppose you want the InputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getInputStream( - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt"); - *

- * The StreamFactory.resolve() method is called to resolve whether "location" refers to a ZIP file or a - * directory. - * - * @param location the URL location of the input data, it can now be a directory or a ZIP file - * @param file the file in the given location to obtain the InputStream - * @return an InputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static InputStream getInputStream(String location, - String file) throws - IOException { - if (location != null) { - return StreamFactory.getInputStream - (StreamFactory.resolve(location), location, file); - } else { - return StreamFactory.getInputStream(StreamFactory.DIRECTORY, - location, file); - } - } - - - /** - * According to the given data format, returns an appropriate InputStream of the given file in the given URL - * location. The location can be a plain directory or a JAR or ZIP file (these are the only ones supported at this - * point). - *

- * Suppose you want the InputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getInputStream(StreamFactory.ZIP_FILE, - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt"); - *

- * Suppose you want the InputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getInputStream(StreamFactory.DIRECTORY, - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt"); - * - * @param format the format of the input data, the currently supported formats are:
StreamFactory.ZIP_FILE - *
StreamFactory.DIRECTORY - * @param location the URL location of the input data, it can now be a directory or a JAR or ZIP file, or null if no - * location is given, which means that the argument also specifies the exact location - * @param file the file in the given location to obtain the InputStream - * @return an InputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static InputStream getInputStream(String format, - String location, - String file) throws - IOException { - InputStream stream = null; - String absoluteLocation; - - if (location == null) { - absoluteLocation = null; - } else { - // Create a url from the location, possibly relative path - URI uri = URI.create(location); - // Get the scheme and the path - String scheme = uri.getScheme(); - String path = uri.getSchemeSpecificPart(); - // Create a file with the path (aka scheme-specific part) - File relativeFile = new File(path); - // Make the path absolute and reconstruct the location, with - // the correct scheme - URI absoluteURI = relativeFile.getAbsoluteFile().toURI(); - if (scheme == null) { - absoluteLocation = absoluteURI.getSchemeSpecificPart(); - } else { - absoluteLocation = scheme + ':' + - absoluteURI.getSchemeSpecificPart(); - } - } - - if (format.equals(ZIP_FILE)) { - try { - URI newURI = new URI(absoluteLocation); - ZipFile zipFile = - new ZipFile(new File(newURI)); - ZipEntry entry = zipFile.getEntry(file); - if (entry != null) { - stream = zipFile.getInputStream(entry); - } - zipFile.close(); - } catch (URISyntaxException use) { - use.printStackTrace(); - throw new ZipException("URISyntaxException: " + - use.getMessage()); - } - } else if (format.equals(DIRECTORY)) { - if (absoluteLocation != null) { - stream = new FileInputStream(absoluteLocation + - File.separator + file); - } else { - stream = new FileInputStream(file); - } - } - return stream; - } - - - /** - * Returns an appropriate OutputStream of the given file in the given URL location. The location can be a plain - * directory or a ZIP file (these are the only two supported at this point). The resolve method is - * called to resolve whether "location" refers to a ZIP file or a directory. If saving to a zip or jar, the file can - * be appended or overwritten. If saving to a directory, files are always overwritten. - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getOutputStream( - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt", true); - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getOutputStream( - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt", false); - *

- * The StreamFactory.resolve() method is called to resolve whether "location" refers to a ZIP file or a - * directory. - * - * @param location the URL location of the output data, it can now be a directory or a ZIP file - * @param file the file in the given location to obtain the OutputStream - * @param append if true and saving to a zip file, then file is appended rather than overwritten. - * @return an OutputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static OutputStream getOutputStream(String location, - String file, - boolean append) throws - IOException { - if (location != null) { - return StreamFactory.getOutputStream - (StreamFactory.resolve(location), location, file, append); - } else { - return StreamFactory.getOutputStream(StreamFactory.DIRECTORY, - location, file); - } - } - - - /** - * According to the given data format, returns an appropriate OutputStream of the given file in the given URL - * location. The location can be a plain directory or a JAR or ZIP file (these are the only ones supported at this - * point). If saving to a zip or jar, the file can be appended or overwritten. If saving to a directory, files are - * always overwritten. - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getOutputStream(StreamFactory.ZIP_FILE, - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt", true); - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getOutputStream(StreamFactory.DIRECTORY, - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt", false); - * - * @param format the format of the output data, the currently supported formats are:
StreamFactory.ZIP_FILE - *
StreamFactory.DIRECTORY - * @param location the URL location of the output data, it can now be a directory or a JAR or ZIP file, or null if - * no location is given, which means that the argument also specifies the exact - * location - * @param file the file in the given location to obtain the OutputStream - * @param append if true and saving to a zip file, then file is appended rather than overwritten. - * @return an OutputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static OutputStream getOutputStream(String format, - String location, - String file, - boolean append) throws - IOException { - OutputStream stream = null; - if (format.equals(ZIP_FILE)) { - try { - System.out.println("WARNING: ZIP not yet fully supported.!"); - File path = new File(location); - File parent = new File(path.getParent()); - if (!parent.exists()) { - parent.mkdirs(); - } - FileOutputStream fos = - new FileOutputStream(new File(new URI(location)), append); - stream = new ZipOutputStream(new BufferedOutputStream(fos)); - - ZipEntry entry = new ZipEntry(file); - ((ZipOutputStream) stream).putNextEntry(entry); - } catch (URISyntaxException use) { - use.printStackTrace(); - throw new ZipException("URISyntaxException: " + - use.getMessage()); - } - } else if (format.equals(DIRECTORY)) { - if (location != null) { - File path = new File(location + File.separator + file); - File parent = new File(path.getParent()); - if (!parent.exists()) { - parent.mkdirs(); - } - stream = new FileOutputStream(location + File.separator + file); - } else { - File path = new File(file); - File parent = new File(path.getParent()); - if (!parent.exists()) { - parent.mkdirs(); - } - stream = new FileOutputStream(file); - } - } else { - throw new IOException("Format not supported for writing"); - } - return stream; - } - - - /** - * Returns an appropriate OutputStream of the given file in the given URL location. The location can be a plain - * directory or a ZIP file (these are the only two supported at this point). The resolve method is - * called to resolve whether "location" refers to a ZIP file or a directory. Files are overwritten, which may be - * risky for ZIP of JAR files. - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getOutputStream( - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt"); - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getOutputStream( - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt"); - *

- * The StreamFactory.resolve() method is called to resolve whether "location" refers to a ZIP file or a - * directory. - * - * @param location the URL location of the output data, it can now be a directory or a ZIP file - * @param file the file in the given location to obtain the OutputStream - * @return an OutputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static OutputStream getOutputStream(String location, - String file) throws - IOException { - if (location != null) { - return StreamFactory.getOutputStream - (StreamFactory.resolve(location), location, file); - } else { - return StreamFactory.getOutputStream(StreamFactory.DIRECTORY, - location, file); - } - } - - - /** - * According to the given data format, returns an appropriate OutputStream of the given file in the given URL - * location. The location can be a plain directory or a JAR or ZIP file (these are the only ones supported at this - * point). Files are always overwritten, which can be risky for ZIP or JAR files. - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the ZIP file - * "file:/lab/speech/sphinx4/data/wsj.zip". You will do: StreamFactory.getOutputStream(StreamFactory.ZIP_FILE, - * "file:/lab/speech/sphinx4/data/wsj.zip", "dict/dictionary.txt"); - *

- * Suppose you want the OutputStream to the file "dict/dictionary.txt" in the directory - * "file:/lab/speech/sphinx4/data/wsj", you will do: StreamFactory.getOutputStream(StreamFactory.DIRECTORY, - * "file:/lab/speech/sphinx4/data/wsj", "dict/dictionary.txt"); - * - * @param format the format of the output data, the currently supported formats are:
StreamFactory.ZIP_FILE - *
StreamFactory.DIRECTORY - * @param location the URL location of the output data, it can now be a directory or a JAR or ZIP file, or null if - * no location is given, which means that the argument also specifies the exact - * location - * @param file the file in the given location to obtain the OutputStream - * @return an OutputStream of the given file in the given location - * @throws IOException if IO went wrong - */ - public static OutputStream getOutputStream(String format, - String location, - String file) throws - IOException { - if (format.equals(ZIP_FILE)) { - System.out.println("WARNING: overwriting ZIP or JAR file!"); - return StreamFactory.getOutputStream - (StreamFactory.resolve(location), location, file, false); - } else if (format.equals(DIRECTORY)) { - return StreamFactory.getOutputStream(StreamFactory.DIRECTORY, - location, file, false); - } else { - throw new IOException("Format not supported for writing"); - } - } - - - /** - * @param sourceName name of the source - * @return the type of the given data source. The current supported types are: StreamFactory.ZIP_FILE - * StreamFactory.DIRECTORY - */ - public static String resolve(String sourceName) { - if ((sourceName.endsWith(".jar")) || (sourceName.endsWith(".zip"))) { - return StreamFactory.ZIP_FILE; - } else { - return StreamFactory.DIRECTORY; - } - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimeFrame.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimeFrame.java deleted file mode 100755 index 93c8ca0f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimeFrame.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.util; - - -public class TimeFrame { - - public static final TimeFrame NULL = new TimeFrame(0); - public static final TimeFrame INFINITE = new TimeFrame(Long.MAX_VALUE); - - private final long start; - private final long end; - - public TimeFrame(long duration) { - this(0, duration); - } - - public TimeFrame(long start, long end) { - this.start = start; - this.end = end; - } - - public long getStart() { - return start; - } - - public long getEnd() { - return end; - } - - public long length() { - return end - start; - } - - @Override - public String toString() { - return String.format("%d:%d", start, end); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Timer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Timer.java deleted file mode 100755 index 65053ff3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Timer.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.text.DecimalFormat; -import java.util.logging.Logger; - -/** - * Keeps track of execution times. This class provides methods that can be used for timing processes. The process to be - * timed should be bracketed by calls to timer.start() and timer.stop(). Repeated operations can be timed more than - * once. The timer will report the minimum, maximum, average and last time executed for all start/stop pairs when the - * timer.dump is called. - *

- * Timer instances can be obtained from a global cache implemented in {@code TimerPool}. - * - * @see TimerPool - */ -public class Timer { - - private final static DecimalFormat timeFormatter = new DecimalFormat("###0.0000"); - - private final String name; - - private double sum; - private long count; - private long startTime; - private long curTime; - private long minTime = Long.MAX_VALUE; - private long maxTime; - private boolean notReliable; // if true, timing is not reliable - - - /** - * Creates a timer. - * - * @param name the name of the timer - */ - Timer(String name) { - assert name != null : "timers must have a name!"; - this.name = name; - reset(); - } - - - /** - * Retrieves the name of the timer - * - * @return the name of the timer - */ - public String getName() { - return name; - } - - - /** Resets the timer as if it has never run before. */ - public void reset() { - startTime = 0L; - count = 0L; - sum = 0L; - minTime = Long.MAX_VALUE; - maxTime = 0L; - notReliable = false; - } - - - /** - * Returns true if the timer has started. - * - * @return true if the timer has started; false otherwise - */ - public boolean isStarted() { - return (startTime > 0L); - } - - - /** Starts the timer running. */ - public void start() { - if (startTime != 0L) { - notReliable = true; // start called while timer already running - System.out.println - (getName() + " timer.start() called without a stop()"); - } - startTime = System.currentTimeMillis(); - } - - - /** - * Starts the timer at the given time. - * - * @param time the starting time - */ - public void start(long time) { - if (startTime != 0L) { - notReliable = true; // start called while timer already running - System.out.println - (getName() + " timer.start() called without a stop()"); - } - if (time > System.currentTimeMillis()) { - throw new IllegalStateException - ("Start time is later than current time"); - } - startTime = time; - } - - - /** - * Stops the timer. - * - * @return the duration since start in milliseconds - */ - public long stop() { - if (startTime == 0L) { - notReliable = true; // stop called, but start never called - System.out.println - (getName() + " timer.stop() called without a start()"); - } - curTime = System.currentTimeMillis() - startTime; - startTime = 0L; - if (curTime > maxTime) { - maxTime = curTime; - } - if (curTime < minTime) { - minTime = curTime; - } - count++; - sum += curTime; - return curTime; - } - - - /** - * Dump the timer. Shows the timer details. - * @param logger to use for dump - */ - public void dump(Logger logger) { - showTimesShort(logger); - } - - - /** - * Gets the count of starts for this timer - * - * @return the count - */ - public long getCount() { - return count; - } - - - /** - * Returns the latest time gathered - * - * @return the time in milliseconds - */ - public long getCurTime() { - return curTime; - } - - - /** - * Gets the average time for this timer in milliseconds - * - * @return the average time - */ - public double getAverageTime() { - if (count == 0) { - return 0.0; - } - return sum / count; - } - - - /** - * Gets the min time for this timer in milliseconds - * - * @return the min time - */ - public long getMinTime() { - return minTime; - } - - - /** - * Gets the max time for this timer in milliseconds - * - * @return the max time in milliseconds - */ - public long getMaxTime() { - return maxTime; - } - - - /** - * Formats times into a standard format. - * - * @param time the time (in milliseconds) to be formatted - * @return a string representation of the time. - */ - private String fmtTime(long time) { - return fmtTime(time / 1000.0); - } - - - /** - * Formats times into a standard format. - * - * @param time the time (in seconds) to be formatted - * @return a string representation of the time. - */ - private String fmtTime(double time) { - return Utilities.pad(timeFormatter.format(time) + 's', 10); - } - - - /** Shows brief timing statistics . - * @param logger */ - private void showTimesShort(Logger logger) { - double avgTime = 0.0; - - if (count == 0) { - return; - } - - if (count > 0) { - avgTime = sum / count / 1000.0; - } - - if (notReliable) { - logger.info(Utilities.pad(name, 20) + ' ' + "Not reliable."); - } else { - logger.info(Utilities.pad(name, 20) + ' ' - + Utilities.pad(String.valueOf(count), 8) - + fmtTime(curTime) - + fmtTime(minTime) - + fmtTime(maxTime) - + fmtTime(avgTime) - + fmtTime(sum / 1000.0)); - } - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimerPool.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimerPool.java deleted file mode 100755 index e35a6840..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/TimerPool.java +++ /dev/null @@ -1,104 +0,0 @@ -package edu.cmu.sphinx.util; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.WeakHashMap; -import java.util.logging.Logger; - -/** - * Keeps references to a list of timers which can be referenced by a key-pair consisting of an owner and a timer name. - * - * @author Holger Brandl - */ -public class TimerPool { - - private static final Map> weakRefTimerPool = new WeakHashMap>(); - - - // disable the constructor - private TimerPool() { - - } - - - /** - * Retrieves (or creates) a timer with the given name - * - * @param owner owner of the timer - * @param timerName the name of the particular timer to retrieve. If the timer does not already exist, it will be - * created - * @return the timer - */ - public static synchronized Timer getTimer(Object owner, String timerName) { - if (!weakRefTimerPool.containsKey(owner)) - weakRefTimerPool.put(owner, new ArrayList()); - - List ownerTimers = weakRefTimerPool.get(owner); - - for (Timer timer : ownerTimers) { - if (timer.getName().equals(timerName)) - return timer; - } - - // there is no timer named 'timerName' yet, so create it - Timer requestedTimer = new Timer(timerName); - ownerTimers.add(requestedTimer); - - return requestedTimer; - } - - - /** @return the number of currently caches {@code Timer} instances. */ - public static int getNumCachedTimers() { - int counter = 0; - for (List timers : weakRefTimerPool.values()) { - counter += timers.size(); - } - - return counter; - } - - - /** - * Dump all timers - * @param logger the logger to use for dump - */ - public static void dumpAll(Logger logger) { - showTimesShortTitle(logger); - - for (List timers : weakRefTimerPool.values()) { - for (Timer timer : timers) { - timer.dump(logger); - } - } - } - - - /** Shows the timing stats title. - * @param logger */ - private static void showTimesShortTitle(Logger logger) { - String title = "Timers"; - String titleBar = - "# ----------------------------- " + title + - "----------------------------------------------------------- "; - logger.info(Utilities.pad(titleBar, 78)); - logger.info(Utilities.pad("# Name", 20) + ' ' - + Utilities.pad("Count", 8) - + Utilities.pad("CurTime", 10) - + Utilities.pad("MinTime", 10) - + Utilities.pad("MaxTime", 10) - + Utilities.pad("AvgTime", 10) - + Utilities.pad("TotTime", 10)); - } - - - /** Resets all timers */ - public static void resetAll() { - for (List timers : weakRefTimerPool.values()) { - for (Timer timer : timers) { - timer.reset(); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Utilities.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Utilities.java deleted file mode 100755 index f4903ffb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/Utilities.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Copyright 1999-2002 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.util; - -import java.io.*; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; - - -/** Provides a set of generic utilities */ -public class Utilities { - - private final static boolean TRACKING_OBJECTS = false; - - - // Unconstructable. - private Utilities() { - } - - - /** - * Returns a string with the given number of spaces. - * - * @param padding the number of spaces in the string - * @return a string of length 'padding' containing only the SPACE char. - */ - public static String pad(int padding) { - if (padding > 0) { - StringBuilder sb = new StringBuilder(padding); - for (int i = 0; i < padding; i++) { - sb.append(' '); - } - return sb.toString(); - } else { - return ""; - } - } - - - /** - * Pads with spaces or truncates the given string to guarantee that it is exactly the desired length. - * - * @param string the string to be padded - * @param minLength the desired length of the string - * @return a string of length containing string padded with whitespace or truncated - */ - public static String pad(String string, int minLength) { - String result = string; - int pad = minLength - string.length(); - if (pad > 0) { - result = string + pad(minLength - string.length()); - } else if (pad < 0) { - result = string.substring(0, minLength); - } - return result; - } - - - /** - * Pads with spaces or truncates the given int to guarantee that it is exactly the desired length. - * - * @param val the value to be padded - * @param minLength the desired length of the string - * @return a string of length containing string padded with whitespace or truncated - */ - public static String pad(int val, int minLength) { - return pad(String.valueOf(val), minLength); - } - - - /** - * Pads with spaces or truncates the given double to guarantee that it is exactly the desired length. - * - * @param val the value to be padded - * @param minLength the desired length of the string - * @return a string of length containing string padded with whitespace or truncated - */ - public static String pad(double val, int minLength) { - return pad(String.valueOf(val), minLength); - } - - /** - * Dumps padded text. This is a simple tool for helping dump text with padding to a Writer. - * - * @param pw the stream to send the output - * @param padding the number of spaces in the string - * @param string the string to output - */ - public static void dump(PrintWriter pw, int padding, String string) { - pw.print(pad(padding)); - pw.println(string); - } - - - /** - * utility method for tracking object counts - * - * @param name the name of the object - * @param count the count of objects - */ - public static void objectTracker(String name, int count) { - if (TRACKING_OBJECTS) { - if (count % 1000 == 0) { - System.out.println("OT: " + name + ' ' + count); - } - } - } - - - static long maxUsed; - - - /** - * Dumps out memory information - * - * @param msg addditional text for the dump - */ - - public static void dumpMemoryInfo(String msg) { - Runtime rt = Runtime.getRuntime(); - long free = rt.freeMemory(); - rt.gc(); - long reclaimedMemory = (rt.freeMemory() - free) - / (1024 * 1024); - long freeMemory = rt.freeMemory() / (1024 * 1024); - long totalMemory = rt.totalMemory() / (1024 * 1024); - long usedMemory = rt.totalMemory() - rt.freeMemory(); - - if (usedMemory > maxUsed) { - maxUsed = usedMemory; - } - - System.out.println("Memory (mb) " - + " total: " + totalMemory - + " reclaimed: " + reclaimedMemory - + " free: " + freeMemory - + " Max Used: " + (maxUsed / (1024 * 1024)) - + " -- " + msg); - } - - - /** - * Returns the string representation of the given double value in normalized scientific notation. The - * fractionDigits argument gives the number of decimal digits in the fraction portion. For example, if - * fractionDigits is 4, then the 123450 will be "1.2345e+05". There will always be two digits in the - * exponent portion, and a plus or minus sign before the exponent. - * - * @param number the double to convert - * @param fractionDigits the number of digits in the fraction part, e.g., 4 in "1.2345e+05". - * @return the string representation of the double in scientific notation - */ - public static String doubleToScientificString(double number, - int fractionDigits) { - DecimalFormat format = new DecimalFormat(); - - StringBuilder formatter = new StringBuilder(5 + fractionDigits).append("0."); - for (int i = 0; i < fractionDigits; i++) { - formatter.append('0'); - } - formatter.append("E00"); - - format.applyPattern(formatter.toString()); - String formatted = format.format(number); - - int index = formatted.indexOf('E'); - if (formatted.charAt(index + 1) != '-') { - return formatted.substring(0, index + 1) + '+' + - formatted.substring(index + 1); - } else { - return formatted; - } - } - - - /** - * Returns true if the given binary cepstra file is in big-endian format. It assumes that the first 4 bytes of the - * file tells you how many 4-byte floating point cepstra values are in the file. - * - * @param filename the cepstra file name - * @return true if the given binary cepstra file is big-endian - * @throws IOException if something went wrong - */ - public static boolean isCepstraFileBigEndian(String filename) - throws IOException { - File cepstraFile = new File(filename); - int fileSize = (int) cepstraFile.length(); - DataInputStream stream = - new DataInputStream(new FileInputStream(filename)); - int numberBytes = stream.readInt() * 4 + 4; - stream.close(); - return (fileSize == numberBytes); - } - - - /** - * Reads the next float from the given DataInputStream, where the data is in little endian. - * - * @param dataStream the DataInputStream to read from - * @return a float - * @throws IOException if something went wrong - */ - public static float readLittleEndianFloat(DataInputStream dataStream) - throws IOException { - return Float.intBitsToFloat(readLittleEndianInt(dataStream)); - } - - - /** - * Reads the next little-endian integer from the given DataInputStream. - * - * @param dataStream the DataInputStream to read from - * @return an integer - * @throws IOException if something went wrong - */ - public static int readLittleEndianInt(DataInputStream dataStream) - throws IOException { - return dataStream.readUnsignedByte() | dataStream.readUnsignedByte() << 8 | - dataStream.readUnsignedByte() << 16 | dataStream.readUnsignedByte() << 24; - } - - - /** - * Byte-swaps the given integer to the other endian. That is, if this integer is big-endian, it becomes - * little-endian, and vice-versa. - * - * @param integer the integer to swap - * @return swapped integer - */ - public static int swapInteger(int integer) { - return (((0x000000ff & integer) << 24) | - ((0x0000ff00 & integer) << 8) | - ((0x00ff0000 & integer) >> 8) | - ((0xff000000 & integer) >> 24)); - } - - - /** - * Byte-swaps the given float to the other endian. That is, if this float is big-endian, it becomes little-endian, - * and vice-versa. - * - * @param floatValue the float to swap - * @return swapped float - */ - public static float swapFloat(float floatValue) { - return Float.intBitsToFloat - (swapInteger(Float.floatToRawIntBits(floatValue))); - } - - - /** - * If a data point is below 'floor' make it equal to floor. - * - * @param data the data to floor - * @param floor the floored value - */ - public static void floorData(float[] data, float floor) { - for (int i = 0; i < data.length; i++) { - if (data[i] < floor) { - data[i] = floor; - } - } - } - /** - * If a data point is non-zero and below 'floor' make it equal to floor - * (don't floor zero values though). - * - * @param data the data to floor - * @param floor the floored value - */ - public static void nonZeroFloor(float[] data, float floor) { - for (int i = 0; i < data.length; i++) { - if (data[i] != 0.0 && data[i] < floor) { - data[i] = floor; - } - } - } - - - /** - * Normalize the given data. - * - * @param data the data to normalize - */ - public static void normalize(float[] data) { - float sum = 0; - for (float val : data) { - sum += val; - } - if (sum != 0.0f) { - for (int i = 0; i < data.length; i++) { - data[i] = data[i] / sum; - } - } - } - - - public static String join(List tokens) { - StringBuilder builder = new StringBuilder(); - for (String token : tokens) { - builder.append(token); - builder.append(' '); - } - return builder.toString().trim(); - } - - - public static List asList(int[] align) { - ArrayList result = new ArrayList(align.length); - for (int i : align) { - result.add(i); - } - return result; - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/machlearn/OVector.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/machlearn/OVector.java deleted file mode 100755 index b2127b9a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/machlearn/OVector.java +++ /dev/null @@ -1,62 +0,0 @@ -package edu.cmu.sphinx.util.machlearn; - -import java.io.Serializable; -import java.util.Arrays; - -/** An real-valued observation. */ -@SuppressWarnings("serial") -public class OVector implements Cloneable, Serializable { - - protected final double[] values; - - - /** Constructs a new observation for a given feature-vector. - * @param values vector values - */ - public OVector(double[] values) { - this.values = values; - } - - - /** Creates a one-dimensional instance of this class. - * @param value vector value - */ - public OVector(double value) { - this(new double[]{value}); - } - - - /** - * Returns the values of this observation. - * - * @return the values - */ - public double[] getValues() { - return values; - } - - - /** @return the dimension of this observation. */ - public int dimension() { - return getValues().length; - } - - - @Override - public boolean equals(Object obj) { - return obj instanceof OVector && Arrays.equals(values, ((OVector) obj).values); - - } - - - @Override - public int hashCode() { - return Arrays.hashCode(values); - } - - - @Override - public String toString() { - return Arrays.toString(values); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfCategory.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfCategory.java deleted file mode 100755 index b920faf7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfCategory.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * An annotation which can be used to tag classes. Based on these tags classes will be sorted into module categories - * within the graphical system designer. - * - * @author Holger Brandl - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -public @interface ConfCategory { - - String[] value(); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigHandler.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigHandler.java deleted file mode 100755 index e6a4f648..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigHandler.java +++ /dev/null @@ -1,147 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import org.xml.sax.Attributes; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.DefaultHandler; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.logging.Logger; - -/** A SAX XML Handler implementation that builds up the map of raw property data objects */ -public class ConfigHandler extends DefaultHandler { - - protected RawPropertyData rpd; - protected Locator locator; - protected List itemList; - protected String itemListName; - protected StringBuilder curItem; - - protected final Map rpdMap; - protected final Map globalProperties; - - private boolean replaceDuplicates; - private final URL baseURL; - - public ConfigHandler(Map rpdMap, Map globalProperties, - boolean replaceDuplicates, URL baseURL) { - this.rpdMap = rpdMap; - this.globalProperties = globalProperties; - this.replaceDuplicates = replaceDuplicates; - this.baseURL = baseURL; - } - - public ConfigHandler(Map rpdMap, Map globalProperties) { - this(rpdMap, globalProperties, false, null); - } - - @Override - public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { - if (qName.equals("config")) { - // test if this configuration extends another one - String extendedConfigName = attributes.getValue("extends"); - if (extendedConfigName != null) { - mergeConfigs(extendedConfigName, true); - replaceDuplicates = true; - } - } else if (qName.equals("include")) { - String includeFileName = attributes.getValue("file"); - mergeConfigs(includeFileName, false); - } else if (qName.equals("extendwith")) { - String includeFileName = attributes.getValue("file"); - mergeConfigs(includeFileName, true); - } else if (qName.equals("component")) { - String curComponent = attributes.getValue("name"); - String curType = attributes.getValue("type"); - if (rpdMap.get(curComponent) != null && !replaceDuplicates) { - throw new SAXParseException("duplicate definition for " + curComponent, locator); - } - rpd = new RawPropertyData(curComponent, curType); - } else if (qName.equals("property")) { - String name = attributes.getValue("name"); - String value = attributes.getValue("value"); - if (attributes.getLength() != 2 || name == null || value == null) { - throw new SAXParseException("property element must only have 'name' and 'value' attributes", locator); - } - if (rpd == null) { - // we are not in a component so add this to the global - // set of symbols -// String symbolName = "${" + name + "}"; // why should we warp the global props here - globalProperties.put(name, value); - } else if (rpd.contains(name) && !replaceDuplicates) { - throw new SAXParseException("Duplicate property: " + name, locator); - } else { - rpd.add(name, value); - } - } else if (qName.equals("propertylist")) { - itemListName = attributes.getValue("name"); - if (attributes.getLength() != 1 || itemListName == null) { - throw new SAXParseException("list element must only have the 'name' attribute", locator); - } - itemList = new ArrayList(); - } else if (qName.equals("item")) { - if (attributes.getLength() != 0) { - throw new SAXParseException("unknown 'item' attribute", locator); - } - curItem = new StringBuilder(); - } else { - throw new SAXParseException("Unknown element '" + qName + '\'', locator); - } - } - - @Override - public void characters(char ch[], int start, int length) throws SAXParseException { - if (curItem != null) { - curItem.append(ch, start, length); - } - } - - @Override - public void endElement(String uri, String localName, String qName) throws SAXParseException { - if (qName.equals("component")) { - rpdMap.put(rpd.getName(), rpd); - rpd = null; - } else if (qName.equals("property")) { - // nothing to do - } else if (qName.equals("propertylist")) { - if (rpd.contains(itemListName)) { - throw new SAXParseException("Duplicate property: " + itemListName, locator); - } else { - rpd.add(itemListName, itemList); - itemList = null; - } - } else if (qName.equals("item")) { - itemList.add(curItem.toString().trim()); - curItem = null; - } - } - - @Override - public void setDocumentLocator(Locator locator) { - this.locator = locator; - } - - private void mergeConfigs(String configFileName, boolean replaceDuplicates) { - try { - File parent = new File(baseURL.toURI().getPath()).getParentFile(); - URL fileURL = new File(parent.getPath() + File.separatorChar + configFileName).toURI().toURL(); - - Logger logger = Logger.getLogger(ConfigHandler.class.getSimpleName()); - logger.fine((replaceDuplicates ? "extending" : "including") + " config:" + fileURL.toURI()); - - SaxLoader saxLoader = new SaxLoader(fileURL, globalProperties, rpdMap, replaceDuplicates); - saxLoader.load(); - } catch (IOException e) { - throw new RuntimeException("Error while processing : " + e, e); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/Configurable.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/Configurable.java deleted file mode 100755 index e18c11be..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/Configurable.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util.props; - -/** - * Defines the interface that must be implemented by any configurable component in Sphinx-4. The life cycle of a - * component is as follows: - *

  • Class Parsing The class file is parsed in order to determine all its configurable properties. These - * are defined using public static final String fields which are annotated with one of the following - * annotations:
    • S4Integer
    • S4Double
    • S4Boolean
    • S4Component
    • S4ComponentList
    Further - * informations about property-specific fields can be found in the javadoc of the property-annotation-definitions. Only - * names of annotated properties will be allowed by the configuration system later on. - *
  • Construction - The (empty) component constructor is called in order to instantiate the component. - * Typically the constructor does little, if any work, since the component has not been configured yet. - *
  • Configuration - Shortly after instantiation, the component's newProperties method is - * called. This method is called with a PropertySheet containing the properties (usually taken from an - * external configuration file). The component should extract the properties from the property sheet. If some properties - * defined for a component does not fulfill the property definition given by the annotation (type, range, etc.) a - * PropertyException is thrown. Typically, once a component gets its configuration data via the - * newData method, the component will initialize itself. - *

    - * Note: In most cases newProperties is called only once as a result of system configuration during - * startup. But nevertheless it is possible (and sometimes necessary) to reconfigure a component while it's running. - * Therefore, a well behaved component should react properly to multiple newProperties calls.

- *

- * Connecting to other components - *

Components often need to interact with other components in the system. - * One of the design goals of Sphinx-4 is that it allows for very flexible hook up of components in the system. - * Therefore, it is *not* considered good S4 style to hardcode which subcomponents a particular subcomponent is - * interacting with. Instead, the component should use the configuration manager to provide the hook up to another - * component. - *

- * For example, if a component needs to interact with a Linguist. Instead of explicitly setting which linguist is to be - * used via a constructor or via a setLinguist call, the component should instead define a configuration - * property for the linguist. This would be done like so: - * - * \@S4Component(type=Linguist.class) - * public static String PROP_LINGUIST = "linguist"; - * - *

The linguist is made available in the newProperties method, like so:

- * - * public void newProperties(PropertySheet propertySheet) { - * linguist = (Linguist) propertySheet.getComponent(PROP_LINGUIST); - * } - * - * This getComponent call will find the proper linguist based upon the configuration data. Thus, if the - * configuration for this component had the 'linguist' defined to be 'dynamicLexTreeLinguist', then the configuration - * manager will look up and return a linguist with that name, creating and configuring it as necessary. Of course, the - * dynamicLexTreeLinguist itself may have a number of sub-components that will be created and configured as a result. If - * the component doesn't exist (but was defined to mandatory) and no configuration information is found in the config - * file for it, or if it is of the wrong type, a PropertyException will be thrown. - */ -public interface Configurable { - - - /** - * This method is called when this configurable component needs to be reconfigured. - * - * @param ps a property sheet holding the new data - * @throws PropertyException if there is a problem with the properties. - */ - public void newProperties(PropertySheet ps) throws PropertyException; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurableAdapter.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurableAdapter.java deleted file mode 100755 index 7e390bc0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurableAdapter.java +++ /dev/null @@ -1,49 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.util.logging.Logger; - -/** - * An default (abstract) implementation of a configurable that implements a meaning {@code toString()} and keeps a - * references to the {@code Confurable}'s logger. - * - * @author Holger Brandl - */ -public abstract class ConfigurableAdapter implements Configurable { - - private String name; - protected Logger logger; - - public ConfigurableAdapter() { - } - - protected void initLogger() { - this.name = getClass().getSimpleName(); - init( name , Logger.getLogger( name ) ); - } - - public void newProperties(PropertySheet ps) throws PropertyException { - init( ps.getInstanceName(), ps.getLogger()); - } - - private void init(String name, Logger logger) { - this.name = name; - this.logger = logger; - } - - /** @return the configuration name this {@code Configurable}. */ - public String getName() { - // fix null names - return name != null ? name : getClass().getSimpleName(); - } - - - /** - * Returns the name of this BaseDataProcessor. - * - * @return the name of this BaseDataProcessor - */ - @Override - public String toString() { - return getName(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationChangeListener.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationChangeListener.java deleted file mode 100755 index 60491860..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationChangeListener.java +++ /dev/null @@ -1,47 +0,0 @@ -package edu.cmu.sphinx.util.props; - -/** - * Describes all methods necessary to process change events of a ConfigurationManager. - * - * @author Holger Brandl - * @see edu.cmu.sphinx.util.props.ConfigurationManager - */ - -public interface ConfigurationChangeListener { - - /** - * Called if the configuration of a registered compoenent named configurableName was changed. - * - * @param configurableName The name of the changed configurable. - * @param propertyName The name of the property which was changed - * @param cm The ConfigurationManager-instance this component is registered to - */ - public void configurationChanged(String configurableName, String propertyName, ConfigurationManager cm); - - - /** - * Called if a new compoenent defined by ps was registered to the ConfigurationManager - * cm. - * @param cm Configuration manager - * @param ps Property sheet - */ - public void componentAdded(ConfigurationManager cm, PropertySheet ps); - - - /** - * Called if a compoenent defined by ps was unregistered (removed) from the ConfigurationManager - * cm. - * @param cm Configuration manager - * @param ps Property sheet - */ - public void componentRemoved(ConfigurationManager cm, PropertySheet ps); - - - /** - * Called if a compoenent was renamed. - * @param cm Configuration manager - * @param ps Property sheet - * @param oldName Old name - */ - public void componentRenamed(ConfigurationManager cm, PropertySheet ps, String oldName); -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManager.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManager.java deleted file mode 100755 index e2fece32..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManager.java +++ /dev/null @@ -1,601 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.*; -import java.util.logging.Logger; - - -/** - * Manages a set of Configurables, their parameterization and the relationships between them. Configurations - * can be specified either by xml or on-the-fly during runtime. - * - * @see edu.cmu.sphinx.util.props.Configurable - * @see edu.cmu.sphinx.util.props.PropertySheet - */ -public class ConfigurationManager implements Cloneable { - - private List changeListeners = new ArrayList(); - - private Map symbolTable = new LinkedHashMap(); - private Map rawPropertyMap = new HashMap(); - private Map globalProperties = new HashMap(); - - private boolean showCreations; - private URL configURL; - - - /** - * Creates a new empty configuration manager. This constructor is only of use in cases when a system configuration - * is created during runtime. - */ - public ConfigurationManager() { - } - - - /** - * Creates a new configuration manager. Initial properties are loaded from the given URL. No need to keep the notion - * of 'context' around anymore we will just pass around this property manager. - * - * @param configFileName The location of the configuration file. - */ - public ConfigurationManager(String configFileName) throws PropertyException { - this(ConfigurationManagerUtils.getURL(new File(configFileName))); - } - - - /** - * Creates a new configuration manager. Initial properties are loaded from the given URL. No need to keep the notion - * of 'context' around anymore we will just pass around this property manager. - * - * @param url The location of the configuration file. - */ - public ConfigurationManager(URL url) throws PropertyException { - configURL = url; - - try { - rawPropertyMap = new SaxLoader(url, globalProperties).load(); - } catch (IOException e) { - throw new RuntimeException(e); - } - - ConfigurationManagerUtils.applySystemProperties(rawPropertyMap, globalProperties); - ConfigurationManagerUtils.configureLogger(this); - - // we can't configure the configuration manager with itself so we - // do some of these configure items manually. - String showCreations = globalProperties.get("showCreations"); - if (showCreations != null) - this.showCreations = "true".equals(showCreations); - } - - - /** - * Returns the property sheet for the given object instance - * - * @param instanceName the instance name of the object - * @return the property sheet for the object. - */ - public PropertySheet getPropertySheet(String instanceName) { - if (!symbolTable.containsKey(instanceName)) { - // if it is not in the symbol table, so construct - // it based upon our raw property data - RawPropertyData rpd = rawPropertyMap.get(instanceName); - if (rpd != null) { - String className = rpd.getClassName(); - try { - Class cls = Class.forName(className); - - // now load the property-sheet by using the class annotation - PropertySheet propertySheet = new PropertySheet(cls.asSubclass(Configurable.class), instanceName, this, rpd); - - symbolTable.put(instanceName, propertySheet); - - } catch (ClassNotFoundException e) { - System.err.println("class not found !" + e); - } catch (ClassCastException e) { - System.err.println("can not cast class !" + e); - } catch (ExceptionInInitializerError e) { - System.err.println("couldn't load class !" + e); - } - } - } - - return symbolTable.get(instanceName); - } - - - /** - * Gets all instances that are of the given type. - * - * @param type the desired type of instance - * @return the set of all instances - */ - public Collection getInstanceNames(Class type) { - Collection instanceNames = new ArrayList(); - - for (PropertySheet ps : symbolTable.values()) { - if (!ps.isInstanciated()) - continue; - - if (ConfigurationManagerUtils.isDerivedClass(ps.getConfigurableClass(), type)) - instanceNames.add(ps.getInstanceName()); - } - - return instanceNames; - } - - - /** - * Returns all names of configurables registered to this instance. The resulting set includes instantiated and - * non-instantiated components. - * - * @return all component named registered to this instance of ConfigurationManager - */ - public Set getComponentNames() { - return rawPropertyMap.keySet(); - } - - - /** - * Looks up a configurable component by name. Creates it if necessary - * - * @param instanceName the name of the component - * @param component type - * @return the component, or null if a component was not found. - * @throws InternalConfigurationException If the requested object could not be properly created, or is not a - * configurable object, or if an error occured while setting a component - * property. - */ - @SuppressWarnings("unchecked") - public C lookup(String instanceName) throws InternalConfigurationException { - // Apply all new properties to the model. - instanceName = getStrippedComponentName(instanceName); - PropertySheet ps = getPropertySheet(instanceName); - - if (ps == null) - return null; - - if (showCreations) - getRootLogger().config("Creating: " + instanceName); - - return (C) ps.getOwner(); - } - - - /** - * Returns a Configurable instance of a given type C, if such a component (or a derived - * one) is registered to this ConfigurationManager instance, and there is one and only match. - *

- * This is a convenience method that allows to access a system configuration without knowing the instance names of - * registered components. - * - * @param A component type - * @param confClass class to lookup - * @return The Configurable instance of null if there is no matching Configurable. - * @throws IllegalArgumentException if more than one component of the given type is registered to this - * ConfigurationManager. - */ - public C lookup(Class confClass) { - List matchPropSheets = getPropSheets(confClass); - if (matchPropSheets.isEmpty()) - return null; - - assert matchPropSheets.size() == 1; - return confClass.cast(lookup(matchPropSheets.get(0).getInstanceName())); - } - - - /** - * Given a Configurable-class/interface, all property-sheets which are subclassing/implemting this - * class/interface are collected and returned. No Configurable will be instantiated by this method. - * @param confClass class to lookup - * @return a list of property sheets - */ - public List getPropSheets(Class confClass) { - List psCol = new ArrayList(); - - for (PropertySheet ps : symbolTable.values()) { - if (ConfigurationManagerUtils.isDerivedClass(ps.getConfigurableClass(), confClass)) - psCol.add(ps); - } - - return psCol; - } - - - /** - * Registers a new configurable to this configuration manager. - * - * @param confClass The class of the configurable to be instantiated and to be added to this configuration manager - * instance. - * @param name The desired lookup-name of the configurable - * @throws IllegalArgumentException if the there's already a component with the same name registered to - * this configuration manager instance. - */ - public void addConfigurable(Class confClass, String name) { - addConfigurable(confClass, name, new HashMap()); - } - - - /** - * Registers a new configurable to this configuration manager. - * - * @param confClass The class of the configurable to be instantiated and to be added to this configuration manager - * instance. - * @param name The desired lookup-name of the configurable - * @param props The properties to be used for component configuration - * @throws IllegalArgumentException if the there's already a component with the same name registered to - * this configuration manager instance. - */ - public void addConfigurable(Class confClass, String name, Map props) { - if (name == null) // use the class name as default if no name is given - name = confClass.getName(); - - if (symbolTable.containsKey(name)) - throw new IllegalArgumentException("tried to override existing component name : " + name); - - PropertySheet ps = getPropSheetInstanceFromClass(confClass, props, name, this); - symbolTable.put(name, ps); - rawPropertyMap.put(name, new RawPropertyData(name, confClass.getName())); - - for (ConfigurationChangeListener changeListener : changeListeners) - changeListener.componentAdded(this, ps); - } - - - /** - * Adds an already instantiated Configurable to this configuration manager. - * - * @param configurable A configurable to add - * @param name The desired lookup-instanceName of the configurable - */ - public void addConfigurable(Configurable configurable, String name) { - if (symbolTable.containsKey(name)) - throw new IllegalArgumentException("tried to override existing component name"); - - RawPropertyData dummyRPD = new RawPropertyData(name, configurable.getClass().getName()); - - PropertySheet ps = new PropertySheet(configurable, name, dummyRPD, this); - symbolTable.put(name, ps); - rawPropertyMap.put(name, dummyRPD); - - for (ConfigurationChangeListener changeListener : changeListeners) - changeListener.componentAdded(this, ps); - } - - - public void renameConfigurable(String oldName, String newName) { - PropertySheet ps = getPropertySheet(oldName); - - if (ps == null) { - throw new RuntimeException("no configurable (to be renamed) named " + oldName + " is contained in the CM"); - } - - ConfigurationManagerUtils.renameComponent(this, oldName, newName); - - symbolTable.remove(oldName); - symbolTable.put(newName, ps); - - RawPropertyData rpd = rawPropertyMap.remove(oldName); - rawPropertyMap.put(newName, new RawPropertyData(newName, rpd.getClassName(), rpd.getProperties())); - - fireRenamedConfigurable(oldName, newName); - } - - - /** Removes a configurable from this configuration manager. - * @param name a name to remove - */ - public void removeConfigurable(String name) { - assert getComponentNames().contains(name); - - PropertySheet ps = symbolTable.remove(name); - rawPropertyMap.remove(name); - - for (ConfigurationChangeListener changeListener : changeListeners) - changeListener.componentRemoved(this, ps); - } - - - /** @param subCM The subconfiguration that should be to this instance */ - public void addSubConfiguration(ConfigurationManager subCM) { - addSubConfiguration(subCM, false); - } - - - /** - * Adds a subconfiguration to this instance by registering all subCM-components and all its global properties. - * - * @param subCM The subconfiguration that should be to this instance - * @param doOverrideComponents If true non-instantiated components will be overridden by elements of - * subCM even if already being registered to this CM-instance. The same holds for global - * properties. - * @throws RuntimeException if an already instantiated component in this instance is redefined in subCM. - */ - public void addSubConfiguration(ConfigurationManager subCM, boolean doOverrideComponents) { - Collection compNames = getComponentNames(); - - for (String componentName : subCM.getComponentNames()) { - if (compNames.contains(componentName)) { - if (doOverrideComponents && !getPropertySheet(componentName).isInstanciated()) { - PropertySheet ps = subCM.getPropertySheet(componentName); - symbolTable.put(componentName, ps); - rawPropertyMap.put(componentName, new RawPropertyData(componentName, ps.getConfigurableClass().getSimpleName())); - - } else { - throw new RuntimeException(componentName + " is already registered to system configuration"); - } - } - } - - for (String globProp : subCM.globalProperties.keySet()) { - // the second test is necessary because system-props will be global-props in both CMs - if (globalProperties.containsKey(globProp) && !System.getProperties().containsKey(globProp)) { - if (!doOverrideComponents) - throw new RuntimeException(globProp + " is already registered as global property"); - } - } - - globalProperties.putAll(subCM.globalProperties); - - // correct the reference to the configuration manager - for (PropertySheet ps : subCM.symbolTable.values()) { - ps.setCM(this); - } - - symbolTable.putAll(subCM.symbolTable); - rawPropertyMap.putAll(subCM.rawPropertyMap); - } - - - /** @return a copy of the map of global properties set for this configuration manager. */ - public Map getGlobalProperties() { - return new HashMap(globalProperties); - } - - - /** - * Returns a global property. - * - * @param propertyName The name of the global property or null if no such property exists - * @return a global property - */ - public String getGlobalProperty(String propertyName) { - // propertyName = propertyName.startsWith("$") ? propertyName : "${" + propertyName + "}"; - String globProp = globalProperties.get(propertyName); - return globProp != null ? globProp.toString() : null; - } - - - public String getGloPropReference(String propertyName) { - return globalProperties.get(propertyName); - } - - - /** - * @return the URL of the XML configuration which defined this configuration or null if it was created - * dynamically. - */ - public URL getConfigURL() { - return configURL; - } - - - /** - * Sets a global property. - * - * @param propertyName The name of the global property. - * @param value The new value of the global property. If the value is null the property becomes - * removed. - */ - public void setGlobalProperty(String propertyName, String value) { - if (value == null) - globalProperties.remove(propertyName); - else - globalProperties.put(propertyName, value); - - // update all component configurations because they might be affected by the change - for (String instanceName : getInstanceNames(Configurable.class)) { - PropertySheet ps = getPropertySheet(instanceName); - if (ps.isInstanciated()) - try { - ps.getOwner().newProperties(ps); - } catch (PropertyException e) { - e.printStackTrace(); - } - } - } - - - public String getStrippedComponentName(String propertyName) { - assert propertyName != null; - - while (propertyName.startsWith("$")) - propertyName = globalProperties.get(ConfigurationManagerUtils.stripGlobalSymbol(propertyName)).toString(); - - return propertyName; - } - - - /** Adds a new listener for configuration change events. - * @param l listener to add - **/ - public void addConfigurationChangeListener(ConfigurationChangeListener l) { - if (l == null) - return; - - changeListeners.add(l); - } - - - /** Removes a listener for configuration change events. - * @param l listener to remove - **/ - public void removeConfigurationChangeListener(ConfigurationChangeListener l) { - if (l == null) - return; - - changeListeners.remove(l); - } - - - /** - * Informs all registered ConfigurationChangeListeners about a configuration changes the component - * named configurableName. - */ - void fireConfChanged(String configurableName, String propertyName) { - assert getComponentNames().contains(configurableName); - - for (ConfigurationChangeListener changeListener : changeListeners) - changeListener.configurationChanged(configurableName, propertyName, this); - } - - - /** - * Informs all registered ConfigurationChangeListeners about the component previously namesd - * oldName - */ - void fireRenamedConfigurable(String oldName, String newName) { - assert getComponentNames().contains(newName); - - for (ConfigurationChangeListener changeListener : changeListeners) { - changeListener.componentRenamed(this, getPropertySheet(newName), oldName); - } - } - - - /** - * Test whether the given configuration manager instance equals this instance in terms of same configuration. This - * This equals implementation does not care about instantiation of components. - */ - @Override - public boolean equals(Object obj) { - if (!(obj instanceof ConfigurationManager)) - return false; - - ConfigurationManager cm = (ConfigurationManager) obj; - - Set thisCompNames = getComponentNames(); - if (!thisCompNames.equals(cm.getComponentNames())) - return false; - - // make sure that all components are the same - for (String instanceName : thisCompNames) { - PropertySheet myPropSheet = getPropertySheet(instanceName); - PropertySheet otherPropSheet = cm.getPropertySheet(instanceName); - - if (!otherPropSheet.equals(myPropSheet)) - return false; - } - - // make sure that both configuration managers have the same set of global properties - return cm.getGlobalProperties().equals(getGlobalProperties()); - } - - @Override - public int hashCode() { - assert false : "hashCode not designed"; - return 1; // any arbitrary constant will do - } - - /** Creates a deep copy of the given CM instance. */ - // This is not tested yet !!! - @Override - public ConfigurationManager clone() throws CloneNotSupportedException { - ConfigurationManager cloneCM = (ConfigurationManager)super.clone(); - - cloneCM.changeListeners = new ArrayList(); - cloneCM.symbolTable = new LinkedHashMap(); - for (Map.Entry entry : symbolTable.entrySet()) { - cloneCM.symbolTable.put(entry.getKey(), entry.getValue().clone()); - } - - cloneCM.globalProperties = new HashMap(globalProperties); - cloneCM.rawPropertyMap = new HashMap(rawPropertyMap); - - - return cloneCM; - } - - - /** - * Creates an instance of the given Configurable by using the default parameters as defined by the - * class annotations to parameterize the component. - * @param component class - * @param targetClass target class - * @return an instance of class - * @throws PropertyException if no such class is defined - */ - public static C getInstance(Class targetClass) throws PropertyException { - return getInstance(targetClass, new HashMap()); - } - - - /** - * Creates an instance of the given Configurable by using the default parameters as defined by the - * class annotations to parameterize the component. Default parameters will be overridden if a their names are - * contained in the given props-map - * @param component class - * @param targetClass target class - * @param props additional properties - * @return an instance of class - * @throws PropertyException if no such class is defined - */ - public static C getInstance(Class targetClass, Map props) throws PropertyException { - return getInstance(targetClass, props, null); - - } - - - /** - * Creates an instance of the given Configurable by using the default parameters as defined by the - * class annotations to parameterize the component. Default parameters will be overridden if a their names are - * contained in the given props-map. The component is used to create a parameterized logger for the - * Configurable being created. - * @param component class - * @param targetClass target class - * @param props additional properties - * @param compName component name - * @return an instance of class - * @throws PropertyException if no such class is defined - */ - public static C getInstance(Class targetClass, Map props, String compName) throws PropertyException { - PropertySheet ps = getPropSheetInstanceFromClass(targetClass, props, compName, new ConfigurationManager()); - Configurable configurable = ps.getOwner(); - return targetClass.cast(configurable); - } - - - /** - * Instantiates the given targetClass and instruments it using default properties or the properties - * given by the defaultProps. - */ - private static PropertySheet getPropSheetInstanceFromClass(Class targetClass, Map defaultProps, String componentName, ConfigurationManager cm) { - RawPropertyData rpd = new RawPropertyData(componentName, targetClass.getName()); - - for (Map.Entry entry : defaultProps.entrySet()) { - Object property = entry.getValue(); - - if (property instanceof Class) - property = ((Class) property).getName(); - - rpd.getProperties().put(entry.getKey(), property); - } - - return new PropertySheet(targetClass, componentName, cm, rpd); - } - - - /** - * Returns the root-logger of this configuration manager. This method is just a convenience mapper around a few CMU - * calls. - * - * @return the root logger of this CM-instance - */ - public Logger getRootLogger() { - return Logger.getLogger(ConfigurationManagerUtils.getLogPrefix(this)); - } -} - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManagerUtils.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManagerUtils.java deleted file mode 100755 index c5748e29..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/ConfigurationManagerUtils.java +++ /dev/null @@ -1,734 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; -import java.nio.charset.Charset; -import java.util.*; -import java.util.logging.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import edu.cmu.sphinx.util.SphinxLogFormatter; - -/** - * Some static utility methods which ease the handling of system configurations. - * - * @author Holger Brandl - */ -public final class ConfigurationManagerUtils { - - // this pattern matches strings of the form '${word}' - private static final Pattern globalSymbolPattern = Pattern.compile("\\$\\{(\\w+)\\}"); - - /** - * A common property (used by all components) that sets the log level for the component. - */ - public final static String GLOBAL_COMMON_LOGLEVEL = "logLevel"; - - /** - * The default file suffix of configuration files. - */ - public static final String CM_FILE_SUFFIX = ".sxl"; - - - // disabled constructor because the class is just a collection of utilities for handling system configurations - - private ConfigurationManagerUtils() { - } - - - /** - * Validates that only annotated property names have been used to setup this instance of {@code - * edu.cmu.sphinx.util.props.ConfigurationManager}. - * - * @param cm Configuration manager - * @return {@code true} if it is a valid configuration. - */ - public boolean validateConfiguration(ConfigurationManager cm) { - for (String compName : cm.getComponentNames()) { - if (!cm.getPropertySheet(compName).validate()) - return false; - } - - return true; - } - - - /** - * Strips the ${ and } off of a global symbol of the form ${symbol}. - * - * @param symbol the symbol to strip - * @return the stripped symbol - */ - public static String stripGlobalSymbol(String symbol) { - Matcher matcher = globalSymbolPattern.matcher(symbol); - if (matcher.matches()) { - return matcher.group(1); - } else { - return symbol; - } - } - - - public static void editConfig(ConfigurationManager cm, String name) { - PropertySheet ps = cm.getPropertySheet(name); - boolean done; - - if (ps == null) { - System.out.println("No component: " + name); - return; - } - System.out.println(name + ':'); - - Collection propertyNames = ps.getRegisteredProperties(); - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - - for (String propertyName : propertyNames) { - try { - Object value = ps.getRaw(propertyName); - String svalue; - - if (value instanceof List) { - continue; - } else if (value instanceof String) { - svalue = (String) value; - } else { - svalue = "DEFAULT"; - } - done = false; - - while (!done) { - System.out.print(" " + propertyName + " [" + svalue + "]: "); - String in = br.readLine(); - if (in.isEmpty()) { - done = true; - } else if (in.equals(".")) { - return; - } else { - - cm.getPropertySheet(name).setRaw(propertyName, in); - done = true; - } - } - } catch (IOException ioe) { - System.out.println("Trouble reading input"); - return; - } - } - } - - - // remark: the replacement of xml/sxl suffix is not necessary and just done to improve readability - public static String getLogPrefix(ConfigurationManager cm) { - if (cm.getConfigURL() != null) - return new File(cm.getConfigURL().getFile()).getName().replace(".sxl", "").replace(".xml", "") + '.'; - else - return "S4CM."; - } - - /** - * Configure the logger - * @param cm Configuration manager - */ - public static void configureLogger(ConfigurationManager cm) { - - // Allow others to override the logging settings. - if (System.getProperty("java.util.logging.config.class") != null - || System.getProperty("java.util.logging.config.file") != null) { - return; - } - // apply the log level (if defined) for the root logger (because we're using package based logging now) - - String cmPrefix = getLogPrefix(cm); - Logger cmRootLogger = Logger.getLogger(cmPrefix.substring(0, cmPrefix.length() - 1)); - - // we need to determine the root-level here, because the logManager will reset it - Level rootLevel = Logger.getLogger("").getLevel(); - - configureLogger(cmRootLogger); - - String level = cm.getGlobalProperty(GLOBAL_COMMON_LOGLEVEL); - if (level == null) - level = Level.WARNING.getName(); - - cmRootLogger.setLevel(Level.parse(level)); - - // restore the old root logger level - Logger.getLogger("").setLevel(rootLevel); - } - - - /** - * Configures a logger to use the sphinx4-log-formatter. - * @param logger logger to configure - */ - public static void configureLogger(Logger logger) { - - logger.setUseParentHandlers(false); - - boolean hasHandler = false; - - for (Handler handler : logger.getHandlers()) { - if (handler.getFormatter() instanceof SphinxLogFormatter) { - hasHandler = true; - break; - } - } - - if (!hasHandler) { - ConsoleHandler handler = new ConsoleHandler(); - handler.setFormatter(new SphinxLogFormatter()); - logger.addHandler(handler); - } - } - - - /** - * This method will automatically rename all components of subCM for which there is component named the - * same in the baseCM . - *

- * Note: This is required when merging two system configurations into one. - * - * @param baseCM base configuration manager - * @param subCM other configuration manager - * @return A map which maps all renamed component names to their new names. - */ - public static Map fixDuplicateNames(ConfigurationManager baseCM, ConfigurationManager subCM) { - Map renames = new HashMap(); - - for (String compName : subCM.getComponentNames()) { - String uniqueName = compName; - - int i = 0; - - while (baseCM.getComponentNames().contains(uniqueName) || - (subCM.getComponentNames().contains(uniqueName) && !uniqueName.equals(compName))) { - - i++; - uniqueName = compName + i; - } - - subCM.renameConfigurable(compName, uniqueName); - renames.put(compName, uniqueName); - } - - return renames; - } - - - /** - * Converts a configuration manager instance into a xml-string . - * Note: This methods will not instantiate configurables. - * - * @param cm configuration manager - * @return xml representation - */ - public static String toXML(ConfigurationManager cm) { - StringBuilder sb = new StringBuilder(); - sb.append("\n"); - sb.append("\n \n\n"); - - sb.append(""); - - Pattern pattern = Pattern.compile("\\$\\{(\\w+)\\}"); - - Map globalProps = cm.getGlobalProperties(); - for (Map.Entry entry : globalProps.entrySet()) { - String propName = entry.getKey(); - - Matcher matcher = pattern.matcher(propName); - propName = matcher.matches() ? matcher.group(1) : propName; - - sb.append("\n\t"); - } - - for (String instanceName : cm.getComponentNames()) - sb.append("\n\n").append(propSheet2XML(instanceName, cm.getPropertySheet(instanceName))); - - sb.append("\n"); - return sb.toString(); - } - - - private static String propSheet2XML(String instanceName, PropertySheet ps) { - StringBuilder sb = new StringBuilder(); - sb.append("\t"); - - for (String propName : ps.getRegisteredProperties()) { - String predec = "\n\t\t"); - List compNames = toStringList(ps.getRawNoReplacement(propName)); - for (String compName : compNames) - sb.append("\n\t\t\t").append(compName).append(""); - sb.append("\n\t\t"); - break; - default: - sb.append(predec).append("value=\"").append(ps.getRawNoReplacement(propName)).append("\"/>"); - } - } - - sb.append("\n\t\n\n"); - return sb.toString(); - } - - - public static void save(ConfigurationManager cm, File cmLocation) { - if (!cmLocation.getName().endsWith(CM_FILE_SUFFIX)) - System.err.println("WARNING: Serialized s4-configuration should have the suffix '" + CM_FILE_SUFFIX + '\''); - - assert cm != null; - try { - PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(cmLocation), Charset.forName("UTF-8"))); - String configXML = ConfigurationManagerUtils.toXML(cm); - pw.print(configXML); - pw.flush(); - pw.close(); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } - } - - - /** - * Shows the current configuration - * @param cm configuration manager - */ - public static void showConfig(ConfigurationManager cm) { - System.out.println(" ============ config ============= "); - for (String allName : cm.getInstanceNames(Configurable.class)) { - showConfig(cm, allName); - } - } - - - /** - * Show the configuration for the component with the given name - * - * @param cm configuration manager - * @param name the component name - */ - public static void showConfig(ConfigurationManager cm, String name) { - // Symbol symbol = cm.getsymbolTable.get(name); - - if (!cm.getComponentNames().contains(name)) { - System.out.println("No component: " + name); - return; - } - System.out.println(name + ':'); - - PropertySheet properties = cm.getPropertySheet(name); - - for (String propertyName : properties.getRegisteredProperties()) { - System.out.print(" " + propertyName + " = "); - Object obj; - obj = properties.getRaw(propertyName); - if (obj instanceof String) { - System.out.println(obj); - } else if (obj instanceof List) { - List l = (List) obj; - for (Iterator k = l.iterator(); k.hasNext();) { - System.out.print(k.next()); - if (k.hasNext()) { - System.out.print(", "); - } - } - System.out.println(); - } else { - System.out.println("[DEFAULT]"); - } - } - } - - - /** - * Applies the system properties to the raw property map. System properties should be of the form - * compName[paramName]=paramValue - *

- * List types cannot currently be set from system properties. - * - * @param rawMap the map of raw property values - * @param global global properties - * @throws PropertyException if an attempt is made to set a parameter for an unknown component. - */ - static void applySystemProperties(Map rawMap, Map global) - throws PropertyException { - Properties props = System.getProperties(); - for (Enumeration e = props.keys(); e.hasMoreElements();) { - String param = (String) e.nextElement(); - String value = props.getProperty(param); - - // search for parameters of the form component[parameter]=value - // these go in the property sheet for the component - int lb = param.indexOf('['); - int rb = param.indexOf(']'); - - if (lb > 0 && rb > lb) { - String compName = param.substring(0, lb); - String paramName = param.substring(lb + 1, rb); - RawPropertyData rpd = rawMap.get(compName); - if (rpd != null) { - rpd.add(paramName, value); - } else { - throw new InternalConfigurationException(compName, param, - "System property attempting to set parameter " - + " for unknown component " + compName - + " (" + param + ')'); - } - } - - // look for parameters of the form foo=bar - // these go in the global map - - else if (param.indexOf('.') == -1) { - global.put(param, value); - } - } - } - - - /** - * Renames a given Configurable. The configurable component named oldName is assumed to be - * registered to the CM. Renaming does not only affect the configurable itself but possibly global property values - * and properties of other components. - */ - static void renameComponent(ConfigurationManager cm, String oldName, String newName) { - assert cm != null; - assert oldName != null && newName != null; - if (cm.getPropertySheet(oldName) == null) { - throw new RuntimeException("no configurable (to be renamed) named " + oldName + " is contained in the CM"); - } - - // this iteration is a little hacky. It would be much better to maintain the links to a configurable in a special table - for (String instanceName : cm.getComponentNames()) { - PropertySheet propSheet = cm.getPropertySheet(instanceName); - - for (String propName : propSheet.getRegisteredProperties()) { - if (propSheet.getRawNoReplacement(propName) == null) - continue; // if the property was net defined within the xml-file - - switch (propSheet.getType(propName)) { - - case COMPONENT_LIST: - List compNames = toStringList(propSheet.getRawNoReplacement(propName)); - for (int i = 0; i < compNames.size(); i++) { - String compName = compNames.get(i); - if (compName.equals(oldName)) { - compNames.set(i, newName); - } - } - - break; - case COMPONENT: - if (propSheet.getRawNoReplacement(propName).equals(oldName)) { - propSheet.setRaw(propName, newName); - } - default: - break; - } - } - } - - PropertySheet ps = cm.getPropertySheet(oldName); - ps.setInstanceName(newName); - - // it might be possible that the component is the value of a global property - for (Map.Entry entry : cm.getGlobalProperties().entrySet()) { - if (entry.getValue().equals(oldName)) - cm.setGlobalProperty(entry.getKey(), newName); - } - } - - - /** - * Gets a resource associated with the given parameter name given an property sheet. - * - * @param name the parameter name - * @param ps The property sheet which contains the property - * @return the resource associated with the name or NULL if it doesn't exist. - * @throws PropertyException if the resource cannot be found - */ - public static URL getResource(String name, PropertySheet ps) throws PropertyException { - - String location = ps.getString(name); - if (location == null) { - throw new InternalConfigurationException(ps.getInstanceName(), name, "Required resource property '" + name + "' not set"); - } - - try { - URL url = resourceToURL(location); - - if (url == null) { - throw new InternalConfigurationException(ps.getInstanceName(), name, "Can't locate " + location); - } - return url; - } catch (MalformedURLException e) { - throw new InternalConfigurationException(e, ps.getInstanceName(), name, "Bad URL " + location + e.getMessage()); - } - - } - - final static Pattern jarPattern = Pattern.compile("resource:(.*)", Pattern.CASE_INSENSITIVE); - - public static URL resourceToURL(String location) throws MalformedURLException { - Matcher jarMatcher = jarPattern.matcher(location); - if (jarMatcher.matches()) { - String resourceName = jarMatcher.group(1); - return ConfigurationManagerUtils.class.getResource(resourceName); - } else { - if (location.indexOf(':') == -1) { - location = "file:" + location; - } - return new URL(location); - } - } - - - /** - * @param derived derived class - * @param parent parent class - * @return true if aClass is either equal to poosibleParent, a subclass of - * it, or implements it if possibleParent is an interface. - */ - public static boolean isDerivedClass(Class derived, Class parent) { - return parent.isAssignableFrom(derived); - } - - - public static boolean isImplementingInterface(Class aClass, Class interfaceClass) { - assert interfaceClass.isInterface(); - - Class superClass = aClass.getSuperclass(); - if (superClass != null && isImplementingInterface(superClass, interfaceClass)) - return true; - - for (Class curInterface : aClass.getInterfaces()) { - if (curInterface.equals(interfaceClass) || isImplementingInterface(curInterface, interfaceClass)) - return true; - } - - return false; - } - - - public static boolean isSubClass(Class aClass, Class possibleSuperclass) { - while (aClass != null && !aClass.equals(Object.class)) { - aClass = aClass.getSuperclass(); - - if (aClass != null && aClass.equals(possibleSuperclass)) - return true; - } - - return false; - } - - - /** - * Why do we need this method? The reason is, that we would like to avoid this method to be part of the - * PropertySheet-API. In some circumstances it is nevertheless required to get access to the managing - * ConfigurationManager. - * @param ps Property sheet - * @return the new configuration manager - */ - public static ConfigurationManager getPropertyManager(PropertySheet ps) { - return ps.getPropertyManager(); - } - - - /** - * Returns a map of all component-properties of this config-manager (including their associated property-sheets. - * - * @param cm configuration manager - * @return map with properties - */ - public static Map> listAllsPropNames(ConfigurationManager cm) { - Map> allProps = new HashMap>(); - - for (String configName : cm.getComponentNames()) { - PropertySheet ps = cm.getPropertySheet(configName); - - for (String propName : ps.getRegisteredProperties()) { - if (!allProps.containsKey(propName)) - allProps.put(propName, new ArrayList()); - - allProps.get(propName).add(ps); - } - } - - return allProps; - } - - - public static void dumpPropStructure(ConfigurationManager cm) { - Map> allProps = listAllsPropNames(cm); - - System.out.println("Property-structure of '" + cm.getConfigURL() + "':"); - - // print non-ambiguous props first - System.out.println("\nUnambiguous properties = "); - for (Map.Entry> entry : allProps.entrySet()) { - if (entry.getValue().size() == 1) - System.out.print(entry.getKey() + ", "); - } - - // now print ambiguous properties (including the associated components - System.out.println("\n\nAmbiguous properties: "); - for (Map.Entry> entry : allProps.entrySet()) { - if (entry.getValue().size() == 1) - continue; - - System.out.print(entry.getKey() + '='); - for (PropertySheet ps : entry.getValue()) { - System.out.print(ps.getInstanceName() + ", "); - } - System.out.println(); - } - } - - - /** - * Attempts to set the value of an arbitrary component-property. If the property-name is ambiguous with respect to - * the given ConfiguratioManager an extended syntax (componentName->propName) can be used to access the - * property. - *

- * Beside component properties it is also possible to modify the class of a configurable, but this is only allowed if - * the configurable under question has not been instantiated yet. Furthermore the user has to ensure to set all - * mandatory component properties. - * @param cm configuration manager - * @param propName property to set - * @param propValue value to set - */ - public static void setProperty(ConfigurationManager cm, String propName, String propValue) { - assert propValue != null; - - Map> allProps = listAllsPropNames(cm); - Set configurableNames = cm.getComponentNames(); - - if (!allProps.containsKey(propName) && !propName.contains("->") && !configurableNames.contains(propName)) - throw new RuntimeException("No property or configurable '" + propName + "' in configuration '" + cm.getConfigURL() + "'!"); - - // if a configurable-class should be modified - if (configurableNames.contains(propName)) { - try { - final Class confClass = Class.forName(propValue).asSubclass(Configurable.class); - ConfigurationManagerUtils.setClass(cm.getPropertySheet(propName), confClass); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - - return; - } - - if (!propName.contains("->") && allProps.get(propName).size() > 1) { - throw new RuntimeException("Property-name '" + propName + "' is ambiguous with respect to configuration '" - + cm.getConfigURL() + "'. Use 'componentName->propName' to disambiguate your request."); - } - - String componentName; - - // if disambiguation syntax is used find the correct PS first - if (propName.contains("->")) { - String[] splitProp = propName.split("->"); - componentName = splitProp[0]; - propName = splitProp[1]; - } else { - componentName = allProps.get(propName).get(0).getInstanceName(); - } - - setProperty(cm, componentName, propName, propValue); - } - - public static void setProperty(ConfigurationManager cm, String componentName, String propName, String propValue) { - - // now set the property - PropertySheet ps = cm.getPropertySheet(componentName); - if (ps == null) - throw new RuntimeException("Component '" + propName + "' is not registered to this system configuration '"); - - // set the value to null if the string content is 'null - if (propValue.equals("null")) - propValue = null; - - switch (ps.getType(propName)) { - case BOOLEAN: - ps.setBoolean(propName, Boolean.valueOf(propValue)); - break; - case DOUBLE: - ps.setDouble(propName, new Double(propValue)); - break; - case INT: - ps.setInt(propName, new Integer(propValue)); - break; - case STRING: - ps.setString(propName, propValue); - break; - case COMPONENT: - ps.setComponent(propName, propValue, null); - break; - case COMPONENT_LIST: - List compNames = new ArrayList(); - for (String component : propValue.split(";")) { - compNames.add(component.trim()); - } - - ps.setComponentList(propName, compNames, null); - break; - default: - throw new RuntimeException("unknown property-type"); - } - } - - public static URL getURL(File file) { - try { - return file.toURI().toURL(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - - return null; - } - - - /** - * Returns the not yet instantiated components registered to this configuration manager. - * - * @param cm configuration manager - * @return collection of instantiated components - */ - public static Collection getNonInstaniatedComps(ConfigurationManager cm) { - Collection nonInstComponents = new ArrayList(); - - for (String compName : cm.getComponentNames()) { - if (!cm.getPropertySheet(compName).isInstanciated()) - nonInstComponents.add(compName); - } - return nonInstComponents; - } - - - public static void setClass(PropertySheet ps, Class confClass) { - if (ps.isInstanciated()) - throw new RuntimeException("configurable " + ps.getInstanceName() + "has already been instantiated"); - - ps.setConfigurableClass(confClass); - } - - - public static List toStringList(Object obj) { - List result = new ArrayList(); - if (!(obj instanceof List)) - return null; - for (Object o : (List) obj) { - if (o instanceof String) { - result.add((String) o); - } - } - return result; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/InternalConfigurationException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/InternalConfigurationException.java deleted file mode 100755 index a5ae03e8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/InternalConfigurationException.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.cmu.sphinx.util.props; - -/** - * Indicates that a problem occurred while setting one or more properties for this component. This includes errors as - * improper type for component(-lists) properties, out-of-range-problems for double-, int- and ranged string-properties, - * instantiation errors and undefined mandatory properties. - *

- * This exception is instantiable only by the configuration management classes itself. In order to indicate problems - * within Configurable.newProperties which are not coped by types or ranges (eg file-not-found, complex configuration - * logic problems, etc.) PropertyException (which superclasses this class) can be used. - *

- * The intention of the class is to make a clear distinction between core configuration errors and high level user - * specific problems. - * - * @author Holger Brandl - */ -@SuppressWarnings("serial") -public class InternalConfigurationException extends PropertyException { - - InternalConfigurationException(String instanceName, String propertyName, String msg) { - super(instanceName, propertyName, msg); - } - - - InternalConfigurationException(Throwable cause, String instanceName, String propertyName, String msg) { - super(cause, instanceName, propertyName, msg); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyException.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyException.java deleted file mode 100755 index b07d7634..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyException.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util.props; - -/** Indicates that a problem occurred while setting one or more properties for this component */ -@SuppressWarnings("serial") -public class PropertyException extends RuntimeException { - - private String instanceName; - private String propertyName; - - - /** - * Creates a new property exception. - * - * @param instanceName The component this exception is related to. (or null if unknown) - * @param propertyName The name of the component-property which the problem is related. (or null if - * unknown) - * @param msg a description of the problem. - */ - public PropertyException(String instanceName, String propertyName, String msg) { - this(null, instanceName, propertyName, msg); - } - - - /** - * Creates a new property exception. - * - * @param cause The cause of exception. (or null if unknown) - * @param instanceName The component this exception is related to. (or null if unknown) - * @param propertyName The name of the component-property which the problem is related. (or null if - * unknown) - * @param msg a description of the problem. - */ - public PropertyException(Throwable cause, String instanceName, String propertyName, String msg) { - super(msg, cause); - - this.instanceName = instanceName; - this.propertyName = propertyName; - } - - - public PropertyException(Exception e) { - super(e); - } - - - /** - * Retrieves the name of the offending property - * - * @return the name of the offending property - */ - public String getProperty() { - return propertyName; - } - - - /** - * Returns a string representation of this object - * - * @return the string representation of the object. - */ - @Override - public String toString() { - return "Property exception component:'" + instanceName + "' property:'" + propertyName + "' - " + getMessage() + '\n' - + super.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertySheet.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertySheet.java deleted file mode 100755 index 4c89b42f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertySheet.java +++ /dev/null @@ -1,949 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * A property sheet which defines a collection of properties for a single component - * in the system. - * - * @author Holger Brandl - */ -public class PropertySheet implements Cloneable { - - public static final String COMP_LOG_LEVEL = "logLevel"; - - private Map registeredProperties = new HashMap(); - private Map propValues = new HashMap(); - - /** - * Maps the names of the component properties to their (possibly unresolved) values. - *

- * Example: frontend to ${myFrontEnd} - */ - private Map rawProps = new HashMap(); - - private ConfigurationManager cm; - private Configurable owner; - private Class ownerClass; - - private String instanceName; - - - public PropertySheet(Configurable configurable, String name, RawPropertyData rpd, ConfigurationManager ConfigurationManager) { - this(configurable.getClass(), name, ConfigurationManager, rpd); - owner = configurable; - } - - - public PropertySheet(Class confClass, String name, ConfigurationManager cm, RawPropertyData rpd) { - ownerClass = confClass; - this.cm = cm; - this.instanceName = name; - - parseClass(confClass); - setConfigurableClass(confClass); - - // now apply all xml properties - Map flatProps = rpd.flatten(cm).getProperties(); - rawProps = new HashMap(rpd.getProperties()); - - for (String propName : rawProps.keySet()) - propValues.put(propName, flatProps.get(propName)); - } - - - /** - * Registers a new property which type and default value are defined by the given sphinx property. - * - * @param propName The name of the property to be registered. - * @param property The property annotation masked by a proxy. - */ - private void registerProperty(String propName, S4PropWrapper property) { - if (property == null || propName == null) - throw new InternalConfigurationException(getInstanceName(), propName, "property or its value is null"); - - if (!registeredProperties.containsKey(propName)) - registeredProperties.put(propName, property); - - if (!propValues.containsKey(propName)) { - propValues.put(propName, null); - rawProps.put(propName, null); - } - } - - - /** Returns the property names name which is still wrapped into the annotation instance. - * - * @param name the name of the property - * @param propertyClass the class of the property - * @return the wrapper around property - * @throws PropertyException if there is no such property - **/ - public S4PropWrapper getProperty(String name, Class propertyClass) throws PropertyException { - if (!propValues.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, - "Unknown property '" + name + "' ! Make sure that you've annotated it."); - - S4PropWrapper s4PropWrapper = registeredProperties.get(name); - - if (s4PropWrapper == null) { - throw new InternalConfigurationException(getInstanceName(), name, "Property is not an annotated property of " + getConfigurableClass()); - } - - try { - propertyClass.cast(s4PropWrapper.getAnnotation()); - } catch (ClassCastException e) { - throw new InternalConfigurationException(e, getInstanceName(), name, "Property annotation " + s4PropWrapper.getAnnotation() + " doesn't match the required type " + propertyClass.getName()); - } - - return s4PropWrapper; - } - - - /** - * Gets the value associated with this name - * - * @param name the name - * @return the value - */ - public String getString(String name) throws PropertyException { - S4PropWrapper s4PropWrapper = getProperty(name, S4String.class); - S4String s4String = ((S4String) s4PropWrapper.getAnnotation()); - - if (propValues.get(name) == null) { - boolean isDefDefined = !s4String.defaultValue().equals(S4String.NOT_DEFINED); - - if (s4String.mandatory()) { - if (!isDefDefined) - throw new InternalConfigurationException(getInstanceName(), name, "mandatory property is not set!"); - } - propValues.put(name, isDefDefined ? s4String.defaultValue() : null); - } - - String propValue = flattenProp(name); - - // Check range - List range = Arrays.asList(s4String.range()); - if (!range.isEmpty() && !range.contains(propValue)) - throw new InternalConfigurationException(getInstanceName(), name, " is not in range (" + range + ')'); - - return propValue; - } - - - private String flattenProp(String name) { - Object value = propValues.get(name); - return value instanceof String ? (String)value : null; - } - - - /** - * Gets the value associated with this name - * - * @param name the name - * @return the value - * @throws edu.cmu.sphinx.util.props.PropertyException - * if the named property is not of this type - */ - public int getInt(String name) throws PropertyException { - S4PropWrapper s4PropWrapper = getProperty(name, S4Integer.class); - S4Integer s4Integer = (S4Integer) s4PropWrapper.getAnnotation(); - - if (propValues.get(name) == null) { - boolean isDefDefined = !(s4Integer.defaultValue() == S4Integer.NOT_DEFINED); - - if (s4Integer.mandatory()) { - if (!isDefDefined) - throw new InternalConfigurationException(getInstanceName(), name, "mandatory property is not set!"); - } else if (!isDefDefined) - throw new InternalConfigurationException(getInstanceName(), name, "no default value for non-mandatory property"); - - propValues.put(name, s4Integer.defaultValue()); - } - - Object propObject = propValues.get(name); - Integer propValue = propObject instanceof Integer ? (Integer) propObject : Integer.decode(flattenProp(name)); - - int[] range = s4Integer.range(); - if (range.length != 2) - throw new InternalConfigurationException(getInstanceName(), name, Arrays.toString(range) + " is not of expected range type, which is {minValue, maxValue)"); - - if (propValue < range[0] || propValue > range[1]) - throw new InternalConfigurationException(getInstanceName(), name, " is not in range (" + Arrays.toString(range) + ')'); - - return propValue; - } - - - /** - * Gets the value associated with this name - * - * @param name the name - * @return the value - * @throws edu.cmu.sphinx.util.props.PropertyException - * if the named property is not of this type - */ - public float getFloat(String name) throws PropertyException { - return ((Double) getDouble(name)).floatValue(); - } - - - /** - * Gets the value associated with this name - * - * @param name the name - * @return the value - * @throws edu.cmu.sphinx.util.props.PropertyException - * if the named property is not of this type - */ - public double getDouble(String name) throws PropertyException { - S4PropWrapper s4PropWrapper = getProperty(name, S4Double.class); - S4Double s4Double = (S4Double) s4PropWrapper.getAnnotation(); - - if (propValues.get(name) == null) { - boolean isDefDefined = !(s4Double.defaultValue() == S4Double.NOT_DEFINED); - - if (s4Double.mandatory()) { - if (!isDefDefined) - throw new InternalConfigurationException(getInstanceName(), name, "mandatory property is not set!"); - } else if (!isDefDefined) - throw new InternalConfigurationException(getInstanceName(), name, "no default value for non-mandatory property"); - - propValues.put(name, s4Double.defaultValue()); - } - - Object propObject = propValues.get(name); - Double propValue; - - if (propObject instanceof Double) - propValue = (Double)propObject; - else if (propObject instanceof Number) - propValue = ((Number)propObject).doubleValue(); - else - propValue = Double.valueOf(flattenProp(name)); - - double[] range = s4Double.range(); - if (range.length != 2) - throw new InternalConfigurationException(getInstanceName(), name, Arrays.toString(range) + " is not of expected range type, which is {minValue, maxValue)"); - - if (propValue < range[0] || propValue > range[1]) - throw new InternalConfigurationException(getInstanceName(), name, " is not in range (" + Arrays.toString(range) + ')'); - - return propValue; - } - - - /** - * Gets the value associated with this name - * - * @param name the name - * @return the value - * @throws edu.cmu.sphinx.util.props.PropertyException - * if the named property is not of this type - */ - public Boolean getBoolean(String name) throws PropertyException { - S4PropWrapper s4PropWrapper = getProperty(name, S4Boolean.class); - S4Boolean s4Boolean = (S4Boolean) s4PropWrapper.getAnnotation(); - - if (propValues.get(name) == null) - propValues.put(name, s4Boolean.defaultValue()); - - Object propObject = propValues.get(name); - Boolean propValue; - - if (propObject instanceof Boolean) - propValue = (Boolean) propObject; - else - propValue = Boolean.valueOf(flattenProp(name)); - - return propValue; - } - - /** - * Gets a component associated with the given parameter name. First search - * the component in property table, then try to get component by name from - * the manager, then creates component with default properties. - * - * @param name - * the parameter name - * @return the component associated with the name - * @throws edu.cmu.sphinx.util.props.PropertyException - * if the component does not exist or is of the wrong type. - */ - public Configurable getComponent(String name) throws PropertyException { - S4PropWrapper s4PropWrapper = getProperty(name, S4Component.class); - Configurable configurable = null; - - S4Component s4Component = (S4Component) s4PropWrapper.getAnnotation(); - Class expectedType = s4Component.type(); - - Object propVal = propValues.get(name); - - if (propVal != null && propVal instanceof Configurable) { - return (Configurable) propVal; - } - - if (propVal != null && propVal instanceof String) { - PropertySheet ps = cm.getPropertySheet(flattenProp(name)); - if (ps != null) - configurable = ps.getOwner(); - else - throw new InternalConfigurationException(getInstanceName(), name, "component '" + flattenProp(name) - + "' is missing"); - } - - if (configurable != null && !expectedType.isInstance(configurable)) - throw new InternalConfigurationException(getInstanceName(), name, "mismatch between annotation and component type"); - - if (configurable != null) { - propValues.put(name, configurable); - return configurable; - } - - configurable = getComponentFromAnnotation(name, s4Component); - - propValues.put(name, configurable); - return configurable; - } - - - private Configurable getComponentFromAnnotation(String name, S4Component s4Component) { - Configurable configurable; - Class defClass = s4Component.defaultClass(); - - if (defClass.equals(Configurable.class) && s4Component.mandatory()) { - throw new InternalConfigurationException(getInstanceName(), name, "mandatory property is not set!"); - } - - if (Modifier.isAbstract(defClass.getModifiers()) && s4Component.mandatory()) - throw new InternalConfigurationException(getInstanceName(), name, defClass.getName() + " is abstract!"); - - // because we're forced to use the default type, make sure that it - // is set - if (defClass.equals(Configurable.class)) { - if (s4Component.mandatory()) { - throw new InternalConfigurationException(getInstanceName(), name, instanceName - + ": no default class defined for " + name); - } else { - return null; - } - } - - configurable = ConfigurationManager.getInstance(defClass); - if (configurable == null) { - throw new InternalConfigurationException(getInstanceName(), name, "instantiation of referenenced configurable failed"); - } - - return configurable; - } - - /** Returns the class of of a registered component property without instantiating it. - * @param propName the name of the property - * @return class of the component corresponding to that property - */ - public Class getComponentClass(String propName) { - Class defClass = null; - - if (propValues.get(propName) != null) - try { - Class objClass = Class.forName((String) propValues.get(propName)); - defClass = objClass.asSubclass(Configurable.class); - } catch (ClassNotFoundException e) { - PropertySheet ps = cm.getPropertySheet(flattenProp(propName)); - defClass = ps.ownerClass; - } - else { - S4Component comAnno = (S4Component) registeredProperties.get(propName).getAnnotation(); - defClass = comAnno.defaultClass(); - if (comAnno.mandatory()) - defClass = null; - } - - return defClass; - } - - /** - * Gets a list of float numbers associated with the given parameter name - * - * @param name the parameter name - * @return a list of floats associated with the name. - * @throws InternalConfigurationException if parameters are not double values. - */ - public List getStringList(String name) throws InternalConfigurationException { - getProperty(name, S4StringList.class); - - return ConfigurationManagerUtils.toStringList (propValues.get(name)); - } - - /** - * Gets a list of components associated with the given parameter name - * - * @param parent component - * @param name - * the parameter name - * @param tclass - * the class of the list elements - * @return the component associated with the name - * @throws PropertyException - * if the component does not exist or is of the wrong type. - */ - public List getComponentList(String name, Class tclass) - throws InternalConfigurationException { - getProperty(name, S4ComponentList.class); - - List components = (List) propValues.get(name); - - assert registeredProperties.get(name).getAnnotation() instanceof S4ComponentList; - S4ComponentList annotation = (S4ComponentList) registeredProperties - .get(name).getAnnotation(); - - // no components names are available and no component list was yet - // loaded therefore load the default list of components from the - // annotation - if (components == null) { - List> defClasses = Arrays - .asList(annotation.defaultList()); - - // if (annotation.mandatory() && defClasses.isEmpty()) - // throw new InternalConfigurationException(getInstanceName(), name, - // "mandatory property is not set!"); - - List defaultComponents = new ArrayList(); - - for (Class defClass : defClasses) { - defaultComponents.add(ConfigurationManager.getInstance(defClass)); - } - - propValues.put(name, defaultComponents); - - } else if (!components.isEmpty() - && !(components.get(0) instanceof Configurable)) { - - List resolvedComponents = new ArrayList(); - - for (Object componentName : components) { - Configurable configurable = cm.lookup((String) componentName); - - if (configurable != null) { - resolvedComponents.add(configurable); - } else if (!annotation.beTolerant()) { - throw new InternalConfigurationException(name, - (String) componentName, "lookup of list-element '" - + componentName + "' failed!"); - } - } - - propValues.put(name, resolvedComponents); - } - - List values = (List) propValues.get(name); - ArrayList result = new ArrayList(); - for (Object obj : values) { - if (tclass.isInstance(obj)) { - result.add(tclass.cast(obj)); - } else { - throw new InternalConfigurationException(getInstanceName(), - name, "Not all elements have required type " + tclass + " Found one of type " + obj.getClass()); - } - } - return result; - } - - - /** - * Parses the string with multiple URL's separated by ;. Return the list of - * resources to load - * - * @param name - * list with URL's - * @return list of resources - */ - public List getResourceList(String name) { - List resourceList = new ArrayList(); - String pathListString = getString(name); - - if (pathListString != null) { - for (String url : pathListString.split(";")) { - try { - URL resourceUrl = new URL(url); - resourceList.add(resourceUrl); - } catch (MalformedURLException mue) { - throw new IllegalArgumentException(url - + " is not a valid URL."); - } - } - } - return resourceList; - } - - - public String getInstanceName() { - return instanceName; - } - - public void setInstanceName(String newInstanceName) { - this.instanceName = newInstanceName; - } - - - /** @return true if the owner of this property sheet is already instantiated. */ - public boolean isInstanciated() { - return !(owner == null); - } - - - /** - * @return the owner of this property sheet. In most cases this will be the configurable instance which was - * instrumented by this property sheet. - */ - public synchronized Configurable getOwner() { - try { - - if (!isInstanciated()) { - // ensure that all mandatory properties are set before instantiating the component - Collection undefProps = getUndefinedMandatoryProps(); - if (!undefProps.isEmpty()) { - throw new InternalConfigurationException(getInstanceName(), - undefProps.toString(), "not all mandatory properties are defined"); - } - - owner = ownerClass.newInstance(); - owner.newProperties(this); - } - } catch (IllegalAccessException e) { - throw new InternalConfigurationException(e, getInstanceName(), null, "Can't access class " + ownerClass); - } catch (InstantiationException e) { - throw new InternalConfigurationException(e, getInstanceName(), null, "Can't instantiate class " + ownerClass); - } - - return owner; - } - - - /** - * @return the set of all component properties which were tagged as mandatory but which are not set (or no default - * value is given). - */ - public Collection getUndefinedMandatoryProps() { - Collection undefProps = new ArrayList(); - for (String propName : getRegisteredProperties()) { - Annotation anno = registeredProperties.get(propName).getAnnotation(); - - boolean isMandatory = false; - if (anno instanceof S4Component) { - isMandatory = ((S4Component) anno).mandatory() && ((S4Component) anno).defaultClass() == null; - } else if (anno instanceof S4String) { - isMandatory = ((S4String) anno).mandatory() && ((S4String) anno).defaultValue().equals(S4String.NOT_DEFINED); - } else if (anno instanceof S4Integer) { - isMandatory = ((S4Integer) anno).mandatory() && ((S4Integer) anno).defaultValue() == S4Integer.NOT_DEFINED; - } else if (anno instanceof S4Double) { - isMandatory = ((S4Double) anno).mandatory() && ((S4Double) anno).defaultValue() == S4Double.NOT_DEFINED; - } - - if (isMandatory && !((rawProps.get(propName) != null) || (propValues.get(propName) != null))) - undefProps.add(propName); - } - return undefProps; - } - - - /** @return the class of the owner configurable of this property sheet. */ - public Class getConfigurableClass() { - return ownerClass; - } - - - /** - * Sets the configurable class of this object. - * - * @throws RuntimeException if the the Configurable is already instantiated. - */ - void setConfigurableClass(Class confClass) { - ownerClass = confClass; - - // Don't allow changes of the class if the configurable has already been instantiated - if (isInstanciated()) - throw new RuntimeException("class is already instantiated"); - - // clean up the properties if necessary - // registeredProperties.clear(); - - final Collection classProperties = new HashSet(); - final Map classProps = parseClass(ownerClass); - for (Map.Entry entry : classProps.entrySet()) { - try { - String propertyName = (String)entry.getKey().get(null); - - // make sure that there is not already another property with this name - assert !classProperties.contains(propertyName) : - "duplicate property-name for different properties: " + propertyName + " for the class " + confClass; - - registerProperty(propertyName, new S4PropWrapper(entry.getValue())); - classProperties.add(propertyName); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param value to set - * @throws PropertyException if error occurred - */ - public void setString(String name, String value) throws PropertyException { - // ensure that there is such a property - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered string-property"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4String)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type string"); - - applyConfigurationChange(name, value, value); - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param value the value for the property - */ - public void setInt(String name, int value) throws PropertyException { - // ensure that there is such a property - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered int-property"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4Integer)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type int"); - - applyConfigurationChange(name, value, value); - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param value the value for the property - */ - public void setDouble(String name, double value) throws PropertyException { - // ensure that there is such a property - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered double-property"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4Double)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type double"); - - applyConfigurationChange(name, value, value); - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param value the value for the property - */ - public void setBoolean(String name, Boolean value) throws PropertyException { - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered boolean-property"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4Boolean)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type boolean"); - - applyConfigurationChange(name, value, value); - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param cmName the name of the configurable within the configuration manager (required for serialization only) - * @param value the value for the property - */ - public void setComponent(String name, String cmName, Configurable value) throws PropertyException { - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered compontent"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4Component)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type component"); - - - applyConfigurationChange(name, cmName, value); - } - - - /** - * Sets the given property to the given name - * - * @param name the simple property name - * @param valueNames the list of names of the configurables within the configuration manager (required for - * serialization only) - * @param value the value for the property - */ - public void setComponentList(String name, List valueNames, List value) throws PropertyException { - if (!registeredProperties.containsKey(name)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + - "' is not a registered component-list"); - - Annotation annotation = registeredProperties.get(name).getAnnotation(); - if (!(annotation instanceof S4ComponentList)) - throw new InternalConfigurationException(getInstanceName(), name, '\'' + name + "' is of type component-list"); - - rawProps.put(name, valueNames); - propValues.put(name, value); - - applyConfigurationChange(name, valueNames, value); - } - - - private void applyConfigurationChange(String propName, Object cmName, Object value) throws PropertyException { - rawProps.put(propName, cmName); - propValues.put(propName, value != null ? value : cmName); - - if (getInstanceName() != null) - cm.fireConfChanged(getInstanceName(), propName); - - if (owner != null) - owner.newProperties(this); - } - - - /** - * Sets the raw property to the given name - * - * @param key the simple property name - * @param val the value for the property - */ - void setRaw(String key, Object val) { - rawProps.put(key, val); - propValues.put(key, null); - } - - - /** - * Gets the raw value associated with this name - * - * @param name the name - * @return the value as an object (it could be a String or a String[] depending upon the property type) - */ - public Object getRaw(String name) { - return rawProps.get(name); - } - - - /** - * Gets the raw value associated with this name, no global symbol replacement is performed. - * - * @param name the name - * @return the value as an object (it could be a String or a String[] depending upon the property type) - */ - public Object getRawNoReplacement(String name) { - return rawProps.get(name); - } - - - /** - * Returns the type of the given property. - * - * @param propName the name of the property - * @return the type of the property - */ - public PropertyType getType(String propName) { - S4PropWrapper wrapper = registeredProperties.get(propName); - if (wrapper == null) { - throw new InternalConfigurationException(getInstanceName(), propName, " is not a valid property of" + getConfigurableClass()); - } - - Annotation annotation = wrapper.getAnnotation(); - if (annotation instanceof S4Component) - return PropertyType.COMPONENT; - else if (annotation instanceof S4ComponentList) - return PropertyType.COMPONENT_LIST; - else if (annotation instanceof S4Integer) - return PropertyType.INT; - else if (annotation instanceof S4Double) - return PropertyType.DOUBLE; - else if (annotation instanceof S4Boolean) - return PropertyType.BOOLEAN; - else if (annotation instanceof S4String) - return PropertyType.STRING; - else - throw new RuntimeException("Unknown property type"); - } - - - /** - * Gets the owning property manager - * - * @return the property manager - */ - ConfigurationManager getPropertyManager() { - return cm; - } - - - /** - * Returns a logger to use for this configurable component. The logger can be configured with the property: - * 'logLevel' - The default logLevel value is defined (within the xml configuration file by the global property - * 'defaultLogLevel' (which defaults to WARNING). - *

- * implementation note: the logger became configured within the constructor of the parenting configuration manager. - * - * @return the logger for this component - * @throws edu.cmu.sphinx.util.props.PropertyException - * if an error occurs - */ - public Logger getLogger() { - Logger logger; - - String baseName = ConfigurationManagerUtils.getLogPrefix(cm) + ownerClass.getName(); - if (instanceName != null) { - logger = Logger.getLogger(baseName + '.' + instanceName); - } else - logger = Logger.getLogger(baseName); - - // if there's a logLevel set for component apply to the logger - Object rawLogLevel = rawProps.get(COMP_LOG_LEVEL); - if (rawLogLevel != null) - logger.setLevel(rawLogLevel instanceof String ? Level.parse((String) rawLogLevel) : (Level) rawLogLevel); - - return logger; - } - - - /** @return the names of registered properties of this PropertySheet object. */ - public Collection getRegisteredProperties() { - return Collections.unmodifiableCollection(registeredProperties.keySet()); - } - - - public void setCM(ConfigurationManager cm) { - this.cm = cm; - } - - - /** - * Returns true if two property sheet define the same object in terms of configuration. The owner (and the parent - * configuration manager) are not expected to be the same. - */ - @Override - public boolean equals(Object obj) { - if (obj == null || !(obj instanceof PropertySheet)) - return false; - - PropertySheet ps = (PropertySheet) obj; - if (!rawProps.keySet().equals(ps.rawProps.keySet())) - return false; - - // maybe we could test a little bit more here. suggestions? - return true; - } - - @Override - public int hashCode() { - assert false : "hashCode not designed"; - return 1; // any arbitrary constant will do - } - - @Override - public String toString() { - return getInstanceName() + "; isInstantiated=" + isInstanciated() + "; props=" + rawProps.keySet(); - } - - @Override - protected PropertySheet clone() throws CloneNotSupportedException { - PropertySheet ps = (PropertySheet)super.clone(); - - ps.registeredProperties = new HashMap(this.registeredProperties); - ps.propValues = new HashMap(this.propValues); - - ps.rawProps = new HashMap(this.rawProps); - - // make deep copy of raw-lists - for (String regProp : ps.getRegisteredProperties()) { - if (getType(regProp) == PropertyType.COMPONENT_LIST) { - ps.rawProps.put(regProp, ConfigurationManagerUtils.toStringList(rawProps.get(regProp))); - ps.propValues.put(regProp, null); - } - } - - ps.cm = cm; - ps.owner = null; - ps.instanceName = this.instanceName; - - return ps; - } - - - /** Validates a configuration, by ensuring that only valid property-names have been used to configure the component. - * - * @return if property is validated - */ - public boolean validate() { - for (String propName : rawProps.keySet()) { - if (propName.equals(ConfigurationManagerUtils.GLOBAL_COMMON_LOGLEVEL)) - continue; - - if (!registeredProperties.containsKey(propName)) - return false; - } - - return true; - } - - - /** - * use annotation based class parsing to detect the configurable properties of a Configurable-class - * - * @param configurable of type Class - */ - private static Map parseClass(Class configurable) { - Field[] classFields = configurable.getFields(); - - Map s4props = new HashMap(); - for (Field field : classFields) { - Annotation[] annotations = field.getAnnotations(); - - for (Annotation annotation : annotations) { - Annotation[] superAnnotations = annotation.annotationType().getAnnotations(); - - for (Annotation superAnnotation : superAnnotations) { - if (superAnnotation instanceof S4Property) { - int fieldModifiers = field.getModifiers(); - assert Modifier.isStatic(fieldModifiers) : "property fields are assumed to be static"; - assert Modifier.isPublic(fieldModifiers) : "property fields are assumed to be public"; - assert Modifier.isFinal(fieldModifiers) : "property fields are assumed to be final"; - assert field.getType().equals(String.class) : "properties fields are assumed to be instances of java.lang.String"; - - s4props.put(field, annotation); - } - } - } - } - - return s4props; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyType.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyType.java deleted file mode 100755 index 9c09fa03..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/PropertyType.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util.props; - -import java.util.List; -import java.net.URL; - -/** An enum type that defines the possible property types. */ -public enum PropertyType { - - INT("int") { - @Override protected boolean validateString(String obj) throws Exception { - Integer.parseInt(obj); - return true; - } - }, - BOOLEAN("boolean") { - @Override protected boolean validateString(String obj) throws Exception { - obj = obj.toLowerCase(); - return "true".equals(obj) || "false".equals(obj); - } - }, - FLOAT("float") { - @Override protected boolean validateString(String obj) throws Exception { - Float.parseFloat(obj); - return true; - } - }, - DOUBLE("double") { - @Override protected boolean validateString(String obj) throws Exception { - Double.parseDouble(obj); - return true; - } - }, - COMPONENT("Component", String.class), - COMPONENT_LIST("ComponentList", List.class), - STRING("String", String.class), - /** - * A Resource type. Resources are in one of the following forms: - * - *

    - *
  • a URL such as http://www.cmu.edu/foo.zip - *
  • a simple file location (e.g. /lab/speech/data/wsj.jar) - *
  • a resource in a jar file in the form: - * resource:/FullyQualifiedClassName!resourceName - *
- */ - RESOURCE("Resource") { - @Override - public boolean validateString(String obj) throws Exception { - // First see if it is a resource - if (obj.toLowerCase().startsWith("resource:/")) - return true; - - // if it doesn't have a protocol spec add a "file:" to it, to make it a URL - if (obj.indexOf(':') == -1) - obj = "file:" + obj; - - // Check to see if it is a URL - new URL(obj); - return true; - } - }, - STRING_LIST("StringList", List.class); - - - - /** Display name of this PropertyType. */ - private final String displayName; - - /** - * Calls to {@link #isValid} will check if an object is instance of the class. - * If null, {@link #validateString} will be used to validate the object. */ - private Class checkClass; - - /** - * Creates type of the property - * @param displayName name of the property to output - */ - private PropertyType(String displayName) { - this.displayName = displayName; - } - - /** - * Creates type of the property - * @param displayName name of the property to output - * @param checkClass checked class - */ - private PropertyType(String displayName, Class checkClass) { - this.displayName = displayName; - this.checkClass = checkClass; - } - - @Override - public String toString() { - return displayName; - } - - /** - * Validates the given String.
- * Should be overridden if there exists a value of obj which is invalid. - * - * @param obj String to validate - * @return true if obj is valid, false otherwise - * @throws Exception if obj is not valid - */ - protected boolean validateString(String obj) throws Exception { - return true; // default implementation - } - - /** - * Determines if the given object can be converted to this type. - * - * @param obj the object to verify - * @return true if the object can be converted to an object of this type. - */ - public boolean isValid(Object obj) { - if (checkClass != null) - return checkClass.isInstance(obj); - if (obj instanceof String) { - try { - return validateString((String)obj); - } catch (Exception e) { - return false; - } - } - return false; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/RawPropertyData.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/RawPropertyData.java deleted file mode 100755 index f0d3c482..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/RawPropertyData.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util.props; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -/** Holds the raw property data just as it has come in from the properties file. */ -public class RawPropertyData { - - private String name; - private String className; - private Map properties; - - /** - * Creates a raw property data item. - * - * @param name the name of the item - * @param className the class name of the item - */ - public RawPropertyData(String name, String className) { - this(name, className, new HashMap()); - } - - /** - * Creates a raw property data item, using a given property map. - * - * @param name the name of the item - * @param className the class name of the item - * @param properties existing property map to use - */ - public RawPropertyData(String name, String className, Map properties) { - this.name = name; - this.className = className; - this.properties = properties; - } - - /** - * Adds a new property with a {@code String} value. - * - * @param propName the name of the property - * @param propValue the value of the property - */ - public void add(String propName, String propValue) { - properties.put(propName, propValue); - } - - /** - * Adds a new property with a {@code List} value. - * - * @param propName the name of the property - * @param propValue the value of the property - */ - public void add(String propName, List propValue) { - properties.put(propName, propValue); - } - - /** - * Removes an existing property. - * - * @param propName the name of the property - */ - public void remove(String propName) { - properties.remove(propName); - } - - /** @return the className. */ - public String getClassName() { - return className; - } - - /** @return the name. */ - public String getName() { - return name; - } - - /** @return the properties. */ - public Map getProperties() { - return properties; - } - - /** - * Determines if the map already contains an entry for a property. - * - * @param propName the property of interest - * @return true if the map already contains this property - */ - public boolean contains(String propName) { - return properties.get(propName) != null; - } - - /** Return a copy of this property data instance with all ${}-fields resolved. - * @param cm configuration manager - * @return the property data - **/ - public RawPropertyData flatten(ConfigurationManager cm) { - RawPropertyData copyRPD = new RawPropertyData(name, className); - - for (Map.Entry entry : properties.entrySet()) { - Object propVal = entry.getValue(); - if (propVal instanceof String) { - if (((String) propVal).startsWith("${")) - propVal = cm.getGloPropReference(ConfigurationManagerUtils.stripGlobalSymbol((String) propVal)); - } - - copyRPD.properties.put(entry.getKey(), propVal); - } - - return copyRPD; - } - - /** - * Lookup a global symbol with a given name (and resolves - * - * @param key the name of the property - * @param globalProperties global properties - * @return the property value or null if it doesn't exist. - */ - public String getGlobalProperty(String key, Map globalProperties) { - if (!key.startsWith("${")) // is symbol already flat - return key; - - while (true) { - key = globalProperties.get(key); - if (key == null || !(key.startsWith("${") && key.endsWith("}"))) - return key; - } - } - - /** - * Provide information stored inside this Object, used mainly for debugging/testing. - * - * @return Description of object - */ - @Override - public String toString(){ - StringBuilder output = new StringBuilder().append("name : ").append(name); - for (Object value : properties.values()) { - if (value != null) { - if (value instanceof String) { - output.append("value string : "); - } - output.append(value); - } - } - return output.toString(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Boolean.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Boolean.java deleted file mode 100755 index 767b71cf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Boolean.java +++ /dev/null @@ -1,19 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * A logical property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4Boolean { - - boolean defaultValue(); - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Component.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Component.java deleted file mode 100755 index 25d74ab8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Component.java +++ /dev/null @@ -1,24 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * A component property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4Component { - - Class type(); - - - Class defaultClass() default Configurable.class; - - - boolean mandatory() default true; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4ComponentList.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4ComponentList.java deleted file mode 100755 index a81eb0c5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4ComponentList.java +++ /dev/null @@ -1,34 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * A list property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4ComponentList { - - Class type(); - - - /** - * A default list of Configurables used to configure this component list given the case that no - * component list was defined (via xml or during runtime). - * @return default list - */ - Class[] defaultList() default {}; - - - /** - * If this flag is set the ConfigurationManager will not fail if some elements of the list couldn't be - * instantitated. - * @return tolerance - */ - boolean beTolerant() default false; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Double.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Double.java deleted file mode 100755 index e2d7260d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Double.java +++ /dev/null @@ -1,30 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * * A double property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4Double { - - /** - * Default value to return - */ - public static final double NOT_DEFINED = -918273645.12345; // not bullet-proof, but should work in most cases - - - double defaultValue() default NOT_DEFINED; - - - double[] range() default {-Double.MAX_VALUE, Double.MAX_VALUE}; - - - boolean mandatory() default true; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Integer.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Integer.java deleted file mode 100755 index 35bc2c29..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Integer.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * An integer property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4Integer { - - /** - * Default value to return - */ - public static final int NOT_DEFINED = -918273645; - - int defaultValue() default NOT_DEFINED; - - int[] range() default {-Integer.MAX_VALUE, Integer.MAX_VALUE}; - - - boolean mandatory() default true; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4PropWrapper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4PropWrapper.java deleted file mode 100755 index 470058ba..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4PropWrapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.Annotation; - -/** - * Wraps annotations - * - * @author Holger Brandl - */ -public class S4PropWrapper { - - private final Annotation annotation; - - - public S4PropWrapper(Annotation annotation) { - this.annotation = annotation; - } - - - public Annotation getAnnotation() { - return annotation; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Property.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Property.java deleted file mode 100755 index 244e50ec..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4Property.java +++ /dev/null @@ -1,21 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * A tag which superclasses all sphinx property annotations. Because there is no real inheritance for annotations all - * child classes are annotated by this general property annotation. - * - * @author Holger Brandl - * @see S4Component - * @see S4Integer - * @see S4ComponentList - * @see S4Double - * @see S4Boolean - * @see S4String - */ -@Retention(RetentionPolicy.RUNTIME) -public @interface S4Property { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4String.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4String.java deleted file mode 100755 index 3f407b2e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4String.java +++ /dev/null @@ -1,31 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * A string property. - * - * @author Holger Brandl - * @see ConfigurationManager - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4String { - - - /** - * Default value to return - */ - public static final String NOT_DEFINED = "nullnullnull"; - - - String defaultValue() default NOT_DEFINED; // this default value will be mapped to zero by the configuration manager - - - String[] range() default {}; - - - boolean mandatory() default true; -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4StringList.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4StringList.java deleted file mode 100755 index f7ab782f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/S4StringList.java +++ /dev/null @@ -1,13 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.lang.annotation.*; - -/** - * A List containing float numbers. - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -@S4Property -public @interface S4StringList { -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/SaxLoader.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/SaxLoader.java deleted file mode 100755 index ba4e45d6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/SaxLoader.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.util.props; - -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.XMLReader; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParserFactory; -import java.io.IOException; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -/** Loads configuration from an XML file */ -public class SaxLoader { - - private final URL url; - private final Map rpdMap; - private final Map globalProperties; - private final boolean replaceDuplicates; - - /** - * Creates a loader that will load from the given location - * - * @param url the location to load - * @param globalProperties the map of global properties - * @param initRPD init raw property data - * @param replaceDuplicates replace duplicates - */ - public SaxLoader(URL url, Map globalProperties, Map initRPD, boolean replaceDuplicates) { - this.url = url; - this.globalProperties = globalProperties; - this.replaceDuplicates = replaceDuplicates; - this.rpdMap = initRPD == null ? new HashMap() : initRPD; - } - - /** - * Creates a loader that will load from the given location - * - * @param url the location to load - * @param globalProperties the map of global properties - */ - public SaxLoader(URL url, Map globalProperties) { - this(url, globalProperties, null, false); - } - - /** - * Loads a set of configuration data from the location - * - * @return a map keyed by component name containing RawPropertyData objects - * @throws IOException if an I/O or parse error occurs - */ - public Map load() throws IOException { - try { - SAXParserFactory factory = SAXParserFactory.newInstance(); - XMLReader xr = factory.newSAXParser().getXMLReader(); - ConfigHandler handler = new ConfigHandler(rpdMap, globalProperties, replaceDuplicates, url); - xr.setContentHandler(handler); - xr.parse(url.toString()); - } catch (SAXParseException e) { - String msg = "Error while parsing line " + e.getLineNumber() + " of " + url + ": " + e.getMessage(); - throw new IOException(msg); - } catch (SAXException e) { - throw new IOException("Problem with XML: " + e); - } catch (ParserConfigurationException e) { - throw new IOException(e.getMessage()); - } - - return rpdMap; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/GDLDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/GDLDumper.java deleted file mode 100755 index 2cd92ae9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/GDLDumper.java +++ /dev/null @@ -1,136 +0,0 @@ -package edu.cmu.sphinx.util.props.tools; - -import edu.cmu.sphinx.util.props.*; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.util.Collection; -import java.util.List; - -/** - * Dumps a given configuration manager as GDL. ... - * - * @author Holger Brandl - */ -public class GDLDumper { - - - /** - * Dumps the given component as GDL to the given stream - * - * @param cm configuration manager - * @param out where to dump the GDL - * @param name the name of the component to dump - */ - public static void dumpComponentAsGDL(ConfigurationManager cm, PrintStream out, String name) { - - out.println("node: {title: \"" + name + "\" color: " + getColor(cm, name) - + '}'); - - PropertySheet ps = cm.getPropertySheet(name); - Collection propertyNames = ps.getRegisteredProperties(); - - for (String propertyName : propertyNames) { - PropertyType propType = ps.getType(propertyName); - Object val = ps.getRaw(propertyName); - - if (val != null) { - if (propType == PropertyType.COMPONENT) { - out.println("edge: {source: \"" + name - + "\" target: \"" + val + "\"}"); - } else if (propType == PropertyType.COMPONENT_LIST) { - List list = (List) val; - for (Object listElement : list) { - out.println("edge: {source: \"" + name - + "\" target: \"" + listElement + "\"}"); - } - } - } - } - } - - - /** - * Dumps the config as a GDL plot - * - * @param ConfigurationManager manager - * @param path where to output the GDL - * @throws java.io.IOException if an error occurs - */ - public static void showConfigAsGDL(ConfigurationManager ConfigurationManager, String path) throws IOException { - PrintStream out = new PrintStream(new FileOutputStream(path)); - dumpGDLHeader(out); - for (String componentName : ConfigurationManager.getInstanceNames(Configurable.class)) { - dumpComponentAsGDL(ConfigurationManager, out, componentName); - } - dumpGDLFooter(out); - out.close(); - } - - - /** - * Outputs the GDL header - * - * @param out the output stream - */ - public static void dumpGDLHeader(PrintStream out) { - out.println(" graph: {title: \"unix evolution\" "); - out.println(" layoutalgorithm: tree"); - out.println(" scaling : 2.0"); - out.println(" colorentry 42 : 152 222 255"); - out.println(" node.shape : ellipse"); - out.println(" node.color : 42 "); - out.println("node.height : 32 "); - out.println("node.fontname : \"helvB08\""); - out.println("edge.color : darkred"); - out.println("edge.arrowsize : 6 "); - out.println("node.textcolor : darkblue "); - out.println("splines : yes"); - } - - - /** - * Gets the color for the given component - * - * @param ConfigurationManager manager - * @param componentName the name of the component @return the color name for the component - * @return color to assign - */ - public static String getColor(ConfigurationManager ConfigurationManager, String componentName) { - try { - Configurable c = ConfigurationManager.lookup(componentName); - Class cls = c.getClass(); - if (cls.getName().indexOf(".recognizer") > 1) { - return "cyan"; - } else if (cls.getName().indexOf(".tools") > 1) { - return "darkcyan"; - } else if (cls.getName().indexOf(".decoder") > 1) { - return "green"; - } else if (cls.getName().indexOf(".frontend") > 1) { - return "orange"; - } else if (cls.getName().indexOf(".acoustic") > 1) { - return "turquoise"; - } else if (cls.getName().indexOf(".linguist") > 1) { - return "lightblue"; - } else if (cls.getName().indexOf(".instrumentation") > 1) { - return "lightgrey"; - } else if (cls.getName().indexOf(".util") > 1) { - return "lightgrey"; - } - } catch (PropertyException e) { - return "black"; - } - return "darkgrey"; - } - - - /** - * Dumps the footer for GDL output - * - * @param out the output stream - */ - public static void dumpGDLFooter(PrintStream out) { - out.println("}"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/HTMLDumper.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/HTMLDumper.java deleted file mode 100755 index 2dd6647a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/java/edu/cmu/sphinx/util/props/tools/HTMLDumper.java +++ /dev/null @@ -1,100 +0,0 @@ -package edu.cmu.sphinx.util.props.tools; - -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.PropertySheet; - -import java.io.IOException; -import java.io.PrintStream; -import java.io.FileOutputStream; -import java.util.Collection; -import java.util.List; - -/** - * Dumps a given configuration manager to HTML. - * - * @author Holger Brandl - */ -public class HTMLDumper { - - /** - * Dumps the config as a set of HTML tables - * - * @param ConfigurationManager the manager - * @param path where to output the HTML - * @throws java.io.IOException if an error occurs - */ - public static void showConfigAsHTML(ConfigurationManager ConfigurationManager, String path) throws IOException { - PrintStream out = new PrintStream(new FileOutputStream(path)); - dumpHeader(out); - for (String componentName : ConfigurationManager.getInstanceNames(Configurable.class)) { - dumpComponentAsHTML(out, componentName, ConfigurationManager.getPropertySheet(componentName)); - } - dumpFooter(out); - out.close(); - } - - - /** - * Dumps the footer for HTML output - * - * @param out the output stream - */ - public static void dumpFooter(PrintStream out) { - out.println(""); - out.println(""); - } - - - /** - * Dumps the header for HTML output - * - * @param out the output stream - */ - public static void dumpHeader(PrintStream out) { - out.println(""); - out.println(" Sphinx-4 Configuration</title"); - out.println("</head>"); - out.println("<body>"); - } - - - /** - * Dumps the given component as HTML to the given stream - * - * @param out where to dump the HTML - * @param name the name of the component to dump - * @param properties properties to dump - */ - public static void dumpComponentAsHTML(PrintStream out, String name, PropertySheet properties) { - out.println("<table border=1>"); - // out.println("<table border=1 width=\"%80\">"); - out.print(" <tr><th bgcolor=\"#CCCCFF\" colspan=2>"); - // out.print("<a href="") - out.print(name); - out.print("</a>"); - out.println("</td></tr>"); - - out.println(" <tr><th bgcolor=\"#CCCCFF\">Property</th><th bgcolor=\"#CCCCFF\"> Value</th></tr>"); - Collection<String> propertyNames = properties.getRegisteredProperties(); - - for (String propertyName : propertyNames) { - out.print(" <tr><th align=\"leftt\">" + propertyName + "</th>"); - Object obj; - obj = properties.getRaw(propertyName); - if (obj instanceof String) { - out.println("<td>" + obj + "</td></tr>"); - } else if (obj instanceof List<?>) { - List<?> l = (List<?>) obj; - out.println(" <td><ul>"); - for (Object listElement : l) { - out.println(" <li>" + listElement + "</li>"); - } - out.println(" </ul></td>"); - } else { - out.println("<td>DEFAULT</td></tr>"); - } - } - out.println("</table><br>"); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/package.html deleted file mode 100755 index f12cb1a2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/package.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> - <!-- - - Copyright 1999-2003 Carnegie Mellon University. - Portions Copyright 2002-2003 Sun Microsystems, Inc. - Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> -</head> -<body bgcolor="white"> - -Provides a set of high level classes that can -be used to configure and initiate the speech recognition decoding -process. -<p> - -</body> -</html> - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/pruner/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/pruner/package.html deleted file mode 100755 index 32827aaa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/pruner/package.html +++ /dev/null @@ -1,23 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> - <!-- - - Copyright 1999-2003 Carnegie Mellon University. - Portions Copyright 2002-2003 Sun Microsystems, Inc. - Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> -</head> -<body bgcolor="white"> -Provides an interface that represents the pruning facility -<p> - - -</body> -</html> diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/scorer/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/scorer/package.html deleted file mode 100755 index df4459fe..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/scorer/package.html +++ /dev/null @@ -1,43 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> - <!-- - - Copyright 1999-2003 Carnegie Mellon University. - Portions Copyright 2002-2003 Sun Microsystems, Inc. - Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> -</head> -<body bgcolor="white"> -Provides an interface that represents entities that can be -scored, and an interface and several implementations of a scorer that -can score these entities. Additionally it provides an interface to normalize computed scores and some basic -implementations of it. -<p> - - <!-- - <h2>Package Specification</h2> - - <ul> - <li><a href=""> </a> - </ul> - - <h2>Related Documentation</h2> - - For overviews, tutorials, examples, guides, and tool documentation, - please see: - <ul> - <li><a href="">/a> - </ul> - - --> - -</body> -</html> - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/search/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/search/package.html deleted file mode 100755 index f2af7405..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/decoder/search/package.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> - <!-- - - Copyright 1999-2003 Carnegie Mellon University. - Portions Copyright 2002-2003 Sun Microsystems, Inc. - Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> -</head> -<body bgcolor="white"> - -Provides classes and interfaces that are used to manage the search -through the search graph. Standard implementations are also provided -for the interfaces. - - -</body> -</html> - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/databranch/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/databranch/package.html deleted file mode 100755 index 483702da..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/databranch/package.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> -<head> - <!-- - - Copyright 1999-2003 Carnegie Mellon University. - Portions Copyright 2002-2003 Sun Microsystems, Inc. - Portions Copyright 2002-2003 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> -</head> -<body bgcolor="white"> - -This package contains some classes to create a subbranch of a FronEnd at an arbitrary position. This can be useful in -order to make several decoders to use the same feature-frontend. - -<p> - -</body> -</html> - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndConfiguration.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndConfiguration.html deleted file mode 100755 index 24a87eb3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndConfiguration.html +++ /dev/null @@ -1,201 +0,0 @@ -<html> - -<head> - <!-- - - Copyright 1999-2002 Carnegie Mellon University. - Portions Copyright 2002 Sun Microsystems, Inc. - Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - All Rights Reserved. Use is subject to license terms. - - See the file "license.terms" for information on usage and - redistribution of this file, and for a DISCLAIMER OF ALL - WARRANTIES. - - --> - <title>Configuring the Sphinx-4 Front End - - - - - - -
- - - - -
-

Configuring the Sphinx-4 Front End

-
-
-
- -

- The main design goal of the Sphinx-4 front end is flexibility. - The front end should be modeled as a pipeline of data processors, - and the entire composition of the pipeline should be configurable - from the configuration file. Other design requirements include - allowing multiple instances of the same data processor in the same front end, - where each can be configured differently. Moreover, the possibility of - multiple front ends should be allowed. - - -

- -

A Simple Example

- -

- To enable all these capabilities, the following scheme is devised to specify - the front end in the configuration file. Lets work with the example of a - standard Mel Frequency Cepstral Coefficients (MFCC) front end, - followed by an explanation: - -

-

-<component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-    <propertylist name="pipeline">
-        <item>preemphasizer</item>
-        <item>windower</item>
-        <item>dft</item>
-        <item>melFilterBank</item>
-        <item>dct</item>
-        <item>batchCMN</item>
-	<item>featureExtractor</item>
-    </propertylist>
-</component>
-
-<component name="preemphasizer" type="edu.cmu.sphinx.frontend.filter.Preemphasizer"/>
-<component name="windower" type="edu.cmu.sphinx.frontend.window.RaisedCosineWindower"/>
-
-<component name="dft" type="edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform">
-    <property name="numberFftPoints" value="512"/>
-</component>
-
-<component name="melFilterBank" type="edu.cmu.sphinx.frontend.frequencywarp.MelFrequencyFilterBank"/>
-<component name="dct" type="edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform"/>
-<component name="batchCMN" type="edu.cmu.sphinx.frontend.feature.BatchCMN"/>
-<component name="featureExtractor" type="edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor"/>
-
- -Example 1: Specifying a standard MFCC front end. - -

- The first component specifies all the front end proceessors. "mfcFrontEnd" - is the name of our MFCC front end pipeline, followed by the Java class type - of the front end. It is then followed by a list of the data processors, - using a propertylist called pipeline, which - you will see is a property of the - FrontEnd class. - -

- The rest of the components specify each of the data processors in turn. - They mainly specify the Java class type of the processor, but it can also - specify the properties of the data processor. For example, in the - case of the DFT data processor, the number of FFT points is specified - as 512. If you look at the DiscreteFourierTransform class, - you will notice that - numberFftPoints is a property of the class. - - -

- -

Multiple Instances of the Same DataProcessor

- -

- The name of a component is also useful if we have multiple instances of the - same data processor class. For example, suppose that we perform - Discrete Fourier Transform two times in a row, but each with a different - number of FFT points, we would specify the following: - -

-

-<component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-    <propertylist name="pipeline">
-        <item>preemphasizer</item>
-        <item>windower</item>
-        <item>dft_1</item>
-        <item>dft_2</item>
-        <item>melFilterBank</item>
-        <item>dct</item>
-        <item>batchCMN</item>
-	<item>featureExtractor</item>
-    </propertylist>
-</component>
-
-<component name="dft_1" type="edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform">
-    <property name="numberFftPoints" value="128"/>
-</component>
-
-<component name="dft_2" type="edu.cmu.sphinx.frontend.transform.DiscreteFourierTransform">
-    <property name="numberFftPoints" value="256"/>
-</component>
-
- -Example 2: Specifying a front-end pipeline with two DataProcessors of the same class, but different - properties. - -

- When the first DiscreteFourierTransform class is initialized in the - 'initialize()' method, the 'name' argument will be 'dft_1'. Calling - DiscreteFourierTransform.getName() on it will return 'dft_1'. - - -

- -

Multiple Front Ends

- -Multiple front ends are simply specified as separate components: - -

- -

-<component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-    <propertylist name="pipeline">
-        <item>preemphasizer</item>
-        <item>windower</item>
-        <item>dft</item>
-        <item>melFilterBank</item>
-        <item>dct</item>
-        <item>batchCMN</item>
-	<item>featureExtractor</item>
-    </propertylist>
-</component>
-
-<component name="plpFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-    <propertylist name="pipeline">
-        <item>preemphasizer</item>
-        <item>windower</item>
-        <item>dft</item>
-        <item>plpFilterBank</item>
-        <item>plpCepstrumProducer</item>
-        <item>batchCMN</item>
-	<item>featureExtractor</item>
-    </propertylist>
-</component>
-
-... // define the components of both front ends
-
- - -Example 3: Specifying multiple front-end pipelines. - -

- That is, you specify the different pipelines, and then just specify each pipeline as you would individually. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndFAQ.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndFAQ.html deleted file mode 100755 index 2f97a1f1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/FrontEndFAQ.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - Front End Framework - - - - - -

- - - - -
-

Front End Framework

-
-
- - - -

- -

Table of Contents

- -

- -


- -

Fine Tuning the Front End to the Sampling Rate

- -

Typically, you will need to fine tune some of the front end - parameters depending on the sampling frequency used to collect - the audio data. Sphinx-4 has default values that may be - different from what you need. Please check the constant field - values page to verify the default values.

- -

You will find details about how to choose the values to fine - tune the front end in the javadocs for the appropriate - classes. Other than the sampling rate itself, it is common that - a user has to change the filterbank parameters, i.e., the number - of filters and the frequency range spanned by the - filter. Depending on the sampling rate, a user may also want to - change the window shift and size, as well as the number of fft - points.

- -

For more information on these variables, please follow the - links below. You do not need all the links, just the ones defined on - your configuration.

- - - -
- -

Creating MFC Cepstrum/PLP - Cepstrum/Spectrum from Audio

- -There is a program called FeatureFileDumper that turns an audio file -into binary cepstra file using the front end. -To create MFCC cepstrum using this program, -go to the -edu/cmu/sphinx/tools/feature directory, -and type: -

- ant -Dinput="input file" -Doutput="output file" cepstra_producer - -

- To create a binary PLP cepstrum file using this program, type: - -

- ant -Dinput="input file" -Doutput="output file" plp_producer - -

- To create a binary spectra file, type: - -

- ant -Dinput="input file" -Doutput="output file" spectra_producer - - -

- As you might notice by comparing the files cepstra_dump.props - and spectra_dump.props in the "edu/cmu/sphinx/tools/feature" directory, - the only difference in setup between dumping different types of - features is in the sequence of data processors as specified in the - properties file. If you give it a difference data processor sequence, - it will give you different output. - -

- Binary File Format - -

- The first 4 bytes of the binary file is an integer indicating the total - number of data points in the file. This is used by the program - that reads this file to check the endianness of the file - by comparing with the file size. The rest of the file is simply - the data points. Each data point is a 4-byte floating point number, - in big-endian order. - -


- -

Decoding from Cepstra Files

- -

- This normally applies to batch mode decoding using the - BatchModeRecognizer. - In the configuration file, set the first processor of the front end - to be StreamCepstrumSource, and use that as the input source of the - BatchModeRecognizer. Also, change the front end pipeline so that - either BatchCMN or LiveCMN will follow the StreamCepstrumSource, - skiping the preemphasis, windowing, MFCC, and DCT steps. The - configuration should contain the lines: - -

-<component name="batchRecognizer" type="edu.cmu.sphinx.tools.batch.BatchModeRecognizer">
-
-    <property name="inputSource" value="streamCepstrumSource">
-    // ... other properties ...
-
-</component>
-
-<component name="frontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-
-    <propertylist name="pipeline">
-        <item>streamCepstrumSource</item>
-	<item>batchCMN</item>
-	// ... other front end processors
-    </propertylist>
-
-</component>
-
-<component name="streamCepstrumSource" type="edu.cmu.sphinx.frontend.util.StreamCepstrumSource"/>
-      
-
- For more information on configuration files, please refer to the document - Sphinx-4 Configuration Management -

-


- -

Enabling the Endpointer

- -

- The Sphinx-4 audio endpointer is composed of three data processors - that carry out different functions: - -

SpeechClassifier - classifies chunks of audio into speech - and non-speech. -
SpeechMarker - marks the audio stream into speech and non-speech - regions, giving some 'cushion areas' around these regions. -
NonSpeechDataFilter - removes the non-speech regions from - the audio. - -

- The Sphinx-4 audio endpointer is enabled by including it as part of - the front end pipeline. The three data processors - should be placed in front of all the other data processors, e.g., - -

- -

-<component name="frontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
-
-    <propertylist name="pipeline">
-        <item>speechClassifier</item>
-	<item>speechMarker</item>
-	<item>nonSpeechDataFilter</item>
-	<item>preemphasizer</item>
-	// ... other front end processors
-    </propertylist>
-
-</component>
-
-<component name="speechClassifier" type="edu.cmu.sphinx.frontend.endpoint.SpeechClassifier">
-    <property name="threshold" value="13"/>
-</component>
-<component name="speechMarker" type="edu.cmu.sphinx.frontend.endpoint.SpeechMarker"/>
-<component name="nonSpeechDataFilter" type="edu.cmu.sphinx.frontend.endpoint.NonSpeechDataFilter"/>
-      
- - -

- The SpeechClassifier property 'threshold' controls how sensitive the - endpointer is. It is empirically determined that the value of 13 is - optimal for most environments. A lower threshold will make the - endpointer more sensitive, that is, mark more audio as speech. A - higher threshold will make the endpointer less sensitive, that is, - mark less audio as speech. -


- -Copyright 1999-2004 Carnegie Mellon University.
-Portions Copyright 2002-2004 Sun Microsystems, Inc.
-Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories.
-All Rights Reserved. Usage is subject to -license terms. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/frontend.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/frontend.jpg deleted file mode 100755 index 44d3874b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/doc-files/frontend.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.gif deleted file mode 100755 index 94f7c55a..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.sxd deleted file mode 100755 index db966dc8..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/NonSpeechDataFilter.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region-filtered.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region-filtered.gif deleted file mode 100755 index f14246af..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region-filtered.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region.gif deleted file mode 100755 index ced4d202..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/one-region.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-merge.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-merge.gif deleted file mode 100755 index bacaf60a..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-merge.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-nonmerge.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-nonmerge.gif deleted file mode 100755 index a782ab25..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions-nonmerge.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions.gif deleted file mode 100755 index d5989ca5..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/doc-files/two-regions.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/package.html deleted file mode 100755 index 0befdb2b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/endpoint/package.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -Provides classes and interfaces used for speech endpointing. - -

- The Sphinx-4 audio endpointer is composed of three data processors - that carry out different functions: - -

- SpeechClassifier - classifies chunks of audio into speech and non-speech. - -

- SpeechMarker - marks the audio stream into speech and non-speech regions, by - inserting SpeechStartSignals and SpeechEndSignals - into the data stream, while giving some 'cushion areas' around these regions. - -

- NonSpeechDataFilter - removes the non-speech regions from the audio. - -

- - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.jpg deleted file mode 100755 index ec8c6cdd..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.sxd deleted file mode 100755 index 24db346c..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/deltas.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.jpg deleted file mode 100755 index efbf0261..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.sxd deleted file mode 100755 index d5aa0a3b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/doc-files/feature.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/package.html deleted file mode 100755 index 8f3e6330..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/feature/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -Provides classes that processes features. Examples include batch mode cepstral -mean normalization, and the computation of delta and double delta of features. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/filter/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/filter/package.html deleted file mode 100755 index 2589f10f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/filter/package.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -Provides classes that implement frequency filters. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.jpg deleted file mode 100755 index d65d2b07..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.sxd deleted file mode 100755 index 9ad52ba2..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilter.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.jpg deleted file mode 100755 index a03dc633..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.sxd deleted file mode 100755 index f2683dbf..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/doc-files/melfilterbank.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/package.html deleted file mode 100755 index 16a0f1aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/frequencywarp/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -Provides classes that perform frequency warping. -

- - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/package.html deleted file mode 100755 index ab70c1ec..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/package.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - -Provides a set of high level classes and interfaces that are used -to perform digital signal processing for speech recognition. - -

- The front end is modeled as a series of data processors, each of - which performs a specific signal processing function on the incoming - data. Therefore, the incoming data is transformed as it passes through - each data processor. A high-level design of the front end looks like: - -

- - -

- For more detailed explanation, please refer to the - FrontEnd class documentation. - -

- For information on how to configure the front end using the properties - file, please refer to the document - Configuring the Front End. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139o.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139o.jpg deleted file mode 100755 index 2a19c8b0..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139o.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139ospectrum.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139ospectrum.jpg deleted file mode 100755 index ed5d7d7f..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/doc-files/139ospectrum.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/package.html deleted file mode 100755 index 10e13b37..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/transform/package.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -Provides classes that transform data from one domain into another. For example, -the discrete fourier transform transform data from the time domain to the -frequency domain. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/util/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/util/package.html deleted file mode 100755 index f49cddf7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/util/package.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -Provides classes that are generally useful to the various frontend -classes. -

- - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.jpg deleted file mode 100755 index 2dbabd5c..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.sxd b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.sxd deleted file mode 100755 index 38f186f3..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/framing.sxd and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/hamming-window.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/hamming-window.gif deleted file mode 100755 index 819eb8d4..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/doc-files/hamming-window.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/package.html deleted file mode 100755 index 79b3d7ec..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/frontend/window/package.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -Provides classes that implement windowing functions. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/openfst/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/openfst/package.html deleted file mode 100755 index b01515ff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/openfst/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides classes required to convert from/to openFst text format. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/operations/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/operations/package.html deleted file mode 100755 index 79544cda..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/operations/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides classes for fst operations. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/package.html deleted file mode 100755 index 049a4abd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides the basic fst classes. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/semiring/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/semiring/package.html deleted file mode 100755 index 99a0aa50..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/semiring/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides semiring related classes. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/utils/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/utils/package.html deleted file mode 100755 index 67dc42b6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/fst/utils/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides a set of utility classes. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/Instrumentation.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/Instrumentation.html deleted file mode 100755 index 1c497a99..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/Instrumentation.html +++ /dev/null @@ -1,726 +0,0 @@ - - - - - Sphinx-4 Instrumentation - - - - - -

- - - - - - -
-

Instrumentation - for Sphinx-4
-
-

-
-
- -
-
-
-

Introduction

-Sphinx-4 can be configured to output various collections of information -that may be useful for users and developers. This information includes:
-
    -
  • Warning and Error messages
    -
  • -
  • Logging  /  tracing messages
  • -
  • Recognition results
    -
  • -
  • Accuracy statistics
  • -
  • Speed statistics
  • -
  • Memory footprint statistics
  • -
  • Configuration information
  • -
  • Grammar plots
  • -
  • Search space plots
  • -
-The output of the various types of instrumentation information is -controllable from the configuration file.  Lets look in -detail  at what information is being displayed and how to control -what information is output.
- -

Silence is Golden

-First lets look at a Sphinx-4 configuration file for a tidigits -task.  (You can learn more about configuration files by reading Sphinx-4 - Configuration Management).  The Sphinx-4 configuration file silent.config.xml shows a standard -configuration for recognizing connected digits.  It is based upon -the tidigits.config.xml found in sphinx4/tests/performance/tidigits, -except that all logging and instrumentation has been disabled.  If -we run Sphinx-4 with this configuration we get absolutely no output:
-
-
% java edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
%
-That is probably not very useful for most applications.  Let's -take a look to see if we can get some recognition results using the Logger.
-
- -

Using the Logger

-Any well behaved Sphinx components (there are some that are not so well -behaved...) that needs to output informational messages will do so via -the Sphinx-4 logger.  These have a level of importance associated -with them. Some messages indicate severe  -problems, some messages are  warnings, some are informational,  and some are fine  level tracing messages. -The complete set of log levels are:
-
    -
  • SEVERE (highest value) - an error occurs that makes continuing - the operation difficult or impossible -
  • -
  • WARNING - an anomalie has occured, but the operation is - continuing -
  • -
  • INFO - general information
  • -
  • CONFIG - information about a components configuration
  • -
  • FINE - tracing messages
  • -
  • FINER - finer grained tracing messages (lots of output)
  • -
  • FINEST (lowest value) - finest grained tracing messages (huge - amounts of output) -
  • -
-In  silent.config.xml   there is a global property -called logLevel that is set -to OFF. 
-
<config>
<property name="logLevel" value="OFF"/>
<!-- components omitted -->
</config>
-This indicates that by default, no logging information will be logged -to the console at all.  This, of course, is dangerous because we -probably want at least  to see all warning and error -messages.  Let's turn on warning and error messages. We do this by -setting the logLevel to WARNING like so:
-
<config>
<property name="logLevel" value="WARNING"/>
<!-- components omitted -->
</config>
-By setting the logLevel to WARNING, we are saying that we want to see -all log messages at the WARNING level or higher. With this setting we -should see WARNING and SEVERE messages.  (Note that this is the -default setting anyway, so if you omit setting logLevel at the global -level, the logLevel is automatically set to WARNING).
-
-Let's run this again with our new settings:
-
% java edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
%
-It is still silent, which means we don't have any warning or errors in -our run.  Now, lets see what an error looks like. To force an -error, I'll delete one of the audio input files listed in the tidigits.batch file. This should -cause an error when the recognizer attempts to deocode the  -missing file .  Here's an example:
-
% java edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch

07:37.604 SEVERE I/O error during decoding: /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.o5o6671a.wav.raw\
 (No such file or directory) in edu.cmu.sphinx.tools.batch.BatchModeRecognizer:decode
%
-This time we get a SEVERE error report showing when and where the error -occurred. Note that the log includes information such as the timetamp -for the error, the level of the error, a detailed error message and an -indication of where in the code the error occurred.
-
-Now let's restore the missing file so we don't get this error anymore -and try to get some results displayed.
-
-The JavaDocs for the BatchModeRecognizer  -indicate that the BatchModeRecognizer will log results at the INFO -level.  Let's try setting the logLevel to INFO to see what the -BatchModeRecognizer reports.
-
<config>
<property name="logLevel" value="INFO"/>
<!-- components omitted -->
</config>
-By setting the logLevel to INFO we are enabling logs at the INFO, -WARNING and SEVERE levels.
-
- -With this new setting lets run the recognizer again to see what output -we get:
- -
% java edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
-08:23.006 INFO logMath Log base is 1.0001
-08:23.020 INFO logMath Using AddTable when adding logs
-08:23.021 INFO logMath LogAdd table has 99022 entries.
-08:23.683 INFO sphinx3Loader Sphinx3Loader
-08:23.684 INFO sphinx3Loader Pool /means Entries: 4816
-08:23.686 INFO sphinx3Loader Pool /variances Entries: 4816
-08:23.687 INFO sphinx3Loader Pool /transition_matrices Entries: 34
-08:23.688 INFO sphinx3Loader Pool senones Entries: 602
-08:23.689 INFO sphinx3Loader Pool meanTransformationMatrix Entries: 1
-08:23.690 INFO sphinx3Loader Pool meanTransformationMatrix Entries: 1
-08:23.691 INFO sphinx3Loader Pool varianceTransformationMatrix Entries: 1
-08:23.692 INFO sphinx3Loader Pool varianceTransformationMatrix Entries: 1
-08:23.693 INFO sphinx3Loader Pool /mixture_weights Entries: 602
-08:23.694 INFO sphinx3Loader Pool senones Entries: 602
-08:23.696 INFO sphinx3Loader Context Independent Unit Entries: 34
-08:23.697 INFO sphinx3Loader HMM Manager: 430 hmms
-08:23.698 INFO acousticModel CompositeSenoneSequences: 0
-08:23.700 INFO dictionary Loading dictionary from:
-08:23.701 INFO dictionary file:/lab/speech/sphinx4/data/tidigits_8gau_13dCep_16k_40mel_130Hz_6800Hz.bin.zip/dictionary
-08:23.712 INFO dictionary Loading filler dictionary from:
-08:23.714 INFO dictionary file:/lab/speech/sphinx4/data/tidigits_8gau_13dCep_16k_40mel_130Hz_6800Hz.bin.zip/fillerdict
-08:23.728 INFO wordListGrammar Num nodes : 14
-08:23.729 INFO wordListGrammar Num arcs : 34
-08:23.731 INFO wordListGrammar Avg arcs : 2.4285715
-08:23.306 INFO threadedScorer # of scoring threads: 1
-08:23.393 INFO batch BatchDecoder: decoding files in tidigits.batch
-08:23.173 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.111a.wav.raw
-08:23.175 INFO batch Result: <sil> one one one
-08:23.645 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.139oa.wav.raw
-08:23.647 INFO batch Result: <sil> one three nine oh
-08:24.957 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.155a.wav.raw
-08:24.958 INFO batch Result: <sil> one five five
-08:24.278 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1688a.wav.raw
-08:24.279 INFO batch Result: <sil> one six eight eight
-08:24.987 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1a.wav.raw
-08:24.988 INFO batch Result: <sil> one
-
-
- -It looks like there are a number of other components that are issuing -INFO messages that are cluttering up our output.  We'd like to be -able to turn the other INFO messages off, and just get the -BatchModeRecognizer INFO messages.  We can do this by setting the -logLevel at the individual component level.  Each component can -have its own individual logging level.  This means that different -components can be logging messages at different levels.  Since we -only want the BatchModeRecognizer to be outputing INFO messages, lets -restore the overall logging level to WARNING and set the logLevel for -'batch' (the name of the BatchModeRecognizer component) to INFO.
-
-
-
<config>
<property name="logLevel" value="INFO"/>

<component name="batch"
type="edu.cmu.sphinx.tools.batch.BatchModeRecognizer">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="inputSource" value="streamDataSource"/>
<property name="logLevel" value="INFO"/>
</component>


<!-- many components omitted -->
</config>
-Now lets look at out output:
-
-
% java -cp ../../../bld/classes/ -Dskip=20 edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
08:26.591 INFO batch BatchDecoder: decoding files in tidigits.batch
08:26.260 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.111a.wav.raw
08:26.262 INFO batch Result: <sil> one one one
08:26.749 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.139oa.wav.raw
08:26.751 INFO batch Result: <sil> one three nine oh
08:26.105 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.155a.wav.raw
08:26.107 INFO batch Result: <sil> one five five
08:26.390 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1688a.wav.raw
08:26.391 INFO batch Result: <sil> one six eight eight
08:26.022 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1a.wav.raw
08:26.023 INFO batch Result: <sil> one
08:26.029 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1b.wav.raw
08:26.030 INFO batch Result: <sil> one
08:26.048 INFO batch File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1za.wav.raw
08:26.049 INFO batch Result: <sil> one zero


-There are ways -to control the terseness of the actual output as well.  Setting -the global property logTerse -to true, will result in the ancillary information (timestamp, level, -source component) being omitted.
-
-
<config>
<property name="logLevel" value="INFO"/>

<component name="batch"
type="edu.cmu.sphinx.tools.batch.BatchModeRecognizer">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="inputSource" value="streamDataSource"/>
<property name="logLevel" value="INFO"/>
<property name="logTerse" value="true"/>
</component>

</config>
-Here's the terse output:
-
-
% java -cp ../../../bld/classes/ -Dskip=20 edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
Handler java.util.logging.ConsoleHandler@cdfc9c
BatchDecoder: decoding files in tidigits.batch
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.111a.wav.raw
Result: <sil> one one one
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.139oa.wav.raw
Result: <sil> one three nine oh
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.155a.wav.raw
Result: <sil> one five five
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1688a.wav.raw
Result: <sil> one six eight eight
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1a.wav.raw
Result: <sil> one
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1b.wav.raw
Result: <sil> one
File : /lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1za.wav.raw
Result: <sil> one zero

-At this point we know enough about the logger to be able to turn it on -and off, to control the level of logging output on a per component -basis and to configure the appearance of the logging output.
-
- -

Tracking Accuracy

-Now lets look at how we can track the accuracy performance of -Sphinx-4.  One of the prime methods of measuring the overall -quality of a speech recognition system is the recognition accuracy.  This -statistic shows how well the sentence hypotheses produced by the -recognizer match the actual transcripts of what was spoken.  -Obviously, recognition accuracy can only be reported when the -transcripts are available as well.  All of the Sphinx-4 -performance tests (found under the Sphinx-4/tests/performance -directory) include transcripts. For instance, the batch file tidigits.batch begins like so:
-
-
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.111a.wav.raw one one one
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.139oa.wav.raw one three nine oh
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.155a.wav.raw one five five
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1688a.wav.raw one six eight eight
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1a.wav.raw one
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1b.wav.raw one
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.1za.wav.raw one zero
/lab/speech/sphinx4/data/tidigits/test/raw16k/man/man.ah.24z982za.wav.raw two four
-Each line represents a single utterance. The first entry on each line -contains the path name to the audio that is to be recognized. The -remaining entries are the words that make up the transcript for the -utterance.  Using this information the BatchModeRecognizer can -make available the transcripts necessary for producing accuracy -statistics.
-
-The accuracy tracker is a component that is typically added to the set -of monitors for a recognizer.  The accuracy tracker will monitor -the recognizer, and when the recognizer generates a result, the tracker -will compare the resulting hypothesis to the appropriate transcript and -generate the statistics.
-
-Let's configure our system now to include an accuracy tracker.  -First we add an entry for the component itself:
-
    <component name="accuracyTracker"
type="edu.cmu.sphinx.instrumentation.BestPathAccuracyTracker">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="showAlignedResults" value="false"/>
<property name="showRawResults" value="false"/>
</component>

-
-Next, we add the accuracy tracker to the set of recognizer monitors -like so:
-
    <component name="connectedDigitsRecognizer"
type="edu.cmu.sphinx.recognizer.Recognizer">
<property name="decoder" value="digitsDecoder"/>
<propertylist name="monitors">
<item>accuracyTracker </item>
</propertylist>
</component>

-
-Also, since the accuracy tracker will ouput results, we can turn off -the output of the results by the 'batch' component by reseting the logLevel  setting to WARNING.
-
-Here's the output:
-
% java -cp ../../../bld/classes/ -Dskip=20 edu.cmu.sphinx.tools.batch.BatchModeRecognizer silent.config.xml tidigits.batch
(... many lines omitted)

REF: four one six
HYP: four one six
ALIGN_REF: four one six
ALIGN_HYP: four one six
RAW <sil> four one six

Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 78 Matches: 78 WER: 0.000%
Sentences: 23 Matches: 23 SentenceAcc: 100.000%

REF: four two eight oh oh oh nine
HYP: four two eight oh oh nine
ALIGN_REF: four two eight oh oh OH nine
ALIGN_HYP: four two eight oh oh ** nine
RAW <sil> four two eight oh oh nine

Accuracy: 98.824% Errors: 1 (Sub: 0 Ins: 0 Del: 1)
Words: 85 Matches: 84 WER: 1.176%
Sentences: 24 Matches: 23 SentenceAcc: 95.833%

REF: four five two zero three
HYP: four five two zero three
ALIGN_REF: four five two zero three
ALIGN_HYP: four five two zero three
RAW <sil> four five two zero three

-As you can see the accuracy tracker outputs quite a bit of -information.  Lets look at the information in detail:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
REF
-
Reference -- This is the reference or transcript. This is what should be recognized.
-
HYP
-
Hypothesis - - This is the result that is generated by the recognizer. This is what was  recognized.
-
ALIGN_REF
-
Aligned -Reference - This is the reference text, where mismatches between - the reference and the hypothesis are highlighted. 
-
ALIGH_HYP
-
Aligned -Hypothesis -  This is the recognized text with mismatched - text highlighted.
-
RAW
-
Raw -Text - this is the actual text recognized, including all filler - words such as silences, coughs, lip smacks, breaths and so on.
-
Accuracy
-
Word -Accuracy - The number of matching words compared to the total - number of words in the input as a percent.
-
Errors:
-
Word -Error Count - The total number of word errors.
-
Sub
-
Substition -count - The total number of substitution errors. A substitution - error occurs when one word is replaced by another.
-
Ins
-
Insertion -count - The total number of insertion errors. An insertion - error occurs when an extra word is inserted in the hypothesis.
-
Del
-
Deletion -count - The total number of deletion errors. A deletion error - occurs when a word is missing in the hypothesis.
-
Words
-
Reference -word count - The total number of words expected
-
Matches
-
Matching -word count - The total number of matching words
-
WER
-
Word -error rate - This is equal to (sub + ins + del) / words * 100
-
Sentences
-
Reference -sentence count - The total number of sentences.
-
Matches
-
Matching -sentences - The total number of matching sentences
-
SentenceAcc
-
Sentence -Accuracy  - This is equal to (matches / sentences) * 100
-
-
-First it shows the REF and HYP outputs.  REF is the reference or -transcript. This is the expected result. HYP is the hypothesis, the -result that was generated by the recognizer.
-
-That's a whole lot of stuff, in fact, it is probably more than we need. -We can configure the accuracy tracker  (of course) to reduce the -amount of output.  Let's turn off the ALIGN and the RAW outputs:
-
    <component name="accuracyTracker"
type="edu.cmu.sphinx.instrumentation.BestPathAccuracyTracker">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="showAlignedResults" value="false"/>
<property name="showRawResults" value="false"/>
</component>
-The accuracy tracker will also show summary information at the end of a -run (when the recognizer is deallocated).   Here's an example -showing the reduced out and the summary information.
-
-

REF: one
HYP: one

Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 15 Matches: 15 WER: 0.000%
Sentences: 5 Matches: 5 SentenceAcc: 100.000%

# --------------- Summary statistics ---------
Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 15 Matches: 15 WER: 0.000%
Sentences: 5 Matches: 5 SentenceAcc: 100.000%


-
-The summary statistics shows the total accuracy data for the entire run.
-
- -

Tracking Speed

-Another important aspect of speech recognition is the speed of -recognition.  The speed tracker will track and report statistics -relating to the speed of recognition.  The speed tracker is added -to the set of monitors in the recognizer in the same way that the -accuracy tracker is added:
-
    <component name="connectedDigitsRecognizer"
type="edu.cmu.sphinx.recognizer.Recognizer">
<property name="decoder" value="digitsDecoder"/>
<propertylist name="monitors">
<item>accuracyTracker </item>
<item>speedTracker </item>
</propertylist>
</component>

<component name="speedTracker"
type="edu.cmu.sphinx.instrumentation.SpeedTracker">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="frontend" value="${frontend}"/>
</component>

-Here's some output of the speed tracker:
-
REF:       one one one
HYP: one one one

Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 3 Matches: 3 WER: 0.000%
Sentences: 1 Matches: 1 SentenceAcc: 100.000%
This Time Audio: 1.38s Proc: 2.16s Speed: 1.56 X real time
Total Time Audio: 1.38s Proc: 2.16s Speed: 1.56 X real time

REF: one three nine oh
HYP: one three nine oh

Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 7 Matches: 7 WER: 0.000%
Sentences: 2 Matches: 2 SentenceAcc: 100.000%
This Time Audio: 1.47s Proc: 0.97s Speed: 0.66 X real time
Total Time Audio: 2.85s Proc: 3.13s Speed: 1.10 X real time


-
-The data output by the speed tracker are:
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
This time audio
-
The length of  time (in - seconds) of the current audio.
-
This time proc
-
The time spent processing this - audio.
-
This Speed:
-
processing time / audio time
-
Total time audio
-
The time for all audio
-
Total processingThe time spent processing all - audio -
Total Speed:
-
total proc time / total audio - time
-
-
-
-Dumping Response Time
-The speed tracker can also be configured to show response time. This is -useful when running in a live-mode situation where front-end buffering -latency can affect the perceived performance of the system.
-The speed tracker configuration for enabling tracking of response time -is shown here:
-
-
    <component name="speedTracker"
type="edu.cmu.sphinx.instrumentation.SpeedTracker">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<property name="frontend" value="${frontend}"/>
<property name="showResponseTime" value="true"/>
</component>
-The response time output looks like this:
-
-
HYP: one three nine oh
Sentences: 2
This Time Audio: 1.15s Proc: 0.86s Speed: 0.75 X real time
Total Time Audio: 3.33s Proc: 3.52s Speed: 1.06 X real time
Response Time: Avg: 0.032333333s Max: 0.085s Min: 0.0060s

-The response time field includes and average (Avg), maximum(Max) and -minimum (Min) response time encountered. This is the time from when the -front-end first encounters a packet of audio, until it is delivered to -the decoding portion of the recognizer.  This gives a good measure -of the latency due to the front-end processing such as normalization -and end-pointing.
-
-Dumping Timing Statistics
-The speed tracker can also be configured to dump out low level timing -data for various aspects of the recognition process.  Many of the -components in the Sphinx-4 system will collect detailed timing -statistics.  For instance, the linguist may keep track of how long -it takes to build the search graph, and the acoustic model loader may -keep track of how long it takes to load the acoustic model from a -compressed file. 
-Setting the speedTracker showTimers property -to true will cause the timing information to be dump. The timing -information is dumped immediately after the system is initialized, and -again when the recognizer is deallocated.  Here's a sample of the -timing output:
-
-
# ----------------------------- Timers----------------------------------------
# Name Count CurTime MinTime MaxTime AvgTime TotTime
streamDataSourc 196 0.0000s 0.0000s 0.0390s 0.0004s 0.0760s
preemphasizer 196 0.0000s 0.0000s 0.0130s 0.0001s 0.0190s
windower 194 0.0010s 0.0000s 0.0550s 0.0009s 0.1840s
fft 1732 0.0000s 0.0000s 0.0530s 0.0003s 0.4780s
melFilterBank 1732 0.0000s 0.0000s 0.0410s 0.0000s 0.0790s
dct 1732 0.0000s 0.0000s 0.0280s 0.0001s 0.0920s
featureExtracti 1692 0.0000s 0.0000s 0.1610s 0.0001s 0.1980s
AM_Load 1 2.3060s 2.3060s 2.3060s 2.3060s 2.3060s
DictionaryLoad 1 0.0110s 0.0110s 0.0110s 0.0110s 0.0110s
compile 1 0.8750s 0.8750s 0.8750s 0.8750s 0.8750s
createGStates 1 0.0260s 0.0260s 0.0260s 0.0260s 0.0260s
collectContex 1 0.0050s 0.0050s 0.0050s 0.0050s 0.0050s
expandStates 1 0.7250s 0.7250s 0.7250s 0.7250s 0.7250s
connectNodes 1 0.0140s 0.0140s 0.0140s 0.0140s 0.0140s
scoring 1722 0.0000s 0.0000s 0.3980s 0.0037s 6.4570s
pruning 1712 0.0000s 0.0000s 0.0010s 0.0000s 0.0100s
growing 1722 0.0030s 0.0000s 0.0610s 0.0027s 4.666
-This table shows the timing information after a short run of tidigits -word list.   Here's the data key:
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name
-
The name of the operation
-
Count
-
The number of times the - operation was invoked
-
CurTime
-
The most recent timing for this - operation
-
MinTime
-
The fastest time for this - operation
-
MaxTime
-
The slowest time for this - operation
-
AvgTime
-
The average time for this - operation
-
TotTime
-
The total time for this operation
-
-
- -

Tracking Memory Usage

-For some applications, the overall memory footprint of the recognizer -is important.  The MemoryTracker can be used to track the memory -usage of Sphinx-4.   The MemoryTracker is added -to the set of monitors in the recognizer in the same way that the -accuracy tracker is added:
-
-
    <component name="connectedDigitsRecognizer" 
type="edu.cmu.sphinx.recognizer.Recognizer">
<property name="decoder" value="digitsDecoder"/>
<propertylist name="monitors">
<item>accuracyTracker </item>
<item>speedTracker </item>
<item>memoryTracker </item>
</propertylist>
</component>

<component name="memoryTracker"
type="edu.cmu.sphinx.instrumentation.MemoryTracker">
<property name="recognizer" value="connectedDigitsRecognizer"/>
</component>

-
-The output of the memory tracker is as follows:
-
-
REF:       one
HYP: one

Accuracy: 100.000% Errors: 0 (Sub: 0 Ins: 0 Del: 0)
Words: 16 Matches: 16 WER: 0.000%
Sentences: 6 Matches: 6 SentenceAcc: 100.000%
This Time Audio: 0.99s Proc: 0.64s Speed: 0.65 X real time
Total Time Audio: 7.47s Proc: 6.13s Speed: 0.82 X real time
Mem Total: 126.62 Mb Free: 112.26 Mb
Used: This: 14.36 Mb Avg: 14.35 Mb Max: 18.82 Mb
-
-The memory tracker ouputs five data items:
-
- - - - - - - - - - - - - - - - - - - - - - - -
Mem total
-
The total amount of memory - allocated to the VM
-
Free
-
Of the Mem Total how much is currently not - being used
-
Used This
-
How much memory is currently - being used
-
Used Avg
-
The average amount of memory used
-
Used MaxThe maximum amount of memory used
-
-

Miscellaneous Instrumentation

-In addition to the previously described instrumentation, there are a -few other monitors that are useful.
-
- -

Configuration Monitor

-The configuration monitor dumps out the current configuration of the -system.  This dump differs from the configuration file in a few -ways:
-
    -
  • The format is more readable by humans than the XML format
  • -
  • The configuration dump shows  just the active configuration, - whereas the XML configuration file may have configuration data for - components that are not actually used. -
  • -
  • The configuration dump shows the configuration data after any - properties have been set via system properties (as is often done in the - build.xml file). 
    -
  • -
  • The configuration dump shows all the possible properties for a - particular component and highlights the values that are receiving their - default values.
    -
  • -
-The Configuration Monitor (as well as most of the 'dump something -interesting' monitors) are generally controlled by the -RecognizerMonitor.   The Configuration Monitor defines what -is to be dumped (in this case the configuration), while the -RecognizerMonitor indicates when it should be dumped.  Let's -configure a recognizer to dump the configuration after the recognizer -is allocated (that is, the recognizer is completely initialized and -ready to recognize).
-
<!-- add the recognizer monitor to the recognizer -->
<component name="connectedDigitsRecognizer"
type="edu.cmu.sphinx.recognizer.Recognizer">
<property name="decoder" value="digitsDecoder"/>
<propertylist name="monitors">
<item>accuracyTracker </item>
<item>speedTracker </item>
<item>memoryTracker </item>
<item>recognizerMonitor </item>
</propertylist>
</component>

<!-- create the recognizer monitor with the configMonitor as one of the dumpers -->

<component name="recognizerMonitor"
type="edu.cmu.sphinx.instrumentation.RecognizerMonitor">
<property name="recognizer" value="connectedDigitsRecognizer"/>
<propertylist name="allocatedMonitors">
<item>configMonitor </item>
</propertylist>
</component>

<!-- create the configMonitor -->
<component name="configMonitor"
type="edu.cmu.sphinx.instrumentation.ConfigMonitor">
<property name="showConfig" value="true"/>
</component>



-
-Here's a snippet of the output:
-
-
 ============ config =============
batch:
logLevel = [DEFAULT]
skip = 0
totalBatches = [DEFAULT]
recognizer = connectedDigitsRecognizer
usePooledBatchManager = [DEFAULT]
count = 0
inputSource = streamDataSource
whichBatch = [DEFAULT]

connectedDigitsRecognizer:
logLevel = [DEFAULT]
monitors = accuracyTracker, speedTracker, memoryTracker, recognizerMonitor
decoder = digitsDecoder

digitsDecoder:
searchManager = searchManager
logLevel = [DEFAULT]
featureBlockSize = [DEFAULT]

searchManager:
scorer = threadedScorer
activeListFactory = activeList
logLevel = [DEFAULT]
pruner = trivialPruner
logMath = logMath
growSkipInterval = [DEFAULT]
showTokenCount = [DEFAULT]
wantEntryPruning = [DEFAULT]
linguist = flatLinguist
relativeWordBeamWidth = [DEFAULT]

logMath:
logLevel = [DEFAULT]
useAddTable = true
logBase = 1.0001


-
-Plotting Component connections
-The configuration monitor can also dump out a graphical plot of the -components and their connections.  The  plot is in GDL format  which can be -plotted with the aiSee - graph - visualization program.  Here's a sample of the output:
-
-gdl plot
-
-To generate a component dump, set the showConfigAsGDL -property of the configuration monitor to true. This will dump the GDL -plot to a file called "config.gdl".
-
-Other Configuration Dump
-There are some other configuration dumps in the works, including a -configuration dumper that outputs the current configuration in HTML -format with hyperlinks to the appropriate JavaDoc component -documentation.
- -

Linguist  GDLDumper

-The lingust GDL dumper dumps a GDL plot of the search graph.  The -search graph is the primary data structure used by the recognizer -during the decode process. Note that the graph can become very large -even for very small vocabularies.  Here's a configuration for the -LinguistDumper:
-
-
    <component name="recognizerMonitor" 
type="edu.cmu.sphinx.instrumentation.RecognizerMonitor">
<property name="recognizer" value="isolatedDigitsRecognizer"/>
<propertylist name="allocatedMonitors">
<item>linguistDumper </item>
</propertylist>
</component>


<component name="linguistDumper"
type="edu.cmu.sphinx.linguist.util.GDLDumper">
<property name="linguist" value="flatLinguist"/>
<property name="logMath" value="logMath"/>
</component>

-
-Here's reduced size image of a plot generated by the GDL Dumper for the -TI46 word list test:
-
-GDL Dumper output
-
-
- -

Linguist Stats Dumper

-This useful dumper shows statistics about the search space.   -Here's the config:
-
    <component name="recognizerMonitor" 
type="edu.cmu.sphinx.instrumentation.RecognizerMonitor">
<property name="recognizer" value="${recognizer}"/>
<propertylist name="allocatedMonitors">
<item>linguistStats </item>
</propertylist>
</component

<component name="linguistStats"
type="edu.cmu.sphinx.linguist.util.LinguistStats">
<property name="linguist" value="${linguist}"/>
</component>

-The Lingust Stats dumper shows the total number of states in the search -space as well as the total number of states of each type.   -Here's some sample output:
-
# ----------- linguist stats ------------ 
# Total states: 256
# class edu.cmu.sphinx.linguist.flat.PronunciationState: 13
# class edu.cmu.sphinx.linguist.flat.NonEmittingHMMState: 46
# class edu.cmu.sphinx.linguist.flat.ExtendedUnitState: 46
# class edu.cmu.sphinx.linguist.flat.BranchState: 12
# class edu.cmu.sphinx.linguist.flat.HMMStateState: 138
# class edu.cmu.sphinx.linguist.flat.GrammarState: 1

-Note that for larger tasks, the linguist stats dumper may take a very -long time to run since it needs to visit every possible state in the -search graph. Even for a relatively small task like the rm1 bigram -task, the dumper can take several minutes to work its way through the -search graph.
-
-Copyright 1999-2004 Carnegie Mellon - University.
- Portions Copyright 2002-2004 Sun Microsystems, Inc.
- Portions Copyright 2002-2004 Mitsubishi Electric Research - Laboratories.
- All Rights Reserved. Usage is subject to license - terms.
-
-
- - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/gdl_config.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/gdl_config.jpg deleted file mode 100755 index 0b3eeb0d..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/gdl_config.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/lingustDump.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/lingustDump.jpg deleted file mode 100755 index 2041d303..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/lingustDump.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/silent.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/silent.config.xml deleted file mode 100755 index b41da658..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/doc-files/silent.config.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - preemphasizer - windower - fft - melFilterBank - dct - batchCMN - featureExtraction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - linguistStats - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/package.html deleted file mode 100755 index 46e56b3f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/instrumentation/package.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - -Provides a set of classes that monitor and track operational aspects of the Sphinx system. -

- - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/commandGrammar.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/commandGrammar.jpg deleted file mode 100755 index 2aed35f8..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/commandGrammar.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/helloWorld.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/helloWorld.jpg deleted file mode 100755 index 32a1ddfc..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/jsgf/doc-files/helloWorld.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/package.html deleted file mode 100755 index f546601e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/package.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -Provides classes that represent the acoustic model. The acoustic model -is represented as a set of hidden markov models (HMMs) associated with -a unit of speech. - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/package.html deleted file mode 100755 index aedc001c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/package.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -Provides classes that represent acoustic model in terms of a set of -tied states. HMM states are represented by senones which in turn are -represented by gaussian mixtures. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/package.html deleted file mode 100755 index 372772c7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/tiedstate/trainer/package.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - -Provides classes that represent a trainable acoustic model. - - - \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/trivial/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/trivial/package.html deleted file mode 100755 index d45adce2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/acoustic/trivial/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides classes that represent a trivial acoustic model. This acoustic model is -used to demonstrate how to write one's own acoustic model. - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/dictionary/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/dictionary/package.html deleted file mode 100755 index 09af857e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/dictionary/package.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -Provides a generic interface to a dictionary as well as several -implementations. The dictionary provides a mechanism for determining -the pronunciation of a word. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/flat/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/flat/package.html deleted file mode 100755 index 801c7c6b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/flat/package.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - -Provides an implementation of the Linguist that -statically represents the search space as a flat graph, where each -word in the vocabulary has its own branch. This linguist is suitable -for small and medium size vocabularies. - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/g2p/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/g2p/package.html deleted file mode 100755 index 49b1eb99..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/g2p/package.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -Provides classes that implement the g2p decoding functionality. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/doc-files/fst-end-node.jpg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/doc-files/fst-end-node.jpg deleted file mode 100755 index f96b1033..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/doc-files/fst-end-node.jpg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/package.html deleted file mode 100755 index a607d65a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/grammar/package.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -Provides classes and interfaces that can be used to represent a graph of words and word transitions. - - - - \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/large/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/large/package.html deleted file mode 100755 index 343ca914..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/large/package.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - -Provides an implementation of the LanguageModel interface.
-This implementation loads large binary forms of language model -generated by the lm_convert CMU Sphinx tool. - -To handle n-gram language models with n>3, use the lm_convert tool -available in the cmusphinx/branches/LIUM/lm_tools_32bits_file64bits -directory of the CMU Sphinx svn repository on SourceForge. - -The DMP binary tools are built by lm_convert from ARPA language models -produced by, for example, the CMU-Cambridge Statistical Language Modeling -Toolkit or the SRILM toolkit. Be careful to sort all the n-grams in the same -way, for each n, and to have always a value for back-off weights (even 0). - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/package.html deleted file mode 100755 index 5cc7dcdd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/ngram/package.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - -Provides classes and interfaces that represent a stochastic language model - - - \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/package.html deleted file mode 100755 index 964cb2f0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/language/package.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -Provides a generic interface to an N-Gram language model. Also -provides implementations of this interface and a factory for -generating instances of these implementations. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/lextree/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/lextree/package.html deleted file mode 100755 index 49477f90..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/lextree/package.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - -Provides an implementation of the Linguist that -represents the search space as a lex tree. This linguist dynamically -generates the search states based upon the lex tree. The lex tree is -generated from the vocabulary supplied by the -LanguageModel. The lex tree nodes contained 'compressed' -hmm nodes. The final unit of a word is not expanded until search -time. This avoids the large fanout that typically occurs at word -endings, reducing memory consumption and startup time significantly. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/package.html deleted file mode 100755 index 5c86281f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/package.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - -Provides a set of interfaces and classes that are used to define the -search graph used by the decoder. Implementations of the -Linguist interface are used by the decoder to create the -search graph. The search graph is a directed graph formed by -SearchState and SearchStateArc objects. -Some implementations of the Linguist may build the search -graph based upon a Grammar, which represents a graph of -words and probabilities. This package provides a number of different -implementations of Grammar - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/util/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/util/package.html deleted file mode 100755 index 4960eef6..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/linguist/util/package.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - -Provides a set of classes that are useful by implementations of the -Linguist interface. These utility classes are typically -used to test and debug a linguist. - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/recognizer/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/recognizer/package.html deleted file mode 100755 index 0e1a40ba..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/recognizer/package.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -Provides a set of high level classes and interfaces that are used -to perform speech recognition with the Sphinx-4 speech recognition system. - - -

Related Documentation

- -For overviews, tutorials, examples, guides, and tool documentation, -please see: -
    -
  • -
- - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/result/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/result/package.html deleted file mode 100755 index c970403e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/result/package.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -Provides a set of classes that represent the result of a recognition. -Results can maintained in a lattice, which is a directed graph of all -the possible words recognized. - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/HowToRunAudioTool.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/HowToRunAudioTool.html deleted file mode 100755 index 3928e498..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/HowToRunAudioTool.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - -Sphinx-4 AudioTool - - - - -
- - - - -
-

Sphinx-4 AudioTool

-
-
-
- -

- AudioTool is a visual tool that records and displays the waveform - and spectrogram of an audio signal. The image below is a screen shot - of the AudioTool. -

-

- -

- To run this AudioTool, first make sure that all sources are built - by typing at the top level directory: -

- -
-ant
-
- -

- Then, to run the tool, at the top level directory, type: -

- -
-java -jar bin/AudioTool.jar
-
- -

- You can record audio by pressing the "Record" button. When you do so, - the label of the "Record" button will change to "Stop." At this - time, you can speak into the microphone. To stop recording, press the - "Stop" button. When you do so, the label of the "Stop" button will - change to "Record" and the tool will play back and display the audio - you just recorded. - -

- NOTE: On some systems, trouble occurs when you try to record and play - at the same time. To avoid this, please make sure you press the "Stop" - button before playing audio you just recorded, and please make sure - the audio has finished playing before you press the "Record" button. - -

- You can play the displayed waveform by selecting a region to play, and then - pressing the "Play" button. You can enlarge or shrink the waveform and - spectrogram by clicking the "Zoom In" and "Zoom Out" buttons. - You can also record your own waveform by selecting "Record Start/Stop" - under the "Audio" menu. -

- -

- If you are running Linux and have problems with the audio, - please read the - - Linux JavaSound section. - -

- You can also run AudioTool with a single command line option of - "-dumpMixers" to dump information about the audio system settings - that are specific to your machine. In the following example, we - see there are 3 Mixers (indexed by 0, 1, and 2) available on this - machine. -

- -
-java -jar bin/AudioTool.jar -dumpMixers
-Mixer[0]: "Java Sound Audio Engine"
-    Description: Software mixer and synthesizer
-    SourceLineInfo (e.g., speakers):
-        PCM_SIGNED, -1.0 Hz, 8 bit, mono, audio data
-        PCM_UNSIGNED, -1.0 Hz, 8 bit, mono, audio data
-        PCM_SIGNED, -1.0 Hz, 8 bit, stereo, audio data
-        PCM_UNSIGNED, -1.0 Hz, 8 bit, stereo, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, mono, little-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, mono, big-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, stereo, little-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, stereo, big-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 8 bit, mono, audio data
-        PCM_UNSIGNED, -1.0 Hz, 8 bit, mono, audio data
-        PCM_SIGNED, -1.0 Hz, 8 bit, stereo, audio data
-        PCM_UNSIGNED, -1.0 Hz, 8 bit, stereo, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, mono, little-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, mono, big-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, stereo, little-endian, audio data
-        PCM_SIGNED, -1.0 Hz, 16 bit, stereo, big-endian, audio data
-    TargetLineInfo (e.g., microphones):
-        none
-Mixer[1]: "Mac OS X,CoreAudio,Audio hardware"
-    Description: No details available
-    SourceLineInfo (e.g., speakers):
-        none
-    TargetLineInfo (e.g., microphones):
-        PCM_SIGNED, 44100.0 Hz, 8 bit, mono, audio data
-        PCM_UNSIGNED, 44100.0 Hz, 8 bit, mono, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, mono, big-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, mono, little-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 8 bit, stereo, audio data
-        PCM_UNSIGNED, 44100.0 Hz, 8 bit, stereo, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, stereo, big-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, stereo, little-endian, audio data
-Mixer[2]: ""
-    Description: No details available
-    SourceLineInfo (e.g., speakers):
-        none
-    TargetLineInfo (e.g., microphones):
-        PCM_SIGNED, 44100.0 Hz, 8 bit, mono, audio data
-        PCM_UNSIGNED, 44100.0 Hz, 8 bit, mono, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, mono, big-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, mono, little-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 8 bit, stereo, audio data
-        PCM_UNSIGNED, 44100.0 Hz, 8 bit, stereo, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, stereo, big-endian, audio data
-        PCM_SIGNED, 44100.0 Hz, 16 bit, stereo, little-endian, audio data
-
- -

- -
-Copyright 1999-2004 Carnegie Mellon University. -
-Portions Copyright 2002-2004 Sun Microsystems, Inc. -
-Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. -
-All Rights Reserved. Usage is subject to license terms. - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/audiotool.gif b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/audiotool.gif deleted file mode 100755 index 9b52c6f4..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/doc-files/audiotool.gif and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/package.html deleted file mode 100755 index 068de32a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/audio/package.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -Provides an tool that records and displays the waveform and -spectrogram of an audio signal. For instructions on how to run the tool, -please refer to the document -How to Run AudioTool - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/batch/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/batch/package.html deleted file mode 100755 index 49362e95..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/batch/package.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -Provides an tool that performs batch-mode speech recognition. - - - - - - \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/feature/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/feature/package.html deleted file mode 100755 index ad5efaf4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/feature/package.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - -

Description

-

-Provides an tool that generates different types of features -(MFCC, PLP, spectrum) from audio files. -

- -

-This program takes in an audio file, does frontend signal processing to it, and then dumps -the resulting Feature into a separate file. Also it can process a list of files at once. -

- -

-Available options: -

- -
    -
  • -config configFile - the XML configuration file
  • -
  • -name frontendName - the name of the feature extractor inside the configuration file
  • -
  • -i audioFile - the name of the audio file
  • -
  • -ctl controlFile - the name of the input file for batch processing
  • -
  • -o outputFile - the name of the output file or output folder
  • -
  • -format binary/ascii - output file format
  • -
- -

Binary File Format

- -

- - The first 4 bytes of the binary file is an integer indicating the - total number of data points in the file. This is used by the program - that reads this file to check the endianness of the file by comparing - with the file size. The rest of the file is simply the data points. - Each data point is a 4-byte floating point number, in big-endian order. -

- - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/live/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/live/package.html deleted file mode 100755 index 947b320c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/tools/live/package.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -Provides an tool that performs pseudo-live-mode speech recognition. - - - - - - \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/trainer/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/trainer/package.html deleted file mode 100755 index a60d3068..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/trainer/package.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -Provides a set of high level classes that can -be used to configure and initiate the speech recognition training -process. -

- - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/machlearn/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/machlearn/package.html deleted file mode 100755 index 9a8113bf..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/machlearn/package.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - -Provides a set of classes and interfaces which aim to unify the different probabilistic modeling approaches spread over the -S4-library into a common probabilistic framework. - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/package.html deleted file mode 100755 index 979e1a37..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/package.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - -Provides a set of general purpose utility classes for Sphinx. This is -a grab bag of classes that generally useful but not specific to any -one sphinx subsystem. -

- - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/doc-files/ConfigurationManagement.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/doc-files/ConfigurationManagement.html deleted file mode 100755 index 2439afc4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/doc-files/ConfigurationManagement.html +++ /dev/null @@ -1,577 +0,0 @@ - - - - - - - - Sphinx-4 Configuration Management - - - - -

- - - - - - -
-

Configuration Management for Sphinx-4

-
-
-
- -

Managing the Sphinx Configuration

- - The Sphinx-4 configuration manager system has two primary - purposes:
- -
    -
  • Determining which - components are to be used in the system. The Sphinx-4 - system is designed to be extremely flexible. At runtime, just - about any component can be replaced with another. For example, - in Sphinx-4 the FrontEnd component provides acoustic - features that are used scored against the acoustic model. - Typically, Sphinx-4 is configured with a FrontEnd that produces - Mel frequency cepstral coefficients (MFCCs), however it - is possible to reconfigure Sphinx-4 to use a different FrontEnd - that, for instance, produces Perceptual Linear Prediction - coefficients (PLP). The Sphinx-4 configuration manager is - used to configure the system in this fashion.
  • - -
  • Determining the - detailed configuration of each of these components. The - Sphinx-4 system is like most speech recognition systems in that - it has a large number of parameters that control how the system - functions. For instance, a beam width is sometimes used - to control the number of active search paths maintained during - the speech decoding. A larger value for this beam width can - sometimes yield higher recognition accuracy at the expense of - longer decode times. The Sphinx-4 configuration manager is used - to configure such parameters.
  • -
- -

The Configuration File

- - The configuration of a particular Sphinx-4 system is determined by a configuration file. This - configuration file defines the following:
- -
    -
  • The names and - types  of all of - the components of the system
  • - -
  • The connectivity of these components - that is, which - components talk to each other
  • - -
  • The detailed configuration for each of these - components.
  • -
Let's take a look at a simple configuration file:
-
-
-<config>
<component name="mySampleComponent" type="edu.cmu.sphinx.sample.MyComponent"/>
</config>
-
 
- Some things to note about this configuration file:
- -
    -
  • The format of the file is XML
  • - -
  • This configuration file defines a single component called - mySampleComponent. 
  • - -
  • The type of this component is  edu.cmu.sphinx.sample.MyComponent  - which must implement the - Configurable interface.
  • -
- -

Defining components

Now lets look - at a somewhat more complex configuration file:
-
-<config>
<component name="mySampleComponent" type="edu.cmu.sphinx.sample.MyComponent"/>
<component name="anotherComponent" type="edu.cmu.sphinx.sample.MyComponent"/>
<component name="aDifferentComponent" type="edu.cmu.sphinx.sample.YourComponent"/>
</config> -
This configuration file defines three components, two of the -type MyComponent , and one -with the type YourComponent. The two components with -the same types will result in two different instances of that -component being created.
-
- The data types  MyComponent and YourComponent are, of course, - fictional types.   Now lets look at a section from a - real configuration file.
-
-<config>
-
<component name="dct" type="edu.cmu.sphinx.frontend.transform.DiscreteCosineTransform"/> - <component name="batchCMN" type="edu.cmu.sphinx.frontend.feature.BatchCMN"/> - <component name="liveCMN" type="edu.cmu.sphinx.frontend.feature.LiveCMN"/> - <component name="featureExtraction" type="edu.cmu.sphinx.frontend.feature.DeltasFeatureExtractor"/> -
</config>

-
Here we see some of the components used in the front end of -Sphinx4
- -

Defining configuration data

So far, - we've shown how to define new components in the configuration - file. Now lets take a look at how we define the detailed - configuration data for a component. 
-
-
-<config>

<component name="concatDataSource" type="edu.cmu.sphinx.frontend.util.ConcatFileDataSource">
<property name="sampleRate" value="16000"/>
<property name="transcriptFile" value="reference.txt"/>
<property name="silenceFile" value="/lab/speech/sphinx4/data/tidigits/test/raw16k/silence1sec.raw"/>
<property name="bytesPerRead" value="320"/>
<property name="batchFile" value="tidigits.batch"/>
<property name="addRandomSilence" value="true"/>
</component>

</config> >
-
In Sphinx-4,  we call the configuration data for a -component  its properties.  Here, we are -defining six properties for the - concatDataSource component.  Properties are simple - name/value pairs and are set with the <property> statement - as shown above. 
-
- The properties that can be defined for a component vary based - upon the component type.  The API documentation for a - component includes a description of the set of properties, the - data type for each property, and the default value for each - property.  For example a description of the properties used - above can be found on the - ConcatFileDataSource page.
-
- If a property is omitted from the configuration file, the - component will usually provide a default value for the - property.
-
- -

Configuration data types

Sphinx-4 simple - properties can be of the following types:
- -
    -
  • boolean - the value can be either "true" or "false"
  • - -
  • float - a single-precision floating point value
  • - -
  • double - a double-precision floating point value
  • - -
  • int - a 32 bit signed integer
  • - -
  • String - a sequence of characters
  • - -
  • Component - the name of a Sphinx-4 component (more on this - later)
  • -
Here are some examples:
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-value="'Twas brillig and slithey toves"    
-
-
string
-
-value="3.14"
-
-
float
-
-value="1E-140"
-
-
double
-
-value="16000"
-
-
integer
-
-value="false"
-
-
boolean
-
-value="beamPruner"
-
-
component

- In addition to these simple property types, there are two - list types:
- -
    -
  • String list - a list of strings
  • - -
  • Component list  - a list of components
  • -
Lists are defined in a propertylist element. Each item in a - list is defined with an item  element.  Here's an - example of how to define a property list of strings:
-
-
-<component name="fileManager" type="edu.cmu.sphinx.sample.FileManager">
<propertylist name="fileNames">
<item>file1.txt</item>
<item>file2.txt</item>
<item>file3.txt</item>
</propertylist>
</component>
-
Property lists of components are defined similarly:
-
-    <component name="mfcLiveFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
<propertylist name="pipeline">
<item>concatDataSource </item>
<item>speechClassifier </item>
<item>speechMarker </item>
<item>nonSpeechDataFilter </item>
<item>preemphasizer </item>
<item>windower </item>
<item>fft </item>
<item>melFilterBank </item>
<item>dct </item>
<item>liveCMN </item>
<item>featureExtraction </item>
</propertylist>
</component>

-
- -

Error Checking

When a configuration file - is loaded, the configuration manager will check for certain - errors and abort the process if an error is detected.  Some - of the errors that are detected are:
- -
    -
  • Invalid XML - the - file is not a valid XML file
  • - -
  • Unknown XML - elements  - there are unknown elements in the - file.
  • - -
  • Missing, extra or Unknown - XML attributes - an element has been given the wrong - number of attribute
  • - -
  • Multiply defined properties - -   a - property  for a component has been defined more than - once.
  • - -
  • Bad data type for a property - - a given value cannot be - converted to the declared type for a property
  • - -
  • Multiply defined components - - a component can be defined - only once
  • - -
  • Out-of-range-data for a - component - the given value for a component property is - out of the range.
  • -
- -

The Elements

The following table details - the elements and attributes of the configuration file
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Element
- Attributes
- Sub-elements
- Description
<config>
none
<component>
- <property>
- <propertylist>
The top level element. It - has no attributes. It can have any number of the - component, - property and - propertylist sub-elements.
- <component>
name - the component name
- type - the - component type
<property>
- <propertylist>
Defines an instance of a - component. This element must always have the name and type attributes.
- <property>
name -  the property - name
- value - the type of - the property
None
Used to define a single - property of a component or a global system property. This - element must always have the name and value attributes.
- <propertylist>
name  - the name of the - property list
<item>
Used to define a list of - strings or components. This element must always have the - name element. I - can have any number of item sub-elements.
<item>
none
none
contents of this element - define  a string or a component name.

- -

Global Properties

You may have noticed - that properties can be defined out side of any component, at the - configuration level.  These are called global properties. Here's an example - of some global properties being defined.
-
-
-<config>
<property name="absoluteBeam" value="1000"/>
<property name="relativeBeam" value="1E-10"/>
</config>
-

- These global variables can then be used in the property - statements inside components.  A variable is referenced - using the syntax ${variableName}.  To reference the - variables defined in the previous example you would use - ${absoluteBeam} and ${relativeBeam}
-
- Here's an example of using global properties in a config - file:
-
-
-<config>
<property name="sampleRate" value="16000"/>

<component name="concatDataSource" type="edu.cmu.sphinx.frontend.util.ConcatFileDataSource">
<property name="sampleRate" value="${sampleRate}/>
</component>

<component name="microphone" type="edu.cmu.sphinx.frontend.util.Microphone">
<property name="sampleRate" value="${sampleRate}/>
</component>

<component name="streamDataSource" type="edu.cmu.sphinx.frontend.util.StreamDataSource">
<property name="sampleRate" value="${sampleRate}/>
</component>

</config> > -
In this example we have three components, all of which need -to be configured with a sampleRate.  We could explicitly -use the value "16000" for -each of the sampleRate -properties, but if we decided to change the sample rate at a later -time, we would have to change it in three places.  Using a -global property allows us to have a single point where the sample -rate is defined. To change the sample rate, we only have to change -the single number. 
-
- Global properties are also useful to highlight important tunable - parameters. Often times in large configuration files, important - parameters that frequently need to be tuned for best results are - hidden deep down in the configuration file.  Using global - properties, these important, frequently tuned properties can be - highlighted.  Here's an example from the tidigits.config.xml file:
-
-
-<config>        


<!-- ******************************************************** -->
<!-- frequently tuned properties -->
<!-- ******************************************************** -->

<property name="absoluteBeamWidth" value="-1"/>
<property name="relativeBeamWidth" value="1E-200"/>
<property name="wordInsertionProbability" value="1E-36"/>
<property name="languageWeight" value="8"/>
<property name="silenceInsertionProbability" value="1"/>
<property name="skip" value="0"/>

<!-- ******************************************************** -->
<!-- Components -->
<!-- ******************************************************** -->
<component name="batch" type-"..." >
...
</component>



<!-- more omitted .... -->
-

- Global variables can be substituted for all property value  attributes. - They can also be used in propertylist item statements.  - For example,
- here's a configuration of the FrontEnd pipeline that uses a - global property to set which cepstral mean normalizer to - use:
-
-
-<config>
<property name="cmn" value="liveCMN"/>

<component name="mfcFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
<propertylist name="pipeline">
<item>streamDataSource</item>
<item>preemphasizer</item>
<item>windower</item>
<item>fft</item>
<item>melFilterBank</item>
<item>dct</item>
<item>${cmn}/item>
<item>featureExtraction</item>
</propertylist>
</component>
</config>

-
Note that you can not -substitute global variables for component names or types.  -Thus, this is illegal:
-
-
-<config>
<property name="cmn" value="liveCMN"/>
<!-- illegal! -->
<component name="${cmn}" type="edu.cmu.sphinx.frontend.CepstralMeanNormalizer">
</component>
</config> -
- -

Setting properties from the Java command - line

Sometimes it is desirable to set component properties - from the java command line.  This is often done from an - ant build.xml file. This - allows a single configuration file be used to support multiple - tests.  The syntax for setting a component property from the - command line is:         - componentName[propertyName]=value.
-
- For example to set the sampleRate property for the microphone - from the command line, you would invoke Java like this:
-
-
-java -Dmicrophone[sampleRate]=44100 edu.cmu.sphinx.tools.LiveModeRecognizer tidigits.config.xml tidigits.batch
-
The syntax for global properties is:      -globalProperty=value
-
- Here's an example of setting multiple properties, some global and - some component properties, from the command line:
-
-
-java -Dmicrophone[sampleRate]=441000 -DabsoluteBeamWidth=2000 -DwordInsertionProbability=.01 \
edu.cmu.sphinx.tools.LiveModeRecognizer tidigits.config.xml tidigits.batch -
Of course, ant  -has its own syntax for setting such things. Here's an example of -setting properties from an ant build file:
-
-    <target name="tidigits_wordlist_live" description="Live mode TIDIGITS test.">
<java classpath="${classes_dir}" classname="${live_main}"
<sysproperty key="live[skip]" value="1"/>
<sysproperty key="speedTracker[showResponseTime]" value="true"/>
<sysproperty key="frontend" value="mfcLiveFrontEnd"/>
<arg value="${config}"/>
</java>
</target>

-
Note that currently, it is not possible to set the value of -propertylist properties -from the command line.
-
- -

Debugging your configuration

Here - are some tips for developing a configuration and getting it to - work
- -
    -
  • When a configuration has an error the configuration manager - will throw a PropertyException that details the cause of the - error. These exceptions are reported by all of the main - Sphinx-4 programs and utilities.  Use these messages to - debug problems with your configuration file.
  • - -
  • There is a special global property called showCreations.  If this - property is set to "true" the configuration manager will trace - the names of all components that are being created, as they are - being created. This can sometimes help track down missing or - extra components.:
    -
    - java -cp ../../../bld/classes -DshowCreations=true edu.cmu.sphinx.tools.batch.BatchModeRecognizer \
    tidigits.config.xml tidigits.batch
    Creating: batch
    Creating: connectedDigitsRecognizer
    Creating: digitsDecoder
    Creating: searchManager
    Creating: logMath
    Creating: flatLinguist
    Creating: wordListGrammar
    Creating: dictionary
    Creating: acousticModel
    Creating: sphinx3Loader
    Creating: trivialPruner
    Creating: threadedScorer
    Creating: mfcFrontEnd
    Creating: streamDataSource
    Creating: preemphasizer
    Creating: windower
    Creating: fft
    Creating: melFilterBank
    Creating: dct
    Creating: batchCMN
    Creating: featureExtraction
    Creating: activeList
    Creating: accuracyTracker
    Creating: speedTracker
    Creating: memoryTracker
    Creating: recognizerMonitor
    Creating: linguistStats


    -
    -
  • - -
  • There is a component called a ConfigMonitor that can be used to - help debug the configuration by showing the actual - configuration being used by the system.  Typically, the - configuration monitor is set up to show the configuration of - the system after the system has been completely initialized, - but before it starts performing recognition.  Here's some - example output:
    -
    -
    - ============ config ============= 
    fft:
    numberFftPoints = [DEFAULT]

    trivialPruner:

    searchManager:
    scorer = threadedScorer
    activeListFactory = activeList
    pruner = trivialPruner
    logMath = logMath
    growSkipInterval = [DEFAULT]
    showTokenCount = [DEFAULT]
    wantEntryPruning = [DEFAULT]
    linguist = flatLinguist
    relativeWordBeamWidth = [DEFAULT]

    wordRecognizer:
    decoder = decoder

    melFilterBank:
    numberFilters = [DEFAULT]
    maximumFrequency = [DEFAULT]
    minimumFrequency = [DEFAULT]

    threadedScorer:
    numThreads = 0
    scoreablesKeepFeature = true
    frontend = mfcFrontEnd
    isCpuRelative = true
    minScoreablesPerThread = 10

    preemphasizer:
    factor = [DEFAULT]

    memoryTracker:
    showDetails = [DEFAULT]
    showSummary = [DEFAULT]
    recognizer = wordRecognizer

    -
    -
  • -
- -
- Note that properties that are not explicitly defined in the - configuration file or as a system property from the command - line are shown as [DEFAULT]. This indicates that the internal - default for this value is being used.
-
-
- -

Full Example

You can find full examples of Sphinx-4 - configuration file in sources. For example, check the file -
sphinx4/src/apps/edu/cmu/sphinx/demo/transcriber/config.xml
-
-
- Copyright 1999-2004 Carnegie Mellon University.
- Portions Copyright 2002-2004 Sun Microsystems, Inc.
- Portions Copyright 2002-2004 Mitsubishi Electric Research - Laboratories.
- All Rights Reserved. Usage is subject to license terms - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/package.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/package.html deleted file mode 100755 index ef9bbf70..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/edu/cmu/sphinx/util/props/package.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -Provides a mechanism for managing persistent configuration data. - -The configuration manager and the associated set of interfaces and classes -provides the following services: - -
    -
  • Loads configuration data from an XML-based configuration file. -
  • Manages the component life-cycle for Configurable objects -
  • Allows discovery of components via name or type. -
-

- For an overview of how to use this configuration management system to create - and configure components please see: Sphinx-4 Configuration - Management - -

- For a description of how to create your own configurable components see: - {@link edu.cmu.sphinx.util.props.Configurable} - -

- - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/index.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/index.html deleted file mode 100755 index 9a6f335c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/index.html +++ /dev/null @@ -1,135 +0,0 @@ - - - -Sphinx-4 - A speech recognizer written entirely in the - Java(TM) programming language - - - - - - - -

General Information about Sphinx-4

- -
    -
  • Introduction - -

    - Sphinx-4 is a state-of-the-art speech recognition system written - entirely in the JavaTM programming language. It was - created via a joint collaboration between the Sphinx group at - Carnegie Mellon University, Sun Microsystems Laboratories, - Mitsubishi Electric Research Labs (MERL), and Hewlett Packard (HP), - with contributions from the University of California at Santa Cruz - (UCSC) and the Massachusetts Institute of Technology (MIT). -

    - -

    Sphinx-4 started out as a port of Sphinx-3 to the Java - programming language, but evolved into a recognizer designed to be - much more flexible than Sphinx-3, thus becoming an excellent - platform for speech research.

  • - -
  • Capabilities - -

    Live mode and batch mode speech recognizers, capable of - recognizing discrete and continuous speech.

    - -

    Speech aligner for aligning speech to text.

    - -

    Various tools to work with the speech including the tools to - display spectograms, detect silence and extract features

  • - -
  • Performance - -

    Sphinx-4 is a very flexible system capable of performing many - different types of recognition tasks. As such, it is difficult to - characterize the performance and accuracy of Sphinx-4 with just a - few simple numbers such as speed and accuracy. Instead, we regularly - run regression tests on Sphinx-4 to determine how it performs under - a variety of tasks fro simple grammar recognition to large - vocabulary speech recognition

  • -
- -

Installation

- - Required Software - -

- Sphinx-4 has been built and tested on the Solaris TM - Operating Environment, Mac OS X, Linux and Win32 operating systems. - Running, building, and testing Sphinx-4 requires additional software. - Before you start, you will need the following software available on - your machine. -

- -
    -
  • Java SE 6 Development Kit or better. Go to java.sun.com, and select "J2SE" from - popular downloads. At the time of writing, the latest release version - is JDK 6 Update 14, which is the one we recommend.
  • -
- -
    -
  • Apache maven or better, available at maven.apache.org. The site has a - manual with instructions on how to download, install, and use ant. - You will only need ant if you wish to build Sphinx-4 from the source - distribution.
  • - -
  • Subversion (svn), but only if you want to interact - directly with the svn tree (which we recommend). The canonical places - to get it is subversion.tigris.org. - If you are using Windows, your best choice is to install cygwin, which will give you a linux-like - environment in a command prompt window. Make sure to choose "svn" - when you install cygwin.
  • -
- -

- Demos -

- -

Sphinx-4 contains a number of demo programs. You can find them - in sphinx4-samples package.

- -
    - -
  • Transcriber - transcribe speech file
  • - -
  • Dialog - interact with the user commands
  • - -
  • Aligner - align speech to text
  • - -
- -

Sphinx-4 in Detail

- -

- Sphinx-4 Whitepaper Sphinx-4: A Flexible Open - Source Framework for Speech Recognition describes the framework and - implementation of Sphinx-4 from a speech-technologist's perspective. - Please read this if you'd like to extend Sphinx-4. -

- - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/overview.html b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/overview.html deleted file mode 100755 index e2a27ed9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/javadoc/overview.html +++ /dev/null @@ -1,97 +0,0 @@ - -Sphinx-4 is a speech recognition system written entirely in the -Java(TM) programming language. - -

- The diagram below shows the general architecture of Sphinx-4, followed by - a description of each block: - -

-
Figure 1: Architecture diagram of Sphinx-4. - -

- - Recognizer - Contains the main components of - Sphinx-4, which are - the front end, the linguist, and the decoder. The application interacts - with the Sphinx-4 system mainly via the Recognizer. - -

- Audio - The data to be decoded. This is audio in most systems, - but it can also be configured to accept other forms of data, - e.g., spectral or cepstral data. - - -

- Front End - Performs digital signal processing (DSP) on - the incoming data. - - -

- Feature - The output of the front end are features, - which are used for decoding in the rest of the system. - - -

- Linguist - Embodies the linguistic knowledge of the - system, which are - the acoustic model, the dictionary, and the language model. - The linguist produces a search graph structure on which the search manager - performs search using different algorithms. - -

- Acoustic Model - Contains a representation - (often statistical) of a sound, often created by training using lots of acoustic data. - -

- Dictionary - Responsible for determining how - a words is pronounced. - -

- Language Model - Contains a - representation (often statistical) of the probability of occurrence of words. - -

- Search Graph - The graph structure produced by the - linguist according - to certain criteria (e.g., the grammar), using knowledge from the dictionary, - the acoustic model, and the language model. - - -

- Decoder - Contains the search manager. - - -

- Search Manager - Performs search using certain - algorithm used, e.g., - breadth-first search, best-first search, depth-first search, etc.. Also contains the feature scorer and the pruner. - - -

- Active List - A list of tokens representing all - the states in the - search graph that are active in the current feature frame. - - -

- Scorer - Scores the current feature frame - against all the active - states in the ActiveList. - - -

- Pruner - Prunes the active list according to certain - strategies. - - -

- Result - The decoded result, which usually contains the - N-best results. - - -

- Configuration Manager - loads the Sphinx-4 - configuration data from an XML-based file, and manages the component life cycle for objects. - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/nums_cart.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/nums_cart.txt deleted file mode 100755 index ffefae9c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/nums_cart.txt +++ /dev/null @@ -1,109 +0,0 @@ -*** Cart dump created by cart_dump -*** Flite version: flite-1.1-release December 2001 -*** -*** Portions Copyright 2001,2002 Sun Microsystems, Inc. -*** Portions Copyright 1999-2001 Language Technologies Institute, -*** Carnegie Mellon University. -*** All Rights Reserved. Use is subject to license terms. -*** -*** See the file "license.terms" for information on usage and -*** redistribution of this file, and for a DISCLAIMER OF ALL -*** WARRANTIES. -TOTAL 97 -NODE num_digits < Float(3.800000) 56 -NODE p.token_pos_guess = String(month) 5 -NODE month_range = String(0) 4 -LEAF String(year) -LEAF String(ordinal) -NODE n.token_pos_guess = String(month) 9 -NODE month_range = String(0) 8 -LEAF String(cardinal) -LEAF String(ordinal) -NODE n.token_pos_guess = String(numeric) 19 -NODE num_digits < Float(2.000000) 16 -NODE p.token_pos_guess = String(numeric) 15 -NODE p.p.token_pos_guess = String(sym) 14 -LEAF String(digits) -LEAF String(cardinal) -LEAF String(cardinal) -NODE n.n.token_pos_guess = String(sym) 18 -LEAF String(cardinal) -LEAF String(digits) -NODE num_digits < Float(2.000000) 27 -NODE n.n.token_pos_guess = String(numeric) 26 -NODE n.token_pos_guess = String(sym) 25 -NODE month_range = String(0) 24 -LEAF String(digits) -LEAF String(cardinal) -LEAF String(cardinal) -LEAF String(cardinal) -NODE name < Float(302.299988) 35 -NODE p.token_pos_guess = String(flight) 30 -LEAF String(digits) -NODE n.token_pos_guess = String(sym) 34 -NODE p.token_pos_guess = String(sym) 33 -LEAF String(digits) -LEAF String(cardinal) -LEAF String(cardinal) -NODE p.token_pos_guess = String(a) 37 -LEAF String(digits) -NODE n.token_pos_guess = String(sym) 43 -NODE n.n.token_pos_guess = String(sym) 42 -NODE name < Float(669.200012) 41 -LEAF String(digits) -LEAF String(cardinal) -LEAF String(cardinal) -NODE name < Float(373.200012) 45 -LEAF String(cardinal) -NODE name < Float(436.200012) 49 -NODE name < Float(392.600006) 48 -LEAF String(digits) -LEAF String(cardinal) -NODE name < Float(716.500000) 51 -LEAF String(cardinal) -NODE name < Float(773.599976) 55 -NODE p.token_pos_guess = String(_other_) 54 -LEAF String(digits) -LEAF String(cardinal) -LEAF String(cardinal) -NODE p.token_pos_guess = String(numeric) 62 -NODE p.p.token_pos_guess = String(month) 59 -LEAF String(year) -NODE n.n.token_pos_guess = String(numeric) 61 -LEAF String(cardinal) -LEAF String(digits) -NODE n.n.token_pos_guess = String(numeric) 70 -NODE n.token_pos_guess = String(month) 65 -LEAF String(cardinal) -NODE n.token_pos_guess = String(numeric) 67 -LEAF String(digits) -NODE p.token_pos_guess = String(_other_) 69 -LEAF String(cardinal) -LEAF String(year) -NODE p.token_pos_guess = String(_other_) 80 -NODE num_digits < Float(4.400000) 77 -NODE name < Float(2959.600098) 76 -NODE name < Float(1773.400024) 75 -LEAF String(cardinal) -LEAF String(year) -LEAF String(cardinal) -NODE p.p.token_pos_guess = String(_other_) 79 -LEAF String(digits) -LEAF String(cardinal) -NODE n.token_pos_guess = String(to) 82 -LEAF String(year) -NODE p.token_pos_guess = String(sym) 88 -NODE p.p.token_pos_guess = String(sym) 85 -LEAF String(cardinal) -NODE num_digits < Float(4.600000) 87 -LEAF String(year) -LEAF String(digits) -NODE num_digits < Float(4.800000) 96 -NODE name < Float(2880.000000) 95 -NODE name < Float(1633.199951) 94 -NODE name < Float(1306.400024) 93 -LEAF String(cardinal) -LEAF String(year) -LEAF String(year) -LEAF String(cardinal) -LEAF String(cardinal) diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/prefix_fsm.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/prefix_fsm.txt deleted file mode 100755 index 5789c3ca..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/prefix_fsm.txt +++ /dev/null @@ -1,16 +0,0 @@ -*** fsm dump created by fsm_dump -*** Flite version: flite-1.1-release December 2001 -*** -*** Portions Copyright 2001,2002 Sun Microsystems, Inc. -*** Portions Copyright 1999-2001 Language Technologies Institute, -*** Carnegie Mellon University. -*** All Rights Reserved. Use is subject to license terms. -*** -*** See the file "license.terms" for information on usage and -*** redistribution of this file, and for a DISCLAIMER OF ALL -*** WARRANTIES. -*** Dumped on Jan 18 2002 - -VOCAB_SIZE 128 -NUM_OF_TRANSITIONS 203 -TRANSITIONS 291 0 3064 3057 3322 3050 4470 4971 6004 7159 7654 8295 9328 10476 10995 13160 13938 14308 15458 16227 17102 17622 0 17622 0 3062 3063 3052 17779 3048 18020 3042 17622 0 3052 3058 17622 0 3050 3063 3052 3048 3058 3022 17622 0 3050 3062 3051 3063 18291 18664 19186 17622 0 3048 3058 17622 0 3050 3052 3058 17622 0 3050 3063 3052 3048 19186 3022 17622 0 3060 19558 3052 3059 4456 19186 3022 17622 0 3052 3048 17622 0 3057 19962 3050 3062 4459 20340 3063 3046 18023 20720 3052 21352 3058 21987 3022 17622 0 3063 3052 3059 3058 17622 0 3048 17622 0 3066 3050 3062 3063 3052 3048 3058 17622 0 3050 3052 3048 3058 17622 0 3066 3063 3052 4456 3058 17622 0 3058 22627 17622 0 0 24803 0 3058 0 24803 17622 0 3063 3058 17622 0 3066 17622 0 3052 17622 0 25059 17622 0 3058 17622 0 3052 3048 3058 17622 0 3052 3058 24803 17622 0 3052 25320 3058 17622 0 3057 3062 3051 3060 3063 3046 4455 13936 3052 3048 3058 3044 20322 4451 3022 17622 0 3048 0 3066 0 3063 3052 3058 3022 17622 0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/suffix_fsm.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/suffix_fsm.txt deleted file mode 100755 index 42663eed..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/alignment/suffix_fsm.txt +++ /dev/null @@ -1,16 +0,0 @@ -*** fsm dump created by fsm_dump -*** Flite version: flite-1.1-release December 2001 -*** -*** Portions Copyright 2001,2002 Sun Microsystems, Inc. -*** Portions Copyright 1999-2001 Language Technologies Institute, -*** Carnegie Mellon University. -*** All Rights Reserved. Use is subject to license terms. -*** -*** See the file "license.terms" for information on usage and -*** redistribution of this file, and for a DISCLAIMER OF ALL -*** WARRANTIES. -*** Dumped on Jan 18 2002 - -VOCAB_SIZE 128 -NUM_OF_TRANSITIONS 454 -TRANSITIONS 291 0 3050 3313 3830 4194 4986 6374 7288 8048 8936 3063 10467 11243 12532 14828 17127 18020 19187 21490 22350 23766 0 23766 0 3811 3022 23766 0 3058 23766 0 3042 3052 3058 3022 23766 0 3066 3046 23907 24564 3052 25444 25843 3058 3022 23766 0 26214 26992 27500 3058 3022 23766 0 3064 3052 3058 3022 23766 0 25840 3052 3059 3058 3022 23766 0 3042 27888 28515 3051 29428 27879 25828 31091 31602 3022 23766 0 3052 3059 3058 3022 23766 0 3066 3063 27875 3051 3052 31859 3058 3022 23766 0 3042 32762 33254 3064 27888 33896 3063 25827 3819 26996 34284 25831 34788 35443 27506 36686 23766 0 3050 3062 3042 37498 25840 37864 3063 38243 38507 39028 3820 25831 25828 39795 3058 3022 23766 0 3048 3052 25831 3058 27470 23766 0 3066 3048 3063 40172 3044 3058 3790 23766 0 3062 4194 3066 40678 41328 42216 3063 10467 43115 44148 46316 47207 47844 3827 48754 49358 23766 0 3062 3048 3060 3059 3058 23766 0 3050 3066 50536 3063 3052 3047 3059 3058 3790 23766 0 0 51066 3058 3022 23766 0 3060 3052 3059 3058 3790 23766 0 3066 23766 0 3022 23766 0 38256 3052 3058 3022 23766 0 3058 3022 23766 0 3048 23766 0 3052 3058 3022 23766 0 3828 3052 51315 3058 3022 23766 0 52342 52582 3064 3056 52968 3063 3052 38247 3044 3058 3790 23766 0 3052 3058 23766 0 3058 0 3062 3060 3052 3058 3022 23766 0 31604 3059 3058 0 3046 3052 3022 23766 0 53219 3047 0 3048 3058 23766 0 3052 3058 3790 23766 0 3810 3824 3051 3052 25831 3044 3058 53582 23766 0 54132 52580 3059 3058 23766 0 3060 3022 0 54371 23766 0 3022 0 3043 3058 3022 0 3060 3059 3058 3022 23766 0 3063 3059 0 3043 3058 23766 0 3046 27500 3058 23766 0 3056 3052 3059 3058 3022 23766 0 27888 3811 3051 54772 3047 23766 0 3063 26979 3052 3059 3058 3022 23766 0 3042 3066 3046 3064 27888 56168 3063 25827 3060 3052 3047 56548 3827 3058 3022 23766 0 3062 3048 3063 3052 3058 23766 0 3047 3058 3022 23766 0 3063 53612 3044 3058 56910 23766 0 3048 54131 3058 23766 0 50536 3063 3052 3047 3059 27506 3022 23766 0 3060 3047 23766 0 31603 0 57338 3051 57588 3052 3058 3022 23766 0 3052 0 3052 23766 0 3047 0 31603 23766 0 3063 3058 23766 0 3059 0 3059 23766 0 3046 3064 3056 3063 3052 38247 25828 3058 3022 23766 0 3043 3047 0 3058 3022 0 3063 23766 0 38260 0 3060 3058 3022 23766 0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/api/default.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/api/default.config.xml deleted file mode 100755 index 07f2a00f..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/api/default.config.xml +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - speedTracker - memoryTracker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - standardActiveListFactory - wordActiveListFactory - wordActiveListFactory - standardActiveListFactory - standardActiveListFactory - standardActiveListFactory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - autoCepstrum - liveCMN - featureExtraction - featureTransform - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/jsgf/parser/jsgf.jj b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/jsgf/parser/jsgf.jj deleted file mode 100755 index 7b9aa855..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/jsgf/parser/jsgf.jj +++ /dev/null @@ -1,758 +0,0 @@ -/** - * Copyright 1998-2003 Sun Microsystems, Inc. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -/** - * JavaCC grammar for parsing and creating grammars from JSGF files - * using JSAPI. - * - * This grammar can be compiled with JavaCC version 5.0, which is available at - * https://javacc.dev.java.net/ - */ - -options -{ - JAVA_UNICODE_ESCAPE = true; - STATIC = false; -} - -PARSER_BEGIN(JSGFParser) - -package edu.cmu.sphinx.jsgf.parser; - -import java.io.BufferedInputStream; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.StringTokenizer; - -import edu.cmu.sphinx.jsgf.rule.*; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammar; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarFactory; -import edu.cmu.sphinx.jsgf.JSGFRuleGrammarManager; -import edu.cmu.sphinx.jsgf.JSGFGrammarParseException; - -class JSGFEncoding { - public String version; - - public String encoding; - - public String locale; - - JSGFEncoding(String version, String encoding, String locale) { - this.version = version; - this.encoding = encoding; - this.locale = locale; - } -} - -public class JSGFParser { - // For now we create one global parser, if needed JavaCC can be set - // to allow the creation of multiple parser instances - // - static final String version = "1.0"; - - static JSGFParser parser = null; - - // This main method simply checks the syntax of a jsgf Grammar - // - public static void main(String[] args) { - if (args.length == 0) { - System.out.println("JSGF Parser Version " + version + ": Reading from standard input . . ."); - parser = new JSGFParser(System.in); - } - else if (args.length > 0) { - System.out.println("JSGF Parser Version " + version + ": Reading from file " + args[0] + " . . ."); - try { - URL codeBase = null; - File f = new File("."); - String path = f.getAbsolutePath() + "/" + args[0]; - try { - codeBase = new URL("file:" + path); - } catch (MalformedURLException e) { - System.out.println("Could not get URL for current directory " + e); - return; - } - BufferedInputStream i = new BufferedInputStream(codeBase.openStream(), 256); - JSGFEncoding encoding = getJSGFEncoding(i); - Reader rdr; - if ((encoding != null) && (encoding.encoding != null)) { - System.out.println("Grammar Character Encoding \"" + encoding.encoding + "\""); - rdr = new InputStreamReader(i, encoding.encoding); - } else { - if (encoding == null) System.out.println("WARNING: Grammar missing self identifying header"); - rdr = new InputStreamReader(i); - } - parser = new JSGFParser(rdr); - } catch (Exception e) { - System.out.println("JSGF Parser Version " + version + ": File " + args[0] + " not found."); - return; - } - } else { - System.out.println("JSGF Parser Version " + version + ": Usage is one of:"); - System.out.println(" java JSGFParser < inputfile"); - System.out.println("OR"); - System.out.println(" java JSGFParser inputfile"); - return; - } - try { - parser.GrammarUnit(new JSGFRuleGrammarFactory (new JSGFRuleGrammarManager())); - System.out.println("JSGF Parser Version " + version + ": JSGF Grammar parsed successfully."); - } catch (ParseException e) { - System.out.println("JSGF Parser Version " + version + ": Encountered errors during parse." + e.getMessage()); - } - } - - /** - * newGrammarFromJSGF - Once JavaCC supports Readers we will change this - */ - public static JSGFRuleGrammar newGrammarFromJSGF(InputStream i, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException - { - JSGFRuleGrammar grammar = null; - if (parser == null) { - parser = new JSGFParser(i); - } else { - parser.ReInit(i); - } - try { - grammar = parser.GrammarUnit(factory); - return grammar; - } catch (ParseException e) { - Token etoken = e.currentToken; - JSGFGrammarParseException ge = new JSGFGrammarParseException(etoken.beginLine, etoken.beginColumn, "Grammar Error", e.getMessage()); - throw ge; - } - } - - /** - * newGrammarFromJSGF - Once JavaCC supports Readers we will change this - */ - public static JSGFRuleGrammar newGrammarFromJSGF(Reader i, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException - { - JSGFRuleGrammar grammar = null; - if (parser == null) { - parser = new JSGFParser(i); - } else { - parser.ReInit(i); - } - try { - grammar = parser.GrammarUnit(factory); - return grammar; - } catch (ParseException e) { - Token etoken = e.currentToken; - JSGFGrammarParseException ge = new JSGFGrammarParseException(etoken.beginLine, etoken.beginColumn, "Grammar Error", e.getMessage()); - throw ge; - } - } - - private static JSGFEncoding getJSGFEncoding(BufferedInputStream is) { - int i = 0; - byte[] b = new byte[2]; - byte[] c = new byte[80]; - is.mark(256); - /* read 2 bytes */ - try { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if ((b[0] == 0x23) && (b[1] == 0x4A)) { - // UTF-8 - i = 0; - c[i++] = b[0]; - c[i++] = b[1]; - while (i < 80) { - if (is.read(b, 0, 1) != 1) { - is.reset(); - return null; - } - if ((b[0] == 0x0A) || (b[0] == 0x0D)) break; - c[i++] = b[0]; - } - } else if ((b[0] == 0x23) && (b[1] == 0x00)) { - // UTF-16 BE - i = 0; - c[i++] = b[0]; - while (i < 80) { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if (b[1] != 0) return null; - if ((b[0] == 0x0A) || (b[0] == 0x0D)) break; - c[i++] = b[0]; - } - } else if ((b[0] == 0x00) && (b[1] == 0x23)) { - // UTF-16 LE - i = 0; - c[i++] = b[1]; - while (i < 80) { - if (is.read(b, 0, 2) != 2) { - is.reset(); - return null; - } - if (b[0] != 0) return null; - if ((b[1] == 0x0A) || (b[1] == 0x0D)) break; - c[i++] = b[1]; - } - } - } - catch (IOException ioe) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - if (i == 0) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - // - // Now c[] should have first line of text in UTF-8 format - // - String estr = new String(c, 0, i); - StringTokenizer st = new StringTokenizer(estr, " \t\n\r\f;"); - String id = null; - String ver = null; - String enc = null; - String loc = null; - if (st.hasMoreTokens()) id = st.nextToken(); - if (!id.equals("#JSGF")) { - try { - is.reset(); - } catch (IOException ioe2) { - } - return null; - } - if (st.hasMoreTokens()) ver = st.nextToken(); - if (st.hasMoreTokens()) enc = st.nextToken(); - if (st.hasMoreTokens()) loc = st.nextToken(); - return new JSGFEncoding(ver, enc, loc); - } - - /** - * newGrammarFromURL - */ - public static JSGFRuleGrammar newGrammarFromJSGF(URL url, JSGFRuleGrammarFactory factory) throws JSGFGrammarParseException, IOException - { - Reader reader; - BufferedInputStream stream = new BufferedInputStream(url.openStream(), 256); - JSGFEncoding encoding = getJSGFEncoding(stream); - if ((encoding != null) && (encoding.encoding != null)) { - System.out.println("Grammar Character Encoding \"" + encoding.encoding + "\""); - reader = new InputStreamReader(stream, encoding.encoding); - } else { - if (encoding == null) System.out.println("WARNING: Grammar missing self identifying header"); - reader = new InputStreamReader(stream); - } - return newGrammarFromJSGF(reader, factory); - } - - /** - * ruleForJSGF - */ - public static JSGFRule ruleForJSGF(String text) { - JSGFRule r = null; - try { - StringReader sread = new StringReader(text); - if (parser == null) parser = new JSGFParser(sread); - else parser.ReInit(sread); - r = parser.alternatives(); - // System.out.println("JSGF Parser Version " + version - // + ": JSGF RHS parsed successfully."); - } catch (ParseException e) { - System.out.println("JSGF Parser Version " + version + ": Encountered errors during parse."); - } - return r; - } - - /** - * extract @keywords from documentation comments - */ - static void extractKeywords(JSGFRuleGrammar grammar, String rname, String comment) { - int i = 0; - while ((i = comment.indexOf("@example ", i) + 9) > 9) { - int j = Math.max(comment.indexOf('\r', i), comment.indexOf('\n', i)); - if (j < 0) { - j = comment.length(); - if (comment.endsWith(("*/"))) - j -= 2; - } - grammar.addSampleSentence(rname, comment.substring(i, j).trim()); - i = j + 1; - } - } -} - -PARSER_END(JSGFParser) - -/* WHITE SPACE */ -SKIP : -{ - " " -| "\t" -| "\n" -| "\r" -| "\f" -} - -/* COMMENTS */ -MORE : -{ - "//" : IN_SINGLE_LINE_COMMENT -| < "/**" ~[ "/" ] > - { - input_stream.backup(1); - } - : IN_FORMAL_COMMENT -| "/*" : IN_MULTI_LINE_COMMENT -} - -< IN_SINGLE_LINE_COMMENT > -SPECIAL_TOKEN : -{ - < SINGLE_LINE_COMMENT : (~["\n","\r"])* ("\n"|"\r"|"\r\n")? > : DEFAULT -} - -< IN_FORMAL_COMMENT > -SPECIAL_TOKEN : -{ - < FORMAL_COMMENT : "*/" > : DEFAULT -} - -< IN_MULTI_LINE_COMMENT > -SPECIAL_TOKEN : -{ - < MULTI_LINE_COMMENT : "*/" > : DEFAULT -} - -< IN_SINGLE_LINE_COMMENT, IN_FORMAL_COMMENT, IN_MULTI_LINE_COMMENT > -MORE : -{ - < ~[ ] > -} - -TOKEN : /* RESERVED WORDS AND LITERALS */ -{ - < GRAMMAR : "grammar" > -| < IMPORT : "import" > -| < PUBLIC : "public" > -} - -TOKEN : /* LITERALS */ -{ - < INTEGER_LITERAL : < DECIMAL_LITERAL > > -| < #DECIMAL_LITERAL : [ "0"-"9" ] ([ "0"-"9" ])* > -| < FLOATING_POINT_LITERAL : - ([ "0"-"9" ])+ "." ([ "0"-"9" ])* (< EXPONENT >)? ([ "f", "F", "d", "D" ])? - | "." ([ "0"-"9" ])+ (< EXPONENT >)? ([ "f", "F", "d", "D" ])? - | ([ "0"-"9" ])+ < EXPONENT > ([ "f", "F", "d", "D" ])? - | ([ "0"-"9" ])+ (< EXPONENT >)? [ "f", "F", "d", "D" ] > -| < #EXPONENT : [ "e", "E" ] ([ "+", "-" ])? ([ "0"-"9" ])+ > -| < CHARACTER_LITERAL : - "'" - ( - (~[ "'", "\\", "\n", "\r" ]) - | - ( - "\\" - ( - [ "n", "t", "b", "r", "f", "\\", "'", "\"" ] - | [ "0"-"7" ] ([ "0"-"7" ])? - | [ "0"-"3" ] [ "0"-"7" ] [ "0"-"7" ] - ) - ) - ) - "'" > -| < STRING_LITERAL : - "\"" - ( - (~[ "\"", "\\", "\n", "\r" ]) - | - ( - "\\" - ( - [ "n", "t", "b", "r", "f", "\\", "'", "\"" ] - | [ "0"-"7" ] ([ "0"-"7" ])? - | [ "0"-"3" ] [ "0"-"7" ] [ "0"-"7" ] - ) - ) - )* - "\"" > -| < TAG : - "{" - ( - (~[ "}" ]) - | - ( - "\\" - ( - [ "}", "n", "t", "b", "r", "f", "\\", "'", "\"" ] - | [ "0"-"7" ] ([ "0"-"7" ])? - | [ "0"-"3" ] [ "0"-"7" ] [ "0"-"7" ] - ) - ) - )* - "}" > -} - -TOKEN : /* IDENTIFIERS */ -{ - < IDENTIFIER : - ( - < LETTER > - | < DIGIT > - )+ > -| < #LETTER : [ "-", "'", ":", ",", "\\", "@", "#", "%", "!", "^", "&", "~", "\u0024", "\u0041"-"\u005a", "\u005f", "\u0061"-"\u007a", "\u00c0"-"\u00d6", "\u00d8"-"\u00f6", "\u00f8"-"\u00ff", "\u0100"-"\u1fff", "\u3040"-"\u318f", "\u3300"-"\u337f", "\u3400"-"\u3d2d", "\u4e00"-"\u9fff", "\uf900"-"\ufaff" ] > -| < #DIGIT : [ "\u0030"-"\u0039", "\u0660"-"\u0669", "\u06f0"-"\u06f9", "\u0966"-"\u096f", "\u09e6"-"\u09ef", "\u0a66"-"\u0a6f", "\u0ae6"-"\u0aef", "\u0b66"-"\u0b6f", "\u0be7"-"\u0bef", "\u0c66"-"\u0c6f", "\u0ce6"-"\u0cef", "\u0d66"-"\u0d6f", "\u0e50"-"\u0e59", "\u0ed0"-"\u0ed9", "\u1040"-"\u1049" ] > -} - -JSGFRuleGrammar GrammarUnit(JSGFRuleGrammarFactory factory) : -{ - JSGFRuleGrammar grammar = null; -} -{ - [ IdentHeader() ] grammar = GrammarDeclaration(factory) - ( - ImportDeclaration(grammar) - )* - ( - RuleDeclaration(grammar) - )* - < EOF > - { - return grammar; - } -} - -JSGFRuleGrammar GrammarDeclaration(JSGFRuleGrammarFactory factory) : -{ - String s; - JSGFRuleGrammar grammar = null; - Token t = null; -} -{ - t = < GRAMMAR > s = Name() ";" - { - grammar = factory.newGrammar (s); - if (grammar != null && t != null && t.specialToken != null) { - if (t.specialToken.image != null && t.specialToken.image.startsWith("/**")) { - JSGFRuleGrammar JG = (JSGFRuleGrammar) grammar; - JG.addGrammarDocComment(t.specialToken.image); - } - } - return grammar; - } -} - -void IdentHeader() : -{} -{ - // oops this should be "#JSGF" - < IDENTIFIER > "V1.0" - [ - < IDENTIFIER > [ < IDENTIFIER > ] - ] - ";" -} - -void ImportDeclaration(JSGFRuleGrammar grammar) : -{ - boolean all = false; - String name; - Token t = null; -} -{ - t = < IMPORT > "<" name = Name() - [ - "." "*" - { - all = true; - } - ] - ">" ";" - { - // import all rules if .* - if (all) name = name + ".*"; - JSGFRuleName r = new JSGFRuleName(name); - if (grammar != null) { - grammar.addImport(r); - if (grammar instanceof JSGFRuleGrammar && t != null && t.specialToken != null) { - if (t.specialToken.image != null && t.specialToken.image.startsWith("/**")) { - JSGFRuleGrammar JG = (JSGFRuleGrammar) grammar; - JG.addImportDocComment(r, t.specialToken.image); - } - } - } - } -} - -String Name() : -/* - * A lookahead of 2 is required below since "Name" can be followed - * by a ".*" when used in the context of an "ImportDeclaration". - */ -{ - Token t1, t2; - StringBuilder sb = new StringBuilder(); -} -{ - ( - t1 = < IDENTIFIER > - | t1 = < PUBLIC > - | t1 = < IMPORT > - | t1 = < GRAMMAR > - ) - { - sb.append(t1.image); - } - ( - LOOKAHEAD(2) - "." t2 = < IDENTIFIER > - { - sb.append('.'); - sb.append(t2.image); - } - )* - { - return sb.toString(); - } -} - -void RuleDeclaration(JSGFRuleGrammar grammar) : -{ - boolean pub = false; - String s; - JSGFRule r; - Token t = null; - Token t1 = null; -} -{ - [ - t = < PUBLIC > - { - pub = true; - } - ] - t1 = "<" s = ruleDef() ">" "=" r = alternatives() ";" - { - try { - if (grammar != null) { - grammar.setRule(s, r, pub); - String docComment = null; - if ((t != null) && (t.specialToken != null) && (t.specialToken.image != null)) docComment = t.specialToken.image; - else if ((t1 != null) && (t1.specialToken != null) && (t1.specialToken.image != null)) docComment = t1.specialToken.image; - if (docComment != null && docComment.startsWith("/**")) { - extractKeywords(grammar, s, docComment); - grammar.addRuleDocComment(s, docComment); - } - } - } catch (IllegalArgumentException e) { - System.out.println("ERROR SETTING JSGFRule " + s); - } - } -} - -JSGFRuleAlternatives alternatives() : -{ - ArrayList ruleList = new ArrayList(); - JSGFRule r; - float w; - ArrayListweights = new ArrayList(); -} -{ - ( - ( r = sequence() { ruleList.add(r); } ( "|" r = sequence() { ruleList.add(r); } )* ) - | - ( - w = weight() r = sequence() - { - ruleList.add(r); - weights.add(w); - } - ( - "|" w = weight() r = sequence() - { - ruleList.add(r); - weights.add(w); - } - )+ - ) - ) - { - JSGFRuleAlternatives ra = new JSGFRuleAlternatives(ruleList); - if (weights.size() > 0) { - ra.setWeights(weights); - } - return ra; - } -} - -String ruleDef() : -{ - Token t; -} -{ - ( - t = < IDENTIFIER > - | t = < INTEGER_LITERAL > - | t = < PUBLIC > - | t = < IMPORT > - | t = < GRAMMAR > - ) - { - return t.image; - } -} - -JSGFRuleSequence sequence() : -{ - JSGFRule JSGFRule; - ArrayList ruleList = new ArrayList(); -} -{ - ( - JSGFRule = item() - { - ruleList.add(JSGFRule); - } - )+ - { - return new JSGFRuleSequence(ruleList); - } -} - -float weight() : -{ - Token t; -} -{ - "/" ( t = < FLOATING_POINT_LITERAL > | t = < INTEGER_LITERAL > ) "/" - { - return Float.valueOf(t.image).floatValue(); - } -} - -JSGFRule item() : -{ - JSGFRule r; - ArrayList tags = null; - int count =-1; -} -{ - ( - ( - ( r = terminal() | r = ruleRef() ) - [ - "*" - { - count = JSGFRuleCount.ZERO_OR_MORE; - } - | "+" - { - count = JSGFRuleCount.ONCE_OR_MORE; - } - ] - [ tags = tags() ] - ) - | - ( - "(" r = alternatives() ")" - [ "*" { count = JSGFRuleCount.ZERO_OR_MORE; } | "+" { count = JSGFRuleCount.ONCE_OR_MORE; } ] - [ tags = tags() ] - ) - | - ( - "[" r = alternatives() "]" { count = JSGFRuleCount.OPTIONAL; } - [ tags = tags() ] - ) - ) - { - if (count != - 1) r = new JSGFRuleCount(r, count); - if (tags != null) { - for (String tag : tags) { - if (tag.charAt(0) == '{') { - tag = tag.substring(1, tag.length() - 1); - tag = tag.replace('\\', ' '); - } - r = new JSGFRuleTag(r, tag); - } - } - return r; - } -} - -ArrayList tags() : -{ - Token token; - ArrayList tags = new ArrayList(); -} -{ - ( token = < TAG > { tags.add(token.image); } )+ - { - return tags; - } -} - -JSGFRule terminal() : -{ - Token t; -} -{ - ( - t = < IDENTIFIER > - | t = < STRING_LITERAL > - | t = < INTEGER_LITERAL > - | t = < FLOATING_POINT_LITERAL > - | t = < PUBLIC > - | t = < IMPORT > - | t = < GRAMMAR > - ) - { - String tn = t.image; - if (tn.startsWith("\"") && tn.endsWith("\"")) tn = tn.substring(1, tn.length() - 1); - JSGFRuleToken rt = new JSGFRuleToken(tn); - return rt; - } -} - -JSGFRuleName ruleRef() : -{ - String s; -} -{ - ( "<" s = Name() ">" ) - { - JSGFRuleName rn = new JSGFRuleName(s); - return rn; - } -} - -JSGFRuleName importRef() : -{ - String s; - boolean all = false; -} -{ - ( "<" s = Name() [ "." "*" { all = true; } ] ">" ) - { - if (all) s = s + ".*"; - JSGFRuleName rn = new JSGFRuleName(s); - return rn; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/linguist/language/ngram/alphabet.arpaformat b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/linguist/language/ngram/alphabet.arpaformat deleted file mode 100755 index 282bf6aa..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/linguist/language/ngram/alphabet.arpaformat +++ /dev/null @@ -1,6867 +0,0 @@ -############################################################################ -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 26 words, - which begins "a", "b", "c"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 0 -2-gram frequency of frequency : 21 11 7 9 8 4 4 -3-gram frequency of frequency : 824 450 320 241 185 170 142 -1-gram discounting ratios : -2-gram discounting ratios : -3-gram discounting ratios : -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=27 -ngram 2=556 -ngram 3=6226 - -\1-grams: --99.0000 0.0000 --1.0948 a -99.9990 --1.8543 b -2.4583 --1.5435 c -1.4720 --1.3761 d -1.6391 --0.8934 e -99.9990 --1.6013 f -1.4144 --1.7301 g -1.1869 --1.2488 h -1.6671 --1.1708 i -99.9990 --2.9827 j -2.3668 --2.1567 k -1.5789 --1.3804 l -1.6348 --1.5905 m -1.4251 --1.1714 n -99.9990 --1.1136 o -99.9990 --1.7580 p -1.8271 --3.0182 q -2.4893 --1.2265 r -1.7885 --1.2050 s -1.7108 --1.0458 t -1.8699 --1.5021 u -1.0954 --1.9777 v -3.3293 --1.6086 w -1.3080 --2.6639 x -2.0766 --1.6901 y -1.2268 --3.2550 z -2.0017 - -\2-grams: --2.7068 a a -1.1162 --1.5278 a b -1.3977 --1.3853 a c -1.0799 --1.3042 a d 1.0231 --3.1839 a e -0.9701 --1.8260 a f -1.7788 --1.6386 a g -1.3684 --2.2648 a h -1.1407 --1.4231 a i -2.0239 --3.2297 a j -0.6596 --1.7185 a k -1.2539 --1.1008 a l 0.8154 --1.5419 a m -0.1836 --0.7217 a n -0.0538 --2.4357 a o -1.7710 --1.5770 a p -1.0196 --3.0700 a q 0.6726 --0.9652 a r -0.1664 --0.9270 a s 0.3397 --0.8618 a t 0.0656 --2.0750 a u -1.3660 --1.4471 a v -0.5493 --1.8796 a w -0.6463 --3.0870 a x -1.0319 --1.6306 a y 0.4343 --2.7947 a z -1.1362 --1.2189 b a -1.5967 --2.2354 b b -0.9813 --3.2496 b c -0.3819 --3.2496 b d -0.4151 --0.5012 b e -1.4151 --3.2496 b f -0.3961 --3.2496 b h -0.4093 --1.4988 b i -1.3038 --2.0933 b j -1.4492 --0.8280 b l -2.4651 --3.0278 b m -0.5539 --3.0278 b n -0.6078 --0.8730 b o -1.2987 --3.4257 b p -0.2493 --1.3101 b r -2.0528 --1.5744 b s -1.3280 --1.6195 b t -0.6893 --0.9801 b u -1.8920 --3.4257 b v -0.2504 --1.0621 b y 0.0799 --0.9381 c a -1.8580 --2.9954 c b -0.6275 --1.7125 c c -1.5461 --3.1337 c d -0.6542 --0.7252 c e -0.7589 --2.8907 c f -0.8877 --2.9576 c g -0.9134 --0.8365 c h 0.2857 --1.3740 c i -1.8149 --3.7358 c j -0.2989 --1.3404 c k -0.6502 --1.0903 c l -2.5128 --2.8327 c m -0.6814 --3.1337 c n -0.7790 --0.7622 c o -1.6307 --2.5597 c p -0.9483 --2.9954 c q 1.0462 --1.2909 c r -2.3112 --2.5183 c s -0.7185 --1.0811 c t -0.0553 --1.4468 c u -1.8538 --3.5597 c v -0.3746 --2.8607 c w -0.2515 --2.3647 c y -1.1541 --1.0351 d a -0.4900 --1.4510 d b -1.5955 --1.7790 d c -1.6486 --1.6195 d d -1.9761 --0.8197 d e -0.7844 --1.6264 d f -2.1825 --2.0249 d g -1.7714 --1.4747 d h -1.7959 --0.8757 d i -0.9911 --2.8059 d j -0.5571 --2.7267 d k -1.0136 --1.7430 d l -2.0273 --1.3483 d m -2.1054 --1.5879 d n -2.3422 --1.1139 d o -1.4340 --1.8796 d p -1.5703 --2.9028 d q 1.2636 --1.4937 d r -2.2192 --1.2140 d s -0.1949 --0.9714 d t -2.2792 --1.5644 d u -1.2399 --2.0278 d v -0.3370 --1.3465 d w -1.8966 --1.8182 d y -0.5594 --1.0060 e a 0.8048 --1.8719 e b -1.4139 --1.4085 e c -1.7723 --1.0036 e d 0.5213 --1.4152 e e -0.3910 --1.5998 e f -1.8290 --1.8157 e g -1.7008 --1.6857 e h -2.0704 --1.4713 e i -0.8814 --2.8868 e j 0.3278 --2.6447 e k -0.7421 --1.3307 e l -0.1973 --1.4504 e m -0.3920 --1.0512 e n -0.6245 --1.5278 e o -1.9552 --1.5969 e p 0.0347 --2.5927 e q -0.0059 --0.8575 e r 0.5247 --1.0161 e s 0.7047 --1.2362 e t -0.5289 --2.2193 e u -1.8743 --1.6455 e v -1.2015 --1.4185 e w -0.5968 --1.8562 e x -1.4492 --1.9942 e y -0.3453 --3.6447 e z -0.5080 --0.9605 f a 0.0349 --2.1159 f b -0.7060 --1.8521 f c -1.3509 --2.0654 f d -1.6012 --0.9757 f e -1.1479 --1.3367 f f -1.1462 --2.0871 f g -1.4987 --1.7050 f h -1.3904 --1.0088 f i -1.8723 --2.4740 f j -0.8786 --3.1341 f k -0.4485 --1.4541 f l -2.0622 --1.6175 f m -1.6116 --2.1939 f n -1.6303 --0.8380 f o -2.3316 --2.0298 f p -1.0461 --3.6782 f q 1.7865 --1.2173 f r -2.3302 --1.5305 f s -0.8855 --0.7191 f t -0.3597 --1.3664 f u -1.7719 --2.3071 f v 0.1670 --1.6156 f w -1.3973 --2.3357 f y -1.2500 --0.9349 g a -0.7277 --1.9643 g b -0.8922 --1.9423 g c -1.2300 --1.9643 g d -1.5739 --0.9044 g e -0.1354 --1.9477 g f -1.5081 --1.6281 g g -0.9825 --0.8166 g h -1.0064 --1.1003 g i -1.5383 --3.1519 g j -0.2794 --3.1519 g k -0.3072 --1.3914 g l -2.0506 --1.7141 g m -1.4380 --1.6386 g n -1.8066 --1.1160 g o -0.9624 --2.2074 g p -1.1061 --3.3737 g q 1.6104 --1.0494 g r -2.3697 --1.4599 g s -0.2738 --1.1390 g t -1.8607 --1.2015 g u -1.7173 --2.6467 g v -0.2634 --1.6360 g w -1.2541 --2.1976 g y -1.1026 --3.2488 g z -0.5653 --0.7388 h a -1.2008 --2.3866 h b -0.7871 --2.4016 h c -1.1532 --2.6321 h d -1.3726 --0.3643 h e 0.7193 --2.2976 h f -1.6385 --2.7183 h g -1.2261 --2.0856 h h -1.3618 --0.8400 h i -1.5370 --3.3768 h j -0.5144 --3.5529 h k -0.5029 --2.4737 h l -1.4237 --2.1379 h m -1.4252 --2.7870 h n -1.3812 --1.0770 h o -1.5106 --2.6068 h p -1.0521 --3.3768 h q 1.1333 --1.8511 h r -2.0208 --2.0569 h s -0.9296 --1.2753 h t -0.0271 --1.7247 h u -1.9712 --3.1550 h v 0.6630 --1.9029 h w -1.5035 --2.1297 h y -0.8279 --4.0300 h z -0.0375 --1.7606 i a -1.3151 --1.8146 i b -1.7718 --1.1343 i c 0.2850 --1.3162 i d 1.1111 --1.4294 i e -2.0171 --1.6426 i f -1.1834 --1.4368 i g -1.8981 --2.0234 i h -1.5814 --2.9940 i i -0.7552 --3.6308 i j -0.5144 --1.9526 i k -1.5589 --1.3173 i l 0.2048 --1.4155 i m 0.2183 --0.5970 i n -0.8660 --1.1992 i o -2.1616 --2.2271 i p -0.1443 --2.9466 i q 0.6251 --1.4962 i r 1.4406 --0.9038 i s 0.3925 --0.9055 i t -0.4168 --2.7755 i u -1.2126 --1.7616 i v -1.4665 --1.9940 i w -1.4904 --2.4899 i x -1.3635 --3.7100 i y -0.5652 --2.4177 i z -1.0920 --0.8967 j a -1.3627 --2.3032 j d -0.2297 --0.6597 j e -1.7376 --0.3974 j o -1.9825 --2.0022 j s -0.5142 --0.6265 j u -1.3134 --1.2089 k a -1.2438 --2.0646 k b -0.7595 --2.0646 k c -0.7516 --2.2802 k d -0.8613 --0.4551 k e -0.4187 --1.9492 k f -1.2455 --2.8243 k g -0.5615 --1.5938 k h -0.9727 --0.8386 k i -1.2311 --2.0646 k j -1.3028 --2.9492 k k -0.2181 --1.8823 k l -1.2376 --1.9078 k m -1.0426 --1.0064 k n -2.2929 --1.3545 k o -1.5752 --2.1476 k p -1.0584 --2.3472 k r -0.7154 --1.1275 k s -0.4413 --1.3191 k t -1.7214 --1.7731 k u -1.3930 --1.4919 k w -1.0099 --1.6940 k y -1.0631 --0.9845 l a -0.7514 --2.1168 l b -0.7417 --1.8794 l c -1.5439 --1.2196 l d -0.4389 --0.6869 l e 0.0943 --1.6210 l f 0.4975 --2.5094 l g -1.2785 --2.2084 l h -1.1315 --0.9850 l i -0.4958 --3.3545 l j -0.4052 --2.2965 l k -0.7555 --0.8749 l l 0.2728 --1.8794 l m -0.7881 --2.2753 l n -1.7692 --1.0186 l o -1.9961 --2.2453 l p -0.9389 --3.7225 l q 1.6104 --2.2502 l r -1.5344 --1.5032 l s -0.4422 --1.4407 l t -0.8494 --1.6630 l u -0.6914 --2.2084 l v -0.1522 --1.9467 l w -1.3282 --0.9947 l y 0.6858 --0.8041 m a -1.2033 --1.6320 m b -0.3033 --2.4714 m c -0.8400 --2.6889 m d -0.9747 --0.6318 m e 0.2488 --2.2117 m f -1.3832 --2.9485 m g -0.7840 --2.1448 m h -0.9853 --1.0323 m i -1.5678 --3.6889 m j -0.1839 --2.8438 m k -0.8508 --2.3367 m l -1.2196 --1.5902 m m -0.5681 --2.1638 m n -1.5102 --0.9085 m o -2.0681 --1.2110 m p -1.6852 --3.5128 m q 1.6104 --2.4714 m r -0.8820 --1.5817 m s -0.6133 --1.6377 m t -1.7234 --1.4661 m u -1.7929 --3.0868 m v -0.2548 --2.0031 m w -1.0260 --0.8188 m y 0.1175 --1.2280 n a -0.1104 --2.0945 n b -1.1030 --1.1779 n c -2.1342 --0.7770 n d 0.5725 --1.0283 n e 0.2269 --1.8978 n f -2.1156 --0.9517 n g -0.3048 --1.8096 n h -1.7390 --1.2862 n i -0.6910 --3.0282 n j 0.3789 --2.1831 n k -0.9357 --1.8297 n l -1.9498 --2.0053 n m -1.6678 --1.9884 n n -2.2040 --1.0192 n o -0.7556 --2.3402 n p -1.3022 --2.8521 n q 0.5312 --2.2911 n r -1.7046 --1.2211 n s -0.5759 --0.8101 n t 0.0905 --1.9032 n u -1.8785 --2.2944 n v 1.0114 --1.7289 n w -1.7187 --3.0282 n x -1.3252 --1.9046 n y -0.4582 --3.8063 n z -0.1851 --1.7402 o a -1.5689 --1.7949 o b -0.2869 --1.6702 o c -1.0834 --1.6627 o d -1.1462 --2.2357 o e -1.3629 --0.8626 o f -0.1014 --2.0315 o g -1.1781 --2.0613 o h -1.1672 --1.7795 o i -1.8515 --2.8641 o j -0.7613 --1.8460 o k -0.6851 --1.4652 o l -1.4225 --1.2137 o m -0.4386 --0.8462 o n -0.6095 --1.4888 o o -0.9824 --1.7671 o p -0.9095 --3.5119 o q 1.1333 --0.9451 o r 0.8323 --1.3990 o s -1.7787 --1.1844 o t 0.0480 --0.8440 o u -0.8227 --1.7501 o v -0.8769 --1.2719 o w 0.7776 --3.2620 o x -1.1086 --2.1257 o y -1.3430 --3.4247 o z -0.7778 --0.9496 p a -1.5106 --2.5676 p b -0.8107 --2.7089 p c -0.8385 --2.8686 p d -0.7404 --0.7000 p e -0.9267 --2.6468 p f -0.9387 --3.1239 p g -0.5153 --1.4373 p h -1.0212 --1.2352 p i -1.0294 --3.5219 p j -0.1839 --0.9981 p l -2.3912 --2.4427 p m -1.0716 --3.0447 p n -0.6870 --0.8343 p o -1.7832 --1.1471 p p -2.0322 --0.8207 p r -2.6384 --1.6298 p s -0.6286 --1.2901 p t -0.9651 --1.7157 p u -1.3525 --3.1239 p v 0.2054 --1.9840 p w -0.8781 --2.3177 p y -0.9107 --3.5219 p z -0.2643 --2.2636 q e -0.2557 --0.0036 q u -2.5227 --1.0113 r a -1.0332 --2.0031 r b -0.5680 --1.7189 r c -1.5215 --1.4049 r d -0.2359 --0.6055 r e -0.1408 --1.7910 r f -1.5156 --2.0070 r g -1.6584 --1.7793 r h -1.6654 --1.0334 r i -0.4673 --2.6812 r j 0.4550 --1.9879 r k 0.4588 --1.8455 r l -1.7059 --1.5694 r m -0.8193 --1.5810 r n -1.8546 --0.9695 r o 0.0823 --2.0169 r p -1.2960 --3.3991 r q 1.1333 --1.5759 r r -2.3343 --1.2923 r s -0.4497 --1.0827 r t -0.8087 --1.6579 r u -1.2734 --2.1306 r v 0.2658 --1.7416 r w -1.5853 --1.3371 r y 0.2724 --1.0484 s a -0.7165 --1.8270 s b -1.3369 --1.4273 s c -2.1049 --2.0464 s d -2.0158 --0.9351 s e 0.1673 --1.8173 s f -2.1575 --2.2642 s g -1.3039 --1.2431 s h 0.7223 --1.0278 s i -0.4431 --2.8307 s j 0.2151 --2.2045 s k -1.1295 --1.6723 s l -2.2688 --1.6630 s m -1.5964 --1.7505 s n -2.4535 --1.0011 s o -1.5933 --1.4905 s p -1.9809 --2.6344 s q 0.3472 --2.1006 s r -1.8559 --1.1099 s s 0.6328 --0.7337 s t 0.0477 --1.3748 s u -1.1472 --2.4303 s v -0.1054 --1.4293 s w -1.9847 --2.2779 s y -1.3304 --4.0737 s z -0.2971 --1.1960 t a -0.5519 --2.0553 t b -1.3212 --1.9824 t c -1.7752 --2.1342 t d -2.0871 --0.9842 t e -1.6516 --2.0685 t f -2.0704 --2.5252 t g -1.6220 --0.4755 t h -0.2044 --1.0053 t i -1.3937 --3.5796 t j -0.3277 --3.1359 t k -0.9561 --1.7514 t l -2.3102 --1.8749 t m -1.9180 --2.3297 t n -2.0412 --0.8977 t o -0.2492 --2.2983 t p -1.4695 --3.1025 t q 0.6562 --1.4819 t r -2.5357 --1.5156 t s -0.4069 --1.2861 t t -2.4151 --1.6101 t u -0.9886 --2.7856 t v 0.0909 --1.4762 t w -2.0969 --1.7682 t y -1.6451 --3.7557 t z -0.4274 --1.6632 u a -0.9679 --1.7126 u b -1.3236 --1.4804 u c -1.7789 --1.6436 u d -1.4367 --1.5206 u e -1.5063 --2.2586 u f -1.4096 --1.3809 u g -2.1402 --2.4653 u h -1.0815 --1.5123 u i -1.7924 --3.0367 u k -0.7824 --0.9699 u l 0.0500 --1.4367 u m -0.6686 --0.8202 u n -0.5738 --2.7559 u o -0.8765 --1.2733 u p 0.5409 --3.7771 u q 1.7865 --0.7691 u r 1.0443 --0.8570 u s 0.6765 --0.9082 u t -0.2696 --3.1750 u u -0.6954 --2.6632 u v -0.6710 --2.4761 u w -1.1511 --3.3792 u x -0.5797 --3.7771 u y -0.2545 --3.0367 u z -1.0025 --0.9993 v a -1.2699 --0.1490 v e 0.1535 --0.9581 v i -1.5936 --1.1825 v o -1.9343 --3.3015 v s -0.2603 --2.6025 v u -0.9508 --1.9493 v y -1.2050 --0.6289 w a -1.5929 --2.2906 w b -1.1567 --2.4534 w c -1.1557 --2.3384 w d -1.3209 --0.6265 w e -1.2917 --2.1725 w f -1.4044 --2.9719 w g -0.7285 --0.7251 w h -2.3630 --0.8694 w i -2.2623 --3.6708 w j -0.0788 --3.1268 w k -0.4174 --2.1865 w l -1.2758 --2.2010 w m -1.0874 --1.4547 w n -1.6186 --1.0639 w o -0.0100 --2.7958 w p -0.5461 --3.3698 w q 1.4855 --2.0225 w r -1.5856 --1.9633 w s -0.4683 --1.8135 w t -1.6953 --2.8579 w u -0.6735 --3.1937 w v 0.1625 --2.1206 w w -0.9267 --2.8927 w y -0.8915 --3.4948 w z -0.2136 --0.8717 x a -1.7416 --2.6238 x b -0.1365 --0.8914 x c -1.5653 --2.1466 x d -0.7434 --1.3566 x e -1.3399 --2.2258 x f -0.5735 --1.4334 x h -1.3070 --0.9248 x i -1.3080 --2.0797 x m -0.6458 --2.6238 x n -0.2574 --1.6238 x o -1.0165 --0.6325 x p -1.6577 --2.3227 x s -0.4671 --0.6348 x t -1.6286 --2.1466 x u -0.6253 --2.1466 x w -0.5124 --2.6238 x y -0.2959 --1.0197 y a -0.8409 --1.4007 y b -1.3291 --1.4876 y c -1.7246 --1.5328 y d -2.0453 --1.2014 y e -1.6789 --1.4529 y f -2.0391 --1.9269 y g -1.5521 --1.3938 y h -1.6132 --1.2327 y i -1.0891 --2.5685 y j 0.4369 --2.3466 y k -1.1430 --1.5623 y l -1.6782 --1.4405 y m -1.4577 --1.7032 y n -2.0246 --0.9413 y o -2.1597 --1.5385 y p -1.4489 --2.8907 y q 1.0875 --1.5542 y r -1.7333 --1.0358 y s -1.1467 --0.9931 y t -2.1572 --1.1583 y u -2.4590 --2.2279 y v 0.1763 --1.2552 y w -1.6748 --2.2572 y y -1.4586 --3.4136 y z -0.2136 --1.0911 z a -0.9075 --2.0453 z b -0.2530 --0.3420 z e -1.1857 --1.0911 z i -1.0512 --1.1159 z l -1.0698 --0.7666 z o -1.4963 --2.0453 z p -0.2551 --2.0453 z t -0.2423 --1.7443 z u -0.5211 --1.0676 z z -1.2042 - -\3-grams: --1.3010 a a b --1.7782 a a c --1.7782 a a g --1.1761 a a l --1.7782 a a m --0.3468 a a n --1.4771 a a p --1.1761 a a r --0.9331 a a s --0.8239 a a t --1.6147 a b a --2.4800 a b b --2.9571 a b d --1.6147 a b e --1.2329 a b i --2.9571 a b j --0.4020 a b l --2.6561 a b n --0.4561 a b o --1.4947 a b r --1.2411 a b s --1.8432 a b u --1.4658 a b y --1.7195 a c a --1.0544 a c c --0.6313 a c e --0.8164 a c h --1.3073 a c i --0.9891 a c k --1.4764 a c l --3.0997 a c m --1.3754 a c o --2.1454 a c q --1.5945 a c r --2.7987 a c s --0.6448 a c t --1.8692 a c u --2.4976 a c y --1.0908 a d a --1.2362 a d b --1.6009 a d c --1.3883 a d d --0.7759 a d e --1.6244 a d f --2.0668 a d g --1.6244 a d h --1.1200 a d i --2.2776 a d j --2.7036 a d k --1.5574 a d l --1.4248 a d m --1.2564 a d n --1.1637 a d o --1.9766 a d p --3.1807 a d q --1.4817 a d r --1.2616 a d s --1.2412 a d t --1.7828 a d u --1.2313 a d v --1.6366 a d w --1.3612 a d y --1.3010 a e c --1.3010 a e d --1.3010 a e h --1.0000 a e i --0.6990 a e l --1.3010 a e n --0.8239 a e o --1.0000 a e r --0.8239 a e v --1.3010 a e x --1.3165 a f a --0.9430 a f e --1.2440 a f f --1.3579 a f i --2.6590 a f j --1.6176 a f l --2.6590 a f n --1.6176 a f o --1.4037 a f r --0.1996 a f t --2.0569 a f u --2.6590 a f w --0.7636 a g a --2.8463 a g d --0.4501 a g e --2.8463 a g f --1.2336 a g g --2.3692 a g h --1.0075 a g i --1.7672 a g l --1.8463 a g m --1.3692 a g n --1.3278 a g o --1.1303 a g r --2.3692 a g s --2.8463 a g t --0.9830 a g u --2.8463 a g w --2.8463 a g y --0.5389 a h a --1.9191 a h c --0.8051 a h e --1.7430 a h h --1.5211 a h i --1.7430 a h m --0.8777 a h o --1.6180 a h r --1.9191 a h s --0.5299 a h u --2.2201 a h w --2.5847 a i a --3.0618 a i b --2.1587 a i c --0.6982 a i d --2.5847 a i e --2.4598 a i f --2.3629 a i g --3.0618 a i h --1.1428 a i l --1.8314 a i m --0.2910 a i n --0.9580 a i r --1.6305 a i s --1.3716 a i t --2.7608 a i v --3.0618 a i w --0.9542 a j a --0.9542 a j e --0.1413 a j o --1.7250 a k a --2.7664 a k c --2.4654 a k d --0.2654 a k e --1.6203 a k f --2.2893 a k h --0.6081 a k i --2.7664 a k k --2.7664 a k l --2.4654 a k m --1.0852 a k n --1.8633 a k o --1.8122 a k s --1.7664 a k t --2.4654 a k u --1.8633 a k w --2.4654 a k y --1.3467 a l a --2.0831 a l b --1.4447 a l c --1.8401 a l d --1.4811 a l e --1.4447 a l f --2.2081 a l g --1.9528 a l h --1.2110 a l i --2.6852 a l j --1.6283 a l k --0.3739 a l l --1.3086 a l m --2.5391 a l n --1.1387 a l o --1.8527 a l p --3.3842 a l q --1.7121 a l r --1.2506 a l s --1.3350 a l t --2.0224 a l u --2.3842 a l v --1.6518 a l w --2.5391 a l y --0.8899 a m a --1.3989 a m b --1.8291 a m c --2.0979 a m d --0.5005 a m e --2.1648 a m f --2.4659 a m g --2.6420 a m h --0.7816 a m i --2.4659 a m l --1.5280 a m m --1.8638 a m n --0.9474 a m o --1.2898 a m p --2.9430 a m q --2.0979 a m r --1.4115 a m s --2.0979 a m t --1.6877 a m u --2.3409 a m v --1.8638 a m w --2.0979 a m y --1.4890 a n a --2.1504 a n b --1.2649 a n c --0.3182 a n d --1.4890 a n e --2.4015 a n f --1.5031 a n g --1.9244 a n h --1.2021 a n i --3.2861 a n j --2.2317 a n k --2.7218 a n l --2.5328 a n m --1.8338 a n n --1.5537 a n o --2.8090 a n p --2.6171 a n q --2.4208 a n r --1.1721 a n s --1.0660 a n t --2.2581 a n u --2.9181 a n v --1.9639 a n w --2.4015 a n x --1.3318 a n y --1.7482 a o a --2.0492 a o d --0.3960 a o f --1.2711 a o n --0.3010 a o r --2.0492 a o s --1.3169 a p a --2.9079 a p b --2.9079 a p c --0.8868 a p e --2.6069 a p f --1.5857 a p h --0.9348 a p i --1.7940 a p l --1.0950 a p o --0.3987 a p p --1.4456 a p r --1.2745 a p s --1.0884 a p t --2.4308 a p u --2.4308 a p w --0.0170 a q u --1.2364 a r a --1.9756 a r b --1.4263 a r c --0.9610 a r d --0.7379 a r e --1.6808 a r f --1.7344 a r g --2.2892 a r h --1.3436 a r i --2.9176 a r j --1.3798 a r k --1.5420 a r l --1.4705 a r m --1.5607 a r n --1.4863 a r o --2.1580 a r p --1.3156 a r r --1.4298 a r s --0.7754 a r t --2.2892 a r u --1.8385 a r v --2.0883 a r w --1.2364 a r y --1.0694 a s a --1.7384 a s b --1.4341 a s c --1.9782 a s d --1.2337 a s e --1.6604 a s f --2.1963 a s g --1.4181 a s h --1.0202 a s i --3.2570 a s j --1.7255 a s k --1.6772 a s l --1.4027 a s m --1.4542 a s n --1.3705 a s o --1.5803 a s p --2.2358 a s q --1.9898 a s r --0.9358 a s s --0.6270 a s t --1.6185 a s u --2.2358 a s v --1.5088 a s w --1.8021 a s y --1.2429 a t a --2.0211 a t b --1.6500 a t c --1.7147 a t d --0.7201 a t e --1.9604 a t f --2.5440 a t g --1.0866 a t h --0.6382 a t i --3.6231 a t j --3.1460 a t k --1.5857 a t l --1.4500 a t m --2.1760 a t n --1.4356 a t o --1.9897 a t p --3.0211 a t q --1.9419 a t r --1.6231 a t s --0.8875 a t t --1.4500 a t u --2.5818 a t v --1.3030 a t w --2.2614 a t y --2.4099 a u c --1.3308 a u d --0.7197 a u g --2.4099 a u i --0.9950 a u l --1.8079 a u m --1.1795 a u n --2.1089 a u p --1.1547 a u r --0.4961 a u s --0.7765 a u t --2.4099 a u x --1.0884 a v a --0.1519 a v e --0.9140 a v i --1.2597 a v o --1.4468 a v y --0.4914 a w a --1.9063 a w b --2.3043 a w c --1.0371 a w e --0.9925 a w f --0.9241 a w h --1.2074 a w i --2.3043 a w k --1.5639 a w l --1.8272 a w m --1.3500 a w n --0.9619 a w o --2.3043 a w r --1.4914 a w s --1.5261 a w t --2.6053 a w v --1.9063 a w w --0.7959 a x a --1.3979 a x b --0.5528 a x e --0.7959 a x i --1.3979 a x n --1.0969 a x o --1.3979 a x s --1.3979 a x t --0.9208 a x w --0.9512 a y a --1.1553 a y b --1.7404 a y c --2.0762 a y d --1.3228 a y e --1.5756 a y f --2.5533 a y g --1.5119 a y h --1.0218 a y i --2.3772 a y j --2.8543 a y k --1.8543 a y l --1.6502 a y m --1.6782 a y n --1.0835 a y o --2.0092 a y p --2.8543 a y q --2.0762 a y r --0.7644 a y s --0.8129 a y t --2.0762 a y u --2.5533 a y v --1.1139 a y w --2.0762 a y y --1.6902 a z a --0.2588 a z e --0.6902 a z i --1.2131 a z u --0.8451 a z z --0.8644 b a b --0.5301 b a c --1.5536 b a d --2.5079 b a f --1.3037 b a g --2.2068 b a h --1.9058 b a i --2.5079 b a k --1.5079 b a l --1.0929 b a n --0.7919 b a r --1.1461 b a s --1.0455 b a t --1.5536 b a y --1.1903 b b a --0.5371 b b e --0.4914 b b i --0.7132 b b l --1.4914 b b n --1.1903 b b o --0.4771 b c h --0.4771 b c r --0.1761 b d i --1.0409 b e a --1.9468 b e b --1.0888 b e c --1.3563 b e d --0.8992 b e e --1.0495 b e f --1.0920 b e g --1.5921 b e h --1.1611 b e i --2.7484 b e k --1.0553 b e l --1.7071 b e m --1.3931 b e n --2.0214 b e o --2.0495 b e p --2.5266 b e q --1.2524 b e r --1.1537 b e s --1.2961 b e t --2.3805 b e u --2.4474 b e v --1.9951 b e w --1.8276 b e y --0.4771 b f a --0.4771 b f r --0.1761 b h i --1.9269 b i a --2.2279 b i c --2.2279 b i d --2.2279 b i e --2.2279 b i f --1.1139 b i g --0.7365 b i l --0.7807 b i n --1.9269 b i o --1.3828 b i r --1.1139 b i s --0.3954 b i t --1.0314 b j a --0.0537 b j e --1.5185 b l a --0.1177 b l e --1.1584 b l i --1.3305 b l o --2.0536 b l u --1.0925 b l y --0.6990 b m a --0.3979 b m i --0.6990 b m u --0.6990 b n e --0.2218 b n o --1.3096 b o a --2.8537 b o b --2.8537 b o c --1.1294 b o d --2.8537 b o e --2.8537 b o f --2.8537 b o g --1.6776 b o i --2.8537 b o k --1.8123 b o l --2.2516 b o m --1.2626 b o n --1.5113 b o o --1.3222 b o r --2.1547 b o s --1.0544 b o t --0.4387 b o u --1.0544 b o v --1.5113 b o w --2.0086 b o x --0.9845 b o y --0.3010 b p a --0.6313 b r a --0.6037 b r e --0.6924 b r i --0.5654 b r o --1.4166 b r u --1.8513 b s a --0.9218 b s c --0.5088 b s e --2.1523 b s g --1.8513 b s h --1.8513 b s i --2.1523 b s j --0.7051 b s o --2.1523 b s r --1.8513 b s s --0.6899 b s t --1.1109 b s u --2.1523 b s w --0.8519 b t a --0.4944 b t e --1.2041 b t f --1.5051 b t h --1.3291 b t i --0.8062 b t l --2.1072 b t m --1.8062 b t n --1.3291 b t o --2.1072 b t r --1.5051 b t s --0.9933 b t t --2.1072 b t u --2.1072 b t w --2.1072 b t y --2.2695 b u b --2.7466 b u c --2.4456 b u d --2.7466 b u f --2.7466 b u h --1.7052 b u i --2.0477 b u l --2.1446 b u n --2.7466 b u p --0.9015 b u r --1.6675 b u s --0.0983 b u t --2.7466 b u z --0.3010 b v i --0.8723 b y a --1.7616 b y b --1.6232 b y c --1.6646 b y d --2.0626 b y e --1.7616 b y f --1.6646 b y g --1.5507 b y h --1.6646 b y i --2.6646 b y j --2.6646 b y k --1.5855 b y l --1.0736 b y m --1.3029 b y n --1.7104 b y o --1.8195 b y p --1.4886 b y r --0.9925 b y s --0.5124 b y t --2.6646 b y u --2.6646 b y v --1.3222 b y w --1.9657 b y y --1.8199 c a b --2.3997 c a c --2.3997 c a d --3.0986 c a f --2.7976 c a g --3.0986 c a h --2.7976 c a k --0.6721 c a l --0.9494 c a m --0.7602 c a n --3.0986 c a o --1.2178 c a p --0.8108 c a r --1.0652 c a s --1.0858 c a t --1.2726 c a u --1.4652 c a v --3.0986 c a y --0.3424 c b a --1.0414 c b e --0.7404 c b o --0.7404 c b u --0.9626 c c a --2.3243 c c d --0.6253 c c e --1.8472 c c h --1.3243 c c i --2.3243 c c l --0.4730 c c o --1.5461 c c r --0.6711 c c u --0.9031 c d a --0.9031 c d e --0.6021 c d i --0.6021 c d r --0.9031 c d u --0.9977 c e a --1.9313 c e b --2.3115 c e c --1.0660 c e d --1.7095 c e e --1.9136 c e f --2.5334 c e g --1.6394 c e h --1.1943 c e i --3.0105 c e j --3.0105 c e k --0.9914 c e l --1.4855 c e m --0.8982 c e n --0.9977 c e o --1.7095 c e p --1.1240 c e r --1.0171 c e s --1.1943 c e t --2.3573 c e u --3.3115 c e v --1.3115 c e w --3.0105 c e x --2.7095 c e y --1.1461 c f a --1.1461 c f i --0.4472 c f l --0.4472 c f o --1.1461 c f r --0.7782 c g e --0.7782 c g l --0.4771 c g r --0.6021 c g u --0.7379 c h a --1.7853 c h b --1.6952 c h c --1.8781 c h d --0.7689 c h e --1.6818 c h f --1.8781 c h g --1.2865 c h h --0.8907 c h i --3.2003 c h j --1.8201 c h l --1.4222 c h m --1.9962 c h n --1.1750 c h o --1.9699 c h p --3.2003 c h q --1.5471 c h r --1.4010 c h s --1.0864 c h t --2.2003 c h u --2.5982 c h v --1.1248 c h w --2.2461 c h y --3.2003 c h z --1.3010 c i a --2.1856 c i b --0.9907 c i d --0.6805 c i e --1.8846 c i f --1.6214 c i l --1.4323 c i m --0.8919 c i n --1.0000 c i o --1.5488 c i p --1.0500 c i r --1.2156 c i s --0.8498 c i t --2.1856 c i v --2.6628 c i w --0.3010 c j d --0.9804 c k a --1.6172 c k b --2.0943 c k c --2.2192 c k d --0.9640 c k e --1.9974 c k f --2.6964 c k g --1.2814 c k h --0.9255 c k i --2.6964 c k k --1.4922 c k l --1.6550 c k m --1.5824 c k n --1.2340 c k o --2.6964 c k p --2.3953 c k r --0.7619 c k s --0.8970 c k t --1.6550 c k u --1.1649 c k w --1.5824 c k y --1.1076 c l a --0.1734 c l e --1.2563 c l i --0.8426 c l o --1.3030 c l u --2.9465 c l y --0.3010 c m a --0.7270 c m e --0.9031 c m o --1.2041 c m u --1.2041 c m y --0.3010 c n a --0.9031 c n e --0.6021 c n o --1.5756 c o a --3.2746 c o b --2.6726 c o c --2.2332 c o d --3.2746 c o f --2.2746 c o g --2.7975 c o h --2.0442 c o i --1.3015 c o l --0.6204 c o m --0.5528 c o n --1.6948 c o o --1.9322 c o p --1.3351 c o r --2.3204 c o s --2.4295 c o t --0.6736 c o u --1.1193 c o v --2.4965 c o w --3.2746 c o y --1.4771 c p a --0.8751 c p e --0.7782 c p h --1.4771 c p i --0.8751 c p o --0.3310 c p r --0.0414 c q u --0.8708 c r a --2.7459 c r c --0.6560 c r e --0.4626 c r i --0.9008 c r o --0.9465 c r u --1.2407 c r y --1.2175 c s a --1.0414 c s c --1.5185 c s e --0.6734 c s h --1.0414 c s i --1.5185 c s k --0.8195 c s o --1.5185 c s s --0.6734 c s t --1.5185 c s u --1.5185 c s w --1.1361 c t a --2.4786 c t b --1.9557 c t c --2.4786 c t d --0.8351 c t e --1.7252 c t f --2.4786 c t g --1.9557 c t h --0.5390 c t i --2.9557 c t k --1.1168 c t l --2.0526 c t m --2.1775 c t n --1.0063 c t o --2.1106 c t p --1.3536 c t r --1.2567 c t s --1.3646 c t t --1.1998 c t u --2.1775 c t v --1.5940 c t w --2.6547 c t y --1.5899 c u i --0.3858 c u l --0.8418 c u m --2.1128 c u n --2.5899 c u o --1.3347 c u p --0.6761 c u r --1.0217 c u s --1.4139 c u t --2.5899 c u u --1.8910 c u v --0.4771 c v a --0.4771 c v i --0.3310 c w a --0.8751 c w e --1.1761 c w h --1.1761 c w i --0.6990 c w o --0.6721 c y a --1.0700 c y c --1.6721 c y d --1.6721 c y e --1.6721 c y f --1.1950 c y h --1.0700 c y i --1.3711 c y l --1.6721 c y m --0.8270 c y o --1.6721 c y p --1.6721 c y r --0.7179 c y t --1.6721 c y y --2.8678 d a a --1.4528 d a b --1.6636 d a c --1.8678 d a d --1.6636 d a f --1.4967 d a g --1.8900 d a h --2.0227 d a i --2.3237 d a k --1.1911 d a l --1.5890 d a m --0.5323 d a n --2.8678 d a o --1.6373 d a p --2.6917 d a q --1.1235 d a r --1.0515 d a s --1.0044 d a t --2.4698 d a u --2.0548 d a v --1.6125 d a w --0.8788 d a y --2.3237 d a z --1.8497 d b a --0.3584 d b e --2.2757 d b i --1.6067 d b l --1.3215 d b o --1.4741 d b r --1.0538 d b u --0.4606 d b y --0.6053 d c a --1.0632 d c e --1.1027 d c h --2.4249 d c i --1.2208 d c l --0.3996 d c o --1.0447 d c r --1.5218 d c u --1.1694 d d a --0.3148 d d e --0.6867 d d i --1.8062 d d l --0.9031 d d o --1.3539 d d r --2.5843 d d s --2.2833 d d t --1.3802 d d u --2.5843 d d v --2.5843 d d w --0.9897 d e a --2.2081 d e b --1.5329 d e c --1.0477 d e d --1.5209 d e e --1.7821 d e f --1.7407 d e g --1.9862 d e h --1.8401 d e i --2.7821 d e j --1.4548 d e l --1.8279 d e m --0.9496 d e n --1.5209 d e o --1.4397 d e p --2.7821 d e q --0.6749 d e r --0.9339 d e s --1.3671 d e t --2.0224 d e u --1.4397 d e v --2.0418 d e w --1.6599 d e x --2.5391 d e y --1.0334 d f a --0.8293 d f e --0.8293 d f i --1.3222 d f l --0.4771 d f o --0.7024 d f r --1.5361 d f u --1.2247 d g a --0.5069 d g e --0.9002 d g i --0.9485 d g l --1.8779 d g m --0.7166 d g o --0.8172 d g r --1.5769 d g u --0.4573 d h a --0.6254 d h e --0.5830 d h i --0.9298 d h o --2.7292 d h r --1.5250 d h u --2.7292 d h y --1.5288 d i a --1.7967 d i b --1.2043 d i c --1.1003 d i d --1.7484 d i e --1.2348 d i f --1.9132 d i g --1.7719 d i h --2.3739 d i i --3.0271 d i j --2.5500 d i k --1.6122 d i l --1.5958 d i m --0.5588 d i n --2.0729 d i o --2.2868 d i p --1.4305 d i r --0.7461 d i s --0.9355 d i t --2.7261 d i u --2.2490 d i v --1.7261 d i w --3.3282 d i z --1.0969 d j e --0.4437 d j o --0.2840 d j u --1.4771 d k a --0.5229 d k e --0.8751 d k i --0.3010 d k n --1.0630 d l a --0.5315 d l e --0.7449 d l i --0.9046 d l o --1.9838 d l u --0.5214 d l y --0.8870 d m a --2.8555 d m b --0.7517 d m e --1.9013 d m f --1.1073 d m i --1.0294 d m o --1.7094 d m u --0.3127 d m y --1.5368 d n a --0.7183 d n e --1.7129 d n i --0.1260 d n o --2.3149 d n t --2.3149 d n u --2.3118 d o a --1.9760 d o b --1.5985 d o c --1.5458 d o e --0.6245 d o f --2.4878 d o g --2.7889 d o h --1.5985 d o i --3.0899 d o j --3.0899 d o k --2.0899 d o l --1.9138 d o m --0.7377 d o n --1.7097 d o o --2.0899 d o p --1.5714 d o r --2.1357 d o s --1.8858 d o t --0.7656 d o u --1.6128 d o v --0.8298 d o w --3.0899 d o x --1.4878 d o y --2.2448 d o z --0.9441 d p a --0.9093 d p e --1.4212 d p h --1.2103 d p i --0.9093 d p l --0.8619 d p o --0.4854 d p r --1.1482 d p u --1.3010 d q e --0.0458 d q u --0.8650 d r a --0.2869 d r e --0.9467 d r i --2.7101 d r k --2.7101 d r m --0.7910 d r o --2.7101 d r r --1.4548 d r u --1.5340 d r y --0.9330 d s a --1.8760 d s b --1.3564 d s c --2.6889 d s d --1.0761 d s e --1.9485 d s f --2.9899 d s g --1.1704 d s h --1.1091 d s i --2.5128 d s k --1.5920 d s l --1.7111 d s m --1.8138 d s n --0.8500 d s o --1.4458 d s p --2.9899 d s q --2.0357 d s r --1.9485 d s s --0.7493 d s t --1.0554 d s u --2.9899 d s v --1.2909 d s w --2.9899 d s y --1.7273 d t a --1.8523 d t e --0.2408 d t h --1.9772 d t i --0.4646 d t o --1.7273 d t r --3.2325 d t t --2.1911 d t u --3.2325 d t v --1.9315 d t w --3.2325 d t y --1.4934 d u a --2.6395 d u b --0.7822 d u c --2.0374 d u e --1.7364 d u g --2.6395 d u i --1.2081 d u l --2.1624 d u m --0.8199 d u n --2.6395 d u o --0.7152 d u p --0.7822 d u r --0.8134 d u s --1.4934 d u t --2.6395 d u u --0.2840 d v a --0.4771 d v e --1.0300 d v i --1.3310 d v o --0.8159 d w a --0.6871 d w e --0.6960 d w h --0.4244 d w i --1.2891 d w o --1.9542 d w r --0.9706 d y a --1.3064 d y b --1.9085 d y c --2.3856 d y d --0.6613 d y e --1.6866 d y f --1.9085 d y g --1.7835 d y h --1.3856 d y i --2.0846 d y l --1.6866 d y m --1.9085 d y n --0.6148 d y o --1.9085 d y p --1.6075 d y r --1.6075 d y s --0.9877 d y t --2.3856 d y u --1.2717 d y w --2.0846 d y y --2.2488 e a a --1.5662 e a b --1.3397 e a c --1.1411 e a d --2.9812 e a e --1.8606 e a f --1.5798 e a g --2.3184 e a h --2.0367 e a i --3.6802 e a j --1.6157 e a k --1.2520 e a l --1.5764 e a m --0.8186 e a n --2.2030 e a o --1.7117 e a p --3.6802 e a q --0.6528 e a r --0.9734 e a s --0.9035 e a t --2.0367 e a u --1.5466 e a v --1.7771 e a w --3.3791 e a x --3.2030 e a y --3.6802 e a z --0.9817 e b a --2.2122 e b b --0.4043 e b e --1.7003 e b i --1.4163 e b l --0.7889 e b o --1.1910 e b r --2.8142 e b t --0.8797 e b u --1.1241 e b y --0.8544 e c a --1.0011 e c e --1.3045 e c h --1.2402 e c i --3.2776 e c j --1.7213 e c k --1.4581 e c l --0.5946 e c o --1.1570 e c r --2.9766 e c s --0.6055 e c t --1.6544 e c u --2.4995 e c y --0.8929 e d a --1.2777 e d b --1.9343 e d c --1.9191 e d d --1.3114 e d e --1.4624 e d f --2.1027 e d g --1.3992 e d h --0.8696 e d i --3.2054 e d j --2.7794 e d k --1.7582 e d l --1.1073 e d m --1.8763 e d n --1.1814 e d o --2.0104 e d p --2.6825 e d q --1.8133 e d r --1.5522 e d s --0.7216 e d t --1.4297 e d u --2.2511 e d v --1.2479 e d w --2.1027 e d y --0.9345 e e a --2.1917 e e b --1.8907 e e c --1.2027 e e d --2.9699 e e e --1.8559 e e f --2.9699 e e g --1.7524 e e h --1.5150 e e i --1.8559 e e k --1.3071 e e l --1.3624 e e m --0.6275 e e n --2.0405 e e o --1.1066 e e p --2.7938 e e q --1.7394 e e r --1.3901 e e s --0.9899 e e t --2.5719 e e u --1.4448 e e v --1.7658 e e w --1.1006 e e x --2.2709 e e y --2.4258 e e z --0.8932 e f a --3.0864 e f c --3.0864 e f d --1.1943 e f e --1.1132 e f f --3.0864 e f h --0.8768 e f i --2.1321 e f j --1.1833 e f l --3.0864 e f n --0.4898 e f o --1.0996 e f r --2.7853 e f s --1.3382 e f t --1.1673 e f u --2.7853 e f w --3.0864 e f y --0.6224 e g a --2.8704 e g b --1.1714 e g e --1.9162 e g g --2.8704 e g h --0.9114 e g i --1.3141 e g l --2.2683 e g m --2.3933 e g n --1.0253 e g o --0.5503 e g r --1.7912 e g s --2.2683 e g t --1.0131 e g u --2.5694 e g y --0.3540 e h a --0.7016 e h e --0.9213 e h i --0.7830 e h o --1.1744 e h u --2.5233 e h v --3.0004 e h w --2.6994 e h y --1.8531 e i a --2.0107 e i b --1.3284 e i c --1.4514 e i d --2.3697 e i e --1.6963 e i f --1.1814 e i g --1.6834 e i h --2.9138 e i i --2.6128 e i k --1.7835 e i l --1.3575 e i m --0.4628 e i n --2.6128 e i o --2.5159 e i p --1.2020 e i r --0.9596 e i s --0.8844 e i t --3.2148 e i u --1.5246 e i v --1.5159 e i w --3.2148 e i y --2.4367 e i z --0.8451 e j a --1.3222 e j e --0.2679 e j o --1.4983 e j s --0.6532 e j u --1.2632 e k a --1.7404 e k b --2.0414 e k d --0.6264 e k e --1.7404 e k f --2.0414 e k h --0.5790 e k i --2.0414 e k m --0.7861 e k n --1.0872 e k o --2.0414 e k p --2.0414 e k r --1.1963 e k s --1.7404 e k t --1.7404 e k w --2.0414 e k y --0.8976 e l a --2.3141 e l b --2.2093 e l c --1.6742 e l d --0.9273 e l e --0.9862 e l f --3.3555 e l g --2.5104 e l h --0.8901 e l i --3.0544 e l k --0.8126 e l l --2.2415 e l m --2.8783 e l n --1.0676 e l o --2.0130 e l p --3.0544 e l r --1.2415 e l s --1.4578 e l t --1.9937 e l u --1.5493 e l v --2.2093 e l w --1.0353 e l y --0.6074 e m a --1.4876 e m b --3.2358 e m c --2.6337 e m d --0.7543 e m e --2.6337 e m f --3.2358 e m g --2.4576 e m h --1.0344 e m i --2.9348 e m k --2.6337 e m l --1.5826 e m m --2.1218 e m n --0.6980 e m o --1.2864 e m p --3.2358 e m r --1.7886 e m s --1.9348 e m t --1.3969 e m u --2.2358 e m w --1.1054 e m y --1.2440 e n a --1.9722 e n b --1.0823 e n c --1.1408 e n d --1.1381 e n e --1.9818 e n f --1.6264 e n g --1.7374 e n h --1.2405 e n i --2.5936 e n j --3.0329 e n k --1.6573 e n l --1.8288 e n m --2.3562 e n n --0.9510 e n o --2.2548 e n p --3.3340 e n q --1.9537 e n r --1.2530 e n s --0.4889 e n t --1.9818 e n u --2.4589 e n v --1.6221 e n w --2.6807 e n y --3.3340 e n z --3.1584 e o a --1.6812 e o b --1.5149 e o c --3.1584 e o d --0.2891 e o f --2.6812 e o g --3.1584 e o h --3.1584 e o i --1.4424 e o l --2.5563 e o m --0.9104 e o n --1.4863 e o p --1.2393 e o r --2.6812 e o s --1.3875 e o t --0.9765 e o u --1.6143 e o v --2.3802 e o w --0.8267 e p a --2.4871 e p b --2.3110 e p c --2.4871 e p d --1.1497 e p e --2.6121 e p f --3.0892 e p g --1.3410 e p h --1.4080 e p i --0.7817 e p l --2.3110 e p m --2.7882 e p n --0.9993 e p o --2.6121 e p p --0.6164 e p r --1.5329 e p s --1.0173 e p t --1.5978 e p u --2.7882 e p v --2.1350 e p w --2.3902 e p y --0.0035 e q u --1.0164 e r a --1.8792 e r b --1.7113 e r c --1.8555 e r d --0.6422 e r e --1.6299 e r f --2.0293 e r g --1.5544 e r h --1.0404 e r i --3.1296 e r j --2.7147 e r k --1.8374 e r l --1.6033 e r m --1.5806 e r n --1.2409 e r o --1.9961 e r p --3.3515 e r q --1.5064 e r r --1.1101 e r s --1.0117 e r t --1.8330 e r u --1.8601 e r v --1.5084 e r w --1.1236 e r y --1.0615 e s a --1.9458 e s b --1.4005 e s c --2.1260 e s d --1.0026 e s e --1.9219 e s f --2.5561 e s g --1.2214 e s h --1.0869 e s i --3.6701 e s j --2.2387 e s k --1.8127 e s l --1.8639 e s m --1.8847 e s n --0.9702 e s o --1.4605 e s p --2.8919 e s q --2.3478 e s r --0.8151 e s s --0.8002 e s t --1.3027 e s u --3.0680 e s v --1.4714 e s w --2.1787 e s y --3.6701 e s z --1.3818 e t a --2.2195 e t b --1.7096 e t c --2.6718 e t d --1.1340 e t e --2.3360 e t f --2.8479 e t g --0.4058 e t h --1.2768 e t i --2.0520 e t l --2.3708 e t m --2.4957 e t n --0.6873 e t o --3.4499 e t p --3.1489 e t q --1.3101 e t r --1.9185 e t s --1.4371 e t t --1.3818 e t u --3.4499 e t v --1.4587 e t w --2.0882 e t y --2.1658 e u c --2.4669 e u e --2.1658 e u h --1.4255 e u m --0.5478 e u n --2.4669 e u o --0.5531 e u p --1.3877 e u r --0.5976 e u s --1.1051 e u t --2.4669 e u v --1.2277 e v a --0.1041 e v e --1.1773 e v i --1.0629 e v o --0.5974 e w a --2.9666 e w b --2.4895 e w c --2.3646 e w d --0.5909 e w e --2.6656 e w f --2.9666 e w g --0.7478 e w h --0.9116 e w i --3.2676 e w k --2.6656 e w l --1.9252 e w m --2.4225 e w n --0.9601 e w o --2.6656 e w p --1.8052 e w r --2.0915 e w s --1.9889 e w t --2.9666 e w v --1.9889 e w w --2.9666 e w y --3.2676 e w z --0.7965 e x a --0.8006 e x c --1.8299 e x e --1.4497 e x h --1.0376 e x i --2.5289 e x o --0.5444 e x p --0.6072 e x t --2.5289 e x u --1.1009 e y a --1.7377 e y b --1.6506 e y c --2.2148 e y d --0.6389 e y e --1.9930 e y f --2.0899 e y g --1.4878 e y h --1.2940 e y i --1.3697 e y k --1.9138 e y l --1.6920 e y m --2.0899 e y n --0.6626 e y o --2.2148 e y p --1.7889 e y r --1.2296 e y s --1.2940 e y t --2.0899 e y u --2.6920 e y v --1.0199 e y w --2.6920 e y y --0.1383 e z e --1.0414 e z i --1.0414 e z o --3.0187 f a a --1.6763 f a b --0.7006 f a c --1.6763 f a d --2.7177 f a e --1.7399 f a f --1.7177 f a g --2.0187 f a h --1.2553 f a i --3.0187 f a j --2.4166 f a k --0.9253 f a l --1.3752 f a m --0.8820 f a n --3.0187 f a o --1.8146 f a p --0.8948 f a r --1.1436 f a s --1.0144 f a t --2.1156 f a u --1.6385 f a v --2.1736 f a w --2.5416 f a x --2.7177 f a y --3.0187 f a z --0.8633 f b a --0.5623 f b e --1.3862 f b i --1.1644 f b l --0.7841 f b o --0.8219 f b r --1.0182 f b u --1.2613 f b y --0.8967 f c a --1.2820 f c e --1.5250 f c h --1.3490 f c i --1.4281 f c l --0.2080 f c o --1.2240 f c r --1.6500 f c u --0.7097 f d a --0.3575 f d e --0.7677 f d i --1.3118 f d o --1.0107 f d r --1.4367 f d u --0.9700 f e a --2.4014 f e b --1.0690 f e c --2.2253 f e d --0.8451 f e e --2.7024 f e f --2.7024 f e g --2.7024 f e h --1.9621 f e i --0.7705 f e l --2.3045 f e m --1.7482 f e n --2.3045 f e o --3.0035 f e p --2.7024 f e q --0.9100 f e r --0.6896 f e s --1.7482 f e t --2.5263 f e u --1.5721 f e v --1.3502 f e w --1.7730 f e x --1.0862 f f a --2.6425 f f b --1.6882 f f c --0.4224 f f e --2.6425 f f f --2.6425 f f g --2.3414 f f h --0.6131 f f i --1.5633 f f l --2.1653 f f m --2.6425 f f n --0.9797 f f o --1.6425 f f r --1.8643 f f s --1.4963 f f t --1.3000 f f u --2.6425 f f w --1.1139 f g a --0.8129 f g e --1.1139 f g i --1.4150 f g l --0.8507 f g o --0.3606 f g r --1.2900 f g u --1.8921 f g y --0.6944 f h a --0.6831 f h e --0.4960 f h i --0.8270 f h o --0.9519 f h u --2.2742 f h y --2.0673 f i a --2.3683 f i b --0.7608 f i c --1.8912 f i d --1.1642 f i e --1.4518 f i f --1.7662 f i g --2.3683 f i h --2.9703 f i i --1.4263 f i l --2.0161 f i m --0.6523 f i n --2.9703 f i p --0.7374 f i r --1.1378 f i s --1.0727 f i t --2.9703 f i u --1.3793 f i v --2.2714 f i w --1.8564 f i x --1.2041 f j a --0.2747 f j o --0.4260 f j u --0.8451 f k e --0.5441 f k i --0.8451 f k n --0.5441 f k r --0.6330 f l a --0.6274 f l e --2.5250 f l f --0.7769 f l i --0.6442 f l o --0.9936 f l u --1.5250 f l y --0.8846 f m a --2.3617 f m b --0.8993 f m e --2.0607 f m f --1.2478 f m i --0.7819 f m o --1.8846 f m u --0.3086 f m y --0.4631 f n a --0.6392 f n e --1.0072 f n i --0.5066 f n o --2.2380 f o a --2.6640 f o b --2.2380 f o c --3.1411 f o d --3.1411 f o e --2.0620 f o f --2.3630 f o g --3.1411 f o h --1.1077 f o l --1.7609 f o n --1.4690 f o o --2.8401 f o p --0.1898 f o r --1.8624 f o s --2.8401 f o t --0.7609 f o u --2.3630 f o v --3.1411 f o x --0.7189 f p a --1.0463 f p e --1.6484 f p h --1.3473 f p i --0.9494 f p l --0.8354 f p o --0.4723 f p r --1.9494 f p t --1.4723 f p u --0.3010 f q u --1.0717 f r a --0.7707 f r e --2.7619 f r h --1.1285 f r i --0.1833 f r o --1.9838 f r u --2.7619 f r y --1.0508 f s a --2.4487 f s b --1.2183 f s c --1.0870 f s e --2.4487 f s f --1.6036 f s h --1.1063 f s i --2.4487 f s k --1.4945 f s l --1.5456 f s m --1.1265 f s n --0.8255 f s o --1.3695 f s p --2.4487 f s r --2.4487 f s s --0.7766 f s t --0.8466 f s u --2.1477 f s w --1.7549 f t a --2.3570 f t b --2.6580 f t c --2.9590 f t d --0.9021 f t e --2.9590 f t f --2.9590 f t g --0.1448 f t h --1.6368 f t i --3.2601 f t k --2.7830 f t l --2.7830 f t m --2.4819 f t n --1.6690 f t o --2.7830 f t p --1.7977 f t r --2.1809 f t s --1.8799 f t t --2.6580 f t u --3.2601 f t v --1.7286 f t w --1.7038 f t y --2.3118 f u c --1.8346 f u g --0.1672 f u l --2.6128 f u m --1.4087 f u n --1.7097 f u p --0.9793 f u r --1.0217 f u s --1.4367 f u t --0.4168 f v a --0.7179 f v e --0.7690 f v i --0.6307 f v o --0.5248 f w a --0.7838 f w e --0.4291 f w h --1.0849 f w i --1.1875 f w o --2.0626 f w r --2.3636 f w u --1.6435 f y a --1.0414 f y e --0.9445 f y i --1.3424 f y m --0.2632 f y o --1.6435 f y p --1.6435 f y s --1.0414 f y t --1.6435 f y y --1.4388 g a b --1.9617 g a c --2.9159 g a d --2.9159 g a e --1.9159 g a f --1.3719 g a g --2.2170 g a h --0.8121 g a i --2.9159 g a j --2.9159 g a k --0.9569 g a l --1.9159 g a m --0.5357 g a n --1.7118 g a p --2.9159 g a q --1.3361 g a r --1.1306 g a s --1.0899 g a t --2.6149 g a u --1.2725 g a v --1.8745 g a w --2.6149 g a y --1.6149 g a z --1.0414 g b a --0.4886 g b e --1.5855 g b l --1.0414 g b o --1.4094 g b r --0.5441 g b u --0.8865 g b y --0.6780 g c a --1.9085 g c e --0.9542 g c h --1.0054 g c l --0.3287 g c o --1.1303 g c r --1.9085 g c u --1.0414 g d a --0.8865 g d e --0.6312 g d i --0.3302 g d o --1.4094 g d r --1.5855 g d u --1.2837 g e a --1.7704 g e b --1.9922 g e c --1.0772 g e d --2.3444 g e e --1.8003 g e f --2.1014 g e g --1.9922 g e h --1.4024 g e i --2.9465 g e k --1.7160 g e l --1.6454 g e m --1.0120 g e n --0.8934 g e o --1.9922 g e p --2.9465 g e q --0.7733 g e r --1.0120 g e s --0.8601 g e t --2.9465 g e u --1.8673 g e v --1.4551 g e w --1.9051 g e x --1.9051 g e y --0.8617 g f a --1.9031 g f e --0.9488 g f i --1.6021 g f l --0.5051 g f o --0.4407 g f r --1.6021 g f u --0.6786 g g a --1.9217 g g b --1.6207 g g c --2.2227 g g d --0.6545 g g e --2.2227 g g f --1.9217 g g h --1.0766 g g i --0.8077 g g l --1.6207 g g m --1.4446 g g o --1.2685 g g r --1.4446 g g s --1.3776 g g t --1.7456 g g u --1.3776 g g w --1.9217 g g y --1.4110 g h a --1.7555 g h b --2.4322 g h c --3.0342 g h d --1.3908 g h e --2.0342 g h f --3.0342 g h g --2.0800 g h h --1.0611 g h i --1.8038 g h l --2.0342 g h m --2.3353 g h n --1.8581 g h o --2.7332 g h p --2.7332 g h r --1.8581 g h s --0.1540 g h t --2.1891 g h u --1.6363 g h w --1.3888 g i a --2.1484 g i b --1.0784 g i c --2.0515 g i d --2.2734 g i e --1.7505 g i f --1.2190 g i g --2.0515 g i h --1.6366 g i l --0.4409 g i n --0.9652 g i o --2.0515 g i r --1.3526 g i s --1.1942 g i t --2.4495 g i u --0.8697 g i v --1.8474 g i w --2.7505 g i z --0.3979 g j e --0.3979 g j o --0.6990 g k e --0.3979 g k i --0.6990 g k n --0.7351 g l a --0.6532 g l e --0.6398 g l i --0.5843 g l o --0.9970 g l y --0.7217 g m a --0.7217 g m e --2.1367 g m h --1.5347 g m i --0.7750 g m o --1.6596 g m u --0.4124 g m y --0.6807 g n a --2.2122 g n c --0.7498 g n e --2.2122 g n h --0.5889 g n i --1.7351 g n m --0.6681 g n o --1.0361 g n s --1.9112 g n t --1.5307 g o a --1.5044 g o b --2.7348 g o c --1.7348 g o d --2.2577 g o e --0.8317 g o f --2.7348 g o g --2.2577 g o h --0.9639 g o i --2.0358 g o l --2.4338 g o m --0.8054 g o n --0.7220 g o o --2.7348 g o p --1.3369 g o r --2.4338 g o s --1.0188 g o t --1.0024 g o u --1.4338 g o v --2.4338 g o w --2.7348 g o y --0.6892 g p a --1.0414 g p e --0.6021 g p l --0.7984 g p o --0.5643 g p r --0.1761 g q u --0.6027 g r a --0.2512 g r e --2.8014 g r h --1.6875 g r i --0.8823 g r o --2.1993 g r u --1.5461 g r y --0.8724 g s a --1.7889 g s b --1.9138 g s c --2.0899 g s d --1.3495 g s e --1.7889 g s f --2.3909 g s g --1.1868 g s h --1.0687 g s i --2.0899 g s k --1.4878 g s l --2.0899 g s m --1.7889 g s n --0.7575 g s o --1.3909 g s p --2.3909 g s r --1.6920 g s s --0.7377 g s t --1.3118 g s u --1.1605 g s w --2.3909 g s y --2.4108 g t a --2.7118 g t c --1.8667 g t e --0.1881 g t h --1.7576 g t i --0.5386 g t o --1.8667 g t r --2.7118 g t s --2.4108 g t u --2.4108 g t w --1.2022 g u a --2.3483 g u b --0.6159 g u e --0.6240 g u i --0.8233 g u l --1.7462 g u m --1.2691 g u n --0.9772 g u p --1.6493 g u r --1.0261 g u s --2.1722 g u t --0.3010 g v e --0.9031 g v i --0.5051 g v o --0.5336 g w a --0.7524 g w e --0.6585 g w h --0.6128 g w i --1.2606 g w o --2.2148 g w r --0.6118 g y a --1.6532 g y b --1.6532 g y d --1.6532 g y e --1.3522 g y h --1.6532 g y i --1.6532 g y l --1.1761 g y m --0.5393 g y o --1.3522 g y p --1.6532 g y r --0.9542 g y t --1.3522 g y w --0.1249 g z a --1.9295 h a b --2.4783 h a c --0.8006 h a d --2.0360 h a f --2.2499 h a g --2.5131 h a h --2.1773 h a i --2.3135 h a k --1.2701 h a l --1.9295 h a m --0.7999 h a n --3.5923 h a o --1.4048 h a p --3.5923 h a q --1.2639 h a r --1.3370 h a s --0.5358 h a t --2.2306 h a u --0.8899 h a v --2.3135 h a w --3.1152 h a y --2.9902 h a z --1.2455 h b a --0.6021 h b e --1.9445 h b i --1.2455 h b l --0.6657 h b o --0.9902 h b r --0.7404 h b u --0.9445 h b y --0.6507 h c a --0.8155 h c e --1.1513 h c h --1.6284 h c i --1.9294 h c l --0.4381 h c o --0.9752 h c r --1.4523 h c u --0.8539 h d a --0.6198 h d e --0.7447 h d i --1.0000 h d o --0.6576 h d r --1.0969 h d u --1.6990 h d y --1.1772 h e a --1.6467 h e b --1.2910 h e c --1.2829 h e d --1.3126 h e e --1.4897 h e f --1.5290 h e g --1.5387 h e h --1.3951 h e i --2.5866 h e j --2.2766 h e k --1.4302 h e l --1.2163 h e m --1.1330 h e n --1.6446 h e o --1.3870 h e p --2.5044 h e q --0.8365 h e r --0.9544 h e s --1.5014 h e t --2.1343 h e u --1.7765 h e v --1.2687 h e w --2.6244 h e x --1.9023 h e y --3.4897 h e z --1.0334 h f a --0.9542 h f e --1.0334 h f i --1.1303 h f l --0.5019 h f o --0.8573 h f r --0.7782 h f u --1.1357 h g a --1.0107 h g e --1.6128 h g i --0.9138 h g l --0.9138 h g o --0.3118 h g r --1.3118 h g u --0.4326 h h a --0.6435 h h e --0.5734 h h i --1.0151 h h o --1.5465 h h u --2.2455 h h y --2.5368 h i a --2.3771 h i b --0.6856 h i c --1.9596 h i d --2.4497 h i e --2.5880 h i f --1.8098 h i g --2.4119 h i h --3.4911 h i j --3.1901 h i k --1.3544 h i l --1.1037 h i m --0.7887 h i n --2.6460 h i o --2.1109 h i p --1.7751 h i r --0.4029 h i s --1.4782 h i t --2.4497 h i v --2.3771 h i w --0.2553 h j o --0.4771 h j u --0.7782 h k e --0.4771 h k n --0.4771 h k y --0.8159 h l a --0.5563 h l e --0.7782 h l i --0.9031 h l o --1.8573 h l u --0.6021 h l y --0.9627 h m a --0.5399 h m e --2.1931 h m f --1.0792 h m i --1.1931 h m k --2.1931 h m m --0.9379 h m o --1.8921 h m r --1.8921 h m u --0.5304 h m y --0.9420 h n a --0.9420 h n e --1.5441 h n i --0.1639 h n o --1.5441 h n u --2.0780 h o a --2.6520 h o b --1.9988 h o c --2.0499 h o d --2.2541 h o e --1.3733 h o f --1.9753 h o h --2.0499 h o i --3.2541 h o j --2.3510 h o k --0.9444 h o l --1.7356 h o m --1.6743 h o n --1.5551 h o o --1.4345 h o p --0.9360 h o r --1.2048 h o s --1.6308 h o t --0.4759 h o u --2.4759 h o v --0.8527 h o w --0.7700 h p a --0.7243 h p e --1.1222 h p i --1.0253 h p l --1.0253 h p o --0.4938 h p r --1.4232 h p u --0.0512 h q u --1.2247 h r a --2.4800 h r d --0.4347 h r e --1.5769 h r i --0.3308 h r o --1.3039 h r u --1.6349 h r y --1.0700 h s a --1.5752 h s b --1.2742 h s c --1.0437 h s e --1.1950 h s h --1.2328 h s i --2.2742 h s k --1.7970 h s l --2.2742 h s m --1.9731 h s n --0.7828 h s o --1.5752 h s p --1.4960 h s s --0.7427 h s t --0.8118 h s u --1.7970 h s w --2.2742 h s y --1.2923 h t a --1.6086 h t b --2.0558 h t c --2.7547 h t d --1.2362 h t e --1.6940 h t f --2.3568 h t g --0.4771 h t h --1.2045 h t i --3.0558 h t j --1.7335 h t l --1.7335 h t m --1.8253 h t n --0.8462 h t o --2.0144 h t p --2.7547 h t q --1.7770 h t r --1.5372 h t s --1.3315 h t t --1.6244 h t u --3.0558 h t v --1.4223 h t w --1.1367 h t y --1.6064 h u d --2.1293 h u e --0.9532 h u g --0.7313 h u m --0.3709 h u n --1.7613 h u p --1.3054 h u r --0.8505 h u s --1.4603 h u t --0.2730 h v a --0.5740 h v e --1.1761 h v i --1.1761 h v o --0.6021 h w a --0.4550 h w e --0.6021 h w h --1.1729 h w i --1.1059 h w o --1.0875 h y a --1.9004 h y b --1.5024 h y c --1.5993 h y d --1.5993 h y e --2.2014 h y f --1.4232 h y g --1.2014 h y h --1.2014 h y i --1.4232 h y m --1.2983 h y n --0.7864 h y o --0.9709 h y p --1.9004 h y r --1.0253 h y s --1.3563 h y t --1.2472 h y u --1.2014 h y w --1.7243 h y y --0.3010 h z e --1.8702 i a a --1.7453 i a b --1.5692 i a c --1.4442 i a d --2.3473 i a e --1.8702 i a f --1.5692 i a g --2.6484 i a h --2.1712 i a i --0.7563 i a l --0.7791 i a m --0.7345 i a n --2.6484 i a o --2.0463 i a p --1.1043 i a r --0.9582 i a s --1.0049 i a t --2.6484 i a u --2.6484 i a v --1.6941 i a w --2.2934 i b a --2.1173 i b b --0.6259 i b e --1.2327 i b i --0.2088 i b l --1.8954 i b o --1.4483 i b r --1.6402 i b u --0.8244 i c a --2.2746 i c b --1.9959 i c c --2.4965 i c d --0.8481 i c e --2.1607 i c f --2.2332 i c g --0.4746 i c h --1.3996 i c i --1.4617 i c k --1.8122 i c l --2.1285 i c m --2.4295 i c n --1.1223 i c o --1.8122 i c p --3.2746 i c q --1.3401 i c r --1.8433 i c s --1.4617 i c t --1.3555 i c u --2.9736 i c v --2.1285 i c w --2.7975 i c y --1.3219 i d a --2.0927 i d b --2.0513 i d c --1.8623 i d d --0.3860 i d e --2.3146 i d f --2.1385 i d g --1.5245 i d h --0.8968 i d i --3.0927 i d j --3.0927 i d k --1.7705 i d l --1.2934 i d m --1.1842 i d n --1.5612 i d o --2.1385 i d p --2.6156 i d q --1.4907 i d r --1.4115 i d s --1.1842 i d t --2.4907 i d u --2.7917 i d v --1.6777 i d w --2.1896 i d y --2.5024 i e a --1.6178 i e c --0.3918 i e d --2.9795 i e e --1.7243 i e f --2.5024 i e g --2.3775 i e i --2.6785 i e k --1.5816 i e l --0.8460 i e n --2.6785 i e o --1.3263 i e r --0.7727 i e s --1.5024 i e t --2.3775 i e u --1.1535 i e v --1.7754 i e w --1.5646 i e x --1.5623 i f a --2.4654 i f b --2.7664 i f c --0.8633 i f e --0.8074 i f f --1.5623 i f h --0.6695 i f i --1.6525 i f l --1.9213 i f m --1.9213 i f n --1.0943 i f o --2.4654 i f p --2.7664 i f r --2.0674 i f s --0.7841 i f t --1.3862 i f u --1.3350 i f w --1.4047 i f y --1.1461 i g a --1.7418 i g e --1.3288 i g g --0.1840 i g h --1.4671 i g i --2.6712 i g l --2.9722 i g m --1.0801 i g n --1.7681 i g o --2.0180 i g r --2.0180 i g s --2.2732 i g t --1.3701 i g u --2.4951 i g z --0.1046 i h a --0.9384 i h e --1.7835 i h i --1.1069 i h o --1.1139 i i c --1.4150 i i f --1.1139 i i i --1.1139 i i l --0.9379 i i m --0.4607 i i n --1.4150 i i o --1.4150 i i r --1.1139 i i s --1.4150 i i t --1.4150 i i y --0.7782 i j e --0.1761 i j u --1.8543 i k a --0.1199 i k e --2.4564 i k h --1.6113 i k i --2.4564 i k m --0.9379 i k n --2.1553 i k r --1.3102 i k s --1.9792 i k t --2.1553 i k w --2.4564 i k y --1.4196 i l a --1.9777 i l b --2.7906 i l c --1.2052 i l d --0.6539 i l e --2.6145 i l f --2.6145 i l g --2.2466 i l h --1.0746 i l i --2.3135 i l k --0.4885 i l l --2.3927 i l m --2.1374 i l n --1.1622 i l o --3.0917 i l p --3.0917 i l q --2.6145 i l r --1.4789 i l s --1.7115 i l t --1.7694 i l u --2.6145 i l v --1.6293 i l w --1.2166 i l y --0.7948 i m a --1.5955 i m b --2.5163 i m c --2.9934 i m d --0.6150 i m e --2.0903 i m f --2.6924 i m g --1.9520 i m h --1.1739 i m i --2.9934 i m k --1.9934 i m l --1.3307 i m m --1.7893 i m n --1.7893 i m o --0.6510 i m p --2.2945 i m r --1.2376 i m s --1.4024 i m t --1.4883 i m u --2.9934 i m v --1.6132 i m w --2.3914 i m y --1.0902 i n a --2.5567 i n b --1.3742 i n c --1.2013 i n d --1.1877 i n e --1.6881 i n f --0.4596 i n g --1.7867 i n h --1.5739 i n i --3.3349 i n j --1.8343 i n k --1.8775 i n l --1.8982 i n m --2.0716 i n n --1.6536 i n o --2.3648 i n p --2.6980 i n q --2.3496 i n r --1.3178 i n s --0.7945 i n t --1.6566 i n u --2.1218 i n v --1.8725 i n w --2.9669 i n y --2.3647 i o b --2.6077 i o c --1.5865 i o d --2.5108 i o f --3.2098 i o g --3.2098 i o i --1.8118 i o l --2.5108 i o m --0.1157 i o n --2.6077 i o p --1.3647 i o r --2.0637 i o s --2.7327 i o t --0.9220 i o u --2.9088 i o v --3.2098 i o w --0.8201 i p a --2.1818 i p b --1.8808 i p c --1.8808 i p d --1.2276 i p e --2.1818 i p h --1.3367 i p i --1.2788 i p l --1.8808 i p m --1.1405 i p o --1.0679 i p p --1.1405 i p r --0.7047 i p s --1.0058 i p t --1.1818 i p u --2.1818 i p v --1.5798 i p w --2.1818 i p z --0.0152 i q u --1.1646 i r a --1.8336 i r b --1.1493 i r c --1.7666 i r d --0.5271 i r e --1.8336 i r f --2.4356 i r g --1.8336 i r h --1.1493 i r i --2.9128 i r j --2.2138 i r k --1.7988 i r l --1.4076 i r m --2.4356 i r n --1.2407 i r o --2.3107 i r p --2.9128 i r q --1.5325 i r r --0.8158 i r s --1.1967 i r t --2.0677 i r u --2.4356 i r v --1.5148 i r w --2.0677 i r y --1.1055 i s a --1.8331 i s b --1.1142 i s c --1.7270 i s d --1.1020 i s e --1.5414 i s f --1.8819 i s g --0.9208 i s h --1.1768 i s i --2.5509 i s j --2.2499 i s k --1.4333 i s l --1.4048 i s m --1.5461 i s n --1.4407 i s o --1.4407 i s p --2.2747 i s q --1.8819 i s r --1.1955 i s s --0.7562 i s t --1.9141 i s u --2.0428 i s v --1.4188 i s w --3.0280 i s y --1.2458 i t a --1.9353 i t b --1.9237 i t c --2.2248 i t d --0.9759 i t e --2.1813 i t f --2.7254 i t g --0.5393 i t h --0.9670 i t i --3.5035 i t j --3.5035 i t k --2.2994 i t l --1.7792 i t m --2.2482 i t n --1.5897 i t o --2.3574 i t p --1.9472 i t r --1.0674 i t s --1.2756 i t t --1.5950 i t u --2.9015 i t v --1.0122 i t w --1.1552 i t y --3.2025 i t z --0.2910 i u m --0.6335 i u n --1.3324 i u r --0.7884 i u s --1.6335 i u t --1.3464 i v a --0.0984 i v e --0.8550 i v i --2.6474 i v s --2.1703 i v u --2.1703 i v y --0.1362 i w a --1.2389 i w e --1.7160 i w h --0.8709 i w i --1.2688 i w o --1.2201 i x d --0.8051 i x e --1.3170 i x f --1.1409 i x h --1.3170 i x i --1.2201 i x m --0.7730 i x o --1.9191 i x p --1.6180 i x s --0.5041 i x t --1.6180 i x w --0.3979 i y i --0.6990 i y o --0.6990 i y s --0.9912 i z a --0.3100 i z e --1.6902 i z i --0.4349 i z o --1.9912 i z z --1.2304 j a g --1.4065 j a m --1.2304 j a n --1.4065 j a o --1.7076 j a p --1.0086 j a r --1.7076 j a s --0.4288 j a v --0.6284 j a w --1.4065 j a x --0.3010 j d e --0.0812 j e c --1.9445 j e l --1.6435 j e r --1.6435 j e s --0.9902 j e t --1.7297 j o h --0.9516 j o i --1.9058 j o k --2.2068 j o l --1.0307 j o r --2.2068 j o t --0.2337 j o u --0.7919 j o y --0.3010 j s a --0.6021 j s i --0.8985 j u d --1.9777 j u i --0.9777 j u l --1.1996 j u m --0.8316 j u n --1.3757 j u r --0.3343 j u s --1.6767 j u t --1.9777 j u v --0.7703 k a b --1.9165 k a c --1.9165 k a d --1.9165 k a f --1.2632 k a g --2.2175 k a h --2.2175 k a k --1.3724 k a l --1.9165 k a m --0.4771 k a n --1.9165 k a p --1.3724 k a r --1.1035 k a s --0.9387 k a t --2.2175 k a u --1.7404 k a w --1.2175 k a x --1.3617 k b a --0.5836 k b e --1.3617 k b o --1.3617 k b r --0.5166 k b u --0.5836 k b y --0.4075 k c a --1.3617 k c e --1.3617 k c h --0.8846 k c l --1.0607 k c o --0.5836 k c r --1.1461 k d a --0.6690 k d e --0.8451 k d i --0.4472 k d o --0.8451 k d u --0.8779 k e a --2.0682 k e b --2.0682 k e c --0.6470 k e d --1.2470 k e e --1.9299 k e f --2.6702 k e g --1.7952 k e h --1.5089 k e i --2.9713 k e j --2.9713 k e k --1.4528 k e l --1.6491 k e m --0.9106 k e n --1.3378 k e o --1.4398 k e p --1.8921 k e r --1.3480 k e s --0.9221 k e t --1.6289 k e u --2.2723 k e v --1.8573 k e w --2.2723 k e x --1.7952 k e y --0.3010 k f a --1.4771 k f i --0.5229 k f o --0.8751 k f r --0.1249 k g r --0.7911 k h a --0.6864 k h e --0.4708 k h i --0.8325 k h o --0.8783 k h u --2.1106 k i a --1.8096 k i c --2.5877 k i d --1.9857 k i e --2.2867 k i f --2.5877 k i g --2.1106 k i h --2.5877 k i k --2.2867 k i l --1.9857 k i m --0.1020 k i n --2.5877 k i o --2.1106 k i p --1.5463 k i r --1.5877 k i s --1.1727 k i t --2.2867 k i w --0.0193 k j a --0.4771 k k e --0.4771 k k n --0.5027 k l e --0.3979 k l i --0.9420 k l o --0.8451 k l y --0.7404 k m a --0.8195 k m e --0.9165 k m o --0.2881 k m y --0.5335 k n e --1.9428 k n i --0.2738 k n o --0.7967 k n u --2.0719 k o a --2.0719 k o c --2.0719 k o d --2.0719 k o e --0.3010 k o f --1.5948 k o h --1.7709 k o l --0.7709 k o n --1.7709 k o p --0.8958 k o r --1.0305 k o u --2.0719 k o v --0.1996 k p l --0.9777 k p o --0.6767 k p r --1.0792 k r a --0.3802 k r e --0.7782 k r i --0.7782 k r o --1.0792 k r u --0.8517 k s a --1.4538 k s b --1.5999 k s c --1.9978 k s d --1.8217 k s e --1.6968 k s f --2.2989 k s g --1.9978 k s h --1.1228 k s i --1.9978 k s l --1.8217 k s m --1.9978 k s n --0.6087 k s o --1.9978 k s p --1.6968 k s r --1.0201 k s s --0.9371 k s t --1.5207 k s u --1.0436 k s w --1.8217 k s y --2.1072 k t a --0.2621 k t h --0.3829 k t o --2.1072 k t s --1.8062 k t w --0.9542 k u l --0.8751 k u n --0.2218 k u p --0.8751 k u s --0.7304 k w a --0.6335 k w e --0.4431 k w h --0.7584 k w i --1.4574 k w o --1.0334 k y a --1.4314 k y b --1.4314 k y c --1.7324 k y d --1.2553 k y e --1.4314 k y f --1.2553 k y h --1.4314 k y i --0.7324 k y o --0.7324 k y r --1.1303 k y s --1.2553 k y t --0.9542 k y w --1.7237 l a b --0.9898 l a c --1.8001 l a d --3.2151 l a e --2.3120 l a f --2.3700 l a g --2.9141 l a h --1.2561 l a i --2.0390 l a k --2.0390 l a l --1.5524 l a m --0.5827 l a n --2.5161 l a o --1.7527 l a p --0.9574 l a r --0.8727 l a s --0.9251 l a t --1.8349 l a u --1.4443 l a v --1.9847 l a w --3.2151 l a x --1.3763 l a y --3.2151 l a z --1.0414 l b a --0.2975 l b e --2.0828 l b i --1.7818 l b l --0.9067 l b o --1.1285 l b r --2.0828 l b t --0.8275 l b u --1.7818 l b y --0.4281 l c a --1.5420 l c e --1.1441 l c h --2.0191 l c i --1.7181 l c l --0.6126 l c o --1.1160 l c r --0.7638 l c u --1.2396 l d a --1.0023 l d b --1.4485 l d c --1.8339 l d d --1.0355 l d e --1.4886 l d f --1.8339 l d g --0.9081 l d h --1.1167 l d i --2.5029 l d k --1.5176 l d l --1.5328 l d m --0.9426 l d n --1.3079 l d o --1.9386 l d p --1.5998 l d r --1.1412 l d s --1.2396 l d t --1.8661 l d u --2.5029 l d v --1.4359 l d w --2.2019 l d y --0.8595 l e a --1.7274 l e b --1.2952 l e c --1.0533 l e d --1.5682 l e e --1.4482 l e f --1.8406 l e g --1.4915 l e h --1.3196 l e i --2.5584 l e j --2.7345 l e k --1.9564 l e l --1.5884 l e m --1.1884 l e n --1.4635 l e o --1.6096 l e p --2.7345 l e q --1.3921 l e r --0.8946 l e s --0.9227 l e t --2.4713 l e u --1.6866 l e v --1.2502 l e w --2.2339 l e x --2.2339 l e y --0.7274 l f a --1.5786 l f b --1.8797 l f c --1.6755 l f d --1.5786 l f e --1.6244 l f f --2.2776 l f g --1.3234 l f h --0.8228 l f i --2.2776 l f j --1.7335 l f l --1.5372 l f m --1.8005 l f n --0.9554 l f o --1.9766 l f p --2.5786 l f q --1.6755 l f r --1.3234 l f s --0.9554 l f t --1.5786 l f u --2.1015 l f v --1.0735 l f w --2.2776 l f y --0.9912 l g a --0.6902 l g e --0.9120 l g i --1.0881 l g l --1.6902 l g n --0.7871 l g o --0.6902 l g r --1.0881 l g u --0.6488 l h a --0.4861 l h e --0.6110 l h i --0.7608 l h o --1.6902 l h u --1.4587 l i a --2.0105 l i b --1.4292 l i c --1.4903 l i d --1.0443 l i e --1.4822 l i f --0.9335 l i g --2.1354 l i h --2.7375 l i i --3.2146 l i j --0.8882 l i k --2.3115 l i l --1.4152 l i m --0.7628 l i n --2.3695 l i o --1.6705 l i p --1.9358 l i q --2.3115 l i r --1.2701 l i s --0.8566 l i t --1.4664 l i v --2.2603 l i w --3.2146 l i x --1.8166 l i z --0.1461 l j o --0.8451 l j u --1.1249 l k a --0.7270 l k e --1.9031 l k f --1.6021 l k h --0.6243 l k i --0.7570 l k n --1.3010 l k o --1.3010 l k s --1.3010 l k t --1.9031 l k u --1.6021 l k w --1.0580 l k y --1.2041 l l a --1.5254 l l b --1.8476 l l c --1.8476 l l d --0.8433 l l e --1.8476 l l f --2.1486 l l g --1.6257 l l h --0.9783 l l i --3.3247 l l j --2.2455 l l k --2.0694 l l l --1.5843 l l m --1.6004 l l n --0.8917 l l o --2.0025 l l p --1.9268 l l r --1.1848 l l s --0.9862 l l t --1.5185 l l u --2.7226 l l v --1.4986 l l w --0.8638 l l y --0.8888 l m a --2.3201 l m c --1.0191 l m e --2.3201 l m f --2.0191 l m h --1.0649 l m i --1.3659 l m l --2.0191 l m m --1.6212 l m n --0.5072 l m o --2.3201 l m p --2.0191 l m r --1.4750 l m s --2.0191 l m t --1.6212 l m u --2.0191 l m w --0.7291 l m y --1.2253 l n a --0.4619 l n e --1.2253 l n i --0.2808 l n o --1.5789 l o a --1.6247 l o b --1.2945 l o c --2.2267 l o d --1.1396 l o f --1.3957 l o g --3.1810 l o i --2.4820 l o m --0.7972 l o n --0.8865 l o o --1.6369 l o p --2.8800 l o q --1.3886 l o r --0.9991 l o s --1.8800 l o t --1.0841 l o u --1.8800 l o v --0.6786 l o w --2.5789 l o y --0.8081 l p a --1.9542 l p c --1.0512 l p e --1.9542 l p f --1.9542 l p g --0.8751 l p h --0.8751 l p i --1.0000 l p l --0.9542 l p o --0.7501 l p r --1.9542 l p s --1.4771 l p t --1.9542 l p u --0.1761 l q u --1.1043 l r a --0.1365 l r e --1.1043 l r i --1.9494 l r j --1.1712 l r o --1.9494 l r u --1.9494 l r y --0.9640 l s a --1.7933 l s b --1.4922 l s c --2.3953 l s d --0.8213 l s e --1.8513 l s f --1.3539 l s h --0.9482 l s i --2.6964 l s j --2.6964 l s k --1.9182 l s l --1.6550 l s m --1.9974 l s n --0.6920 l s o --1.9182 l s p --2.6964 l s q --2.0943 l s r --1.7421 l s s --0.8902 l s t --1.2984 l s u --2.6964 l s v --1.4411 l s w --2.2192 l s y --1.2965 l t a --2.2818 l t b --2.4579 l t c --1.2274 l t e --2.1569 l t f --0.3751 l t h --1.0513 l t i --2.7589 l t l --1.8047 l t m --2.7589 l t n --0.8897 l t o --2.7589 l t p --1.3118 l t r --1.5285 l t s --1.2676 l t t --2.2818 l t u --2.7589 l t v --1.6450 l t w --1.2965 l t y --1.6335 l u a --1.9345 l u b --1.3061 l u c --1.4574 l u d --0.9925 l u e --1.4226 l u g --1.5823 l u i --2.2355 l u k --2.5366 l u l --0.7372 l u m --0.9345 l u n --2.5366 l u o --1.1386 l u p --1.8376 l u r --0.9031 l u s --0.8833 l u t --1.3061 l u v --2.0594 l u x --1.3892 l v a --0.0567 l v e --1.2131 l v i --1.9912 l v o --0.4675 l w a --0.6966 l w e --0.6618 l w h --0.7615 l w i --1.2115 l w o --0.8508 l y a --1.2859 l y b --1.3018 l y c --1.3018 l y d --1.4807 l y e --1.3073 l y f --2.0008 l y g --1.4125 l y h --1.0910 l y i --2.6029 l y j --2.4268 l y k --1.4889 l y l --1.5817 l y m --1.6139 l y n --1.2137 l y o --1.5237 l y p --3.2049 l y q --1.3789 l y r --1.2365 l y s --0.9425 l y t --1.5422 l y u --2.2507 l y v --1.2182 l y w --2.4268 l y y --2.9039 l y z --2.0097 m a b --1.9817 m a c --0.9140 m a d --3.1858 m a e --2.4077 m a f --1.2882 m a g --2.8848 m a h --1.3166 m a i --2.7087 m a j --1.0995 m a k --1.1858 m a l --2.0719 m a m --0.6083 m a n --3.1858 m a o --2.1066 m a p --3.1858 m a q --1.0366 m a r --1.1991 m a s --0.9071 m a t --2.7087 m a v --2.8848 m a w --3.1858 m a x --1.2882 m a y --2.1858 m a z --1.1275 m b a --2.0569 m b c --0.5067 m b e --2.3579 m b f --1.0792 m b i --2.0569 m b j --0.8139 m b l --2.3579 m b n --1.2788 m b o --1.1538 m b r --1.3579 m b s --2.0569 m b t --0.8394 m b u --1.5798 m b y --1.2175 m c a --1.0414 m c e --0.6734 m c h --1.0414 m c l --0.4393 m c o --1.0414 m c r --1.2175 m c u --1.3010 m d a --0.5229 m d e --1.0000 m d i --0.8239 m d o --1.3010 m d r --0.8239 m d u --0.8239 m d y --0.9365 m e a --1.6338 m e b --1.7783 m e c --1.0002 m e d --1.8810 m e e --1.5800 m e f --2.0794 m e g --1.7049 m e h --1.3012 m e i --3.0571 m e j --2.7561 m e k --1.6954 m e l --1.3804 m e m --0.6860 m e n --1.4660 m e o --1.9110 m e p --2.7561 m e q --1.3453 m e r --1.2409 m e s --0.8503 m e t --1.8810 m e u --2.0157 m e v --1.4236 m e w --3.3581 m e x --2.5130 m e y --1.7782 m f a --0.9331 m f e --1.3010 m f i --1.4771 m f l --0.4164 m f o --0.4357 m f r --1.7782 m f u --1.0414 m g a --0.5643 m g e --1.0414 m g l --0.5643 m g o --0.7404 m g r --0.6146 m h a --0.4834 m h e --0.5441 m h i --1.0669 m h o --1.3680 m h u --2.6566 m i a --1.5597 m i c --1.2674 m i d --2.2586 m i e --2.1125 m i f --0.8821 m i g --2.6566 m i h --2.9576 m i k --0.9845 m i l --2.2586 m i m --0.3953 m i n --2.4805 m i o --2.4805 m i p --1.5597 m i r --1.0491 m i s --0.9282 m i t --2.2586 m i w --2.0545 m i x --0.3010 m j u --1.1461 m k e --0.8451 m k n --0.1461 m k o --1.3522 m l a --0.6532 m l e --0.9542 m l i --0.8081 m l o --1.6532 m l u --0.3745 m l y --0.9847 m m a --2.3997 m m b --1.9226 m m c --2.3997 m m d --0.5189 m m e --1.6215 m m h --0.7465 m m i --2.0986 m m m --2.3997 m m n --0.9083 m m o --2.3997 m m p --2.0986 m m r --2.0986 m m s --1.7007 m m t --1.3997 m m u --1.7007 m m w --0.8812 m m y --1.0479 m n a --0.4459 m n e --1.5250 m n l --1.8261 m n n --0.4837 m n o --1.8261 m n p --0.9810 m n s --1.8261 m n t --1.8261 m n v --1.8261 m n w --2.6042 m o a --2.7803 m o b --2.6042 m o c --1.6342 m o d --1.2425 m o f --2.6042 m o i --2.1271 m o k --2.1783 m o l --1.0946 m o m --0.8910 m o n --1.9352 m o o --0.5681 m o r --0.7739 m o s --1.2301 m o t --0.8535 m o u --1.4379 m o v --3.0813 m o y --0.7258 m p a --2.7789 m p b --0.7618 m p e --2.7789 m p f --2.7789 m p g --1.4778 m p h --1.6997 m p i --0.6717 m p l --0.6683 m p o --1.1991 m p r --1.6997 m p s --1.2875 m p t --2.0799 m p u --2.7789 m p w --2.1768 m p y --0.1761 m q u --0.6734 m r a --1.5185 m r b --1.5185 m r d --0.4771 m r e --1.5185 m r h --0.9165 m r i --1.5185 m r m --1.2175 m r n --1.2175 m r o --1.5185 m r t --1.5185 m r u --1.0465 m s a --2.1072 m s b --1.7093 m s c --2.1072 m s d --0.5631 m s e --1.9311 m s f --1.9311 m s h --1.1778 m s i --2.1072 m s k --1.9311 m s l --2.1072 m s m --1.9311 m s n --0.7955 m s o --1.8062 m s p --2.4082 m s q --2.1072 m s r --1.9311 m s s --0.7648 m s t --1.3668 m s u --1.2621 m s w --2.3522 m t a --2.0512 m t e --0.1167 m t h --1.8751 m t i --2.3522 m t n --0.7289 m t o --1.8751 m t r --0.5553 m u c --1.3477 m u l --2.2227 m u m --1.2685 m u n --1.8248 m u p --0.9923 m u r --0.3477 m u s --1.3196 m u t --0.2041 m v e --0.6021 m v o --0.9454 m w a --0.8107 m w e --0.3533 m w h --0.6443 m w i --1.3847 m w o --1.9868 m w r --1.6148 m y a --1.2790 m y b --1.5277 m y c --1.4077 m y d --1.3019 m y e --1.3582 m y f --1.8701 m y g --1.2627 m y h --1.7398 m y i --2.4722 m y j --2.6940 m y k --1.5691 m y l --1.5691 m y m --1.8094 m y n --1.5584 m y o --1.5691 m y p --3.1711 m y q --1.5277 m y r --0.8287 m y s --1.6940 m y t --0.5150 m y u --2.1297 m y v --1.5084 m y w --2.8701 m y y --2.5784 n a a --1.2510 n a b --1.4728 n a c --1.6489 n a d --3.1804 n a e --1.7033 n a f --1.6122 n a g --1.8187 n a h --1.9251 n a i --2.4814 n a j --1.9251 n a k --0.8859 n a l --1.3171 n a m --0.7790 n a n --2.5784 n a o --1.7333 n a p --2.8794 n a q --1.1235 n a r --0.9901 n a s --0.6919 n a t --2.4023 n a u --1.7180 n a v --1.6122 n a w --3.1804 n a y --2.8794 n a z --1.4688 n b a --0.4814 n b e --1.8367 n b i --2.0128 n b j --1.8367 n b l --0.8667 n b o --1.4108 n b r --0.6326 n b u --0.7341 n b y --1.5870 n c a --0.3737 n c e --1.3612 n c h --1.4746 n c i --0.4909 n c l --1.1698 n c o --1.3979 n c r --1.6394 n c t --2.4523 n c u --1.7833 n c y --1.1195 n d a --1.6629 n d b --1.5899 n d c --1.5632 n d d --0.8886 n d e --1.5860 n d f --1.8460 n d g --1.5275 n d h --0.9474 n d i --2.6771 n d j --2.4852 n d k --1.6676 n d l --1.3908 n d m --1.8605 n d n --1.1630 n d o --1.5595 n d p --3.0293 n d q --1.3154 n d r --1.0347 n d s --0.9298 n d t --1.6869 n d u --2.2511 n d v --1.2265 n d w --1.8320 n d y --1.0620 n e a --2.1759 n e b --1.4162 n e c --0.7912 n e d --1.7268 n e e --1.5108 n e f --2.1496 n e g --1.8749 n e h --1.3800 n e i --3.0790 n e j --3.0790 n e k --1.5876 n e l --1.7079 n e m --1.5349 n e n --1.2465 n e o --1.7780 n e p --2.5349 n e q --1.1982 n e r --0.9651 n e s --1.4558 n e t --2.1759 n e u --1.1573 n e v --1.2157 n e w --1.2866 n e x --1.3347 n e y --0.8573 n f a --0.9423 n f e --0.8116 n f i --0.9920 n f l --0.5468 n f o --0.9423 n f r --1.0481 n f u --0.9488 n g a --1.6054 n g b --1.5759 n g c --1.5993 n g d --1.0622 n g e --1.5816 n g f --2.0765 n g g --1.4567 n g h --1.1263 n g i --2.8546 n g j --2.8546 n g k --1.3168 n g l --1.4113 n g m --1.9382 n g n --1.1666 n g o --1.8232 n g p --3.1556 n g q --1.4929 n g r --1.1345 n g s --0.7682 n g t --1.2445 n g u --2.2806 n g v --1.2806 n g w --2.4153 n g y --0.5735 n h a --0.6543 n h e --0.5654 n h i --0.7537 n h o --1.2186 n h u --1.7072 n i a --2.3441 n i b --1.1584 n i c --1.8000 n i d --1.9181 n i e --1.3229 n i f --1.3160 n i g --1.8669 n i h --2.6451 n i i --2.5202 n i k --2.0430 n i l --1.2357 n i m --0.4788 n i n --1.4320 n i o --2.2191 n i p --3.1222 n i q --2.0430 n i r --0.9639 n i s --0.7878 n i t --2.5202 n i u --2.3441 n i v --1.6909 n i w --1.9461 n i z --1.3802 n j a --1.3802 n j e --0.3010 n j o --0.4260 n j u --1.4472 n k a --2.2253 n k b --2.2253 n k d --1.1461 n k e --2.2253 n k g --1.4472 n k h --0.7939 n k i --1.9243 n k l --1.9243 n k m --0.8636 n k n --0.8636 n k o --2.2253 n k p --0.7339 n k s --1.0492 n k t --1.0792 n k w --1.9243 n k y --1.0346 n l a --0.8974 n l e --1.0873 n l i --2.2776 n l l --1.4995 n l o --2.2776 n l u --0.1842 n l y --0.7799 n m a --2.4031 n m b --1.1727 n m e --1.1244 n m i --0.8591 n m o --1.5000 n m u --0.2892 n m y --1.4200 n n a --0.3336 n n e --0.9728 n n i --2.4200 n n k --0.4804 n n o --2.4200 n n s --1.3408 n n u --2.4200 n n y --2.1587 n o a --2.2752 n o b --1.7871 n o c --1.7264 n o d --2.1104 n o e --0.9135 n o f --2.4861 n o g --2.1104 n o h --1.7557 n o i --3.0881 n o k --1.8577 n o l --1.3721 n o m --1.2923 n o n --2.1850 n o o --2.0274 n o p --3.3892 n o q --1.0370 n o r --1.8978 n o s --0.4791 n o t --1.1878 n o u --2.2430 n o v --0.7981 n o w --2.4861 n o y --0.8641 n p a --0.9221 n p e --1.7672 n p h --1.1651 n p i --0.9221 n p l --0.6702 n p o --0.5630 n p r --1.4661 n p u --2.0682 n p y --0.0122 n q u --0.8868 n r a --0.2599 n r e --1.5152 n r i --0.8620 n r o --1.5152 n r u --0.9412 n r y --1.0442 n s a --1.7401 n s b --1.5962 n s c --2.0733 n s d --0.9913 n s e --1.8255 n s f --2.3421 n s g --1.3122 n s h --0.8351 n s i --2.7101 n s j --3.1872 n s k --1.7248 n s l --1.9320 n s m --2.0733 n s n --0.8972 n s o --1.6075 n s p --2.1458 n s r --1.8255 n s s --0.7044 n s t --1.3948 n s u --2.4883 n s v --1.0869 n s w --2.5852 n s y --1.2091 n t a --2.3430 n t b --2.2180 n t c --2.0797 n t d --0.9402 n t e --2.0072 n t f --2.4222 n t g --0.4910 n t h --1.0642 n t i --3.2972 n t j --3.2972 n t k --1.5608 n t l --1.9648 n t m --2.5569 n t n --0.8333 n t o --2.2003 n t p --2.5982 n t q --1.4136 n t r --1.2180 n t s --1.5896 n t t --1.6740 n t u --2.7531 n t v --1.6538 n t w --1.8579 n t y --1.4638 n u a --0.7128 n u e --2.5051 n u f --1.6601 n u i --0.9488 n u m --0.8924 n u n --1.9031 n u o --1.0902 n u p --2.5051 n u r --0.6187 n u s --0.7809 n u t --0.8129 n v a --0.4327 n v e --0.5576 n v i --0.8587 n v o --1.3358 n v u --2.1139 n v y --0.6582 n w a --0.6972 n w e --0.4315 n w h --0.8221 n w i --1.3177 n w o --2.0774 n w r --0.0185 n x i --1.1614 n y a --1.8048 n y b --1.3577 n y c --1.5495 n y d --1.3577 n y e --1.5038 n y f --2.5038 n y g --1.3277 n y h --1.3898 n y i --1.4624 n y l --1.2485 n y m --1.9017 n y n --0.7479 n y o --1.2028 n y p --1.4246 n y r --1.2028 n y s --0.8136 n y t --1.7256 n y u --2.5038 n y v --1.3277 n y w --2.2028 n y y --0.6021 n z a --0.6021 n z e --0.6021 n z i --1.8228 o a b --1.0538 o a c --0.8174 o a d --2.0269 o a f --2.2488 o a g --1.7259 o a h --1.9478 o a k --0.9935 o a l --1.5498 o a m --0.8626 o a n --1.6467 o a p --2.7259 o a q --0.9478 o a r --0.9478 o a s --0.8174 o a t --2.7259 o a u --1.7259 o a v --2.4249 o a w --2.4249 o a x --1.0180 o b a --2.1941 o b b --0.2562 o b e --2.6712 o b h --1.8930 o b i --1.3490 o b j --1.4671 o b l --1.8930 o b o --1.7169 o b r --0.8451 o b s --1.8261 o b t --1.3288 o b u --2.6712 o b v --2.0691 o b y --1.3188 o c a --1.1726 o c c --0.9151 o c e --1.3487 o c h --1.5654 o c i --0.4379 o c k --1.0325 o c l --0.8182 o c o --1.5654 o c r --1.8416 o c t --1.4157 o c u --1.2594 o d a --1.7243 o d b --2.1045 o d c --1.4812 o d d --0.8492 o d e --1.6895 o d f --1.6895 o d h --0.6796 o d i --2.8035 o d j --2.2014 o d l --1.9584 o d m --2.3263 o d n --0.6962 o d o --2.0253 o d p --1.5730 o d r --1.3263 o d s --1.5482 o d t --1.1802 o d u --1.5730 o d w --1.2014 o d y --1.0544 o e a --2.2304 o e b --2.2304 o e c --2.2304 o e d --1.9294 o e f --1.5315 o e i --1.9294 o e l --1.7533 o e m --0.8687 o e n --1.7533 o e r --0.4311 o e s --1.7533 o e t --2.2304 o e u --1.3854 o e v --2.2304 o e w --0.6622 o e x --2.2304 o e y --1.0388 o f a --1.8326 o f b --1.5390 o f c --1.7461 o f d --1.1038 o f e --1.4245 o f f --1.7342 o f g --1.4303 o f h --1.4245 o f i --2.3730 o f j --2.8253 o f k --1.6078 o f l --1.2854 o f m --1.9600 o f n --1.3363 o f o --1.6950 o f p --1.6444 o f r --1.2090 o f s --0.4832 o f t --2.0594 o f u --1.9700 o f v --1.3808 o f w --2.4573 o f y --1.5315 o g a --0.7186 o g e --1.9574 o g g --2.1335 o g h --0.5895 o g i --1.6564 o g l --1.9574 o g m --1.2884 o g n --0.8783 o g o --0.7356 o g r --2.4346 o g s --2.1335 o g t --1.5895 o g u --2.4346 o g w --1.2304 o g y --0.4604 o h a --0.8997 o h e --0.5415 o h i --2.4048 o h m --0.9577 o h o --2.4048 o h t --0.9899 o h u --2.1038 o h w --2.1038 o h y --2.3856 o i a --2.6866 o i b --0.9542 o i c --1.2395 o i d --2.0846 o i f --2.6866 o i g --2.6866 o i h --0.7782 o i l --1.8415 o i m --0.3403 o i n --1.7324 o i r --1.1184 o i s --1.1681 o i t --1.9877 o i w --0.0969 o j e --1.6021 o j o --0.8239 o j u --1.0638 o k a --2.1430 o k b --1.6659 o k c --1.9212 o k d --0.3649 o k e --1.8420 o k f --1.2979 o k h --1.0887 o k i --1.9212 o k l --1.8420 o k m --1.2777 o k n --1.5410 o k o --1.4740 o k p --2.6201 o k r --1.3897 o k s --1.5062 o k t --1.2979 o k u --1.6659 o k w --2.3191 o k y --1.4694 o l a --2.3988 o l b --1.2085 o l c --0.9005 o l d --0.6565 o l e --2.6998 o l f --3.0009 o l h --1.0714 o l i --3.0009 o l k --0.6745 o l l --3.0009 o l m --2.2227 o l n --0.8803 o l o --1.8547 o l s --2.0009 o l t --1.1558 o l u --1.8869 o l v --2.1558 o l y --1.2149 o m a --1.5364 o m b --2.6503 o m c --2.6503 o m d --0.3975 o m e --2.0763 o m f --2.7752 o m g --1.7472 o m h --1.3128 o m i --3.2524 o m j --2.3493 o m l --1.3439 o m m --2.7752 o m n --1.3030 o m o --0.9281 o m p --3.2524 o m q --2.2981 o m r --1.6291 o m s --1.1318 o m t --1.7083 o m u --2.9513 o m v --1.7900 o m w --1.1660 o m y --1.2203 o n a --1.7278 o n b --1.3389 o n c --1.4051 o n d --0.8418 o n e --1.6657 o n f --1.1934 o n g --1.6514 o n h --1.2203 o n i --2.9210 o n j --2.7168 o n k --1.4104 o n l --1.7939 o n m --2.0071 o n n --1.0517 o n o --2.2977 o n p --3.0179 o n q --2.4738 o n r --0.9048 o n s --0.7755 o n t --2.2977 o n u --1.9210 o n v --1.3844 o n w --2.1728 o n y --3.6199 o n z --2.9773 o o a --1.8311 o o b --2.9773 o o c --0.6917 o o d --2.9773 o o e --1.2138 o o f --2.5001 o o g --2.5001 o o h --2.9773 o o i --0.5224 o o k --1.3338 o o l --1.2138 o o m --0.8735 o o n --2.9773 o o o --1.8311 o o p --1.3862 o o r --1.9773 o o s --1.3438 o o t --1.3862 o o u --2.1991 o o v --2.1322 o o w --1.1308 o p a --0.3665 o p e --1.3010 o p h --1.1549 o p i --1.2076 o p l --2.2218 o p m --1.0655 o p o --1.1079 o p p --1.1938 o p r --1.6198 o p s --1.6990 o p t --1.5528 o p u --2.2218 o p w --0.0512 o q u --1.2515 o r a --1.9082 o r b --1.7357 o r c --1.0025 o r d --0.6930 o r e --2.0025 o r f --1.8582 o r g --1.5620 o r h --1.2222 o r i --3.5210 o r j --1.6949 o r k --1.6577 o r l --1.1390 o r m --1.5967 o r n --1.3596 o r o --2.1593 o r p --3.2200 o r q --1.4206 o r r --1.3009 o r s --0.8042 o r t --2.1060 o r u --2.8220 o r v --1.5433 o r w --1.6019 o r y --1.2609 o s a --2.5899 o s b --2.1640 o s c --0.5914 o s e --1.7053 o s h --1.0140 o s i --2.0671 o s l --2.3681 o s m --2.5899 o s n --1.3595 o s o --1.2097 o s p --0.7682 o s s --0.6107 o s t --1.7449 o s u --2.2220 o s w --2.7660 o s y --1.1711 o t a --1.6005 o t b --1.8346 o t c --1.9595 o t d --1.3040 o t e --2.0513 o t f --2.1356 o t g --0.3156 o t h --1.1644 o t i --2.4366 o t k --1.7904 o t l --1.7632 o t m --2.8046 o t n --1.4125 o t o --2.0513 o t p --2.8046 o t q --1.7904 o t r --1.3896 o t s --1.0803 o t t --1.9393 o t u --2.5827 o t v --1.6907 o t w --2.9807 o t y --1.9594 o u a --1.5577 o u b --2.0201 o u c --1.7300 o u d --2.7770 o u e --3.1450 o u f --1.1036 o u g --2.1907 o u h --2.6221 o u i --2.7190 o u k --0.8491 o u l --2.2419 o u m --0.9145 o u n --2.8440 o u o --2.2242 o u p --3.6221 o u q --0.6269 o u r --0.7986 o u s --0.7993 o u t --3.0201 o u u --3.6221 o u v --2.0310 o u w --1.6021 o v a --0.0504 o v e --1.1249 o v i --2.1139 o v o --0.9664 o w a --1.5922 o w b --1.8140 o w c --1.6628 o w d --0.6628 o w e --1.9638 o w f --2.3491 o w g --1.1772 o w h --1.1450 o w i --3.1942 o w j --2.7171 o w k --1.5410 o w l --1.7171 o w m --0.7128 o w n --1.4700 o w o --2.1942 o w p --2.7171 o w q --2.0181 o w r --1.3309 o w s --1.1489 o w t --2.1528 o w u --2.8932 o w v --1.5315 o w w --2.2400 o w y --3.1942 o w z --0.4260 o x e --0.4260 o x i --1.2041 o x m --1.2041 o x o --1.2041 o x y --0.7070 o y a --1.8633 o y b --1.7384 o y c --2.3404 o y d --1.1644 o y e --2.3404 o y g --1.2265 o y h --0.9091 o y i --2.0394 o y m --2.3404 o y n --0.4831 o y o --2.3404 o y r --1.2613 o y s --1.5623 o y t --2.3404 o y u --2.3404 o y v --1.3404 o y w --1.6415 o y y --0.0414 o z e --1.8319 p a b --1.3548 p a c --2.5723 p a d --2.2713 p a g --2.8733 p a h --1.1330 p a i --1.3170 p a l --2.8733 p a m --0.9048 p a n --2.0282 p a p --2.1744 p a q --0.4583 p a r --0.6638 p a s --1.1409 p a t --1.7272 p a u --2.5723 p a v --2.8733 p a w --2.1744 p a y --0.5563 p b e --0.6532 p b o --0.7782 p b u --0.5563 p b y --0.4150 p c a --0.6368 p c h --0.6368 p c o --1.1139 p c u --0.6532 p d e --0.9542 p d i --0.3522 p d o --0.9542 p d u --0.6665 p e a --2.6457 p e b --0.9297 p e c --1.1361 p e d --1.8676 p e e --1.6605 p e f --2.4239 p e g --3.1229 p e h --1.9468 p e i --1.5318 p e l --2.4239 p e m --0.9270 p e n --1.5318 p e o --2.5208 p e p --0.5512 p e r --1.4794 p e s --1.5208 p e t --3.1229 p e u --2.6457 p e v --2.2198 p e w --3.1229 p e x --2.8218 p e y --0.6990 p f a --1.1761 p f e --0.6990 p f o --0.3310 p f r --0.6990 p g a --0.6990 p g o --0.6990 p g r --0.6990 p g u --0.9877 p h a --0.2887 p h e --2.3856 p h h --0.7228 p h i --1.6866 p h l --1.7835 p h o --1.1552 p h r --2.3856 p h s --1.9085 p h t --1.7835 p h u --1.3442 p h y --2.1106 p i a --2.5877 p i b --0.9156 p i c --0.8024 p i d --1.0314 p i e --2.1106 p i f --2.5877 p i g --1.8887 p i h --2.5877 p i i --2.5877 p i k --1.1563 p i l --2.1106 p i m --0.6146 p i n --2.1106 p i o --2.2867 p i p --1.4416 p i r --1.7426 p i s --0.7244 p i t --1.9857 p i w --0.3010 p j u --0.4065 p l a --0.6429 p l e --0.8291 p l i --1.2685 p l o --1.5695 p l u --0.8248 p l y --0.7782 p m e --1.3802 p m o --0.1249 p m y --0.4771 p n e --0.3010 p n o --1.9094 p o c --2.2896 p o d --2.5114 p o e --1.5114 p o f --1.0541 p o i --1.4204 p o k --1.5262 p o l --2.6875 p o m --0.6403 p o n --1.7844 p o o --2.3865 p o p --0.7954 p o r --0.5588 p o s --1.5572 p o t --1.5262 p o u --2.9886 p o v --1.3451 p o w --1.2956 p p a --0.2460 p p e --1.3536 p p i --1.2286 p p l --0.8497 p p o --1.0130 p p r --1.4205 p p y --1.7717 p r a --0.5164 p r e --0.8984 p r i --0.2706 p r o --1.8261 p r u --0.9144 p s a --1.7160 p s b --1.7160 p s c --2.1931 p s d --0.6746 p s e --1.3480 p s f --1.2900 p s h --1.0170 p s i --1.8921 p s l --1.8921 p s m --2.1931 p s n --0.7782 p s o --2.1931 p s p --2.1931 p s s --0.9627 p s t --1.5911 p s u --1.1517 p s w --2.1931 p s y --1.1348 p t a --2.5328 p t b --1.9307 p t c --0.7474 p t e --2.0556 p t f --2.5328 p t g --0.6463 p t h --0.6137 p t i --2.0556 p t m --2.5328 p t n --1.1178 p t o --2.5328 p t p --1.9307 p t r --1.6877 p t s --1.3023 p t t --1.3866 p t u --2.2317 p t v --1.7546 p t w --1.9307 p t y --0.9933 p u b --2.1072 p u d --0.8285 p u l --1.6301 p u m --1.6301 p u n --1.4082 p u p --0.8062 p u r --1.3291 p u s --0.4260 p u t --1.1530 p u z --0.3979 p v a --0.6990 p v e --0.6990 p v o --0.2368 p w a --0.8846 p w e --1.5378 p w h --0.7597 p w i --1.8388 p w o --1.2368 p w r --1.0280 p y a --0.9031 p y c --1.5051 p y d --1.5051 p y e --1.5051 p y f --0.9031 p y o --1.2041 p y p --0.8062 p y r --0.7270 p y s --1.2041 p y t --1.5051 p y u --1.5051 p y w --0.3010 p z i --0.3010 q e d --0.6919 q u a --0.5655 q u e --0.2893 q u i --2.2601 q u o --2.5611 q u y --1.3377 r a b --1.2215 r a c --1.6096 r a d --1.2851 r a f --1.4075 r a g --2.3878 r a h --1.4229 r a i --2.5639 r a k --1.0076 r a l --1.6431 r a m --0.6626 r a n --1.6345 r a o --1.3292 r a p --1.5225 r a r --1.3464 r a s --0.7738 r a t --2.5639 r a u --1.3975 r a v --1.6345 r a w --1.8369 r a y --3.0410 r a z --0.8062 r b a --0.4810 r b e --2.3502 r b f --2.3502 r b h --1.5051 r b i --1.8731 r b l --2.0492 r b m --0.8317 r b o --2.3502 r b p --1.2363 r b r --2.3502 r b s --2.3502 r b t --0.8062 r b u --1.1461 r b y --0.9355 r c a --0.5307 r c e --0.7000 r c h --1.4883 r c i --1.5553 r c l --0.7712 r c o --1.3557 r c r --2.6345 r c s --2.1574 r c t --1.0112 r c u --2.1574 r c y --1.0508 r d a --1.8692 r d b --2.1033 r d c --2.1703 r d d --0.7811 r d e --1.8023 r d f --2.6474 r d g --1.9070 r d h --0.7257 r d i --2.6474 r d j --2.0453 r d l --1.9070 r d m --2.1033 r d n --1.1850 r d o --2.6474 r d p --2.9484 r d q --1.8345 r d r --0.6766 r d s --1.2952 r d t --1.5867 r d u --2.6474 r d v --1.0619 r d w --2.1703 r d y --0.7241 r e a --1.9283 r e b --1.2189 r e c --0.9416 r e d --1.3569 r e e --1.4215 r e f --1.6871 r e g --1.8340 r e h --1.3880 r e i --2.7478 r e j --3.2707 r e k --1.7747 r e l --1.2930 r e m --1.3481 r e n --1.6579 r e o --1.3880 r e p --2.2163 r e q --1.8965 r e r --0.9769 r e s --1.1194 r e t --2.1567 r e u --1.7793 r e v --1.3464 r e w --2.2163 r e x --1.8613 r e y --0.7427 r f a --2.5623 r f c --0.6592 r f e --1.5623 r f f --2.5623 r f h --1.1644 r f i --2.5623 r f j --1.5209 r f l --0.8995 r f o --2.5623 r f p --1.0999 r f r --2.5623 r f s --2.5623 r f t --0.6033 r f u --0.9661 r g a --2.3464 r g b --0.5268 r g e --2.3464 r g f --2.3464 r g g --1.2324 r g i --1.5682 r g l --2.3464 r g n --0.7666 r g o --0.9661 r g r --2.0453 r g s --1.5682 r g t --0.9661 r g u --1.7443 r g w --1.3464 r g y --0.3261 r h a --0.6498 r h e --1.0058 r h i --2.5740 r h m --0.8751 r h o --1.1938 r h u --2.5740 r h y --1.5641 r i a --1.2707 r i b --1.2265 r i c --1.5275 r i d --0.7553 r i e --1.7759 r i f --1.3071 r i g --2.1158 r i h --3.3199 r i i --1.9397 r i k --1.6124 r i l --1.7759 r i m --0.7179 r i n --1.0103 r i o --2.0412 r i p --2.4168 r i r --1.0146 r i s --1.1832 r i t --2.0412 r i u --1.6124 r i v --2.1158 r i w --2.7179 r i x --3.3199 r i y --1.7179 r i z --1.0700 r j a --1.3711 r j e --0.1158 r j o --1.6721 r j s --1.1950 r j u --0.7973 r k a --1.7634 r k b --1.4624 r k c --2.3655 r k d --0.7857 r k e --2.3655 r k f --2.3655 r k g --1.5204 r k h --1.0867 r k i --2.0645 r k j --1.3655 r k l --1.6665 r k m --0.8884 r k n --1.2194 r k o --2.3655 r k p --2.3655 r k r --0.9675 r k s --1.1894 r k t --2.0645 r k u --1.4624 r k w --2.0645 r k y --0.9638 r l a --0.8003 r l d --1.0765 r l e --1.0027 r l i --2.5079 r l l --1.3318 r l o --2.5079 r l p --1.7297 r l u --2.0307 r l w --0.3318 r l y --0.7505 r m a --2.0849 r m b --2.0849 r m c --2.4829 r m d --0.7386 r m e --2.7839 r m f --2.1818 r m h --0.8394 r m i --1.8808 r m l --2.1818 r m m --0.7669 r m o --2.3068 r m p --2.7839 r m r --1.0763 r m s --1.6700 r m t --1.5535 r m u --1.9388 r m w --0.9088 r m y --0.9661 r n a --1.8692 r n b --2.2952 r n c --2.4713 r n d --0.3761 r n e --1.9942 r n f --1.8692 r n h --0.8692 r n i --2.7723 r n j --2.0734 r n l --1.9942 r n m --2.7723 r n n --0.9031 r n o --1.9942 r n p --1.9942 r n r --1.3410 r n s --1.3744 r n t --1.9272 r n u --2.4713 r n v --1.7723 r n w --2.7723 r n y --1.3385 r o a --1.7710 r o b --1.1214 r o c --1.5985 r o d --2.9067 r o e --0.7071 r o f --1.8925 r o g --3.0828 r o h --2.6057 r o i --1.8787 r o j --2.0036 r o k --1.8787 r o l --0.8215 r o m --1.2834 r o n --1.5776 r o o --1.4862 r o p --1.6678 r o r --1.4862 r o s --1.9367 r o t --0.7414 r o u --1.6057 r o v --1.3346 r o w --2.6848 r o x --2.6057 r o y --2.9067 r o z --0.8593 r p a --0.7802 r p e --1.6375 r p h --1.7344 r p i --1.3365 r p l --0.8741 r p o --0.3587 r p r --2.0354 r p s --2.3365 r p t --1.8593 r p u --2.3365 r p w --0.0512 r q u --0.8689 r r a --0.6131 r r e --0.5319 r r i --2.7774 r r n --0.7997 r r o --1.6313 r r u --0.8480 r r y --1.0236 r s a --1.8570 r s b --1.6993 r s c --2.3621 r s d --0.7600 r s e --2.0611 r s f --2.3621 r s g --1.2757 r s h --1.2222 r s i --3.0611 r s j --2.4590 r s k --1.7187 r s l --1.6631 r s m --2.2160 r s n --0.8967 r s o --1.4813 r s p --2.3621 r s r --1.7823 r s s --0.6281 r s t --1.3890 r s u --2.4590 r s v --1.2687 r s w --3.0611 r s y --0.9127 r t a --2.2707 r t b --2.9696 r t c --2.7936 r t d --1.2707 r t e --2.4925 r t f --2.2707 r t g --0.3443 r t h --1.1123 r t i --1.8727 r t l --2.2707 r t m --2.9696 r t n --0.9322 r t o --2.9696 r t p --1.9919 r t r --1.7793 r t s --1.9919 r t t --1.2795 r t u --1.7025 r t w --1.5464 r t y --2.7936 r t z --1.4914 r u b --1.1640 r u c --1.3945 r u d --1.2331 r u e --1.1514 r u g --1.6955 r u h --1.4402 r u i --1.3733 r u l --1.1514 r u m --0.8204 r u n --0.9631 r u p --2.6955 r u r --0.6463 r u s --1.1514 r u t --0.5695 r v a --0.2685 r v e --1.1088 r v i --0.9923 r v o --2.2227 r v y --0.5114 r w a --0.6623 r w e --0.5823 r w h --0.9585 r w i --1.0435 r w o --2.1346 r w r --2.6117 r w t --1.0668 r y a --1.4599 r y b --1.4847 r y c --1.4251 r y d --1.4599 r y e --1.5248 r y f --1.7152 r y g --1.3534 r y h --1.0868 r y i --2.3172 r y j --2.7152 r y k --1.4364 r y l --1.1411 r y m --1.6738 r y n --1.0162 r y o --1.2380 r y p --2.2380 r y q --1.5690 r y r --1.0477 r y s --0.9868 r y t --2.0620 r y u --2.0620 r y v --1.2238 r y w --2.3172 r y y --3.3263 s a a --1.3051 s a b --1.7243 s a c --1.7353 s a d --3.0253 s a e --1.5629 s a f --1.6021 s a g --2.0253 s a h --0.9354 s a i --2.8492 s a j --1.6542 s a k --1.1710 s a l --1.4455 s a m --0.5712 s a n --3.3263 s a o --1.4342 s a p --2.8492 s a q --1.2436 s a r --1.2733 s a s --1.0808 s a t --2.0253 s a u --1.7136 s a v --1.4690 s a w --1.3625 s a y --1.1328 s b a --0.4544 s b e --1.4686 s b i --2.5478 s b j --1.6447 s b l --1.1498 s b o --1.0426 s b r --0.6393 s b u --0.9143 s b y --0.6421 s c a --2.9474 s c c --0.7861 s c e --1.2150 s c h --1.1840 s c i --1.6050 s c l --0.5050 s c o --1.0901 s c r --1.2314 s c u --2.6464 s c y --1.0062 s d a --0.4833 s d e --0.5023 s d i --0.8099 s d o --1.3284 s d r --1.2870 s d u --1.0067 s e a --2.1174 s e b --1.6071 s e c --0.9525 s e d --1.0003 s e e --1.8486 s e f --2.4854 s e g --1.9082 s e h --1.5206 s e i --3.4396 s e j --2.9625 s e k --0.9056 s e l --1.4103 s e m --1.0894 s e n --1.4574 s e o --1.8956 s e p --2.0972 s e q --1.1632 s e r --1.2067 s e s --1.2753 s e t --2.2935 s e u --1.4396 s e v --1.4185 s e w --1.7236 s e x --1.8714 s e y --0.6130 s f a --1.1261 s f e --0.8415 s f i --1.3271 s f l --0.5322 s f o --0.7941 s f r --1.6033 s f u --2.0804 s f y --0.8096 s g a --1.0314 s g e --2.1106 s g h --1.3324 s g i --0.9966 s g l --2.1106 s g n --0.6792 s g o --0.5085 s g r --2.1106 s g t --1.3324 s g u --2.1106 s g y --0.5658 s h a --2.0524 s h b --2.2865 s h c --2.8306 s h d --0.6197 s h e --2.0902 s h f --3.1316 s h g --2.0524 s h h --1.0524 s h i --3.1316 s h j --2.6545 s h k --2.5296 s h l --1.6265 s h m --2.8306 s h n --0.5876 s h o --3.1316 s h p --3.1316 s h q --1.8529 s h r --2.4326 s h s --1.7699 s h t --1.6403 s h u --3.1316 s h v --1.8763 s h w --2.5296 s h y --1.6394 s i a --1.1856 s i b --1.6066 s i c --1.0917 s i d --2.2330 s i e --1.4836 s i f --1.3513 s i g --1.8029 s i h --3.3469 s i j --2.8698 s i k --1.3341 s i l --1.2678 s i m --0.6532 s i n --1.0636 s i o --2.3469 s i p --3.0459 s i q --1.5911 s i r --1.2231 s i s --0.8206 s i t --2.7449 s i u --1.8284 s i v --2.0682 s i w --1.6066 s i x --2.3927 s i z --0.9420 s j a --1.2430 s j e --0.3680 s j o --0.4301 s j u --1.4713 s k a --0.4890 s k e --0.6931 s k i --1.5682 s k m --1.1289 s k n --1.3252 s k o --1.8692 s k r --1.4713 s k s --1.8692 s k t --1.3252 s k u --1.4713 s k w --0.8480 s k y --0.6854 s l a --0.7293 s l e --0.5918 s l i --0.6232 s l o --1.6232 s l u --1.0590 s l y --0.6114 s m a --2.7118 s m b --2.7118 s m c --1.1436 s m e --2.4108 s m f --2.7118 s m g --2.4108 s m h --0.9265 s m i --2.7118 s m l --2.4108 s m m --0.6824 s m o --2.1097 s m s --2.4108 s m t --1.2204 s m u --1.9337 s m w --0.5979 s m y --1.1929 s n a --0.5487 s n e --1.7212 s n i --0.2027 s n o --2.6243 s n u --2.6243 s n y --2.0119 s o a --1.9265 s o b --1.9587 s o c --2.3736 s o d --2.3736 s o e --0.4695 s o f --2.3736 s o g --2.2597 s o h --1.5541 s o i --1.3129 s o l --0.8371 s o m --0.9740 s o n --1.4243 s o o --2.0514 s o p --3.0726 s o q --0.9423 s o r --2.2275 s o s --1.8965 s o t --1.1184 s o u --2.0726 s o v --1.8422 s o w --2.6747 s o y --0.8672 s p a --0.5225 s p e --1.1853 s p h --0.9977 s p i --1.2310 s p l --0.7804 s p o --0.8389 s p r --2.8842 s p t --1.5832 s p u --0.0080 s q u --0.7970 s r a --0.2964 s r e --0.9317 s r i --0.8118 s r o --1.9731 s r s --1.3199 s r u --1.0144 s s a --2.1509 s s b --1.7597 s s c --2.1856 s s d --0.8054 s s e --2.1509 s s f --2.6628 s s g --1.5405 s s h --0.7195 s s i --2.7877 s s j --2.7877 s s k --1.9224 s s l --2.1187 s s m --2.1856 s s n --0.6873 s s o --1.5572 s s p --3.2648 s s q --2.4197 s s r --2.0607 s s s --0.9907 s s t --1.0946 s s u --2.7877 s s v --1.6738 s s w --2.2648 s s y --0.8615 s t a --1.8702 s t b --1.8702 s t c --2.0390 s t d --1.0137 s t e --1.9421 s t f --2.3189 s t g --0.7305 s t h --0.9509 s t i --3.1640 s t j --2.9421 s t k --1.9251 s t l --1.9168 s t m --2.2609 s t n --0.7643 s t o --2.0390 s t p --3.0390 s t q --1.0456 s t r --1.6543 s t s --1.4708 s t t --1.5655 s t u --2.6868 s t v --1.6588 s t w --2.3623 s t y --1.5686 s u a --1.1487 s u b --0.8962 s u c --1.1308 s u d --2.3979 s u e --1.2596 s u f --2.0458 s u g --2.3979 s u i --1.3872 s u l --1.1192 s u m --1.1135 s u n --0.8894 s u p --0.6108 s u r --1.3768 s u s --1.7447 s u t --0.7404 s v a --0.2543 s v e --1.0414 s v i --0.7984 s v o --0.8025 s w a --0.4140 s w e --0.6050 s w h --0.8848 s w i --1.1973 s w o --1.8663 s w r --1.2518 s y a --0.4634 s y e --2.0969 s y g --2.0969 s y h --1.4949 s y i --1.6198 s y l --1.6198 s y m --0.4841 s y o --2.0969 s y p --2.0969 s y r --1.0969 s y s --1.4949 s y t --1.7959 s y u --2.0969 s y v --1.7959 s y w --0.3010 s z p --3.0368 t a a --1.2886 t a b --1.3983 t a c --1.9954 t a d --3.3379 t a e --1.9399 t a f --1.6944 t a g --2.2587 t a h --0.9469 t a i --3.0368 t a j --1.0637 t a k --0.9994 t a l --1.7358 t a m --0.6111 t a n --2.4348 t a o --1.4402 t a p --2.6389 t a q --1.1257 t a r --1.2273 t a s --0.9876 t a t --2.6389 t a u --2.2965 t a v --2.1074 t a w --3.3379 t a x --3.0368 t a y --1.1775 t b a --0.2306 t b e --1.7004 t b i --1.6335 t b l --1.4786 t b o --1.2744 t b r --0.8875 t b u --1.0806 t b y --0.8702 t c a --1.1712 t c e --0.4796 t c h --1.7733 t c i --1.4723 t c l --0.5101 t c o --1.1043 t c r --1.5972 t c u --0.7465 t d a --0.7276 t d e --0.5246 t d i --0.6073 t d o --1.3205 t d r --1.4454 t d u --1.4777 t e a --2.4035 t e b --2.0725 t e c --0.7158 t e d --1.5673 t e e --2.2486 t e f --2.8506 t e g --2.0872 t e h --1.8869 t e i --3.5496 t e j --1.4777 t e l --1.4290 t e m --1.0541 t e n --1.5858 t e o --1.8336 t e p --3.5496 t e q --0.4013 t e r --1.3621 t e s --1.7503 t e t --2.7715 t e u --1.6923 t e v --1.9368 t e w --1.8336 t e x --1.0030 t f a --0.9469 t f e --0.7411 t f i --1.5111 t f l --0.4697 t f o --0.8633 t f r --1.0182 t f u --0.9294 t g a --0.9672 t g e --1.0086 t g i --1.0544 t g l --0.5462 t g o --0.6284 t g r --1.2304 t g u --0.9460 t h a --2.5812 t h b --2.4672 t h c --2.6604 t h d --0.1945 t h e --2.3340 t h f --2.8279 t h g --2.2258 t h h --0.9850 t h i --3.2802 t h j --3.7573 t h k --2.7361 t h l --2.4785 t h m --3.0169 t h n --1.3602 t h o --2.5532 t h p --3.2802 t h q --1.7299 t h r --2.0540 t h s --1.7159 t h t --2.1289 t h u --3.2802 t h v --2.0540 t h w --2.1775 t h y --1.8851 t i a --2.0814 t i b --1.0814 t i c --2.1136 t i d --1.6200 t i e --1.5791 t i f --1.8753 t i g --1.9157 t i h --3.0514 t i i --2.8296 t i k --1.2407 t i l --1.2002 t i m --0.7375 t i n --0.5431 t i o --2.4146 t i p --2.7504 t i q --2.0234 t i r --1.0048 t i s --1.1725 t i t --3.2275 t i u --1.5743 t i v --1.9603 t i w --3.5285 t i y --0.9542 t j a --0.4771 t j o --0.3522 t j u --0.5528 t k e --0.6990 t k i --0.3565 t k n --1.3979 t k o --0.7531 t l a --0.4381 t l e --1.0116 t l i --1.3675 t l o --2.7825 t l s --2.7825 t l u --0.5037 t l y --0.6419 t m a --0.7839 t m e --1.1538 t m i --2.6590 t m m --0.7245 t m o --1.1149 t m u --0.5726 t m y --1.3010 t n a --0.7270 t n e --1.0000 t n i --0.1955 t n o --1.7270 t n u --1.3329 t o a --1.2452 t o b --1.4994 t o c --1.4869 t o d --1.7440 t o e --0.8712 t o f --1.5221 t o g --1.4514 t o h --1.8802 t o i --3.0340 t o j --2.1590 t o k --1.6108 t o l --1.1905 t o m --1.1282 t o n --1.2595 t o o --1.4688 t o p --3.1590 t o q --1.1737 t o r --1.2956 t o s --0.8630 t o t --1.4430 t o u --2.1447 t o v --1.4293 t o w --3.6361 t o x --2.3351 t o y --0.8206 t p a --0.6915 t p e --1.4574 t p h --1.4574 t p i --1.0594 t p l --0.7584 t p o --0.5543 t p r --1.6335 t p u --2.2355 t p y --0.0164 t q u --0.4653 t r a --3.0519 t r d --0.6079 t r e --3.0519 t r f --0.8996 t r i --1.0105 t r o --3.0519 t r r --0.8318 t r u --1.4391 t r y --1.0013 t s a --1.4501 t s b --1.4998 t s c --1.9043 t s d --1.0140 t s e --1.8142 t s f --2.0183 t s g --1.2330 t s h --1.0838 t s i --2.5412 t s j --2.4162 t s k --1.8142 t s l --1.6381 t s m --1.5269 t s n --0.8115 t s o --1.3462 t s p --1.8422 t s r --1.4998 t s s --0.9111 t s t --1.2779 t s u --2.1732 t s v --1.2701 t s w --3.0183 t s y --1.6457 t t a --0.7214 t t e --0.3234 t t h --1.4282 t t i --1.2391 t t l --0.7453 t t o --1.8498 t t r --2.6457 t t u --1.7706 t t w --2.4026 t t y --1.2162 t u a --2.3217 t u b --2.1456 t u c --1.2248 t u d --2.0207 t u e --2.2248 t u f --2.6227 t u g --2.6227 t u i --2.4466 t u l --1.9238 t u m --0.8669 t u n --2.3217 t u o --1.0429 t u p --0.3206 t u r --1.0099 t u s --1.6450 t u t --2.9238 t u u --0.7068 t v a --0.3865 t v e --0.8451 t v i --0.6342 t v o --0.5099 t w a --0.6090 t w e --0.8000 t w h --1.0046 t w i --0.7354 t w o --2.5805 t w r --1.0022 t y a --1.5615 t y b --1.5104 t y c --1.6865 t y d --1.3855 t y e --1.1529 t y f --2.0667 t y g --1.4434 t y h --1.3343 t y i --2.4646 t y j --1.2605 t y l --1.4869 t y m --1.8114 t y n --0.6653 t y o --1.7243 t y p --1.9206 t y r --1.3033 t y s --0.9083 t y t --1.8114 t y v --1.1424 t y w --2.4646 t y y --0.4771 t z a --0.7782 t z b --0.7782 t z e --0.7782 t z t --1.5119 u a b --1.9379 u a c --1.7160 u a d --2.1139 u a e --2.4150 u a f --1.0000 u a g --1.9379 u a i --1.7160 u a k --0.4656 u a l --2.1139 u a m --1.5119 u a n --2.1139 u a p --2.4150 u a q --0.6368 u a r --1.9379 u a s --0.8239 u a t --2.4150 u a v --2.4150 u a y --2.0645 u b a --1.1350 u b b --1.4112 u b e --1.8884 u b i --1.1894 u b j --0.6753 u b l --2.0645 u b m --2.3655 u b o --1.8884 u b r --1.3241 u b s --0.3048 u b t --1.7634 u b u --1.5185 u c a --1.0295 u c c --1.0066 u c e --0.2775 u c h --1.3424 u c i --1.0179 u c k --1.6435 u c o --1.1063 u c t --2.2967 u c u --1.1793 u d a --2.4346 u d b --1.8325 u d c --0.4901 u d d --0.6787 u d e --1.3206 u d g --2.4346 u d h --1.0728 u d i --2.1335 u d l --1.7356 u d n --1.3554 u d o --2.4346 u d p --2.1335 u d r --0.9874 u d s --2.1335 u d t --2.4346 u d v --2.1335 u d w --1.3932 u d y --1.0804 u e a --1.8585 u e b --1.8585 u e c --0.8093 u e d --2.0804 u e f --1.7794 u e h --1.7794 u e i --1.7124 u e l --1.4783 u e m --0.8499 u e n --1.5575 u e o --2.5575 u e q --1.8585 u e r --0.4469 u e s --1.3022 u e t --2.0804 u e v --1.6033 u e w --2.0804 u e x --2.5575 u e y --1.3424 u f a --1.8195 u f e --0.0714 u f f --1.8195 u f i --1.8195 u f r --1.3424 u f t --2.0952 u g a --2.6972 u g b --2.3962 u g d --0.9812 u g e --2.6972 u g f --1.0538 u g g --0.1433 u g h --2.0952 u g i --2.6972 u g m --1.8521 u g o --2.3962 u g s --1.3750 u g u --0.2704 u h a --0.7677 u h e --0.6128 u h m --1.6128 u h o --2.5658 u i a --1.5245 u i c --0.5245 u i d --1.2871 u i e --2.2648 u i g --1.1034 u i l --1.1679 u i n --2.5658 u i p --1.1187 u i r --1.2648 u i s --0.5089 u i t --2.0887 u i v --2.0887 u i w --2.5658 u i x --0.7404 u k e --0.1383 u k n --0.8387 u l a --2.1540 u l b --1.9943 u l c --0.3396 u l d --1.7860 u l e --1.7860 u l f --1.9621 u l g --2.4093 u l h --1.3840 u l i --3.1082 u l k --1.1082 u l l --1.9621 u l m --2.4093 u l n --1.6458 u l o --2.1082 u l p --2.0668 u l r --1.5642 u l s --0.9976 u l t --2.6311 u l u --2.6311 u l v --2.1082 u l w --1.7465 u l y --0.8780 u m a --0.9513 u m b --2.6415 u m c --0.5696 u m e --1.7384 u m f --2.1644 u m h --1.0394 u m i --1.0394 u m m --1.4654 u m n --1.3404 u m o --1.1791 u m p --2.6415 u m r --1.1644 u m s --2.1644 u m t --1.4110 u m u --2.6415 u m w --2.0394 u m y --1.4871 u n a --2.6559 u n b --0.5168 u n c --0.4790 u n d --1.5858 u n e --2.2579 u n f --1.4871 u n g --2.1118 u n h --1.6347 u n i --1.8777 u n k --2.2579 u n l --2.4798 u n m --1.5020 u n n --1.8777 u n o --1.9792 u n p --3.2579 u n q --2.3548 u n r --2.1787 u n s --0.8688 u n t --2.7808 u n u --2.7808 u n v --2.2579 u n w --3.2579 u n y --1.0212 u o f --0.8451 u o n --1.0212 u o r --1.0212 u o s --1.3222 u o t --0.3222 u o u --1.3135 u p a --1.8048 u p b --2.5038 u p c --2.5038 u p d --1.1614 u p e --1.9597 u p f --2.8048 u p g --1.5495 u p h --1.3277 u p i --2.8048 u p j --1.9017 u p l --1.7256 u p m --2.3277 u p n --0.5038 u p o --0.8271 u p p --1.5744 u p r --1.5261 u p s --0.8805 u p t --2.3277 u p u --2.8048 u p v --1.1327 u p w --2.5038 u p y --0.3010 u q u --1.3178 u r a --1.6558 u r b --1.5686 u r c --1.3899 u r d --0.7080 u r e --1.3499 u r f --1.6277 u r g --1.5097 u r h --1.1215 u r i --1.7775 u r j --2.7069 u r k --1.6857 u r l --1.5930 u r m --0.9416 u r n --1.5381 u r o --1.3178 u r p --3.0080 u r q --1.4282 u r r --0.9868 u r s --1.4169 u r t --2.3090 u r u --2.0785 u r v --1.5930 u r w --1.7905 u r y --0.9933 u s a --1.6414 u s b --1.5777 u s c --1.8594 u s d --0.8519 u s e --1.7740 u s f --1.9659 u s g --1.3461 u s h --1.1006 u s i --2.2212 u s j --2.4430 u s k --1.4150 u s l --1.6771 u s m --2.0170 u s n --1.5979 u s o --1.5679 u s p --2.5222 u s q --1.8232 u s r --1.1006 u s s --0.5917 u s t --1.6649 u s u --2.1798 u s v --1.5777 u s w --2.5222 u s y --1.0908 u t a --1.7228 u t b --1.7898 u t c --1.8912 u t d --1.0560 u t e --1.5467 u t f --2.2669 u t g --0.9294 u t h --0.9447 u t i --2.5679 u t k --1.8275 u t l --1.4457 u t m --1.6928 u t n --1.1488 u t o --2.3918 u t p --2.0560 u t r --1.3638 u t s --0.6321 u t t --1.7076 u t u --2.3918 u t v --1.3126 u t w --1.9658 u t y --0.6021 u u m --0.4260 u u n --0.9031 u u p --0.9031 u u s --0.9379 u v e --0.0726 u v i --0.7570 u w e --1.3010 u w h --0.2218 u w i --0.8239 u w o --0.6990 u x p --0.2218 u x u --0.3010 u y t --0.0414 u z z --1.4271 v a a --1.5618 v a b --1.7580 v a c --1.8250 v a d --2.6031 v a e --2.6031 v a f --1.3990 v a g --2.0011 v a h --1.1560 v a i --1.0121 v a l --2.6031 v a m --0.7223 v a n --2.1260 v a o --1.0980 v a p --1.3021 v a r --0.7902 v a s --0.8956 v a t --1.3990 v a u --2.6031 v a v --1.7580 v a w --1.3928 v e a --1.4944 v e b --1.9763 v e c --1.2230 v e d --2.1524 v e e --1.8514 v e f --1.9094 v e g --1.9094 v e h --1.7131 v e i --2.7545 v e j --3.1524 v e k --1.2308 v e l --1.7633 v e m --0.9443 v e n --1.8003 v e o --2.1747 v e p --2.9763 v e q --0.3736 v e r --1.1612 v e s --1.3199 v e t --1.9483 v e u --3.1524 v e v --1.7814 v e w --3.1524 v e x --2.1747 v e y --1.2131 v i a --1.3020 v i c --0.9542 v i d --1.3222 v i e --2.1673 v i f --1.5305 v i g --1.3657 v i k --1.6030 v i l --0.4655 v i n --1.1393 v i o --1.8663 v i r --0.9284 v i s --1.3434 v i t --2.3434 v i u --1.5653 v i v --2.1189 v o c --0.6418 v o i --2.1189 v o k --0.4243 v o l --1.7210 v o m --1.8179 v o n --0.9286 v o r --1.1895 v o t --1.4200 v o u --2.1189 v o w --0.9428 v o y --0.3010 v s a --0.0458 v u l --0.7501 v y a --1.1761 v y b --0.9542 v y c --0.9542 v y f --1.6532 v y g --1.6532 v y h --1.1761 v y i --1.1761 v y l --1.6532 v y n --1.3522 v y r --0.9542 v y s --0.9542 v y t --1.6532 v y w --1.6532 v y y --2.7410 w a b --2.8659 w a c --2.6440 w a d --3.0420 w a f --3.3430 w a g --3.3430 w a h --1.8517 w a i --2.0643 w a k --1.3056 w a l --2.5649 w a m --1.4622 w a n --3.0420 w a p --1.0463 w a r --0.2351 w a s --1.0508 w a t --1.6709 w a v --3.3430 w a w --3.0420 w a x --1.0066 w a y --0.4771 w b a --0.3802 w b e --1.0792 w b o --1.0792 w b u --1.2041 w b y --0.4771 w c a --1.5185 w c h --0.9165 w c l --0.4771 w c o --0.8195 w c r --0.9345 w d a --0.3782 w d e --0.8553 w d i --0.7304 w d o --1.1563 w d r --1.3324 w d u --1.0689 w e a --2.2314 w e b --1.6378 w e c --1.2485 w e d --1.5193 w e e --1.8269 w e f --2.2314 w e g --1.0735 w e h --1.9304 w e i --3.3454 w e j --2.6464 w e k --1.0294 w e l --1.5325 w e m --1.3201 w e n --2.3454 w e o --2.0030 w e p --0.5760 w e r --1.1522 w e s --1.8139 w e t --1.2662 w e v --1.0643 w e w --2.7433 w e x --3.3454 w e y --1.1973 w f a --1.0212 w f e --1.7993 w f i --1.7993 w f l --0.9542 w f o --1.1973 w f r --0.2083 w f u --0.6990 w g a --1.0000 w g i --1.0000 w g l --0.6990 w g o --0.6990 w g r --1.0000 w g u --0.7052 w h a --0.7102 w h e --0.3758 w h i --0.8011 w h o --3.2467 w h u --1.5565 w h y --2.6253 w i a --2.8014 w i b --2.0610 w i c --1.7045 w i d --2.0610 w i f --1.4896 w i g --3.1024 w i h --0.7620 w i l --2.5004 w i m --0.9721 w i n --2.2573 w i r --1.3542 w i s --0.2297 w i t --3.1024 w i u --2.6253 w i w --0.3010 w j o --0.5441 w k e --0.8451 w k i --0.5441 w k n --0.8451 w k w --1.7853 w l a --0.4631 w l e --1.0864 w l i --1.7853 w l m --1.0072 w l o --1.7853 w l s --1.7853 w l t --0.4051 w l y --0.8166 w m a --0.8166 w m e --0.8166 w m i --0.8166 w m o --1.4698 w m u --0.4698 w m y --0.9857 w n a --1.5172 w n b --1.6721 w n c --1.8182 w n d --1.2867 w n e --1.3131 w n f --1.1022 w n h --0.9490 w n i --2.5172 w n k --1.6721 w n l --1.6721 w n m --2.0401 w n n --0.8939 w n o --1.6141 w n p --2.5172 w n q --2.0401 w n r --1.3711 w n s --0.8096 w n t --1.7390 w n u --2.2162 w n v --1.0258 w n w --2.9079 w o a --2.9079 w o b --2.0049 w o c --2.2090 w o d --2.3059 w o e --1.2452 w o f --2.6069 w o g --1.4608 w o h --2.3059 w o i --2.9079 w o j --1.7618 w o k --1.7319 w o l --1.7618 w o m --1.0506 w o n --1.4608 w o o --1.9079 w o p --0.4028 w o r --1.9537 w o s --1.7940 w o t --0.6026 w o u --2.4308 w o v --2.1298 w o w --2.6069 w o y --0.6990 w p a --0.8751 w p e --0.8751 w p h --1.1761 w p l --0.8751 w p o --0.6990 w p r --1.1761 w p u --0.1249 w q u --0.9494 w r a --0.4723 w r e --0.5180 w r i --0.6706 w r o --1.6484 w r u --0.8325 w s a --1.5315 w s b --1.7076 w s c --1.7076 w s d --1.1635 w s e --1.7076 w s f --1.0086 w s h --1.1055 w s i --2.0086 w s l --1.4065 w s m --2.0086 w s n --0.7533 w s o --1.7076 w s p --2.0086 w s s --0.9294 w s t --1.4065 w s u --2.0086 w s v --1.1055 w s w --1.6812 w t e --0.1091 w t h --0.7966 w t o --1.6812 w t r --2.1584 w t u --2.1584 w t w --0.4150 w u n --0.8129 w u p --1.1139 w u r --0.6368 w u s --1.1139 w u t --0.7782 w v e --0.3010 w v i --0.7782 w v o --0.7051 w w a --0.7051 w w e --0.4533 w w h --1.2492 w w i --0.7373 w w o --0.7782 w y a --1.0792 w y n --0.3010 w y o --1.0792 w y p --1.0792 w y s --0.1761 w z e --2.0531 x a a --1.7520 x a b --0.4196 x a c --1.7520 x a g --1.7520 x a l --0.3127 x a m --1.7520 x a n --1.3541 x a s --0.3010 x b e --1.7324 x c a --0.3174 x c e --1.4314 x c h --0.6910 x c i --0.7324 x c l --2.0334 x c r --1.2553 x c u --0.0792 x d o --1.0911 x e c --0.3378 x e d --1.5682 x e m --0.8692 x e r --0.5682 x e s --0.2218 x f e --0.6990 x f o --0.2126 x h a --0.7924 x h i --0.7132 x h u --1.6990 x i a --1.6990 x i b --2.0000 x i c --1.3010 x i e --2.0000 x i l --1.2218 x i m --1.3979 x i n --0.6990 x i o --0.2596 x i s --1.6990 x i t --2.0000 x i u --0.5441 x m i --0.3680 x m o --0.8451 x m y --0.3010 x n o --0.2218 x o c --1.0000 x o f --0.8239 x o r --1.3010 x o t --1.3010 x o u --1.4472 x p a --0.3838 x p e --1.8151 x p i --0.4058 x p l --1.3892 x p o --1.0135 x p r --0.6021 x s e --0.6021 x s h --0.6021 x s i --2.2900 x t a --0.9678 x t d --0.6179 x t e --1.5119 x t h --1.0596 x t i --1.6880 x t m --2.2900 x t q --0.3606 x t r --2.2900 x t t --1.5911 x t u --2.2900 x t w --1.5911 x t y --0.7782 x u b --0.7782 x u l --0.3010 x u r --0.7782 x w e --0.3010 x w i --0.7782 x w o --0.3010 x y g --1.4086 y a b --1.3796 y a c --1.7570 y a d --1.3658 y a f --1.1989 y a g --2.0259 y a h --2.8710 y a i --2.0928 y a k --1.1808 y a l --1.7570 y a m --0.4560 y a n --1.4560 y a p --2.8710 y a q --1.0928 y a r --1.0514 y a s --1.1228 y a t --1.7570 y a u --1.7249 y a v --1.6405 y a w --2.8710 y a y --1.4108 y b a --2.4900 y b d --0.4565 y b e --1.7910 y b i --1.5357 y b l --0.6035 y b o --1.0750 y b r --0.7341 y b u --1.3760 y b y --0.7219 y c a --1.3239 y c e --1.0229 y c h --0.9560 y c l --0.3349 y c o --1.1727 y c r --1.6250 y c u --0.8265 y d a --0.3757 y d e --0.6590 y d i --1.0155 y d o --1.1027 y d r --1.5128 y d u --0.9569 y e a --2.6893 y e c --1.3276 y e d --2.2122 y e f --1.7862 y e i --1.4852 y e l --2.0872 y e m --1.2422 y e n --2.3883 y e o --2.0872 y e p --2.6893 y e q --1.2743 y e r --0.4934 y e s --0.9334 y e t --1.6893 y e v --1.9903 y e w --0.9040 y e x --1.2422 y e y --0.6384 y f a --0.8250 y f e --0.7476 y f i --2.4378 y f j --1.6596 y f l --0.5293 y f o --0.9754 y f r --1.9606 y f u --1.1856 y g a --0.9224 y g e --1.1856 y g i --1.1856 y g l --1.9638 y g n --0.5488 y g o --0.5836 y g r --0.9224 y g u --0.4635 y h a --0.4635 y h e --0.9171 y h i --0.8437 y h o --1.3830 y h u --2.4969 y h y --1.5788 y i a --2.0560 y i b --1.2963 y i c --1.4819 y i d --1.5119 y i e --1.3793 y i f --2.1809 y i g --1.4539 y i h --2.1809 y i k --1.6580 y i l --1.1666 y i m --0.3979 y i n --2.1809 y i o --2.1809 y i p --1.5119 y i r --1.1809 y i s --0.8799 y i t --2.6580 y i u --1.6166 y i w --1.3222 y j a --1.0212 y j e --0.4771 y j o --0.3222 y j u --1.0669 y k e --0.9420 y k i --0.2430 y k j --0.6990 y k n --0.7373 y l a --0.6294 y l e --0.5360 y l i --1.7263 y l l --0.6949 y l o --1.3284 y l u --2.3284 y l w --1.8513 y l y --0.7782 y m a --0.8168 y m e --2.1492 y m f --0.7782 y m i --2.4502 y m l --2.4502 y m n --0.8168 y m o --2.4502 y m p --2.1492 y m r --2.4502 y m t --0.9731 y m u --0.6509 y m y --1.0414 y n a --0.6962 y n e --1.1083 y n i --0.2098 y n o --2.1875 y n u --1.9080 y o b --1.9080 y o c --2.9494 y o d --0.5953 y o f --2.9494 y o k --2.1043 y o l --0.9582 y o n --1.8702 y o p --1.6070 y o r --2.3473 y o s --1.9494 y o t --0.2923 y o u --1.8033 y o v --1.6941 y o w --0.8081 y p a --0.8081 y p e --1.3979 y p h --1.5071 y p i --1.2730 y p l --0.7087 y p o --0.5460 y p r --1.3522 y p t --1.4491 y p u --0.0458 y q u --0.8741 y r a --2.3365 y r d --0.2834 y r e --0.7924 y r i --1.8593 y r k --0.9215 y r o --2.3365 y r s --2.3365 y r t --1.4914 y r u --1.0990 y s a --2.1559 y s b --1.6245 y s c --0.6094 y s e --2.2529 y s f --2.5539 y s g --1.1922 y s h --1.0990 y s i --2.1559 y s k --1.6788 y s l --1.9518 y s m --2.1559 y s n --0.8681 y s o --1.4747 y s p --2.8549 y s q --2.5539 y s r --1.5762 y s s --0.7721 y s t --1.2317 y s u --1.7757 y s w --1.9434 y t a --1.7215 y t e --0.2021 y t h --1.7215 y t i --0.5754 y t o --1.6424 y t r --1.8976 y t u --1.6935 y t w --0.0257 y u n --1.6185 y u p --1.5863 y u s --2.2553 y u t --0.6628 y v a --0.5488 y v e --0.6628 y v i --0.5836 y v o --0.7379 y w a --0.5283 y w e --0.5748 y w h --0.8502 y w i --0.9920 y w o --2.0334 y w r --1.6335 y y a --0.5921 y y e --1.6335 y y i --0.1711 y y o --0.1761 y z e --1.2553 z a b --1.2553 z a d --0.7782 z a g --1.2553 z a n --0.4102 z a r --0.7782 z a t --1.2553 z a w --0.3010 z b u --1.0043 z e a --2.0043 z e b --0.3609 z e d --1.7033 z e f --2.0043 z e h --1.5272 z e i --2.0043 z e l --1.3054 z e m --1.0043 z e n --1.1012 z e o --2.0043 z e p --1.4023 z e r --1.7033 z e s --1.2262 z e t --1.7033 z e w --1.2553 z i e --0.6532 z i g --1.2553 z i l --0.2139 z i n --0.2762 z l e --0.3854 z l i --0.0235 z o n --1.5798 z o o --0.3010 z p l --0.3010 z t o --0.1249 z u r --0.9777 z z i --0.0746 z z l - -\end\ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/speakerid/frontend.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/speakerid/frontend.config.xml deleted file mode 100755 index aeea16ac..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/speakerid/frontend.config.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - streamDataSource - preemphasizer - windower - fft - melFilterBank - dct - - - - - - streamDataSource - preemphasizer - windower - fft - - - - - - streamDataSource - preemphasizer - dither - windower - fft - plpFrequencyFilterBank - plpCepstrumProducer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/audio/spectrogram.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/audio/spectrogram.config.xml deleted file mode 100755 index 8dba659a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/audio/spectrogram.config.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - streamDataSource - preemphasizer - windower - fft - - - - - - - - - - - - - - - - - cstreamDataSource - dither - cpreemphasizer - cwindower - cfft - melFilterBank - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/endpoint/frontend.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/endpoint/frontend.config.xml deleted file mode 100755 index 7dd819b3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/endpoint/frontend.config.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - wavWriter - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/feature/frontend.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/feature/frontend.config.xml deleted file mode 100755 index 7dc120c1..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/main/resources/edu/cmu/sphinx/tools/feature/frontend.config.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - streamDataSource - preemphasizer - windower - fft - melFilterBank - dct - - - - - - streamDataSource - preemphasizer - windower - fft - - - - - - streamDataSource - preemphasizer - windower - fft - plpFrequencyFilterBank - plpCepstrumProducer - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/SpeechAlignerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/SpeechAlignerTest.java deleted file mode 100755 index 12a657b9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/SpeechAlignerTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2014 Alpha Cephei Inc. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.alignment; - -import static java.util.Arrays.asList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; - -import java.util.List; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.Utilities; - -public class SpeechAlignerTest { - - @Test - public void shouldAlignText() { - align(asList("foo"), asList("bar"), -1); - align(asList("foo"), asList("foo"), 0); - align(asList("foo", "bar"), asList("foo"), 0); - align(asList("foo", "bar"), asList("bar"), 1); - align(asList("foo"), asList("foo", "bar"), 0, -1); - align(asList("bar"), asList("foo", "bar"), -1, 0); - align(asList("foo", "bar", "baz"), asList("foo", "baz"), 0, 2); - align(asList("foo", "bar", "42", "baz", "qux"), asList("42", "baz"), 2, - 3); - } - - private void align(List database, List query, - Integer... result) { - LongTextAligner aligner = new LongTextAligner(database, 1); - int[] alignment = aligner.align(query); - - assertThat(Utilities.asList(alignment), contains(result)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerLargeTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerLargeTest.java deleted file mode 100755 index 0cefc643..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerLargeTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package edu.cmu.sphinx.alignment; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.Utilities; - -public class TextAlignerLargeTest { - - private List database; - private LongTextAligner aligner; - - @BeforeClass - public void setUp() { - Random rng = new Random(42); - database = new ArrayList(); - String[] dictionary = new String[] {"foo", "bar", "baz", "quz"}; - for (int i = 0; i < 100000; ++i) - database.add(dictionary[rng.nextInt(dictionary.length)]); - aligner = new LongTextAligner(database, 3); - } - - @Test(invocationTimeOut = 10000, invocationCount = 1, enabled = false) - public void alignShortSequence() { - List query = database.subList(100, 200); - Integer[] ids = new Integer[query.size()]; - for (int i = 0; i < query.size(); ++i) - ids[i] = 100 + i; - assertThat(Utilities.asList(aligner.align(query)), contains(ids)); - } - - @Test(invocationTimeOut = 10000, invocationCount = 1, enabled = false) - public void alignLongSequence() { - List query = database.subList(1999, 8777); - assertThat(Utilities.asList(aligner.align(query)), contains(1)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerSmallTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerSmallTest.java deleted file mode 100755 index 315d7a2a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/TextAlignerSmallTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package edu.cmu.sphinx.alignment; - -import static java.util.Arrays.asList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; - -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -import org.hamcrest.Matcher; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.Utilities; - -public class TextAlignerSmallTest { - - @DataProvider(name = "words") - public static Object[][] createWords() { - return new Object[][] { - // No match. - { - asList("foo", "foo"), - contains(-1, -1)}, - // Align a single tuple. - { - asList("foo", "baz"), - contains(2, 3)}, - // Align disjoint tuples. - { - asList("foo", "bar", "foo", "bar", "baz", "42"), - contains(0, 1, 2, 4, 5, 6)}, - // Align overlapping tuples. - { - asList("foo", "bar", "foo", "baz", "bar"), - contains(0, 1, 2, 3, 4)}, - // { - // asList("foo", "bar", "foo", "x", "foo", "baz", "bar"), - // contains(0, 1, 2, -1, -1, 3, 4)}, - // { - // asList("foo", "bar", "foo", "foo", "baz", "bar", "42"), - // contains(0, 1, 2, -1, -1, -1)}, - }; - } - - private LongTextAligner aligner; - - @BeforeClass - public void setUp() throws IOException { - URL url = getClass().getResource("transcription-small.txt"); - ArrayList words = new ArrayList(); - Scanner scanner = new Scanner(url.openStream()); - while (scanner.hasNext()) { - words.add(scanner.next()); - } - scanner.close(); - aligner = new LongTextAligner(words, 2); - } - - @Test(dataProvider = "words") - public void align(List words, Matcher> matcher) { - assertThat(Utilities.asList(aligner.align(words)), matcher); - } - - @Test(enabled=false) - public void alignRange() { - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/UsEnglishWordExpanderTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/UsEnglishWordExpanderTest.java deleted file mode 100755 index 5b1df3a3..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/alignment/UsEnglishWordExpanderTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package edu.cmu.sphinx.alignment; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.util.List; - -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.Utilities; - -public class UsEnglishWordExpanderTest { - - private static final Object[][] TEST_DATA = - { - {"# . no, $ convertion.", ". no $ convertion"}, - {"1, 2 3", "one two three"}, - {"the answer is 42,", "the answer is forty two"}, - {"587", "five hundred eighty seven"}, - {"1903", "one thousand nine hundred three"}, - {"12011", "twelve thousand eleven"}, - {"126166", - "one hundred twenty six thousand one hundred sixty six"}, - {"9 3/4", "nine and three fourth 's"}, - {"October 1st", "october first"}, - {"May the 4th be with you", "may the fourth be with you"}, - {"7-11", "seven to eleven"}, - {"12, 35", "twelve thirty five"}, - {"146%", "one hundred forty six percent"}, - {"320'000", "three hundred twenty thousand"}, - {"120,000", "one hundred twenty thousand"}, - {"$35,000", "thirty five thousand dollars"}, - {"$1000000", "one million dollars"}, - {"U.S. economy", "u s economy"}, - {"sweet home Greenbow, AL.", "sweet home greenbow alabama"}, - {"Henry I", "henry the first"}, - {"Chapter XVII", "chapter seventeen"}, - {"don't, doesn't, won't, can't", "don't doesn't won't can't"}, - {"I've we've", "i've we've"}, - {"I've we've it's", "i've we've it's"}, - {"Classics of 80s", "classics of eighties"}, - {"In 1880s", "in eighteen eighties"}, - {"Mulholland Dr.", "mulholland drive"}, - {"dr. Jekyll and Mr. Hyde.", - "doctor jekyll and mister hyde"}, - {"Mr. & Mrs. smith", "mister and missus smith"}, - {"St. Louis Cardinals", "saint louis cardinals"}, - {"St. Elmo's fire", "saint elmo's fire"}, - {"elm st.", "elm street"},}; - - private TextTokenizer expander; - - @BeforeMethod - public void setupMethod() { - expander = new USEnglishTokenizer(); - } - - @DataProvider(name = "data") - public Object[][] getData() { - return TEST_DATA; - } - - @Test(dataProvider = "data") - public void textToWords(String text, String expanded) { - List tokens = expander.expand(text); - assertThat(Utilities.join(tokens), equalTo(expanded)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/api/LiveRecognizerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/api/LiveRecognizerTest.java deleted file mode 100755 index 93912436..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/api/LiveRecognizerTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package edu.cmu.sphinx.api; - -import static org.testng.AssertJUnit.assertEquals; - -import java.io.IOException; -import java.io.InputStream; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.result.WordResult; - -public class LiveRecognizerTest { - @Test - public void testLm() throws IOException { - Configuration configuration = new Configuration(); - - configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.dmp"); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration); - InputStream stream = LiveRecognizerTest.class - .getResourceAsStream("/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.startRecognition(stream); - SpeechResult result = recognizer.getResult(); - - assertEquals("one zero zero zero one", result.getHypothesis()); - - WordResult word = result.getWords().get(0); - assertEquals("{one, 0.685, [820:1060]}", word.toString()); - } - - - @Test - public void testGram() throws IOException { - Configuration configuration = new Configuration(); - - configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration.setGrammarPath("resource:/edu/cmu/sphinx/jsgf/test/"); - configuration.setGrammarName("digits.grxml"); - configuration.setUseGrammar(true); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration); - InputStream stream = LiveRecognizerTest.class - .getResourceAsStream("/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.startRecognition(stream); - SpeechResult result = recognizer.getResult(); - - assertEquals("one zero zero zero one", result.getHypothesis()); - - WordResult word = result.getWords().get(0); - assertEquals("{one, 1.000, [840:1060]}", word.toString()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/scorer/ScorerTests.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/scorer/ScorerTests.java deleted file mode 100755 index 0da97d94..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/scorer/ScorerTests.java +++ /dev/null @@ -1,122 +0,0 @@ -package edu.cmu.sphinx.decoder.scorer; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.decoder.search.Token; -import edu.cmu.sphinx.frontend.*; -import edu.cmu.sphinx.frontend.databranch.DataBufferProcessor; -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; - -/** - * Unit tests for the processing logic of the scorer implementations - * - * @author Holger Brandl - */ -public class ScorerTests { - - Scoreable testToken = new Token(null, 0.f, 0.f, 0.f, 0.f) { - - @Override - public float calculateScore(Data feature) { - return -1; - } - }; - - - @BeforeClass - public static void configureLogger() { - Logger.getLogger(ScorerTests.class.getSimpleName()).setLevel(Level.FINER); - } - - - @Test - public void waitUntilSpeechStart() { - List> scorerClasses = new ArrayList>(); - scorerClasses.add(SimpleAcousticScorer.class); - scorerClasses.add(ThreadedAcousticScorer.class); - - for (Class scorerClass : scorerClasses) { - System.err.println("testing: " + scorerClass.getSimpleName()); - DataBufferProcessor dummyFrontEnd = createDummyFrontEnd(); - - Map props = new HashMap(); - props.put(SimpleAcousticScorer.FEATURE_FRONTEND, dummyFrontEnd); - AcousticScorer scorer = ConfigurationManager.getInstance(scorerClass, props); - - int startBufferSize = dummyFrontEnd.getBufferSize(); - - scorer.allocate(); - scorer.startRecognition(); - - List dummyTokens = Arrays.asList(testToken); - for (int i = 0; i < 100; i++) - scorer.calculateScores(dummyTokens); - - Assert.assertTrue(dummyFrontEnd.getBufferSize() < (startBufferSize - 100)); - - scorer.stopRecognition(); - scorer.deallocate(); - } - } - - - private DataBufferProcessor createDummyFrontEnd() { - DataBufferProcessor bufferProc = ConfigurationManager.getInstance(DataBufferProcessor.class); - bufferProc.processDataFrame(new DataStartSignal(16000)); - - for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(5, 16000, 0, 39, 10)) - bufferProc.processDataFrame(doubleData); - - bufferProc.processDataFrame(new SpeechStartSignal()); - for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(3, 16000, 1000, 39, 10)) - bufferProc.processDataFrame(doubleData); - - bufferProc.processDataFrame(new SpeechEndSignal()); - for (DoubleData doubleData : RandomDataProcessor.createFeatVectors(5, 16000, 2000, 39, 10)) - bufferProc.processDataFrame(doubleData); - - bufferProc.processDataFrame(new DataEndSignal(123)); - - return bufferProc; - } - - - @Test - public void testThreadedScorerDeallocation() throws InterruptedException { - Map props = new HashMap(); - DataBufferProcessor dummyFrontEnd = createDummyFrontEnd(); - - props.put(SimpleAcousticScorer.FEATURE_FRONTEND, dummyFrontEnd); - props.put(ThreadedAcousticScorer.PROP_NUM_THREADS, 4); - props.put(ConfigurationManagerUtils.GLOBAL_COMMON_LOGLEVEL, "FINEST"); - AcousticScorer scorer = ConfigurationManager.getInstance(ThreadedAcousticScorer.class, props); - - scorer.allocate(); - scorer.startRecognition(); - - List dummyTokens = Arrays.asList(testToken); - - // score around a little - scorer.calculateScores(dummyTokens); - - scorer.stopRecognition(); - scorer.deallocate(); - - Thread.sleep(1000); - - // ensure that all scoring threads have died - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/search/test/PartitionerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/search/test/PartitionerTest.java deleted file mode 100755 index f0034b14..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/decoder/search/test/PartitionerTest.java +++ /dev/null @@ -1,129 +0,0 @@ -package edu.cmu.sphinx.decoder.search.test; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Random; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.decoder.scorer.Scoreable; -import edu.cmu.sphinx.decoder.search.Partitioner; -import edu.cmu.sphinx.decoder.search.Token; - -public class PartitionerTest { - - public void testSorted(Token[] tokens, int p) { - for (int i = 0; i < p; i++) { - Assert.assertTrue(tokens[i].getScore() >= tokens[p].getScore()); - } - for (int i = p; i < tokens.length; i++) { - Assert.assertTrue(tokens[i].getScore() <= tokens[p].getScore()); - } - } - - private void performTestPartitionSizes(int absoluteBeamWidth, - int tokenListSize, boolean tokenListLarger) { - - Random random = new Random(System.currentTimeMillis()); - Partitioner partitioner = new Partitioner(); - - Token parent = new Token(null, 0); - Token[] tokens = new Token[tokenListSize]; - - for (int i = 0; i < tokens.length; i++) { - float logTotalScore = random.nextFloat(); - tokens[i] = new Token(parent, null, logTotalScore, 0.0f, 0.0f, i); - } - - final int r = partitioner.partition(tokens, tokens.length, - absoluteBeamWidth); - - if (tokenListLarger) { - Assert.assertEquals(r, absoluteBeamWidth - 1); - } else { - Assert.assertEquals (r, tokenListSize - 1); - } - - List firstList = new LinkedList(); - if (r >= 0) { - float lowestScore = tokens[r].getScore(); - - for (int i = 0; i <= r; i++) { - Assert.assertTrue(tokens[i].getScore() >= lowestScore); - firstList.add(tokens[i]); - } - for (int i = r + 1; i < tokens.length; i++) { - Assert.assertTrue(lowestScore > tokens[i].getScore()); - } - - Collections.sort(firstList, Scoreable.COMPARATOR); - - List secondList = Arrays.asList(tokens); - Collections.sort(secondList, Scoreable.COMPARATOR); - - for (Iterator i1 = firstList.iterator(), i2 = secondList - .iterator(); i1.hasNext() && i2.hasNext();) { - Token t1 = i1.next(); - Token t2 = i2.next(); - Assert.assertEquals(t1, t2); - } - } - } - - @Test - public void testPartitionOrders() { - int p; - Token[] tokens = new Token[100000]; - Partitioner partitioner = new Partitioner(); - - for (int i = 0; i < 100000; i++) - tokens[i] = new Token(null, null, 1 - i, 0, 0, 0); - p = partitioner.partition(tokens, 100000, 3000); - Assert.assertEquals(p, 2999); - testSorted(tokens, p); - - for (int i = 0; i < 100000; i++) - tokens[i] = new Token(null, null, i, 0, 0, 0); - p = partitioner.partition(tokens, 100000, 3000); - Assert.assertEquals(p, 2999); - testSorted(tokens, p); - - for (int i = 0; i < 100000; i++) - tokens[i] = new Token(null, null, 0, 0, 0, 0); - p = partitioner.partition(tokens, 100000, 3000); - Assert.assertEquals(p, 2999); - testSorted(tokens, p); - - for (int i = 0; i < 100000; i++) - tokens[i] = new Token(null, null, (float) Math.random(), 0, 0, 0); - p = partitioner.partition(tokens, 100000, 3000); - Assert.assertEquals(p, 2999); - testSorted(tokens, p); - } - - @Test - public void testPartitionSizes() { - - int absoluteBeamWidth = 1500; - int tokenListSize = 3000; - - // Test 1 : (tokenListSize > absoluteBeamWidth) - performTestPartitionSizes(absoluteBeamWidth, tokenListSize, true); - - // Test 2 : (tokenListSize == absoluteBeamWidth) - tokenListSize = absoluteBeamWidth; - performTestPartitionSizes(absoluteBeamWidth, tokenListSize, false); - - // Test 3 : (tokenListSize < absoluteBeamWidth) - tokenListSize = 1000; - performTestPartitionSizes(absoluteBeamWidth, tokenListSize, false); - - // Test 4 : (tokenListSize == 0) - tokenListSize = 0; - performTestPartitionSizes(absoluteBeamWidth, tokenListSize, false); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/AudioDataSourcesTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/AudioDataSourcesTest.java deleted file mode 100755 index 4bb5912d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/AudioDataSourcesTest.java +++ /dev/null @@ -1,123 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.instanceOf; -import static org.testng.Assert.assertFalse; - -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.net.URISyntaxException; - -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.util.AudioFileDataSource; -import edu.cmu.sphinx.frontend.util.AudioFileProcessListener; -import edu.cmu.sphinx.frontend.util.ConcatAudioFileDataSource; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - - -/** - * Some small unit tests to check whether the AudioFileDataSource and the - * ConcatAudioFileDataSource are working properly. - */ -public class AudioDataSourcesTest { - - private int numFileStarts; - private int numFileEnds; - - @BeforeMethod - public void setUp() { - numFileStarts = 0; - numFileEnds = 0; - } - - @Test - public void testSimpleFileSources() throws DataProcessingException, - URISyntaxException { - // TODO: test.ogg - runAssert("test.wav"); - runAssert("test.aiff"); - runAssert("test.au"); - } - - @Test - public void test8KhzSource() throws DataProcessingException, - URISyntaxException { - AudioFileDataSource dataSource = ConfigurationManager - .getInstance(AudioFileDataSource.class); - - // Test simple WAV. - File file = new File(getClass().getResource("test8k.wav").toURI()); - dataSource.setAudioFile(file, null); - assertThat(dataSource.getData(), instanceOf(DataStartSignal.class)); - Data d = dataSource.getData(); - assertThat(dataSource.getData(), instanceOf(DoubleData.class)); - assertThat(((DoubleData) d).getSampleRate(), equalTo(8000)); - - while ((d = dataSource.getData()) instanceof DoubleData); - assertThat(d, instanceOf(DataEndSignal.class)); - } - - @Test - public void testConcatDataSource() throws DataProcessingException, - IOException, URISyntaxException { - ConcatAudioFileDataSource dataSource = ConfigurationManager - .getInstance(ConcatAudioFileDataSource.class); - - dataSource.addNewFileListener(new AudioFileProcessListener() { - - public void audioFileProcStarted(File audioFile) { - numFileStarts++; - } - - public void audioFileProcFinished(File audioFile) { - numFileEnds++; - } - - public void newProperties(PropertySheet ps) - throws PropertyException { - } - }); - - File tmpFile = File.createTempFile(getClass().getName(), ".drv"); - tmpFile.deleteOnExit(); - PrintWriter pw = new PrintWriter(tmpFile); - String path = new File(getClass().getResource("test.wav").toURI()).getPath(); - pw.println(path); - pw.println(path); - pw.print(path); - assertFalse(pw.checkError()); - pw.close(); - - dataSource.setBatchFile(tmpFile); - assertThat(dataSource.getData(), instanceOf(DataStartSignal.class)); - assertThat(dataSource.getData(), instanceOf(DoubleData.class)); - - Data d; - while ((d = dataSource.getData()) instanceof DoubleData); - assertThat(d, instanceOf(DataEndSignal.class)); - - assertThat(numFileStarts, equalTo(3)); - assertThat(numFileEnds, equalTo(3)); - } - - private void runAssert(String fileName) throws DataProcessingException, - URISyntaxException { - AudioFileDataSource dataSource = ConfigurationManager - .getInstance(AudioFileDataSource.class); - - File file = new File(getClass().getResource(fileName).toURI()); - dataSource.setAudioFile(file, null); - assertThat(dataSource.getData(), instanceOf(DataStartSignal.class)); - assertThat(dataSource.getData(), instanceOf(DoubleData.class)); - - Data d; - while ((d = dataSource.getData()) instanceof DoubleData); - assertThat(d, instanceOf(DataEndSignal.class)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/DataBlockerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/DataBlockerTest.java deleted file mode 100755 index a5f13560..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/DataBlockerTest.java +++ /dev/null @@ -1,144 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import java.util.ArrayList; -import java.util.List; - -import org.testng.Assert; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataBlocker; -import edu.cmu.sphinx.frontend.DataEndSignal; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DataStartSignal; -import edu.cmu.sphinx.frontend.DoubleData; - -/** Some small tests which ensure that the DataBlocker works properly. */ -public class DataBlockerTest extends BaseDataProcessor { - - private List input; - - - @BeforeMethod - public void setUp() { - input = new ArrayList(); - } - - - @Test - public void testLongInput() throws DataProcessingException { - int sampleRate = 1000; - - input.add(new DataStartSignal(sampleRate)); - - input.addAll(createDataInput(1000, 1000, sampleRate, 0)); // create one second of data sampled with 1kHz - input.add(new DataEndSignal(0)); - - Assert.assertTrue(hasIncreasingOrder(collectOutput(100), 1000)); - } - - - @Test - public void testUsualInput() throws DataProcessingException { - int sampleRate = 1000; - - input.add(new DataStartSignal(sampleRate)); - - input.addAll(createDataInput(600, 120, sampleRate, 0)); - input.add(new DataEndSignal(0)); - - List output = collectOutput(100); - - Assert.assertEquals(output.size(), 6); - Assert.assertEquals(201, ((DoubleData) output.get(2)).getFirstSampleNumber()); - Assert.assertTrue(hasIncreasingOrder(output, 600)); - } - - - @Test - public void skipLastSamples() throws DataProcessingException { - int sampleRate = 1000; - - input.add(new DataStartSignal(sampleRate)); - input.addAll(createDataInput(500, 500, sampleRate, 0)); - input.addAll(createDataInput(300, 300, sampleRate, 500)); - input.add(new DataEndSignal(0)); - - List output = collectOutput(250); - - Assert.assertEquals(output.size(), 3); - Assert.assertEquals(501, ((DoubleData) output.get(2)).getFirstSampleNumber()); - Assert.assertTrue(hasIncreasingOrder(output, 750)); - } - - - /** - * Returns the processed Data output. - * - * @return an Data object that has been processed by this DataProcessor - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if a data processor error occurs - */ - @Override - public Data getData() throws DataProcessingException { - return input.remove(0); - } - - - public List collectOutput(double blocSizeMs) throws DataProcessingException { - DataBlocker dataBlocker = new DataBlocker(blocSizeMs); - dataBlocker.setPredecessor(this); - - List output = new ArrayList(); - - while (true) { - Data d = dataBlocker.getData(); - if (d instanceof DoubleData) - output.add(d); - if (d instanceof DataEndSignal) - return output; - } - } - - - public static List createDataInput(int numSamples, int blockSize, int sampleRate, int offSet) { - List datas = new ArrayList(); - - double counter = 1; - for (int i = 0; i < numSamples / blockSize; i++) { - double[] values = new double[blockSize]; - datas.add(new DoubleData(values, sampleRate, (long) counter + offSet)); - - for (int j = 0; j < values.length; j++) - values[j] = counter++ + offSet; - } - - return datas; - } - - - /** - * Tests whether the samples of all Datas in the list are ordered in increasing order with +1 - * increments. - */ - public static boolean hasIncreasingOrder(List output, int lastValue) { - int dataCounter = 0; - - for (Data data : output) { - if (data instanceof DoubleData) { - DoubleData dd = (DoubleData) data; - - for (int i = 0; i < dd.getValues().length; i++) { - if ((dataCounter + 1) == dd.getValues()[i]) - dataCounter++; - else - return false; - } - } - } - - return dataCounter == lastValue; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/FrontendElementTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/FrontendElementTest.java deleted file mode 100755 index 1715b6e9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/FrontendElementTest.java +++ /dev/null @@ -1,120 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import static java.lang.Double.parseDouble; -import static java.lang.Float.parseFloat; -import static java.lang.Integer.parseInt; -import static java.lang.Math.abs; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.closeTo; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.instanceOf; - -import java.io.*; -import java.net.URL; - -import org.testng.Assert; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.endpoint.SpeechEndSignal; -import edu.cmu.sphinx.frontend.endpoint.SpeechStartSignal; -import edu.cmu.sphinx.frontend.util.AudioFileDataSource; -import edu.cmu.sphinx.util.props.ConfigurationManager; - - -public class FrontendElementTest { - - @DataProvider(name = "frontendProvider") - public Object[][] provide() { - return new Object[][] { - { - "preempTest", - "after-preemp.dump"}, - { - "windowTest", - "after-window.dump"}, - { - "fftTest", - "after-fft.dump"}, - { - "melTest", - "after-mel.dump"}, - { - "dctTest", - "after-dct.dump"}, - { - "cmnTest", - "after-cmn.dump"}, - { - "feTest", - "after-feature.dump"}}; - } - - @Test(dataProvider = "frontendProvider") - public void testElement(String frontendName, String name) - throws IOException { - URL url = getClass().getResource("frontend.xml"); - ConfigurationManager cm = new ConfigurationManager(url); - - AudioFileDataSource ds = cm.lookup("audioFileDataSource"); - ds.setAudioFile(getClass().getResource("test-feat.wav"), null); - - FrontEnd frontend = cm.lookup(frontendName); - compareDump(frontend, name); - } - - private void compareDump(FrontEnd frontend, String name) - throws NumberFormatException, DataProcessingException, IOException { - InputStream stream = getClass().getResource(name).openStream(); - Reader reader = new InputStreamReader(stream); - BufferedReader br = new BufferedReader(reader); - String line; - - // To dump data next time -// while (true) { -// Data data = frontend.getData(); -// if (data == null) -// break; -// } -// if (false) - - while (null != (line = br.readLine())) { - Data data = frontend.getData(); - - if (line.startsWith("DataStartSignal")) - assertThat(data, instanceOf(DataStartSignal.class)); - if (line.startsWith("DataEndSignal")) - assertThat(data, instanceOf(DataEndSignal.class)); - if (line.startsWith("SpeechStartSignal")) - assertThat(data, instanceOf(SpeechStartSignal.class)); - if (line.startsWith("SpeechEndSignal")) - assertThat(data, instanceOf(SpeechEndSignal.class)); - - if (line.startsWith("Frame")) { - assertThat(data, instanceOf(DoubleData.class)); - - double[] values = ((DoubleData) data).getValues(); - String[] tokens = line.split(" "); - - assertThat(values.length, equalTo(parseInt(tokens[1]))); - - for (int i = 0; i < values.length; i++) - assertThat(values[i], - closeTo(parseDouble(tokens[2 + i]), - abs(0.01 * values[i]))); - } - - if (line.startsWith("FloatFrame")) { - String[] tokens = line.split(" "); - Assert.assertTrue(data instanceof FloatData); - float[] values = ((FloatData) data).getValues(); - Assert.assertEquals(values.length, - (int) Integer.valueOf(tokens[1])); - for (int i = 0; i < values.length; i++) - assertThat(Double.valueOf(values[i]), - closeTo(parseFloat(tokens[2 + i]), - abs(0.01 * values[i]))); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomDataProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomDataProcessor.java deleted file mode 100755 index 1d310e1d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomDataProcessor.java +++ /dev/null @@ -1,97 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import org.testng.annotations.BeforeMethod; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DoubleData; - -/** - * A DataProcessor implemenation which can be used to setup simple unit-tests for other DataProcessors. Addtionally some - * static utility methods which should ease unit-testing of DataProcessors are provided by this class. - * - * @author Holger Brandl - */ -public abstract class RandomDataProcessor extends BaseDataProcessor { - - public static Random r = new Random(123); - - protected List input; - - - @BeforeMethod - public void setUp() { - input = new ArrayList(); - } - - - @Override - public Data getData() throws DataProcessingException { - return input.isEmpty() ? null : input.remove(0); - } - - - public List collectOutput(BaseDataProcessor dataProc) throws DataProcessingException { - dataProc.setPredecessor(this); - - List output = new ArrayList(); - - Data d; - while ((d = dataProc.getData()) != null) { - output.add(d); - } - - return output; - } - - - public static List createFeatVectors(double lengthSec, int sampleRate, long startSample, int featDim, double shiftMs) { - int numFrames = (int) Math.ceil((lengthSec * 1000) / shiftMs); - List datas = new ArrayList(numFrames); - - long curStartSample = startSample; - long shiftSamples = ms2samples((int) shiftMs, sampleRate); - for (int i = 0; i < numFrames; i++) { - double[] values = createRandFeatureVector(featDim, null, null); - datas.add(new DoubleData(values, sampleRate, curStartSample)); - - curStartSample += shiftSamples; - } - - return datas; - } - - - public static double[] createRandFeatureVector(int featDim, double[] mean, double[] variance) { - if (mean == null) { - mean = new double[featDim]; - } - - if (variance == null) { - variance = new double[featDim]; - for (int i = 0; i < variance.length; i++) { - variance[i] = 1; - } - } - - assert featDim == mean.length && featDim == variance.length; - - double[] updBlock = new double[featDim]; - - for (int i = 0; i < updBlock.length; i++) { - updBlock[i] = mean[i] + variance[i] * r.nextDouble(); // *10 to get better debuggable (sprich: merkbarer) values - } - - return updBlock; - } - - - public static long ms2samples(double ms, int sampleRate) { - return Math.round(sampleRate * ms / 1000); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomSampleRepeater.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomSampleRepeater.java deleted file mode 100755 index f8334c29..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/RandomSampleRepeater.java +++ /dev/null @@ -1,301 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import java.util.Random; -import java.util.logging.Logger; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.BaseDataProcessor; -import edu.cmu.sphinx.frontend.Data; -import edu.cmu.sphinx.frontend.DataProcessingException; -import edu.cmu.sphinx.frontend.DataStartSignal; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; - -/** - * A DataProcessor which inserts short speech snippets with variable length into a speech stream. The snippets are takes - * from the local neighborhood of the insertion point. The insertion behavior satisfies a uniform distribution with a - * user defined width. Additionally a insertion of can be enforced at the beginning of the stream. - * - * The purpose of this component is to randomize data to blow a small set of data up to a larger one. - *

- * This component should be put into the processing chain AFTER the SpeechClassifier or BEFORE a DataBlocker. The reason - * for that is, that the current implementation generates blocks with different lengths which would affect the results - * of the SpeechClassifier. - * - * @author Holger Brandl - */ -public class RandomSampleRepeater extends BaseDataProcessor { - - /** The maximal value which could be added to the signal */ - @S4Boolean(defaultValue = false) - public static final String PROP_RAND_STREAM_START = "forceRandStreamStart"; - private boolean randStreamStart; - - - /** - * The maximal number of milliseconds which can be repeated using this randomizer. This number has to smaller than - * the length of the incoming data-blocks, because currently this class does not support data-buffering. - */ - @S4Double(defaultValue = 0.0) - public static final String PROP_MAX_REAPTED_MS = "maxRepeatedMs"; - private double maxRepeatedMs; - private long maxRepeatedSamples = -1; - - - /** - * The property about the width of the uniform distribution which determines the distance between - * different repeated-sample-insertion-points. - */ - @S4Double(defaultValue = 100.0) - public static final String PROP_UNIFORM_DIST_WIDTH = "uDistWidthSec"; - private double uDistWidthSec; - private long uDistWidthSamples = -1; - - - /** - * The property about using random seed or not for the randomization process. if not the stream - * will be randomized every time in the same manner. - */ - @S4Boolean(defaultValue = true) - public static final String PROP_USE_RANDSEED = "useRandSeed"; - private boolean useRandSeed; - - - /** The property for the sample rate. */ - @S4Integer(defaultValue = 16000) - public static final String PROP_SAMPLE_RATE = "sampleRate"; - private int sampleRate; - - - /** The random generator used to compute the insertion points. */ - private Random r; - private Logger logger; - - private long nextInsertionPoint = 0; - private long numInsertedSamples = 0; - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.frontend.DataProcessor#initialize(edu.cmu.sphinx.frontend.CommonConfig) - */ - @Override - public void initialize() { - super.initialize(); - - if (useRandSeed) - r = new Random(); - else - r = new Random(12345); - - uDistWidthSamples = RandomDataProcessor.ms2samples((int) (uDistWidthSec * 1000), sampleRate); - maxRepeatedSamples = RandomDataProcessor.ms2samples((int) (maxRepeatedMs), sampleRate); - } - - - private long computeNextInsertionPoint() { - // compute the next number in samples - - int stepWidth = r.nextInt((int) uDistWidthSamples); - return stepWidth + nextInsertionPoint; - } - - - public void prepareForNewStream() { - if (randStreamStart) - nextInsertionPoint = 0; - else - nextInsertionPoint = computeNextInsertionPoint(); - - // reset the number of inserted samples - numInsertedSamples = 0; - } - - - /** - * Returns the next DoubleData object, which is a dithered version of the input - * - * @return the next available DoubleData object, or null if no Data is available - * @throws edu.cmu.sphinx.frontend.DataProcessingException - * if a data processing error occurred - */ - @Override - public Data getData() throws DataProcessingException { - Data input = getPredecessor().getData(); // get the spectrum - - if (input instanceof DataStartSignal) - prepareForNewStream(); - - if (input != null && maxRepeatedMs != 0) { - if (input instanceof DoubleData || input instanceof FloatData) { - input = process(input); - } - } - - return input; - } - - - /** - * Process data, adding dither - * - * @param input a MelSpectrum frame - * @return a mel Cepstrum frame - */ - private DoubleData process(Data input) throws IllegalArgumentException { - assert input instanceof DoubleData; - - double[] inFeatures; - - DoubleData doubleData = (DoubleData) input; - assert sampleRate == doubleData.getSampleRate(); - - inFeatures = doubleData.getValues(); - - // check wether we reached the next insertion point and repeat some parts of the input part if necessary - double[] extFeatures; - long firstSampleNumber = doubleData.getFirstSampleNumber() + numInsertedSamples; - long lastSampleNumber = doubleData.getFirstSampleNumber() + doubleData.getValues().length - 1; - - if (nextInsertionPoint >= doubleData.getFirstSampleNumber() && nextInsertionPoint <= lastSampleNumber) { - int insertLength = Math.min(r.nextInt((int) maxRepeatedSamples) + 1, inFeatures.length); - - // make sure that after insertion the block-length does not exceed 160 samples because with more SpeechClassifierNT will fail - assert doubleData.getValues().length + insertLength <= 160 : "block too large for next SpeechClassifier"; - - - extFeatures = new double[insertLength + inFeatures.length]; - - logger.fine("RSR: repeat snippet with length " + insertLength + " at position " + nextInsertionPoint); - - // copy the existing block into the new array and replicate the desired snippet inbetween - int startIndex = (int) (nextInsertionPoint - doubleData.getFirstSampleNumber()); - - System.arraycopy(inFeatures, 0, extFeatures, 0, startIndex); - System.arraycopy(inFeatures, 0, extFeatures, startIndex, insertLength); - System.arraycopy(inFeatures, startIndex, extFeatures, startIndex + insertLength, inFeatures.length - startIndex); - numInsertedSamples += insertLength; - nextInsertionPoint = computeNextInsertionPoint(); - } else { - extFeatures = inFeatures; - } - - - DoubleData extendedData = new DoubleData(extFeatures, doubleData.getSampleRate(), - firstSampleNumber); - - return extendedData; - } - - - /* - * (non-Javadoc) - * - * @see edu.cmu.sphinx.util.props.Configurable#newProperties(edu.cmu.sphinx.util.props.PropertySheet) - */ - @Override - public void newProperties(PropertySheet ps) throws PropertyException { - super.newProperties(ps); - - logger = ps.getLogger(); - maxRepeatedMs = ps.getDouble(RandomSampleRepeater.PROP_MAX_REAPTED_MS); - uDistWidthSec = ps.getDouble(RandomSampleRepeater.PROP_UNIFORM_DIST_WIDTH); - useRandSeed = ps.getBoolean(RandomSampleRepeater.PROP_USE_RANDSEED); - randStreamStart = ps.getBoolean(RandomSampleRepeater.PROP_RAND_STREAM_START); - sampleRate = ps.getInt(RandomSampleRepeater.PROP_SAMPLE_RATE); - - initialize(); - } - - - @Test - public void testInsertAtZero() { - RandomSampleRepeater rsr = ConfigurationManager.getInstance(RandomSampleRepeater.class); - rsr.randStreamStart = true; - rsr.useRandSeed = false; - - rsr.initialize(); - rsr.maxRepeatedSamples = 5; - rsr.numInsertedSamples = 20; - rsr.nextInsertionPoint = 5; - - // create a dummy DoubleData - double[] data = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - DoubleData dd = new DoubleData(data, 16000, 0); - - DoubleData extData = rsr.process(dd); - - double[] expectedData = new double[]{1, 2, 3, 4, 5, 1, 2, 6, 7, 8, 9, 10}; - Assert.assertEquals(extData.getFirstSampleNumber(), 20, 0); - Assert.assertEquals(extData.getValues().length, expectedData.length); - - for (int i = 0; i < expectedData.length; i++) { - Assert.assertEquals(extData.getValues()[i], expectedData[i], 0); - } - } - - - @Test - public void testInsertAt4() { - RandomSampleRepeater rsr = ConfigurationManager.getInstance(RandomSampleRepeater.class); - rsr.randStreamStart = true; - rsr.useRandSeed = false; - - rsr.initialize(); - rsr.maxRepeatedSamples = 3; - rsr.numInsertedSamples = 20; - rsr.nextInsertionPoint = 5; - - // create a dummy DoubleData - double[] data = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - DoubleData dd = new DoubleData(data, 16000, 0); - - DoubleData extData = rsr.process(dd); - - double[] expectedData = new double[]{1, 2, 3, 4, 5, 1, 2, 6, 7, 8, 9, 10}; - Assert.assertEquals(extData.getFirstSampleNumber(), 20, 0); - Assert.assertEquals(extData.getValues().length, expectedData.length); - - for (int i = 0; i < expectedData.length; i++) { - Assert.assertEquals(extData.getValues()[i], expectedData[i], 0); - } - } - - - @Test - public void testInsertAtBlockEnd() { - RandomSampleRepeater rsr = ConfigurationManager.getInstance(RandomSampleRepeater.class); - rsr.randStreamStart = true; - rsr.useRandSeed = false; - - rsr.initialize(); - rsr.maxRepeatedSamples = 3; - rsr.numInsertedSamples = 20; - rsr.nextInsertionPoint = 9; - - // create a dummy DoubleData - double[] data = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - DoubleData dd = new DoubleData(data, 16000, 0); - - DoubleData extData = rsr.process(dd); - - double[] expectedData = new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 10}; - Assert.assertEquals(extData.getFirstSampleNumber(), 20, 0); - Assert.assertEquals(extData.getValues().length, expectedData.length); - - for (int i = 0; i < expectedData.length; i++) { - Assert.assertEquals(extData.getValues()[i], expectedData[i], 0); - } - } - - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/SpeechMarkerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/SpeechMarkerTest.java deleted file mode 100755 index 50bc42d2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/frontend/SpeechMarkerTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package edu.cmu.sphinx.frontend; - -import static edu.cmu.sphinx.util.props.ConfigurationManager.getInstance; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.instanceOf; - -import java.util.ArrayList; -import java.util.List; - -import org.hamcrest.Matchers; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.endpoint.*; -import edu.cmu.sphinx.util.props.PropertyException; - - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class SpeechMarkerTest extends RandomDataProcessor { - - public BaseDataProcessor createDataFilter(boolean mergeSpeechSegments) { - try { - SpeechMarker speechMarker = getInstance(SpeechMarker.class); - speechMarker.initialize(); - - return speechMarker; - - } catch (PropertyException e) { - e.printStackTrace(); - } - - return null; - } - - /** - * Test whether the speech marker is able to handle cases in which an - * DataEndSignal occurs somewhere after a SpeechStartSignal. This is might - * occur if the microphone is stopped while someone is speaking. - */ - @Test - public void testEndWithoutSilence() throws DataProcessingException { - int sampleRate = 1000; - input.add(new DataStartSignal(sampleRate)); - input.addAll(createClassifiedSpeech(sampleRate, 2., true)); - input.add(new DataEndSignal(-2)); - - List results = collectOutput(createDataFilter(false)); - - assertThat(results, Matchers.hasSize(104)); - assertThat(results.get(0), instanceOf(DataStartSignal.class)); - assertThat(results.get(1), instanceOf(SpeechStartSignal.class)); - assertThat(results.get(102), instanceOf(SpeechEndSignal.class)); - assertThat(results.get(103), instanceOf(DataEndSignal.class)); - } - - private List createClassifiedSpeech(int sampleRate, - double lengthSec, - boolean isSpeech) { - List datas = new ArrayList(); - List featVecs = createFeatVectors(1, sampleRate, 0, 10, 10); - - for (DoubleData featVec : featVecs) - datas.add(new SpeechClassifiedData(featVec, isSpeech)); - - return datas; - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ArcSortTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ArcSortTest.java deleted file mode 100755 index d52e7c21..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ArcSortTest.java +++ /dev/null @@ -1,145 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import static edu.cmu.sphinx.fst.operations.ArcSort.apply; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.not; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.ILabelCompare; -import edu.cmu.sphinx.fst.operations.OLabelCompare; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - -public class ArcSortTest { - - /** - * Create an output label sorted fst as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ArcSortDoc - * - * @return the created fst - */ - private Fst createOsorted() { - Fst fst = new Fst(new TropicalSemiring()); - - State s1 = new State(0.f); - State s2 = new State(0.f); - State s3 = new State(0.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(4, 1, 0.f, s3)); - s1.addArc(new Arc(5, 2, 0.f, s3)); - s1.addArc(new Arc(2, 3, 0.f, s2)); - s1.addArc(new Arc(1, 4, 0.f, s2)); - s1.addArc(new Arc(3, 5, 0.f, s2)); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(3, 1, 0.f, s3)); - s2.addArc(new Arc(1, 2, 0.f, s3)); - s2.addArc(new Arc(2, 3, 0.f, s2)); - - // State 2 (final) - fst.addState(s3); - - return fst; - } - - /** - * Create an input label sorted fst as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ArcSortDoc - * - * @return the created fst - */ - private Fst createIsorted() { - Fst fst = new Fst(new TropicalSemiring()); - - State s1 = new State(0.f); - State s2 = new State(0.f); - State s3 = new State(0.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(1, 4, 0.f, s2)); - s1.addArc(new Arc(2, 3, 0.f, s2)); - s1.addArc(new Arc(3, 5, 0.f, s2)); - s1.addArc(new Arc(4, 1, 0.f, s3)); - s1.addArc(new Arc(5, 2, 0.f, s3)); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(1, 2, 0.f, s3)); - s2.addArc(new Arc(2, 3, 0.f, s2)); - s2.addArc(new Arc(3, 1, 0.f, s3)); - - // State 2 (final) - fst.addState(s3); - - return fst; - } - - /** - * Create an unsorted fst as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ArcSortDoc - * - * @return the created fst - */ - private Fst createUnsorted() { - Fst fst = new Fst(new TropicalSemiring()); - - State s1 = new State(0.f); - State s2 = new State(0.f); - State s3 = new State(0.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(1, 4, 0.f, s2)); - s1.addArc(new Arc(3, 5, 0.f, s2)); - s1.addArc(new Arc(2, 3, 0.f, s2)); - s1.addArc(new Arc(5, 2, 0.f, s3)); - s1.addArc(new Arc(4, 1, 0.f, s3)); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(2, 3, 0.f, s2)); - s2.addArc(new Arc(3, 1, 0.f, s3)); - s2.addArc(new Arc(1, 2, 0.f, s3)); - - // State 2 (final) - fst.addState(s3); - - return fst; - } - - @Test - public void testArcSort() { - // Input label sort test - Fst fst1 = createUnsorted(); - Fst fst2 = createIsorted(); - assertThat(fst1, not(equalTo(fst2))); - apply(fst1, new ILabelCompare()); - assertThat(fst1, equalTo(fst2)); - - // Output label sort test - fst1 = createUnsorted(); - fst2 = createOsorted(); - assertThat(fst1, not(equalTo(fst2))); - apply(fst1, new OLabelCompare()); - assertThat(fst1, equalTo(fst2)); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeEpsilonTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeEpsilonTest.java deleted file mode 100755 index f181d7d2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeEpsilonTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and redistribution of - * this file, and for a DISCLAIMER OF ALL WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import static edu.cmu.sphinx.fst.Convert.importFst; -import static edu.cmu.sphinx.fst.operations.Compose.get; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * @author John Salatas - * - */ -public class ComposeEpsilonTest { - - @Test - public void testCompose() throws NumberFormatException, IOException, URISyntaxException { - URL url = getClass().getResource("algorithms/composeeps/A.fst.txt"); - File parent = new File(url.toURI()).getParentFile(); - - String path = new File(parent, "A").getPath(); - Fst fstA = importFst(path, new TropicalSemiring()); - path = new File(parent, "B").getPath(); - Fst fstB = importFst(path, new TropicalSemiring()); - path = new File(parent, "fstcomposeeps").getPath(); - Fst fstC = importFst(path, new TropicalSemiring()); - - Fst fstComposed = get(fstA, fstB, new TropicalSemiring()); - assertThat(fstC, equalTo(fstComposed)); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeTest.java deleted file mode 100755 index 4d183fe4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ComposeTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. See the - * file "license.terms" for information on usage and redistribution of this - * file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -package edu.cmu.sphinx.fst; - -import static edu.cmu.sphinx.fst.Convert.importFst; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.Compose; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * Compose Testing for Examples provided by M. Mohri, - * "Weighted Automata Algorithms", Handbook of Weighted Automata, - * Springer-Verlag, 2009, pp. 213–254. - * - * @author John Salatas - */ -public class ComposeTest { - - @Test - public void testCompose() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - String path = "algorithms/compose/fstcompose.fst.ser"; - URL url = getClass().getResource(path); - File parent = new File(url.toURI()).getParentFile(); - - path = new File(parent, "A").getPath(); - Fst fstA = importFst(path, new TropicalSemiring()); - path = new File(parent, "B").getPath(); - Fst fstB = importFst(path, new TropicalSemiring()); - path = new File(parent, "fstcompose.fst.ser").getPath(); - Fst composed = Fst.loadModel(path); - - Fst fstComposed = Compose.get(fstA, fstB, new TropicalSemiring()); - assertThat(composed, equalTo(fstComposed)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ConnectTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ConnectTest.java deleted file mode 100755 index a4674836..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ConnectTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. See the - * file "license.terms" for information on usage and redistribution of this - * file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -package edu.cmu.sphinx.fst; - -import static edu.cmu.sphinx.fst.Convert.importFst; -import static edu.cmu.sphinx.fst.operations.Connect.apply; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * @author John Salatas - */ -public class ConnectTest { - - @Test - public void testConnect() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - String path = "algorithms/connect/fstconnect.fst.ser"; - URL url = getClass().getResource(path); - File parent = new File(url.toURI()).getParentFile(); - - path = new File(parent, "A").getPath(); - Fst fst = importFst(path, new TropicalSemiring()); - path = new File(parent, "fstconnect.fst.ser").getPath(); - Fst connectSaved = Fst.loadModel(path); - - apply(fst); - assertThat(connectSaved, equalTo(fst)); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/DeterminizeTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/DeterminizeTest.java deleted file mode 100755 index 3f7b9e0c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/DeterminizeTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.Determinize; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * @author John Salatas - * - */ -public class DeterminizeTest { - - @Test - public void testDeterminize() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - String path = "algorithms/determinize/fstdeterminize.fst.ser"; - URL url = getClass().getResource(path); - File parent = new File(url.toURI()).getParentFile(); - - path = new File(parent, "A").getPath(); - Fst fstA = Convert.importFst(path, new TropicalSemiring()); - path = new File(parent, "fstdeterminize.fst.ser").getPath(); - Fst determinized = Fst.loadModel(path); - - Fst fstDeterminized = Determinize.get(fstA); - assertThat(determinized, equalTo(fstDeterminized)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ImportTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ImportTest.java deleted file mode 100755 index 7fd76b64..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ImportTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. See the - * file "license.terms" for information on usage and redistribution of this - * file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -package edu.cmu.sphinx.fst; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * @author "John Salatas" - */ -public class ImportTest { - - @Test - public void testConvert() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - URL url = getClass().getResource("openfst/basic.fst"); - String dir = new File(url.toURI()).getParent(); - - String path = new File(dir, "basic").getPath(); - Fst fst1 = Convert.importFst(path, new TropicalSemiring()); - - path = new File(dir, "basic.fst.ser").getPath(); - Fst fst2 = Fst.loadModel(path); - - assertThat(fst1, equalTo(fst2)); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/NShortestPathsTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/NShortestPathsTest.java deleted file mode 100755 index b1676d70..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/NShortestPathsTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst; - -import static edu.cmu.sphinx.fst.Convert.importFst; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.NShortestPaths; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - -/** - * @author John Salatas - * - */ -public class NShortestPathsTest { - - @Test - public void testNShortestPaths() throws NumberFormatException, IOException, URISyntaxException { - String path = "algorithms/shortestpath/A.fst"; - URL url = getClass().getResource(path); - File parent = new File(url.toURI()).getParentFile(); - - path = new File(parent, "A").getPath(); - Fst fst = importFst(path, new TropicalSemiring()); - path = new File(parent, "nsp").getPath(); - Fst nsp = importFst(path, new TropicalSemiring()); - - Fst fstNsp = NShortestPaths.get(fst, 6, true); - assertThat(nsp, equalTo(fstNsp)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ProjectTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ProjectTest.java deleted file mode 100755 index f6ed0904..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ProjectTest.java +++ /dev/null @@ -1,157 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. - * Portions Copyright 2002 Sun Microsystems, Inc. - * Portions Copyright 2002 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.Arc; -import edu.cmu.sphinx.fst.Fst; -import edu.cmu.sphinx.fst.State; -import edu.cmu.sphinx.fst.operations.Project; -import edu.cmu.sphinx.fst.operations.ProjectType; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - -/** - * @author John Salatas - * - */ -public class ProjectTest { - /** - * Create an fst to Project as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ProjectDoc - * - * @return the created fst - */ - private Fst createFst() { - TropicalSemiring ts = new TropicalSemiring(); - Fst fst = new Fst(ts); - - State s1 = new State(ts.zero()); - State s2 = new State(ts.zero()); - State s3 = new State(ts.zero()); - State s4 = new State(2.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(1, 5, 1.f, s2)); - s1.addArc(new Arc(2, 4, 3.f, s2)); - fst.setStart(s1); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(3, 3, 7.f, s2)); - s2.addArc(new Arc(4, 2, 5.f, s3)); - - // State 2 - fst.addState(s3); - s3.addArc(new Arc(5, 1, 9.f, s4)); - - // State 3 - fst.addState(s4); - - return fst; - } - - /** - * Create the Project on Input Labels as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ProjectDoc - * - * @return the created fst - */ - private Fst createPi() { - TropicalSemiring ts = new TropicalSemiring(); - Fst fst = new Fst(ts); - State s1 = new State(ts.zero()); - State s2 = new State(ts.zero()); - State s3 = new State(ts.zero()); - State s4 = new State(2.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(1, 1, 1.f, s2)); - s1.addArc(new Arc(2, 2, 3.f, s2)); - fst.setStart(s1); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(3, 3, 7.f, s2)); - s2.addArc(new Arc(4, 4, 5.f, s3)); - - // State 2 - fst.addState(s3); - s3.addArc(new Arc(5, 5, 9.f, s4)); - - // State 3 - fst.addState(s4); - - return fst; - } - - /** - * Create the Project on Output Labels as per the example at - * http://www.openfst.org/twiki/bin/view/FST/ProjectDoc - * - * @return the created fst - */ - private Fst createPo() { - TropicalSemiring ts = new TropicalSemiring(); - Fst fst = new Fst(ts); - - State s1 = new State(ts.zero()); - State s2 = new State(ts.zero()); - State s3 = new State(ts.zero()); - State s4 = new State(2.f); - - // State 0 - fst.addState(s1); - s1.addArc(new Arc(5, 5, 1.f, s2)); - s1.addArc(new Arc(4, 4, 3.f, s2)); - fst.setStart(s1); - - // State 1 - fst.addState(s2); - s2.addArc(new Arc(3, 3, 7.f, s2)); - s2.addArc(new Arc(2, 2, 5.f, s3)); - - // State 2 - fst.addState(s3); - s3.addArc(new Arc(1, 1, 9.f, s4)); - - // State 3 - fst.addState(s4); - - return fst; - } - - @Test - public void testProject() { - System.out.println("Testing Project..."); - // Project on Input label - Fst fst = createFst(); - Fst p = createPi(); - Project.apply(fst, ProjectType.INPUT); - Assert.assertTrue(fst.equals(p)); - - // Project on Output label - fst = createFst(); - p = createPo(); - Project.apply(fst, ProjectType.OUTPUT); - Assert.assertTrue(fst.equals(p)); - - System.out.println("Testing Project Completed!\n"); - - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ReverseTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ReverseTest.java deleted file mode 100755 index 0abe264e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/ReverseTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * - */ -package edu.cmu.sphinx.fst; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.Reverse; -import edu.cmu.sphinx.fst.semiring.TropicalSemiring; - - -/** - * @author John Salatas - */ -public class ReverseTest { - - @Test - public void testReverse() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - String path = "algorithms/reverse/A.fst"; - URL url = getClass().getResource(path); - File parent = new File(url.toURI()).getParentFile(); - - path = new File(parent, "A").getPath(); - Fst fst = Convert.importFst(path, new TropicalSemiring()); - path = new File(parent, "fstreverse.fst.ser").getPath(); - Fst fstB = Fst.loadModel(path); - - Fst fstReversed = Reverse.get(fst); - assertThat(fstB, equalTo(fstReversed)); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/RmEpsilonTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/RmEpsilonTest.java deleted file mode 100755 index df461772..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/fst/RmEpsilonTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and redistribution of - * this file, and for a DISCLAIMER OF ALL WARRANTIES. - * - */ - -package edu.cmu.sphinx.fst; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.fst.operations.RmEpsilon; -import edu.cmu.sphinx.fst.semiring.ProbabilitySemiring; - - -/** - * @author John Salatas - * - */ -public class RmEpsilonTest { - - @Test - public void testRmEpsilon() throws NumberFormatException, IOException, ClassNotFoundException, URISyntaxException { - URL url = getClass().getResource("algorithms/rmepsilon/A.fst.txt"); - File parent = new File(url.toURI()).getParentFile(); - - String path = new File(parent, "A").getPath(); - Fst fst = Convert.importFst(path, new ProbabilitySemiring()); - path = new File(parent, "fstrmepsilon.fst.ser").getPath(); - Fst fstRmEps = Fst.loadModel(path); - - Fst rmEpsilon = RmEpsilon.get(fst); - assertThat(fstRmEps, equalTo(rmEpsilon)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/WordSequenceTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/WordSequenceTest.java deleted file mode 100755 index e1d2f943..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/WordSequenceTest.java +++ /dev/null @@ -1,85 +0,0 @@ -package edu.cmu.sphinx.linguist; - -import static edu.cmu.sphinx.linguist.WordSequence.asWordSequence; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; - -import java.io.IOException; -import java.net.URL; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; - -public class WordSequenceTest { - - private Dictionary dictionary; - - @BeforeClass - public void setUp() throws IOException { - URL dictUrl = - getClass() - .getResource( - "/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - URL noiseDictUrl = - getClass().getResource( - "/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - dictionary = - new TextDictionary(dictUrl, noiseDictUrl, null, null, - new UnitManager()); - dictionary.allocate(); - } - - @Test - public void equals() { - WordSequence ws = asWordSequence(dictionary, "one", "two", "three"); - assertThat(ws.size(), is(3)); - assertThat(asWordSequence(dictionary, "one", "two", "three"), - equalTo(ws)); - } - - @Test - public void comparison() { - assertThat(asWordSequence(dictionary, "one"), - lessThan(asWordSequence(dictionary, "two"))); - assertThat(asWordSequence(dictionary, "one"), - lessThan(asWordSequence(dictionary, "one", "two"))); - assertThat(asWordSequence(dictionary, "one", "two"), - lessThanOrEqualTo(asWordSequence(dictionary, "one", "two"))); - assertThat(asWordSequence(dictionary, "one", "two", "one"), - greaterThan(asWordSequence(dictionary, "one", "two"))); - assertThat(asWordSequence(dictionary, "one", "two", "one"), - greaterThan(asWordSequence(dictionary, "one", "one", "one"))); - } - - @Test - public void getOldest() { - WordSequence ws = asWordSequence(dictionary, "zero", "six", "one"); - assertThat(asWordSequence(dictionary, "zero", "six"), - equalTo(ws.getOldest())); - assertThat(ws.getOldest().getOldest(), - equalTo(new WordSequence(ws.getWord(0)))); - } - - @Test - public void getNewest() { - WordSequence ws = asWordSequence(dictionary, "one", "two", "three"); - assertThat(asWordSequence(dictionary, "two", "three"), - equalTo(ws.getNewest())); - assertThat(ws.getNewest().getOldest(), equalTo(ws.getOldest() - .getNewest())); - } - - @Test - public void unknownWords() { - assertThat(new WordSequence(Word.UNKNOWN), equalTo(new WordSequence( - Word.UNKNOWN))); - assertThat(new WordSequence(Word.UNKNOWN, Word.UNKNOWN, Word.UNKNOWN), - not(equalTo(new WordSequence(Word.UNKNOWN, Word.UNKNOWN)))); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/test/MixtureComponentTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/test/MixtureComponentTest.java deleted file mode 100755 index ab495cd5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/acoustic/tiedstate/test/MixtureComponentTest.java +++ /dev/null @@ -1,91 +0,0 @@ -/* -* Copyright 1999-2002 Carnegie Mellon University. -* Portions Copyright 2002 Sun Microsystems, Inc. -* Portions Copyright 2002 Mitsubishi Electric Research Laboratories. -* All Rights Reserved. Use is subject to license terms. -* -* See the file "license.terms" for information on usage and -* redistribution of this file, and for a DISCLAIMER OF ALL -* WARRANTIES. -* -*/ - -package edu.cmu.sphinx.linguist.acoustic.tiedstate.test; - -import static java.lang.Math.PI; -import static java.lang.Math.exp; -import static java.lang.Math.sqrt; - -import org.testng.Assert; -import org.testng.annotations.BeforeSuite; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.FloatData; -import edu.cmu.sphinx.linguist.acoustic.tiedstate.MixtureComponent; -import edu.cmu.sphinx.util.LogMath; - -/** - * Some tests which test the functionality of MixtureComponent. - *

- * Currently testing is restricted to univariate gaussians. It should be extended to test high-dimensional gaussians as - * well. - */ -public class MixtureComponentTest { - - @BeforeSuite - public void setupLogMath() { - LogMath.setUseTable(true); - } - - /** - * Compute the density values of a sampled interval with an univariate MixtureComponent and compare - * values with the precomputed-computed ones. - */ - @Test - public void testUnivariateDensity() { - - float minX = 10; - float maxX = 30; - float resolution = 0.1f; - - float mean = 20; - float var = 3; - - MixtureComponent gaussian = new MixtureComponent(new float[]{mean}, new float[]{var}); - - for (float curX = minX; curX <= maxX; curX += resolution) { - double gauLogScore = gaussian.getScore(new FloatData(new float[]{curX}, 16000, 0)); - - double manualScore = (1 / sqrt(var * 2 * PI)) * exp((-0.5 / var) * (curX - mean) * (curX - mean)); - double gauScore = LogMath.getLogMath().logToLinear((float) gauLogScore); - - Assert.assertEquals(manualScore, gauScore, 1E-5); - } - } - - - /** Tests whether working with different types transformations works properly. */ - @Test - public void testUnivariateMeanTransformation() { - float mean = 20; - float var = 0.001f; - - MixtureComponent gaussian = new MixtureComponent(new float[]{mean}, new float[][]{{2}}, new float[]{5}, new float[]{var}, null, null); - Assert.assertTrue(LogMath.getLogMath().logToLinear(gaussian.getScore(new float[]{2 * mean + 5})) > 10); - } - - - /** Tests whether a MixtureComponents can be cloned (using deep copying). */ - @Test - public void testClone() throws CloneNotSupportedException { - MixtureComponent gaussian = new MixtureComponent(new float[]{2}, new float[][]{{3}}, new float[]{4}, new float[]{5}, new float[][]{{6}}, new float[]{7}); - - MixtureComponent clonedGaussian = gaussian.clone(); - - Assert.assertTrue(!clonedGaussian.equals(gaussian)); - - Assert.assertTrue(gaussian.getMean() != clonedGaussian.getMean()); - Assert.assertTrue(gaussian.getVariance() != clonedGaussian.getVariance()); - Assert.assertTrue(gaussian.getScore(new float[]{2}) == clonedGaussian.getScore(new float[]{2})); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/dictionary/DictionaryTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/dictionary/DictionaryTest.java deleted file mode 100755 index b1a0f68b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/dictionary/DictionaryTest.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. Portions Copyright 2012 Nexiwave All Rights Reserved. Use is - * subject to license terms. See the file "license.terms" for information on - * usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.dictionary; - -import static org.testng.AssertJUnit.assertTrue; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.arrayWithSize; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.nullValue; - -import java.io.IOException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.acoustic.UnitManager; - - -public class DictionaryTest { - - @Test - public void testDictionary() throws IOException { - URL dictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - URL noiseDictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - Dictionary dictionary = new TextDictionary(dictUrl, - noiseDictUrl, - null, - null, - new UnitManager()); - dictionary.allocate(); - Word word = dictionary.getWord("one"); - - assertThat(word.getPronunciations(), arrayWithSize(2)); - assertThat(word.getPronunciations()[0].toString(), - equalTo("one(W AH N )")); - assertThat(word.getPronunciations()[1].toString(), - equalTo("one(HH W AH N )")); - - word = dictionary.getWord("something_missing"); - assertThat(word, nullValue()); - - assertThat(dictionary.getSentenceStartWord().getSpelling(), - equalTo("")); - assertThat(dictionary.getSentenceEndWord().getSpelling(), - equalTo("")); - assertThat(dictionary.getSilenceWord().getSpelling(), equalTo("")); - - assertThat(dictionary.getFillerWords(), arrayWithSize(5)); - } - - @Test - public void testBadDictionary() throws IOException { - URL dictUrl = getClass() - .getResource("/edu/cmu/sphinx/linguist/dictionary/bad.dict"); - URL noiseDictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - Dictionary dictionary = new TextDictionary(dictUrl, - noiseDictUrl, - null, - null, - new UnitManager()); - boolean failed = false; - try { - dictionary.allocate(); - } catch (Error e) { - failed = true; - } - assertTrue(failed); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.java deleted file mode 100755 index 8d6b29e0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. Portions Copyright 2012 Nexiwave All Rights Reserved. Use is - * subject to license terms. See the file "license.terms" for information on - * usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.language.grammar; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.isOneOf; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; - - -public class BatchForcedAlignerGrammarTest { - - @Test - public void testForcedAlignerGrammar() throws IOException, URISyntaxException { - URL dictionaryUrl = getClass() - .getResource( - "/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - URL noisedictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - Dictionary dictionary = new TextDictionary(dictionaryUrl, - noisedictUrl, - null, - null, - new UnitManager()); - - URL url = getClass().getResource("BatchForcedAlignerGrammarTest.utts"); - BatchForcedAlignerGrammar grammar; - grammar = new BatchForcedAlignerGrammar(new File(url.toURI()).getPath(), - true, - true, - true, - true, - dictionary); - grammar.allocate(); - assertThat(grammar.getRandomSentence(), isOneOf("one", "two", "three")); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.java deleted file mode 100755 index 8ce70fbc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package edu.cmu.sphinx.linguist.language.grammar; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.hasSize; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; - - -public class FSTGrammarTest { - - @Test - public void testForcedAlignerGrammar() throws IOException, URISyntaxException { - URL dictionaryUrl = getClass().getResource("FSTGrammarTest.dic"); - URL noisedictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - Dictionary dictionary = new TextDictionary(dictionaryUrl, - noisedictUrl, - null, - null, - new UnitManager()); - - URL url = getClass().getResource("FSTGrammarTest.gram"); - FSTGrammar grammar = new FSTGrammar(new File(url.toURI()).getPath(), - true, - true, - true, - true, - dictionary); - grammar.allocate(); - assertThat(grammar.getGrammarNodes(), hasSize(14)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModelTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModelTest.java deleted file mode 100755 index 6ad042f9..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/DynamicTrigramModelTest.java +++ /dev/null @@ -1,102 +0,0 @@ -package edu.cmu.sphinx.linguist.language.ngram; - - -import static edu.cmu.sphinx.util.LogMath.getLogMath; -import static java.util.Arrays.asList; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; -import static org.hamcrest.Matchers.containsInAnyOrder; -import static org.hamcrest.Matchers.equalTo; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; - - -public class DynamicTrigramModelTest { - - private Dictionary dictionary; - - @BeforeClass - public void setUp() throws IOException { - URL dictUrl = - getClass() - .getResource( - "/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - URL noiseDictUrl = - getClass().getResource( - "/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - dictionary = - new TextDictionary(dictUrl, noiseDictUrl, null, null, - new UnitManager()); - dictionary.allocate(); - } - - @Test - public void unigramModel() throws IOException { - DynamicTrigramModel model = new DynamicTrigramModel(dictionary); - model.setText(asList("one")); - model.allocate(); - assertThat(model.getVocabulary(), contains("one")); - assertThat(model.getProbability(new WordSequence(dictionary - .getWord("one"))), equalTo(getLogMath().linearToLog(1.0/3))); - } - - @Test - public void bigramModel() throws IOException { - DynamicTrigramModel model = new DynamicTrigramModel(dictionary); - model.setText(asList("one", "two")); - model.allocate(); - assertThat(model.getVocabulary(), containsInAnyOrder("one", "two")); - } - - @Test - public void trigramModel() throws IOException { - DynamicTrigramModel model = new DynamicTrigramModel(dictionary); - model.setText(asList("one", "two", "three")); - model.allocate(); - assertThat(model.getVocabulary(), - containsInAnyOrder("one", "two", "three")); - } - - @Test(enabled = false) - public void compareWithPrecomputed() throws ClassNotFoundException, - IOException { - DynamicTrigramModel model = new DynamicTrigramModel(dictionary); - URL url = getClass().getResource("npr.transcript"); - - Scanner scanner = new Scanner(new File("../words")); - List words = new ArrayList(); - while (scanner.hasNext()) { - words.add(scanner.next()); - } - scanner.close(); - model.setText(words); - model.allocate(); - url = getClass().getResource("npr.lm"); - SimpleNGramModel simpleModel = - new SimpleNGramModel(url.getPath(), dictionary, 1.f, -1); - model.allocate(); - simpleModel.allocate(); - assertThat(model.getVocabulary(), equalTo(simpleModel.getVocabulary())); - for (WordSequence wordSequence : simpleModel.getNGrams()) { - if (wordSequence.size() < 3) - continue; - System.err.println(wordSequence); - assertThat(model.getProbability(wordSequence), - equalTo(simpleModel.getProbability(wordSequence))); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNgramTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNgramTest.java deleted file mode 100755 index 83504b86..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/linguist/language/ngram/large/LargeNgramTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 1999-2012 Carnegie Mellon University. Portions Copyright 2002 Sun - * Microsystems, Inc. Portions Copyright 2002 Mitsubishi Electric Research - * Laboratories. Portions Copyright 2012 Nexiwave All Rights Reserved. Use is - * subject to license terms. See the file "license.terms" for information on - * usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ -package edu.cmu.sphinx.linguist.language.ngram.large; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.closeTo; -import static org.hamcrest.Matchers.equalTo; - -import java.io.IOException; -import java.net.URL; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.linguist.WordSequence; -import edu.cmu.sphinx.linguist.acoustic.UnitManager; -import edu.cmu.sphinx.linguist.dictionary.Dictionary; -import edu.cmu.sphinx.linguist.dictionary.TextDictionary; -import edu.cmu.sphinx.linguist.dictionary.Word; - - -public class LargeNgramTest { - - @Test - public void testNgram() throws IOException { - URL dictUrl = getClass().getResource("100.dict"); - URL noisedictUrl = getClass() - .getResource("/edu/cmu/sphinx/models/en-us/en-us/noisedict"); - - Dictionary dictionary = new TextDictionary(dictUrl, - noisedictUrl, - null, - null, - new UnitManager()); - - URL lm = getClass().getResource("100.arpa.dmp"); - LargeTrigramModel model = new LargeTrigramModel("", - lm, - null, - 100, - 100, - false, - 3, - dictionary, - false, - 1.0f, - 1.0f, - 1.0f, - false); - dictionary.allocate(); - model.allocate(); - assertThat(model.getMaxDepth(), equalTo(3)); - - Word[] words = { - new Word("huggins", null, false), - new Word("daines", null, false)}; - assertThat((double) model.getProbability(new WordSequence(words)), - closeTo(-830.862, .001)); - - Word[] words1 = { - new Word("huggins", null, false), - new Word("daines", null, false), - new Word("david", null, false)}; - assertThat((double) model.getProbability(new WordSequence(words1)), - closeTo(-67625.77, .01)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeCompTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeCompTest.java deleted file mode 100755 index fe3a2247..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeCompTest.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. Portions Copyright 2004 Sun - * Microsystems, Inc. Portions Copyright 2004 Mitsubishi Electric Research - * Laboratories. All Rights Reserved. Use is subject to license terms. See the - * file "license.terms" for information on usage and redistribution of this - * file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -package edu.cmu.sphinx.result; - -import static org.testng.AssertJUnit.assertTrue; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.Iterator; - -import javax.sound.sampled.UnsupportedAudioFileException; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.api.StreamSpeechRecognizer; - -/** - * Compares the lattices generated when the LexTreeLinguist flag 'keepAllTokens' - * is turned on/off. - */ -public class LatticeCompTest { - - /** - * Main method for running the LatticeCompTest demo. - * - * @throws IOException - * @throws UnsupportedAudioFileException - */ - @Test - public void testLatticeComp() throws UnsupportedAudioFileException, IOException { - - Configuration configuration = new Configuration(); - - // Load model from the jar - configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/result/hellongram.trigram.lm"); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration); - InputStream stream = LatticeCompTest.class.getResourceAsStream("green.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.startRecognition(stream); - SpeechResult result = recognizer.getResult(); - Lattice lattice = result.getLattice(); - - Lattice otherLattice = Lattice.readSlf(getClass().getResourceAsStream("correct.slf")); - - Collection latNodes = lattice.getNodes(); - Collection otherLatNodes = otherLattice.getNodes(); - Iterator it = latNodes.iterator(); - boolean latticesAreEquivalent = true; - while (it.hasNext()) { - Node node = it.next(); - Iterator otherIt = otherLatNodes.iterator(); - boolean hasEquivalentNode = false; - while (otherIt.hasNext()) { - Node otherNode = otherIt.next(); - boolean nodesAreEquivalent = node.getWord().getSpelling().equals(otherNode.getWord().getSpelling()) - && node.getEnteringEdges().size() == otherNode.getEnteringEdges().size() - && node.getLeavingEdges().size() == otherNode.getLeavingEdges().size(); - if (nodesAreEquivalent) { - hasEquivalentNode = true; - break; - } - } - - if (!hasEquivalentNode) { - latticesAreEquivalent = false; - break; - } - } - assertTrue(latticesAreEquivalent); - - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeIOTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeIOTest.java deleted file mode 100755 index 3b67dd9b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/LatticeIOTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. See the - * file "license.terms" for information on usage and redistribution of this - * file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -package edu.cmu.sphinx.result; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.util.Iterator; - -import javax.sound.sampled.UnsupportedAudioFileException; - -import org.testng.annotations.AfterTest; -import org.testng.annotations.Test; -import org.testng.Assert; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.api.StreamSpeechRecognizer; -import edu.cmu.sphinx.result.Lattice; -import edu.cmu.sphinx.result.WordResult; - -/** - * Compares the lattices after recognition and loaded from file for LAT and HTK - * format - */ -public class LatticeIOTest { - - private File latFile = new File("tmp.lat"); - private File slfFile = new File("tmp.slf"); - - /** - * Method for cleaning tmp files if any was created - */ - @AfterTest - public void removeTmpFiles() { - if (latFile.exists()) - latFile.delete(); - if (slfFile.exists()) - slfFile.delete(); - } - - /** - * Main method for running the LatticeIOTest demo. - * - * @throws IOException - * @throws UnsupportedAudioFileException - */ - @Test - public void testLatticeIO() throws UnsupportedAudioFileException, IOException { - Configuration configuration = new Configuration(); - - // Load model from the jar - configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/result/hellongram.trigram.lm"); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration); - InputStream stream = getClass().getResourceAsStream("green.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.startRecognition(stream); - SpeechResult result = recognizer.getResult(); - Lattice lattice = result.getLattice(); - - lattice.dump(latFile.getAbsolutePath()); - lattice.dumpSlf(new FileWriter(slfFile)); - - Lattice latLattice = new Lattice(latFile.getAbsolutePath()); - latLattice.computeNodePosteriors(1.0f); - Lattice slfLattice = Lattice.readSlf(slfFile.getAbsolutePath()); - - slfLattice.computeNodePosteriors(1.0f); - Iterator latIt = lattice.getWordResultPath().iterator(); - Iterator latLatIt = latLattice.getWordResultPath().iterator(); - Iterator slfLatIt = slfLattice.getWordResultPath().iterator(); - while (latIt.hasNext()) { - WordResult latWord = latIt.next(); - WordResult latLatWord = latLatIt.next(); - WordResult slfLatWord = slfLatIt.next(); - Assert.assertEquals(latWord.getWord().toString(), latLatWord.getWord().toString()); - Assert.assertEquals(latWord.getWord().toString(), slfLatWord.getWord().toString()); - Assert.assertEquals(latWord.getTimeFrame().getStart(), latLatWord.getTimeFrame().getStart()); - } - Assert.assertEquals(lattice.getTerminalNode().getViterbiScore(), latLattice.getTerminalNode().getViterbiScore(), 0.001); - Assert.assertEquals(lattice.getTerminalNode().getViterbiScore(), slfLattice.getTerminalNode().getViterbiScore(), 0.001); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/PosteriorTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/PosteriorTest.java deleted file mode 100755 index c2ff3500..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/result/PosteriorTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 1999-2004 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ - -package edu.cmu.sphinx.result; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.result.Lattice; -import edu.cmu.sphinx.result.Node; -import edu.cmu.sphinx.util.LogMath; - -/** - * Tests the posterior score computation code. Sets up a simple lattice, and - * dumps out the posterior probabilities of each node. - */ -public class PosteriorTest { - - @Test - public void testPosterior() { - - LogMath logMath = LogMath.getLogMath(); - - Lattice lattice = new Lattice(); - - Node a = lattice.addNode("A", "A", 0, 0); - Node b = lattice.addNode("B", "B", 0, 0); - Node c = lattice.addNode("C", "C", 0, 0); - Node d = lattice.addNode("D", "D", 0, 0); - - double acousticAB = 4; - double acousticAC = 6; - double acousticCB = 1; - double acousticBD = 5; - double acousticCD = 2; - - lattice.setInitialNode(a); - lattice.setTerminalNode(d); - - lattice.addEdge(a, b, logMath.linearToLog(acousticAB), 0); - lattice.addEdge(a, c, logMath.linearToLog(acousticAC), 0); - lattice.addEdge(c, b, logMath.linearToLog(acousticCB), 0); - lattice.addEdge(b, d, logMath.linearToLog(acousticBD), 0); - lattice.addEdge(c, d, logMath.linearToLog(acousticCD), 0); - - lattice.computeNodePosteriors(1.0f); - double pathABD = acousticAB * acousticBD; - double pathACBD = acousticAC * acousticCB * acousticBD; - double pathACD = acousticAC * acousticCD; - double allPaths = pathABD + pathACBD + pathACD; - - double bPosterior = (pathABD + pathACBD) / allPaths; - double cPosterior = (pathACBD + pathACD) / allPaths; - - double delta = 1e-4; - Assert.assertEquals (logMath.logToLinear((float) a.getPosterior()), 1.0, delta); - Assert.assertEquals (logMath.logToLinear((float) b.getPosterior()), bPosterior, delta); - Assert.assertEquals (logMath.logToLinear((float) c.getPosterior()), cPosterior, delta); - Assert.assertEquals (logMath.logToLinear((float) d.getPosterior()), 1.0, delta); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/tools/bandwidth/BandDetectorTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/tools/bandwidth/BandDetectorTest.java deleted file mode 100755 index 48fd3812..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/tools/bandwidth/BandDetectorTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. All Rights Reserved. Use is - * subject to license terms. See the file "license.terms" for information on - * usage and redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.tools.bandwidth; - -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; - -import java.io.File; -import java.net.URISyntaxException; - -import org.testng.annotations.Test; - - -public class BandDetectorTest { - - @Test - public void test() throws URISyntaxException { - BandDetector detector = new BandDetector(); - String path; - path = new File(getClass().getResource("10001-90210-01803-8khz.wav").toURI()).getPath(); - assertTrue(detector.bandwidth(path)); - path = new File(getClass().getResource("10001-90210-01803.wav").toURI()).getPath(); - assertFalse(detector.bandwidth(path)); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyFrontEnd.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyFrontEnd.java deleted file mode 100755 index 002ec338..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyFrontEnd.java +++ /dev/null @@ -1,5 +0,0 @@ -package edu.cmu.sphinx.util.props; - -public class AnotherDummyFrontEnd extends DummyFrontEnd { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyProcessor.java deleted file mode 100755 index c1c39e75..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/AnotherDummyProcessor.java +++ /dev/null @@ -1,10 +0,0 @@ -package edu.cmu.sphinx.util.props; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class AnotherDummyProcessor extends DummyProcessor { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/CMUTests.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/CMUTests.java deleted file mode 100755 index c90ed676..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/CMUTests.java +++ /dev/null @@ -1,50 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.io.File; -import java.io.IOException; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.frontend.DataProcessor; -import edu.cmu.sphinx.frontend.DoubleData; -import edu.cmu.sphinx.frontend.FrontEnd; -import edu.cmu.sphinx.instrumentation.AccuracyTracker; -import edu.cmu.sphinx.instrumentation.BestPathAccuracyTracker; -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.ConfigurationManagerUtils; - -/** Some unit-tests for the ConfigurationManagerUtils. */ -public class CMUTests { - - @Test - public void testClassTesting() { - Assert.assertTrue(ConfigurationManagerUtils.isImplementingInterface(FrontEnd.class, DataProcessor.class)); - Assert.assertTrue(ConfigurationManagerUtils.isImplementingInterface(DataProcessor.class, Configurable.class)); - Assert.assertFalse(ConfigurationManagerUtils.isImplementingInterface(Configurable.class, Configurable.class)); - - Assert.assertFalse(ConfigurationManagerUtils.isSubClass(Configurable.class, Configurable.class)); - Assert.assertTrue(ConfigurationManagerUtils.isSubClass(Integer.class, Object.class)); - Assert.assertFalse(ConfigurationManagerUtils.isSubClass(Object.class, Object.class)); - - Assert.assertTrue(ConfigurationManagerUtils.isSubClass(BestPathAccuracyTracker.class, AccuracyTracker.class)); - - Assert.assertTrue(ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, AccuracyTracker.class)); - Assert.assertTrue(ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, BestPathAccuracyTracker.class)); - Assert.assertTrue(!ConfigurationManagerUtils.isDerivedClass(BestPathAccuracyTracker.class, DoubleData.class)); - } - - - @Test - public void setComponentPropertyTest() throws IOException { - File configFile = new File("src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl"); - ConfigurationManager cm = new ConfigurationManager(configFile.toURI().toURL()); - - int newBeamWidth = 4711; - ConfigurationManagerUtils.setProperty(cm, "beamWidth", String.valueOf(newBeamWidth)); - - DummyComp dummyComp = (DummyComp) cm.lookup("duco"); - Assert.assertEquals(newBeamWidth, dummyComp.getBeamWidth()); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentListTests.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentListTests.java deleted file mode 100755 index ebd580ce..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentListTests.java +++ /dev/null @@ -1,31 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.props.ConfigurationManager; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class ComponentListTests { - - - @Test - public void testInvalidList() { - ConfigurationManager cm = new ConfigurationManager(); - - Map props = new HashMap(); - cm.addConfigurable(DummyProcessor.class, "dummyA"); - props.put(DummyFrontEnd.DATA_PROCS, Arrays.asList("dummyA, dummyB")); - cm.addConfigurable(DummyFrontEnd.class, "dfe", props); - - cm.lookup("dfe"); - } - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentPropertyTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentPropertyTest.java deleted file mode 100755 index e7bec7e5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ComponentPropertyTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Component; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class ComponentPropertyTest implements Configurable { - - @S4Component(type = DummyProcessor.class, defaultClass = AnotherDummyProcessor.class) - public static final String PROP_DATA_PROC = "dataProc"; - private DummyProcessor dataProc; - - - public void newProperties(PropertySheet ps) throws PropertyException { - dataProc = (DummyProcessor) ps.getComponent(PROP_DATA_PROC); - } - - - public String getName() { - return this.getClass().getName(); - } - - - @Test - public void testDefInstance() throws PropertyException, InstantiationException { - ComponentPropertyTest cpt = ConfigurationManager.getInstance(ComponentPropertyTest.class); - - Assert.assertTrue(cpt != null); - Assert.assertTrue(cpt.dataProc instanceof AnotherDummyProcessor); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ConfigurationManagerTest.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ConfigurationManagerTest.java deleted file mode 100755 index 8936f61c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/ConfigurationManagerTest.java +++ /dev/null @@ -1,140 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import static java.lang.Double.MIN_VALUE; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; -import static org.testng.Assert.assertEquals; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import org.hamcrest.Matchers; -import org.testng.annotations.Test; - - -/** - * Some unit tests, which ensure a proper implementation of configuration - * management. - * - * @author Holger Brandl - */ - -public class ConfigurationManagerTest { - - @Test - public void testDynamicConfCreation() throws PropertyException, - InstantiationException { - ConfigurationManager cm = new ConfigurationManager(); - - String instanceName = "docu"; - Map props = new HashMap(); - props.put(DummyComp.PROP_FRONTEND, new DummyFrontEnd()); - cm.addConfigurable(DummyComp.class, instanceName, props); - - assertThat(cm.getPropertySheet(instanceName), notNullValue()); - assertThat(cm.lookup(instanceName), notNullValue()); - assertThat(cm.lookup(instanceName), instanceOf(DummyComp.class)); - } - - @Test - public void testSerialization() throws IOException, PropertyException { - URL url = getClass() - .getResource("ConfigurationManagerTest.testconfig.sxl"); - ConfigurationManager cm = new ConfigurationManager(url); - - File tmpFile = File.createTempFile("ConfigurationManager", ".tmp.sxl"); - tmpFile.deleteOnExit(); - ConfigurationManagerUtils.save(cm, tmpFile); - - // Now reload it. - url = tmpFile.toURI().toURL(); - ConfigurationManager cmReloaded = new ConfigurationManager(url); - assertThat(cmReloaded, equalTo(cm)); - } - - @Test - public void testDynamicConfiguruationChange() throws IOException, - PropertyException, InstantiationException { - URL url = getClass() - .getResource("ConfigurationManagerTest.testconfig.sxl"); - ConfigurationManager cm = new ConfigurationManager(url); - - assertThat(cm.getInstanceNames(DummyFrontEndProcessor.class), empty()); - - PropertySheet propSheet = cm.getPropertySheet("duco"); - propSheet.setDouble("alpha", 11); - DummyComp duco = cm.lookup("duco"); - - assertThat(cm.getInstanceNames(DummyFrontEndProcessor.class), - hasSize(1)); - - // IMPORTANT because we assume the configurable to be instantiated - // first at lookup there is no need to call newProperties here - // duco.newProperties(propSheet); - assertThat(duco.getAlpha(), closeTo(11, MIN_VALUE)); - } - - @Test - public void testSerializeDynamicConfiguration() throws PropertyException, - InstantiationException { - ConfigurationManager cm = new ConfigurationManager(); - String frontEndName = "myFrontEnd"; - - cm.addConfigurable(DummyFrontEnd.class, frontEndName); - PropertySheet propSheet = cm.getPropertySheet(frontEndName); - propSheet - .setComponentList("dataProcs", Arrays.asList("fooBar"), Arrays - . asList(new AnotherDummyProcessor())); - - String xmlString = ConfigurationManagerUtils.toXML(cm); - - assertThat(xmlString, containsString(frontEndName)); - assertThat(xmlString, containsString("fooBar")); - - DummyFrontEnd frontEnd = (DummyFrontEnd) cm.lookup(frontEndName); - assertThat(frontEnd.getDataProcs(), hasSize(1)); - assertThat(frontEnd.getDataProcs().get(0), - instanceOf(AnotherDummyProcessor.class)); - } - - @Test - public void testXmlExtendedConfiguration() { - URL url = getClass().getResource("ConfigurationManagerTest.sxl"); - ConfigurationManager cm = new ConfigurationManager(url); - - String instanceName = "duco"; - assertThat(cm.getPropertySheet(instanceName), notNullValue()); - assertThat(cm.lookup(instanceName), notNullValue()); - assertThat(cm.lookup(instanceName), instanceOf(DummyComp.class)); - - DummyComp docu = (DummyComp) cm.lookup(instanceName); - - // Test the parameters were successfully overridden. - assertThat(docu.getFrontEnd().getDataProcs(), Matchers.empty()); - assertThat(docu.getBeamWidth(), equalTo(4711)); - - // Test the the non-overridden properties of the parent-configuration - // were preserved. - assertThat(cm.lookup("processor"), notNullValue()); - // Test the global properties: - assertThat(cm.getGlobalProperty("myalpha"), equalTo("-5")); - assertThat(cm.getGlobalProperty("hiddenproductad"), - equalTo("opencards")); - } - - @Test - public void testGetComponentClass() { - URL url = getClass().getResource("ConfigurationManagerTest.sxl"); - ConfigurationManager cm = new ConfigurationManager(url); - - String instanceName = "duco"; - PropertySheet ps = cm.getPropertySheet(instanceName); - assertEquals(ps.getComponentClass("frontend"), DummyFrontEnd.class); - assertEquals(ps.getComponentClass("anotherFrontend"), - DummyFrontEnd.class); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyComp.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyComp.java deleted file mode 100755 index d06b9524..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyComp.java +++ /dev/null @@ -1,160 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.logging.Logger; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4Integer; -import edu.cmu.sphinx.util.props.S4String; - - -public class DummyComp implements Configurable { - - /** doc of beamWidth. */ - @S4Integer(defaultValue = 4) - public static final String PROP_BEAM_WIDTH = "beamWidth"; - - @S4String(defaultValue = "salami&cheese") - public static final String PROP_BEST_PIZZA = "bestPizza"; - - @S4Boolean(defaultValue = true) - public static final String PROP_USE_FOOBAR = "useFooBar"; - - @S4Boolean(defaultValue = true) - public static final String PROP_USE_FOOBAZ = "useFooBaz"; - - /** doc of frontend. */ - @S4Component(type = DummyFrontEnd.class, defaultClass = AnotherDummyFrontEnd.class) - public static final String PROP_FRONTEND = "frontend"; - - @S4Double(defaultValue = 1.3, range = {-1, 15}) - public static final String PROP_ALPHA = "alpha"; - - /** doc of the string. */ - @S4String(defaultValue = "sphinx4", range = {"sphinx4", "htk"}) - public static final String PROP_BEST_ASR = "bestAsrSystem"; - - - private int beamWidth; - private DummyFrontEnd frontEnd; - private String bestAsr; - private double alpha; - private boolean useFooBaz; - - private Logger logger; - - - public int getBeamWidth() { - return beamWidth; - } - - - public DummyFrontEnd getFrontEnd() { - return frontEnd; - } - - - public String getBestASR() { - return bestAsr; - } - - - public double getAlpha() { - return alpha; - } - - - public Logger getLogger() { - return logger; - } - - - public void newProperties(PropertySheet ps) throws PropertyException { - frontEnd = (DummyFrontEnd) ps.getComponent(PROP_FRONTEND); - beamWidth = ps.getInt(PROP_BEAM_WIDTH); - bestAsr = ps.getString(PROP_BEST_ASR); - alpha = ps.getDouble(PROP_ALPHA); - useFooBaz = ps.getBoolean(PROP_USE_FOOBAZ); - - logger = ps.getLogger(); - } - - - public String getName() { - return "lalala"; - } - - - @Test - public void testGetDefaultInstance() throws PropertyException, InstantiationException { - DummyComp dc = ConfigurationManager.getInstance(DummyComp.class); - - Assert.assertEquals(4, dc.getBeamWidth()); - Assert.assertEquals(1.3, dc.getAlpha(), 1E-10); - Assert.assertEquals (false, useFooBaz); - - DummyFrontEnd fe = dc.getFrontEnd(); - Assert.assertTrue(fe != null); - Assert.assertTrue(fe instanceof AnotherDummyFrontEnd); - Assert.assertTrue(fe.getDataProcs().size() == 3); - Assert.assertTrue(fe.getDataProcs().get(0) instanceof DummyProcessor); - Assert.assertTrue(fe.getDataProcs().get(1) instanceof AnotherDummyProcessor); - Assert.assertTrue(fe.getDataProcs().get(2) instanceof DummyProcessor); - - Assert.assertTrue(dc.getBestASR().equals("sphinx4")); - Assert.assertTrue(dc.getLogger() != null); - } - - - /** Use the all defaults defined by the annotations to instantiate a Configurable. */ - @Test - public void testCustomizedDefaultInstance() throws PropertyException, InstantiationException { - Map defaultProps = new HashMap(); - defaultProps.put(DummyComp.PROP_FRONTEND, new DummyFrontEnd()); - - DummyComp dc = ConfigurationManager.getInstance(DummyComp.class, defaultProps); - - Assert.assertEquals(4, dc.getBeamWidth()); - Assert.assertEquals(1.3, dc.getAlpha(), 1E-10); - Assert.assertTrue(dc.getFrontEnd() != null); - Assert.assertTrue(dc.getBestASR().equals("sphinx4")); - Assert.assertTrue(dc.getLogger() != null); - } - - - @Test - public void testUseXmlConfig() throws IOException, PropertyException, InstantiationException { - // probably you need to adpat this path. testconfig is located in the same folder as test - File configFile = new File("src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl"); - if (!configFile.exists()) - Assert.fail("can not find configuration file to be used for test"); - - ConfigurationManager cm = new ConfigurationManager(configFile.toURI().toURL()); - - DummyComp dc = (DummyComp) cm.lookup("duco"); - - Assert.assertEquals(dc.getBeamWidth(), 123); - Assert.assertEquals(9.99, dc.getAlpha(), 1E-10); - - Assert.assertTrue(dc.getFrontEnd() != null); - Assert.assertTrue(dc.getFrontEnd().isUseMfccs()); - Assert.assertTrue(dc.getFrontEnd().getDataProcs().size() == 2); - - Assert.assertTrue(dc.getBestASR().equals("sphinx4")); - Assert.assertTrue(dc.getLogger() != null); - } -} - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEnd.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEnd.java deleted file mode 100755 index 72ca1092..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEnd.java +++ /dev/null @@ -1,49 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.util.List; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.S4Boolean; -import edu.cmu.sphinx.util.props.S4ComponentList; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class DummyFrontEnd implements Configurable { - - @S4Boolean(defaultValue = true) - public static final String PROP_USE_MFFCS = "useMfccs"; - boolean useMfccs; - - @S4ComponentList( - type = Configurable.class, beTolerant = true, - defaultList = {DummyProcessor.class, AnotherDummyProcessor.class, DummyProcessor.class} - ) - public static final String DATA_PROCS = "dataProcs"; - List dataProcs; - - - public void newProperties(PropertySheet ps) throws PropertyException { - useMfccs = ps.getBoolean(PROP_USE_MFFCS); - dataProcs = ps.getComponentList(DATA_PROCS, Configurable.class); - } - - - public boolean isUseMfccs() { - return useMfccs; - } - - - public List getDataProcs() { - return dataProcs; - } - - - public String getName() { - return this.getClass().getName(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEndProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEndProcessor.java deleted file mode 100755 index 62930745..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyFrontEndProcessor.java +++ /dev/null @@ -1,12 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import edu.cmu.sphinx.util.props.Configurable; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public interface DummyFrontEndProcessor extends Configurable { - -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyProcessor.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyProcessor.java deleted file mode 100755 index 99e65867..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/DummyProcessor.java +++ /dev/null @@ -1,21 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class DummyProcessor implements DummyFrontEndProcessor { - - - public void newProperties(PropertySheet ps) throws PropertyException { - } - - - public String getName() { - return this.getClass().getName(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/TestConfigurable.java b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/TestConfigurable.java deleted file mode 100755 index f0bc977a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/java/edu/cmu/sphinx/util/props/TestConfigurable.java +++ /dev/null @@ -1,110 +0,0 @@ -package edu.cmu.sphinx.util.props; - -import java.util.HashMap; -import java.util.Map; - -import org.testng.Assert; -import org.testng.annotations.Test; - -import edu.cmu.sphinx.util.props.Configurable; -import edu.cmu.sphinx.util.props.ConfigurationManager; -import edu.cmu.sphinx.util.props.PropertyException; -import edu.cmu.sphinx.util.props.PropertySheet; -import edu.cmu.sphinx.util.props.RawPropertyData; -import edu.cmu.sphinx.util.props.S4Component; -import edu.cmu.sphinx.util.props.S4Double; -import edu.cmu.sphinx.util.props.S4String; - -/** - * DOCUMENT ME! - * - * @author Holger Brandl - */ -public class TestConfigurable implements Configurable { - - // note: no default component here - @S4Component(type = AnotherDummyProcessor.class) - public static final String PROP_DATA_PROC = "dataProc"; - private DummyProcessor dataProc; - - @S4String(mandatory = false) - public static final String PROP_ASTRING = "mystring"; - private String myString; - - @S4Double(defaultValue = 1.3) - public static final String PROP_GAMMA = "gamma"; - private double gamma; - - - public void newProperties(PropertySheet ps) throws PropertyException { - dataProc = (DummyProcessor) ps.getComponent(PROP_DATA_PROC); - myString = ps.getString(PROP_ASTRING); - gamma = ps.getDouble(PROP_GAMMA); - } - - - public String getName() { - return this.getClass().getName(); - } - - - public double getGamma() { - return gamma; - } - - - public DummyProcessor getDataProc() { - return dataProc; - } - - - @Test - // note: it is not a bug but a feature of this test to print a stacktrace - public void testDynamicConfCreationWithoutDefaultProperty() { - try { - ConfigurationManager cm = new ConfigurationManager(); - - String instanceName = "testconf"; - cm.addConfigurable(TestConfigurable.class, instanceName); - - cm.lookup(instanceName); - Assert.fail("add didn't fail without given default frontend"); - } catch (NullPointerException e) { - } catch (PropertyException e) { - } - } - - - @Test - public void testNullStringProperty() throws PropertyException, InstantiationException { - HashMap props = new HashMap(); - props.put("dataProc", new AnotherDummyProcessor()); - - TestConfigurable teco = ConfigurationManager.getInstance(TestConfigurable.class, props); - Assert.assertTrue(teco.myString == null); - } - - - @Test - public void testPropSheetFromConfigurableInstance() throws PropertyException, InstantiationException { - String testString = "test"; - - Map props = new HashMap(); - props.put(PROP_ASTRING, testString); - props.put(PROP_DATA_PROC, new DummyProcessor()); - TestConfigurable tc = ConfigurationManager.getInstance(TestConfigurable.class, props); - - // now create a property sheet in order to modify the configurable - PropertySheet propSheet = new PropertySheet(tc, null, new RawPropertyData("tt", tc.getClass().getName()), new ConfigurationManager()); - propSheet.setComponent(PROP_DATA_PROC, "tt", new AnotherDummyProcessor()); - tc.newProperties(propSheet); - - // test whether old props were preserved and new ones were applied - - // FIXME: Its by design not possible to preserve the old properties without have a CM - // probably we should remove the possibility to let the user create PropertySheet instances. - // Assert.assertTrue(tc.myString.equals(testString)); - // Assert.assertTrue(tc.gamma == testDouble); - Assert.assertTrue(tc.dataProc != null && tc.dataProc instanceof AnotherDummyProcessor); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/alignment/transcription-small.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/alignment/transcription-small.txt deleted file mode 100755 index 713672a8..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/alignment/transcription-small.txt +++ /dev/null @@ -1,7 +0,0 @@ -foo bar foo baz bar baz 42 qux - -how much wood could chuck woods woodchuck chuck if chuck woods woodchuck -could and would chuck wood if chuck woods woodchuck could and would chuck -wood how much wood could and would chuck woods woodchuck chuck chuck woods -woodchuck would chuck he would as much as he could and chuck as much wood -as any woodchuck would if a woodchuck could and would chuck wood \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-cmn.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-cmn.dump deleted file mode 100755 index 7d2af178..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-cmn.dump +++ /dev/null @@ -1,322 +0,0 @@ -Signal: DataStartSignal: creation time: 1424472828783 -Signal: SpeechStartSignal -Frame 13 -3.77485E00 -6.13085E-01 -1.05100E-01 1.81023E-01 -3.07806E-02 1.72977E-01 -7.57087E-02 9.55702E-02 2.96417E-01 -4.51243E-02 -3.25476E-02 1.18299E-01 1.04748E-01 -Frame 13 -3.76280E00 -5.60187E-01 -1.76795E-01 1.06969E-01 6.54967E-02 1.72887E-01 1.04430E-01 2.09324E-01 2.66446E-01 2.34154E-01 7.36240E-02 8.05494E-02 2.46591E-02 -Frame 13 -3.93403E00 -5.61577E-01 -4.57749E-02 1.77731E-01 1.18450E-01 2.77733E-01 1.07925E-01 2.71591E-03 2.02900E-01 9.03193E-02 2.62340E-02 2.31678E-02 -1.23278E-01 -Frame 13 -3.98499E00 -6.37290E-01 -4.79939E-03 9.06267E-02 -1.06167E-01 2.82784E-01 8.38770E-02 2.02240E-01 3.06857E-01 4.58613E-03 5.95756E-02 2.42569E-01 1.13218E-01 -Frame 13 -3.79505E00 -5.68509E-01 1.07899E-01 4.48120E-01 1.45727E-02 2.08055E-01 5.89268E-02 1.90636E-01 1.51124E-01 -5.49776E-02 8.79337E-02 2.71492E-01 7.02392E-02 -Frame 13 -2.81758E00 3.55663E-01 5.91115E-01 3.70215E-01 -5.11800E-02 -1.24123E-01 -7.19898E-02 -2.56920E-02 1.25714E-01 2.57525E-02 1.22992E-01 1.50408E-02 3.41616E-03 -Frame 13 -1.75151E00 7.10773E-01 6.57669E-01 2.97018E-01 -2.04949E-01 -2.94455E-01 -9.43631E-02 5.62625E-02 1.21936E-01 1.72440E-01 5.11161E-02 -1.09758E-02 -7.06065E-02 -Frame 13 -8.01100E-01 1.01633E00 6.72411E-01 1.69273E-01 -3.66617E-01 -3.87448E-01 -1.78033E-01 7.00096E-02 1.07546E-01 7.77027E-02 1.94516E-02 -8.13040E-02 -2.28762E-01 -Frame 13 5.90659E-01 1.32696E00 1.64561E-01 2.13206E-02 -4.04227E-01 -4.71439E-01 -1.19870E-01 2.62437E-02 1.78801E-01 -2.89488E-02 -1.11747E-01 7.73518E-02 -2.86425E-01 -Frame 13 1.91045E00 1.18962E00 4.46887E-02 -1.98161E-01 -4.77025E-01 -6.33924E-01 1.61571E-02 2.09568E-01 1.68862E-02 1.14777E-01 -2.21606E-01 6.74069E-02 -2.70314E-01 -Frame 13 2.69199E00 1.12019E00 -2.21500E-01 -2.69426E-01 -6.15825E-01 -4.92240E-01 1.20174E-01 2.25864E-01 -7.37224E-02 1.43472E-01 -1.74154E-01 8.78227E-02 -9.61733E-02 -Frame 13 3.34280E00 9.03879E-01 -3.72824E-01 -3.15564E-01 -6.24284E-01 -3.52067E-01 1.67080E-01 1.84982E-01 -1.75095E-01 8.00675E-02 -8.70549E-02 2.10030E-01 -3.87774E-02 -Frame 13 3.72469E00 6.91570E-01 -4.63762E-01 -3.53059E-01 -5.39009E-01 -2.28476E-01 1.69449E-01 6.15599E-02 -1.95619E-01 8.58562E-02 3.73467E-02 2.20343E-01 -2.00239E-02 -Frame 13 3.83169E00 5.84876E-01 -5.26394E-01 -3.29266E-01 -4.06211E-01 -1.93071E-01 7.39086E-02 -3.38536E-02 -1.89672E-01 2.31537E-01 7.18451E-02 1.05351E-01 -3.29020E-02 -Frame 13 3.89090E00 3.53562E-01 -4.21447E-01 -3.00772E-01 -3.28366E-01 -8.38953E-02 -1.00892E-01 -1.07448E-01 -1.47325E-01 3.74198E-01 7.86127E-02 -2.98073E-02 -3.57604E-02 -Frame 13 3.49453E00 3.23627E-01 -2.70774E-01 -2.53549E-01 -2.77315E-01 7.62164E-02 -3.44835E-01 -5.62856E-02 -1.55386E-01 4.22287E-01 -6.74386E-04 -7.35106E-02 -6.41487E-03 -Frame 13 2.29368E00 -3.56238E-04 8.47543E-02 -2.61151E-01 -1.71168E-01 2.77924E-01 -3.37551E-01 -1.29174E-01 -5.26077E-02 2.68241E-01 7.77802E-03 -1.22277E-02 2.97085E-03 -Frame 13 5.27922E-01 -3.55116E-01 -4.26245E-02 1.30577E-01 1.02671E-01 2.28802E-01 -5.30124E-02 5.81136E-02 -1.35861E-01 1.63879E-01 -1.15344E-01 -4.47872E-03 3.66535E-02 -Frame 13 -4.75905E-01 2.03088E-01 -3.78044E-01 3.49160E-01 1.88864E-01 7.65543E-02 1.28751E-01 6.25902E-02 -1.11017E-01 9.55907E-02 -2.10939E-01 -5.40617E-02 1.35339E-01 -Frame 13 -5.24512E-01 2.93680E-01 -3.60203E-01 3.34562E-01 1.63541E-01 -5.02126E-02 1.09274E-01 8.42484E-03 -1.12169E-01 1.33291E-01 -1.56750E-01 -2.41133E-02 1.34521E-01 -Frame 13 -8.19919E-01 2.59590E-01 -2.57685E-01 3.82113E-01 2.25770E-01 -6.30787E-02 1.19267E-01 1.06654E-01 -1.61620E-01 1.83080E-02 -2.47683E-01 4.00243E-03 3.18678E-01 -Frame 13 -9.38108E-01 1.39793E-01 -1.67328E-01 3.21650E-01 2.00491E-01 1.01991E-02 4.29896E-02 -3.87993E-02 -8.55475E-02 6.12767E-02 -1.47452E-01 -5.56324E-02 2.81735E-01 -Frame 13 -1.03067E00 6.73122E-02 -9.14816E-02 3.96867E-01 1.28784E-01 -1.26283E-01 3.11426E-02 -1.66477E-01 9.30401E-03 2.53551E-01 -9.17935E-02 1.37812E-02 9.55701E-02 -Frame 13 -1.39758E00 9.34927E-02 3.69440E-02 3.61905E-01 3.09675E-02 -4.72229E-02 1.05011E-01 -1.92464E-01 1.95188E-03 1.65102E-01 6.87324E-03 2.69312E-02 1.10271E-01 -Frame 13 -9.92432E-01 -5.32833E-01 2.45903E-01 2.65331E-01 9.87001E-02 9.54278E-02 1.97782E-02 -1.75756E-02 7.00395E-02 6.25468E-02 -3.46799E-02 -1.58263E-02 -1.68978E-02 -Frame 13 9.72237E-02 -9.98075E-01 4.02093E-01 1.32631E-01 9.75817E-02 -3.80674E-02 -6.73264E-02 -1.41937E-02 8.95953E-02 -1.12780E-01 1.83866E-02 -2.48111E-03 6.08531E-02 -Frame 13 -3.52387E-01 -1.26933E00 8.56391E-01 -2.81522E-01 3.59900E-01 6.55782E-02 -1.49136E-01 -9.74779E-02 2.51334E-01 -1.61073E-02 4.17678E-02 -7.07562E-02 -7.84596E-03 -Frame 13 2.11023E-01 -1.64415E00 9.86302E-01 -2.33345E-01 3.94516E-01 1.72044E-01 -4.94781E-02 5.62550E-02 1.04628E-01 -7.79108E-03 1.66606E-03 -3.37046E-03 -1.50075E-02 -Frame 13 1.58963E-01 -2.13199E00 8.37723E-01 -2.62406E-01 4.01535E-01 1.06054E-01 1.07558E-01 1.68485E-01 2.22399E-01 -1.79889E-02 1.38731E-01 2.88006E-02 -6.32575E-03 -Frame 13 2.28801E-01 -2.51362E00 7.47939E-01 -2.43109E-01 3.41669E-01 2.98051E-04 3.16936E-02 1.20513E-01 1.66641E-01 -1.54451E-03 7.54326E-03 9.73537E-02 3.41377E-03 -Frame 13 5.10782E-01 -2.43599E00 5.50820E-01 -4.37405E-01 3.28049E-01 -6.93662E-02 9.68221E-02 2.17717E-01 2.55510E-01 -6.40837E-02 7.91055E-02 1.35120E-01 1.23144E-01 -Frame 13 2.50769E-01 -2.42758E00 4.89084E-01 -3.65144E-01 2.68833E-01 -8.13010E-02 8.06223E-02 -1.94176E-02 1.89996E-01 -2.18738E-02 1.82569E-01 1.65491E-01 2.44738E-01 -Frame 13 -2.77783E-02 -2.51273E00 3.95448E-01 -3.22356E-01 3.67401E-01 6.92503E-02 -1.26054E-02 -3.81018E-02 6.45118E-02 1.34010E-01 2.80747E-01 1.14424E-01 6.95842E-02 -Frame 13 -1.80443E-01 -2.60364E00 2.95315E-01 -2.21918E-01 3.92578E-01 -7.41513E-02 -1.08447E-03 8.54917E-03 1.62103E-01 9.15245E-02 1.44147E-01 2.79064E-01 8.28532E-02 -Frame 13 -3.27370E-01 -2.62080E00 2.19357E-02 -2.25340E-01 3.10428E-01 -8.75824E-02 8.24980E-02 1.06525E-01 2.63204E-01 1.26165E-01 8.71869E-02 1.27667E-01 6.94395E-02 -Frame 13 -2.74201E-01 -2.43029E00 -1.94110E-02 -3.14603E-01 3.77747E-01 -1.09188E-01 1.63128E-01 2.02431E-01 1.99987E-01 1.26673E-01 9.46603E-02 2.72658E-02 9.94711E-02 -Frame 13 -9.95849E-02 -2.39424E00 1.59992E-01 -2.90802E-01 4.24012E-01 -1.60487E-01 1.74484E-01 1.91452E-01 1.10413E-01 7.14846E-03 3.37490E-02 1.21887E-01 1.04794E-01 -Frame 13 3.26140E-02 -2.59773E00 2.67258E-01 -3.57436E-01 3.84496E-01 -5.49899E-02 4.32289E-02 1.31718E-01 2.30781E-01 1.45338E-01 9.77098E-02 1.37125E-01 9.18306E-02 -Frame 13 2.22809E-01 -2.60577E00 4.13682E-01 -1.48301E-01 1.09872E-01 -8.34027E-02 1.53824E-01 1.33851E-01 1.10037E-01 1.17357E-01 2.87045E-01 4.77874E-02 1.65169E-01 -Frame 13 6.40632E-01 -2.47873E00 3.31794E-01 -1.01909E-01 1.38246E-01 1.32699E-01 -6.81606E-02 4.26285E-02 1.68070E-01 2.03604E-02 1.54140E-01 3.25427E-03 2.32052E-01 -Frame 13 1.44153E00 -2.12090E00 3.99249E-01 1.02654E-01 6.99096E-02 -3.12789E-02 -1.28239E-01 2.41824E-01 -6.81219E-02 3.60796E-02 1.48133E-02 -3.33221E-02 2.04208E-01 -Frame 13 2.19260E00 -1.21619E00 4.70359E-01 4.95241E-01 1.30980E-01 5.77723E-02 -3.59821E-01 9.89359E-02 -5.03402E-02 -4.61092E-03 -9.00856E-02 -2.43309E-01 6.14529E-02 -Frame 13 2.80832E00 -2.31451E-01 -8.04881E-02 6.36713E-01 5.14475E-02 -6.34117E-02 -3.25565E-01 -1.81575E-01 1.14241E-01 -9.24361E-02 -1.20893E-01 -2.32097E-01 -3.39272E-02 -Frame 13 2.88774E00 1.49995E-01 -3.43102E-01 6.07509E-01 1.39658E-01 -2.37755E-01 -2.89302E-01 -1.83877E-01 1.19988E-01 -8.03977E-02 -1.58312E-01 -2.03449E-01 -4.44877E-02 -Frame 13 2.89061E00 4.70745E-01 -6.76867E-01 5.80729E-01 3.04571E-01 -3.89886E-01 -1.78280E-01 -2.92398E-01 1.91217E-01 -5.07448E-02 -2.65280E-01 -1.40642E-01 -1.21519E-02 -Frame 13 2.84343E00 6.09152E-01 -7.95423E-01 5.31620E-01 3.56229E-01 -3.45558E-01 -1.79482E-01 -3.85558E-01 2.49766E-01 -5.68344E-02 -3.01390E-01 -1.00791E-01 -5.29538E-02 -Frame 13 2.66018E00 7.67996E-01 -8.17632E-01 3.39126E-01 4.84913E-01 -2.32659E-01 -2.80940E-01 -3.67162E-01 2.02740E-01 -6.90850E-02 -2.24762E-01 -1.61073E-01 -3.43224E-02 -Frame 13 2.41441E00 9.48364E-01 -8.35879E-01 1.50723E-01 5.56296E-01 -1.15595E-01 -2.60908E-01 -3.59670E-01 7.02208E-02 2.38660E-02 -2.32112E-01 -1.26232E-01 -9.75938E-02 -Frame 13 2.06795E00 1.15951E00 -8.53406E-01 -2.98630E-02 6.47185E-01 -6.93072E-02 -2.27978E-01 -2.90185E-01 -5.63290E-02 -6.22177E-03 -5.04379E-02 -2.21485E-01 -7.55397E-02 -Frame 13 1.60638E00 1.27756E00 -7.29768E-01 -1.74507E-01 6.61342E-01 -6.12947E-02 -1.75930E-01 -1.99429E-01 -1.63440E-01 -3.78228E-02 1.51357E-02 -1.81589E-01 -1.02206E-01 -Frame 13 1.33668E00 1.33324E00 -7.05287E-01 -2.27911E-01 5.94288E-01 -1.02045E-02 -9.42987E-02 -1.54518E-01 -1.76449E-01 -1.04380E-01 2.26609E-03 -1.22486E-01 -1.03242E-01 -Frame 13 9.77113E-01 1.39990E00 -6.46249E-01 -2.13958E-01 4.33935E-01 9.15398E-02 -1.13060E-01 -1.12539E-01 -2.00722E-01 -6.00066E-02 -3.43160E-02 -1.36333E-01 4.51037E-02 -Frame 13 9.68641E-01 1.33123E00 -5.37068E-01 -2.56004E-01 3.66314E-01 8.79496E-02 -9.63382E-02 -1.03415E-01 -1.64549E-01 -7.37901E-02 -9.35211E-02 -1.23890E-01 1.16016E-01 -Frame 13 9.94235E-01 1.33999E00 -5.18818E-01 -2.23213E-01 2.71358E-01 7.32027E-02 -3.78883E-02 -6.63698E-02 -1.44662E-01 -1.89359E-01 -1.20232E-01 -6.45260E-02 1.60848E-01 -Frame 13 9.20987E-01 1.49965E00 -5.78732E-01 -2.05456E-01 2.54681E-01 3.26495E-02 -8.72749E-02 3.89477E-02 -1.65258E-01 -2.01380E-01 -1.39000E-01 -4.23154E-02 1.52431E-01 -Frame 13 9.67191E-01 1.57175E00 -6.03717E-01 -1.67461E-01 2.79326E-01 -1.57056E-01 -3.68923E-03 4.44024E-02 -1.44957E-01 -2.55140E-01 -1.15718E-01 -1.01606E-01 1.79814E-01 -Frame 13 1.19983E00 1.53035E00 -6.23103E-01 -1.65888E-01 2.51575E-01 -3.41220E-01 7.30630E-02 1.43704E-01 -1.79549E-01 -3.56887E-01 -2.71417E-02 -1.65999E-01 2.33257E-01 -Frame 13 1.35391E00 1.48873E00 -5.51353E-01 -1.47634E-01 1.93608E-01 -4.91416E-01 1.99237E-01 1.63443E-01 -2.83249E-01 -2.94591E-01 -3.86946E-02 -1.61049E-01 2.43508E-01 -Frame 13 1.51128E00 1.41749E00 -4.71025E-01 -1.07006E-01 8.88831E-02 -6.10796E-01 4.01471E-01 4.01924E-02 -2.15668E-01 -3.29606E-01 -1.65123E-02 -1.71197E-01 1.93931E-01 -Frame 13 1.50441E00 1.37044E00 -3.63766E-01 -5.76883E-02 -1.49508E-01 -4.82039E-01 4.32387E-01 -1.16442E-02 -1.89847E-01 -3.48133E-01 -3.88047E-03 -1.73550E-01 1.39433E-01 -Frame 13 1.62240E00 1.14176E00 -1.60131E-01 -2.79717E-02 -2.68559E-01 -3.93351E-01 3.78622E-01 2.05353E-02 -1.71280E-01 -3.49791E-01 -5.26186E-03 -1.88515E-01 1.14158E-01 -Frame 13 1.30856E00 1.20492E00 -1.49563E-01 7.07604E-02 -3.38497E-01 -3.44337E-01 4.00834E-01 -7.93227E-02 -8.01137E-02 -2.70203E-01 -9.31681E-02 -1.69463E-01 8.40979E-02 -Frame 13 1.16367E00 1.06492E00 -3.00476E-02 1.28309E-01 -4.29529E-01 -2.12624E-01 3.36605E-01 6.03373E-03 -1.59667E-01 -2.19281E-01 -8.21243E-02 -1.61040E-01 4.35669E-02 -Frame 13 7.88052E-01 1.05520E00 1.40313E-03 1.77008E-01 -4.15135E-01 -1.72923E-01 3.15991E-01 6.83904E-02 -1.79589E-01 -1.72156E-01 -1.38055E-01 -1.49514E-01 3.12735E-02 -Frame 13 5.39140E-01 9.67778E-01 3.38047E-02 2.26474E-01 -3.73685E-01 -1.64784E-01 3.61442E-01 4.48682E-02 -1.02262E-01 -2.66005E-01 -1.86403E-01 -6.37347E-03 -3.24644E-02 -Frame 13 5.91835E-01 8.20990E-01 -9.69947E-03 1.64556E-01 -2.78908E-01 -1.22976E-02 3.91701E-01 -5.37682E-02 -1.62737E-01 -3.47441E-01 7.42530E-03 1.70635E-02 -8.05787E-02 -Frame 13 5.56694E-01 6.91381E-01 -9.85521E-03 1.24202E-01 -6.70087E-02 1.01156E-01 1.50372E-01 -4.22303E-02 -2.49844E-01 -1.97743E-01 1.63393E-01 1.12242E-03 -2.38843E-01 -Frame 13 4.10601E-01 5.86548E-01 3.81673E-04 1.50071E-01 1.52211E-02 3.24975E-01 -3.81992E-02 -7.52776E-02 -2.40257E-01 -4.52512E-02 1.54387E-01 -3.50195E-02 -3.48677E-01 -Frame 13 7.23974E-01 -5.22476E-02 2.26093E-01 2.81496E-01 2.39201E-02 5.43115E-01 -2.42622E-01 -1.17090E-01 -5.19309E-02 -3.87648E-02 1.81816E-01 -1.93482E-01 -3.16261E-01 -Frame 13 8.17528E-01 -1.20058E00 8.08916E-01 2.65164E-01 -1.06143E-01 7.50272E-01 -2.98416E-01 -6.78592E-02 -4.87683E-02 -5.84617E-02 4.04524E-02 -1.41234E-01 -2.72584E-01 -Frame 13 2.14220E-02 -2.04628E00 1.05809E00 1.24285E-01 4.59909E-02 6.96487E-01 -4.85875E-02 4.48015E-02 -5.94451E-02 -6.77763E-02 -1.11092E-01 -7.11093E-03 -1.69338E-01 -Frame 13 4.39253E-01 -2.35241E00 6.52538E-01 -2.58564E-01 8.81358E-02 4.07893E-01 -9.77144E-02 1.01033E-01 9.90759E-02 7.50191E-02 1.48327E-02 1.13009E-01 3.91632E-02 -Frame 13 3.09118E-01 -2.61161E00 8.23493E-01 -2.40737E-01 1.54889E-01 3.64987E-01 -1.08812E-01 1.56014E-01 1.75396E-02 5.81030E-02 -4.43185E-02 7.22442E-02 -2.31598E-02 -Frame 13 5.68486E-01 -2.73695E00 6.64492E-01 -3.66639E-01 3.00683E-01 4.23408E-01 -1.25669E-01 1.63047E-01 1.34083E-01 -9.68063E-03 -7.02380E-02 1.50566E-01 -6.61617E-02 -Frame 13 5.24748E-01 -2.79509E00 5.88369E-01 -5.35202E-01 8.84456E-02 1.70172E-01 -9.96475E-02 2.16928E-01 1.44703E-01 6.77917E-02 -8.18466E-02 1.37920E-01 1.01971E-01 -Frame 13 4.52557E-01 -2.64865E00 5.71921E-01 -4.19616E-01 1.82953E-01 1.33206E-01 1.58512E-02 1.64871E-01 1.47006E-01 7.93880E-02 9.81504E-02 1.59075E-02 8.04905E-02 -Frame 13 4.03505E-01 -2.53947E00 5.46725E-01 -3.05770E-01 3.68008E-01 3.28250E-01 -3.83930E-02 1.11269E-01 9.23164E-02 5.67948E-02 9.40851E-02 7.78121E-02 6.73022E-02 -Frame 13 2.11332E-01 -2.74775E00 4.76712E-01 -3.52095E-01 3.32267E-01 1.82365E-01 8.70191E-02 3.23223E-01 2.72491E-01 9.79828E-02 1.25261E-01 5.26201E-02 -2.87496E-02 -Frame 13 2.45627E-01 -2.48973E00 3.75482E-01 -3.15019E-01 3.29589E-01 1.28207E-01 -1.15844E-02 1.16578E-01 1.77268E-01 8.97974E-02 1.28954E-01 -8.99889E-04 7.78886E-04 -Frame 13 9.90549E-01 -2.03897E00 5.19401E-01 -2.23193E-01 9.68914E-02 -7.33393E-02 -2.15237E-01 6.64132E-02 2.22580E-01 1.42218E-01 8.89988E-02 -1.04671E-01 -4.57293E-02 -Frame 13 6.27043E-01 -1.72951E00 3.88250E-01 -5.78115E-02 9.32569E-02 3.91414E-02 -2.08564E-01 2.11645E-01 2.38802E-01 1.18001E-01 7.17931E-02 4.15797E-02 3.44181E-02 -Frame 13 1.60192E00 -6.86339E-01 4.87245E-01 1.64621E-01 1.89212E-01 3.21437E-01 -4.35423E-01 -8.60209E-02 -5.30098E-02 2.13843E-02 -6.98834E-02 -1.75554E-01 8.41133E-02 -Frame 13 1.67254E00 -5.11539E-02 3.30458E-01 3.73612E-01 5.19260E-02 1.56941E-01 -4.21937E-01 -2.29651E-01 -2.42609E-02 1.44069E-01 -6.46213E-02 -3.36526E-01 2.26810E-02 -Frame 13 2.17882E00 2.49969E-01 -1.00880E-01 5.25610E-01 2.14164E-01 -3.10517E-01 -1.88705E-01 -2.65786E-01 -8.00703E-02 1.40943E-01 -1.26974E-01 -1.06330E-01 -1.02875E-01 -Frame 13 2.47032E00 2.67285E-01 -2.60039E-01 5.92016E-01 3.48916E-01 -4.74691E-01 -2.24304E-01 -2.99096E-01 -2.99542E-02 1.83551E-01 -1.17020E-01 -1.63249E-01 -5.17753E-02 -Frame 13 2.16691E00 5.40586E-01 -3.56197E-01 5.70468E-01 2.37011E-01 -4.39246E-01 -1.26469E-01 -3.23963E-01 -5.08822E-02 1.77819E-01 -7.44643E-02 -2.10242E-01 -3.94190E-02 -Frame 13 1.93705E00 7.27604E-01 -4.20441E-01 4.30256E-01 3.22989E-01 -4.21263E-01 -7.40551E-02 -3.77799E-01 -1.90334E-02 2.52474E-01 -2.20187E-01 -1.79862E-01 1.04281E-02 -Frame 13 1.61636E00 9.60737E-01 -4.61159E-01 1.88479E-01 4.31462E-01 -2.55543E-01 -1.90718E-01 -2.48269E-01 -1.10407E-01 2.02424E-01 -1.71799E-01 -1.08806E-01 -3.40020E-02 -Frame 13 1.40775E00 1.19202E00 -5.71075E-01 -1.27069E-02 5.05525E-01 -7.64051E-02 -2.98424E-01 -2.91699E-01 -7.55853E-02 1.83804E-01 -1.12757E-01 -1.07998E-01 -4.88767E-02 -Frame 13 1.31299E00 1.27310E00 -5.76612E-01 -2.19322E-01 5.75212E-01 -3.38796E-02 -2.85745E-01 -2.25693E-01 -2.02039E-01 2.05848E-01 -3.49544E-02 -6.55771E-02 -1.75816E-01 -Frame 13 1.26013E00 1.39003E00 -6.86243E-01 -3.48203E-01 6.69129E-01 -1.09301E-02 -3.33975E-01 -1.64353E-01 -2.00344E-01 1.03272E-01 1.02887E-01 -1.27017E-01 -1.46323E-01 -Frame 13 1.27783E00 1.42767E00 -7.40499E-01 -3.36408E-01 5.78530E-01 6.99722E-02 -3.16431E-01 -1.76499E-01 -2.03254E-01 7.80316E-02 1.11427E-01 -1.15287E-01 -4.86819E-02 -Frame 13 1.37768E00 1.47348E00 -8.06725E-01 -3.17472E-01 5.50660E-01 1.83937E-02 -2.80680E-01 -1.27192E-01 -1.92415E-01 -6.54545E-03 9.89983E-02 -3.00518E-02 -6.17694E-02 -Frame 13 1.42092E00 1.48112E00 -7.49648E-01 -3.59883E-01 5.32022E-01 -9.23131E-02 -2.64588E-01 1.02244E-02 -2.20302E-01 -9.01153E-02 1.02946E-01 -5.69681E-03 3.88873E-02 -Frame 13 1.31442E00 1.55047E00 -6.93629E-01 -3.47842E-01 3.71753E-01 -7.67436E-02 -1.99006E-01 1.09879E-02 -2.12204E-01 -1.25578E-01 8.30659E-02 4.35652E-02 5.84328E-02 -Frame 13 1.30271E00 1.57007E00 -7.12511E-01 -2.70583E-01 2.69421E-01 -1.51983E-01 -1.66473E-01 1.55964E-01 -3.01205E-01 -1.29218E-01 6.03419E-02 6.13062E-02 1.44731E-01 -Frame 13 1.34618E00 1.53573E00 -6.90897E-01 -2.05157E-01 1.52098E-01 -2.38420E-01 -5.17636E-03 1.22521E-01 -2.48544E-01 -2.03047E-01 3.91637E-02 1.22425E-01 1.23620E-01 -Frame 13 1.37431E00 1.49178E00 -6.20942E-01 -1.34260E-01 -1.36400E-02 -2.66634E-01 1.08093E-01 1.25711E-01 -2.74155E-01 -2.15119E-01 4.59775E-02 4.22162E-02 2.05798E-01 -Frame 13 1.40899E00 1.42981E00 -5.91751E-01 -3.87181E-02 -1.31952E-01 -3.07896E-01 1.66570E-01 1.38370E-01 -2.70703E-01 -1.90731E-01 -2.30357E-02 6.58641E-02 1.76931E-01 -Frame 13 1.60753E00 1.22100E00 -4.64313E-01 -5.03376E-03 -2.41926E-01 -2.70702E-01 1.84549E-01 1.03323E-01 -1.77455E-01 -2.63104E-01 1.73250E-02 1.86456E-02 9.90778E-02 -Frame 13 1.62320E00 1.14504E00 -3.77083E-01 3.60484E-03 -2.91715E-01 -2.68052E-01 1.93079E-01 1.66331E-01 -2.17854E-01 -2.20527E-01 -4.14536E-02 -1.04076E-02 9.81717E-02 -Frame 13 1.57527E00 1.08935E00 -3.15447E-01 8.54215E-02 -4.29016E-01 -1.82300E-01 2.06582E-01 1.64526E-01 -1.79913E-01 -2.65172E-01 -3.94385E-02 -3.32612E-02 5.23725E-02 -Frame 13 1.26627E00 1.20668E00 -3.13075E-01 1.01432E-01 -4.06721E-01 -1.80065E-01 2.45315E-01 1.53430E-01 -2.25559E-01 -2.02558E-01 -9.33979E-02 -1.43642E-02 -3.53641E-02 -Frame 13 1.06270E00 1.17624E00 -2.65720E-01 1.50867E-01 -3.99835E-01 -1.47993E-01 2.60592E-01 1.02733E-01 -2.09871E-01 -1.65685E-01 -1.28159E-01 -2.96118E-02 -4.65737E-02 -Frame 13 9.31766E-01 1.08340E00 -1.95532E-01 2.16808E-01 -4.49818E-01 -7.02893E-02 2.77798E-01 3.90380E-02 -1.26730E-01 -2.31521E-01 -7.90880E-02 -9.72639E-02 -7.14740E-03 -Frame 13 7.74169E-01 1.06714E00 -1.76999E-01 2.25271E-01 -4.16366E-01 -6.45079E-02 3.35088E-01 3.99387E-02 -1.83892E-01 -2.18307E-01 -1.10188E-01 -6.72988E-02 -2.75939E-02 -Frame 13 6.38761E-01 1.11514E00 -2.86012E-01 3.01946E-01 -3.67542E-01 -1.29708E-01 4.17945E-01 -2.96418E-03 -2.09366E-01 -2.49938E-01 -5.07270E-02 -5.93583E-02 -3.50971E-02 -Frame 13 7.67854E-01 1.00786E00 -3.35542E-01 2.47092E-01 -2.59221E-01 -4.34971E-03 3.29123E-01 -3.01399E-02 -2.88909E-01 -2.66013E-01 5.01928E-02 4.45364E-02 -5.00007E-02 -Frame 13 1.12326E00 7.48030E-01 -3.80029E-01 2.68758E-01 -1.66347E-01 1.15423E-01 2.34980E-01 -1.61787E-01 -2.93794E-01 -1.85417E-01 1.38418E-01 9.07805E-02 -1.77518E-01 -Frame 13 1.22419E00 5.76209E-01 -4.16891E-01 3.35070E-01 -5.13959E-02 1.95977E-01 1.05358E-01 -3.00729E-01 -1.79004E-01 -1.29549E-01 2.20654E-01 -6.28616E-02 -2.29860E-01 -Frame 13 1.66608E00 -4.66300E-01 2.74771E-01 1.06348E-01 -3.37601E-03 4.72220E-01 -2.22502E-01 -1.43456E-01 -2.66395E-01 -4.58797E-02 2.46289E-01 -2.84441E-01 -1.99836E-01 -Frame 13 9.62828E-01 -1.36900E00 1.03449E00 -1.06458E-01 5.06261E-02 4.85864E-01 -1.11009E-01 2.43871E-03 -2.50073E-01 -1.87777E-04 1.54378E-01 -1.15135E-01 -2.38637E-01 -Frame 13 -2.82193E-01 -1.91550E00 1.14756E00 -1.66446E-01 2.56183E-01 5.66759E-01 -9.90558E-02 6.12411E-02 3.10510E-02 -1.31518E-03 -1.76581E-06 1.35518E-01 -9.49702E-02 -Frame 13 -3.17803E-01 -2.35683E00 9.88553E-01 -5.34942E-01 9.53733E-02 3.95185E-01 -1.59623E-01 2.93628E-01 9.73855E-02 -1.59780E-02 -1.23011E-01 1.63403E-01 -1.26772E-01 -Frame 13 3.05570E-02 -2.68601E00 9.01901E-01 -4.50243E-01 8.38689E-02 2.64751E-01 -3.14783E-01 2.10097E-01 1.24981E-01 7.58503E-02 -5.63545E-02 8.35982E-02 -9.86903E-02 -Frame 13 -4.31802E-02 -2.75780E00 8.10039E-01 -3.69572E-01 1.34844E-01 1.00406E-01 -2.67185E-01 1.71678E-01 1.58371E-01 1.18169E-01 8.50728E-02 1.59123E-01 -4.36991E-03 -Frame 13 2.93652E-01 -2.75827E00 7.39163E-01 -3.51599E-01 -3.97188E-03 1.56573E-01 -1.17581E-01 2.19734E-01 9.44476E-02 -6.99476E-02 1.70136E-01 2.51606E-01 -4.95060E-02 -Frame 13 4.57516E-01 -2.56832E00 7.78070E-01 -3.31694E-01 1.31805E-01 1.97710E-01 -1.12769E-01 1.25163E-01 -5.31563E-02 -7.49840E-02 1.17442E-01 9.30994E-02 1.11927E-02 -Frame 13 3.36197E-01 -2.72208E00 5.29902E-01 -2.57698E-01 2.17392E-01 2.36225E-01 -2.19448E-01 1.87954E-01 1.79512E-01 2.11220E-02 7.76847E-02 5.23135E-02 -2.11475E-02 -Frame 13 4.85689E-01 -2.10936E00 7.39175E-01 9.49063E-02 2.21599E-01 3.12641E-01 -2.87814E-01 1.67290E-01 1.96234E-02 -1.45517E-02 2.51036E-02 -2.13161E-01 -8.77226E-02 -Frame 13 1.24312E00 -9.06376E-01 5.35801E-01 1.39377E-01 9.51012E-02 3.45255E-01 -3.78399E-01 5.16827E-02 -7.09202E-02 -1.23985E-01 1.37669E-01 -1.46025E-01 -2.03911E-01 -Frame 13 1.12117E00 -1.62468E-01 2.68191E-01 2.23148E-01 9.56084E-02 1.52991E-01 -3.42561E-01 -1.21246E-01 -2.57544E-02 -6.04480E-02 1.00730E-01 -2.10441E-01 -1.55762E-01 -Frame 13 1.35059E00 1.82981E-01 1.24765E-01 3.33859E-01 8.10356E-02 -1.10028E-01 -1.32100E-01 -2.07101E-01 -1.58814E-01 1.23808E-01 4.45663E-02 -1.18898E-01 -2.52773E-01 -Frame 13 1.74823E00 2.40968E-01 -9.01168E-02 3.83025E-01 1.73892E-01 -2.25991E-01 -1.33320E-01 -2.99660E-01 -5.87481E-02 1.57079E-01 -4.34798E-02 -9.59108E-02 -1.87414E-01 -Frame 13 1.79389E00 4.05488E-01 -3.41073E-01 3.53222E-01 2.74350E-01 -2.65884E-01 -1.89609E-01 -3.11076E-01 -4.30576E-02 2.45949E-01 -1.69248E-01 -8.65593E-02 -2.98444E-02 -Frame 13 1.59864E00 6.24344E-01 -4.20994E-01 1.99964E-01 3.66265E-01 -2.44463E-01 -2.15349E-01 -3.41109E-01 -1.38257E-02 2.45857E-01 -1.73621E-01 -1.24741E-01 6.21796E-02 -Frame 13 1.34972E00 8.78287E-01 -4.21551E-01 -3.89257E-02 4.03907E-01 -1.14652E-01 -2.84136E-01 -2.75346E-01 -4.27361E-02 9.96146E-02 3.08160E-03 -1.03242E-01 -1.78499E-02 -Frame 13 1.02588E00 1.13917E00 -3.13772E-01 -3.65172E-01 4.21622E-01 2.93025E-02 -2.76507E-01 -3.06358E-01 -1.41370E-01 1.20061E-01 7.39580E-02 -8.51038E-02 -6.39784E-02 -Frame 13 1.12552E00 1.21243E00 -4.47280E-01 -3.94764E-01 4.26829E-01 5.51160E-02 -3.00404E-01 -2.41485E-01 -1.39843E-01 1.91450E-02 1.00032E-01 3.62774E-02 -1.78851E-01 -Frame 13 1.09471E00 1.30951E00 -5.03788E-01 -4.37371E-01 4.18097E-01 1.64609E-01 -3.76125E-01 -1.74001E-01 -1.94217E-01 9.94167E-03 9.75664E-02 -3.37153E-03 -7.27269E-02 -Frame 13 9.29988E-01 1.37425E00 -4.28669E-01 -4.69304E-01 3.15687E-01 2.35114E-01 -2.96684E-01 -2.82401E-01 -1.25228E-01 2.49901E-02 -1.84010E-02 1.53547E-02 3.78086E-02 -Frame 13 8.74275E-01 1.49216E00 -5.01996E-01 -4.77164E-01 3.16637E-01 2.38722E-01 -3.51170E-01 -1.41736E-01 -1.84588E-01 -6.25046E-02 9.44971E-02 -2.81179E-02 8.13233E-02 -Frame 13 8.49582E-01 1.58428E00 -5.43011E-01 -4.95918E-01 3.57975E-01 1.19651E-01 -3.40150E-01 -4.97004E-02 -1.76053E-01 -1.31675E-01 6.19682E-02 2.72279E-02 6.23741E-02 -Frame 13 9.50712E-01 1.56477E00 -5.54932E-01 -4.15673E-01 2.89425E-01 3.09344E-02 -3.03451E-01 2.03207E-02 -2.11381E-01 -1.47158E-01 4.18140E-02 8.32625E-02 8.12645E-02 -Frame 13 1.10974E00 1.48374E00 -5.38459E-01 -3.61003E-01 2.27445E-01 -1.00988E-01 -1.83915E-01 -8.14183E-03 -1.23015E-01 -2.40641E-01 -2.46605E-02 2.19593E-01 4.13096E-02 -Frame 13 1.17427E00 1.48085E00 -5.62539E-01 -2.46673E-01 9.03075E-02 -2.11668E-01 -2.38877E-02 7.84678E-03 -1.45331E-01 -3.02760E-01 6.78649E-02 1.52709E-01 6.93183E-02 -Frame 13 1.33017E00 1.34345E00 -4.75709E-01 -1.40606E-01 -7.71190E-02 -2.89463E-01 7.93418E-02 7.25638E-02 -2.26874E-01 -2.82007E-01 1.36621E-01 2.95468E-02 7.08622E-02 -Frame 13 1.15679E00 1.32469E00 -2.72685E-01 -1.16706E-01 -3.38960E-01 -1.51711E-01 6.37432E-02 7.05048E-02 -1.69135E-01 -2.97240E-01 5.68726E-02 6.24249E-02 6.04663E-02 -Frame 13 9.95904E-01 1.28508E00 -1.16636E-01 -7.38979E-02 -5.19228E-01 -1.10527E-01 9.02928E-02 7.53096E-02 -1.67490E-01 -2.92302E-01 4.00945E-02 1.68545E-02 1.54375E-02 -Frame 13 9.67550E-01 1.19909E00 -2.36769E-02 -8.27006E-03 -6.15265E-01 -1.51296E-01 1.43856E-01 7.92918E-02 -1.69988E-01 -2.67820E-01 1.06545E-02 -5.18517E-02 3.48945E-02 -Frame 13 7.25977E-01 1.21147E00 5.41030E-02 5.31018E-03 -5.83641E-01 -2.83877E-01 2.13997E-01 3.23999E-02 -1.32555E-01 -2.24184E-01 -8.34209E-02 -4.09701E-02 -2.88288E-02 -Frame 13 3.19123E-01 1.30833E00 2.13944E-01 -6.88688E-03 -6.07351E-01 -3.14810E-01 2.34925E-01 -2.75506E-02 -5.11773E-02 -1.84361E-01 -1.16978E-01 -1.14967E-01 -1.07994E-01 -Frame 13 3.27881E-01 1.21950E00 3.82157E-01 -1.71083E-02 -6.71042E-01 -3.36666E-01 2.38887E-01 -1.73081E-02 -2.34704E-02 -1.11053E-01 -1.32373E-01 -1.94295E-01 -1.52654E-01 -Frame 13 2.85781E-01 1.20112E00 3.69841E-01 1.30979E-01 -7.16362E-01 -3.18146E-01 1.55290E-01 -4.72506E-02 6.45407E-02 -7.06241E-02 -1.62707E-01 -1.56405E-01 -1.78714E-01 -Frame 13 1.04002E-01 1.23187E00 3.72792E-01 2.82236E-01 -6.89679E-01 -4.29465E-01 1.53212E-01 -3.00124E-02 3.23021E-02 -3.54616E-03 -8.02543E-02 -1.75839E-01 -2.05432E-01 -Frame 13 -2.60421E-01 1.23768E00 5.00208E-01 3.55156E-01 -7.54504E-01 -3.55422E-01 1.42744E-01 -7.02779E-02 -2.15937E-02 1.01569E-01 -5.97541E-02 -9.76508E-02 -2.43287E-01 -Frame 13 -7.75519E-01 1.14495E00 6.74157E-01 4.19034E-01 -5.94905E-01 -4.20755E-01 5.02901E-03 -1.03619E-01 1.32898E-01 7.53552E-02 -2.71839E-02 -1.44864E-01 -1.78741E-01 -Frame 13 -1.07601E00 1.09161E00 6.73345E-01 4.64259E-01 -4.77849E-01 -3.47266E-01 3.79672E-03 -1.94373E-01 1.13498E-01 1.59033E-01 -4.34039E-03 -1.08467E-01 -1.87584E-01 -Frame 13 -1.34213E00 1.00641E00 7.62372E-01 4.13875E-01 -3.45895E-01 -3.09842E-01 -3.87643E-03 -2.65685E-01 1.47559E-01 1.04704E-01 -7.14379E-03 -4.98400E-03 -1.66117E-01 -Frame 13 -1.49808E00 8.86617E-01 7.89816E-01 4.99751E-01 -3.06451E-01 -3.15616E-01 -5.03569E-02 -1.42286E-01 1.08662E-01 4.66966E-02 -1.61910E-02 8.26531E-03 -1.93570E-01 -Frame 13 -1.60236E00 8.27283E-01 7.48827E-01 5.90970E-01 -3.01085E-01 -1.67980E-01 -8.75647E-02 -2.07785E-01 7.86859E-02 9.05843E-02 -7.03914E-03 -4.47867E-02 -1.50621E-01 -Frame 13 -1.62873E00 9.23058E-01 7.40448E-01 5.10137E-01 -3.54903E-01 -1.91184E-01 -8.20419E-02 -9.72306E-02 2.00086E-01 -2.54134E-02 -1.52467E-01 -9.78593E-02 7.24800E-04 -Frame 13 -1.55086E00 1.02299E00 7.10981E-01 3.33203E-01 -2.28635E-01 -1.59939E-01 -1.10814E-01 -1.92792E-01 1.12680E-01 -2.55810E-02 -4.06462E-02 -3.59206E-02 -1.28722E-01 -Frame 13 -1.10511E00 1.11866E00 7.04827E-01 1.10437E-01 -3.62023E-01 -1.77859E-01 -7.22936E-02 -1.56553E-01 3.23928E-02 8.49624E-02 -2.73351E-02 -1.36507E-01 -1.45563E-01 -Frame 13 -6.62349E-01 1.14350E00 5.37524E-01 1.39746E-01 -6.08202E-01 -3.02593E-01 -1.19506E-02 -1.60792E-01 5.14424E-02 1.52003E-01 -8.49052E-02 -1.15310E-01 -1.52322E-01 -Frame 13 1.36426E-01 8.84256E-01 5.35980E-01 1.83748E-02 -8.32568E-01 -2.92124E-01 -6.28086E-02 -9.66282E-02 1.53828E-01 6.08561E-02 -5.78101E-02 -1.27867E-01 -1.15057E-01 -Frame 13 2.67761E-01 1.11447E00 3.26431E-01 -8.96994E-02 -9.17121E-01 -3.56393E-01 -1.63462E-02 -5.64501E-02 3.51522E-01 7.47439E-03 -1.28897E-01 9.84359E-03 -1.49928E-01 -Frame 13 2.55626E-01 1.28397E00 6.57927E-02 -2.14522E-01 -7.87039E-01 -3.99640E-01 1.87159E-01 -7.50333E-02 3.59399E-01 3.12471E-02 -2.13739E-01 8.92305E-02 -1.71016E-01 -Frame 13 -4.25981E-02 1.23828E00 1.76274E-01 -4.93033E-01 -6.74905E-01 -3.18160E-01 1.44642E-01 4.13619E-02 3.95265E-01 3.82123E-02 -2.58877E-01 5.98912E-02 -5.74393E-02 -Frame 13 -1.80542E-01 1.15519E00 1.73237E-01 -5.10341E-01 -7.27062E-01 -2.75946E-01 2.71928E-01 3.39865E-02 3.18854E-01 4.84423E-02 -2.45847E-01 9.27155E-02 -4.50976E-02 -Frame 13 1.84746E-02 9.29523E-01 1.90944E-01 -5.02440E-01 -7.82765E-01 -2.27931E-01 3.26888E-01 2.26405E-02 2.38781E-01 8.53416E-02 -2.70298E-01 1.86390E-01 -5.24540E-02 -Frame 13 1.97936E-01 1.04750E00 5.72369E-02 -4.77365E-01 -8.33998E-01 -1.64471E-01 3.79619E-01 3.52873E-02 2.12495E-01 2.64006E-02 -2.35072E-01 2.18128E-01 -1.05811E-02 -Frame 13 2.53863E-01 1.09058E00 1.39281E-01 -4.88155E-01 -8.49676E-01 -6.37710E-02 4.61210E-01 -7.52847E-02 1.23810E-01 4.04414E-02 -1.63930E-01 2.54482E-01 -3.45932E-02 -Frame 13 2.40056E-01 1.02241E00 1.71587E-01 -4.99702E-01 -8.42728E-01 1.40538E-01 3.53884E-01 -1.40003E-02 -9.58667E-02 1.57709E-01 -3.61449E-02 2.15265E-01 -1.01179E-01 -Frame 13 1.02845E-01 8.35929E-01 1.36118E-01 -5.56372E-01 -6.13176E-01 2.19993E-01 1.20258E-01 1.69249E-02 -5.22041E-02 2.12144E-01 -1.07919E-01 3.00943E-01 -2.19531E-02 -Frame 13 -2.33905E-02 9.01506E-01 1.44415E-01 -6.20617E-01 -5.88924E-01 4.00940E-01 -1.29277E-02 -7.91773E-02 2.20071E-02 2.74768E-01 -6.39187E-02 2.83699E-01 -2.34501E-02 -Frame 13 6.07964E-01 3.91788E-01 1.13274E-01 -1.70203E-01 -7.12740E-01 4.58602E-01 -1.45565E-02 -1.15794E-01 7.64304E-02 2.42964E-02 2.34631E-01 1.48466E-02 5.69791E-02 -Frame 13 -6.80522E-01 -4.10985E-01 1.86941E-01 2.58013E-01 -4.92586E-01 4.38983E-01 -2.91564E-02 -4.49169E-02 7.79629E-02 2.91955E-03 3.42833E-01 2.66595E-02 8.94449E-02 -Frame 13 -2.01996E00 -2.98600E-01 1.18926E-01 3.43356E-01 -1.01206E-01 2.75470E-01 1.99593E-01 8.00358E-02 1.31820E-01 -1.42061E-01 1.87008E-01 7.93130E-02 -1.71919E-02 -Frame 13 -2.47965E00 -1.04314E-01 4.42908E-02 2.07332E-01 1.54023E-01 1.40449E-01 2.68951E-01 2.26330E-01 -1.76571E-03 -8.16517E-02 9.60198E-02 4.55023E-02 2.41061E-02 -Frame 13 -2.80104E00 -1.66397E-01 -7.37484E-02 2.84344E-01 1.80848E-01 2.89637E-01 1.21900E-01 1.97639E-01 4.27073E-02 -3.53161E-02 7.26388E-02 9.75632E-02 1.06430E-02 -Frame 13 -2.97124E00 -1.31448E-01 -1.06162E-01 3.57635E-01 1.13412E-01 2.17120E-01 1.05105E-01 1.78815E-01 -6.20287E-03 1.71501E-01 3.36864E-02 -1.03563E-01 2.63400E-03 -Frame 13 -3.14629E00 -2.62623E-01 -1.21663E-03 3.12371E-01 4.09612E-02 2.44138E-01 1.96549E-01 1.05962E-01 6.89533E-02 6.68485E-03 1.50671E-01 8.19334E-02 5.23493E-02 -Frame 13 -2.75687E00 -1.33023E-01 -1.65950E-01 2.50612E-01 2.74310E-01 1.85367E-01 2.50804E-02 4.88729E-02 -3.40058E-03 5.89429E-02 2.08157E-01 -9.98023E-04 2.96190E-02 -Frame 13 -3.22058E00 -5.48527E-01 -4.65065E-01 3.09626E-02 1.51492E-01 1.22542E-01 5.17610E-02 1.26045E-01 3.91208E-02 1.53279E-01 2.17420E-01 8.71729E-02 5.68244E-02 -Frame 13 -3.46288E00 -4.09967E-01 -1.27619E-01 3.16509E-01 2.09853E-01 2.13162E-01 1.98948E-01 1.96567E-01 1.29540E-01 3.98870E-02 3.81239E-02 3.22589E-02 5.68185E-02 -Frame 13 -3.24970E00 -3.71403E-01 -4.28204E-02 4.03508E-01 2.65355E-01 1.59519E-01 2.69055E-01 6.87426E-02 1.67312E-02 -1.17513E-01 1.24451E-01 3.38944E-02 1.28775E-01 -Frame 13 -3.37046E00 -5.94689E-01 -2.43608E-01 7.42018E-02 2.47948E-02 1.81627E-01 1.77581E-01 1.89960E-02 5.07958E-02 4.71717E-02 9.17182E-02 -2.29540E-02 -3.43178E-02 -Frame 13 -3.85595E00 -8.31982E-01 -2.31727E-01 1.89837E-01 9.04195E-02 3.47348E-01 8.89805E-02 1.15806E-01 2.27742E-01 1.47575E-01 -3.40945E-02 5.09994E-02 1.74619E-01 -Frame 13 -3.85904E00 -7.04182E-01 -3.06021E-01 -1.35524E-02 1.25969E-01 3.09505E-01 1.88604E-01 4.44586E-02 1.51050E-01 8.22842E-02 1.06286E-01 1.02663E-01 1.34060E-01 -Frame 13 -4.21401E00 -9.13485E-01 -2.86187E-01 1.91017E-01 2.16691E-01 3.66868E-01 7.00353E-02 -2.70888E-02 -3.01948E-02 3.38278E-02 5.79062E-02 1.47411E-01 2.28789E-01 -Frame 13 -4.34124E00 -9.42211E-01 -3.57191E-01 1.36027E-01 1.57590E-01 3.79618E-01 1.43458E-01 5.56148E-02 3.83015E-02 -5.29103E-02 1.07631E-01 1.56489E-01 2.25184E-01 -Frame 13 -3.81041E00 -7.73037E-01 -2.79197E-01 1.45920E-01 6.69339E-02 3.10795E-01 2.55120E-01 1.55109E-01 1.25201E-01 4.18056E-02 6.00511E-02 6.31249E-02 6.58486E-02 -Frame 13 -4.19062E00 -9.05051E-01 -3.08049E-01 -4.16548E-02 -1.13131E-02 1.65851E-01 1.07330E-01 8.31231E-02 1.31859E-01 9.72293E-02 -1.84391E-02 2.55133E-02 5.47000E-02 -Frame 13 -4.05286E00 -8.80883E-01 -3.68171E-01 -1.96928E-02 7.04500E-02 2.64623E-01 9.98745E-02 1.84401E-01 2.62696E-01 1.55508E-01 1.84539E-01 1.35471E-01 7.05887E-02 -Frame 13 -4.04015E00 -7.73518E-01 -1.12386E-01 -2.82575E-03 1.93675E-01 3.24611E-01 9.77755E-02 1.13456E-01 2.57677E-01 1.68915E-01 2.07297E-01 1.17980E-01 1.29976E-01 -Frame 13 -4.21733E00 -9.09096E-01 -2.88319E-01 7.86348E-02 2.49963E-01 2.56750E-01 2.25012E-01 2.41218E-01 1.50406E-01 2.01434E-01 1.40547E-01 1.41675E-01 1.35923E-01 -Frame 13 -4.09491E00 -7.94264E-01 -1.62483E-01 1.20221E-01 2.45606E-01 4.20949E-01 1.64079E-01 1.88710E-01 7.85463E-02 2.45599E-02 -3.49019E-02 1.39363E-01 -5.80186E-02 -Frame 13 -4.33595E00 -9.21045E-01 -2.06025E-01 1.17370E-01 1.18612E-01 3.12258E-01 8.20342E-02 9.55804E-02 8.68412E-02 6.31578E-02 1.69003E-01 1.92046E-01 1.03767E-01 -Frame 13 -4.22540E00 -9.19340E-01 -3.01094E-01 1.19718E-01 1.06394E-01 3.48559E-01 1.43396E-01 -3.35620E-02 2.75195E-03 1.68993E-03 1.74540E-02 9.71605E-02 1.70970E-01 -Frame 13 -4.31370E00 -1.00888E00 -2.90209E-01 8.80080E-02 9.70795E-02 1.63682E-01 1.49236E-01 -6.58185E-02 -2.43105E-02 8.58416E-02 -5.70256E-02 1.94383E-01 3.03868E-01 -Frame 13 -4.30990E00 -7.82275E-01 -3.37629E-01 1.28511E-01 1.39292E-01 1.91713E-01 1.68391E-01 2.81423E-02 1.58441E-01 1.61695E-01 1.62864E-01 3.40154E-01 1.89105E-01 -Frame 13 -2.53119E00 -1.18065E00 6.32643E-02 1.29060E-01 2.77412E-02 2.60075E-01 -1.20322E-01 2.15906E-01 7.50533E-03 5.36531E-02 1.00350E-02 -2.00836E-02 3.50034E-02 -Frame 13 -1.05110E00 -1.88450E00 4.28021E-01 -6.55423E-02 -5.50553E-02 2.96023E-01 -8.64294E-02 1.65082E-01 2.45637E-02 5.24942E-02 -2.88399E-02 -1.42192E-02 -5.07762E-02 -Frame 13 -2.74256E00 -1.95414E00 4.95794E-01 -6.30613E-02 8.32724E-02 4.84541E-01 2.09926E-02 2.80014E-01 1.75528E-01 6.85236E-02 -4.28601E-02 1.18634E-01 1.39401E-01 -Frame 13 -3.83855E00 -8.47018E-01 8.54172E-03 1.07479E-01 2.16500E-01 2.47255E-01 1.15049E-01 6.16118E-02 1.76621E-01 1.04912E-01 4.97904E-02 8.39725E-02 2.59106E-01 -Frame 13 -3.60033E00 -6.47518E-01 -1.91699E-02 1.01241E-01 1.62127E-01 1.17535E-01 1.14647E-01 1.53949E-01 1.45036E-01 7.11339E-02 3.60868E-02 5.29545E-02 4.51118E-02 -Frame 13 -4.18750E00 -8.54879E-01 -2.49425E-01 1.49945E-01 1.77097E-02 2.43508E-01 8.86646E-02 1.91963E-01 2.36052E-01 1.22315E-01 2.88563E-02 5.64765E-02 1.75945E-01 -Frame 13 -4.07183E00 -7.32127E-01 -1.06789E-01 2.24980E-01 1.54791E-01 2.60489E-01 6.61936E-02 -2.93198E-03 2.01549E-01 3.76076E-02 6.73525E-02 1.28150E-01 1.35731E-01 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -Frame 13 -4.28689E00 -7.86566E-01 -1.89425E-01 9.67291E-02 6.36960E-02 1.54906E-01 4.99937E-02 8.01478E-02 1.71029E-01 -8.16576E-04 2.98255E-02 1.44834E-01 6.05714E-02 -Frame 13 -4.21069E00 -7.95898E-01 -1.40224E-01 2.16595E-02 1.31173E-01 3.06791E-01 1.38421E-01 1.43415E-02 1.70608E-01 5.17181E-02 7.10317E-02 3.73015E-02 5.48861E-02 -Frame 13 -4.08838E00 -7.75164E-01 -1.78321E-01 3.37707E-02 1.24026E-02 2.38400E-01 2.26564E-01 2.36760E-03 1.13914E-01 1.44632E-01 2.31282E-01 2.19292E-01 4.40487E-02 -Frame 13 -4.40980E00 -1.02506E00 -2.23600E-01 1.54819E-02 7.69153E-02 3.31694E-01 2.16406E-01 1.04623E-01 2.10958E-01 7.07965E-02 2.04205E-01 2.08510E-01 8.14057E-02 -Frame 13 -4.36876E00 -7.76046E-01 -1.01251E-01 8.26997E-02 1.30405E-01 3.35145E-01 3.44430E-01 2.32987E-01 2.85306E-01 1.76229E-01 9.33241E-02 2.33744E-01 4.70795E-02 -Frame 13 -4.34125E00 -8.71602E-01 -1.30169E-01 9.10902E-02 9.19454E-02 3.34301E-01 1.42523E-01 1.56891E-01 1.93912E-01 5.95510E-02 7.54762E-02 2.38749E-01 8.66367E-02 -Frame 13 -3.80803E00 -5.61370E-01 1.78193E-02 2.16506E-01 2.37641E-01 3.38525E-01 3.36852E-01 1.63854E-01 1.39544E-01 -3.15324E-02 1.29714E-02 1.86513E-01 1.83427E-01 -Frame 13 -2.37162E00 1.13167E-01 -4.59669E-02 4.42706E-01 3.11866E-01 6.40115E-02 2.82820E-01 -9.32932E-03 -2.39925E-01 -1.63076E-01 1.46146E-01 4.09478E-02 9.57446E-02 -Frame 13 -3.08583E00 -2.41425E-01 9.86472E-02 3.14240E-01 2.49586E-01 2.79748E-01 3.02517E-01 9.32200E-02 -1.04168E-01 -3.10871E-02 1.09586E-01 -4.66436E-02 5.07789E-04 -Frame 13 -2.03831E00 -6.25690E-01 -3.15329E-03 4.43659E-01 3.67837E-01 1.84199E-01 -1.12624E-01 1.03022E-01 -9.27478E-03 7.96377E-02 -1.14913E-01 6.70700E-02 6.35015E-02 -Frame 13 1.82278E00 -1.37459E-03 -3.88482E-01 5.68742E-01 -8.55142E-02 -6.12218E-02 -2.84493E-01 -8.46350E-02 5.12153E-02 2.05674E-01 -6.72788E-02 -4.47317E-02 1.36628E-01 -Frame 13 2.39231E00 4.46825E-01 -6.12580E-01 3.54098E-01 -2.83672E-02 -2.76477E-01 -2.73310E-01 -6.57756E-02 1.16534E-01 2.53374E-01 -3.55131E-02 -9.50728E-02 1.90832E-01 -Frame 13 3.24147E00 5.31758E-01 -6.85324E-01 1.00825E-01 -5.92695E-02 -1.85400E-01 -1.88401E-01 -1.42611E-01 9.40095E-02 4.65512E-01 -1.65472E-01 1.77345E-02 1.45055E-02 -Frame 13 3.72075E00 5.69091E-01 -7.99098E-01 -5.29641E-02 -3.33805E-02 -2.08621E-01 -1.70504E-01 -1.78338E-02 5.87236E-02 4.53200E-01 -1.57471E-01 6.39470E-02 -8.99485E-02 -Frame 13 4.01678E00 5.65692E-01 -8.25324E-01 -2.07121E-01 -2.45110E-02 -1.20177E-01 -1.46334E-01 -4.37585E-02 1.27944E-01 4.27885E-01 -1.00135E-01 5.76013E-02 -1.80355E-01 -Frame 13 4.08981E00 6.05889E-01 -8.23130E-01 -2.91684E-01 -3.01541E-02 -1.18982E-01 -2.62613E-02 -7.31299E-02 1.23525E-02 5.88051E-01 -1.23411E-01 6.02530E-02 -2.55894E-01 -Frame 13 4.28310E00 4.69808E-01 -7.13020E-01 -3.91889E-01 -2.90802E-02 -5.21236E-02 -4.17537E-02 -5.27223E-02 -3.29663E-02 6.39171E-01 -1.18661E-01 -2.66769E-02 -1.80246E-01 -Frame 13 4.29566E00 4.64068E-01 -7.66119E-01 -3.02351E-01 -2.68527E-02 -4.96424E-02 -1.08205E-01 -9.22114E-03 -4.77071E-02 6.49284E-01 -1.20980E-01 -5.41445E-02 -1.63600E-01 -Frame 13 4.25974E00 4.41868E-01 -7.22514E-01 -3.28203E-01 4.18673E-02 -4.05169E-02 -2.23548E-01 3.30902E-02 3.90477E-02 5.83195E-01 -1.28994E-01 -3.20043E-02 -1.62834E-01 -Frame 13 4.17131E00 4.51991E-01 -7.40452E-01 -2.79991E-01 1.61903E-01 -1.05990E-01 -3.88798E-01 1.51307E-01 8.00072E-02 4.84634E-01 -5.40206E-02 -1.04889E-01 -1.01103E-01 -Frame 13 4.16090E00 3.36943E-01 -6.56063E-01 -2.08720E-01 1.61246E-01 -1.31101E-01 -4.16546E-01 1.02226E-01 1.42969E-01 4.76974E-01 -1.49984E-01 -8.35050E-02 -2.76680E-02 -Frame 13 4.02839E00 2.37760E-01 -5.98790E-01 -1.13393E-03 3.70024E-02 -5.87936E-02 -4.57905E-01 5.09874E-02 1.90740E-01 3.87601E-01 -8.24150E-02 -2.11633E-01 1.63646E-01 -Frame 13 2.87857E00 3.46444E-01 -5.24766E-01 9.36316E-03 1.28046E-01 -4.51148E-02 -4.35848E-01 -1.79419E-02 1.17253E-01 3.93715E-01 -1.90884E-02 -2.69764E-01 2.08444E-01 -Frame 13 3.35298E-01 2.86894E-01 -4.29965E-01 3.78955E-01 5.44894E-01 -1.99597E-01 3.81338E-02 -5.02578E-02 -1.52415E-01 2.30357E-01 -9.57362E-02 -1.21165E-01 5.36988E-02 -Frame 13 3.29278E-01 9.54165E-02 -4.00995E-01 5.14516E-01 4.23818E-01 -4.61317E-02 3.51601E-02 -2.17968E-01 8.84104E-02 5.95676E-02 -1.52611E-01 -1.25444E-01 -1.78858E-02 -Frame 13 1.86855E00 9.19933E-02 -7.18577E-01 5.81127E-01 6.05141E-02 5.11308E-02 -1.05763E-01 -5.98887E-01 2.62631E-01 1.15381E-01 -9.95114E-02 -1.56807E-01 1.57656E-02 -Frame 13 2.97830E00 6.13082E-01 -1.01953E00 4.28992E-01 2.74467E-02 -1.50016E-01 -1.21279E-01 -3.88178E-01 2.90572E-01 2.99226E-01 -2.32016E-01 -2.04436E-01 2.17592E-01 -Frame 13 3.19050E00 6.17838E-01 -1.02085E00 3.81439E-01 -1.32686E-02 -1.80493E-01 -1.60709E-01 -2.72682E-01 2.48761E-01 3.66367E-01 -2.62843E-01 -8.22797E-02 1.41085E-02 -Frame 13 3.05454E00 7.21751E-01 -9.64720E-01 1.73196E-01 2.74633E-02 -1.09925E-01 -1.10256E-01 -2.53566E-01 3.04607E-02 5.06356E-01 -1.92754E-01 -1.00838E-01 -9.98322E-02 -Frame 13 2.75856E00 8.25939E-01 -7.76662E-01 -6.81847E-02 3.41699E-03 4.77524E-02 -1.44359E-01 -1.18171E-01 -2.32175E-01 5.08335E-01 1.01002E-02 -1.67794E-01 1.38964E-02 -Frame 13 2.34892E00 9.60293E-01 -6.88041E-01 2.02113E-03 -1.96625E-01 9.66523E-02 -7.72223E-03 -1.50423E-01 -2.23685E-01 3.58116E-01 -2.32488E-02 5.68277E-02 -1.62007E-03 -Frame 13 1.99385E00 1.06238E00 -5.89807E-01 4.72312E-02 -3.87294E-01 2.09621E-01 6.57242E-02 -1.76644E-01 -1.83765E-01 1.28058E-01 -2.07419E-02 1.55217E-01 4.51898E-02 -Frame 13 1.60834E00 1.17383E00 -5.16939E-01 8.78602E-02 -4.06573E-01 1.19317E-01 2.08642E-01 -2.04315E-01 -1.17187E-01 -4.41330E-02 -8.87736E-02 1.53351E-01 1.00479E-01 -Frame 13 1.43880E00 1.13640E00 -3.49183E-01 7.40607E-02 -4.31677E-01 1.36154E-01 1.52920E-01 -1.14412E-01 -6.05807E-02 -2.58708E-01 -4.51663E-02 3.47147E-02 1.66051E-01 -Frame 13 1.28180E00 1.08573E00 -2.37512E-01 1.61546E-01 -3.86632E-01 5.77607E-02 1.25851E-01 -3.58120E-02 -1.13550E-01 -2.82903E-01 -1.16661E-01 5.14703E-03 6.03687E-02 -Frame 13 1.29080E00 1.02441E00 -2.48441E-01 2.15340E-01 -2.32859E-01 -2.13120E-02 2.54740E-01 -1.24177E-01 -1.63001E-01 -3.21115E-01 -1.07109E-01 4.66859E-02 -8.66546E-02 -Frame 13 1.51987E00 8.12432E-01 -3.67934E-01 4.39493E-01 -1.76252E-01 1.23552E-01 1.76791E-01 -1.94231E-01 -2.67634E-01 -2.03950E-01 4.27735E-02 5.32737E-02 -3.36997E-01 -Frame 13 1.66805E00 5.03621E-01 -3.53973E-01 4.57305E-01 1.23880E-01 2.01580E-01 6.55824E-02 -3.28052E-01 -1.13836E-01 -7.66033E-02 1.16577E-01 -8.88446E-02 -4.74052E-01 -Frame 13 1.14886E00 -5.77655E-02 8.86077E-03 4.50474E-01 1.31049E-01 4.61326E-01 -2.26604E-01 -2.62111E-01 -1.79934E-02 -4.12798E-02 3.90458E-02 -1.97913E-01 -4.16717E-01 -Frame 13 2.15065E-01 -5.50372E-01 -7.53274E-02 6.46522E-02 3.91532E-04 3.53877E-01 -4.02972E-01 4.10381E-01 2.35683E-01 -2.67160E-02 5.24774E-02 1.25417E-01 -2.99777E-01 -Frame 13 -2.08707E00 -3.08618E-01 -8.04750E-02 -6.65930E-03 -2.08731E-02 2.36969E-01 -2.31354E-02 3.70966E-01 1.98534E-01 8.09942E-02 5.40756E-02 1.76556E-02 -8.65434E-02 -Frame 13 -3.13328E00 -3.14447E-01 -2.81314E-01 -2.97009E-01 -6.87497E-02 1.41146E-01 1.36043E-01 6.65456E-02 1.45425E-01 4.13596E-02 -2.86001E-02 -1.22191E-03 -7.17405E-02 -Frame 13 -3.24671E00 -2.98300E-01 -3.16009E-01 -1.60945E-01 -4.64706E-02 2.07064E-01 7.50556E-02 6.24933E-02 1.30005E-01 1.09448E-01 2.79679E-02 3.14189E-02 3.42485E-02 -Frame 13 -3.41196E00 -4.92607E-01 -2.80567E-01 4.08073E-02 -3.72724E-02 2.15433E-01 7.61084E-02 9.32296E-02 1.30950E-01 5.46742E-03 2.70392E-02 -1.51117E-02 7.15678E-02 -Frame 13 -1.77807E00 -1.20302E00 -1.02205E-01 3.62045E-02 -9.19382E-02 3.29505E-01 -1.24800E-03 1.67209E-01 7.68536E-02 1.01037E-01 7.99415E-03 6.76620E-02 -2.19257E-02 -Frame 13 6.55512E-01 -1.91012E00 1.94869E-01 -2.34770E-01 -3.52030E-02 1.64509E-01 -1.08168E-01 4.91227E-02 -5.58247E-02 1.15818E-02 -8.31381E-02 7.25785E-02 -1.05748E-01 -Frame 13 1.54216E-01 -2.78282E00 8.00770E-01 -2.37531E-01 5.99562E-02 2.44356E-01 -1.90178E-01 9.82607E-02 3.66555E-02 -5.01855E-02 1.70193E-01 1.52865E-01 5.50333E-02 -Frame 13 5.13301E-01 -2.89500E00 7.50743E-01 -1.70764E-01 8.01829E-02 3.45233E-01 -1.14883E-01 1.72132E-01 -4.09642E-03 -1.18897E-01 2.20512E-01 -2.96265E-02 -9.47314E-03 -Frame 13 1.30963E00 -2.75870E00 5.14440E-01 9.02167E-02 -6.81011E-02 4.15304E-01 -6.37813E-02 1.27729E-01 1.96909E-01 -7.88888E-02 2.13730E-01 1.07654E-02 -1.38359E-01 -Frame 13 2.10616E00 -2.58926E00 2.15252E-01 2.40145E-01 -8.93176E-02 1.23153E-01 1.88105E-01 3.10734E-01 1.69777E-01 -1.84542E-01 1.64959E-01 6.39853E-02 -2.96296E-02 -Frame 13 2.41382E00 -2.24515E00 2.23786E-01 3.99879E-01 -2.59670E-01 1.04797E-02 3.60701E-02 1.11044E-01 5.78817E-02 -9.88370E-02 1.88959E-01 3.66452E-02 -3.42381E-02 -Frame 13 2.35137E00 -2.16950E00 2.16950E-03 5.52608E-01 -1.36162E-01 -1.91939E-01 -7.79761E-02 1.77721E-01 3.24115E-02 -2.88608E-01 2.15686E-02 -3.45791E-02 -3.27221E-02 -Frame 13 2.49623E00 -1.92378E00 1.68721E-02 6.79114E-01 -8.08723E-02 -2.49807E-01 7.85753E-02 4.18373E-01 2.53936E-02 -2.75357E-01 -1.05314E-01 9.28492E-03 -7.52987E-02 -Frame 13 1.84310E00 -1.70460E00 -2.34384E-01 8.76677E-01 2.80614E-01 -3.03235E-01 -2.31887E-02 3.72845E-01 9.19575E-02 -9.39768E-02 1.58358E-01 -2.17615E-02 -1.09959E-01 -Frame 13 1.80071E00 -8.59577E-01 -3.34186E-01 7.46405E-01 5.71252E-01 1.94233E-01 -1.83014E-01 -3.16698E-03 6.93578E-04 -6.05166E-02 8.36369E-02 -1.01185E-01 -1.86918E-01 -Frame 13 2.32094E00 8.18430E-02 -4.24853E-01 6.04966E-01 7.20358E-01 -1.31878E-01 -1.68539E-01 -1.52350E-01 -1.84828E-02 -1.85686E-01 1.91506E-02 -1.74539E-01 -3.34624E-01 -Frame 13 2.39719E00 3.46063E-01 -5.25355E-01 7.38238E-01 4.57441E-01 -1.70147E-01 -4.30376E-02 -3.69794E-01 -2.18745E-02 -1.21229E-01 2.83916E-02 -2.16860E-01 -3.81287E-01 -Frame 13 2.17439E00 6.44169E-01 -4.89930E-01 5.28269E-01 3.36346E-01 9.16191E-03 -3.17755E-02 -4.05419E-01 -7.00663E-02 -1.41638E-01 1.04828E-01 -1.95944E-01 -3.21803E-01 -Frame 13 1.88442E00 8.01026E-01 -3.06487E-01 2.61741E-01 2.06123E-01 1.37812E-01 8.46284E-02 -3.56919E-01 -2.12628E-01 -1.92394E-01 9.19447E-02 -1.19678E-02 -2.81906E-01 -Frame 13 1.54864E00 8.54858E-01 1.91795E-02 1.79027E-01 -7.07538E-02 1.38404E-01 1.27206E-01 -1.30702E-01 -2.40241E-01 -3.89621E-01 2.00149E-03 4.26336E-02 -1.28270E-01 -Frame 13 1.02453E00 1.06923E00 1.89749E-01 5.29675E-02 -1.44687E-01 -1.03356E-02 1.92700E-01 4.09662E-02 -1.49316E-01 -4.42845E-01 -1.63686E-01 -1.67213E-02 -1.64838E-01 -Frame 13 6.17639E-01 1.13646E00 3.35673E-01 4.56414E-02 -2.43961E-01 -1.47659E-01 1.09712E-01 1.58006E-01 -2.34975E-02 -3.13854E-01 -2.02943E-01 -1.85019E-01 -1.89564E-01 -Frame 13 2.10136E-01 1.12497E00 4.04586E-01 2.77196E-01 -4.00574E-01 -2.56643E-01 9.42399E-02 1.32309E-01 9.11187E-02 -2.04482E-01 -1.13125E-01 -2.23816E-01 -2.79284E-01 -Frame 13 2.40463E-01 1.02877E00 4.60342E-01 3.04360E-01 -3.42106E-01 -3.80494E-01 1.15492E-01 1.26505E-01 5.78125E-02 -5.79328E-02 -8.75879E-02 -2.34888E-01 -3.55099E-01 -Frame 13 6.71058E-01 1.04738E00 3.80992E-01 1.76290E-01 -4.24150E-01 -3.37155E-01 1.63541E-01 5.00341E-02 -9.54407E-03 -5.78154E-02 -4.92127E-02 -2.05144E-01 -2.70243E-01 -Frame 13 1.19816E00 1.07310E00 1.62197E-01 1.88468E-01 -5.90277E-01 -3.76588E-01 2.10542E-01 -6.59688E-02 9.00327E-02 -6.19813E-02 -1.12936E-01 -8.72195E-02 -2.14459E-01 -Frame 13 1.81023E00 1.00432E00 -4.60393E-03 4.98768E-02 -7.01456E-01 -3.38132E-01 2.88222E-01 -1.03294E-01 1.34683E-01 -5.13527E-02 -1.76244E-01 -5.66020E-02 -2.10318E-02 -Frame 13 2.38335E00 7.84385E-01 -1.04240E-01 -1.91994E-01 -6.84314E-01 -2.07041E-01 3.79176E-01 -1.16723E-01 1.28148E-01 -1.44116E-01 -1.19406E-01 1.14645E-01 1.60264E-01 -Frame 13 2.56235E00 9.13845E-01 -4.71640E-01 -2.50786E-01 -5.64819E-01 -5.60016E-02 4.59839E-01 -2.03148E-01 -1.07216E-01 -1.76447E-02 2.77525E-02 2.41740E-01 2.02475E-01 -Frame 13 2.73037E00 8.14136E-01 -6.46244E-01 -2.55048E-01 -3.27907E-01 -1.41970E-02 3.68139E-01 -2.86503E-01 -1.72432E-01 2.01243E-01 9.68836E-02 2.50949E-01 9.13910E-03 -Frame 13 2.72698E00 7.21153E-01 -7.33624E-01 -1.48801E-01 -1.54714E-01 -3.23495E-02 6.00507E-02 -2.14736E-01 -1.14748E-01 3.34629E-01 1.98697E-01 -1.08324E-03 -7.61086E-02 -Frame 13 2.62596E00 7.31644E-01 -8.40346E-01 -5.50304E-03 -3.28700E-02 -1.63864E-02 -1.36516E-01 -2.64659E-01 -2.17245E-02 4.44326E-01 9.85775E-02 -3.22752E-02 -7.00669E-02 -Frame 13 2.16993E00 6.78725E-01 -9.08972E-01 2.62372E-01 -7.40952E-02 3.49210E-02 -1.59409E-01 -3.73103E-01 1.29982E-01 3.81948E-01 -4.03948E-02 -6.82722E-02 9.11368E-02 -Frame 13 -3.29460E-01 3.16062E-01 -3.97930E-01 3.37157E-01 4.57893E-01 5.33536E-02 1.02886E-01 -2.91726E-01 -1.07289E-01 4.82973E-02 2.25503E-01 -9.13235E-02 1.09846E-01 -Frame 13 -9.53300E-01 3.71564E-01 -4.34045E-01 4.36320E-01 4.36676E-01 5.64456E-02 6.40845E-02 -1.72605E-01 -1.70636E-01 7.67497E-02 2.63054E-01 -1.65837E-01 1.42317E-01 -Frame 13 -4.50767E-01 2.11570E-01 -5.39084E-01 5.51035E-01 5.97693E-02 1.75349E-01 9.26326E-02 -2.70534E-01 1.92600E-02 8.98672E-02 4.74020E-02 -9.43510E-02 -5.39807E-02 -Frame 13 1.42453E00 2.38338E-01 -7.11084E-01 5.94860E-01 -1.61570E-01 1.95992E-01 -7.04920E-02 -5.63026E-01 2.03846E-01 2.84653E-01 1.32434E-01 -1.45979E-01 -7.38184E-02 -Frame 13 2.47197E00 5.55732E-01 -8.63884E-01 2.72171E-01 -1.53457E-01 5.40665E-02 -1.56061E-01 -3.28548E-01 1.51651E-01 3.15223E-01 7.01321E-02 -2.35464E-01 7.84326E-02 -Frame 13 2.73943E00 4.03408E-01 -7.85395E-01 1.34214E-01 -9.45655E-02 -1.00068E-03 -1.53749E-01 -3.37823E-01 1.30441E-01 3.88110E-01 5.43751E-02 -2.50342E-01 7.55638E-02 -Frame 13 2.36911E00 4.76812E-01 -6.67271E-01 -6.73553E-02 -1.33828E-01 5.51894E-02 -1.67977E-01 -2.61504E-01 3.77680E-02 4.32800E-01 4.17999E-02 -1.03036E-01 -4.22500E-02 -Frame 13 2.07679E00 5.90311E-01 -6.47298E-01 -1.98991E-01 -1.10011E-01 4.79720E-02 -5.91622E-02 -3.23321E-01 4.63320E-02 4.74182E-01 1.38291E-02 4.43331E-02 -2.39366E-01 -Frame 13 2.02559E00 6.27036E-01 -5.53358E-01 -2.54980E-01 -1.13102E-01 3.72616E-02 2.09900E-02 -3.55227E-01 4.82838E-02 4.15287E-01 6.10042E-02 1.07668E-01 -3.62968E-01 -Frame 13 1.76637E00 7.26808E-01 -4.08603E-01 -2.03465E-01 -2.81550E-01 1.07726E-01 4.74069E-02 -3.62110E-01 7.68456E-02 2.57086E-01 9.89112E-02 1.69656E-01 -3.13128E-01 -Frame 13 1.48873E00 7.90257E-01 -3.40118E-01 -2.21011E-01 -2.52658E-01 1.30094E-01 1.26807E-02 -2.82299E-01 -7.18520E-02 2.75236E-01 1.05913E-01 1.43043E-01 -1.97050E-01 -Frame 13 1.21959E00 6.10006E-01 -4.26330E-02 -2.94583E-01 -4.26672E-01 2.82632E-01 -2.37146E-02 -2.17241E-01 -1.27158E-01 2.27705E-01 1.29751E-01 1.38133E-01 -1.30257E-01 -Frame 13 1.00485E00 6.06170E-01 -1.16080E-01 -2.46817E-01 -4.20614E-01 2.12638E-01 2.72018E-02 -1.86231E-01 -1.82141E-01 2.25391E-01 1.65958E-01 1.75132E-01 -1.46709E-01 -Frame 13 9.60567E-01 6.58358E-01 -1.15735E-01 -2.69298E-01 -3.35119E-01 6.10328E-02 9.20498E-02 -2.22991E-01 -1.58323E-01 2.30999E-01 1.09092E-01 2.45806E-01 -1.57668E-01 -Frame 13 8.07411E-01 7.92225E-01 -4.93530E-02 -2.53654E-01 -4.16037E-01 6.27926E-02 1.83308E-01 -2.44718E-01 -2.48456E-01 1.89013E-01 1.42592E-01 2.67713E-01 -2.07545E-01 -Frame 13 3.40862E-01 8.69623E-01 3.55854E-02 -1.47684E-01 -5.48732E-01 1.61662E-01 1.08958E-01 -1.62885E-01 -2.94170E-01 1.52899E-01 1.96695E-01 2.04013E-01 -1.73827E-01 -Frame 13 -9.56604E-03 7.91722E-01 1.78991E-02 -2.51378E-01 -3.62855E-01 8.52389E-02 1.22870E-01 -1.30945E-01 -1.98627E-01 4.51046E-02 2.18997E-01 2.34752E-01 -1.09176E-01 -Frame 13 4.69491E-02 7.18788E-01 8.48633E-02 -2.99512E-01 -4.19308E-01 1.35383E-01 7.59130E-02 -1.51808E-02 -2.44409E-01 -3.22835E-02 2.40816E-01 2.43079E-01 -4.12822E-02 -Frame 13 -1.82383E-01 7.94825E-01 2.37638E-01 -2.16496E-01 -5.02992E-01 9.19781E-02 7.27442E-02 8.09596E-02 -1.98947E-01 -1.68480E-01 2.00994E-01 2.50807E-01 -3.45341E-02 -Frame 13 -4.89089E-01 8.14565E-01 1.63226E-01 -1.66461E-01 -4.73717E-01 1.05415E-01 9.80375E-02 6.60006E-02 -1.92284E-01 -2.00041E-01 1.81195E-01 2.22769E-01 1.77898E-02 -Frame 13 -8.95098E-01 8.29570E-01 9.67928E-02 -2.64522E-01 -3.95039E-01 1.28252E-01 6.99649E-03 1.09050E-01 -1.20210E-01 -2.31721E-01 2.20396E-01 1.91093E-01 6.38869E-02 -Frame 13 -7.38374E-01 8.31637E-01 2.26133E-01 -3.44059E-01 -4.11952E-01 1.81472E-01 -3.34426E-02 7.32125E-02 -9.56367E-02 -2.28617E-01 1.44643E-01 1.66517E-01 8.01598E-02 -Frame 13 -9.46987E-01 7.78742E-01 3.22649E-01 -1.82722E-01 -3.91288E-01 7.46010E-02 4.50707E-03 1.72619E-01 -1.74735E-01 -2.45407E-01 1.79911E-01 1.54589E-01 -2.11636E-02 -Frame 13 -1.51789E00 6.35642E-01 2.18088E-01 -3.06732E-01 -2.57294E-01 2.76267E-02 5.54874E-02 1.76697E-01 -9.59555E-02 -1.94274E-01 3.27741E-02 1.28166E-01 2.86107E-02 -Frame 13 -1.60803E00 6.01653E-01 1.63762E-01 -1.74530E-01 -3.08110E-01 7.66005E-02 8.37163E-02 1.11605E-01 3.86550E-02 -2.88909E-01 -5.07956E-02 2.06110E-01 8.76042E-02 -Frame 13 -1.92107E00 4.27209E-01 1.13826E-01 -1.29280E-01 -3.12792E-01 1.40754E-01 1.52826E-01 2.63710E-01 2.21328E-02 -1.88876E-01 6.01051E-03 1.80090E-01 8.09532E-02 -Frame 13 -1.69738E00 5.44194E-01 2.15965E-01 -4.60044E-02 -3.54674E-01 1.46074E-01 7.20250E-02 1.55433E-01 -2.47749E-02 -2.32129E-01 5.80982E-02 6.62341E-02 -5.07428E-03 -Frame 13 -2.24042E00 4.13780E-01 2.79406E-01 -7.43337E-02 -4.27952E-01 8.17253E-02 1.53395E-01 1.03995E-01 6.83430E-02 -2.32159E-01 -6.10607E-02 6.11096E-02 1.51125E-01 -Frame 13 -3.35034E00 -2.40919E-01 -5.20984E-02 -6.23148E-02 -1.69487E-01 3.06066E-01 1.36493E-01 1.85423E-01 2.43130E-01 4.23118E-02 4.56278E-02 7.08588E-02 1.13216E-01 -Frame 13 -2.70554E00 3.33366E-01 3.55645E-01 1.02358E-01 -2.58237E-01 1.09713E-01 2.07230E-01 5.16259E-02 1.91490E-02 -3.10057E-02 2.07937E-02 1.93065E-02 -2.72337E-02 -Frame 13 -2.87585E00 -7.49190E-02 2.56376E-01 1.45623E-01 -2.82299E-01 1.63519E-02 1.34351E-01 2.67994E-01 1.71388E-01 -1.18700E-01 -7.91579E-02 -4.68826E-02 1.96967E-02 -Frame 13 -3.53863E00 -4.57725E-01 1.56994E-01 5.58858E-02 -1.93273E-01 1.55923E-01 1.99230E-01 2.66174E-01 2.41749E-01 7.44243E-02 1.06374E-02 9.50720E-03 1.76113E-01 -Frame 13 -3.53194E00 -1.79864E-01 5.98747E-02 -6.22535E-02 1.18058E-01 2.27120E-01 1.58394E-01 1.13585E-01 2.02407E-01 9.29829E-02 5.06055E-02 -3.90864E-02 9.26163E-02 -Frame 13 -3.80216E00 -4.85639E-01 -8.53524E-02 -8.75485E-02 3.10341E-02 2.23415E-01 1.29957E-01 2.30148E-01 3.70753E-01 1.58397E-01 5.74322E-02 4.60942E-02 1.69331E-01 -Frame 13 -4.07366E00 -6.68995E-01 -1.33300E-01 -1.12175E-01 -1.06313E-01 1.07318E-02 6.23432E-02 2.13040E-01 3.39954E-01 1.33526E-01 7.25359E-02 1.01585E-01 1.15617E-01 -Frame 13 -3.83639E00 -5.82796E-01 -1.36949E-01 -1.94487E-02 -1.75886E-02 9.67059E-02 1.35574E-01 1.61879E-01 4.10095E-02 1.15670E-01 1.58105E-01 3.59982E-02 7.01896E-02 -Frame 13 -4.02997E00 -6.94261E-01 -1.03877E-01 -4.74954E-03 -7.43306E-02 1.33228E-01 1.51412E-01 2.12384E-01 8.23824E-02 7.65756E-02 -4.47513E-02 -2.16426E-02 7.28597E-02 -Frame 13 -4.31614E00 -7.40435E-01 5.44666E-02 -9.42117E-03 6.46300E-03 2.32919E-01 1.60436E-01 1.98079E-01 2.07763E-01 -1.26570E-02 -1.24298E-02 -3.21692E-04 1.45020E-01 -Frame 13 -4.50672E00 -8.18359E-01 -9.04503E-02 -1.18254E-02 -5.64226E-02 9.50501E-02 -3.80592E-02 1.50494E-01 5.65873E-02 5.44640E-02 3.65113E-02 1.67494E-01 1.44156E-01 -Frame 13 -4.39163E00 -9.16723E-01 -2.90100E-01 -3.54528E-02 7.05750E-02 2.59452E-01 2.17710E-01 1.93807E-01 1.84526E-01 8.00346E-03 2.72078E-02 1.70702E-01 1.65198E-01 -Frame 13 -4.33134E00 -8.54006E-01 -1.11622E-01 9.93593E-02 1.01943E-01 2.29500E-01 1.73836E-01 1.44768E-01 3.34424E-01 5.55910E-02 1.83520E-01 2.42456E-01 2.76702E-01 -Frame 13 -3.99673E00 -5.24868E-01 -1.31407E-01 -3.10080E-02 -8.67055E-03 1.14643E-01 7.21971E-02 -6.82462E-02 1.04487E-01 2.80632E-02 1.04043E-01 1.51261E-01 8.91924E-02 -Frame 13 -4.37894E00 -8.39015E-01 -5.04248E-02 8.57833E-02 8.74962E-02 3.03410E-01 1.13683E-01 1.75580E-02 1.84726E-01 1.81439E-01 1.33107E-01 3.64985E-02 6.36432E-03 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1424472828998, duration: 5235ms -Data: null diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-dct.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-dct.dump deleted file mode 100755 index 7121bd5a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-dct.dump +++ /dev/null @@ -1,321 +0,0 @@ -Signal: DataStartSignal: creation time: 1422745326991 -Signal: SpeechStartSignal -Frame 13 4.35044E00 -3.62124E-01 -5.57873E-02 5.28954E-04 -1.62325E-01 -3.29990E-02 -2.69022E-01 3.61039E-02 1.02191E-01 -1.22760E-01 -1.72807E-01 -1.59047E-02 3.64013E-02 -Frame 13 4.36248E00 -3.09225E-01 -1.27483E-01 -7.35245E-02 -6.60480E-02 -3.30893E-02 -8.88829E-02 1.49858E-01 7.22210E-02 1.56518E-01 -6.66357E-02 -5.36541E-02 -4.36872E-02 -Frame 13 4.19125E00 -3.10615E-01 3.53757E-03 -2.76253E-03 -1.30944E-02 7.17566E-02 -8.53887E-02 -5.67504E-02 8.67437E-03 1.26834E-02 -1.14026E-01 -1.11036E-01 -1.91624E-01 -Frame 13 4.14029E00 -3.86329E-01 4.45131E-02 -8.98670E-02 -2.37712E-01 7.68078E-02 -1.09436E-01 1.42774E-01 1.12632E-01 -7.30498E-02 -8.06841E-02 1.08366E-01 4.48720E-02 -Frame 13 4.33023E00 -3.17547E-01 1.57211E-01 2.67626E-01 -1.16972E-01 2.07867E-03 -1.34386E-01 1.31169E-01 -4.31010E-02 -1.32614E-01 -5.23259E-02 1.37288E-01 1.89288E-03 -Frame 13 5.30770E00 6.06625E-01 6.40427E-01 1.89722E-01 -1.82725E-01 -3.30100E-01 -2.65303E-01 -8.51583E-02 -6.85112E-02 -5.18835E-02 -1.72679E-02 -1.19163E-01 -6.49302E-02 -Frame 13 6.37377E00 9.61735E-01 7.06981E-01 1.16524E-01 -3.36494E-01 -5.00431E-01 -2.87676E-01 -3.20377E-03 -7.22889E-02 9.48041E-02 -8.91435E-02 -1.45179E-01 -1.38953E-01 -Frame 13 7.32419E00 1.26729E00 7.21723E-01 -1.12210E-02 -4.98162E-01 -5.93425E-01 -3.71346E-01 1.05433E-02 -8.66791E-02 6.67726E-05 -1.20808E-01 -2.15508E-01 -2.97108E-01 -Frame 13 8.71594E00 1.57792E00 2.13874E-01 -1.59173E-01 -5.35772E-01 -6.77416E-01 -3.13183E-01 -3.32226E-02 -1.54243E-02 -1.06585E-01 -2.52006E-01 -5.68518E-02 -3.54771E-01 -Frame 13 1.00357E01 1.44059E00 9.40012E-02 -3.78655E-01 -6.08570E-01 -8.39901E-01 -1.77156E-01 1.50101E-01 -1.77339E-01 3.71409E-02 -3.61866E-01 -6.67967E-02 -3.38660E-01 -Frame 13 1.08173E01 1.37116E00 -1.72188E-01 -4.49920E-01 -7.47369E-01 -6.98217E-01 -7.31388E-02 1.66398E-01 -2.67948E-01 6.58358E-02 -3.14414E-01 -4.63809E-02 -1.64520E-01 -Frame 13 1.14681E01 1.15484E00 -3.23511E-01 -4.96057E-01 -7.55829E-01 -5.58044E-01 -2.62330E-02 1.25516E-01 -3.69320E-01 2.43154E-03 -2.27315E-01 7.58266E-02 -1.07124E-01 -Frame 13 1.18500E01 9.42532E-01 -4.14449E-01 -5.33553E-01 -6.70553E-01 -4.34453E-01 -2.38645E-02 2.09362E-03 -3.89844E-01 8.22018E-03 -1.02913E-01 8.61397E-02 -8.83702E-02 -Frame 13 1.19570E01 8.35838E-01 -4.77081E-01 -5.09760E-01 -5.37755E-01 -3.99048E-01 -1.19405E-01 -9.33199E-02 -3.83898E-01 1.53901E-01 -6.84146E-02 -2.88529E-02 -1.01248E-01 -Frame 13 1.20162E01 6.04524E-01 -3.72135E-01 -4.81265E-01 -4.59911E-01 -2.89872E-01 -2.94205E-01 -1.66914E-01 -3.41551E-01 2.96562E-01 -6.16469E-02 -1.64011E-01 -1.04107E-01 -Frame 13 1.16198E01 5.74589E-01 -2.21462E-01 -4.34042E-01 -4.08860E-01 -1.29760E-01 -5.38148E-01 -1.15752E-01 -3.49612E-01 3.44651E-01 -1.40934E-01 -2.07714E-01 -7.47612E-02 -Frame 13 1.04190E01 2.50605E-01 1.34067E-01 -4.41645E-01 -3.02713E-01 7.19476E-02 -5.30864E-01 -1.88640E-01 -2.46833E-01 1.90605E-01 -1.32482E-01 -1.46431E-01 -6.53755E-02 -Frame 13 8.65321E00 -1.04154E-01 6.68800E-03 -4.99171E-02 -2.88736E-02 2.28254E-02 -2.46326E-01 -1.35266E-03 -3.30087E-01 8.62431E-02 -2.55603E-01 -1.38682E-01 -3.16929E-02 -Frame 13 7.64938E00 4.54050E-01 -3.28732E-01 1.68666E-01 5.73193E-02 -1.29422E-01 -6.45624E-02 3.12390E-03 -3.05242E-01 1.79547E-02 -3.51198E-01 -1.88265E-01 6.69929E-02 -Frame 13 7.60077E00 5.44641E-01 -3.10890E-01 1.54068E-01 3.19966E-02 -2.56189E-01 -8.40390E-02 -5.10415E-02 -3.06394E-01 5.56546E-02 -2.97010E-01 -1.58317E-01 6.61751E-02 -Frame 13 7.30537E00 5.10552E-01 -2.08373E-01 2.01619E-01 9.42251E-02 -2.69055E-01 -7.40461E-02 4.71880E-02 -3.55845E-01 -5.93280E-02 -3.87942E-01 -1.30201E-01 2.50332E-01 -Frame 13 7.18718E00 3.90754E-01 -1.18016E-01 1.41157E-01 6.89464E-02 -1.95777E-01 -1.50324E-01 -9.82656E-02 -2.79773E-01 -1.63593E-02 -2.87712E-01 -1.89836E-01 2.13388E-01 -Frame 13 7.09461E00 3.18274E-01 -4.21691E-02 2.16374E-01 -2.76096E-03 -3.32259E-01 -1.62171E-01 -2.25943E-01 -1.84921E-01 1.75915E-01 -2.32053E-01 -1.20422E-01 2.72238E-02 -Frame 13 6.72771E00 3.44454E-01 8.62565E-02 1.81412E-01 -1.00577E-01 -2.53199E-01 -8.83022E-02 -2.51930E-01 -1.92273E-01 8.74665E-02 -1.33386E-01 -1.07272E-01 4.19245E-02 -Frame 13 7.13285E00 -2.81871E-01 2.95215E-01 8.48372E-02 -3.28446E-02 -1.10549E-01 -1.73535E-01 -7.70419E-02 -1.24186E-01 -1.50891E-02 -1.74940E-01 -1.50030E-01 -8.52441E-02 -Frame 13 8.22251E00 -7.47113E-01 4.51405E-01 -4.78626E-02 -3.39630E-02 -2.44044E-01 -2.60640E-01 -7.36600E-02 -1.04630E-01 -1.90416E-01 -1.21873E-01 -1.36685E-01 -7.49321E-03 -Frame 13 7.77290E00 -1.01836E00 9.05703E-01 -4.62015E-01 2.28356E-01 -1.40398E-01 -3.42449E-01 -1.56944E-01 5.71085E-02 -9.37432E-02 -9.84918E-02 -2.04960E-01 -7.61923E-02 -Frame 13 8.33631E00 -1.39319E00 1.03561E00 -4.13838E-01 2.62971E-01 -3.39329E-02 -2.42791E-01 -3.21127E-03 -8.95977E-02 -8.54271E-02 -1.38594E-01 -1.37574E-01 -8.33538E-02 -Frame 13 8.28425E00 -1.88103E00 8.87036E-01 -4.42900E-01 2.69990E-01 -9.99223E-02 -8.57553E-02 1.09019E-01 2.81738E-02 -9.56249E-02 -1.52844E-03 -1.05403E-01 -7.46721E-02 -Frame 13 8.35409E00 -2.26265E00 7.97251E-01 -4.23603E-01 2.10124E-01 -2.05678E-01 -1.61620E-01 6.10464E-02 -2.75845E-02 -7.91805E-02 -1.32716E-01 -3.68499E-02 -6.49326E-02 -Frame 13 8.63607E00 -2.18503E00 6.00133E-01 -6.17899E-01 1.96504E-01 -2.75343E-01 -9.64911E-02 1.58251E-01 6.12846E-02 -1.41720E-01 -6.11542E-02 9.16654E-04 5.47978E-02 -Frame 13 8.37606E00 -2.17662E00 5.38396E-01 -5.45638E-01 1.37288E-01 -2.87278E-01 -1.12691E-01 -7.88839E-02 -4.22883E-03 -9.95097E-02 4.23090E-02 3.12871E-02 1.76391E-01 -Frame 13 8.09751E00 -2.26177E00 4.44760E-01 -5.02849E-01 2.35857E-01 -1.36726E-01 -2.05919E-01 -9.75681E-02 -1.29713E-01 5.63740E-02 1.40487E-01 -1.97793E-02 1.23789E-03 -Frame 13 7.94484E00 -2.35268E00 3.44628E-01 -4.02412E-01 2.61034E-01 -2.80128E-01 -1.94398E-01 -5.09171E-02 -3.21223E-02 1.38886E-02 3.88740E-03 1.44860E-01 1.45069E-02 -Frame 13 7.79792E00 -2.36984E00 7.12482E-02 -4.05834E-01 1.78883E-01 -2.93559E-01 -1.10815E-01 4.70588E-02 6.89791E-02 4.85285E-02 -5.30727E-02 -6.53702E-03 1.09318E-03 -Frame 13 7.85109E00 -2.17933E00 2.99015E-02 -4.95097E-01 2.46202E-01 -3.15164E-01 -3.01853E-02 1.42964E-01 5.76135E-03 4.90366E-02 -4.55994E-02 -1.06938E-01 3.11248E-02 -Frame 13 8.02570E00 -2.14327E00 2.09305E-01 -4.71295E-01 2.92467E-01 -3.66464E-01 -1.88288E-02 1.31986E-01 -8.38121E-02 -7.04875E-02 -1.06511E-01 -1.23165E-02 3.64472E-02 -Frame 13 8.15790E00 -2.34677E00 3.16570E-01 -5.37930E-01 2.52951E-01 -2.60966E-01 -1.50084E-01 7.22513E-02 3.65560E-02 6.77024E-02 -4.25499E-02 2.92180E-03 2.34842E-02 -Frame 13 8.34810E00 -2.35481E00 4.62994E-01 -3.28795E-01 -2.16732E-02 -2.89379E-01 -3.94897E-02 7.43848E-02 -8.41883E-02 3.97213E-02 1.46785E-01 -8.64162E-02 9.68225E-02 -Frame 13 8.76592E00 -2.22777E00 3.81107E-01 -2.82403E-01 6.70164E-03 -7.32777E-02 -2.61474E-01 -1.68378E-02 -2.61551E-02 -5.72756E-02 1.38801E-02 -1.30949E-01 1.63705E-01 -Frame 13 9.56681E00 -1.86994E00 4.48561E-01 -7.78401E-02 -6.16351E-02 -2.37255E-01 -3.21552E-01 1.82358E-01 -2.62347E-01 -4.15563E-02 -1.25446E-01 -1.67526E-01 1.35861E-01 -Frame 13 1.03179E01 -9.65228E-01 5.19671E-01 3.14747E-01 -5.64738E-04 -1.48204E-01 -5.53134E-01 3.94696E-02 -2.44566E-01 -8.22469E-02 -2.30345E-01 -3.77513E-01 -6.89346E-03 -Frame 13 1.09336E01 1.95104E-02 -3.11756E-02 4.56220E-01 -8.00972E-02 -2.69388E-01 -5.18878E-01 -2.41041E-01 -7.99842E-02 -1.70072E-01 -2.61152E-01 -3.66300E-01 -1.02274E-01 -Frame 13 1.10130E01 4.00956E-01 -2.93790E-01 4.27016E-01 8.11312E-03 -4.43731E-01 -4.82615E-01 -2.43343E-01 -7.42372E-02 -1.58034E-01 -2.98572E-01 -3.37653E-01 -1.12834E-01 -Frame 13 1.10159E01 7.21706E-01 -6.27554E-01 4.00235E-01 1.73026E-01 -5.95863E-01 -3.71593E-01 -3.51864E-01 -3.00876E-03 -1.28381E-01 -4.05540E-01 -2.74845E-01 -8.04982E-02 -Frame 13 1.09687E01 8.60114E-01 -7.46111E-01 3.51126E-01 2.24685E-01 -5.51534E-01 -3.72795E-01 -4.45024E-01 5.55407E-02 -1.34470E-01 -4.41650E-01 -2.34995E-01 -1.21300E-01 -Frame 13 1.07855E01 1.01896E00 -7.68319E-01 1.58633E-01 3.53368E-01 -4.38636E-01 -4.74253E-01 -4.26629E-01 8.51467E-03 -1.46721E-01 -3.65022E-01 -2.95277E-01 -1.02669E-01 -Frame 13 1.05397E01 1.19933E00 -7.86567E-01 -2.97712E-02 4.24751E-01 -3.21571E-01 -4.54221E-01 -4.19136E-01 -1.24005E-01 -5.37699E-02 -3.72371E-01 -2.60435E-01 -1.65940E-01 -Frame 13 1.01932E01 1.41047E00 -8.04094E-01 -2.10357E-01 5.15640E-01 -2.75284E-01 -4.21292E-01 -3.49651E-01 -2.50554E-01 -8.38577E-02 -1.90698E-01 -3.55688E-01 -1.43886E-01 -Frame 13 9.73167E00 1.52853E00 -6.80456E-01 -3.55001E-01 5.29797E-01 -2.67271E-01 -3.69243E-01 -2.58895E-01 -3.57665E-01 -1.15459E-01 -1.25124E-01 -3.15793E-01 -1.70552E-01 -Frame 13 9.46197E00 1.58420E00 -6.55974E-01 -4.08404E-01 4.62743E-01 -2.16181E-01 -2.87612E-01 -2.13985E-01 -3.70674E-01 -1.82016E-01 -1.37994E-01 -2.56690E-01 -1.71589E-01 -Frame 13 9.10240E00 1.65086E00 -5.96936E-01 -3.94452E-01 3.02390E-01 -1.14437E-01 -3.06373E-01 -1.72005E-01 -3.94948E-01 -1.37643E-01 -1.74576E-01 -2.70537E-01 -2.32426E-02 -Frame 13 9.09393E00 1.58220E00 -4.87755E-01 -4.36498E-01 2.34770E-01 -1.18027E-01 -2.89651E-01 -1.62881E-01 -3.58775E-01 -1.51426E-01 -2.33781E-01 -2.58093E-01 4.76700E-02 -Frame 13 9.11952E00 1.59095E00 -4.69505E-01 -4.03706E-01 1.39814E-01 -1.32774E-01 -2.31202E-01 -1.25836E-01 -3.38888E-01 -2.66995E-01 -2.60491E-01 -1.98730E-01 9.25015E-02 -Frame 13 9.04627E00 1.75061E00 -5.29420E-01 -3.85950E-01 1.23137E-01 -1.73327E-01 -2.80588E-01 -2.05186E-02 -3.59483E-01 -2.79016E-01 -2.79259E-01 -1.76519E-01 8.40846E-02 -Frame 13 9.09248E00 1.82271E00 -5.54404E-01 -3.47955E-01 1.47782E-01 -3.63032E-01 -1.97002E-01 -1.50639E-02 -3.39183E-01 -3.32776E-01 -2.55977E-01 -2.35809E-01 1.11467E-01 -Frame 13 9.32511E00 1.78131E00 -5.73791E-01 -3.46382E-01 1.20030E-01 -5.47196E-01 -1.20250E-01 8.42373E-02 -3.73775E-01 -4.34523E-01 -1.67401E-01 -3.00203E-01 1.64910E-01 -Frame 13 9.47919E00 1.73969E00 -5.02040E-01 -3.28128E-01 6.20629E-02 -6.97392E-01 5.92403E-03 1.03976E-01 -4.77474E-01 -3.72227E-01 -1.78954E-01 -2.95253E-01 1.75162E-01 -Frame 13 9.63656E00 1.66845E00 -4.21712E-01 -2.87499E-01 -4.26616E-02 -8.16773E-01 2.08158E-01 -1.92739E-02 -4.09894E-01 -4.07242E-01 -1.56772E-01 -3.05400E-01 1.25584E-01 -Frame 13 9.62970E00 1.62140E00 -3.14453E-01 -2.38182E-01 -2.81053E-01 -6.88015E-01 2.39073E-01 -7.11105E-02 -3.84073E-01 -4.25769E-01 -1.44140E-01 -3.07753E-01 7.10870E-02 -Frame 13 9.74769E00 1.39272E00 -1.10818E-01 -2.08465E-01 -4.00104E-01 -5.99327E-01 1.85309E-01 -3.89310E-02 -3.65505E-01 -4.27427E-01 -1.45522E-01 -3.22719E-01 4.58114E-02 -Frame 13 9.43385E00 1.45589E00 -1.00251E-01 -1.09733E-01 -4.70042E-01 -5.50313E-01 2.07521E-01 -1.38789E-01 -2.74339E-01 -3.47839E-01 -2.33428E-01 -3.03667E-01 1.57516E-02 -Frame 13 9.28895E00 1.31588E00 1.92649E-02 -5.21848E-02 -5.61074E-01 -4.18600E-01 1.43292E-01 -5.34326E-02 -3.53892E-01 -2.96917E-01 -2.22384E-01 -2.95243E-01 -2.47794E-02 -Frame 13 8.91334E00 1.30616E00 5.07156E-02 -3.48527E-03 -5.46679E-01 -3.78899E-01 1.22678E-01 8.92410E-03 -3.73815E-01 -2.49791E-01 -2.78315E-01 -2.83717E-01 -3.70729E-02 -Frame 13 8.66443E00 1.21874E00 8.31172E-02 4.59799E-02 -5.05230E-01 -3.70760E-01 1.68128E-01 -1.45981E-02 -2.96487E-01 -3.43641E-01 -3.26663E-01 -1.40577E-01 -1.00811E-01 -Frame 13 8.71712E00 1.07195E00 3.96130E-02 -1.59377E-02 -4.10453E-01 -2.18274E-01 1.98388E-01 -1.13234E-01 -3.56962E-01 -4.25077E-01 -1.32834E-01 -1.17140E-01 -1.48925E-01 -Frame 13 8.68198E00 9.42343E-01 3.94573E-02 -5.62922E-02 -1.98553E-01 -1.04821E-01 -4.29410E-02 -1.01697E-01 -4.44069E-01 -2.75379E-01 2.31331E-02 -1.33081E-01 -3.07189E-01 -Frame 13 8.53589E00 8.37509E-01 4.96942E-02 -3.04231E-02 -1.16324E-01 1.18998E-01 -2.31512E-01 -1.34744E-01 -4.34483E-01 -1.22887E-01 1.41270E-02 -1.69223E-01 -4.17024E-01 -Frame 13 8.84926E00 1.98714E-01 2.75406E-01 1.01002E-01 -1.07625E-01 3.37139E-01 -4.35935E-01 -1.76557E-01 -2.46156E-01 -1.16401E-01 4.15566E-02 -3.27686E-01 -3.84607E-01 -Frame 13 8.94281E00 -9.49614E-01 8.58228E-01 8.46702E-02 -2.37687E-01 5.44295E-01 -4.91729E-01 -1.27325E-01 -2.42994E-01 -1.36098E-01 -9.98072E-02 -2.75437E-01 -3.40930E-01 -Frame 13 8.14671E00 -1.79532E00 1.10740E00 -5.62089E-02 -8.55538E-02 4.90510E-01 -2.41901E-01 -1.46648E-02 -2.53670E-01 -1.45412E-01 -2.51351E-01 -1.41314E-01 -2.37684E-01 -Frame 13 8.56454E00 -2.10145E00 7.01850E-01 -4.39057E-01 -4.34089E-02 2.01917E-01 -2.91028E-01 4.15672E-02 -9.51495E-02 -2.61683E-03 -1.25427E-01 -2.11941E-02 -2.91832E-02 -Frame 13 8.43440E00 -2.36065E00 8.72805E-01 -4.21230E-01 2.33440E-02 1.59010E-01 -3.02125E-01 9.65477E-02 -1.76686E-01 -1.95330E-02 -1.84578E-01 -6.19594E-02 -9.15061E-02 -Frame 13 8.69377E00 -2.48599E00 7.13804E-01 -5.47133E-01 1.69138E-01 2.17432E-01 -3.18982E-01 1.03581E-01 -6.01421E-02 -8.73166E-02 -2.10498E-01 1.63628E-02 -1.34508E-01 -Frame 13 8.65003E00 -2.54413E00 6.37682E-01 -7.15696E-01 -4.30991E-02 -3.58049E-02 -2.92961E-01 1.57462E-01 -4.95223E-02 -9.84432E-03 -2.22106E-01 3.71600E-03 3.36247E-02 -Frame 13 8.57784E00 -2.39769E00 6.21234E-01 -6.00109E-01 5.14082E-02 -7.27700E-02 -1.77462E-01 1.05405E-01 -4.72197E-02 1.75206E-03 -4.21092E-02 -1.18296E-01 1.21442E-02 -Frame 13 8.52879E00 -2.28850E00 5.96037E-01 -4.86263E-01 2.36464E-01 1.22273E-01 -2.31706E-01 5.18030E-02 -1.01909E-01 -2.08411E-02 -4.61746E-02 -5.63914E-02 -1.04416E-03 -Frame 13 8.33662E00 -2.49679E00 5.26025E-01 -5.32588E-01 2.00722E-01 -2.36118E-02 -1.06294E-01 2.63757E-01 7.82655E-02 2.03469E-02 -1.49985E-02 -8.15834E-02 -9.70959E-02 -Frame 13 8.37091E00 -2.23877E00 4.24794E-01 -4.95512E-01 1.98045E-01 -7.77691E-02 -2.04898E-01 5.71114E-02 -1.69569E-02 1.21614E-02 -1.13058E-02 -1.35103E-01 -6.75674E-02 -Frame 13 9.11584E00 -1.78801E00 5.68713E-01 -4.03687E-01 -3.46533E-02 -2.79316E-01 -4.08551E-01 6.94688E-03 2.83545E-02 6.45817E-02 -5.12608E-02 -2.38875E-01 -1.14076E-01 -Frame 13 8.75233E00 -1.47855E00 4.37563E-01 -2.38305E-01 -3.82878E-02 -1.66835E-01 -4.01877E-01 1.52179E-01 4.45770E-02 4.03653E-02 -6.84665E-02 -9.26239E-02 -3.39282E-02 -Frame 13 9.72721E00 -4.35378E-01 5.36557E-01 -1.58731E-02 5.76678E-02 1.15460E-01 -6.28736E-01 -1.45487E-01 -2.47235E-01 -5.62516E-02 -2.10143E-01 -3.09757E-01 1.57670E-02 -Frame 13 9.79783E00 1.99808E-01 3.79771E-01 1.93118E-01 -7.96187E-02 -4.90359E-02 -6.15250E-01 -2.89118E-01 -2.18486E-01 6.64334E-02 -2.04881E-01 -4.70730E-01 -4.56653E-02 -Frame 13 1.03041E01 5.00930E-01 -5.15673E-02 3.45116E-01 8.26194E-02 -5.16494E-01 -3.82018E-01 -3.25253E-01 -2.74296E-01 6.33071E-02 -2.67234E-01 -2.40534E-01 -1.71221E-01 -Frame 13 1.05956E01 5.18246E-01 -2.10726E-01 4.11522E-01 2.17372E-01 -6.80667E-01 -4.17617E-01 -3.58562E-01 -2.24179E-01 1.05915E-01 -2.57279E-01 -2.97452E-01 -1.20122E-01 -Frame 13 1.02922E01 7.91548E-01 -3.06884E-01 3.89974E-01 1.05466E-01 -6.45222E-01 -3.19783E-01 -3.83430E-01 -2.45107E-01 1.00183E-01 -2.14724E-01 -3.44446E-01 -1.07765E-01 -Frame 13 1.00623E01 9.78566E-01 -3.71129E-01 2.49762E-01 1.91444E-01 -6.27239E-01 -2.67368E-01 -4.37265E-01 -2.13259E-01 1.74838E-01 -3.60447E-01 -3.14066E-01 -5.79182E-02 -Frame 13 9.74165E00 1.21170E00 -4.11847E-01 7.98570E-03 2.99917E-01 -4.61520E-01 -3.84031E-01 -3.07735E-01 -3.04633E-01 1.24788E-01 -3.12058E-01 -2.43009E-01 -1.02348E-01 -Frame 13 9.53304E00 1.44298E00 -5.21762E-01 -1.93201E-01 3.73981E-01 -2.82382E-01 -4.91737E-01 -3.51166E-01 -2.69811E-01 1.06168E-01 -2.53016E-01 -2.42202E-01 -1.17223E-01 -Frame 13 9.43828E00 1.52406E00 -5.27299E-01 -3.99816E-01 4.43667E-01 -2.39856E-01 -4.79058E-01 -2.85159E-01 -3.96265E-01 1.28212E-01 -1.75214E-01 -1.99781E-01 -2.44162E-01 -Frame 13 9.38542E00 1.64099E00 -6.36930E-01 -5.28696E-01 5.37584E-01 -2.16907E-01 -5.27288E-01 -2.23819E-01 -3.94570E-01 2.56359E-02 -3.73727E-02 -2.61220E-01 -2.14669E-01 -Frame 13 9.40312E00 1.67863E00 -6.91186E-01 -5.16902E-01 4.46985E-01 -1.36004E-01 -5.09744E-01 -2.35965E-01 -3.97479E-01 3.95638E-04 -2.88329E-02 -2.49490E-01 -1.17028E-01 -Frame 13 9.50297E00 1.72444E00 -7.57412E-01 -4.97966E-01 4.19116E-01 -1.87583E-01 -4.73994E-01 -1.86658E-01 -3.86640E-01 -8.41814E-02 -4.12614E-02 -1.64255E-01 -1.30116E-01 -Frame 13 9.54620E00 1.73208E00 -7.00336E-01 -5.40376E-01 4.00478E-01 -2.98290E-01 -4.57901E-01 -4.92419E-02 -4.14527E-01 -1.67751E-01 -3.73140E-02 -1.39900E-01 -2.94590E-02 -Frame 13 9.43970E00 1.80143E00 -6.44316E-01 -5.28336E-01 2.40208E-01 -2.82720E-01 -3.92319E-01 -4.84784E-02 -4.06430E-01 -2.03214E-01 -5.71937E-02 -9.06384E-02 -9.91358E-03 -Frame 13 9.42800E00 1.82103E00 -6.63198E-01 -4.51076E-01 1.37876E-01 -3.57959E-01 -3.59786E-01 9.64976E-02 -4.95430E-01 -2.06854E-01 -7.99178E-02 -7.28974E-02 7.63842E-02 -Frame 13 9.47146E00 1.78670E00 -6.41585E-01 -3.85651E-01 2.05535E-02 -4.44396E-01 -1.98490E-01 6.30542E-02 -4.42769E-01 -2.80683E-01 -1.01096E-01 -1.17787E-02 5.52739E-02 -Frame 13 9.49960E00 1.74275E00 -5.71629E-01 -3.14754E-01 -1.45185E-01 -4.72610E-01 -8.52206E-02 6.62450E-02 -4.68381E-01 -2.92755E-01 -9.42821E-02 -9.19874E-02 1.37452E-01 -Frame 13 9.53428E00 1.68078E00 -5.42438E-01 -2.19212E-01 -2.63496E-01 -5.13872E-01 -2.67437E-02 7.89033E-02 -4.64928E-01 -2.68367E-01 -1.63295E-01 -6.83394E-02 1.08584E-01 -Frame 13 9.73282E00 1.47196E00 -4.15000E-01 -1.85527E-01 -3.73471E-01 -4.76678E-01 -8.76404E-03 4.38571E-02 -3.71680E-01 -3.40739E-01 -1.22935E-01 -1.15558E-01 3.07315E-02 -Frame 13 9.74849E00 1.39601E00 -3.27771E-01 -1.76889E-01 -4.23260E-01 -4.74028E-01 -2.33962E-04 1.06865E-01 -4.12079E-01 -2.98163E-01 -1.81713E-01 -1.44611E-01 2.98254E-02 -Frame 13 9.70056E00 1.34031E00 -2.66135E-01 -9.50722E-02 -5.60561E-01 -3.88277E-01 1.32688E-02 1.05060E-01 -3.74139E-01 -3.42808E-01 -1.79698E-01 -1.67465E-01 -1.59739E-02 -Frame 13 9.39156E00 1.45764E00 -2.63762E-01 -7.90612E-02 -5.38266E-01 -3.86042E-01 5.20022E-02 9.39639E-02 -4.19785E-01 -2.80194E-01 -2.33658E-01 -1.48568E-01 -1.03710E-01 -Frame 13 9.18799E00 1.42721E00 -2.16407E-01 -2.96265E-02 -5.31380E-01 -3.53969E-01 6.72784E-02 4.32667E-02 -4.04096E-01 -2.43321E-01 -2.68419E-01 -1.63815E-01 -1.14920E-01 -Frame 13 9.05705E00 1.33436E00 -1.46220E-01 3.63139E-02 -5.81362E-01 -2.76266E-01 8.44843E-02 -2.04283E-02 -3.20955E-01 -3.09157E-01 -2.19348E-01 -2.31467E-01 -7.54937E-02 -Frame 13 8.89946E00 1.31810E00 -1.27686E-01 4.47774E-02 -5.47911E-01 -2.70484E-01 1.41775E-01 -1.95276E-02 -3.78117E-01 -2.95943E-01 -2.50448E-01 -2.01502E-01 -9.59402E-02 -Frame 13 8.76405E00 1.36610E00 -2.36699E-01 1.21452E-01 -4.99087E-01 -3.35684E-01 2.24632E-01 -6.24305E-02 -4.03591E-01 -3.27574E-01 -1.90987E-01 -1.93562E-01 -1.03443E-01 -Frame 13 8.89314E00 1.25882E00 -2.86229E-01 6.65987E-02 -3.90766E-01 -2.10326E-01 1.35810E-01 -8.96062E-02 -4.83134E-01 -3.43649E-01 -9.00668E-02 -8.96672E-02 -1.18347E-01 -Frame 13 9.24854E00 9.98992E-01 -3.30716E-01 8.82643E-02 -2.97892E-01 -9.05531E-02 4.16669E-02 -2.21254E-01 -4.88019E-01 -2.63053E-01 -1.84214E-03 -4.34231E-02 -2.45865E-01 -Frame 13 9.34948E00 8.27170E-01 -3.67579E-01 1.54577E-01 -1.82941E-01 -9.99905E-03 -8.79556E-02 -3.60196E-01 -3.73229E-01 -2.07185E-01 8.03940E-02 -1.97065E-01 -2.98206E-01 -Frame 13 9.79136E00 -2.15338E-01 3.24083E-01 -7.41458E-02 -1.34921E-01 2.66243E-01 -4.15816E-01 -2.02922E-01 -4.60620E-01 -1.23516E-01 1.06029E-01 -4.18645E-01 -2.68183E-01 -Frame 13 9.08811E00 -1.11804E00 1.08381E00 -2.86952E-01 -8.09186E-02 2.79887E-01 -3.04322E-01 -5.70276E-02 -4.44298E-01 -7.78238E-02 1.41179E-02 -2.49339E-01 -3.06983E-01 -Frame 13 7.84309E00 -1.66454E00 1.19687E00 -3.46940E-01 1.24638E-01 3.60782E-01 -2.92369E-01 1.77484E-03 -1.63174E-01 -7.89512E-02 -1.40261E-01 1.31480E-03 -1.63317E-01 -Frame 13 7.80748E00 -2.10587E00 1.03787E00 -7.15436E-01 -3.61714E-02 1.89208E-01 -3.52937E-01 2.34162E-01 -9.68398E-02 -9.36140E-02 -2.63271E-01 2.91994E-02 -1.95118E-01 -Frame 13 8.15584E00 -2.43505E00 9.51214E-01 -6.30737E-01 -4.76758E-02 5.87748E-02 -5.08096E-01 1.50631E-01 -6.92442E-02 -1.78566E-03 -1.96614E-01 -5.06054E-02 -1.67037E-01 -Frame 13 8.08211E00 -2.50684E00 8.59352E-01 -5.50065E-01 3.29916E-03 -1.05570E-01 -4.60499E-01 1.12212E-01 -3.58546E-02 4.05333E-02 -5.51868E-02 2.49199E-02 -7.27162E-02 -Frame 13 8.41894E00 -2.50731E00 7.88475E-01 -5.32093E-01 -1.35517E-01 -4.94037E-02 -3.10894E-01 1.60268E-01 -9.97777E-02 -1.47584E-01 2.98767E-02 1.17403E-01 -1.17852E-01 -Frame 13 8.58280E00 -2.31736E00 8.27382E-01 -5.12188E-01 2.60169E-04 -8.26660E-03 -3.06082E-01 6.56970E-02 -2.47382E-01 -1.52620E-01 -2.28181E-02 -4.11042E-02 -5.71537E-02 -Frame 13 8.46148E00 -2.47112E00 5.79214E-01 -4.38192E-01 8.58477E-02 3.02484E-02 -4.12761E-01 1.28488E-01 -1.47137E-02 -5.65139E-02 -6.25750E-02 -8.18901E-02 -8.94938E-02 -Frame 13 8.61097E00 -1.85840E00 7.88488E-01 -8.55875E-02 9.00544E-02 1.06664E-01 -4.81127E-01 1.07823E-01 -1.74602E-01 -9.21877E-02 -1.15156E-01 -3.47365E-01 -1.56069E-01 -Frame 13 9.36840E00 -6.55414E-01 5.85114E-01 -4.11170E-02 -3.64435E-02 1.39279E-01 -5.71713E-01 -7.78359E-03 -2.65145E-01 -2.01621E-01 -2.59094E-03 -2.80229E-01 -2.72258E-01 -Frame 13 9.24646E00 8.84939E-02 3.17503E-01 4.26540E-02 -3.59363E-02 -5.29857E-02 -5.35875E-01 -1.80712E-01 -2.19980E-01 -1.38084E-01 -3.95298E-02 -3.44645E-01 -2.24108E-01 -Frame 13 9.47588E00 4.33943E-01 1.74078E-01 1.53365E-01 -5.05091E-02 -3.16004E-01 -3.25413E-01 -2.66567E-01 -3.53039E-01 4.61723E-02 -9.56933E-02 -2.53101E-01 -3.21120E-01 -Frame 13 9.87352E00 4.91930E-01 -4.08043E-02 2.02531E-01 4.23468E-02 -4.31967E-01 -3.26634E-01 -3.59126E-01 -2.52973E-01 7.94427E-02 -1.83739E-01 -2.30114E-01 -2.55760E-01 -Frame 13 9.91918E00 6.56450E-01 -2.91760E-01 1.72728E-01 1.42805E-01 -4.71861E-01 -3.82923E-01 -3.70543E-01 -2.37283E-01 1.68313E-01 -3.09507E-01 -2.20763E-01 -9.81908E-02 -Frame 13 9.72392E00 8.75305E-01 -3.71681E-01 1.94703E-02 2.34720E-01 -4.50440E-01 -4.08662E-01 -4.00575E-01 -2.08051E-01 1.68221E-01 -3.13880E-01 -2.58944E-01 -6.16677E-03 -Frame 13 9.47501E00 1.12925E00 -3.72239E-01 -2.19419E-01 2.72363E-01 -3.20629E-01 -4.77449E-01 -3.34812E-01 -2.36961E-01 2.19787E-02 -1.37178E-01 -2.37446E-01 -8.61963E-02 -Frame 13 9.15117E00 1.39013E00 -2.64459E-01 -5.45666E-01 2.90077E-01 -1.76674E-01 -4.69820E-01 -3.65824E-01 -3.35595E-01 4.24247E-02 -6.63016E-02 -2.19307E-01 -1.32325E-01 -Frame 13 9.25081E00 1.46339E00 -3.97968E-01 -5.75258E-01 2.95284E-01 -1.50860E-01 -4.93717E-01 -3.00951E-01 -3.34068E-01 -5.84910E-02 -4.02277E-02 -9.79262E-02 -2.47198E-01 -Frame 13 9.22000E00 1.56047E00 -4.54475E-01 -6.17864E-01 2.86552E-01 -4.13670E-02 -5.69438E-01 -2.33468E-01 -3.88443E-01 -6.76943E-02 -4.26933E-02 -1.37575E-01 -1.41073E-01 -Frame 13 9.05527E00 1.62521E00 -3.79357E-01 -6.49798E-01 1.84142E-01 2.91375E-02 -4.89997E-01 -3.41868E-01 -3.19453E-01 -5.26459E-02 -1.58661E-01 -1.18849E-01 -3.05377E-02 -Frame 13 8.99956E00 1.74312E00 -4.52683E-01 -6.57658E-01 1.85092E-01 3.27460E-02 -5.44483E-01 -2.01203E-01 -3.78813E-01 -1.40141E-01 -4.57625E-02 -1.62321E-01 1.29769E-02 -Frame 13 8.97487E00 1.83524E00 -4.93698E-01 -6.76412E-01 2.26430E-01 -8.63253E-02 -5.33463E-01 -1.09167E-01 -3.70278E-01 -2.09310E-01 -7.82914E-02 -1.06976E-01 -5.97220E-03 -Frame 13 9.07600E00 1.81573E00 -5.05619E-01 -5.96167E-01 1.57880E-01 -1.75042E-01 -4.96764E-01 -3.91456E-02 -4.05607E-01 -2.24794E-01 -9.84457E-02 -5.09411E-02 1.29182E-02 -Frame 13 9.23503E00 1.73471E00 -4.89147E-01 -5.41497E-01 9.59003E-02 -3.06964E-01 -3.77228E-01 -6.76081E-02 -3.17240E-01 -3.18277E-01 -1.64920E-01 8.53897E-02 -2.70367E-02 -Frame 13 9.29955E00 1.73181E00 -5.13227E-01 -4.27167E-01 -4.12373E-02 -4.17645E-01 -2.17201E-01 -5.16195E-02 -3.39556E-01 -3.80396E-01 -7.23947E-02 1.85053E-02 9.71937E-04 -Frame 13 9.45545E00 1.59441E00 -4.26396E-01 -3.21100E-01 -2.08664E-01 -4.95439E-01 -1.13971E-01 1.30975E-02 -4.21099E-01 -3.59643E-01 -3.63892E-03 -1.04657E-01 2.51584E-03 -Frame 13 9.28208E00 1.57565E00 -2.23373E-01 -2.97200E-01 -4.70505E-01 -3.57688E-01 -1.29570E-01 1.10385E-02 -3.63360E-01 -3.74876E-01 -8.33871E-02 -7.17787E-02 -7.88006E-03 -Frame 13 9.12119E00 1.53604E00 -6.73238E-02 -2.54392E-01 -6.50772E-01 -3.16503E-01 -1.03020E-01 1.58433E-02 -3.61715E-01 -3.69938E-01 -1.00165E-01 -1.17349E-01 -5.29088E-02 -Frame 13 9.09284E00 1.45005E00 2.56356E-02 -1.88764E-01 -7.46810E-01 -3.57273E-01 -4.94568E-02 1.98255E-02 -3.64213E-01 -3.45456E-01 -1.29605E-01 -1.86055E-01 -3.34519E-02 -Frame 13 8.85126E00 1.46243E00 1.03415E-01 -1.75184E-01 -7.15186E-01 -4.89854E-01 2.06841E-02 -2.70664E-02 -3.26780E-01 -3.01820E-01 -2.23681E-01 -1.75174E-01 -9.71751E-02 -Frame 13 8.44441E00 1.55929E00 2.63256E-01 -1.87381E-01 -7.38895E-01 -5.20787E-01 4.16114E-02 -8.70169E-02 -2.45403E-01 -2.61997E-01 -2.57237E-01 -2.49171E-01 -1.76340E-01 -Frame 13 8.45317E00 1.47046E00 4.31470E-01 -1.97602E-01 -8.02587E-01 -5.42642E-01 4.55741E-02 -7.67744E-02 -2.17696E-01 -1.88689E-01 -2.72632E-01 -3.28499E-01 -2.21000E-01 -Frame 13 8.41107E00 1.45208E00 4.19153E-01 -4.95148E-02 -8.47906E-01 -5.24122E-01 -3.80234E-02 -1.06717E-01 -1.29685E-01 -1.48260E-01 -3.02967E-01 -2.90609E-01 -2.47061E-01 -Frame 13 8.22929E00 1.48283E00 4.22105E-01 1.01742E-01 -8.21224E-01 -6.35442E-01 -4.01017E-02 -8.94787E-02 -1.61923E-01 -8.11821E-02 -2.20514E-01 -3.10043E-01 -2.73778E-01 -Frame 13 7.86486E00 1.48864E00 5.49520E-01 1.74662E-01 -8.86048E-01 -5.61398E-01 -5.05689E-02 -1.29744E-01 -2.15819E-01 2.39332E-02 -2.00014E-01 -2.31854E-01 -3.11633E-01 -Frame 13 7.34977E00 1.39592E00 7.23469E-01 2.38540E-01 -7.26450E-01 -6.26731E-01 -1.88284E-01 -1.63086E-01 -6.13278E-02 -2.28073E-03 -1.67444E-01 -2.79068E-01 -2.47088E-01 -Frame 13 7.04927E00 1.34257E00 7.22658E-01 2.83766E-01 -6.09394E-01 -5.53242E-01 -1.89517E-01 -2.53839E-01 -8.07277E-02 8.13974E-02 -1.44600E-01 -2.42671E-01 -2.55931E-01 -Frame 13 6.78315E00 1.25737E00 8.11685E-01 2.33381E-01 -4.77440E-01 -5.15819E-01 -1.97190E-01 -3.25152E-01 -4.66663E-02 2.70680E-02 -1.47403E-01 -1.39188E-01 -2.34463E-01 -Frame 13 6.62721E00 1.13758E00 8.39128E-01 3.19257E-01 -4.37996E-01 -5.21592E-01 -2.43670E-01 -2.01752E-01 -8.55637E-02 -3.09394E-02 -1.56451E-01 -1.25938E-01 -2.61917E-01 -Frame 13 6.52292E00 1.07824E00 7.98140E-01 4.10477E-01 -4.32630E-01 -3.73957E-01 -2.80878E-01 -2.67251E-01 -1.15539E-01 1.29483E-02 -1.47299E-01 -1.78990E-01 -2.18967E-01 -Frame 13 6.49656E00 1.17402E00 7.89761E-01 3.29643E-01 -4.86448E-01 -3.97160E-01 -2.75355E-01 -1.56697E-01 5.86065E-03 -1.03049E-01 -2.92727E-01 -2.32063E-01 -6.76215E-02 -Frame 13 6.57443E00 1.27396E00 7.60293E-01 1.52709E-01 -3.60180E-01 -3.65916E-01 -3.04128E-01 -2.52258E-01 -8.15450E-02 -1.03217E-01 -1.80906E-01 -1.70124E-01 -1.97068E-01 -Frame 13 7.02018E00 1.36962E00 7.54139E-01 -7.00566E-02 -4.93568E-01 -3.83835E-01 -2.65607E-01 -2.16019E-01 -1.61833E-01 7.32641E-03 -1.67595E-01 -2.70711E-01 -2.13910E-01 -Frame 13 7.46294E00 1.39446E00 5.86837E-01 -4.07472E-02 -7.39747E-01 -5.08569E-01 -2.05264E-01 -2.20258E-01 -1.42783E-01 7.43665E-02 -2.25165E-01 -2.49513E-01 -2.20669E-01 -Frame 13 8.26171E00 1.13522E00 5.85293E-01 -1.62119E-01 -9.64113E-01 -4.98101E-01 -2.56122E-01 -1.56094E-01 -4.03970E-02 -1.67798E-02 -1.98070E-01 -2.62071E-01 -1.83403E-01 -Frame 13 8.39305E00 1.36543E00 3.75743E-01 -2.70193E-01 -1.04867E00 -5.62370E-01 -2.09659E-01 -1.15916E-01 1.57297E-01 -7.01616E-02 -2.69157E-01 -1.24360E-01 -2.18274E-01 -Frame 13 8.38091E00 1.53493E00 1.15105E-01 -3.95016E-01 -9.18584E-01 -6.05617E-01 -6.15425E-03 -1.34500E-01 1.65174E-01 -4.63888E-02 -3.53999E-01 -4.49731E-02 -2.39363E-01 -Frame 13 8.08269E00 1.48924E00 2.25586E-01 -6.73527E-01 -8.06450E-01 -5.24137E-01 -4.86713E-02 -1.81044E-02 2.01039E-01 -3.94237E-02 -3.99136E-01 -7.43124E-02 -1.25786E-01 -Frame 13 7.94474E00 1.40615E00 2.22549E-01 -6.90834E-01 -8.58607E-01 -4.81922E-01 7.86146E-02 -2.54798E-02 1.24628E-01 -2.91937E-02 -3.86107E-01 -4.14881E-02 -1.13444E-01 -Frame 13 8.14376E00 1.18049E00 2.40256E-01 -6.82934E-01 -9.14309E-01 -4.33907E-01 1.33575E-01 -3.68258E-02 4.45554E-02 7.70563E-03 -4.10558E-01 5.21864E-02 -1.20800E-01 -Frame 13 8.32322E00 1.29846E00 1.06549E-01 -6.57859E-01 -9.65542E-01 -3.70448E-01 1.86306E-01 -2.41790E-02 1.82696E-02 -5.12353E-02 -3.75331E-01 8.39245E-02 -7.89275E-02 -Frame 13 8.37915E00 1.34154E00 1.88593E-01 -6.68649E-01 -9.81221E-01 -2.69747E-01 2.67897E-01 -1.34751E-01 -7.04151E-02 -3.71946E-02 -3.04189E-01 1.20278E-01 -1.02939E-01 -Frame 13 8.36534E00 1.27337E00 2.20900E-01 -6.80195E-01 -9.74273E-01 -6.54383E-02 1.60570E-01 -7.34666E-02 -2.90092E-01 8.00730E-02 -1.76405E-01 8.10616E-02 -1.69525E-01 -Frame 13 8.22813E00 1.08689E00 1.85430E-01 -7.36866E-01 -7.44720E-01 1.40163E-02 -7.30552E-02 -4.25414E-02 -2.46429E-01 1.34508E-01 -2.48179E-01 1.66740E-01 -9.02995E-02 -Frame 13 8.10190E00 1.15247E00 1.93728E-01 -8.01110E-01 -7.20469E-01 1.94963E-01 -2.06241E-01 -1.38644E-01 -1.72218E-01 1.97132E-01 -2.04178E-01 1.49495E-01 -9.17964E-02 -Frame 13 8.73325E00 6.42750E-01 1.62586E-01 -3.50696E-01 -8.44285E-01 2.52625E-01 -2.07870E-01 -1.75260E-01 -1.17795E-01 -5.33396E-02 9.43714E-02 -1.19357E-01 -1.13672E-02 -Frame 13 7.44476E00 -1.60024E-01 2.36254E-01 7.75195E-02 -6.24131E-01 2.33006E-01 -2.22470E-01 -1.04383E-01 -1.16262E-01 -7.47164E-02 2.02573E-01 -1.07544E-01 2.10986E-02 -Frame 13 6.10532E00 -4.76385E-02 1.68238E-01 1.62862E-01 -2.32751E-01 6.94937E-02 6.27972E-03 2.05695E-02 -6.24056E-02 -2.19697E-01 4.67487E-02 -5.48905E-02 -8.55383E-02 -Frame 13 5.64564E00 1.46648E-01 9.36033E-02 2.68380E-02 2.24787E-02 -6.55273E-02 7.56373E-02 1.66863E-01 -1.95991E-01 -1.59288E-01 -4.42398E-02 -8.87013E-02 -4.42402E-02 -Frame 13 5.32425E00 8.45642E-02 -2.44360E-02 1.03850E-01 4.93035E-02 8.36607E-02 -7.14136E-02 1.38172E-01 -1.51518E-01 -1.12952E-01 -6.76209E-02 -3.66404E-02 -5.77033E-02 -Frame 13 5.15405E00 1.19514E-01 -5.68494E-02 1.77141E-01 -1.81323E-02 1.11437E-02 -8.82080E-02 1.19349E-01 -2.00428E-01 9.38651E-02 -1.06573E-01 -2.37767E-01 -6.57123E-02 -Frame 13 4.97900E00 -1.16614E-02 4.80959E-02 1.31877E-01 -9.05835E-02 3.81616E-02 3.23595E-03 4.64959E-02 -1.25272E-01 -7.09511E-02 1.04118E-02 -5.22702E-02 -1.59970E-02 -Frame 13 5.36842E00 1.17938E-01 -1.16638E-01 7.01181E-02 1.42765E-01 -2.06090E-02 -1.68233E-01 -1.05934E-02 -1.97626E-01 -1.86931E-02 6.78977E-02 -1.35202E-01 -3.87273E-02 -Frame 13 4.90470E00 -2.97565E-01 -4.15753E-01 -1.49531E-01 1.99475E-02 -8.34348E-02 -1.41552E-01 6.65792E-02 -1.55104E-01 7.56434E-02 7.71608E-02 -4.70307E-02 -1.15219E-02 -Frame 13 4.66241E00 -1.59005E-01 -7.83065E-02 1.36015E-01 7.83084E-02 7.18518E-03 5.63487E-03 1.37100E-01 -6.46857E-02 -3.77489E-02 -1.02136E-01 -1.01945E-01 -1.15278E-02 -Frame 13 4.87559E00 -1.20441E-01 6.49212E-03 2.23014E-01 1.33810E-01 -4.64571E-02 7.57417E-02 9.27625E-03 -1.77494E-01 -1.95149E-01 -1.58086E-02 -1.00309E-01 6.04284E-02 -Frame 13 4.75483E00 -3.43728E-01 -1.94296E-01 -1.06292E-01 -1.06750E-01 -2.43496E-02 -1.57322E-02 -4.04703E-02 -1.43429E-01 -3.04643E-02 -4.85414E-02 -1.57158E-01 -1.02664E-01 -Frame 13 4.26933E00 -5.81021E-01 -1.82414E-01 9.34352E-03 -4.11252E-02 1.41372E-01 -1.04333E-01 5.63394E-02 3.35169E-02 6.99385E-02 -1.74354E-01 -8.32041E-02 1.06273E-01 -Frame 13 4.26625E00 -4.53221E-01 -2.56709E-01 -1.94046E-01 -5.57530E-03 1.03528E-01 -4.70919E-03 -1.50077E-02 -4.31750E-02 4.64821E-03 -3.39738E-02 -3.15403E-02 6.57140E-02 -Frame 13 3.91128E00 -6.62524E-01 -2.36874E-01 1.05231E-02 8.51462E-02 1.60891E-01 -1.23278E-01 -8.65551E-02 -2.24420E-01 -4.38082E-02 -8.23534E-02 1.32075E-02 1.60443E-01 -Frame 13 3.78404E00 -6.91249E-01 -3.07878E-01 -4.44667E-02 2.60452E-02 1.73641E-01 -4.98553E-02 -3.85151E-03 -1.55924E-01 -1.30546E-01 -3.26285E-02 2.22858E-02 1.56837E-01 -Frame 13 4.31488E00 -5.22075E-01 -2.29884E-01 -3.45738E-02 -6.46108E-02 1.04819E-01 6.18071E-02 9.56426E-02 -6.90247E-02 -3.58304E-02 -8.02085E-02 -7.10787E-02 -2.49775E-03 -Frame 13 3.93466E00 -6.54089E-01 -2.58736E-01 -2.22149E-01 -1.42858E-01 -4.01252E-02 -8.59835E-02 2.36568E-02 -6.23665E-02 1.95933E-02 -1.58699E-01 -1.08690E-01 -1.36464E-02 -Frame 13 4.07242E00 -6.29921E-01 -3.18858E-01 -2.00186E-01 -6.10947E-02 5.86466E-02 -9.34388E-02 1.24935E-01 6.84704E-02 7.78715E-02 4.42792E-02 1.26715E-03 2.24241E-03 -Frame 13 4.08513E00 -5.22556E-01 -6.30736E-02 -1.83319E-01 6.21300E-02 1.18635E-01 -9.55377E-02 5.39897E-02 6.34514E-02 9.12789E-02 6.70378E-02 -1.62237E-02 6.16293E-02 -Frame 13 3.90795E00 -6.58134E-01 -2.39007E-01 -1.01859E-01 1.18419E-01 5.07736E-02 3.16986E-02 1.81751E-01 -4.38197E-02 1.23798E-01 2.86901E-04 7.47146E-03 6.75767E-02 -Frame 13 4.03038E00 -5.43302E-01 -1.13170E-01 -6.02725E-02 1.14062E-01 2.14973E-01 -2.92341E-02 1.29244E-01 -1.15679E-01 -5.30761E-02 -1.75162E-01 5.15979E-03 -1.26365E-01 -Frame 13 3.78934E00 -6.70083E-01 -1.56712E-01 -6.31233E-02 -1.29327E-02 1.06282E-01 -1.11279E-01 3.61141E-02 -1.07384E-01 -1.44782E-02 2.87431E-02 5.78424E-02 3.54208E-02 -Frame 13 3.89988E00 -6.68379E-01 -2.51782E-01 -6.07756E-02 -2.51510E-02 1.42583E-01 -4.99169E-02 -9.30283E-02 -1.91473E-01 -7.59460E-02 -1.22806E-01 -3.70430E-02 1.02624E-01 -Frame 13 3.81159E00 -7.57918E-01 -2.40897E-01 -9.24858E-02 -3.44653E-02 -4.22943E-02 -4.40778E-02 -1.25285E-01 -2.18536E-01 8.20560E-03 -1.97285E-01 6.01793E-02 2.35522E-01 -Frame 13 3.81539E00 -5.31313E-01 -2.88317E-01 -5.19827E-02 7.74703E-03 -1.42631E-02 -2.49219E-02 -3.13240E-02 -3.57841E-02 8.40587E-02 2.26048E-02 2.05951E-01 1.20759E-01 -Frame 13 5.59410E00 -9.29684E-01 1.12577E-01 -5.14338E-02 -1.03803E-01 5.40984E-02 -3.13635E-01 1.56439E-01 -1.86720E-01 -2.39829E-02 -1.30225E-01 -1.54287E-01 -3.33429E-02 -Frame 13 7.07419E00 -1.63354E00 4.77334E-01 -2.46036E-01 -1.86600E-01 9.00468E-02 -2.79743E-01 1.05616E-01 -1.69662E-01 -2.51418E-02 -1.69100E-01 -1.48423E-01 -1.19122E-01 -Frame 13 5.38273E00 -1.70317E00 5.45107E-01 -2.43555E-01 -4.82723E-02 2.78565E-01 -1.72321E-01 2.20548E-01 -1.86974E-02 -9.11237E-03 -1.83120E-01 -1.55696E-02 7.10551E-02 -Frame 13 4.28673E00 -5.96056E-01 5.78542E-02 -7.30146E-02 8.49553E-02 4.12789E-02 -7.82642E-02 2.14548E-03 -1.76039E-02 2.72764E-02 -9.04693E-02 -5.02311E-02 1.90760E-01 -Frame 13 4.52495E00 -3.96556E-01 3.01425E-02 -7.92526E-02 3.05828E-02 -8.84411E-02 -7.86662E-02 9.44826E-02 -4.91896E-02 -6.50207E-03 -1.04173E-01 -8.12491E-02 -2.32345E-02 -Frame 13 3.93779E00 -6.03917E-01 -2.00113E-01 -3.05490E-02 -1.13835E-01 3.75311E-02 -1.04649E-01 1.32497E-01 4.18269E-02 4.46794E-02 -1.11403E-01 -7.77271E-02 1.07599E-01 -Frame 13 4.05346E00 -4.81166E-01 -5.74762E-02 4.44863E-02 2.32467E-02 5.45122E-02 -1.27120E-01 -6.23983E-02 7.32335E-03 -4.00284E-02 -7.29072E-02 -6.05348E-03 6.73848E-02 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -Frame 13 3.83839E00 -5.35605E-01 -1.40113E-01 -8.37646E-02 -6.78487E-02 -5.10704E-02 -1.43320E-01 2.06815E-02 -2.31961E-02 -7.84526E-02 -1.10434E-01 1.06301E-02 -7.77494E-03 -Frame 13 3.91459E00 -5.44936E-01 -9.09112E-02 -1.58834E-01 -3.71640E-04 1.00815E-01 -5.48921E-02 -4.51248E-02 -2.36175E-02 -2.59178E-02 -6.92279E-02 -9.69021E-02 -1.34603E-02 -Frame 13 4.03691E00 -5.24202E-01 -1.29008E-01 -1.46723E-01 -1.19142E-01 3.24236E-02 3.32507E-02 -5.70987E-02 -8.03110E-02 6.69955E-02 9.10220E-02 8.50882E-02 -2.42976E-02 -Frame 13 3.71549E00 -7.74099E-01 -1.74288E-01 -1.65012E-01 -5.46294E-02 1.25718E-01 2.30925E-02 4.51563E-02 1.67329E-02 -6.83949E-03 6.39451E-02 7.43063E-02 1.30594E-02 -Frame 13 3.70398E00 -5.35346E-01 -5.40288E-02 -9.68149E-02 -4.51951E-05 1.32391E-01 1.52857E-01 1.74015E-01 9.32459E-02 9.93507E-02 -4.54301E-02 1.01381E-01 -2.03276E-02 -Frame 13 3.73150E00 -6.30901E-01 -8.29471E-02 -8.84244E-02 -3.85046E-02 1.31547E-01 -4.90503E-02 9.79202E-02 1.85166E-03 -1.73270E-02 -6.32780E-02 1.06387E-01 1.92297E-02 -Frame 13 4.26471E00 -3.20670E-01 6.50411E-02 3.69913E-02 1.07191E-01 1.35772E-01 1.45279E-01 1.04883E-01 -5.25161E-02 -1.08410E-01 -1.25783E-01 5.41502E-02 1.16020E-01 -Frame 13 5.70113E00 3.53867E-01 1.25490E-03 2.63191E-01 1.81416E-01 -1.38742E-01 9.12466E-02 -6.83005E-02 -4.31986E-01 -2.39954E-01 7.39188E-03 -9.14151E-02 2.83375E-02 -Frame 13 4.98691E00 -7.24597E-04 1.45869E-01 1.34726E-01 1.19136E-01 7.69945E-02 1.10943E-01 3.42489E-02 -2.96229E-01 -1.07965E-01 -2.91681E-02 -1.79007E-01 -6.68993E-02 -Frame 13 6.03444E00 -3.84990E-01 4.40685E-02 2.64144E-01 2.37387E-01 -1.85545E-02 -3.04198E-01 4.40505E-02 -2.01335E-01 2.75969E-03 -2.53667E-01 -6.52930E-02 -3.90553E-03 -Frame 13 9.89552E00 2.39326E-01 -3.41260E-01 3.89227E-01 -2.15964E-01 -2.63976E-01 -4.76067E-01 -1.43606E-01 -1.40845E-01 1.28796E-01 -2.06033E-01 -1.77095E-01 6.92211E-02 -Frame 13 1.04651E01 6.87525E-01 -5.65359E-01 1.74583E-01 -1.58817E-01 -4.79230E-01 -4.64884E-01 -1.24747E-01 -7.55264E-02 1.76496E-01 -1.74267E-01 -2.27436E-01 1.23425E-01 -Frame 13 1.13142E01 7.72458E-01 -6.38102E-01 -7.86892E-02 -1.89719E-01 -3.88153E-01 -3.79974E-01 -2.01582E-01 -9.80511E-02 3.88634E-01 -3.04226E-01 -1.14628E-01 -5.29015E-02 -Frame 13 1.17935E01 8.09791E-01 -7.51876E-01 -2.32479E-01 -1.63831E-01 -4.11374E-01 -3.62077E-01 -7.68050E-02 -1.33337E-01 3.76322E-01 -2.96225E-01 -6.84160E-02 -1.57356E-01 -Frame 13 1.20895E01 8.06393E-01 -7.78102E-01 -3.86635E-01 -1.54961E-01 -3.22931E-01 -3.37908E-01 -1.02730E-01 -6.41170E-02 3.51007E-01 -2.38890E-01 -7.47616E-02 -2.47762E-01 -Frame 13 1.21626E01 8.46589E-01 -7.75908E-01 -4.71199E-01 -1.60604E-01 -3.21736E-01 -2.17835E-01 -1.32101E-01 -1.79708E-01 5.11173E-01 -2.62165E-01 -7.21100E-02 -3.23301E-01 -Frame 13 1.23559E01 7.10508E-01 -6.65798E-01 -5.71404E-01 -1.59530E-01 -2.54877E-01 -2.33327E-01 -1.11694E-01 -2.25027E-01 5.62293E-01 -2.57415E-01 -1.59040E-01 -2.47653E-01 -Frame 13 1.23684E01 7.04768E-01 -7.18897E-01 -4.81865E-01 -1.57303E-01 -2.52396E-01 -2.99779E-01 -6.81923E-02 -2.39768E-01 5.72406E-01 -2.59734E-01 -1.86507E-01 -2.31007E-01 -Frame 13 1.23325E01 6.82568E-01 -6.75292E-01 -5.07718E-01 -8.85827E-02 -2.43271E-01 -4.15121E-01 -2.58810E-02 -1.53013E-01 5.06317E-01 -2.67748E-01 -1.64367E-01 -2.30241E-01 -Frame 13 1.22441E01 6.92692E-01 -6.93231E-01 -4.59506E-01 3.14528E-02 -3.08743E-01 -5.80372E-01 9.23359E-02 -1.12053E-01 4.07756E-01 -1.92775E-01 -2.37252E-01 -1.68511E-01 -Frame 13 1.22336E01 5.77643E-01 -6.08841E-01 -3.88235E-01 3.07962E-02 -3.33855E-01 -6.08119E-01 4.32546E-02 -4.90911E-02 4.00096E-01 -2.88738E-01 -2.15868E-01 -9.50751E-02 -Frame 13 1.21011E01 4.78460E-01 -5.51568E-01 -1.80649E-01 -9.34476E-02 -2.61547E-01 -6.49479E-01 -7.98372E-03 -1.32015E-03 3.10723E-01 -2.21169E-01 -3.43996E-01 9.62387E-02 -Frame 13 1.09513E01 5.87145E-01 -4.77544E-01 -1.70151E-01 -2.40448E-03 -2.47869E-01 -6.27422E-01 -7.69131E-02 -7.48072E-02 3.16837E-01 -1.57843E-01 -4.02127E-01 1.41037E-01 -Frame 13 8.40805E00 5.27594E-01 -3.82743E-01 1.99440E-01 4.14444E-01 -4.02351E-01 -1.53440E-01 -1.09229E-01 -3.44476E-01 1.53479E-01 -2.34490E-01 -2.53528E-01 -1.37083E-02 -Frame 13 8.40203E00 3.36117E-01 -3.53773E-01 3.35001E-01 2.93368E-01 -2.48886E-01 -1.56414E-01 -2.76940E-01 -1.03650E-01 -1.73105E-02 -2.91365E-01 -2.57807E-01 -8.52929E-02 -Frame 13 9.94130E00 3.32694E-01 -6.71355E-01 4.01612E-01 -6.99359E-02 -1.51623E-01 -2.97337E-01 -6.57858E-01 7.05708E-02 3.85032E-02 -2.38266E-01 -2.89170E-01 -5.16415E-02 -Frame 13 1.10510E01 8.53782E-01 -9.72309E-01 2.49478E-01 -1.03003E-01 -3.52770E-01 -3.12853E-01 -4.47149E-01 9.85109E-02 2.22348E-01 -3.70770E-01 -3.36799E-01 1.50185E-01 -Frame 13 1.12632E01 8.58538E-01 -9.73624E-01 2.01924E-01 -1.43719E-01 -3.83247E-01 -3.52282E-01 -3.31653E-01 5.67006E-02 2.89489E-01 -4.01598E-01 -2.14643E-01 -5.32986E-02 -Frame 13 1.11273E01 9.62451E-01 -9.17498E-01 -6.31863E-03 -1.02987E-01 -3.12679E-01 -3.01829E-01 -3.12537E-01 -1.61600E-01 4.29478E-01 -3.31508E-01 -2.33201E-01 -1.67239E-01 -Frame 13 1.08313E01 1.06664E00 -7.29440E-01 -2.47699E-01 -1.27033E-01 -1.55001E-01 -3.35932E-01 -1.77143E-01 -4.24235E-01 4.31457E-01 -1.28654E-01 -3.00157E-01 -5.35107E-02 -Frame 13 1.04217E01 1.20099E00 -6.40819E-01 -1.77493E-01 -3.27075E-01 -1.06102E-01 -1.99296E-01 -2.09394E-01 -4.15745E-01 2.81238E-01 -1.62003E-01 -7.55352E-02 -6.90271E-02 -Frame 13 1.00666E01 1.30308E00 -5.42585E-01 -1.32283E-01 -5.17744E-01 6.86701E-03 -1.25849E-01 -2.35615E-01 -3.75826E-01 5.11805E-02 -1.59496E-01 2.28540E-02 -2.22173E-02 -Frame 13 9.68108E00 1.41453E00 -4.69718E-01 -9.16544E-02 -5.37023E-01 -8.34367E-02 1.70688E-02 -2.63287E-01 -3.09248E-01 -1.21011E-01 -2.27528E-01 2.09885E-02 3.30714E-02 -Frame 13 9.51155E00 1.37710E00 -3.01961E-01 -1.05454E-01 -5.62127E-01 -6.65997E-02 -3.86536E-02 -1.73383E-01 -2.52641E-01 -3.35586E-01 -1.83920E-01 -9.76482E-02 9.86440E-02 -Frame 13 9.35455E00 1.32643E00 -1.90290E-01 -1.79683E-02 -5.17082E-01 -1.44993E-01 -6.57229E-02 -9.47832E-02 -3.05611E-01 -3.59781E-01 -2.55416E-01 -1.27216E-01 -7.03841E-03 -Frame 13 9.36355E00 1.26511E00 -2.01220E-01 3.58255E-02 -3.63309E-01 -2.24066E-01 6.31667E-02 -1.83148E-01 -3.55061E-01 -3.97993E-01 -2.45863E-01 -8.56770E-02 -1.54062E-01 -Frame 13 9.59261E00 1.05313E00 -3.20712E-01 2.59978E-01 -3.06702E-01 -7.92018E-02 -1.47823E-02 -2.53202E-01 -4.59694E-01 -2.80828E-01 -9.59807E-02 -7.90893E-02 -4.04404E-01 -Frame 13 9.74080E00 7.44321E-01 -3.06752E-01 2.77790E-01 -6.56968E-03 -1.17382E-03 -1.25991E-01 -3.87023E-01 -3.05897E-01 -1.53481E-01 -2.21769E-02 -2.21208E-01 -5.41459E-01 -Frame 13 9.22161E00 1.82935E-01 5.60826E-02 2.70959E-01 5.99151E-04 2.58572E-01 -4.18178E-01 -3.21082E-01 -2.10054E-01 -1.18158E-01 -9.97084E-02 -3.30276E-01 -4.84124E-01 -Frame 13 8.28781E00 -3.09672E-01 -2.81056E-02 -1.14862E-01 -1.30058E-01 1.51123E-01 -5.94546E-01 3.51409E-01 4.36222E-02 -1.03594E-01 -8.62768E-02 -6.94615E-03 -3.67184E-01 -Frame 13 5.98568E00 -6.79176E-02 -3.32532E-02 -1.86174E-01 -1.51323E-01 3.42150E-02 -2.14709E-01 3.11995E-01 6.47363E-03 4.11620E-03 -8.46785E-02 -1.14707E-01 -1.53951E-01 -Frame 13 4.93947E00 -7.37466E-02 -2.34092E-01 -4.76524E-01 -1.99200E-01 -6.16076E-02 -5.55306E-02 7.57444E-03 -4.66359E-02 -3.55184E-02 -1.67354E-01 -1.33585E-01 -1.39148E-01 -Frame 13 4.82604E00 -5.75995E-02 -2.68787E-01 -3.40460E-01 -1.76921E-01 4.30994E-03 -1.16518E-01 3.52216E-03 -6.20551E-02 3.25698E-02 -1.10786E-01 -1.00944E-01 -3.31586E-02 -Frame 13 4.66079E00 -2.51906E-01 -2.33345E-01 -1.38707E-01 -1.67722E-01 1.26787E-02 -1.15465E-01 3.42584E-02 -6.11106E-02 -7.14106E-02 -1.11715E-01 -1.47475E-01 4.16075E-03 -Frame 13 6.29468E00 -9.62318E-01 -5.49831E-02 -1.43310E-01 -2.22388E-01 1.26751E-01 -1.92822E-01 1.08238E-01 -1.15207E-01 2.41590E-02 -1.30760E-01 -6.47010E-02 -8.93327E-02 -Frame 13 8.72826E00 -1.66942E00 2.42091E-01 -4.14285E-01 -1.65653E-01 -3.82452E-02 -2.99741E-01 -9.84850E-03 -2.47885E-01 -6.52962E-02 -2.21892E-01 -5.97844E-02 -1.73155E-01 -Frame 13 8.22696E00 -2.54212E00 8.47991E-01 -4.17045E-01 -7.04938E-02 4.16019E-02 -3.81751E-01 3.92895E-02 -1.55405E-01 -1.27064E-01 3.14383E-02 2.05022E-02 -1.23737E-02 -Frame 13 8.58605E00 -2.65430E00 7.97965E-01 -3.50278E-01 -5.02671E-02 1.42479E-01 -3.06457E-01 1.13161E-01 -1.96157E-01 -1.95775E-01 8.17575E-02 -1.61989E-01 -7.68802E-02 -Frame 13 9.38238E00 -2.51800E00 5.61661E-01 -8.92979E-02 -1.98551E-01 2.12550E-01 -2.55355E-01 6.87578E-02 4.84889E-03 -1.55767E-01 7.49754E-02 -1.21598E-01 -2.05766E-01 -Frame 13 1.01789E01 -2.34856E00 2.62473E-01 6.06304E-02 -2.19768E-01 -7.96004E-02 -3.46860E-03 2.51763E-01 -2.22834E-02 -2.61420E-01 2.62046E-02 -6.83777E-02 -9.70367E-02 -Frame 13 1.04866E01 -2.00445E00 2.71008E-01 2.20365E-01 -3.90120E-01 -1.92274E-01 -1.55504E-01 5.20729E-02 -1.34179E-01 -1.75715E-01 5.02043E-02 -9.57178E-02 -1.01645E-01 -Frame 13 1.04241E01 -1.92880E00 4.93913E-02 3.73093E-01 -2.66612E-01 -3.94693E-01 -2.69550E-01 1.18750E-01 -1.59649E-01 -3.65486E-01 -1.17186E-01 -1.66942E-01 -1.00129E-01 -Frame 13 1.05690E01 -1.68308E00 6.40939E-02 4.99600E-01 -2.11322E-01 -4.52561E-01 -1.12998E-01 3.59402E-01 -1.66667E-01 -3.52235E-01 -2.44068E-01 -1.23078E-01 -1.42706E-01 -Frame 13 9.91585E00 -1.46390E00 -1.87162E-01 6.97163E-01 1.50164E-01 -5.05988E-01 -2.14762E-01 3.13874E-01 -1.00103E-01 -1.70855E-01 1.96039E-02 -1.54124E-01 -1.77366E-01 -Frame 13 9.87346E00 -6.18877E-01 -2.86964E-01 5.66890E-01 4.40802E-01 -8.52087E-03 -3.74588E-01 -6.21381E-02 -1.91367E-01 -1.37395E-01 -5.51173E-02 -2.33548E-01 -2.54325E-01 -Frame 13 1.03937E01 3.22543E-01 -3.77631E-01 4.25451E-01 5.89908E-01 -3.34632E-01 -3.60112E-01 -2.11321E-01 -2.10543E-01 -2.62564E-01 -1.19604E-01 -3.06901E-01 -4.02031E-01 -Frame 13 1.04699E01 5.86763E-01 -4.78133E-01 5.58723E-01 3.26991E-01 -3.72901E-01 -2.34611E-01 -4.28766E-01 -2.13935E-01 -1.98107E-01 -1.10363E-01 -3.49223E-01 -4.48694E-01 -Frame 13 1.02471E01 8.84869E-01 -4.42708E-01 3.48754E-01 2.05896E-01 -1.93592E-01 -2.23349E-01 -4.64390E-01 -2.62127E-01 -2.18516E-01 -3.39257E-02 -3.28307E-01 -3.89210E-01 -Frame 13 9.95717E00 1.04173E00 -2.59266E-01 8.22262E-02 7.56733E-02 -6.49415E-02 -1.06945E-01 -4.15890E-01 -4.04689E-01 -2.69272E-01 -4.68095E-02 -1.44331E-01 -3.49313E-01 -Frame 13 9.62139E00 1.09556E00 6.64014E-02 -4.87736E-04 -2.01204E-01 -6.43495E-02 -6.43677E-02 -1.89674E-01 -4.32301E-01 -4.66499E-01 -1.36753E-01 -8.97294E-02 -1.95677E-01 -Frame 13 9.09728E00 1.30993E00 2.36970E-01 -1.26547E-01 -2.75137E-01 -2.13089E-01 1.12665E-03 -1.80050E-02 -3.41376E-01 -5.19723E-01 -3.02440E-01 -1.49084E-01 -2.32245E-01 -Frame 13 8.69039E00 1.37716E00 3.82895E-01 -1.33873E-01 -3.74411E-01 -3.50413E-01 -8.18616E-02 9.90351E-02 -2.15558E-01 -3.90732E-01 -3.41698E-01 -3.17382E-01 -2.56971E-01 -Frame 13 8.28288E00 1.36567E00 4.51808E-01 9.76811E-02 -5.31024E-01 -4.59397E-01 -9.73337E-02 7.33377E-02 -1.00942E-01 -2.81360E-01 -2.51880E-01 -3.56179E-01 -3.46691E-01 -Frame 13 8.31321E00 1.26947E00 5.07564E-01 1.24845E-01 -4.72556E-01 -5.83248E-01 -7.60818E-02 6.75335E-02 -1.34248E-01 -1.34811E-01 -2.26342E-01 -3.67251E-01 -4.22506E-01 -Frame 13 8.74381E00 1.28808E00 4.28214E-01 -3.22415E-03 -5.54600E-01 -5.39908E-01 -2.80329E-02 -8.93711E-03 -2.01605E-01 -1.34693E-01 -1.87967E-01 -3.37507E-01 -3.37650E-01 -Frame 13 9.27090E00 1.31380E00 2.09419E-01 8.95335E-03 -7.20727E-01 -5.79342E-01 1.89681E-02 -1.24940E-01 -1.02028E-01 -1.38859E-01 -2.51691E-01 -2.19582E-01 -2.81866E-01 -Frame 13 9.88298E00 1.24502E00 4.26179E-02 -1.29638E-01 -8.31906E-01 -5.40885E-01 9.66481E-02 -1.62265E-01 -5.73772E-02 -1.28231E-01 -3.14999E-01 -1.88965E-01 -8.84389E-02 -Frame 13 1.04561E01 1.02508E00 -5.70184E-02 -3.71509E-01 -8.14764E-01 -4.09795E-01 1.87602E-01 -1.75694E-01 -6.39122E-02 -2.20994E-01 -2.58160E-01 -1.77181E-02 9.28569E-02 -Frame 13 1.06351E01 1.15455E00 -4.24418E-01 -4.30301E-01 -6.95269E-01 -2.58755E-01 2.68265E-01 -2.62119E-01 -2.99276E-01 -9.45228E-02 -1.11002E-01 1.09378E-01 1.35067E-01 -Frame 13 1.08031E01 1.05484E00 -5.99022E-01 -4.34563E-01 -4.58357E-01 -2.16951E-01 1.76565E-01 -3.45474E-01 -3.64492E-01 1.24365E-01 -4.18705E-02 1.18586E-01 -5.82680E-02 -Frame 13 1.07997E01 9.61853E-01 -6.86402E-01 -3.28316E-01 -2.85164E-01 -2.35103E-01 -1.31523E-01 -2.73708E-01 -3.06809E-01 2.57751E-01 5.99431E-02 -1.33446E-01 -1.43516E-01 -Frame 13 1.06987E01 9.72345E-01 -7.93125E-01 -1.85018E-01 -1.63320E-01 -2.19140E-01 -3.28090E-01 -3.23630E-01 -2.13785E-01 3.67448E-01 -4.01767E-02 -1.64638E-01 -1.37474E-01 -Frame 13 1.02427E01 9.19425E-01 -8.61750E-01 8.28571E-02 -2.04545E-01 -1.67833E-01 -3.50983E-01 -4.32075E-01 -6.20790E-02 3.05070E-01 -1.79149E-01 -2.00635E-01 2.37297E-02 -Frame 13 7.74329E00 5.56762E-01 -3.50709E-01 1.57642E-01 3.27443E-01 -1.49400E-01 -8.86876E-02 -3.50697E-01 -2.99350E-01 -2.85808E-02 8.67484E-02 -2.23686E-01 4.24388E-02 -Frame 13 7.11945E00 6.12264E-01 -3.86823E-01 2.56805E-01 3.06226E-01 -1.46308E-01 -1.27489E-01 -2.31576E-01 -3.62696E-01 -1.28332E-04 1.24299E-01 -2.98200E-01 7.49104E-02 -Frame 13 7.62198E00 4.52270E-01 -4.91862E-01 3.71520E-01 -7.06807E-02 -2.74048E-02 -9.89411E-02 -3.29505E-01 -1.72801E-01 1.29892E-02 -9.13521E-02 -2.26714E-01 -1.21388E-01 -Frame 13 9.49728E00 4.79038E-01 -6.63862E-01 4.15346E-01 -2.92020E-01 -6.76227E-03 -2.62066E-01 -6.21997E-01 1.17854E-02 2.07775E-01 -6.32011E-03 -2.78342E-01 -1.41225E-01 -Frame 13 1.05447E01 7.96432E-01 -8.16662E-01 9.26569E-02 -2.83907E-01 -1.48687E-01 -3.47634E-01 -3.87520E-01 -4.04099E-02 2.38345E-01 -6.86221E-02 -3.67827E-01 1.10255E-02 -Frame 13 1.08122E01 6.44108E-01 -7.38173E-01 -4.53006E-02 -2.25015E-01 -2.03755E-01 -3.45322E-01 -3.96794E-01 -6.16200E-02 3.11232E-01 -8.43791E-02 -3.82705E-01 8.15677E-03 -Frame 13 1.04419E01 7.17512E-01 -6.20049E-01 -2.46870E-01 -2.64278E-01 -1.47564E-01 -3.59550E-01 -3.20475E-01 -1.54293E-01 3.55922E-01 -9.69543E-02 -2.35399E-01 -1.09657E-01 -Frame 13 1.01495E01 8.31011E-01 -6.00077E-01 -3.78505E-01 -2.40461E-01 -1.54782E-01 -2.50736E-01 -3.82292E-01 -1.45729E-01 3.97304E-01 -1.24925E-01 -8.80298E-02 -3.06773E-01 -Frame 13 1.00983E01 8.67736E-01 -5.06137E-01 -4.34495E-01 -2.43552E-01 -1.65492E-01 -1.70584E-01 -4.14198E-01 -1.43777E-01 3.38409E-01 -7.77500E-02 -2.46946E-02 -4.30375E-01 -Frame 13 9.83912E00 9.67508E-01 -3.61381E-01 -3.82980E-01 -4.12000E-01 -9.50277E-02 -1.44167E-01 -4.21081E-01 -1.15215E-01 1.80208E-01 -3.98430E-02 3.72931E-02 -3.80535E-01 -Frame 13 9.56148E00 1.03096E00 -2.92897E-01 -4.00526E-01 -3.83108E-01 -7.26598E-02 -1.78893E-01 -3.41270E-01 -2.63913E-01 1.98358E-01 -3.28414E-02 1.06805E-02 -2.64457E-01 -Frame 13 9.29234E00 8.50706E-01 4.58884E-03 -4.74097E-01 -5.57122E-01 7.98779E-02 -2.15288E-01 -2.76213E-01 -3.19219E-01 1.50827E-01 -9.00323E-03 5.76974E-03 -1.97665E-01 -Frame 13 9.07760E00 8.46870E-01 -6.88581E-02 -4.26332E-01 -5.51064E-01 9.88421E-03 -1.64372E-01 -2.45202E-01 -3.74201E-01 1.48513E-01 2.72034E-02 4.27687E-02 -2.14116E-01 -Frame 13 9.03331E00 8.99058E-01 -6.85136E-02 -4.48812E-01 -4.65569E-01 -1.41721E-01 -9.95238E-02 -2.81962E-01 -3.50383E-01 1.54121E-01 -2.96620E-02 1.13443E-01 -2.25075E-01 -Frame 13 8.88016E00 1.03293E00 -2.13114E-03 -4.33169E-01 -5.46487E-01 -1.39961E-01 -8.26608E-03 -3.03689E-01 -4.40516E-01 1.12135E-01 3.83739E-03 1.35350E-01 -2.74952E-01 -Frame 13 8.41361E00 1.11032E00 8.28073E-02 -3.27198E-01 -6.79182E-01 -4.10919E-02 -8.26157E-02 -2.21856E-01 -4.86230E-01 7.60208E-02 5.79410E-02 7.16499E-02 -2.41234E-01 -Frame 13 8.06318E00 1.03242E00 6.51209E-02 -4.30893E-01 -4.93305E-01 -1.17515E-01 -6.87039E-02 -1.89917E-01 -3.90688E-01 -3.17734E-02 8.02428E-02 1.02390E-01 -1.76583E-01 -Frame 13 8.11970E00 9.59488E-01 1.32085E-01 -4.79026E-01 -5.49758E-01 -6.73707E-02 -1.15661E-01 -7.41520E-02 -4.36470E-01 -1.09162E-01 1.02062E-01 1.10716E-01 -1.08689E-01 -Frame 13 7.89037E00 1.03553E00 2.84860E-01 -3.96011E-01 -6.33442E-01 -1.10776E-01 -1.18829E-01 2.19885E-02 -3.91007E-01 -2.45358E-01 6.22399E-02 1.18444E-01 -1.01941E-01 -Frame 13 7.58366E00 1.05527E00 2.10448E-01 -3.45976E-01 -6.04167E-01 -9.73386E-02 -9.35362E-02 7.02944E-03 -3.84345E-01 -2.76919E-01 4.24408E-02 9.04057E-02 -4.96172E-02 -Frame 13 7.17765E00 1.07027E00 1.44015E-01 -4.44037E-01 -5.25489E-01 -7.45018E-02 -1.84577E-01 5.00790E-02 -3.12270E-01 -3.08599E-01 8.16422E-02 5.87297E-02 -3.52017E-03 -Frame 13 7.33437E00 1.07234E00 2.73355E-01 -5.23573E-01 -5.42402E-01 -2.12822E-02 -2.25016E-01 1.42413E-02 -2.87697E-01 -3.05495E-01 5.88853E-03 3.41543E-02 1.27527E-02 -Frame 13 7.12576E00 1.01944E00 3.69871E-01 -3.62236E-01 -5.21738E-01 -1.28153E-01 -1.87067E-01 1.13648E-01 -3.66796E-01 -3.22285E-01 4.11570E-02 2.22260E-02 -8.85707E-02 -Frame 13 6.55486E00 8.76342E-01 2.65310E-01 -4.86247E-01 -3.87744E-01 -1.75127E-01 -1.36086E-01 1.17725E-01 -2.88016E-01 -2.71152E-01 -1.05980E-01 -4.19650E-03 -3.87964E-02 -Frame 13 6.46472E00 8.42354E-01 2.10984E-01 -3.54044E-01 -4.38560E-01 -1.26153E-01 -1.07857E-01 5.26334E-02 -1.53406E-01 -3.65787E-01 -1.89550E-01 7.37466E-02 2.01971E-02 -Frame 13 6.15168E00 6.67909E-01 1.61048E-01 -3.08795E-01 -4.43242E-01 -6.19999E-02 -3.87472E-02 2.04739E-01 -1.69928E-01 -2.65754E-01 -1.32744E-01 4.77266E-02 1.35462E-02 -Frame 13 6.37537E00 7.84894E-01 2.63187E-01 -2.25519E-01 -4.85124E-01 -5.66794E-02 -1.19549E-01 9.64623E-02 -2.16835E-01 -3.09007E-01 -8.06560E-02 -6.61288E-02 -7.24814E-02 -Frame 13 5.83233E00 6.54480E-01 3.26628E-01 -2.53848E-01 -5.58402E-01 -1.21029E-01 -3.81785E-02 4.50241E-02 -1.23718E-01 -3.09037E-01 -1.99815E-01 -7.12533E-02 8.37184E-02 -Frame 13 4.72241E00 -2.19182E-04 -4.87654E-03 -2.41829E-01 -2.99937E-01 1.03313E-01 -5.50804E-02 1.26452E-01 5.10690E-02 -3.45663E-02 -9.31264E-02 -6.15041E-02 4.58091E-02 -Frame 13 5.36721E00 5.74066E-01 4.02867E-01 -7.71566E-02 -3.88687E-01 -9.30404E-02 1.56565E-02 -7.34522E-03 -1.72912E-01 -1.07884E-01 -1.17960E-01 -1.13056E-01 -9.46408E-02 -Frame 13 5.19689E00 1.65781E-01 3.03598E-01 -3.38920E-02 -4.12749E-01 -1.86402E-01 -5.72225E-02 2.09022E-01 -2.06723E-02 -1.95578E-01 -2.17912E-01 -1.79246E-01 -4.77103E-02 -Frame 13 4.53412E00 -2.17025E-01 2.04216E-01 -1.23629E-01 -3.23723E-01 -4.68309E-02 7.65613E-03 2.07203E-01 4.96887E-02 -2.45372E-03 -1.28117E-01 -1.22856E-01 1.08706E-01 -Frame 13 4.75017E00 1.10449E-01 4.73402E-02 -2.21132E-01 -3.80281E-02 3.56307E-02 -2.92880E-02 4.19118E-02 1.09532E-02 3.44259E-02 -8.37199E-02 -1.68584E-01 1.15034E-02 -Frame 13 4.47995E00 -1.95326E-01 -9.78869E-02 -2.46427E-01 -1.25052E-01 3.19261E-02 -5.77252E-02 1.58475E-01 1.79298E-01 9.98398E-02 -7.68932E-02 -8.34037E-02 8.82184E-02 -Frame 13 4.20844E00 -3.78682E-01 -1.45834E-01 -2.71054E-01 -2.62399E-01 -1.80757E-01 -1.25339E-01 1.41367E-01 1.48499E-01 7.49690E-02 -6.17895E-02 -2.79129E-02 3.45039E-02 -Frame 13 4.44572E00 -2.92483E-01 -1.49483E-01 -1.78327E-01 -1.73674E-01 -9.47834E-02 -5.21082E-02 9.02061E-02 -1.50445E-01 5.71134E-02 2.37797E-02 -9.34998E-02 -1.09234E-02 -Frame 13 4.25214E00 -4.03948E-01 -1.16411E-01 -1.63628E-01 -2.30416E-01 -5.82616E-02 -3.62700E-02 1.40711E-01 -1.09072E-01 1.80185E-02 -1.79077E-01 -1.51141E-01 -8.25327E-03 -Frame 13 3.96597E00 -4.50123E-01 4.19321E-02 -1.68300E-01 -1.49623E-01 4.14298E-02 -2.72459E-02 1.26406E-01 1.63084E-02 -7.12140E-02 -1.46755E-01 -1.29820E-01 6.39071E-02 -Frame 13 3.77539E00 -5.28046E-01 -1.02985E-01 -1.70704E-01 -2.12508E-01 -9.64392E-02 -2.25741E-01 7.88206E-02 -1.34867E-01 -4.09302E-03 -9.78142E-02 3.79956E-02 6.30427E-02 -Frame 13 3.89048E00 -6.26410E-01 -3.02634E-01 -1.94332E-01 -8.55109E-02 6.79627E-02 3.00275E-02 1.22133E-01 -6.92822E-03 -5.05536E-02 -1.07118E-01 4.12042E-02 8.40851E-02 -Frame 13 3.95077E00 -5.63693E-01 -1.24156E-01 -5.95194E-02 -5.41429E-02 3.80104E-02 -1.38458E-02 7.30944E-02 1.42969E-01 -2.96605E-03 4.91942E-02 1.12958E-01 1.95589E-01 -Frame 13 4.28538E00 -2.34555E-01 -1.43942E-01 -1.89887E-01 -1.64756E-01 -7.68467E-02 -1.15485E-01 -1.39920E-01 -8.69673E-02 -3.04939E-02 -3.02828E-02 2.17627E-02 8.07937E-03 -Frame 13 3.90317E00 -5.48702E-01 -6.29592E-02 -7.30954E-02 -6.85897E-02 1.11920E-01 -7.39991E-02 -5.41154E-02 -6.72782E-03 1.22882E-01 -1.21859E-03 -9.29995E-02 -7.47487E-02 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1422745327054, duration: 5235ms diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-feature.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-feature.dump deleted file mode 100755 index ad85fe52..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-feature.dump +++ /dev/null @@ -1,325 +0,0 @@ -Signal: DataStartSignal: creation time: 1424472926267 -Signal: SpeechStartSignal -FloatFrame 39 -3.77485E00 -6.13085E-01 -1.05100E-01 1.81023E-01 -3.07806E-02 1.72977E-01 -7.57087E-02 9.55702E-02 2.96417E-01 -4.51243E-02 -3.25476E-02 1.18299E-01 1.04748E-01 -1.59180E-01 5.15082E-02 5.93249E-02 -3.29148E-03 1.49231E-01 1.04756E-01 1.83633E-01 -9.28542E-02 -9.35171E-02 1.35444E-01 5.87815E-02 -9.51312E-02 -2.28025E-01 -2.22187E-01 -7.71034E-02 1.71996E-01 -1.63426E-02 -1.71664E-01 1.09897E-01 -2.05534E-02 -7.08407E-03 4.04112E-02 -2.29568E-01 -1.40484E-02 1.62020E-01 8.85592E-02 -FloatFrame 39 -3.76280E00 -5.60187E-01 -1.76795E-01 1.06969E-01 6.54967E-02 1.72887E-01 1.04430E-01 2.09324E-01 2.66446E-01 2.34154E-01 7.36240E-02 8.05494E-02 2.46591E-02 -2.10141E-01 -2.42051E-02 1.00300E-01 -9.03960E-02 -7.53869E-02 1.09807E-01 1.59586E-01 1.06670E-01 1.04407E-02 4.97104E-02 9.21232E-02 1.24270E-01 8.47068E-03 1.38979E-01 -6.93172E-03 1.53674E-01 2.70388E-01 -1.03878E-01 -6.96779E-02 -4.89978E-02 1.87920E-01 -5.17753E-02 -1.45297E-01 6.16998E-02 2.48324E-01 1.93517E-01 -FloatFrame 39 -3.93403E00 -5.61577E-01 -4.57749E-02 1.77731E-01 1.18450E-01 2.77733E-01 1.07925E-01 2.71591E-03 2.02900E-01 9.03193E-02 2.62340E-02 2.31678E-02 -1.23278E-01 -2.02018E-02 4.45765E-02 2.12999E-01 2.67097E-01 4.53532E-02 3.50777E-02 1.34636E-01 9.50654E-02 -1.45292E-01 -9.85338E-03 1.20481E-01 1.53193E-01 -3.45084E-02 1.15536E00 9.40055E-01 6.67610E-01 3.53642E-01 -4.12898E-02 -4.06817E-01 -3.36006E-01 -3.41686E-01 -1.51173E-01 -2.58112E-01 -4.27554E-02 -1.89779E-01 -2.97136E-02 -FloatFrame 39 -3.98499E00 -6.37290E-01 -4.79939E-03 9.06267E-02 -1.06167E-01 2.82784E-01 8.38770E-02 2.02240E-01 3.06857E-01 4.58613E-03 5.95756E-02 2.42569E-01 1.13218E-01 9.45221E-01 9.15850E-01 7.67910E-01 2.63246E-01 -1.16677E-01 -2.97010E-01 -1.76420E-01 -2.35016E-01 -1.40732E-01 -2.08402E-01 4.93678E-02 -6.55087E-02 -2.12429E-02 2.20272E00 1.22777E00 4.90445E-01 -1.47811E-01 -3.68752E-01 -6.07266E-01 -3.36923E-01 -4.15188E-02 6.43291E-02 9.19741E-02 -9.55991E-02 -1.87337E-01 8.71796E-02 -FloatFrame 39 -3.79505E00 -5.68509E-01 1.07899E-01 4.48120E-01 1.45727E-02 2.08055E-01 5.89268E-02 1.90636E-01 1.51124E-01 -5.49776E-02 8.79337E-02 2.71492E-01 7.02392E-02 2.18252E00 1.27235E00 7.03444E-01 1.19286E-01 -3.23399E-01 -5.72188E-01 -2.02288E-01 5.35466E-02 -8.09633E-02 8.21207E-02 2.48822E-02 -3.41436E-02 5.26711E-02 2.23867E00 7.37768E-01 -9.07001E-02 -1.84600E-01 -1.43773E-01 -3.73222E-01 -8.54895E-02 1.02786E-01 -5.85791E-02 2.81518E-01 -8.94918E-02 -2.58365E-01 -3.20737E-01 -FloatFrame 39 -2.81758E00 3.55663E-01 5.91115E-01 3.70215E-01 -5.11800E-02 -1.24123E-01 -7.19898E-02 -2.56920E-02 1.25714E-01 2.57525E-02 1.22992E-01 1.50408E-02 3.41616E-03 3.18389E00 1.65362E00 6.77210E-01 7.86461E-02 -2.60450E-01 -6.70232E-01 -2.61910E-01 -1.32231E-01 -1.99311E-01 7.31166E-02 -4.01240E-02 -3.23873E-01 -3.41980E-01 2.20320E00 6.23115E-01 -6.46781E-01 -5.46085E-01 -9.54008E-02 -1.07307E-01 2.34912E-02 -2.17938E-01 1.08640E-01 -5.60918E-02 -2.24563E-01 -1.59997E-01 -4.09335E-01 -FloatFrame 39 -1.75151E00 7.10773E-01 6.57669E-01 2.97018E-01 -2.04949E-01 -2.94455E-01 -9.43631E-02 5.62625E-02 1.21936E-01 1.72440E-01 5.11161E-02 -1.09758E-02 -7.06065E-02 4.38571E00 1.89547E00 5.66624E-02 -4.26799E-01 -4.18800E-01 -6.79495E-01 -1.78797E-01 -1.64392E-01 2.76766E-02 2.60289E-02 -1.99680E-01 -1.94140E-01 -3.56664E-01 1.54414E00 -8.19659E-01 -1.22364E00 -6.47023E-01 -1.65396E-01 1.60431E-01 3.50057E-01 3.67490E-01 9.04833E-02 1.59077E-02 -3.04474E-01 3.76239E-01 6.82500E-02 -FloatFrame 39 -8.01100E-01 1.01633E00 6.72411E-01 1.69273E-01 -3.66617E-01 -3.87448E-01 -1.78033E-01 7.00096E-02 1.07546E-01 7.77027E-02 1.94516E-02 -8.13040E-02 -2.28762E-01 4.72803E00 8.33960E-01 -5.46426E-01 -5.68376E-01 -4.25845E-01 -5.09801E-01 8.81469E-02 2.35260E-01 -1.08828E-01 8.90243E-02 -3.44598E-01 5.23661E-02 -2.73730E-01 5.77944E-02 -1.48604E00 -9.35831E-01 -1.39644E-01 7.92431E-03 4.81709E-01 3.93334E-01 3.33993E-01 -2.23335E-01 -5.49972E-02 -2.55895E-02 2.92939E-01 3.31097E-01 -FloatFrame 39 5.90659E-01 1.32696E00 1.64561E-01 2.13206E-02 -4.04227E-01 -4.71439E-01 -1.19870E-01 2.62437E-02 1.78801E-01 -2.89488E-02 -1.11747E-01 7.73517E-02 -2.86425E-01 4.44351E00 4.09421E-01 -8.79169E-01 -5.66443E-01 -4.10876E-01 -1.97785E-01 2.14538E-01 1.69602E-01 -1.95659E-01 -2.89683E-02 -2.25270E-01 9.87985E-02 -2.55668E-02 -5.84135E-01 -9.46410E-01 -4.98808E-01 8.35401E-02 1.68179E-01 5.45182E-01 2.56966E-01 -1.20287E-01 -1.73813E-01 -8.66596E-02 2.38091E-01 2.38968E-01 4.63714E-01 -FloatFrame 39 1.91045E00 1.18962E00 4.46887E-02 -1.98161E-01 -4.77025E-01 -6.33924E-01 1.61571E-02 2.09568E-01 1.68862E-02 1.14777E-01 -2.21606E-01 6.74069E-02 -2.70314E-01 4.14390E00 -1.12450E-01 -1.04523E00 -4.84836E-01 -2.57667E-01 3.53809E-02 3.45113E-01 1.14972E-01 -2.82641E-01 2.36477E-03 -1.06506E-01 2.91334E-01 1.89984E-01 -1.30947E00 -1.04481E00 2.50846E-01 1.92064E-01 2.76094E-01 4.40749E-01 7.47809E-02 -1.34285E-01 -1.78761E-01 1.43773E-01 3.74363E-01 4.41930E-02 2.91967E-01 -FloatFrame 39 2.69199E00 1.12019E00 -2.21500E-01 -2.69426E-01 -6.15825E-01 -4.92240E-01 1.20174E-01 2.25864E-01 -7.37224E-02 1.43472E-01 -1.74154E-01 8.78227E-02 -9.61733E-02 3.13403E00 -6.35387E-01 -6.28323E-01 -3.74380E-01 -1.34781E-01 2.42963E-01 2.89318E-01 3.53162E-02 -3.74420E-01 1.14805E-01 1.49093E-01 1.42992E-01 2.66401E-01 -2.22266E00 -4.92298E-01 4.74152E-01 3.53731E-01 3.28482E-01 4.05472E-01 -2.87361E-01 -3.58394E-01 7.60826E-02 1.14395E-01 3.99958E-01 -2.53390E-01 4.74275E-02 -FloatFrame 39 3.34280E00 9.03879E-01 -3.72824E-01 -3.15564E-01 -6.24284E-01 -3.52067E-01 1.67080E-01 1.84982E-01 -1.75095E-01 8.00675E-02 -8.70549E-02 2.10030E-01 -3.87774E-02 1.92124E00 -6.04747E-01 -5.71083E-01 -1.31105E-01 7.08148E-02 4.40853E-01 5.77515E-02 -2.43421E-01 -2.06559E-01 1.16760E-01 2.93451E-01 3.79438E-02 2.37412E-01 -1.93513E00 -1.31245E-01 4.28376E-01 3.43034E-01 4.22240E-01 1.65382E-01 -5.10385E-01 -3.68628E-01 3.00816E-01 1.15922E-01 1.03673E-01 -2.60621E-01 -2.05988E-01 -FloatFrame 39 3.72469E00 6.91570E-01 -4.63762E-01 -3.53059E-01 -5.39008E-01 -2.28476E-01 1.69449E-01 6.15599E-02 -1.95619E-01 8.58562E-02 3.73467E-02 2.20343E-01 -2.00239E-02 1.19891E00 -7.66632E-01 -1.99947E-01 -3.13459E-02 2.87458E-01 4.08345E-01 -2.21067E-01 -3.33312E-01 -7.36030E-02 2.30727E-01 2.52767E-01 -1.17630E-01 6.04129E-02 -1.76951E00 2.44957E-02 6.73132E-01 1.93120E-01 2.76154E-01 -1.25691E-02 -5.69667E-01 2.15356E-03 2.26267E-01 2.25459E-01 -2.07071E-01 -3.21485E-01 -2.05049E-01 -FloatFrame 39 3.83169E00 5.84876E-01 -5.26394E-01 -3.29266E-01 -4.06211E-01 -1.93071E-01 7.39086E-02 -3.38536E-02 -1.89672E-01 2.31537E-01 7.18451E-02 1.05351E-01 -3.29020E-02 1.51728E-01 -5.80252E-01 1.02049E-01 6.20151E-02 3.46969E-01 4.28284E-01 -5.11915E-01 -2.41268E-01 1.97085E-02 3.42220E-01 8.63805E-02 -2.83541E-01 3.23626E-02 -2.62992E00 7.47057E-02 7.48464E-01 1.23254E-01 8.03821E-02 9.80550E-02 -2.85933E-01 1.42578E-01 2.16614E-01 -4.83418E-02 -2.82335E-01 -1.14941E-01 -3.74181E-02 -FloatFrame 39 3.89090E00 3.53562E-01 -4.21447E-01 -3.00772E-01 -3.28366E-01 -8.38953E-02 -1.00892E-01 -1.07448E-01 -1.47325E-01 3.74198E-01 7.86127E-02 -2.98073E-02 -3.57604E-02 -1.43102E00 -6.91926E-01 5.48516E-01 9.19081E-02 3.67840E-01 5.06400E-01 -5.07000E-01 -1.90734E-01 1.43011E-01 1.82385E-01 -2.95687E-02 -2.32571E-01 2.29947E-02 -3.45549E00 -3.59740E-01 3.81720E-01 3.97828E-01 1.61913E-01 -6.41030E-03 3.84994E-01 3.33235E-01 3.41026E-02 -4.09878E-01 -2.73569E-01 1.73711E-01 3.71930E-02 -FloatFrame 39 3.49453E00 3.23627E-01 -2.70774E-01 -2.53549E-01 -2.77315E-01 7.62164E-02 -3.44835E-01 -5.62856E-02 -1.55386E-01 4.22287E-01 -6.74386E-04 -7.35106E-02 -6.41487E-03 -3.30376E00 -9.39992E-01 4.83769E-01 4.59843E-01 5.08882E-01 4.21873E-01 -1.26921E-01 9.19672E-02 5.38111E-02 -6.76580E-02 -1.87189E-01 -1.09829E-01 6.95555E-02 -2.93579E00 5.41453E-01 -5.05113E-01 5.58024E-01 1.49390E-01 -3.45951E-01 7.36643E-01 3.60772E-01 -1.06702E-01 -4.60992E-01 -2.59983E-01 2.08316E-01 1.48105E-01 -FloatFrame 39 2.29368E00 -3.56238E-04 8.47543E-02 -2.61151E-01 -1.71168E-01 2.77924E-01 -3.37551E-01 -1.29174E-01 -5.26077E-02 2.68241E-01 7.77802E-03 -1.22277E-02 2.97085E-03 -4.36681E00 -1.50474E-01 4.34030E-02 6.49932E-01 5.17230E-01 1.60450E-01 2.29643E-01 1.70038E-01 3.63088E-02 -2.78608E-01 -2.89552E-01 -2.42545E-02 1.71100E-01 -7.15275E-01 9.10044E-01 -5.73198E-01 1.28268E-01 -6.80254E-02 -5.48302E-01 5.81030E-01 -2.72567E-02 -1.05936E-02 -2.21339E-01 3.11128E-02 1.59227E-01 7.13808E-02 -FloatFrame 39 5.27922E-01 -3.55116E-01 -4.26245E-02 1.30577E-01 1.02671E-01 2.28802E-01 -5.30124E-02 5.81136E-02 -1.35861E-01 1.63879E-01 -1.15344E-01 -4.47872E-03 3.66535E-02 -4.01904E00 -2.99476E-02 -8.94287E-02 5.88111E-01 4.40856E-01 -1.26429E-01 4.54109E-01 6.47104E-02 4.32175E-02 -2.88997E-01 -1.56076E-01 4.93974E-02 1.40936E-01 1.25321E00 4.10420E-01 -3.85842E-01 -6.66738E-03 -1.20292E-01 -5.01452E-01 2.27175E-01 6.57903E-02 -1.45321E-01 2.86747E-02 3.40909E-02 4.04846E-02 1.44608E-01 -FloatFrame 39 -4.75905E-01 2.03088E-01 -3.78044E-01 3.49160E-01 1.88864E-01 7.65543E-02 1.28751E-01 6.25902E-02 -1.11017E-01 9.55907E-02 -2.10939E-01 -5.40617E-02 1.35339E-01 -3.11360E00 2.59946E-01 -3.42439E-01 6.43264E-01 3.96938E-01 -3.41003E-01 4.56818E-01 2.35828E-01 -1.09012E-01 -2.49933E-01 -2.55461E-01 1.62301E-02 3.15708E-01 2.55301E00 5.24856E-01 -3.52753E-02 -3.97037E-01 -3.43036E-01 -9.21738E-02 -3.58107E-01 -1.61623E-01 7.09623E-03 1.86394E-01 1.23968E-01 -1.00551E-01 1.04145E-01 -FloatFrame 39 -5.24512E-01 2.93680E-01 -3.60203E-01 3.34562E-01 1.63541E-01 -5.02126E-02 1.09274E-01 8.42484E-03 -1.12169E-01 1.33291E-01 -1.56750E-01 -2.41133E-02 1.34521E-01 -1.46603E00 4.94908E-01 -1.24704E-01 1.91074E-01 9.78200E-02 -2.18603E-01 9.60020E-02 -9.69130E-02 5.03138E-02 -1.02602E-01 -3.21081E-02 -5.11537E-02 2.45081E-01 2.55883E00 -3.95722E-01 6.29002E-01 -5.95557E-01 -4.57018E-01 1.38166E-01 -5.54426E-01 -4.64895E-01 2.29333E-01 4.07893E-01 3.74606E-01 5.16128E-02 -3.55477E-01 -FloatFrame 39 -8.19919E-01 2.59590E-01 -2.57685E-01 3.82113E-01 2.25770E-01 -6.30787E-02 1.19267E-01 1.06654E-01 -1.61620E-01 1.83080E-02 -2.47683E-01 4.00243E-03 3.18678E-01 -5.54766E-01 -1.35776E-01 2.86563E-01 4.77075E-02 -6.00803E-02 -2.02837E-01 -9.76082E-02 -2.29067E-01 1.20321E-01 1.57960E-01 1.19145E-01 6.78429E-02 -3.97691E-02 5.92967E-01 -6.95095E-01 5.21851E-01 -1.63730E-01 -2.30394E-01 2.21593E-01 -1.00265E-01 -1.03976E-01 6.38070E-02 1.34414E-01 1.95732E-01 1.02198E-01 -2.69332E-01 -FloatFrame 39 -9.38109E-01 1.39793E-01 -1.67328E-01 3.21650E-01 2.00491E-01 1.01991E-02 4.29896E-02 -3.87993E-02 -8.55475E-02 6.12767E-02 -1.47452E-01 -5.56324E-02 2.81735E-01 -8.73064E-01 -2.00187E-01 3.97147E-01 2.73434E-02 -1.32574E-01 2.98974E-03 -4.26328E-03 -2.00889E-01 1.14121E-01 3.18119E-02 1.63624E-01 5.10445E-02 -2.42507E-02 3.82253E-01 -6.56646E-01 2.17025E-01 -1.64490E-01 -6.69895E-02 3.61343E-01 -1.88077E-03 1.04837E-01 1.11339E-01 -1.13721E-01 9.38575E-02 -8.76716E-02 -2.95807E-01 -FloatFrame 39 -1.03067E00 6.73122E-02 -9.14816E-02 3.96867E-01 1.28784E-01 -1.26283E-01 3.11426E-02 -1.66477E-01 9.30401E-03 2.53551E-01 -9.17935E-02 1.37812E-02 9.55701E-02 -1.72513E-01 -7.92423E-01 5.03588E-01 -1.16782E-01 -1.27070E-01 1.58506E-01 -9.94890E-02 -1.24230E-01 2.31660E-01 4.42388E-02 2.13003E-01 -1.98287E-02 -3.35576E-01 1.90840E00 -9.37681E-01 1.72275E-01 -2.16363E-01 2.96644E-02 -5.12563E-02 -1.06053E-01 2.25494E-01 6.10220E-02 -2.05869E-01 2.21476E-03 2.10683E-03 -1.96631E-01 -FloatFrame 39 -1.39758E00 9.34927E-02 3.69440E-02 3.61905E-01 3.09675E-02 -4.72229E-02 1.05011E-01 -1.92464E-01 1.95188E-03 1.65102E-01 6.87324E-03 2.69312E-02 1.10271E-01 1.03533E00 -1.13787E00 5.69421E-01 -1.89019E-01 -1.02909E-01 -4.82665E-02 -1.10316E-01 2.46056E-02 1.75143E-01 -1.74057E-01 1.65838E-01 5.31513E-02 -2.20882E-01 8.50797E-01 -5.44215E-01 4.44285E-01 -5.61607E-01 3.58186E-01 3.33544E-02 -8.07894E-02 1.93229E-01 1.03701E-02 -3.13897E-01 -7.94414E-02 -6.47086E-02 2.32160E-01 -FloatFrame 39 -9.92432E-01 -5.32833E-01 2.45903E-01 2.65331E-01 9.87001E-02 9.54278E-02 1.97782E-02 -1.75756E-02 7.00395E-02 6.25468E-02 -3.46799E-02 -1.58263E-02 -1.68978E-02 6.78284E-01 -1.33664E00 9.47872E-01 -6.78389E-01 2.31117E-01 1.91861E-01 -1.80278E-01 6.89989E-02 2.42030E-01 -2.69658E-01 1.33561E-01 -8.45373E-02 -1.03416E-01 5.73267E-01 -5.99773E-01 3.79937E-01 -4.06231E-01 4.66458E-01 2.67533E-01 -4.41732E-02 2.24113E-01 -7.24670E-02 1.16344E-03 -1.71046E-01 -8.34529E-02 9.56034E-02 -FloatFrame 39 9.72237E-02 -9.98075E-01 4.02093E-01 1.32631E-01 9.75817E-02 -3.80674E-02 -6.73264E-02 -1.41937E-02 8.95953E-02 -1.12780E-01 1.83866E-02 -2.48111E-03 6.08531E-02 1.60860E00 -1.73764E00 9.49358E-01 -5.95250E-01 3.63549E-01 2.19266E-01 -1.54489E-01 2.48719E-01 1.02676E-01 -1.72894E-01 -5.20718E-03 -3.03017E-02 -1.25278E-01 4.73111E-01 -2.62522E-01 -3.56052E-01 1.50652E-01 7.17183E-02 -1.81234E-01 2.68058E-01 1.17062E-01 -8.96702E-02 1.89122E-01 3.98497E-02 1.29164E-01 1.13988E-01 -FloatFrame 39 -3.52387E-01 -1.26933E00 8.56391E-01 -2.81522E-01 3.59900E-01 6.55782E-02 -1.49136E-01 -9.74779E-02 2.51334E-01 -1.61073E-02 4.17678E-02 -7.07562E-02 -7.84596E-03 1.15139E00 -1.59916E00 5.91821E-01 -5.27737E-01 3.02835E-01 1.06264E-02 8.77798E-02 1.86061E-01 1.52360E-01 -8.05357E-02 1.73411E-01 4.46268E-02 1.05720E-02 -1.47702E00 2.22101E-01 -6.03513E-01 2.19510E-01 -1.19462E-01 -1.80901E-01 2.53509E-01 -1.14013E-01 -2.56302E-02 2.84129E-01 -5.63614E-03 1.30136E-01 6.78390E-02 -FloatFrame 39 2.11023E-01 -1.64415E00 9.86302E-01 -2.33345E-01 3.94516E-01 1.72044E-01 -4.94781E-02 5.62550E-02 1.04628E-01 -7.79108E-03 1.66606E-03 -3.37046E-03 -1.50075E-02 1.31578E-01 -1.51554E00 3.45846E-01 -3.75740E-01 2.44087E-01 3.83655E-02 9.90199E-02 1.34706E-01 7.70456E-02 1.11236E-01 -1.08433E-02 9.98348E-02 -5.74393E-02 -2.88225E-01 4.32496E-01 -8.97391E-01 3.71853E-01 -3.34686E-01 -1.45571E-01 1.58178E-01 1.29134E-01 -1.48183E-01 3.25592E-02 -1.36073E-01 1.61250E-01 1.20418E-01 -FloatFrame 39 1.58963E-01 -2.13199E00 8.37723E-01 -2.62406E-01 4.01535E-01 1.06054E-01 1.07558E-01 1.68485E-01 2.22399E-01 -1.79889E-02 1.38731E-01 2.88006E-02 -6.32575E-03 8.63170E-01 -1.16666E00 -3.05571E-01 -1.55884E-01 -3.18515E-02 -1.34944E-01 2.45958E-01 3.15195E-01 4.17614E-03 -4.79765E-02 3.73376E-02 2.05876E-01 1.30990E-01 -9.18317E-02 7.32103E-01 -8.43064E-01 2.43941E-01 -3.69770E-01 -2.91710E-01 3.10805E-02 -2.10379E-01 8.32332E-03 -1.25318E-01 1.91746E-01 6.90264E-02 3.17185E-01 -FloatFrame 39 2.28801E-01 -2.51361E00 7.47939E-01 -2.43109E-01 3.41669E-01 2.98051E-04 3.16936E-02 1.20513E-01 1.66641E-01 -1.54451E-03 7.54326E-03 9.73537E-02 3.41377E-03 3.97460E-02 -7.83437E-01 -4.97219E-01 -1.31799E-01 -1.25683E-01 -2.53345E-01 1.30100E-01 -7.56726E-02 8.53689E-02 -1.40827E-02 1.80903E-01 1.68861E-01 2.59745E-01 -1.04991E00 7.85926E-01 -1.36705E-01 9.59339E-02 -2.28216E-03 9.81405E-02 -3.66121E-01 -5.21782E-01 -1.62063E-01 1.99975E-01 1.04678E-01 -1.20253E-01 -5.50801E-02 -FloatFrame 39 5.10782E-01 -2.43599E00 5.50820E-01 -4.37405E-01 3.28049E-01 -6.93662E-02 9.68221E-02 2.17717E-01 2.55510E-01 -6.40837E-02 7.91055E-02 1.35120E-01 1.23144E-01 -1.86741E-01 -3.80738E-01 -4.42276E-01 -5.99497E-02 -3.41336E-02 -3.68039E-02 -1.20163E-01 -2.06587E-01 -1.57887E-01 1.51999E-01 1.42016E-01 8.56237E-02 7.59100E-02 -4.48990E-01 6.93412E-01 4.45950E-02 1.52991E-01 1.76593E-01 1.78895E-01 -1.62878E-01 -3.62909E-02 -8.99067E-02 1.07152E-01 -4.42988E-02 1.28487E-02 -1.80306E-01 -FloatFrame 39 2.50769E-01 -2.42758E00 4.89084E-01 -3.65144E-01 2.68833E-01 -8.13010E-02 8.06223E-02 -1.94176E-02 1.89996E-01 -2.18738E-02 1.82569E-01 1.65491E-01 2.44738E-01 -4.09244E-01 -9.00248E-02 -4.52623E-01 2.11914E-02 5.09099E-02 -7.44494E-02 -3.27780E-02 -1.11964E-01 -4.53781E-03 9.30690E-02 1.36604E-01 1.81710E-01 7.94395E-02 -6.51411E-01 1.95928E-01 -8.66086E-02 2.72015E-01 1.65125E-02 1.85877E-02 1.05839E-01 9.53949E-02 1.65582E-01 3.82494E-02 -1.33934E-01 -9.30774E-02 -1.29615E-01 -FloatFrame 39 -2.77783E-02 -2.51273E00 3.95448E-01 -3.22356E-01 3.67401E-01 6.92503E-02 -1.26054E-02 -3.81018E-02 6.45118E-02 1.34010E-01 2.80747E-01 1.14424E-01 6.95842E-02 -8.38152E-01 -1.84810E-01 -5.28885E-01 2.12065E-01 -1.76211E-02 -1.82162E-02 -1.43241E-02 -1.11192E-01 7.69445E-03 1.90248E-01 8.08143E-03 -7.45367E-03 -5.37046E-02 -1.15726E-01 8.73204E-02 -5.58714E-02 2.93496E-02 5.80038E-02 4.65626E-02 1.15284E-01 3.33812E-01 1.45280E-02 5.54773E-02 -2.24512E-01 -3.19935E-01 -2.24706E-01 -FloatFrame 39 -1.80443E-01 -2.60364E00 2.95315E-01 -2.21918E-01 3.92578E-01 -7.41513E-02 -1.08447E-03 8.54917E-03 1.62103E-01 9.15245E-02 1.44147E-01 2.79064E-01 8.28532E-02 -5.24970E-01 -2.70434E-03 -5.08495E-01 5.05410E-02 1.08914E-01 -2.78867E-02 8.25057E-02 2.21848E-01 9.99018E-03 1.48546E-01 -8.79084E-02 -1.38225E-01 -1.45267E-01 7.66346E-01 3.03305E-01 2.93429E-01 -1.80511E-01 7.42317E-02 -2.11522E-01 2.01414E-01 3.40746E-01 3.82069E-02 -3.17110E-01 -2.55079E-01 1.49164E-02 8.89139E-02 -FloatFrame 39 -3.27370E-01 -2.62080E00 2.19357E-02 -2.25340E-01 3.10428E-01 -8.75824E-02 8.24980E-02 1.06525E-01 2.63204E-01 1.26165E-01 8.71869E-02 1.27667E-01 6.94395E-02 -7.18066E-02 1.18495E-01 -2.35455E-01 3.15541E-02 5.66106E-02 -2.29738E-01 1.87090E-01 2.29554E-01 4.59014E-02 -1.26862E-01 -2.46998E-01 7.46273E-03 3.52093E-02 7.38027E-01 8.61177E-03 4.80438E-01 -1.86059E-01 -1.16996E-01 4.70481E-02 -3.81923E-02 -9.86798E-02 5.86882E-02 -9.47325E-02 4.14711E-02 -3.71323E-03 1.54244E-01 -FloatFrame 39 -2.74201E-01 -2.43029E00 -1.94110E-02 -3.14603E-01 3.77747E-01 -1.09188E-01 1.63128E-01 2.02431E-01 1.99987E-01 1.26673E-01 9.46603E-02 2.72658E-02 9.94711E-02 2.13057E-01 5.90743E-03 -2.80572E-02 -1.35518E-01 -8.08241E-03 1.91614E-02 4.43134E-02 1.23168E-01 6.86784E-02 5.38139E-02 -4.64373E-02 -1.41938E-01 8.97734E-03 6.21986E-01 -1.03462E-01 6.27201E-01 4.54849E-02 -2.57167E-01 2.33917E-01 -1.15764E-01 -2.02228E-01 -1.99069E-01 1.18054E-01 4.46856E-01 -8.73419E-02 6.05200E-02 -FloatFrame 39 -9.95849E-02 -2.39424E00 1.59992E-01 -2.90802E-01 4.24012E-01 -1.60488E-01 1.74484E-01 1.91452E-01 1.10413E-01 7.14846E-03 3.37490E-02 1.21887E-01 1.04794E-01 5.50179E-01 1.50331E-02 3.91746E-01 7.70391E-02 -2.00556E-01 4.17963E-03 7.13255E-02 2.73261E-02 -1.53167E-01 -8.80726E-03 1.99858E-01 -7.98791E-02 9.57293E-02 7.01776E-01 -5.43499E-02 3.79263E-01 3.48213E-01 -2.31418E-01 2.22725E-01 -2.75602E-01 -2.82971E-01 -1.00595E-01 -1.60126E-01 1.05917E-01 1.17927E-01 1.23603E-01 -FloatFrame 39 3.26140E-02 -2.59773E00 2.67258E-01 -3.57436E-01 3.84496E-01 -5.49899E-02 4.32289E-02 1.31718E-01 2.30781E-01 1.45338E-01 9.77098E-02 1.37125E-01 9.18306E-02 9.14832E-01 -4.84424E-02 3.51205E-01 2.12694E-01 -2.39500E-01 2.41887E-01 -2.31289E-01 -1.59802E-01 -3.19165E-02 -1.06312E-01 5.94794E-02 -2.40115E-02 1.32581E-01 9.90933E-01 2.58300E-01 -1.52490E-01 3.16416E-01 -1.53546E-01 1.25029E-01 -3.74049E-01 2.30462E-02 -2.53678E-02 3.77384E-02 -2.18794E-01 -7.53300E-02 3.68475E-03 -FloatFrame 39 2.22809E-01 -2.60577E00 4.13682E-01 -1.48301E-01 1.09872E-01 -8.34027E-02 1.53824E-01 1.33851E-01 1.10037E-01 1.17357E-01 2.87045E-01 4.77874E-02 1.65169E-01 1.54111E00 2.73333E-01 2.39256E-01 3.93455E-01 -3.54102E-01 1.29209E-01 -3.02723E-01 5.03722E-02 -1.78535E-01 2.89312E-02 -1.89357E-02 -1.55209E-01 9.94141E-02 1.24516E00 1.42999E00 -1.48104E-01 6.39983E-01 -1.40158E-02 -1.29124E-01 -1.71762E-01 1.27020E-01 -2.49205E-01 -4.36371E-02 -2.47275E-01 -3.56423E-01 -1.62958E-01 -FloatFrame 39 6.40632E-01 -2.47873E00 3.31795E-01 -1.01909E-01 1.38246E-01 1.32699E-01 -6.81606E-02 4.26285E-02 1.68070E-01 2.03604E-02 1.54140E-01 3.25427E-03 2.32052E-01 2.15999E00 1.38154E00 2.03101E-01 8.52677E-01 -2.53516E-01 1.12762E-01 -4.03050E-01 -3.27817E-02 -2.81122E-01 -1.49949E-01 -1.87795E-01 -3.80435E-01 -3.03777E-02 1.04440E00 2.10098E00 -7.33426E-01 3.91559E-01 2.95678E-01 -1.09218E-01 -1.76665E-01 -3.65798E-01 1.82739E-01 -2.38725E-01 -3.89002E-01 -1.24675E-01 -2.98510E-01 -FloatFrame 39 1.44153E00 -2.12090E00 3.99249E-01 1.02654E-01 6.99096E-02 -3.12789E-02 -1.28239E-01 2.41824E-01 -6.81219E-02 3.60796E-02 1.48133E-02 -3.33221E-02 2.04208E-01 2.58551E00 2.37432E00 -4.94170E-01 7.85014E-01 -5.84240E-02 1.99910E-02 -4.79388E-01 -3.15426E-01 4.20403E-03 -2.09793E-01 -4.07938E-01 -2.79884E-01 -1.99096E-01 8.71216E-02 1.24718E00 -8.77998E-01 -1.43259E-01 2.54928E-01 -4.83216E-01 1.81909E-01 -1.93723E-01 2.33040E-01 4.91912E-02 -1.24656E-01 1.73731E-01 -2.46162E-01 -FloatFrame 39 2.19260E00 -1.21619E00 4.70359E-01 4.95241E-01 1.30980E-01 5.77723E-02 -3.59821E-01 9.89359E-02 -5.03402E-02 -4.61092E-03 -9.00856E-02 -2.43309E-01 6.14529E-02 2.24711E00 2.62873E00 -6.74897E-01 7.09418E-01 1.41148E-03 -3.70454E-01 -2.21141E-01 -2.26505E-01 -4.80820E-02 -1.00758E-01 -3.12452E-01 -2.06703E-01 -2.76539E-01 -1.13644E00 2.17332E-01 -5.81945E-01 -3.06939E-01 2.93085E-01 -3.78599E-01 4.29347E-01 -2.18796E-01 2.55134E-01 1.22969E-01 1.27844E-01 1.72564E-01 -1.72635E-02 -FloatFrame 39 2.80832E00 -2.31451E-01 -8.04881E-02 6.36713E-01 5.14475E-02 -6.34117E-02 -3.25565E-01 -1.81575E-01 1.14241E-01 -9.24361E-02 -1.20893E-01 -2.32097E-01 -3.39272E-02 1.44908E00 2.59165E00 -1.07612E00 4.78075E-01 2.34661E-01 -3.58608E-01 -5.00409E-02 -5.34222E-01 2.59338E-01 -8.68244E-02 -2.80093E-01 -1.07320E-01 -2.16360E-01 -1.59628E00 -8.03384E-01 -5.90885E-01 -6.73039E-01 2.23838E-01 -3.28764E-02 4.01480E-01 -2.57989E-01 3.48188E-01 4.85346E-02 1.01148E-01 3.49222E-01 1.62133E-01 -FloatFrame 39 2.88774E00 1.49995E-01 -3.43102E-01 6.07509E-01 1.39658E-01 -2.37755E-01 -2.89302E-01 -1.83877E-01 1.19988E-01 -8.03977E-02 -1.58312E-01 -2.03449E-01 -4.44877E-02 6.50829E-01 1.82534E00 -1.26578E00 3.63791E-02 2.25249E-01 -4.03330E-01 1.80339E-01 -4.84494E-01 3.00106E-01 -5.22235E-02 -2.11304E-01 1.42518E-01 -1.14407E-01 -1.59722E00 -1.59220E00 3.38972E-01 -7.75662E-01 1.98804E-01 1.89360E-01 9.46659E-02 3.48635E-01 -1.70840E-01 1.10175E-01 1.76224E-01 1.78343E-01 2.15964E-01 -FloatFrame 39 2.89061E00 4.70745E-01 -6.76867E-01 5.80729E-01 3.04571E-01 -3.89886E-01 -1.78280E-01 -2.92398E-01 1.91217E-01 -5.07448E-02 -2.65280E-01 -1.40642E-01 -1.21519E-02 -1.48140E-01 9.99447E-01 -7.37144E-01 -2.97587E-01 4.33465E-01 -1.69248E-01 4.46250E-02 -1.85587E-01 8.84989E-02 2.33511E-02 -1.03869E-01 7.10235E-02 -3.95190E-04 -1.12416E00 -1.02697E00 7.73005E-01 -4.93166E-01 1.91388E-01 5.25490E-01 -1.51946E-01 3.08701E-01 -3.49874E-01 1.56487E-01 1.37505E-01 -6.53006E-02 6.13006E-02 -FloatFrame 39 2.84343E00 6.09152E-01 -7.95423E-01 5.31620E-01 3.56229E-01 -3.45558E-01 -1.79482E-01 -3.85558E-01 2.49766E-01 -5.68344E-02 -3.01390E-01 -1.00791E-01 -5.29538E-02 -4.73332E-01 7.98369E-01 -4.92777E-01 -4.56787E-01 4.16638E-01 1.22160E-01 2.83936E-02 -1.75793E-01 -4.97674E-02 1.04264E-01 -7.37996E-02 7.72175E-02 -5.31061E-02 -6.74515E-01 -3.10682E-01 5.60604E-01 -3.13005E-01 -9.08519E-02 4.89827E-01 -9.43238E-02 1.87800E-01 -3.36044E-01 2.11719E-02 3.18711E-01 -1.51866E-01 -6.29926E-02 -FloatFrame 39 2.66018E00 7.67996E-01 -8.17632E-01 3.39126E-01 4.84913E-01 -2.32659E-01 -2.80940E-01 -3.67162E-01 2.02740E-01 -6.90850E-02 -2.24762E-01 -1.61073E-01 -3.43224E-02 -8.22655E-01 6.88766E-01 -1.76540E-01 -6.10592E-01 3.42613E-01 3.20579E-01 -4.96988E-02 2.21322E-03 -2.47546E-01 4.45230E-02 2.14842E-01 -8.08429E-02 -6.33878E-02 -7.63717E-01 -1.29958E-01 5.58432E-01 -2.49341E-01 -1.11525E-01 1.62103E-01 -2.48413E-02 3.61922E-01 -3.63439E-01 -8.52521E-02 3.90325E-01 -1.58016E-01 3.85413E-03 -FloatFrame 39 2.41441E00 9.48364E-01 -8.35879E-01 1.50723E-01 5.56296E-01 -1.15595E-01 -2.60908E-01 -3.59670E-01 7.02208E-02 2.38660E-02 -2.32112E-01 -1.26232E-01 -9.75938E-02 -1.23705E00 6.68411E-01 6.56553E-02 -7.06127E-01 3.05113E-01 2.84263E-01 3.55222E-03 1.86129E-01 -4.13206E-01 1.90117E-02 3.16526E-01 -8.07981E-02 -4.92520E-02 -5.00848E-01 -1.23523E-01 2.88884E-01 4.35547E-02 -2.33239E-01 -9.81243E-02 2.36340E-01 2.10431E-01 -1.31643E-01 -7.98179E-02 1.21860E-02 1.19430E-01 -5.53206E-03 -FloatFrame 39 2.06795E00 1.15951E00 -8.53406E-01 -2.98630E-02 6.47185E-01 -6.93072E-02 -2.27978E-01 -2.90185E-01 -5.63290E-02 -6.22177E-03 -5.04379E-02 -2.21485E-01 -7.55397E-02 -1.32350E00 5.65242E-01 1.12345E-01 -5.67037E-01 1.09375E-01 2.22455E-01 1.86641E-01 2.12644E-01 -3.79189E-01 -3.52949E-02 2.27028E-01 3.85866E-02 -6.89199E-02 -2.00249E-01 -2.16878E-01 1.23975E-01 3.41447E-01 -4.27474E-01 -7.71287E-02 1.44296E-01 6.10015E-02 1.42263E-01 -1.02884E-01 -1.18730E-01 7.06966E-02 1.91950E-01 -FloatFrame 39 1.60638E00 1.27756E00 -7.29768E-01 -1.74507E-01 6.61342E-01 -6.12947E-02 -1.75930E-01 -1.99429E-01 -1.63440E-01 -3.78228E-02 1.51357E-02 -1.81589E-01 -1.02206E-01 -1.43730E00 4.51533E-01 1.89630E-01 -3.64680E-01 -1.22361E-01 2.07134E-01 1.47848E-01 2.47131E-01 -2.70943E-01 -8.38727E-02 1.97796E-01 -1.01015E-02 1.42698E-01 2.24193E-01 -3.93518E-01 2.03994E-01 3.40896E-01 -3.90245E-01 -6.51981E-02 -5.50010E-02 -2.58742E-02 2.70968E-01 -3.22735E-02 -2.70111E-01 5.90084E-02 2.60476E-01 -FloatFrame 39 1.33668E00 1.33324E00 -7.05287E-01 -2.27911E-01 5.94288E-01 -1.02045E-02 -9.42987E-02 -1.54518E-01 -1.76449E-01 -1.04380E-01 2.26609E-03 -1.22486E-01 -1.03242E-01 -1.09931E00 1.71724E-01 3.16338E-01 -2.26141E-01 -2.80870E-01 1.57257E-01 1.31640E-01 1.86770E-01 -1.08220E-01 -6.75683E-02 -4.30832E-02 9.75951E-02 1.91556E-01 8.25150E-01 -3.89107E-01 2.13199E-02 3.15975E-01 -2.67623E-01 -7.26370E-02 -9.80653E-03 -1.14072E-01 2.89721E-01 -6.76635E-02 -3.33163E-01 1.27165E-01 1.20356E-01 -FloatFrame 39 9.77113E-01 1.39990E00 -6.46249E-01 -2.13958E-01 4.33935E-01 9.15398E-02 -1.13060E-01 -1.12539E-01 -2.00722E-01 -6.00066E-02 -3.43160E-02 -1.36333E-01 4.51037E-02 -6.12148E-01 6.24261E-02 2.10950E-01 -4.87053E-02 -3.89984E-01 1.34497E-01 1.38041E-01 1.33059E-01 1.87776E-02 -1.51536E-01 -1.35367E-01 1.17063E-01 2.63054E-01 6.83616E-01 -5.31238E-03 -1.89783E-01 2.48596E-01 -5.87366E-02 -1.14403E-01 -1.24616E-01 6.69620E-03 1.19411E-01 -2.94319E-02 -9.81825E-02 -1.74240E-02 6.41171E-02 -FloatFrame 39 9.68641E-01 1.33123E00 -5.37068E-01 -2.56004E-01 3.66315E-01 8.79496E-02 -9.63382E-02 -1.03415E-01 -1.64549E-01 -7.37901E-02 -9.35211E-02 -1.23890E-01 1.16016E-01 -4.15694E-01 1.66412E-01 1.26555E-01 2.24545E-02 -3.39607E-01 4.28540E-02 7.02380E-03 1.93466E-01 1.11906E-02 -9.70003E-02 -1.41266E-01 8.01710E-02 2.55673E-01 6.02226E-01 1.09428E-01 -1.68418E-01 9.52017E-02 2.35375E-01 -3.83093E-01 -2.86705E-02 2.38826E-02 3.69875E-02 -4.35969E-02 5.39657E-02 -8.23359E-02 -1.28344E-01 -FloatFrame 39 9.94235E-01 1.33999E00 -5.18818E-01 -2.23213E-01 2.71358E-01 7.32027E-02 -3.78883E-02 -6.63698E-02 -1.44662E-01 -1.89359E-01 -1.20232E-01 -6.45260E-02 1.60848E-01 -9.92262E-03 1.71854E-01 4.25323E-02 4.64964E-02 -1.54608E-01 -2.48595E-01 1.09371E-01 1.56942E-01 5.57651E-02 -1.95133E-01 -8.14017E-02 3.47272E-02 1.34710E-01 6.46878E-01 3.26993E-02 -2.12590E-01 6.76618E-02 2.24867E-01 -4.72023E-01 1.62377E-01 5.36525E-02 -2.61908E-02 -1.86096E-01 2.07645E-01 -1.22280E-01 -1.38433E-01 -FloatFrame 39 9.20987E-01 1.49965E00 -5.78732E-01 -2.05456E-01 2.54681E-01 3.26495E-02 -8.72749E-02 3.89477E-02 -1.65258E-01 -2.01380E-01 -1.39000E-01 -4.23154E-02 1.52431E-01 2.31184E-01 1.99111E-01 -8.60353E-02 9.01163E-02 -1.14740E-01 -4.29169E-01 1.69401E-01 2.47119E-01 -1.50001E-02 -2.83097E-01 6.63794E-02 -4.21095E-02 1.17240E-01 3.69594E-01 -2.31134E-02 -7.50674E-02 2.90821E-02 7.68576E-02 -3.16023E-01 1.27755E-01 7.28708E-02 -1.94352E-01 8.99009E-02 1.62939E-01 -1.31250E-01 -5.20497E-02 -FloatFrame 39 9.67191E-01 1.57175E00 -6.03717E-01 -1.67461E-01 2.79326E-01 -1.57056E-01 -3.68923E-03 4.44024E-02 -1.44957E-01 -2.55140E-01 -1.15718E-01 -1.01606E-01 1.79814E-01 3.59672E-01 1.48741E-01 -3.25352E-02 7.55785E-02 -7.77508E-02 -5.64618E-01 2.37126E-01 2.29812E-01 -1.38587E-01 -1.05232E-01 8.15370E-02 -9.65231E-02 8.26603E-02 3.59107E-01 -2.81269E-01 1.93742E-01 8.33422E-03 -5.10582E-02 -2.14277E-01 3.19345E-01 -2.45874E-01 -3.54101E-02 1.54871E-01 5.61079E-02 -8.67716E-02 -7.57406E-02 -FloatFrame 39 1.19983E00 1.53035E00 -6.23103E-01 -1.65888E-01 2.51574E-01 -3.41220E-01 7.30630E-02 1.43704E-01 -1.79549E-01 -3.56887E-01 -2.71417E-02 -1.65999E-01 2.33257E-01 5.90292E-01 -8.21578E-02 1.07707E-01 9.84505E-02 -1.65798E-01 -6.43446E-01 4.88746E-01 1.24464E-03 -5.04102E-02 -1.28226E-01 1.22487E-01 -1.28881E-01 4.14999E-02 1.77547E-01 -3.50053E-01 2.72486E-01 3.41947E-02 -3.51083E-01 2.39635E-01 1.98950E-01 -2.85859E-01 9.36966E-02 1.22388E-02 3.03001E-02 2.45794E-02 -1.23041E-01 -FloatFrame 39 1.35391E00 1.48873E00 -5.51353E-01 -1.47634E-01 1.93608E-01 -4.91416E-01 1.99237E-01 1.63443E-01 -2.83249E-01 -2.94591E-01 -3.86946E-02 -1.61049E-01 2.43508E-01 5.37219E-01 -2.01313E-01 2.39951E-01 1.09773E-01 -4.28834E-01 -3.24983E-01 4.36076E-01 -5.60466E-02 -4.48899E-02 -9.29934E-02 1.11837E-01 -7.19438E-02 -4.03804E-02 -1.67715E-01 -3.06428E-01 3.55265E-01 3.94658E-02 -3.54335E-01 5.91314E-01 -1.83187E-01 -1.24413E-01 5.86800E-02 1.35321E-01 -1.00607E-01 1.06365E-01 -1.60599E-01 -FloatFrame 39 1.51128E00 1.41749E00 -4.71025E-01 -1.07006E-01 8.88831E-02 -6.10796E-01 4.01471E-01 4.01924E-02 -2.15668E-01 -3.29606E-01 -1.65123E-02 -1.71197E-01 1.93931E-01 4.22577E-01 -3.88585E-01 4.62972E-01 1.37916E-01 -5.20134E-01 -5.21314E-02 3.05559E-01 -1.23168E-01 8.26977E-03 7.09551E-03 2.18798E-02 -2.25161E-02 -1.19099E-01 -5.82564E-01 -8.24937E-02 1.61839E-01 1.08622E-01 -1.03270E-01 4.72062E-01 -2.34479E-01 -1.86719E-01 2.48025E-01 1.17381E-01 -1.66311E-01 6.35297E-02 -1.19030E-01 -FloatFrame 39 1.50441E00 1.37044E00 -3.63766E-01 -5.76883E-02 -1.49508E-01 -4.82039E-01 4.32387E-01 -1.16442E-02 -1.89847E-01 -3.48133E-01 -3.88047E-03 -1.73550E-01 1.39433E-01 -4.53453E-02 -2.83806E-01 4.01789E-01 2.18395E-01 -5.32104E-01 1.47079E-01 2.01597E-01 -2.42765E-01 2.03135E-01 2.43880E-02 -5.44735E-02 -8.41410E-03 -1.59410E-01 -7.70187E-01 3.60089E-02 -2.19950E-02 9.73983E-02 1.72146E-03 4.50304E-01 -3.70425E-01 8.90097E-02 4.77314E-02 1.03230E-01 -8.74918E-02 3.26730E-02 -3.12648E-02 -FloatFrame 39 1.62240E00 1.14176E00 -1.60131E-01 -2.79717E-02 -2.68559E-01 -3.93351E-01 3.78622E-01 2.05353E-02 -1.71280E-01 -3.49791E-01 -5.26186E-03 -1.88515E-01 1.14158E-01 -3.47610E-01 -3.52576E-01 4.40977E-01 2.35315E-01 -5.18412E-01 3.98172E-01 -6.48660E-02 -3.41587E-02 5.60012E-02 1.10325E-01 -6.56120E-02 1.01570E-02 -1.50364E-01 -6.71012E-01 -3.14309E-02 -3.66205E-02 1.63021E-02 2.66478E-01 1.62037E-01 -3.17993E-01 3.22800E-01 -1.92877E-01 1.51589E-01 -7.97013E-02 3.24498E-02 5.12504E-02 -FloatFrame 39 1.30856E00 1.20492E00 -1.49563E-01 7.07604E-02 -3.38497E-01 -3.44337E-01 4.00834E-01 -7.93227E-02 -8.01137E-02 -2.70203E-01 -9.31681E-02 -1.69463E-01 8.40979E-02 -7.16358E-01 -3.15237E-01 3.65169E-01 2.34697E-01 -2.65627E-01 3.09116E-01 -1.16395E-01 8.00346E-02 1.02577E-02 1.75978E-01 -1.34175E-01 2.40357E-02 -1.08160E-01 -7.35653E-01 1.78594E-01 -2.47042E-01 1.91307E-02 4.13286E-01 -1.69605E-01 4.76855E-02 5.84916E-02 1.30168E-02 -2.65395E-02 -1.15529E-01 1.71985E-01 3.74173E-03 -FloatFrame 39 1.16367E00 1.06492E00 -3.00476E-02 1.28309E-01 -4.29529E-01 -2.12624E-01 3.36605E-01 6.03373E-03 -1.59667E-01 -2.19281E-01 -8.21243E-02 -1.61040E-01 4.35669E-02 -1.08326E00 -1.73982E-01 1.93935E-01 2.54445E-01 -1.05126E-01 2.28567E-01 -1.71805E-02 2.43329E-02 6.90180E-02 8.37859E-02 -1.81141E-01 1.82142E-01 -1.46622E-01 -3.69580E-04 -6.86965E-02 -2.25305E-01 -1.40901E-01 3.25216E-01 2.29232E-02 1.07262E-01 -5.44801E-02 -9.28811E-02 -2.53216E-01 2.34768E-01 1.62491E-01 -5.65168E-02 -FloatFrame 39 7.88052E-01 1.05520E00 1.40313E-03 1.77008E-01 -4.15135E-01 -1.72923E-01 3.15991E-01 6.83904E-02 -1.79589E-01 -1.72156E-01 -1.38055E-01 -1.49514E-01 3.12735E-02 -7.16727E-01 -3.83934E-01 1.39864E-01 9.37956E-02 5.95888E-02 3.32039E-01 -9.13359E-03 2.55545E-02 -8.26234E-02 -7.72383E-02 1.00593E-01 1.86527E-01 -1.64677E-01 4.76288E-01 -1.99553E-01 -1.73743E-01 -2.58553E-01 4.67647E-01 8.52122E-02 -1.69053E-01 -7.25969E-02 -1.59195E-01 -6.22479E-02 4.26658E-01 -1.99797E-02 -1.35788E-01 -FloatFrame 39 5.39140E-01 9.67778E-01 3.38047E-02 2.26474E-01 -3.73685E-01 -1.64784E-01 3.61442E-01 4.48682E-02 -1.02262E-01 -2.66005E-01 -1.86403E-01 -6.37347E-03 -3.24644E-02 -6.06974E-01 -3.73535E-01 2.01924E-02 -4.10742E-03 3.62520E-01 3.13779E-01 -1.86233E-01 -4.82640E-02 -9.01767E-02 2.15380E-02 2.45517E-01 1.62162E-01 -2.82410E-01 3.39276E-01 -8.47197E-02 -1.40885E-01 -1.20733E-01 3.70767E-01 1.65858E-01 -3.45057E-01 -1.69222E-01 2.19554E-02 2.04143E-01 1.91848E-01 -7.20323E-02 -2.15274E-01 -FloatFrame 39 5.91834E-01 8.20990E-01 -9.69947E-03 1.64556E-01 -2.78908E-01 -1.22976E-02 3.91701E-01 -5.37682E-02 -1.62737E-01 -3.47441E-01 7.42530E-03 1.70635E-02 -8.05787E-02 -3.77451E-01 -4.68653E-01 -1.02145E-03 -2.69379E-02 4.30356E-01 4.97897E-01 -3.54190E-01 -1.43668E-01 -6.06679E-02 1.26904E-01 2.92442E-01 1.14494E-01 -3.79951E-01 7.91809E-01 -6.46491E-01 1.72096E-01 5.91297E-02 3.50850E-02 3.94120E-01 -4.17831E-01 -1.13694E-01 1.40507E-01 2.05703E-01 1.22702E-01 -3.49271E-01 -1.38673E-03 -FloatFrame 39 5.56694E-01 6.91381E-01 -9.85521E-03 1.24202E-01 -6.70087E-02 1.01156E-01 1.50372E-01 -4.22303E-02 -2.49844E-01 -1.97743E-01 1.63393E-01 1.12242E-03 -2.38843E-01 1.84835E-01 -1.02003E00 1.92289E-01 5.50223E-02 3.97605E-01 7.07899E-01 -6.04064E-01 -1.61959E-01 5.03308E-02 2.27241E-01 3.68219E-01 -1.87109E-01 -2.83797E-01 6.03145E-01 -1.55291E00 8.19637E-01 1.27546E-01 -2.57590E-01 2.64672E-01 -3.35926E-01 1.29577E-01 1.74637E-01 1.62075E-01 -2.59415E-01 -2.72792E-01 1.87945E-01 -FloatFrame 39 4.10601E-01 5.86548E-01 3.81673E-04 1.50071E-01 1.52211E-02 3.24975E-01 -3.81992E-02 -7.52776E-02 -2.40257E-01 -4.52512E-02 1.54387E-01 -3.50195E-02 -3.48677E-01 2.25694E-01 -2.02157E00 8.18615E-01 1.00608E-01 1.72765E-01 7.62569E-01 -6.90116E-01 -1.40910E-02 1.13969E-01 2.88980E-01 3.30271E-02 -1.58297E-01 -1.92005E-01 -7.20106E-01 -1.71764E00 8.75655E-01 -5.49390E-02 -2.84606E-01 -1.12568E-01 4.05104E-01 2.48990E-01 1.40068E-01 -9.72741E-02 -6.42704E-01 1.78876E-01 3.53302E-01 -FloatFrame 39 7.23974E-01 -5.22476E-02 2.26093E-01 2.81496E-01 2.39201E-02 5.43115E-01 -2.42622E-01 -1.17090E-01 -5.19309E-02 -3.87648E-02 1.81816E-01 -1.93482E-01 -3.16261E-01 -5.35272E-01 -2.73766E00 1.06794E00 8.32813E-05 1.13000E-01 5.95331E-01 -1.98960E-01 8.70317E-02 1.90399E-01 1.29966E-01 -2.74485E-01 -8.23335E-03 6.95053E-02 -1.97041E-01 -9.17394E-01 -1.66459E-01 -5.09242E-01 -9.98506E-02 -6.79651E-01 6.30601E-01 1.90402E-01 2.25364E-01 -1.68709E-01 -1.72581E-01 3.06326E-01 5.79846E-01 -FloatFrame 39 8.17528E-01 -1.20058E00 8.08916E-01 2.65164E-01 -1.06143E-01 7.50272E-01 -2.98416E-01 -6.78592E-02 -4.87683E-02 -5.84617E-02 4.04524E-02 -1.41234E-01 -2.72584E-01 2.86523E-02 -2.93896E00 6.52156E-01 -4.08634E-01 7.29147E-02 8.29186E-02 -5.95152E-02 1.76311E-01 3.39333E-01 1.20270E-01 -1.39554E-01 1.48029E-01 3.87840E-01 1.20416E-01 1.78301E-01 -4.70545E-01 -5.22316E-01 1.79690E-02 -7.73459E-01 3.32770E-01 1.86073E-01 -1.20928E-01 -3.30987E-02 4.83497E-02 2.73960E-01 2.23596E-01 -FloatFrame 39 2.14220E-02 -2.04628E00 1.05809E00 1.24285E-01 4.59909E-02 6.96487E-01 -4.85875E-02 4.48015E-02 -5.94451E-02 -6.77763E-02 -1.11092E-01 -7.11093E-03 -1.69338E-01 -4.14856E-01 -2.55936E00 5.97399E-01 -5.22233E-01 1.30969E-01 -1.78128E-01 1.33810E-01 2.73104E-01 6.94705E-02 9.68678E-02 -2.26135E-01 2.65727E-01 2.93101E-01 -2.77694E-01 1.40259E00 -7.96580E-01 -2.23169E-01 3.33911E-01 -4.09782E-01 2.32262E-01 5.45950E-02 -1.56482E-01 -7.14893E-02 2.88636E-02 1.43771E-01 -1.81418E-01 -FloatFrame 39 4.39253E-01 -2.35241E00 6.52538E-01 -2.58564E-01 8.81358E-02 4.07893E-01 -9.77144E-02 1.01033E-01 9.90759E-02 7.50192E-02 1.48327E-02 1.13009E-01 3.91632E-02 -2.49042E-01 -1.53637E00 -1.44424E-01 -6.31803E-01 4.06826E-01 -3.26863E-01 1.72747E-01 2.30906E-01 1.82851E-01 4.87811E-02 -1.10690E-01 2.91800E-01 2.06422E-01 9.18182E-01 1.81056E00 -1.06712E00 -1.37255E-01 -8.85139E-02 -3.48187E-01 -1.84870E-01 -1.00978E-01 1.34678E-01 3.87001E-02 2.55380E-01 -1.20696E-01 -2.17925E-02 -FloatFrame 39 3.09118E-01 -2.61161E00 8.23493E-01 -2.40737E-01 1.54889E-01 3.64987E-01 -1.08812E-01 1.56014E-01 1.75396E-02 5.81030E-02 -4.43185E-02 7.22442E-02 -2.31598E-02 5.03326E-01 -7.48806E-01 -4.69719E-01 -6.59487E-01 4.24547E-02 -5.26315E-01 -5.10600E-02 1.72127E-01 2.04148E-01 1.35568E-01 2.92451E-02 1.45030E-01 2.71309E-01 2.62345E-01 1.24014E00 6.38080E-02 4.70751E-01 -3.12009E-01 5.21767E-02 -5.91809E-02 -1.67069E-01 -1.34922E-01 -4.44122E-02 1.94008E-01 -3.88902E-01 -1.65095E-01 -FloatFrame 39 5.68486E-01 -2.73695E00 6.64492E-01 -3.66639E-01 3.00683E-01 4.23408E-01 -1.25669E-01 1.63047E-01 1.34083E-01 -9.68063E-03 -7.02380E-02 1.50566E-01 -6.61617E-02 1.33034E-02 -2.96236E-01 -8.06163E-02 -1.61052E-01 9.48171E-02 -2.74687E-01 1.13566E-01 6.38374E-02 4.79298E-02 4.36888E-03 8.33178E-02 -9.71020E-02 4.13274E-02 -4.08939E-01 8.20951E-01 1.92951E-01 5.94454E-01 1.70665E-01 4.89578E-01 1.21479E-01 -2.16871E-01 -1.29371E-01 -1.36876E-01 1.09159E-01 -1.39463E-01 -1.80847E-01 -FloatFrame 39 5.24748E-01 -2.79509E00 5.88369E-01 -5.35202E-01 8.84456E-02 1.70172E-01 -9.96475E-02 2.16928E-01 1.44703E-01 6.77917E-02 -8.18466E-02 1.37920E-01 1.01971E-01 9.43868E-02 7.21449E-02 -2.76768E-01 -6.50331E-02 2.13120E-01 -3.67372E-02 7.04188E-02 -4.47447E-02 7.47768E-02 -1.30812E-03 1.38404E-01 5.56795E-03 9.04620E-02 -3.70457E-01 2.85439E-01 -1.07163E-01 1.75597E-01 -6.32331E-02 3.36432E-02 9.91225E-02 9.63387E-02 9.04779E-02 1.03295E-01 1.12181E-01 -8.44175E-04 -3.91530E-03 -FloatFrame 39 4.52557E-01 -2.64865E00 5.71921E-01 -4.19616E-01 1.82953E-01 1.33206E-01 1.58512E-02 1.64871E-01 1.47006E-01 7.93880E-02 9.81504E-02 1.59075E-02 8.04905E-02 -3.57154E-01 -1.07970E-02 -1.87780E-01 1.45449E-02 3.15840E-02 -2.41044E-01 2.12688E-01 1.60176E-01 1.38408E-01 1.07663E-01 1.95499E-01 -9.79462E-02 3.74121E-02 -3.73508E-01 2.33212E-01 6.38803E-02 2.85217E-01 2.80242E-02 -5.22702E-03 1.76443E-02 -5.56058E-02 -4.22113E-02 2.33138E-02 7.23968E-02 -1.44387E-01 -1.91654E-01 -FloatFrame 39 4.03505E-01 -2.53947E00 5.46725E-01 -3.05770E-01 3.68008E-01 3.28250E-01 -3.83930E-02 1.11269E-01 9.23164E-02 5.67948E-02 9.40851E-02 7.78121E-02 6.73022E-02 -2.79121E-01 3.05357E-01 -2.12887E-01 2.20184E-01 2.41144E-01 -4.19642E-02 8.80631E-02 -1.00350E-01 3.25655E-02 2.20057E-02 2.10800E-01 -1.38819E-01 -1.01192E-01 8.95146E-01 6.20474E-01 1.35259E-01 1.81878E-01 -1.17646E-01 3.44979E-02 -4.43777E-01 -2.58634E-01 -6.28335E-02 -4.48338E-02 -2.04651E-01 -2.26326E-02 -1.63632E-01 -FloatFrame 39 2.11332E-01 -2.74775E00 4.76712E-01 -3.52095E-01 3.32267E-01 1.82365E-01 8.70191E-02 3.23223E-01 2.72491E-01 9.79828E-02 1.25261E-01 5.26201E-02 -2.87496E-02 5.37993E-01 6.09676E-01 -5.25207E-02 1.96423E-01 -8.60615E-02 -2.06546E-01 -2.31089E-01 -9.84578E-02 7.55742E-02 6.28296E-02 -9.15161E-03 -1.20579E-01 -1.26220E-01 5.02659E-01 5.04594E-01 5.44127E-02 2.77743E-02 -5.15895E-01 -2.47144E-01 -2.58234E-01 2.00726E-01 1.13920E-01 3.92007E-02 -2.33092E-01 1.02587E-01 6.83081E-02 -FloatFrame 39 2.45627E-01 -2.48973E00 3.75482E-01 -3.15019E-01 3.29589E-01 1.28207E-01 -1.15844E-02 1.16578E-01 1.77268E-01 8.97974E-02 1.28954E-01 -8.99889E-04 7.78886E-04 2.23537E-01 8.09951E-01 -1.58475E-01 2.47958E-01 -2.74751E-01 -2.89108E-01 -1.70171E-01 1.00376E-01 1.46486E-01 6.12064E-02 -2.22920E-02 -3.62325E-02 -3.28840E-02 8.52597E-01 1.45173E00 6.30533E-02 3.20292E-01 -5.69932E-02 3.45618E-01 -2.91354E-01 -3.10786E-01 -4.01075E-01 -1.39428E-01 -1.85993E-01 -1.07595E-01 2.39083E-01 -FloatFrame 39 9.90549E-01 -2.03897E00 5.19401E-01 -2.23193E-01 9.68914E-02 -7.33393E-02 -2.15237E-01 6.64132E-02 2.22580E-01 1.42218E-01 8.89988E-02 -1.04671E-01 -4.57293E-02 1.39059E00 2.06141E00 1.05326E-02 5.16715E-01 -1.43055E-01 1.39072E-01 -5.22442E-01 -4.09244E-01 -3.25501E-01 -7.65985E-02 -1.95145E-01 -2.28174E-01 1.12863E-01 1.20338E00 1.62863E00 1.13451E-01 4.40672E-01 -2.91198E-03 3.17841E-01 -2.40182E-01 -4.46605E-01 -3.48015E-01 -6.93446E-03 -1.71283E-01 -2.99394E-01 5.47862E-02 -FloatFrame 39 6.27043E-01 -1.72951E00 3.88250E-01 -5.78115E-02 9.32569E-02 3.91414E-02 -2.08564E-01 2.11645E-01 2.38802E-01 1.18001E-01 7.17931E-02 4.15797E-02 3.44181E-02 1.42691E00 2.43858E00 -4.50239E-02 6.88630E-01 -2.77663E-01 2.87333E-02 -4.10353E-01 -3.46229E-01 -2.01529E-01 5.42720E-02 -1.93575E-01 -3.35626E-01 2.19021E-02 -2.02320E-01 2.27533E-01 -6.30813E-01 2.32087E-01 2.60327E-01 -3.76250E-01 5.48975E-01 7.70442E-02 2.28505E-02 7.53239E-02 -2.08282E-02 2.26515E-01 -1.70008E-01 -FloatFrame 39 1.60192E00 -6.86339E-01 4.87245E-01 1.64621E-01 1.89212E-01 3.21437E-01 -4.35423E-01 -8.60209E-02 -5.30098E-02 2.13843E-02 -6.98834E-02 -1.75554E-01 8.41133E-02 1.18827E00 2.28894E00 -6.20281E-01 7.48802E-01 1.17273E-01 -2.37178E-01 2.65326E-02 -3.32200E-01 -3.02650E-01 -1.27460E-03 -2.15973E-01 -1.65866E-03 -5.71455E-02 4.16364E-01 -4.41779E-01 -6.03265E-01 -3.88027E-02 5.33323E-01 -5.42566E-01 3.94613E-01 -1.64512E-01 -6.72271E-02 1.12780E-02 4.76244E-03 1.30798E-01 -1.08096E-01 -FloatFrame 39 1.67254E00 -5.11539E-02 3.30458E-01 3.73612E-01 5.19260E-02 1.56941E-01 -4.21937E-01 -2.29651E-01 -2.42609E-02 1.44069E-01 -6.46213E-02 -3.36526E-01 2.26810E-02 1.84328E00 1.99680E00 -6.48289E-01 6.49828E-01 2.55659E-01 -5.13832E-01 -1.57399E-02 -5.10741E-01 -2.68756E-01 6.55500E-02 -1.88813E-01 -2.04828E-01 -8.61935E-02 -6.23282E-01 -1.06202E00 -2.23161E-01 -3.42955E-01 -6.94745E-02 -5.23505E-01 2.82421E-01 9.42573E-02 3.04778E-01 1.57709E-01 2.11392E-01 -3.30297E-02 -6.63868E-02 -FloatFrame 39 2.17882E00 2.49969E-01 -1.00880E-01 5.25610E-01 2.14164E-01 -3.10517E-01 -1.88705E-01 -2.65786E-01 -8.00703E-02 1.40943E-01 -1.26974E-01 -1.06330E-01 -1.02875E-01 5.64986E-01 1.22693E00 -8.43441E-01 4.05847E-01 4.77982E-02 -7.60683E-01 3.08954E-01 -2.37942E-01 2.12758E-03 1.56435E-01 -4.58092E-03 -3.46883E-02 -1.23532E-01 -1.57877E00 -1.21804E00 -1.02611E-01 -5.93184E-01 1.54034E-02 -6.43709E-02 3.63622E-01 3.62593E-01 2.73984E-01 4.28548E-02 3.32471E-02 3.61493E-01 7.39406E-02 -FloatFrame 39 2.47032E00 2.67285E-01 -2.60039E-01 5.92016E-01 3.48916E-01 -4.74691E-01 -2.24304E-01 -2.99096E-01 -2.99542E-02 1.83551E-01 -1.17020E-01 -1.63249E-01 -5.17753E-02 2.64511E-01 7.78758E-01 -7.50899E-01 5.66437E-02 2.71063E-01 -5.78203E-01 3.47882E-01 -1.48148E-01 5.22747E-03 1.08405E-01 -1.55566E-01 1.56664E-01 -1.22529E-02 -1.12744E00 -5.16157E-01 4.83162E-01 -7.42977E-01 1.69500E-01 8.15657E-01 -3.10967E-01 2.55460E-01 -3.24646E-02 -9.49535E-02 -4.02440E-02 3.22126E-02 1.92405E-01 -FloatFrame 39 2.16691E00 5.40586E-01 -3.56197E-01 5.70468E-01 2.37011E-01 -4.39246E-01 -1.26469E-01 -3.23963E-01 -5.08822E-02 1.77819E-01 -7.44643E-02 -2.10242E-01 -3.94190E-02 -5.62455E-01 7.10768E-01 -3.60279E-01 -3.37130E-01 2.17298E-01 5.49742E-02 -2.01323E-03 1.75177E-02 -3.03371E-02 6.14813E-02 -4.48249E-02 -2.47577E-03 6.88728E-02 -1.32708E00 1.45977E-01 4.39863E-01 -6.61367E-01 -1.14454E-01 9.76489E-01 -4.22002E-01 1.55545E-01 -5.08586E-02 -1.08152E-01 1.59828E-01 -1.01414E-01 1.51515E-02 -FloatFrame 39 1.93705E00 7.27604E-01 -4.20441E-01 4.30256E-01 3.22989E-01 -4.21263E-01 -7.40551E-02 -3.77799E-01 -1.90334E-02 2.52474E-01 -2.20187E-01 -1.79862E-01 1.04281E-02 -1.06257E00 9.24735E-01 -3.11036E-01 -6.04723E-01 1.56609E-01 3.98286E-01 -7.41203E-02 7.39670E-03 -4.56311E-02 2.52749E-04 4.26275E-03 5.52505E-02 2.89860E-03 -2.91463E-01 2.17472E-02 1.39865E-01 -4.52660E-01 1.20903E-01 3.50392E-01 -1.57262E-01 8.07525E-02 -1.20820E-01 -3.34520E-02 8.43347E-02 1.47141E-01 -2.05270E-01 -FloatFrame 39 1.61636E00 9.60737E-01 -4.61159E-01 1.88479E-01 4.31462E-01 -2.55543E-01 -1.90718E-01 -2.48269E-01 -1.10407E-01 2.02424E-01 -1.71799E-01 -1.08806E-01 -3.40020E-02 -8.53918E-01 7.32515E-01 -2.20415E-01 -7.89790E-01 3.38201E-01 4.05366E-01 -1.59275E-01 9.82702E-02 -1.51157E-01 2.80293E-02 3.95099E-02 1.44665E-01 -1.36397E-01 3.85650E-01 -2.62310E-01 4.52346E-02 -1.73735E-01 1.89531E-01 1.20467E-02 -1.85799E-01 2.06050E-01 -1.35680E-01 -1.49455E-01 3.18811E-01 -2.40530E-03 -1.59650E-01 -FloatFrame 39 1.40775E00 1.19202E00 -5.71075E-01 -1.27069E-02 5.05525E-01 -7.64051E-02 -2.98424E-01 -2.91699E-01 -7.55853E-02 1.83804E-01 -1.12757E-01 -1.07998E-01 -4.88767E-02 -6.76920E-01 6.62425E-01 -2.65801E-01 -7.78458E-01 3.46140E-01 4.10333E-01 -2.59920E-01 2.13446E-01 -1.81311E-01 -1.49202E-01 3.23074E-01 5.28452E-02 -1.56751E-01 5.15389E-01 -2.65584E-01 -5.89247E-02 2.64903E-01 -1.91133E-01 -7.98510E-02 3.35623E-02 -2.65001E-02 5.83106E-02 -1.52422E-01 2.43716E-01 -1.51146E-01 1.21717E-01 -FloatFrame 39 1.31299E00 1.27310E00 -5.76612E-01 -2.19322E-01 5.75212E-01 -3.38796E-02 -2.85745E-01 -2.25693E-01 -2.02039E-01 2.05848E-01 -3.49544E-02 -6.55771E-02 -1.75816E-01 -3.38529E-01 4.66931E-01 -2.79339E-01 -5.24887E-01 1.47068E-01 3.25515E-01 -1.25713E-01 7.17701E-02 -9.28466E-02 -1.24393E-01 2.83226E-01 -6.48097E-03 -1.46799E-02 6.46854E-01 -3.80964E-01 3.01514E-02 4.73693E-01 -3.01005E-01 -3.15534E-01 2.77663E-01 -4.89385E-02 6.44813E-02 -4.11471E-02 -1.11319E-01 2.51014E-02 1.43858E-01 -FloatFrame 39 1.26013E00 1.39003E00 -6.86243E-01 -3.48203E-01 6.69129E-01 -1.09301E-02 -3.33975E-01 -1.64353E-01 -2.00344E-01 1.03272E-01 1.02887E-01 -1.27017E-01 -1.46323E-01 -3.00656E-02 2.81461E-01 -2.35650E-01 -3.04765E-01 4.51350E-02 9.47988E-02 1.77438E-02 1.64508E-01 -1.16830E-01 -1.90349E-01 2.11755E-01 7.79466E-02 -1.28927E-02 4.46457E-01 -2.58916E-01 1.06303E-01 3.84327E-01 -1.90257E-01 -3.83949E-01 1.46870E-01 1.64147E-01 7.45843E-02 -1.71571E-01 -1.45325E-01 6.63612E-02 2.29383E-01 -FloatFrame 39 1.27783E00 1.42767E00 -7.40499E-01 -3.36408E-01 5.78530E-01 6.99722E-02 -3.16431E-01 -1.76499E-01 -2.03254E-01 7.80316E-02 1.11427E-01 -1.15287E-01 -4.86819E-02 1.07928E-01 2.08015E-01 -1.73037E-01 -1.40560E-01 -4.31895E-02 -5.84335E-02 2.11567E-02 2.35917E-01 -1.82623E-02 -2.95964E-01 1.37900E-01 5.98802E-02 2.14703E-01 8.43534E-02 -1.21022E-01 2.28264E-01 3.05125E-01 -3.42511E-01 -1.60612E-01 1.17225E-01 1.08330E-02 1.04969E-01 -3.85009E-02 -2.31576E-01 9.26355E-02 2.17648E-01 -FloatFrame 39 1.37768E00 1.47348E00 -8.06725E-01 -3.17472E-01 5.50660E-01 1.83937E-02 -2.80680E-01 -1.27192E-01 -1.92415E-01 -6.54545E-03 9.89983E-02 -3.00518E-02 -6.17694E-02 5.42878E-02 1.60439E-01 -7.38615E-03 3.60569E-04 -2.97376E-01 -6.58135E-02 1.34969E-01 1.75341E-01 -1.18601E-02 -2.28850E-01 -1.98211E-02 1.70582E-01 2.04756E-01 -8.30462E-02 -6.56168E-02 2.01024E-01 2.06386E-01 -2.65919E-01 -1.63522E-01 1.28801E-01 9.65451E-02 -7.96890E-02 8.87146E-02 -1.88985E-01 1.16713E-01 -2.12907E-02 -FloatFrame 39 1.42092E00 1.48112E00 -7.49648E-01 -3.59883E-01 5.32022E-01 -9.23131E-02 -2.64588E-01 1.02244E-02 -2.20302E-01 -9.01153E-02 1.02946E-01 -5.69681E-03 3.88873E-02 2.48814E-02 1.42398E-01 2.79879E-02 6.58253E-02 -3.09109E-01 -2.21955E-01 1.49958E-01 3.32463E-01 -9.79512E-02 -2.07249E-01 -5.10849E-02 1.76593E-01 1.93412E-01 -8.57973E-02 -9.81861E-02 1.23213E-01 1.11954E-01 -1.01186E-01 -1.91000E-01 1.40535E-01 7.43713E-02 -4.42692E-02 3.23490E-02 -4.00135E-02 -1.81054E-02 -1.93660E-02 -FloatFrame 39 1.31442E00 1.55047E00 -6.93629E-01 -3.47842E-01 3.71753E-01 -7.67436E-02 -1.99006E-01 1.09879E-02 -2.12204E-01 -1.25578E-01 8.30659E-02 4.35652E-02 5.84328E-02 -3.15095E-02 6.22531E-02 1.15827E-01 1.12315E-01 -3.98562E-01 -2.56813E-01 2.75504E-01 2.49712E-01 -5.61293E-02 -1.96501E-01 -5.98346E-02 1.52477E-01 1.85390E-01 -7.14853E-02 -1.31730E-01 1.00719E-01 1.59797E-01 -2.36553E-01 4.76344E-02 2.22723E-01 -2.16976E-01 4.40974E-02 8.22450E-02 -5.88323E-03 -1.28680E-01 -2.65014E-02 -FloatFrame 39 1.30271E00 1.57007E00 -7.12511E-01 -2.70583E-01 2.69421E-01 -1.51983E-01 -1.66473E-01 1.55964E-01 -3.01205E-01 -1.29218E-01 6.03419E-02 6.13062E-02 1.44731E-01 -4.66039E-02 1.06680E-02 1.28707E-01 2.25623E-01 -5.45662E-01 -1.74321E-01 3.72681E-01 1.15487E-01 -5.38539E-02 -1.25004E-01 -5.69681E-02 4.79130E-02 1.66911E-01 1.26085E-01 -1.82908E-01 -1.39491E-02 1.96809E-01 -1.05142E-01 2.56609E-02 9.00715E-02 -1.22330E-01 -2.36930E-03 1.31349E-01 -4.62670E-02 -1.30178E-01 -6.68918E-02 -FloatFrame 39 1.34618E00 1.53573E00 -6.90897E-01 -2.05157E-01 1.52098E-01 -2.38420E-01 -5.17636E-03 1.22521E-01 -2.48544E-01 -2.03047E-01 3.91637E-02 1.22425E-01 1.23620E-01 9.45760E-02 -1.20655E-01 1.01878E-01 3.09124E-01 -5.03705E-01 -2.31152E-01 3.65575E-01 1.27382E-01 -5.84986E-02 -6.51528E-02 -1.06102E-01 2.22990E-02 1.18498E-01 3.51421E-01 -3.59735E-01 1.19491E-01 3.99264E-02 3.43150E-02 5.56022E-02 -2.16582E-02 -1.68127E-01 1.77604E-01 -8.88184E-03 1.39513E-02 -9.05736E-02 -2.12564E-01 -FloatFrame 39 1.37431E00 1.49178E00 -6.20942E-01 -1.34260E-01 -1.36400E-02 -2.66634E-01 1.08093E-01 1.25711E-01 -2.74155E-01 -2.15119E-01 4.59775E-02 4.22162E-02 2.05798E-01 3.04817E-01 -3.49067E-01 2.48198E-01 2.65549E-01 -5.11347E-01 -1.18719E-01 3.51022E-01 -5.26404E-02 1.23750E-01 -1.33886E-01 -4.30168E-02 -4.26606E-02 -4.56527E-02 1.82452E-01 -2.70035E-01 2.11936E-01 -1.00362E-01 5.98915E-02 2.01520E-01 -1.67320E-01 -8.35709E-02 8.91890E-02 4.76722E-02 2.54843E-02 -1.55131E-01 -1.43946E-01 -FloatFrame 39 1.40899E00 1.42981E00 -5.91751E-01 -3.87181E-02 -1.31952E-01 -3.07896E-01 1.66570E-01 1.38370E-01 -2.70703E-01 -1.90731E-01 -2.30357E-02 6.58641E-02 1.76931E-01 2.77028E-01 -3.90690E-01 3.13814E-01 2.08762E-01 -4.43813E-01 -2.96320E-02 1.98256E-01 4.38109E-02 3.06904E-02 -1.74805E-02 -8.06173E-02 -1.32832E-01 -2.54485E-02 -1.03856E-01 -5.33721E-02 5.72966E-02 -4.58673E-02 9.59715E-02 2.03052E-01 -2.52533E-01 9.14555E-02 -2.95079E-02 8.38336E-02 -4.23992E-02 -3.28168E-02 -1.07773E-01 -FloatFrame 39 1.60753E00 1.22100E00 -4.64313E-01 -5.03376E-03 -2.41926E-01 -2.70701E-01 1.84549E-01 1.03323E-01 -1.77455E-01 -2.63104E-01 1.73250E-02 1.86456E-02 9.90778E-02 2.00960E-01 -4.02439E-01 3.05494E-01 2.19682E-01 -4.15376E-01 8.43337E-02 9.84895E-02 3.88150E-02 9.42421E-02 -5.00524E-02 -8.54160E-02 -7.54774E-02 -1.53426E-01 -4.19748E-01 1.67556E-01 -3.51383E-02 -6.86111E-02 1.69044E-01 1.57463E-01 -1.19510E-01 -2.87503E-02 1.44530E-02 5.65356E-03 1.02550E-02 5.26041E-02 -1.86846E-01 -FloatFrame 39 1.62320E00 1.14504E00 -3.77083E-01 3.60484E-03 -2.91715E-01 -2.68052E-01 1.93079E-01 1.66331E-01 -2.17854E-01 -2.20527E-01 -4.14536E-02 -1.04076E-02 9.81717E-02 -1.42719E-01 -2.23134E-01 2.78676E-01 1.40151E-01 -2.74769E-01 1.27831E-01 7.87458E-02 1.50606E-02 4.51434E-02 -1.18270E-02 -7.03623E-02 -8.02283E-02 -2.12295E-01 -7.45789E-01 3.57684E-01 -1.06901E-01 -6.37807E-02 2.57467E-01 3.83750E-02 -2.24471E-02 -3.94055E-02 -1.26658E-01 1.47471E-01 -6.00683E-02 2.72200E-02 7.77422E-03 -FloatFrame 39 1.57527E00 1.08935E00 -3.15447E-01 8.54215E-02 -4.29016E-01 -1.82300E-01 2.06582E-01 1.64526E-01 -1.79913E-01 -2.65172E-01 -3.94385E-02 -3.32612E-02 5.23725E-02 -5.44828E-01 -4.47551E-02 1.98593E-01 1.55901E-01 -1.57909E-01 1.22709E-01 7.60424E-02 -5.90491E-04 -3.24160E-02 9.74188E-02 -1.45484E-01 -4.82574E-02 -1.45652E-01 -5.48718E-01 1.61489E-01 -9.71244E-02 7.30523E-02 1.16666E-01 6.99316E-02 5.97245E-03 -1.42354E-01 4.59806E-02 8.33694E-04 3.27278E-02 -6.62800E-03 1.06975E-01 -FloatFrame 39 1.26627E00 1.20668E00 -3.13075E-01 1.01432E-01 -4.06721E-01 -1.80065E-01 2.45315E-01 1.53430E-01 -2.25559E-01 -2.02558E-01 -9.33979E-02 -1.43642E-02 -3.53641E-02 -6.91437E-01 -6.16455E-02 1.81551E-01 2.13203E-01 -1.58103E-01 1.97762E-01 8.47183E-02 -1.27293E-01 9.11240E-02 -1.09933E-02 -3.76344E-02 -8.68563E-02 -1.05319E-01 -2.56276E-01 2.25533E-02 -6.01449E-02 -1.60514E-02 1.70559E-01 -4.91661E-03 5.24633E-02 -1.23997E-01 2.84373E-02 -5.05537E-02 7.47348E-02 1.42198E-02 6.56852E-02 -FloatFrame 39 1.06270E00 1.17624E00 -2.65720E-01 1.50867E-01 -3.99835E-01 -1.47993E-01 2.60592E-01 1.02733E-01 -2.09871E-01 -1.65685E-01 -1.28159E-01 -2.96118E-02 -4.65737E-02 -8.01104E-01 -2.22018E-02 1.38448E-01 1.39850E-01 1.26501E-02 1.17792E-01 1.28506E-01 -1.24588E-01 -3.97870E-03 4.68651E-02 -7.07495E-02 -3.40376E-02 -7.99664E-02 6.39240E-02 -2.98909E-02 -1.54488E-01 -1.26897E-02 1.97281E-01 -1.47405E-01 8.79111E-02 -2.91010E-02 -7.49307E-02 -3.63865E-02 8.03053E-02 4.18623E-02 1.05586E-01 -FloatFrame 39 9.31766E-01 1.08340E00 -1.95532E-01 2.16808E-01 -4.49818E-01 -7.02893E-02 2.77798E-01 3.90380E-02 -1.26730E-01 -2.31521E-01 -7.90880E-02 -9.72639E-02 -7.14740E-03 -6.27513E-01 -9.15363E-02 2.70629E-02 2.00513E-01 3.91783E-02 5.03572E-02 1.72629E-01 -1.56394E-01 1.61933E-02 -4.73797E-02 4.26709E-02 -4.49941E-02 2.66948E-04 5.06256E-01 -1.46184E-01 -2.08270E-01 -4.36243E-02 1.27964E-01 2.58509E-02 -5.99739E-02 -8.28525E-03 -7.50587E-02 -1.47193E-01 2.49102E-01 1.08186E-01 7.65394E-02 -FloatFrame 39 7.74169E-01 1.06714E00 -1.76999E-01 2.25271E-01 -4.16366E-01 -6.45079E-02 3.35088E-01 3.99387E-02 -1.83892E-01 -2.18307E-01 -1.10188E-01 -6.72988E-02 -2.75939E-02 -2.94848E-01 -1.68386E-01 -6.98219E-02 9.62253E-02 1.40614E-01 1.43643E-01 6.85318E-02 -1.32873E-01 -7.90374E-02 -1.00328E-01 1.78352E-01 7.41482E-02 -3.42697E-03 8.19004E-01 -2.43832E-01 -2.11560E-01 -1.48563E-01 2.44292E-01 1.35355E-01 -2.15447E-01 -4.44311E-02 -1.83258E-01 9.34830E-02 1.74835E-01 2.33038E-01 -1.70638E-01 -FloatFrame 39 6.38761E-01 1.11514E00 -2.86012E-01 3.01946E-01 -3.67542E-01 -1.29708E-01 4.17945E-01 -2.96418E-03 -2.09366E-01 -2.49938E-01 -5.07270E-02 -5.93583E-02 -3.50971E-02 1.91491E-01 -3.35369E-01 -1.84497E-01 5.19503E-02 2.83470E-01 1.85713E-01 -4.28174E-02 -2.00825E-01 -1.67064E-01 4.61033E-02 2.17506E-01 1.88044E-01 -1.70371E-01 7.44870E-01 -3.22549E-01 -1.70070E-01 1.35739E-02 2.24356E-01 1.16842E-01 -2.98262E-01 -2.07795E-01 8.39257E-02 1.89086E-01 1.52490E-01 -6.97110E-02 -1.98839E-01 -FloatFrame 39 7.67854E-01 1.00786E00 -3.35542E-01 2.47092E-01 -2.59221E-01 -4.34971E-03 3.29123E-01 -3.01399E-02 -2.88909E-01 -2.66013E-01 5.01928E-02 4.45364E-02 -5.00007E-02 4.50021E-01 -4.90935E-01 -2.39892E-01 1.09799E-01 3.64970E-01 2.60485E-01 -2.29730E-01 -3.40668E-01 4.88839E-03 8.87581E-02 3.30842E-01 4.43721E-03 -2.02266E-01 8.35827E-01 -1.24607E00 7.45279E-01 -2.47548E-01 8.06960E-02 4.16215E-01 -5.97630E-01 6.03336E-02 1.10036E-01 1.57955E-01 7.95101E-02 -4.13127E-01 5.63162E-03 -FloatFrame 39 1.12326E00 7.48030E-01 -3.80029E-01 2.68758E-01 -1.66347E-01 1.15423E-01 2.34980E-01 -1.61787E-01 -2.93794E-01 -1.85417E-01 1.38418E-01 9.07805E-02 -1.77518E-01 1.02732E00 -1.58144E00 5.60782E-01 -1.95598E-01 3.64166E-01 6.01928E-01 -6.40447E-01 -1.40492E-01 -5.70284E-02 2.04058E-01 2.97016E-01 -2.25083E-01 -1.64739E-01 -2.55047E-01 -1.88593E00 1.60993E00 -4.63350E-01 -5.51225E-02 2.29728E-01 -2.10402E-01 3.73247E-01 3.39469E-02 1.77067E-01 -2.26657E-01 -1.64109E-01 1.36300E-02 -FloatFrame 39 1.22419E00 5.76209E-01 -4.16891E-01 3.35070E-01 -5.13959E-02 1.95977E-01 1.05358E-01 -3.00729E-01 -1.79004E-01 -1.29549E-01 2.20654E-01 -6.28616E-02 -2.29860E-01 1.94974E-01 -2.37686E00 1.37004E00 -3.53551E-01 3.09847E-01 4.90213E-01 -4.40132E-01 3.25787E-02 3.88353E-02 2.65825E-01 1.04185E-01 -1.59672E-01 -1.88636E-01 -2.43277E00 -1.08209E00 9.66804E-01 -2.39607E-01 5.83638E-02 -1.50593E-01 3.06411E-01 3.63520E-01 3.81873E-01 -1.99561E-02 -4.35435E-01 2.69821E-01 2.47287E-01 -FloatFrame 39 1.66608E00 -4.66300E-01 2.74771E-01 1.06348E-01 -3.37601E-03 4.72220E-01 -2.22502E-01 -1.43456E-01 -2.66395E-01 -4.58797E-02 2.46289E-01 -2.84441E-01 -1.99836E-01 -1.40545E00 -2.66353E00 1.52759E00 -4.35204E-01 4.22530E-01 4.51335E-01 -3.34036E-01 2.23029E-01 3.24845E-01 1.84102E-01 -1.38419E-01 4.47379E-02 8.25480E-02 -1.73697E00 -5.56183E-01 3.54075E-02 -5.16462E-01 -1.63078E-01 -2.91006E-01 1.75151E-01 5.61779E-01 2.37554E-01 -1.52254E-01 -4.47849E-01 3.85936E-01 2.91724E-01 -FloatFrame 39 9.62828E-01 -1.36900E00 1.03449E00 -1.06458E-01 5.06261E-02 4.85864E-01 -1.11009E-01 2.43871E-03 -2.50073E-01 -1.87777E-04 1.54378E-01 -1.15135E-01 -2.38637E-01 -1.54199E00 -2.93304E00 1.40544E00 -8.70013E-01 1.46769E-01 1.99207E-01 -2.64981E-01 5.94358E-01 2.76389E-01 1.13571E-01 -3.43664E-01 2.26265E-01 1.03088E-01 -2.30073E-01 4.43819E-01 -9.00456E-01 -1.21387E-01 -3.35285E-01 -6.58804E-01 2.41756E-01 1.30525E-01 6.65308E-02 -6.23721E-02 -1.64224E-01 3.23302E-01 1.85980E-02 -FloatFrame 39 -2.82193E-01 -1.91550E00 1.14756E00 -1.66446E-01 2.56183E-01 5.66759E-01 -9.90558E-02 6.12411E-02 3.10510E-02 -1.31518E-03 -1.76581E-06 1.35518E-01 -9.49702E-02 -1.63552E00 -2.21971E00 6.27131E-01 -5.56591E-01 8.72449E-02 -2.07468E-01 -9.22803E-02 3.53553E-01 3.91376E-01 1.21730E-01 -3.02643E-01 3.68039E-01 1.01146E-01 5.35985E-01 1.54425E00 -1.62990E00 6.06899E-01 -6.25514E-02 -5.84665E-01 1.08804E-01 -4.25118E-01 1.32055E-01 4.78638E-03 2.74360E-01 4.79942E-02 1.31179E-01 -FloatFrame 39 -3.17803E-01 -2.35683E00 9.88553E-01 -5.34942E-01 9.53733E-02 3.95185E-01 -1.59623E-01 2.93628E-01 9.73855E-02 -1.59780E-02 -1.23011E-01 1.63403E-01 -1.26772E-01 -1.00601E00 -1.38880E00 -2.24456E-01 -2.63113E-01 8.42178E-02 -3.85457E-01 -1.56177E-01 1.69240E-01 4.08444E-01 1.18357E-01 -6.93048E-02 2.74259E-01 2.34267E-01 2.21137E00 1.37694E00 -1.03553E00 3.71438E-01 -3.47400E-01 -2.02717E-01 7.37553E-02 -1.95060E-01 -3.27979E-01 -1.90362E-01 4.72781E-01 -2.51951E-01 -5.56817E-02 -FloatFrame 39 3.05570E-02 -2.68601E00 9.01901E-01 -4.50243E-01 8.38689E-02 2.64751E-01 -3.14783E-01 2.10097E-01 1.24981E-01 7.58503E-02 -5.63545E-02 8.35982E-02 -9.86903E-02 5.75845E-01 -8.42771E-01 -4.08395E-01 -1.85153E-01 -2.60155E-01 -4.10186E-01 -1.85250E-02 1.58493E-01 6.33966E-02 -6.86324E-02 1.70138E-01 1.16088E-01 4.54642E-02 1.78133E00 1.17732E00 1.39727E-02 4.66361E-01 -4.77862E-02 1.87982E-01 2.03031E-01 -3.37705E-01 -5.58986E-01 -1.77363E-01 3.09757E-01 -3.44562E-01 -9.63024E-02 -FloatFrame 39 -4.31802E-02 -2.75780E00 8.10039E-01 -3.69572E-01 1.34844E-01 1.00406E-01 -2.67185E-01 1.71678E-01 1.58371E-01 1.18169E-01 8.50728E-02 1.59123E-01 -4.36991E-03 7.75320E-01 -2.11482E-01 -2.10483E-01 2.03248E-01 3.64316E-02 -1.97475E-01 4.68548E-02 -1.68465E-01 -1.50542E-01 -5.90060E-02 2.40452E-01 -7.03036E-02 1.37965E-01 -2.70204E-01 8.06698E-01 3.63954E-02 3.77698E-01 3.93678E-01 3.81659E-01 1.13860E-01 -1.80636E-01 -8.86607E-03 1.39041E-02 -3.60990E-02 -1.47373E-01 3.20786E-02 -FloatFrame 39 2.93652E-01 -2.75827E00 7.39163E-01 -3.51599E-01 -3.97188E-03 1.56573E-01 -1.17581E-01 2.19734E-01 9.44476E-02 -6.99476E-02 1.70136E-01 2.51606E-01 -4.95060E-02 3.05640E-01 -3.60722E-02 -3.72000E-01 1.92545E-01 1.33523E-01 -2.85264E-02 9.53350E-02 -2.21431E-02 5.45305E-02 -5.47283E-02 1.34039E-01 -3.12847E-02 7.75429E-02 -2.46451E-01 8.59925E-01 1.39619E-01 2.61230E-01 5.03236E-02 4.09709E-01 -6.74832E-02 1.64076E-01 1.17945E-02 -7.37150E-02 -3.00422E-01 -3.01981E-01 -2.21317E-01 -FloatFrame 39 4.57516E-01 -2.56832E00 7.78070E-01 -3.31694E-01 1.31805E-01 1.97710E-01 -1.12769E-01 1.25163E-01 -5.31563E-02 -7.49840E-02 1.17442E-01 9.30994E-02 1.11927E-02 5.28869E-01 6.48443E-01 -7.08636E-02 4.64478E-01 8.67552E-02 2.12234E-01 -2.06284E-02 -4.38874E-03 -1.38747E-01 -1.32721E-01 -5.99692E-02 -3.72285E-01 -8.33527E-02 6.43826E-01 1.88797E00 1.68638E-01 2.98431E-01 -3.44504E-02 2.17209E-01 -3.56154E-01 -1.45908E-01 -2.19898E-01 6.91059E-04 -1.66507E-01 -3.66347E-01 -2.31948E-01 -FloatFrame 39 3.36197E-01 -2.72208E00 5.29902E-01 -2.57698E-01 2.17392E-01 2.36225E-01 -2.19448E-01 1.87954E-01 1.79512E-01 2.11220E-02 7.76847E-02 5.23135E-02 -2.11475E-02 9.49466E-01 1.85189E00 -2.03361E-01 4.90976E-01 9.90731E-02 1.88683E-01 -2.60819E-01 -1.68052E-01 -1.65368E-01 -5.40372E-02 -3.24676E-02 -3.97631E-01 -1.54405E-01 1.34787E-01 1.75741E00 -4.39015E-01 9.03643E-02 -1.22952E-01 -2.56953E-01 -2.09164E-01 -2.42020E-01 1.66149E-01 1.47257E-01 4.32576E-02 6.87440E-02 -8.36016E-02 -FloatFrame 39 4.85689E-01 -2.10936E00 7.39175E-01 9.49063E-02 2.21599E-01 3.12641E-01 -2.87814E-01 1.67290E-01 1.96234E-02 -1.45517E-02 2.51036E-02 -2.13161E-01 -8.77226E-02 6.63656E-01 2.40585E00 -5.09879E-01 5.54842E-01 -3.61965E-02 -4.47191E-02 -2.29793E-01 -2.46409E-01 2.74019E-02 1.45360E-02 -1.67117E-02 -3.03541E-01 -1.66954E-01 6.49291E-02 1.05317E00 -2.01775E-01 1.00581E-01 -2.35430E-01 -5.34935E-01 3.48166E-01 -2.27003E-01 -1.72958E-01 1.56723E-01 -6.50701E-04 2.26420E-01 -7.72206E-02 -FloatFrame 39 1.24312E00 -9.06376E-01 5.35801E-01 1.39377E-01 9.51012E-02 3.45255E-01 -3.78399E-01 5.16827E-02 -7.09202E-02 -1.23985E-01 1.37669E-01 -1.46025E-01 -2.03911E-01 1.01440E00 2.90506E00 -4.05137E-01 5.91556E-01 -1.36357E-01 -3.46253E-01 8.73478E-02 -3.95055E-01 -3.38326E-01 1.02686E-01 -3.31183E-02 -1.71211E-01 -2.31626E-01 5.98887E-01 -5.55230E-02 -3.19413E-01 -2.66724E-01 -1.15111E-02 -4.93913E-01 3.84286E-01 -2.20541E-01 -1.05773E-01 1.57094E-01 -5.18717E-02 4.20791E-01 6.72633E-02 -FloatFrame 39 1.12117E00 -1.62468E-01 2.68191E-01 2.23148E-01 9.56084E-02 1.52991E-01 -3.42561E-01 -1.21246E-01 -2.57544E-02 -6.04480E-02 1.00730E-01 -2.10441E-01 -1.55762E-01 1.26254E00 2.35033E00 -8.29292E-01 2.88119E-01 -4.77076E-02 -5.38632E-01 1.54493E-01 -4.66950E-01 -7.83715E-02 1.71630E-01 -6.85834E-02 1.17251E-01 -9.96911E-02 -4.63620E-01 -1.59320E00 -4.71738E-01 -3.77712E-01 3.15605E-01 -2.64887E-01 1.01442E-01 3.22959E-02 3.66188E-01 2.67247E-01 -2.73798E-01 2.30677E-01 4.05693E-01 -FloatFrame 39 1.35059E00 1.82981E-01 1.24765E-01 3.33859E-01 8.10356E-02 -1.10028E-01 -1.32100E-01 -2.07101E-01 -1.58814E-01 1.23808E-01 4.45663E-02 -1.18898E-01 -2.52773E-01 5.50775E-01 1.31186E00 -8.76874E-01 2.13845E-01 1.79248E-01 -6.11139E-01 1.88790E-01 -3.62759E-01 2.78626E-02 3.69934E-01 -3.06916E-01 5.94658E-02 1.74067E-01 -7.85079E-01 -1.56351E00 1.40108E-01 -3.11302E-01 3.18364E-01 1.41178E-01 -2.72808E-02 2.47087E-01 9.03002E-02 1.34675E-01 -2.05767E-01 -3.15497E-02 3.17632E-01 -FloatFrame 39 1.74823E00 2.40968E-01 -9.01168E-02 3.83025E-01 1.73892E-01 -2.25991E-01 -1.33320E-01 -2.99660E-01 -5.87481E-02 1.57079E-01 -4.34798E-02 -9.59108E-02 -1.87414E-01 4.77464E-01 7.86811E-01 -6.89184E-01 -2.31837E-02 2.70657E-01 -3.97454E-01 1.27212E-01 -2.19863E-01 1.19287E-02 3.06305E-01 -2.74351E-01 8.57008E-02 2.17941E-01 -5.51648E-01 -6.16558E-01 3.30558E-01 -5.86629E-01 1.43623E-01 6.06515E-01 -3.40826E-01 2.94514E-01 8.82153E-02 -3.94127E-01 2.65432E-01 -4.38103E-02 6.08565E-02 -FloatFrame 39 1.79389E00 4.05488E-01 -3.41073E-01 3.53222E-01 2.74350E-01 -2.65884E-01 -1.89609E-01 -3.11076E-01 -4.30576E-02 2.45949E-01 -1.69248E-01 -8.65593E-02 -2.98444E-02 -8.72201E-04 6.95306E-01 -5.46317E-01 -3.72784E-01 3.22872E-01 -4.62443E-03 -1.52036E-01 -6.82450E-02 1.16078E-01 -2.41937E-02 -4.14847E-02 1.56555E-02 2.34923E-01 -1.19982E00 1.11386E-01 4.65529E-01 -7.25013E-01 -2.29264E-02 6.52747E-01 -2.70399E-01 2.13165E-01 -9.45505E-02 -3.43323E-01 3.91788E-01 -7.48939E-02 -9.45059E-02 -FloatFrame 39 1.59864E00 6.24344E-01 -4.20994E-01 1.99964E-01 3.66265E-01 -2.44463E-01 -2.15349E-01 -3.41109E-01 -1.38257E-02 2.45857E-01 -1.73621E-01 -1.24741E-01 6.21796E-02 -7.22353E-01 8.98198E-01 -2.23655E-01 -7.48197E-01 2.47730E-01 2.55293E-01 -1.43186E-01 -6.69775E-03 -8.26218E-02 -3.70180E-02 1.17438E-01 1.08069E-02 1.23435E-01 -6.67500E-01 1.11632E-01 4.40109E-01 -3.75202E-01 -1.70393E-01 3.25625E-01 4.12417E-02 1.37836E-01 -2.12863E-01 -2.02610E-01 3.10764E-01 1.07181E-01 -3.83930E-01 -FloatFrame 39 1.34972E00 8.78287E-01 -4.21551E-01 -3.89257E-02 4.03907E-01 -1.14652E-01 -2.84136E-01 -2.75346E-01 -4.27361E-02 9.96146E-02 3.08160E-03 -1.03242E-01 -1.78499E-02 -6.68373E-01 8.06938E-01 -1.06207E-01 -7.47986E-01 1.52479E-01 3.21000E-01 -1.10795E-01 6.95914E-02 -9.67853E-02 -2.26804E-01 2.69280E-01 1.22837E-01 -1.49007E-01 2.18426E-01 -2.13029E-01 1.40861E-01 1.10862E-01 -1.95899E-01 1.53779E-01 -1.75895E-02 1.73805E-01 -9.77700E-02 -1.98898E-01 1.53749E-01 1.10562E-01 -2.58342E-01 -FloatFrame 39 1.02588E00 1.13917E00 -3.13772E-01 -3.65172E-01 4.21622E-01 2.93025E-02 -2.76507E-01 -3.06358E-01 -1.41370E-01 1.20061E-01 7.39580E-02 -8.51038E-02 -6.39784E-02 -5.03927E-01 6.85169E-01 -8.27940E-02 -6.37335E-01 5.18317E-02 4.09073E-01 -1.60776E-01 1.67107E-01 -1.80392E-01 -2.35916E-01 2.71187E-01 1.21369E-01 -1.34907E-01 2.48640E-01 -3.10975E-01 9.90893E-02 3.17608E-01 -2.40699E-01 2.87662E-02 9.82470E-02 -7.66468E-02 1.42937E-02 1.52179E-01 -2.90762E-01 -4.23963E-03 2.04665E-01 -FloatFrame 39 1.12552E00 1.21243E00 -4.47280E-01 -3.94764E-01 4.26829E-01 5.51160E-02 -3.00404E-01 -2.41485E-01 -1.39843E-01 1.91450E-02 1.00032E-01 3.62774E-02 -1.78851E-01 -4.19733E-01 4.95963E-01 -7.11791E-03 -4.30379E-01 -8.82203E-02 3.49766E-01 -1.25476E-02 -7.05545E-03 -8.24916E-02 -7.46245E-02 -2.14826E-02 1.18597E-01 5.56585E-02 3.52323E-01 -3.32179E-01 -1.05430E-01 5.25342E-01 -1.56817E-01 -1.99653E-01 8.61124E-02 -2.48580E-03 1.37174E-01 5.33502E-02 -2.50648E-01 -6.43830E-02 2.80208E-01 -FloatFrame 39 1.09471E00 1.30951E00 -5.03788E-01 -4.37371E-01 4.18097E-01 1.64609E-01 -3.76125E-01 -1.74001E-01 -1.94217E-01 9.94167E-03 9.75664E-02 -3.37153E-03 -7.27269E-02 -1.51604E-01 3.52991E-01 -1.88224E-01 -1.11993E-01 -1.04985E-01 2.09420E-01 -7.46633E-02 1.64622E-01 -4.32181E-02 -1.82565E-01 2.05391E-02 5.69859E-02 1.45302E-01 1.43794E-01 -1.24108E-01 -8.86129E-02 3.29225E-01 1.93662E-02 -2.85231E-01 -2.71984E-02 1.98840E-01 4.62816E-02 -7.61950E-02 -1.65811E-02 -1.27647E-01 1.85567E-01 -FloatFrame 39 9.29988E-01 1.37425E00 -4.28669E-01 -4.69304E-01 3.15687E-01 2.35114E-01 -2.96684E-01 -2.82401E-01 -1.25228E-01 2.49901E-02 -1.84010E-02 1.53547E-02 3.78086E-02 -2.75939E-01 3.71855E-01 -9.57308E-02 -1.01153E-01 -6.88541E-02 6.45352E-02 -3.97460E-02 1.91785E-01 -3.62100E-02 -1.50819E-01 -3.80637E-02 -9.04949E-03 2.41225E-01 7.60557E-03 -9.77376E-02 1.37080E-01 1.33690E-01 -2.36867E-02 -3.43095E-01 1.47337E-01 2.97005E-02 2.60542E-02 2.54661E-02 -7.62915E-02 2.96481E-02 8.68977E-03 -FloatFrame 39 8.74276E-01 1.49216E00 -5.01996E-01 -4.77164E-01 3.16637E-01 2.38722E-01 -3.51170E-01 -1.41736E-01 -1.84588E-01 -6.25046E-02 9.44971E-02 -2.81179E-02 8.13233E-02 -1.43998E-01 2.55253E-01 -5.11439E-02 2.16978E-02 -1.28672E-01 -1.33675E-01 7.26741E-02 1.94322E-01 -1.71639E-02 -1.57099E-01 -5.57524E-02 8.66340E-02 1.53991E-01 4.55692E-01 -2.62362E-01 -1.40593E-02 2.09455E-01 -1.93878E-02 -4.00637E-01 1.52515E-01 8.24749E-02 3.84231E-02 -1.14812E-01 3.18042E-02 2.13288E-01 -2.37724E-01 -FloatFrame 39 8.49582E-01 1.58428E00 -5.43011E-01 -4.95918E-01 3.57975E-01 1.19651E-01 -3.40150E-01 -4.97004E-02 -1.76053E-01 -1.31674E-01 6.19682E-02 2.72279E-02 6.23741E-02 1.79753E-01 1.09493E-01 -1.09790E-01 1.08301E-01 -8.82419E-02 -3.36102E-01 1.12769E-01 2.74260E-01 2.21318E-03 -2.65631E-01 -6.25948E-03 2.04239E-01 3.50105E-03 4.43991E-01 -2.66556E-01 -9.39995E-03 2.08794E-01 -9.76574E-02 -3.16716E-01 2.54608E-01 -4.47389E-02 5.64214E-02 -8.31559E-02 2.91202E-02 9.41927E-02 -1.65996E-01 -FloatFrame 39 9.50712E-01 1.56477E00 -5.54932E-01 -4.15673E-01 2.89425E-01 3.09344E-02 -3.03451E-01 2.03207E-02 -2.11381E-01 -1.47158E-01 4.18140E-02 8.32625E-02 8.12645E-02 2.99993E-01 -1.13033E-02 -6.05438E-02 2.30491E-01 -2.26329E-01 -4.50391E-01 3.27282E-01 1.49583E-01 3.92575E-02 -2.40255E-01 -2.66322E-02 1.80827E-01 -1.20050E-02 3.00831E-01 -3.50321E-01 1.77092E-01 2.47010E-01 -3.46852E-01 -7.30121E-02 3.06723E-01 -1.51995E-01 -5.30345E-02 1.15299E-01 8.09120E-02 -2.01920E-01 4.98699E-03 -FloatFrame 39 1.10974E00 1.48374E00 -5.38459E-01 -3.61003E-01 2.27445E-01 -1.00988E-01 -1.83915E-01 -8.14183E-03 -1.23015E-01 -2.40641E-01 -2.46605E-02 2.19593E-01 4.13096E-02 4.80585E-01 -2.40828E-01 6.73021E-02 3.55312E-01 -4.35094E-01 -4.09114E-01 4.19492E-01 1.22264E-01 -5.08213E-02 -1.50332E-01 7.46525E-02 2.31888E-03 8.48805E-03 -9.39097E-02 -2.28776E-01 3.42790E-01 6.84751E-02 -4.02056E-01 2.67745E-01 3.99114E-02 -9.93991E-02 2.98928E-03 9.01729E-02 4.16908E-02 -2.01664E-01 -8.79325E-03 -FloatFrame 39 1.17427E00 1.48085E00 -5.62539E-01 -2.46673E-01 9.03075E-02 -2.11668E-01 -2.38877E-02 7.84678E-03 -1.45331E-01 -3.02760E-01 6.78649E-02 1.52709E-01 6.93183E-02 2.06083E-01 -2.40079E-01 2.82246E-01 2.98967E-01 -6.28385E-01 -1.82646E-01 3.67194E-01 5.01840E-02 4.22467E-02 -1.50082E-01 1.50586E-02 -2.08376E-02 -2.07983E-02 -5.94421E-01 4.21614E-02 3.54521E-01 -6.82065E-02 -3.11579E-01 3.99575E-01 -1.45284E-01 -3.88127E-02 6.34580E-03 9.86711E-02 -9.89749E-03 -2.05058E-01 -3.43602E-02 -FloatFrame 39 1.33017E00 1.34345E00 -4.75709E-01 -1.40606E-01 -7.71190E-02 -2.89463E-01 7.93418E-02 7.25638E-02 -2.26874E-01 -2.82007E-01 1.36621E-01 2.95468E-02 7.08622E-02 -1.13837E-01 -1.98667E-01 4.21823E-01 2.87105E-01 -7.46673E-01 -9.53895E-03 2.74208E-01 8.34514E-02 -4.44755E-02 -5.16610E-02 6.47550E-02 -2.02739E-01 -2.58722E-02 -4.12801E-01 -4.16847E-02 2.56616E-01 -6.05636E-02 -7.71877E-02 2.43018E-01 -1.99450E-01 2.12610E-02 -6.69038E-02 1.85022E-01 -7.22690E-02 -1.83723E-01 -1.36255E-02 -FloatFrame 39 1.15679E00 1.32469E00 -2.72685E-01 -1.16706E-01 -3.38960E-01 -1.51711E-01 6.37432E-02 7.05048E-02 -1.69135E-01 -2.97240E-01 5.68726E-02 6.24249E-02 6.04663E-02 -2.06718E-01 -2.81764E-01 5.38863E-01 2.38403E-01 -7.05573E-01 6.03718E-02 1.67744E-01 7.14450E-02 -2.46570E-02 3.49402E-02 -5.72104E-02 -2.04561E-01 -3.44238E-02 -4.90353E-01 6.66793E-02 1.07989E-01 -1.41189E-01 2.40151E-01 1.51243E-02 -1.39552E-01 -1.23615E-01 1.38795E-01 1.09484E-01 -2.84797E-01 1.32222E-01 -7.38188E-02 -FloatFrame 39 9.95904E-01 1.28508E00 -1.16636E-01 -7.38979E-02 -5.19228E-01 -1.10527E-01 9.02928E-02 7.53096E-02 -1.67490E-01 -2.92302E-01 4.00945E-02 1.68545E-02 1.54375E-02 -6.04190E-01 -1.31988E-01 5.29812E-01 1.45916E-01 -5.06522E-01 5.58534E-03 1.34656E-01 -4.01639E-02 9.43194E-02 5.78230E-02 -2.20042E-01 -7.05169E-02 -9.96910E-02 -6.30954E-01 2.65406E-01 -5.22333E-02 -1.28584E-01 4.37182E-01 -2.23471E-01 3.43740E-03 -1.69500E-01 1.42614E-01 7.79383E-02 -1.16640E-01 2.71683E-02 -1.34036E-01 -FloatFrame 39 9.67550E-01 1.19909E00 -2.36769E-02 -8.27006E-03 -6.15265E-01 -1.51296E-01 1.43856E-01 7.92918E-02 -1.69988E-01 -2.67820E-01 1.06545E-02 -5.18517E-02 3.48945E-02 -8.37672E-01 -1.63576E-02 4.86629E-01 1.09819E-01 -2.68390E-01 -1.63099E-01 1.71181E-01 -9.80554E-02 1.17957E-01 1.12879E-01 -1.73850E-01 -1.77392E-01 -1.68460E-01 -6.38327E-02 6.64069E-02 -3.10181E-02 -8.91267E-02 3.54708E-01 -2.31724E-01 1.39390E-02 -5.24538E-02 4.97003E-02 1.23427E-01 4.75744E-02 -1.40633E-01 -6.84002E-02 -FloatFrame 39 7.25977E-01 1.21147E00 5.41030E-02 5.31018E-03 -5.83641E-01 -2.83877E-01 2.13997E-01 3.23999E-02 -1.32555E-01 -2.24184E-01 -8.34209E-02 -4.09701E-02 -2.88288E-02 -6.68023E-01 -6.55808E-02 4.98794E-01 5.67896E-02 -1.51814E-01 -2.26139E-01 1.48595E-01 -9.26177E-02 1.44020E-01 1.81250E-01 -1.72467E-01 -2.11150E-01 -1.68091E-01 1.55902E-01 1.83837E-02 -9.31116E-02 2.94296E-02 1.67294E-01 -3.75080E-03 -1.59748E-01 -2.84870E-02 1.16571E-01 8.43169E-02 4.88318E-04 7.28384E-02 -4.51486E-02 -FloatFrame 39 3.19123E-01 1.30833E00 2.13944E-01 -6.88688E-03 -6.07351E-01 -3.14810E-01 2.34925E-01 -2.75506E-02 -5.11773E-02 -1.84361E-01 -1.16978E-01 -1.14967E-01 -1.07994E-01 -6.81770E-01 2.02607E-03 3.93518E-01 1.39249E-01 -1.01096E-01 -1.66850E-01 1.14334E-02 -1.26542E-01 2.34528E-01 1.97195E-01 -1.73362E-01 -1.04554E-01 -2.13609E-01 4.60473E-02 8.59880E-02 -1.80105E-01 2.20136E-01 4.57761E-02 8.05510E-02 -2.09380E-01 3.02054E-02 2.08371E-02 3.93879E-02 1.75634E-01 7.62807E-02 -8.51174E-03 -FloatFrame 39 3.27881E-01 1.21950E00 3.82157E-01 -1.71083E-02 -6.71042E-01 -3.36666E-01 2.38887E-01 -1.73081E-02 -2.34704E-02 -1.11053E-01 -1.32373E-01 -1.94295E-01 -1.52654E-01 -6.21975E-01 2.04072E-02 3.18689E-01 2.76926E-01 -1.06038E-01 -1.45588E-01 -6.07858E-02 -6.24123E-02 1.64857E-01 2.20638E-01 3.16652E-03 -1.34869E-01 -1.76603E-01 1.02225E-01 -7.26750E-02 -1.07254E-01 2.22794E-01 -4.60570E-02 1.26238E-01 -1.03614E-01 8.38151E-02 -2.04945E-01 8.87351E-02 2.30585E-01 1.21870E-01 7.83156E-02 -FloatFrame 39 2.85781E-01 1.20112E00 3.69841E-01 1.30979E-01 -7.16362E-01 -3.18146E-01 1.55290E-01 -4.72506E-02 6.45407E-02 -7.06241E-02 -1.62707E-01 -1.56405E-01 -1.78714E-01 -5.79544E-01 -7.06490E-02 2.86264E-01 3.62043E-01 -1.47153E-01 -4.06114E-02 -9.21803E-02 -4.27273E-02 2.95836E-02 2.85931E-01 5.72234E-02 1.73165E-02 -1.35293E-01 -4.81426E-01 -9.49491E-02 -2.66896E-02 1.59216E-01 1.82175E-01 6.14990E-02 -1.73073E-01 -2.38990E-02 -8.48891E-03 -3.42295E-02 1.02022E-01 1.84301E-01 1.50515E-01 -FloatFrame 39 1.04002E-01 1.23187E00 3.72792E-01 2.82236E-01 -6.89679E-01 -4.29465E-01 1.53212E-01 -3.00124E-02 3.23021E-02 -3.54616E-03 -8.02543E-02 -1.75839E-01 -2.05432E-01 -1.10340E00 -7.45419E-02 2.92000E-01 4.36142E-01 7.61371E-02 -8.40890E-02 -2.33858E-01 -8.63113E-02 1.56368E-01 1.86408E-01 1.05189E-01 4.94313E-02 -2.60877E-02 -7.82248E-01 -3.88550E-02 1.72407E-02 -2.87625E-02 3.85666E-01 1.14913E-02 -5.93129E-02 -1.04395E-01 1.93733E-02 -5.62730E-02 1.01143E-01 3.06218E-02 1.26423E-01 -FloatFrame 39 -2.60421E-01 1.23768E00 5.00208E-01 3.55156E-01 -7.54504E-01 -3.55422E-01 1.42744E-01 -7.02779E-02 -2.15937E-02 1.01569E-01 -5.97541E-02 -9.76508E-02 -2.43287E-01 -1.36179E00 -1.09504E-01 3.03505E-01 3.33281E-01 2.38513E-01 -2.91201E-02 -1.51493E-01 -1.47122E-01 4.89569E-02 2.29658E-01 1.58367E-01 4.79383E-02 -8.86992E-03 -3.42734E-01 -1.50922E-01 9.75807E-02 -3.04503E-01 2.67647E-01 2.03712E-01 7.67704E-02 -1.49362E-01 -4.11110E-02 -7.81579E-02 -3.20783E-02 1.21424E-01 6.54028E-02 -FloatFrame 39 -7.75519E-01 1.14495E00 6.74157E-01 4.19034E-01 -5.94905E-01 -4.20755E-01 5.02901E-03 -1.03619E-01 1.32898E-01 7.53552E-02 -2.71839E-02 -1.44864E-01 -1.78741E-01 -1.44614E00 -2.25464E-01 3.89580E-01 1.31639E-01 3.43784E-01 1.19623E-01 -1.57088E-01 -2.35673E-01 1.15257E-01 1.08250E-01 7.31106E-02 1.70855E-01 3.93151E-02 1.24137E-01 -2.41559E-01 -1.38962E-02 -1.88686E-01 2.09540E-01 6.89259E-02 -4.16082E-02 7.51142E-02 8.12984E-02 -2.84530E-01 -1.14804E-01 5.79778E-02 5.85867E-02 -FloatFrame 39 -1.07601E00 1.09161E00 6.73345E-01 4.64259E-01 -4.77849E-01 -3.47266E-01 3.79672E-03 -1.94373E-01 1.13498E-01 1.59033E-01 -4.34039E-03 -1.08467E-01 -1.87584E-01 -1.23766E00 -3.51063E-01 2.89608E-01 1.44595E-01 4.48053E-01 3.98058E-02 -1.93101E-01 -7.20083E-02 1.30255E-01 -5.48726E-02 4.35630E-02 1.05916E-01 4.97168E-02 6.19292E-01 -9.22062E-02 -3.14910E-01 4.02978E-02 -4.99640E-02 1.33151E-01 6.44943E-02 1.31508E-01 -1.69469E-01 -9.30211E-02 -5.29658E-02 -7.07779E-02 -1.11947E-02 -FloatFrame 39 -1.34213E00 1.00641E00 7.62372E-01 4.13875E-01 -3.45895E-01 -3.09842E-01 -3.87643E-03 -2.65685E-01 1.47559E-01 1.04704E-01 -7.14379E-03 -4.98400E-03 -1.66117E-01 -8.26843E-01 -3.17670E-01 7.46705E-02 1.71936E-01 2.93820E-01 2.52774E-01 -9.25937E-02 -1.04165E-01 -5.42116E-02 1.52290E-02 2.01447E-02 1.00077E-01 2.81204E-02 6.84941E-01 1.82509E-01 -2.22505E-01 -9.87174E-02 -3.25107E-01 1.16276E-01 1.07263E-01 1.69151E-01 -4.36669E-02 -1.29574E-01 -1.91690E-01 -9.53083E-02 1.38592E-01 -FloatFrame 39 -1.49808E00 8.86617E-01 7.89816E-01 4.99751E-01 -3.06451E-01 -3.15616E-01 -5.03569E-02 -1.42286E-01 1.08662E-01 4.66966E-02 -1.61910E-02 8.26531E-03 -1.93570E-01 -5.52715E-01 -1.68553E-01 6.71029E-02 4.58772E-02 1.22946E-01 1.56082E-01 -8.58386E-02 9.71424E-02 8.65884E-02 -1.84447E-01 -1.48126E-01 1.06078E-02 1.88309E-01 6.18120E-01 3.34256E-01 -1.26062E-01 -2.52609E-01 -1.76560E-01 -1.02872E-01 -1.43442E-02 1.77059E-01 1.93329E-02 -1.45514E-01 -5.36472E-02 -1.31014E-01 9.27452E-03 -FloatFrame 39 -1.60236E00 8.27283E-01 7.48827E-01 5.90970E-01 -3.01085E-01 -1.67980E-01 -8.75647E-02 -2.07785E-01 7.86859E-02 9.05843E-02 -7.03914E-03 -4.47867E-02 -1.50621E-01 -2.08723E-01 1.65857E-02 -5.13918E-02 -8.06721E-02 1.17260E-01 1.49903E-01 -1.06938E-01 7.28935E-02 -3.48787E-02 -1.30285E-01 -3.35024E-02 -3.09366E-02 3.73949E-02 9.45687E-01 4.00594E-01 -1.52092E-01 -4.35191E-01 -1.78518E-01 -1.83250E-02 6.39019E-02 -1.11409E-01 -1.62857E-01 2.22713E-01 1.36982E-01 -1.55380E-01 -1.40302E-01 -FloatFrame 39 -1.62873E00 9.23058E-01 7.40448E-01 5.10137E-01 -3.54903E-01 -1.91184E-01 -8.20419E-02 -9.72306E-02 2.00086E-01 -2.54134E-02 -1.52467E-01 -9.78593E-02 7.24800E-04 3.92972E-01 2.32041E-01 -8.49892E-02 -3.89314E-01 -5.55722E-02 1.37757E-01 -2.19367E-02 -1.42670E-02 -7.62689E-02 3.82658E-02 -1.11441E-02 -1.44773E-01 4.80068E-02 1.14874E00 2.99632E-01 -1.59912E-01 -3.70552E-01 -4.24377E-01 -2.84515E-01 1.82552E-01 -2.59006E-02 7.63529E-03 1.91703E-01 -4.43636E-02 -3.95864E-02 -3.90961E-02 -FloatFrame 39 -1.55086E00 1.02299E00 7.10981E-01 3.33203E-01 -2.28635E-01 -1.59939E-01 -1.10814E-01 -1.92792E-01 1.12680E-01 -2.55810E-02 -4.06462E-02 -3.59206E-02 -1.28722E-01 9.40014E-01 3.16217E-01 -2.11303E-01 -4.51224E-01 -3.07117E-01 -1.34612E-01 7.56140E-02 4.69928E-02 -2.72435E-02 6.14182E-02 -7.78661E-02 -7.05230E-02 -1.70124E-03 1.37218E00 -2.70842E-01 -1.19479E-01 -1.02448E-01 -4.22093E-01 -2.38698E-01 4.11699E-02 1.48695E-02 3.00112E-02 4.80038E-02 1.05801E-01 1.14765E-01 -1.63789E-01 -FloatFrame 39 -1.10511E00 1.11866E00 7.04827E-01 1.10437E-01 -3.62023E-01 -1.77859E-01 -7.22936E-02 -1.56553E-01 3.23928E-02 8.49624E-02 -2.73351E-02 -1.36507E-01 -1.45563E-01 1.76515E00 -3.88015E-02 -2.04468E-01 -4.91762E-01 -4.77665E-01 -1.00941E-01 1.92333E-02 6.02460E-04 -4.62576E-02 8.62696E-02 9.46567E-02 -3.00078E-02 -1.15782E-01 8.78604E-01 -2.24739E-01 -1.73246E-01 2.83218E-02 -3.81369E-01 -6.18414E-02 1.88540E-02 8.93490E-02 2.66085E-01 -2.83628E-02 -1.03852E-02 1.16287E-01 -1.95048E-02 -FloatFrame 39 -6.62349E-01 1.14350E00 5.37524E-01 1.39747E-01 -6.08202E-01 -3.02593E-01 -1.19506E-02 -1.60792E-01 5.14424E-02 1.52003E-01 -8.49052E-02 -1.15310E-01 -1.52322E-01 1.81862E00 9.14780E-02 -3.84550E-01 -4.22902E-01 -6.88486E-01 -1.96454E-01 9.44680E-02 1.36342E-01 2.38842E-01 3.30554E-02 -8.82513E-02 4.57642E-02 -2.12061E-02 -4.04421E-01 2.04109E-01 -4.34566E-01 1.66802E-01 5.26492E-02 -1.20841E-01 2.40219E-01 8.09174E-02 3.73264E-01 -1.39985E-01 -2.81060E-01 2.55746E-01 9.03290E-02 -FloatFrame 39 1.36426E-01 8.84256E-01 5.35980E-01 1.83748E-02 -8.32568E-01 -2.92124E-01 -6.28086E-02 -9.66282E-02 1.53828E-01 6.08561E-02 -5.78101E-02 -1.27867E-01 -1.15057E-01 1.36073E00 1.65308E-01 -6.39034E-01 -3.24959E-01 -4.25016E-01 -2.21782E-01 2.59453E-01 8.15198E-02 3.27006E-01 -5.37152E-02 -1.86404E-01 2.25738E-01 -2.54528E-02 -1.19887E00 3.29957E-03 2.32992E-02 -2.09877E-01 6.21782E-01 1.80886E-01 6.21245E-02 6.58120E-02 1.04981E-01 -1.46846E-01 -8.57202E-02 1.29437E-01 1.16089E-01 -FloatFrame 39 2.67761E-01 1.11447E00 3.26431E-01 -8.96994E-02 -9.17121E-01 -3.56393E-01 -1.63462E-02 -5.64501E-02 3.51522E-01 7.47439E-03 -1.28897E-01 9.84359E-03 -1.49928E-01 6.19750E-01 9.47776E-02 -3.61250E-01 -6.32779E-01 -6.67035E-02 -1.55677E-02 1.56593E-01 2.02154E-01 3.43822E-01 -1.13790E-01 -1.73971E-01 1.75201E-01 9.48829E-02 -1.67770E00 1.05627E-01 2.76291E-01 -2.03756E-01 5.30522E-01 2.37961E-01 7.52839E-02 4.90948E-02 -1.61981E-01 4.13014E-02 -1.63341E-03 -5.15508E-03 9.54122E-02 -FloatFrame 39 2.55626E-01 1.28397E00 6.57927E-02 -2.14522E-01 -7.87039E-01 -3.99640E-01 1.87159E-01 -7.50333E-02 3.59399E-01 3.12472E-02 -2.13739E-01 8.92305E-02 -1.71016E-01 -3.16967E-01 2.70935E-01 -3.62743E-01 -5.28715E-01 1.05506E-01 1.61789E-02 3.34736E-01 1.30615E-01 1.65025E-01 -1.24138E-02 -1.88037E-01 2.20583E-01 6.99594E-02 -8.69037E-01 -2.79726E-01 2.25763E-01 2.20039E-01 2.01060E-01 1.44030E-01 1.86642E-01 -1.23063E-01 -4.56563E-01 1.91657E-01 3.25707E-02 1.34541E-03 2.59089E-03 -FloatFrame 39 -4.25981E-02 1.23828E00 1.76274E-01 -4.93033E-01 -6.74905E-01 -3.18160E-01 1.44642E-01 4.13619E-02 3.95265E-01 3.82123E-02 -2.58877E-01 5.98912E-02 -5.74393E-02 -2.49286E-01 -1.84948E-01 -1.35487E-01 -4.12740E-01 1.34356E-01 1.28463E-01 3.43234E-01 7.90906E-02 -1.12741E-01 7.78672E-02 -1.41401E-01 1.76546E-01 9.74738E-02 2.59277E-01 -5.07401E-01 3.54188E-01 2.65873E-01 -1.52465E-01 2.18990E-01 -1.42276E-01 -2.02941E-02 -3.11929E-01 7.56732E-03 1.66704E-01 -9.16850E-02 9.04757E-02 -FloatFrame 39 -1.80542E-01 1.15519E00 1.73237E-01 -5.10341E-01 -7.27062E-01 -2.75946E-01 2.71928E-01 3.39865E-02 3.18854E-01 4.84423E-02 -2.45847E-01 9.27155E-02 -4.50976E-02 -5.76904E-02 -2.36466E-01 -8.55572E-03 -2.62843E-01 -4.69585E-02 2.35169E-01 1.92460E-01 1.10321E-01 -1.46904E-01 -4.84651E-03 -2.13327E-02 1.28898E-01 1.60435E-01 5.45747E-01 3.72483E-02 9.84942E-02 4.17618E-01 -3.09127E-01 1.25927E-01 -2.66663E-02 -1.95737E-01 -1.58713E-01 -7.56381E-02 2.36348E-01 1.80441E-02 -7.46276E-02 -FloatFrame 39 1.84746E-02 9.29524E-01 1.90944E-01 -5.02440E-01 -7.82765E-01 -2.27931E-01 3.26888E-01 2.26405E-02 2.38781E-01 8.53416E-02 -2.70298E-01 1.86390E-01 -5.24540E-02 2.96461E-01 -1.47700E-01 -3.69929E-02 4.87754E-03 -1.74771E-01 2.54389E-01 3.16568E-01 -1.16647E-01 -2.71455E-01 2.22908E-03 9.49469E-02 1.94590E-01 2.28462E-02 4.78288E-01 1.03688E-01 6.90611E-03 2.73482E-01 -6.87076E-02 1.81314E-01 -1.10505E-01 -1.58307E-01 -2.67816E-01 1.14113E-01 2.31035E-01 -6.34792E-03 -2.16516E-01 -FloatFrame 39 1.97936E-01 1.04750E00 5.72369E-02 -4.77365E-01 -8.33998E-01 -1.64471E-01 3.79619E-01 3.52873E-02 2.12495E-01 2.64006E-02 -2.35072E-01 2.18128E-01 -1.05811E-02 4.20598E-01 -1.32778E-01 -1.64960E-03 1.06390E-02 -1.15666E-01 4.16484E-01 8.19559E-02 -4.79868E-02 -4.14720E-01 1.09267E-01 2.09702E-01 1.22550E-01 -5.60813E-02 -2.12091E-01 5.41056E-02 -1.78333E-02 -5.88101E-02 3.44360E-01 1.93534E-01 -5.23198E-01 1.10931E-01 -1.95304E-02 1.24573E-01 6.74319E-02 -8.00373E-02 7.65473E-03 -FloatFrame 39 2.53863E-01 1.09058E00 1.39281E-01 -4.88155E-01 -8.49676E-01 -6.37710E-02 4.61210E-01 -7.52847E-02 1.23810E-01 4.04414E-02 -1.63930E-01 2.54482E-01 -3.45932E-02 8.43701E-02 -9.35943E-02 -5.48263E-02 -5.39326E-02 1.69589E-01 4.47923E-01 -2.06630E-01 -5.71557E-03 -2.90985E-01 1.26802E-01 1.62379E-01 1.14553E-01 3.05009E-02 -6.41924E-01 -1.32153E-02 8.88281E-02 -1.53891E-01 3.60739E-01 1.48927E-01 -4.74503E-01 -6.64778E-02 2.24232E-01 1.39101E-01 -3.85495E-02 -5.69787E-02 4.32124E-02 -FloatFrame 39 2.40056E-01 1.02241E00 1.71587E-01 -4.99702E-01 -8.42728E-01 1.40538E-01 3.53884E-01 -1.40003E-02 -9.58667E-02 1.57709E-01 -3.61449E-02 2.15265E-01 -1.01179E-01 -2.21326E-01 -1.45994E-01 8.71785E-02 -1.43252E-01 2.45073E-01 5.65411E-01 -3.92547E-01 -1.14465E-01 -1.90488E-01 2.48367E-01 1.71153E-01 6.55710E-02 -1.28689E-02 2.69731E-01 -6.05196E-01 2.88194E-02 3.71885E-01 -3.26529E-02 7.44493E-02 -2.69136E-01 -3.47938E-02 2.43605E-01 -1.42947E-01 2.36182E-01 -3.54188E-01 6.10714E-02 -FloatFrame 39 1.02845E-01 8.35929E-01 1.36118E-01 -5.56372E-01 -6.13176E-01 2.19993E-01 1.20258E-01 1.69249E-02 -5.22041E-02 2.12144E-01 -1.07919E-01 3.00943E-01 -2.19531E-02 3.54101E-01 -6.98790E-01 -2.60068E-02 3.17953E-01 1.36936E-01 5.22373E-01 -4.75767E-01 -4.05094E-02 -4.73798E-02 -1.61450E-02 3.98561E-01 -2.39635E-01 9.15723E-02 -6.99253E-01 -1.28740E00 -7.18243E-02 9.00967E-01 1.05069E-01 -2.66966E-01 9.50701E-03 8.35481E-02 3.64317E-01 -4.03157E-01 2.07825E-01 -2.54177E-01 2.03493E-01 -FloatFrame 39 -2.33904E-02 9.01506E-01 1.44415E-01 -6.20617E-01 -5.88924E-01 4.00940E-01 -1.29277E-02 -7.91773E-02 2.20071E-02 2.74768E-01 -6.39187E-02 2.83699E-01 -2.34501E-02 -9.20579E-01 -1.43340E00 1.53542E-02 7.57715E-01 3.50142E-01 2.98445E-01 -3.83040E-01 -3.09165E-02 1.73830E-01 -1.54789E-01 3.78978E-01 -1.88606E-01 1.90624E-01 -2.47691E00 -4.35739E-01 8.81501E-03 5.81775E-01 3.75034E-01 -4.66895E-01 5.55101E-01 1.03620E-01 2.31404E-01 -3.38059E-01 -1.03633E-01 1.80050E-02 -8.68111E-02 -FloatFrame 39 6.07964E-01 3.91788E-01 1.13274E-01 -1.70203E-01 -7.12740E-01 4.58602E-01 -1.45565E-02 -1.15794E-01 7.64304E-02 2.42964E-02 2.34631E-01 1.48466E-02 5.69791E-02 -2.12281E00 -1.13453E00 -1.71918E-02 8.99728E-01 5.11970E-01 5.54774E-02 7.93349E-02 6.31109E-02 1.84024E-01 -3.54204E-01 2.94928E-01 -2.21630E-01 4.76120E-03 -1.53568E00 4.27579E-01 -1.15479E-01 7.02335E-02 3.92806E-01 -5.58935E-01 6.64918E-01 3.36423E-01 -1.97602E-01 -2.01630E-01 -2.19039E-01 -4.95911E-02 -1.43068E-01 -FloatFrame 39 -6.80522E-01 -4.10985E-01 1.86941E-01 2.58013E-01 -4.92586E-01 4.38983E-01 -2.91564E-02 -4.49169E-02 7.79629E-02 2.91955E-03 3.42833E-01 2.66595E-02 8.94449E-02 -2.45626E00 -1.00582E00 -1.00125E-01 8.27948E-01 7.42948E-01 -2.60491E-01 2.81878E-01 3.05507E-01 -2.37728E-02 -3.56420E-01 1.59938E-01 -2.38197E-01 4.75562E-02 -1.28619E00 5.76344E-01 -1.69831E-01 -4.45182E-01 3.81619E-01 -2.24442E-01 5.71213E-02 2.50322E-01 -2.17747E-01 2.94592E-01 -4.56920E-01 3.04347E-01 -5.10973E-02 -FloatFrame 39 -2.01996E00 -2.98600E-01 1.18926E-01 3.43356E-01 -1.01206E-01 2.75470E-01 1.99593E-01 8.00358E-02 1.31820E-01 -1.42061E-01 1.87008E-01 7.93130E-02 -1.71919E-02 -3.40900E00 -5.58186E-01 -1.87022E-01 4.54546E-01 8.93589E-01 -1.68965E-01 1.36456E-01 3.13433E-01 -3.37230E-02 -5.96124E-02 -1.61992E-01 8.27165E-02 -4.63361E-02 1.65539E-01 1.28536E00 -1.92979E-01 -7.28327E-01 -1.36949E-01 3.86280E-02 -1.47617E-01 -8.17752E-02 -6.03930E-02 5.25001E-01 -4.69085E-01 1.07974E-01 -1.34367E-01 -FloatFrame 39 -2.47965E00 -1.04314E-01 4.42908E-02 2.07332E-01 1.54023E-01 1.40449E-01 2.68951E-01 2.26330E-01 -1.76571E-03 -8.16517E-02 9.60198E-02 4.55023E-02 2.41061E-02 -2.29072E00 2.79537E-01 -2.93103E-01 9.96214E-02 6.05999E-01 -2.21863E-01 1.34262E-01 2.23732E-01 -8.41657E-02 1.68582E-01 -3.09146E-01 -1.30223E-01 -8.68109E-02 2.28268E00 5.94163E-01 6.68800E-02 -4.85531E-01 -7.51422E-01 1.37632E-01 -1.39500E-01 -2.87506E-01 -2.91433E-02 2.08358E-01 1.25655E-01 -8.00962E-02 1.15877E-01 -FloatFrame 39 -2.80104E00 -1.66397E-01 -7.37484E-02 2.84344E-01 1.80848E-01 2.89637E-01 1.21900E-01 1.97639E-01 4.27073E-02 -3.53161E-02 7.26388E-02 9.75632E-02 1.06430E-02 -1.12632E00 3.59772E-02 -1.20142E-01 -3.09846E-02 1.42167E-01 -3.13321E-02 -3.04377E-03 2.59263E-02 -6.28663E-02 1.48746E-01 -3.63369E-02 2.62037E-03 6.95412E-02 2.01350E00 -3.08247E-01 8.28620E-02 -5.63414E-02 -4.85712E-01 2.66781E-01 -3.78132E-01 -4.01188E-01 8.25309E-02 -2.79870E-02 4.21284E-01 8.37222E-02 9.23238E-02 -FloatFrame 39 -2.97124E00 -1.31448E-01 -1.06162E-01 3.57635E-01 1.13412E-01 2.17120E-01 1.05105E-01 1.78815E-01 -6.20287E-03 1.71501E-01 3.36864E-02 -1.03563E-01 2.63400E-03 -2.77222E-01 -2.87096E-02 -2.10241E-01 4.32801E-02 1.20286E-01 4.49183E-02 -2.43870E-01 -1.77457E-01 -1.63487E-03 1.40595E-01 1.12138E-01 -4.65003E-02 5.51288E-03 7.06779E-01 -4.18106E-01 -2.71174E-01 -2.22396E-01 -1.71523E-01 -1.35763E-01 -6.70949E-02 -9.75195E-02 5.92799E-02 3.98498E-02 1.81118E-01 -1.30107E-02 -2.33598E-02 -FloatFrame 39 -3.14629E00 -2.62623E-01 -1.21663E-03 3.12371E-01 4.09612E-02 2.44138E-01 1.96549E-01 1.05962E-01 6.89533E-02 6.68485E-03 1.50671E-01 8.19334E-02 5.23493E-02 -4.19544E-01 -3.82129E-01 -3.91317E-01 -2.53381E-01 -2.93560E-02 -1.67095E-01 -7.01386E-02 -7.15932E-02 -3.58649E-03 1.88595E-01 1.44782E-01 -1.03903E-02 4.61814E-02 -2.14415E-01 -2.49809E-01 1.88784E-01 -8.44059E-02 -2.38456E-02 -4.88768E-02 3.37713E-01 1.95209E-01 1.37377E-01 -2.72209E-01 -1.07700E-01 1.82322E-01 4.86716E-02 -FloatFrame 39 -2.75687E00 -1.33023E-01 -1.65950E-01 2.50612E-01 2.74310E-01 1.85367E-01 2.50804E-02 4.88729E-02 -3.40058E-03 5.89429E-02 2.08157E-01 -9.98023E-04 2.96190E-02 -4.91637E-01 -2.78519E-01 -2.14571E-02 -4.11258E-02 9.64407E-02 -3.95853E-03 9.38429E-02 1.77519E-02 1.35742E-01 -1.31614E-01 4.43757E-03 1.35822E-01 5.41845E-02 3.16134E-01 2.73349E-01 3.49713E-01 3.44518E-01 2.53750E-01 8.24768E-02 1.42644E-01 3.43736E-02 -4.86356E-02 -3.12794E-01 -1.71002E-01 -3.76487E-02 3.02441E-02 -FloatFrame 39 -3.22058E00 -5.48527E-01 -4.65065E-01 3.09626E-02 1.51492E-01 1.22542E-01 5.17610E-02 1.26045E-01 3.91208E-02 1.53279E-01 2.17420E-01 8.71729E-02 5.68244E-02 -1.03411E-01 -1.08780E-01 -4.16037E-02 9.11366E-02 2.24394E-01 -8.46187E-02 7.25058E-02 -3.72196E-02 -5.22221E-02 -1.24198E-01 -2.62205E-02 -4.80390E-02 7.64254E-02 -1.21954E-01 -1.83148E-01 -5.62005E-02 -1.35284E-01 -3.45956E-01 2.17933E-04 5.86577E-02 -4.76288E-02 -8.15461E-02 1.19843E-01 -1.20877E-01 -1.57778E-01 -1.18121E-01 -FloatFrame 39 -3.46288E00 -4.09967E-01 -1.27619E-01 3.16509E-01 2.09853E-01 2.13162E-01 1.98948E-01 1.96567E-01 1.29540E-01 3.98870E-02 3.81239E-02 3.22589E-02 5.68185E-02 -6.13592E-01 -4.61666E-01 -7.76576E-02 -1.76410E-01 -2.49515E-01 -3.74060E-03 1.52501E-01 -2.98768E-02 5.41964E-02 -1.17712E-02 -1.16439E-01 -2.19560E-02 -6.39367E-02 -5.31962E-01 -1.74676E-01 2.74942E-01 6.77380E-02 -2.85466E-01 3.09425E-01 -3.52863E-02 2.69798E-02 2.40843E-01 1.18493E-01 -2.25294E-01 1.18656E-02 4.13692E-02 -FloatFrame 39 -3.24970E00 -3.71403E-01 -4.28204E-02 4.03508E-01 2.65355E-01 1.59519E-01 2.69055E-01 6.87426E-02 1.67312E-02 -1.17513E-01 1.24451E-01 3.38944E-02 1.28775E-01 -6.35373E-01 -2.83456E-01 2.33338E-01 1.58875E-01 -6.10727E-02 2.24806E-01 3.72195E-02 -1.02398E-02 1.88621E-01 -5.70489E-03 -2.51515E-01 -3.61734E-02 1.17795E-01 2.17431E-01 1.67451E-01 -1.00745E-01 -1.53651E-01 1.65631E-01 1.00084E-01 -1.62845E-01 -1.22231E-01 -3.26857E-02 5.41684E-02 1.84601E-01 9.23604E-02 1.41179E-01 -FloatFrame 39 -3.37046E00 -5.94689E-01 -2.43608E-01 7.42017E-02 2.47948E-02 1.81627E-01 1.77581E-01 1.89960E-02 5.07958E-02 4.71717E-02 9.17182E-02 -2.29540E-02 -3.43178E-02 -3.96160E-01 -2.94216E-01 -1.78402E-01 -3.30061E-01 -8.38837E-02 9.63431E-02 -1.03441E-02 -1.52108E-01 2.15107E-02 4.23972E-02 6.81619E-02 7.04045E-02 7.72418E-02 -3.28939E-01 -2.58627E-01 -4.76705E-01 -3.71365E-01 1.24086E-02 -1.74581E-02 -2.36239E-01 -8.55916E-02 -2.35547E-01 1.57046E-01 1.84970E-01 1.49690E-01 -1.77802E-02 -FloatFrame 39 -3.85595E00 -8.31982E-01 -2.31727E-01 1.89837E-01 9.04195E-02 3.47348E-01 8.89805E-02 1.15806E-01 2.27742E-01 1.47575E-01 -3.40945E-02 5.09994E-02 1.74619E-01 -9.64312E-01 -5.42083E-01 -2.43366E-01 -2.12491E-01 -4.86641E-02 2.07348E-01 -1.99020E-01 -9.58314E-02 -4.69260E-02 1.51341E-01 -6.65448E-02 1.13517E-01 1.00014E-01 -5.74623E-01 -5.33059E-02 6.48197E-02 3.91887E-01 2.16679E-01 1.01648E-01 -2.37790E-02 1.88727E-01 -3.40051E-02 -1.42479E-01 -5.22490E-02 1.09039E-01 1.82260E-01 -FloatFrame 39 -3.85904E00 -7.04182E-01 -3.06021E-01 -1.35524E-02 1.25969E-01 3.09505E-01 1.88604E-01 4.44587E-02 1.51050E-01 8.22842E-02 1.06286E-01 1.02663E-01 1.34060E-01 -9.70784E-01 -3.47521E-01 -1.13583E-01 6.18253E-02 1.32795E-01 1.97991E-01 -3.41231E-02 3.66188E-02 -1.24944E-02 -1.00082E-01 1.59129E-02 1.79443E-01 2.59501E-01 1.00986E00 6.01028E-01 1.95896E-01 1.68574E-01 2.51785E-02 -2.43901E-01 3.65160E-01 1.35135E-01 -5.56156E-02 -2.57110E-01 1.60690E-01 -1.01391E-01 -2.08785E-01 -FloatFrame 39 -4.21401E00 -9.13485E-01 -2.86187E-01 1.91017E-01 2.16691E-01 3.66868E-01 7.00353E-02 -2.70888E-02 -3.01948E-02 3.38278E-02 5.79062E-02 1.47411E-01 2.28789E-01 4.55441E-02 5.89453E-02 -4.74699E-02 -4.39173E-02 -2.34857E-02 -3.65530E-02 1.66140E-01 3.93032E-02 -1.02542E-01 -1.05769E-01 9.41456E-02 1.21254E-02 -1.08770E-01 6.39198E-01 1.46653E-01 1.11555E-01 -8.99278E-02 -2.70078E-01 -3.41645E-01 -4.71512E-02 2.04565E-03 -6.69711E-03 1.15027E-01 -1.40638E-01 -2.56593E-01 -3.38862E-01 -FloatFrame 39 -4.34124E00 -9.42211E-01 -3.57191E-01 1.36027E-01 1.57590E-01 3.79618E-01 1.43458E-01 5.56148E-02 3.83014E-02 -5.29103E-02 1.07631E-01 1.56489E-01 2.25184E-01 -3.31585E-01 -2.00869E-01 -2.02725E-03 -2.81025E-02 -1.37283E-01 -1.43654E-01 -8.12743E-02 3.86644E-02 -1.91915E-02 1.49451E-02 -1.24725E-01 -7.71500E-02 -7.93603E-02 1.15602E-01 -2.63427E-02 -3.45142E-02 -1.66792E-01 -1.22755E-01 -6.56916E-02 -1.36301E-01 1.72187E-01 3.95432E-01 2.27449E-01 3.24870E-02 -2.40658E-02 -4.94299E-02 -FloatFrame 39 -3.81041E00 -7.73037E-01 -2.79197E-01 1.45920E-01 6.69339E-02 3.10795E-01 2.55120E-01 1.55109E-01 1.25201E-01 4.18056E-02 6.00511E-02 6.31249E-02 6.58486E-02 1.61147E-01 3.26027E-02 -8.19842E-02 -2.10710E-01 -1.46241E-01 -1.02245E-01 2.98392E-02 2.11490E-01 2.92890E-01 1.21680E-01 1.26633E-01 -1.19404E-02 -1.58200E-01 6.32676E-01 3.69562E-01 2.46832E-01 -1.10750E-01 1.73367E-01 8.86471E-02 3.55919E-02 1.91768E-02 2.38567E-01 2.06880E-01 2.24391E-01 3.86406E-02 -1.58478E-02 -FloatFrame 39 -4.19062E00 -9.05051E-01 -3.08049E-01 -4.16548E-02 -1.13131E-02 1.65851E-01 1.07330E-01 8.31231E-02 1.31859E-01 9.72293E-02 -1.84391E-02 2.55133E-02 5.47000E-02 3.01091E-01 1.68693E-01 2.44805E-01 -1.38853E-01 3.60849E-02 -5.50065E-02 -4.56824E-02 5.78412E-02 2.19375E-01 2.21825E-01 9.96663E-02 -3.85095E-02 -9.52081E-02 -5.68069E-01 -1.68661E-01 7.28618E-02 1.43424E-01 3.29270E-01 4.81995E-02 -5.99477E-02 -1.25381E-01 -2.67685E-01 3.79485E-02 -4.61372E-02 9.04906E-02 2.28275E-01 -FloatFrame 39 -4.05286E00 -8.80883E-01 -3.68171E-01 -1.96928E-02 7.04500E-02 2.64623E-01 9.98745E-02 1.84401E-01 2.62696E-01 1.55508E-01 1.84539E-01 1.35471E-01 7.05887E-02 -4.06922E-01 -1.36059E-01 -9.12241E-03 -6.72851E-02 1.83030E-01 -5.40451E-02 -3.01085E-02 8.61089E-02 2.52050E-02 1.59628E-01 8.04954E-02 7.85502E-02 7.00745E-02 -2.05376E-01 -5.79060E-02 -9.92389E-02 3.00729E-01 2.20835E-01 3.10104E-01 1.02432E-01 4.77455E-02 -2.72688E-01 -2.94495E-01 -1.16129E-01 1.52360E-01 -1.75105E-02 -FloatFrame 39 -4.04015E00 -7.73518E-01 -1.12386E-01 -2.82575E-03 1.93675E-01 3.24611E-01 9.77755E-02 1.13456E-01 2.57677E-01 1.68915E-01 2.07297E-01 1.17980E-01 1.29976E-01 9.57154E-02 1.10787E-01 1.45566E-01 1.61876E-01 2.56920E-01 2.55098E-01 5.67494E-02 1.05587E-01 -5.33125E-02 -7.26694E-02 -1.64629E-02 1.13850E-01 -1.12719E-01 1.23834E-01 9.58967E-02 1.71268E-01 2.04348E-01 -1.34868E-01 1.01680E-01 1.22683E-02 -1.74930E-01 -2.01060E-01 -2.51978E-01 -9.60316E-02 -2.19749E-02 -3.68961E-02 -FloatFrame 39 -4.21733E00 -9.09096E-01 -2.88319E-01 7.86348E-02 2.49963E-01 2.56750E-01 2.25012E-01 2.41218E-01 1.50406E-01 2.01434E-01 1.40547E-01 1.41675E-01 1.35923E-01 -2.83089E-01 -4.01619E-02 1.62146E-01 1.37063E-01 4.81619E-02 4.76350E-02 -1.78403E-02 -8.88207E-02 -1.75855E-01 -9.23497E-02 -1.55361E-02 5.65752E-02 3.31784E-02 -2.80967E-01 -2.56609E-01 -3.34274E-01 -3.93322E-02 -3.44201E-01 -2.31150E-01 -1.11286E-02 -2.52605E-01 -2.01612E-01 -9.45555E-02 -1.73381E-01 -1.34669E-01 1.53713E-01 -FloatFrame 39 -4.09491E00 -7.94264E-01 -1.62483E-01 1.20221E-01 2.45606E-01 4.20949E-01 1.64079E-01 1.88710E-01 7.85464E-02 2.45599E-02 -3.49019E-02 1.39363E-01 -5.80186E-02 -1.85252E-01 -1.45823E-01 -1.88708E-01 1.22544E-01 -8.72810E-02 2.39480E-02 4.56208E-02 -1.47018E-01 -2.54925E-01 -1.67225E-01 -1.89844E-01 -2.08193E-02 4.09944E-02 1.86724E-01 -5.96216E-02 -1.64036E-01 -1.27690E-01 -2.01046E-01 -1.40703E-01 -5.79361E-02 -2.18216E-01 1.13845E-03 -2.32425E-02 -1.82036E-01 -3.86734E-03 1.34767E-01 -FloatFrame 39 -4.33595E00 -9.21045E-01 -2.06025E-01 1.17370E-01 1.18612E-01 3.12258E-01 8.20342E-02 9.55804E-02 8.68412E-02 6.31578E-02 1.69003E-01 1.92046E-01 1.03767E-01 -9.63650E-02 -9.97835E-02 -1.89029E-03 9.37313E-03 -1.52884E-01 -9.30679E-02 -7.57763E-02 -3.07036E-01 -1.74716E-01 -1.15592E-01 -1.97572E-01 5.27079E-02 1.67945E-01 -2.97364E-02 1.57812E-01 1.35621E-02 -1.14254E-01 -1.90337E-02 -2.53184E-01 -4.13086E-02 -1.35496E-02 3.34820E-01 3.04360E-01 3.87610E-01 2.21610E-01 2.06129E-01 -FloatFrame 39 -4.22540E00 -9.19340E-01 -3.01094E-01 1.19718E-01 1.06394E-01 3.48559E-01 1.43396E-01 -3.35620E-02 2.75195E-03 1.68993E-03 1.74540E-02 9.71605E-02 1.70970E-01 -2.14988E-01 1.19892E-02 -1.75146E-01 8.28981E-03 -1.06315E-01 -2.29236E-01 4.31218E-03 -1.60568E-01 7.98949E-02 1.37135E-01 1.97766E-01 2.00791E-01 2.47124E-01 1.90113E00 -1.59818E-01 2.71179E-01 2.31637E-03 6.20132E-02 4.08846E-02 -1.26580E-01 4.27361E-01 9.53803E-02 1.06088E-01 3.86045E-02 -2.64837E-01 -2.36709E-01 -FloatFrame 39 -4.31370E00 -1.00888E00 -2.90209E-01 8.80080E-02 9.70794E-02 1.63682E-01 1.49236E-01 -6.58185E-02 -2.43105E-02 8.58416E-02 -5.70256E-02 1.94383E-01 3.03868E-01 1.80476E00 -2.59601E-01 2.69289E-01 1.16895E-02 -9.08707E-02 -5.21833E-02 -2.02356E-01 1.20325E-01 -7.93358E-02 -9.50465E-03 -1.58968E-01 -2.12130E-01 -6.87637E-02 3.38929E00 -9.77150E-01 9.04262E-01 -1.93550E-01 -5.51343E-02 1.76699E-01 -2.34138E-01 3.59212E-01 -5.80831E-02 -8.63305E-02 -2.44060E-01 -3.12170E-01 -4.68870E-01 -FloatFrame 39 -4.30990E00 -7.82275E-01 -3.37629E-01 1.28511E-01 1.39292E-01 1.91713E-01 1.68391E-01 2.81423E-02 1.58441E-01 1.61695E-01 1.62864E-01 3.40154E-01 1.89105E-01 3.17430E00 -9.65161E-01 7.29116E-01 -1.85260E-01 -1.61449E-01 -5.25361E-02 -2.29826E-01 1.98644E-01 2.18118E-02 5.08043E-02 -4.62939E-02 -1.11380E-01 -2.21746E-01 -2.33622E-01 -6.85655E-01 5.16714E-01 -1.62759E-01 7.70637E-02 3.73042E-01 7.41130E-02 2.25508E-01 2.79174E-01 -7.81332E-03 1.73133E-01 1.36381E-01 -9.57032E-02 -FloatFrame 39 -2.53119E00 -1.18065E00 6.32643E-02 1.29060E-01 2.77412E-02 2.60075E-01 -1.20322E-01 2.15906E-01 7.50533E-03 5.36531E-02 1.00350E-02 -2.00836E-02 3.50034E-02 1.57114E00 -9.45256E-01 7.86004E-01 -1.51069E-01 -1.38070E-02 3.20859E-01 -1.28243E-01 3.45833E-01 1.99838E-01 -1.73180E-02 1.41655E-02 -7.57489E-02 -1.64467E-01 -2.70296E00 9.00418E-01 -3.82945E-01 1.64228E-01 2.38657E-01 1.08078E-01 1.76483E-01 -1.65175E-01 -3.63161E-03 -1.07587E-01 -6.67803E-02 -1.44802E-01 2.91747E-01 -FloatFrame 39 -1.05110E00 -1.88450E00 4.28021E-01 -6.55423E-02 -5.50553E-02 2.96023E-01 -8.64294E-02 1.65082E-01 2.45637E-02 5.24942E-02 -2.88399E-02 -1.42192E-02 -5.07762E-02 4.71344E-01 -6.47429E-02 3.46171E-01 -2.10319E-02 7.72083E-02 5.55419E-02 -5.33423E-02 3.34695E-02 1.81802E-02 -5.67823E-02 -1.13074E-01 -2.56182E-01 7.00012E-02 -2.64029E00 1.47838E00 -8.68438E-01 1.23250E-01 1.48193E-01 -4.63399E-01 3.63212E-01 -4.07789E-01 -6.23080E-02 3.47988E-02 1.18863E-02 1.48787E-01 1.74575E-01 -FloatFrame 39 -2.74256E00 -1.95414E00 4.95794E-01 -6.30613E-02 8.32724E-02 4.84541E-01 2.09926E-02 2.80014E-01 1.75528E-01 6.85236E-02 -4.28601E-02 1.18634E-01 1.39401E-01 -1.06915E00 5.33128E-01 -8.24343E-02 -2.78188E-02 1.34386E-01 -1.42539E-01 2.34969E-01 -6.19566E-02 1.37530E-01 1.74808E-02 2.60518E-02 7.30381E-02 1.01084E-02 -3.60774E00 1.09437E00 -1.02362E00 2.36519E-01 -4.44326E-03 -1.08058E-01 2.28436E-01 -6.58835E-03 1.93308E-01 1.26604E-01 1.70770E-01 3.26877E-01 1.56720E-01 -FloatFrame 39 -3.83855E00 -8.47018E-01 8.54172E-03 1.07479E-01 2.16500E-01 2.47255E-01 1.15049E-01 6.16118E-02 1.76621E-01 1.04912E-01 4.97904E-02 8.39725E-02 2.59106E-01 -3.13640E00 1.02962E00 -6.77446E-01 2.15487E-01 7.27650E-02 -5.25158E-02 1.75094E-01 2.68812E-02 2.11488E-01 6.98212E-02 5.76962E-02 7.06957E-02 2.26721E-01 -2.60128E-01 6.88880E-01 -5.20149E-01 3.15860E-01 -6.28673E-02 -8.15131E-02 -1.89768E-01 -2.20990E-01 -1.11510E-01 -4.83968E-02 8.41607E-02 -6.35220E-02 -1.37787E-02 -FloatFrame 39 -3.60033E00 -6.47518E-01 -1.91699E-02 1.01241E-01 1.62127E-01 1.17535E-01 1.14647E-01 1.53949E-01 1.45036E-01 7.11339E-02 3.60868E-02 5.29545E-02 4.51118E-02 -1.32927E00 1.22201E00 -6.02583E-01 2.88041E-01 7.15190E-02 -2.24053E-01 4.52011E-02 -2.82946E-01 2.60208E-02 -3.09160E-02 1.10213E-01 9.51608E-03 -3.67029E-03 2.90312E00 -9.14732E-01 5.62116E-01 -9.79860E-02 -1.34474E-01 6.57491E-02 -2.23949E-01 -9.14249E-02 -1.86561E-01 -1.37126E-01 -4.01341E-02 -2.65182E-02 -3.50096E-01 -FloatFrame 39 -4.18750E00 -8.54879E-01 -2.49425E-01 1.49945E-01 1.77097E-02 2.43508E-01 8.86646E-02 1.91963E-01 2.36052E-01 1.22315E-01 2.88563E-02 5.64765E-02 1.75945E-01 -2.33280E-01 1.14890E-01 -1.15330E-01 1.17501E-01 -6.17086E-02 1.32334E-02 -4.88555E-02 -6.45438E-02 2.49272E-02 -6.73048E-02 1.75621E-02 4.41776E-02 -1.23375E-01 8.57777E-01 -1.30662E00 5.14964E-01 -1.64302E-01 -7.88550E-02 3.67006E-01 -9.36545E-02 1.26065E-01 3.04921E-02 -2.61031E-03 -7.89469E-02 6.56795E-02 9.42896E-02 -FloatFrame 39 -4.07183E00 -7.32127E-01 -1.06789E-01 2.24980E-01 1.54791E-01 2.60489E-01 6.61936E-02 -2.93198E-03 2.01549E-01 3.76076E-02 6.73525E-02 1.28150E-01 1.35731E-01 -4.71498E-01 -8.46096E-02 -8.76188E-02 1.23739E-01 -7.33607E-03 1.42953E-01 -4.84535E-02 -1.56881E-01 5.65129E-02 -3.35263E-02 3.12656E-02 7.51956E-02 9.06193E-02 3.48944E-01 7.86116E-03 2.57967E-01 -4.24656E-02 1.98790E-01 3.74778E-03 2.63845E-02 -1.30352E-01 -5.94308E-02 -1.74030E-02 2.09341E-02 2.74960E-02 8.31616E-02 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -FloatFrame 39 -4.07183E00 -7.32127E-01 -1.06789E-01 2.24980E-01 1.54791E-01 2.60489E-01 6.61936E-02 -2.93198E-03 2.01549E-01 3.76076E-02 6.73525E-02 1.28150E-01 1.35731E-01 1.15664E-01 1.22751E-01 1.42637E-01 7.50354E-02 1.37082E-01 1.69811E-02 -2.24710E-02 -1.94895E-01 -3.45036E-02 -8.47078E-02 3.84962E-02 7.16736E-02 -4.02137E-02 2.56435E-01 3.01708E-02 4.98204E-03 -2.51990E-01 -8.37593E-02 -2.48536E-01 3.22535E-02 2.39961E-01 -8.70324E-02 -4.89779E-03 -6.87926E-02 -5.85120E-02 -1.65779E-01 -FloatFrame 39 -4.07183E00 -7.32127E-01 -1.06789E-01 2.24980E-01 1.54791E-01 2.60489E-01 6.61936E-02 -2.93198E-03 2.01549E-01 3.76076E-02 6.73525E-02 1.28150E-01 1.35731E-01 -2.15063E-01 -5.44388E-02 -8.26368E-02 -1.28251E-01 -9.10954E-02 -1.05583E-01 -1.61999E-02 8.30798E-02 -3.05195E-02 -3.84241E-02 -3.75270E-02 1.66836E-02 -7.51597E-02 -2.54527E-01 -1.86522E-01 -1.76072E-01 -2.78356E-01 -1.60700E-01 2.93216E-02 9.46985E-02 2.12169E-01 3.56269E-03 9.88184E-02 -3.48170E-02 -1.62522E-01 -4.06314E-02 -FloatFrame 39 -4.07183E00 -7.32127E-01 -1.06789E-01 2.24980E-01 1.54791E-01 2.60489E-01 6.61936E-02 -2.93198E-03 2.01549E-01 3.76076E-02 6.73525E-02 1.28150E-01 1.35731E-01 -1.38863E-01 -6.37705E-02 -3.34350E-02 -2.03321E-01 -2.36183E-02 4.63028E-02 7.22275E-02 1.72735E-02 -3.09409E-02 1.41106E-02 3.67923E-03 -9.08486E-02 -8.08451E-02 1.98518E-01 1.14021E-02 1.11047E-02 -6.29584E-02 -5.12935E-02 8.34940E-02 1.76570E-01 -7.77802E-02 -5.71148E-02 1.45448E-01 2.01456E-01 7.44581E-02 -1.65227E-02 -FloatFrame 39 -4.28689E00 -7.86566E-01 -1.89425E-01 9.67291E-02 6.36960E-02 1.54906E-01 4.99937E-02 8.01478E-02 1.71029E-01 -8.16576E-04 2.98255E-02 1.44834E-01 6.05714E-02 -1.65456E-02 -4.30366E-02 -7.15320E-02 -1.91209E-01 -1.42389E-01 -2.20886E-02 1.60370E-01 5.29958E-03 -8.76343E-02 1.07024E-01 1.63929E-01 9.11417E-02 -9.16824E-02 -1.99103E-01 -2.29163E-01 -8.33766E-02 -6.17762E-03 -5.42578E-02 2.49027E-02 7.79846E-02 9.02811E-02 4.03504E-02 1.90784E-02 1.33173E-01 1.71208E-01 2.65197E-02 -FloatFrame 39 -4.21069E00 -7.95898E-01 -1.40224E-01 2.16595E-02 1.31173E-01 3.06791E-01 1.38421E-01 1.43415E-02 1.70608E-01 5.17181E-02 7.10317E-02 3.73015E-02 5.48861E-02 -3.37965E-01 -2.92933E-01 -1.16812E-01 -2.09498E-01 -7.78761E-02 7.12055E-02 1.50212E-01 1.07555E-01 9.40955E-03 3.31889E-02 1.36852E-01 8.03598E-02 -5.43254E-02 -6.53241E-02 5.35567E-02 1.59707E-01 1.77180E-01 2.09098E-01 2.02328E-01 1.34066E-01 1.47539E-01 2.01912E-01 7.00214E-02 -1.00431E-01 -2.23130E-03 7.81905E-02 -FloatFrame 39 -4.08838E00 -7.75164E-01 -1.78321E-01 3.37707E-02 1.24026E-02 2.38400E-01 2.26564E-01 2.36760E-03 1.13914E-01 1.44632E-01 2.31282E-01 2.19292E-01 4.40487E-02 -8.18697E-02 1.05201E-02 8.81749E-02 -1.40294E-02 6.67088E-02 1.80239E-01 2.94437E-01 1.52839E-01 1.14277E-01 1.77045E-01 6.34986E-02 8.89104E-02 -1.34919E-02 2.07406E-01 2.17230E-01 1.26866E-01 2.78929E-01 3.86485E-02 -4.36961E-02 -1.46110E-01 3.49952E-02 1.38949E-02 -2.53560E-02 -1.32408E-01 1.21088E-01 8.60761E-02 -FloatFrame 39 -4.40980E00 -1.02506E00 -2.23600E-01 1.54819E-02 7.69153E-02 3.31694E-01 2.16406E-01 1.04623E-01 2.10958E-01 7.07965E-02 2.04205E-01 2.08510E-01 8.14057E-02 -1.30559E-01 -7.57037E-02 1.00548E-02 6.94307E-02 -3.92276E-02 2.75094E-02 4.10219E-03 1.42550E-01 2.33044E-02 7.83291E-03 4.44450E-03 2.01448E-01 3.17507E-02 3.62213E-01 2.03274E-01 1.07965E-01 1.96765E-01 1.58530E-01 -8.01135E-02 -1.84148E-01 8.64775E-03 -8.86472E-02 -3.53209E-01 -2.81809E-01 -1.21689E-01 1.52870E-01 -FloatFrame 39 -4.36876E00 -7.76046E-01 -1.01251E-01 8.26997E-02 1.30405E-01 3.35145E-01 3.44430E-01 2.32987E-01 2.85306E-01 1.76229E-01 9.33241E-02 2.33744E-01 4.70795E-02 2.80343E-01 2.13794E-01 1.96140E-01 1.82735E-01 2.25239E-01 1.00125E-01 1.10288E-01 1.61486E-01 2.56301E-02 -1.76164E-01 -2.18310E-01 -3.27786E-02 1.39379E-01 2.16874E00 1.21393E00 1.67579E-01 3.57793E-01 2.74178E-01 -2.95192E-01 6.23123E-02 -2.56502E-01 -4.74188E-01 -2.41706E-01 -6.25032E-02 -3.69010E-01 -1.74118E-02 -FloatFrame 39 -4.34125E00 -8.71602E-01 -1.30169E-01 9.10902E-02 9.19454E-02 3.34301E-01 1.42523E-01 1.56891E-01 1.93912E-01 5.95510E-02 7.54762E-02 2.38749E-01 8.66367E-02 2.03818E00 1.13823E00 1.77633E-01 4.27224E-01 2.34951E-01 -2.67683E-01 6.64145E-02 -1.13952E-01 -4.50884E-01 -2.33873E-01 -5.80587E-02 -1.67562E-01 1.43388E-02 1.00259E00 3.20828E-01 3.75775E-03 4.88054E-02 -1.06058E-01 -1.55522E-01 -1.52202E-01 -3.01253E-01 -4.15105E-01 -3.11520E-02 2.34572E-01 -2.47609E-01 -1.85950E-01 -FloatFrame 39 -3.80803E00 -5.61370E-01 1.78193E-02 2.16506E-01 2.37641E-01 3.38525E-01 3.36852E-01 1.63854E-01 1.39544E-01 -3.15324E-02 1.29714E-02 1.86513E-01 1.83427E-01 1.28293E00 5.34621E-01 1.99898E-01 2.31541E-01 1.19181E-01 -5.53967E-02 -4.19135E-02 -1.39767E-01 -3.89475E-01 -2.07316E-01 1.62620E-02 -2.80388E-01 -4.65717E-02 2.64767E-01 -8.92317E-01 -5.06178E-02 -7.46553E-02 4.09411E-02 1.17581E-01 -3.21562E-01 6.00823E-02 2.47696E-01 2.53960E-01 -1.32330E-01 -4.11741E-03 -3.74740E-02 -FloatFrame 39 -2.37162E00 1.13167E-01 -4.59669E-02 4.42706E-01 3.11866E-01 6.40115E-02 2.82820E-01 -9.32932E-03 -2.39925E-01 -1.63076E-01 1.46146E-01 4.09478E-02 9.57446E-02 2.30294E00 2.45911E-01 1.27016E-01 3.52569E-01 2.75892E-01 -1.50102E-01 -2.55148E-01 -5.38696E-02 -2.03187E-01 2.00867E-02 -1.90389E-01 -1.71680E-01 -2.31352E-02 4.34788E00 2.53744E-02 -6.06199E-01 1.20695E-01 -4.42336E-01 -3.44351E-01 -5.79432E-01 -1.08723E-01 3.01146E-01 4.44522E-01 -9.65122E-02 4.91429E-02 -2.27448E-04 -FloatFrame 39 -3.08583E00 -2.41425E-01 9.86472E-02 3.14240E-01 2.49586E-01 2.79748E-01 3.02517E-01 9.32200E-02 -1.04168E-01 -3.10871E-02 1.09586E-01 -4.66436E-02 5.07789E-04 5.63081E00 5.59996E-01 -4.06301E-01 3.52236E-01 -3.23155E-01 -3.99747E-01 -6.21346E-01 -2.48489E-01 -8.83292E-02 2.37206E-01 -8.02502E-02 -2.31245E-01 -4.67991E-02 2.46099E00 8.77465E-02 -6.93629E-01 -4.41177E-01 -6.16125E-01 -1.90386E-01 -3.00983E-01 -2.57660E-03 5.59646E-01 3.96364E-01 8.72992E-03 3.56589E-02 1.18223E-01 -FloatFrame 39 -2.03831E00 -6.25690E-01 -3.15329E-03 4.43659E-01 3.67837E-01 1.84199E-01 -1.12624E-01 1.03022E-01 -9.27478E-03 7.96377E-02 -1.14913E-01 6.70700E-02 6.35015E-02 4.76393E00 3.33658E-01 -5.66613E-01 -8.86079E-02 -3.40233E-01 -3.40488E-01 -5.56131E-01 -5.64462E-02 3.56459E-01 4.16450E-01 -1.81659E-01 -1.36021E-01 9.50874E-02 6.96489E-01 2.13187E-01 -3.77669E-01 -5.65651E-01 1.43001E-02 -6.54006E-02 1.30428E-01 1.26586E-02 2.86507E-01 2.59393E-01 -1.94808E-01 2.95623E-01 6.07969E-02 -FloatFrame 39 1.82278E00 -1.37459E-03 -3.88482E-01 5.68742E-01 -8.55142E-02 -6.12218E-02 -2.84493E-01 -8.46350E-02 5.12153E-02 2.05674E-01 -6.72788E-02 -4.47317E-02 1.36628E-01 6.32730E00 7.73183E-01 -7.83971E-01 -2.13415E-01 -3.08855E-01 -4.65148E-01 -4.90918E-01 -2.35831E-01 1.98178E-01 4.96599E-01 -2.75058E-01 6.43781E-02 1.39977E-02 9.95131E-01 8.61124E-01 -2.29332E-01 -4.08015E-01 -6.09845E-02 -5.23319E-02 4.98251E-01 -6.44093E-02 -2.88461E-01 -4.28886E-02 1.39101E-01 1.32898E-01 -2.48537E-01 -FloatFrame 39 2.39231E00 4.46825E-01 -6.12580E-01 3.54098E-01 -2.83672E-02 -2.76477E-01 -2.73310E-01 -6.57756E-02 1.16534E-01 2.53374E-01 -3.55131E-02 -9.50728E-02 1.90832E-01 5.75906E00 1.19478E00 -7.95945E-01 -4.96623E-01 -4.01218E-01 -3.92820E-01 -5.78793E-02 -1.20856E-01 6.79983E-02 3.73562E-01 -4.25583E-02 -3.12296E-03 -1.53450E-01 -4.13330E00 -2.06116E-01 3.47129E-01 -5.62447E-01 3.69858E-01 4.06193E-01 6.29077E-01 2.76707E-01 -1.21450E-01 -2.74388E-01 2.42202E-01 3.79549E-02 -3.30981E-01 -FloatFrame 39 3.24147E00 5.31758E-01 -6.85324E-01 1.00825E-01 -5.92695E-02 -1.85400E-01 -1.88401E-01 -1.42611E-01 9.40095E-02 4.65512E-01 -1.65472E-01 1.77345E-02 1.45055E-02 2.19400E00 5.67067E-01 -4.36841E-01 -7.75862E-01 6.10033E-02 -5.89549E-02 1.38159E-01 4.08765E-02 7.67283E-02 2.22211E-01 -3.28566E-02 1.02333E-01 -3.16983E-01 -4.06157E00 -1.03572E00 5.85395E-01 -1.49159E-01 3.99431E-01 5.50314E-01 3.04928E-01 1.13501E-01 -1.72180E-01 -3.88845E-02 -4.53395E-02 1.58449E-01 -2.93276E-01 -FloatFrame 39 3.72075E00 5.69091E-01 -7.99098E-01 -5.29641E-02 -3.33805E-02 -2.08621E-01 -1.70504E-01 -1.78338E-02 5.87236E-02 4.53200E-01 -1.57471E-01 6.39470E-02 -8.99485E-02 1.69749E00 1.59064E-01 -2.10550E-01 -6.45782E-01 -1.78687E-03 1.57494E-01 2.47049E-01 -7.35437E-03 -1.04182E-01 3.34677E-01 -8.78978E-02 1.55326E-01 -4.46726E-01 -1.15237E00 -6.29017E-01 4.09145E-01 2.83148E-01 -3.08140E-02 1.92231E-01 8.48817E-03 4.90116E-02 -2.03704E-01 -4.85530E-02 7.96683E-02 -1.46744E-01 1.22231E-01 -FloatFrame 39 4.01678E00 5.65692E-01 -8.25324E-01 -2.07121E-01 -2.45110E-02 -1.20177E-01 -1.46334E-01 -4.37585E-02 1.27944E-01 4.27885E-01 -1.00135E-01 5.76013E-02 -1.80355E-01 1.04164E00 -6.19502E-02 -2.76961E-02 -4.92715E-01 3.01892E-02 1.33276E-01 1.46647E-01 8.98882E-02 -1.26976E-01 1.73658E-01 4.68117E-02 -4.44115E-02 -1.94752E-01 -1.12259E00 -2.64087E-01 2.43529E-01 3.96395E-01 8.31472E-03 1.48384E-03 -1.84750E-01 1.59670E-02 -2.24898E-03 -1.38593E-01 1.24389E-01 -2.73417E-01 3.73075E-01 -FloatFrame 39 4.08981E00 6.05889E-01 -8.23130E-01 -2.91684E-01 -3.01541E-02 -1.18982E-01 -2.62613E-02 -7.31299E-02 1.23525E-02 5.88051E-01 -1.23411E-01 6.02530E-02 -2.55894E-01 5.74905E-01 -1.05023E-01 3.29791E-02 -2.49386E-01 6.52785E-03 1.58978E-01 6.22987E-02 8.61267E-03 -1.06431E-01 1.96085E-01 3.64912E-02 -1.18091E-01 -7.36511E-02 -7.98673E-01 -6.18745E-02 1.30506E-01 3.71632E-01 3.61890E-02 -5.36161E-02 -2.23860E-01 -1.30395E-02 3.80799E-02 -1.83488E-02 -7.56702E-02 -4.51942E-02 2.12272E-01 -FloatFrame 39 4.28310E00 4.69808E-01 -7.13020E-01 -3.91889E-01 -2.90802E-02 -5.21236E-02 -4.17537E-02 -5.27223E-02 -3.29663E-02 6.39171E-01 -1.18661E-01 -2.66769E-02 -1.80246E-01 2.42964E-01 -1.23825E-01 1.02809E-01 -1.21082E-01 6.63783E-02 7.96598E-02 -7.72134E-02 7.68486E-02 -8.88959E-02 1.55310E-01 -2.88585E-02 -8.96056E-02 1.75209E-02 -4.93405E-01 -4.88738E-02 4.96987E-02 2.61080E-01 1.85529E-01 -1.45986E-01 -4.24836E-01 2.15824E-01 1.74085E-01 -2.99502E-01 3.28992E-02 -4.70503E-02 2.28442E-01 -FloatFrame 39 4.29566E00 4.64068E-01 -7.66119E-01 -3.02351E-01 -2.68527E-02 -4.96424E-02 -1.08205E-01 -9.22114E-03 -4.77071E-02 6.49284E-01 -1.20980E-01 -5.41445E-02 -1.63600E-01 8.14999E-02 -1.53897E-01 8.26778E-02 1.16930E-02 1.92057E-01 1.29926E-02 -3.62537E-01 2.24437E-01 6.76546E-02 -1.03418E-01 6.93903E-02 -1.65142E-01 1.54790E-01 -3.65170E-01 -9.04061E-03 -4.58524E-02 3.04252E-01 1.23948E-01 -1.58637E-01 -2.97578E-01 7.80994E-02 2.64832E-01 -3.17506E-01 -2.46528E-03 3.27775E-02 1.35057E-01 -FloatFrame 39 4.25974E00 4.41868E-01 -7.22514E-01 -3.28203E-01 4.18673E-02 -4.05169E-02 -2.23548E-01 3.30902E-02 3.90477E-02 5.83195E-01 -1.28994E-01 -3.20043E-02 -1.62834E-01 -1.22207E-01 -1.32865E-01 5.69570E-02 1.83169E-01 1.90326E-01 -7.89774E-02 -3.74792E-01 1.54948E-01 1.75936E-01 -1.62196E-01 -3.13238E-02 -5.68281E-02 1.52578E-01 -3.48769E-01 -7.24106E-02 8.46518E-02 2.89524E-01 -1.28202E-01 -2.21437E-02 1.28369E-02 -1.64228E-01 1.70793E-01 -1.58266E-01 -3.08253E-02 7.65361E-03 1.72455E-01 -FloatFrame 39 4.17131E00 4.51991E-01 -7.40452E-01 -2.79991E-01 1.61903E-01 -1.05990E-01 -3.88798E-01 1.51307E-01 8.00072E-02 4.84634E-01 -5.40206E-02 -1.04889E-01 -1.01103E-01 -2.67270E-01 -2.26308E-01 1.67330E-01 3.01217E-01 6.38551E-02 -9.15118E-03 -3.49700E-01 6.02086E-02 2.38448E-01 -2.61683E-01 3.85650E-02 -1.57488E-01 3.27245E-01 -1.25897E00 3.74419E-02 1.40791E-01 1.54397E-01 -1.04148E-01 7.43795E-02 1.62491E-01 -2.05980E-01 -9.77301E-02 -2.72831E-02 1.41229E-01 -1.80932E-01 2.18700E-01 -FloatFrame 39 4.16090E00 3.36943E-01 -6.56063E-01 -2.08720E-01 1.61246E-01 -1.31101E-01 -4.16546E-01 1.02226E-01 1.42969E-01 4.76974E-01 -1.49984E-01 -8.35050E-02 -2.76680E-02 -1.38117E00 -9.54233E-02 1.97748E-01 3.37566E-01 8.61782E-02 -4.59787E-03 -2.12300E-01 -5.10321E-02 7.82056E-02 -1.89480E-01 1.09905E-01 -2.37760E-01 3.71278E-01 -3.56874E00 6.12101E-02 1.43158E-01 3.57729E-01 3.19136E-01 -8.44561E-02 7.76632E-01 -2.61773E-01 -4.70870E-01 7.40685E-03 -8.02806E-02 1.41212E-01 -1.72443E-01 -FloatFrame 39 4.02839E00 2.37760E-01 -5.98790E-01 -1.13393E-03 3.70024E-02 -5.87936E-02 -4.57905E-01 5.09874E-02 1.90740E-01 3.87601E-01 -8.24150E-02 -2.11633E-01 1.63646E-01 -3.83601E00 -1.65098E-01 3.10488E-01 6.58946E-01 3.82991E-01 -9.36073E-02 4.26932E-01 -2.01565E-01 -2.32423E-01 -2.54277E-01 -4.17156E-02 -1.62765E-02 1.54802E-01 -2.45044E00 -1.46103E-01 5.73198E-02 3.85670E-01 1.76394E-01 8.95672E-02 6.64006E-01 -2.69162E-01 -1.32765E-01 -2.27927E-01 -1.12532E-01 1.95822E-01 -3.61496E-01 -FloatFrame 39 2.87857E00 3.46444E-01 -5.24766E-01 9.36316E-03 1.28046E-01 -4.51148E-02 -4.35848E-01 -1.79419E-02 1.17253E-01 3.93715E-01 -1.90884E-02 -2.69764E-01 2.08444E-01 -3.83162E00 -2.41526E-01 2.55068E-01 7.23236E-01 2.62572E-01 8.49693E-02 4.51706E-01 -3.20194E-01 -5.45591E-02 -4.17407E-01 -2.62643E-03 -4.19386E-02 9.78224E-03 1.67617E00 1.93310E-02 -4.30275E-01 -7.66850E-02 -3.59479E-01 2.03532E-01 -7.47904E-02 -4.48309E-01 3.04313E-01 -1.79430E-02 2.46191E-02 7.11021E-02 -3.02682E-01 -FloatFrame 39 3.35298E-01 2.86894E-01 -4.29965E-01 3.78955E-01 5.44894E-01 -1.99597E-01 3.81338E-02 -5.02578E-02 -1.52415E-01 2.30357E-01 -9.57362E-02 -1.21165E-01 5.36988E-02 -2.15984E00 -1.45767E-01 -1.19788E-01 5.82261E-01 2.35117E-02 1.09924E-01 3.52142E-01 -6.49874E-01 7.18909E-02 -2.72220E-01 -1.70964E-02 5.48256E-02 -1.47880E-01 3.93135E00 5.08164E-01 -7.49833E-01 -3.03607E-01 -3.63171E-01 -1.89870E-01 -1.37137E-01 -5.00418E-02 2.27877E-01 3.22917E-01 -2.10301E-01 1.07267E-01 -6.34555E-04 -FloatFrame 39 3.29278E-01 9.54165E-02 -4.00995E-01 5.14516E-01 4.23818E-01 -4.61317E-02 3.51601E-02 -2.17968E-01 8.84104E-02 5.95676E-02 -1.52611E-01 -1.25444E-01 -1.78858E-02 9.97307E-02 2.66637E-01 -4.94765E-01 4.19629E-01 -1.00599E-01 -1.04901E-01 3.14569E-01 -3.70236E-01 1.73318E-01 -9.44891E-02 -2.12927E-01 6.53288E-02 9.14769E-03 5.01504E00 4.76711E-01 -4.71094E-01 -5.79777E-01 -5.81674E-01 -9.08202E-02 -5.50984E-01 4.27450E-01 3.29286E-01 4.08229E-01 -1.50011E-01 -1.59399E-02 1.08290E-01 -FloatFrame 39 1.86855E00 9.19933E-02 -7.18577E-01 5.81127E-01 6.05141E-02 5.11308E-02 -1.05763E-01 -5.98887E-01 2.62631E-01 1.15381E-01 -9.95114E-02 -1.56807E-01 1.57656E-02 2.85520E00 3.30944E-01 -5.90882E-01 2.48362E-03 -5.58162E-01 1.91041E-02 -1.98842E-01 -2.22424E-01 4.01177E-01 1.36010E-01 -1.67107E-01 3.88856E-02 -3.95903E-02 2.62553E00 3.59697E-01 -6.89600E-02 -7.60949E-01 -2.95756E-01 4.11078E-02 -4.59985E-01 3.34638E-01 -2.31268E-01 5.41277E-01 1.72784E-01 -4.07231E-02 -9.10941E-02 -FloatFrame 39 2.97830E00 6.13082E-01 -1.01953E00 4.28992E-01 2.74467E-02 -1.50016E-01 -1.21279E-01 -3.88178E-01 2.90572E-01 2.99226E-01 -2.32016E-01 -2.04436E-01 2.17592E-01 2.72526E00 6.26334E-01 -5.63725E-01 -3.41320E-01 -3.96355E-01 -6.37931E-02 -1.45416E-01 -3.55978E-02 -5.79497E-02 4.46788E-01 -4.01435E-02 2.46057E-02 -8.19465E-02 -1.96519E00 4.03001E-01 5.32797E-01 -6.51795E-01 5.01065E-01 -2.24825E-02 1.60247E-01 7.03139E-01 -8.95983E-01 2.56944E-01 2.76719E-01 -4.98726E-02 3.77211E-02 -FloatFrame 39 3.19050E00 6.17838E-01 -1.02085E00 3.81439E-01 -1.32686E-02 -1.80493E-01 -1.60709E-01 -2.72682E-01 2.48761E-01 3.66367E-01 -2.62843E-01 -8.22797E-02 1.41085E-02 8.90009E-01 7.33945E-01 -5.80846E-02 -6.49312E-01 -5.70971E-02 -3.37839E-03 -3.85953E-02 4.80715E-01 -4.94806E-01 3.92954E-01 1.09612E-01 -1.09870E-02 -1.86920E-03 -3.35465E00 -2.79123E-01 8.95216E-01 -8.56512E-02 1.72284E-01 3.10461E-01 2.58973E-01 2.73353E-01 -4.56306E-01 -3.87898E-01 2.48910E-01 2.36658E-01 -1.37265E-01 -FloatFrame 39 3.05454E00 7.21751E-01 -9.64720E-01 1.73196E-01 2.74633E-02 -1.09925E-01 -1.10256E-01 -2.53566E-01 3.04607E-02 5.06356E-01 -1.92754E-01 -1.00838E-01 -9.98322E-02 -6.29382E-01 3.47211E-01 3.31490E-01 -4.26971E-01 -2.24071E-01 2.46668E-01 1.13557E-01 2.37755E-01 -5.14256E-01 5.88903E-02 2.08767E-01 2.61263E-01 -2.19212E-01 -2.08666E00 -2.89399E-01 4.89124E-01 3.15104E-01 -3.16928E-01 3.93492E-01 2.65028E-01 -3.84677E-01 6.22798E-02 -6.31262E-01 1.32490E-01 2.48484E-01 3.29505E-02 -FloatFrame 39 2.75856E00 8.25939E-01 -7.76662E-01 -6.81847E-02 3.41699E-03 4.77524E-02 -1.44359E-01 -1.18171E-01 -2.32175E-01 5.08335E-01 1.01002E-02 -1.67794E-01 1.38964E-02 -1.19665E00 4.44546E-01 4.31040E-01 -3.34207E-01 -3.74026E-01 3.90114E-01 2.26433E-01 9.60382E-02 -4.32526E-01 -2.38309E-01 2.42102E-01 2.37497E-01 3.10813E-02 -8.16825E-01 1.04865E-01 1.16290E-01 3.41635E-01 -2.09965E-01 -1.74260E-02 2.05341E-01 -1.88504E-01 3.66608E-01 -6.09379E-01 -1.04786E-01 -7.07399E-03 4.19523E-01 -FloatFrame 39 2.34892E00 9.60293E-01 -6.88041E-01 2.02113E-03 -1.96625E-01 9.66523E-02 -7.72223E-03 -1.50423E-01 -2.23685E-01 3.58116E-01 -2.32488E-02 5.68277E-02 -1.62007E-03 -1.44621E00 4.52076E-01 4.47781E-01 -8.53358E-02 -4.34036E-01 2.29242E-01 3.18898E-01 4.92508E-02 -1.47648E-01 -5.50489E-01 1.03981E-01 2.54189E-01 2.00311E-01 -1.23115E-01 -1.34083E-01 -3.56114E-03 4.76453E-01 -6.10683E-02 -3.01712E-01 7.08460E-02 -9.22789E-02 6.04120E-01 -5.28734E-01 -2.97368E-01 -3.49878E-02 1.21073E-01 -FloatFrame 39 1.99385E00 1.06238E00 -5.89806E-01 4.72312E-02 -3.87294E-01 2.09621E-01 6.57242E-02 -1.76644E-01 -1.83765E-01 1.28058E-01 -2.07419E-02 1.55217E-01 4.51898E-02 -1.31977E00 3.10463E-01 4.27479E-01 1.42245E-01 -4.35094E-01 8.84018E-02 2.97279E-01 3.75928E-03 1.71594E-01 -7.67043E-01 -5.52665E-02 2.02509E-01 1.52155E-01 3.79087E-01 -3.26643E-01 2.74818E-03 2.44861E-01 2.44029E-01 -2.68134E-01 -1.85325E-01 6.53598E-02 2.57782E-01 -9.05306E-02 -1.97393E-01 -3.05870E-01 -1.38322E-01 -FloatFrame 39 1.60834E00 1.17383E00 -5.16939E-01 8.78602E-02 -4.06573E-01 1.19317E-01 2.08642E-01 -2.04315E-01 -1.17187E-01 -4.41330E-02 -8.87736E-02 1.53351E-01 1.00479E-01 -1.06712E00 1.25433E-01 4.50529E-01 1.59525E-01 -1.90007E-01 -3.88916E-02 1.33573E-01 1.14611E-01 1.10134E-01 -6.41019E-01 -9.34126E-02 -5.16807E-02 6.19887E-02 6.16712E-01 -3.48440E-01 -8.61135E-02 2.58635E-02 5.89529E-01 -3.19335E-01 -1.08263E-01 4.87075E-02 -1.50829E-01 3.17870E-01 -3.11009E-02 -3.11040E-01 -2.83999E-01 -FloatFrame 39 1.43880E00 1.13640E00 -3.49183E-01 7.40607E-02 -4.31677E-01 1.36154E-01 1.52920E-01 -1.14412E-01 -6.05807E-02 -2.58708E-01 -4.51663E-02 3.47147E-02 1.66051E-01 -7.03053E-01 -3.79775E-02 3.41365E-01 1.68109E-01 1.54435E-01 -2.30933E-01 1.89016E-01 5.24668E-02 2.07645E-02 -4.49173E-01 -8.63674E-02 -1.08531E-01 -1.31844E-01 9.78649E-01 -4.86827E-01 -3.01523E-01 1.92108E-01 4.20328E-01 4.31264E-02 -1.65424E-01 -1.04526E-01 -2.60581E-01 4.81202E-01 2.24960E-01 -4.83971E-02 -4.99464E-01 -FloatFrame 39 1.28180E00 1.08573E00 -2.37512E-01 1.61546E-01 -3.86632E-01 5.77607E-02 1.25851E-01 -3.58120E-02 -1.13550E-01 -2.82903E-01 -1.16661E-01 5.14703E-03 6.03687E-02 -8.84708E-02 -3.61394E-01 1.49006E-01 3.51633E-01 2.30321E-01 4.23486E-03 -3.18511E-02 1.00849E-02 -1.50446E-01 -1.59817E-01 1.31547E-01 -1.00078E-01 -4.37475E-01 9.32306E-01 -5.94803E-01 -3.46155E-01 2.15135E-01 4.01122E-01 2.96359E-01 -2.76354E-01 -2.66106E-01 -7.40200E-02 6.31278E-01 2.48111E-01 -1.50284E-02 -5.08259E-01 -FloatFrame 39 1.29080E00 1.02441E00 -2.48441E-01 2.15340E-01 -2.32859E-01 -2.13120E-02 2.54740E-01 -1.24177E-01 -1.63001E-01 -3.21115E-01 -1.07109E-01 4.66859E-02 -8.66546E-02 2.29253E-01 -6.32780E-01 -4.79026E-03 3.83244E-01 5.55557E-01 6.54259E-02 -8.73377E-02 -2.13640E-01 -5.32555E-02 1.82105E-01 1.61744E-01 -1.23559E-01 -6.40103E-01 -4.44639E-02 -7.82097E-01 9.73670E-02 -6.27052E-02 2.87360E-01 3.99330E-01 -3.20604E-01 -2.36384E-01 2.46003E-01 4.01440E-01 2.41601E-02 -1.02982E-01 -3.96102E-02 -FloatFrame 39 1.51987E00 8.12432E-01 -3.67934E-01 4.39493E-01 -1.76252E-01 1.23552E-01 1.76791E-01 -1.94230E-01 -2.67634E-01 -2.03950E-01 4.27735E-02 5.32737E-02 -3.36997E-01 -1.32935E-01 -1.14349E00 2.46373E-01 2.88928E-01 5.17681E-01 4.03565E-01 -3.52455E-01 -2.26299E-01 9.55570E-02 2.41623E-01 1.55707E-01 -2.03060E-01 -4.77086E-01 -1.30498E00 -9.41999E-01 1.77904E-01 -5.33932E-01 -3.22307E-01 3.09763E-01 -5.70375E-01 7.48197E-01 4.51939E-01 1.12294E-01 -2.15689E-03 2.02290E-01 4.26981E-01 -FloatFrame 39 1.66805E00 5.03621E-01 -3.53973E-01 4.57305E-01 1.23880E-01 2.01580E-01 6.55824E-02 -3.28052E-01 -1.13836E-01 -7.66033E-02 1.16577E-01 -8.88446E-02 -4.74052E-01 -1.07573E00 -1.57478E00 1.73114E-01 -1.50688E-01 2.33250E-01 3.75189E-01 -6.57713E-01 5.34557E-01 3.98683E-01 2.94399E-01 1.59587E-01 7.87309E-02 -2.13122E-01 -3.47400E00 2.24410E-02 4.10860E-02 -7.35080E-01 -3.62302E-01 -2.90148E-01 1.52528E-01 7.91496E-01 3.70611E-01 4.33211E-02 -1.44405E-01 1.67442E-01 7.27539E-01 -FloatFrame 39 1.14886E00 -5.77655E-02 8.86077E-03 4.50474E-01 1.31049E-01 4.61326E-01 -2.26604E-01 -2.62111E-01 -1.79934E-02 -4.12798E-02 3.90458E-02 -1.97913E-01 -4.16717E-01 -3.60693E00 -1.12105E00 2.87459E-01 -4.46152E-01 1.55379E-01 1.13417E-01 -1.99927E-01 5.65197E-01 4.66168E-01 2.84944E-01 1.13022E-02 -3.56181E-02 2.50453E-01 -3.72560E00 7.56711E-01 -1.00454E-01 -6.03626E-01 -4.25880E-01 -4.35623E-01 7.28173E-01 -1.39960E-01 -1.39422E-01 -1.76436E-01 -3.04764E-01 8.89185E-03 6.15434E-01 -FloatFrame 39 2.15065E-01 -5.50372E-01 -7.53274E-02 6.46522E-02 3.91532E-04 3.53877E-01 -4.02972E-01 4.10381E-01 2.35683E-01 -2.67160E-02 5.24774E-02 1.25417E-01 -2.99777E-01 -4.80133E00 -8.18068E-01 7.26596E-02 -7.54314E-01 -1.92630E-01 -6.04338E-02 7.04607E-02 3.94597E-01 2.59261E-01 1.17963E-01 -1.45177E-01 8.76227E-02 4.02312E-01 -7.88645E-01 8.80516E-01 -6.12329E-01 -1.65267E-01 -3.32899E-01 -3.67679E-01 5.01586E-01 -2.40592E-01 -3.18169E-01 -1.34217E-01 -2.23801E-02 2.64950E-01 2.00512E-01 -FloatFrame 39 -2.08707E00 -3.08618E-01 -8.04750E-02 -6.65930E-03 -2.08731E-02 2.36969E-01 -2.31354E-02 3.70966E-01 1.98534E-01 8.09942E-02 5.40756E-02 1.76556E-02 -8.65434E-02 -4.39558E00 -2.40534E-01 -3.24870E-01 -6.11419E-01 -1.77520E-01 -2.54262E-01 3.01659E-01 3.24604E-01 1.47999E-01 1.50728E-01 -1.10779E-02 2.29332E-01 4.50965E-01 1.17431E00 8.75834E-01 -2.77899E-01 7.30469E-01 1.54966E-01 -7.80109E-02 4.08620E-01 -7.11748E-01 -3.63994E-01 -8.57794E-02 1.19739E-01 -2.28151E-01 -3.09672E-02 -FloatFrame 39 -3.13328E00 -3.14447E-01 -2.81314E-01 -2.97009E-01 -6.87497E-02 1.41146E-01 1.36043E-01 6.65456E-02 1.45425E-01 4.13596E-02 -2.86001E-02 -1.22191E-03 -7.17405E-02 -3.62702E00 5.77658E-02 -2.05240E-01 -2.38448E-02 -3.76639E-02 -1.38445E-01 4.79081E-01 -3.17151E-01 -1.04733E-01 3.21834E-02 -2.54381E-02 -1.40528E-01 3.71345E-01 4.70457E00 -6.53867E-01 3.03140E-01 6.54283E-01 1.06455E-01 3.46799E-01 -2.79772E-01 -5.28361E-01 -2.69680E-01 -1.30685E-01 -3.50036E-02 -1.79326E-01 -3.86348E-01 -FloatFrame 39 -3.24671E00 -2.98300E-01 -3.16009E-01 -1.60945E-01 -4.64706E-02 2.07064E-01 7.50556E-02 6.24933E-02 1.30005E-01 1.09448E-01 2.79679E-02 3.14189E-02 3.42485E-02 3.08995E-01 -8.94401E-01 -2.17299E-02 4.28638E-02 -7.10652E-02 9.25365E-02 2.18874E-02 -2.03757E-01 -1.21681E-01 2.00428E-02 -4.60815E-02 5.00064E-02 6.46178E-02 7.41582E00 -1.65344E00 6.81423E-01 8.60836E-02 7.12106E-02 1.61807E-01 -7.23291E-01 2.99728E-01 -9.65167E-02 -6.19612E-02 -2.90999E-02 2.14329E-01 -4.05352E-01 -FloatFrame 39 -3.41196E00 -4.92607E-01 -2.80567E-01 4.08073E-02 -3.72724E-02 2.15433E-01 7.61084E-02 9.32296E-02 1.30950E-01 5.46742E-03 2.70392E-02 -1.51117E-02 7.15678E-02 3.78879E00 -1.59568E00 4.76183E-01 6.22388E-02 3.35467E-02 2.33624E-02 -2.44211E-01 -1.74229E-02 -2.01249E-01 -2.97778E-02 -5.45381E-02 7.38004E-02 -3.40072E-02 3.09193E00 -1.59012E00 1.13851E00 -1.19449E-01 1.77492E-01 -5.52446E-02 -2.87121E-01 2.39524E-01 2.83307E-02 -1.79676E-01 1.88306E-01 7.14399E-02 -4.38330E-02 -FloatFrame 39 -1.77807E00 -1.20302E00 -1.02205E-01 3.62045E-02 -9.19382E-02 3.29505E-01 -1.24800E-03 1.67209E-01 7.68536E-02 1.01037E-01 7.99415E-03 6.76620E-02 -2.19257E-02 3.40093E00 -2.48452E00 1.11678E00 -7.65857E-02 1.06427E-01 3.72920E-02 -2.65233E-01 3.57673E-02 -9.33500E-02 -1.59633E-01 1.42225E-01 1.21446E-01 2.07848E-02 1.36463E-01 -8.06718E-01 5.55127E-01 -2.73810E-01 8.39085E-02 1.06438E-01 5.32195E-02 9.63258E-02 6.62030E-02 -9.45870E-02 2.48010E-01 -8.83153E-02 -4.70338E-02 -FloatFrame 39 6.55512E-01 -1.91012E00 1.94869E-01 -2.34770E-01 -3.52030E-02 1.64509E-01 -1.08168E-01 4.91227E-02 -5.58247E-02 1.15818E-02 -8.31381E-02 7.25785E-02 -1.05748E-01 3.92526E00 -2.40239E00 1.03131E00 -2.11571E-01 1.17455E-01 1.29801E-01 -1.90991E-01 7.89028E-02 -1.35046E-01 -1.24365E-01 1.93472E-01 -1.45148E-02 -8.10410E-02 -3.13227E-01 9.28839E-01 -5.00134E-01 1.30598E-01 -8.25896E-02 4.85065E-02 2.02700E-01 -7.52478E-02 2.13406E-01 -2.02925E-02 6.35107E-02 -1.78343E-01 -1.37218E-01 -FloatFrame 39 1.54216E-01 -2.78282E00 8.00770E-01 -2.37531E-01 5.99562E-02 2.44356E-01 -1.90178E-01 9.82607E-02 3.66555E-02 -5.01856E-02 1.70193E-01 1.52865E-01 5.50333E-02 3.08770E00 -1.55568E00 6.16644E-01 5.40122E-02 2.38371E-02 8.57985E-02 -6.25333E-02 -3.94804E-02 1.20056E-01 -1.79926E-01 2.05735E-01 -5.68965E-02 -1.16434E-01 -2.47461E00 1.72326E00 -1.01093E00 6.86486E-01 -1.71570E-01 -1.71156E-01 4.87264E-01 1.82708E-01 3.60648E-01 -7.17587E-02 5.46244E-02 5.92160E-03 1.57159E-01 -FloatFrame 39 5.13301E-01 -2.89500E00 7.50743E-01 -1.70764E-01 8.01829E-02 3.45233E-01 -1.14883E-01 1.72132E-01 -4.09642E-03 -1.18897E-01 2.20512E-01 -2.96265E-02 -9.47315E-03 1.45065E00 -6.79134E-01 2.03823E-02 4.74915E-01 -5.41147E-02 -4.13552E-02 2.96273E-01 2.61611E-01 2.25602E-01 -1.96123E-01 2.48097E-01 -8.59323E-03 7.61181E-02 -8.28098E-01 2.09335E00 -1.19363E00 5.83398E-01 -3.43463E-01 -3.19674E-01 2.88781E-01 5.22639E-02 -9.88297E-02 1.31274E-01 -1.86969E-01 -5.93235E-02 2.71622E-02 -FloatFrame 39 1.30963E00 -2.75870E00 5.14440E-01 9.02167E-02 -6.81011E-02 4.15304E-01 -6.37813E-02 1.27729E-01 1.96909E-01 -7.88888E-02 2.13730E-01 1.07654E-02 -1.38359E-01 2.25960E00 5.37669E-01 -5.76984E-01 6.37410E-01 -3.19626E-01 -2.33876E-01 2.26248E-01 1.27835E-02 2.12261E-02 -4.86515E-02 1.87660E-02 -1.16220E-01 -8.92714E-02 3.87421E-01 1.40464E00 -7.68956E-01 2.48456E-01 -1.62231E-01 -4.95817E-01 -2.59366E-01 -2.56022E-01 -1.89094E-01 2.64131E-02 -4.47040E-01 3.64064E-03 -9.93670E-02 -FloatFrame 39 2.10616E00 -2.58926E00 2.15252E-01 2.40145E-01 -8.93176E-02 1.23153E-01 1.88105E-01 3.10734E-01 1.69777E-01 -1.84542E-01 1.64959E-01 6.39853E-02 -2.96296E-02 1.83807E00 7.25503E-01 -7.48573E-01 7.23371E-01 -2.16345E-01 -5.37172E-01 3.69067E-02 5.58872E-03 3.65079E-02 -1.69710E-01 -1.98943E-01 -4.95259E-03 -2.32489E-02 -1.07301E00 2.97254E-01 7.94161E-02 -4.85124E-02 3.06855E-01 -4.31235E-01 -8.38913E-02 2.77860E-01 -1.92742E-01 -1.47816E-01 -3.37809E-01 1.14739E-01 1.52332E-01 -FloatFrame 39 2.41382E00 -2.24515E00 2.23786E-01 3.99879E-01 -2.59670E-01 1.04797E-02 3.60701E-02 1.11044E-01 5.78817E-02 -9.88370E-02 1.88958E-01 3.66452E-02 -3.42381E-02 1.18660E00 8.34923E-01 -4.97567E-01 5.88898E-01 -1.27712E-02 -6.65111E-01 1.42357E-01 2.90644E-01 -1.71516E-01 -1.96468E-01 -3.19043E-01 -1.48052E-03 6.30605E-02 -2.10113E00 1.59154E-01 2.98938E-01 -8.68391E-02 5.86277E-01 1.10784E-01 -2.48200E-01 5.65227E-02 -1.14328E-01 2.60275E-01 1.92342E-01 -8.07942E-02 -5.70807E-02 -FloatFrame 39 2.35137E00 -2.16950E00 2.16950E-03 5.52608E-01 -1.36162E-01 -1.91939E-01 -7.79761E-02 1.77721E-01 3.24115E-02 -2.88608E-01 2.15686E-02 -3.45791E-02 -3.27221E-02 -2.63059E-01 8.84657E-01 -4.49635E-01 6.36532E-01 3.69931E-01 -4.26388E-01 -2.11294E-01 6.21114E-02 -7.78196E-02 9.05649E-02 -6.60068E-03 -8.57468E-02 -8.03296E-02 -1.79971E00 5.50650E-01 -6.04042E-02 -2.42372E-01 8.43693E-01 8.48864E-01 -3.61441E-01 -4.04855E-01 1.14328E-01 2.34788E-01 2.13722E-01 -1.36350E-01 -2.15741E-01 -FloatFrame 39 2.49623E00 -1.92378E00 1.68721E-02 6.79114E-01 -8.08723E-02 -2.49807E-01 7.85753E-02 4.18373E-01 2.53936E-02 -2.75357E-01 -1.05314E-01 9.28492E-03 -7.52987E-02 -6.13111E-01 1.38557E00 -5.57972E-01 3.46525E-01 8.30922E-01 1.83753E-01 -2.19084E-01 -1.14211E-01 -5.71881E-02 3.83205E-02 -1.05322E-01 -1.37830E-01 -1.52680E-01 2.32631E-01 1.36668E00 2.26130E-02 -5.84174E-01 4.86589E-01 4.86449E-01 1.20731E-01 -3.92183E-01 2.69253E-02 1.23571E-02 4.18263E-03 -5.42126E-02 -2.21572E-01 -FloatFrame 39 1.84310E00 -1.70460E00 -2.34384E-01 8.76677E-01 2.80614E-01 -3.03235E-01 -2.31887E-02 3.72845E-01 9.19575E-02 -9.39768E-02 1.58358E-01 -2.17615E-02 -1.09959E-01 -3.04284E-02 2.25134E00 -4.27022E-01 5.23581E-02 8.56520E-01 6.00613E-02 -9.05626E-02 -3.30071E-01 -5.08943E-02 1.02922E-01 -2.41805E-03 -1.39959E-01 -3.01902E-01 5.14073E-01 8.84265E-01 1.57449E-02 -2.87402E-01 -2.92609E-01 -1.04093E-01 9.74711E-02 -6.73956E-01 9.91999E-03 1.15807E-01 2.39027E-01 -8.83152E-02 -1.53308E-01 -FloatFrame 39 1.80071E00 -8.59577E-01 -3.34186E-01 7.46405E-01 5.71252E-01 1.94233E-01 -1.83014E-01 -3.16698E-03 6.93578E-04 -6.05166E-02 8.36369E-02 -1.01185E-01 -1.86918E-01 -9.90371E-02 2.26984E00 -5.42227E-01 5.91233E-02 5.38313E-01 7.96602E-02 -1.21613E-01 -7.88167E-01 -4.72681E-02 1.54128E-01 1.33705E-01 -2.26145E-01 -3.05988E-01 3.61715E-01 9.74295E-02 1.71477E-01 -4.00767E-01 -8.00788E-01 2.52335E-01 8.19758E-02 -4.48192E-01 -1.11129E-01 -1.50584E-01 -5.11115E-02 -3.42234E-02 9.00583E-02 -FloatFrame 39 2.32094E00 8.18430E-02 -4.24853E-01 6.04966E-01 7.20358E-01 -1.31878E-01 -1.68539E-01 -1.52350E-01 -1.84828E-02 -1.85686E-01 1.91506E-02 -1.74539E-01 -3.34624E-01 3.31286E-01 2.34877E00 -2.55546E-01 -3.48409E-01 5.57325E-02 3.12397E-01 -8.58683E-03 -7.78264E-01 -1.62024E-01 -4.76615E-02 -5.35296E-02 -1.74183E-01 -2.11843E-01 1.82750E-01 -6.09235E-01 5.69925E-01 -5.43787E-01 -9.03442E-01 -1.36081E-01 3.89255E-01 4.34415E-01 -1.66054E-01 -2.86005E-01 -1.25397E-01 3.15362E-01 2.11000E-01 -FloatFrame 39 2.39719E00 3.46063E-01 -5.25355E-01 7.38238E-01 4.57441E-01 -1.70147E-01 -4.30376E-02 -3.69794E-01 -2.18745E-02 -1.21229E-01 2.83916E-02 -2.16860E-01 -3.81287E-01 8.37134E-02 1.66060E00 2.76982E-02 -4.84664E-01 -3.65129E-01 -5.64207E-02 2.67642E-01 -3.53752E-01 -2.13322E-01 -1.31877E-01 8.30785E-03 8.92172E-02 -9.49876E-02 -1.10359E00 -1.57575E00 6.99578E-01 -7.75304E-02 -8.46844E-01 -4.21142E-02 3.04331E-01 7.99912E-01 -5.97341E-02 -1.56274E-01 3.63805E-02 3.91355E-01 4.18198E-01 -FloatFrame 39 2.17439E00 6.44169E-01 -4.89929E-01 5.28269E-01 3.36346E-01 9.16191E-03 -3.17755E-02 -4.05419E-01 -7.00663E-02 -1.41638E-01 1.04828E-01 -1.95944E-01 -3.21803E-01 -7.72305E-01 7.73015E-01 4.44032E-01 -4.25939E-01 -7.91112E-01 2.70282E-01 2.95745E-01 2.16479E-02 -2.21758E-01 -2.03936E-01 -1.71491E-02 2.17172E-01 2.06354E-01 -1.45638E00 -9.37436E-01 6.87405E-01 -2.00606E-01 -2.36999E-01 2.16232E-01 -3.19044E-02 7.64512E-01 8.58808E-02 -1.89739E-01 -2.00385E-01 1.10922E-01 3.11437E-01 -FloatFrame 39 1.88442E00 8.01026E-01 -3.06487E-01 2.61741E-01 2.06123E-01 1.37812E-01 8.46284E-02 -3.56919E-01 -2.12628E-01 -1.92394E-01 9.19447E-02 -1.19678E-02 -2.81906E-01 -1.37266E00 7.23167E-01 7.15103E-01 -6.85270E-01 -6.02128E-01 1.59811E-01 2.35738E-01 4.10761E-01 -1.27441E-01 -3.21616E-01 -1.92077E-01 2.00139E-01 2.16449E-01 -7.84445E-01 -2.80729E-01 3.81570E-01 -5.66884E-02 2.10804E-01 -4.27103E-01 -1.54257E-01 5.41777E-01 2.68327E-01 3.17201E-02 -2.90623E-01 -2.06246E-01 -7.41158E-02 -FloatFrame 39 1.54864E00 8.54858E-01 1.91795E-02 1.79027E-01 -7.07539E-02 1.38404E-01 1.27206E-01 -1.30702E-01 -2.40241E-01 -3.89621E-01 2.00149E-03 4.26336E-02 -1.28270E-01 -1.55675E00 4.92286E-01 8.25603E-01 -4.82627E-01 -5.80307E-01 -1.56821E-01 1.41488E-01 5.63425E-01 4.65687E-02 -1.72216E-01 -3.07772E-01 1.09257E-02 1.32238E-01 -3.01624E-01 -3.99228E-01 -4.02990E-03 7.00725E-01 -4.56959E-03 -5.54267E-01 -2.26126E-01 7.84670E-02 4.31188E-01 3.09527E-01 -1.29929E-02 -4.11988E-01 -2.13827E-01 -FloatFrame 39 1.02453E00 1.06923E00 1.89749E-01 5.29675E-02 -1.44687E-01 -1.03356E-02 1.92700E-01 4.09662E-02 -1.49316E-01 -4.42845E-01 -1.63686E-01 -1.67213E-02 -1.64838E-01 -1.67429E00 3.23939E-01 7.11073E-01 1.54548E-02 -6.06697E-01 -3.94455E-01 9.61156E-03 4.89228E-01 3.03747E-01 -1.20887E-02 -2.05070E-01 -2.11849E-01 2.62181E-03 2.48573E-01 -3.18378E-01 -3.84440E-01 6.07960E-01 3.08955E-01 -3.62078E-01 -1.53202E-01 -3.06218E-01 2.51485E-01 5.03904E-01 2.18182E-01 -2.88447E-01 -3.59068E-01 -FloatFrame 39 6.17639E-01 1.13646E00 3.35673E-01 4.56414E-02 -2.43961E-01 -1.47659E-01 1.09712E-01 1.58006E-01 -2.34975E-02 -3.13854E-01 -2.02943E-01 -1.85019E-01 -1.89564E-01 -1.30818E00 1.73909E-01 4.41162E-01 1.25333E-01 -2.71352E-01 -5.18899E-01 -1.17141E-02 2.57207E-01 2.98053E-01 3.31689E-01 -8.95894E-02 -2.77521E-01 -2.26829E-01 1.32082E00 -3.45792E-01 -5.19830E-01 1.07868E-01 3.27234E-01 6.76365E-02 -3.87711E-02 -4.80160E-01 -1.63975E-01 3.97118E-01 3.19543E-01 2.34256E-02 -1.08027E-01 -FloatFrame 39 2.10136E-01 1.12497E00 4.04586E-01 2.77196E-01 -4.00574E-01 -2.56643E-01 9.42399E-02 1.32309E-01 9.11187E-02 -2.04482E-01 -1.13125E-01 -2.23816E-01 -2.79284E-01 -3.53469E-01 -2.18531E-02 1.91244E-01 1.23323E-01 -2.79463E-01 -3.26819E-01 -2.91595E-02 9.06787E-03 1.39772E-01 3.85030E-01 1.14473E-01 -1.88423E-01 -1.05405E-01 1.88869E00 -2.37261E-01 -6.14638E-01 1.74938E-02 -7.49636E-02 2.89970E-01 1.12544E-01 -4.81182E-01 -1.84523E-01 -7.98160E-02 1.79596E-01 3.75320E-01 2.01935E-01 -FloatFrame 39 2.40463E-01 1.02877E00 4.60342E-01 3.04360E-01 -3.42106E-01 -3.80494E-01 1.15492E-01 1.26505E-01 5.78125E-02 -5.79328E-02 -8.75879E-02 -2.34888E-01 -3.55099E-01 5.80516E-01 -6.33520E-02 -1.73476E-01 1.42827E-01 -3.46316E-01 -2.28929E-01 1.00830E-01 -2.23975E-01 1.13530E-01 2.51873E-01 9.00070E-02 9.77991E-02 -2.48945E-02 1.95356E00 -9.87880E-02 -6.00434E-01 -3.50642E-01 -2.14188E-02 2.45331E-01 2.23141E-01 -2.44671E-01 -9.62070E-02 -2.31900E-01 -1.77592E-01 3.55638E-01 3.63658E-01 -FloatFrame 39 6.71058E-01 1.04738E00 3.80992E-01 1.76290E-01 -4.24150E-01 -3.37155E-01 1.63541E-01 5.00341E-02 -9.54407E-03 -5.78154E-02 -4.92127E-02 -2.05144E-01 -2.70243E-01 1.60009E00 -1.20641E-01 -4.09190E-01 -2.27319E-01 -3.00882E-01 -8.14884E-02 1.93982E-01 -2.35603E-01 4.35647E-02 1.53130E-01 -6.31189E-02 1.67214E-01 2.58252E-01 1.56237E00 -1.81030E-01 -3.91106E-01 -6.39180E-01 4.10728E-03 4.02382E-01 1.62854E-01 -1.92526E-02 -4.31943E-02 -3.38055E-01 -1.21825E-01 2.51734E-01 5.40258E-01 -FloatFrame 39 1.19816E00 1.07310E00 1.62197E-01 1.88468E-01 -5.90277E-01 -3.76588E-01 2.10542E-01 -6.59688E-02 9.00327E-02 -6.19813E-02 -1.12936E-01 -8.72195E-02 -2.14459E-01 2.14289E00 -2.44382E-01 -5.64582E-01 -4.96354E-01 -3.42208E-01 1.73453E-01 2.63684E-01 -2.43228E-01 7.03359E-02 -8.61828E-02 -3.18176E-02 3.49533E-01 5.15363E-01 2.91203E-01 -1.28904E-02 -4.43442E-01 -1.99758E-01 1.60213E-01 3.62641E-01 1.02316E-01 -1.75793E-02 -1.41236E-01 -1.12959E-01 1.40084E-01 2.79670E-01 2.14465E-01 -FloatFrame 39 1.81023E00 1.00432E00 -4.60393E-03 4.98768E-02 -7.01456E-01 -3.38132E-01 2.88222E-01 -1.03294E-01 1.34683E-01 -5.13527E-02 -1.76244E-01 -5.66020E-02 -2.10318E-02 1.89130E00 -1.33532E-01 -8.52632E-01 -4.27076E-01 -1.40669E-01 2.81153E-01 2.96298E-01 -2.53182E-01 -9.76718E-02 4.01707E-02 7.69651E-02 4.46885E-01 4.72718E-01 -6.10672E-01 -1.45856E-02 -2.43859E-01 5.28376E-02 6.04578E-01 1.88938E-01 -1.06087E-01 2.26932E-02 -3.32800E-01 3.49407E-01 2.41638E-01 -1.13640E-02 -2.91765E-01 -FloatFrame 39 2.38335E00 7.84385E-01 -1.04240E-01 -1.91994E-01 -6.84314E-01 -2.07041E-01 3.79176E-01 -1.16723E-01 1.28148E-01 -1.44116E-01 -1.19406E-01 1.14645E-01 1.60264E-01 1.53222E00 -2.58968E-01 -8.08441E-01 -4.43516E-01 2.62370E-01 3.62391E-01 1.57597E-01 -2.20534E-01 -2.62464E-01 2.63224E-01 2.09820E-01 3.38169E-01 2.23598E-01 -9.74543E-01 -1.49640E-01 1.23612E-01 2.28398E-01 6.87411E-01 2.46290E-02 -5.24469E-01 1.41740E-01 -1.51760E-01 3.45811E-01 2.97976E-01 -3.91366E-01 -5.27795E-01 -FloatFrame 39 2.56235E00 9.13845E-01 -4.71640E-01 -2.50786E-01 -5.64819E-01 -5.60016E-02 4.59839E-01 -2.03148E-01 -1.07216E-01 -1.76447E-02 2.77525E-02 2.41740E-01 2.02475E-01 9.16753E-01 -2.83171E-01 -7.29020E-01 -1.98678E-01 5.46742E-01 3.05782E-01 -2.28171E-01 -1.11442E-01 -2.49432E-01 3.85982E-01 3.74942E-01 5.55188E-02 -5.50768E-02 -1.28960E00 2.06227E-01 7.23349E-02 6.30007E-01 3.89074E-01 -1.71736E-01 -6.73289E-01 7.25986E-02 1.12591E-01 3.25218E-01 8.16296E-03 -4.85089E-01 -4.53929E-01 -FloatFrame 39 2.73037E00 8.14136E-01 -6.46244E-01 -2.55048E-01 -3.27907E-01 -1.41970E-02 3.68139E-01 -2.86503E-01 -1.72432E-01 2.01243E-01 9.68836E-02 2.50949E-01 9.13910E-03 2.42611E-01 -5.27402E-02 -7.36106E-01 1.86491E-01 6.51444E-01 1.90655E-01 -5.15692E-01 -1.47936E-01 -1.49873E-01 5.88442E-01 2.17983E-01 -1.46920E-01 -2.30331E-01 -1.30918E00 4.80513E-02 2.91688E-01 7.11836E-01 -5.60182E-02 -2.14859E-01 -3.91077E-01 -5.85128E-02 4.86629E-01 1.36107E-02 -4.43089E-01 -3.65531E-01 -5.62609E-02 -FloatFrame 39 2.72698E00 7.21153E-01 -7.33624E-01 -1.48801E-01 -1.54714E-01 -3.23495E-02 6.00507E-02 -2.14736E-01 -1.14748E-01 3.34629E-01 1.98697E-01 -1.08324E-03 -7.61086E-02 -3.92422E-01 -2.35120E-01 -4.37332E-01 5.13158E-01 4.90724E-01 9.09226E-02 -6.19248E-01 -1.69955E-01 2.37197E-01 3.99593E-01 -6.81473E-02 -3.10013E-01 -1.11338E-01 -3.30244E00 -4.45334E-01 9.84420E-01 4.05714E-01 1.34355E-01 -1.23104E-01 2.50439E-01 1.42714E-01 2.15015E-01 -7.41387E-01 -8.93641E-02 -1.95353E-01 3.31038E-01 -FloatFrame 39 2.62596E00 7.31644E-01 -8.40346E-01 -5.50304E-03 -3.28700E-02 -1.63864E-02 -1.36516E-01 -2.64659E-01 -2.17245E-02 4.44326E-01 9.85775E-02 -3.22752E-02 -7.00669E-02 -3.05983E00 -4.98074E-01 2.48314E-01 5.92205E-01 7.85799E-01 6.75506E-02 -2.65253E-01 -5.22228E-03 6.51422E-02 -1.52946E-01 1.28619E-01 -3.42273E-01 1.00707E-01 -3.28786E00 -1.14468E-01 7.36911E-01 7.19634E-02 1.00667E-01 -2.12752E-03 6.23282E-01 2.12087E-01 -2.93085E-01 -6.57473E-01 1.32503E-01 1.45259E-01 3.29764E-01 -FloatFrame 39 2.16993E00 6.78725E-01 -9.08972E-01 2.62372E-01 -7.40952E-02 3.49210E-02 -1.59409E-01 -3.73103E-01 1.29982E-01 3.81948E-01 -4.03948E-02 -6.82722E-02 9.11368E-02 -3.68028E00 -3.49588E-01 2.99580E-01 5.85121E-01 5.91391E-01 8.87951E-02 4.03379E-03 4.21317E-02 -5.58875E-02 -2.57880E-01 6.43562E-02 -1.64753E-01 2.18426E-01 -1.68963E-02 -2.20002E-02 5.29485E-02 -3.56674E-02 -6.93160E-01 1.24185E-01 4.94401E-01 -6.52493E-04 -2.41577E-02 -2.01514E-01 -1.79794E-01 2.80197E-01 -8.46206E-02 -FloatFrame 39 -3.29460E-01 3.16062E-01 -3.97930E-01 3.37157E-01 4.57893E-01 5.33536E-02 1.02886E-01 -2.91726E-01 -1.07289E-01 4.82973E-02 2.25503E-01 -9.13235E-02 1.09846E-01 -3.07673E00 -5.20074E-01 3.01262E-01 5.56538E-01 9.26393E-02 1.91736E-01 2.29149E-01 -5.87477E-03 4.09846E-02 -3.54459E-01 -5.11754E-02 -6.20758E-02 1.60862E-02 2.93488E00 -9.07988E-02 -1.01691E-01 -2.52633E-01 -6.78865E-01 7.22755E-02 8.48833E-02 -2.32054E-01 1.29752E-01 1.60585E-01 1.08473E-01 8.70464E-02 -3.83381E-01 -FloatFrame 39 -9.53300E-01 3.71564E-01 -4.34045E-01 4.36320E-01 4.36676E-01 5.64456E-02 6.40845E-02 -1.72605E-01 -1.70636E-01 7.67497E-02 2.63054E-01 -1.65837E-01 1.42317E-01 -7.45404E-01 -4.40387E-01 1.97888E-01 3.32489E-01 -8.74743E-02 1.61071E-01 8.89171E-02 -1.89923E-01 7.38644E-02 -9.72947E-02 1.72829E-01 -7.77070E-02 -1.64955E-01 5.87815E00 7.59744E-01 -7.67216E-01 -6.21523E-01 -7.03989E-01 -1.91023E-01 -4.88095E-01 -3.09482E-02 2.17955E-01 6.21385E-01 -1.04195E-01 -8.20649E-02 -4.74995E-02 -FloatFrame 39 -4.50767E-01 2.11570E-01 -5.39084E-01 5.51035E-01 5.97693E-02 1.75349E-01 9.26326E-02 -2.70534E-01 1.92601E-02 8.98672E-02 4.74020E-02 -9.43510E-02 -5.39807E-02 2.80143E00 2.39670E-01 -4.65954E-01 -6.49856E-02 -6.11350E-01 7.12892E-04 -2.58947E-01 -3.68229E-02 2.58940E-01 2.66926E-01 -1.55370E-01 -1.44141E-01 -3.14133E-02 4.43813E00 4.72231E-01 -5.49238E-01 -6.34594E-01 -4.43768E-01 -2.18517E-01 -3.06750E-01 2.47041E-02 2.27212E-01 4.08655E-01 -3.81507E-01 -6.79795E-03 9.82015E-02 -FloatFrame 39 1.42453E00 2.38338E-01 -7.11084E-01 5.94860E-01 -1.61570E-01 1.95992E-01 -7.04920E-02 -5.63026E-01 2.03846E-01 2.84653E-01 1.32434E-01 -1.45979E-01 -7.38184E-02 3.69273E00 3.18437E-02 -3.51350E-01 -3.02106E-01 -5.31242E-01 -5.74463E-02 -2.17833E-01 -1.65219E-01 3.01076E-01 3.11360E-01 -2.08678E-01 -8.45049E-02 -6.67536E-02 1.84532E-02 2.55719E-02 3.37767E-01 -5.53404E-01 4.17753E-01 -1.20873E-01 -1.66243E-03 4.58525E-02 -2.40432E-01 7.60075E-02 1.49768E-01 1.35456E-01 4.31440E-02 -FloatFrame 39 2.47197E00 5.55732E-01 -8.63884E-01 2.72171E-01 -1.53457E-01 5.40665E-02 -1.56061E-01 -3.28548E-01 1.51651E-01 3.15223E-01 7.01321E-02 -2.35464E-01 7.84326E-02 2.81988E00 2.65242E-01 -1.28187E-01 -6.18390E-01 -1.93597E-01 -1.20160E-01 -2.60609E-01 9.02959E-03 1.85080E-02 3.42933E-01 -5.60212E-03 -8.68493E-03 1.17307E-02 -3.04046E00 3.20129E-01 4.15135E-01 -4.91745E-01 5.82800E-01 -9.05733E-02 2.29163E-01 4.04924E-01 -4.58590E-01 -1.21832E-01 9.00735E-02 2.74817E-01 -9.87938E-02 -FloatFrame 39 2.73943E00 4.03408E-01 -7.85395E-01 1.34214E-01 -9.45655E-02 -1.00068E-03 -1.53749E-01 -3.37823E-01 1.30441E-01 3.88110E-01 5.43751E-02 -2.50342E-01 7.55638E-02 6.52266E-01 3.51973E-01 6.37851E-02 -7.93851E-01 5.15580E-02 -1.48020E-01 1.13298E-02 2.39705E-01 -1.57514E-01 1.89528E-01 -1.18605E-01 1.90312E-01 -1.65547E-01 -3.26625E00 -1.93938E-01 4.38712E-01 9.12380E-02 2.33952E-01 1.03355E-01 4.37660E-01 -3.57083E-02 -1.21875E-01 -2.42869E-01 -3.52577E-03 3.51817E-01 -4.53132E-01 -FloatFrame 39 2.36911E00 4.76812E-01 -6.67271E-01 -6.73553E-02 -1.33828E-01 5.51894E-02 -1.67977E-01 -2.61504E-01 3.77680E-02 4.32800E-01 4.17999E-02 -1.03036E-01 -4.22500E-02 -4.46373E-01 7.13037E-02 3.10525E-01 -5.27152E-01 4.03551E-02 -1.68048E-02 1.77051E-01 -2.66787E-02 -1.03367E-01 1.00064E-01 -9.12789E-03 3.43133E-01 -4.41401E-01 -1.62532E00 -2.85730E-02 3.13006E-01 4.56172E-01 -2.38543E-01 2.56746E-01 1.89826E-01 -2.63992E-01 1.03919E-01 -3.20552E-01 1.63141E-01 2.29685E-01 -2.23144E-01 -FloatFrame 39 2.07679E00 5.90311E-01 -6.47298E-01 -1.98991E-01 -1.10011E-01 4.79720E-02 -5.91622E-02 -3.23321E-01 4.63320E-02 4.74182E-01 1.38291E-02 4.43331E-02 -2.39366E-01 -9.73055E-01 3.23400E-01 3.76792E-01 -3.37679E-01 -1.86985E-01 1.08727E-01 2.01155E-01 -2.42869E-02 -5.35951E-02 -1.31024E-01 4.45361E-02 4.19998E-01 -3.88692E-01 -4.34011E-01 2.42141E-01 1.66274E-02 3.73496E-01 -1.59185E-01 9.17094E-02 3.60669E-03 5.88417E-03 -6.25321E-03 -2.57629E-01 7.32407E-02 -9.70531E-02 2.86601E-01 -FloatFrame 39 2.02559E00 6.27036E-01 -5.53358E-01 -2.54980E-01 -1.13102E-01 3.72616E-02 2.09900E-02 -3.55227E-01 4.82838E-02 4.15287E-01 6.10042E-02 1.07668E-01 -3.62968E-01 -8.80384E-01 3.13445E-01 3.27153E-01 -1.53656E-01 -1.18830E-01 7.49046E-02 1.80657E-01 -2.07945E-02 -1.09620E-01 -1.57565E-01 6.41128E-02 2.46079E-01 -1.54800E-01 1.15848E-01 -3.03704E-01 2.27874E-01 2.42087E-01 -1.29676E-01 1.25933E-01 -1.65708E-01 1.30366E-01 -1.19895E-01 -1.15453E-01 7.13857E-02 -3.26198E-01 4.97800E-01 -FloatFrame 39 1.76637E00 7.26808E-01 -4.08603E-01 -2.03465E-01 -2.81550E-01 1.07726E-01 4.74069E-02 -3.62110E-01 7.68456E-02 2.57086E-01 9.89112E-02 1.69656E-01 -3.13128E-01 -8.57207E-01 1.96957E-02 6.04665E-01 -9.55919E-02 -3.16661E-01 2.34660E-01 3.54476E-02 1.06079E-01 -1.73490E-01 -2.46477E-01 1.15922E-01 9.37996E-02 1.09108E-01 -1.40362E-01 -3.34310E-01 1.10126E-01 1.61819E-01 -1.88682E-01 1.00472E-01 -1.74446E-01 1.89791E-01 -1.20804E-01 -3.23313E-02 4.08405E-02 -1.78616E-01 3.71059E-01 -FloatFrame 39 1.48873E00 7.90257E-01 -3.40118E-01 -2.21011E-01 -2.52658E-01 1.30094E-01 1.26807E-02 -2.82299E-01 -7.18520E-02 2.75236E-01 1.05913E-01 1.43043E-01 -1.97050E-01 -1.02075E00 -2.08657E-02 4.37279E-01 8.16296E-03 -3.07512E-01 1.75376E-01 6.21172E-03 1.68996E-01 -2.30424E-01 -1.89896E-01 1.04953E-01 6.74633E-02 2.16259E-01 5.14010E-02 -8.81453E-02 -3.11798E-01 2.97596E-02 2.63092E-01 -2.81353E-01 9.19527E-03 3.30397E-02 -6.16781E-02 2.20389E-01 -1.05741E-01 -1.76494E-02 4.63516E-02 -FloatFrame 39 1.21959E00 6.10006E-01 -4.26330E-02 -2.94583E-01 -4.26672E-01 2.82632E-01 -2.37146E-02 -2.17241E-01 -1.27158E-01 2.27705E-01 1.29751E-01 1.38133E-01 -1.30257E-01 -8.05806E-01 -6.84496E-02 2.92868E-01 -6.58323E-02 -5.35688E-02 -4.66933E-02 4.46429E-02 1.39119E-01 -2.35168E-01 -2.60875E-02 1.01809E-02 7.61502E-02 1.55460E-01 3.39426E-01 2.28346E-02 -1.46513E-01 -4.08061E-02 1.44133E-01 -2.42678E-01 1.64415E-01 -1.31416E-01 5.38209E-02 1.03674E-01 -6.82745E-02 5.72059E-02 -2.26755E-01 -FloatFrame 39 1.00485E00 6.06170E-01 -1.16080E-01 -2.46817E-01 -4.20614E-01 2.12638E-01 2.72018E-02 -1.86231E-01 -1.82141E-01 2.25391E-01 1.65958E-01 1.75132E-01 -1.46709E-01 -6.81320E-01 1.96895E-03 2.90765E-01 -3.26431E-02 -1.63379E-01 -6.73015E-02 1.70627E-01 3.75804E-02 -1.76604E-01 -8.62226E-02 3.66788E-02 1.24669E-01 -1.04954E-02 -7.29193E-02 3.28067E-01 -2.14649E-01 2.12731E-01 -6.84911E-02 -7.42765E-02 8.80297E-02 -8.47629E-02 6.81568E-02 -4.87183E-02 5.67633E-02 -1.02700E-02 -1.99029E-01 -FloatFrame 39 9.60567E-01 6.58358E-01 -1.15735E-01 -2.69298E-01 -3.35119E-01 6.10328E-02 9.20498E-02 -2.22991E-01 -1.58323E-01 2.30999E-01 1.09092E-01 2.45806E-01 -1.57668E-01 -8.78725E-01 2.59617E-01 7.82184E-02 1.46899E-01 -1.22060E-01 -1.20970E-01 1.32673E-01 5.43563E-02 -1.67011E-01 -7.48058E-02 6.69442E-02 6.58802E-02 -4.35692E-02 -3.33095E-01 1.83583E-01 -1.56787E-01 2.80822E-02 2.21137E-01 -6.00976E-02 -7.49588E-02 1.77052E-02 1.60117E-01 -9.40639E-02 1.63606E-02 -6.50484E-02 4.80282E-02 -FloatFrame 39 8.07411E-01 7.92225E-01 -4.93530E-02 -2.53654E-01 -4.16037E-01 6.27926E-02 1.83308E-01 -2.44718E-01 -2.48456E-01 1.89013E-01 1.42592E-01 2.67713E-01 -2.07545E-01 -1.01441E00 1.85552E-01 1.33979E-01 -4.56089E-03 5.77588E-02 -1.27399E-01 9.56680E-02 5.52856E-02 -1.64863E-02 -1.80286E-01 5.30395E-02 5.96208E-02 3.75328E-02 -3.48922E-02 -1.99187E-01 1.22380E-01 -1.77113E-01 3.78714E-02 1.95320E-01 -1.48809E-01 1.53454E-01 8.09249E-02 -1.88476E-01 6.47799E-02 -6.86078E-02 1.59955E-01 -FloatFrame 39 3.40862E-01 8.69623E-01 3.55854E-02 -1.47684E-01 -5.48732E-01 1.61662E-01 1.08958E-01 -1.62885E-01 -2.94170E-01 1.52899E-01 1.96695E-01 2.04013E-01 -1.73827E-01 -9.13618E-01 6.04299E-02 2.00599E-01 -3.02139E-02 -8.41885E-02 7.43503E-02 -1.61368E-02 2.07810E-01 -8.60865E-02 -2.63282E-01 1.31724E-01 -2.72759E-03 1.16386E-01 2.46213E-02 -1.82953E-01 1.53012E-01 4.17192E-02 -1.44714E-01 1.56585E-01 -2.06231E-01 2.70392E-01 6.59951E-02 -1.77206E-01 5.36304E-03 -7.65268E-02 1.35478E-01 -FloatFrame 39 -9.56604E-03 7.91722E-01 1.78991E-02 -2.51378E-01 -3.62855E-01 8.52389E-02 1.22870E-01 -1.30945E-01 -1.98627E-01 4.51046E-02 2.18997E-01 2.34752E-01 -1.09176E-01 -9.89794E-01 2.59946E-03 2.86991E-01 3.71583E-02 -8.69556E-02 2.91855E-02 -1.10563E-01 3.25678E-01 4.95088E-02 -3.57493E-01 5.84025E-02 -1.69060E-02 1.73011E-01 8.36666E-02 -1.15488E-01 -7.29583E-02 1.14364E-02 1.59203E-01 -1.30597E-01 5.21635E-03 2.10755E-02 1.87972E-01 -8.96581E-02 -1.47224E-01 2.14834E-02 7.52309E-02 -FloatFrame 39 4.69491E-02 7.18788E-01 8.48633E-02 -2.99512E-01 -4.19308E-01 1.35383E-01 7.59130E-02 -1.51808E-02 -2.44409E-01 -3.22835E-02 2.40816E-01 2.43079E-01 -4.12822E-02 -8.29951E-01 -5.50580E-02 1.27640E-01 -1.87775E-02 7.50146E-02 -5.62468E-02 -1.09205E-02 2.28886E-01 1.01886E-01 -3.52940E-01 -1.55001E-02 1.87558E-02 1.91617E-01 1.04261E-01 3.52485E-02 -2.08098E-01 -5.03022E-02 5.47722E-02 1.38276E-02 -5.30996E-03 -8.56823E-02 2.89083E-02 8.06669E-02 -5.70032E-02 -2.67538E-02 5.17698E-05 -FloatFrame 39 -1.82383E-01 7.94825E-01 2.37638E-01 -2.16496E-01 -5.02992E-01 9.19781E-02 7.27442E-02 8.09596E-02 -1.98947E-01 -1.68480E-01 2.00994E-01 2.50807E-01 -3.45341E-02 -8.85532E-01 3.78480E-02 7.88937E-02 -1.31439E-02 -3.21834E-02 4.30131E-02 -1.15873E-01 2.39996E-01 7.84172E-02 -2.76826E-01 1.39933E-03 -4.36598E-02 1.73063E-01 4.46281E-02 1.67907E-01 1.36293E-02 -2.57694E-02 -6.76591E-02 1.02335E-01 -9.84351E-02 -1.40492E-01 4.68869E-02 1.56606E-01 -8.06734E-02 -9.53172E-02 -7.01746E-02 -FloatFrame 39 -4.89089E-01 8.14565E-01 1.63226E-01 -1.66461E-01 -4.73717E-01 1.05415E-01 9.80375E-02 6.60006E-02 -1.92284E-01 -2.00041E-01 1.81195E-01 2.22769E-01 1.77898E-02 -7.85323E-01 1.12849E-01 1.41270E-01 -4.45469E-02 7.35550E-03 4.60884E-02 -1.09356E-01 8.83933E-02 1.48772E-01 -1.96334E-01 -9.61735E-02 -7.65614E-02 1.21442E-01 1.20928E-01 -5.39313E-02 6.11690E-03 4.69181E-02 1.43888E-01 -6.03902E-02 4.76361E-02 -1.48336E-01 -5.42056E-02 1.99898E-01 -2.24822E-02 -5.25579E-02 -1.59693E-01 -FloatFrame 39 -8.95098E-01 8.29570E-01 9.67928E-02 -2.64522E-01 -3.95039E-01 1.28252E-01 6.99649E-03 1.09050E-01 -1.20210E-01 -2.31721E-01 2.20396E-01 1.91093E-01 6.38869E-02 -7.64604E-01 -1.60833E-02 8.50106E-02 3.37742E-02 1.11705E-01 -1.73771E-02 -6.82372E-02 9.16591E-02 2.42115E-02 -7.69276E-02 -2.10829E-02 -9.62178E-02 1.33704E-02 -2.43477E-01 -2.91772E-01 -8.64073E-02 -9.57241E-02 2.09068E-01 -1.23877E-01 6.68055E-02 2.23026E-02 -5.24439E-02 2.02101E-01 -5.22474E-02 -1.80408E-02 -1.10621E-01 -FloatFrame 39 -7.38374E-01 8.31637E-01 2.26133E-01 -3.44059E-01 -4.11952E-01 1.81472E-01 -3.34426E-02 7.32125E-02 -9.56367E-02 -2.28617E-01 1.44643E-01 1.66517E-01 8.01598E-02 -1.02880E00 -1.78923E-01 5.48624E-02 -1.40271E-01 2.16424E-01 -7.77885E-02 -4.25501E-02 1.10696E-01 9.63286E-02 5.76752E-03 -1.48421E-01 -9.46022E-02 1.08208E-02 5.16715E-02 -2.11834E-01 -1.80411E-02 5.62183E-02 -2.47757E-02 -3.42745E-02 1.44957E-01 -8.91047E-02 1.34653E-01 1.97394E-02 -2.50109E-01 1.11235E-01 1.03468E-02 -FloatFrame 39 -9.46987E-01 7.78742E-01 3.22649E-01 -1.82722E-01 -3.91288E-01 7.46010E-02 4.50707E-03 1.72619E-01 -1.74735E-01 -2.45407E-01 1.79911E-01 1.54589E-01 -2.11636E-02 -7.12933E-01 -2.27917E-01 6.69695E-02 8.99925E-02 8.69289E-02 -5.16516E-02 7.67198E-02 2.55442E-03 1.58865E-01 -5.71883E-02 -2.71192E-01 1.50168E-02 2.37173E-02 -1.53893E-01 -2.25505E-01 -1.67170E-01 3.55049E-01 -1.17264E-01 3.70708E-02 2.28819E-01 7.98018E-02 2.14410E-02 3.39743E-02 9.78871E-03 1.08174E-01 -1.00273E-02 -FloatFrame 39 -1.51789E00 6.35642E-01 2.18088E-01 -3.06732E-01 -2.57294E-01 2.76267E-02 5.54874E-02 1.76697E-01 -9.59555E-02 -1.94274E-01 3.27741E-02 1.28166E-01 2.86107E-02 -1.18269E00 -4.04428E-01 -1.12307E-01 2.14778E-01 9.91596E-02 -4.07177E-02 1.86269E-01 1.90498E-01 1.17770E-01 3.97418E-02 -1.38632E-01 1.35723E-02 7.93494E-04 -3.74597E-02 -6.63105E-03 -1.73654E-01 4.67250E-02 -5.03158E-02 1.23125E-01 -9.20190E-03 -1.97397E-02 -8.90451E-03 7.04661E-02 1.49379E-01 -1.03372E-01 -7.62794E-03 -FloatFrame 39 -1.60803E00 6.01653E-01 1.63762E-01 -1.74530E-01 -3.08110E-01 7.66005E-02 8.37163E-02 1.11605E-01 3.86550E-02 -2.88909E-01 -5.07956E-02 2.06110E-01 8.76042E-02 -7.50392E-01 -2.34548E-01 -1.06684E-01 1.36717E-01 3.66131E-02 7.14734E-02 6.75179E-02 -1.71853E-02 1.49960E-01 1.32778E-02 -1.21813E-01 -8.83548E-02 1.60894E-02 4.60159E-01 1.82566E-01 1.73625E-01 1.76203E-02 -2.69817E-01 9.48163E-02 -8.83612E-02 -2.63199E-01 4.65290E-02 -7.76271E-02 4.47973E-02 -8.06291E-02 1.21721E-01 -FloatFrame 39 -1.92107E00 4.27209E-01 1.13826E-01 -1.29280E-01 -3.12792E-01 1.40754E-01 1.52826E-01 2.63710E-01 2.21328E-02 -1.88876E-01 6.01051E-03 1.80090E-01 8.09532E-02 -7.22534E-01 -2.21862E-01 6.13174E-02 2.32398E-01 -1.70658E-01 5.40986E-02 9.79078E-02 -7.27013E-02 1.64299E-01 -3.78853E-02 -9.38348E-02 -6.70568E-02 1.22515E-01 -9.91920E-01 -6.08025E-01 -1.09177E-01 -2.45025E-02 1.02010E-01 1.57993E-01 -1.47410E-02 9.10037E-02 5.45142E-02 3.17943E-01 2.18236E-01 -4.68959E-02 9.52262E-03 -FloatFrame 39 -1.69738E00 5.44194E-01 2.15965E-01 -4.60044E-02 -3.54674E-01 1.46074E-01 7.20250E-02 1.55433E-01 -2.47749E-02 -2.32129E-01 5.80982E-02 6.62341E-02 -5.07428E-03 -1.74231E00 -8.42573E-01 -2.15861E-01 1.12215E-01 1.38623E-01 2.29466E-01 5.27769E-02 7.38184E-02 2.04475E-01 3.31221E-01 9.64234E-02 -1.35251E-01 2.56120E-02 -6.19416E-02 1.28019E-01 1.80502E-01 -7.59901E-04 2.25213E-01 -8.51391E-02 -4.35040E-02 -1.39383E-01 -1.67282E-01 1.95755E-01 1.08618E-01 -9.37262E-02 -2.30702E-01 -FloatFrame 39 -2.24042E00 4.13780E-01 2.79406E-01 -7.43337E-02 -4.27952E-01 8.17253E-02 1.53395E-01 1.03995E-01 6.83430E-02 -2.32159E-01 -6.10607E-02 6.11096E-02 1.51125E-01 -7.84475E-01 -9.38431E-02 2.41819E-01 2.31638E-01 5.45552E-02 -3.10405E-02 5.44037E-02 -2.12084E-01 -2.98381E-03 1.57870E-01 1.47832E-02 -1.60783E-01 -1.08187E-01 5.63837E-01 2.23460E-01 2.56272E-01 7.94121E-02 -6.62477E-02 -3.59188E-01 9.54926E-03 3.87418E-02 -8.31131E-03 -2.17792E-01 -2.33679E-01 2.21339E-02 -8.40962E-04 -FloatFrame 39 -3.35034E00 -2.40919E-01 -5.20984E-02 -6.23148E-02 -1.69487E-01 3.06066E-01 1.36493E-01 1.85423E-01 2.43130E-01 4.23118E-02 4.56278E-02 7.08588E-02 1.13216E-01 -1.17848E00 -6.19113E-01 4.04116E-02 1.91627E-01 7.23751E-02 -1.29723E-01 6.23262E-02 1.12560E-01 1.96163E-01 1.13429E-01 -1.37256E-01 -1.13117E-01 2.47710E-02 -5.13731E-01 -7.77662E-01 -3.64231E-01 -1.01419E-01 1.80123E-01 1.05238E-01 -8.56915E-03 3.74263E-01 1.76390E-01 1.48714E-01 5.69149E-02 1.09181E-01 1.33174E-01 -FloatFrame 39 -2.70554E00 3.33366E-01 3.55645E-01 1.02358E-01 -2.58237E-01 1.09713E-01 2.07230E-01 5.16259E-02 1.91490E-02 -3.10057E-02 2.07937E-02 1.93065E-02 -2.72337E-02 -1.29821E00 -8.71505E-01 -1.22412E-01 1.30219E-01 2.34678E-01 7.41977E-02 4.58346E-02 1.62178E-01 1.73406E-01 3.06584E-01 7.16982E-02 -5.16024E-02 2.49875E-02 9.96881E-01 6.80168E-01 7.15614E-02 -1.91566E-01 2.15170E-01 5.07761E-02 -4.04253E-02 -1.84398E-01 -2.36885E-01 -6.27581E-02 1.42234E-01 3.17160E-03 -4.53708E-02 -FloatFrame 39 -2.87585E00 -7.49190E-02 2.56376E-01 1.45623E-01 -2.82299E-01 1.63519E-02 1.34351E-01 2.67994E-01 1.71388E-01 -1.18700E-01 -7.91579E-02 -4.68826E-02 1.96967E-02 -1.81594E-01 6.10559E-02 1.11973E-01 6.13720E-05 2.87545E-01 -7.89464E-02 2.19009E-02 -7.18379E-02 -4.07221E-02 5.06712E-02 4.97774E-03 -1.09945E-01 -2.05998E-02 2.01590E-01 5.25005E-02 -3.18585E-01 -3.20126E-01 5.45932E-02 3.95043E-02 -1.23108E-01 1.63437E-02 1.78197E-01 -1.17181E-01 -3.50597E-02 7.83901E-02 1.71578E-01 -FloatFrame 39 -3.53863E00 -4.57725E-01 1.56994E-01 5.58858E-02 -1.93273E-01 1.55923E-01 1.99230E-01 2.66174E-01 2.41749E-01 7.44243E-02 1.06375E-02 9.50720E-03 1.76113E-01 -1.09662E00 -8.19005E-01 -4.40997E-01 -1.89906E-01 2.89271E-01 1.13702E-01 -7.72732E-02 1.78522E-01 3.51604E-01 1.89403E-01 3.66385E-02 2.67877E-02 1.96565E-01 -1.01622E00 -6.55132E-01 -5.01649E-01 -2.57859E-01 -1.11559E-01 7.33264E-02 -9.39089E-02 1.68841E-02 2.09287E-01 2.01555E-01 1.46716E-01 2.58413E-01 1.16520E-01 -FloatFrame 39 -3.53194E00 -1.79864E-01 5.98747E-02 -6.22535E-02 1.18058E-01 2.27120E-01 1.58394E-01 1.13585E-01 2.02407E-01 9.29829E-02 5.06055E-02 -3.90864E-02 9.26163E-02 -1.19781E00 -5.94076E-01 -3.89676E-01 -2.57798E-01 1.75986E-01 -5.62007E-03 -7.20080E-02 -5.49537E-02 1.68565E-01 2.52226E-01 1.51694E-01 1.48468E-01 9.59201E-02 7.98856E-01 6.93934E-01 1.47055E-01 1.14572E-01 -1.13587E-01 -1.72919E-01 1.36173E-02 -2.82816E-01 -5.52343E-01 -1.48156E-01 1.10829E-01 -2.96690E-04 -3.02488E-01 -FloatFrame 39 -3.80216E00 -4.85639E-01 -8.53524E-02 -8.75485E-02 3.10341E-02 2.23415E-01 1.29957E-01 2.30148E-01 3.70753E-01 1.58397E-01 5.74322E-02 4.60942E-02 1.69331E-01 -2.97761E-01 -1.25071E-01 -2.93943E-01 -7.53345E-02 1.75685E-01 -5.92171E-02 -6.36559E-02 -1.04294E-01 -2.00740E-01 4.12462E-02 1.47468E-01 2.64910E-02 -1.05923E-01 6.99775E-01 7.96785E-02 2.25925E-01 3.15302E-01 -3.68374E-01 -8.82722E-02 6.50260E-02 1.53753E-01 -2.88590E-01 -2.68633E-01 -2.47051E-01 -1.31024E-01 -1.15677E-01 -FloatFrame 39 -4.07366E00 -6.68995E-01 -1.33300E-01 -1.12175E-01 -1.06313E-01 1.07318E-02 6.23432E-02 2.13040E-01 3.39954E-01 1.33526E-01 7.25359E-02 1.01585E-01 1.15617E-01 -4.98035E-01 -5.14397E-01 -1.63751E-01 5.75039E-02 -1.92388E-01 -9.38923E-02 -6.98199E-03 9.87994E-02 -1.20025E-01 -1.64074E-02 -9.53567E-02 1.74437E-02 -1.97566E-02 -2.16217E-01 -1.29726E-01 4.33762E-01 1.53462E-01 -2.00256E-01 6.87207E-02 9.41352E-02 7.22256E-02 3.77498E-02 -2.12300E-01 -2.17330E-01 -7.29068E-02 8.16120E-02 -FloatFrame 39 -3.83639E00 -5.82796E-01 -1.36949E-01 -1.94487E-02 -1.75886E-02 9.67059E-02 1.35574E-01 1.61879E-01 4.10095E-02 1.15670E-01 1.58105E-01 3.59982E-02 7.01896E-02 -5.13978E-01 -2.54797E-01 1.39819E-01 7.81273E-02 -2.45711E-02 9.50367E-03 3.04793E-02 -3.20687E-02 -1.62990E-01 -1.71054E-01 -6.98620E-02 -4.64159E-02 -2.43113E-02 6.49773E-02 3.65033E-01 2.06601E-01 4.28461E-02 2.42279E-01 1.78211E-01 -9.34203E-02 -1.61345E-01 -1.63341E-01 -6.26546E-02 5.93321E-02 4.84647E-02 4.82954E-02 -FloatFrame 39 -4.02997E00 -6.94261E-01 -1.03877E-01 -4.74954E-03 -7.43306E-02 1.33228E-01 1.51412E-01 2.12384E-01 8.23824E-02 7.65756E-02 -4.47512E-02 -2.16426E-02 7.28597E-02 -4.33058E-01 -1.49364E-01 4.28495E-02 1.00350E-01 4.98908E-02 8.43183E-02 -1.00402E-01 -6.25460E-02 -2.83366E-01 -7.90620E-02 -3.60246E-02 6.59084E-02 2.85388E-02 -4.12569E-02 -7.91300E-02 -2.92970E-01 -9.41315E-02 1.12735E-01 1.53242E-01 5.16565E-02 6.39961E-02 3.06506E-01 6.33868E-02 -6.10353E-02 1.81120E-01 1.19320E-01 -FloatFrame 39 -4.31614E00 -7.40435E-01 5.44666E-02 -9.42117E-03 6.46300E-03 2.32919E-01 1.60436E-01 1.98079E-01 2.07763E-01 -1.26570E-02 -1.24298E-02 -3.21692E-04 1.45020E-01 -5.55235E-01 -3.33926E-01 -1.53151E-01 -1.60042E-02 8.81636E-02 1.62746E-01 8.21358E-02 3.19274E-02 1.43517E-01 -1.07667E-01 -1.30897E-01 1.34704E-01 9.50085E-02 1.31692E-01 -1.03805E-02 -5.05945E-02 3.75884E-03 1.26383E-01 1.19537E-02 1.22826E-01 -5.07084E-03 5.35408E-01 5.80774E-02 2.64296E-01 1.98190E-01 1.75304E-01 -FloatFrame 39 -4.50672E00 -8.18359E-01 -9.04503E-02 -1.18254E-02 -5.64226E-02 9.50501E-02 -3.80591E-02 1.50494E-01 5.65873E-02 5.44640E-02 3.65113E-02 1.67494E-01 1.44156E-01 -3.01366E-01 -1.59745E-01 -7.74503E-03 1.04109E-01 1.76274E-01 9.62719E-02 2.24241E-02 -6.76168E-02 2.52041E-01 -2.09846E-02 2.28271E-01 2.64099E-01 2.03843E-01 8.74647E-01 5.49494E-01 -3.27228E-02 -5.58269E-03 -1.03297E-01 -2.81023E-01 -1.70375E-01 -2.98253E-01 -2.46792E-01 1.48387E-01 2.47370E-01 1.68784E-02 -1.50836E-01 -FloatFrame 39 -4.39163E00 -9.16723E-01 -2.90100E-01 -3.54528E-02 7.05750E-02 2.59452E-01 2.17710E-01 1.93807E-01 1.84526E-01 8.00346E-03 2.72078E-02 1.70702E-01 1.65198E-01 3.19411E-01 2.15568E-01 -1.85874E-01 -2.15869E-02 -1.51336E-02 -1.18276E-01 -8.82391E-02 -2.66326E-01 -1.03276E-01 4.07201E-02 1.16472E-01 1.51582E-01 -5.58277E-02 4.29145E-01 1.39089E-01 4.77706E-02 -6.50012E-03 -3.23548E-02 1.12088E-01 1.29318E-01 -6.53191E-02 -1.23902E-01 1.47959E-01 -1.31675E-01 -3.95094E-01 -3.41634E-01 -FloatFrame 39 -4.33134E00 -8.54006E-01 -1.11622E-01 9.93593E-02 1.01943E-01 2.29500E-01 1.73836E-01 1.44768E-01 3.34424E-01 5.55910E-02 1.83520E-01 2.42456E-01 2.76702E-01 1.27779E-01 -2.06555E-02 4.00256E-02 9.76087E-02 1.43919E-01 2.08360E-01 1.51742E-01 -1.32936E-01 1.28139E-01 1.26975E-01 9.65956E-02 -1.30995E-01 -1.37791E-01 -3.06729E-01 -1.37860E-01 4.25549E-01 1.42823E-01 3.20548E-02 1.62234E-01 -1.57876E-02 9.00767E-02 1.03476E-01 1.32715E-01 -1.05734E-02 -2.85786E-01 -1.03006E-01 -FloatFrame 39 -3.99673E00 -5.24868E-01 -1.31407E-01 -3.10080E-02 -8.67055E-03 1.14643E-01 7.21971E-02 -6.82462E-02 1.04487E-01 2.80632E-02 1.04043E-01 1.51261E-01 8.91924E-02 1.26826E-02 7.77080E-02 2.39675E-01 1.21236E-01 1.69212E-02 4.39577E-02 -1.04027E-01 -1.76249E-01 2.00395E-04 1.73435E-01 1.05899E-01 -1.34204E-01 -1.58834E-01 -1.75384E-01 3.56465E-02 2.11713E-02 -1.11185E-01 -1.58366E-01 -1.34450E-01 -2.11895E-01 5.72626E-03 -2.77836E-01 -1.12697E-03 -1.47008E-01 -7.49626E-02 -1.32547E-01 -FloatFrame 39 -4.37894E00 -8.39015E-01 -5.04248E-02 8.57833E-02 8.74962E-02 3.03410E-01 1.13683E-01 1.75580E-02 1.84726E-01 1.81439E-01 1.33107E-01 3.64985E-02 6.36432E-03 -4.76049E-02 1.49910E-02 6.11969E-02 -1.35760E-02 -1.44467E-02 7.39101E-02 -6.01533E-02 -1.27210E-01 -1.49697E-01 1.25848E-01 -5.04128E-02 -2.05958E-01 -2.70338E-01 -3.94899E-01 -3.91855E-01 -1.58693E-01 -4.44481E-03 7.92455E-02 1.44809E-01 1.45513E-01 2.62053E-01 8.00391E-02 -2.00597E-02 -7.68349E-02 1.94415E-02 7.60057E-02 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1424472926655, duration: 5235ms -Data: null diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-fft.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-fft.dump deleted file mode 100755 index f8e2cde2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-fft.dump +++ /dev/null @@ -1,321 +0,0 @@ -Signal: DataStartSignal: creation time: 1422745325823 -Signal: SpeechStartSignal -Frame 257 2.03757E04 3.67140E03 1.64282E04 5.56934E03 6.08696E02 1.10905E03 5.21105E02 4.72547E02 1.64238E03 1.35803E03 1.67341E03 8.97907E02 1.74697E03 1.69577E03 4.58518E02 6.78317E02 1.08609E03 7.52388E03 6.46355E03 3.01316E03 8.75519E02 3.07216E03 8.75700E02 6.20193E02 1.13391E03 1.72985E03 8.51864E02 6.77294E02 3.76860E03 6.21666E03 3.45170E03 3.31255E03 1.22321E04 1.08465E03 6.53076E02 3.30064E02 4.16184E02 1.16052E03 1.47806E03 5.78383E01 1.13450E02 2.93839E02 2.16487E02 1.54981E03 7.90604E01 9.45847E02 9.97054E02 2.63209E03 3.81174E03 1.10102E03 1.54133E02 3.32039E01 3.23890E03 1.33129E04 2.11909E04 6.47680E03 3.16901E03 2.45067E03 1.13343E03 3.81980E03 3.93412E03 1.99295E03 6.31880E02 3.92319E03 8.97699E03 1.17952E04 6.15608E03 5.60246E03 3.70233E03 2.47421E03 1.94054E02 5.75080E01 6.05337E02 2.95438E03 3.85351E03 6.29110E03 4.64819E03 1.48740E03 8.51428E02 1.25701E03 1.64163E03 2.76219E03 1.13016E03 2.01853E03 2.65661E03 1.28133E03 8.53845E02 1.16747E03 8.80747E02 2.44527E02 1.17772E03 3.59314E03 4.31266E03 1.86080E03 1.07441E03 1.10333E03 1.62707E03 1.83065E02 3.43825E03 8.12163E03 4.81843E03 3.53780E02 1.06560E03 7.76553E03 5.45961E03 8.41377E02 3.29705E03 7.03683E03 1.13097E04 8.22953E03 8.05687E03 1.57725E04 1.43068E04 3.39602E03 2.47134E03 9.23501E03 9.33037E03 4.12103E03 1.07634E03 3.99502E03 2.35035E03 6.89115E03 8.93273E03 1.77083E03 4.07412E03 8.84247E03 4.81316E03 6.89106E03 9.87174E03 5.24080E03 9.96530E03 2.09605E04 2.31274E04 1.94775E04 1.06631E04 1.01282E04 9.74714E03 7.49937E03 4.12688E03 1.31515E04 7.88232E03 9.76541E03 3.14164E03 5.51877E01 9.51268E02 7.21101E03 1.02619E04 5.51888E03 6.14273E03 1.42756E04 3.17299E03 1.53113E03 5.30280E03 5.48049E02 3.51888E03 1.92237E03 2.21189E03 1.36883E03 5.92712E02 1.11634E03 7.40630E02 1.14630E02 1.86908E03 5.60356E03 9.94804E03 9.02726E03 1.48468E04 1.60731E04 5.02820E03 1.35118E03 1.63211E03 1.54555E02 1.27026E03 1.75266E02 7.28952E02 9.74345E01 5.51951E03 1.65958E04 4.59507E03 1.53411E03 3.46168E03 2.04782E03 3.45961E03 8.32131E03 1.87932E03 1.10386E03 2.80798E03 4.60078E02 8.75589E02 6.23023E03 1.50367E04 1.12242E04 1.13660E04 3.31653E03 1.42830E03 1.71205E03 1.69583E03 1.49690E02 8.19324E02 1.69247E03 1.05482E03 3.74037E01 1.30644E03 1.04611E02 1.38197E03 2.23403E03 2.14759E03 1.31181E03 1.30568E03 8.57420E02 1.16834E03 8.02413E02 1.48805E01 5.70221E02 1.43876E03 3.90258E03 3.30281E03 2.97680E02 1.93335E03 3.72277E03 5.54987E03 1.10458E03 1.40020E03 6.62192E03 8.52853E03 1.12562E03 1.34320E02 6.74429E02 4.29634E03 1.61473E03 1.93334E03 1.35334E03 6.06731E02 4.55006E02 5.89249E02 6.63215E01 2.93691E03 2.52871E03 4.53668E02 8.24741E02 3.91125E02 4.57701E02 5.06222E02 6.24673E02 6.79337E00 1.47461E03 2.32373E03 2.45749E03 1.60371E03 3.23249E03 4.45588E03 6.67578E03 8.86738E02 3.10219E01 6.75951E02 5.84898E03 7.66637E03 -Frame 257 2.31967E05 1.45934E05 4.23452E04 1.49205E04 7.87295E03 5.94822E03 3.64449E03 1.71207E03 1.02581E03 2.80466E03 1.25592E03 9.74622E02 5.66790E02 5.98716E02 1.84793E02 7.34798E02 2.95378E02 1.50711E03 1.68344E03 4.24514E02 3.15209E03 4.23846E03 5.03600E03 1.25961E04 1.25121E04 3.80081E03 1.78722E03 2.23070E02 7.77275E02 6.17964E02 8.23505E01 4.43985E03 1.32310E04 7.84387E03 1.08701E03 2.28796E02 5.51587E02 1.17990E03 1.94435E03 1.17914E03 4.85333E01 1.58266E02 8.46413E00 9.09380E01 1.21063E03 8.26298E03 1.24294E04 3.91737E03 3.00745E03 2.15368E03 9.41481E02 1.02322E03 3.51619E03 5.62815E03 9.03209E03 1.23652E03 3.54056E03 2.86850E03 1.09852E03 2.25820E03 3.10545E03 2.47984E03 2.09302E03 4.21284E03 1.54039E04 4.75222E03 2.06098E03 5.90333E03 3.07737E03 1.34369E03 7.25718E02 1.66062E03 3.41097E03 5.18602E03 3.33032E03 4.90536E03 6.72950E03 2.51188E03 1.23515E03 2.17169E03 5.29998E03 4.36035E03 5.43596E02 1.26837E02 1.29064E02 2.15718E03 8.38916E02 1.06880E03 2.54140E03 2.38132E03 4.34405E03 7.40298E03 4.99146E03 5.42263E02 1.76002E03 8.27021E03 2.28004E04 2.10975E04 3.16563E03 2.18296E03 2.79155E03 8.71557E02 2.92893E03 4.74508E03 2.17043E03 4.36504E02 1.07785E03 1.88874E03 4.12934E01 1.91911E03 5.29337E03 3.30264E02 3.60282E03 4.07120E03 6.46828E02 1.42700E03 2.96942E02 2.32251E03 3.91753E03 3.69160E03 1.80402E03 4.26647E03 4.23957E03 5.67335E03 4.22651E03 1.39390E02 5.68919E02 1.05445E03 6.15756E03 5.21964E03 4.25816E03 1.33154E03 2.21652E03 4.48642E03 1.19907E03 2.80720E03 7.18104E03 7.58172E03 3.70568E03 2.81990E03 6.11432E03 6.57982E03 3.32501E03 3.44940E02 1.37708E02 3.98526E03 1.75688E04 2.33290E04 1.64762E04 9.91097E03 1.28396E03 6.28939E03 5.58741E03 4.55283E03 1.27408E04 1.00752E04 4.76999E03 9.77075E03 1.74212E04 6.80502E03 3.65614E00 1.79884E03 2.36760E03 4.50962E03 6.00723E03 3.56255E03 1.53446E03 1.24250E03 3.76378E03 4.92989E03 3.86047E03 1.37186E03 1.87296E03 6.38859E03 3.89332E03 1.34470E02 4.84782E03 1.10742E04 1.17512E04 9.76944E03 4.60684E02 6.38392E02 2.21820E02 3.12609E03 2.53019E03 8.16273E02 1.05737E03 7.22430E02 4.58469E02 8.28938E03 1.50756E04 9.96904E03 7.55131E03 1.64659E03 1.01763E03 2.45462E03 2.92906E03 1.46044E03 2.27807E03 8.22760E02 1.59736E02 1.58498E03 3.92891E03 2.31251E03 1.64234E02 1.99280E03 2.16177E03 9.03928E02 4.31138E02 1.14512E03 1.98179E03 1.28681E03 9.92850E02 5.53825E02 2.20591E02 2.14000E01 1.43810E03 5.49479E02 8.88092E01 5.81643E02 3.24755E03 2.12287E03 2.44093E02 6.21632E03 1.26862E04 6.64629E03 6.22860E03 8.43641E03 6.93746E03 3.37456E03 7.76680E02 8.43350E02 7.99574E02 9.39526E02 8.42887E02 4.86476E02 1.72161E03 3.00647E03 3.61059E02 5.68622E02 1.04146E03 1.63379E03 1.58942E03 2.95210E02 6.01187E01 2.81777E02 7.78970E02 2.13749E03 5.03735E03 2.50281E03 5.18261E02 9.66399E02 1.64297E02 5.97169E02 6.64127E02 5.10507E03 9.28915E03 -Frame 257 1.49815E05 5.51341E04 6.80598E02 3.09213E03 4.35464E03 8.14684E01 3.75400E03 1.23091E03 9.41303E02 3.44450E03 2.25699E03 1.97938E03 4.23322E03 2.77186E03 2.44730E02 2.34606E02 1.08590E03 3.45872E02 1.34775E02 1.11919E03 1.58601E02 5.57367E02 1.38775E03 1.14304E04 1.06579E04 2.43492E03 1.44658E03 1.37396E03 1.27429E02 9.50491E00 3.87311E01 1.68710E03 3.36538E03 1.11819E03 1.80739E03 8.50323E02 3.08226E01 5.24022E02 6.75221E02 3.25222E03 1.61161E03 6.94051E02 1.44949E03 1.91862E03 3.94553E03 5.74560E03 6.09629E03 6.03480E03 3.40057E03 8.46577E02 1.20920E03 1.47063E03 8.85197E01 7.46529E02 6.16036E03 8.76748E03 2.70665E03 1.22722E03 1.48721E02 1.64706E01 5.65426E02 5.75687E02 1.06635E02 4.55776E03 1.86167E04 9.85654E03 1.14108E03 9.80120E02 2.96261E02 2.71333E02 1.16897E02 1.45603E03 4.07080E03 6.69743E03 1.62122E03 1.46739E03 1.21739E03 1.13588E03 9.63516E02 3.80859E02 1.50880E03 9.31847E02 2.10940E02 5.87313E01 1.47351E03 4.18440E03 3.33300E03 5.04061E02 5.15153E02 2.16747E03 2.11187E02 1.00324E03 9.30895E02 6.81921E02 2.57724E02 9.27764E03 1.86710E04 1.52197E04 1.53436E04 9.26961E03 2.34879E03 8.04215E02 1.19144E03 2.31401E02 8.49595E02 4.69711E02 2.40026E03 5.75998E03 4.45530E03 4.12878E03 1.45373E03 2.10605E02 1.08976E03 3.83166E03 4.58302E03 3.61769E03 1.23900E03 4.82684E02 3.28884E03 9.09018E03 5.48694E03 4.65985E03 1.08690E03 6.14350E03 1.58536E04 1.07171E04 5.24879E03 7.80698E03 5.24084E03 3.47460E01 3.97207E03 7.28894E03 1.96427E03 2.31614E02 1.97660E03 4.27859E03 1.51440E03 1.30860E03 1.51298E02 2.00118E02 4.39667E02 4.06958E02 2.02366E03 1.61161E03 4.15088E02 6.25537E02 1.13471E04 1.51038E04 8.67242E03 4.74741E03 1.15355E03 9.75871E03 1.31806E04 9.19319E03 6.34001E03 3.39413E03 6.92976E02 2.58160E03 2.30921E04 2.61601E04 5.49897E03 1.60447E02 7.16822E02 1.25901E03 1.51997E03 9.81036E02 1.15307E03 4.48677E02 1.12946E03 2.06175E02 1.19257E03 1.07152E02 6.23161E03 6.25970E03 1.32205E03 1.75013E03 3.41803E03 3.35323E03 3.08315E03 7.94065E03 7.52781E03 5.26500E03 3.75257E03 1.25329E03 4.07180E03 2.76769E03 1.38540E03 5.21908E02 1.66952E03 4.44377E03 6.42997E01 6.06884E03 1.15252E04 7.92629E03 3.13735E03 3.08411E03 3.12634E03 1.31553E03 2.23401E02 5.88119E02 2.47893E02 5.21275E02 5.33560E03 9.08221E03 1.64368E03 8.51484E02 2.85647E03 1.73327E03 2.08548E02 3.02380E03 5.55222E03 2.69810E03 4.04608E02 1.76194E03 4.04832E03 3.15482E03 2.52182E03 2.99912E03 2.47334E03 2.02217E03 1.13988E03 8.68589E02 2.71763E03 5.85233E03 2.36708E03 2.22576E03 2.96106E03 6.38512E02 1.25453E03 1.15257E03 2.34414E03 2.52870E03 1.43774E03 2.81698E02 2.81348E02 8.06344E02 1.75904E03 1.31581E03 1.54876E03 1.21480E03 7.18904E02 1.19701E03 1.21191E03 3.48913E01 3.15499E01 3.56560E01 8.42262E00 8.94148E01 6.09705E02 1.47236E03 5.69469E02 5.88179E02 1.87509E03 2.76819E03 2.87178E03 1.87476E03 2.25148E01 -Frame 257 2.74389E04 1.20540E05 7.22623E04 2.66289E03 9.73760E03 1.14046E04 6.99765E02 1.46085E03 4.97371E02 4.86888E02 1.00347E03 1.29351E03 1.14832E03 5.55835E02 2.56818E02 6.07437E01 1.15798E03 1.89999E03 2.86591E02 4.48377E02 2.94349E03 4.11573E03 6.22606E03 4.35385E03 3.05238E02 1.73168E03 3.20769E03 2.37245E03 7.73550E02 5.79690E02 8.51324E02 2.90629E03 4.78814E03 2.28362E03 8.61122E02 2.86451E03 3.05264E03 4.05131E02 2.70021E03 6.67080E03 4.66841E03 2.20750E03 4.01282E02 1.44983E01 4.30361E02 3.18372E02 1.98404E02 9.98814E01 2.43847E02 1.58682E02 3.48824E02 1.54794E02 1.17274E03 5.42102E03 9.41323E03 4.46730E03 1.51537E03 2.02651E03 2.25139E03 2.07297E03 1.14616E03 3.90943E02 7.27076E02 2.68378E03 7.62191E03 2.60207E03 2.35533E03 1.54842E03 7.87044E02 4.93765E03 3.55909E03 8.92869E02 7.71190E02 3.29987E03 3.89516E03 1.33139E03 8.53378E02 2.13616E02 1.09839E03 6.16846E02 5.26216E01 8.67831E01 1.10145E02 3.38969E02 2.52815E02 1.16596E03 8.64044E02 1.92634E02 1.57274E03 1.01057E03 6.42893E02 3.65595E03 4.27645E03 6.78291E03 7.49053E03 4.53048E02 3.13650E03 3.54622E03 6.08781E03 5.43462E03 2.12417E03 4.12640E03 5.29381E02 1.75159E03 4.55175E03 3.06037E03 2.17884E03 4.05394E03 2.53249E03 2.49626E03 9.98356E03 6.06721E03 3.84495E03 6.18631E02 1.65383E02 3.71437E02 9.46936E02 6.68634E03 1.39206E04 4.38425E03 9.96927E03 1.89488E04 9.19430E03 5.18722E03 8.21037E03 1.64711E03 2.11477E03 1.08638E04 1.21822E04 8.49812E03 1.99726E04 1.24951E04 2.70728E03 5.24683E03 1.03446E04 1.19662E04 1.19829E03 1.26324E03 8.92727E02 1.15731E02 1.29007E03 6.02698E03 7.60851E03 1.32039E03 3.77253E02 1.64971E03 5.70903E03 1.85756E04 3.33643E04 1.82268E04 8.66078E03 7.93727E03 2.61616E02 7.55647E03 7.64859E03 7.40933E03 3.88343E03 1.24176E03 1.33036E04 2.31117E04 1.26274E04 1.98943E03 1.65072E02 1.44337E03 3.36683E03 2.09573E03 5.33491E03 4.51829E03 2.68060E02 1.66218E02 9.07750E02 9.46611E03 1.03253E04 1.85930E03 2.64571E02 8.36517E02 2.69520E02 1.60192E03 2.74336E03 2.09651E03 4.31752E03 2.37507E03 7.98269E03 9.26996E03 4.30276E03 1.39738E03 2.48258E02 1.78788E03 1.24685E03 2.35735E03 3.68670E03 8.82124E02 1.96769E03 2.20131E03 1.86608E03 4.38042E02 2.59645E02 3.60230E02 1.65676E03 2.27351E03 2.36310E03 3.67898E03 7.33443E03 1.24560E04 4.94492E03 2.28083E02 1.33784E03 1.52912E03 2.67905E02 1.87547E03 4.58275E02 2.57762E02 2.58324E01 1.37698E03 7.57567E02 1.27869E03 1.39334E03 2.07230E03 1.33274E02 3.41407E02 1.11298E02 1.26225E03 7.21438E03 6.14649E03 1.93627E03 3.60222E03 3.81998E03 4.90534E02 5.87785E03 4.46030E03 5.49787E02 1.31860E-01 2.01284E02 1.06787E02 1.26263E01 4.72830E02 2.09386E03 1.95223E03 1.41855E03 3.91626E02 3.47464E02 1.81349E03 7.10691E02 6.84062E02 7.36467E02 1.58211E02 8.79704E00 1.13192E02 7.35748E02 1.91228E03 6.37099E02 2.75984E02 5.04385E02 5.45659E02 2.04250E02 7.27906E02 2.77811E01 -Frame 257 5.06837E05 1.90505E05 4.88687E03 3.90462E04 1.56423E05 1.04604E05 1.29559E04 3.44669E02 3.33205E03 1.25704E04 4.64416E03 1.33374E03 1.23230E03 2.21090E03 5.86510E02 2.25256E03 6.38276E03 3.29025E02 1.27152E03 2.84665E02 4.56737E03 8.66486E02 2.35952E03 2.28492E03 1.09789E03 3.00422E00 1.19070E03 1.78407E03 4.27752E01 3.24218E02 2.22110E01 9.02278E02 3.20333E03 8.38091E02 3.86598E02 3.68505E03 4.60442E03 1.50352E03 2.31562E02 9.77597E02 1.38064E03 1.10815E03 6.47500E01 3.38904E01 8.45306E01 1.02450E02 5.28504E02 5.13312E02 1.57538E03 1.52539E03 5.25320E02 3.00647E02 1.80197E03 3.14133E02 1.09465E03 1.19868E03 1.01097E03 1.60529E03 1.85211E02 1.69865E02 1.27992E03 2.70448E03 4.19018E03 7.48997E03 9.49509E03 5.92387E03 5.08297E03 3.04879E03 4.23063E03 1.11140E04 9.69025E03 5.75703E03 4.22147E03 4.61456E02 3.55957E03 3.86601E03 5.69789E03 4.27723E03 1.60296E03 3.04001E03 2.13302E03 9.76119E02 1.17511E03 1.94673E03 1.22637E03 1.09577E03 1.18517E03 2.94634E03 2.01089E03 1.25843E03 2.56683E03 3.99436E03 5.19613E02 1.03675E03 4.48962E03 1.48587E04 1.06040E04 2.12884E03 3.34503E03 5.29784E03 8.18941E02 6.71073E03 5.15010E03 6.28306E02 1.84778E03 7.79796E03 6.33365E03 5.56086E03 8.19955E03 1.09815E04 1.21117E04 6.86002E03 2.13030E03 2.30136E03 9.63807E02 1.78530E03 4.02174E03 6.93983E03 7.08610E03 7.18876E03 7.25861E03 1.05751E04 1.35350E04 7.11121E03 1.76775E03 2.64310E03 3.60192E03 1.14890E03 9.88016E03 1.45007E04 1.18992E04 1.41587E04 1.05564E04 5.88464E03 2.86262E03 1.81480E04 1.87858E04 4.87611E03 4.21832E02 1.13058E03 4.84909E03 1.71624E04 1.23834E04 3.43362E03 3.11975E03 2.01093E03 2.05015E03 1.08487E03 1.44752E04 2.36150E04 1.21572E04 6.83441E03 9.93072E02 2.93433E03 1.25558E04 1.40567E04 1.07374E04 6.99918E03 2.48353E03 1.40317E02 5.12590E03 6.90702E03 1.84947E03 1.60144E03 1.12601E03 1.62619E03 2.36371E03 4.54220E03 5.52233E03 7.43984E03 1.26940E04 1.62106E04 5.47142E03 3.60448E01 1.02136E03 4.34976E03 2.06885E03 1.38598E03 6.00855E03 9.51189E03 3.43452E03 6.31166E02 5.57600E03 1.76252E03 1.71336E03 2.35679E03 5.55694E03 4.54958E03 1.31742E03 2.33638E02 1.15641E03 1.37901E03 3.16002E03 1.93097E03 7.67587E02 3.01254E02 1.52879E03 1.82699E03 5.24185E02 1.06170E03 7.54951E02 2.05247E03 3.60286E03 3.93744E03 4.67921E02 1.02734E03 1.46532E03 3.23620E03 1.40760E03 3.73694E02 6.11128E02 2.54923E02 5.51227E02 1.61703E03 3.01473E03 3.39027E03 7.21241E02 4.80713E03 8.52741E03 3.73028E03 7.68979E02 5.83293E00 3.45715E03 5.76209E03 2.43463E03 3.54213E03 5.04808E03 5.84786E03 5.12404E03 1.70817E03 2.09238E02 1.16041E02 2.00054E02 3.81823E01 3.40441E01 3.80102E02 9.61716E02 8.66888E02 1.56483E03 9.00133E02 1.97085E03 3.45572E03 2.03904E03 1.31089E03 9.82720E02 6.75890E02 7.70755E02 2.90084E02 4.33547E02 1.78350E03 5.31202E02 4.95715E01 5.91491E01 5.96391E01 1.94795E02 1.94383E03 3.27921E03 -Frame 257 3.13934E05 2.14313E05 1.10238E05 2.58485E05 7.21548E05 5.97036E05 6.42811E04 1.62969E04 1.47275E05 2.40197E05 9.52169E04 1.71506E04 1.65355E05 3.03040E05 1.84158E05 1.32797E04 4.16936E04 1.15841E05 1.13036E05 4.90664E04 9.93975E03 1.20997E05 1.30256E05 5.40412E04 3.87456E03 7.93038E03 2.66515E04 2.30973E04 2.39319E03 1.31033E03 2.22507E03 2.31431E02 1.39884E03 2.66705E03 4.29908E03 1.50687E03 9.49746E02 3.81525E03 1.15372E03 8.67006E02 1.80748E03 2.43031E03 1.33904E03 5.79550E02 1.27244E02 7.65339E02 1.74605E03 3.68835E02 1.02095E03 7.11437E02 3.71597E02 1.03745E03 3.77198E02 5.33923E03 7.85140E03 3.96784E03 2.73347E03 5.11305E02 2.87743E02 3.58827E02 1.61848E02 1.61263E03 2.92249E03 1.32026E03 5.68959E03 3.89502E02 1.07946E03 1.12544E03 4.83411E03 2.38614E03 1.46570E03 4.64965E02 7.10623E03 1.06717E04 2.18545E03 1.81303E03 3.51362E03 1.21664E03 2.14752E03 4.75589E03 1.34280E03 6.53649E01 2.05909E03 5.47927E03 1.15527E03 3.55778E01 5.05162E03 7.89562E03 2.28274E03 9.89668E02 6.74158E02 1.24717E03 4.26727E03 5.66729E03 3.43449E03 1.13496E03 7.27574E03 1.37644E03 6.43686E02 2.56767E03 1.07328E04 1.32372E04 1.11170E03 1.66368E03 6.20427E01 4.42925E03 3.10294E03 4.47145E02 2.25582E02 1.34055E03 1.18493E03 3.09780E03 1.40237E03 6.88217E02 3.47880E03 1.35735E03 5.26073E02 1.81319E02 2.07631E02 2.63153E02 1.92475E03 5.17118E03 1.18717E04 8.91626E03 3.41776E03 3.66579E03 6.91485E03 2.70556E03 1.03874E04 8.70149E03 6.72952E03 2.15318E03 5.17043E03 7.05228E03 2.42913E02 6.65510E03 1.27224E04 1.39539E03 1.57032E03 3.75594E03 7.86335E03 1.06798E04 2.72558E03 1.75094E02 2.37625E03 2.84373E03 4.31793E02 5.40040E03 2.81707E04 2.00802E04 1.58339E03 6.89374E01 1.05861E03 7.40978E02 1.19738E03 1.97787E02 1.09541E03 3.78618E03 4.47554E03 3.17710E03 1.20732E03 1.08564E03 4.95443E03 3.35886E03 9.78133E02 1.42875E03 2.00310E03 3.06986E03 2.28446E03 1.22825E03 5.31947E03 6.49211E02 4.50078E03 7.68473E03 1.14633E04 1.97466E04 1.18958E04 1.38907E03 1.69577E03 9.70357E02 1.27453E03 9.89518E01 4.93099E03 3.44445E03 5.13196E02 5.11449E03 2.69516E03 3.16549E03 1.76088E03 1.23943E03 6.76676E03 1.01748E04 1.29382E04 6.43013E03 1.08360E02 5.23339E03 5.30953E03 4.29890E03 5.08940E03 4.57654E03 2.41511E03 1.89340E02 3.70507E03 9.57452E03 6.46974E03 5.68406E03 3.39823E03 2.28721E02 2.44679E03 3.02662E03 3.17056E03 3.11689E03 4.01879E03 7.06179E03 4.03064E03 1.22554E03 9.13143E03 1.15175E04 2.51865E03 2.76535E03 4.81525E03 1.56442E03 1.21230E03 3.89515E03 7.52694E02 6.15360E02 1.33220E03 1.77091E03 3.23759E03 1.52536E03 1.26160E03 7.40929E02 4.46322E02 1.14628E02 6.37960E02 4.68725E02 6.30195E02 1.46180E03 1.06304E03 2.68897E02 8.16198E02 3.20744E03 7.44196E02 2.72437E02 1.27712E02 1.50859E02 8.77568E02 1.15389E03 1.03220E03 1.98972E03 1.10353E03 2.84984E02 3.86062E01 4.54364E02 1.14073E03 1.11041E02 7.26599E02 -Frame 257 4.68913E03 4.43557E04 3.15930E04 4.74215E05 3.65258E05 1.24070E05 9.50324E05 9.60529E05 2.45871E05 2.23012E05 7.72172E05 3.00990E05 9.21843E04 1.50910E06 1.24122E06 5.03701E04 3.63603E05 8.47249E05 8.81104E04 6.47302E05 1.60132E06 8.84252E05 3.17618E05 1.10633E06 7.66951E05 8.61759E04 1.24126E05 3.19830E05 1.05630E05 1.08560E04 7.89253E03 3.97098E03 3.05728E03 2.37617E03 1.09652E03 1.03254E03 9.65572E03 1.35030E04 3.13598E03 9.50841E03 9.43763E03 1.27422E03 7.14006E02 9.48517E02 2.73377E02 2.92624E03 3.63828E03 1.07053E03 1.97673E03 2.69322E03 2.43748E03 4.59928E03 3.83503E03 3.52552E03 8.34663E03 6.00742E03 1.47282E03 1.88220E02 1.88739E02 1.31936E03 6.86796E03 6.25315E03 1.27921E03 6.16374E03 4.94977E03 2.34727E03 6.32346E03 8.46712E03 8.11425E03 4.80994E03 8.78668E03 1.29050E04 6.98257E03 2.66666E03 1.71367E03 8.80420E02 1.91375E03 3.29510E03 8.33342E02 4.36534E03 1.07363E04 9.23049E03 1.76935E04 2.20293E04 7.60514E03 4.30791E03 1.64721E04 2.44499E04 8.77047E03 1.11053E03 2.33353E02 1.84852E03 8.35027E03 1.33875E04 5.47134E03 2.55789E03 1.00092E04 4.62673E03 8.74386E02 7.28701E02 7.38874E03 2.46804E04 2.47153E04 6.48099E03 8.19067E02 2.39334E03 6.54731E03 7.35298E03 1.18129E03 4.30598E03 3.82981E03 1.77458E02 1.99199E03 4.27630E03 3.12788E03 1.08399E03 8.29829E02 2.12016E02 5.40143E01 1.27050E02 5.45131E03 1.24890E04 4.14019E03 2.56306E03 2.48323E03 7.28518E02 8.95693E03 1.65069E04 1.00176E04 2.94551E03 1.20591E04 5.83445E03 1.13735E03 3.07594E03 5.83136E02 1.68705E03 3.68770E03 9.39870E03 5.80780E03 7.21025E03 1.22432E04 2.30891E03 4.28274E03 1.34800E04 2.36083E04 1.27720E04 7.28266E03 5.05393E02 2.10630E04 1.78646E04 2.24467E03 4.98885E03 1.05445E04 1.46533E04 1.49862E04 1.69137E04 7.50508E03 5.51190E03 4.31250E04 3.32320E04 1.08141E04 3.52632E03 3.35097E03 1.08985E04 9.82812E03 1.07787E04 5.39705E03 3.35979E03 4.99497E03 7.32062E03 1.94088E03 6.44571E03 1.10155E04 5.42994E03 9.16657E02 5.48406E03 9.16979E03 2.10122E03 2.82037E02 1.41532E03 2.09048E03 4.68781E03 1.15409E04 3.31904E03 1.11177E04 3.03323E04 2.18424E04 1.08844E04 1.26579E04 1.04455E04 2.65446E02 1.83813E04 1.47628E04 1.87665E02 1.20932E04 1.76675E04 8.24820E03 6.70562E03 5.06348E03 6.13426E02 1.44075E03 2.48584E03 3.04042E03 4.98364E03 2.38051E03 2.14580E03 4.10415E03 4.57782E03 2.02604E03 2.95076E03 5.75506E03 2.15983E02 4.08422E03 6.17991E03 3.70359E03 5.67118E02 2.42177E03 1.27936E03 8.72844E02 1.19717E03 1.35919E03 1.38727E03 1.79275E03 3.83514E03 2.59160E03 1.27177E03 5.05078E02 1.90839E02 2.98763E03 2.16555E03 3.27105E02 3.91351E03 3.41887E03 3.08108E03 4.35314E03 2.89005E03 3.39416E03 4.83711E03 2.26329E03 1.07505E03 1.19699E03 1.42582E03 1.16912E03 6.08456E02 6.53956E01 2.71163E02 1.87578E03 1.55723E03 4.15256E02 2.43294E02 1.10515E03 2.02489E02 1.53825E02 1.29684E03 2.69575E03 4.02825E03 4.78130E03 -Frame 257 8.84676E04 4.22432E04 1.86634E05 1.73708E06 2.29489E06 7.29018E05 1.25828E05 2.32867E06 2.94264E06 7.01408E05 3.61806E05 3.70318E06 5.76297E06 1.95353E06 1.09529E06 7.00296E06 6.29218E06 5.92434E05 3.24191E06 7.50835E06 4.98948E06 1.44575E05 2.35062E06 7.63508E06 4.15803E06 7.20601E04 2.36026E06 3.38471E06 1.09047E06 2.20224E05 8.67361E04 6.34864E04 2.25630E04 1.84406E03 7.13195E03 3.68494E03 1.68566E03 7.57258E03 1.43919E04 1.70093E04 2.20721E03 4.66756E03 1.27161E04 1.17278E04 2.05662E03 1.71942E04 3.18435E04 2.29634E04 9.61815E03 1.43131E03 1.70954E02 4.54633E03 8.21393E03 2.81681E03 4.34706E02 1.88938E03 2.93166E03 2.00967E03 1.69368E03 7.15617E02 7.67549E03 2.80222E04 2.05359E04 5.81539E03 4.00725E03 1.46276E04 1.48785E04 1.42793E03 1.12277E04 1.85249E04 1.98163E04 4.06174E03 1.59875E04 3.50636E04 4.04297E04 3.85706E04 3.69388E04 2.43075E04 1.90720E03 1.14556E04 1.60107E04 1.04242E04 1.96928E04 3.69962E03 1.60729E03 7.22583E03 8.92050E03 3.18509E03 3.84895E03 2.12475E03 4.66844E03 5.27057E03 5.39936E02 6.27366E03 1.01142E04 1.45786E03 6.98223E03 2.06467E04 1.34916E04 5.67857E03 1.36068E04 5.23526E03 5.52531E04 8.20002E04 4.26269E04 1.12489E04 1.17136E03 3.23099E04 2.77051E04 3.65821E03 7.34579E02 9.34576E02 5.85083E02 1.51019E03 2.00089E03 5.32477E02 8.82598E02 1.90969E03 3.81055E03 2.83256E03 8.50445E02 1.03535E04 5.86762E03 2.91814E02 3.61874E03 1.88428E04 2.36779E04 5.04035E03 5.62295E03 1.91361E03 7.75695E03 1.30626E04 7.64713E03 4.48195E03 1.41623E04 1.63491E04 1.55259E04 2.57727E04 1.37661E04 2.97196E03 8.07407E03 7.87114E02 7.37341E03 3.75826E04 5.69971E04 3.77642E04 3.16982E04 3.08643E04 3.84454E04 9.43352E03 8.45314E03 4.29313E04 3.38574E04 1.88665E03 3.03268E03 9.74045E02 2.58921E04 5.17532E04 6.37783E04 5.78630E04 2.76470E04 2.97943E03 5.25973E02 1.08997E04 2.60958E04 1.02662E04 6.88513E02 8.44963E02 2.73452E03 8.02652E03 6.42878E03 3.91431E03 9.94886E02 4.56137E02 3.67303E02 1.56185E03 2.48062E03 1.61208E02 1.76738E03 7.08513E01 9.31548E02 2.18195E03 2.06080E04 5.41097E04 3.59973E04 3.68701E04 9.78211E04 3.60761E04 2.89627E03 3.49299E04 1.65643E04 4.80629E03 2.52012E04 1.45095E03 1.28540E04 1.14650E04 2.00080E03 4.85284E03 1.58820E04 1.48930E04 1.03525E04 8.25512E03 3.61159E03 3.06445E03 2.71116E03 5.81731E02 3.51535E02 2.12505E02 4.86271E03 8.50339E03 6.68751E03 1.04618E03 4.76894E02 1.37242E03 6.61716E02 1.60340E03 3.08087E03 3.97857E03 2.74757E03 1.65946E03 1.16719E03 6.66752E02 6.52148E02 3.20493E03 6.07052E03 3.43724E03 3.97784E02 2.81662E02 2.27158E03 2.69366E03 1.80682E03 2.95324E03 8.49717E02 1.50466E03 2.00746E03 8.91146E02 1.27007E03 7.40890E02 3.83213E02 3.96981E01 6.08095E02 1.15031E03 1.01262E03 1.02655E03 7.54681E02 1.46843E03 4.64923E03 2.92277E03 2.63577E02 3.86376E03 2.16656E03 1.71395E02 1.18535E02 8.80537E02 4.52983E02 1.33057E03 1.48863E03 -Frame 257 1.05983E05 1.60899E05 2.53696E05 2.72704E06 4.79739E06 9.16741E05 3.37333E05 4.67698E06 7.38112E06 8.05719E05 7.89362E05 1.01267E07 1.15583E07 5.25183E05 9.30592E06 5.27529E07 5.35255E07 7.32567E06 8.12675E06 2.14171E07 9.19138E06 4.72032E06 2.49922E07 6.68348E07 4.52942E07 9.34286E06 2.31071E07 2.70181E07 1.00209E07 3.55444E06 1.34360E06 3.65312E04 1.78807E05 4.97076E05 8.19045E04 1.44173E05 3.07970E05 1.35610E05 5.28038E03 5.21527E04 1.30026E05 1.44825E04 8.99527E04 8.01841E04 1.38454E05 8.03347E04 1.66552E05 3.71742E04 3.50469E04 7.84305E04 6.79438E04 7.31081E03 3.02083E04 9.95701E04 4.71766E04 2.05330E04 1.03364E05 7.98288E04 1.00795E04 2.98607E04 1.39344E05 4.45494E04 1.63844E04 1.19010E05 2.93760E05 6.88818E04 2.94986E04 7.88715E04 1.05086E05 4.46430E04 9.80591E04 3.85265E05 2.34583E05 4.83268E04 3.80853E05 9.39830E05 3.90240E05 2.72714E04 1.46133E04 4.95376E04 1.34688E04 4.02310E02 3.50652E04 4.71692E04 3.49544E03 9.14091E02 1.35570E04 9.69318E03 5.77630E03 1.62316E03 2.56653E03 8.17559E03 4.17005E03 1.20135E04 3.66034E04 5.25298E04 1.01190E04 1.15155E04 5.32593E04 3.90062E04 1.71827E04 7.28975E04 1.21334E05 4.06169E04 4.15153E05 6.57164E05 5.49148E05 2.43762E05 2.94111E03 1.90023E04 1.02321E04 1.92388E04 8.34920E03 1.10186E03 4.79537E03 6.54411E03 1.31869E03 5.99324E02 3.36949E03 6.29789E03 5.87554E03 7.68078E03 5.77414E03 7.02583E03 2.76868E03 1.20362E04 1.37524E04 1.18776E04 2.44947E03 3.18001E03 2.85073E03 4.90023E01 1.65526E04 1.29461E04 1.46461E04 6.31477E03 1.31398E03 2.30700E04 5.80487E04 4.21358E04 4.39950E04 1.65457E04 2.29666E03 1.50572E04 2.92064E03 1.05280E04 1.81497E04 3.40634E03 7.90322E03 3.74742E04 1.64817E04 3.12433E03 1.81016E04 5.77122E03 1.76099E04 1.22820E04 1.03814E04 6.97723E01 1.21336E04 1.33230E04 3.92980E03 4.17954E03 1.75421E04 1.20132E04 1.70897E03 9.84023E03 4.96145E04 4.08949E04 3.25780E03 8.63080E02 1.15247E04 1.30401E04 3.58605E03 3.80613E03 3.24909E03 1.26454E04 1.62384E04 1.48226E04 5.91493E03 3.02361E02 1.29400E01 1.74795E03 3.36881E03 8.65181E03 7.19098E04 1.81085E05 1.40612E05 2.77791E04 1.21955E05 3.43079E04 9.55269E03 5.07970E04 1.07205E05 5.30341E04 1.90045E04 1.82564E03 9.19214E02 2.36772E03 4.63788E03 1.03319E04 6.86202E03 9.52318E01 4.64779E02 3.90510E03 1.84548E03 4.02520E02 3.61138E03 2.72119E02 5.81474E02 2.27414E03 1.46399E03 2.44906E03 2.57482E03 1.26374E03 6.28446E02 1.68283E03 2.47090E03 1.42939E03 3.10142E03 2.41249E03 8.84341E02 3.52520E02 3.54434E03 2.85004E02 8.74156E02 5.93611E03 1.36834E03 6.01852E01 5.32680E02 1.25396E03 4.47441E03 6.92325E02 1.26600E03 1.41270E02 7.65684E01 1.30289E03 5.40988E03 1.86281E03 2.36604E03 3.45061E03 1.75879E02 3.09909E03 1.55068E03 2.68554E03 9.03407E02 1.92573E03 1.34293E03 6.54705E03 2.87149E03 5.19301E03 1.54759E03 8.63628E03 4.99487E03 2.43233E03 2.96964E03 1.77832E02 1.18135E03 -Frame 257 2.78468E05 9.55148E04 2.02921E05 3.15034E06 7.21960E06 2.41143E06 2.69733E05 4.12354E06 1.28918E07 4.79789E06 7.69075E05 7.51374E06 2.54693E07 1.35254E07 1.56549E06 4.47433E07 1.99241E08 1.43099E08 1.84128E07 2.72930E07 8.00274E07 4.78911E07 1.24663E07 5.68973E07 2.74147E08 2.85578E08 5.23189E07 3.76903E07 1.12281E08 1.18805E08 4.54898E07 1.19424E07 3.36161E06 2.85252E06 1.02816E06 9.09433E04 1.12153E06 5.61321E05 9.08177E04 1.33194E05 1.77082E05 2.87053E05 2.18273E05 8.02399E04 7.53049E05 5.43073E05 2.04098E05 2.24407E05 2.67292E05 2.11894E05 2.06173E05 1.15255E05 2.30881E05 2.71409E05 2.00597E05 1.67399E05 1.53113E05 7.12637E04 7.72088E04 1.63375E05 7.33825E04 1.03186E05 3.46402E05 3.91764E05 4.58716E05 2.78023E05 1.41049E05 2.27750E05 1.45436E05 8.76326E04 6.30290E05 1.10269E06 1.31476E06 1.65875E06 8.59010E05 2.68650E06 3.10589E06 1.83400E06 1.35695E06 9.96863E05 1.18146E05 6.99739E04 3.50072E05 4.16505E05 7.88797E04 3.90316E04 6.82239E04 5.53305E04 2.71238E04 1.41635E04 3.39916E04 5.98278E04 1.56447E04 6.26320E04 2.85481E05 3.06035E05 1.13220E05 7.80888E04 2.53451E05 3.24520E05 1.25627E05 4.12333E04 3.08987E05 8.21703E05 5.00773E05 8.73724E04 5.02796E05 1.19725E06 3.76796E05 1.12620E05 9.38739E04 8.09284E04 3.14141E04 2.36757E04 7.01549E03 1.34804E03 6.26179E02 6.41605E03 7.84224E03 4.99465E03 1.71283E03 1.32131E03 3.58834E03 2.29976E03 4.66775E03 3.94059E03 1.77667E03 9.21088E01 1.50657E03 1.85482E04 5.70254E04 6.39540E04 2.64270E04 2.90397E03 1.34017E04 2.89117E04 3.58844E04 2.72946E04 4.24921E04 1.39443E05 5.09347E04 1.14412E04 1.13886E05 3.51707E05 3.46440E05 1.27900E05 1.61659E03 1.54508E04 3.98974E03 2.17196E03 1.36258E03 4.25094E04 6.47669E04 6.10534E04 5.17564E04 1.93073E04 1.86950E04 2.88804E04 4.28881E04 9.76521E04 7.19638E04 5.42034E04 5.79053E04 1.27734E05 1.69458E05 1.79994E05 3.63069E05 5.68890E05 5.87370E05 4.08366E05 3.29501E05 2.49435E05 1.68541E05 1.32732E05 1.36413E05 1.02293E05 4.63996E04 4.76108E04 5.82127E04 2.18889E04 2.12940E04 2.58013E04 1.63330E04 6.98565E03 2.94943E04 2.65262E05 9.44903E05 1.39583E06 9.36386E05 3.81267E05 4.24935E05 2.68230E05 4.02270E04 4.61913E04 4.61192E04 7.40070E03 1.43583E04 1.38004E04 1.70497E04 1.44530E04 4.06254E03 2.04068E03 1.77488E03 2.28960E03 7.34024E03 7.02456E03 3.21325E02 2.13414E03 2.54821E03 1.53658E03 5.48719E03 5.67924E03 4.24016E03 3.40322E03 1.91029E03 3.46381E03 4.92266E03 3.65564E03 2.76984E03 5.10647E03 1.63913E03 4.90443E02 1.25432E03 5.58251E03 1.29893E03 2.77421E02 2.52254E03 1.71053E03 5.30597E02 9.74145E-01 1.31013E03 2.08539E03 6.02235E03 3.12712E03 2.44509E03 2.00402E03 1.07456E03 4.96517E02 6.06329E03 1.37744E03 2.17227E02 1.15635E03 1.01873E03 4.15633E03 1.71697E03 1.00076E03 1.11001E03 3.83721E02 7.22528E02 5.48263E02 4.58748E03 4.47548E03 3.16601E03 1.19114E02 1.32824E03 9.27263E01 6.79313E02 -Frame 257 2.01572E04 2.05447E04 2.40930E04 2.13494E06 8.60506E06 5.01665E06 2.78463E05 2.58192E06 1.61142E07 1.19280E07 1.11843E06 2.51074E06 2.71602E07 3.00459E07 4.53153E06 8.97409E06 1.70418E08 3.50341E08 9.47098E07 1.38627E07 8.68822E07 2.56307E08 1.16268E08 3.46820E07 1.18915E08 4.40257E08 2.50434E08 1.47680E07 3.58874E07 2.78227E08 3.74940E08 1.01642E08 1.37861E07 1.42546E07 3.44813E07 1.96293E07 3.34046E06 1.57698E06 1.98708E06 9.19525E05 2.40842E05 5.54170E05 1.65195E06 1.20268E06 6.83184E05 5.85725E05 1.31370E06 6.17091E05 2.06190E05 4.66124E05 1.23429E06 9.11377E05 4.34230E05 1.25926E05 1.05204E06 8.59268E05 3.87846E05 5.16210E04 5.59330E05 7.00883E05 5.39487E05 8.17467E04 3.52403E05 6.93741E05 5.43918E05 2.96937E05 1.75932E05 3.43431E05 3.29675E05 2.89600E05 3.34870E05 1.05463E06 1.32659E06 2.33543E06 2.87486E06 3.55239E06 9.20990E05 4.43440E06 2.59503E06 7.50983E06 1.17480E07 7.39546E06 1.07747E06 3.30307E05 4.33485E05 2.22489E05 2.03109E04 2.45496E05 4.12625E05 2.77328E05 7.81256E04 8.28375E03 3.62919E04 1.03055E05 3.16306E05 8.61884E05 7.00116E05 7.90925E05 6.76748E05 1.29861E05 7.93983E04 2.14559E05 2.65630E05 1.14003E05 4.43797E05 7.64713E05 2.99203E06 3.02161E06 1.47207E06 1.15011E06 6.48148E05 4.26294E05 4.02862E02 1.66850E05 7.71108E04 2.77076E04 5.74309E03 2.01018E04 2.13274E04 1.03471E04 1.70701E02 7.14437E03 1.39879E04 3.66547E03 3.79613E02 1.57931E04 2.82601E04 1.27935E04 2.45561E03 1.42683E04 4.08946E04 4.15222E04 2.84681E03 1.28286E04 4.40555E04 1.35580E05 1.83975E05 1.85823E04 1.17223E05 2.16494E05 3.34737E04 7.44580E04 5.20138E05 1.41623E06 1.23291E06 8.58709E05 4.97803E05 1.55808E05 4.33715E03 2.06771E04 5.51154E04 1.19908E05 1.49594E05 2.31758E04 1.79805E05 2.05290E05 2.60219E05 2.07646E05 1.19279E05 9.43609E04 2.32316E05 8.58854E04 6.60695E03 7.62532E03 4.39503E05 7.17142E05 1.01522E05 1.74190E05 6.35164E05 7.91226E05 1.31341E05 6.66083E05 2.37662E05 3.48678E05 5.06237E04 8.12379E03 1.27971E05 2.89533E05 7.44268E04 6.54290E04 2.68297E04 3.72420E04 4.29377E03 1.37951E04 1.14346E04 4.52015E04 2.31965E04 4.00631E05 6.49145E05 1.55146E06 9.72913E05 4.11431E04 6.03933E04 4.34675E03 3.60357E04 2.32046E04 3.65744E04 4.95612E04 1.36484E04 1.60723E03 7.59909E02 6.07726E03 3.86728E03 1.18864E03 3.88878E03 1.17433E04 1.59239E04 1.77062E04 5.45652E03 3.17840E03 5.70965E02 3.03812E03 9.01774E02 8.53582E03 2.27753E04 6.20545E03 3.74345E01 2.08667E02 7.65377E02 1.26016E03 4.50174E03 4.02452E03 3.64245E03 1.65463E03 7.95237E02 1.14910E03 3.05638E02 2.85547E03 2.25458E03 8.53180E02 7.88029E02 5.26460E03 2.81290E03 1.08918E02 2.47724E03 1.96724E03 2.92863E03 5.23262E03 1.77272E03 3.86346E03 2.44369E02 3.64790E02 1.50799E03 7.42044E02 2.84907E03 4.40593E03 3.26671E03 6.95467E02 3.13671E03 5.72779E02 7.28656E02 1.29841E03 1.90015E02 1.01399E03 7.37043E02 2.96190E03 4.31385E03 -Frame 257 1.50882E04 8.08072E03 4.83458E03 1.71393E06 1.07097E07 7.51505E06 4.80291E05 1.32968E06 1.49733E07 1.94182E07 2.66009E06 3.49640E05 1.71676E07 4.49191E07 1.40893E07 1.68522E06 6.12844E07 3.72361E08 2.58379E08 2.78499E07 2.24388E07 3.03507E08 3.81632E08 8.42552E07 5.77269E06 1.26853E08 2.43565E08 4.89513E07 6.72924E06 7.69925E07 3.91048E08 2.92230E08 3.46025E07 1.23894E07 1.20082E08 2.67093E08 1.27809E08 1.31918E07 8.22995E06 6.20203E06 1.40428E06 1.32273E05 1.14853E06 4.54156E06 2.15452E06 5.56293E04 5.75966E05 2.19163E06 1.62966E06 1.50782E05 1.04653E05 3.01508E06 4.37943E06 8.60809E05 5.41596E04 1.33544E06 2.35399E06 1.07301E06 1.86940E05 5.32051E05 2.83572E06 2.21688E06 4.04352E05 3.07070E05 8.13750E05 7.82357E05 3.22684E05 3.01384E04 8.03337E05 1.53280E06 1.02861E06 6.07596E04 1.29143E06 2.07934E06 2.18642E06 7.83746E05 1.71505E06 1.88336E07 3.20941E07 2.71373E07 9.08765E06 1.48088E07 1.55482E07 7.39217E06 8.84386E05 1.29561E06 3.01557E06 3.41414E06 3.48926E05 3.28526E05 4.92143E05 6.56143E05 1.18041E05 2.55852E04 3.26196E04 8.18743E05 8.16947E05 1.98264E05 2.48649E05 7.24293E05 6.50220E05 7.87990E04 2.68104E05 1.42808E06 2.03047E06 1.69291E05 1.87933E06 6.39857E06 6.77996E06 6.02064E06 7.85163E05 1.20067E06 2.12072E06 9.30673E05 7.63480E04 1.93672E04 5.66420E04 2.27016E04 1.73903E03 2.49718E04 3.52472E04 5.42724E04 2.98193E04 4.58651E03 2.38255E04 7.07102E04 1.18341E05 2.25789E04 3.08369E04 7.59967E04 1.51440E05 1.61389E05 1.05698E05 1.55853E05 1.32838E05 4.92769E04 8.65077E04 5.91157E05 3.98870E05 1.03682E05 4.97324E05 1.21389E06 2.25929E06 4.90204E05 7.83644E05 6.86170E05 1.63286E06 7.97041E05 2.36342E05 1.69326E05 1.19102E05 1.65846E05 1.36532E05 4.19086E05 1.64868E05 3.79756E05 2.75806E05 9.90820E04 5.58911E05 4.30970E05 2.74113E05 1.51576E05 5.61567E04 1.95562E05 8.57434E05 5.18040E05 2.73683E05 1.06709E06 2.41303E06 4.02769E06 3.66659E06 1.11568E06 5.26219E05 1.56084E06 7.52329E05 1.43344E05 6.97065E04 6.21522E05 4.74410E05 6.44076E04 8.62708E04 7.84746E04 9.44280E04 1.68136E05 1.97310E05 2.39761E05 5.32689E05 1.51915E05 8.99342E03 5.49808E05 2.27111E06 1.68430E06 3.96920E05 2.45520E04 5.84408E04 1.12445E05 1.44621E05 7.35105E04 9.43048E03 2.52063E04 6.76034E04 1.37253E04 7.81697E03 2.61361E02 5.10123E03 1.36075E03 6.89307E03 5.37905E03 1.47257E04 2.89257E03 1.03733E04 1.36075E04 1.13182E03 2.74154E03 6.40135E03 1.87059E03 1.05209E04 1.72401E03 7.79117E02 1.70346E03 2.10219E03 5.15849E03 1.51295E04 7.47697E03 3.70005E02 6.49702E01 9.89745E03 5.89072E03 1.84604E03 9.52648E02 9.48168E03 9.01534E03 2.82479E03 2.22804E03 2.52008E03 4.29205E03 2.10439E03 5.42596E03 4.94924E03 6.16929E02 2.73465E03 1.95546E03 2.25828E03 6.30158E03 8.31429E03 8.20099E03 8.64276E03 5.85791E03 9.41604E03 1.48794E04 9.71629E02 4.85391E03 1.52319E03 4.45611E03 5.60781E03 2.72904E04 2.15153E04 -Frame 257 2.80658E04 2.69597E05 5.03033E04 2.02849E06 1.25663E07 7.84928E06 8.60241E05 5.51469E05 1.39816E07 1.93733E07 2.70729E06 1.76505E05 1.10908E07 4.00888E07 1.42452E07 1.78861E05 2.51052E07 2.92995E08 3.05912E08 2.89639E07 9.75882E06 2.20193E08 4.42014E08 1.02474E08 9.09324E05 3.96008E07 1.71525E08 7.98237E07 2.50200E06 1.60658E07 1.64012E08 1.96474E08 2.44440E07 3.00212E05 5.33326E07 3.56066E08 4.01019E08 1.20934E08 7.96167E06 1.46421E07 2.68216E07 1.20593E07 4.39827E06 5.77918E06 1.08374E07 2.66704E06 3.86320E05 2.45811E06 4.20537E06 1.17170E06 3.94542E05 2.22422E06 1.09711E07 6.97385E06 6.11091E05 1.74556E05 2.62456E06 2.95225E06 2.61975E05 2.44201E05 1.95800E06 6.60710E06 2.65958E06 3.18498E05 7.22965E04 7.84914E05 7.84042E05 9.94118E04 4.30622E05 2.28952E06 3.33553E06 8.47217E05 2.24381E05 1.37520E06 2.94803E06 8.74250E05 1.03697E06 1.51939E07 5.96845E07 4.73534E07 6.90804E06 2.07270E06 1.26383E07 1.92003E07 5.88410E06 4.97834E05 1.25122E06 7.86636E06 7.04910E06 1.48139E06 1.06855E06 3.27880E05 2.24858E05 4.65285E04 5.99033E04 4.17573E05 1.22367E06 5.64849E05 3.41079E05 9.51660E05 1.57666E06 7.57344E05 3.69762E04 7.63475E05 3.02453E06 3.76298E06 7.74512E05 1.77450E06 1.36169E07 1.86872E07 7.19668E06 5.08407E05 9.86886E05 1.70057E06 7.41046E05 3.51975E05 2.03402E05 7.93459E04 9.40665E04 6.34758E04 6.10646E04 1.06009E05 1.42802E05 1.56869E05 1.51473E05 8.29391E04 1.98131E05 1.56222E05 4.10436E04 1.56530E05 2.26607E05 2.05921E05 1.08097E05 2.45625E05 2.96789E05 3.77836E05 1.11295E05 7.87639E05 1.11786E06 7.52893E05 3.90328E05 6.49445E05 2.47039E06 4.18825E06 2.30048E06 2.57919E05 2.30606E06 1.67782E06 7.59320E05 1.81726E06 3.29604E06 3.51451E06 3.32643E06 1.86016E06 4.37381E05 3.28547E05 5.10251E05 8.77457E05 1.33126E06 2.94596E05 2.61283E04 1.61239E05 5.96420E05 3.10832E05 1.86038E05 3.34037E05 3.78067E05 6.89697E05 3.24707E05 2.61287E05 4.06866E05 7.81207E05 8.94624E05 1.05061E06 7.11240E05 9.61416E05 2.59329E05 4.07662E05 6.96229E05 8.65121E05 1.71774E06 2.17280E06 2.12843E06 1.89579E06 3.37616E06 5.04337E06 3.56713E06 7.16215E05 2.65752E05 1.60278E06 3.28514E06 1.44605E06 1.78026E05 4.55892E04 8.35058E05 1.02222E06 2.61492E05 4.78222E04 5.66763E04 8.77306E04 2.05511E04 1.62309E04 2.47207E03 1.34990E04 1.52353E04 6.78908E03 4.24780E03 5.22994E03 1.35763E04 4.49044E03 2.13999E03 1.18443E04 1.59204E04 1.09356E03 7.31903E02 1.66525E03 2.36646E03 1.24271E03 1.59983E03 6.20598E03 1.44234E04 2.23701E04 3.65297E04 1.20552E04 1.09023E04 4.93636E03 2.53067E04 7.53553E03 2.07500E03 2.55098E03 1.24167E04 1.25440E04 8.37553E03 1.28168E03 1.38200E03 1.08199E03 7.18181E02 2.77647E03 3.93436E03 1.01624E04 1.12088E04 6.95227E03 6.02615E03 1.48349E04 9.67283E03 5.14311E03 5.28501E02 7.17465E03 1.57167E04 1.47232E04 1.36533E03 6.33376E03 1.44355E04 1.74643E04 1.65225E03 5.72983E03 7.53199E03 -Frame 257 6.63228E05 1.76383E05 6.79481E04 2.23676E06 1.20580E07 9.71658E06 8.07267E05 4.14622E05 1.04715E07 1.91036E07 3.43068E06 1.62670E05 7.98594E06 3.13181E07 1.78095E07 3.72934E05 2.07425E07 2.51990E08 3.06112E08 4.16917E07 3.86226E06 1.37194E08 3.51656E08 1.23731E08 3.21415E06 2.21938E07 1.39112E08 1.07461E08 8.90298E06 4.33398E06 7.02204E07 9.75538E07 1.83442E07 9.44868E04 1.64611E07 1.17833E08 8.86884E07 7.20868E06 1.89870E06 2.93524E07 1.11095E08 1.00224E08 2.01191E07 6.23061E06 2.51292E07 1.35391E07 6.93156E05 7.03482E05 8.07055E06 6.12924E06 8.77410E05 2.22588E05 1.18216E07 1.77766E07 4.43346E06 1.44464E05 2.82535E06 1.03649E07 4.98746E06 6.55048E05 1.06371E06 8.77282E06 9.55646E06 1.20264E06 8.60413E04 1.43667E06 2.12092E06 5.66353E05 1.91031E03 3.65530E05 2.57970E06 1.85605E06 1.08912E05 2.46946E05 1.60441E06 3.25324E06 5.31471E05 3.71336E05 1.78918E07 5.04706E07 2.79564E07 4.14709E06 2.86835E06 1.72829E07 4.93591E07 2.33633E07 3.99338E06 1.39956E07 2.76856E07 8.14725E06 5.45275E04 2.55449E06 3.35927E06 1.86208E06 2.07087E05 7.03864E05 2.47506E06 1.37921E06 5.56531E04 1.85357E05 3.00535E05 1.73063E06 7.66193E05 1.86583E05 6.88566E05 2.03796E06 6.71268E05 2.71992E05 2.15794E06 2.32012E06 4.38459E06 1.81304E06 8.50685E05 1.17431E06 1.01537E06 2.32502E06 6.41676E05 6.63943E04 1.63027E05 3.61992E05 6.58504E04 1.07619E05 3.54773E05 8.88825E05 2.87405E05 2.81882E04 5.43668E05 1.48367E06 8.29557E05 4.35994E04 7.82852E04 6.42360E05 7.73077E05 1.39547E05 9.12802E03 1.78534E05 5.49739E05 4.09352E05 5.68220E04 1.06414E05 4.67517E05 2.91557E05 3.79549E05 9.14478E04 1.37808E06 2.55546E06 6.67273E05 4.73865E05 1.39224E06 4.14187E06 5.08232E06 1.37006E06 1.53322E06 7.80290E05 5.72751E06 2.60129E06 8.11950E03 5.35427E05 3.34689E06 2.80059E06 6.34779E05 1.46979E06 1.94291E06 1.70112E05 7.54941E04 3.96527E05 5.80366E05 7.75507E05 1.12573E05 8.39531E03 7.86589E04 1.87971E04 1.07633E05 2.27911E04 4.53765E05 2.50239E06 4.36968E06 1.66107E06 5.65984E05 2.45625E06 6.73057E06 4.12878E06 1.50640E06 1.93685E06 2.52987E05 2.22601E06 1.03195E06 7.89205E05 3.26485E05 6.98281E05 1.33116E06 1.62267E05 1.74737E05 1.27933E06 2.51660E06 4.63484E05 7.45982E04 1.89727E05 5.48206E05 3.15906E05 8.67788E04 4.27198E04 4.47637E04 3.19075E04 3.54742E02 1.48590E04 1.23345E04 4.58126E03 3.10389E02 1.49738E03 1.99841E03 8.89402E03 4.80502E03 8.08852E03 9.74253E03 1.31891E04 1.35212E04 1.83862E04 2.93479E04 1.20770E04 6.61187E03 9.60971E03 5.95605E04 1.63954E05 1.28095E05 1.00514E05 1.66163E05 2.43513E05 1.33806E05 3.49052E04 1.82791E04 4.54177E04 1.37591E04 1.26625E04 5.94778E03 2.05936E03 1.26633E04 1.56271E04 7.68624E03 1.69854E04 1.13245E04 7.67641E03 5.23087E03 5.35142E03 2.87164E04 2.87595E04 3.17053E04 1.62384E04 2.90034E04 4.51830E04 4.12473E04 1.59953E04 1.47947E04 2.46603E04 1.55949E04 1.03581E04 1.10530E04 -Frame 257 5.34613E05 2.75784E05 9.90269E04 1.55658E06 1.16276E07 9.09532E06 5.48716E05 6.41913E05 9.72696E06 1.73685E07 3.16554E06 7.75458E04 6.93137E06 2.87458E07 1.21803E07 6.57522E04 2.89608E07 2.43678E08 2.32278E08 1.93637E07 7.80323E06 1.07590E08 2.17531E08 5.12349E07 1.07302E06 3.05287E07 1.25454E08 7.76105E07 3.75308E06 2.27611E06 2.81920E07 3.99529E07 5.74128E06 7.88416E05 1.25246E07 3.41370E07 1.46355E07 2.53401E05 1.87384E06 1.81521E07 4.56516E07 2.11503E07 1.99473E07 4.49062E07 9.99146E07 6.61375E07 5.51129E06 2.27639E06 1.49460E07 9.62527E06 5.45328E05 5.77611E06 2.20891E07 2.72588E07 3.43093E06 1.24839E06 6.50318E06 1.56286E07 5.76312E06 2.48582E04 2.62058E06 9.12258E06 7.14169E06 2.31626E05 5.57155E05 1.71547E06 2.71343E06 6.19587E05 8.50181E03 3.31031E05 9.49262E05 4.38797E05 5.41121E04 2.33959E05 1.57020E06 2.51247E06 5.24892E05 1.70910E05 5.89615E06 1.08785E07 3.07511E06 5.29703E05 7.54166E06 4.52997E07 6.44726E07 2.05096E07 9.46357E06 1.97745E07 2.81366E07 7.57063E06 4.63326E05 5.21521E06 1.25048E07 8.14621E06 1.00708E06 1.68813E05 1.52536E06 8.52963E05 1.74972E04 2.18746E05 1.07245E06 2.13019E06 7.80915E05 8.88718E03 4.51419E05 1.49533E06 6.49232E05 3.71664E05 7.11801E05 6.91049E05 9.55341E05 2.60614E05 3.06186E05 1.64747E06 3.41608E06 1.95433E06 3.86326E05 1.18004E06 2.21742E06 2.03364E06 7.22548E05 4.84037E04 1.19374E06 1.30427E06 7.98592E05 8.28018E04 5.12547E05 2.62967E06 4.31178E06 1.18183E06 1.29026E06 2.99972E06 1.58021E06 4.22345E05 1.03773E05 3.90812E05 7.05221E05 6.32835E05 7.78688E04 3.03889E05 4.03035E05 1.59911E06 1.20504E06 1.50730E05 9.86487E05 3.03475E06 1.41423E06 1.09071E05 3.41909E06 8.27635E06 9.27510E06 2.02473E06 1.32850E06 5.45859E06 1.43527E07 9.50834E06 1.15612E06 1.42189E06 3.14377E06 4.85921E06 3.83236E06 7.74460E06 3.95363E06 7.52558E05 2.07156E05 1.72819E06 8.66876E05 8.47513E04 1.35362E06 3.58066E06 3.33770E06 1.72071E06 8.50893E05 1.93601E06 6.65685E06 5.52907E06 1.30279E05 2.75505E06 6.33157E06 7.21951E06 1.26024E06 3.32729E05 1.46684E06 2.41864E06 9.48712E05 2.00635E05 5.94473E05 1.01556E06 5.68640E05 2.21477E05 6.18053E05 8.68073E05 9.99638E05 8.07730E05 1.11853E06 2.01772E06 2.32748E06 1.54850E06 3.07454E05 3.78138E04 4.89438E03 2.11965E03 2.84716E03 4.76772E03 5.36975E04 9.68934E04 6.24142E04 1.36038E04 4.83146E03 4.49712E03 3.47752E03 1.30745E03 2.20653E03 1.04739E03 4.98430E03 3.46681E03 2.42735E03 3.16403E02 6.29838E03 2.97151E02 9.30545E02 1.95853E03 3.39833E04 6.85033E03 3.19576E04 2.66054E04 5.55115E04 4.15354E05 4.92614E05 2.31431E05 7.58099E04 8.33192E04 8.71922E04 4.53499E04 6.36364E03 7.92572E03 3.44689E04 3.12011E04 2.92004E03 2.05413E04 1.88366E04 4.45748E03 7.03151E02 3.46682E04 2.42220E05 3.16613E05 1.06512E05 1.14445E05 1.76777E05 1.68065E05 2.34158E05 1.36835E05 1.77860E05 2.07659E05 1.31031E05 1.00923E05 5.87438E04 -Frame 257 7.24983E03 2.92631E05 7.24119E03 1.23224E06 8.86749E06 9.36431E06 9.56564E05 8.19873E05 8.12832E06 1.14752E07 4.16086E06 5.08745E05 8.45820E06 1.92943E07 1.18888E07 5.16216E06 4.05970E07 1.88593E08 1.51125E08 2.76507E07 3.28100E05 4.05497E07 8.21119E07 3.57412E07 3.36735E06 7.20010E06 5.25397E07 5.00310E07 9.44705E06 1.13818E05 5.33929E06 1.44452E07 7.82181E06 8.65638E05 2.86906E06 1.02442E07 6.59342E06 1.33329E06 9.61272E04 4.01656E06 6.63210E06 5.85761E06 1.20023E06 1.98165E07 9.40304E07 8.54245E07 2.11474E07 5.05273E05 8.54841E06 1.20106E07 6.22035E06 1.23203E06 8.67924E06 2.07494E07 1.07788E07 2.53941E06 2.57052E06 8.99183E06 8.12777E06 3.21617E06 8.01846E05 4.32441E06 5.76771E06 3.17969E06 6.83904E05 1.00869E06 1.36742E06 8.28664E05 3.81124E05 6.27427E03 1.61974E05 2.04329E05 4.00193E05 1.03151E05 7.72617E05 8.62495E05 4.59626E05 5.16493E05 1.28441E06 8.18163E05 1.45370E05 3.08096E05 1.06161E06 9.20661E06 1.24439E07 5.59331E06 1.88355E06 2.68570E05 4.34551E06 8.79597E06 4.80782E06 1.64033E06 7.40347E06 1.17889E07 4.60185E06 1.09710E06 4.26200E05 4.18772E04 2.54438E05 8.98454E04 1.77327E05 6.80100E05 7.07828E05 3.60429E05 1.48934E05 1.74724E05 6.33636E05 6.90773E05 3.75510E05 2.94078E05 2.87902E05 2.04436E05 2.22457E05 5.74378E04 6.57976E04 3.27705E05 4.99736E05 2.99919E05 3.61906E03 3.25771E05 7.42533E05 8.51449E05 4.21607E05 7.54823E04 8.44979E04 9.22897E05 1.49024E06 7.35375E05 6.21343E06 1.91103E07 2.02157E07 7.96559E06 2.47573E06 2.46076E06 2.60107E06 2.66193E06 3.73533E06 4.99959E06 4.27191E06 1.12324E06 2.26004E05 1.07528E06 1.85895E06 1.15834E06 1.77580E05 1.50117E06 1.69723E06 2.18798E06 6.07535E05 5.59420E05 2.73580E06 2.92325E06 1.91591E06 2.81774E06 9.52242E06 1.06262E07 5.29540E06 2.03832E06 1.91747E06 2.83170E06 3.81796E06 9.07472E06 7.88763E06 4.53098E06 8.90911E06 7.81328E06 2.14640E06 3.02010E04 3.95173E05 3.57845E06 7.43872E06 2.58105E06 5.90489E06 1.36305E07 9.10473E06 6.37378E05 1.20271E06 4.80627E06 6.82475E06 5.40904E06 1.52002E06 3.67324E05 1.21282E06 1.64055E06 3.52121E05 1.00022E04 1.60256E05 4.59298E05 6.09297E05 3.45922E05 1.79638E05 4.48509E05 5.16195E05 6.59658E04 5.47021E04 2.37034E05 4.72576E05 3.99280E05 1.66196E05 3.20383E04 2.97200E04 8.14344E03 6.55834E02 1.51988E04 2.44457E04 2.25001E04 9.54425E03 2.80353E04 8.95649E03 1.44927E04 1.48952E04 1.86110E04 1.08812E04 4.03060E04 6.87172E02 1.07375E04 1.21239E05 1.42568E05 1.94876E05 8.39329E04 8.89218E04 5.24807E04 2.14426E04 4.91146E04 2.36618E04 3.70984E04 1.28000E05 1.47011E05 4.37941E03 6.55731E04 4.52873E03 6.22505E02 9.61476E03 5.78150E03 2.22297E04 2.47918E04 1.25657E04 6.51799E03 1.98071E04 3.74251E04 3.97336E04 5.18278E04 1.96359E04 1.71693E05 2.54146E05 4.95713E04 8.38215E04 2.09295E05 3.07647E05 2.41774E05 2.07595E05 6.36369E04 5.66538E04 1.95937E05 1.32593E05 9.25366E04 9.53694E02 -Frame 257 1.33997E06 5.95145E05 1.54775E05 9.30562E05 4.44675E06 2.90184E06 4.31550E05 8.99908E05 3.47990E06 2.35265E06 5.21934E05 1.00997E06 5.04498E06 4.36842E06 4.32422E05 3.02580E06 1.60699E07 2.52516E07 1.51485E07 3.20220E06 1.39341E06 5.21279E06 7.05104E06 1.66014E06 1.08171E03 2.35015E06 9.76719E06 6.18366E06 7.08431E05 2.44886E05 1.17374E06 1.12892E06 5.92792E05 2.25182E05 2.42614E06 2.10688E06 3.37342E05 1.87774E05 6.15431E05 7.60089E05 2.23793E05 4.03901E05 6.28958E06 1.44412E07 7.43115E06 1.81438E06 4.37233E06 3.42928E06 1.08827E06 5.46265E05 3.20828E05 3.12448E06 5.81152E06 1.58642E06 2.52381E05 5.81096E05 2.13086E06 1.35382E06 2.94144E05 1.42758E05 1.44650E06 1.47781E06 3.96460E05 8.55523E04 5.58468E05 6.71110E05 6.24487E04 2.31112E04 1.22184E05 4.90857E04 7.77326E03 9.17458E03 1.63086E05 2.35019E05 3.59270E04 5.27263E04 2.35721E04 7.49440E04 1.68776E05 2.20151E05 3.47375E05 4.95098E05 1.31141E05 2.93821E05 1.37952E05 3.09513E05 3.67250E05 1.08826E05 3.55115E05 1.33821E05 1.03583E06 9.06223E04 1.86487E06 1.32104E06 3.90083E05 2.26945E04 2.85074E04 3.47374E04 2.04737E05 7.98264E04 1.31427E05 3.09513E05 1.55437E05 1.57566E05 1.73919E05 1.13595E05 2.06449E05 2.54739E05 4.69855E05 1.19625E06 9.04077E05 6.13607E05 4.80963E05 3.48564E05 4.50355E05 3.70695E05 4.15835E05 6.06079E05 3.12372E05 2.11273E05 2.67491E05 2.24352E05 4.27732E05 2.60983E05 3.52250E05 5.90028E04 4.15453E05 1.96071E06 1.03525E06 1.50178E06 6.85937E06 4.84245E06 8.44215E05 3.59118E05 4.16638E05 2.62502E06 4.14941E06 8.81343E05 1.31033E06 4.30841E06 4.03802E06 2.99807E06 7.22345E05 2.06117E06 5.32841E06 5.12229E06 4.01736E06 4.39107E06 2.76703E06 4.45488E06 4.24288E06 3.59565E06 8.05918E06 5.88181E06 1.11091E06 3.63028E06 1.62917E06 9.51877E05 4.57271E06 2.08790E06 3.47327E06 3.35735E06 2.68696E05 4.19591E06 4.79486E06 3.66427E04 2.93097E06 4.33355E06 3.63836E06 2.27384E06 1.58425E05 4.26155E06 4.89250E06 2.44024E05 2.05639E06 3.72805E06 1.11368E06 1.69475E06 1.75638E06 1.28576E06 3.02406E06 1.45535E06 6.79561E05 1.61710E06 9.11379E05 2.90049E05 2.78683E05 1.17139E05 2.01422E05 1.72779E05 1.03792E04 3.17866E05 5.70175E05 3.46835E05 1.28153E05 2.48793E05 1.66047E05 1.32435E05 7.80259E04 1.90761E05 2.30035E05 1.19454E05 6.12142E04 7.95119E04 8.89449E04 1.43022E05 1.80962E05 1.39203E05 8.57646E04 1.87937E05 3.97749E05 4.14342E05 4.41979E05 5.98773E05 5.81316E05 3.93414E05 1.06534E05 2.45649E05 6.60111E05 4.37350E05 3.18148E05 5.73361E05 5.97442E05 5.80106E05 4.18877E05 3.45811E05 5.02156E05 3.01443E05 7.12378E04 1.18829E05 3.00762E05 3.32143E05 2.94235E05 2.55348E05 2.82760E05 2.14897E05 8.88197E04 6.13912E04 7.90472E04 1.06299E05 1.58845E05 9.99202E04 1.44299E05 1.16629E05 1.64644E03 6.06714E04 1.32463E05 1.41424E05 2.26439E05 1.74021E05 1.02960E05 4.86866E04 1.18738E03 3.92137E04 1.07050E05 1.91479E05 3.08287E05 -Frame 257 1.52420E06 4.87840E05 9.63303E04 4.31224E05 1.96759E06 1.26845E06 1.03020E05 1.28929E04 7.55517E05 8.02895E05 1.48038E05 2.65322E04 9.89567E05 1.89262E06 4.10232E05 1.22627E05 2.47116E04 1.26948E05 6.03024E04 3.25953E04 1.32196E04 3.07972E05 5.55277E05 4.95453E04 1.05430E04 3.52514E05 7.80521E05 1.00174E05 1.15115E04 4.28638E03 6.94037E04 5.80758E04 5.66372E04 8.46026E02 6.66599E05 9.98527E05 2.70338E05 2.39329E04 7.07257E04 9.93534E04 1.18723E04 1.04467E05 3.10014E05 6.57549E05 1.22597E05 1.67865E05 1.86129E05 3.67081E03 4.42876E04 7.39750E04 6.27941E04 2.95565E05 1.32286E06 6.75199E05 2.22262E05 2.64251E04 2.21330E05 1.55327E05 2.77924E04 2.15370E03 3.51841E05 4.45747E05 1.35358E05 6.21739E04 1.39618E05 7.04112E05 3.97890E05 1.55229E05 2.69624E04 5.17546E04 1.40404E05 4.42303E04 1.49302E04 2.44348E04 4.93335E04 3.15426E04 9.18238E02 6.08276E04 1.58316E05 1.20751E05 1.24793E05 3.67629E03 3.62567E05 7.68152E05 5.39932E05 8.77940E04 1.54246E05 4.99132E05 4.57837E05 3.18547E05 2.10873E05 1.45714E06 1.25719E06 4.59948E05 2.66915E05 4.88101E04 1.04139E05 1.00560E05 1.02206E05 5.98662E04 6.72204E04 1.30724E00 3.24843E04 4.38558E04 2.29291E04 1.04541E05 1.13233E05 9.91884E04 2.02428E05 9.88869E04 1.05278E05 1.51021E05 1.37543E05 1.42581E05 4.42932E04 1.07615E05 1.21849E05 1.09245E05 6.87621E04 7.85689E04 6.99537E04 7.12228E04 1.16375E05 1.23581E05 7.07397E04 8.64317E04 3.30581E04 8.73270E04 2.35435E05 2.49673E05 1.28100E05 1.61586E05 1.32348E05 9.80746E04 8.23468E04 1.79437E04 1.99603E05 6.90644E05 4.53277E05 3.49459E05 8.42334E05 1.09615E06 4.68393E05 3.68797E05 3.72709E05 1.09196E06 1.29165E06 7.22141E05 1.30638E06 1.38620E06 1.07217E06 8.50788E05 7.00987E05 6.31778E05 1.09275E06 5.50230E05 3.02016E05 8.98309E05 1.52681E06 1.03679E06 6.27475E05 3.59378E05 1.00778E05 7.33335E05 7.27649E05 5.36145E05 7.00092E05 1.03859E06 9.26754E05 6.71301E05 4.33261E05 2.51697E05 4.25234E05 2.95352E05 2.89135E05 5.29720E05 6.67342E05 5.59403E05 3.33854E05 3.21262E05 5.16037E05 3.52147E05 1.75662E05 3.20195E05 1.48636E05 6.04739E04 7.19983E04 1.04615E04 1.05147E05 6.73714E04 1.47634E03 1.96431E04 2.33358E04 1.52345E04 7.63233E04 9.29702E04 1.20112E05 9.92253E04 3.33770E04 3.79460E04 1.87932E04 3.35373E04 3.65206E04 4.35930E04 4.98563E04 5.64437E04 1.21997E04 5.67842E04 3.78408E04 9.71356E04 1.65473E05 1.23577E05 9.04050E04 9.32172E04 7.18169E04 7.70870E04 6.06435E04 1.27568E05 1.15674E05 4.79079E04 1.73032E05 1.52823E05 9.16334E04 1.55641E05 1.15795E05 1.30567E05 7.29753E04 3.60986E04 3.35549E04 6.67914E04 6.88754E04 1.15802E05 8.84247E04 6.60078E04 1.06178E05 8.36019E04 4.08573E04 1.86325E04 6.30757E04 5.28594E03 5.12203E04 3.97378E04 2.63389E04 3.31297E04 1.54788E04 3.91458E03 2.64915E04 7.42172E04 5.82072E04 7.82240E04 2.15141E04 4.61521E03 1.79815E03 2.49134E04 2.39057E04 7.56417E04 1.71536E05 -Frame 257 2.46063E06 1.20448E06 2.26357E05 2.78011E05 1.44658E06 9.13330E05 4.10368E04 6.70587E04 6.96804E05 8.02440E05 9.84783E04 3.73870E04 8.45733E05 2.03119E06 7.03156E05 2.66257E04 2.56223E04 4.15883E04 9.62404E03 1.98591E03 8.63560E03 2.11333E05 2.89867E05 5.53770E04 3.75658E04 3.87378E05 4.34141E05 2.75764E04 5.25524E03 7.43629E03 6.25809E04 5.06677E04 6.90201E03 1.28484E05 7.53166E05 7.91543E05 2.27674E05 6.02321E03 5.37274E04 3.30861E04 2.76756E03 1.04387E04 2.71669E04 2.09870E05 3.57956E05 1.00938E05 1.35049E03 2.86125E04 4.13523E04 9.24318E03 2.51842E04 3.09528E05 5.29348E05 1.27961E05 3.55571E02 1.04789E05 2.58015E05 5.15795E04 4.31949E03 1.11622E05 4.91301E05 3.08579E05 2.04751E04 1.10091E05 9.16000E05 9.89020E05 1.63392E05 8.12114E03 9.83108E04 1.20821E05 4.57728E04 2.93280E04 2.20135E04 2.23827E04 1.53827E04 2.03620E04 4.62219E03 6.34089E04 6.97563E04 2.06511E04 4.23175E03 2.18234E05 4.39827E05 8.55828E04 1.40879E04 1.14817E05 4.78190E05 2.01465E05 5.47962E04 3.00619E05 1.37592E06 2.01383E06 8.71773E05 8.31612E04 2.13605E05 3.90365E05 6.91236E04 1.03836E04 6.00103E04 8.42318E04 4.66411E04 9.18218E03 3.18875E03 2.32275E04 3.69494E04 2.04840E04 1.22714E04 3.78610E04 5.97980E04 2.70421E04 1.08872E04 5.46201E03 1.76935E04 2.64039E04 9.05516E03 6.95691E02 3.68803E02 2.82909E03 8.68740E03 6.46742E03 2.18845E03 3.07560E03 5.42712E02 4.73921E03 1.38625E04 1.82612E04 1.15058E04 3.22683E03 7.70350E03 1.46759E04 1.37196E04 1.84974E04 2.81743E04 2.78053E04 1.91129E04 8.49930E03 3.34670E03 5.11651E04 3.71765E04 9.83991E02 6.38034E03 8.96328E04 1.05024E05 4.82435E04 1.50673E04 8.00660E02 1.95409E04 6.66317E04 7.43807E04 4.28805E04 4.13714E04 2.50831E04 4.34257E03 1.64784E04 7.48723E04 5.56949E04 9.44876E03 7.25731E03 6.44187E04 1.10781E05 3.54860E04 4.37134E04 5.55607E04 4.92072E04 2.78787E04 7.95247E02 8.48875E03 5.04706E04 5.48430E04 1.79671E04 1.04301E03 7.82609E03 2.65986E04 1.76483E04 5.32256E03 1.72522E03 5.07606E03 9.84399E02 8.33365E03 1.22298E03 9.09051E03 1.41092E04 1.58563E04 3.92777E03 1.04000E04 4.09704E04 2.82617E04 1.44041E04 3.00615E03 9.85103E03 1.38872E04 5.24658E03 1.98876E03 6.52340E03 7.57123E03 1.69853E03 1.15556E03 9.71605E02 5.53417E03 4.25859E03 1.17077E04 1.34016E04 8.21063E03 3.47732E03 1.74895E03 3.65882E03 9.33137E03 1.08433E04 1.21281E04 1.64811E04 1.97664E03 4.76503E02 5.00900E02 3.60331E03 9.89977E03 1.03124E04 5.35711E03 3.00621E03 4.65057E03 6.23600E03 7.90444E03 1.57729E02 5.58303E03 8.50638E03 1.18880E04 8.53035E03 1.03035E03 2.36814E03 1.37748E04 1.59824E04 6.31639E03 1.25514E03 7.76242E03 2.32856E04 1.49674E04 1.80603E04 6.39393E04 6.18550E04 1.59216E04 2.54590E03 1.83492E04 2.74974E04 1.47455E04 6.65363E03 1.15280E04 1.03448E04 1.96749E04 5.88177E03 5.31749E03 3.06430E04 3.71809E04 2.39861E04 5.24679E03 1.91783E03 3.02959E03 5.45553E03 1.61494E04 -Frame 257 4.88183E05 8.36342E05 2.20135E05 1.22391E05 1.20751E06 7.37411E05 3.51520E04 5.11828E04 6.46796E05 8.26637E05 7.70351E04 3.78338E04 8.00800E05 1.67698E06 4.19714E05 1.20532E04 8.30493E04 2.25115E05 1.12510E05 6.83342E03 2.56045E04 1.23776E05 1.37421E05 2.73098E04 5.33260E04 4.16153E05 5.75359E05 9.68936E04 4.61282E03 4.57698E04 6.45836E04 1.21135E04 2.21651E03 1.55795E05 5.26758E05 1.12752E05 8.82202E04 3.12772E04 8.39420E04 1.15941E05 4.26553E04 1.21178E04 1.99555E04 1.31133E05 1.66591E05 1.19227E05 5.58274E04 8.98017E04 6.44377E04 2.00905E04 6.27304E04 1.82978E05 5.80829E04 2.82233E04 5.63887E04 2.17875E05 2.56207E05 5.11278E04 9.44258E03 1.45311E05 2.57456E05 7.16754E04 6.37982E04 4.09055E05 1.46550E06 8.29831E05 3.14087E04 1.26508E03 7.55809E04 7.06000E04 6.44830E03 1.17597E04 6.12212E04 4.95955E04 1.91725E04 7.51782E03 1.36727E04 2.55375E04 2.15625E04 3.80693E04 1.88041E05 5.58523E05 2.71056E05 5.13173E03 4.86826E04 2.49473E05 2.93681E05 6.16644E04 2.91801E04 6.90182E05 1.84911E06 5.37598E05 1.54785E04 1.06783E05 5.51349E05 3.74547E05 2.88894E04 3.64902E04 1.45976E05 1.10620E05 9.90936E03 2.38887E03 1.02800E04 1.30609E04 1.72413E04 5.54557E03 1.91547E04 6.44624E04 3.47094E04 2.40894E03 1.99187E03 1.15291E04 2.22496E04 7.56435E03 1.34658E03 1.89703E03 3.94496E03 5.00006E03 9.27632E03 8.27342E03 5.73765E03 1.61788E03 8.22621E02 1.07320E03 1.11535E03 2.97065E03 1.01207E03 6.77441E02 1.69044E03 7.47122E03 1.30997E04 2.18399E04 5.81445E04 5.35839E04 1.80677E03 1.26583E03 2.12004E03 1.79306E04 2.46340E04 1.45034E04 2.08939E04 2.81303E04 2.41176E04 2.86511E04 3.77302E03 4.18079E03 1.39175E04 7.76975E03 2.56292E04 2.73801E04 4.87495E04 2.77434E04 5.57652E03 8.69887E03 3.11766E04 1.94339E04 3.78910E03 1.16599E04 1.01295E05 6.90260E04 4.61754E03 2.46979E04 5.30492E04 5.31968E04 2.72070E04 7.69895E03 4.96485E04 6.22321E04 2.09142E04 1.78723E04 2.65186E03 5.78357E03 5.33051E03 1.41342E03 5.82788E03 1.70491E04 1.70610E04 5.25944E03 1.52454E04 2.59558E04 8.41175E03 2.02289E03 7.63767E02 3.23461E03 1.67473E04 1.44893E04 6.35821E03 5.48493E03 1.14971E04 6.90908E03 2.15948E04 1.96396E04 5.59992E03 3.42924E03 1.34177E04 1.01192E04 7.53150E03 7.27995E03 4.53043E03 3.79985E03 5.37516E03 3.90022E03 1.40669E04 1.26264E04 1.07845E04 8.32161E03 3.14520E03 5.70062E02 2.21364E03 9.19377E03 6.47222E03 1.63621E02 2.17887E03 2.41767E03 2.16270E03 9.23091E03 4.50058E03 4.79050E03 6.15831E03 5.72883E03 5.30473E03 7.79110E03 4.86670E03 3.51003E03 4.35956E02 5.82492E03 6.34577E03 4.85153E03 6.80075E03 1.23725E04 3.84256E03 1.95130E03 3.62607E03 1.91956E04 1.72845E04 1.65438E04 2.64988E04 1.40106E04 2.26757E03 1.56923E03 1.55698E04 1.29684E04 2.87406E03 3.92017E04 2.15917E04 3.85881E03 2.35501E04 3.79172E03 3.12153E04 3.65271E04 2.56670E03 8.72649E03 2.99697E04 1.81443E04 3.72868E03 1.11686E03 5.53066E03 -Frame 257 4.01474E06 2.38130E06 4.31730E05 3.42144E05 1.03196E06 5.98850E05 4.83330E04 9.50371E04 7.30484E05 7.61360E05 1.05204E05 1.88234E04 6.16854E05 1.21971E06 2.39313E05 1.67254E03 1.10831E05 4.17031E05 1.81095E05 5.93173E03 5.94475E03 2.42154E03 1.84526E04 8.05400E03 5.23143E04 2.88558E05 2.98879E05 4.97275E04 9.47775E03 4.68848E04 1.83826E04 1.23737E03 1.28400E03 1.32310E05 7.91650E05 7.96936E05 1.71716E05 1.34114E04 7.96376E04 3.28878E04 3.44086E02 3.42494E03 2.25852E03 1.25391E04 1.43710E03 5.51555E03 3.58313E04 5.94032E04 3.12895E02 5.70885E03 2.69734E04 1.93701E05 1.86547E05 4.25239E04 3.25023E04 2.06368E05 2.19471E05 3.59619E04 4.44284E01 9.28484E04 2.27845E05 8.38364E04 1.67343E04 3.49546E05 1.03877E06 4.85505E05 9.89302E04 6.78019E04 5.77893E04 1.20824E04 2.30552E03 1.34799E04 3.51333E04 1.47527E04 1.74581E04 1.87748E04 3.27608E04 5.52162E04 5.18398E04 3.62062E04 1.56630E05 5.20847E05 2.44076E05 2.46207E04 2.51016E04 1.62657E05 9.00818E04 3.53128E03 1.27872E05 6.56186E05 7.81621E05 2.93719E05 5.92998E04 1.70221E05 3.52407E05 7.21219E04 4.81831E04 1.16666E05 1.10404E05 3.22111E04 3.84117E03 3.66754E03 1.71908E04 1.45579E04 1.80205E04 9.61914E03 1.73634E04 9.48736E03 4.23152E03 6.94687E03 1.37333E04 3.43520E04 2.17260E04 1.23879E03 3.33133E02 3.16863E03 1.77191E03 4.83721E02 9.74207E02 3.57626E02 6.34045E02 2.11988E03 1.14005E03 9.82327E02 1.05004E03 1.02186E03 2.60249E03 1.99005E03 9.10663E02 2.06082E03 1.17394E04 3.16694E04 5.66984E04 4.28983E04 1.59480E04 7.50563E03 4.88943E03 4.12483E02 1.14046E03 7.32886E03 1.74255E04 3.66091E04 3.52159E04 4.09636E04 2.20723E04 6.53563E03 5.43828E03 8.62260E03 4.41474E04 5.23035E04 2.30290E04 7.81839E03 1.20648E04 3.37451E02 8.75144E03 2.17306E03 7.01981E03 7.35822E04 1.26058E05 5.02837E04 3.70860E03 1.39884E04 8.38035E04 5.23111E04 1.52073E03 1.63643E04 7.05824E04 4.93732E04 1.14062E04 3.43137E03 2.01039E03 1.50971E04 1.36323E04 1.08105E04 1.46821E04 7.54415E03 5.94397E03 2.31853E03 6.53890E03 3.11749E03 1.15877E04 7.35854E03 3.99717E03 1.06840E04 5.87318E03 6.75126E02 7.24506E02 1.69931E03 2.57400E04 3.23563E04 4.03152E03 5.99793E03 4.93915E03 3.35984E03 1.04666E04 1.25685E04 3.50290E03 8.35457E02 1.57889E03 5.65507E03 1.45481E03 2.37558E03 5.23425E03 3.64878E03 1.19645E04 3.24045E04 1.68537E04 5.03394E03 2.69491E01 1.48787E03 3.58096E03 3.72822E03 1.31999E02 3.43608E03 5.78760E03 4.91713E03 5.20950E02 1.73464E03 7.22179E03 4.04674E03 1.51871E03 4.04628E03 2.00697E04 1.41603E04 1.00193E03 2.99107E03 2.82313E03 2.89296E03 4.37552E03 2.59244E03 1.93541E04 2.57558E04 1.29970E04 8.09185E01 1.78982E04 3.44396E04 4.70215E04 8.28018E04 7.99536E04 6.86877E04 1.94750E04 4.03632E04 6.15933E04 2.97513E04 3.74221E03 1.11882E04 7.52570E04 1.20709E05 6.88419E04 4.05410E03 8.54088E03 1.62054E03 1.86000E04 3.67096E04 2.29681E04 5.51022E03 2.51035E01 -Frame 257 1.72461E07 8.95251E06 9.93896E05 2.33012E05 7.81875E05 3.61683E05 1.03065E03 4.32321E04 4.93777E05 5.20640E05 6.02531E04 3.01939E04 5.87901E05 8.29489E05 1.49081E05 6.26704E02 7.48760E04 3.37536E05 1.54824E05 2.26784E03 7.26506E03 3.99439E04 5.18556E04 1.99719E04 9.24852E03 1.06640E05 5.38716E04 6.07274E02 1.36867E04 3.87407E04 5.69045E04 1.90059E04 3.09652E03 8.71916E04 3.61036E05 2.79310E05 4.67274E04 1.10110E04 2.36377E04 8.38844E03 1.21243E04 5.59036E03 1.51637E03 1.66753E03 2.54628E04 3.54464E04 7.43794E04 6.82733E04 7.92795E03 2.37704E04 1.18618E05 3.75473E05 2.26570E05 3.57991E04 1.20184E04 9.16216E04 7.01661E04 1.60824E04 2.61307E04 1.74581E05 1.60001E05 2.98393E04 1.35532E03 1.12141E05 2.75839E05 1.97674E05 4.73046E04 2.06127E04 3.35118E04 4.47861E03 1.61953E03 1.13297E03 4.58808E03 1.02399E04 3.17486E04 4.77516E04 9.55859E04 8.07994E04 3.81589E02 2.01655E04 7.08764E04 1.81154E05 1.22386E05 1.59290E04 5.93551E04 1.00805E05 3.09104E04 1.04796E03 6.52449E04 7.21699E04 7.98261E04 6.24833E04 2.60431E05 6.18024E05 3.68399E05 1.04113E04 8.83916E04 3.37088E04 5.91659E03 2.12441E03 1.00154E04 3.54931E04 2.25784E04 3.52683E03 1.04335E04 1.79652E04 5.12381E03 5.55713E03 3.00152E04 3.20219E04 4.02234E04 1.14606E04 4.49752E03 1.39712E04 1.00518E04 9.90933E03 5.44283E03 2.55621E03 2.61280E03 1.19625E03 2.53177E03 2.55230E03 3.00106E02 4.86744E02 2.30868E03 6.73017E02 4.71527E02 5.47775E03 4.73213E03 5.27934E03 1.49692E04 4.35401E04 3.73016E04 1.53413E04 1.04913E04 1.15229E04 1.90424E04 1.93196E04 7.06182E03 1.10237E04 6.03908E04 5.97073E04 1.68954E04 4.97325E04 6.34267E04 1.57414E04 2.24276E03 3.85188E03 6.02508E04 1.19383E05 6.08750E04 2.68467E04 7.50005E04 6.62317E04 1.67812E04 1.39398E03 1.77977E04 5.48482E04 3.16321E04 1.14791E04 2.36576E04 6.11561E04 1.35821E04 9.04275E03 1.03120E03 2.29481E04 5.62179E04 4.28707E04 8.81544E03 1.01935E04 2.13823E02 1.42978E04 4.72523E03 5.36459E02 7.94849E03 7.60071E03 6.83847E03 1.70285E04 1.33705E04 2.73220E03 1.10331E04 1.47041E04 6.42291E01 4.81209E03 1.77583E03 5.31278E02 2.04029E03 1.62679E03 2.49356E04 1.31409E04 3.71307E03 2.06660E04 1.30747E04 6.68497E03 5.14520E03 4.00462E03 5.35621E03 1.35077E03 2.17745E04 5.97709E04 6.21088E04 3.20435E04 1.06539E04 1.00412E04 1.60180E04 1.58292E04 3.00340E03 5.69635E03 9.79838E03 5.88254E03 9.11071E03 1.53464E04 8.58697E03 2.67588E02 2.86887E02 3.77292E03 7.33425E03 4.19307E03 2.53960E02 5.91731E03 1.55994E04 7.96632E03 4.55210E03 4.92554E03 1.27780E04 2.83507E04 1.77684E04 9.76204E03 1.35980E04 5.54829E03 1.25009E04 3.84296E04 6.21579E03 1.74414E04 2.29879E04 2.14016E03 6.85809E04 1.16548E05 2.25740E04 5.66101E04 1.04784E05 4.74055E04 2.35380E03 1.48151E04 1.20874E04 7.21292E04 7.51259E04 1.53272E04 5.82946E04 2.42685E04 1.73619E03 2.19519E04 1.71411E04 4.41351E02 8.48041E03 3.30095E02 3.41367E03 -Frame 257 2.48098E05 5.23780E06 2.17682E06 3.65603E05 6.94718E05 3.97389E05 4.30202E04 4.24865E04 3.24974E05 2.71985E05 2.54039E04 3.30156E04 5.05550E05 7.00689E05 9.96817E04 8.55148E02 1.08981E05 3.16320E05 1.36057E05 9.04023E03 2.24355E04 1.90759E05 2.37217E05 6.07803E04 3.08735E03 5.61159E04 5.68715E04 9.59135E03 7.35288E02 6.08434E03 5.58766E04 3.22175E04 7.20097E03 3.42263E04 5.40015E04 1.14400E02 1.42277E04 2.24101E02 1.34726E04 2.05579E04 1.55429E04 5.88171E03 2.30532E03 1.39008E04 3.52169E04 1.58377E04 6.61681E04 1.43651E05 8.20104E04 4.11458E04 1.03815E05 1.86855E05 4.20591E04 6.16374E03 5.20132E04 7.91648E04 1.17564E04 8.14155E02 2.19247E04 6.60908E04 8.49500E04 4.47299E04 5.37567E04 3.75522E04 2.32679E04 6.01020E04 3.47412E04 1.14870E05 7.54577E04 1.90341E04 1.28906E04 1.43389E04 1.78401E04 1.86181E04 5.53381E02 2.00441E04 4.90064E04 1.16929E05 1.29068E05 7.75154E04 1.91774E04 7.89272E03 3.14442E04 2.10149E02 1.68773E04 1.10122E04 3.85997E04 3.02118E04 6.70451E04 1.18556E05 1.49178E05 8.73296E04 3.68358E05 7.68789E05 9.18137E05 1.04990E06 4.90478E05 9.90354E04 4.17363E04 2.56498E04 1.35913E04 1.79113E04 2.44435E03 5.31681E03 1.98989E04 1.10534E04 6.69082E03 2.58527E04 3.29863E04 4.77391E04 4.89324E04 8.98133E03 1.80192E04 1.48403E04 1.18076E04 1.51377E04 7.42138E03 6.44104E03 1.03660E03 1.63474E03 2.16578E02 1.44213E03 1.05313E03 1.69779E02 3.81638E03 1.31498E04 2.36931E04 2.95606E04 1.07856E04 3.26375E02 4.97822E02 4.75109E03 3.18183E03 6.97737E03 1.35017E04 9.95363E03 6.54219E03 9.18096E03 2.92343E04 4.01268E04 2.64198E04 1.11402E03 1.21994E03 2.52732E04 2.23677E04 3.13546E04 1.84236E04 6.15479E03 2.22791E04 1.35610E04 5.57023E03 1.76265E04 4.13708E04 1.75435E04 1.98017E04 2.06845E04 2.38413E04 1.46790E04 4.77029E03 1.26393E04 4.82153E04 6.09178E04 2.21436E04 1.41971E04 1.79073E04 3.41073E03 3.32805E02 9.40956E03 3.39679E04 3.67089E04 4.10904E04 6.16988E04 6.66169E04 4.96597E04 3.22060E04 9.12367E03 5.84122E03 1.25501E04 1.88645E04 3.95824E04 3.82657E04 1.44332E04 7.04701E02 5.04670E03 2.94215E03 9.73123E02 4.86405E03 1.49886E04 2.87079E04 2.64883E04 4.90902E04 4.36626E04 1.43338E04 2.69420E03 8.14160E03 2.10703E03 1.69339E04 2.60273E04 8.82417E03 7.06970E03 3.60756E04 2.95938E03 1.48608E04 1.68407E04 5.21394E03 5.04118E03 8.23308E03 6.60164E03 5.58960E03 1.81761E03 3.43895E03 1.56433E04 5.75056E03 4.35317E03 1.31229E04 2.01350E04 5.92303E03 4.87588E02 9.77114E02 1.90722E03 6.13090E03 5.24855E03 8.75605E03 9.62274E03 1.44302E04 5.20736E04 4.84669E04 1.19047E04 5.55607E03 1.12124E03 1.76566E04 1.74268E04 2.06469E04 1.13004E05 1.42023E05 3.92576E04 8.41605E04 8.94521E04 7.22231E03 8.45742E03 2.52530E03 1.00963E05 1.26568E05 3.49015E04 8.06672E04 1.40374E05 5.83856E04 2.96876E04 1.82981E04 5.49170E02 2.01368E04 2.16148E04 2.12411E03 1.21990E04 2.21667E04 1.16296E04 1.84392E03 -Frame 257 1.22964E07 7.39221E06 7.85824E05 1.78956E05 6.57417E05 3.84433E05 6.80341E03 4.80476E04 2.76091E05 2.20611E05 1.27098E04 3.42146E04 4.38568E05 4.79034E05 3.51962E04 2.10687E04 1.27816E05 2.05474E05 5.82849E04 8.34081E02 4.96553E04 2.82715E05 2.27730E05 1.49251E04 1.95623E04 2.75358E04 4.31901E03 2.53641E03 5.55079E03 4.04861E04 3.28946E04 6.05437E03 3.29551E02 9.64786E03 3.58959E04 4.36910E04 2.06524E04 2.12218E04 1.36912E04 5.39048E02 1.67733E04 7.92051E03 5.34705E02 4.97172E03 1.21216E04 2.01639E03 8.73288E04 8.13379E04 4.88354E02 1.77562E04 3.27883E04 2.60331E04 2.80911E04 1.34558E04 2.99213E04 6.21863E04 2.62841E04 1.70226E03 3.57037E03 2.58506E03 8.04291E03 4.57482E03 1.75901E03 3.84274E04 4.38903E04 2.41271E04 2.29024E04 6.08222E04 2.42496E04 1.70238E03 2.39642E02 9.60754E02 1.02672E04 2.71461E04 2.51162E04 1.05540E04 1.04323E04 8.95121E03 9.40609E03 3.30800E04 4.42381E04 3.15303E03 8.81929E03 3.19887E04 6.77424E04 5.41154E04 2.29891E04 4.63856E03 1.61473E04 2.75594E04 1.56910E04 1.44858E05 4.20033E05 4.04693E05 4.59753E05 3.88696E05 9.91444E04 5.89948E04 2.87982E04 1.52392E04 3.04614E03 4.10146E03 7.59628E02 2.79851E03 1.83024E03 5.59994E03 8.61014E03 1.60738E04 1.47704E04 1.94743E04 3.19342E04 1.30094E04 6.30913E02 7.76832E03 2.36691E04 6.46580E04 6.17370E04 2.04724E04 1.90808E03 3.74907E03 2.69685E03 3.11889E03 2.46827E03 1.00053E03 5.81173E03 4.73033E03 2.83590E02 1.20962E04 2.11145E04 7.02371E03 3.31566E03 6.21857E02 2.90064E03 6.28420E03 3.33652E03 5.65128E03 1.83719E04 1.89448E04 1.90062E03 5.73573E03 7.30098E03 2.35331E04 3.56033E04 3.49790E04 2.88411E04 4.66689E04 4.01010E04 1.09302E04 6.04310E03 8.11396E03 9.76911E03 1.90416E04 1.23466E04 1.10952E03 3.47891E03 4.76412E03 5.08820E03 6.09759E03 1.68735E04 1.54095E04 5.66447E03 4.47764E03 1.38897E04 2.00966E04 4.47667E04 3.84080E04 2.70306E04 1.72154E04 8.52850E03 1.69020E04 1.12669E04 4.62690E03 1.09643E04 3.38373E02 1.48605E04 1.15587E03 1.89291E03 7.37589E02 1.23642E03 3.73246E02 1.41700E04 9.67577E03 1.39505E04 3.13305E04 3.26727E04 1.99857E04 8.26056E03 1.41030E04 1.49151E04 9.18907E03 1.86395E04 1.38351E04 2.89033E03 4.34905E03 5.43991E03 2.87224E04 4.51606E04 1.85433E04 9.33087E02 1.48323E04 4.51503E04 2.94645E04 1.87782E03 1.29890E03 8.82942E02 1.36516E04 1.27588E04 4.82635E03 3.75073E03 4.31718E03 7.24640E03 9.40229E03 8.63259E03 5.81547E03 4.71969E03 2.02275E03 6.79135E03 1.12835E04 7.91167E03 5.20870E03 3.62266E03 1.99946E03 4.32754E03 8.96307E03 1.05812E04 1.28182E04 3.58092E04 6.73602E04 1.77139E04 2.75324E03 3.15509E04 6.37851E04 6.94325E04 4.52544E04 3.61426E04 1.84176E05 1.02126E05 1.12095E03 7.36768E04 1.39083E05 1.67405E05 1.64222E05 5.84050E04 8.52446E04 2.08799E05 3.68580E04 1.52159E04 3.55489E04 6.31767E04 1.38179E04 7.47951E03 4.05600E03 1.37052E04 1.25155E04 5.25583E02 1.83888E04 4.42132E04 -Frame 257 1.52363E06 1.94298E06 7.09046E05 1.40668E06 1.62557E06 3.52502E05 1.88013E03 2.62667E04 1.80112E05 1.36743E05 5.40011E03 3.01287E04 3.65796E05 3.72237E05 1.64326E04 8.71819E03 1.80926E04 2.40649E04 7.50834E03 1.70204E04 3.50246E04 2.26337E05 8.11297E04 1.46722E04 2.65256E03 9.63191E03 1.96051E04 1.17067E04 3.28924E02 4.84422E04 7.30496E04 1.59159E04 3.83593E03 2.96171E03 2.24586E03 8.19918E03 1.94258E04 2.19375E04 5.12655E03 6.47633E03 8.16695E03 4.55127E03 1.51264E04 2.51796E04 1.99133E04 1.27967E03 3.72062E04 4.23267E04 3.18699E04 5.60799E01 2.76209E04 3.33937E04 1.97480E04 2.03903E02 2.69644E04 3.23515E04 4.23071E03 4.94154E04 5.20994E04 9.84627E03 8.37546E03 2.46713E04 4.24353E04 9.43386E03 1.69592E02 1.40585E04 8.35058E04 1.32854E05 2.90058E04 1.22379E04 1.11398E04 1.21437E04 9.47235E03 8.59190E03 1.65144E04 2.86685E04 4.50338E04 3.55867E04 1.18044E04 3.64625E03 2.42901E04 7.07070E04 2.47913E04 1.89497E04 2.02077E04 1.14707E05 3.86348E04 1.80584E04 7.67438E03 5.30344E04 2.19122E04 8.63849E04 1.90561E05 3.99347E04 1.87039E05 1.54329E05 1.03868E05 1.16784E05 9.80949E04 3.35939E04 3.30748E03 8.80981E03 2.93041E04 1.20104E04 6.50685E03 3.44123E04 5.51369E04 4.91580E04 4.08788E04 1.79657E04 5.93877E04 3.21322E04 2.49040E04 6.52147E04 7.92337E04 3.11114E04 2.53906E04 3.12711E04 3.12371E04 4.90445E04 4.60925E04 6.46649E04 9.22416E04 6.20637E04 8.38192E04 6.14341E04 5.01924E04 3.20178E04 8.06117E04 1.31754E05 1.53519E05 1.22578E05 7.46895E04 3.54200E04 2.80833E04 8.42368E04 1.45753E05 2.99589E04 8.15361E04 1.52204E05 1.14054E05 7.87941E04 2.13216E05 8.92812E04 6.65870E04 7.62043E04 1.75916E05 4.97706E04 5.69518E04 1.14636E05 8.10823E04 1.14094E05 6.95470E04 1.21426E05 1.50836E05 4.22856E04 3.80262E04 2.30576E05 2.44950E05 3.27801E04 1.68234E05 1.83026E05 1.21135E05 9.96100E04 1.02046E05 1.61972E05 7.47807E04 1.24038E05 4.36274E04 2.51175E05 1.82517E05 1.59910E04 9.45303E04 2.41332E05 1.40136E05 1.01436E05 1.76077E05 1.44126E05 9.50835E04 5.78712E04 2.00109E05 1.92571E05 4.37745E04 1.69127E05 8.89087E04 1.52403E05 1.13344E05 1.22218E05 6.39908E04 1.07220E05 1.23851E05 8.43661E04 4.21814E04 9.50902E04 4.98141E04 7.71397E04 2.01270E05 8.68250E04 9.17802E04 4.40396E04 1.44005E05 5.14866E04 7.90519E04 8.64778E04 3.17155E04 7.23175E04 4.84463E04 9.67503E03 2.35961E04 6.69412E04 5.96148E04 3.35531E04 7.00768E03 1.69482E04 2.32559E04 2.14127E04 2.36657E04 5.95973E04 3.09833E04 1.77038E04 9.76775E03 2.03593E04 2.35394E04 1.64130E04 4.91233E04 2.48682E04 1.18664E04 8.92657E04 5.86176E04 9.53876E03 3.31069E04 7.17574E03 1.77278E04 1.43808E04 9.14021E04 7.27889E04 1.71749E04 5.04368E04 1.08974E03 5.91430E04 3.06149E04 7.81586E03 7.53185E04 2.57785E05 1.98211E05 2.04770E04 1.62123E04 3.63704E04 2.50834E05 2.32887E05 6.60214E04 1.27673E04 2.66071E04 1.24203E04 8.72640E03 3.65738E04 6.51664E04 -Frame 257 4.99631E05 1.21966E06 1.56147E06 5.03730E05 4.67084E05 4.59867E05 5.98407E04 5.14609E03 1.00824E05 1.04840E05 3.47124E04 5.47711E04 3.82025E05 4.50865E05 1.52832E05 7.15141E04 8.99549E04 6.36586E04 1.88914E04 6.95164E04 2.01605E05 2.71734E05 6.44045E04 7.67337E03 1.82331E04 1.15170E04 5.48299E03 5.81910E04 8.10680E04 8.60147E04 8.53770E04 3.48266E04 2.21794E04 2.08218E04 4.03038E04 1.04021E04 9.41413E03 3.59125E04 3.53753E04 4.80487E03 1.14279E04 6.91103E03 6.08054E01 9.16243E03 1.84048E04 3.36307E04 4.74379E04 2.04640E04 2.19877E04 4.37799E04 7.00581E04 5.33984E04 1.30617E04 2.72693E04 1.12325E05 1.24829E05 1.56739E04 4.68733E04 1.00953E05 1.12551E05 5.52775E04 1.14008E05 1.08157E05 2.90948E04 3.08125E03 5.42141E04 1.54422E05 2.04826E05 1.68160E05 1.12360E05 6.83988E04 1.82832E04 7.29544E04 1.06060E05 1.19822E05 9.30550E04 1.72593E05 8.52976E04 3.16176E04 6.24103E04 1.45889E05 1.22532E05 1.78666E05 1.91073E05 1.87402E05 1.90234E05 1.72674E05 1.34794E05 8.37918E04 1.51452E05 1.90648E05 2.23023E05 1.59316E05 1.11716E05 1.80450E04 5.95055E03 9.73250E02 8.48033E04 1.41804E05 1.11267E05 5.12400E04 9.91484E04 1.29255E05 6.23275E04 6.54875E04 1.11458E05 2.05195E05 1.94736E05 2.47360E05 2.62212E05 2.70641E05 1.96183E05 2.55348E05 1.31463E05 2.76648E05 9.73801E04 8.62226E04 3.19793E05 5.67677E05 6.35861E05 1.76102E05 1.20047E05 5.94675E05 8.63012E05 3.63247E05 2.31037E05 4.64454E05 4.59076E05 3.02291E05 5.53269E05 6.28240E05 4.20436E05 3.22055E05 6.62837E05 6.18490E05 1.79523E05 1.16805E05 1.62604E06 2.61773E06 1.51267E06 4.42396E05 1.36133E05 9.10615E05 1.32636E06 1.46848E06 7.44689E05 1.37558E05 4.57594E05 7.99435E05 5.83915E05 2.66043E05 5.53656E05 6.08349E05 1.86678E05 4.52365E05 1.75102E06 1.69040E06 4.28803E05 2.53959E05 1.14683E06 1.09317E06 3.93707E05 8.50432E05 1.78007E06 1.13006E06 2.78408E05 1.75794E05 1.68722E06 1.86456E06 7.56351E05 1.62771E05 2.90116E05 4.57522E05 1.14025E06 2.30610E06 1.58149E06 1.04603E06 2.55147E04 1.56325E06 1.95530E06 2.43915E06 7.65483E05 4.60918E05 1.28216E06 5.76388E05 6.16727E05 5.32223E05 3.87190E06 2.28972E06 1.05785E06 7.40704E05 4.25946E06 4.95195E06 2.04944E06 1.31973E06 9.06649E05 2.74945E06 1.22568E06 1.24492E06 4.11649E05 3.24415E05 6.65252E04 1.35295E06 2.59420E06 7.97692E05 1.35270E05 1.36273E06 3.05670E06 1.96621E06 5.76228E05 1.40460E06 2.96749E06 1.90052E06 3.63329E05 2.38730E05 7.03243E05 4.69074E05 3.21168E04 6.03707E05 1.03176E06 5.84346E05 3.85115E05 8.77463E05 1.57441E06 2.06534E06 1.10413E06 5.04073E05 6.46952E05 1.55587E06 1.19095E06 3.97152E05 3.21563E05 6.81514E05 1.03355E06 4.42999E05 2.20277E05 6.23703E05 9.22450E05 3.80240E05 7.13106E04 3.16392E05 6.45175E05 6.28136E05 3.16203E05 1.46782E05 6.06613E04 1.65545E05 2.59742E05 6.76843E05 3.51154E05 4.92028E03 4.53481E04 2.35565E05 4.80931E05 2.81159E05 2.58633E05 4.24157E05 -Frame 257 1.39865E06 2.32633E06 2.13563E06 1.04802E06 6.92096E05 2.09237E05 3.48367E03 4.21377E04 8.43464E04 1.15700E04 6.35893E03 6.32283E04 2.88533E05 1.67762E05 4.91338E03 5.33211E03 5.58003E04 3.52978E04 1.01170E04 6.54501E03 8.61468E04 1.25917E05 1.88330E04 1.27726E04 2.76854E04 4.76042E04 5.56210E04 7.34867E03 1.30257E04 8.84166E03 1.26532E04 5.96445E03 9.89255E02 1.91697E03 1.77610E04 3.77856E04 1.90681E04 5.95215E03 1.73861E03 4.54141E03 8.64393E03 1.09271E03 1.27378E04 9.66433E03 5.97559E03 2.59244E03 1.12389E04 2.67939E04 4.29763E04 7.06018E04 8.65382E04 5.36276E04 1.08546E05 2.30169E05 2.00824E05 1.84119E04 3.80798E03 6.17602E03 1.73816E04 7.76542E02 1.35915E04 3.55120E04 8.55470E04 4.72787E04 2.46370E04 8.56136E02 2.38521E04 1.35630E03 2.68181E03 2.13974E03 2.92093E04 1.82939E04 2.03592E03 2.88231E04 1.12558E04 5.95759E03 8.13173E03 1.95328E04 5.66998E04 4.40013E04 6.89782E03 3.63946E02 1.15283E03 4.02827E04 2.56223E04 1.73634E04 8.75084E03 8.46947E03 3.47045E03 1.73649E04 3.53648E04 5.82664E03 1.62043E04 1.82280E02 2.29336E04 3.34673E02 3.72993E04 3.03147E04 4.77481E03 4.41060E03 8.95139E03 3.02603E04 5.54650E04 3.00559E04 1.56991E04 8.08087E03 9.36352E03 5.04074E03 1.06042E04 2.20876E04 1.14873E05 1.00222E05 2.23167E05 2.85559E05 3.35495E05 1.72801E05 9.91213E04 7.39945E04 1.95380E04 3.73097E05 5.75901E05 1.80962E05 1.09003E05 3.42509E04 7.04316E05 8.57583E05 4.25514E05 6.97394E04 1.15869E05 2.14641E05 6.35962E04 1.67369E05 3.38567E05 4.51692E04 5.29483E05 3.97249E05 4.35104E05 3.29436E06 2.26041E06 4.04325E05 4.27668E05 9.26001E05 4.56077E05 1.78138E05 8.33672E05 8.37408E03 5.66344E05 7.98607E04 1.19861E06 1.93634E06 4.70028E06 6.56161E06 2.22239E06 1.04343E05 7.36002E05 8.75800E06 7.99907E06 8.52974E05 5.68867E05 1.14206E06 1.05882E06 6.14924E04 1.00894E06 3.21983E06 1.88270E06 2.76162E06 6.26086E06 5.19149E06 4.99744E05 8.78138E05 8.21561E05 1.14102E06 1.08376E06 2.03948E06 6.10687E05 1.68887E06 8.55352E05 5.62616E06 9.89465E05 2.03851E06 4.88276E06 1.47233E07 8.90839E06 7.73312E06 1.27474E07 2.01888E07 2.30638E07 2.03197E07 1.74626E07 2.40414E07 5.56577E07 6.09357E07 3.08455E07 2.26347E07 4.26988E07 4.73082E07 3.05749E07 2.47500E07 2.63650E07 1.48940E07 7.89696E06 1.34491E07 1.67024E07 4.90283E06 2.41988E05 1.72680E06 6.38995E06 4.96617E06 3.52840E06 3.07937E04 4.30638E06 6.57973E06 3.23393E06 1.06703E06 4.04743E05 3.19879E06 1.00395E06 3.86950E04 7.59404E05 4.72105E06 5.17387E06 1.38556E06 1.42324E05 1.70814E06 5.16338E06 2.32018E06 4.72983E05 3.66928E04 2.49683E06 2.29464E06 6.32875E05 2.91758E05 2.90615E06 2.16739E06 2.39684E05 6.69955E05 3.72861E06 4.30619E06 4.21134E05 6.78692E05 5.55115E04 2.60540E06 9.67782E05 9.27438E05 2.49933E06 4.18045E06 2.92717E06 2.62132E06 5.10185E06 5.80505E06 2.67044E06 1.86116E06 1.56941E06 1.92604E06 1.03694E06 1.25427E06 5.01529E05 -Frame 257 2.50315E04 4.38953E05 1.35018E05 1.28756E05 5.47678E05 2.23595E05 3.35030E04 1.04621E05 1.65677E05 7.50668E04 2.33765E04 9.53110E04 1.52015E05 6.18708E04 8.72917E03 1.55538E04 4.80489E04 3.26892E04 4.84754E03 2.76519E04 6.85494E04 2.32932E04 4.34331E03 1.47494E04 1.15068E04 1.50665E04 2.89476E04 2.92286E04 3.21750E04 4.67458E03 9.05300E03 1.04549E04 1.44923E03 7.21804E03 3.85616E04 6.81745E04 2.82779E04 6.70707E03 4.39645E03 8.36285E03 1.44068E04 2.25198E04 1.42667E04 2.71607E02 5.20764E03 1.35432E03 1.12605E04 2.23113E04 4.82663E04 9.75343E04 4.99961E04 1.31823E04 1.22190E05 2.43452E05 1.29473E05 1.41509E04 6.16946E02 9.03982E02 7.26052E03 3.22756E04 2.98339E04 8.86048E02 7.27728E03 7.62048E03 1.66702E04 1.03247E05 1.27715E05 6.14471E04 3.00853E04 4.73786E04 6.93821E04 4.25689E04 3.40023E03 2.25872E04 3.45786E04 1.58394E04 6.05466E03 2.19976E04 9.66618E04 6.58375E04 9.03113E03 2.51317E03 3.61886E04 4.04179E04 2.21689E04 7.25354E04 1.49971E04 2.82083E04 5.88385E04 8.06358E04 5.38320E04 2.23117E04 3.01104E04 1.05789E05 9.94367E04 4.01032E04 5.96732E04 3.86779E04 1.19253E04 9.24984E03 4.05118E03 1.44836E03 1.25801E04 7.91067E02 5.24078E04 3.47059E04 2.98427E04 1.00948E05 2.54560E05 4.91209E05 4.91184E05 1.15722E05 1.32045E05 2.96806E05 2.20115E05 1.57705E05 4.64316E05 5.92707E05 3.67404E05 1.32654E05 1.91624E05 4.50828E05 1.03076E06 1.30883E06 2.85870E05 1.47130E06 1.02613E06 1.05064E06 8.73751E05 1.52399E05 1.83123E06 2.54576E06 1.76304E06 1.43000E06 7.65534E04 1.07022E06 3.61929E06 5.37934E06 1.43386E06 7.25164E05 7.84279E05 1.53532E06 3.70278E05 6.34634E05 3.21666E06 6.46832E06 8.81795E06 1.03784E07 1.93119E07 2.75184E07 1.32607E07 2.32904E07 4.77116E07 4.06116E07 2.81653E07 1.69637E07 4.71837E07 3.95665E07 1.05013E07 3.95949E06 7.15197E06 6.46164E06 4.26050E06 1.40835E07 4.60008E06 3.02312E06 8.01602E06 1.71130E06 1.33906E07 2.26373E07 2.79755E07 2.35749E07 1.62400E07 2.32714E07 1.42576E07 1.00866E07 5.07318E07 8.18409E07 5.16260E07 1.92977E07 2.46938E07 8.75288E07 8.54822E07 6.92890E07 5.69873E07 8.43526E06 7.11432E06 2.99820E06 9.04152E05 3.58468E07 1.43121E08 4.10189E07 6.87484E05 2.20526E07 7.90386E07 3.82118E07 5.75024E06 1.59036E07 6.12718E07 1.24405E08 9.82504E07 8.55397E07 2.54856E06 2.03371E07 2.19571E07 2.67105E07 8.50783E06 5.33010E04 4.22489E06 1.76463E07 3.59785E06 1.60807E07 4.00567E07 5.98526E07 3.20275E07 1.66379E07 3.73185E07 1.81474E07 4.95643E06 7.96685E05 9.82899E06 4.39922E06 1.36210E06 1.60239E06 1.04295E06 5.31579E05 1.55208E06 3.58218E06 5.95190E06 1.74375E06 1.12044E06 1.06369E07 1.40043E07 2.20647E06 1.95801E06 2.30098E06 1.81668E06 1.14411E07 2.71121E07 1.17666E07 9.71781E06 2.34664E07 2.63626E07 2.51170E07 1.65319E07 4.61273E06 1.12126E06 4.14543E06 1.93219E06 8.17107E06 3.71300E06 5.55580E06 4.85897E06 5.11500E06 1.43896E06 8.89044E06 1.20179E07 -Frame 257 1.44471E06 1.32774E06 1.02346E06 7.25125E05 4.53179E05 2.03481E05 1.40567E04 2.03132E04 4.93379E04 3.45515E04 8.39356E03 9.69020E03 2.49290E04 2.06483E03 7.22725E02 1.18539E04 6.50639E03 1.99117E03 3.73232E03 1.54432E04 4.11371E04 1.77360E04 2.48781E03 3.17343E03 1.53978E04 2.07332E04 1.05003E04 9.49646E03 1.06613E04 9.49917E03 1.27005E04 1.95831E04 1.74129E04 4.97306E03 2.12358E04 4.76590E04 3.54322E04 2.24645E03 6.65019E02 1.59746E03 1.45270E03 5.58330E03 8.46888E03 2.87237E03 2.06862E04 5.18422E04 3.37687E04 4.12739E04 3.95710E04 1.08023E04 1.87242E04 2.47119E04 6.61010E03 5.99656E04 2.44741E04 6.03240E03 1.87938E04 4.23206E04 9.25903E04 8.93538E04 9.75969E03 1.52640E04 1.61694E04 6.92995E03 4.36826E04 2.04635E05 1.53587E05 7.19152E04 1.78640E05 2.69194E04 1.51905E04 1.25175E04 6.82119E04 6.88736E04 6.98465E03 6.10108E04 1.22324E05 1.59251E05 2.16019E04 5.90222E04 8.06848E04 9.11018E04 1.69622E05 9.52782E04 3.08045E04 1.33400E05 1.87761E04 7.10721E04 2.61808E05 1.27582E05 1.66712E04 4.33705E03 5.09774E04 1.34078E05 5.55078E04 9.98685E04 2.24595E05 1.36992E05 1.35582E04 5.12756E03 6.32465E03 1.93648E04 7.16001E04 1.50351E05 1.07120E05 4.66206E04 6.16797E04 1.80978E05 1.15441E04 2.02571E05 1.35315E05 4.61472E05 2.07198E05 2.22647E05 1.08830E05 1.09152E05 7.42528E05 1.98805E06 6.64127E05 4.53868E05 8.90065E05 2.52466E06 3.97341E06 9.06358E05 1.32245E06 4.83903E06 3.49666E06 6.48248E05 7.25320E06 7.16362E06 3.08075E06 7.02491E05 1.75784E05 1.07432E06 2.94722E06 3.23563E06 2.99781E06 1.01186E07 8.97757E06 3.51397E06 9.86289E05 1.42586E06 9.28662E05 1.24731E06 8.95863E05 2.62538E06 3.30174E06 1.78783E06 3.97132E05 2.04087E07 2.16279E07 1.73200E07 2.93252E06 6.04680E07 5.52185E07 2.63923E07 2.56397E07 4.98373E07 4.04820E07 1.14197E07 1.85939E07 2.19895E07 6.74102E06 3.23882E07 4.65649E07 9.19607E06 1.00540E06 1.31059E07 7.71878E07 7.26253E07 4.58188E07 6.71777E07 2.28701E05 1.56300E07 1.64556E06 2.95106E07 1.39869E08 9.52619E07 5.32152E06 6.87630E07 8.29192E07 6.98655E07 1.11666E07 4.16223E07 8.49254E07 1.95689E07 3.86897E07 5.70432E07 7.39649E07 1.99662E08 3.07130E08 1.17211E08 1.30153E07 4.90165E07 1.63462E08 7.76543E07 1.02899E08 1.35338E08 1.26557E08 8.56264E07 1.65387E08 2.65079E08 2.45142E08 1.96575E08 4.72200E07 1.43064E07 1.04455E08 1.47715E08 8.88796E07 1.75544E07 2.06759E08 3.13236E08 1.83751E08 2.19970E08 2.71542E08 1.81095E08 1.29018E08 1.06249E08 1.11918E08 8.65725E07 1.52709E07 2.51696E07 6.69221E07 7.39552E07 5.37449E07 4.54190E07 8.02335E07 9.45700E07 1.19890E08 2.08412E08 2.33150E08 1.85537E08 2.11985E07 3.79383E07 1.49439E08 1.87199E08 1.01724E08 2.12840E06 7.45154E07 8.25566E07 4.34280E07 2.14713E06 5.10665E07 4.22693E07 1.58969E07 2.88747E07 3.49125E07 7.90390E07 9.89138E07 5.20805E07 4.56062E06 3.41305E06 1.18795E06 2.83241E07 8.52018E07 7.43190E07 5.22871E06 -Frame 257 2.05574E04 1.87054E05 6.73658E05 2.55171E05 1.17644E05 2.99642E04 5.83490E03 3.87472E03 3.42689E03 6.99783E03 2.87566E03 2.54225E04 4.80510E03 2.34498E03 5.53177E03 3.50563E03 5.53597E03 2.00533E04 2.00374E04 8.26290E02 7.03008E03 4.92268E03 5.72912E03 6.98817E03 3.10443E03 2.60487E03 1.74318E04 2.57923E04 1.07283E04 3.51141E03 5.28896E03 7.68421E03 2.62105E04 4.43575E03 6.41084E02 3.19120E03 2.65780E04 7.57886E03 2.30971E02 4.95194E03 3.16502E03 1.09848E04 7.94605E03 1.52237E04 2.50078E04 1.61085E04 2.66948E03 1.30813E04 1.18180E04 9.15726E01 2.23840E04 6.13286E04 1.02628E04 6.92800E04 9.73303E04 1.10244E04 5.20438E04 1.31447E04 6.81600E04 1.82652E05 7.56408E04 2.10994E04 1.43439E04 5.62847E04 6.24946E04 1.40435E05 4.74273E05 2.08191E05 3.39409E04 1.47912E05 1.19168E05 2.43536E04 1.38922E05 1.86576E04 3.02408E04 1.28945E04 5.67127E04 1.12926E05 2.08549E05 9.20574E04 9.64604E04 6.78099E04 2.53261E05 2.07352E05 1.08747E05 2.02599E05 2.94447E05 4.95400E05 3.49690E05 1.08165E04 6.27151E04 1.05290E04 1.47553E05 1.75433E05 7.50875E04 2.98579E05 4.11813E05 2.89887E05 6.70830E04 2.34982E04 4.51021E04 8.56354E03 5.62733E04 5.08575E04 2.00827E04 2.56578E05 4.71179E05 9.91107E05 1.08071E06 1.06932E06 7.37585E05 2.94804E05 1.43781E05 4.15197E05 7.70944E05 9.55907E05 1.76473E06 1.26060E06 3.96879E05 2.10655E04 6.60826E05 1.59022E06 1.83734E06 3.52853E05 1.28235E06 7.27920E06 8.91880E06 4.14264E06 8.20682E06 8.62960E06 1.55263E06 4.60297E05 5.22260E05 2.33615E06 1.46707E06 1.09218E07 1.40079E07 5.94486E04 5.48889E06 1.97792E06 5.74281E06 1.54168E07 2.28208E07 9.50645E06 9.99600E05 1.95833E07 4.94841E07 5.65922E07 2.65105E07 1.50421E06 1.76998E06 9.08116E06 3.26401E07 2.73284E07 4.47363E06 1.01463E07 4.39805E06 1.06715E07 5.58097E07 4.34097E07 4.39600E07 3.43400E07 1.94726E07 6.24346E06 1.93002E07 4.62213E07 3.98737E07 7.94749E07 2.18691E08 2.46279E08 2.27146E08 3.34926E08 3.84900E08 2.28124E08 9.93442E07 1.09266E08 4.19566E08 6.12749E08 3.57813E08 1.84877E08 4.77616E08 3.36534E08 2.52936E08 2.67513E08 5.63187E07 5.78130E07 4.66176E07 3.77102E07 2.48029E07 1.29728E08 1.89289E08 1.22562E06 2.82571E08 2.54511E08 3.16254E07 4.09253E08 2.71113E08 1.43329E07 1.46707E08 5.67278E07 3.06846E06 4.82974E07 7.10085E06 1.22768E08 2.46792E08 7.66555E07 9.11040E07 2.65963E08 1.57266E08 1.91476E08 4.65299E08 3.16645E08 1.04303E08 9.74979E07 1.84491E07 1.76335E07 1.32918E07 2.14093E07 6.27461E07 9.42715E07 8.26968E07 1.33975E08 2.86220E08 2.58959E08 1.82630E08 9.31458E07 4.21025E07 2.58815E08 2.95402E08 2.14227E08 5.23577E08 3.91230E08 1.06267E08 6.79365E07 4.22327E07 1.42658E08 1.79794E08 1.17547E08 1.29372E08 6.81422E07 4.75933E07 5.93814E07 1.26892E08 1.06405E08 4.30747E07 1.53991E08 5.80133E07 7.92799E07 3.06623E08 3.71487E08 1.98854E08 7.14556E07 6.17810E07 1.03179E08 1.38283E08 2.08792E08 2.25434E08 -Frame 257 8.77701E04 1.89888E05 7.00166E04 9.39588E04 1.67627E04 6.27091E03 1.32649E04 1.00923E04 1.18483E02 3.43741E03 4.80374E03 4.81868E03 1.80772E03 4.24538E03 9.84492E03 1.38780E03 1.34961E03 2.49591E04 4.69625E04 1.88759E03 1.17990E04 3.80636E03 6.19373E03 1.44078E04 1.50240E03 5.28475E04 5.42150E04 6.00353E04 1.18301E04 2.73751E04 1.38817E04 4.37227E03 2.90424E04 2.92548E04 8.71083E04 7.04141E04 1.30678E04 2.40256E04 4.58738E04 3.96983E03 1.22526E04 1.08606E04 2.57544E04 1.55138E04 8.70715E02 1.61575E02 2.98869E04 3.52585E04 2.26810E04 1.37306E04 2.86406E04 1.52748E04 9.82345E04 3.22806E02 7.50044E04 1.67346E05 1.61080E05 3.92411E04 1.69886E04 2.79075E05 4.17050E05 2.56602E05 3.92382E05 3.94181E05 1.84132E05 1.10307E05 2.27603E05 7.41929E04 2.24481E04 2.19005E05 2.12725E05 1.09955E05 2.91066E05 3.99255E05 3.66233E05 1.53746E05 4.05955E04 1.62890E05 3.32841E05 2.38287E05 2.91308E05 1.42480E05 6.67810E03 7.47387E04 8.49332E04 9.43146E03 1.01808E05 8.59536E03 1.28282E05 5.76254E05 4.69820E05 3.98024E05 2.04270E05 8.21928E04 2.48776E05 1.89900E05 7.16725E04 1.06200E04 4.03151E03 2.69388E03 1.25208E05 6.95074E04 2.79844E05 1.98681E05 2.58566E05 1.02751E06 1.26072E06 4.52732E05 8.87889E05 1.06905E06 4.59065E04 3.75904E04 3.22705E04 2.00555E05 5.62631E05 2.82948E05 1.16750E06 5.23518E05 2.26292E06 2.86085E06 1.53159E06 8.89826E05 3.09266E05 5.71190E05 2.46260E06 3.35297E06 1.44908E05 6.96597E05 1.84513E06 2.16180E06 8.44730E05 4.73548E05 1.73313E05 1.76122E06 1.32147E07 2.48975E07 1.80079E07 6.61047E06 4.92323E06 9.51321E05 1.70967E07 3.63039E07 2.83011E07 1.32890E07 1.26341E07 4.16049E06 5.39046E06 7.17059E07 7.32795E07 2.05629E07 1.89478E06 1.09700E07 1.60798E07 8.38107E05 2.09891E07 5.04647E07 4.94778E07 1.30786E07 1.84370E07 1.40773E07 2.45866E07 2.25791E07 7.25889E06 1.29938E07 1.24490E07 2.41740E06 5.04841E06 2.12448E07 4.70732E07 5.68532E06 1.59269E07 4.04981E07 1.69327E08 2.08614E08 1.22127E08 3.89500E07 1.26686E08 2.48941E07 3.22238E08 1.09550E09 8.28905E08 7.19912E07 2.54094E08 4.97085E08 3.69435E08 1.81598E08 6.28147E07 2.73274E07 2.05073E06 7.93269E06 9.75871E07 1.20381E08 3.35169E08 5.81440E08 4.08098E08 2.77689E08 7.44960E07 1.44538E08 7.49802E08 6.57943E08 1.81547E08 3.34828E08 4.20393E08 1.42028E08 3.29057E08 6.12320E08 1.82282E08 2.75489E06 1.33514E07 5.40050E07 1.03580E08 1.30831E08 1.02297E08 1.25961E08 8.66491E06 1.18887E08 2.55510E08 2.78780E08 1.40113E08 4.79524E07 1.98031E07 2.14851E07 3.94719E07 4.79795E07 1.53570E07 1.81144E07 9.45842E07 1.40423E08 3.16725E07 8.91869E07 3.47283E08 2.29622E08 6.40392E07 4.22768E07 8.12404E06 2.01539E07 5.24236E07 9.85760E07 1.75395E08 1.18157E08 3.59594E07 2.33473E07 3.66291E07 2.96775E07 3.08559E07 2.02466E08 3.52874E08 2.75884E08 1.39951E08 4.12780E08 4.46197E07 5.41776E07 6.66272E07 7.79494E07 3.04842E07 6.14151E06 5.21518E06 -Frame 257 9.60880E04 1.54304E05 4.78952E04 1.78528E04 2.80662E02 1.71349E03 3.44419E03 4.48596E03 7.83323E03 2.19825E01 5.16959E02 7.10146E02 7.82889E03 2.59990E02 7.61346E03 1.48049E04 2.55785E04 4.88071E04 9.04731E03 3.36634E03 1.44360E03 1.46571E04 1.56776E04 7.36991E03 5.75316E03 1.51533E04 1.82765E04 7.78847E03 9.82327E02 4.39235E03 1.93281E04 1.57620E04 7.61696E03 4.00150E04 3.57062E04 7.70604E03 1.08357E04 6.11967E04 4.13466E04 8.89211E03 4.54585E04 2.38537E04 1.08182E04 7.36673E03 1.07803E03 1.82348E04 1.40963E04 4.33981E03 2.04087E04 1.58036E04 2.67319E04 4.96089E04 6.71307E04 1.56720E05 2.64802E05 1.56937E05 3.63178E04 2.91804E05 1.76119E05 1.56124E04 5.46954E04 5.48700E04 6.47151E02 1.01050E05 3.05524E04 1.03366E04 5.70520E04 2.12089E05 2.89760E05 5.47825E04 5.41224E04 1.32495E05 1.94306E05 3.21047E05 1.42506E05 1.12703E05 1.16483E05 2.27212E05 9.44364E03 1.81654E05 2.90861E05 5.59441E04 3.87903E04 1.59914E05 1.08981E05 2.06287E05 2.31037E05 1.64408E05 6.12859E04 3.65458E05 1.55436E05 1.07533E05 2.82147E05 3.69167E05 5.76558E05 5.94431E05 3.32411E05 1.15061E05 3.68696E04 9.86977E04 1.95252E05 1.44867E05 3.63098E05 4.79815E05 1.16994E05 2.83388E05 1.83810E05 1.87903E05 8.35391E05 7.27835E05 1.79220E05 1.25742E05 4.25021E05 3.86474E05 1.12979E06 1.75390E06 3.42805E05 9.15908E05 1.34867E06 2.44576E06 4.85286E06 3.36945E06 4.45992E05 5.10840E05 1.07669E06 1.48594E06 1.57581E05 1.65415E06 1.82888E06 2.50159E05 2.08790E06 2.48699E06 6.57125E05 1.22207E06 4.43521E06 1.31759E06 9.42703E05 2.04989E06 6.19416E06 1.74816E07 9.04894E06 1.91179E06 8.75332E06 1.37358E07 1.71694E07 1.58015E07 3.87204E07 3.56032E07 5.47282E06 1.26565E07 5.26081E06 1.81524E07 4.09292E07 2.10743E07 4.40348E05 2.59752E07 1.85905E07 1.61770E06 2.23331E07 1.86182E07 6.80142E06 1.07023E07 1.59664E07 3.32858E06 9.70645E04 6.29662E06 1.44479E07 1.23981E07 1.03345E07 3.31447E07 5.45212E07 5.65381E07 3.38673E07 2.23470E07 3.19514E07 9.10131E07 3.98052E07 3.23911E07 1.09357E08 7.29949E07 2.05530E08 8.55705E07 1.57281E07 5.22167E07 1.70016E07 1.20971E08 1.93457E07 1.33209E07 3.87459E07 6.23142E07 1.07842E08 1.74528E08 3.37630E08 2.81760E08 5.25478E07 4.82483E07 2.93578E06 2.47290E08 1.16824E09 1.43042E09 4.42651E08 6.03714E07 3.31035E08 1.85406E08 1.24278E08 4.60591E08 2.35575E08 3.02228E07 2.32673E07 6.63279E07 4.32428E07 1.12014E08 2.20530E08 2.66309E08 2.64246E08 3.92654E07 1.67640E08 1.56398E08 9.43408E07 2.37437E08 8.65396E07 8.09099E06 2.35705E06 5.92766E07 1.14518E08 4.88127E07 2.09928E06 4.89401E07 1.80770E08 3.69593E08 2.96119E08 2.98156E07 8.07284E05 5.29837E07 2.24020E08 1.80264E08 1.55733E08 3.47004E08 2.58984E08 6.52932E07 5.43819E05 3.07745E07 6.45063E07 1.12725E08 1.31465E08 1.26687E08 1.06150E07 7.37650E07 4.05870E08 9.39885E08 7.94194E08 4.19450E08 4.53710E07 8.58060E07 1.82067E08 4.56204E07 4.28957E05 -Frame 257 1.22026E05 1.68005E05 6.92171E04 1.36029E04 1.20285E03 3.85193E02 4.57958E03 3.98760E02 4.49507E03 1.10251E02 1.92876E03 8.02463E02 3.17302E03 3.70396E03 1.55610E03 4.88579E03 8.01506E02 1.63359E04 7.13453E03 6.32264E03 5.17350E03 1.65734E04 1.98767E04 3.00619E03 6.61246E03 3.19621E03 8.52732E02 1.94673E03 3.22867E03 1.03341E03 4.34540E03 1.02182E04 3.69410E03 1.48506E04 3.19333E03 2.48127E03 1.14855E04 1.35705E04 7.57327E03 5.13470E04 1.04946E05 1.01015E05 9.42060E03 3.33645E03 4.05648E04 5.74728E04 2.27350E04 2.86294E04 4.87429E04 2.89079E04 2.59464E04 1.33094E04 8.65966E04 1.21283E05 3.82673E05 2.00512E05 1.75053E04 1.26652E05 1.15652E05 6.10227E04 2.78016E04 2.00370E04 7.64138E03 8.59857E04 2.77063E04 1.60686E04 8.88935E04 3.59993E03 7.93180E04 1.80708E05 2.98982E04 1.27393E05 1.73142E05 1.02154E04 6.38691E04 3.32997E05 4.52927E05 2.82274E05 2.41166E04 3.84298E05 3.19780E05 1.79921E05 2.30953E05 2.15489E05 1.13401E05 2.74167E05 1.56991E05 3.13744E03 1.79547E05 3.07179E05 3.72600E04 7.57946E04 3.80153E04 1.24761E04 1.59339E05 4.39009E04 1.28682E05 3.59772E05 2.43668E05 5.43720E04 5.18037E05 3.93743E05 2.74194E05 7.18658E05 6.24210E04 2.75336E05 5.44135E05 2.44615E05 6.69901E04 1.59999E05 2.61147E04 6.56308E03 2.16226E05 2.42192E05 1.18478E05 8.83502E05 1.15833E06 2.89139E05 4.72158E05 8.03327E05 9.91912E03 1.42427E06 1.13253E06 9.74647E04 2.42274E05 1.52379E06 3.96715E06 4.01048E06 3.45078E06 5.33692E06 8.99155E06 7.43644E06 2.64546E06 2.33222E06 2.73275E05 2.67715E06 4.57744E06 3.91042E06 1.10448E07 7.95276E06 1.51822E06 1.39611E06 8.66445E05 1.16032E06 9.18827E06 2.99902E07 1.37682E07 1.45631E07 9.95667E06 7.41109E06 7.24911E06 3.56231E06 2.37862E07 3.08788E07 3.47569E06 4.02491E06 2.74554E07 7.03978E07 6.87724E07 2.29038E07 7.25553E06 5.52673E06 1.51569E07 3.79603E07 2.81695E07 2.45136E07 5.12225E07 4.63284E07 9.27515E06 1.01175E07 3.07261E07 1.51085E07 6.69853E06 3.15163E07 1.15667E08 2.13821E08 1.17896E08 5.96021E07 2.56956E07 2.04599E07 3.16686E07 2.00042E07 2.14409E07 2.88274E07 9.42394E07 8.49043E07 1.16296E07 5.97766E06 4.08835E07 5.62039E07 7.03879E06 3.35164E07 8.00541E07 1.04025E07 8.86032E07 8.36033E07 1.67625E06 3.77879E07 2.44640E08 3.18104E08 1.47613E07 5.30048E07 2.11066E08 2.80911E08 8.57923E07 2.37495E07 2.00429E08 1.38720E08 1.12004E08 1.61515E08 1.75902E07 1.45294E07 2.58889E05 3.90838E06 4.64830E07 1.88141E08 2.05075E08 1.52773E07 2.93853E08 5.66746E08 2.28285E08 9.85109E07 1.21510E08 1.86099E08 1.67955E08 7.61286E07 9.86704E06 1.53635E07 1.52323E07 1.02830E08 8.58851E07 9.40703E06 1.10892E08 2.08732E08 1.66777E08 8.96183E07 4.50368E06 1.09039E08 1.16055E08 6.95716E07 1.20662E08 1.14669E08 1.64107E08 6.37493E07 2.43412E06 6.52549E07 1.76404E08 9.54803E07 1.64397E08 7.69133E07 2.93197E07 2.01946E07 2.83046E08 2.12173E08 6.53736E07 3.74496E07 1.89931E07 -Frame 257 4.45943E04 2.18897E04 7.62803E03 7.81902E03 4.43785E02 1.57724E02 1.58091E03 5.13635E03 5.94092E01 1.29440E03 2.42221E01 1.87263E02 2.32801E03 8.75089E03 3.32565E03 2.96991E03 7.40782E03 1.10273E04 1.40481E03 1.46727E03 1.72474E03 4.53119E03 5.76759E03 6.13709E03 1.15306E04 4.05502E03 4.67933E03 1.62616E03 7.01088E02 6.78751E03 6.24427E02 7.06004E03 2.58251E02 2.21550E03 3.07437E03 3.33600E03 6.29085E03 1.54100E04 5.18146E04 3.72064E04 3.29906E03 1.89315E04 1.87588E04 1.37684E04 1.10604E04 6.36132E03 1.73552E04 3.24878E04 1.24255E04 5.68573E03 5.52465E03 2.82892E04 1.73017E05 7.89368E04 8.19395E04 1.68141E05 1.95684E05 1.30159E05 1.19777E05 6.45802E04 8.82363E03 6.42292E04 1.27517E05 2.15966E05 1.10179E05 4.47783E04 2.40719E05 3.01744E05 1.29803E05 2.96633E05 7.04095E05 3.70016E05 8.43337E04 1.50443E05 2.33523E05 1.39225E05 6.85348E04 9.37977E04 6.34542E05 5.28064E05 1.56878E04 9.60027E04 1.08781E05 1.41432E03 6.53115E04 4.77728E03 1.10674E05 2.52608E04 1.13239E05 2.88376E05 4.02183E05 1.53592E05 5.16199E04 1.91074E05 3.75632E05 3.93234E05 8.66414E04 3.23724E04 2.92207E05 7.69160E05 9.27825E05 7.39404E04 2.31661E05 2.66354E05 5.78942E05 8.42839E05 3.80314E05 5.02067E05 6.47774E05 2.69308E05 2.95718E04 6.52110E04 8.89233E05 1.09222E06 8.76548E05 1.09314E06 2.58781E05 2.76753E04 5.71785E05 1.12655E06 6.96842E05 1.17524E06 1.55103E06 6.44432E05 2.00155E05 1.42099E06 4.76163E04 6.82394E05 6.01176E05 3.62219E05 5.02311E04 2.75667E06 2.11230E06 2.90336E05 3.67436E06 6.65457E06 5.25671E06 2.59062E06 6.48099E05 2.15020E06 5.25454E05 2.59790E05 1.58962E06 4.02599E06 1.40701E07 1.92103E07 1.07786E07 2.88879E06 1.26025E06 3.67219E06 9.13226E06 6.25576E06 2.12499E06 1.72623E07 1.85732E07 6.11497E06 1.80685E07 9.12992E06 9.96746E06 3.03965E07 1.49221E07 7.28999E06 2.51405E07 3.73984E07 2.63269E07 2.64586E07 6.15394E07 9.52871E07 6.75850E07 7.88248E07 8.80083E07 6.63963E07 3.88842E07 3.72019E07 8.60568E07 1.01935E08 3.79262E07 3.20076E07 6.42048E07 4.92935E07 6.24431E06 1.07896E07 4.40563E07 7.24563E07 3.51682E07 3.68917E06 7.56082E06 6.31806E06 6.19385E06 3.29478E07 9.35915E07 1.27435E08 1.58973E08 1.49770E08 7.71735E07 3.62953E07 4.70971E07 5.46957E07 1.36639E08 1.98242E08 7.80807E07 4.15653E07 9.81862E07 6.73134E06 5.31167E07 4.49114E07 4.00731E07 2.89641E07 2.08178E06 9.51744E07 3.02806E08 1.92879E08 6.99786E07 4.81136E07 6.28276E07 1.00642E08 2.47726E07 7.11067E07 1.81697E08 9.48484E07 7.53287E07 3.90814E07 1.52973E07 1.45039E07 8.01990E06 2.88517E05 9.50409E06 3.46495E07 8.10954E07 1.12712E08 1.56220E08 7.19835E07 3.31164E07 8.47634E07 1.15052E08 8.28681E07 2.52292E07 5.49884E07 3.97821E07 1.74540E08 1.42177E08 4.24752E07 1.09482E08 1.66013E08 1.12161E08 1.34938E08 1.40725E08 9.27644E07 1.53771E08 3.37244E08 2.74667E08 1.83493E08 7.05841E07 4.60239E07 1.28960E07 3.16369E06 2.98846E06 -Frame 257 1.07943E05 5.94700E04 1.47391E04 7.53145E03 2.33902E03 3.01135E03 2.35778E01 2.14467E02 8.24880E02 3.42357E02 1.07118E03 5.91141E01 9.59081E01 1.00258E03 1.79594E03 2.63578E03 4.02177E02 2.12147E03 6.49156E03 7.07188E03 2.54587E03 1.75999E03 1.35614E03 1.79522E02 9.89897E03 1.22418E04 9.72906E03 9.73662E03 3.68491E03 4.99315E03 1.22270E04 5.12381E03 5.99317E03 1.28264E04 1.63563E04 7.30150E03 1.58316E03 5.12231E02 6.13085E03 3.05301E03 2.78134E04 3.12047E03 1.28553E04 5.13857E04 4.57887E04 2.21279E04 8.06951E03 2.30205E04 3.17183E04 9.92601E03 4.51777E02 4.99818E04 1.82646E05 1.67010E05 1.05202E05 1.68469E05 1.16272E05 1.51656E05 9.35609E04 1.51762E05 2.03103E05 1.05487E05 1.18706E05 3.09876E05 3.68232E05 2.40228E05 2.83728E04 3.61612E05 3.28343E05 6.13325E04 6.67207E05 3.86855E05 3.84307E03 1.21448E05 1.21642E05 1.04225E05 4.45402E04 1.69351E05 7.16649E05 3.54335E05 5.46985E04 1.90687E04 5.43616E04 6.83788E04 2.09030E05 2.31267E05 5.44855E03 6.26477E05 1.06622E06 1.50148E06 9.02899E05 1.22196E05 6.34085E04 1.20202E05 8.45697E04 1.34977E05 2.90956E05 4.77355E04 2.99332E04 2.67809E05 7.24447E05 4.14129E05 1.46263E05 8.68158E04 6.22187E04 6.03723E04 6.06770E05 9.99693E05 8.15561E05 1.80932E05 4.77064E05 1.30420E06 1.59949E06 7.33838E05 1.29165E05 6.14313E05 6.66892E05 2.28798E05 1.76004E05 3.57109E05 1.76402E05 3.05374E05 3.04467E05 1.12147E05 1.49514E06 3.88902E06 4.51377E06 2.09794E06 2.90406E05 9.57545E04 8.32826E05 1.28232E06 2.31753E05 9.55620E05 3.40795E06 2.04163E05 9.15991E05 1.41841E06 3.45700E06 3.88074E06 2.18358E06 9.50003E05 3.70875E06 4.50996E06 3.07355E06 1.97982E05 6.61864E06 4.33479E06 2.12644E06 4.99866E05 2.53365E06 4.54564E06 6.56558E06 4.53171E06 3.32426E06 8.22658E06 6.69696E05 9.40503E06 3.37174E07 4.99182E07 2.87040E07 1.25496E07 9.19935E06 1.00974E05 1.72732E06 1.18491E07 4.20042E07 1.56181E07 1.84617E06 9.33980E06 2.47794E05 3.13452E06 9.94200E05 1.14993E07 2.19216E07 3.57503E06 2.95348E06 1.04840E07 9.51616E07 1.41004E08 7.26776E07 3.35969E07 9.33402E07 1.37875E08 3.54610E07 7.53455E06 9.87843E06 8.42754E06 3.61122E06 2.13813E06 1.83670E07 3.09895E07 4.13086E07 3.49420E07 7.61680E06 2.14035E07 2.05660E07 4.21020E06 7.00266E06 2.54678E07 4.69366E06 7.32964E06 6.74899E07 5.36487E07 2.99331E07 5.65063E07 5.86833E07 4.31605E07 3.55752E07 2.73870E07 1.62589E08 1.77463E08 5.26578E07 7.67835E07 9.19894E06 7.81910E07 8.83543E07 4.58797E06 1.08240E08 1.28755E08 1.05590E08 7.05745E07 5.04804E07 6.17125E07 6.90338E07 8.55854E07 5.16493E07 3.03703E07 1.59367E06 1.02200E06 3.22548E07 6.31983E07 4.11959E07 7.77469E07 2.62791E08 3.65341E08 2.38363E08 1.35663E08 7.66573E07 1.63845E08 1.67280E08 4.62087E07 9.71760E06 1.21771E08 2.76555E07 6.04143E07 6.62235E07 9.82741E07 3.32863E07 2.90899E08 1.48723E08 2.93252E06 2.61023E07 2.38564E07 7.86730E06 5.54029E07 7.52320E07 -Frame 257 6.79942E05 2.23806E05 7.30169E04 1.39410E04 8.69415E03 2.27664E01 1.66112E03 6.97167E02 2.22430E03 3.93658E02 3.70004E01 4.92795E02 1.79467E03 3.94032E02 1.58740E03 2.64323E02 6.90680E03 1.95966E03 8.56565E02 6.81818E02 1.95414E03 8.83934E02 1.18866E04 1.30345E04 2.67382E04 1.10826E04 6.15404E03 3.09945E03 2.67230E04 3.05637E04 1.87473E04 1.86985E03 1.10147E04 7.80578E03 4.59722E03 1.59827E04 6.15358E03 1.45534E04 2.56122E03 2.05907E04 6.45727E04 4.22209E04 2.45446E04 1.27462E04 2.31867E04 3.20951E04 3.20495E04 1.49979E04 5.49178E03 1.99457E04 1.20662E04 1.49672E04 1.72139E05 3.13673E05 7.84153E04 5.55895E04 3.89901E05 4.19157E05 1.21524E05 7.75480E03 8.36475E04 2.26067E05 2.26754E04 7.46372E04 8.81988E04 2.86942E05 7.69289E05 6.08341E05 3.46151E05 1.29305E05 1.70536E05 1.19371E05 1.11431E05 1.06583E05 1.47017E05 4.20437E05 1.57416E05 2.57068E05 5.21835E05 2.90653E04 8.76147E04 1.27783E05 1.43215E05 4.34683E04 1.13266E05 8.24673E05 1.21535E06 5.67344E05 8.46266E05 1.64186E06 1.01896E06 3.32478E04 1.66057E05 1.30360E05 3.37790E05 6.57961E05 3.86883E05 1.67993E05 2.64767E05 4.04896E04 8.61470E04 3.30473E04 3.51284E03 1.04622E04 6.23277E04 3.05805E04 7.69728E04 4.24559E04 3.35399E05 1.98113E05 3.65852E04 8.14319E05 5.41594E05 2.74288E05 2.91039E05 9.43486E04 2.31295E05 2.20662E04 2.00430E05 4.39561E05 2.73729E05 2.60865E05 4.39278E04 1.20002E05 8.34043E05 8.92413E05 1.17687E05 1.11372E06 7.66774E05 4.82459E05 5.06435E05 1.29508E05 1.02126E06 7.88429E04 2.39902E06 7.22364E06 7.36487E06 2.98959E06 2.57104E05 1.01761E05 7.87380E05 7.21800E05 7.80819E05 2.02114E06 1.49187E06 1.16855E06 6.57695E06 6.09230E06 3.63717E06 6.71240E06 3.19110E06 1.26466E06 2.05956E06 4.99781E06 5.11702E06 5.02134E05 6.65822E06 7.64956E06 1.64683E06 7.49749E06 4.11139E06 4.11733E06 1.01274E07 1.60553E07 1.02209E07 5.01563E06 2.88723E07 5.62456E07 3.14368E07 1.22677E07 2.96939E06 5.94398E06 4.49302E06 8.90846E06 1.76714E07 3.42434E06 7.85016E06 2.99958E07 4.32249E06 7.94845E07 5.07803E07 9.39559E06 5.45769E07 1.35303E08 6.46373E07 8.99046E06 1.47493E07 4.20490E06 1.45843E06 2.14132E06 1.37446E07 4.60787E07 5.26560E07 1.30677E07 2.30180E07 1.64726E07 2.09244E07 1.30366E07 1.63497E07 8.69927E06 1.50377E06 4.41187E06 2.23980E07 3.07503E07 1.92626E07 4.19254E06 5.29564E07 4.90274E07 3.37384E06 8.78286E07 2.18173E08 7.20931E07 7.65733E07 1.21717E08 4.51594E07 2.06105E08 8.60339E07 7.30987E07 2.68342E08 3.74664E07 3.96525E07 6.49650E07 5.40534E07 1.58686E08 8.24676E07 4.58644E07 1.84282E08 1.56678E08 4.45334E07 3.08299E06 8.42128E06 1.29665E08 8.79785E07 4.37628E07 1.87720E08 4.06208E07 2.77296E08 1.99647E08 4.07724E07 4.29368E07 1.94536E08 3.32905E08 3.18027E08 1.23637E08 1.40019E08 3.75093E08 2.41324E08 1.32625E08 2.09662E08 1.39482E08 6.45747E06 6.25232E07 2.74769E08 4.74577E08 4.76870E08 4.55565E08 4.41305E08 -Frame 257 2.47057E06 1.42168E06 2.24165E05 2.25942E04 5.48906E03 8.42182E02 9.78701E02 2.03111E03 4.87501E03 6.69886E02 5.41243E02 5.16114E02 4.60036E03 2.64787E03 2.24803E03 5.19726E03 1.85677E03 5.83222E03 3.25353E03 1.49557E03 1.01979E03 8.54482E03 5.03394E03 1.10767E04 9.28853E03 3.08107E03 1.38220E03 1.11620E04 2.59137E03 3.37594E04 3.00725E04 1.48723E04 1.71165E04 5.68762E04 1.60532E04 5.83376E03 3.76985E02 2.04891E04 6.17366E03 1.81772E04 1.53728E04 3.38956E04 1.81952E04 8.17746E03 1.05140E04 6.92232E03 5.02533E04 9.95913E03 1.33576E04 3.24595E04 2.18645E04 1.29187E04 4.34064E04 9.79950E04 1.33625E05 7.46271E04 2.79559E05 2.50167E05 9.49136E04 5.36741E04 1.04499E05 8.17040E04 1.19025E05 9.98806E04 3.43910E05 5.07720E05 6.26088E05 2.50604E05 2.21941E05 4.51989E05 3.97282E05 2.54196E05 1.43269E05 1.75415E05 2.87068E05 1.74888E05 8.34949E04 2.92069E05 8.53671E05 7.77866E05 6.34726E05 1.53868E05 8.98712E04 2.97034E05 3.96990E05 6.58265E05 6.14778E05 4.53117E05 2.89781E05 2.67243E04 1.29004E05 2.47334E05 2.69146E05 1.63364E05 3.93161E04 7.79633E04 8.74172E04 2.21714E03 2.69976E04 5.15900E05 6.05484E05 3.43619E05 1.20217E05 1.99279E05 1.88023E05 3.13995E05 1.35194E05 5.83550E04 3.51588E05 6.10568E04 2.92909E05 5.77104E05 4.46045E05 5.79524E05 2.91874E05 1.34309E05 5.77610E04 2.38592E05 2.28729E05 4.71250E05 3.36670E05 2.55480E05 5.22854E05 6.45465E04 8.83216E04 1.07256E05 2.11753E05 2.69121E05 1.95762E05 9.16167E04 2.04674E05 1.43102E06 2.45935E06 2.02145E06 1.77483E06 1.28849E06 5.57422E05 1.05985E06 1.29076E05 7.72964E05 1.72898E06 1.84424E06 3.11711E06 6.63428E06 5.31243E06 2.91490E05 6.29931E06 2.12990E07 9.28576E06 1.26178E06 1.11541E06 3.77129E05 7.47010E05 1.58149E05 2.43628E06 1.78134E07 1.27050E07 3.85668E06 3.20857E07 1.87630E07 1.49651E07 6.20704E06 1.23168E07 6.30810E06 2.99459E07 1.47013E07 3.08529E07 1.08550E08 7.81701E07 4.51276E06 3.26974E06 8.92905E06 9.22261E06 3.33331E06 8.46508E06 1.90399E07 1.29205E07 5.27959E07 6.01051E07 2.25188E07 2.59225E07 4.54805E07 1.31230E08 6.69860E07 1.82644E07 3.34645E07 2.21074E07 4.07056E07 1.28425E07 3.82498E06 3.57420E07 8.34761E07 7.08764E07 5.09425E07 4.49736E07 2.73188E07 3.79283E07 4.77620E07 5.66340E06 1.26083E06 2.01112E07 4.49403E07 4.35377E07 8.89527E07 1.55451E08 6.56270E07 6.01711E07 1.21250E08 1.23113E07 1.24960E08 1.82610E08 5.31248E07 9.92517E07 2.68956E07 8.71286E07 3.23327E08 6.37495E08 8.66686E08 7.70001E08 3.13783E08 1.13324E07 1.94498E06 1.14194E08 2.53644E08 5.99547E07 4.58778E07 3.74983E07 1.08646E08 2.48156E08 1.04016E08 8.52366E07 2.27001E08 3.28129E08 8.41600E07 4.94358E07 3.13043E08 6.39602E08 3.19002E08 9.93377E06 1.19677E08 7.28626E07 2.01178E08 1.59935E08 1.22198E08 2.59734E08 1.61378E08 2.14341E07 2.34768E07 8.20110E07 8.54038E07 3.37249E06 5.56413E06 1.67868E08 2.34584E08 1.75606E07 3.40185E07 1.24914E07 -Frame 257 3.41556E05 4.00645E05 1.45143E04 5.00445E03 5.38791E02 7.78116E02 2.79348E03 3.32780E02 2.99550E03 1.17823E03 9.71909E02 1.18796E03 9.54277E02 6.81736E02 1.02175E03 1.93076E03 9.81816E03 3.75708E03 3.35714E03 7.46809E03 4.16262E03 2.47746E03 7.28595E03 1.64411E04 3.85198E04 1.49448E04 3.91349E03 2.30320E03 2.90936E03 1.89454E03 5.94526E03 1.22897E04 1.13218E04 4.80489E04 3.59052E04 2.05478E03 1.84974E03 1.38617E03 8.72000E03 5.43044E03 8.03755E03 1.85884E04 8.74594E04 5.34823E04 1.41352E04 1.09540E04 4.60670E04 3.96924E04 9.05220E03 2.46167E04 1.71727E04 3.52222E04 3.71579E04 8.29356E04 3.02870E05 2.95451E05 1.15399E05 1.47624E05 1.94952E05 1.34786E05 9.16309E04 1.82394E05 3.68317E05 4.56218E05 1.04400E05 7.66793E04 2.45019E05 7.55047E04 2.95057E05 4.41289E05 2.12364E05 1.86959E05 4.05689E04 2.85297E05 5.21112E04 2.47573E04 1.52471E05 1.66010E05 6.52138E04 9.72419E04 4.55533E05 2.44156E05 9.72635E04 4.32530E05 1.84804E05 2.47977E05 4.16778E05 5.29616E05 1.88109E04 2.53763E05 1.51350E05 3.12176E04 7.48415E04 1.93008E04 1.53767E05 3.97233E05 2.44217E05 2.07182E04 1.06107E04 3.37396E05 1.47388E06 6.88530E05 1.52796E05 4.78112E05 1.67673E05 1.26671E05 6.52664E05 7.53388E05 5.21511E05 1.58197E05 1.30483E05 3.11142E05 1.47995E05 1.08592E05 5.55838E04 4.12969E04 4.67179E04 2.74446E05 7.62806E05 1.58287E06 3.45973E06 1.98235E06 2.51653E05 7.04085E05 1.47101E06 7.49388E05 6.98138E05 1.57495E06 2.00084E06 4.23447E05 9.20194E04 4.84080E05 8.40136E05 1.06362E06 2.41077E06 3.74263E06 6.49637E06 6.38867E06 1.71564E06 2.64884E06 1.13242E06 7.16418E05 1.35320E06 2.29315E05 7.73995E06 2.18451E07 3.38736E07 1.90317E07 2.91591E06 5.70998E05 6.72424E05 3.48967E06 1.75797E06 5.17327E05 5.06918E05 7.28711E06 6.07644E07 1.27098E08 1.40045E08 4.17646E07 5.13866E06 5.78277E07 9.91500E07 8.53961E07 9.54139E07 5.66701E07 1.89436E07 6.87176E07 1.12131E08 3.50806E07 7.31913E06 3.33542E07 8.63581E06 5.73824E07 1.10343E08 5.20030E07 1.17765E07 8.30253E06 1.93999E07 6.72954E06 1.81530E05 8.65595E06 5.05558E07 7.48275E07 8.57171E07 9.12991E07 7.80218E07 2.34877E07 7.55129E07 1.35869E08 3.58945E07 1.74827E05 4.34588E06 5.87817E06 3.39984E07 2.03339E07 4.06233E07 1.59422E08 1.66827E08 1.37044E08 1.97523E08 3.03561E08 2.31619E08 1.89346E07 1.72836E08 2.23644E08 3.50047E08 2.46776E08 1.76500E08 2.74555E08 2.69193E08 8.71627E07 2.43962E05 7.68631E07 1.91244E08 8.17325E07 3.95633E08 3.93100E08 1.09303E08 6.18568E08 4.02470E08 1.08324E08 3.14731E07 2.04035E08 3.01414E08 2.04730E08 1.62426E08 2.62486E08 3.22685E08 1.83234E08 8.00888E07 2.02830E07 1.98521E08 2.24364E08 4.03168E07 1.27169E07 7.01300E07 2.90077E08 8.51603E07 1.88142E07 2.43761E08 3.16604E08 2.59224E08 3.36961E08 1.78906E08 4.59755E05 3.53053E07 5.01018E07 6.01847E07 2.03480E08 1.45391E08 1.79868E08 5.90290E08 7.36239E08 2.75812E08 2.60052E08 4.14707E08 -Frame 257 1.13502E06 7.32012E05 1.57854E05 7.69209E03 4.92077E03 1.59336E03 1.79653E03 2.17959E03 7.79004E03 1.32083E02 2.22344E03 8.24446E02 1.39406E03 1.52666E02 2.73105E03 2.70059E03 9.37861E03 2.86401E04 1.27623E04 2.88701E01 1.64130E04 1.56564E04 5.56961E02 1.24099E04 1.76115E04 1.38423E04 1.85559E04 9.05699E03 3.04517E03 2.28967E03 1.13698E02 2.90420E04 1.28078E04 8.36943E03 2.49531E04 2.55233E04 8.16316E03 1.56339E04 1.75650E04 1.17191E04 9.78594E03 2.91245E03 9.07164E03 1.34045E03 4.12695E04 6.59243E03 4.44554E04 1.64855E04 1.38071E03 3.16726E04 1.13492E04 4.50186E03 3.63500E04 1.34293E04 1.17141E05 2.09084E03 2.65765E04 1.45778E04 1.08402E05 6.87097E04 6.99225E04 4.04682E03 8.20921E04 2.04434E04 1.92260E05 3.59811E04 7.36576E04 8.23388E04 6.60515E04 1.52750E05 1.78883E05 2.67644E05 1.96426E05 1.55412E05 1.08446E05 5.60540E04 3.70483E05 5.97485E05 6.38191E05 5.02650E05 1.73232E05 5.24181E04 1.18886E05 5.78089E05 7.22011E05 1.78352E05 2.73479E06 3.47586E06 2.40429E06 2.04369E06 9.52886E05 3.71444E05 2.41184E05 1.19201E05 2.35922E05 1.06591E06 4.67353E05 2.30076E05 2.46810E05 1.76321E05 2.65442E05 1.53051E06 5.15028E05 1.05078E04 1.69875E05 1.01442E06 4.07699E05 1.04623E05 1.72073E05 6.91635E04 1.31272E05 2.00878E05 1.09518E06 1.05674E06 1.12621E06 1.48166E06 1.95747E05 2.55528E05 5.19796E05 1.67899E05 6.37052E05 3.02297E06 1.77099E06 1.79148E05 9.51399E05 1.61089E05 2.01918E06 1.75296E07 3.64031E07 1.93116E07 4.84957E06 5.48760E05 6.99199E05 1.03653E07 1.22861E07 1.09290E07 3.55423E07 3.46396E07 1.14709E07 4.23188E06 4.34631E06 4.86696E06 1.47775E06 1.90757E06 9.53230E06 2.20960E06 2.64124E07 2.89273E07 1.18788E07 6.29606E06 7.64452E05 1.05521E07 1.46685E07 1.19182E07 2.02390E07 3.14590E07 2.54767E07 7.78373E06 6.59750E07 3.27050E07 5.54151E05 1.12963E07 5.35043E07 3.92045E07 3.98797E07 5.56342E06 4.66343E05 2.93271E06 1.90685E07 4.24052E07 2.40250E07 6.06190E07 1.10365E08 8.52976E07 6.13208E07 3.60374E07 8.89028E06 7.91021E06 3.89120E07 1.18892E08 1.01706E08 2.99679E07 3.23165E07 2.70743E07 2.05882E07 1.28674E07 3.46383E07 5.73414E07 8.78566E07 1.46676E08 1.38684E08 8.90355E07 1.28640E08 1.55562E08 9.14816E07 5.73069E07 8.78134E07 9.18792E07 1.53590E08 1.77600E07 3.04272E07 2.45912E07 3.40319E08 4.04930E08 1.25666E08 2.90868E07 2.97522E07 2.81362E07 8.36510E06 3.02426E07 9.46448E07 6.12324E07 4.13575E07 9.59259E07 1.39371E08 7.64093E07 4.14356E08 4.70713E08 6.74632E07 1.30990E08 1.85414E08 3.60546E07 2.82539E06 4.39425E07 9.12478E07 4.72817E07 1.66114E07 8.73154E06 1.34287E06 6.68637E07 2.17058E08 1.61904E08 2.79771E07 3.42638E07 7.17403E06 1.52932E07 4.56723E07 1.73473E08 2.51695E08 6.51712E07 1.79445E08 2.82100E08 3.22615E08 6.47848E08 3.92720E08 5.39012E07 5.42183E07 1.76269E08 3.00857E08 1.62391E08 9.30154E06 2.91317E07 3.62055E08 6.52140E08 2.89395E08 1.52563E08 1.32686E08 -Frame 257 2.76777E06 1.30378E06 2.13672E05 5.01966E04 2.18387E04 2.00357E03 8.27361E03 7.10078E03 4.58560E03 1.12817E03 1.12547E03 6.36432E03 2.25212E03 9.21045E03 1.50348E04 1.57640E04 5.73392E03 1.54579E04 6.21886E03 5.43726E03 2.11642E04 2.12924E04 1.43155E04 1.52525E03 3.01018E04 1.94797E04 1.18264E04 8.34282E03 3.26050E02 4.99943E02 7.50210E03 4.55005E04 6.78797E04 3.57647E04 9.31207E03 1.73649E04 9.59463E03 2.23130E04 4.67364E04 1.56425E04 2.26893E04 1.52039E04 1.84100E04 3.28602E04 3.31740E04 2.32496E04 2.09682E04 4.25167E04 6.42647E04 1.08258E04 2.73061E04 3.49947E04 8.10868E04 2.33964E05 4.21010E05 5.92923E05 5.42438E05 3.25373E05 1.32008E05 1.75069E05 2.66124E05 8.36299E04 3.16327E04 1.75794E05 3.66717E05 6.05531E05 2.56639E05 5.28602E04 1.11596E05 2.29514E05 8.41884E03 5.45285E04 2.77355E04 1.23496E04 1.51587E04 4.00832E04 1.44823E05 3.84203E05 4.82250E05 2.66847E05 2.61534E05 2.31506E05 1.54813E04 8.03274E04 1.58689E06 3.19678E06 4.56302E06 9.89053E05 9.10763E04 5.90451E05 6.43037E05 9.60970E03 2.63936E05 9.12453E05 1.07789E06 8.58386E05 3.12026E05 1.51914E05 8.89628E04 6.73359E05 5.03678E05 2.39101E05 5.35331E05 7.08735E05 1.02983E06 9.73225E05 4.43206E05 2.66956E05 6.96080E05 4.37105E05 7.89420E05 8.17867E05 1.74818E05 1.24686E06 2.63743E06 2.34593E06 3.59881E06 2.11508E06 7.82867E05 1.07637E06 1.18251E06 3.64687E05 2.78850E06 2.61596E06 3.58120E05 4.27494E06 1.76573E07 4.99598E07 7.93118E07 6.17512E07 1.69529E07 3.54679E06 1.92454E07 7.45682E07 1.23096E08 4.78698E07 5.56694E07 1.01963E08 2.45376E07 3.58398E06 4.24573E05 3.36147E06 2.19525E06 5.49690E06 2.27107E07 1.16146E07 2.63478E06 1.74069E07 5.98010E06 1.16858E07 1.93439E07 5.14462E06 9.35563E06 1.07942E07 4.63224E07 1.78670E07 3.01520E07 4.63015E06 2.33441E07 2.92732E05 2.83432E06 1.39803E06 3.42061E07 1.01984E08 8.60939E07 5.61892E07 4.33196E07 4.08883E07 3.94789E07 1.51570E07 1.19672E06 2.03633E07 4.73637E07 1.08583E07 1.56063E06 1.30094E06 4.59914E06 4.46546E06 8.95357E07 1.32688E08 1.73240E08 1.88918E08 3.95783E07 3.51845E06 2.14327E07 1.04422E07 1.77902E06 2.21913E07 2.45606E07 5.45180E07 6.72469E06 5.80926E07 2.35046E07 4.05806E07 5.21923E07 8.79737E06 2.73790E07 3.41493E07 6.59832E07 1.14067E08 7.43666E07 1.13529E08 1.85187E08 8.60802E07 1.09890E08 4.91350E07 2.43704E07 1.32095E07 5.37129E06 1.08421E07 5.15333E07 4.33144E07 2.59022E07 4.62682E07 7.04755E07 3.96064E07 3.42047E07 8.01112E07 4.68117E07 1.25868E07 2.28875E07 1.05740E07 7.36487E05 4.26868E06 7.44246E05 6.78082E05 5.02506E06 3.87729E06 2.26119E06 2.31294E06 2.97903E07 3.76169E07 6.78709E06 1.13201E07 1.85677E07 1.08358E07 3.00986E06 4.57401E07 1.71291E08 1.25696E08 1.08945E07 9.10262E07 9.05198E07 1.01745E08 6.09508E07 6.20508E07 1.65549E07 1.51417E06 1.53910E07 7.31616E07 6.70807E07 4.11252E07 8.06724E07 6.75738E07 3.48166E07 1.03387E07 1.50508E06 -Frame 257 1.66402E06 4.48526E05 6.86134E04 1.15364E02 1.26261E05 1.50859E05 3.27795E03 1.37121E04 3.09642E04 9.73777E01 3.87517E04 4.09217E04 3.26867E04 1.87082E05 3.77000E04 3.12583E04 5.39878E04 6.96646E04 2.79850E04 5.42914E03 2.41775E04 1.45741E04 9.81954E04 1.53260E05 1.95524E05 1.08431E05 9.39215E04 2.42650E04 2.76654E03 3.18406E03 1.35549E04 8.53462E04 3.12080E04 2.50431E04 7.64818E04 9.49657E04 3.82891E04 3.42644E04 5.93816E04 8.44094E04 5.91937E04 1.42523E04 3.66071E04 3.39700E04 1.41691E04 3.29125E03 7.27735E02 1.99037E04 7.06937E04 8.34416E04 8.45687E04 2.40054E04 6.34958E04 1.38751E04 4.13910E03 2.59769E05 7.21300E05 4.75953E04 8.38160E03 7.20482E05 6.97985E05 6.73794E05 1.46327E06 1.68028E06 1.56374E06 2.24418E06 1.47432E06 6.15349E05 4.21610E05 7.07237E05 6.32082E05 2.41045E05 8.36160E04 1.72064E04 2.98879E04 6.54520E03 7.75511E04 3.15436E05 1.86843E05 1.40010E05 4.12805E05 3.82145E05 4.72995E05 3.20665E06 8.99851E06 9.36333E06 1.77069E07 3.25520E07 2.42807E07 1.27759E07 6.68109E06 4.74234E06 1.69885E06 1.84513E05 2.67110E05 2.71683E04 2.61855E05 7.83643E05 3.09728E05 3.79010E05 4.61507E05 3.79889E04 1.08169E05 4.16501E05 4.77052E05 2.33096E05 2.20474E05 6.06683E05 1.62449E06 1.58666E06 2.37934E06 1.13768E06 4.63905E05 1.47637E06 1.47880E06 1.22536E06 2.80893E06 4.98491E05 8.06499E05 1.11494E05 1.05485E06 4.22682E06 1.63650E06 2.99410E06 6.52866E06 5.01328E06 1.33721E07 5.64659E06 1.98902E07 5.91719E06 4.53068E07 9.62424E07 3.63628E07 1.68540E07 9.92407E07 3.15049E07 1.37126E08 8.15451E07 9.40470E06 6.41593E06 1.69674E04 3.20882E06 9.03106E06 1.34592E07 2.14394E07 2.00336E07 3.62852E06 8.35066E06 3.32234E07 5.89646E07 4.81639E07 3.84830E07 8.33945E07 1.85669E08 2.14398E08 1.51638E08 1.86434E08 2.19760E08 2.08470E08 1.81919E08 1.50799E08 1.28995E08 1.09475E08 2.62585E07 2.89718E07 3.13032E07 3.70743E06 5.11584E07 2.09999E07 9.21555E06 3.87379E07 3.22521E07 2.15955E06 4.58924E07 6.31995E07 4.76987E07 5.76757E07 9.09519E07 4.25340E07 2.88660E06 1.02151E07 6.82894E07 4.68238E07 6.68207E05 7.73360E06 6.66170E06 6.58041E06 5.26741E06 2.54362E07 5.69489E07 7.60914E07 7.86213E07 5.39665E07 2.01287E07 1.45336E07 4.60886E06 7.01207E06 1.26211E07 9.06330E06 2.40140E07 1.80049E07 1.93977E07 3.41217E07 4.21330E07 2.98415E07 2.64234E06 6.61247E06 2.28875E06 7.43880E06 3.99318E07 7.61953E07 5.46599E07 1.76595E07 9.59498E06 2.02115E06 1.38350E07 9.38103E06 4.42138E06 9.61442E05 1.00183E07 2.65945E06 3.13063E06 6.01163E06 2.19977E06 1.11887E05 5.29588E05 3.73170E06 8.12268E06 7.24122E06 1.85622E06 1.30958E06 1.00670E07 1.34865E07 1.01511E07 7.48709E06 2.32579E06 1.76350E06 8.74450E06 1.31799E07 1.29601E07 3.10498E07 1.98198E07 8.18372E06 5.37710E06 5.92633E06 1.84393E06 2.88634E05 4.18581E05 1.56884E06 8.61305E06 1.03628E07 5.96786E06 1.44618E06 2.10544E05 1.29938E06 4.80442E06 8.63827E06 -Frame 257 1.42549E06 5.62585E05 1.08376E04 4.63993E05 1.87721E06 2.41059E06 1.13379E06 2.08017E05 8.59477E05 2.32754E06 3.30846E06 1.99560E06 4.83667E05 1.80568E06 4.75614E06 2.97179E06 1.02035E06 2.18839E05 1.98295E05 1.97549E05 3.87030E04 5.99638E04 4.19377E04 5.78622E05 4.74829E05 5.77113E05 5.69364E05 1.10863E05 7.03590E04 5.40990E04 2.05923E03 6.26738E04 1.05899E04 5.43601E04 1.12897E05 2.94756E04 1.85994E04 4.31583E04 7.55728E04 1.65560E04 2.14440E04 2.07302E04 4.10835E04 1.99843E05 1.60304E05 8.54262E04 1.27443E05 5.41214E04 9.57817E04 7.26974E04 2.18925E05 3.21665E05 5.75723E05 3.74186E05 2.69340E04 2.37112E06 5.40776E06 1.38209E06 3.54509E05 3.99277E06 2.87382E06 5.77537E05 2.05658E06 2.67114E05 1.50431E06 9.02482E04 1.28057E06 6.08439E05 8.74264E04 2.69119E05 1.14460E06 5.26412E05 6.18020E05 8.69654E05 6.87432E05 2.98788E05 2.56069E05 7.01288E05 2.11355E05 3.11445E05 8.30850E05 5.56837E05 3.07071E05 5.87533E06 7.95872E06 1.39541E06 1.63298E07 2.32095E07 1.78694E07 2.65767E06 9.76726E05 6.84112E06 4.09190E06 4.37255E05 1.33080E06 1.42376E06 1.21672E06 2.82591E05 2.96321E05 4.28303E05 3.80722E05 3.79087E05 7.34503E05 2.20999E05 1.49708E05 4.42041E05 4.64419E05 1.31338E04 2.21891E05 1.22604E06 2.58107E06 1.90022E05 2.52957E06 1.26553E06 7.27113E04 2.38427E05 2.81357E06 3.49170E06 2.95361E06 9.46408E05 1.36024E04 9.13718E05 1.07626E07 1.35952E07 5.93997E06 1.62733E07 4.52722E07 3.99516E07 4.26337E06 1.76524E07 4.39111E07 1.52554E07 1.66429E07 7.09566E07 9.95580E07 1.05626E08 9.57983E07 5.33951E07 2.01493E07 8.76279E06 1.82116E06 1.15205E06 3.94355E06 1.27156E06 2.55540E06 5.46069E06 5.45643E06 3.07070E06 2.72698E06 2.45770E07 1.38589E07 4.35128E06 1.42236E07 4.22306E07 4.89680E07 2.25064E07 4.78860E07 5.45538E07 6.35275E06 3.18240E07 8.40959E07 6.47598E07 3.67186E07 9.71449E06 3.61892E06 6.26474E06 2.12575E07 2.29640E07 9.60912E06 1.82340E06 5.32695E06 1.28311E07 1.15264E07 1.50915E07 1.59867E07 9.37431E06 2.16029E07 1.59496E07 5.19900E06 3.57191E06 1.13962E07 2.24263E07 1.60622E07 1.34052E07 6.17699E06 2.08797E06 1.33106E06 8.58455E05 7.33017E05 8.75617E05 1.01777E06 1.24269E06 2.75832E06 5.10745E06 3.35944E06 3.77206E06 5.80814E06 5.83948E06 4.94615E06 5.90581E05 4.20526E05 1.59681E05 5.59387E05 2.20206E06 5.39603E06 8.63430E06 3.31604E06 1.84534E06 4.25706E05 1.68919E06 1.91381E06 6.23168E06 6.29069E06 6.08696E06 7.84904E06 6.52700E06 3.26482E06 5.21576E06 1.28814E07 1.75858E07 1.38360E07 8.18898E06 2.04346E06 9.04795E05 2.20409E06 1.26701E06 3.04839E04 5.72096E05 1.30958E06 9.42454E05 3.92095E05 2.73599E05 1.44509E06 5.70576E05 1.55677E05 1.33583E06 3.25127E06 3.63461E06 2.70174E06 2.70508E06 2.53661E06 1.62002E06 5.48972E05 1.02496E05 1.39663E06 1.23190E06 4.92240E05 6.51084E05 1.07662E06 1.92087E06 9.63726E05 4.02085E05 1.22341E06 9.16158E05 8.87846E04 4.45274E05 5.41048E05 -Frame 257 2.36945E05 2.23352E05 6.92250E04 1.05057E06 4.11009E06 1.70387E06 2.12957E05 6.11160E06 1.46925E07 7.93683E06 8.42078E05 1.27552E07 2.01174E07 1.95338E07 6.49785E06 1.46002E07 1.94340E07 6.30816E06 2.72023E05 1.13896E06 1.76973E06 9.66268E05 2.25328E05 2.51075E06 4.02171E06 6.41341E05 4.68746E05 1.97786E06 1.68025E06 3.80467E05 9.58465E03 2.20308E05 3.60467E05 8.90776E04 7.36866E04 3.49314E05 3.91975E05 1.36609E05 2.41936E04 1.79652E05 1.00552E05 4.00697E04 3.35504E05 1.12057E06 9.12664E05 5.45071E04 6.23344E05 1.54872E06 1.11340E06 1.56840E05 8.46446E05 5.07412E06 4.99968E06 4.26803E05 2.20182E06 1.69444E07 3.16529E07 1.71422E07 8.20900E06 1.17351E07 6.70082E06 9.71646E05 1.98304E06 4.54885E06 4.61858E06 1.11826E06 7.10856E05 3.23695E06 2.78899E06 9.06157E05 6.90655E05 1.25092E06 1.08844E06 7.79540E03 3.17056E06 6.43023E06 3.86869E06 1.83444E05 4.95432E05 1.71448E06 1.60788E06 2.35719E04 4.38807E06 1.78245E07 1.37515E07 7.00590E06 1.29327E07 1.47254E07 1.61705E07 7.24602E06 4.37621E06 4.18185E06 1.81253E06 8.32632E04 2.63070E06 4.47417E06 1.87367E06 2.57218E05 1.27168E04 2.95454E05 1.47856E05 2.96600E05 1.41861E06 1.72898E06 1.08617E06 6.49081E05 1.87328E06 3.42817E06 3.33965E06 3.22253E06 4.29186E06 5.28941E06 1.87579E06 4.27697E05 4.35013E06 4.32791E06 1.61691E06 2.19473E06 5.05277E06 7.92021E06 3.63179E06 2.65277E06 3.55488E06 6.04446E06 5.45067E06 1.07489E07 1.75488E07 9.90471E06 2.43092E06 2.09541E06 5.35210E06 4.79081E06 1.62199E06 4.31689E06 1.26086E06 3.81614E06 2.99111E06 6.08946E05 3.30584E05 8.32524E05 1.02639E06 1.79481E06 7.89877E05 2.68969E05 1.64334E06 4.26302E05 4.09928E04 6.07068E05 2.25168E06 7.96883E06 3.46217E06 1.34968E05 1.62299E06 8.94869E05 5.06672E05 1.70673E06 1.07280E06 1.03346E05 4.60849E06 1.97562E06 7.04747E05 4.97251E05 9.57085E05 1.06824E06 4.44249E05 8.72159E05 8.81028E05 2.94781E05 1.37043E05 7.24690E04 8.78665E05 4.04948E05 1.44327E05 3.88432E05 7.58351E05 8.21597E05 4.83531E05 1.39161E05 2.02478E04 4.68240E03 1.68062E06 3.48647E06 1.56509E06 1.23032E06 2.23018E06 9.49795E05 7.90693E05 7.67677E05 2.89235E05 7.44768E05 6.23072E05 4.40293E05 4.94103E05 9.07212E05 2.66372E05 1.07774E05 3.57092E05 3.43101E05 3.60084E05 2.07760E05 2.52974E05 1.60892E05 2.43882E04 3.15082E05 1.18409E06 2.05129E06 7.41858E05 1.38629E05 2.71193E05 2.19949E05 3.13702E05 1.15843E06 5.88496E05 7.31345E03 3.61134E04 2.84586E05 3.99677E05 3.01483E05 8.89760E04 8.14209E05 4.60341E05 2.50172E05 9.89978E05 2.53757E05 1.78475E05 4.05494E05 1.57607E05 2.58721E05 4.08477E05 3.23851E05 2.42774E05 9.23323E04 4.11439E05 2.76129E05 1.54538E05 1.53569E05 3.55407E05 9.61219E05 4.99562E05 2.29719E05 1.45014E05 1.03198E05 1.57869E05 2.84606E05 6.09028E05 2.43638E05 1.59550E05 1.81962E05 8.93987E04 1.64882E05 4.59623E05 3.20479E05 4.27053E04 1.19408E05 5.07209E05 1.97604E05 1.48340E04 -Frame 257 2.78222E05 1.99584E05 1.13714E05 1.36586E06 5.03149E06 2.19039E06 1.43310E05 6.27742E06 2.39229E07 1.15694E07 3.42271E05 1.19007E07 5.83880E07 3.67587E07 2.36466E06 6.41862E06 3.94267E07 2.42543E07 1.53939E06 4.70998E05 3.98255E06 2.52856E06 2.42404E05 8.60126E05 7.35654E06 4.68849E06 3.94523E05 3.10396E05 3.90371E06 2.56642E06 4.44198E05 5.88465E04 7.67034E05 4.67613E05 1.80025E05 4.25328E04 6.22650E05 8.66657E05 2.02966E05 8.77920E03 5.22715E04 2.94823E05 2.29048E05 2.12274E04 2.15880E06 3.19846E06 6.36419E05 1.47199E04 2.22655E06 3.31567E06 1.10851E06 2.11212E06 2.13966E07 1.90079E07 4.36994E06 5.08622E06 6.75243E07 5.24067E07 1.83475E07 2.62088E06 1.15450E07 1.39418E07 5.76329E06 5.30456E05 6.44845E06 1.03500E07 2.09679E06 1.57241E05 1.89537E06 2.03187E06 7.73884E05 1.36006E05 5.17422E06 1.08216E07 3.86203E06 4.97454E05 1.11333E07 1.33989E07 4.66452E06 2.11945E06 1.50490E07 2.18541E07 2.84619E06 1.17302E07 3.29000E07 2.89725E07 1.50657E07 3.32427E06 3.25550E06 3.58141E06 9.54304E04 1.89107E05 1.85868E06 3.39830E06 2.34574E06 3.15256E05 4.50603E05 1.08483E06 6.52587E04 5.70532E05 7.08059E05 1.01413E06 1.41906E06 3.16999E05 1.12990E06 4.70555E06 1.29639E06 6.24202E05 8.28790E05 3.30288E05 7.53608E05 8.95209E04 3.48623E06 8.86624E06 5.34622E06 2.37712E06 2.01073E06 5.12503E06 8.80663E06 6.38657E06 2.58428E06 9.19751E05 8.10743E05 4.54950E05 4.74181E04 3.05290E05 3.76830E05 1.06527E05 4.42943E04 9.23562E04 1.45743E05 4.37408E05 6.59523E05 5.47973E05 2.50337E05 1.10889E04 1.73266E05 1.74279E05 1.17164E05 1.20524E05 1.97778E05 5.18532E05 8.20125E05 5.29859E04 7.12739E05 2.30426E06 2.30585E06 1.00006E06 7.22306E05 2.36899E06 3.34334E06 9.71790E05 7.56317E05 6.28773E05 7.01324E05 5.85430E05 5.35031E05 7.33618E05 8.22763E05 2.54866E05 7.46049E03 5.72330E04 3.14106E05 2.51275E05 7.68714E04 6.22009E04 7.61518E03 7.79795E03 1.23853E05 3.50747E05 3.55618E05 2.33434E05 1.55028E05 1.10570E05 3.53226E04 5.69875E04 1.22610E05 1.01987E05 3.15155E05 3.86697E05 3.14417E05 5.01472E05 3.50139E05 2.66615E05 6.59969E05 7.52792E05 7.80450E05 1.25630E06 7.17529E05 1.38483E05 6.76281E04 2.54002E04 1.03810E04 1.67816E05 3.54181E05 4.51919E05 6.62470E05 2.42276E05 1.04037E04 8.05965E02 1.03131E05 3.04176E05 2.51397E05 7.91813E05 7.83867E05 8.63596E04 4.35430E05 1.59224E05 2.09929E05 3.82413E05 2.44790E05 1.01811E05 1.86525E05 2.08750E04 4.94296E04 1.03712E05 1.09474E05 5.31480E04 3.67441E04 1.38842E05 2.07282E05 1.07047E05 3.60862E04 3.50965E04 1.21241E05 3.32400E04 2.29084E05 2.39139E05 2.72291E03 4.71953E05 9.52115E05 7.17236E05 1.08103E05 1.86295E04 1.55727E04 1.26191E05 1.95865E05 1.39495E03 1.82886E05 9.29774E04 3.02226E04 3.32660E04 6.12625E04 2.83245E05 1.04514E05 5.00801E04 3.30486E04 1.98385E05 3.59577E05 2.15036E05 1.28327E05 1.03516E05 6.77833E05 1.33623E06 7.02901E05 6.20081E04 9.57410E03 -Frame 257 3.71939E06 1.99144E06 7.54508E05 2.23530E06 5.79263E06 2.09596E06 3.25591E05 7.88070E06 2.48939E07 1.00087E07 6.46951E05 1.66757E07 6.40298E07 2.89748E07 4.19020E05 1.74802E07 6.32221E07 3.06300E07 1.56603E06 1.24380E06 4.61074E06 2.48629E06 1.33849E05 2.54242E06 1.00836E07 5.81482E06 6.66780E05 1.66201E06 6.36852E06 3.11012E06 2.81890E05 2.28212E05 1.34695E06 6.69600E05 1.39111E05 5.58407E05 1.84752E06 1.06188E06 1.04081E05 6.88175E04 1.67815E05 1.06443E05 3.79865E04 1.54805E06 5.94558E06 3.97604E06 9.75992E05 1.11410E06 4.98046E06 3.14085E06 1.24523E06 1.10234E07 5.26946E07 3.18073E07 2.30762E07 9.15670E07 2.73292E08 1.72817E08 3.86960E07 1.66929E06 1.80120E07 2.07471E07 7.79983E06 5.52804E06 2.39393E07 2.14292E07 5.28039E06 1.30341E06 4.03906E06 2.66169E06 6.04410E05 5.49934E06 1.16063E07 4.73666E06 4.50218E06 8.36265E05 1.13757E07 1.57212E07 8.85441E06 5.58018E06 4.28178E07 5.41907E07 2.99377E07 4.69823E06 9.28714E06 1.84461E07 4.57014E06 1.02247E06 3.16869E06 5.06336E06 3.35693E06 1.33034E06 8.18650E02 5.78527E05 1.55405E05 5.24777E04 1.31108E06 2.82134E06 2.95257E06 2.27482E06 5.13564E05 2.61765E05 5.46916E05 6.13333E05 5.56055E06 9.16399E06 3.85956E06 1.71735E06 7.79695E05 1.03574E06 5.19298E05 1.59567E06 8.10269E06 6.66047E06 8.97379E05 2.70911E05 3.53660E05 1.02831E06 1.84050E05 8.20203E04 2.10642E05 9.76158E04 3.61459E04 4.09825E03 7.06026E03 2.01411E04 2.36098E04 1.45787E04 1.58337E04 2.34289E04 7.20665E04 1.72039E05 5.16664E04 6.31644E04 2.10827E04 7.31055E04 5.54706E04 1.71659E04 5.01505E04 1.10400E05 1.04525E05 7.43763E04 1.09957E05 3.33362E05 2.76179E04 3.76682E05 6.19838E05 1.83801E05 9.82599E04 3.92675E05 6.01780E05 3.62482E05 1.66910E05 1.21946E05 1.15145E05 3.92537E04 5.66421E04 5.85965E04 1.38366E05 3.67887E04 3.04054E03 6.48203E01 7.51543E04 7.59516E04 6.90298E04 1.56735E05 2.09965E05 1.70353E05 5.53334E04 1.56977E04 3.80070E04 6.62204E03 8.24021E03 1.83141E04 2.96784E04 4.06480E04 7.77121E04 5.36043E04 4.01771E05 3.02381E05 5.53455E04 8.56219E03 3.20558E03 4.04401E04 1.92965E05 3.26968E05 2.63890E05 7.16517E05 6.29922E05 2.27518E04 3.66453E05 1.87603E05 2.14119E04 3.59533E04 1.80279E03 1.28469E05 1.65017E04 1.34464E05 1.25178E05 1.58877E05 3.90289E05 3.90674E05 2.33822E05 2.80576E05 2.62226E05 4.20789E05 4.84081E05 2.27887E05 1.54766E05 3.16390E05 5.24442E05 3.17049E05 1.11072E05 2.33676E04 1.13094E05 4.36296E04 1.02751E05 1.15832E05 2.25328E05 3.34327E05 1.11556E05 9.33288E03 2.39382E04 2.10513E05 1.99835E05 2.11798E04 2.37406E04 1.74308E04 9.48842E04 9.37788E04 1.85468E04 1.18421E05 6.93698E04 1.37113E04 1.94753E04 3.00559E04 1.07978E05 2.26175E05 1.19179E05 1.25372E05 7.83071E04 1.45585E05 1.99775E04 1.37877E05 2.81090E05 9.29386E04 9.30915E03 4.38042E04 7.29651E04 4.56872E04 1.60327E04 1.03648E05 4.77130E05 3.06619E05 1.43214E05 2.18346E05 8.90823E04 -Frame 257 1.58449E06 6.49241E05 6.58653E04 1.80876E06 5.24240E06 1.91486E06 2.33035E05 9.06791E06 2.45507E07 7.39104E06 1.19836E06 2.32105E07 5.79391E07 1.71945E07 1.74325E06 3.33074E07 7.60310E07 2.17437E07 7.15497E05 2.19888E06 5.88326E06 1.53364E06 3.90764E05 5.25512E06 1.13093E07 3.09312E06 2.48992E05 3.57139E06 7.91863E06 1.82185E06 1.65275E05 6.55982E05 1.54663E06 4.58609E05 1.04860E05 1.66309E06 2.41674E06 4.94019E05 4.66382E02 1.18676E05 2.28183E05 4.04772E04 3.45645E05 4.19832E06 6.83379E06 1.07539E06 4.83358E05 5.77143E06 8.43625E06 3.84550E06 1.84461E07 9.09286E07 7.72906E07 1.31004E07 7.09381E07 3.69693E08 3.00610E08 3.36955E07 2.08146E06 1.46916E07 1.37464E07 3.62739E06 6.90649E06 3.56801E07 4.26442E07 5.85324E06 3.33598E05 3.49523E06 4.76636E06 5.54140E06 6.66954E06 2.46280E07 2.27693E07 5.92846E06 2.40272E06 7.22501E06 2.64515E06 6.08276E04 4.54534E06 1.53019E07 8.05586E06 3.28641E06 4.41823E04 6.92311E06 1.18780E07 7.82257E06 2.74544E06 3.22397E06 2.92334E06 8.25683E05 2.66407E05 1.36589E06 2.17390E06 1.35240E06 8.51057E05 1.48018E06 9.58772E05 7.81277E05 7.59759E05 3.12736E06 4.75158E06 2.98979E06 4.83828E06 1.01127E07 8.44091E06 6.37893E06 2.58713E06 3.32463E06 2.43314E06 7.85310E04 8.75543E05 3.25193E06 3.52316E06 2.22804E06 3.57216E05 7.42975E04 5.23219E05 1.93434E05 4.45151E03 8.68182E04 6.82584E04 1.19153E04 6.17886E03 1.96132E04 3.00087E02 3.81464E03 2.51410E04 2.42665E04 4.94641E03 8.24337E03 1.30181E04 1.73356E05 1.47861E05 1.57850E04 1.19436E05 2.28205E05 8.35609E04 1.81904E04 6.39445E04 2.50077E05 8.91144E04 3.67896E04 2.82622E05 3.44133E05 2.59887E04 4.66235E04 1.55472E05 6.54579E04 8.66842E02 4.93167E04 2.42239E04 1.20469E04 2.42936E03 5.12609E03 2.68516E04 3.21117E03 5.43279E04 9.81245E04 7.82773E04 7.32350E03 6.69177E03 2.75468E04 6.01285E04 7.00267E04 1.10729E04 2.49133E03 2.37474E04 6.56336E04 1.14384E05 2.15470E04 2.96033E03 1.09996E04 1.97213E03 6.84548E04 6.57574E04 3.32058E04 4.65073E04 6.29009E04 2.79249E05 2.43123E05 1.19869E04 3.30744E03 4.65813E03 4.62210E04 6.32405E04 4.25349E05 9.48967E05 1.57287E06 1.00027E06 1.46103E05 8.78737E04 2.05357E05 2.87097E04 5.40223E04 2.35233E05 2.93615E05 7.34103E04 9.38725E04 1.17980E05 1.14031E05 1.39257E05 1.76463E04 2.53124E04 1.18120E05 5.87915E04 2.27872E03 1.50668E05 1.24669E05 3.28719E04 9.37812E04 1.47769E05 1.00647E05 7.57206E03 9.72376E04 5.46210E04 2.36633E04 7.39650E04 5.98764E04 5.43804E04 1.65389E05 2.74037E04 2.19131E04 1.22877E05 1.25226E05 7.15227E04 7.69691E03 2.38287E03 1.45373E04 2.23388E04 3.98572E04 5.59533E04 5.45241E03 3.14287E03 8.94201E03 2.59570E03 5.84954E04 2.55404E05 3.87531E05 2.70416E05 1.94116E05 2.77896E05 2.49947E05 1.10251E04 3.22345E05 4.43820E05 8.70857E04 1.87866E04 6.43002E04 6.87913E04 9.93766E04 1.05729E05 5.95836E04 3.63413E05 6.73290E05 5.09724E05 2.04944E05 3.82504E04 -Frame 257 3.16910E04 1.80292E05 1.60509E05 2.26915E06 5.45215E06 1.62157E06 2.22167E05 1.09575E07 2.25194E07 5.12602E06 1.68630E06 2.98722E07 5.18579E07 1.05318E07 4.18010E06 4.71577E07 6.54408E07 1.04776E07 5.58200E05 4.73229E06 5.61441E06 8.58562E05 7.86378E05 6.56406E06 6.81812E06 4.12284E05 1.90968E06 8.36435E06 7.09525E06 4.29934E05 1.64823E05 8.85436E05 1.00056E06 5.94987E04 9.04863E05 2.87715E06 1.99013E06 3.28966E04 3.78047E05 6.96024E05 4.57857E05 2.84155E04 2.04285E06 7.44192E06 2.52130E06 2.04818E06 1.94473E07 2.93684E07 4.85348E06 9.38981E06 7.24099E07 1.04471E08 3.68859E07 6.79407E07 2.37259E08 2.72841E08 3.72938E07 1.48476E07 1.19257E07 1.72891E07 6.88256E06 7.61525E06 3.82465E07 4.30564E07 2.14804E06 1.32185E07 1.56391E07 1.35311E07 5.27362E06 8.06624E06 1.83718E07 1.00818E07 8.82507E06 1.78595E07 1.43357E07 8.80635E06 9.31026E05 5.99999E04 1.44231E06 1.54275E06 7.36780E05 1.74227E06 3.12920E06 8.23060E05 4.21198E05 7.20072E05 1.30556E05 8.74493E05 7.65728E05 7.29755E05 8.87255E05 1.88071E05 7.07210E05 5.34234E05 4.59067E05 7.42789E05 7.67012E05 7.54364E05 5.66449E05 6.99805E05 4.27956E06 3.09433E06 6.87112E06 3.55330E06 1.85055E05 2.41751E05 9.56878E05 1.56153E06 1.70557E06 2.76771E05 2.49599E05 2.04584E05 6.67164E03 1.94567E04 3.87521E03 1.00908E05 2.26286E05 3.79266E04 1.58357E04 1.14708E04 1.69563E03 1.48228E04 4.59394E03 1.51278E03 4.73395E03 1.30387E04 6.18819E04 8.61425E04 3.26079E04 2.07271E04 7.61945E04 8.06074E04 6.55947E03 6.33099E04 1.50106E05 1.20350E05 5.43803E04 6.60003E03 2.45855E05 3.51558E05 2.74586E04 2.83506E05 6.72885E05 4.41933E05 4.31763E04 4.63676E04 5.35591E04 2.08665E04 4.20174E04 6.95526E04 5.44924E04 4.10122E04 1.97721E04 5.03857E04 3.84410E04 2.55699E04 6.38183E03 1.76189E04 6.04662E03 7.11850E03 4.56053E03 3.55698E03 1.54389E04 7.21427E04 3.67046E04 2.30950E04 2.43309E04 1.07825E04 2.02459E04 1.02785E04 1.07464E04 5.52017E03 1.87867E04 3.73575E04 9.27554E03 9.37591E04 5.37862E04 1.17675E04 1.59740E05 1.63479E05 2.71102E02 1.04262E05 1.17843E05 3.59775E03 5.62993E04 9.66537E04 7.52822E05 8.20913E05 1.59040E05 5.60218E04 5.24439E01 7.06237E04 1.68880E05 2.07218E05 5.51510E04 9.99782E04 1.61986E05 1.48599E05 2.43371E05 3.07300E05 1.11183E05 4.22520E04 1.03906E05 9.33218E04 1.47484E04 7.88950E04 1.99312E05 1.29490E05 7.24911E04 3.07215E04 3.13527E04 9.60889E02 8.11446E04 1.18517E05 2.69292E04 2.39699E04 8.64765E04 7.92945E04 1.12977E03 1.10590E05 1.40198E05 2.72714E04 7.07965E04 3.72668E04 4.52775E03 1.75570E02 3.98642E04 6.59580E04 4.59720E04 5.62975E04 1.96528E05 1.51579E05 6.40203E04 7.48246E04 6.68323E04 6.94483E04 2.20091E05 5.41298E04 1.62762E05 8.85515E04 3.59055E04 1.04756E05 2.60397E05 2.50789E05 1.71938E05 2.83060E04 7.02378E04 1.19822E05 4.41926E03 5.38837E04 3.28329E04 1.22656E04 3.26346E04 9.99498E04 4.18060E04 4.65139E04 2.41132E03 -Frame 257 1.80934E05 5.46611E04 4.92749E04 2.32480E06 4.92779E06 1.53620E06 4.02045E05 1.20431E07 2.00502E07 4.62645E06 2.00506E06 3.27029E07 4.14579E07 5.48569E06 6.05442E06 5.19205E07 5.02286E07 4.97990E06 5.51444E05 5.10971E06 4.08093E06 1.01087E05 1.25170E06 7.29954E06 4.88624E06 2.46300E05 2.06377E06 1.03008E07 4.70658E06 8.13862E04 4.85807E05 1.81522E06 7.50604E05 6.37053E04 1.42661E06 3.77821E06 1.18711E06 1.08780E05 8.85720E05 1.65091E06 4.55568E05 9.89735E05 7.72188E06 1.53599E07 4.81641E06 2.15561E07 8.27796E07 4.46678E07 1.01614E07 4.78345E07 9.16139E07 4.10663E07 3.59892E06 1.81469E07 1.22525E08 7.68291E07 5.05802E06 1.11540E07 2.65428E07 9.50234E06 8.07631E05 1.57774E07 5.01186E07 2.36559E07 2.27234E06 1.90568E07 2.81373E07 2.90729E06 1.31939E06 2.67336E06 4.56843E06 1.93982E06 2.53123E05 4.35592E06 7.32681E06 1.50847E06 1.11202E06 1.09466E06 1.09312E06 3.28206E05 3.16216E03 8.02940E05 1.60898E06 1.83426E05 2.14150E05 1.07533E06 8.21819E05 8.93481E04 1.72411E05 9.80296E05 1.15303E06 5.93872E04 9.88569E04 3.33639E05 6.11148E03 6.06990E04 6.42608E03 6.81617E04 1.54797E05 4.74518E05 1.68708E06 3.91666E06 2.10749E06 6.33906E05 5.14748E05 3.64775E05 9.78712E04 4.08032E04 9.97591E04 3.21521E05 6.04385E04 2.01641E04 2.77313E04 2.36709E04 3.18764E04 1.72278E04 2.26077E04 7.26650E04 4.83623E03 2.19415E03 1.65790E04 2.58916E04 1.82288E03 2.25992E03 8.17628E03 1.72144E04 2.72638E04 4.62884E03 5.05809E04 2.40618E04 5.61571E03 7.77066E03 2.36010E04 1.23187E04 1.98609E04 2.18675E04 1.16243E04 6.09044E04 4.09929E04 3.50829E05 3.45743E05 1.65425E05 3.51439E04 5.12826E04 8.24693E04 1.50341E04 9.37710E02 4.42142E04 6.28153E04 1.60082E04 1.45724E04 4.83778E03 2.69232E04 4.42826E04 3.09586E04 4.11651E04 2.68666E04 1.21777E04 1.19209E04 7.51233E04 4.90063E04 3.28238E04 2.44257E04 4.41363E04 2.66114E04 3.72063E03 7.07709E03 8.00674E03 1.88136E04 1.04740E04 3.76488E03 6.10711E03 7.82678E03 1.79563E04 3.40706E04 1.20094E05 9.58004E04 1.19527E05 1.26179E05 1.21451E05 1.50788E05 3.95373E05 3.49998E05 1.23873E05 1.54906E04 8.58047E04 2.70274E05 4.96769E04 3.49417E04 1.19140E05 1.91925E05 4.97215E04 6.94795E04 1.35330E05 2.35126E04 1.44486E04 5.87184E04 5.04786E04 6.20413E04 5.31399E04 7.12349E03 3.42279E04 5.76322E04 3.18033E04 8.12936E03 9.72650E03 4.95042E04 5.77011E04 1.23190E03 6.25265E04 6.35101E04 3.51892E04 1.27610E05 7.45754E04 9.16577E03 1.23672E04 1.65397E04 5.36776E04 1.20315E05 4.43254E04 7.10995E04 8.24215E04 3.63819E04 3.10195E04 1.51917E05 1.04895E05 3.12145E03 1.34099E05 4.25413E05 3.73848E05 2.78350E05 1.02634E05 3.48255E04 2.11961E04 8.14881E04 1.42604E05 2.56871E05 1.99139E05 1.83030E05 5.27115E04 2.29387E04 1.76673E04 6.72879E03 1.15790E03 7.63991E03 5.69626E04 3.74062E04 4.21553E04 5.43544E04 4.55926E04 3.71356E04 2.33003E04 2.84918E03 1.29827E04 1.77597E04 2.59127E04 1.05691E02 -Frame 257 4.23687E05 2.36182E05 3.00414E04 1.80755E06 4.38590E06 1.14694E06 8.83524E05 1.22894E07 1.66842E07 3.02864E06 3.34225E06 3.24661E07 3.12793E07 2.59988E06 9.13484E06 4.74541E07 3.21806E07 1.93754E06 1.18375E06 4.98361E06 2.29320E06 9.16339E04 2.48507E06 6.15552E06 2.47500E06 3.32475E05 5.62513E06 9.70121E06 2.72306E06 1.64973E05 1.06156E06 1.63367E06 2.13195E05 3.61233E05 3.57758E06 3.53685E06 3.75355E05 6.76780E05 2.41115E06 1.66504E06 6.04292E05 9.57252E06 2.45668E07 1.07440E07 2.63330E07 1.45915E08 1.34314E08 2.58882E07 2.80701E06 1.58522E07 2.36178E07 3.58191E06 5.02986E06 4.05184E07 4.45975E07 1.36827E07 7.48111E05 1.40414E07 1.00656E07 1.24745E06 9.14964E06 4.29966E07 2.90639E07 1.47941E06 1.06546E07 2.06378E07 9.16779E06 2.62819E06 2.79343E06 4.00051E06 1.47915E06 1.39780E05 1.64196E06 2.15446E06 7.84344E05 2.41510E04 3.70676E05 4.00586E05 1.36899E05 4.78239E05 1.66276E06 1.32162E06 2.85737E05 1.74995E05 7.47078E05 2.86384E05 3.43411E04 1.24748E06 2.52321E06 1.02494E06 5.62602E04 8.49229E05 4.44928E05 4.03335E04 1.60166E04 2.72530E04 7.16986E03 1.06377E04 1.38794E04 3.47669E04 4.46871E04 2.88337E04 1.24242E05 1.30477E05 1.22279E05 1.16272E05 5.18621E04 2.02713E04 1.64318E04 3.36282E04 2.43034E04 2.16188E04 9.75684E03 3.13340E03 2.20814E03 1.46457E04 2.52170E04 1.54567E04 1.71909E03 4.45191E03 1.49514E04 2.24396E03 1.37562E03 2.79556E03 1.59968E03 3.45849E03 6.34232E03 3.71505E03 2.94541E04 3.10115E04 2.22787E04 2.42885E04 3.36147E04 3.98708E04 5.22254E04 2.05504E04 8.86371E03 2.30753E04 4.05047E04 7.22553E04 1.07753E05 6.70570E04 2.61279E04 1.48756E04 4.52171E03 2.85556E03 2.07939E03 3.88283E04 8.75845E04 4.75350E04 7.90910E03 4.82611E03 4.65164E03 5.05178E04 4.20215E04 1.42357E04 5.94529E04 3.75929E04 7.52771E03 1.31402E04 3.88522E04 1.68929E04 1.11311E04 6.54206E03 1.44165E04 1.04877E04 9.69198E03 8.70818E03 1.61957E04 1.49973E04 7.80001E03 1.05540E04 1.12356E04 4.73148E02 6.83150E03 5.43024E04 1.16169E04 1.11267E04 1.38043E03 3.21232E04 7.72242E04 9.69887E04 5.19951E04 1.79367E04 1.17589E05 1.18302E05 3.05776E04 1.08118E05 1.43075E05 8.87558E04 3.01937E04 3.04346E04 3.76521E04 1.12610E04 1.62123E04 5.78239E04 3.40731E04 8.35638E03 6.25318E04 9.79790E04 6.47260E04 4.56653E04 7.46485E04 6.40932E04 2.44676E04 1.46707E04 1.41955E04 9.21574E03 1.11826E04 7.01292E04 9.51740E04 6.21608E04 5.35777E04 2.32877E04 4.05725E03 6.96703E03 2.64613E04 1.56986E04 4.97516E03 4.44293E04 2.44135E04 2.29551E03 4.27033E03 8.30770E04 1.49389E05 1.10129E05 1.39155E05 1.03690E05 1.64749E04 6.35517E03 3.43592E03 8.45846E03 1.12724E04 1.05066E04 4.05367E03 7.74852E04 2.99899E04 5.03086E03 8.23756E03 1.74765E04 1.38761E04 9.56686E03 5.30005E03 2.94214E03 2.75015E04 6.74981E04 3.19920E04 5.71207E03 1.78583E03 1.22763E03 9.35814E03 3.62725E04 3.23915E04 2.33751E04 1.76340E04 5.06942E04 4.43743E04 -Frame 257 3.84665E05 1.03776E05 9.49065E04 1.82897E06 3.22452E06 6.60709E05 1.03199E06 1.06074E07 1.37007E07 1.85388E06 4.27768E06 2.81362E07 2.01400E07 4.56787E05 1.09593E07 3.95641E07 1.90558E07 9.14116E05 1.36613E06 4.07081E06 1.37055E06 2.46301E05 2.73337E06 5.29208E06 9.55521E05 3.14357E05 5.46626E06 7.19245E06 8.54037E05 1.43919E05 1.37579E06 1.14262E06 1.80766E05 1.37534E06 5.50865E06 2.79756E06 1.43816E05 1.00223E06 3.00341E06 1.22120E06 5.20604E06 3.03427E07 1.84115E07 1.81934E06 2.96218E07 8.04785E07 4.99397E07 2.36200E06 2.32922E06 6.43586E06 3.49552E06 3.04297E05 3.42850E06 1.73400E07 4.75617E06 3.18470E05 3.61125E06 1.05839E07 3.82007E06 3.15761E06 2.45290E07 2.18874E07 6.08365E05 4.73746E06 9.63673E06 6.35979E06 4.38207E05 8.62755E05 1.82174E06 9.01743E05 1.14751E05 1.37143E05 1.59848E06 1.15735E06 1.65802E05 2.71809E05 1.80977E05 7.04571E04 1.58492E04 4.84209E05 9.79328E05 8.24540E04 8.18931E03 3.93019E05 1.10333E06 5.13605E05 5.46820E05 1.10348E06 2.40938E05 4.85748E05 4.09014E05 5.72672E05 2.83085E05 3.03167E04 4.38196E03 5.48008E03 3.85751E03 1.03975E02 3.34684E03 5.42120E03 1.13972E02 6.49058E03 1.04819E04 9.24099E02 8.57037E02 5.42642E03 1.50487E04 4.55510E03 3.03605E02 3.83272E03 1.23141E04 1.33465E04 1.09554E04 9.33330E03 3.07666E03 2.20377E03 2.60600E03 2.57017E03 5.02374E03 2.16486E03 1.62565E04 1.82141E04 8.05884E03 2.70488E03 4.94262E03 3.33913E03 9.01520E03 1.97421E04 2.46119E04 8.79890E03 7.78028E03 8.56114E03 5.20869E02 5.16427E03 2.95322E04 1.20915E04 6.27659E03 2.51839E04 2.14281E04 3.08174E04 3.09576E04 2.96989E04 2.47213E04 1.29498E04 7.49511E03 1.83008E03 1.14056E03 1.63818E03 2.49637E04 2.00549E04 3.09380E03 1.61925E04 1.85613E04 8.91038E03 4.21586E04 3.88803E04 1.66891E04 2.59412E03 2.40728E03 3.64652E03 1.51176E04 1.67150E04 1.03463E03 1.36889E04 6.87100E03 4.91256E03 1.98010E04 1.11333E04 2.19259E04 5.37425E04 3.20524E04 2.59293E03 4.59884E04 5.31822E04 8.00229E04 6.01510E04 1.48013E04 1.43405E04 2.52250E04 3.51174E04 2.41470E03 3.90156E03 3.50695E04 1.13050E05 4.81971E04 5.51886E03 1.08071E05 1.82536E05 8.61148E04 4.09224E04 9.22799E04 5.90952E04 7.57764E03 1.81000E03 9.33904E03 2.74829E04 7.69587E03 7.25855E03 2.95402E04 2.65470E04 1.82780E03 8.60575E03 2.84800E04 4.17776E04 5.88629E04 4.88979E04 2.60259E04 3.65725E03 4.84329E03 7.40392E03 1.91084E04 1.38982E04 6.03642E03 1.68504E04 4.90146E03 1.33081E02 1.15342E04 3.26644E04 3.67669E04 4.18285E04 1.22504E04 1.26526E03 9.27855E03 1.14023E04 3.71461E04 2.36669E04 1.32292E04 3.92564E02 2.89495E04 2.84496E04 3.17060E04 1.73240E04 2.60666E03 1.09069E03 1.46974E04 1.82687E04 3.39895E04 3.30156E04 2.96987E04 1.12008E04 1.47505E03 9.76116E03 5.27382E03 1.27649E04 3.23902E04 3.34170E04 2.98316E04 2.61242E04 2.24454E04 3.39844E04 1.89789E04 5.13955E03 3.65747E03 6.36818E04 9.31278E04 3.13715E04 8.98459E03 -Frame 257 1.83418E05 1.62470E05 7.22693E04 1.27510E06 2.42165E06 4.01239E05 9.68032E05 9.56106E06 1.07834E07 1.53386E06 4.23773E06 2.29951E07 1.49759E07 1.55681E06 7.51919E06 2.89888E07 1.17639E07 5.32171E05 1.30605E06 2.63346E06 6.01361E05 2.01994E05 2.67700E06 3.90998E06 5.85058E05 1.12193E06 6.48339E06 6.24607E06 1.02721E06 7.30407E05 1.67586E06 4.87232E05 3.55388E05 2.71030E06 6.36598E06 2.11569E06 1.24976E06 3.53791E06 3.18783E06 1.99458E06 1.54188E07 5.48682E07 3.73771E07 6.46037E06 3.46561E06 1.47165E07 1.15349E07 2.82969E06 9.80746E05 4.37498E06 1.33194E06 1.50739E05 3.02746E06 7.48921E06 4.35418E06 4.36439E06 7.32587E06 3.74282E06 8.52053E05 2.35086E06 2.10000E07 1.76222E07 4.35308E06 9.23413E05 1.34887E06 9.12876E05 8.45817E05 2.75419E04 7.21416E05 5.61920E05 2.22475E05 6.02040E05 8.57380E05 7.38407E05 5.85315E05 8.80351E04 5.31465E04 1.09515E03 6.02478E04 3.92964E05 3.60435E05 3.35353E05 4.80961E05 5.05350E05 2.09534E05 7.14095E04 4.50271E05 1.05636E06 4.63432E05 2.29166E05 1.68010E05 1.10101E05 4.38710E04 2.42010E04 8.92408E02 3.09745E02 8.46971E02 3.35892E03 2.86484E03 1.03575E02 3.44374E03 1.92667E03 1.42104E03 7.94396E03 1.34973E04 1.02487E04 1.13934E04 6.71438E03 2.72255E03 2.33471E03 5.18455E03 1.90365E04 1.90982E04 1.00726E04 5.20597E03 2.11340E03 2.42648E03 1.26878E03 2.80373E03 2.65965E03 1.57116E03 1.46620E04 7.90793E03 3.94932E00 2.73614E03 1.08409E04 1.25944E04 4.85619E03 9.77532E03 7.96404E02 6.18336E03 1.25120E03 6.86809E03 1.24925E04 1.11312E04 8.48200E03 1.26690E04 3.78075E04 4.14222E04 6.65969E03 8.17806E03 6.36252E03 1.32375E03 7.71416E02 2.79065E03 3.54846E03 9.30548E02 7.91426E03 2.50696E04 4.36947E04 2.21988E04 5.29262E03 2.43977E04 2.89160E04 8.44491E03 6.94017E02 3.73276E03 3.40360E03 9.26576E03 8.69747E03 1.53976E04 6.32758E03 2.36980E03 2.47448E02 7.92378E03 1.54486E04 4.94712E03 1.05535E02 8.96181E03 2.06671E04 1.57427E04 3.21846E04 4.88744E04 9.59265E03 3.46900E04 4.12430E04 2.53872E04 2.28978E04 2.83142E04 3.58892E04 3.54694E04 2.68199E04 2.05081E04 2.31445E04 3.13239E03 1.31251E04 5.75678E04 1.26057E05 6.76637E04 4.83024E04 1.03147E05 1.12767E05 6.26954E04 3.03711E04 2.81192E04 1.38253E04 4.69653E03 9.82184E02 3.66521E03 5.70034E03 3.22042E02 8.03890E03 1.79050E04 1.00517E04 1.35900E04 2.67367E04 8.77664E03 1.35370E03 4.36612E03 1.65071E04 2.48774E04 1.05087E04 7.60788E01 8.56815E03 1.05730E04 1.45048E03 9.65080E02 6.37760E03 4.47022E03 2.66124E04 1.85426E04 1.05053E04 3.17702E03 4.33967E03 1.58425E04 2.55430E04 1.08546E04 7.30812E03 3.85914E04 1.55659E04 8.04311E01 3.88511E03 2.27052E03 8.51209E03 1.45959E04 8.21348E03 1.55432E04 1.24776E04 2.26586E03 1.93268E04 2.66731E04 3.20397E04 1.77190E04 5.75531E03 2.94391E03 7.48715E02 8.72155E02 1.31981E04 3.37204E04 9.10217E03 1.22026E04 1.43754E04 1.79299E04 1.87568E04 9.97837E03 2.12244E03 3.14254E02 -Frame 257 7.57159E03 2.00270E04 4.36437E04 1.43022E06 2.05631E06 3.28339E05 9.66632E05 8.39289E06 6.99882E06 6.98376E05 5.28294E06 1.83043E07 7.32216E06 1.11608E06 1.21234E07 2.62682E07 6.10256E06 1.73432E05 1.61562E06 1.70483E06 2.11449E05 8.24954E05 4.05070E06 2.16802E06 7.35443E04 2.24151E06 6.41522E06 2.04270E06 2.46278E05 1.00041E06 1.28474E06 1.20641E05 1.21544E06 7.19885E06 5.27380E06 1.15404E05 2.12712E06 6.00827E06 3.14598E06 4.01706E06 2.34263E07 2.66606E07 4.84736E06 1.55478E06 2.95678E06 3.60716E06 5.95333E05 7.40109E05 3.94787E06 2.26208E06 1.80465E05 2.27909E06 3.99372E06 6.17000E05 8.48328E05 4.43635E06 6.56945E06 3.10923E06 8.68175E06 2.08667E07 1.04306E07 1.08003E06 1.45882E05 8.62898E05 6.63613E05 7.61621E04 2.15945E05 3.95866E05 9.85276E04 8.50117E04 1.80226E05 1.39286E05 3.21540E04 8.92740E04 2.53272E05 1.65860E05 8.76563E04 1.96396E05 2.68661E05 4.89573E04 3.88275E04 1.53462E05 1.82702E05 1.48872E05 4.34849E05 8.69210E05 9.39223E05 4.43017E05 1.12201E05 8.05688E04 4.16256E04 2.02146E04 1.91717E04 1.05432E04 1.61408E03 6.63354E03 1.00067E04 4.45081E03 3.66670E03 9.12476E03 6.03946E03 3.54767E03 5.07297E03 4.59151E02 8.61788E03 5.78847E03 4.71697E03 1.44511E03 5.19073E02 1.49558E01 4.22823E02 5.76721E03 1.06192E04 7.03402E03 7.78132E03 2.46530E03 1.88076E03 3.17534E03 3.44090E03 5.68977E03 3.63300E03 7.61251E02 6.61924E03 6.31239E03 4.02481E03 9.61839E02 1.12245E04 4.18731E04 3.27830E04 1.13298E04 3.08525E03 4.14104E03 1.10746E04 9.63735E03 2.18391E03 1.73160E03 2.45771E03 1.68221E03 3.26541E03 1.09055E04 8.97389E03 3.52592E03 1.35497E02 1.54226E02 1.47682E04 3.46563E04 4.09310E04 2.45912E04 2.91408E04 1.97818E04 2.69606E03 1.28299E04 2.47246E04 1.33301E04 1.54552E04 3.88386E03 1.75846E04 2.04406E04 1.71257E04 1.04223E04 3.07834E04 1.78012E04 2.45936E03 4.65301E02 1.37026E03 5.01887E03 1.47192E03 5.47439E03 7.92824E03 1.38064E03 1.79054E03 2.88183E02 1.47532E04 2.59720E04 1.24742E04 3.02602E03 6.96728E03 8.66289E03 4.37972E03 1.00754E04 1.90440E04 3.72852E04 2.52466E04 1.15808E04 2.40105E03 6.74543E03 5.19255E03 2.77972E04 5.11982E04 1.47378E04 5.78506E02 5.21882E03 1.78547E04 7.59555E03 6.85613E03 4.76858E03 9.45247E03 8.95516E03 3.70031E03 1.89340E03 3.98454E02 7.07193E02 2.96680E03 4.78859E03 3.84574E03 1.30125E04 6.32347E03 5.34502E02 5.49369E02 1.66139E04 2.33910E04 9.95897E02 2.07867E03 4.64600E02 1.68150E03 1.03804E04 3.67776E03 2.23971E03 2.78113E04 8.68731E04 5.47694E04 1.67639E03 6.43771E03 1.61106E04 1.41878E04 1.82752E04 3.95028E04 4.93703E04 3.08277E04 4.18448E03 1.34609E04 7.76547E03 5.80685E03 6.58037E03 7.21578E02 3.88819E03 1.45301E04 3.09514E04 7.25515E03 8.16478E02 1.21280E03 7.33545E03 2.97969E03 5.84874E03 4.17024E03 1.45833E03 2.09095E02 8.43115E03 1.39372E03 4.29057E04 9.64731E04 6.66412E04 1.98361E04 4.34092E03 4.65311E03 2.03646E03 2.94450E02 -Frame 257 3.26674E05 1.98600E05 1.42427E05 1.45463E06 2.02897E06 2.94516E05 9.91793E05 7.48035E06 6.38651E06 2.85465E05 4.63022E06 1.61466E07 6.46137E06 6.75784E05 1.43973E07 2.74213E07 6.29696E06 3.20337E04 1.69767E06 1.43932E06 1.00209E05 1.15767E06 4.84203E06 2.34797E06 5.20159E04 2.47963E06 5.76675E06 1.73392E06 5.09166E04 9.80870E05 1.03090E06 2.13739E04 2.80552E06 1.23829E07 7.28988E06 1.41213E05 7.20425E06 8.48385E06 5.19345E05 7.06395E05 9.49834E06 1.04702E07 1.50331E06 1.04924E05 2.14267E06 1.91916E06 3.43043E05 9.43875E05 2.53416E06 5.56235E05 4.41756E05 4.21064E06 5.49298E06 1.39488E06 6.32977E05 3.75363E06 2.74558E06 2.80585E05 8.51213E06 2.35939E07 8.67785E06 6.60882E05 1.64097E05 7.01277E05 1.91435E05 8.93590E04 2.05577E05 1.01368E05 3.68864E03 7.59995E04 1.82637E05 8.49217E04 9.19216E03 5.68783E04 2.06444E05 6.91636E04 4.11128E03 1.35437E05 2.92575E05 1.37136E05 1.25840E04 7.11178E04 8.35440E04 9.43339E03 5.84684E05 1.64969E06 6.39927E05 2.39225E05 4.52793E04 2.18486E04 9.19918E03 4.25614E03 1.99117E04 2.75988E04 1.10085E04 4.00774E03 1.15703E04 9.57238E03 4.83200E03 6.45350E02 2.56720E03 7.59605E03 1.61495E04 6.57626E03 2.52185E03 6.35334E03 4.62778E02 1.87117E03 3.16176E03 5.65135E00 2.48909E03 6.91386E02 1.31326E04 1.65184E04 4.73491E03 1.84544E03 5.03714E03 1.26062E04 5.58747E03 8.78069E03 1.11935E04 1.99787E03 4.61173E02 1.86096E03 2.19477E04 2.45660E04 5.16187E03 5.06182E03 1.90833E04 6.70645E03 2.17446E02 3.26552E02 4.26688E03 4.73998E03 5.10844E03 1.72760E04 1.86666E04 9.88032E03 8.43868E03 1.57847E04 8.55464E03 6.44688E03 2.01911E04 3.65731E04 3.50712E04 2.35840E03 1.77350E04 1.37838E04 8.20531E03 1.85965E03 9.98406E03 3.25386E03 1.97548E04 4.47089E04 5.52868E04 2.56486E04 8.18020E03 2.28670E03 5.34312E03 2.82695E04 6.49224E04 6.26462E04 2.71953E04 7.91871E03 2.19377E03 3.29301E03 1.26747E04 7.04747E03 7.66321E03 8.58842E03 7.25165E03 3.97871E03 8.77495E02 1.38245E03 2.64788E02 1.97650E02 9.12319E03 4.82776E04 5.35238E04 1.97017E04 1.34679E03 2.29202E04 1.96194E04 2.86102E03 9.03995E02 2.96016E03 2.17859E04 1.45085E04 3.82818E04 2.25871E04 1.95168E03 1.21382E03 2.04109E04 2.70523E04 8.06014E03 8.00713E03 1.94931E04 1.01590E04 1.31829E03 4.58072E02 6.41976E02 1.13206E03 1.37818E03 1.62408E03 4.24676E02 9.97483E03 2.93113E04 2.34777E04 6.23101E03 7.82982E03 4.03732E04 2.19566E04 4.02397E03 4.53047E03 7.17639E03 1.04050E04 1.63672E04 1.57122E04 4.27342E04 4.80437E04 3.55369E03 1.90085E04 1.83871E04 7.10790E03 3.22482E03 1.00360E04 1.22438E02 8.53678E02 7.02632E03 1.21852E04 2.97431E03 2.31131E04 2.36107E04 3.86260E03 9.06232E02 2.29448E03 1.46656E04 1.59050E04 7.04439E03 1.29710E03 1.16846E03 3.12211E02 3.52128E03 9.00935E03 4.25115E03 1.41850E03 5.82167E03 1.97327E04 3.82609E04 2.67018E04 7.88289E03 1.19766E04 1.25243E03 8.40657E03 7.05101E03 1.32039E03 2.25545E03 -Frame 257 5.96622E05 1.41894E05 2.34889E02 1.25094E06 1.98082E06 3.19240E05 1.14586E06 7.49390E06 5.82788E06 3.33540E05 4.74682E06 1.66271E07 8.89591E06 3.77156E05 1.46239E07 2.76414E07 5.81757E06 1.89248E05 1.61688E06 1.54582E06 1.10188E05 1.37955E06 4.86809E06 2.93905E06 1.05397E05 2.81747E06 5.18855E06 1.32462E06 1.17015E05 1.47033E06 1.76121E06 5.37806E05 4.27285E06 1.80748E07 8.41802E06 9.41583E05 1.90725E07 1.96733E07 4.21901E06 1.25627E05 4.43208E06 4.65555E06 4.94251E05 7.52956E05 2.06370E06 7.79034E05 1.26035E04 4.21924E05 1.25134E06 9.34912E05 8.14980E04 1.64048E06 2.66395E06 8.46324E05 4.58676E04 2.75226E06 5.40572E06 1.92750E06 2.87847E06 1.55323E07 9.28530E06 1.42562E04 1.74203E06 1.62897E06 4.06422E05 3.32930E04 3.05862E04 1.84546E05 7.61887E04 2.88336E04 7.97028E04 5.66116E04 7.56541E03 1.05269E05 2.75378E05 2.41782E05 6.65306E03 6.81041E04 1.00072E05 3.81837E03 6.37428E04 2.27309E05 2.28544E05 5.15016E04 2.34605E05 8.43521E05 6.26842E05 1.89001E05 2.69220E05 1.53687E05 4.99318E04 5.74945E03 3.33929E03 2.72738E04 2.30663E04 8.27782E03 1.31178E04 2.49871E02 5.81094E03 9.79830E03 6.57719E03 5.18375E03 4.30185E03 6.81275E03 5.82580E03 8.45283E02 1.79551E03 3.34376E03 1.17561E04 1.79113E04 2.36357E04 4.50836E03 4.28746E03 6.69593E03 4.57280E03 3.57330E03 3.26521E03 3.76044E03 7.13158E03 2.02164E03 1.51430E04 1.73331E04 1.93748E04 1.32159E04 6.30162E03 1.03574E04 2.05686E04 5.17245E03 2.25397E04 2.67940E04 1.34663E04 4.01311E03 1.97196E03 7.44746E02 2.53069E03 2.69603E04 2.07242E04 6.08304E03 1.01460E04 3.39689E04 1.26330E04 3.29739E03 8.45216E03 1.49921E04 5.10357E03 1.06122E04 2.91355E03 1.57838E04 2.13997E04 1.95229E04 1.19810E04 5.11904E03 2.69042E04 5.37409E04 5.84464E04 2.60964E04 1.73517E04 1.24519E04 1.02310E04 4.67179E03 1.34830E04 4.81272E02 7.71650E03 5.01089E03 2.04471E03 8.12789E03 3.13993E04 2.06056E04 1.48331E04 2.49133E03 1.79481E03 7.43206E02 6.50320E02 1.27873E03 4.27173E03 4.68638E03 5.36862E03 2.71009E04 2.42236E04 4.29502E03 7.75725E03 2.62715E04 4.83326E03 6.12102E03 8.10050E03 1.06793E04 1.03941E04 4.66043E04 7.47615E04 5.62528E04 1.61510E04 1.55458E04 3.79280E04 1.05558E04 1.71280E03 2.48492E03 4.92015E03 3.31263E03 2.25910E03 1.78000E03 7.72336E02 2.87121E03 1.60371E03 5.07664E02 6.72624E02 4.00923E03 1.06188E04 1.87387E03 9.69391E03 4.43652E04 3.43593E04 9.01040E03 2.15785E02 2.76896E03 3.62721E03 4.75489E03 8.89271E02 3.82512E03 2.28136E04 5.14389E04 3.82712E04 3.94804E03 3.25566E02 9.63271E02 9.08130E03 9.42129E03 1.33763E03 1.85316E03 1.20022E03 3.16936E03 5.84383E03 6.83371E03 1.06270E04 1.02656E04 5.05568E03 6.57962E03 1.32307E04 5.96105E03 6.53792E03 6.03496E03 2.52577E03 8.66877E02 9.40428E03 1.91169E04 1.24476E04 3.75115E03 8.18101E00 4.92897E02 3.83224E03 2.77220E03 4.02706E03 5.07712E03 2.26948E02 3.09519E03 9.08464E02 7.69468E03 9.03126E03 -Frame 257 1.90077E04 9.03604E04 1.66916E05 1.46426E06 2.32434E06 4.22081E05 1.28774E06 8.62775E06 6.31757E06 4.63446E05 5.27242E06 1.87111E07 8.81061E06 1.76539E05 1.85995E07 3.48353E07 8.06541E06 3.42332E05 1.77139E06 1.97387E06 1.62331E05 1.47562E06 6.05540E06 2.57502E06 6.18875E05 4.65596E06 8.36165E06 1.48658E06 2.36338E05 1.85738E06 1.93012E06 1.56656E05 7.38062E06 2.51178E07 1.00171E07 9.34957E05 1.68166E07 2.06378E07 4.14464E06 6.79711E04 1.93045E06 2.84028E06 4.16217E05 5.44300E05 2.42445E06 1.73745E06 2.16071E05 3.37759E05 1.11707E06 4.79460E05 1.01996E05 1.09269E06 1.43171E06 3.14687E05 1.43435E06 6.12581E06 4.10715E06 1.01032E05 2.54847E06 1.17476E07 8.40830E06 1.19336E05 2.59026E06 3.03743E06 4.82662E05 6.85191E04 2.29678E05 2.44111E05 1.35879E04 9.14801E04 2.69407E05 1.23664E05 3.20505E04 1.61306E05 2.60860E05 5.26285E03 3.86304E04 1.55024E05 1.31116E05 3.06724E04 1.81526E05 3.44063E05 1.01575E05 6.73653E03 1.83749E05 3.48442E05 4.99335E04 1.61947E05 4.03969E05 2.51654E05 2.87838E04 8.21081E03 2.17787E04 3.64579E03 9.81651E03 5.29691E03 1.07092E04 8.31326E03 8.96168E02 2.20769E03 2.07082E03 2.24899E03 5.77907E03 8.22582E03 1.03550E04 1.02766E04 3.52429E03 5.11084E02 1.05212E04 6.88248E03 2.78065E03 4.52899E03 5.26253E03 1.19389E03 1.43666E03 5.19403E02 5.24744E01 2.31755E03 8.58758E03 4.75031E03 6.88967E02 9.30672E03 2.81819E03 4.59677E03 7.16197E03 5.94796E03 4.09580E02 1.56189E04 4.93009E04 2.00181E04 4.53056E02 9.44671E02 2.95364E03 1.33731E04 2.58176E04 2.08952E04 5.43801E03 1.00157E04 1.69629E03 2.14050E04 2.74101E04 4.03159E03 2.24115E03 1.09313E04 7.97695E03 5.55193E03 6.98836E03 1.71218E04 3.32696E04 9.52601E03 3.06613E02 6.53178E03 7.21253E03 1.10549E02 1.20769E03 1.83489E03 2.52654E04 1.59286E04 3.62118E03 1.08032E04 4.18238E04 2.78620E04 9.51151E03 8.43546E03 6.65609E03 8.48539E03 8.62728E03 8.89570E03 7.15163E03 3.83846E03 7.77607E02 2.91199E03 2.60568E03 2.05049E03 5.39240E02 1.86380E03 6.25244E03 1.43091E04 8.90364E03 1.26528E04 3.66915E04 4.12396E04 1.20405E04 4.53921E03 5.17994E03 3.35893E03 6.19299E02 1.93919E03 6.83422E03 1.22462E03 4.83228E03 2.21813E04 2.39134E04 1.05385E04 1.83589E03 1.72759E03 2.40373E03 8.67830E02 2.28978E03 1.72507E03 1.67928E03 5.71995E02 1.10152E03 1.10763E03 5.76305E02 1.45850E03 5.16464E03 4.51339E03 4.88230E03 5.86969E03 8.47164E03 1.34905E03 6.33800E02 1.49270E03 7.47117E02 1.12514E04 2.26814E04 3.24842E04 1.94833E04 2.04162E01 1.75430E04 1.98364E04 4.55479E03 4.45893E02 6.24540E03 1.05005E04 1.12645E04 7.62483E03 3.96078E03 5.36977E02 2.01839E03 3.19048E03 1.68888E03 3.29111E03 3.27112E02 9.14465E02 4.59241E03 7.22229E03 1.24477E03 1.22241E03 2.77846E03 3.09992E03 7.59862E02 5.39169E03 3.71611E03 1.04489E04 8.88175E03 5.82456E03 7.03046E02 2.25176E03 1.07994E04 1.54219E04 1.41029E04 7.27210E03 1.56879E03 7.09161E03 2.31773E04 -Frame 257 2.25058E05 2.30985E05 2.23996E04 1.34044E06 2.13226E06 4.79185E05 1.21900E06 8.89046E06 7.81694E06 8.54326E05 4.99073E06 2.05895E07 1.12187E07 5.12219E05 2.20809E07 4.88026E07 1.36729E07 4.31886E05 2.01710E06 2.79930E06 3.26474E05 1.41621E06 6.50064E06 3.71068E06 4.96223E05 4.41249E06 1.26741E07 3.86926E06 2.71523E05 1.80664E06 4.08103E06 8.79305E05 6.36112E06 3.46783E07 2.54182E07 8.15730E05 2.67557E06 9.14580E06 3.81770E06 1.13496E05 9.57383E05 2.28206E06 7.02840E05 3.86754E05 2.10243E06 1.93487E06 1.80201E05 2.26192E05 1.14119E06 8.71985E05 1.38235E05 5.05064E05 1.20281E06 2.99757E05 5.23015E05 2.93392E06 4.11033E06 4.89580E05 5.54040E05 5.28827E06 1.05388E07 2.06887E06 8.74335E05 5.04879E06 3.40569E06 3.91858E05 1.50469E05 8.55378E05 2.92614E05 5.47762E04 6.87234E04 1.62488E05 5.34551E04 2.10330E05 5.63746E05 3.56257E05 8.81820E04 4.40297E04 1.93274E05 7.49226E04 7.89711E04 2.56777E05 3.43866E05 6.62463E04 9.88154E04 8.96268E05 1.10737E06 6.91148E04 1.71373E05 2.03880E05 6.74417E04 1.82833E04 3.12344E04 4.36982E04 3.13341E03 9.36739E03 1.81745E04 1.13453E04 1.11233E04 4.90947E03 1.55597E01 1.11970E03 1.26635E03 6.42328E03 7.67911E03 6.23999E03 5.71863E02 6.13633E03 1.15094E04 4.01709E03 1.31082E03 5.72640E02 4.76789E01 1.79719E03 9.69700E02 1.13501E03 3.91364E03 3.01173E03 3.18770E02 1.99511E03 1.68798E02 5.06544E03 1.49971E04 6.95868E03 1.14509E03 6.34565E02 3.44149E03 7.42285E03 8.20212E03 4.06766E03 1.52231E04 1.31661E04 5.16819E03 7.55239E03 2.83639E03 8.41654E03 1.70919E04 1.21088E04 7.09056E03 3.34356E03 3.18669E03 6.53812E03 1.23213E04 1.66522E04 8.92825E03 2.71886E03 3.05626E03 1.68756E03 4.65706E03 7.59463E03 5.76940E03 5.77906E03 3.23023E03 2.20874E03 1.64897E03 7.81497E03 2.13347E04 5.44959E03 2.96262E03 7.19450E03 1.12537E04 1.42465E04 8.61897E03 1.66587E03 1.64122E03 1.94306E03 7.17930E02 9.42753E02 2.32021E03 4.69881E03 1.31650E04 2.07454E04 1.77223E04 1.04613E04 2.61243E03 5.28033E02 1.85816E03 1.01075E04 1.12812E04 3.88130E02 8.23343E03 1.27122E04 2.36656E03 3.35945E03 3.31730E03 5.72473E02 3.64256E02 1.25504E03 3.49780E03 4.00955E02 2.50486E03 2.92162E03 8.76659E03 1.04586E04 4.05197E03 9.00001E03 1.64443E04 1.61505E04 1.61076E04 1.06877E04 1.92381E03 2.37079E03 7.45882E03 8.29835E03 8.80909E02 6.64950E03 8.52073E03 1.18916E03 6.70434E03 1.80461E04 9.32768E03 2.60163E04 5.55223E04 4.05761E04 7.56626E03 7.16130E02 2.46394E04 3.01286E04 3.12675E03 3.08101E03 1.48788E04 7.60507E03 7.64979E03 7.75659E03 1.31013E03 3.51538E03 3.87464E02 6.21966E03 1.17858E04 8.46059E03 8.16065E03 2.41518E03 3.47816E02 2.37111E02 3.06820E03 4.80701E03 9.03178E03 7.82616E03 1.93829E03 2.81744E03 2.10501E03 1.13821E03 6.43018E03 5.56001E03 3.78617E03 1.26382E03 2.51570E03 5.24428E03 9.29096E03 1.13070E04 1.38417E04 2.60369E03 2.94615E03 4.38532E03 3.89793E01 7.40743E03 1.74805E04 -Frame 257 4.12348E05 1.25910E05 1.37073E05 1.55076E06 2.61619E06 4.55094E05 8.71508E05 8.79161E06 8.16152E06 9.41222E05 3.84527E06 2.06947E07 1.19181E07 1.04589E06 2.03505E07 6.45146E07 2.39477E07 8.57248E05 3.00429E06 4.32625E06 8.20060E05 8.78259E05 6.63905E06 6.89361E06 8.85727E05 4.85225E06 1.90932E07 9.49657E06 1.08509E06 3.41738E06 7.48212E06 1.94001E06 6.10221E06 5.26413E07 5.69140E07 8.50060E06 2.03625E06 6.42849E06 4.21755E06 4.52427E05 5.22334E05 1.86755E06 6.72694E05 3.68604E04 8.26480E05 1.89316E06 4.83949E05 1.38582E05 8.62110E05 1.00635E06 8.98501E04 9.95326E04 7.64264E05 6.53647E05 1.64532E05 8.15508E05 2.90038E06 1.40378E06 2.87400E05 2.45556E06 6.06820E06 3.05332E06 9.42424E04 2.22937E06 8.12610E06 5.30736E06 1.59524E06 2.99147E06 3.04724E06 3.95343E05 2.90479E04 3.43716E05 1.24228E05 7.54413E04 7.29392E05 9.33132E05 8.49724E04 1.21389E05 5.41525E05 4.21909E05 6.28472E04 1.04588E05 4.46560E05 2.76334E05 1.59889E05 1.39893E06 3.54696E06 1.79339E06 1.51436E05 2.85765E04 1.12432E05 5.28471E04 7.22148E03 7.12547E04 7.33145E04 4.00109E03 6.23143E03 5.63090E03 4.08753E03 1.24000E03 4.03725E03 3.63386E03 5.82559E03 1.04954E03 2.57342E03 3.38549E03 2.62695E02 8.44992E02 3.29685E03 1.27935E02 1.14775E02 3.24705E01 1.67763E03 7.66555E03 6.90382E03 9.87106E02 2.39411E03 3.59462E03 2.25424E03 5.57562E02 2.41973E03 5.86126E03 7.68508E03 9.39116E03 3.27511E03 1.95418E03 7.80625E03 5.93241E03 1.12248E04 1.53955E04 1.81322E04 1.46049E04 2.70627E03 9.43643E03 2.24374E04 1.22109E04 1.61923E03 1.63917E03 4.66966E03 8.40459E03 1.26724E04 2.13440E04 8.48077E03 2.59712E03 4.52835E03 1.19077E03 1.96649E03 2.14853E03 1.81934E04 1.32643E04 3.73888E03 9.80585E02 4.38304E03 1.41294E04 1.92292E04 1.62513E04 1.28309E04 9.53129E03 7.25745E03 3.87131E03 3.58965E03 5.17496E03 3.28569E03 1.97297E03 1.00863E04 2.22621E04 1.77572E04 1.28036E04 3.87031E03 7.73212E02 2.11722E03 3.29041E03 1.34277E01 1.77478E03 1.56705E03 2.67620E02 8.89041E01 4.99792E03 1.29051E04 3.06853E03 4.86395E03 1.83476E03 2.08657E03 1.52066E04 9.40359E03 1.73904E03 1.12785E02 2.68290E03 5.12499E03 4.62086E03 1.55736E03 3.52894E03 4.29855E03 1.32306E03 2.29027E04 3.36351E04 4.07551E03 1.10580E04 3.09932E04 1.76466E04 8.98379E02 4.36000E02 2.52942E03 1.82119E03 3.90030E04 6.89345E04 5.04334E04 7.40734E04 1.50432E05 1.19192E05 3.58236E04 7.68755E04 1.70371E05 8.80273E04 1.84674E04 1.86632E04 3.95848E04 2.11291E04 5.86875E03 8.78836E03 2.62067E04 2.16282E04 1.45653E04 9.04205E03 1.05045E04 8.24047E03 1.62518E02 2.46531E03 1.01728E03 2.15082E02 4.83281E02 5.96085E02 2.03035E02 1.75383E03 1.09161E03 6.39597E03 7.02236E03 3.04861E03 2.24412E03 8.33026E02 5.87060E03 4.80137E03 3.43042E03 5.99104E03 1.98039E03 1.33055E03 2.68350E03 1.06019E03 2.07913E03 1.64769E03 1.41323E03 1.12317E03 4.88437E03 6.08895E03 1.97178E02 5.59229E03 1.25372E04 -Frame 257 1.12812E05 1.22890E05 8.34151E04 1.66814E06 2.65444E06 4.38111E05 9.72862E05 9.43846E06 9.07738E06 8.17147E05 3.91141E06 2.13665E07 1.35954E07 2.08516E06 2.56016E07 8.70320E07 3.51618E07 6.97560E05 3.75114E06 6.73317E06 1.36086E06 1.09672E06 8.83295E06 6.90673E06 3.47513E05 6.77414E06 2.78865E07 1.42005E07 4.17458E05 3.79793E06 1.06799E07 3.53849E06 9.08599E06 7.92201E07 7.88992E07 7.53091E06 4.78816E05 3.92832E06 3.76834E06 5.51522E05 4.26635E05 1.61088E06 6.04468E05 1.15658E05 5.60993E05 1.77500E06 6.17278E05 6.83716E04 4.81489E05 8.08523E05 2.09291E05 1.17131E05 7.86834E05 4.30459E05 2.61218E04 3.01931E05 1.49847E06 6.62454E05 1.31838E05 7.62627E05 1.61970E06 1.87024E05 3.52012E04 6.59903E05 3.47486E06 2.83997E06 1.54527E06 5.11416E06 1.16868E07 6.67277E06 1.35730E06 6.65317E05 9.58621E05 5.56585E05 1.54219E05 1.53861E06 8.04952E05 3.11010E04 6.41259E05 8.25416E05 1.14986E05 5.78702E03 3.73731E05 3.63906E05 1.82867E05 5.51145E05 2.22800E06 1.71614E06 4.45453E05 5.43424E05 1.29380E06 1.53587E06 7.22552E05 1.06036E05 1.23812E05 9.22726E04 1.76491E03 4.58078E04 2.87642E04 2.58474E03 4.18977E02 1.40490E03 6.74485E03 4.42941E03 3.73366E03 5.54990E03 1.59358E02 9.96956E02 9.10034E02 1.60255E03 1.04241E03 8.68311E02 1.18431E03 9.90517E03 4.66316E03 1.55687E02 1.81816E03 3.92269E02 2.41165E03 3.89235E02 1.35843E03 9.02627E02 1.60331E03 2.10906E03 2.59104E03 3.81276E03 3.33707E03 2.87768E03 9.90646E03 1.69258E03 1.36764E03 3.10133E02 1.28994E03 2.22397E03 8.49959E03 1.94077E04 2.24311E04 4.00617E04 4.24218E04 1.24681E04 6.23365E03 1.72401E04 4.42321E03 8.88814E03 9.84681E03 4.89764E03 2.93627E03 1.09728E04 2.13083E04 1.95846E04 6.07013E03 1.23942E03 1.58159E04 3.12585E04 1.10470E04 2.81654E03 6.57149E03 5.88820E03 4.51759E03 5.97705E03 1.98340E04 1.48813E04 6.29000E03 1.21615E04 1.65681E04 1.03959E04 7.21228E03 1.02872E04 1.28134E04 6.23011E03 1.30408E03 1.32111E02 1.27030E03 2.55756E03 3.59688E03 5.47104E03 3.37280E03 1.40176E04 3.33516E04 1.86974E04 1.07498E03 4.28848E03 2.53004E02 6.79784E03 2.12163E04 6.28207E03 2.53976E03 4.73650E03 5.08657E03 1.63197E04 1.52340E04 8.08904E03 7.97384E03 1.26897E04 3.43379E03 7.78358E03 1.38825E04 2.22868E04 1.47780E04 3.14411E04 2.82639E04 5.03397E03 2.54038E04 5.04895E04 5.07624E04 2.06324E05 2.23411E05 2.84256E05 1.07498E05 1.02460E05 1.13460E05 1.18472E05 8.67760E04 2.58787E04 7.02699E03 5.65325E03 8.34984E03 2.74848E04 1.65253E04 1.19341E04 7.02207E03 1.43583E03 1.06629E03 6.30441E03 4.35364E03 4.88438E03 1.20295E04 8.72191E03 5.72201E03 5.37779E03 3.12426E03 1.35337E03 7.40463E03 1.84462E04 1.90733E04 2.94062E03 5.16156E03 1.16536E04 8.61752E03 1.71432E03 7.34927E02 6.20893E03 5.13731E03 7.07457E02 8.76986E02 1.76762E03 4.18058E03 5.15163E03 4.76226E03 1.53874E04 1.05311E04 3.51909E03 1.21473E04 1.43183E04 1.56216E03 8.04261E02 1.21243E03 -Frame 257 5.22945E04 3.82259E04 7.79889E04 1.68151E06 2.78951E06 5.33725E05 1.11025E06 9.59135E06 9.80537E06 4.55379E05 5.15890E06 2.29916E07 1.33452E07 1.48734E06 3.77270E07 1.10857E08 4.07272E07 2.19361E05 5.52050E06 7.02131E06 1.07554E06 1.30631E06 1.15306E07 1.03665E07 5.42380E05 8.00525E06 3.64947E07 2.02994E07 2.74837E05 6.64387E06 1.16158E07 1.74358E06 1.49674E07 1.14380E08 1.04811E08 1.06046E07 1.77806E05 2.94240E06 2.63628E06 1.82484E05 3.98238E05 1.20867E06 4.65155E05 2.92956E03 5.77775E05 1.28309E06 4.63865E05 8.31841E04 4.60437E05 4.56666E05 3.73659E04 1.75397E05 8.72295E05 7.23448E05 8.38825E04 1.02288E05 7.75845E05 3.88533E05 3.73951E04 3.57374E05 8.00213E05 1.97632E05 4.70883E04 4.55921E05 5.87823E05 4.83932E04 2.42031E05 2.68884E06 4.89489E06 2.49761E06 2.49187E06 2.95844E06 3.00235E06 1.03649E06 3.03356E06 7.49196E06 3.96149E06 3.50051E05 1.04333E06 1.54108E06 3.70610E05 9.42680E04 5.46197E05 2.52581E05 2.24582E04 1.52304E05 7.39953E05 4.68712E05 9.06079E04 4.74490E05 1.57146E06 1.35721E06 6.88556E05 1.14453E06 1.62350E06 1.34411E06 4.75252E05 3.87100E04 2.72920E04 2.09200E04 1.69559E04 3.49656E04 9.56436E03 4.28021E03 6.48530E03 3.45449E03 5.83899E02 8.39656E02 2.70796E02 8.32356E02 2.60391E03 3.10189E03 1.45841E02 3.94264E03 1.28761E04 1.41959E04 9.23754E03 6.87634E03 2.17784E03 4.78109E01 4.73980E02 1.04640E01 8.26233E02 2.22079E02 1.59522E03 2.91176E03 1.97892E02 5.92738E03 7.34036E03 2.28845E03 8.67138E03 1.37568E04 1.15135E04 6.97291E03 3.94458E03 6.06414E03 5.56253E03 1.15547E04 2.13741E03 1.59846E04 2.44818E04 1.99999E04 1.24402E04 7.70071E03 7.63289E03 8.92091E03 1.36943E04 1.09919E04 9.66664E03 3.51076E03 1.31942E01 1.46062E03 5.03444E03 3.70937E03 3.57332E03 1.33025E03 6.77639E03 5.37265E03 1.20376E03 5.40849E01 8.72188E03 1.87303E04 1.42781E04 1.66582E04 1.26633E04 5.76246E03 4.34117E03 6.26388E03 7.66081E03 1.89057E03 1.97822E03 3.96099E03 2.62346E03 9.26782E03 1.95277E04 2.19365E04 6.81788E03 1.37007E03 1.92419E04 3.38403E04 1.60530E04 2.89253E02 8.05570E03 9.98246E03 2.49118E02 9.96857E03 1.48867E04 1.12470E04 8.65289E02 1.85994E04 4.90428E04 2.26679E04 8.14536E02 5.70117E03 8.83010E03 4.98408E03 5.43554E03 1.41522E04 7.54015E04 5.64717E04 6.26106E04 3.08128E05 6.13306E05 4.95727E05 3.77260E05 7.16915E05 6.78031E05 1.00352E05 3.50699E04 1.84258E05 1.74750E05 8.41754E03 1.49743E03 5.08960E03 3.09192E01 1.72740E04 5.45583E04 4.72308E04 9.36683E03 2.93720E03 3.35032E03 3.07395E03 2.95461E03 4.13374E03 1.70576E04 2.24989E04 1.70228E04 5.81814E03 2.38744E04 1.96669E04 1.23042E04 1.27664E04 2.41977E04 1.33139E04 2.02808E03 1.50590E04 1.85114E04 6.32275E03 3.34388E03 9.21983E02 1.12690E03 2.49159E03 8.01936E03 5.21440E03 2.40624E03 2.14644E03 6.77379E02 1.82146E03 9.69276E03 1.64674E04 9.07294E03 2.99562E03 2.90004E03 1.46947E04 1.39978E04 3.25999E03 8.66753E02 -Frame 257 5.13800E05 3.52849E05 8.39868E04 2.14544E06 2.69850E06 5.75215E05 8.65401E05 1.05018E07 9.29507E06 9.49696E05 4.75756E06 2.35413E07 1.33898E07 5.92510E05 4.62830E07 1.21912E08 4.04715E07 1.86802E05 4.25441E06 6.40992E06 1.21135E06 1.29602E06 1.40303E07 1.45696E07 1.41769E06 7.52948E06 3.74494E07 2.35492E07 2.76903E05 7.27287E06 1.72292E07 6.37587E06 1.00941E07 1.13058E08 1.22840E08 1.65233E07 1.12964E05 1.85819E06 2.57588E06 1.18613E05 1.29468E05 9.13256E05 9.80600E05 3.04813E03 2.43832E05 1.02488E06 4.25009E05 2.57209E02 6.97410E04 4.74908E05 5.91305E04 1.10480E05 3.89907E05 5.23162E05 1.81585E04 1.74155E05 6.00179E05 3.60797E05 2.37977E04 6.33144E04 3.25178E05 1.78459E05 7.34942E03 2.08008E05 3.01264E05 4.94700E04 4.38924E04 5.60465E05 4.95418E05 3.38604E04 2.57487E05 1.41486E06 1.33113E06 4.20200E05 1.15808E06 1.12984E07 1.36257E07 2.02660E06 3.93648E05 1.56679E06 2.73660E05 5.43452E04 5.94422E05 7.21540E05 9.60225E03 6.36750E04 3.73909E05 3.69555E05 1.02645E04 3.90157E04 1.88925E05 1.81953E04 1.08645E05 3.53420E05 1.32868E06 6.30836E05 2.02489E05 2.80904E05 3.86100E05 1.52746E05 1.03018E05 1.83257E05 3.17402E05 2.63996E05 9.87298E04 5.53723E04 1.70317E03 4.43535E03 1.57616E03 1.12275E04 8.21077E03 4.99923E03 4.18208E03 1.02532E04 4.41696E03 1.80108E02 3.24188E03 6.31726E03 1.24902E04 2.54018E03 7.62908E03 1.32677E03 3.28500E03 1.95149E04 2.01260E03 1.24309E04 2.65603E04 6.45064E03 1.58155E04 1.06253E04 3.06869E03 6.72270E03 6.52229E03 2.92554E04 6.84935E03 9.59827E02 1.96565E03 4.02743E04 4.22874E04 3.20586E04 1.68741E04 1.78568E03 8.29845E02 3.04000E04 4.08043E03 8.12570E02 6.13945E03 2.51387E04 3.50550E04 2.49207E04 1.84073E04 7.87599E03 9.55137E03 1.00692E03 4.77589E03 2.16278E03 6.54681E02 1.55401E03 4.55525E03 3.97067E02 1.78870E04 9.08452E03 1.55306E03 6.01696E02 8.99364E02 6.03707E02 1.56407E03 3.63776E02 5.31690E03 2.10693E03 7.02211E02 7.73127E02 1.25624E04 3.64646E04 2.59701E03 1.67822E04 1.35044E04 6.72827E03 7.79322E03 1.09509E04 3.90441E04 1.38041E04 8.89127E03 1.02700E04 2.37938E04 6.50923E03 7.35345E02 5.59130E03 2.21739E04 2.84995E03 1.27418E04 2.86560E04 1.37668E04 3.82995E03 1.33657E04 2.49538E03 1.28049E03 3.64338E03 9.69812E04 1.64002E05 1.77330E04 3.34021E05 3.51187E05 7.62607E04 1.03203E04 1.76147E05 4.65295E05 8.61263E04 2.97739E05 4.33674E05 1.91295E05 1.03979E04 5.65562E03 2.62599E04 3.56215E04 1.57359E04 2.52682E03 8.72108E03 8.56406E03 2.99784E03 1.91712E03 1.89277E03 4.91346E02 1.00736E04 1.29927E04 4.49123E04 6.63885E03 2.26327E04 2.86211E04 2.45520E04 9.86175E03 5.99782E03 2.31765E04 7.53750E04 1.75429E04 1.79530E04 4.76420E04 3.39047E04 1.05819E04 1.91153E03 3.88494E03 5.15138E03 1.93134E04 4.99526E03 8.85222E03 5.95703E03 1.53629E02 3.36701E03 1.31904E02 6.05305E03 4.88074E03 2.49114E03 3.77543E03 2.60457E04 5.21806E03 3.76097E03 6.93837E03 -Frame 257 1.88589E05 7.39242E04 2.95688E04 1.39476E06 2.88767E06 5.33033E05 1.05911E06 9.77527E06 9.17819E06 1.12112E06 4.99327E06 2.32115E07 1.34298E07 8.15086E04 4.43898E07 1.13911E08 3.74068E07 6.96489E05 3.05248E06 5.05498E06 9.22860E05 1.37508E06 1.42964E07 1.47421E07 2.02556E06 7.53046E06 3.60938E07 2.02693E07 1.05193E06 7.77484E06 1.93607E07 6.29068E06 5.79123E06 7.19820E07 8.24500E07 1.13550E07 1.72741E05 2.18170E06 1.71601E06 1.89117E05 1.23351E05 6.64946E05 3.60523E05 1.54915E04 3.12695E05 5.05135E05 1.39561E05 2.04893E04 2.92849E05 4.02689E05 7.56599E04 2.03729E03 1.55208E05 2.12102E05 1.20896E04 1.42211E05 5.29524E05 2.66041E05 4.95601E04 8.47249E04 1.74856E05 8.33074E04 1.16121E04 1.79842E05 2.22397E05 9.19464E04 8.76359E04 4.64641E05 4.98863E05 1.60654E05 1.79300E03 2.29185E05 1.86550E05 2.05776E04 1.45556E06 7.15154E06 7.16078E06 1.81643E06 6.06144E05 2.10876E06 8.63725E05 4.94920E05 1.93901E06 1.79046E06 4.37106E05 2.52234E05 5.19373E05 1.65216E05 3.25988E03 1.40711E05 2.77191E05 1.11088E05 4.68903E04 1.29467E05 2.91456E05 1.00970E05 3.29901E03 1.27456E05 1.57350E05 4.02619E04 1.45382E05 3.99543E05 1.07437E06 1.17836E06 3.00592E05 1.33022E04 5.69707E04 2.78938E04 7.99989E04 5.26281E04 2.64944E04 1.59538E04 9.49349E03 4.42450E03 6.23579E03 4.06913E03 1.27548E04 1.02152E04 2.35735E03 5.13662E03 1.69813E04 1.52440E04 1.98531E04 3.34199E04 9.09464E03 9.98320E03 1.21499E04 3.50265E03 9.16977E03 1.14235E04 3.89416E04 6.40277E04 2.82701E04 4.68575E04 5.15692E04 2.74867E04 5.66358E04 1.27924E05 2.19490E05 2.91439E05 2.42897E05 1.49456E05 5.85966E04 6.89548E03 3.75639E03 1.75990E03 2.66584E03 6.31280E03 5.30370E04 8.40598E04 1.91898E04 5.39006E03 1.35032E04 3.07134E03 2.53957E02 8.42524E02 3.88407E03 1.11938E04 8.75722E03 7.76396E03 9.44106E03 2.77143E03 4.92281E03 1.27028E03 4.40243E02 3.65962E03 1.01182E04 1.23610E04 1.72862E04 4.76562E03 3.06324E03 5.50603E03 3.22833E04 3.70464E04 2.31185E04 1.04403E04 3.17778E04 1.56512E04 1.43224E04 1.42825E05 2.35924E05 1.47156E05 6.54560E04 1.40016E04 1.27183E04 3.50258E03 4.39327E03 2.10981E03 2.61523E03 1.68606E04 9.85802E03 3.13731E03 1.37709E04 1.30347E04 5.07743E03 2.29283E03 2.58524E03 2.30155E04 9.90005E04 1.13367E05 1.46928E05 2.04573E05 1.99734E05 1.41712E05 1.64524E05 2.39847E05 8.18872E05 8.13173E05 4.29206E05 5.46479E04 6.75282E04 5.02710E04 5.26644E03 7.14045E03 3.65461E04 4.22285E04 1.79451E04 5.25278E03 1.23053E03 3.01989E03 2.31056E01 2.18599E03 1.50639E03 3.94596E03 2.35427E02 1.73286E04 2.11908E04 5.70928E03 7.00011E03 1.10310E04 1.73163E03 1.77997E04 7.63153E04 8.02097E04 5.24288E04 6.05953E03 1.96406E04 2.06185E04 1.39889E03 1.27792E04 2.35662E04 4.68134E04 3.19739E04 9.17575E03 1.80226E04 8.27344E03 8.87342E02 1.28762E03 1.09753E03 7.02980E03 3.67231E03 4.91105E03 1.68482E04 1.34642E04 7.52871E03 1.34138E03 2.69158E03 -Frame 257 3.22641E03 4.38774E04 2.40677E05 2.01844E06 2.74562E06 5.65000E05 1.33029E06 9.06122E06 7.61596E06 9.47834E05 5.88192E06 2.16604E07 1.02417E07 1.27825E06 4.63759E07 8.46262E07 1.84973E07 5.52628E05 3.38590E06 3.37594E06 7.13424E05 2.54822E06 1.33344E07 8.15906E06 1.16736E06 9.36585E06 2.85475E07 1.08865E07 6.11788E05 1.03267E07 1.68252E07 5.16795E06 3.48983E06 4.43946E07 3.58069E07 3.62741E06 3.98335E05 2.00556E06 7.77604E05 8.84116E04 1.84970E05 4.59275E05 1.14602E05 5.98456E03 1.87078E05 2.86292E05 7.03383E04 8.23660E04 3.88203E05 2.22990E05 6.74153E04 1.22626E05 2.96052E05 1.48834E05 3.29738E04 2.32036E05 2.93093E05 7.73640E04 4.58704E04 1.50262E05 1.06874E05 2.29642E04 2.71374E04 1.37901E05 1.03968E05 4.58215E04 1.63513E05 2.84172E05 5.55946E04 4.41381E03 8.89138E04 1.10770E05 5.14950E04 1.32846E05 1.24264E06 9.24566E05 3.04111E05 2.76646E05 2.31259E06 3.14653E06 1.27565E06 6.95660E05 3.10054E06 9.86782E05 2.38351E05 4.49056E05 4.37512E05 6.49677E04 2.65471E04 1.46148E05 1.72203E05 1.09023E05 1.12443E05 1.91626E05 4.87116E04 1.33485E04 1.52752E05 1.53910E05 8.05723E04 8.64519E04 4.42009E05 3.53402E05 3.93892E04 3.20556E05 9.45825E05 3.78280E05 1.42862E05 2.05470E05 3.43219E05 1.72490E05 1.11418E05 1.68176E05 7.17762E04 2.71471E04 3.75684E04 4.40775E04 5.51298E03 2.28313E03 8.14735E03 9.89650E03 9.68124E03 7.11981E03 1.83398E04 2.86170E03 1.91493E03 1.64430E03 2.31036E03 1.31654E03 1.74915E03 7.85603E03 2.30919E04 2.25740E04 1.04630E04 2.82589E04 5.33405E04 6.69858E03 2.28761E03 2.14785E04 7.33107E03 6.39172E04 6.29371E03 2.70045E05 1.62314E05 6.02429E03 8.70177E03 1.21725E04 9.34515E03 7.18160E03 4.05132E04 2.45954E04 1.24231E03 1.10727E04 7.14806E03 2.72415E03 3.01276E03 1.10703E03 2.61911E02 1.20479E04 9.68246E03 9.27669E02 8.77926E03 1.62433E03 1.37689E03 6.13802E03 3.44155E03 5.34482E03 5.65742E03 1.86106E04 1.25412E04 6.25183E03 5.90112E02 4.25172E03 7.27447E03 2.31591E02 1.28193E04 7.33382E03 4.43204E03 9.68530E03 3.28906E04 7.11780E04 1.06005E05 2.70294E03 5.41701E04 4.69968E04 4.90374E03 1.07985E04 6.11293E03 6.63658E03 5.55932E03 2.88936E03 1.20881E03 2.62655E03 9.13379E03 2.18313E03 1.30561E03 4.60969E01 2.71179E01 1.16540E04 5.00417E04 3.96822E04 3.13520E04 2.31410E04 9.85158E04 8.94873E04 1.93583E04 5.42176E05 7.49685E05 1.52216E05 1.31839E05 1.23819E05 4.63320E04 1.74006E04 3.31079E03 8.17057E03 2.84213E03 1.18989E04 1.39132E04 1.17317E04 1.07392E04 9.31461E03 1.36118E04 1.23253E04 7.63951E03 4.30536E03 8.98202E03 3.95610E03 3.16294E03 1.62025E04 1.85772E04 8.94196E03 8.44310E03 3.18591E04 3.66565E04 9.71543E03 1.10521E04 1.50259E04 4.25136E03 4.46211E02 2.95062E03 8.30826E03 7.70137E02 9.11723E03 2.89986E04 3.40196E04 1.78654E04 3.39198E03 3.02714E02 1.12158E03 2.14078E03 5.52347E03 6.89385E03 5.57965E03 7.95601E02 3.23746E01 3.51222E03 4.98645E03 3.61291E03 -Frame 257 1.53732E05 6.92299E04 4.71417E04 1.45795E06 2.78756E06 4.55553E05 1.30019E06 8.33248E06 5.81049E06 1.11612E06 7.23413E06 1.86517E07 5.82442E06 3.29847E06 4.17399E07 5.31900E07 8.07032E06 6.85850E05 2.83074E06 1.90639E06 2.34472E05 2.75930E06 9.92737E06 4.29566E06 1.25568E06 9.51456E06 1.64595E07 4.19235E06 1.81492E06 9.74452E06 6.22386E06 1.07662E05 1.08151E07 3.60408E07 1.39335E07 9.39799E05 9.36565E05 1.50583E06 2.58124E05 3.34045E04 2.63108E05 2.49703E05 9.41471E04 1.48378E05 2.78192E05 1.32540E05 2.54497E04 1.36013E05 2.47918E05 3.58117E04 3.05754E04 1.58107E05 1.47121E05 2.97963E04 1.90866E04 1.56302E05 6.74803E04 1.25808E04 4.55793E04 7.39569E04 2.59432E04 2.59536E04 1.15704E05 8.19973E04 2.37231E04 5.88968E04 1.53502E05 8.69318E04 2.32724E04 4.64491E04 6.04977E04 5.93064E03 3.05522E04 3.58420E05 4.44471E05 1.20929E05 2.63276E05 9.75483E05 5.30185E05 3.18889E04 1.82990E06 6.03251E06 3.06720E06 5.62954E05 4.48865E05 4.10178E05 1.73243E05 5.75367E04 9.98161E04 2.45874E04 1.18963E03 3.84359E04 1.33400E05 4.78464E04 2.44696E04 8.19960E04 1.14738E05 7.02469E04 1.09959E05 3.22789E05 2.90886E05 1.46961E05 2.40059E05 6.30705E05 3.59289E05 2.19717E05 1.59143E05 4.24367E05 4.35452E05 1.93412E05 3.95708E05 3.13642E05 3.81990E04 1.83597E04 7.09224E04 4.07199E04 4.53226E03 4.06426E03 1.02462E04 6.87811E03 4.05960E03 1.57057E03 9.96623E03 2.03692E04 2.21261E04 2.43215E04 6.89494E03 5.76237E02 8.32877E02 4.51679E03 1.14073E03 1.58938E04 3.34653E04 5.35938E04 1.84449E04 1.57325E04 5.75283E04 8.87727E04 9.63819E03 1.23269E05 5.15530E05 4.25280E05 3.73543E04 5.42900E04 8.68307E04 3.01193E04 1.43418E04 5.14547E04 6.48944E04 2.08032E04 2.31305E03 4.76971E03 3.87403E04 3.92376E04 7.59449E03 8.04211E02 6.04998E02 7.01893E03 2.50259E04 3.24845E04 2.19441E04 5.62269E03 2.83754E03 1.85484E03 7.68090E03 2.17286E04 2.20246E04 8.54634E03 6.56484E02 3.23233E03 8.36545E03 2.42989E03 3.13271E03 9.89774E03 7.17169E03 3.15103E03 1.21796E03 5.54890E03 2.26955E04 7.42995E04 1.47691E05 6.34254E04 7.19188E03 4.77563E03 2.42526E04 2.30605E04 2.73286E04 3.08140E04 1.87499E04 8.19268E03 8.71699E03 1.11613E04 1.20569E03 4.38078E03 3.00629E03 2.33707E02 1.44334E02 9.26445E03 2.27283E04 8.87057E03 8.85117E03 6.27709E04 4.00004E04 5.37727E03 1.56866E04 1.75670E05 2.52857E05 7.87662E04 1.19200E04 2.68270E03 2.30601E03 1.69339E03 6.81552E03 1.11098E04 5.38166E03 2.43299E03 5.62802E03 8.38681E03 8.83372E03 1.36408E03 3.13869E03 1.11107E04 5.53246E03 2.48443E03 7.58936E03 5.84178E03 6.56554E02 2.01395E04 4.37230E04 6.78991E03 9.77664E02 3.86486E03 1.23283E04 3.16820E03 4.96723E02 2.39206E03 1.01904E03 2.68228E03 1.00028E04 2.05179E04 6.07115E03 2.31476E03 1.20333E03 3.38540E02 2.58384E03 9.10160E02 9.56289E02 4.90531E03 4.90198E03 3.49902E03 2.00289E03 2.00241E03 5.04691E02 4.96843E02 4.17880E03 6.86260E03 3.88338E03 -Frame 257 2.29940E05 1.29894E05 2.61757E05 2.16052E06 2.63409E06 3.91624E05 1.26096E06 7.25220E06 4.59060E06 7.87633E05 6.42199E06 1.46689E07 3.56086E06 2.95434E06 2.84484E07 3.06849E07 3.76432E06 6.24221E05 1.72160E06 8.82016E05 2.18951E05 2.95301E06 6.61639E06 1.63787E06 8.69745E05 5.77631E06 5.71677E06 1.06641E06 2.40758E06 9.06745E06 4.19824E06 7.42782E05 1.02011E07 2.57492E07 7.41176E06 2.85935E05 6.93133E05 7.42460E05 1.15630E05 6.57229E04 1.62210E05 1.53120E04 1.72902E04 1.13526E05 1.50441E05 3.77517E04 4.97886E04 1.44390E05 1.06032E05 5.97016E04 8.60765E04 1.40846E05 1.10612E04 5.31240E03 6.72922E04 1.30068E05 3.39919E04 2.13613E04 4.65339E04 1.20397E04 2.21341E03 4.36008E04 1.46157E05 4.85795E04 7.82181E03 2.62865E04 1.37120E04 7.45236E03 3.59448E04 9.81916E04 2.21358E04 9.79136E03 1.06434E05 2.29142E05 1.00059E05 1.63723E05 4.07366E05 2.78234E05 9.06854E04 4.53930E05 2.86947E06 3.25297E06 1.67866E06 6.08751E05 6.65588E05 6.69810E04 7.52599E03 1.21659E05 1.62509E05 4.36248E04 9.32747E04 1.17687E05 2.49144E04 8.83880E03 4.80757E04 8.73904E04 3.43385E04 2.19794E04 1.14012E05 4.58020E04 1.60568E04 3.44540E04 2.50721E05 1.65473E05 6.02272E04 1.50839E05 1.23411E05 9.12861E04 7.91565E04 6.53300E05 8.04535E05 2.47804E05 1.03955E05 8.82999E04 1.32276E04 1.59487E04 1.39637E04 1.55464E04 4.46889E02 3.34381E03 2.74846E02 4.79410E03 3.94460E03 1.76670E02 7.31761E03 1.38673E03 2.64096E03 2.57507E03 3.13709E03 4.44095E03 4.54897E03 6.79710E03 4.21700E04 4.38034E04 5.52457E03 1.03523E04 5.28109E04 9.09368E04 1.19093E05 1.16955E05 2.37297E05 1.87339E05 1.04217E05 8.29576E04 5.92987E04 6.54330E04 2.24193E04 4.26744E04 7.99334E04 2.96075E04 5.82655E03 9.00187E03 2.15373E04 2.47574E04 1.30878E04 4.12320E03 2.17567E03 4.47754E03 4.47190E03 3.52499E02 6.44001E03 7.19896E03 6.22003E03 1.28751E04 2.97515E04 3.39019E04 5.45011E03 1.57227E04 2.69121E04 2.26471E04 2.68975E03 5.74615E02 1.31441E03 1.05615E03 2.97646E01 5.33310E03 2.80525E03 3.74590E03 2.49471E04 5.56124E04 3.91910E04 2.41774E04 3.78720E03 9.38120E01 2.82244E04 4.53683E04 7.10409E04 2.06358E04 6.92785E03 3.00897E02 5.72644E02 7.96380E03 2.15031E04 1.29150E04 6.62070E03 1.86514E04 2.41863E04 1.61045E04 4.26040E03 4.59797E03 2.76676E04 3.40600E04 1.04021E04 1.87472E03 7.29210E03 2.07377E04 1.04225E04 6.40530E03 2.55699E03 2.72422E03 3.00351E02 1.25545E03 1.36560E03 1.31382E03 9.86875E02 2.58708E03 2.05945E03 9.37670E02 4.52015E02 6.31402E02 2.77262E02 9.92455E03 1.28172E04 1.46536E04 1.54201E04 6.00823E03 5.09993E03 1.30178E04 4.43813E04 6.47302E04 3.12936E04 1.34770E04 2.77853E03 3.02004E03 1.43860E03 5.41498E02 8.15118E03 1.04421E04 1.47743E03 2.21259E04 1.46899E04 1.78095E03 9.81820E02 5.62686E02 3.81788E02 1.29222E03 1.90884E03 4.63340E03 1.45832E03 1.54616E03 3.39385E03 1.64035E03 1.05446E03 1.27959E03 4.34329E01 1.74130E03 3.22169E02 -Frame 257 9.37158E02 5.22376E04 4.72454E04 1.60313E06 2.53942E06 2.66140E05 1.28817E06 6.11927E06 3.47072E06 4.43128E05 6.04209E06 1.04451E07 2.11118E06 2.98108E06 2.20479E07 1.84550E07 1.41781E06 5.35502E05 9.82622E05 2.33147E05 2.99343E05 2.98827E06 3.54880E06 4.56704E05 9.88549E05 2.87037E06 1.22804E06 3.78797E05 2.50116E06 5.73722E06 1.89872E06 1.23649E06 1.18939E07 2.38365E07 5.88291E06 1.23317E05 5.57024E05 1.06666E05 5.16725E04 9.38966E04 8.12005E04 3.24164E02 6.86926E04 2.25012E05 1.20808E05 3.43302E03 2.62481E04 3.49932E04 9.92394E03 8.18096E03 7.39342E04 6.97119E04 8.63135E03 2.14463E04 5.89179E04 2.82423E04 2.99952E04 4.53756E04 3.33336E04 8.51555E02 7.35751E04 1.53528E05 9.23501E04 7.49705E03 1.99741E04 2.62115E04 1.34558E03 2.79139E04 1.25369E05 9.64411E04 9.38467E03 9.63376E04 1.42072E05 1.56950E04 4.34729E04 2.24783E05 2.66845E05 6.06728E04 3.98140E05 1.25053E06 2.93643E05 3.07864E05 4.53687E05 1.44527E06 4.95638E05 1.92379E05 2.59809E05 6.21999E04 4.69486E04 1.02203E05 1.16033E05 1.41132E04 4.74992E04 9.56202E04 2.37536E04 2.10733E04 6.57079E04 6.21384E04 4.50570E04 5.09635E04 8.47769E04 4.34013E04 2.09879E04 1.41699E05 1.71246E05 1.23794E05 6.82019E04 2.28584E05 4.71169E05 2.30219E05 1.64183E05 1.22422E05 1.55937E05 7.05949E04 2.76603E04 1.40247E05 4.17084E04 6.58980E04 1.45332E05 5.28403E04 4.92136E02 1.42581E04 1.07291E04 3.09532E03 1.22068E04 1.28085E04 4.81116E03 3.12685E03 5.63787E03 3.93856E03 4.03686E03 5.08556E03 1.15348E04 1.44932E04 1.39162E03 2.07245E04 5.59151E03 1.86972E03 2.14637E03 2.88815E04 9.46253E04 1.09922E05 8.71308E04 7.49737E04 4.43873E04 1.46559E04 2.44749E02 3.02693E03 1.08591E04 3.86623E04 1.50511E04 8.98847E03 5.73446E03 6.65712E03 7.89904E03 9.86818E03 1.29299E04 8.24428E03 1.99641E03 3.97624E03 1.65957E04 1.91822E04 5.73113E03 5.57674E03 7.62990E03 3.40846E03 8.08366E02 9.21105E03 3.98389E04 3.21009E04 2.96994E03 1.90279E03 2.21554E03 3.71771E03 3.56223E03 2.42474E04 4.81700E04 1.48076E04 8.44646E03 2.46229E04 7.65105E03 1.86061E03 6.85607E04 1.52364E05 1.38808E05 4.14654E04 8.26730E04 3.74044E04 5.52051E03 7.98090E02 9.41702E03 1.62439E04 1.65628E03 1.13894E04 1.41046E04 1.04669E04 9.19832E03 1.97941E04 9.13620E03 1.80971E02 2.08434E04 1.13830E04 9.10341E02 1.93875E03 7.60793E01 7.88901E03 1.47982E04 9.57371E03 1.47669E03 4.17902E03 7.85137E03 6.13475E03 3.68034E03 1.55445E03 1.54288E03 1.15705E03 1.46438E03 1.67616E03 1.08495E03 2.16121E03 9.76563E03 3.94765E04 2.97248E04 4.31305E03 5.37251E03 1.52137E03 1.88368E03 4.67515E03 1.88260E04 4.64652E04 8.30602E03 1.30234E02 1.90751E03 6.14031E03 3.83440E02 1.73583E04 3.90178E04 1.30307E04 9.81812E03 3.42258E04 2.46794E04 6.18355E03 5.51972E02 1.13170E01 9.77693E01 1.36465E03 6.42914E03 7.77617E03 6.39820E03 6.32501E03 1.01169E04 9.24502E03 3.75330E03 2.46404E03 3.62566E03 2.60816E03 2.24130E03 -Frame 257 3.68691E04 3.00921E04 2.41900E05 2.36425E06 2.47394E06 2.48458E05 1.27616E06 5.31153E06 2.43476E06 2.09543E05 5.66972E06 7.58150E06 1.11951E06 3.11467E06 1.78611E07 1.20685E07 5.91743E05 5.06218E05 6.15726E05 4.57637E04 2.63141E05 2.34699E06 2.41424E06 1.12670E05 5.76317E05 1.38278E06 2.92308E05 2.01358E05 1.73779E06 1.95704E06 1.16961E05 1.05647E06 7.17073E06 9.83349E06 5.95128E06 4.53576E06 3.49547E06 1.10868E06 2.20263E05 4.17841E05 2.55198E05 2.08278E04 8.35140E04 1.63042E05 2.39654E04 5.65241E04 1.21160E05 7.46045E04 7.90637E04 8.47610E04 1.26602E05 3.96092E04 1.24699E04 3.60623E04 1.83357E04 5.96893E03 2.18004E04 8.55278E04 6.63575E04 1.07131E04 4.51364E04 1.73899E04 2.11431E04 4.68748E04 8.21367E04 3.87239E04 2.20927E03 5.59053E04 7.46101E04 7.51784E03 5.88806E04 1.47146E05 1.01988E05 2.58122E03 1.48948E05 2.17164E05 5.45366E03 2.02160E05 7.66367E05 8.31304E05 5.87920E05 1.80219E06 2.43990E06 3.24717E05 9.53138E04 2.03330E05 1.85854E05 6.25950E04 1.46076E04 6.84220E04 3.56506E04 3.93870E04 9.97663E04 1.12713E05 5.56342E04 1.39780E04 5.49990E04 1.86478E04 3.01200E03 1.80708E04 4.34359E04 1.95426E04 1.05220E04 7.49724E04 6.16357E04 3.84253E04 9.03780E04 1.69655E05 1.07547E05 3.26839E04 6.28403E04 6.70349E04 1.65734E04 2.37084E05 3.69461E05 2.72543E05 2.82403E05 9.14336E05 8.54184E05 1.34694E05 4.61736E04 5.18265E04 4.16793E03 7.28353E03 1.43020E04 6.60890E03 2.94638E03 3.01629E03 1.82203E04 2.74755E04 1.57138E04 2.00725E03 9.00713E02 1.17662E04 1.70795E04 1.69634E04 1.64310E03 1.43962E04 4.63338E04 6.28631E04 4.60545E03 1.64488E05 4.96645E04 1.06541E05 2.46843E04 2.67512E04 3.99749E04 2.59699E04 3.08860E04 7.38710E03 2.16353E03 9.97912E02 8.84690E03 2.57937E04 9.34637E03 2.75010E03 1.38347E04 2.83184E03 2.14040E03 4.47455E01 5.42172E03 3.44892E03 1.89834E02 9.68451E03 1.77659E04 9.77374E03 9.59955E02 3.22915E03 4.99087E03 4.93710E02 2.30728E04 3.22695E04 8.64481E03 7.23620E03 3.45770E04 2.70872E04 2.71627E03 6.21108E04 1.12451E05 2.10110E04 1.95216E04 6.84368E04 5.66759E04 1.54571E04 2.28388E05 2.52114E05 1.15639E05 1.13639E04 2.73967E04 1.63263E04 4.78723E03 4.52053E04 7.99755E04 2.87911E04 8.66962E03 4.22605E04 3.66319E04 4.96034E03 2.16035E04 4.46144E04 2.95958E04 6.33795E03 5.13449E03 4.56609E03 9.69554E03 1.08841E04 6.80838E03 2.05855E03 1.32109E03 2.40433E03 6.57167E03 5.09183E03 1.39142E03 4.40922E03 5.48459E02 2.39293E03 1.35171E04 1.92648E04 9.90874E03 1.42516E03 3.94321E04 5.81221E04 2.41741E02 7.56634E04 8.79763E04 3.97416E04 3.41479E03 2.41066E04 5.53783E04 1.00373E04 1.64683E04 3.09534E04 2.11673E04 7.92718E02 1.18724E04 4.57110E04 3.40718E04 1.17941E04 2.52367E04 2.44264E04 3.02675E03 1.51924E03 6.46421E02 1.01113E02 7.37834E02 3.35985E03 4.11023E03 9.73866E02 1.12511E03 3.30264E03 4.78203E03 1.09446E03 1.42773E03 1.14207E03 3.29346E02 2.96795E02 3.25798E01 -Frame 257 4.63258E04 6.86578E04 6.95189E04 2.14715E06 3.04868E06 4.18927E05 1.15576E06 4.61201E06 2.41741E06 7.36770E04 4.91493E06 6.69025E06 1.17088E06 1.92132E06 1.15444E07 8.68573E06 4.66610E05 3.80693E05 6.51949E05 1.95434E05 1.64513E05 1.28717E06 1.70003E06 2.58149E05 5.26559E05 9.03564E05 3.69679E05 1.73931E04 7.42431E05 1.18692E06 3.76703E05 2.62910E05 1.09234E06 3.45651E05 2.83074E04 2.43877E05 2.39964E06 2.87545E06 5.57951E05 4.84779E05 8.93125E05 2.15632E05 3.65478E05 7.61384E05 5.15357E05 1.84777E05 3.05909E05 4.26809E05 1.23886E05 1.00119E04 9.43850E04 3.32916E04 1.01318E04 9.15384E04 1.10136E05 5.42570E04 1.21189E04 6.27475E04 4.49901E04 1.71753E03 1.98777E04 8.16730E04 5.70252E04 3.14946E04 9.48949E04 7.17433E04 3.91480E03 5.71099E04 1.64977E05 1.34923E05 3.63279E04 1.28010E05 1.27813E05 5.04859E03 1.55704E05 4.34186E05 2.83840E05 1.91953E04 4.28158E05 2.17909E05 6.20224E04 1.09048E06 2.44091E06 1.36552E06 2.36199E05 1.20534E04 3.38466E04 1.02440E04 4.27320E04 5.95829E04 5.82624E04 1.23919E04 4.61560E03 9.34996E03 2.61242E03 1.88727E04 3.15552E04 2.58406E04 4.35492E03 5.62001E03 1.08916E04 1.68748E03 2.34886E04 5.38770E04 2.01787E04 1.29111E03 2.10825E04 4.58152E04 1.38485E04 2.58025E04 1.14648E05 1.77279E05 6.32721E04 2.07564E04 1.32581E05 3.61267E04 2.44552E05 9.87967E05 7.89385E05 1.61963E05 4.25047E04 3.35402E04 1.86698E04 5.62451E03 3.63013E02 1.58221E03 4.88234E03 9.76154E03 3.24136E03 1.75828E04 2.46717E04 9.09114E03 2.40687E03 3.71604E03 5.30096E03 5.50852E03 2.72716E04 3.53241E04 2.10233E03 4.87539E04 5.57076E04 4.47893E05 1.15230E06 8.23692E05 2.13617E05 5.66971E03 2.75069E04 2.31289E04 2.98072E04 5.04123E04 2.70152E04 8.33606E03 1.01290E03 9.84668E03 1.68714E03 2.67592E03 1.70643E04 1.58623E04 1.70896E03 3.51045E03 2.44089E03 1.26514E03 2.01105E03 1.10059E04 3.14923E04 1.68907E04 1.56713E03 4.42298E03 1.54420E04 5.80295E03 3.87065E04 7.38261E04 3.42842E04 4.98289E02 1.07940E04 2.33329E04 1.95933E04 2.18844E05 3.57614E05 1.31970E05 5.17836E03 2.63993E04 6.34413E04 1.35457E03 1.96302E05 4.52010E05 2.19958E05 2.83973E04 8.01773E02 2.26951E04 1.46260E04 1.11422E04 6.61833E04 5.16580E04 7.34091E03 2.95437E04 7.36517E04 4.98761E04 1.92666E04 9.49241E03 1.13576E03 3.69261E03 2.70265E03 6.51609E02 2.92831E02 8.14784E02 1.10399E02 8.10069E02 8.38326E01 4.57349E02 3.72090E03 8.07247E03 2.47568E03 7.24409E02 5.07452E03 1.90128E03 1.81249E03 1.11406E04 1.11091E04 4.36483E02 2.85228E04 5.87068E04 5.95092E04 1.01328E05 7.44157E04 3.41883E04 5.21061E03 1.43252E04 4.46356E04 2.19593E04 1.05153E04 1.97862E04 2.74652E04 1.76219E04 5.55463E03 1.14742E04 1.20464E04 4.08177E03 9.89294E02 1.47761E04 2.36936E04 6.35234E03 1.50361E03 1.06443E03 1.61381E03 7.81283E03 1.22779E04 4.83716E03 4.85033E02 2.13228E03 1.97597E03 2.36618E03 2.08674E03 2.55865E02 2.46119E01 6.99417E02 1.11476E03 -Frame 257 1.22077E04 2.56671E04 3.62484E05 3.10791E06 3.37399E06 5.00685E05 1.25883E06 4.40086E06 2.32753E06 8.44746E04 4.69686E06 6.25144E06 6.71636E05 1.68567E06 7.41573E06 4.35789E06 1.46202E05 3.29024E05 7.20459E05 2.37327E05 9.30718E04 6.25163E05 4.74624E05 7.93769E04 2.47350E05 9.54886E05 3.00833E05 4.34564E04 3.92243E05 4.71444E05 1.20558E05 7.74306E04 4.57407E05 2.40925E05 8.92258E03 3.43573E05 4.84252E05 1.43731E05 1.30650E05 8.49537E05 1.17560E06 6.65862E05 4.83382E04 1.56243E06 1.92771E06 6.00525E05 5.62075E05 1.22603E06 3.69238E05 1.86484E05 3.36789E05 1.99805E05 4.21917E04 8.34265E04 6.75874E04 1.05038E03 5.09256E04 5.00938E04 8.61111E03 1.19525E04 1.02156E05 5.88814E04 1.12283E04 1.04345E04 1.01248E05 4.92564E04 1.80370E03 8.57046E04 1.09749E05 3.25593E04 2.18403E04 1.39563E05 1.25664E05 2.20179E04 6.49516E04 1.76967E05 1.78495E05 1.76191E05 2.26648E05 4.14218E05 5.01465E05 6.03702E04 4.66236E05 2.67836E05 7.69869E04 1.76944E05 6.49168E04 5.86961E04 3.75372E04 9.46780E04 3.45659E04 3.62465E03 1.57514E04 2.96943E03 2.21232E03 1.17075E03 2.60042E04 1.15948E04 4.55112E03 2.20889E04 1.02530E04 7.20278E03 4.65763E03 2.47352E04 3.07044E04 6.71774E03 2.19919E04 3.00042E04 1.25522E04 2.16795E04 8.67422E04 7.51297E04 3.96922E03 1.57779E05 2.50646E05 1.58891E05 6.71085E02 7.09405E05 7.31444E05 1.45843E05 1.09236E05 8.30859E04 6.57091E04 4.10390E04 9.98302E03 1.50564E04 3.93531E04 7.93042E03 1.31881E04 8.75757E03 3.00806E04 4.46188E04 8.46712E03 8.21062E03 7.29146E03 5.86197E04 7.08115E04 1.50771E05 2.72025E05 9.20203E04 1.38637E05 1.03110E05 3.81925E05 7.43363E05 1.02752E05 1.03052E05 1.67935E05 1.56476E04 3.71120E04 1.47704E03 3.90995E04 3.10797E04 1.85073E03 1.77317E04 1.23165E04 6.09905E03 1.98233E04 2.49035E04 3.77355E04 4.78859E04 2.97574E04 2.04520E04 4.42489E03 2.67112E04 2.68723E04 2.07397E04 2.69152E04 6.02704E04 6.59884E04 2.50851E04 8.44783E03 4.92537E04 6.45109E04 6.95466E04 1.04999E05 2.85960E05 1.69692E05 4.80075E04 4.34403E05 2.48383E05 3.28752E04 9.09594E04 2.19490E05 1.59365E05 4.44697E04 5.43177E04 4.74320E04 1.14648E04 5.89548E03 4.72376E03 9.34371E03 9.52814E03 4.04640E03 5.83042E03 1.18116E03 8.95509E03 8.04673E03 7.17047E03 1.26529E03 9.31555E02 3.26580E03 5.37486E03 1.77380E03 2.91552E03 1.61286E03 2.92084E03 2.39042E03 2.86984E03 2.89747E03 4.06732E03 8.03624E03 8.52821E03 5.76593E03 4.47950E02 5.14735E03 1.50533E04 8.07947E03 1.19427E04 5.23327E03 4.25233E03 2.18942E04 1.14341E04 6.93417E03 1.09394E04 7.20492E03 5.23882E03 1.79834E04 3.40312E04 2.45337E04 5.70021E03 4.90700E02 1.59741E03 1.29579E03 2.97507E02 2.00071E03 7.36286E03 1.95523E03 3.34030E03 5.45943E03 1.95745E03 1.03035E04 1.38038E04 6.38662E03 1.99624E03 5.04214E02 8.72513E02 2.36499E03 1.18219E03 1.71183E03 8.09167E02 8.87700E02 1.52520E03 4.64224E02 2.86354E03 3.89082E03 4.42970E03 1.14619E02 -Frame 257 1.52751E03 4.06539E02 2.34635E05 2.27912E06 2.63546E06 6.33060E05 1.26731E06 2.94767E06 1.32070E06 4.50242E05 5.40440E06 5.22238E06 3.96086E05 1.33905E06 3.38347E06 1.27676E06 1.14564E04 3.37636E05 4.26679E05 1.43515E05 3.89302E04 1.73402E05 4.26059E04 3.78987E04 4.02005E05 8.32500E05 3.80899E05 3.83321E04 1.02920E05 3.48859E04 1.22648E03 5.30313E04 1.58314E05 7.99233E04 1.63561E04 9.89975E04 6.41974E04 5.55756E03 1.13003E05 2.79998E05 1.82328E05 4.61229E04 9.27114E05 1.22405E06 1.83762E05 6.53126E05 2.36418E06 1.95916E06 3.80770E05 1.09736E05 4.26834E05 1.11663E05 4.82184E04 1.66222E05 1.40912E05 2.86534E04 2.86981E04 7.65061E04 5.31939E04 1.48121E05 2.11399E05 1.67488E05 1.04180E05 1.22621E05 9.42495E04 2.79144E04 4.48431E04 1.04300E05 6.25288E04 1.77968E04 2.40000E04 3.61348E04 4.01445E03 2.94827E04 6.86042E04 5.85507E04 2.67483E04 9.33720E03 1.71709E04 2.48057E04 8.83748E04 5.30002E05 1.10437E06 7.15119E05 1.29925E05 4.79935E04 5.34110E04 1.17254E05 1.99333E05 1.21614E05 7.22482E04 6.57024E03 1.63137E04 1.73312E04 4.82420E03 1.24638E04 1.16223E04 1.20054E04 3.41816E04 4.51622E03 5.19817E04 5.50977E04 2.95389E04 1.06604E04 4.45289E03 2.52573E04 1.10662E05 8.11984E04 1.19757E05 4.30002E04 1.93785E04 1.08230E05 4.61124E05 5.42940E05 1.33596E05 3.94977E04 9.28368E05 2.44997E06 1.41327E06 1.29538E06 8.81345E05 1.83704E06 1.36407E06 3.16941E04 1.12319E06 3.09480E06 3.18057E06 1.89547E06 2.20499E06 1.53098E06 2.65953E06 3.09897E06 1.56205E06 1.72643E06 7.20663E05 3.22343E05 3.93056E05 3.83319E05 1.73032E06 7.30716E05 5.36237E05 1.45848E06 1.18368E06 1.19077E05 6.91481E05 7.72834E04 7.10412E05 5.59140E05 4.26897E04 1.18469E05 5.07799E04 1.51756E05 6.06144E04 1.33257E05 2.13348E05 3.20971E05 2.39430E05 6.14560E04 4.93473E04 2.02365E05 9.30353E04 1.53139E05 3.98554E04 3.47238E05 2.59647E05 1.84091E05 2.92103E05 6.35007E05 2.58115E05 7.00788E04 1.91077E05 5.87403E05 4.19132E05 6.99894E04 3.19673E05 4.74929E04 1.30667E06 5.23615E05 1.44589E05 1.96751E05 1.81268E05 1.28568E05 6.30461E05 2.34762E05 4.99561E04 5.60630E04 6.46284E04 1.33389E05 1.18393E05 5.83753E04 1.90117E04 9.04678E03 1.60490E04 8.59602E04 1.17783E05 3.86028E04 1.19995E04 3.97050E04 4.52042E04 4.67020E04 5.32507E04 1.95826E04 2.73251E04 4.53985E04 2.60495E04 1.79167E04 9.13232E03 7.88708E03 6.14595E03 6.92126E03 7.82571E03 3.31590E03 7.16535E03 1.19790E03 1.48084E04 1.58136E04 2.01230E04 9.67552E04 1.56465E04 4.02232E04 8.70361E04 5.30661E04 4.75414E04 4.46009E04 3.88635E04 4.53721E04 5.21351E04 2.61487E04 8.86174E04 6.21070E04 5.16314E04 1.58618E04 1.30570E04 2.04328E04 1.17576E04 2.35408E04 3.57885E04 8.87799E03 8.04363E03 1.05744E04 3.05459E04 4.27866E04 1.20166E04 8.41087E03 3.31695E04 2.98503E04 1.60160E04 2.36947E04 3.64111E04 2.65774E04 1.60566E04 1.35272E04 3.72726E04 1.22427E04 7.81239E03 1.57215E04 5.21347E04 -Frame 257 6.34971E04 9.26967E04 3.48637E05 8.27908E05 4.69152E05 4.32005E04 3.73432E05 5.11213E05 9.59807E03 1.07067E06 2.48249E06 8.68819E05 2.16784E05 8.28510E05 4.28440E05 1.19241E04 8.22481E04 1.27207E05 1.97391E04 1.16321E04 5.16722E04 3.16407E04 8.26772E03 2.95897E04 9.70990E04 8.30872E04 9.14030E04 4.41929E04 1.45171E04 2.08763E03 1.45737E04 1.74914E04 9.61493E03 3.07148E04 5.29255E04 2.85778E04 1.48105E04 3.79829E04 3.41458E04 2.32017E03 3.25010E04 1.59632E05 1.98694E05 3.51432E04 1.76911E05 2.97866E05 1.25167E05 9.87882E04 1.39431E05 3.45272E04 1.61920E05 1.36370E05 2.13712E04 2.18424E03 2.60900E04 2.32396E04 3.80408E02 4.80081E04 9.22373E04 1.05990E05 1.50831E04 3.97896E04 9.16224E04 4.38707E03 1.06261E04 2.98511E04 1.85925E04 2.60877E02 2.73957E04 1.96045E04 8.24989E03 3.53903E04 2.34909E04 6.26491E03 1.37017E04 7.29617E04 5.92051E04 1.46633E04 6.27667E03 1.06115E04 1.49270E04 1.45387E05 3.91808E05 1.55523E05 4.29774E04 2.28515E03 1.57640E04 1.34455E04 1.81317E04 3.83960E03 2.03238E04 6.64252E04 1.37523E05 1.47273E05 8.57063E04 5.92257E04 8.94589E04 2.84880E05 3.76971E05 2.57990E05 3.51627E05 5.40962E05 2.52489E05 2.54048E04 2.03129E05 2.27894E05 1.72568E04 6.85351E05 1.90881E06 1.03682E06 2.66610E04 7.09883E05 1.00300E06 1.07193E05 3.24097E05 1.12104E06 1.03999E06 8.04252E05 3.01664E06 4.01144E06 7.36501E06 1.05304E07 1.22528E07 1.78969E07 2.76486E07 4.34236E07 7.04441E07 8.01605E07 5.87368E07 6.52604E07 1.11830E08 1.13200E08 7.21759E07 5.09787E07 3.17449E07 1.18213E07 6.71422E06 1.02291E07 9.92547E06 3.26458E06 1.77485E06 5.77330E06 9.87684E06 1.12636E07 6.74092E06 1.50541E06 6.97746E06 1.96955E07 1.73777E07 1.12615E07 5.24612E06 2.06324E05 2.84061E06 8.13501E06 1.24532E07 1.98264E07 1.20510E07 3.25065E06 1.30311E07 1.44422E07 1.69425E06 1.49216E06 3.13499E06 6.57814E06 9.73500E06 3.00596E06 2.62532E06 9.25802E06 1.31837E07 8.82598E06 1.31872E06 6.83300E06 1.55425E07 9.98583E06 3.42105E06 2.30705E06 1.02941E07 1.77980E07 1.21517E07 1.97395E06 2.46302E06 1.18951E07 1.10565E07 1.76385E06 1.08546E06 5.15544E06 4.12786E06 4.76968E05 8.85451E05 9.01104E05 1.01247E05 3.34118E05 1.03341E06 3.71607E05 5.80288E05 1.09129E06 1.06886E05 3.99715E05 1.02771E06 4.81004E05 3.17663E05 5.21332E05 2.80376E05 2.49606E05 3.60908E05 2.39663E05 7.82474E03 1.59193E05 2.13120E05 2.19595E02 1.71676E05 1.83376E05 2.59087E05 6.49296E04 1.13366E05 4.25269E05 2.02208E05 3.81026E05 8.14031E05 3.17098E05 6.36525E05 7.31514E05 5.97688E05 1.74335E06 1.03725E06 5.71478E05 2.01146E06 1.78832E06 7.86008E05 1.21523E06 1.67581E06 9.66576E05 1.47106E05 2.12906E05 6.79305E05 5.65985E05 9.10455E04 8.31059E03 1.10098E04 5.27341E04 3.42825E05 4.44694E05 2.27505E05 3.08319E05 1.13688E06 1.55722E06 7.74246E05 3.58957E05 6.30510E05 9.60080E05 1.20948E06 9.15605E05 3.20394E05 4.23156E05 7.27442E05 6.08460E05 4.04923E05 -Frame 257 1.22790E05 3.11131E04 2.39523E04 1.06073E05 5.08339E04 5.77345E04 1.11793E05 1.95906E04 4.04324E04 2.02189E05 2.01880E05 9.29991E04 8.65462E04 5.07777E04 6.16769E03 1.04128E04 6.53686E03 8.53718E02 7.20301E03 4.45549E03 2.09330E02 1.99860E03 3.23322E03 1.64041E04 1.32140E04 2.30388E02 5.82455E02 5.11332E02 6.35550E02 4.85045E03 1.71649E04 2.27254E04 4.16382E04 2.70272E04 3.07323E04 6.01223E03 1.04971E03 1.82216E03 1.83714E03 6.75927E03 1.79036E04 6.12293E03 3.36634E04 7.02596E04 5.63490E03 9.57587E03 7.25600E01 1.53043E04 1.59734E04 1.15060E04 5.42932E04 1.28247E04 7.90400E03 1.41379E04 1.08799E04 1.64920E04 6.87933E02 1.46503E04 1.35363E04 1.18825E04 4.12443E03 3.97581E03 2.21816E04 1.07565E04 1.38799E04 1.04415E04 9.54547E03 8.21136E02 2.81122E03 6.97445E03 1.01177E04 4.96358E04 1.05719E04 2.89552E03 2.40085E04 4.52595E04 1.09286E02 2.51075E04 5.83393E03 7.76753E03 2.06639E04 1.07386E04 8.95626E04 1.21528E05 8.85966E04 8.82935E04 8.24195E04 5.51810E04 2.54120E04 1.18184E04 5.78161E02 1.71315E04 1.56895E03 2.54387E04 1.59704E04 7.95814E04 1.04847E05 7.51854E03 5.29868E05 3.98362E05 2.32171E05 3.24758E05 2.53896E05 1.89900E05 4.78227E05 4.82608E05 1.50540E04 1.40912E06 2.90883E06 2.31315E06 2.00876E06 2.26454E06 1.39978E06 1.12793E06 3.01912E06 4.71723E06 2.06637E06 1.05719E06 5.13632E06 4.34524E06 2.10678E06 1.27275E06 3.20327E05 2.84378E06 9.74383E06 2.52510E06 1.43981E07 1.59579E07 1.17441E07 1.73943E07 5.96415E07 3.90458E07 6.53457E05 2.59644E06 1.75373E07 2.08415E07 1.21802E07 3.13127E06 1.30882E06 3.72738E06 5.35032E06 6.94103E06 2.48915E05 1.59419E06 1.81870E07 4.49868E07 5.88445E07 1.97598E07 7.08614E06 1.99534E07 4.90420E05 2.89830E07 3.30760E07 5.44587E05 1.18547E07 4.96844E07 3.38910E08 4.83647E08 2.08203E08 9.54322E06 5.96440E07 6.42179E07 3.60896E07 3.93184E07 3.24397E07 7.32835E06 5.91557E06 2.97814E06 5.55688E05 2.03503E07 5.01726E07 6.30655E07 3.58341E07 1.28293E06 1.13665E07 1.67773E07 5.36120E06 9.70533E06 3.57196E07 1.69508E07 1.90574E07 2.53898E07 4.87469E06 4.51442E06 2.31544E07 3.85962E07 5.16540E06 1.18371E07 2.21158E07 4.12914E06 3.85156E06 4.15740E06 3.01290E06 2.46076E06 4.47558E06 9.22610E06 3.97637E06 1.70392E06 4.98117E06 1.83911E06 1.74330E06 5.72395E06 7.10837E06 6.35467E06 5.33585E06 6.40203E06 2.10165E06 4.82970E05 3.67543E06 7.63970E06 1.06775E07 5.35002E06 4.22915E05 4.47962E06 4.09491E06 2.85624E05 2.30125E06 5.09587E06 3.15811E06 6.53045E05 2.67114E06 4.00481E06 3.04439E06 4.18847E06 3.55716E06 2.98858E06 8.19219E06 7.88346E06 2.82866E06 8.62500E05 3.68556E06 3.81713E06 6.04561E05 1.48239E05 1.58573E06 1.12474E06 3.65125E05 3.83465E05 7.88357E04 6.76645E05 3.74897E06 3.65996E06 3.42842E06 4.58774E06 3.33097E06 5.60723E05 1.28785E06 3.87579E05 2.48751E03 1.50362E05 2.60316E05 1.98896E06 8.21482E05 1.19304E04 1.63488E06 9.01038E05 1.90967E05 -Frame 257 5.74938E04 1.38454E05 6.49806E04 8.67106E04 3.85634E04 2.75088E04 6.25885E03 1.19890E04 9.60150E03 1.80600E03 1.33600E04 4.48214E03 3.84169E03 2.29997E04 6.65561E02 6.33928E03 1.59749E04 4.19752E03 5.02549E02 2.23577E04 1.30679E04 2.23007E02 2.43960E04 1.28500E04 1.42785E04 6.56234E03 9.10113E03 1.45162E04 6.25434E02 6.86781E03 3.20592E04 1.12894E03 4.32635E04 7.15220E04 3.58171E04 1.35318E04 3.39524E03 1.90699E04 2.67150E04 2.39414E04 7.16741E04 2.41281E03 1.39014E04 4.06269E04 2.75548E04 2.16786E04 5.19802E03 6.34276E04 8.81531E04 3.82353E04 2.79359E04 1.30734E05 9.21716E04 5.69633E03 3.15855E04 7.51976E04 1.03989E05 2.40894E05 8.99158E04 4.34211E04 3.24465E04 1.72071E04 8.23427E04 3.60692E04 3.33313E03 2.03751E03 8.39046E04 7.51916E04 1.67392E04 3.44505E04 1.68051E04 1.62808E05 5.03537E04 2.39864E04 6.49457E04 2.99389E04 1.06321E05 6.07720E04 1.42632E05 5.42209E04 3.97428E03 7.00527E04 2.63127E04 3.77054E04 2.66836E05 9.11277E04 5.65147E04 1.65604E04 1.69404E04 9.95955E04 1.35370E04 5.43561E04 3.27879E03 1.28331E05 2.11526E05 2.64314E05 4.46592E05 5.88093E05 1.16492E06 2.70071E05 1.85445E04 1.62942E05 5.81794E05 6.06325E05 3.81064E05 3.89981E05 4.44470E05 3.83808E05 3.04662E05 7.82870E05 9.83734E05 1.16867E06 5.01513E05 1.05753E06 3.51577E06 2.53147E06 3.92073E05 2.34136E06 1.19189E05 6.22830E06 1.70442E07 2.01491E07 1.09537E07 3.53670E06 4.58977E06 1.20239E07 4.49093E06 1.58150E06 2.43040E06 6.61575E06 1.29325E06 1.53571E06 2.24006E06 5.37542E06 3.34016E07 3.87375E07 1.05251E06 6.65670E06 5.26336E06 1.60605E06 1.16754E07 4.76983E07 5.01794E07 3.45841E07 9.41245E06 9.99449E06 1.38415E07 7.40993E06 4.06573E07 9.98731E07 4.48905E07 2.92789E07 1.65253E08 9.00101E07 1.12914E08 2.20402E08 2.06620E08 5.68080E08 5.94309E08 2.73858E08 1.48279E08 2.01964E07 3.56380E07 1.00456E08 5.52799E07 2.46988E07 3.06700E07 2.81027E07 1.22377E07 4.20403E07 1.31101E08 6.77065E06 3.68988E07 4.83574E06 1.64193E07 3.79531E07 1.87451E07 2.56077E07 1.97952E07 2.43491E06 1.29338E07 1.32795E07 2.22448E07 2.55171E07 5.18938E07 1.22834E08 1.38250E08 1.00082E08 8.96993E07 3.34149E07 9.26157E06 2.16972E07 1.89329E07 2.59165E07 3.32390E07 4.64194E07 1.65203E07 1.13432E07 1.81931E07 2.17429E07 2.25888E07 5.12054E06 1.72570E07 5.23297E07 2.94611E07 1.48930E07 2.81200E07 4.94517E06 2.31840E07 1.97903E07 1.69727E07 7.61929E07 7.88703E07 4.26669E07 1.68160E06 7.38981E06 3.03543E07 4.42148E07 1.26404E07 3.94714E04 4.88810E06 1.28804E06 3.34372E06 3.41878E06 7.96508E06 7.10991E06 1.69269E07 2.26277E07 5.83310E06 1.79146E06 8.89472E06 4.75548E06 1.86239E05 1.21786E06 4.19424E05 9.26707E05 6.17883E06 2.04530E07 2.74040E07 6.43406E06 1.02654E07 3.04127E07 1.37059E07 2.85538E07 2.59470E07 5.08726E06 3.89946E06 1.43642E07 1.15264E07 7.70986E06 1.28680E07 2.44890E07 1.10888E07 2.89231E06 2.63202E07 2.29981E07 4.45583E06 -Frame 257 7.15143E05 2.74563E05 7.25318E04 4.34847E04 1.77203E04 7.30496E03 3.63944E03 2.28790E03 8.07350E03 1.69759E04 3.77287E03 1.82762E04 5.97465E03 6.34621E03 1.96768E03 2.15409E03 1.97021E04 4.68636E03 1.54490E03 5.55739E03 1.78195E03 2.39883E04 3.07300E03 7.44389E03 2.07878E02 1.01169E04 3.18540E03 6.38440E02 2.35600E01 1.58475E04 7.09212E03 1.10278E04 2.01527E04 4.91377E04 6.64641E04 9.03355E03 1.70736E04 2.07942E03 1.05845E04 2.93715E03 1.74301E03 2.69172E04 7.55939E03 1.39328E04 4.49344E02 6.54085E03 6.23738E03 1.75977E04 5.19572E04 1.45720E04 3.65776E04 2.07597E05 1.61609E05 1.27237E05 7.91025E04 2.57633E04 1.00476E04 8.74534E04 5.36635E04 1.87197E02 2.75714E02 3.14836E04 1.72741E04 1.52094E04 2.87612E03 1.39240E04 3.53968E04 1.31227E05 1.74246E04 1.78542E04 3.92140E04 1.32214E05 6.34960E04 5.21558E04 4.43514E04 2.68284E04 1.07185E04 5.51211E03 3.71706E04 1.99315E05 1.80539E05 4.03539E04 6.99785E04 3.71435E05 5.72234E05 2.40209E05 1.44943E05 5.89897E02 7.29227E03 1.07620E04 3.85047E03 3.17063E04 2.77830E04 8.73134E04 1.56090E05 1.41677E05 2.99783E04 1.24437E04 1.30982E05 3.35911E05 2.03214E05 5.43740E05 9.18872E05 1.88472E05 3.82018E05 3.36836E05 5.45618E04 4.57112E04 3.53267E05 1.20835E06 1.37414E06 2.61835E05 2.54580E05 3.84586E06 4.30938E06 1.34588E06 8.81125E06 7.56387E06 3.40202E06 6.63485E06 3.66135E05 4.00964E06 6.95664E06 4.63155E06 7.58331E05 1.65213E06 1.51938E07 1.83664E07 2.27276E06 4.99903E06 4.20029E06 5.81603E06 1.28859E07 2.96546E07 4.34960E07 2.79475E07 1.19633E07 1.30472E07 1.49437E07 1.19888E07 2.45655E07 4.26006E07 1.44636E07 4.85846E07 1.24180E08 2.17972E07 1.03861E06 4.85373E05 2.53920E07 1.67387E08 1.32336E08 1.92399E08 2.97398E08 1.17930E08 1.68692E08 4.04713E08 3.38580E08 4.55886E07 5.72610E07 2.95611E07 2.97528E06 1.02132E08 8.61164E07 3.08367E07 2.39661E08 8.41805E08 9.96039E08 5.39966E08 2.70338E08 5.76326E08 9.26748E08 6.58841E08 1.53658E08 1.00042E07 4.28744E07 1.04957E06 6.46599E07 2.05638E08 1.64097E08 2.54958E07 2.56729E07 1.28491E08 2.34575E08 2.45363E08 6.17395E07 2.12768E07 7.31673E07 1.87994E07 2.86543E07 3.40428E07 3.73214E07 1.91792E07 7.85242E06 3.92057E07 1.83918E07 4.77263E07 5.78475E06 1.18444E07 3.79131E07 2.64136E07 3.11073E07 6.25922E06 1.41918E07 1.86932E07 1.13994E07 8.27882E07 1.60069E08 1.02319E08 8.08237E07 1.76507E08 1.50645E08 3.85797E06 8.96397E07 9.73881E07 9.96061E06 2.46605E07 8.02920E06 1.15301E08 2.30856E08 1.46531E08 9.78283E07 6.08902E07 1.76148E07 7.21097E05 1.60610E07 2.81150E07 1.07220E07 3.28385E07 5.88975E07 3.79151E07 2.40662E07 3.41018E07 2.14432E07 1.13722E07 6.98051E06 1.06267E07 2.57313E07 4.87254E07 7.59727E07 7.18878E07 4.64835E07 1.56137E07 2.57985E07 5.06648E07 6.46881E07 6.35107E07 3.50685E07 8.95109E06 5.40484E06 1.49086E07 2.84961E07 2.24940E07 5.60521E07 4.90894E07 7.52192E07 1.55993E08 1.90322E08 -Frame 257 3.02555E05 2.34419E05 2.46793E04 3.24484E03 5.62570E03 2.01301E04 2.27798E02 2.48425E03 4.07976E03 1.04683E03 1.89128E04 1.39701E04 4.19278E03 2.24365E03 3.15059E03 5.91730E03 9.13398E02 2.80760E03 4.47948E03 1.01628E02 5.76709E03 2.01522E04 7.12674E03 2.17965E03 4.12702E03 2.81154E03 5.53929E03 6.29313E03 3.09775E03 1.87387E04 4.38483E04 6.99843E03 1.47196E04 1.92106E03 2.17615E04 2.48287E04 4.70554E04 3.84968E04 1.21963E04 6.37587E03 1.38269E04 1.40308E04 6.52676E04 3.72016E04 1.07695E04 2.93666E04 1.17308E04 4.34347E04 8.98687E04 1.64096E05 7.25400E04 1.08456E04 5.61218E03 6.55376E03 3.67621E04 2.66039E05 2.08096E05 2.46885E05 3.81101E05 5.30489E05 2.30349E05 6.61057E04 5.17475E03 1.22513E04 7.70744E03 3.29181E04 2.04229E05 3.13474E05 1.19199E05 6.63386E03 4.82352E04 6.41784E03 5.77021E04 2.20552E05 1.65812E05 4.32251E04 1.00112E04 1.96231E04 1.13034E05 1.08812E05 1.72135E04 1.10009E05 1.63151E05 8.88911E04 1.61458E03 4.27108E03 3.25213E04 1.46769E05 1.35083E05 1.91616E05 1.91660E05 8.06072E04 3.28207E03 2.44663E04 1.91294E04 8.30101E04 1.27402E04 1.06466E05 1.23237E05 8.56384E04 1.33981E05 3.53168E05 6.15930E05 8.93484E05 1.08518E06 5.67563E05 2.70983E05 3.70677E05 2.00720E05 4.90001E05 3.49563E05 7.13042E04 3.04208E05 1.51328E06 2.54307E06 6.92679E06 2.06450E07 2.05290E07 1.20700E07 1.27185E07 8.67134E06 2.93370E06 4.09853E06 5.26728E06 1.09253E06 3.68472E06 1.25670E06 2.30317E07 2.85677E07 4.86849E06 4.68546E06 1.59268E07 1.09126E07 4.44710E06 1.83117E07 2.87504E06 3.64174E06 4.54061E06 1.75771E06 3.00277E07 1.96482E07 2.70298E07 1.42711E08 2.16832E08 1.43945E08 1.62524E08 7.63363E07 3.30414E07 1.24948E08 2.53450E08 2.05108E08 2.66400E08 3.59404E08 1.84564E08 1.18515E08 1.40608E08 3.35400E08 3.54979E08 3.88191E08 2.32401E08 1.71085E08 5.16930E07 6.31069E07 2.89023E07 1.18191E08 1.60783E08 7.69812E08 4.02737E08 3.40875E06 5.78562E07 3.52811E08 1.36774E08 2.95280E08 1.14491E08 4.66537E07 7.11337E08 1.48057E09 8.50973E08 3.10077E07 3.99021E08 6.16315E08 3.49980E08 2.27043E08 1.16304E08 2.74355E07 1.78813E08 6.55717E07 7.43411E07 1.89623E08 1.72605E08 6.77631E07 5.35428E07 2.01935E08 1.88082E08 8.87923E07 7.99872E07 9.13571E07 5.27644E07 4.33703E07 8.68808E07 9.71294E07 3.36588E07 2.48277E06 4.63839E07 8.15113E07 1.35506E08 1.63663E08 7.39806E07 1.24999E07 3.58628E07 1.54241E08 5.12393E07 5.52460E07 3.42781E07 2.61183E07 4.99006E07 1.50203E08 3.92034E08 3.13838E08 1.10956E08 2.10846E08 3.66019E08 1.15687E08 7.59241E07 7.91044E07 2.16526E06 2.68791E07 2.54097E06 4.14910E07 1.40429E07 1.15779E08 1.11143E08 1.51576E07 1.33550E07 3.94291E07 4.69899E07 8.18004E07 1.36219E08 1.85360E08 1.48929E08 5.46253E07 9.23850E07 9.35998E07 8.41735E07 6.99972E07 1.13362E08 1.97357E07 8.13745E07 1.74620E08 1.95494E08 6.95317E07 2.46053E06 1.00652E08 1.68771E08 1.38225E08 2.38295E07 1.03083E08 -Frame 257 6.02730E04 1.55590E05 6.91879E04 8.06561E03 3.51168E03 4.00926E01 3.77573E03 9.08554E02 8.04186E01 2.74140E03 1.00397E03 3.67645E03 1.40003E03 1.58707E03 7.85978E03 3.99061E03 2.32873E03 9.56042E03 1.03303E04 5.68733E03 2.46745E04 1.47393E04 4.12927E03 8.07484E03 7.73289E03 4.07602E03 7.08337E03 2.52981E04 2.79554E04 7.89582E04 5.60649E04 1.49517E04 5.89244E04 9.38104E04 3.77259E04 3.43332E03 2.54170E04 6.56888E03 9.86830E03 9.44518E03 3.32457E03 1.57931E03 2.60113E04 3.08224E04 4.04238E04 3.05091E04 2.50250E03 3.43173E03 4.50143E04 1.13305E05 7.41132E04 1.57391E03 3.21318E02 7.14670E02 2.71431E04 1.18508E05 5.95091E04 2.75452E05 5.99238E05 3.04136E05 1.26359E05 1.11329E05 5.61205E04 5.14620E04 1.39902E05 1.21945E05 5.52952E04 9.54212E04 5.72488E04 1.40033E04 2.27699E04 5.06758E03 4.58563E03 2.06263E05 2.73615E05 8.28256E04 1.73254E04 2.02999E03 1.83127E04 6.22311E04 1.95113E05 2.39833E05 1.13791E05 1.80267E05 1.61439E05 1.17977E05 1.71006E04 3.70082E04 2.75250E04 6.98562E04 5.31094E05 3.75544E05 9.75363E04 3.41788E04 1.73525E04 9.09338E04 3.10977E05 5.72619E05 3.63815E05 9.81920E04 1.09823E05 6.47578E04 3.26960E04 5.39277E04 7.41343E05 1.70889E06 1.85819E06 1.67048E06 6.85070E05 9.60506E05 1.15894E06 1.64888E05 5.12402E04 7.59302E04 1.63560E05 2.45325E06 5.10888E06 3.88539E06 7.64025E05 1.68218E06 2.44288E06 2.86098E05 6.79743E05 9.34344E06 1.03561E07 9.03938E06 8.48315E06 2.95604E06 8.97576E06 8.52343E06 2.40834E06 1.19144E06 2.67103E07 8.24147E07 4.60521E07 4.81722E05 1.61627E07 4.70325E06 9.86353E06 5.25084E07 4.78500E07 3.90327E07 9.56050E07 1.70137E08 1.48154E08 1.66612E08 7.62164E07 8.93786E07 9.59784E07 2.85864E07 4.31937E06 5.51061E07 1.54034E06 1.72032E08 2.31369E08 1.31149E08 3.86629E07 3.00671E07 1.55707E08 2.00751E08 1.38796E08 1.50303E08 2.08994E08 2.85157E08 1.89603E08 1.22949E08 4.02624E08 7.40042E08 3.18236E08 5.22244E07 1.18217E08 5.19692E08 7.45623E08 8.07753E08 1.31098E09 1.31809E09 8.81135E08 7.33840E08 3.99348E08 2.35108E08 2.68482E08 8.42539E07 7.99697E07 1.61523E08 7.18793E07 2.55237E06 3.35523E08 8.14195E08 3.06542E08 4.37523E08 5.18707E08 5.64572E07 1.12546E08 2.08637E08 7.84235E07 9.64390E07 1.52777E08 6.96980E07 4.43351E07 5.14106E07 9.95113E07 2.11078E07 1.16597E08 7.91234E07 4.82025E06 7.63822E06 2.14167E07 7.70061E06 5.63094E07 8.36593E07 1.17413E08 1.91079E08 1.52598E08 6.05231E07 3.36319E07 2.35432E07 5.19286E07 1.05533E08 2.53725E07 7.31107E07 4.37155E08 4.11767E08 1.54018E07 1.43848E08 1.64784E08 2.87755E07 1.39700E08 1.94845E08 7.79347E07 6.40998E07 9.53081E07 8.09825E07 1.85828E07 2.54449E07 7.84538E07 7.40092E07 7.95806E07 1.93148E08 2.56418E08 1.80302E08 2.71312E08 2.53361E08 5.60627E07 6.96746E07 1.64830E08 1.69799E08 2.15903E08 4.90584E08 7.02698E08 2.81353E08 8.21118E07 2.86148E07 2.67019E08 7.50757E08 7.02732E08 3.78535E08 1.95814E08 -Frame 257 5.44327E05 1.42449E05 1.10353E04 1.71147E04 4.09864E03 4.29687E02 5.74803E03 3.08235E02 8.61768E03 4.55398E03 5.88681E02 8.14134E02 2.72136E03 3.21239E03 5.15562E03 1.48637E04 1.37942E03 1.63257E04 3.95318E03 3.16063E03 1.69021E03 1.51813E04 2.47154E03 1.03302E04 7.38547E03 1.85947E04 2.46430E04 2.83411E04 1.23737E04 4.13034E04 2.17855E03 4.75297E03 2.08846E04 4.30435E04 5.19646E04 9.37483E03 4.36069E04 1.99401E04 2.05188E04 8.69559E03 7.95355E02 1.57695E04 1.11875E04 2.01017E04 1.40247E04 1.60979E03 8.55303E03 3.81433E04 4.99601E04 1.33493E05 2.28203E05 8.69562E04 7.70342E04 5.38859E04 4.29625E04 1.77315E05 3.27341E05 5.35013E04 7.14929E04 1.16214E04 4.02384E03 4.80850E04 2.59711E04 2.72997E04 8.29449E04 4.78768E04 9.38266E04 9.88830E04 8.95491E04 1.99791E04 2.20391E03 2.79519E03 4.49612E04 2.64323E05 2.32665E05 2.08565E05 1.14502E05 1.06049E05 2.70950E05 1.98411E05 3.93930E05 7.20335E05 2.76181E05 3.23396E04 2.06439E05 1.96621E05 9.04865E04 2.08974E05 4.48324E05 1.76233E05 3.21488E04 3.87248E05 3.77051E05 8.66256E04 9.23438E04 8.33556E04 9.10200E04 1.59735E05 2.49849E04 8.09464E03 1.50637E05 4.05727E05 6.28449E05 2.08578E05 7.32218E04 2.23371E05 2.36216E05 6.61836E05 5.92203E05 4.33716E05 2.20862E06 1.13529E06 7.06323E05 3.64097E05 1.08996E06 2.75180E06 3.56157E06 2.61077E06 1.25587E06 1.82992E04 1.30230E06 1.14100E06 2.87927E06 4.46822E06 3.51429E06 2.94277E06 1.70207E06 2.91018E06 5.43836E06 1.36207E06 3.68534E06 5.56457E06 2.84059E07 5.10299E07 7.81978E07 4.92724E07 1.97686E07 6.24330E06 1.37777E07 4.82810E07 1.13799E07 2.01134E07 2.89496E07 9.97167E07 7.64550E07 3.41829E07 2.70809E07 1.29835E07 1.13838E07 1.56194E07 2.70532E06 1.42461E07 4.52548E07 1.25751E08 1.05009E08 1.81864E06 4.40887E07 3.08252E07 2.43753E07 1.76121E06 1.16547E06 1.01842E07 2.49948E06 3.17291E07 1.91208E07 5.41918E07 1.39928E08 9.03839E07 2.75097E08 5.64715E08 5.07118E08 2.07240E08 1.41980E08 1.35728E08 5.16189E08 4.16289E08 1.21622E08 3.07288E07 1.09672E08 5.12210E07 3.31130E07 1.07713E08 1.65060E08 1.78985E08 1.09537E08 2.38782E08 6.80138E08 1.02860E09 6.27040E08 2.54856E08 1.28227E08 1.26835E08 2.45087E08 1.03838E08 3.20900E07 5.38657E07 2.42786E07 1.44322E07 9.46004E07 2.28014E08 2.66915E08 1.56835E08 1.30124E08 1.02872E08 6.65356E07 6.79158E07 3.68283E07 6.19546E06 1.70426E07 6.30323E07 9.90229E07 1.09645E08 8.62598E07 6.31800E07 4.84985E07 6.79184E07 4.49787E07 1.07594E08 3.96791E07 3.02239E07 3.82472E07 1.21370E08 1.34109E08 2.50867E07 9.61715E07 1.47982E08 2.81865E08 1.85649E08 3.89986E06 1.68466E07 6.13865E07 4.14239E07 1.11015E08 1.22071E08 1.68871E08 1.31985E08 7.96341E07 4.25922E07 7.22434E07 4.73574E07 1.94055E07 3.22643E07 5.24816E07 2.81758E06 5.79112E07 2.87529E07 3.30314E07 3.61026E07 1.99190E08 2.64173E08 1.30106E08 1.17844E08 1.43620E08 7.46630E07 5.65809E06 2.87470E07 2.40517E07 -Frame 257 8.43614E05 5.69511E05 9.40843E04 6.38575E03 2.57207E03 4.48447E02 8.34936E03 1.02029E04 1.18394E04 5.16245E03 7.08642E03 1.62104E03 6.25582E03 4.50948E03 1.42190E03 3.94572E03 5.53389E03 4.50582E03 1.23334E04 1.49373E04 5.32786E01 7.30000E03 8.24385E02 1.44539E03 1.78686E03 1.39997E04 7.22081E03 7.18288E03 1.21845E03 1.46501E04 1.36048E04 5.30846E03 6.76338E01 2.00800E04 6.26800E04 3.32493E04 4.55169E04 1.61589E04 3.61188E03 1.34378E04 4.92426E04 3.72296E04 2.64113E04 3.82773E03 6.95696E03 5.07539E04 4.81695E04 7.37416E04 1.81855E05 1.51399E05 1.19503E05 2.06672E05 1.44599E05 3.10914E04 3.63859E04 4.45807E04 3.70320E04 1.12097E05 2.37139E05 1.73897E05 8.47472E03 3.43806E04 1.46974E05 1.58887E05 5.94420E04 9.14527E04 1.34937E05 2.61651E05 1.13913E05 8.15388E04 6.79689E04 2.44106E04 1.91670E04 1.43335E05 4.61659E04 7.18340E04 1.40226E05 8.19168E04 4.49476E04 6.77688E04 1.49562E05 1.29574E05 1.73582E05 4.56888E05 2.39384E05 3.41914E05 1.23184E05 1.38154E05 3.71879E04 6.74605E04 3.35648E05 1.92335E05 1.70185E04 9.27745E04 1.05053E05 6.26393E04 4.73073E04 3.64740E04 2.84709E04 4.53891E04 2.08558E05 3.43762E05 3.53641E04 4.40184E05 9.84990E05 2.01741E06 1.17789E06 2.13755E05 9.28641E04 4.38723E05 1.87042E06 1.20498E06 8.68223E05 6.64748E05 1.05703E05 7.76423E03 1.51718E06 3.48883E06 8.89719E05 1.03263E05 1.56634E06 1.35488E06 4.32901E03 1.01960E05 3.30752E05 2.24266E06 4.10533E06 9.59061E06 1.80529E07 1.15675E07 2.74063E06 5.64373E06 4.70340E06 1.31905E07 4.19915E07 1.82560E07 9.64880E06 5.12507E06 2.28037E06 3.96758E07 4.83901E07 1.62827E07 5.57730E07 7.25942E07 2.40365E07 1.40379E07 4.85426E07 1.49248E08 1.04564E08 1.55368E07 2.08322E06 9.48155E06 1.88500E07 3.81504E07 1.38749E08 2.29556E07 6.40146E07 1.41668E08 4.49532E07 2.18937E07 5.81685E07 9.97276E07 9.19826E07 1.64848E07 3.99952E07 1.28281E08 7.17115E07 1.53909E06 6.56287E07 1.81179E08 6.62432E07 1.72749E07 1.73973E07 5.26638E07 9.73270E07 1.48273E08 1.50033E08 2.10837E08 2.58677E08 8.37640E07 5.06300E07 2.13791E08 1.55527E08 3.62139E07 1.47952E08 6.86920E07 1.97683E08 3.57067E07 2.52591E08 1.60852E08 7.24886E07 1.55862E08 1.94246E08 4.99359E07 3.87890E07 2.40795E07 3.13250E07 2.68897E07 2.93456E07 2.66668E07 3.50552E07 1.43508E08 1.01977E08 9.18076E07 5.27485E07 1.20575E08 4.34131E07 2.18497E07 8.58840E07 1.31866E08 2.22398E07 5.41949E06 1.45430E07 8.68261E07 7.89401E07 2.75647E07 2.33992E08 4.15876E08 1.15009E08 1.47401E07 5.35854E07 1.29840E08 1.30383E08 1.03515E08 4.15461E07 2.67042E07 8.54731E07 1.57597E08 1.44109E08 1.01600E08 3.09451E08 4.11667E08 8.66767E07 2.13991E06 4.27176E05 2.64343E07 1.11170E07 6.37539E07 8.24036E07 6.44596E06 2.78538E07 3.07551E07 1.47377E07 3.41801E07 2.37870E08 2.59651E08 8.19342E07 1.38576E07 5.78338E07 1.05744E08 7.54911E07 1.61304E07 1.52156E07 3.78480E07 3.01179E06 1.55718E07 1.23002E07 -Frame 257 7.33690E04 1.02653E05 1.16365E03 9.49839E03 2.94048E03 6.03065E01 5.06041E03 5.60327E03 3.75738E03 4.68783E03 5.87559E03 6.41434E02 1.57014E02 6.39001E02 1.50824E03 1.18931E03 3.76510E02 1.69536E03 6.47962E03 1.09018E04 1.99046E03 1.85383E03 5.00509E03 4.96341E02 1.03213E04 1.70632E04 2.26691E04 5.58454E03 2.54183E04 1.67803E04 2.56659E04 1.03466E04 8.83076E02 1.87834E04 1.90275E04 4.34436E03 5.45157E03 7.55750E03 8.32484E02 2.09480E04 1.95549E04 1.12442E04 3.28873E04 2.83837E04 1.48208E04 5.06505E04 1.38643E04 3.73085E04 5.45770E04 1.82853E04 5.47388E04 4.00942E04 4.46122E04 6.33780E04 2.18599E04 9.58108E03 4.30655E04 2.83695E04 1.71924E05 2.52492E05 1.75039E05 2.97640E05 2.80943E05 4.93409E04 5.95341E03 8.59149E04 2.33044E05 8.96542E04 4.63670E04 1.22821E05 8.25568E04 1.24855E05 2.20687E05 3.51232E05 4.21775E05 1.92147E05 1.07290E05 2.25484E04 3.45256E04 1.83189E05 3.40791E05 2.46032E05 8.16687E04 5.14370E05 5.35706E05 1.29562E05 9.67504E04 2.05391E05 2.31936E05 1.05835E04 4.93307E04 3.49000E04 6.38138E03 2.78014E04 2.23124E04 4.00970E04 2.29852E05 2.69430E05 9.91927E04 5.96698E04 2.35106E04 2.34113E05 5.18920E05 1.38215E06 1.96619E06 1.43664E06 5.81565E05 2.48006E05 4.21473E05 7.22661E05 1.38853E04 6.41243E05 5.60355E05 8.85028E04 4.04016E05 8.82948E05 2.11933E06 1.52653E06 4.34637E05 1.49895E06 2.94200E06 2.51384E06 2.38890E06 1.07005E06 4.43012E05 2.73943E06 1.28986E06 2.39068E06 3.32816E06 2.86060E06 4.23642E06 2.93205E06 5.16417E06 2.58725E07 6.71967E07 4.35475E07 7.58850E05 1.00885E07 8.96802E06 1.02658E07 2.13411E07 1.29827E07 3.92422E06 1.62464E07 3.15929E06 3.46539E07 1.01349E08 6.60185E07 2.74715E07 8.87416E06 3.92289E06 3.36748E07 1.21408E08 1.41417E08 5.59055E07 1.18001E08 2.15774E08 1.60823E08 3.00759E07 1.36500E07 1.06458E08 1.93751E08 9.22414E07 2.38740E07 5.55457E07 7.95007E07 2.55593E07 3.63452E06 1.55418E07 1.41406E07 2.32717E07 1.68141E07 5.08079E06 3.44325E07 1.01735E08 1.24704E08 5.21134E07 4.08207E06 4.24666E07 7.64127E07 1.55810E08 3.35971E08 7.24933E07 8.03029E07 7.80031E07 3.07801E08 9.68489E08 9.48519E08 6.55947E08 3.38092E08 6.14062E07 2.03919E08 2.04050E08 1.53161E08 1.51798E08 8.76873E07 2.60909E07 1.74995E07 3.52565E06 1.19028E08 3.14938E08 2.99218E08 6.81237E07 3.83050E07 7.14659E07 5.13713E04 4.25494E07 2.46765E07 4.77153E07 1.12529E08 6.72234E07 4.53431E07 7.98764E07 1.11567E08 3.25387E07 3.04318E07 2.61271E08 2.94888E08 6.00592E07 2.96866E07 9.36794E07 4.38054E06 2.78519E07 4.11034E06 5.64938E07 1.09860E07 9.80858E05 4.21736E06 1.84357E07 3.73074E07 1.51254E08 2.09785E08 5.61829E07 3.85035E07 2.70870E07 8.35673E05 1.91575E07 2.72189E07 3.14873E07 8.56516E07 3.71516E07 7.09076E06 2.49425E06 4.43478E07 1.67319E08 1.39845E08 9.34445E06 1.17781E07 1.39061E07 5.83613E06 2.37731E07 3.26803E07 5.38231E07 6.53602E07 7.56352E07 5.19249E07 1.21144E07 -Frame 257 4.83844E05 3.77689E05 6.36435E04 1.12608E03 1.20905E03 4.73592E03 1.58718E02 2.13957E03 6.95983E03 6.40071E03 5.58637E03 1.90755E03 6.85597E02 1.35213E03 5.79500E03 6.53661E03 5.53193E03 9.17330E03 2.56199E03 3.11134E01 9.00272E03 1.53295E04 1.45564E04 4.12066E03 4.19145E03 1.54053E04 7.70871E03 1.16416E03 8.18299E03 8.59597E03 3.52541E04 6.92565E04 2.33605E04 4.05651E03 2.62987E03 6.03340E03 7.85030E03 2.46276E04 1.36832E04 8.57147E03 1.52758E03 1.89363E04 2.24361E04 6.10116E04 4.43889E04 2.90657E04 4.82410E04 1.42958E05 1.58405E05 6.40886E04 7.84737E04 1.06044E04 1.61678E05 1.73961E05 2.03655E04 9.23519E04 1.97032E05 1.30338E05 1.29230E05 1.05293E05 1.48787E05 3.14985E05 2.86786E04 4.48591E04 2.80336E04 5.10843E03 4.71271E04 3.01171E05 3.80208E05 3.10071E05 8.90450E04 3.68946E04 7.77166E03 1.47466E04 8.02400E04 3.24657E05 1.77350E05 6.88961E04 1.30012E05 1.69536E05 2.98319E04 3.55846E05 2.52570E05 1.72541E05 4.48884E05 3.01266E05 2.66884E05 6.56126E05 4.43914E05 1.72205E04 7.76928E04 1.09279E05 2.56372E05 2.69332E05 2.61533E05 2.45720E05 5.93528E03 2.30657E05 6.35794E05 3.94915E05 4.19199E04 3.19480E03 1.43156E03 3.98325E04 1.20843E05 3.54611E04 2.28979E05 8.20620E04 2.33332E05 2.90484E05 5.76709E05 6.65943E05 2.74441E04 7.22373E04 5.97245E05 5.79706E05 2.05628E05 2.48903E05 6.29348E05 5.82623E06 4.80376E06 2.19633E06 8.37998E05 5.95424E06 8.82685E06 7.89262E06 4.44097E06 1.43777E06 2.93062E05 3.89592E05 4.16406E06 3.85864E06 8.45789E06 1.33321E07 1.17807E07 4.88461E07 2.17932E07 6.16218E06 1.29974E06 1.53205E06 5.78579E06 4.37867E06 6.49254E05 4.13684E06 1.89451E07 1.00085E07 3.02692E06 5.95358E06 1.73680E06 2.37255E05 3.31736E06 1.10095E06 3.85454E07 9.14473E07 3.80873E07 2.69880E06 4.50962E07 1.68426E07 2.44018E07 1.07932E07 2.16472E07 2.32309E07 1.84911E07 6.28076E07 4.18625E07 7.47784E05 1.32520E07 5.92916E06 8.34306E06 5.32204E06 2.85320E07 6.22004E07 5.23007E07 1.23691E08 3.00598E08 1.40110E08 5.33143E07 8.52067E07 4.69384E07 2.65685E07 7.37089E07 1.25184E08 3.62137E08 4.77081E08 3.19784E08 1.96535E08 2.16792E08 9.40249E07 2.34986E06 8.46196E07 1.39592E08 7.92955E07 2.29315E07 8.17125E06 1.74046E07 4.35281E07 5.92117E07 5.84010E06 8.73342E06 4.60832E07 5.99515E07 1.82832E07 1.63242E07 7.81606E07 1.06797E08 7.05993E07 1.67739E07 7.75199E07 6.12340E07 1.42703E07 1.51649E07 7.66519E07 5.42139E07 3.39160E07 6.46302E06 2.43671E07 5.19289E07 2.39269E07 4.96035E06 4.34961E07 7.82500E07 7.24510E07 3.30873E07 5.34211E07 8.49280E07 3.54272E07 5.62043E06 2.76671E05 1.74771E06 1.30331E05 1.74419E07 5.11006E07 3.81924E07 2.56694E07 1.56678E07 2.02215E07 4.54903E07 4.35527E07 5.11806E07 6.94777E07 1.76038E07 6.50074E06 8.33179E05 2.41531E06 1.14628E07 1.79595E07 2.47090E07 5.52243E06 1.54269E07 1.13672E07 8.28891E06 3.75189E07 1.74357E07 8.61912E06 2.26272E06 4.13651E07 8.92842E07 -Frame 257 1.13125E06 4.16022E05 7.39982E03 1.35090E04 9.91799E03 4.95917E03 2.54898E03 1.59649E04 2.69976E04 1.80244E04 1.53286E04 1.12725E04 1.57510E04 2.82280E04 3.62000E04 7.55367E04 8.85858E04 4.02688E04 3.59621E04 4.79076E04 4.18835E04 1.21193E05 1.71119E05 1.31983E05 1.05914E05 1.47182E05 8.35345E04 5.63650E04 5.83677E04 5.54919E04 9.79983E03 1.21590E02 1.23836E04 2.26693E04 1.69985E04 5.02730E04 3.82878E04 4.41191E03 2.84171E03 5.85697E02 1.31309E04 2.21610E04 8.84035E03 2.05540E04 8.23336E03 1.66857E04 4.75913E04 4.88994E04 1.66927E05 2.15597E05 3.65080E05 8.26892E05 9.65597E05 5.51461E05 1.24715E05 1.55040E05 2.75515E05 6.73043E04 5.34296E04 1.93756E04 1.32758E05 1.69452E05 6.63600E04 9.51898E04 2.12201E05 1.08314E05 1.27936E04 1.92771E05 3.83996E05 2.07648E05 3.90059E04 7.67492E04 2.74163E05 2.78004E05 7.29161E04 6.79894E04 2.51844E05 1.39090E05 8.65015E04 4.00967E05 9.36266E05 1.11214E06 4.94235E05 9.82483E04 4.88281E04 8.28927E05 1.60803E06 6.78059E05 3.17590E04 4.54505E05 3.18208E05 1.89470E05 1.20486E05 4.41281E04 9.02574E04 2.49575E05 7.26354E04 9.46110E04 6.32838E05 3.34354E05 1.35923E04 1.42961E05 2.41083E05 2.11142E05 3.50396E05 8.24331E05 7.99616E05 1.78743E05 8.94726E04 8.17082E04 4.04983E05 6.52572E05 3.51255E05 2.45724E05 8.15016E05 1.22021E06 1.00977E06 2.04448E06 5.03034E06 9.13648E06 1.20244E07 9.41108E06 9.61029E06 9.70974E06 2.23234E06 1.29514E05 1.38272E06 1.35692E06 2.31643E06 5.96790E06 3.43853E06 1.04267E06 7.98004E06 4.06426E07 5.41619E07 3.57614E07 1.82434E07 1.06453E07 7.82122E06 8.79592E05 3.10608E05 1.47612E06 5.25730E05 2.46358E05 3.98621E06 1.04530E07 7.89531E06 1.68754E06 3.77814E06 1.11243E07 2.20423E07 1.43037E07 5.71862E06 4.63528E07 5.25477E07 7.03971E06 2.59332E07 6.39881E07 8.80254E07 9.43409E07 9.41132E07 1.02317E08 6.59442E07 7.94159E07 1.40215E08 8.70950E07 2.65238E07 2.16842E07 4.52205E07 4.23517E07 2.67727E07 1.12847E07 2.79135E07 8.38798E07 1.79102E08 8.77951E07 3.67549E07 2.73384E07 2.38071E06 1.87416E07 2.75920E06 1.10844E07 8.01345E07 7.20596E07 2.71184E07 6.82037E06 4.63800E06 2.35622E06 2.40878E07 3.88330E07 6.16189E07 1.58890E08 1.63584E08 1.09405E08 6.21208E07 5.99687E07 5.28995E07 8.28003E06 7.60847E06 1.66291E07 1.53533E07 1.90012E07 3.52406E06 6.73105E06 1.39773E07 2.68385E06 6.17260E07 1.15718E08 1.14789E08 8.78878E07 9.76750E07 9.86220E07 6.27547E07 5.77814E07 5.57998E07 2.28495E07 1.36786E07 1.25723E07 1.16084E06 4.49103E05 2.08815E06 7.12246E06 5.27568E06 8.83395E06 1.10627E07 9.80867E06 1.05168E06 1.59062E06 4.65310E05 3.68527E06 1.13285E06 3.59893E06 1.90611E06 1.96757E06 8.48575E05 2.51658E06 1.62474E07 9.29495E06 1.26998E07 5.27895E07 5.60054E07 1.55521E07 2.38203E06 1.96057E06 2.96715E06 2.81194E06 6.62364E06 2.55061E07 1.41049E07 7.82431E05 1.02202E07 1.60451E06 7.09109E06 6.63795E06 2.50074E07 4.79270E07 3.91201E07 -Frame 257 1.52723E05 2.33697E05 2.21938E05 3.03512E05 3.01376E05 1.87550E05 1.34505E05 1.30230E04 1.56076E04 3.64504E04 2.23290E04 2.26148E04 4.42244E03 4.51101E03 1.00449E05 1.29967E05 9.41962E04 3.44551E04 2.02075E04 5.33288E03 5.27792E04 7.27007E04 4.05671E04 3.37266E04 1.26999E05 2.86051E05 4.99908E04 2.29766E04 8.52708E04 5.00439E04 1.44388E04 1.19832E04 3.06643E03 1.85804E04 2.00767E04 2.78899E03 1.34247E04 3.03695E04 1.99784E04 3.12163E04 3.50134E04 2.58095E04 6.68619E03 6.24752E03 1.17650E04 2.51764E04 3.25592E04 5.46006E04 3.70611E04 5.22974E04 6.87891E04 2.83004E05 3.26598E05 5.40337E04 2.98423E05 1.92695E05 1.13195E04 1.56186E05 1.82775E04 1.65591E05 2.29333E05 4.14788E05 2.78773E05 1.76041E05 4.63961E05 6.44503E05 1.76060E05 3.38680E04 7.45030E04 1.09097E05 1.12382E05 3.43306E05 4.13769E05 2.07916E05 3.93142E04 7.50498E04 2.56328E03 1.30297E05 2.22662E05 1.27097E04 1.08806E05 2.17365E05 6.26556E05 1.23253E05 4.88304E05 2.37127E05 1.57532E05 4.62992E05 2.53192E05 8.55547E04 3.03045E05 3.13327E05 5.21703E04 2.71190E04 1.28100E05 9.58553E04 5.89949E04 1.12521E05 4.88121E05 1.78443E05 1.19090E05 8.71673E04 2.70676E05 3.74384E05 1.68399E05 5.83490E05 9.30810E05 2.42400E05 4.58280E04 2.53519E05 5.86896E05 9.99369E04 2.10572E05 4.21331E05 1.48352E06 1.69808E06 6.89940E05 1.61521E05 2.95530E05 8.85672E04 8.15761E05 4.16227E05 2.76021E06 1.50327E06 4.60145E05 4.43228E05 2.32250E06 3.73689E06 4.33708E06 1.12307E07 9.31715E06 6.97490E06 6.68624E06 6.42722E06 1.36802E06 9.90377E06 2.40072E07 2.77754E07 6.68823E06 1.47059E06 1.06692E05 9.28002E05 1.73897E06 9.80662E05 4.29584E06 1.74251E06 3.44464E06 1.36523E07 6.29461E06 9.73871E06 1.84306E07 8.56563E06 4.23730E06 2.82065E06 3.37284E06 1.08470E07 2.51319E07 8.48399E06 1.72692E07 3.16791E07 8.60993E05 2.48782E07 2.08869E07 2.00259E07 2.55737E07 1.52692E07 2.59963E06 3.94851E06 3.94894E07 4.47520E07 9.68832E06 4.75255E06 1.84491E07 3.40340E07 1.99917E07 5.18146E06 3.93355E05 1.83863E06 1.19385E07 9.37327E06 1.07431E07 2.11471E07 2.02454E07 4.85136E06 1.91441E06 2.36016E05 3.69256E04 2.31967E06 7.69991E05 6.03006E06 1.79164E07 1.76554E06 8.45016E06 5.77232E06 4.83722E06 1.03005E07 6.70524E06 9.10383E05 1.34298E07 2.15596E07 1.23339E07 8.40310E06 1.04546E06 2.49449E06 9.04940E06 1.33692E07 3.80958E06 1.40378E05 6.65907E06 3.77328E06 8.77673E05 4.46698E06 1.32593E05 4.07934E06 7.47491E06 6.31691E06 2.42597E06 8.93529E05 5.22511E05 1.56103E06 2.43265E06 1.51940E06 1.20689E06 2.04506E06 2.24031E06 3.27181E06 4.82789E06 2.90197E06 1.72286E06 9.80201E05 2.14596E06 4.16791E06 3.49511E06 3.88713E06 3.87526E06 3.38354E06 3.28318E06 1.63551E06 2.24235E05 3.52752E06 6.53178E06 4.34694E06 3.48495E05 9.17729E04 2.48598E05 1.46401E06 2.92701E06 3.84662E06 9.01656E06 7.38596E06 4.56022E06 5.37725E06 2.29021E06 4.95986E05 4.04438E06 6.29498E06 4.45375E06 -Frame 257 1.30393E05 1.52323E05 2.56883E05 1.03930E06 1.44861E06 3.41503E05 1.22541E06 1.43595E06 8.50480E05 9.80322E05 2.24659E06 2.27139E06 1.87972E06 3.19729E06 4.33765E06 2.26327E06 7.16816E05 6.23050E05 3.19586E05 9.49550E04 3.55132E05 5.12016E05 2.53000E05 1.11890E05 1.63464E05 1.57309E05 2.12444E05 8.93318E04 6.41808E04 2.43229E04 1.43060E04 6.95465E04 1.56246E05 1.88891E05 1.59454E05 1.00241E05 7.20114E04 1.01861E05 1.49131E05 5.16613E04 2.47712E04 1.32533E05 1.54590E05 7.01034E04 1.48969E05 1.73212E05 1.26736E05 2.84623E05 5.07407E05 6.20924E05 7.30470E05 1.03097E06 2.35205E06 3.18579E06 1.69833E06 1.77391E06 1.70443E06 7.16313E05 6.39009E05 3.55658E05 1.67330E05 1.61431E05 2.38332E05 3.51416E05 2.96750E05 3.31185E05 1.62904E05 4.90294E04 9.39118E04 4.87685E03 1.56623E04 2.05898E05 1.12961E05 2.03260E04 9.48423E04 1.11021E05 7.66044E04 3.40634E04 9.77970E04 1.54449E05 1.27664E05 1.96927E05 4.13355E05 8.65843E05 1.35626E06 1.55056E06 5.74113E05 8.17092E04 7.46175E04 1.49500E05 1.77181E05 1.53797E05 9.18221E04 8.86172E04 1.95961E04 5.68919E04 1.19487E05 3.70355E05 4.80772E05 1.72805E05 2.07431E04 9.68389E04 1.67703E05 2.31339E05 1.66023E05 5.79411E04 2.93322E05 3.77463E05 4.29061E05 2.98923E05 3.10881E05 3.16020E05 2.09511E03 4.85289E05 1.29293E06 4.57980E05 4.12279E05 6.50888E05 3.27027E05 9.40214E04 6.22992E05 4.32801E06 3.35274E06 3.51285E05 1.92580E05 1.45519E05 4.49530E05 7.36769E05 1.25497E06 4.47783E06 8.12029E06 2.46733E06 1.84298E06 7.46250E06 2.70847E07 5.28774E07 4.66403E07 1.67548E07 3.23490E06 1.82681E06 3.84130E05 1.02192E06 2.01701E05 2.75444E06 4.72849E06 5.36413E06 5.76051E06 2.08671E05 6.80542E06 5.48090E06 1.32033E05 6.79690E06 7.67394E06 7.16566E06 4.88541E06 4.04536E06 1.62184E07 3.03722E07 1.87396E07 2.80604E06 3.07215E06 1.11765E07 4.97686E06 2.78271E06 4.59996E06 3.83160E06 8.11144E06 1.27373E07 9.47421E06 3.43693E06 1.52825E06 2.30491E05 1.74500E05 5.47487E05 8.10748E05 1.55853E06 3.26993E06 3.49611E06 3.23260E06 2.17777E06 6.11906E05 8.39176E05 1.60894E06 8.97901E05 2.23423E06 2.06748E06 2.71051E06 2.49187E06 2.59768E05 1.51526E06 3.65933E06 2.53741E06 2.27778E05 2.75189E05 2.42240E05 2.66640E05 3.12441E05 1.70542E06 2.67629E06 1.82150E06 1.45599E06 2.07330E06 2.04908E06 2.36723E05 3.43265E05 8.97340E05 4.38231E05 4.91329E05 9.85569E05 2.09208E05 6.78725E05 1.48512E06 3.48319E05 1.21725E05 1.45891E05 5.35705E04 2.89908E05 8.46853E05 7.82821E05 2.83521E05 7.72351E05 6.29220E05 2.56860E05 1.13416E06 7.16584E05 3.28862E05 9.07696E05 7.73290E05 4.60702E05 1.90360E05 3.78117E05 8.51917E05 2.74832E05 5.21835E05 9.52159E04 1.41303E04 4.30297E04 1.60122E04 4.64662E05 6.71442E05 9.59266E05 2.73364E05 2.50855E04 1.23525E05 3.99958E05 1.91308E06 1.41580E06 6.83715E05 8.54096E05 9.82704E05 5.81711E05 4.96155E05 1.09320E06 2.34162E06 1.68803E06 9.70010E04 3.05312E04 -Frame 257 3.38902E05 1.18581E05 1.12452E05 1.40543E06 1.52688E06 4.30961E05 2.68526E06 6.35789E06 1.98229E06 9.84009E05 7.02524E06 7.73614E06 2.89705E06 1.44843E07 3.32166E07 1.25720E07 1.53311E06 1.51812E06 1.38638E06 5.26418E05 2.06343E06 2.82725E06 4.83817E05 9.55343E04 6.04519E05 6.08738E05 4.78801E05 5.48973E05 4.29944E05 8.98863E04 4.65031E04 1.86538E05 5.48947E04 6.86589E03 1.71851E05 1.61378E05 9.98927E03 1.87669E04 5.36541E04 1.18292E04 2.52494E04 2.87818E05 2.51805E05 2.76528E04 1.81534E05 6.33117E05 2.21664E05 3.25223E05 1.37884E06 8.58127E05 7.11233E04 1.40479E06 7.19999E06 3.37522E06 4.75997E05 5.75556E06 4.46890E06 8.97164E05 6.93483E05 1.12763E06 3.77966E05 1.39257E05 1.23788E05 9.61110E04 1.67894E04 6.33373E03 3.91262E04 8.12089E04 4.25546E04 3.20638E04 2.37618E04 4.94579E04 1.82400E05 3.66995E04 1.55031E04 6.97343E04 1.54996E05 1.85978E05 5.69373E04 1.10388E06 1.97039E06 2.27306E06 2.20217E06 1.94612E06 1.47368E06 7.39402E05 7.99844E05 8.07464E05 7.35200E05 2.32371E05 2.60773E05 1.44669E05 3.48888E03 1.95408E05 4.84015E05 5.32712E05 2.89130E05 7.42619E04 2.67509E05 8.86407E04 3.04327E05 3.90098E05 7.93020E04 1.69363E04 5.82181E03 9.40085E04 3.79276E04 2.40220E04 9.05488E04 2.62619E05 3.57909E05 4.04978E05 5.91690E04 2.28927E05 3.41461E05 3.48672E05 6.61657E05 2.27169E05 1.03008E06 1.43085E06 2.65431E06 4.00296E06 3.64368E06 1.33836E06 5.59730E05 5.77130E05 4.56174E05 4.98216E05 6.64026E05 1.73581E06 2.12008E06 9.41936E05 4.03096E05 2.56855E05 1.94001E06 2.90692E06 1.78607E06 5.13137E05 1.48038E06 9.98052E05 1.41978E06 1.37394E06 1.92781E05 6.58916E05 4.61097E05 7.66443E05 3.13259E06 4.29789E06 1.85501E06 1.40326E05 3.03716E06 4.35437E06 2.81312E06 1.31527E05 1.82149E05 2.39387E05 2.22888E06 4.51625E06 3.89110E05 8.16962E05 1.57804E06 9.21178E05 5.87161E05 7.12088E04 1.03742E06 2.19471E05 4.09787E05 3.18135E04 3.12607E05 2.21238E05 1.84816E04 7.05396E04 5.87237E04 1.02031E05 2.13509E04 9.67482E05 7.04769E05 1.01986E04 1.82316E05 1.57344E06 1.04270E06 1.35027E06 2.30848E06 1.79779E06 6.45405E05 2.77163E05 2.07436E05 8.85785E04 1.01041E06 1.00491E06 3.63138E04 3.70831E05 2.73982E05 1.05225E05 1.34316E05 2.54479E05 6.39342E04 2.85102E05 2.22581E05 1.82337E05 2.50824E05 4.26048E04 3.39880E04 1.57285E05 1.04455E04 4.84392E04 1.99365E04 1.43416E04 1.20360E05 8.50632E03 1.43430E05 2.39411E05 2.07668E05 1.25294E05 1.03684E05 6.44334E04 9.40296E04 4.09370E05 4.69620E05 1.92125E05 1.19445E05 3.03951E05 1.21877E05 1.13665E04 3.19489E03 9.76834E04 8.63856E04 2.55761E05 1.67695E05 8.93491E04 1.59272E05 1.10906E05 8.35435E04 2.10296E05 1.50910E05 1.20902E05 4.15173E04 1.22756E04 4.99627E04 4.67335E05 4.96549E05 1.46073E05 1.11856E05 3.65423E05 6.62312E05 4.71382E05 9.27456E04 4.05905E04 6.92467E04 2.64508E05 9.81890E04 8.97858E03 1.88492E05 5.39004E05 7.54102E05 5.16797E05 2.85492E05 -Frame 257 1.05467E06 6.47762E05 5.31857E05 2.26441E06 2.36634E06 3.27602E05 3.64242E06 9.96509E06 4.11254E06 1.34693E06 1.06762E07 1.28859E07 3.25412E06 2.54279E07 8.74233E07 4.38608E07 3.75229E06 2.33641E06 2.99947E06 1.10605E06 3.14289E06 7.30035E06 2.77536E06 2.51617E05 1.98179E06 3.11812E06 7.14205E05 3.34556E05 3.59939E05 1.20434E05 1.01943E05 5.13973E05 4.53221E05 1.93318E05 1.92276E05 1.70298E05 5.74076E04 3.47758E04 1.58454E05 2.41306E05 2.04663E05 1.91525E05 3.59293E05 3.79190E05 1.00978E06 1.72218E06 5.22786E05 2.27433E05 1.84274E05 1.53757E06 1.41477E06 4.76353E06 1.05952E07 1.31273E06 4.22664E06 2.84153E06 2.48796E06 7.40931E06 5.44283E06 3.01951E06 6.68428E05 7.46817E05 2.70233E05 6.36313E05 4.27413E05 3.80074E05 6.06785E05 8.59702E05 7.36852E05 5.78359E05 8.22421E05 1.35634E06 1.84612E06 1.65854E06 1.26900E06 7.50024E05 7.23529E05 5.49617E06 9.99529E06 1.22655E07 4.57585E06 1.30244E06 5.40361E06 5.16464E05 1.28651E07 1.11033E07 5.48789E06 4.70287E05 5.79800E05 7.46100E05 2.29219E05 1.48098E06 2.37946E06 1.19172E06 8.81295E04 4.97219E05 9.93935E04 4.56775E05 1.65759E06 1.77663E06 1.06043E06 2.82818E05 5.14403E05 4.34743E05 6.20047E05 1.14653E06 8.97449E05 2.07599E05 5.94036E05 3.67136E05 3.37388E05 6.21898E05 4.67489E05 9.11909E04 1.77177E05 1.80307E05 3.79834E05 1.26750E06 9.24870E05 1.27093E05 7.83136E04 4.05030E04 3.76352E05 1.33739E05 7.00238E04 2.37286E04 1.66913E05 1.43328E05 5.10375E04 8.29662E04 1.05019E05 6.55716E04 7.74318E04 1.48680E05 1.24465E04 3.29384E03 8.54423E04 7.55056E04 9.92001E03 4.29695E04 1.96309E05 3.04241E05 2.32234E05 9.50826E04 2.17203E05 6.47638E05 4.43868E05 1.48415E05 8.22228E04 8.14234E05 6.67977E05 3.55330E05 1.41683E06 9.08911E05 1.32304E05 3.85608E05 1.37061E06 7.54303E05 1.06980E05 7.62021E04 2.88465E03 8.45508E04 2.80665E05 4.57913E05 2.49598E05 1.30034E05 1.16466E05 4.93774E04 2.96165E05 7.25460E05 3.35463E05 1.01436E04 2.04584E05 3.92585E05 1.03405E05 2.48828E05 4.60294E05 2.06617E05 1.20316E05 1.07223E06 1.55988E06 7.59653E05 7.21900E03 5.86566E05 4.21166E05 4.51623E05 1.55562E06 2.58952E06 1.34296E06 1.59870E05 7.13903E05 2.17219E05 1.47694E05 3.88545E04 7.05236E04 3.93876E05 1.95134E05 2.66209E04 2.49704E04 2.21580E04 3.95250E04 1.92482E05 2.04709E05 2.15820E05 2.01576E04 4.81911E04 3.31037E04 3.72984E04 6.47477E04 1.29748E05 8.12833E04 5.94388E04 6.57038E04 4.60989E04 4.98274E04 1.30221E05 7.46892E04 8.00257E02 2.91292E04 3.94051E03 1.93819E04 2.74073E04 4.15181E04 5.15808E03 6.49196E04 7.62142E04 1.31548E04 1.03106E04 3.55778E04 1.49936E04 2.31230E04 1.07936E05 6.69536E04 5.59452E03 1.50074E04 1.21711E05 1.24766E05 9.48418E04 1.73192E05 1.61999E05 2.27286E04 1.45567E04 4.51634E04 3.60358E04 9.45658E03 4.79923E04 1.56595E04 1.82926E03 2.86864E04 1.58529E05 1.74932E05 6.05669E04 4.36631E03 2.24954E04 4.33709E04 2.00087E05 2.22538E05 -Frame 257 3.03200E05 1.68379E05 3.78537E05 2.16928E06 2.40434E06 2.57213E05 4.35855E06 1.12442E07 3.91710E06 1.84712E06 1.28683E07 1.40820E07 3.50274E06 2.97722E07 1.19060E08 6.32974E07 7.18749E06 4.97398E06 4.58359E06 6.26449E05 2.85507E06 9.12231E06 3.76583E06 1.11035E06 5.46298E06 5.49746E06 7.05200E05 3.92172E04 1.77448E05 8.54617E04 9.18015E04 7.57279E05 8.16438E05 8.66647E04 1.26602E04 9.67554E04 2.60822E04 4.13551E04 3.74753E05 3.89770E05 1.46902E04 3.95007E04 1.13737E05 5.02471E04 2.70854E05 2.66238E06 3.38739E06 6.52807E05 5.60421E05 2.02349E06 1.59622E06 4.42798E06 2.29183E07 2.29660E07 1.19917E07 2.36306E07 2.54334E07 9.41838E06 2.72929E06 7.50772E06 6.45249E06 1.87397E06 1.05322E06 9.56331E05 1.87610E05 4.99928E05 2.21258E06 2.92888E06 2.17991E06 3.11593E06 3.12602E06 2.27792E06 3.23628E05 2.05088E06 4.63900E06 1.21467E06 1.04148E07 1.81206E07 7.19721E06 1.91904E05 2.01096E07 3.37540E07 1.57059E07 2.08429E07 3.66054E07 1.96697E07 6.37591E06 1.51819E06 1.28890E04 2.79053E05 3.62565E05 3.64872E06 2.94739E06 1.60314E06 1.09916E06 3.22984E05 2.39733E05 3.48113E05 2.99238E06 2.46397E06 6.87754E05 2.36028E05 2.44757E04 4.98498E05 8.15513E04 1.22846E06 1.59889E06 1.30345E06 2.22073E06 1.81940E06 5.44768E05 2.19801E05 6.95707E05 4.79960E05 2.14742E04 1.85293E05 3.25496E05 3.49895E05 1.21821E05 6.84772E03 2.73128E04 2.60628E04 1.16361E03 1.30357E05 2.03549E05 4.97180E04 3.96345E04 1.10513E05 8.58683E04 3.61646E04 1.64420E04 5.24662E04 3.13873E04 7.63575E04 1.75414E05 1.45379E05 3.86891E04 5.00742E03 2.71896E04 1.94060E04 1.90855E04 7.22104E03 7.33153E04 2.82102E05 5.18602E05 6.17060E05 4.88908E05 3.66699E05 5.83529E05 4.78141E05 1.19309E05 4.02327E05 9.64886E05 1.76679E06 9.98956E05 7.03455E05 6.97278E05 3.73424E05 3.94849E04 1.85178E04 8.11067E03 9.83802E04 7.07402E04 2.30087E04 1.08849E04 2.75018E03 2.31608E04 7.27411E04 2.77907E05 7.96902E05 3.52748E05 8.85628E04 2.97734E05 2.60762E05 3.44983E05 2.08268E05 2.65404E04 1.64428E05 3.92776E05 9.06071E05 1.33068E06 7.97752E05 1.08974E05 2.07695E04 5.22125E04 3.94314E05 1.32498E06 1.76594E06 1.54832E06 6.00782E05 2.57560E05 7.46864E05 5.54874E05 3.45200E05 4.43651E05 6.46337E05 4.46647E05 1.62153E05 1.07460E05 2.56563E05 4.55665E05 3.71288E05 3.05210E05 3.10842E05 1.96313E05 1.13051E05 1.22344E05 1.24380E05 1.28757E05 6.66547E04 1.29530E03 2.12847E04 1.99843E05 2.68287E05 2.24838E05 2.64363E05 1.30007E05 5.52476E04 1.73119E05 1.40589E05 9.69550E04 8.22646E04 1.56696E03 1.24454E05 2.95544E05 8.42774E04 1.02789E03 2.45988E04 7.53407E04 1.37201E04 3.92648E04 1.13748E05 4.67970E04 5.00716E04 9.70924E04 1.99982E04 1.30792E04 2.56738E03 3.03916E04 4.25719E04 7.29939E02 1.82347E04 1.09536E04 2.73528E04 3.09879E04 7.40956E03 2.76649E04 7.95314E04 8.20988E04 6.59803E04 4.21445E03 2.60142E04 2.53762E03 5.03003E04 7.51672E03 5.11025E03 4.28406E01 -Frame 257 2.85349E05 2.85339E05 5.10093E05 2.32448E06 2.44432E06 8.53428E04 4.35407E06 1.09464E07 3.35556E06 1.58890E06 1.29924E07 1.07583E07 3.61798E06 4.12642E07 1.09611E08 3.64254E07 4.10219E06 8.47235E06 6.71980E06 1.08244E06 4.64555E06 9.84349E06 2.51810E06 1.30014E06 7.28536E06 4.92736E06 4.88525E05 2.11692E05 3.89267E05 6.46531E04 3.22504E05 1.28621E06 7.57701E05 5.78000E04 3.51676E04 1.32219E05 2.89276E04 1.76163E05 7.11808E05 3.89199E05 1.48817E03 1.36737E05 2.01363E05 5.20611E04 7.76770E05 2.84766E06 1.16534E06 5.95915E05 2.94436E06 2.36470E06 5.99652E05 7.38020E06 2.33387E07 5.72922E06 4.78913E06 2.06710E07 1.18193E07 2.48917E05 2.90565E06 2.40917E06 2.08544E05 8.31978E05 2.40203E06 2.84927E06 7.65218E05 5.62549E05 1.56433E05 2.53080E05 7.60383E05 8.56238E05 8.25805E04 3.52022E04 8.25394E05 2.69980E06 3.36396E06 7.51881E06 1.21868E07 7.10390E06 2.63915E06 1.23717E07 4.67819E07 3.38779E07 1.02062E07 1.03860E07 7.52118E06 2.18316E06 1.56601E06 3.27537E06 1.03619E06 6.31399E05 2.64168E06 1.45046E06 4.61534E05 9.49257E05 1.13855E06 1.91294E05 4.22927E05 2.38859E06 1.68091E06 8.98504E05 6.16573E05 3.96006E05 1.04057E05 1.73800E06 2.29989E06 9.50347E05 3.94874E05 4.32245E05 5.78848E05 5.15397E05 1.40672E05 3.13796E05 4.12393E05 2.59251E05 1.17418E05 1.15206E05 8.94258E04 1.11474E04 6.13652E03 4.24305E04 2.98231E04 8.88872E03 4.53258E04 3.68248E04 3.41485E04 1.58039E05 1.52772E05 7.66730E04 4.22123E04 2.85697E04 8.92259E03 1.18002E04 4.45079E04 4.99546E04 1.29421E04 2.80233E04 1.07737E05 4.84707E04 2.14347E04 5.03358E04 1.07120E05 7.41373E04 1.29478E05 1.99976E05 1.35671E04 2.13264E04 5.94608E02 3.16248E04 2.66105E04 2.02690E05 2.55490E05 1.25214E05 2.17286E05 3.64167E05 4.52967E05 2.65375E05 1.73771E05 1.43113E05 1.70722E04 1.95393E04 1.02865E05 5.64204E04 5.76693E03 1.35556E04 7.77679E03 4.79941E03 1.32539E04 3.24562E04 9.26388E04 2.23663E05 2.53091E05 1.57626E05 7.58180E04 4.70099E04 1.75139E05 2.18831E05 2.48311E04 2.60074E04 2.76829E04 6.55600E04 1.04226E04 2.43113E05 6.75578E04 4.65791E04 3.63163E04 1.76445E05 1.13110E05 6.50146E04 5.02791E04 1.80163E05 6.87678E05 5.67314E05 1.09306E05 7.58409E04 3.45602E04 7.98361E04 6.88679E04 2.08413E03 1.24804E04 6.56765E04 1.31525E05 3.68421E04 7.19709E03 3.69711E03 6.79986E03 1.92071E03 1.84652E04 1.66810E05 2.43589E05 1.54005E05 2.09218E05 3.32758E05 4.47561E05 4.48286E05 2.11534E05 2.30057E05 3.19881E05 2.97624E05 2.16022E05 3.52655E04 6.77489E04 1.67109E05 2.30303E05 5.15560E05 6.93239E05 3.54512E05 9.72698E04 1.05430E05 1.34471E05 1.48805E05 1.83628E05 1.36596E05 7.15335E04 5.84230E04 6.74449E04 1.67714E05 1.80574E05 1.13346E05 5.26845E04 4.74668E04 7.72003E04 1.07671E05 9.13388E04 3.30643E04 1.45231E04 6.02097E04 1.69551E05 1.78688E05 9.59698E04 1.07314E05 2.20932E05 2.17694E05 1.86865E05 1.39620E05 7.57944E04 4.76106E04 3.23658E04 -Frame 257 1.05624E06 4.22729E05 4.16498E05 2.73978E06 2.26194E06 2.14819E04 4.53959E06 1.06238E07 2.08524E06 2.25942E06 1.27056E07 7.94471E06 4.26810E06 4.84890E07 8.18900E07 1.77911E07 4.74652E06 1.14624E07 4.92106E06 7.21921E05 6.74576E06 8.84636E06 1.38757E06 2.23572E06 5.86810E06 2.23620E06 6.23088E05 1.00763E06 8.22792E05 2.92194E04 5.03558E05 1.71690E06 4.77204E05 1.60830E05 3.63206E05 1.55770E05 4.78852E03 2.79040E05 5.57780E05 8.00881E04 2.07468E05 2.87257E05 1.96755E04 2.23138E05 1.78197E06 3.17013E06 9.19872E05 2.79622E06 3.80835E06 9.17194E05 5.93065E06 2.18872E07 3.23885E07 1.52302E07 9.41992E06 8.61825E06 9.17199E06 5.79167E06 4.77103E05 3.80606E05 1.78753E05 8.47781E05 8.32241E05 1.93871E06 2.50248E06 2.49249E05 3.42907E05 8.62845E05 3.05997E06 1.36179E06 9.13339E04 1.03197E06 1.10482E06 1.08686E05 2.83439E05 1.13715E06 7.00402E05 9.39385E05 1.57434E06 9.73239E06 1.33769E07 7.71166E06 1.79612E06 2.24788E06 1.65418E06 2.00170E06 2.53899E06 1.12972E06 1.17407E06 1.25507E06 7.75775E05 9.55446E05 1.35802E06 8.71389E05 8.07278E05 1.44453E06 1.38125E06 1.95149E06 2.72882E06 2.58661E06 2.41071E06 2.44092E06 2.71919E06 2.09430E06 6.77501E05 2.14602E05 3.97028E05 2.89764E05 1.19487E05 1.01481E05 7.02676E04 1.23036E04 9.47626E02 1.31779E04 2.70783E03 1.27142E04 9.74495E03 5.92752E02 4.60080E03 7.48650E03 9.37401E03 4.63251E03 2.09995E04 2.65073E04 3.01199E03 3.72417E04 6.00890E04 1.90680E04 3.01582E04 7.66272E03 1.73441E03 5.54540E03 1.57237E04 1.24865E04 2.64584E02 4.77112E04 3.51893E04 1.23551E04 3.76507E04 2.47173E04 2.57470E05 2.42141E05 2.40400E05 1.12620E05 6.26573E03 2.34955E04 2.27841E03 8.84490E03 1.31660E04 7.08874E03 1.02008E04 3.97931E02 1.51273E04 2.40786E04 4.25499E04 4.82556E04 4.23659E04 2.39661E03 8.62137E03 5.89407E04 1.26425E05 2.26888E04 4.17910E03 2.30918E04 1.12781E04 1.94293E03 5.14538E02 1.54249E03 1.37283E03 9.25123E03 1.50312E03 1.68791E04 1.03862E04 2.00835E04 7.12265E04 7.63491E04 1.70110E05 2.94028E05 7.93683E05 1.08682E06 8.78814E05 7.49790E05 2.76710E05 3.84990E04 7.69397E04 1.97200E04 2.70140E04 8.01860E04 2.56268E05 5.77752E05 3.86662E05 1.99961E05 8.88978E04 2.59484E02 1.50831E03 2.21054E04 5.68566E04 3.78584E04 8.24908E03 1.83680E04 3.00126E04 7.25272E03 6.62367E03 1.44773E04 1.05238E04 1.48577E04 9.21936E04 1.13899E05 4.21776E04 2.34925E04 4.11183E04 9.59859E04 2.00148E04 5.10330E04 4.21346E04 1.39443E03 2.77610E04 4.69837E04 1.50351E04 3.99804E03 1.89822E02 2.51008E04 2.10072E04 7.28027E04 1.07589E05 7.08826E04 3.88888E04 5.44292E03 4.43311E02 8.26050E03 1.57127E04 2.06758E02 2.21293E04 2.16498E04 4.56374E03 3.07584E04 3.84822E04 1.35226E04 1.30771E04 1.10380E04 9.21394E03 2.35190E04 4.32381E03 7.85487E03 1.90050E04 2.82718E04 4.62306E04 1.90535E04 2.55374E04 1.16138E04 2.87184E04 3.65826E04 2.57846E03 1.05572E04 9.66367E03 7.87560E03 1.34053E02 -Frame 257 5.67264E05 3.52999E05 3.75863E05 2.27360E06 1.91169E06 7.07567E03 5.37610E06 9.49666E06 1.44028E06 2.57680E06 1.16806E07 5.77530E06 5.65835E06 5.10923E07 5.68135E07 7.34199E06 4.53203E06 1.18017E07 2.73373E06 1.16412E06 9.07114E06 6.06025E06 1.83134E05 2.52304E06 3.59913E06 6.00288E05 8.85573E05 2.52662E06 7.28887E05 1.05107E05 1.38150E06 1.19742E06 1.20508E05 5.31995E05 7.68553E05 1.53403E05 9.30473E04 7.58643E05 3.91860E05 1.80954E04 4.13714E05 5.34906E05 1.78942E04 2.51649E06 5.72909E06 7.71652E05 3.33993E06 7.11774E06 8.72957E05 7.93095E06 4.20529E07 4.26701E07 4.73205E06 1.29794E05 4.80678E05 7.11577E05 5.74972E05 2.15556E06 4.01916E06 7.48075E05 5.98401E05 9.09694E05 2.24029E05 1.70352E06 8.52372E06 7.20535E06 2.93796E06 2.59356E06 1.78576E06 1.96867E05 7.60313E05 1.93129E06 1.09637E06 2.72971E05 3.06493E05 1.23576E05 6.40959E04 8.88367E05 1.45341E06 7.92964E04 8.41291E04 1.05515E05 3.13209E05 5.67318E05 5.83798E05 8.66375E05 5.25418E05 2.49475E05 2.60213E05 2.29187E05 4.45979E05 9.94901E05 9.49989E05 3.18670E05 4.57310E05 6.34425E05 2.17774E05 4.77880E05 1.55351E06 6.20288E05 4.85828E04 1.22801E05 3.77644E05 1.28741E05 4.77300E04 1.14213E05 5.50920E04 9.16582E01 7.77327E03 4.66765E03 8.05743E02 1.28506E02 3.11488E02 1.02958E03 3.62626E03 1.04311E04 2.60201E04 1.57691E04 8.84510E02 9.64833E01 6.52471E03 5.07727E02 4.50729E03 6.57988E03 4.91215E03 5.69180E03 2.18975E03 1.73215E04 1.82739E04 5.62824E03 1.06864E04 6.71959E03 5.06327E03 3.38143E03 1.36182E04 2.91817E04 3.40600E04 8.99600E04 1.81616E05 2.01595E05 1.02275E05 3.83080E04 4.94944E04 5.66445E04 1.97300E04 3.11170E04 2.11797E04 2.27970E03 1.08313E04 2.50203E04 1.15157E04 6.11724E03 1.81151E04 3.78043E04 3.59302E04 8.08054E03 3.24850E03 4.68166E03 4.20170E03 2.44250E04 7.82605E04 6.80968E04 6.07529E04 2.56956E04 2.01203E04 1.03807E04 8.64695E02 4.93730E02 7.24206E03 1.51149E04 4.60574E02 1.10500E04 2.19556E04 9.45394E03 2.10326E04 7.21015E04 3.37796E05 8.64680E05 7.87436E05 2.67583E05 1.32086E04 1.07913E05 9.73745E04 1.05889E05 5.33845E04 2.08155E03 2.70015E04 2.06914E04 6.83676E04 1.88507E05 1.61529E05 6.53594E04 2.80068E04 8.27619E03 9.80001E03 1.71593E04 5.35268E03 5.88071E02 5.26885E03 5.65979E02 5.79389E03 2.07834E03 8.09492E03 4.05031E03 1.11454E04 2.53053E04 3.72190E04 1.18840E04 4.52038E03 3.52712E04 3.05642E04 1.69017E04 1.89093E04 9.46299E02 9.40279E03 9.74165E03 5.67361E03 7.12385E03 6.16669E03 1.01465E04 2.95433E04 3.49892E04 9.47558E03 4.99119E03 1.02665E03 1.27830E03 1.37289E03 2.09133E03 8.91981E03 1.75451E04 1.49064E04 2.60969E04 9.98885E02 1.19255E04 1.73798E04 7.73338E03 4.26141E03 4.42997E03 7.64584E03 2.18526E04 1.18396E04 5.04585E02 1.88571E02 5.77197E03 2.21252E04 1.05362E04 6.27285E03 3.42010E04 5.30947E04 2.18647E04 2.73170E04 1.42440E04 3.06978E03 2.94984E04 4.21546E04 2.04947E04 7.61585E03 -Frame 257 2.21429E04 1.31279E05 3.64225E05 2.29649E06 1.67148E06 2.58499E04 5.85080E06 8.46537E06 8.94365E05 2.91475E06 1.01929E07 3.19939E06 7.27939E06 5.24811E07 4.05095E07 5.28473E06 8.30056E06 1.11162E07 1.29594E06 3.07429E06 1.07504E07 3.88507E06 2.14804E05 2.84116E06 1.85525E06 2.98332E05 2.29564E06 3.30294E06 4.24721E05 4.81975E05 1.90529E06 7.02128E05 1.05974E05 8.21956E05 6.95005E05 4.71418E03 6.57595E05 1.09509E06 9.70202E04 4.36294E05 1.36042E06 3.73931E05 1.73324E06 1.06638E07 5.70220E06 6.09748E06 2.62718E07 2.19865E07 3.94726E06 2.17535E07 4.55928E07 1.61808E07 3.00128E06 2.15215E06 1.75090E06 5.19144E04 4.07802E06 9.39249E06 2.59836E06 6.19455E05 7.65310E05 9.09086E05 4.01202E06 1.08010E07 8.35664E06 1.62747E06 4.06200E04 6.85526E05 1.54469E05 1.22441E05 7.27302E05 3.86352E05 2.51445E05 1.32430E05 1.40743E05 3.44743E03 4.35418E05 7.25185E05 1.55641E05 4.83800E05 3.79672E05 4.05958E04 1.71199E05 6.04433E05 3.11384E05 1.46149E04 8.51474E03 3.31299E04 2.14611E03 2.86855E04 1.17552E05 2.05368E05 1.73722E05 5.21006E04 7.56917E04 1.16291E05 1.29240E05 3.53520E05 4.43307E05 1.45807E05 7.40151E04 5.56322E04 2.17972E04 6.60842E04 7.83879E04 1.58508E04 1.28365E04 6.30760E03 1.44203E03 4.60484E02 1.18263E03 4.54585E02 5.54240E02 1.27177E03 2.50626E03 8.88630E03 8.64282E03 3.61768E03 2.07626E03 7.20004E03 1.11504E04 9.97279E03 5.44193E03 6.81618E03 3.30427E03 4.78316E03 6.45295E03 1.10288E04 2.42135E04 2.89751E04 2.12585E04 1.50195E04 2.47325E04 4.57667E04 4.63436E04 1.32425E04 2.48680E03 1.47597E04 3.11424E04 2.42265E04 1.47960E04 1.56031E04 1.44111E03 1.29773E04 1.47130E04 1.97997E04 1.73006E04 2.81519E03 3.88121E03 2.64655E04 1.04211E04 6.80547E03 1.52998E04 1.84213E04 6.62029E04 1.82448E04 2.86247E03 1.77316E04 2.78696E04 1.93157E04 7.14663E03 1.08517E04 4.30139E04 6.34540E04 3.98067E04 1.28424E04 1.68418E03 5.62779E03 7.10366E03 7.47519E04 1.37327E05 8.45026E04 1.58521E03 9.49029E04 1.18283E05 2.10588E04 1.01781E03 1.50147E05 6.68667E04 6.29167E03 6.36934E04 9.14023E04 4.07941E04 1.52030E04 2.98398E04 1.50164E04 1.41660E03 1.51474E04 1.63959E04 5.45997E04 4.09187E04 7.38961E03 5.45223E03 1.31352E04 2.40592E04 1.54571E04 2.00298E03 2.35638E03 5.91473E03 1.06298E04 1.38073E04 1.21693E04 1.34280E04 1.52682E04 1.14522E04 1.08509E04 6.68183E03 2.52428E02 3.65439E03 3.50909E04 2.25508E04 1.07495E04 1.68371E04 1.20625E04 5.46902E03 2.32995E02 2.57214E03 1.70307E03 4.11115E03 7.75482E03 4.22504E03 1.46186E04 9.20335E03 6.07597E03 4.06004E03 2.88880E02 3.57173E03 1.01009E04 6.54837E03 3.34509E03 2.25211E04 1.65346E04 1.95475E04 3.10473E04 1.01163E04 1.15855E03 3.81256E03 5.06196E03 1.05259E03 1.05267E04 1.28271E04 4.21432E03 2.72797E03 2.22050E03 3.68807E03 1.76249E04 1.47808E04 2.23063E04 2.55375E04 2.23917E04 1.10887E04 5.99604E03 1.33430E04 1.46152E04 3.77406E03 2.63326E04 2.49874E04 -Frame 257 7.98940E05 3.55654E05 1.81772E05 1.86492E06 1.57779E06 1.41641E05 5.56291E06 7.25347E06 5.92662E05 3.53924E06 7.80788E06 1.96499E06 9.85558E06 4.75057E07 2.66940E07 3.40351E06 9.47644E06 1.02817E07 3.99007E05 4.85103E06 1.00052E07 2.34725E06 7.80147E05 2.81386E06 1.47568E06 4.86267E05 3.57924E06 3.55357E06 1.50121E05 1.24660E06 1.76390E06 3.03667E05 5.74281E05 1.29656E06 6.50699E05 1.32742E05 1.67946E06 9.40895E05 1.10488E04 2.09210E06 2.21468E06 2.75271E05 1.26824E07 2.02198E07 4.78051E06 3.09495E07 6.90498E07 2.34709E07 4.73565E05 1.35875E07 1.51623E07 1.61793E06 2.98600E06 4.51073E06 8.81370E05 4.10190E06 1.38069E07 5.79912E06 1.14537E06 2.33928E06 1.85995E06 4.24835E05 1.47083E06 5.47722E06 1.19215E06 3.80659E04 3.74128E05 5.08468E05 9.14114E04 2.26687E05 3.93367E05 9.82870E04 1.78178E05 3.20045E05 6.60421E04 1.32342E05 6.56645E05 3.77046E05 1.53482E05 6.81834E05 7.44594E05 1.32343E05 1.33779E06 1.89821E06 4.88750E05 1.03580E05 7.32026E04 1.54245E04 4.24532E03 2.17544E04 7.89717E03 4.12248E03 9.11145E03 2.70410E03 6.54372E02 2.51400E03 2.48690E04 6.11510E04 4.57206E04 1.51596E04 2.12138E04 2.65546E04 2.15722E04 5.08010E04 4.61257E04 1.76356E04 1.67746E04 2.14708E04 5.23009E03 6.34356E03 9.68729E02 1.24670E03 1.27238E02 1.09640E03 1.62775E03 3.87705E02 2.79689E03 2.14330E03 7.35161E02 8.63225E02 1.84429E03 5.45267E03 6.41864E03 6.86311E03 1.22231E03 7.83432E02 3.53792E03 3.38928E03 1.34359E04 2.71698E04 7.03549E03 1.73220E04 1.23233E04 1.61367E04 8.00086E03 9.30372E03 8.85943E03 5.39138E03 6.30940E03 1.00430E04 9.30956E03 2.84676E04 2.49550E04 3.52121E03 4.60517E02 4.22468E02 1.40529E03 2.55395E03 2.92992E04 1.76682E04 6.69915E03 1.07184E04 5.57097E04 1.49760E05 8.53252E04 1.26475E04 2.70137E03 1.73308E03 3.48855E02 7.97352E03 1.90394E04 2.25805E04 1.61096E04 1.75480E04 5.68000E04 2.33533E04 5.37224E03 1.28646E04 5.70742E04 9.67090E04 8.80649E04 1.09481E05 8.91754E04 4.48175E04 7.42352E04 1.27165E05 1.56276E05 2.15539E05 3.14663E05 2.97104E05 2.22477E05 6.25079E04 8.44206E03 2.15330E04 2.34883E04 2.11506E04 5.19952E03 2.83768E04 3.51792E04 6.90926E02 1.19777E04 5.08827E03 1.47982E04 2.54444E02 2.72913E03 2.41892E03 1.36422E04 9.08598E03 8.89690E03 3.17677E03 3.96743E03 3.92965E03 3.14158E03 1.89448E04 2.68653E03 7.15506E03 1.90906E04 1.08903E04 8.63761E03 2.20976E04 9.63903E03 2.78656E03 9.19985E03 3.55010E03 4.12381E02 2.57887E03 3.94361E03 3.92261E03 2.64265E03 4.67285E03 6.11997E03 9.17022E03 3.84865E03 1.69356E04 1.51626E04 7.42030E03 1.71332E03 7.46625E02 6.23686E02 8.82940E03 1.22469E04 6.13170E03 5.32729E03 5.12302E03 4.28570E03 9.82175E03 1.46337E04 3.61535E03 1.64723E02 2.66518E03 3.05303E03 1.42513E03 1.84320E03 2.86008E03 1.98045E03 4.55992E03 2.35844E03 1.39214E04 1.08782E04 1.78105E04 5.08860E02 1.60437E03 7.45738E03 1.13999E03 3.14373E03 1.51106E04 1.44787E04 -Frame 257 3.85037E05 1.35242E05 4.06465E05 2.08710E06 1.33984E06 3.00016E05 5.69242E06 6.47030E06 3.74600E05 3.53879E06 6.67090E06 1.00570E06 1.13027E07 4.40770E07 2.00169E07 3.27757E06 1.17285E07 9.30594E06 1.76992E04 6.68922E06 9.04305E06 9.24630E05 1.30195E06 2.79629E06 7.42669E05 1.47550E06 5.51027E06 3.37948E06 1.59618E04 1.95465E06 1.68431E06 1.49715E05 1.21899E06 1.79682E06 3.70218E05 6.41983E05 2.35310E06 7.81167E05 4.98072E05 4.67390E06 1.74077E06 5.07506E06 4.30748E07 3.49666E07 1.17703E07 5.15448E07 6.98123E07 1.06163E07 4.88216E06 1.65564E07 5.53686E06 9.89020E05 6.23747E06 6.18407E06 3.77265E04 1.41324E07 2.31529E07 6.38589E06 4.26823E06 8.68311E06 2.27811E06 1.65437E06 7.67464E06 4.88644E06 2.93720E05 8.91770E04 2.25753E05 4.82958E04 2.79075E05 6.89555E05 2.52554E05 1.99995E04 9.78469E04 1.05911E05 3.39904E04 5.44685E05 6.56384E05 1.46492E05 9.02438E04 1.87358E05 2.73573E05 1.48924E06 2.79868E06 1.19434E06 1.06282E04 3.93005E03 9.98852E03 1.82143E04 2.09599E04 4.43674E04 1.93257E04 1.97758E04 1.65539E04 5.23138E03 5.42367E01 3.75615E03 4.21295E03 8.94224E02 4.85822E03 2.21572E03 2.69495E03 2.82247E03 1.64282E02 2.94205E03 5.66724E03 2.70194E03 4.89546E02 3.31108E02 2.09439E03 1.47680E03 1.40957E04 8.65130E03 2.33025E03 1.16705E02 3.28729E03 1.81551E03 2.40877E02 8.11653E02 4.57515E03 1.18967E03 1.55328E03 2.18583E03 1.22361E04 3.00996E03 1.82429E03 5.50783E02 2.22073E03 7.15487E03 7.26372E03 1.92950E03 7.19660E03 2.19383E04 2.97739E04 3.21276E04 1.31661E04 1.40289E04 1.52572E04 1.25555E04 1.50288E04 1.62413E04 8.52286E03 4.61374E03 8.74433E03 2.54048E02 3.82978E03 2.67698E03 1.23381E04 1.51415E04 1.96585E04 2.74987E04 1.26225E04 7.50379E03 6.87729E03 4.64781E04 8.13080E03 1.13143E04 8.87586E03 1.98230E03 4.69969E03 1.83231E04 2.04112E04 6.61705E03 6.54808E03 1.76846E04 2.02309E04 1.19201E04 4.97935E03 2.52017E04 3.62575E04 3.75006E04 2.14151E04 2.55474E04 2.15620E04 8.04096E04 9.62620E04 1.55090E05 1.41448E05 6.21580E04 1.54113E05 6.29758E04 3.51024E04 1.18514E05 6.52310E04 7.31705E03 1.58302E04 3.09155E03 3.83491E03 2.37924E04 7.60748E04 3.72812E04 8.69308E03 2.53634E04 2.34634E04 9.56257E03 2.16662E04 1.88580E04 5.86567E03 9.99362E01 4.73114E03 6.13540E03 2.89405E03 2.43089E03 3.11960E03 1.70680E03 9.37666E03 2.27715E04 3.90748E03 5.80798E02 6.66342E03 1.36390E04 1.11861E04 9.28660E02 1.30180E02 2.42029E03 2.92687E03 3.73321E03 8.49208E02 3.33351E03 4.42071E03 8.55497E03 1.55730E03 1.32732E03 5.09789E03 1.24618E04 3.85392E03 1.12581E03 4.93614E03 7.29773E03 1.24395E04 5.46555E02 2.03388E03 8.74117E02 5.35140E01 1.34133E03 9.85386E02 4.04185E03 1.24023E02 5.58115E03 7.92437E03 2.43461E03 9.80449E02 1.94442E02 1.65467E03 8.39262E02 3.15667E02 3.01660E03 9.16396E03 2.27073E04 2.72053E04 1.37855E04 6.42056E03 2.15957E02 2.91012E03 9.86453E03 1.46391E04 1.80047E03 2.43012E02 -Frame 257 6.04102E03 1.48899E05 2.16775E05 1.61704E06 1.39862E06 4.42101E05 5.96411E06 6.00721E06 2.47403E05 3.98532E06 6.53124E06 7.78562E05 1.25142E07 4.07808E07 1.41281E07 3.05778E06 1.45657E07 9.98256E06 4.56898E03 7.23934E06 8.62360E06 5.47644E05 1.61204E06 3.09936E06 5.49846E05 1.62427E06 6.76028E06 3.16272E06 1.30992E05 2.15790E06 1.31361E06 1.11610E05 1.95905E06 2.15523E06 1.03578E05 1.71320E06 2.57992E06 2.49582E05 4.25368E06 1.13501E07 9.04646E05 2.35062E07 8.18505E07 3.47724E07 8.01828E06 3.35080E07 3.44958E07 1.91113E06 9.34676E06 1.61444E07 3.78748E06 1.65062E06 8.97838E06 4.70743E06 1.46393E06 1.86361E07 1.41824E07 9.90989E05 8.97504E06 1.92622E07 5.39380E06 1.17951E06 7.35160E06 2.82896E06 1.51322E05 2.54502E05 2.10709E05 3.93850E04 4.45873E05 4.35392E05 2.26858E04 1.80635E05 2.23152E05 1.54861E05 4.55629E04 4.34741E05 1.91489E05 3.99914E04 2.57216E05 2.26376E05 9.90975E04 5.34191E05 2.69364E06 1.37287E06 1.42506E05 6.03035E04 4.95342E04 9.45580E03 3.53723E04 2.85603E04 1.13918E03 1.42663E04 5.73645E03 1.09721E04 1.57688E04 8.02901E03 1.72286E03 5.33848E02 1.01491E04 2.51888E03 4.12650E03 2.65106E02 1.00385E04 1.12595E04 7.68795E03 9.82764E01 1.84732E03 2.87402E02 1.86766E03 2.05670E03 2.15675E04 1.04656E04 8.17590E02 5.21276E01 1.14429E02 1.30870E03 6.20899E02 8.34089E02 8.51379E02 5.86501E03 4.17586E01 4.32875E03 2.26536E03 1.61516E03 2.27291E03 6.15911E02 2.66359E03 2.12727E04 5.53892E04 2.09603E04 5.67574E03 1.65969E03 4.92453E03 1.06166E04 6.47084E03 2.08552E04 1.33071E04 1.19383E04 1.31257E03 1.98460E04 2.35275E04 5.89848E03 3.85969E03 1.28008E04 1.87799E04 2.53095E04 4.78874E04 5.85808E04 3.43964E04 2.79753E04 8.60529E02 1.02167E04 1.56196E04 2.68713E04 1.25043E04 8.06874E02 1.63568E04 2.08071E04 1.43875E04 1.34704E04 1.03054E03 2.51953E03 3.27618E03 4.61501E03 8.09453E03 2.99970E04 3.66388E04 6.81241E03 9.16310E03 5.67509E03 1.11534E04 2.80653E04 4.14495E04 8.65146E04 3.03482E04 2.64061E04 2.01379E03 3.68101E04 2.32674E03 5.27447E04 2.19790E04 2.50227E04 2.73037E04 3.39502E03 9.54827E03 7.25261E03 1.03530E04 2.69558E04 4.24171E04 2.96711E04 5.19788E03 1.53517E03 8.27240E03 7.17370E03 1.13270E04 7.21264E03 2.45683E03 1.32464E03 4.21270E03 1.27420E04 1.37806E04 8.87820E03 1.44691E03 3.79843E03 1.64154E04 1.84387E04 8.04826E03 2.75515E02 2.19827E03 4.38617E03 1.04085E04 9.69709E03 2.93491E03 3.86726E03 4.69181E03 5.41735E03 3.87766E03 5.91503E03 1.96161E03 2.17714E03 6.68778E03 8.24209E03 1.12035E04 4.89688E02 2.03909E03 9.52936E02 9.87043E02 7.90942E03 1.46905E03 3.01341E03 5.75126E03 7.45000E02 2.70256E03 1.81229E03 2.68326E03 2.51646E03 1.87752E03 2.76138E03 4.38219E03 2.19788E03 2.43738E02 8.88933E02 4.79010E03 7.41703E03 2.35478E03 3.41181E03 1.63142E02 6.06582E03 3.07897E03 4.24940E03 7.54454E03 8.02202E03 7.44462E03 1.19871E04 1.07200E04 3.64779E03 3.22814E03 -Frame 257 4.11173E05 1.85407E05 6.67307E05 2.22594E06 1.29107E06 4.71816E05 6.00226E06 6.51955E06 2.63490E05 3.49825E06 7.25539E06 1.39256E06 1.04104E07 4.17580E07 1.98041E07 1.73538E06 1.42164E07 1.34065E07 1.46584E05 7.19033E06 1.03243E07 1.32570E06 1.66805E06 4.44414E06 1.44341E06 1.17975E06 7.47325E06 4.09241E06 6.62715E03 2.45708E06 2.52932E06 6.48571E04 1.72083E06 3.82923E06 8.67317E05 1.14008E06 5.07356E06 1.66754E06 5.75370E06 2.98811E07 2.36331E07 1.67350E07 6.37462E07 4.15752E07 5.57738E06 7.72699E06 1.85277E07 5.20610E06 1.63708E06 1.00989E07 6.21859E06 9.73516E05 6.92322E06 8.30684E06 5.22434E05 1.03037E07 1.92625E07 6.90506E06 6.84917E06 2.83771E07 1.92361E07 2.10817E05 9.17234E06 6.48386E06 3.60127E05 1.32842E05 7.00293E05 2.08707E05 4.96390E05 8.61788E05 3.26050E05 3.74752E04 3.57298E05 2.53282E05 3.00002E04 5.89443E05 4.68787E05 1.12437E05 5.63509E04 4.66888E05 9.74722E04 8.29276E05 3.06417E06 1.47978E06 1.29540E05 1.01226E04 1.29313E05 8.59358E03 3.78405E04 4.42704E04 1.70386E03 9.23556E03 1.44011E04 5.31874E03 9.56638E03 1.26380E04 6.71775E03 5.61221E03 1.34539E03 2.22226E03 1.77482E03 2.20928E03 1.93553E04 6.05489E03 1.47776E03 5.09956E03 1.33274E03 4.85478E03 4.02715E02 1.96139E03 4.45058E03 4.84575E03 2.19206E03 2.06846E03 6.55055E03 1.06494E04 7.56627E03 1.02078E04 2.71814E03 2.53827E03 2.77614E03 1.99696E03 1.72736E01 3.46604E03 6.43269E03 2.59986E03 7.06248E02 2.01360E04 5.51113E04 1.07950E04 1.58291E03 1.59644E03 8.19232E02 2.11065E03 1.01413E04 1.06169E04 1.51258E03 1.00374E04 2.18363E04 4.24196E03 6.31645E03 1.54125E04 1.35358E04 6.39897E02 1.17395E04 1.42067E04 7.50806E03 5.10608E04 5.90984E04 1.20291E04 7.29154E03 3.68497E03 2.96891E03 3.64891E03 2.40737E04 2.12349E04 1.34544E04 4.06182E03 6.98864E03 1.78334E04 1.64692E04 5.77124E03 3.18623E03 3.14153E03 2.92282E03 5.68032E02 8.75463E03 2.19950E04 1.62178E04 1.09211E03 1.53902E04 5.34149E03 3.74808E03 4.73748E04 5.13307E04 2.44898E03 4.59761E04 8.21626E04 3.10625E04 7.82993E04 9.76166E04 4.57916E04 2.49315E03 9.21027E03 9.70853E03 6.79007E03 2.19471E03 1.88845E04 1.71187E04 4.49264E03 1.82998E04 1.04155E04 4.88111E03 1.67540E03 1.61734E04 5.12851E03 2.01535E03 1.97000E03 5.78822E03 1.15310E04 3.16132E03 1.51597E03 4.35860E02 4.15374E02 1.30234E04 1.48402E04 1.85904E03 1.18061E02 5.64622E03 4.41129E03 1.10300E04 1.26233E04 7.92908E03 1.24644E04 5.85234E03 2.88997E03 6.59882E03 9.84074E03 2.62916E03 2.25900E02 9.26827E02 1.12162E02 2.12338E03 8.44439E03 6.89123E03 2.18804E03 3.29192E03 4.27594E03 6.28895E02 3.55075E02 7.11127E03 1.99688E03 5.35909E03 9.53109E03 2.40745E03 3.05606E03 1.14275E03 6.71125E02 2.07333E02 5.64402E02 8.91688E02 4.41647E02 2.75468E03 2.04624E03 8.05343E02 1.95805E03 2.12786E03 2.89976E03 1.22238E03 9.20221E02 1.50106E03 9.70011E03 1.21013E04 6.68921E03 1.39908E03 1.46054E03 1.15839E03 -Frame 257 5.71852E05 2.35083E05 4.29103E05 2.04983E06 1.30451E06 6.34525E05 6.19629E06 6.65204E06 3.49676E05 3.62051E06 7.03625E06 1.00358E06 1.18826E07 4.45396E07 1.98997E07 2.40636E06 1.91536E07 1.65206E07 1.04795E05 9.21851E06 1.14520E07 1.22591E06 2.73152E06 6.64062E06 1.58246E06 1.91751E06 8.54089E06 4.00571E06 1.53669E05 4.28469E06 3.92223E06 4.48765E04 2.38202E06 4.10184E06 5.52924E05 5.17001E06 1.00234E07 7.67485E05 1.51464E07 3.69186E07 1.09258E07 3.65276E06 3.04661E07 2.54605E07 2.79959E06 3.48431E06 6.21410E06 9.50410E05 3.02710E06 6.47461E06 2.84681E06 5.04817E05 3.23677E06 1.89586E06 8.25876E05 1.14263E07 1.19441E07 2.07402E06 3.42155E06 1.56460E07 9.54083E06 1.33598E07 2.90697E07 1.62467E07 1.27807E06 9.91501E05 1.19702E06 4.57233E05 8.85797E05 8.32209E05 1.57006E05 1.17983E05 3.79138E05 3.00194E05 3.04277E05 3.83180E05 1.48314E05 7.86134E04 5.79614E05 5.93980E05 3.34802E05 7.35926E05 1.12229E06 2.01965E05 1.06549E06 1.28327E06 5.32160E05 6.81936E04 4.27768E04 2.13274E04 2.00788E04 6.30892E04 2.87790E04 5.86863E03 1.57783E03 3.19650E03 3.76612E02 3.86428E02 1.09260E03 8.66797E02 1.20015E03 3.21855E02 2.55521E03 7.02740E03 7.89976E03 7.87884E03 9.21956E03 7.66812E03 6.98469E02 8.46890E01 2.38521E02 1.77444E02 4.64016E02 1.71378E03 2.81564E03 5.59859E03 1.13199E02 3.35970E03 1.39402E03 3.45530E03 5.26599E03 6.19728E03 9.93146E02 2.82199E02 5.57409E02 5.83840E03 6.43449E03 1.32108E03 2.56579E04 2.33031E04 1.59029E04 1.36251E04 4.53993E03 1.48414E03 6.81528E03 1.50073E04 2.42865E04 4.85527E04 3.14408E04 5.50866E03 3.78906E03 2.50527E03 2.80134E03 2.16876E04 3.47833E04 3.12869E04 1.03091E04 6.83696E03 2.56482E04 3.19809E04 3.90868E04 1.62095E04 2.08822E03 3.63755E04 4.81758E04 1.19597E04 1.49138E03 1.48913E03 8.56555E03 4.73056E03 3.36194E03 1.14289E04 1.85641E04 7.94922E03 1.25238E02 9.30053E02 5.87790E03 4.49650E03 8.45047E02 8.93225E03 1.22651E04 4.19194E03 7.90137E03 3.94500E04 6.48811E03 3.58752E04 1.46613E05 1.08559E05 1.13848E04 3.47621E04 1.19268E05 3.69364E04 2.10743E03 1.01591E04 2.56738E04 1.23657E04 3.60758E03 1.57291E04 1.88515E04 5.91171E03 3.59076E04 2.87629E04 1.70889E04 3.42196E04 2.66293E04 1.68285E04 1.35427E04 9.85891E03 6.05284E03 1.55537E03 4.80378E02 8.69301E02 1.57546E03 6.49430E03 6.87788E03 9.32477E03 8.60313E03 6.62167E03 8.74544E03 1.21105E03 9.08544E02 8.44593E03 1.61570E04 8.97254E03 5.38700E03 2.74325E03 3.16575E03 2.55116E03 2.08454E03 2.09864E03 5.16710E03 7.31460E03 1.75219E03 2.16064E03 1.93471E03 1.72588E02 4.19980E02 8.98000E01 1.04818E03 1.77108E03 5.10955E03 1.29463E04 1.94997E04 2.43198E04 1.54399E04 4.43358E03 7.95600E02 4.41278E03 3.76908E03 2.78809E03 7.43902E02 1.24894E03 1.53123E03 9.95926E02 2.44473E01 4.71270E02 1.05926E01 4.21812E02 4.82913E03 8.11273E03 4.61414E03 4.49891E02 3.22964E03 3.97227E03 5.59734E01 2.36904E03 3.55633E03 -Frame 257 3.06222E05 1.14760E05 5.17130E05 2.29517E06 1.31290E06 5.53161E05 5.89394E06 6.89199E06 3.46460E05 3.87098E06 6.88121E06 7.89360E05 1.27214E07 4.28156E07 1.66930E07 3.50161E06 2.77530E07 2.05020E07 4.35808E04 1.06242E07 1.09581E07 5.71798E05 5.19183E06 9.79283E06 2.02983E06 1.61383E06 7.86580E06 3.18400E06 7.01356E05 7.00596E06 5.03864E06 3.67604E03 3.10363E06 3.83747E06 1.70126E05 1.32956E07 1.81480E07 2.55403E06 1.92115E07 3.04620E07 6.84745E06 3.94119E06 2.04244E07 1.29745E07 5.34254E05 1.19214E06 3.15492E06 5.98268E05 2.31076E06 3.59546E06 8.10301E05 9.03815E05 3.25548E06 2.02908E06 4.61795E05 3.43429E06 1.99315E06 2.30620E05 5.01723E06 8.02927E06 2.44742E06 4.43518E06 2.08635E07 1.22773E07 2.52092E05 4.95813E06 1.85672E06 5.37193E04 2.36813E05 3.43442E05 1.88659E04 4.22030E05 3.85407E05 8.12544E04 1.26423E04 7.82620E04 6.88286E04 1.22431E05 3.79728E05 9.97047E04 1.03512E04 1.78280E05 3.26786E05 2.11685E05 1.13144E06 1.96942E06 4.34452E05 6.79160E04 1.66766E05 1.53706E05 4.34722E03 3.90297E04 4.44638E04 6.42545E03 1.52417E04 1.34350E04 1.25027E04 3.79212E02 1.23898E02 1.29022E03 4.66835E02 1.40834E03 8.49864E01 6.97640E02 8.78586E01 1.18469E03 9.94325E02 3.65628E03 3.81983E03 6.01287E02 8.10902E02 2.58341E03 3.55507E03 5.26039E03 2.90973E03 1.15424E03 1.49717E04 1.68467E04 1.26272E04 5.22369E03 1.12571E04 4.16477E03 6.88333E02 7.87285E03 8.25096E03 1.30473E03 1.79923E03 8.63039E03 1.07333E04 5.97239E03 1.21227E04 1.23284E04 2.35405E03 1.25965E03 2.60937E03 1.62197E04 1.98534E04 7.70642E04 4.36374E04 6.42887E03 4.14143E03 1.11811E03 9.58293E03 1.81521E04 3.75244E03 2.10395E04 4.30635E03 9.99530E03 4.51381E03 5.21329E03 2.22631E04 8.00311E03 1.69142E04 3.70849E04 9.41452E03 1.09221E03 9.56585E03 8.50328E03 1.22283E03 1.05319E03 9.74143E01 1.70085E03 8.86731E03 8.95621E03 1.96502E03 8.61969E02 8.72208E03 1.51893E04 7.13105E03 4.74482E03 1.10665E04 1.06985E04 2.09109E04 3.33569E04 3.60066E04 4.33822E04 6.19312E04 3.02304E04 2.32194E04 8.18054E04 8.78868E04 4.24733E04 1.36259E04 2.33630E04 2.81118E04 8.45047E03 5.87027E03 2.34472E04 5.70475E04 5.55678E04 1.11419E04 7.30707E03 2.62127E04 1.78080E03 5.16803E03 3.25605E03 2.15978E03 1.22645E03 2.09310E03 1.67241E03 6.12385E01 1.76647E03 1.86132E03 2.12809E03 1.63184E03 2.72698E03 3.24490E03 1.27627E02 3.85200E03 7.72104E03 7.93252E03 1.17129E04 6.92685E03 8.67254E02 5.20059E02 1.99168E03 9.52821E02 3.77361E01 8.81555E02 1.48291E01 6.94915E03 3.74326E03 1.07463E03 1.38966E03 6.76794E02 3.32650E02 1.87776E03 7.04339E03 9.86659E03 8.70658E03 9.03461E03 4.46520E02 4.15845E03 3.28931E01 4.15756E02 1.92472E03 2.08012E03 1.56165E03 2.54800E03 6.40391E02 2.83434E03 2.10345E03 5.22962E01 3.15412E03 4.08107E03 1.99878E03 3.24613E03 9.27221E03 1.83537E04 1.07303E04 7.76807E02 6.88701E02 1.39840E02 1.31684E03 2.17390E03 4.93690E03 1.01339E04 -Frame 257 1.08766E04 1.26390E05 8.24286E05 2.52896E06 1.32029E06 6.41861E05 6.12332E06 6.62230E06 3.63571E05 3.83215E06 6.58514E06 4.18116E05 1.33293E07 3.90405E07 1.25158E07 7.15171E06 3.77704E07 2.25703E07 1.10308E04 1.18408E07 1.10508E07 2.77600E05 7.30009E06 1.05731E07 1.19385E06 3.22186E06 8.59477E06 1.89460E06 2.27290E06 1.01491E07 5.32833E06 1.52729E05 4.94951E06 3.93499E06 2.18768E06 3.05708E07 3.14757E07 4.79504E06 8.88349E06 1.22142E07 2.03755E06 2.81050E06 1.12032E07 5.22783E06 7.80633E04 3.00792E06 2.05250E06 1.75786E05 1.08137E06 1.81284E06 8.72734E04 1.28542E06 2.84071E06 8.50461E05 2.32708E05 1.60153E06 9.80011E05 1.52972E05 3.08167E06 2.72288E06 2.72110E05 3.79883E06 1.09524E07 4.89512E06 4.10799E06 1.32585E07 8.42718E06 3.65163E05 4.46121E05 5.35461E04 2.91877E05 1.28028E06 9.23160E05 1.06192E05 1.23486E05 4.66888E04 2.02384E04 2.16375E05 3.28222E05 5.08869E04 1.43364E05 3.18875E05 1.66848E05 1.43078E04 4.83668E05 9.98161E05 1.83871E05 5.73800E05 1.02300E06 2.88721E05 3.97197E04 1.11151E05 2.36670E04 2.35319E04 5.35735E04 7.70114E03 4.62536E03 1.81762E04 6.51268E03 3.29608E02 1.47395E02 8.45348E02 9.33385E02 3.98714E02 1.82353E03 6.94562E02 2.45565E03 1.75040E03 5.85717E02 1.68122E03 1.05196E02 4.00941E02 6.71408E02 1.46788E03 8.33031E03 4.47938E03 8.20866E03 6.44328E03 6.44553E03 6.66574E03 2.89610E03 6.28598E03 6.64931E03 7.54423E03 6.94954E03 5.74519E02 1.01169E03 2.98210E02 2.70289E03 6.34152E03 1.33135E04 6.12935E03 1.60667E02 1.97598E03 2.84153E03 1.57226E04 6.66310E04 4.81106E04 6.79177E03 8.14377E03 3.64846E03 2.53641E03 2.03720E04 1.97727E04 1.72603E04 1.08412E04 3.02135E04 3.60415E04 2.26317E04 1.57965E04 5.20598E03 2.42997E04 4.95388E04 4.68380E04 2.15289E04 1.69447E04 3.61777E04 2.89012E04 1.55272E04 9.23205E03 1.31719E04 1.18075E04 7.39929E03 2.78857E03 1.03467E03 7.12379E03 1.03205E04 7.91424E03 2.01278E03 6.00803E03 1.33595E04 8.48753E03 1.73909E04 1.32244E04 1.41756E04 1.35333E04 8.48857E03 3.86127E03 2.90963E04 4.52638E04 5.56757E03 9.13173E03 8.31819E02 7.47579E03 2.53058E03 8.51608E03 1.47896E04 2.90461E03 3.67691E03 1.32458E04 2.72609E03 9.34026E03 2.92338E04 1.05853E04 4.75490E03 6.47835E03 3.46749E02 6.19581E02 1.44579E03 6.24024E01 1.96613E03 2.72861E03 1.67168E03 7.87301E02 1.71768E02 2.06852E03 3.62275E03 8.51414E01 1.64081E02 1.66567E03 6.61908E03 3.00541E03 6.15410E03 1.69394E04 1.53311E04 1.51792E04 9.65962E03 7.78827E03 7.26427E03 1.38576E04 1.70377E04 1.10849E04 8.54258E03 3.77859E03 3.14679E03 3.03877E03 3.68075E03 5.96749E02 4.02026E03 8.48388E01 9.20549E03 2.62102E04 2.22538E04 1.01244E04 2.95212E03 6.30720E02 1.65431E03 2.47000E03 3.82178E02 7.91210E02 1.87498E03 2.01690E02 1.28028E03 4.68927E03 3.02153E03 1.11479E02 3.15328E02 5.14433E03 2.20206E03 1.50857E03 6.26114E02 5.24736E02 5.61517E03 8.00506E03 4.27043E03 3.83290E03 5.00833E03 -Frame 257 7.54688E05 4.39314E05 2.88529E05 2.11807E06 1.27396E06 7.07386E05 6.07065E06 6.70686E06 3.98189E05 3.83340E06 6.21496E06 3.11578E05 1.33477E07 3.72841E07 1.13686E07 7.17245E06 4.10231E07 2.31339E07 2.94113E04 1.28763E07 1.27298E07 4.26967E05 6.99277E06 1.08236E07 1.55883E06 3.29184E06 1.09814E07 3.46510E06 1.53019E06 1.07900E07 6.22694E06 8.25080E05 1.25679E07 1.02600E07 3.09303E06 5.04601E07 4.60976E07 5.71299E06 2.81340E06 5.13901E06 9.68195E05 1.35969E06 6.47245E06 3.92759E06 3.35691E04 1.92382E06 1.20114E06 2.53185E04 8.36337E05 1.49996E06 2.55520E05 2.97562E05 1.44705E06 4.29398E05 3.13229E05 1.55784E06 1.14950E06 2.01194E04 1.22992E06 1.13631E06 1.41302E05 2.19368E06 4.11462E06 1.27514E06 1.23763E06 9.37841E06 1.09481E07 3.13475E06 2.37336E06 2.31439E06 5.60728E05 1.61196E06 2.28037E06 4.75145E05 3.89859E04 1.19058E05 3.23691E04 7.48171E04 5.03679E05 2.76892E05 4.82043E03 1.00980E05 1.45410E05 1.54690E04 2.38288E05 5.16906E05 2.05231E05 1.66554E05 9.26179E05 1.39435E06 4.72459E05 3.48802E05 2.24334E05 1.50519E04 3.50048E04 4.73462E04 9.33851E03 1.23926E04 1.49720E04 4.02399E03 3.67058E02 6.60325E02 1.06900E03 4.22311E03 5.42181E03 1.18503E03 5.80953E03 6.78809E03 1.30955E03 2.15138E03 9.84804E03 8.35232E03 2.66626E03 6.52763E02 6.67063E03 4.36277E03 4.88999E03 8.35613E03 1.08340E04 5.53588E03 7.79620E02 2.36009E02 1.91940E03 4.15466E03 3.40743E03 1.22558E04 1.77145E04 1.73650E04 8.87295E03 4.45143E03 8.50083E03 2.03323E03 7.30952E03 8.17341E03 1.42061E03 4.06876E03 1.49183E04 2.96017E04 6.01018E03 8.59011E03 3.52383E04 2.42296E04 4.76085E03 2.94333E03 5.75852E03 1.58794E04 3.17261E04 1.32268E04 5.45902E03 8.16229E03 2.89460E02 1.32326E04 2.30769E04 2.40867E03 7.03549E03 9.67857E03 2.83019E03 2.98725E03 5.75283E03 3.65496E03 7.43673E03 1.99147E04 1.88659E04 1.35441E04 9.60057E03 1.20843E04 1.30075E04 5.13665E03 5.89769E03 9.74593E02 1.04042E03 5.92439E03 1.60384E03 1.27374E04 4.80966E04 5.40723E04 2.27179E04 3.46905E03 4.21130E03 1.09688E04 1.50028E04 2.41274E04 2.66625E04 1.66209E04 5.56138E03 4.33716E03 7.71197E03 2.34446E03 1.27029E04 4.36145E03 4.02892E03 7.70475E03 1.58257E04 1.48869E04 6.13702E03 7.45427E03 5.94998E03 5.09930E03 3.16111E03 6.94249E02 5.94593E03 4.61738E03 2.43205E03 7.64438E02 2.18536E03 1.19696E04 1.39759E04 2.18303E03 7.97489E02 9.29764E02 1.22416E03 5.19089E03 1.10500E04 2.27600E04 8.97302E03 3.46716E03 9.65048E03 1.37884E03 1.80018E03 3.63138E02 2.00500E03 5.47025E02 4.63389E03 7.08139E03 2.49938E03 3.07439E03 6.15225E03 4.31722E03 1.64859E03 1.66995E03 8.81005E02 3.09525E03 4.44657E03 2.90806E03 1.15057E03 5.92209E02 2.50371E03 6.83703E03 4.12081E03 3.22448E02 1.93480E03 7.69776E02 2.66869E03 7.46680E03 2.19932E03 1.74672E03 4.61654E03 2.79725E03 4.43331E02 5.57601E03 5.24841E03 3.07908E03 1.30681E04 6.45340E03 1.03727E03 2.38773E03 4.29101E03 -Frame 257 9.78713E05 3.65912E05 6.13358E05 2.58651E06 1.38206E06 6.65530E05 6.00692E06 6.59802E06 4.37979E05 3.48937E06 6.46908E06 4.38235E05 1.32867E07 4.03807E07 1.43629E07 5.56776E06 3.97128E07 2.42306E07 4.30521E04 1.35263E07 1.47508E07 8.78213E05 5.85616E06 9.83273E06 1.14029E06 4.56455E06 1.51978E07 5.36589E06 1.69874E06 1.21435E07 8.49484E06 1.22710E06 2.63954E07 2.20712E07 3.15266E06 5.11146E07 4.54458E07 5.76370E06 4.50841E05 2.61086E06 1.16693E06 3.38974E05 3.87777E06 3.21547E06 1.54299E05 6.52817E05 8.58290E05 5.38894E04 4.78057E05 1.06539E06 2.56560E05 1.78725E05 8.48015E05 4.65278E05 3.79204E04 8.39519E05 6.78983E05 9.53548E03 7.56564E05 9.37382E05 1.13141E05 5.67399E05 1.59070E06 3.00148E05 7.58160E05 3.32446E06 1.92226E06 1.42226E05 2.20654E06 6.48814E06 2.32791E06 1.20196E06 3.30341E06 6.91808E05 1.66532E05 4.63862E05 1.66102E05 2.61053E05 8.87393E05 5.78741E05 1.01202E05 1.05446E05 5.77386E04 2.88943E04 2.46416E05 3.00016E05 8.72496E04 1.43404E05 4.11595E05 2.70809E05 2.36965E05 5.93901E05 1.25573E06 6.96294E05 4.60184E05 3.23220E05 5.68896E04 3.39195E04 5.75944E04 3.13856E04 1.17424E04 6.83272E02 9.50581E02 8.54166E03 9.52723E03 1.39406E03 1.26736E03 6.34447E03 3.62361E02 3.08968E03 5.20942E03 1.37421E04 3.55416E03 1.28780E02 2.24969E03 1.46014E03 8.08354E02 9.41122E02 3.10382E03 5.60651E03 4.30717E03 3.60684E03 2.71096E03 1.22617E04 1.51782E04 7.32708E03 1.99608E04 1.70602E04 2.65201E03 3.72239E03 4.22272E03 3.34483E03 1.11943E04 9.65592E03 2.87552E04 4.17886E04 4.46264E04 6.72138E04 3.17334E04 9.35706E03 2.96465E04 1.70293E04 2.01924E04 4.54852E04 4.17194E04 1.32906E04 6.23200E02 2.09254E04 3.41563E04 2.13559E04 3.69860E03 6.48462E03 3.91304E03 2.54166E02 3.37621E03 3.72117E03 3.19643E03 1.34742E04 1.63909E04 2.82277E03 7.07878E02 2.57281E03 1.64514E03 2.93464E03 2.38579E03 6.41437E03 3.08235E04 1.62407E04 1.53459E02 3.66694E03 4.72946E03 2.01519E03 3.30838E01 1.21136E04 1.67943E04 6.98916E03 2.68710E04 7.03642E03 4.99776E03 1.41265E04 1.73502E04 4.68482E03 1.78447E04 1.85929E04 1.30959E03 1.27153E03 4.13943E03 2.19680E04 2.87998E04 1.89678E04 9.82006E03 6.84584E03 1.16438E04 3.06114E03 1.24807E03 4.34892E03 2.00584E03 8.08032E02 9.92640E03 1.34667E04 1.28232E04 7.10108E03 3.17949E02 2.32645E03 4.58863E03 7.76934E03 1.39599E04 9.63842E03 6.90494E03 1.87763E04 1.80234E04 3.27341E03 3.18945E03 5.62605E03 5.82693E02 2.20487E03 7.41554E03 6.35661E03 9.45482E02 2.33857E01 5.77244E02 2.68120E03 3.07637E03 1.38450E03 3.36040E03 3.49765E03 6.02132E-01 2.03269E03 3.90294E02 9.36632E01 2.82091E02 7.07637E01 2.12095E02 6.74183E02 6.87011E02 8.85864E02 2.59633E03 5.49552E02 2.55107E03 6.14452E03 8.59666E03 5.73472E03 1.40644E02 5.71515E03 1.83792E04 1.40960E04 5.05060E02 9.13059E03 2.03210E04 9.46580E03 6.43221E03 1.91835E04 9.86043E03 4.51858E02 1.89516E03 9.12244E03 1.29906E04 -Frame 257 2.89071E05 1.88347E05 2.10803E05 2.16993E06 1.38635E06 7.28912E05 5.91187E06 6.20657E06 4.46107E05 3.50994E06 6.05651E06 1.98694E05 1.55759E07 4.20783E07 1.28299E07 7.74831E06 4.02695E07 2.14098E07 2.67656E05 1.53068E07 1.42768E07 6.05232E05 5.56623E06 8.61722E06 5.74011E05 6.70452E06 1.98503E07 6.62706E06 2.31404E06 1.35883E07 6.89461E06 5.39344E06 5.07712E07 4.09971E07 4.47246E06 2.01918E07 2.07871E07 2.34087E06 1.13037E06 2.28956E06 7.15859E05 4.55732E05 2.97599E06 1.33547E06 3.50633E04 8.93460E05 6.21190E05 2.03958E04 5.28142E05 6.64621E05 5.09913E04 2.35070E05 4.52661E05 9.84897E04 1.73856E05 8.81836E05 5.57677E05 1.63208E03 3.68893E05 4.06910E05 4.42062E03 8.61639E05 1.29166E06 3.05262E05 2.16267E05 7.65130E05 1.32422E05 7.14191E05 4.46108E06 5.30893E06 9.85675E05 3.84195E06 5.15809E06 4.08168E05 1.45006E06 2.82746E06 8.26889E05 3.74378E05 1.24031E06 4.08762E05 7.14159E04 3.07193E05 1.13637E05 2.24836E04 1.80291E05 2.25346E05 1.29090E04 1.05129E05 7.39577E04 1.10028E03 8.15653E04 6.59877E05 8.50666E05 5.08453E05 1.13779E06 1.55649E06 7.02290E05 1.36610E05 3.83496E05 1.62837E05 9.15714E04 1.00147E05 4.28740E04 2.96850E04 1.06256E04 1.43617E03 8.29052E03 1.02980E04 1.00375E04 1.56547E03 9.23217E02 1.09134E03 2.84180E03 4.67545E03 7.39692E03 2.91850E03 1.52330E03 2.72618E02 2.11735E02 3.30759E03 2.64744E03 3.61868E03 7.51661E02 4.24082E03 2.42495E04 1.52945E04 4.29732E03 3.97191E03 1.06419E04 1.41318E04 3.18114E04 1.74872E04 1.23046E04 2.87017E04 2.30822E04 2.58319E04 1.08807E05 2.27288E04 1.14874E04 5.42643E04 6.25659E04 1.06222E04 2.57354E04 2.76996E04 2.29638E03 1.08416E04 1.24805E04 2.65170E03 3.65173E04 2.87174E04 5.97837E02 2.90392E03 1.26525E04 9.47148E03 1.65131E03 6.82548E02 7.74407E02 7.14489E03 2.89592E04 2.18034E04 1.25817E04 4.37973E03 4.43900E02 3.70299E02 8.92852E02 3.58941E03 1.08381E04 1.25731E04 4.22133E03 4.03327E03 4.01130E03 1.68615E03 1.01648E04 1.01394E04 1.96427E03 3.80433E04 4.96727E04 4.19190E03 2.45838E04 2.86771E04 2.80914E03 1.20336E04 3.99730E04 1.24626E04 4.23495E03 1.29880E04 1.41568E04 6.55014E03 7.68215E02 3.97317E03 3.75101E03 4.03490E03 5.42078E03 1.08898E03 2.95875E03 7.73801E03 2.68886E03 2.60221E03 7.14700E02 9.39385E03 5.77739E02 3.53710E03 9.73243E02 4.57075E03 7.39489E03 4.21759E03 1.94642E03 1.14426E03 1.18556E04 4.66011E04 3.80742E04 1.29218E04 4.18120E03 2.95420E02 2.44158E03 1.28907E03 2.68435E03 5.69968E03 2.51201E03 1.87678E03 2.63300E02 2.57431E03 5.60447E03 1.34028E04 1.01282E04 2.62616E02 3.44011E03 4.86615E03 2.02243E03 4.49215E02 2.84084E01 3.64205E01 4.19471E02 2.03559E03 1.23279E03 1.24150E03 3.91432E03 5.97440E03 2.64962E03 3.27969E03 1.80917E03 1.52729E03 2.16995E03 1.37414E03 1.76431E03 4.81047E03 1.71473E04 6.27117E03 4.02067E03 6.52401E03 6.43077E03 2.06748E03 8.19095E02 6.00979E03 2.72303E03 3.53057E02 2.67655E03 -Frame 257 5.33922E04 5.35088E04 4.87869E05 2.53569E06 1.60638E06 7.92711E05 5.93430E06 5.87897E06 4.33917E05 3.38244E06 6.02101E06 1.85756E05 1.69071E07 4.18065E07 1.18059E07 7.72108E06 3.76591E07 1.92033E07 4.08540E05 1.51722E07 1.24841E07 3.58762E05 5.43858E06 8.45307E06 4.12213E05 8.45531E06 2.15112E07 6.21614E06 3.38113E06 1.67293E07 6.83037E06 1.12413E07 8.15266E07 5.38666E07 2.81256E06 5.33556E06 7.05712E06 6.64321E05 1.08695E06 1.99769E06 5.89578E05 5.24525E05 2.52432E06 1.22178E06 2.07284E04 7.38920E05 5.47599E05 4.80084E03 5.45768E05 7.34845E05 1.19479E05 1.64791E05 3.83023E05 6.19026E04 2.22999E05 7.41946E05 2.71386E05 4.92688E04 4.03560E05 3.05566E05 8.34314E03 6.24983E05 8.49898E05 8.17389E04 2.46639E05 5.46954E05 1.18300E05 4.09364E05 1.90151E06 8.63717E05 3.22926E05 3.58033E06 4.68913E06 4.67031E05 4.10198E06 9.04343E06 2.86726E06 1.37405E06 2.34972E06 6.88729E05 2.53497E04 4.69342E05 2.18383E05 5.40140E04 2.55685E05 2.38301E05 1.71680E04 2.01165E04 3.57907E04 3.38902E03 1.37042E05 4.18411E05 1.66588E05 3.93250E03 1.63066E05 2.82181E05 2.19788E05 1.36253E06 2.19124E06 1.04746E06 3.48328E04 1.57421E05 1.02754E05 2.46347E04 1.68114E05 1.03528E05 2.48551E04 2.30635E04 8.87571E03 1.22860E04 1.74492E04 1.48584E04 1.07507E04 6.88272E03 4.27842E02 7.39652E03 1.04198E04 4.42009E03 7.17117E03 1.03808E04 1.22351E04 1.29090E04 1.26324E04 2.48814E04 2.38390E04 1.45314E04 2.39090E04 5.06757E04 4.14612E04 5.80177E04 9.43152E04 3.22331E04 1.41178E04 5.78591E04 4.40230E04 5.76195E04 1.78880E05 9.99383E04 2.10482E04 1.58312E05 2.31709E05 4.51133E04 7.78425E03 2.84878E04 7.65382E03 9.03315E02 4.33718E03 2.27501E04 7.74576E04 5.24654E04 4.87528E03 5.48226E03 1.67571E04 1.19066E04 7.87101E02 4.19243E03 4.09054E03 1.33515E04 2.27394E04 7.53571E03 5.17794E03 1.62366E04 6.80143E03 1.28817E03 2.62048E03 1.57944E03 2.07788E03 3.42483E03 1.64029E03 2.87284E02 1.95394E03 1.96533E04 1.99085E04 6.08597E03 2.98902E04 3.23424E04 1.02508E04 3.71579E04 1.12941E05 9.00305E04 2.61583E04 4.21169E04 3.22135E04 6.53442E03 2.45775E04 3.55041E04 1.48419E04 5.35848E03 5.60970E03 7.53378E03 9.15178E03 7.50301E03 1.21115E04 1.71247E04 2.21442E04 1.60676E04 4.47160E03 1.50615E03 3.52171E03 1.15822E04 2.94296E04 2.62030E04 8.95124E03 4.94229E02 1.74402E04 2.12687E04 1.18655E04 3.18438E04 6.38671E04 2.83430E04 1.50531E03 9.30998E02 8.75026E03 9.52111E03 8.45575E03 1.90902E03 5.37136E03 7.82048E03 1.02248E03 2.76456E03 9.22331E03 9.22626E03 5.99107E03 3.28211E03 1.57158E04 1.64020E04 6.14398E03 2.99010E03 7.57282E03 4.76968E03 1.42928E03 8.66676E02 2.79845E03 3.71664E03 2.61590E03 1.22697E03 3.87787E03 2.13714E03 1.90009E03 4.71364E03 6.60040E03 6.29114E03 1.23000E04 1.05306E04 6.02099E03 4.91953E03 6.19380E03 8.50022E03 6.14394E03 5.00981E03 6.93902E03 2.89072E02 3.01341E03 4.97188E03 2.51763E03 5.34108E03 1.17810E04 -Frame 257 8.50033E05 4.78450E05 6.64925E05 2.63024E06 1.59644E06 8.63103E05 6.11076E06 5.72537E06 4.81369E05 3.43411E06 6.17005E06 1.56976E05 1.84093E07 4.24267E07 1.07123E07 7.05240E06 3.14522E07 1.53390E07 5.88817E05 1.46115E07 1.13574E07 4.52944E05 5.08216E06 8.50635E06 3.44790E05 8.52781E06 1.91085E07 4.45051E06 5.47084E06 2.31537E07 7.50017E06 1.96844E07 1.08213E08 6.19830E07 2.20918E06 3.37126E06 3.99041E06 3.49156E05 7.26698E05 1.19492E06 3.05465E05 4.45153E05 1.72613E06 6.25365E05 6.69123E04 5.72658E05 3.48014E05 2.91921E04 6.47147E05 5.77256E05 3.58353E04 1.99661E05 3.93051E05 5.94566E04 1.30087E05 5.31288E05 2.17770E05 2.71499E04 3.41448E05 2.65592E05 7.13141E03 4.82070E05 5.53513E05 1.64017E04 2.69219E05 6.38284E05 1.55077E05 2.15606E05 7.58079E05 3.46912E05 1.49577E05 2.01767E06 2.20253E06 2.34950E05 6.41051E06 1.36755E07 4.50112E06 4.04843E05 2.58669E06 3.15480E05 4.49591E05 8.37503E05 2.78509E05 1.02582E05 4.41374E05 1.92456E05 2.50580E04 1.04057E05 6.34167E04 2.80498E04 2.75103E05 3.44995E05 2.13777E04 7.47646E04 1.40983E05 5.47612E04 1.42922E05 9.63522E05 5.30225E05 9.87230E04 6.95793E05 5.42931E05 3.25803E04 3.65340E05 8.62683E05 3.59434E05 2.31492E04 1.40484E05 1.02000E05 1.51516E04 3.90614E04 2.08996E04 8.14608E03 1.09990E03 4.36107E03 3.48940E03 2.46621E03 3.35518E03 3.69045E03 1.55833E02 5.05432E02 2.04564E03 2.09880E03 6.22518E03 5.97891E03 1.30187E04 3.72313E04 2.82338E04 4.04835E04 8.83468E04 1.14873E05 6.83574E04 6.92138E04 4.53444E04 7.79930E03 7.74306E04 2.45394E05 3.06467E05 1.45090E05 5.41499E05 4.51466E05 9.25208E04 4.04373E04 2.25756E04 2.74326E04 2.97033E04 2.06309E04 1.41907E04 1.67895E04 2.82655E04 1.59201E04 5.96085E03 2.50167E04 2.21113E04 1.99012E03 2.40380E04 4.51872E04 2.62712E04 3.96072E03 6.72377E03 8.27349E03 1.85133E03 1.07953E04 1.75716E04 8.25064E03 1.43196E03 1.56584E03 3.92934E03 1.46352E03 1.73718E03 2.27137E03 1.45686E04 1.98332E04 2.31913E04 2.65227E04 2.48531E04 1.71983E04 8.33790E04 3.49454E05 2.61299E05 5.14444E03 5.20941E04 2.41506E04 2.06370E04 4.63739E04 3.87323E04 1.61212E04 2.15596E04 1.05749E04 4.72545E03 8.32601E02 4.52672E03 1.45845E04 1.40103E03 1.43568E04 1.34475E04 2.97777E03 9.79179E02 3.88659E02 1.40484E03 4.79470E03 2.52011E04 1.20589E04 4.52158E03 3.00528E04 2.85189E04 1.85267E02 3.84388E04 4.02589E04 3.83277E03 2.04032E03 1.04922E04 2.52911E04 1.72382E04 1.67338E04 1.00142E04 1.26796E03 2.55123E03 6.03230E03 1.04810E03 1.71366E03 1.71899E03 4.72470E02 4.30359E03 8.55690E03 1.80476E03 5.48326E03 6.12920E03 1.09823E03 1.18387E04 1.23920E04 1.10752E04 5.14131E03 2.00396E03 2.36077E03 1.22569E03 2.23942E02 1.76781E03 1.02576E03 9.12509E02 2.33394E03 3.04859E03 7.28450E03 5.64004E03 9.35028E02 8.18982E02 6.89000E02 1.10524E03 6.36872E03 1.44953E04 1.61290E04 5.77508E03 5.62171E00 2.44480E03 2.84877E02 2.18701E04 4.92823E04 -Frame 257 1.01891E06 4.34232E05 4.26454E05 2.15130E06 1.46433E06 8.36066E05 6.24705E06 5.82751E06 6.13053E05 3.64416E06 6.04865E06 3.81257E04 2.07841E07 4.41582E07 1.03628E07 5.32328E06 2.26257E07 1.00109E07 8.97389E05 1.36397E07 9.12523E06 3.96619E05 5.45108E06 7.89894E06 3.17498E05 7.27556E06 1.41947E07 2.44998E06 9.15484E06 3.26284E07 1.22488E07 2.03343E07 9.86214E07 5.10585E07 7.95263E05 4.17724E06 4.05104E06 4.60427E05 2.64377E05 5.56299E05 1.55675E05 3.38579E05 1.23018E06 4.39287E05 1.69327E04 3.70811E05 3.43002E05 1.06692E04 4.75265E05 4.20670E05 3.81909E04 1.27470E05 2.15404E05 7.62293E03 1.59125E05 4.42950E05 1.36561E05 7.38097E04 2.69506E05 9.82987E04 3.59613E04 3.81604E05 2.73039E05 4.58146E03 2.41562E05 3.04568E05 2.20298E04 2.19082E05 4.24062E05 1.46085E05 2.94663E05 1.19493E06 5.68145E05 6.30067E05 5.13338E06 5.46864E06 1.11565E05 5.00568E06 6.79104E06 1.43545E06 1.38079E05 7.35715E05 1.60062E05 2.37456E05 5.37085E05 2.67177E05 5.93813E03 9.27280E04 7.32744E04 5.11801E04 3.31832E05 3.20605E05 7.35334E04 1.09414E04 3.36352E04 2.17400E04 4.10920E05 8.17025E05 4.02163E05 7.81188E03 3.73122E05 2.13933E05 2.05165E05 8.84249E05 1.16331E06 3.18214E05 3.82493E04 2.00778E05 4.91548E04 4.94258E04 1.51914E05 8.02176E04 3.14866E04 5.40317E03 2.46680E03 7.69082E03 6.11962E03 9.86512E03 1.27908E04 1.19902E04 7.64292E03 3.74254E02 3.50882E03 1.30020E04 2.46049E04 5.45963E04 8.02807E04 9.07007E04 1.81299E05 2.19759E05 1.32242E05 1.25240E05 1.77141E05 1.56447E05 6.38678E04 5.52724E03 8.72446E04 3.84661E04 7.67185E05 9.80278E05 3.01010E05 1.53229E04 5.78404E02 5.81885E03 3.53263E04 7.75780E04 6.17982E04 1.86649E04 6.86242E03 3.59804E03 5.02570E03 5.40408E02 1.38171E04 1.33298E04 6.96154E03 2.13637E04 1.20635E04 4.98909E02 7.25303E03 8.95327E02 1.27990E04 1.21570E04 3.20338E03 5.35820E03 1.25154E04 5.35840E03 6.18448E03 9.97288E03 5.45287E03 1.08030E04 1.34362E04 9.17313E03 8.73961E03 1.11539E04 1.45344E04 1.87371E04 7.21252E02 1.93251E05 4.09928E05 6.18083E04 1.06034E05 2.25127E05 9.37382E04 5.02481E03 2.32306E04 1.03174E04 5.54926E03 2.59232E04 9.04101E03 4.50147E02 3.95388E03 2.57160E02 6.41883E03 1.73635E04 1.44271E04 3.43960E03 6.55551E02 9.49082E02 1.23137E03 3.76981E03 1.02420E04 1.30840E04 1.85673E03 3.07351E03 7.14258E03 1.02628E04 1.49447E04 1.03072E04 3.59159E03 1.11875E03 4.70825E03 1.15924E04 2.21619E04 3.28352E04 1.62022E04 2.74460E03 5.94972E03 7.91467E03 1.35227E03 7.11490E02 6.81115E03 8.11685E03 2.81180E03 6.09425E03 5.05312E03 4.47442E02 9.97849E03 1.15015E04 1.89818E03 6.93207E03 2.13445E04 1.14746E04 8.25407E03 4.44608E03 1.04634E03 5.69400E03 1.20538E04 5.47043E03 1.05319E02 4.02522E03 2.62296E03 1.03059E03 2.37942E03 5.58509E02 5.27947E02 4.57091E03 5.94723E03 3.95355E03 1.56330E03 3.30137E03 8.14206E02 1.30382E03 1.71774E02 5.01870E03 1.60959E04 1.74589E04 2.98602E03 -Frame 257 1.84034E05 2.98261E05 1.00024E06 2.46627E06 1.33156E06 8.15490E05 5.96996E06 5.80194E06 5.89018E05 3.55811E06 6.42567E06 7.34763E04 2.01307E07 4.66690E07 1.29690E07 2.37284E06 1.38805E07 6.85999E06 5.23762E05 1.04794E07 8.12438E06 6.53301E05 4.60848E06 7.27821E06 7.91181E05 3.71546E06 1.02946E07 2.11479E06 9.16967E06 3.54961E07 2.07935E07 1.08875E07 5.57048E07 3.26256E07 5.65027E05 3.82938E06 3.80880E06 5.83743E05 2.13996E05 4.64269E05 8.41070E04 2.79979E05 1.01668E06 4.63705E05 6.09007E04 3.69874E05 3.07918E05 6.29680E03 2.56606E05 2.96959E05 3.09675E04 1.08191E05 2.43906E05 6.46868E04 1.28766E05 3.71948E05 1.21920E05 9.93409E03 1.82686E05 1.33685E05 8.75233E03 1.93568E05 1.41785E05 6.73556E03 1.41108E05 1.49362E05 2.18662E04 5.66314E04 2.76195E05 1.10207E05 8.50478E04 6.54867E05 6.61011E05 1.65653E04 1.25308E06 2.38880E06 5.28453E05 3.95534E06 9.53449E06 3.43009E06 1.75913E05 1.27566E06 7.14814E05 2.30950E04 1.32322E05 7.31499E04 2.37587E04 1.96184E05 2.88939E05 4.83788E04 3.98922E04 9.63368E04 6.96965E03 7.65038E04 1.60939E05 9.45221E04 5.63595E03 1.70191E05 1.12159E05 6.96854E04 4.82843E05 5.90975E05 1.84413E05 9.23031E04 3.76910E05 1.19927E05 7.15722E04 2.69135E05 1.66972E05 8.70629E03 2.01912E05 1.76278E05 9.65369E03 9.98642E03 1.75369E04 1.03783E04 4.91684E03 3.43292E03 1.11694E03 4.69472E03 1.00470E04 1.15135E03 1.66319E03 7.34327E03 1.54494E04 7.69958E02 1.73270E03 2.16165E04 5.22312E04 1.34858E04 1.21441E05 5.50631E04 1.30347E02 1.33182E04 4.30726E04 2.13540E05 4.50671E05 3.16502E05 5.12379E04 1.16831E05 9.61728E04 1.43702E04 3.82970E04 4.31442E04 6.51726E03 1.25876E03 1.91952E04 1.29102E04 5.88676E03 8.54882E03 9.14031E01 4.34547E03 1.00705E04 3.86090E03 5.29779E02 1.38268E03 5.89513E03 4.94850E03 1.10258E03 2.03233E04 2.36579E04 1.33834E03 4.03877E03 5.95287E03 7.77665E02 9.06845E03 4.69126E03 1.17034E04 1.29865E04 1.51255E04 1.48731E04 1.03635E04 2.87893E04 1.75995E04 9.05948E02 1.38271E04 4.20993E03 8.93443E04 3.50712E05 1.79951E05 4.32328E04 1.27896E05 3.59580E04 1.55744E03 2.00673E04 2.48635E04 2.26540E03 9.93844E03 9.86301E03 4.65474E03 2.43977E03 9.96228E03 1.68838E04 3.13088E03 4.72164E03 6.04423E03 3.11294E03 3.14260E03 1.53808E03 4.16108E02 2.01556E03 7.03942E03 4.66506E03 1.62061E03 4.56222E02 1.08048E02 2.32300E02 1.45166E02 3.14505E02 2.06402E02 1.68293E03 4.00556E03 6.38531E03 6.08922E03 7.99969E02 3.92803E03 5.28820E02 4.43264E03 1.80330E03 3.74763E01 5.34381E03 4.89505E03 7.21623E02 1.19229E04 1.14340E04 4.61787E02 9.94189E03 1.35589E04 3.47098E03 2.75736E04 2.90793E04 1.29872E04 6.99484E03 6.36903E03 6.90394E03 1.45193E03 2.55306E04 3.03115E04 5.41216E03 6.84417E03 1.45807E04 6.08675E03 7.04668E02 3.97950E02 1.09516E03 1.81152E03 2.59506E03 4.23472E03 1.79270E03 8.13111E02 3.75538E03 2.26221E03 9.57386E02 1.38041E03 1.78782E03 3.50675E03 2.82394E03 -Frame 257 2.65089E05 1.34207E05 4.42205E05 1.94176E06 1.24349E06 8.23745E05 5.53612E06 5.14712E06 5.68276E05 3.85536E06 6.11485E06 7.85737E03 2.07110E07 4.39349E07 1.04364E07 1.79946E06 8.62139E06 4.28281E06 4.67908E05 7.60482E06 5.49099E06 3.32760E05 4.05927E06 5.18490E06 2.15845E05 3.41110E06 8.22053E06 1.91011E06 5.61064E06 2.36398E07 1.06027E07 7.11740E06 3.28066E07 2.06265E07 4.83905E05 2.08456E06 2.33375E06 2.53710E05 2.70261E05 5.14279E05 9.72893E04 2.44638E05 8.32119E05 3.81253E05 3.92880E04 2.62271E05 1.28325E05 1.64884E04 2.81169E05 2.61748E05 3.03735E04 9.07755E04 1.55185E05 1.49065E04 1.51292E05 2.79416E05 9.00915E04 2.23761E04 1.42924E05 8.06620E04 1.06326E04 2.20163E05 2.15720E05 2.61610E04 4.46559E04 8.54560E04 1.56402E04 6.19824E04 1.87793E05 3.69126E04 5.09930E04 2.70831E05 1.62366E05 9.01173E04 8.23390E05 7.06730E05 2.02306E04 2.51098E06 5.70612E06 1.60192E06 1.44182E06 2.02948E06 3.92842E05 1.32042E05 3.97467E05 1.68008E05 2.34757E04 1.79894E05 1.63490E05 5.56318E03 1.16316E05 1.45202E05 1.60876E04 5.22978E04 1.34545E05 3.43305E04 6.80237E04 2.09038E05 9.14871E04 2.03572E04 3.29707E05 3.16226E05 1.19626E04 2.43693E05 2.90088E05 5.39620E04 8.27457E04 2.82817E05 8.64878E04 1.11284E05 5.34551E05 2.52272E05 5.18131E03 4.65623E04 2.26181E04 3.13044E03 1.47141E03 5.02370E03 3.72924E03 1.58434E03 5.64307E03 1.91409E03 8.07012E02 4.34104E03 1.29412E04 1.10167E04 1.43528E04 4.34724E03 1.06821E04 5.20597E04 1.29819E05 5.19824E04 1.76063E04 3.73707E04 5.73798E04 5.31236E04 1.36671E05 7.45770E04 1.82903E04 2.30522E03 2.30255E04 3.40562E04 5.51739E04 5.46867E04 9.15411E03 3.84670E03 2.75562E04 6.17692E04 5.39084E04 3.53206E04 7.06345E03 4.77495E03 3.25541E03 8.27815E02 6.35917E02 7.26963E02 4.00547E01 3.23162E03 3.79617E03 9.76804E03 1.56286E04 6.34840E03 7.23287E02 8.21971E01 9.45006E03 1.29562E04 1.21878E04 1.07234E04 7.23629E03 1.22265E03 1.94433E03 8.64948E03 3.85899E03 1.58070E04 1.17289E04 3.40040E03 5.89936E02 3.67795E04 2.45150E05 2.13633E05 4.14235E04 4.92553E04 3.99437E04 1.51996E03 7.05095E03 1.39483E04 1.24400E04 8.65951E03 6.27154E03 8.81734E03 2.27482E04 1.89251E04 3.57944E03 6.30641E03 8.75585E02 3.71696E03 2.75881E03 1.47372E03 2.47026E03 1.21676E03 2.37090E03 7.11622E02 4.65886E02 5.38353E02 9.79927E00 8.37122E02 1.84367E03 2.40741E03 1.89283E03 1.51918E03 2.24086E03 3.19760E02 2.39499E03 9.82336E03 7.89794E03 1.13458E03 2.62045E03 3.29256E03 8.53026E02 7.17832E02 3.92701E03 5.50394E03 1.94131E02 1.11912E04 1.56500E04 4.38464E03 4.40340E03 2.80889E04 2.21039E04 4.52715E03 2.18013E04 7.92344E03 4.19685E03 1.73836E04 8.91447E03 2.80962E03 2.72214E04 2.84014E04 5.61799E03 1.19474E04 5.52313E03 8.30359E01 8.31087E02 1.21333E03 1.06040E03 3.50483E02 9.00646E02 3.72700E02 5.86842E02 2.56617E03 2.44644E03 1.60281E03 1.06146E03 6.36874E02 8.61833E02 8.39305E02 2.42778E02 -Frame 257 1.65315E06 8.19712E05 8.14817E05 2.44711E06 1.45021E06 8.80437E05 5.29182E06 4.95866E06 5.66321E05 3.77414E06 5.37541E06 1.33896E04 2.10096E07 3.98446E07 8.06503E06 1.38501E06 5.22025E06 1.97050E06 7.27825E05 6.00040E06 3.46758E06 1.97912E05 3.03058E06 2.91593E06 7.93814E03 4.22742E06 6.34501E06 7.48637E05 5.77166E06 1.49956E07 3.86528E06 6.09087E06 2.57786E07 1.20655E07 1.39855E04 1.94007E06 1.46681E06 5.90850E04 3.38224E05 4.52469E05 6.76541E04 2.58653E05 6.00393E05 1.47805E05 7.09970E04 1.79138E05 1.03421E05 3.47788E04 2.76320E05 1.49964E05 1.53583E04 1.09165E05 8.59635E04 3.72345E03 8.05431E04 1.60505E05 5.67659E04 5.46033E04 1.14326E05 2.52792E04 2.74073E04 2.28716E05 1.58833E05 9.23286E03 1.09397E05 8.29934E04 7.62160E03 8.24758E04 8.99827E04 1.80848E03 3.07938E04 8.52392E04 4.13663E03 1.97347E05 4.89769E05 1.23155E05 2.84799E05 1.86017E06 1.08988E06 4.09193E05 2.69580E06 2.52888E06 3.14460E05 3.14624E05 4.14806E05 4.65826E04 8.17107E04 1.40511E05 9.03785E03 9.85682E04 2.45515E05 1.21575E05 1.09265E04 1.12441E05 4.86154E04 3.32371E04 2.27240E05 1.42615E05 1.33154E04 1.86140E05 2.28217E05 2.78178E04 6.49925E04 2.38389E05 9.87569E04 4.96964E04 2.74489E05 1.21203E05 6.11925E04 6.95984E05 7.36238E05 5.70697E04 9.08817E04 1.23820E05 2.55555E04 4.22991E03 9.71021E03 1.68495E04 1.80100E04 1.13419E04 5.62366E03 4.21189E03 4.48898E03 1.04537E04 2.01384E04 1.83948E04 4.63959E04 5.44324E04 4.73524E04 6.79113E04 6.13333E04 1.53166E04 2.40319E04 9.20965E04 8.69811E04 1.19306E05 1.70527E05 1.40554E05 1.32815E05 1.42139E05 5.47415E04 1.00443E04 1.61689E04 4.76344E03 8.11597E03 2.43610E04 3.33606E04 2.25433E04 1.83733E04 2.96220E04 6.19023E02 6.93108E03 1.32207E04 1.28226E04 9.33164E03 9.55302E02 3.61896E03 1.18905E04 5.15019E03 9.57742E01 5.45298E03 3.21456E03 6.51746E02 6.35435E03 6.16947E03 1.85881E03 2.34620E03 1.68340E03 1.07329E03 6.60506E02 3.30835E02 3.39684E02 6.60720E03 1.04256E04 7.57240E03 3.39485E03 6.79620E03 8.19289E03 5.33307E04 1.99280E05 1.40539E05 4.57343E04 3.38726E03 3.93134E03 2.81913E00 5.64323E02 1.39818E02 1.04322E02 2.03850E03 2.65125E03 1.98922E02 5.79470E03 7.58724E03 9.23532E03 1.19077E04 9.21052E03 4.81171E03 1.27535E04 2.22803E04 1.25121E04 3.02897E03 2.33128E03 2.34967E03 4.42640E03 4.40490E03 3.06774E03 3.14160E03 2.58399E02 4.74957E01 2.53874E03 6.35025E02 5.17676E02 3.80666E02 1.44844E03 9.60143E02 1.43606E03 4.23045E03 3.15301E03 7.41612E03 6.61089E03 8.43545E03 1.89349E04 2.10476E04 5.24143E03 1.97037E04 2.69526E04 1.98607E03 2.87819E04 4.75387E04 1.64606E04 5.75938E03 2.94439E04 2.57415E04 4.83585E03 1.19517E04 1.59155E04 1.14276E03 1.01840E04 7.08390E03 2.74947E03 7.27895E02 1.63390E03 1.15969E03 1.70954E03 2.21791E03 2.24469E03 2.39117E03 3.06583E03 2.78539E03 2.16660E03 2.27339E03 2.99451E03 2.73504E03 1.87143E03 1.88074E03 1.06894E02 1.41443E-01 -Frame 257 1.49670E06 4.60895E05 3.80556E05 2.39714E06 1.47539E06 8.33263E05 5.08787E06 4.59378E06 4.50057E05 3.63677E06 5.07049E06 1.07680E04 1.90198E07 3.73410E07 8.08043E06 7.17404E05 3.33220E06 1.23254E06 7.65741E05 4.67057E06 2.59255E06 1.09817E05 1.80566E06 1.73095E06 1.71699E04 3.42097E06 4.64896E06 3.68429E05 3.77994E06 8.94499E06 3.11222E06 6.85471E06 2.69316E07 1.31947E07 5.39572E05 2.26514E06 1.45101E06 9.15593E04 3.54054E05 3.01606E05 4.34503E04 2.28857E05 4.42083E05 8.25122E04 8.02404E04 1.39655E05 2.38547E04 9.94158E04 3.28962E05 1.65948E05 8.13138E03 7.27137E04 4.92449E04 5.61789E03 7.73681E04 6.64531E04 1.18045E03 7.31406E04 6.45797E04 5.79426E03 7.81361E04 1.75446E05 5.94758E04 1.23790E04 9.18387E04 3.23798E04 7.52509E03 8.50248E04 5.87732E04 1.70169E04 4.51441E04 4.15910E04 7.21354E03 2.77802E05 4.76081E05 8.86798E04 4.37173E05 1.35395E06 5.01594E05 4.15093E05 4.03248E06 3.01610E06 6.90011E04 2.95578E05 2.31160E05 8.13594E03 1.34808E05 1.72289E05 4.09198E04 4.21985E04 1.44070E05 3.77292E04 3.84132E04 1.46650E05 4.96081E04 1.96976E04 1.91900E05 1.75438E05 7.68551E03 8.14123E04 1.46902E05 1.73802E04 1.16166E05 2.50916E05 3.56730E04 1.26746E05 2.39563E05 1.17837E04 2.85860E05 8.04747E05 4.27500E05 3.05507E04 1.34225E05 1.22976E05 2.60591E04 1.28971E04 2.13983E04 8.08841E03 9.92920E03 6.15086E03 2.51479E03 1.29073E04 1.16788E04 1.89717E02 5.54906E03 2.43250E04 2.55686E04 2.54728E03 2.10639E04 5.46964E04 4.87434E04 2.08851E04 5.84947E04 5.41359E04 1.24562E04 3.16483E04 6.18770E04 9.78966E03 5.17339E04 1.04662E05 3.27496E04 2.65975E03 1.33439E04 2.30214E04 1.25084E04 1.30419E04 5.98484E03 3.11994E04 5.02916E04 2.60040E04 5.25895E03 6.46397E02 2.16175E02 4.39187E03 1.74006E04 1.49993E04 1.31147E04 1.27441E04 1.13779E04 2.18455E04 2.13777E04 1.27164E04 5.95918E03 6.23476E03 3.98396E03 4.13768E03 1.21591E04 3.48929E03 1.25586E03 1.47905E03 4.41132E03 9.57363E03 1.28784E04 9.17344E02 4.50237E03 4.32047E03 1.70970E04 2.68114E04 5.10193E03 4.28302E04 9.99233E04 3.92209E04 6.00383E03 5.38201E02 1.21515E03 1.21059E03 5.32339E02 2.01923E03 6.17522E03 4.85058E03 8.96718E02 1.45463E03 2.23018E03 1.93081E03 6.42034E03 1.69581E03 2.08262E04 3.51275E04 1.02903E04 6.83706E03 6.45410E03 1.07515E03 4.21864E03 1.17614E03 1.35857E03 2.32211E03 5.01874E03 2.29686E03 1.19796E03 1.68466E03 5.36646E03 6.02655E03 3.08783E03 1.38291E03 9.06347E02 1.36815E03 7.37050E02 8.49835E03 1.88284E04 1.41731E04 1.09013E03 5.51094E03 7.89637E03 1.14229E04 3.27323E04 3.08482E04 2.64258E03 2.78469E04 3.13751E04 1.14602E03 2.45504E04 3.15329E04 4.13812E03 1.38708E04 3.39463E04 2.08807E04 5.17651E03 5.99082E03 2.84120E03 3.31577E03 8.25921E03 5.36661E03 9.46978E02 1.68717E03 1.63836E03 3.10799E03 3.47465E03 3.23827E03 1.38608E03 1.83725E03 3.39451E03 1.52868E03 6.41210E03 8.61344E03 2.93763E03 1.93815E03 1.85614E03 -Frame 257 3.34336E05 2.96579E05 3.90916E05 2.50233E06 1.53004E06 8.97687E05 5.00355E06 4.11433E06 3.44841E05 3.31445E06 4.39919E06 3.27237E04 1.81199E07 3.30831E07 6.14225E06 9.92793E05 3.05942E06 9.11258E05 1.05670E06 4.07847E06 1.76273E06 1.40736E05 1.43657E06 1.01374E06 1.41364E05 3.16294E06 3.47692E06 2.89112E05 2.06151E06 3.87884E06 8.11335E05 3.80723E06 2.44033E07 2.37492E07 2.35931E06 2.46468E06 1.91084E06 2.85545E04 3.77410E05 1.02235E05 5.95765E04 2.55124E05 1.95633E05 3.14981E03 2.25238E05 2.69772E05 1.11998E05 1.14642E05 2.36896E05 5.46106E04 2.26879E04 1.15876E05 7.45755E04 1.88101E04 9.93528E04 6.42249E04 3.10614E03 4.98951E04 6.40491E04 1.07234E04 4.45609E04 7.31153E04 1.73977E03 4.52428E04 1.00578E05 3.61860E04 2.49221E04 9.50516E04 3.71853E04 1.64811E04 1.18312E05 1.26879E05 1.34267E05 5.68615E05 6.12623E05 7.02128E04 7.33613E05 1.32400E06 8.32498E04 3.28633E06 7.53265E06 2.78072E06 1.80120E04 1.89010E05 4.98728E04 1.75682E05 4.27570E05 1.97266E05 9.33931E04 2.02389E05 9.10565E04 3.19366E04 1.82394E05 1.61136E05 2.86033E04 6.74407E04 1.32419E05 8.52334E03 9.39497E04 1.35108E05 3.55064E04 6.44659E04 2.46232E05 7.75933E04 5.01601E04 3.31319E05 2.90079E05 1.74991E04 1.36637E05 2.52008E05 3.82520E04 5.43802E04 2.01501E05 1.46625E05 4.61165E04 1.08714E05 1.49208E04 2.46044E04 4.47834E04 1.45466E04 7.17137E03 9.45075E01 3.96180E03 3.71853E03 1.87730E03 2.82087E03 1.46549E04 7.03255E03 4.26855E03 2.03073E04 2.08224E04 1.30836E04 2.80903E04 4.00456E04 2.33664E04 2.26926E04 1.57431E04 5.18353E03 4.68515E03 1.29855E04 2.64457E04 2.72913E04 2.64067E04 6.71709E03 2.60237E01 2.78526E03 1.80606E04 4.43010E03 6.73960E03 3.87914E03 2.11292E03 6.70439E03 1.34126E04 2.22195E04 6.17304E03 6.80071E02 6.58096E02 1.39919E03 2.68140E03 1.22165E04 9.30586E03 8.44840E02 3.40153E02 1.82143E03 3.72768E02 2.97666E03 1.76239E04 1.85402E04 7.98156E03 1.77515E03 1.75854E03 1.77198E03 7.39624E03 7.27068E03 2.70000E02 1.62094E03 1.04029E04 1.32095E04 2.47045E04 3.48256E04 9.96431E02 5.97169E03 1.01317E03 3.80983E03 7.47543E03 5.44991E03 1.79793E03 1.39545E03 5.69863E03 5.06872E03 7.45938E01 2.63220E03 3.97762E03 1.30814E04 1.17525E04 8.12128E03 1.24560E02 1.17922E04 1.38194E04 7.34369E03 3.43226E03 6.95104E03 8.44160E03 6.87591E03 2.81576E03 9.67256E02 4.59437E03 5.40775E03 5.31645E03 1.73345E03 7.44003E01 2.29344E03 2.87007E03 7.93207E02 3.20268E02 1.85985E02 8.45797E00 2.93011E03 7.73658E03 2.59542E03 1.49622E04 6.57177E03 1.23923E03 1.31440E03 1.00150E04 5.96938E03 8.11052E03 1.63511E04 8.04993E03 1.95945E03 1.15741E04 1.12787E04 3.35615E03 1.93125E04 1.59500E03 6.86317E03 1.15591E04 9.63002E03 2.00039E03 7.61488E03 1.73879E04 7.69707E03 3.31088E03 2.61674E03 1.59338E03 5.06669E03 6.35099E03 1.52557E02 4.97927E02 1.48460E03 2.59766E02 3.48721E03 1.00417E04 5.74346E03 8.67850E02 3.39550E02 1.44157E03 -Frame 257 2.88231E05 1.70832E05 5.62099E05 3.05458E06 1.53426E06 9.55547E05 5.10732E06 3.74248E06 3.87901E05 3.14083E06 3.30933E06 2.71739E05 1.84046E07 2.70789E07 3.35235E06 1.90542E06 3.25111E06 6.15626E05 1.21006E06 3.46993E06 9.99689E05 2.83974E05 1.37563E06 5.55494E05 3.07597E05 2.64530E06 1.66844E06 4.55164E04 1.51658E06 1.19040E06 3.89454E04 3.93792E06 1.00409E07 3.71180E06 4.16505E06 1.05058E07 6.23296E06 6.97026E05 1.73513E06 1.19230E06 5.69543E05 6.53523E05 3.89329E05 1.25651E05 4.40681E05 2.34954E05 3.40402E04 2.46712E05 1.88933E05 3.12978E04 1.35727E05 1.50912E05 1.26262E04 8.63099E04 9.91366E04 5.94789E03 7.20998E04 1.28600E05 4.21933E04 1.01946E05 1.89299E05 8.75884E04 2.43393E04 8.01599E04 1.75612E04 2.06110E04 1.35678E05 1.25416E05 3.66962E04 1.42689E05 1.22952E05 3.63185E03 3.96187E05 6.32106E05 9.75965E04 8.55064E05 1.33885E06 1.59298E04 3.30349E06 7.62240E06 2.23101E06 5.15089E05 7.92635E05 1.29509E05 5.82591E04 4.52177E05 3.00327E05 2.43262E04 2.45652E05 2.10926E05 5.94004E03 9.19675E04 1.38138E05 2.85325E04 4.35809E04 1.51097E05 4.07851E04 2.11111E04 1.38011E05 7.68834E04 4.95424E04 1.84436E05 9.09539E04 1.06278E04 1.68435E05 1.15951E05 1.67838E04 1.88940E05 1.34114E05 7.64645E03 1.21719E05 1.48390E05 7.56675E03 2.08058E05 4.16848E05 5.81850E04 3.56593E04 1.29831E05 4.45895E04 1.33693E04 2.70251E04 1.94096E04 4.30398E03 7.58446E02 2.43956E03 3.47241E03 1.11801E04 9.24646E03 7.11044E03 2.40376E04 7.52184E03 2.98197E03 5.89887E02 2.46843E03 7.84091E02 2.66629E04 9.97344E04 9.70986E04 8.77657E04 6.01481E04 6.03836E04 5.76277E04 5.55319E02 2.65997E03 8.67703E03 3.64438E03 6.93756E03 6.94177E03 9.85112E03 1.98556E04 1.49514E04 2.40099E04 2.74249E04 1.23074E04 8.07648E03 6.75942E03 2.99059E03 9.02378E02 1.53500E03 5.44622E03 7.78570E03 1.33526E04 2.13187E04 1.29410E04 1.96203E03 1.88804E02 1.88323E03 7.43445E03 2.91834E03 4.35618E03 5.97752E03 8.03891E02 9.48109E02 5.37233E03 1.91232E04 1.34567E04 4.72230E03 1.53202E04 4.72035E04 5.41222E04 3.39994E04 1.33499E04 6.26582E03 5.73221E03 5.52920E02 1.09579E03 1.23323E03 1.72841E03 1.71202E03 5.04627E01 5.27317E03 1.09750E04 1.94486E04 1.77127E04 6.17499E03 1.43085E04 1.27304E04 7.72294E03 4.64488E02 1.93896E03 1.56513E03 1.50147E03 4.67493E02 1.67641E03 1.17152E04 9.43277E03 4.54717E03 5.75916E03 7.19099E03 3.82198E03 3.95800E03 1.84105E03 2.51010E03 2.50817E03 3.07085E02 3.48451E00 1.71858E03 4.68337E03 2.52450E03 1.13865E04 2.08644E04 1.31908E04 3.42136E03 6.07750E03 5.21879E03 7.27029E03 1.02135E04 2.57887E03 1.01467E02 1.97541E03 1.22745E04 1.86522E04 7.43860E03 1.49622E04 3.21835E04 1.51534E04 2.06854E04 2.47289E04 4.69256E03 2.07651E03 5.35133E03 5.09265E03 2.50593E03 5.71706E02 2.33223E03 7.23897E03 1.01149E04 5.55524E03 6.90543E02 1.59378E03 3.23877E03 2.26734E03 1.37599E03 1.87886E02 6.63086E02 1.86088E03 4.03409E03 -Frame 257 2.07505E06 9.75187E05 4.36728E05 2.71728E06 1.60690E06 9.20343E05 5.18304E06 3.57778E06 3.58432E05 2.79867E06 2.42586E06 6.34266E05 1.81394E07 2.16520E07 1.97601E06 2.49970E06 3.25525E06 4.91816E05 1.28227E06 3.22138E06 8.02608E05 2.36174E05 9.44330E05 2.65828E05 3.79024E05 2.37870E06 1.16868E06 1.15498E05 9.62398E05 8.05512E05 3.58868E04 1.99482E06 2.17560E06 1.03434E05 1.42032E06 4.12080E06 1.88176E06 2.61911E06 8.83535E06 6.44328E06 1.45147E06 2.61063E06 1.42397E06 5.41653E05 1.96211E06 1.12277E06 1.81172E05 4.23783E05 2.89385E05 1.40770E05 3.85365E05 2.41455E05 3.58709E04 1.78499E05 1.93834E05 2.44984E04 1.43810E05 2.25644E05 6.08236E04 1.16983E05 2.30324E05 3.47156E04 5.11196E04 1.89987E05 1.04008E05 6.59574E04 1.94286E05 9.02820E04 3.22380E04 2.57257E05 2.24597E05 2.40145E05 1.11629E06 8.03702E05 3.03521E05 1.73017E06 6.64261E05 4.00033E05 4.01213E06 4.94606E06 1.31119E06 2.62396E04 9.16013E05 8.77635E05 2.63393E05 7.61688E05 2.92517E05 1.02025E05 5.01971E05 3.04420E05 1.00516E05 2.23230E05 1.49784E05 6.24342E04 2.47822E05 1.35115E05 6.15338E04 2.01937E05 2.10274E05 2.03881E04 1.40853E05 1.87347E05 5.02520E04 1.85847E05 3.40047E05 1.23551E05 3.10350E04 2.96397E05 1.91238E05 1.05052E05 3.78086E05 2.82484E05 1.69848E05 7.85654E05 4.25760E05 2.25958E04 4.75142E05 3.67828E05 5.74521E04 9.26478E03 1.29518E04 1.10052E03 9.17741E03 1.11830E04 1.23260E04 3.39508E04 7.34554E04 2.59917E04 2.10174E03 4.59825E04 5.91483E04 1.04939E03 2.42329E04 2.49083E04 2.27940E04 1.47688E05 2.11223E05 5.31623E04 1.19150E05 3.47852E05 1.92707E05 6.88282E04 5.13781E04 2.79433E04 3.34393E04 4.59570E04 4.48050E04 4.27504E04 4.15111E04 1.97644E04 6.01541E03 6.54732E03 4.38287E03 7.61129E02 2.31193E03 1.96985E03 3.37507E02 1.21814E03 2.98415E03 5.26107E03 3.14627E03 1.25139E04 2.49589E04 2.30350E04 1.83683E04 1.06026E04 6.73755E03 7.16742E03 6.12188E03 5.65630E03 1.46484E03 6.17042E03 6.93455E03 8.43418E03 3.65990E03 1.02234E05 2.60839E05 3.97873E05 2.47332E05 3.64362E04 1.11616E04 1.76375E04 3.14024E04 2.26001E04 1.29648E04 5.33853E03 1.19752E03 2.11998E03 2.62173E02 1.68005E03 1.10471E04 9.96327E03 7.96057E03 1.69525E03 9.74214E03 2.13904E04 1.02261E04 1.18368E04 1.02792E04 3.12528E03 9.35873E03 6.83124E03 6.97976E03 9.41123E03 5.20325E03 2.78322E03 1.44138E03 6.02458E03 1.00292E04 1.56697E04 1.95629E04 4.11090E03 1.95798E03 3.85009E03 1.50235E03 6.79661E03 2.01215E04 1.64612E04 3.39870E03 3.63475E02 1.00973E04 9.73812E03 5.20367E03 8.04790E03 2.53021E03 3.58763E03 1.12129E03 2.06125E03 5.10273E03 7.36039E03 8.74481E03 5.87093E03 6.74963E02 5.22790E03 8.39432E03 2.13846E04 3.60948E04 3.47108E04 1.61566E04 4.74320E03 8.80612E03 1.26983E04 4.11433E03 7.36952E02 2.54787E03 3.71688E02 2.62279E03 4.54485E03 2.70081E03 1.66336E03 1.05526E03 1.27790E03 2.58419E03 2.71789E03 2.08862E03 2.65226E03 3.77228E03 -Frame 257 1.47887E06 6.71131E05 1.28946E06 3.02352E06 1.45541E06 9.28352E05 4.81955E06 3.01090E06 2.57089E05 2.76603E06 1.50060E06 1.54982E06 1.70291E07 1.49202E07 1.69886E06 2.78020E06 2.67130E06 2.59788E05 1.15515E06 2.16208E06 3.95541E05 2.05891E05 5.83961E05 2.64147E04 8.33271E05 2.12610E06 9.52539E05 3.53511E04 5.31841E05 1.27237E05 2.55743E05 1.14490E06 6.61833E05 5.40053E04 9.01968E05 3.20036E05 2.49631E05 2.03519E06 3.65165E06 1.69851E06 1.51999E06 4.88910E06 1.94446E06 8.93106E05 7.63909E06 4.73717E06 1.29981E06 1.79218E06 4.01147E05 1.39364E05 7.70608E05 3.71511E05 4.10885E05 7.63120E05 2.64293E05 8.27279E04 4.33360E05 2.68010E05 1.30236E05 4.30406E05 1.41420E05 6.38877E04 2.66322E05 1.53321E05 2.45801E03 1.65431E05 7.85233E04 2.12768E04 1.95922E05 2.08619E05 2.25318E04 7.25760E05 1.43043E06 5.90319E05 5.51812E05 1.47251E06 1.25746E06 4.41511E03 1.43299E06 1.04656E06 4.75842E05 2.36943E06 5.11835E05 9.13976E05 3.32221E06 1.61457E06 9.46615E04 5.30720E05 4.79098E05 2.96968E03 4.39961E05 4.37105E05 4.20506E04 2.05086E05 3.20275E05 5.18405E04 6.43554E04 2.30985E05 3.78701E04 6.11637E04 2.27406E05 4.21666E04 8.14784E04 3.21295E05 1.25897E05 9.44083E04 3.58447E05 1.52118E05 2.07366E04 2.72746E05 1.95857E05 4.12481E04 6.88108E05 6.85512E05 3.19151E05 7.00440E05 1.15664E06 4.60537E05 5.30138E04 1.09853E05 1.12474E05 7.31892E04 9.43593E04 8.69611E03 5.71451E04 5.61893E04 3.23819E04 9.65416E04 6.53996E04 1.94632E05 2.60181E05 3.83914E05 2.77884E05 1.11332E05 2.52137E05 1.44524E05 2.06563E05 2.54355E05 2.31692E05 6.78704E04 1.20736E05 6.12825E04 1.54780E05 3.12278E04 7.95242E03 7.70224E04 1.45193E04 2.26480E03 7.11107E04 3.85385E04 1.33304E04 2.61106E03 2.07623E03 1.35940E04 1.83912E03 2.43497E04 2.71830E02 1.16423E04 3.59874E03 7.92328E03 1.86266E01 6.33209E03 3.93347E03 1.56926E02 3.90856E03 5.95608E03 1.73748E04 1.67114E03 9.34560E02 9.68465E03 2.94887E04 1.02930E04 2.16008E04 3.86802E04 1.15171E04 1.14775E05 1.44292E05 3.56623E05 5.61269E05 1.76333E05 1.13017E05 3.72668E04 3.02511E03 9.49492E02 6.98556E02 3.96713E03 5.45608E03 6.27278E03 3.09688E01 3.58375E03 1.92521E04 4.49463E04 2.79495E04 4.70662E03 1.30609E03 1.23500E04 3.21205E03 2.01275E04 9.00811E03 4.33867E03 1.09431E04 9.12687E03 3.71746E03 1.93549E04 1.63483E04 3.45143E03 9.94756E02 4.49226E03 1.72907E04 7.23082E04 3.84972E04 1.32898E04 1.48274E03 1.21740E03 1.90994E04 3.32509E04 3.10881E04 6.79607E03 5.58754E03 1.09120E04 2.41603E04 3.51386E04 2.35465E04 1.85128E03 6.68617E02 1.64492E03 4.76675E03 5.47230E03 8.06714E03 3.71874E03 3.05756E03 1.02441E04 6.64400E03 3.10323E02 3.21888E03 9.60606E03 5.57157E03 1.36759E04 1.29771E04 1.89978E03 4.62556E03 5.15516E03 2.01258E03 2.16965E03 1.66410E03 2.27037E03 2.19499E03 8.52755E02 2.71180E03 1.10203E03 2.62640E02 3.56211E03 1.81962E03 3.48574E03 7.96427E02 2.46247E02 9.93985E02 -Frame 257 6.19628E04 3.70549E05 9.67948E05 1.65823E06 5.16386E05 3.49106E05 2.17100E06 8.24168E05 7.09017E05 1.50166E06 3.06756E05 3.29004E06 7.72916E06 3.99314E06 2.19800E06 2.12017E06 7.99949E05 6.86737E04 4.88539E05 1.17067E05 2.36046E05 5.05399E05 3.75649E05 1.52293E04 3.86098E05 3.60018E05 1.37091E05 4.55927E05 2.21333E05 3.57041E03 1.21246E05 1.67743E05 1.41231E05 4.00817E05 3.15321E05 1.44158E05 1.22318E05 1.41030E05 6.06127E03 5.18652E05 5.36973E05 4.06828E05 2.14858E06 3.78171E06 4.89952E06 7.19853E06 4.40375E06 7.38262E05 2.43995E05 1.62762E05 1.68234E05 4.61936E05 4.85121E05 1.94312E05 1.28495E05 8.68065E04 9.86745E04 4.28024E05 4.16164E05 1.61546E05 1.94735E04 1.30898E05 1.47747E05 9.89011E03 6.25124E04 5.65914E04 4.54683E04 4.82773E04 7.57087E03 5.10603E04 1.41269E05 6.89257E04 1.79122E05 2.94402E05 7.87679E04 9.09119E04 5.95209E05 3.92785E05 4.42358E05 1.59774E06 1.43753E06 1.44103E06 3.11803E06 2.41390E06 4.36632E05 7.04861E05 3.97604E05 2.12100E04 2.83586E05 2.88091E05 3.25927E04 1.57977E05 2.73173E05 1.78830E04 9.18366E04 1.89501E05 3.63278E04 3.60373E04 6.64964E04 1.18342E05 2.05807E04 1.84912E04 7.80830E04 8.76199E04 5.32202E04 1.31920E05 8.75867E05 5.32420E05 2.26999E05 4.71068E05 3.30715E05 2.94791E04 1.49568E05 6.57831E05 4.38901E05 1.13523E05 8.89474E04 8.83077E05 9.21043E05 4.49631E05 9.16336E05 3.15063E06 4.57577E06 5.31726E06 7.30340E06 8.53957E06 7.91722E06 6.25344E06 5.88436E06 5.95061E06 6.83922E06 4.01779E06 1.37357E06 4.32131E05 4.47972E05 4.20731E06 1.23420E07 2.14349E07 2.14483E07 1.65810E07 1.25226E07 1.00656E07 1.00272E07 9.08703E06 8.60933E06 6.18720E06 2.91861E06 1.39926E06 5.02060E05 1.38710E04 1.33722E04 1.45401E05 3.86917E05 6.46283E05 7.74740E05 1.11090E06 1.32556E06 5.97398E05 5.18201E05 3.13613E06 4.79513E06 3.10469E06 5.73683E05 1.89498E06 5.44908E06 6.48008E06 3.87886E06 2.20158E06 1.85324E06 1.21432E06 6.66312E05 1.00547E06 1.54599E06 1.28725E06 8.29154E05 2.98562E06 3.63780E06 7.32498E05 1.72350E05 3.31290E05 2.53369E05 6.37008E05 1.47305E05 2.87253E05 8.96403E05 7.19498E05 2.90075E05 2.35442E04 1.89726E05 5.20442E05 3.74939E05 1.15200E05 2.16547E05 9.33217E05 1.42445E06 5.11672E05 9.00512E04 3.72903E05 5.18977E05 2.40193E05 3.99029E04 6.60786E04 2.53416E05 1.90997E05 1.87330E05 2.29549E05 1.44734E05 2.23993E05 8.93879E05 1.77732E06 1.14065E06 6.84548E05 8.95190E05 9.45932E05 5.41890E05 1.87066E05 2.59777E05 3.50885E05 2.16163E05 3.16718E04 1.32493E03 2.67065E03 4.24664E04 3.21271E04 3.63463E04 8.72686E04 1.84186E05 1.20620E05 3.10275E04 8.40052E04 1.90538E05 1.98317E05 5.45698E04 3.02916E04 1.30892E05 1.98607E05 5.04675E04 1.53757E04 8.11787E04 1.07678E05 6.00249E04 2.56642E04 1.20924E04 3.96751E04 5.13654E04 2.36832E04 1.43902E04 1.08467E04 2.34021E03 2.31529E04 3.04718E04 2.52706E04 1.14455E04 1.16228E04 2.46331E04 5.65154E04 8.84178E04 -Frame 257 7.92739E05 3.79595E05 1.59318E05 3.34266E05 7.43733E03 3.36764E05 3.53158E05 2.30695E05 4.80920E05 2.78101E05 3.25507E05 9.62515E05 6.28051E05 2.88627E05 2.00789E05 1.93705E05 2.45933E05 1.86823E05 3.82528E04 3.70898E04 1.40614E04 1.99978E04 6.50337E04 5.56482E04 5.83521E04 9.30813E04 5.26537E04 2.75421E04 2.23748E04 4.51152E04 4.15268E04 2.77694E04 5.36904E04 5.72331E04 1.86478E04 1.85257E04 2.90405E04 4.77279E04 1.17605E05 1.13602E05 5.27908E04 1.30688E05 2.41192E05 7.13297E04 6.46356E04 2.63254E05 2.87296E05 1.70396E05 7.81025E04 3.57853E04 4.63600E04 1.82253E04 7.73186E03 2.65872E04 2.34520E04 6.35910E03 3.54315E04 5.60810E04 3.86927E03 9.52676E03 4.84827E03 1.27049E04 1.72695E04 1.39319E04 2.42330E04 1.92179E04 2.65107E03 3.69593E03 1.63056E04 3.33020E03 1.07010E04 1.46447E04 3.87829E04 1.72276E04 7.95202E04 1.34056E05 2.85930E04 1.89871E04 1.52755E05 2.39081E05 2.08067E05 3.28457E05 4.54303E05 4.19449E05 2.48712E05 6.71116E04 1.32074E04 4.93099E04 7.06173E04 1.21671E05 6.69978E04 4.82917E03 1.08062E05 7.27097E04 2.75135E03 9.05781E04 1.03091E05 1.58952E04 8.92378E02 7.06422E03 2.96570E04 5.25097E04 5.92726E04 7.46460E04 7.04325E04 2.48069E05 4.69967E05 4.97901E05 4.04596E05 3.32502E03 1.24074E05 1.51824E05 2.56471E04 4.43302E05 4.87668E05 5.51502E05 7.31977E05 1.62250E06 1.38030E06 1.70471E06 7.23843E06 7.40561E06 9.47058E05 4.47125E06 1.02927E07 2.63001E06 6.81757E06 1.76716E07 7.06774E06 2.33189E06 3.34103E07 4.65158E07 2.56840E07 1.01393E07 9.85131E06 2.22233E07 2.12728E07 4.39566E06 1.36976E07 1.55965E07 3.52937E06 4.32360E06 2.40036E06 1.36469E07 3.57398E06 3.12780E06 1.16954E07 6.78411E06 1.02367E07 2.03880E07 2.67492E07 3.66581E07 4.50491E07 3.40604E07 2.56502E07 3.58526E07 2.44595E07 1.14733E07 1.15183E07 4.34978E07 1.84504E08 2.19963E08 1.27679E08 8.51780E07 5.31036E07 5.24079E06 1.74495E07 1.37466E07 4.55473E06 4.90129E06 1.85103E05 3.99231E06 6.93983E06 2.83034E06 3.11510E06 1.60736E07 4.66285E07 6.27389E07 5.99058E07 5.04222E07 3.57189E07 2.07943E07 1.14381E07 1.21106E07 1.59094E07 2.02353E07 2.53990E07 2.04155E07 1.37462E07 2.10302E07 3.70054E07 3.84379E07 3.56041E07 2.64004E07 1.11649E07 7.29296E06 5.30071E06 1.83431E06 3.76003E06 9.11511E06 5.92836E06 2.89061E06 3.38303E05 9.76015E05 1.22571E06 1.12801E05 1.98433E05 3.37159E05 2.02730E06 4.80000E06 2.23077E06 9.80874E05 1.66002E06 9.88368E05 8.52902E06 7.20715E06 6.78788E06 1.11097E07 1.11302E07 7.84192E06 7.40088E06 6.58314E06 3.24129E06 1.14779E06 2.74084E06 4.35768E06 1.13268E06 1.11488E06 1.88713E06 1.47645E06 1.56051E06 3.65865E06 2.80795E06 2.50555E06 2.28306E06 1.17551E06 2.43058E06 5.46326E06 8.94506E06 1.56539E07 1.84986E07 1.44721E07 1.09066E07 7.54982E06 4.82065E06 4.11211E06 2.68130E06 1.00190E06 2.71472E05 1.64711E05 3.22481E05 3.13133E05 2.92693E05 1.47560E05 4.18226E04 4.14110E05 3.94361E04 -Frame 257 1.91801E06 7.45786E05 7.89527E03 1.08074E05 2.46306E04 6.54215E04 5.70039E04 7.90968E04 6.96292E04 7.22247E04 8.98965E04 7.12272E04 1.26690E04 4.20720E03 1.77109E04 3.29223E04 1.60029E04 8.12381E03 1.39075E04 8.16472E03 3.72003E03 8.12834E02 5.39303E03 2.67475E03 1.34802E03 9.59867E03 9.11706E03 1.81052E02 3.39818E03 1.66599E04 2.03394E03 1.74398E03 7.71646E03 1.41280E03 2.77216E03 1.79576E04 2.58712E04 7.38995E03 1.01719E04 3.72107E03 4.06338E03 2.67516E04 4.98569E04 1.48482E04 4.57910E02 2.97965E03 9.87528E03 1.55134E04 2.90005E04 1.65710E04 5.92467E03 3.68709E03 7.18729E03 5.14171E03 5.41982E03 3.36618E04 9.19327E04 4.70495E04 9.92692E02 4.61655E03 4.86548E03 6.06073E03 9.03804E03 5.96400E03 7.79777E02 9.72407E03 2.79802E03 1.81793E04 2.20710E04 1.21426E04 3.24120E03 5.62359E03 5.88301E03 1.82760E04 9.36661E03 9.80843E03 1.19084E04 1.35329E03 3.54534E04 2.58224E04 8.89898E03 1.31065E03 3.36743E03 6.05316E02 8.74524E03 4.03324E04 6.44717E03 3.69709E03 4.59473E03 3.57503E04 1.89476E04 1.13789E04 4.47350E04 2.44225E04 3.61384E03 2.29786E04 4.00129E04 8.82087E03 1.95166E03 3.01528E02 3.36690E03 6.69228E03 3.81732E03 5.00907E04 1.17017E05 2.55120E05 4.36833E05 5.62991E05 5.48523E05 3.77341E05 2.62499E05 4.53435E05 6.29802E05 7.46363E05 5.54438E05 1.10993E06 1.40472E06 2.86865E05 8.78226E05 1.82292E06 1.29697E06 2.66533E06 8.97097E05 1.35009E05 1.27721E06 3.71229E06 3.42817E06 6.01628E05 2.99521E06 8.63969E06 5.17785E06 1.09354E07 4.36602E06 5.87972E05 4.73094E04 3.75719E06 3.09026E06 2.04978E06 8.01987E05 6.97764E06 4.14110E06 3.07997E06 1.27137E07 7.55984E06 1.14592E06 2.39009E06 4.26773E06 2.55464E07 1.17106E07 5.78668E06 4.13641E07 4.87907E07 7.56367E06 3.97127E07 5.90319E07 4.77433E07 1.54278E07 1.79536E07 9.72123E07 1.54599E08 3.46527E08 3.56531E08 1.97086E07 2.51169E07 3.18686E07 7.23494E07 6.54097E07 1.19020E08 5.31017E07 1.06124E07 2.90850E07 5.63237E06 4.85379E06 3.33248E06 2.06284E06 2.06142E06 1.84561E07 6.24488E06 4.51480E07 5.64708E06 1.81985E07 1.13322E07 6.68312E06 6.31446E06 7.92917E06 1.34159E06 1.43567E07 5.72598E07 3.35622E07 2.64127E07 1.90041E07 2.29824E07 2.05637E07 1.54514E07 5.31330E06 5.24803E06 5.71850E06 1.87509E07 2.76471E07 2.64349E07 9.24204E06 2.52100E04 1.08608E07 2.61252E07 2.11875E07 1.03193E07 6.17172E06 3.12585E06 3.07345E06 4.86637E05 5.47201E06 7.66849E05 9.68798E06 2.43458E07 2.06575E07 6.45900E06 1.12659E05 4.87883E06 9.61109E06 3.58932E06 8.73474E06 2.47201E07 9.07232E06 1.89789E06 9.76835E06 2.13251E07 2.41743E07 1.92916E07 2.11252E06 3.47561E06 5.85835E06 1.21752E07 2.45467E07 1.04331E07 3.40970E06 7.72481E06 3.30641E05 9.57970E06 1.05457E07 6.61703E06 4.12594E07 1.48191E07 2.37466E06 9.76911E06 5.72564E06 1.08250E05 1.13368E07 1.57181E07 1.04245E07 1.08707E07 1.41537E07 1.48743E07 1.95970E07 1.32498E07 2.20521E06 1.79552E06 4.83202E06 -Frame 257 2.58555E05 3.78354E05 3.01854E05 7.59796E04 3.34208E04 3.49586E03 2.59977E03 7.66893E03 3.79184E03 5.93152E03 4.00175E03 1.77826E03 1.09924E04 9.35737E03 3.62305E03 1.18633E03 1.44580E04 5.59847E03 8.85845E03 4.99302E02 1.41876E03 3.56049E03 1.11494E03 1.44795E03 5.91778E03 2.71988E04 1.98495E04 1.69250E04 1.62935E04 5.49310E04 1.87204E04 3.96368E03 1.33785E04 1.82102E04 2.04600E04 2.20114E04 1.83083E04 2.97492E03 8.40642E02 9.79154E02 6.54154E03 1.05765E03 1.42331E04 9.55430E03 6.61750E03 7.81773E03 1.32653E04 9.38414E03 1.13495E04 2.48930E04 1.00165E04 1.29775E04 2.05995E04 7.44467E03 8.23633E03 2.19253E04 8.41193E02 4.53729E04 5.74328E04 1.15411E04 3.76436E03 8.64457E03 3.10498E04 2.22541E04 1.45046E04 8.49945E03 9.03076E01 3.91497E03 4.63110E03 1.14092E04 2.18466E04 5.03241E04 4.46798E04 1.82246E04 1.36880E04 2.42398E01 6.16794E03 3.76853E03 8.50230E03 3.86471E04 1.96072E04 1.65550E04 3.56995E04 1.84175E04 2.22641E04 6.19927E02 4.15310E03 1.70114E03 3.32214E03 1.45572E04 2.39515E04 8.02483E03 3.09117E03 2.38680E04 1.15619E03 1.16996E04 7.40024E02 1.71791E03 3.47280E03 1.05839E04 8.26394E03 1.13668E04 3.50643E04 9.49364E04 1.56422E05 6.03962E04 4.20093E05 9.69634E05 3.62513E05 6.15676E05 9.44372E05 2.12879E05 4.32901E05 1.72796E05 9.32170E05 1.00938E06 7.17833E05 1.21953E06 3.40496E05 6.89397E05 6.74499E05 1.01141E06 3.73352E06 2.09769E06 8.08149E05 3.92126E06 5.68956E06 1.08996E07 3.92414E06 3.99563E05 3.36342E06 1.14902E07 1.00558E07 1.36844E06 3.17784E06 1.23143E07 1.40848E07 1.11909E07 7.94810E05 2.49820E07 4.16976E07 2.53646E07 5.03862E06 4.01958E06 1.39652E07 2.84275E07 3.84759E07 1.27841E07 2.48246E06 3.40716E06 3.54872E06 3.42845E05 1.77131E07 9.85539E07 1.23247E08 1.12638E08 5.95757E07 2.16975E07 5.39310E07 2.71421E07 2.75700E08 4.82424E08 7.83225E07 2.15472E08 6.13609E08 4.61550E08 1.75749E08 1.29104E08 2.34452E08 1.73175E08 8.78378E08 9.52761E08 5.09473E08 2.62895E08 1.66699E08 6.97153E07 2.05542E07 1.19190E08 2.11220E08 1.69758E08 5.88522E07 9.48105E07 1.71233E08 7.91241E07 1.16090E06 1.51414E07 5.06445E06 1.83495E07 1.22508E08 8.15312E07 1.52087E07 1.95402E06 1.14588E06 1.77064E06 4.05741E06 1.65256E07 5.65869E06 5.72229E06 4.32965E07 2.81256E07 2.46774E07 2.52337E07 5.76098E06 8.40622E06 1.59400E07 2.87897E06 8.62904E06 4.08893E07 1.79154E07 2.84470E06 9.16363E06 7.06404E06 5.66753E06 2.36430E07 2.13535E07 1.85136E07 1.69959E07 1.10949E07 1.29186E07 4.86955E06 1.46308E07 6.41956E07 5.96642E07 3.00019E07 1.05600E07 2.62861E07 6.06342E06 3.05042E07 7.08394E07 5.25456E07 2.46900E07 8.99930E06 4.96663E07 1.60729E08 1.11663E08 6.58322E07 1.10189E08 5.72873E07 3.75322E06 6.59173E06 8.13486E06 3.93213E07 5.42114E07 4.05924E07 4.48055E07 2.94667E07 4.24585E06 1.65169E07 3.75608E07 6.81928E06 3.55938E07 9.61607E06 3.35828E07 3.42811E07 6.49170E06 9.55318E06 1.93665E07 -Frame 257 2.85046E05 1.41138E05 1.45815E04 2.48478E04 5.10461E03 4.16787E03 4.50451E02 5.45196E02 3.17472E03 2.44650E02 4.21802E03 3.29916E03 5.84136E03 7.28126E03 4.46021E02 6.73206E03 1.63590E04 1.38053E03 2.93126E03 1.81353E04 1.10187E04 4.26246E03 4.27679E03 2.27980E03 2.44577E03 1.81612E04 1.37268E04 5.73975E03 4.72040E02 2.96229E04 2.39774E04 2.21400E04 1.51357E04 3.41656E03 8.72496E03 6.36021E03 1.37590E03 1.71060E03 1.88992E03 6.63000E03 6.76145E03 2.03894E03 2.06820E03 2.36343E03 5.89152E03 2.34381E04 2.35473E04 5.78131E03 3.52940E04 5.47858E04 4.17111E04 5.96110E04 3.11845E04 1.95023E04 3.51525E04 4.90912E04 5.98640E04 4.26858E04 5.18737E04 6.47944E04 1.33438E04 1.23739E04 2.38589E04 1.31796E04 3.12692E04 1.86194E04 4.09578E04 4.30035E04 4.34924E04 4.16873E04 1.25542E03 9.92696E04 4.55527E04 1.80963E01 1.70815E04 1.84119E04 1.71676E04 1.50910E04 1.35548E04 2.65876E04 1.47037E05 1.69931E05 6.35001E04 8.17910E03 7.43301E03 3.40925E02 1.64019E04 4.01365E04 2.29982E04 1.85914E04 6.86375E03 9.96946E04 6.60578E04 2.56439E03 2.97773E04 1.01481E05 1.03307E05 1.95159E04 6.09112E03 6.02739E04 1.51338E05 4.55190E04 1.14756E04 3.49755E04 6.75843E03 1.43092E05 7.39293E04 4.41049E05 5.84459E05 2.37371E05 1.21040E06 5.30142E05 1.11864E05 7.12873E05 6.50980E05 6.05521E05 1.59393E06 7.83257E05 8.33455E05 2.75813E06 7.32621E06 9.23931E06 8.79737E06 9.95326E06 1.04742E07 3.22591E07 6.59784E07 4.28218E07 7.59577E06 6.06505E06 7.65456E05 1.05808E07 1.55052E07 5.74369E06 1.32325E06 4.38661E07 8.00134E07 2.95927E07 3.44963E07 7.88732E07 4.38920E07 1.32221E07 1.56805E07 1.04030E07 3.68279E06 1.12030E07 1.84581E07 1.18633E07 5.20474E06 1.06746E07 9.78973E06 2.75893E06 2.21025E07 8.14978E07 8.93451E07 6.19283E07 1.55281E08 2.23809E08 1.94261E08 3.34102E08 5.94585E08 6.41547E08 6.76405E08 6.95585E08 4.28720E08 2.01544E08 4.82775E08 7.76577E08 1.44389E09 2.64132E09 3.14103E09 1.35010E09 1.17504E08 6.79407E08 1.27293E09 3.34002E08 2.24991E07 5.09834E07 1.38787E08 8.66194E07 3.65292E07 9.47468E07 3.02838E08 1.44307E08 1.52841E06 5.99740E07 5.01198E07 8.24819E07 2.34069E08 6.22743E07 9.67352E06 3.51578E07 2.57522E07 2.24042E07 2.09137E07 3.26843E07 4.83736E07 1.12826E07 2.64112E07 2.56253E07 1.96729E07 3.94766E07 8.03427E06 3.03138E07 5.31489E07 3.41517E07 3.20446E07 6.87659E07 1.04017E08 5.86732E07 1.51330E07 7.83992E06 1.41596E07 2.30228E07 3.39329E07 2.62646E07 5.50358E07 8.85970E06 3.57968E07 2.30801E07 1.37530E07 5.21290E07 5.14695E07 4.17428E07 9.31177E07 4.14863E07 2.94953E07 6.13030E07 2.72389E07 9.02189E06 7.29827E06 2.72053E07 1.06613E08 1.63048E08 1.90614E08 2.91954E08 1.59320E08 1.14102E08 8.91269E07 4.85579E07 1.66653E07 3.62711E06 2.79121E07 4.33302E07 4.02277E07 3.14351E07 7.99927E06 4.99593E07 8.53595E07 9.02872E07 1.38028E08 7.43761E07 1.12814E07 7.40565E06 4.41397E06 1.10357E07 2.35925E07 -Frame 257 6.98106E05 4.35347E05 3.85727E04 9.75615E02 6.58198E02 5.66867E02 2.15279E03 7.38716E02 1.17812E03 1.62831E03 4.27115E03 1.19903E03 9.85391E02 2.67600E03 1.99166E02 5.74970E03 2.46986E04 1.01427E04 1.41904E03 2.94087E04 1.43321E04 2.23480E03 5.47716E03 5.20506E02 7.76899E03 1.66653E04 2.95077E03 9.40846E02 5.84012E03 1.82728E04 5.24722E03 6.11930E03 6.05872E03 1.83780E03 1.05511E03 1.33780E02 1.00419E04 2.90329E03 1.02068E02 6.21802E03 1.97142E03 1.82921E04 1.56689E04 3.22200E03 7.41108E02 1.06441E04 8.68817E02 1.12634E04 1.35215E04 2.52210E04 1.57369E04 5.60347E04 5.23859E04 2.26480E04 6.54250E04 1.28387E04 3.39122E03 3.35151E04 8.01581E04 5.04459E04 1.80364E04 9.21575E02 1.85867E04 2.05662E05 1.98507E05 6.18440E04 8.13193E03 2.81762E04 7.21607E03 2.62849E04 1.31329E05 6.53808E04 3.54618E04 1.09346E02 5.52037E04 9.13086E03 4.00317E04 1.80427E02 7.68036E04 1.53210E05 1.17444E05 1.43946E04 6.35421E04 4.09886E04 9.56797E04 7.48917E04 1.68703E05 8.36527E04 2.70673E04 3.04097E04 4.48255E04 1.57065E04 1.55717E05 1.70938E05 6.95539E04 2.20443E04 7.99362E04 2.39599E04 1.68499E05 1.64801E04 1.48335E05 1.87551E05 6.19481E02 1.15538E05 7.69839E04 1.06738E05 3.92956E05 1.45933E05 5.47254E05 1.39316E06 5.74382E05 3.64220E05 2.08914E05 5.61322E04 1.38535E05 2.10438E05 1.91424E06 2.15835E06 1.59050E06 5.47865E05 6.13633E06 3.90172E06 3.79355E06 2.77044E06 3.92010E06 4.47907E06 2.05090E07 6.06299E06 1.24915E07 4.85867E06 3.06176E07 6.10716E07 2.23760E07 6.19688E06 1.92468E07 3.42923E07 2.88437E07 3.45043E07 1.51896E07 1.02108E07 1.37041E07 1.81048E06 2.19318E06 2.41183E07 4.92764E07 2.88953E07 2.00972E07 1.10343E07 1.22291E07 6.68974E07 8.85955E07 5.88791E07 4.78321E07 1.17570E07 8.17194E06 2.43746E07 3.82144E07 1.43577E08 1.37130E08 3.10343E08 1.82909E08 1.44518E08 4.22441E08 6.42896E07 3.65677E08 2.08921E08 4.12261E07 5.00923E08 2.02523E08 4.20335E08 6.95010E08 2.64081E08 4.42850E08 1.53953E09 1.30099E09 5.36682E08 6.29259E07 3.07725E07 7.40548E07 3.37991E07 3.94210E07 3.32032E06 1.25313E08 2.07956E08 9.18834E07 1.01233E08 7.28800E07 1.69635E08 3.77976E08 1.37934E08 6.16793E06 6.46292E07 1.71206E07 1.04253E07 1.11199E07 2.21161E07 8.54337E07 5.36087E07 1.85299E07 8.56958E07 1.16057E08 1.50404E08 5.73130E07 1.71627E07 1.13647E08 6.77474E07 1.97744E07 5.02286E07 4.04894E07 2.09829E07 8.03206E07 6.71381E06 2.10175E07 2.52711E07 4.97815E07 5.90626E07 9.27834E07 1.76222E08 1.61065E08 1.41756E08 1.32372E08 9.86773E07 1.21791E08 1.62239E08 1.30702E08 8.14838E07 8.35141E07 2.98270E07 4.27962E05 9.54842E06 4.24894E07 1.46726E08 1.57830E08 3.28999E07 7.13335E07 1.20815E08 2.46240E07 3.06616E06 8.54077E07 2.11943E08 1.13880E08 2.57454E07 3.29155E07 2.57094E07 1.80407E07 1.31058E07 6.51277E07 1.56940E08 8.17770E07 4.25339E07 3.34629E06 1.42463E08 1.68068E08 7.21632E07 3.08465E07 1.56283E07 3.41167E06 -Frame 257 1.02964E05 5.02394E04 2.71769E04 2.12061E04 1.06641E03 1.18727E03 1.32995E03 1.62681E03 2.28727E03 3.41919E03 1.13688E03 1.69558E03 2.85265E02 1.00668E04 1.16107E02 4.31141E03 1.16839E04 3.57213E03 3.30908E04 9.65038E03 8.96836E02 9.38923E03 2.13274E04 3.26402E03 1.60001E04 1.23182E04 2.60828E03 4.81192E03 2.29520E03 3.28755E04 2.82290E03 1.52445E04 5.33076E03 5.95964E03 2.19550E04 2.06897E04 3.64770E04 1.92027E04 5.62385E03 7.58492E03 6.59381E03 2.12878E04 3.55146E04 1.47467E04 2.69011E03 6.18122E03 2.39112E03 4.47444E03 1.26397E04 7.07570E03 3.24755E04 1.22626E04 1.17819E04 2.05832E04 4.10220E04 3.83583E04 5.57647E02 3.64741E04 1.31361E04 7.27051E03 2.42874E04 2.75591E04 1.39532E04 8.95379E04 2.66535E05 1.50298E05 9.22815E04 1.32130E05 1.41872E05 1.69299E05 8.66295E04 6.39378E04 5.22860E04 8.73992E04 9.73318E04 5.71938E04 1.28372E05 2.00698E05 1.77718E05 1.73902E05 1.51494E05 2.51164E05 1.63678E05 1.70003E05 3.34541E04 5.90652E04 1.55824E04 1.66730E05 1.19066E05 4.60879E04 6.63484E03 4.62603E04 6.59975E04 1.87865E04 6.73704E04 8.35125E04 9.02061E04 1.51337E05 2.79923E05 6.04185E05 3.04751E05 2.29694E05 1.06295E05 7.44318E04 2.40277E05 7.18549E05 5.30137E05 4.91627E04 1.86518E05 1.15138E06 3.98478E05 2.20210E04 5.52362E05 2.72384E06 4.20736E06 4.50901E06 6.57769E06 6.71811E06 9.49416E06 5.96826E06 2.23881E05 4.27243E06 3.91229E05 1.17822E07 1.80042E07 2.17318E07 3.18059E07 2.06939E07 3.94074E06 2.77557E06 4.80926E07 1.45270E08 1.07292E08 2.69083E07 2.15975E07 1.52757E07 1.87731E07 2.00496E07 1.00098E07 9.96003E06 1.73973E06 4.57555E06 3.15687E06 7.12745E04 2.92099E07 5.91529E07 1.46926E07 1.01135E07 2.64288E07 2.71059E07 3.58442E07 3.02527E07 1.30951E08 1.79086E08 2.21739E08 8.77734E07 5.35119E07 1.32756E08 1.28028E08 2.44195E08 1.03640E08 7.22470E07 2.25271E08 1.08135E09 1.15231E09 8.95238E08 3.41905E08 2.06473E07 1.07323E08 3.56538E08 1.30183E08 1.65044E08 4.34344E08 2.58726E08 3.14002E07 1.38122E08 4.08143E07 2.43706E07 1.77558E08 1.55111E08 9.57317E06 1.20766E08 2.20216E08 1.24162E08 6.05739E07 3.79071E07 8.41975E05 6.25406E07 1.96468E08 1.34792E08 1.23730E08 3.67536E07 1.07556E07 4.19680E07 2.89222E07 5.91444E07 7.24260E07 9.99312E07 1.58125E08 1.42139E08 4.04748E07 7.65153E07 2.03017E08 1.78038E08 2.54687E07 9.19206E06 1.71771E06 1.83914E07 2.13268E08 3.55503E08 1.90050E08 8.09567E06 4.12686E07 5.36784E07 1.52445E08 5.33329E07 3.13505E07 9.62868E07 2.74172E07 2.73356E07 1.31050E07 9.62366E07 1.48761E08 1.51238E08 1.16256E08 7.05993E07 1.04944E08 6.22657E07 3.71154E07 3.11815E07 1.14732E07 9.32296E06 1.25613E08 2.19962E08 1.66200E08 1.45677E08 1.40343E08 1.68616E07 6.89382E07 1.65534E08 1.66513E07 1.98074E08 1.88119E08 7.72113E07 5.50468E06 1.96635E07 3.35374E06 4.17055E07 5.25437E07 1.07392E08 3.07351E07 7.07414E07 2.82092E08 1.21860E08 1.81644E07 4.48734E07 1.08580E08 -Frame 257 1.68568E05 1.47782E05 1.61098E05 2.40601E04 1.04681E04 2.98085E03 1.57636E03 5.37796E03 4.86023E03 2.47514E03 1.03869E04 9.35903E02 9.30732E03 1.32841E04 3.75331E03 1.97177E04 2.72192E04 4.52676E04 1.03588E04 4.66582E03 1.61622E04 3.51492E03 5.93806E03 4.27384E01 7.47155E03 1.12852E03 5.64998E02 1.13331E04 1.73849E04 6.04009E04 4.09448E04 4.40593E03 2.71121E04 3.19587E04 8.53058E03 2.06099E04 8.71799E03 2.96098E04 1.26360E04 4.47752E03 1.74051E04 3.05378E03 3.95818E04 1.45689E04 4.91991E03 1.67512E04 4.95121E03 2.02467E04 5.26623E04 1.19682E05 2.13480E04 4.59398E04 8.42547E04 2.78440E04 1.29884E04 2.83486E04 1.11153E04 3.99907E04 3.13096E04 2.16667E04 2.32683E04 8.75043E04 7.48956E03 2.70653E04 7.66156E04 1.03249E04 8.70582E04 6.09849E04 1.23325E04 4.81493E04 5.02595E04 1.09450E05 1.44641E03 1.70266E04 1.10509E05 1.75242E05 5.24066E05 6.92443E05 3.29083E05 6.20728E04 1.08314E05 1.67111E05 1.88165E05 2.28864E05 1.72098E05 8.63481E04 2.53015E05 2.63424E05 7.69523E04 8.44579E04 1.25745E05 2.16032E04 9.05074E04 7.42197E04 4.97226E04 7.89115E03 1.25322E05 1.25747E05 2.39973E05 9.27871E04 3.25980E02 1.10046E04 9.38982E03 2.30566E04 2.72588E05 2.38253E05 3.21461E04 7.29319E04 2.37724E05 1.38274E05 1.86796E06 1.68524E06 3.72750E05 2.46481E06 6.52025E06 1.97116E06 4.51003E06 5.82666E06 5.49632E06 9.81836E06 1.99471E06 3.04879E06 1.70414E07 2.00440E07 3.44240E06 4.01084E06 1.30210E07 3.62243E06 7.17377E06 1.86684E07 8.29555E06 2.16140E07 5.49442E07 4.14355E06 2.32526E06 7.99473E05 7.82186E06 2.07240E07 1.34855E07 1.07909E07 1.23502E07 1.09237E07 1.84433E07 2.65611E07 5.10076E07 2.72385E07 1.53969E07 7.07775E06 1.32571E07 6.73385E06 1.35312E06 2.87776E07 1.60751E08 5.73119E08 8.05446E08 3.75426E08 2.31260E08 1.19304E08 4.11546E06 3.68626E08 9.15925E08 5.77929E08 2.84606E08 1.60694E08 1.13767E07 7.43685E07 1.37853E08 8.98254E07 2.98739E08 2.94475E08 5.89864E07 1.48102E08 1.23868E08 5.54750E07 1.26927E08 1.10163E08 2.53097E07 1.09201E06 6.77393E07 1.37794E08 6.07916E07 3.18547E07 4.49411E07 7.29398E06 2.32318E07 9.39226E07 9.90017E07 1.17843E06 1.29870E08 2.09083E08 3.93294E08 4.63322E08 1.70585E08 2.60629E07 5.03345E07 9.34248E07 2.37433E07 2.42136E07 9.20056E07 1.34099E07 4.76765E07 3.92025E07 9.24891E07 1.66419E08 3.13953E07 1.07781E07 3.84542E07 9.81694E07 2.16362E08 1.33112E08 3.40257E07 1.48344E08 2.59961E08 3.26952E08 3.60343E08 1.29881E08 5.66083E07 1.43051E08 1.65814E08 6.60569E07 2.63322E07 2.06430E07 7.46783E07 8.78206E07 5.80892E07 9.99008E05 1.52275E07 2.67171E07 3.92007E07 5.49555E07 1.79317E07 6.28272E07 1.88772E08 3.45798E08 3.61453E08 2.58215E08 1.29757E08 5.37751E06 2.93353E07 2.43348E08 4.89612E08 2.00602E08 8.95444E06 4.21016E07 4.03659E07 6.48208E06 6.28504E07 1.05808E08 1.30535E08 9.62450E07 6.15864E06 7.62348E07 2.59100E08 1.82945E08 7.44123E07 6.70391E07 9.43754E07 -Frame 257 4.44157E05 2.03809E05 4.10007E04 2.92101E04 4.66540E03 1.06472E03 1.34887E03 5.81389E03 7.64972E02 4.19038E03 1.66776E03 1.20092E03 3.28147E03 6.47257E03 1.35827E03 5.71491E03 6.15042E03 1.23799E04 8.62273E03 5.33181E03 1.88592E03 1.42790E03 2.44620E03 1.20805E04 5.77063E02 1.35671E04 2.41347E04 2.28554E04 8.61284E01 3.73557E03 7.16268E02 7.11040E03 3.11504E04 1.97352E04 1.48441E04 1.40698E04 2.35972E02 7.72001E02 5.08953E03 6.41736E03 3.13876E03 3.35833E04 1.90708E04 2.65993E03 1.47666E03 8.48323E03 4.81191E04 6.77902E04 7.36122E04 2.07231E05 2.30665E05 2.47926E05 1.72506E04 8.81873E04 7.67754E04 1.70241E04 2.80312E04 7.72315E04 5.57955E04 2.00012E04 1.01677E04 5.44634E04 2.75042E05 5.56690E05 3.92642E05 1.75224E05 9.57935E04 1.28509E05 5.58840E04 4.55647E04 2.26028E04 7.72507E04 1.33797E05 8.04973E04 2.50769E04 3.83136E05 4.13057E05 6.00274E05 6.95224E05 9.79780E04 1.22299E05 3.87000E04 6.59447E03 9.60449E03 1.74890E03 2.15077E04 2.08936E05 1.98731E05 1.70998E04 1.61240E04 1.07639E05 1.53370E05 2.58288E05 2.18759E05 2.93520E04 1.15773E05 1.17487E05 1.46680E04 1.26737E05 8.70783E04 1.18181E05 2.47568E03 4.28592E04 5.57150E04 1.16392E04 2.43977E05 2.41083E05 1.10600E06 2.54129E06 3.45207E06 1.12185E06 2.06798E05 1.57506E06 4.89409E06 7.76936E06 3.70876E06 7.97987E05 1.94743E06 3.23756E06 4.39204E06 2.87610E06 2.83154E06 1.20567E06 4.97206E06 6.53260E06 6.48552E06 1.09162E07 1.11662E07 1.11779E07 2.00414E06 7.69927E06 3.29750E07 6.36854E07 1.87303E07 2.67205E06 1.29721E05 7.75123E06 3.15696E07 3.03184E07 1.02581E07 1.77117E07 1.99200E07 5.59731E07 9.01456E07 7.33129E07 4.04010E07 3.07659E07 2.03584E07 9.39959E07 1.14394E08 5.63095E07 7.90576E05 2.31258E06 9.80171E07 2.49139E08 2.37252E07 1.10705E08 3.01057E08 5.60413E08 8.02965E08 3.31407E08 1.66737E07 1.28901E07 2.08805E07 8.78187E07 5.15384E07 6.36969E07 1.76508E08 1.77722E08 8.20361E07 9.98324E07 1.25010E07 1.57051E08 1.22782E08 5.98962E07 5.18496E07 2.68813E06 5.61316E06 1.60420E07 6.52265E07 9.59359E06 5.81080E06 2.27421E07 9.94536E06 6.54086E06 6.13470E07 1.48726E08 1.09499E08 4.70568E07 4.84290E07 7.66482E07 2.44621E08 3.08446E08 1.18880E08 9.06580E07 8.55807E07 3.42561E07 2.06919E07 4.46788E07 7.12245E07 5.15390E07 6.20504E07 8.38141E07 3.75955E07 4.49725E07 6.88293E07 5.95827E07 5.23727E07 8.71442E07 2.01285E07 1.79542E07 1.07049E08 1.82391E08 9.64569E07 1.13955E08 9.72152E07 2.35294E07 4.64967E07 1.07077E07 6.92191E06 2.67382E07 1.16694E08 1.90188E08 9.61899E07 1.00710E07 3.94340E06 2.10783E06 1.21049E07 1.72568E07 2.99767E07 4.39168E07 6.05327E07 2.22987E07 3.48476E07 1.37005E08 2.14729E08 1.45776E08 3.85798E07 2.58734E07 7.36679E07 1.48594E08 7.03964E07 1.79032E06 1.14380E07 3.46571E07 2.35005E07 9.39324E06 2.85931E07 1.40132E07 6.06928E07 4.71616E07 4.46258E06 5.69857E07 8.87434E07 4.68827E07 2.01111E07 2.52002E07 -Frame 257 3.33777E05 2.73761E05 1.04736E05 1.38163E05 9.09887E04 3.80772E04 1.60154E04 5.11287E03 4.43845E04 5.40614E04 5.05417E04 9.63229E04 1.20821E05 4.20132E04 5.93091E02 1.50692E04 1.69140E04 1.63935E03 2.35268E04 1.80709E04 4.30355E03 2.55586E03 1.12052E04 2.30955E04 3.90846E03 1.34216E04 2.35910E04 2.05610E04 1.90246E03 2.96004E03 6.95398E03 1.55029E04 8.07402E02 8.07580E03 1.57165E04 2.00575E04 6.62193E03 4.66287E03 8.92911E03 1.27462E03 3.10179E03 4.18237E03 1.88233E04 1.07016E04 2.10760E03 1.37051E03 2.91753E04 8.84901E04 9.75945E04 2.06758E04 6.34433E03 1.68638E05 4.50650E05 3.57021E05 5.11885E04 8.10707E04 1.65308E05 7.48779E04 6.07729E02 1.17513E04 1.87584E04 8.84512E03 4.55753E04 1.93964E05 2.14079E05 1.85146E04 5.39352E04 5.68276E04 2.81203E03 8.35557E03 1.78172E04 7.03618E04 7.91949E04 2.17609E04 1.65185E05 9.20134E04 5.00596E04 5.82420E05 1.45391E06 6.78821E05 1.30108E05 2.82720E05 1.59149E05 6.99672E04 8.59649E04 1.13865E05 3.66598E05 3.82060E05 1.95154E05 1.08861E05 8.23529E04 5.07466E04 6.56497E04 1.99672E04 1.33710E04 8.85660E03 3.14501E04 8.55049E04 1.77065E05 2.84420E05 2.70506E05 7.45074E04 2.78194E04 3.73945E04 2.61068E04 8.56519E04 6.49188E05 8.68198E05 3.39771E05 4.50658E05 6.29910E05 4.46621E05 1.60594E05 6.54198E05 3.09137E05 8.89991E05 2.19350E06 9.98669E05 9.55425E05 1.60026E06 3.66882E05 1.16020E06 3.14707E06 3.94606E06 5.63830E06 1.69274E07 1.09492E07 2.53118E06 1.27685E06 1.36744E07 3.78558E07 6.05525E07 1.81209E08 1.42787E08 2.79761E07 1.89417E06 2.57503E06 8.14189E06 2.19095E06 7.67693E05 8.88593E06 2.01284E07 1.53398E07 5.46306E06 7.21390E06 4.28431E07 4.47017E07 1.07760E07 4.70680E07 9.05351E07 5.52996E07 4.11860E07 3.92620E07 4.69910E07 4.25335E07 3.48522E07 7.45420E06 1.44857E07 4.28235E07 7.37004E07 1.11267E08 4.47846E07 2.29013E07 2.18752E07 1.24133E07 5.90338E07 3.41643E07 4.78943E07 7.23986E07 2.59901E07 9.85251E06 4.42989E07 7.47337E07 1.04637E08 9.85481E07 1.75883E07 7.83496E06 3.75938E07 7.13118E07 5.22007E07 1.50430E07 1.64890E07 3.24197E07 2.15031E07 1.47115E07 7.98129E06 1.89077E07 7.42385E06 1.40525E06 1.23810E06 9.72080E05 1.04572E07 3.15935E07 2.62539E07 1.10599E07 7.41029E06 3.03556E05 6.46751E05 1.31692E06 7.68315E06 6.63583E06 5.39640E06 2.56140E06 3.33692E06 1.06894E07 2.67931E07 1.75043E07 8.63260E06 3.55187E07 3.28262E07 3.59112E06 4.31802E06 7.72850E06 6.57034E06 6.80631E06 4.66698E06 1.38368E07 1.58378E07 7.72087E06 2.13457E06 9.93524E06 2.02398E07 7.52869E06 3.49569E06 7.49371E06 4.21259E06 2.67584E06 3.37214E06 4.30483E06 6.25508E06 1.68729E06 3.09211E06 7.26209E06 1.64893E06 9.84478E03 4.07550E06 6.39598E06 2.50255E06 2.46456E06 5.15492E06 1.05034E07 4.09839E06 1.17932E06 2.02483E06 9.29608E06 1.20604E07 8.57084E06 8.42909E06 9.55842E06 9.57553E06 8.25030E06 5.06873E06 5.66164E06 2.47358E06 9.56039E05 2.85267E06 1.28957E06 -Frame 257 9.01050E02 2.20084E04 3.61833E05 9.97808E05 6.36695E05 2.68710E05 3.81423E05 6.54796E05 5.18239E05 1.81449E05 8.94118E05 1.90203E06 8.62666E05 5.17484E05 1.04957E06 9.20224E05 3.95972E05 2.97123E05 3.63621E05 1.94206E05 5.64589E04 1.17065E05 1.28292E05 3.73549E04 7.04310E04 1.36321E05 1.20015E05 1.10781E05 1.17934E05 6.91921E04 9.59032E04 5.93215E04 1.48382E04 6.23848E04 1.07920E05 4.93485E04 3.63520E04 8.08724E04 3.79044E04 1.81396E04 6.01731E04 1.14475E05 9.79392E04 6.77634E04 1.14643E05 1.58014E05 2.57121E05 2.53426E05 5.18632E05 5.46225E05 4.29192E05 3.28521E05 4.91979E05 2.28747E04 4.80497E05 2.43764E05 2.32691E04 1.30887E05 6.10429E04 3.35800E03 4.95104E04 1.72985E05 1.22398E05 1.07919E05 1.73312E05 5.41432E04 1.91793E05 2.51680E05 1.70487E05 1.24618E05 1.06005E05 4.99788E04 1.21604E04 1.42091E05 3.03616E05 2.07072E05 9.69688E04 6.13986E05 9.93017E05 6.72746E05 8.48828E04 9.69153E05 9.98490E05 6.30951E05 3.46304E05 1.75022E05 1.25081E05 1.45260E03 1.04133E05 6.55126E04 1.82778E04 8.57778E03 6.16635E04 4.79490E04 1.34146E04 1.38872E04 1.46115E04 1.20860E04 3.49405E04 5.23052E04 2.66882E05 1.71415E05 6.73078E04 4.46386E04 9.06717E04 6.74382E03 6.77158E04 5.07916E04 3.17286E04 2.76260E05 2.00236E05 3.80796E05 2.34686E05 4.55211E05 1.90792E06 2.14620E06 5.67753E05 1.29797E06 2.34118E06 2.54538E06 2.13080E06 2.60048E06 1.36559E06 1.38410E06 9.62622E06 2.47086E06 4.54733E06 1.57452E07 1.12273E07 2.14052E06 2.35663E07 7.38659E07 8.59170E07 4.85655E07 7.87487E06 6.88207E04 7.70344E05 2.00332E06 7.41003E05 2.52901E05 2.04462E05 1.15626E06 7.34611E05 1.56473E06 1.40156E06 7.32910E05 6.80041E05 7.36077E06 1.23105E07 3.97593E06 1.59098E06 4.94814E06 4.02580E06 2.93867E06 4.80961E06 6.01424E06 9.69713E06 4.95048E06 1.10861E06 2.56718E06 1.11989E07 1.58926E07 1.48450E07 1.28329E07 1.07284E07 8.81843E06 4.67118E06 1.14030E07 2.19817E07 1.31676E07 2.51746E06 6.30481E05 6.15293E05 1.64051E06 3.08588E06 1.05573E07 5.68728E06 1.00859E06 6.36083E06 2.37513E06 1.44034E06 3.36508E05 3.15543E06 8.16349E06 3.77363E06 1.11879E06 1.18279E06 2.07127E06 2.05004E06 1.21541E06 1.62726E06 2.30701E06 5.36801E05 2.87262E05 6.38076E05 8.02294E05 7.32254E05 3.74730E05 2.63530E05 1.15528E06 6.23497E04 8.00842E05 6.32804E05 1.13540E05 5.47621E04 4.61875E05 1.44916E06 6.84830E05 1.74812E06 2.33667E06 4.18753E05 6.02195E05 6.03086E05 2.64392E05 3.38017E05 1.31935E06 1.19973E06 9.88705E05 2.30661E06 1.05104E06 6.21798E05 2.16882E06 4.10959E05 1.09242E06 1.68410E06 2.14766E05 1.27207E05 2.00151E05 4.87572E05 1.42785E06 1.01249E06 3.49550E04 3.16023E05 6.95956E05 1.22356E06 8.58625E05 2.19455E05 3.90763E04 1.58212E05 4.57165E05 1.39954E06 9.78666E05 6.84028E05 6.05961E04 4.86154E05 6.89826E05 1.59136E05 3.40215E05 8.12287E03 2.61895E04 7.66176E04 3.51813E05 3.37881E05 7.69840E04 6.42531E04 2.48587E05 5.96307E04 -Frame 257 4.49159E05 3.17802E05 3.88755E05 9.55767E05 3.64679E05 7.38606E05 1.94799E06 5.88755E05 8.21988E05 2.18626E06 3.58921E05 2.69508E06 8.27556E06 1.99308E06 1.36434E06 4.47151E06 6.63514E05 9.03848E05 1.45662E06 2.44967E05 5.87676E05 7.94068E05 1.00219E05 2.46267E05 3.61109E05 1.97483E04 3.86168E05 4.19811E05 9.39031E03 2.14512E05 1.82123E05 2.07252E03 1.48449E05 1.39623E05 1.86786E03 1.25111E05 9.83046E04 1.02923E03 1.16633E05 9.07336E04 2.94913E03 1.43591E05 7.91530E04 6.76993E04 3.57969E05 6.45908E04 3.26210E05 1.01377E06 2.44151E05 7.69682E05 1.75802E06 6.01979E05 9.41089E05 1.83358E06 5.33550E05 1.49514E05 4.52112E05 1.58876E05 8.27115E04 1.07189E05 4.78662E02 1.33144E05 2.41476E05 3.47598E04 6.84739E04 1.14158E05 1.47838E05 1.11368E05 3.42941E04 1.76879E05 2.02218E05 9.24194E04 1.15851E04 8.91259E04 5.96866E04 5.57888E05 5.87514E05 7.01572E04 2.23076E04 1.05330E06 2.58332E06 2.25708E05 9.00672E05 9.03654E05 6.75711E04 2.20885E04 5.46779E04 1.14554E05 1.46366E04 1.42043E03 1.29230E04 1.26844E05 1.31538E05 6.00406E04 2.13621E04 6.82741E02 2.81596E04 5.83446E04 2.21101E04 4.33609E03 9.96957E04 1.42350E05 4.19760E04 5.84967E03 5.82420E04 3.01155E04 2.63327E04 1.46692E05 2.94174E05 1.84351E05 6.36343E04 1.54651E05 3.50329E03 3.04861E05 1.06508E05 1.04199E06 7.20334E05 3.17431E04 4.72346E04 4.02349E05 2.09222E05 3.13165E05 4.23271E05 1.15723E06 2.66469E06 3.84545E06 2.61803E06 2.58057E06 3.95825E06 4.00559E06 2.38058E06 4.68558E05 5.62132E04 7.04132E05 5.10592E05 2.00802E05 4.02441E05 1.65674E05 1.56735E05 3.49828E05 1.55493E05 6.27619E05 1.38183E06 5.10225E05 1.94780E05 1.09479E05 1.84872E05 1.11497E06 1.82768E06 8.94547E05 6.64300E05 7.31690E05 6.75742E05 3.48702E04 4.42852E05 1.05080E06 2.43862E05 9.97431E04 1.01092E06 1.52632E06 3.92459E05 7.41258E04 1.28734E05 1.73461E04 7.64646E05 2.15593E05 3.88653E05 4.37723E05 4.41672E05 2.38034E05 3.45985E05 2.19983E05 2.89866E05 7.14727E05 6.90499E05 2.78741E05 1.10810E06 1.74468E06 1.60286E06 5.36568E04 2.41763E05 9.06877E05 3.41647E05 4.62969E05 3.97832E05 1.80751E04 1.05080E04 8.37626E04 6.85668E05 4.22873E05 2.87782E05 5.30711E05 5.36590E05 2.23381E05 3.69336E04 6.60230E04 7.29566E04 2.04436E05 2.52821E05 2.99813E05 4.52996E05 1.78460E05 1.79364E03 6.87887E04 3.78961E04 3.48310E04 1.60678E05 2.51625E05 1.73842E05 1.64107E04 1.50572E05 1.78182E05 1.08981E05 9.62698E04 1.43571E05 2.43805E05 2.74120E05 5.27653E05 4.77992E05 5.73629E05 6.74581E05 7.72393E05 3.80893E05 4.46850E05 8.26235E05 2.38173E05 2.11087E04 4.04246E04 2.15683E04 2.13255E04 3.38200E04 3.88530E04 4.53773E03 1.90409E05 1.83459E05 1.47300E03 3.62401E04 5.49726E04 6.88215E04 5.04368E04 1.21889E05 1.76542E05 2.30301E04 2.60058E04 1.64794E04 4.67704E04 7.01116E04 1.24207E05 1.26765E05 3.17373E04 1.93928E04 1.14729E04 2.85920E04 3.84884E02 5.92175E04 8.86333E04 6.76789E04 -Frame 257 1.21210E06 5.72485E05 5.28295E05 1.35145E06 7.44542E05 7.01507E05 3.98901E06 3.01242E06 1.42669E05 3.19618E06 4.39918E06 3.03060E05 1.19040E07 2.06696E07 5.35274E06 2.53525E06 8.40284E06 1.94045E06 5.23221E05 2.57224E06 8.77103E05 5.94207E05 2.64836E06 1.53704E06 2.52632E04 4.80301E05 5.21374E05 2.14036E04 4.67833E05 3.50918E05 1.04415E04 2.16415E05 3.08032E05 3.29135E04 8.89410E04 2.45579E05 4.62813E04 5.85404E04 2.33143E05 1.01302E05 2.82426E04 2.03164E05 1.69983E05 2.44510E04 5.36649E05 5.65253E05 1.20685E04 1.18256E06 1.58159E06 1.12241E05 1.53811E06 1.98225E06 4.29978E05 8.88228E05 1.42633E06 2.19912E05 1.77308E05 4.81759E05 1.83559E05 1.45757E05 1.02789E05 9.29345E03 1.11064E05 8.36226E04 9.68987E03 4.36649E03 1.31824E03 9.88647E03 8.32085E04 2.54794E05 2.04865E05 1.88821E05 4.11262E05 2.43306E05 2.04158E05 1.80093E06 1.82880E06 5.69706E05 4.49901E06 1.22514E07 9.53205E06 1.88134E06 3.24014E05 8.41045E04 2.37136E05 7.38042E05 8.13251E05 5.03646E05 1.39459E05 9.73377E04 1.60772E04 9.92716E04 1.91664E05 1.54133E05 1.98907E05 1.31693E05 1.06415E05 2.70257E04 1.19110E04 3.95938E04 1.39623E05 2.09937E05 1.16269E05 1.39985E05 5.18709E04 1.32078E05 4.66728E05 2.45504E05 2.67508E05 1.25016E05 1.02196E04 7.76930E04 2.84751E04 7.15912E05 1.33828E06 1.21613E06 6.85131E05 2.57187E05 1.99070E05 9.42581E04 4.44374E04 1.29124E04 3.48514E04 6.05872E03 1.30509E04 9.89462E04 1.33004E05 5.94718E03 1.08759E05 1.50095E05 5.26855E04 1.48043E05 1.38923E05 1.45638E05 6.52218E04 1.41634E05 2.15400E05 2.23457E05 2.22030E04 7.19717E04 3.65329E05 7.54814E05 9.01531E05 5.22527E05 2.17099E04 2.52728E05 2.92157E05 3.49191E05 9.01558E04 7.40394E04 2.11737E05 9.52135E04 1.86032E04 9.38171E04 9.88396E04 2.26366E05 1.01914E05 2.18525E04 9.08923E04 1.83114E04 2.18390E05 4.79320E05 6.27631E05 4.05100E05 5.86949E04 2.76831E05 2.22805E05 1.37662E05 2.22126E05 3.96615E05 3.37781E05 2.20712E05 3.32100E05 6.69771E05 6.06435E05 5.35662E05 3.13206E05 5.59760E05 2.67359E06 3.25733E06 7.85924E05 9.25232E04 5.74834E05 2.14504E05 1.04232E05 2.81646E05 5.79092E04 2.40004E05 1.18941E06 8.32661E05 5.30163E05 3.10200E05 1.72252E05 9.30904E04 4.38990E04 1.04184E05 9.02503E04 9.39321E03 1.62298E04 4.42307E04 5.44563E04 4.42306E04 1.80989E04 9.02015E04 2.62728E04 9.21954E03 3.13908E04 3.33581E03 1.45703E04 1.92155E04 1.00414E05 6.27420E04 2.16523E04 1.03092E04 3.37227E03 5.23172E03 3.04703E04 1.94142E04 1.50872E04 1.57263E04 7.56667E03 3.11152E04 5.18200E04 6.91291E04 9.80535E04 4.45565E04 4.74838E04 3.24442E04 9.21202E03 3.64710E03 2.16027E03 6.73245E03 6.39763E03 5.90102E04 8.10005E04 3.83358E04 2.32845E04 2.13799E04 8.45247E02 2.06853E04 2.40654E04 2.02167E04 5.23662E03 8.18943E03 2.75311E04 1.98503E04 1.70719E04 3.35946E04 3.20206E04 1.35943E04 6.34961E03 1.24269E04 2.57323E04 1.22172E04 3.15765E03 1.80120E04 1.05424E04 -Frame 257 2.29768E05 2.90938E05 5.84252E05 1.55718E06 6.05658E05 9.05053E05 5.35545E06 3.09399E06 1.66225E05 5.09066E06 4.30589E06 1.10422E06 1.65270E07 2.12876E07 3.68082E06 1.21584E07 1.78732E07 3.30606E06 6.06047E05 2.44941E06 4.64443E05 2.10200E06 4.90366E06 1.35664E06 1.73698E05 1.64393E06 6.94834E05 5.89174E04 4.19187E05 2.84909E05 1.27086E04 5.62228E05 3.96566E05 1.97429E04 1.52706E05 2.98870E05 4.90375E02 1.73927E05 2.61222E05 5.56001E04 1.42807E05 1.93049E05 1.74082E04 2.59635E05 1.11911E06 2.95945E05 6.50269E05 2.93356E06 1.06179E06 1.66121E06 9.86549E06 7.15070E06 9.26677E05 9.68546E04 9.93482E05 1.68261E06 2.46097E06 1.72020E06 7.27815E05 4.63136E05 3.91544E05 3.54151E05 3.12085E05 2.21799E05 4.47988E04 5.86874E04 8.20078E04 8.92965E04 3.35203E05 3.47935E05 4.45001E04 4.14815E05 1.34155E06 5.53216E05 3.52762E05 8.06795E05 1.39177E06 1.06539E07 2.53085E07 1.18757E07 6.06498E05 1.53987E06 4.63807E05 3.38507E04 8.35706E05 1.19140E06 1.21687E05 4.86682E05 8.00937E05 7.58270E04 1.83346E05 4.42331E05 2.12011E05 2.26591E05 9.86741E05 3.74079E05 2.55813E04 3.40153E05 1.28266E05 3.79406E05 1.16852E06 4.67228E05 7.05076E04 3.13536E05 8.69506E04 1.33064E06 2.88098E06 1.85690E06 1.63225E05 7.39991E04 1.90344E05 5.23327E05 1.13097E06 1.14726E06 2.32194E05 5.37980E04 9.48800E04 2.62285E04 3.42597E04 3.12506E03 6.81235E03 3.33215E03 4.80435E03 2.47709E04 2.32643E04 9.43836E04 1.38070E05 1.60899E04 2.67562E04 7.65960E04 2.59792E02 5.03689E04 1.48286E05 1.62796E05 1.30803E05 1.54174E05 1.67270E05 2.86409E05 3.78412E05 9.03033E04 1.32718E05 3.45864E05 1.84334E05 4.91545E05 7.51097E05 2.19810E05 5.15118E04 1.84462E05 3.68023E04 1.85574E04 1.22441E05 1.67965E05 9.52174E04 7.45252E04 4.97195E04 7.68762E04 2.93979E04 2.00607E04 4.08679E04 1.52660E04 2.47051E05 1.26290E05 2.55520E05 5.27262E05 3.46930E05 7.63658E04 1.77667E04 4.83871E04 1.13301E05 7.82924E05 6.17903E05 3.31027E04 1.97474E04 1.80408E05 1.05952E05 1.00608E05 1.71869E05 3.13618E05 1.50107E06 3.01069E06 2.13957E06 5.30129E05 4.05166E04 5.43877E05 8.97394E05 8.27740E05 1.36345E05 2.27109E05 1.17172E06 1.17686E06 9.21170E04 2.15064E05 2.24782E05 8.44499E04 7.20116E04 9.69680E04 4.74898E04 1.61313E02 1.12499E04 1.14084E04 1.32978E04 4.55228E04 1.71263E05 2.37914E05 1.17747E05 7.61013E04 6.45957E04 9.43229E03 5.19128E04 1.36794E05 6.41779E04 1.97040E04 1.79186E04 5.44907E03 4.09339E03 3.93016E03 6.18733E04 9.53976E04 9.10018E04 4.21739E04 1.07878E04 4.69216E02 3.94808E04 8.07736E04 4.86955E04 1.24018E04 5.65277E02 9.64719E03 7.79707E02 1.59100E04 5.12903E03 1.17510E04 5.41524E04 1.11805E05 5.37038E04 3.75135E04 6.86556E04 4.96346E04 6.37640E04 2.95327E04 1.11868E04 1.82663E04 6.14687E03 2.01145E04 1.78157E04 8.50026E03 2.84751E03 3.97345E03 6.30264E03 7.96580E03 1.41451E03 3.35013E03 3.29159E04 7.69181E04 2.53670E04 1.29601E04 3.58305E04 -Frame 257 4.13909E05 1.86897E05 9.62374E04 1.16158E06 3.92990E05 1.29372E06 5.02748E06 2.03395E06 7.49627E05 4.92417E06 1.68464E06 3.35736E06 1.59528E07 7.39084E06 7.80682E06 2.77387E07 1.88642E07 1.15920E06 2.25691E06 9.07568E05 8.93105E05 5.81114E06 3.78287E06 4.74449E03 2.76861E06 2.26882E06 3.51917E05 4.32955E05 1.67271E05 7.98056E04 8.64917E05 7.50243E05 1.57018E04 1.60983E05 1.94276E05 7.33571E04 3.08849E05 2.86394E05 3.97623E04 3.39705E05 3.78232E05 8.15766E04 1.97220E05 7.83565E04 5.80019E05 3.56630E06 4.00353E06 4.79546E05 1.73189E06 2.28981E06 1.00164E07 1.93425E07 6.65290E06 2.44695E06 3.01344E06 1.87369E06 3.52387E06 4.42741E06 1.43688E06 8.94414E05 2.73025E06 2.49935E06 2.29914E06 2.69480E06 1.36425E06 1.27850E06 7.69904E05 4.32388E05 1.00992E05 1.62845E04 9.89835E03 5.52341E05 1.07002E06 4.68672E05 1.29241E05 2.44518E04 3.67451E05 3.70160E06 1.06747E07 8.84762E06 1.25487E06 3.09717E05 2.05638E06 1.61476E06 4.85749E05 1.57933E05 7.60765E04 8.64194E05 1.62324E06 8.37763E05 6.31944E04 3.08604E05 5.42154E05 9.40654E05 1.11132E06 1.16839E05 1.76895E06 3.57423E06 1.84937E06 3.29521E05 6.38020E05 9.61358E05 1.66745E06 1.25020E06 4.21002E05 1.81308E05 9.16312E05 7.64849E05 3.72521E05 7.39005E04 4.50870E04 4.04421E04 7.42640E04 1.62487E05 6.01688E04 2.83968E04 1.21023E04 1.73195E04 9.54053E03 1.71328E03 4.94693E03 7.18960E03 6.16012E03 1.51099E04 8.27859E02 4.34808E04 1.05363E05 5.05894E04 1.35072E03 5.08880E04 6.17710E04 4.38685E04 6.78979E04 2.85442E04 4.12014E04 9.35823E04 1.12307E04 3.36015E05 4.03750E05 5.57747E04 2.67749E05 1.88507E05 7.80231E03 2.99930E05 3.24618E05 4.14762E04 5.75128E04 1.64010E05 1.54535E05 7.06412E04 3.23957E04 4.94840E03 2.85757E03 4.13117E03 7.59818E03 2.52896E03 1.75873E04 2.04191E04 1.04087E05 3.43120E05 4.86513E05 1.95683E05 1.63203E04 1.79244E05 3.15206E04 1.39587E04 2.08091E04 5.74596E04 2.45138E05 2.72202E05 4.40250E05 3.58265E05 3.28215E05 3.16286E05 2.21476E05 1.15034E05 1.61735E05 5.77662E05 4.53380E05 1.21088E06 5.47959E05 1.62056E05 5.65589E05 2.81812E05 2.22744E04 4.33752E05 1.99217E05 7.43902E04 1.78688E04 1.55755E05 3.56509E05 1.31965E05 2.24513E02 1.75582E04 3.50262E04 3.80583E04 3.73350E04 7.24191E03 2.22502E03 1.82516E03 2.68883E04 3.82144E04 2.16925E04 7.53313E04 3.73439E04 2.87403E04 9.57805E04 6.15525E04 7.67995E04 1.03749E05 4.48376E04 9.78037E04 2.07057E05 1.54768E05 7.36561E04 6.62413E03 5.43352E04 1.42642E05 7.98753E04 6.79824E03 5.95447E04 9.85638E04 1.49095E05 1.50434E05 6.80764E04 1.81402E04 5.42907E04 7.36401E04 8.08479E04 7.06688E04 2.57999E04 5.03907E03 2.95697E03 3.46721E04 4.86218E04 3.87591E04 8.51487E04 8.94165E04 1.31621E05 1.20532E05 1.01614E05 1.91592E05 1.44839E05 6.06185E04 4.12295E04 6.99759E04 6.64145E04 9.45661E04 1.30643E05 1.00152E05 5.58490E04 7.98274E04 2.16153E05 1.55073E05 1.01031E04 1.87369E04 3.39868E04 -Frame 257 6.84282E05 9.91878E04 3.74531E05 1.46161E06 3.39754E05 1.25511E06 4.79216E06 1.86513E06 8.12555E05 4.12731E06 1.65459E06 3.54242E06 1.45940E07 7.77468E06 8.58231E06 3.23039E07 1.69378E07 1.01215E06 2.37036E06 1.28923E06 7.41212E05 6.34880E06 4.46004E06 1.39298E05 2.72687E06 1.71325E06 4.06048E05 6.61510E05 4.64205E05 6.52581E04 1.31828E06 1.11939E06 6.21271E04 1.37716E05 8.23124E04 3.37994E04 3.98217E05 4.72488E05 1.72576E03 3.13992E05 1.70550E05 1.32033E05 9.62941E05 1.38246E06 4.19673E05 7.00024E06 8.18066E06 3.96099E06 2.59502E06 7.07603E05 1.79284E06 2.06671E07 2.09012E07 1.94385E06 1.70556E06 2.67199E06 1.14565E06 3.72114E05 3.73755E06 2.41335E06 4.41342E05 5.67222E06 5.30086E06 1.57789E06 6.28127E06 2.56063E06 5.33140E04 7.45212E05 6.34381E05 4.50201E05 5.61924E05 1.36094E05 4.49740E05 5.49037E05 8.68374E04 9.82082E03 1.19664E05 2.42978E05 1.70329E05 2.29940E06 1.46672E06 4.02631E05 8.18416E05 8.68392E05 5.76162E05 3.11332E05 1.78588E05 1.69127E05 8.09602E05 8.10535E05 5.69501E05 8.73236E04 1.72703E04 3.06476E05 1.46114E06 2.16790E06 1.80723E06 1.88598E06 1.46482E06 8.39992E05 5.08488E05 5.50150E05 2.70659E05 1.59239E05 3.77594E05 2.28404E05 1.06416E05 1.69898E04 1.64065E04 1.45059E04 7.38249E04 5.67491E04 4.06931E04 1.58638E04 5.46948E01 9.00327E01 1.99030E03 1.65079E03 2.48825E03 8.36568E03 5.75871E03 7.54736E02 4.93913E02 1.95870E03 1.14747E04 1.03979E04 2.21304E04 4.97333E03 6.56463E04 9.94228E04 3.26334E04 7.58903E04 9.71370E04 1.79988E04 3.91184E04 2.20327E05 1.03023E05 1.66293E05 4.85271E05 1.50170E05 2.24600E04 9.43364E04 4.75577E04 2.39796E03 2.60818E04 3.68228E04 1.46043E04 7.83577E03 5.74631E04 5.18795E04 2.26330E04 1.17463E04 5.38597E03 5.36097E02 5.00327E02 1.12235E04 3.91720E04 1.82747E04 8.05956E03 8.81409E04 2.07148E05 3.26258E04 5.48029E04 1.46915E05 1.01221E05 1.29830E04 5.51520E04 1.09524E05 4.38492E04 2.07517E04 7.57677E04 1.21348E04 1.08270E05 1.21866E05 3.13538E04 4.31300E04 2.25836E04 3.80975E05 1.03242E06 8.91925E05 5.25826E05 3.33217E05 4.30385E04 5.33744E04 2.83197E05 2.47385E05 4.41052E04 2.58049E04 6.31814E04 7.14834E03 4.82679E04 7.30871E04 1.84040E04 5.92452E03 4.63750E04 6.38593E04 2.00876E04 1.90950E03 1.00555E04 9.43415E03 1.14725E04 4.26022E04 1.01045E05 9.64664E04 5.25225E04 9.55630E04 7.29958E04 1.38320E04 6.01334E03 1.16277E04 4.94159E03 1.41312E05 3.83368E05 1.38833E05 2.62666E03 2.03288E04 3.60069E03 2.26055E04 2.42846E04 3.59328E03 1.49764E04 1.36656E03 5.38710E03 8.53648E03 4.17698E04 2.48602E04 1.74781E04 2.36976E04 3.63114E03 3.27275E04 3.63204E04 1.02857E04 2.34813E03 1.05051E04 3.54349E04 4.26887E04 8.57176E03 1.73835E04 4.97574E04 2.76992E04 3.92607E04 6.59836E04 9.81558E03 1.59328E04 6.47783E03 1.08821E04 1.22679E04 1.10579E04 3.40161E04 2.14538E04 7.01827E03 9.77528E02 1.15341E05 1.52360E05 3.17677E04 1.34355E03 5.90022E01 -Frame 257 2.83755E05 2.20991E05 4.55764E05 1.33290E06 3.88543E05 1.17320E06 5.03274E06 2.24228E06 5.60639E05 3.63182E06 1.74335E06 3.58992E06 1.45938E07 8.41864E06 7.53849E06 2.98802E07 1.82674E07 1.52892E06 3.16140E06 2.30183E06 6.43387E05 6.16910E06 5.26859E06 4.80865E05 2.04000E06 1.25234E06 4.11445E05 1.15827E06 1.51602E06 3.49813E04 1.17275E06 1.09495E06 1.93327E05 3.48107E05 2.52590E05 1.56448E04 6.54267E05 5.68680E05 1.35885E04 5.06415E05 2.55444E05 2.94942E05 5.60745E06 5.52242E06 1.64120E06 1.21972E07 6.23428E06 1.60429E06 6.18900E06 9.08949E06 3.06808E06 5.41990E06 9.93417E06 2.23642E06 8.12306E05 1.03293E05 4.71982E04 9.92563E05 4.43366E06 2.06266E06 5.42212E04 3.58193E06 4.71992E06 1.84987E06 4.59778E06 3.01094E06 3.88861E05 4.25330E04 1.39736E05 4.59795E04 5.54872E05 5.90766E05 1.26147E05 1.54900E05 2.34774E05 1.68810E05 1.98792E05 1.55839E05 1.53520E05 6.55727E05 5.52657E05 3.01860E05 7.02711E04 9.02954E04 2.82588E04 5.68641E05 6.50814E05 2.91015E05 3.76210E04 3.22798E03 9.56448E02 7.24591E04 7.49481E04 7.37455E04 2.31095E05 1.37243E05 3.54425E04 5.01000E04 1.00231E04 3.49142E04 1.16870E05 2.57533E05 1.97628E05 1.12778E05 1.92022E04 4.68128E03 2.13287E03 4.51768E04 3.27125E04 7.07438E03 8.09347E02 3.99858E03 1.66762E03 9.01994E03 1.11399E04 2.70202E03 1.20785E03 1.34300E03 2.03895E03 9.41818E03 1.37058E04 5.42669E03 2.78889E03 2.64967E02 4.74366E03 1.06028E04 4.12028E04 6.09210E04 3.46452E04 3.32874E04 7.72621E04 1.75571E04 9.62563E04 7.02179E04 7.33284E04 4.30394E05 4.41247E05 9.63752E04 1.03240E05 7.19433E04 4.18764E03 1.18801E04 3.49043E03 2.78912E03 4.92643E03 3.72093E02 6.23490E03 5.61015E03 3.61316E03 1.26455E04 1.18803E04 7.89103E03 5.90040E03 5.59059E03 1.07307E04 2.27650E04 2.13227E04 1.34833E04 9.86648E03 2.28298E04 1.19825E05 8.30294E04 2.77426E04 6.34341E03 3.38305E04 2.92121E04 1.28335E04 3.27862E04 3.31862E03 4.77273E04 1.39940E05 9.87579E04 2.04419E03 1.72768E05 1.98499E05 1.24711E05 1.52402E05 4.35697E04 3.67236E05 2.16114E05 1.04751E05 1.04011E05 2.14430E05 6.21220E04 1.21317E05 1.66078E05 4.34434E04 2.84784E03 2.61933E04 8.62121E04 1.03355E05 3.63804E04 6.86462E03 4.27899E02 6.16366E03 1.84715E04 2.14296E04 1.04996E04 1.85687E04 1.15860E04 3.55996E03 1.16002E04 4.12200E04 6.80375E04 4.09287E03 4.31083E03 2.38986E04 3.28954E04 3.66206E04 5.13011E04 5.10842E04 1.17575E05 2.30010E05 4.92323E04 1.12546E04 7.67863E03 2.32645E02 1.06178E04 1.38374E04 3.61042E02 1.09076E04 3.34091E04 4.91062E04 3.64583E04 5.71036E03 1.05992E04 1.03249E04 2.29319E03 6.49017E03 1.59045E04 1.69755E03 1.43753E02 3.51095E03 2.82499E03 2.55004E02 1.58963E04 1.21719E04 6.38588E03 8.80495E03 2.45910E03 6.94064E03 2.83769E04 1.39320E04 4.51500E02 6.43789E02 5.70296E01 3.92300E02 2.15445E02 4.73575E03 1.40430E04 1.43761E04 1.23803E04 3.37309E04 3.83699E04 1.11047E04 2.84675E03 2.13029E03 -Frame 257 1.07356E05 5.35195E04 5.16280E05 1.13055E06 5.21495E05 1.06738E06 5.44777E06 2.07240E06 5.04721E05 3.74247E06 1.91789E06 3.33314E06 1.54652E07 9.27621E06 7.81082E06 3.03087E07 2.04444E07 2.79258E06 4.15039E06 3.17644E06 6.71886E05 6.26742E06 5.60285E06 5.37527E05 1.85493E06 1.76798E06 3.97634E05 1.46987E06 2.05638E06 3.06788E05 1.03408E06 1.27218E06 1.64810E05 4.59243E05 8.00893E05 6.55210E04 6.47570E05 1.42445E06 1.46021E05 1.09798E06 1.71981E06 1.27764E06 1.79571E07 2.67633E07 1.29104E07 1.27428E07 7.21756E06 1.19342E06 1.79939E06 7.74072E06 4.51966E06 1.60345E06 2.85059E06 8.24422E05 6.14262E05 2.25713E06 1.65116E06 1.81464E05 2.86402E06 1.10046E06 1.62151E05 1.63314E06 2.05845E06 5.17159E05 4.82562E05 3.94856E05 2.32025E04 1.69481E04 8.72179E04 1.18690E05 5.79942E04 6.64629E04 4.17318E04 2.12063E04 6.11524E03 3.05167E04 1.88654E04 1.88716E05 1.46908E05 1.16229E05 1.17589E04 1.36897E04 1.81817E05 6.42738E05 3.60515E05 7.97580E04 2.77637E04 1.18612E04 1.22630E04 2.94665E04 1.54723E04 1.94930E04 3.69182E04 1.16114E04 1.25771E04 5.40824E03 1.07982E03 8.80816E03 4.35196E04 1.03263E04 3.51689E03 1.10346E04 8.44998E02 1.75212E04 9.32838E03 7.77731E03 9.56371E03 1.30641E04 6.09135E03 1.35737E03 7.61827E02 2.64403E03 1.31638E03 1.38152E04 5.27355E03 1.95336E03 3.60398E03 2.40911E03 2.45328E03 3.94145E03 4.40960E02 3.13921E03 4.37577E03 4.08797E03 8.37533E03 4.78269E02 1.23428E04 2.18779E03 3.30387E03 7.47250E03 3.74152E04 1.19583E05 6.38600E04 1.74153E04 5.27707E04 1.36191E05 1.13803E05 4.69172E04 2.47045E04 4.92236E02 2.31189E04 2.12790E04 5.75392E03 1.65320E03 5.96914E03 5.85979E03 1.31128E04 2.25688E04 9.63469E03 7.32927E02 2.35925E03 1.15243E03 9.32568E03 2.16204E04 8.68520E03 1.28096E03 2.40422E03 4.08341E03 8.42250E03 2.17539E04 6.14739E04 6.69580E04 5.67427E04 1.12502E05 1.41657E05 5.17202E04 7.00750E03 1.83384E04 5.44942E04 7.57509E04 3.76726E04 1.70255E04 7.63949E04 1.89664E05 7.40639E04 3.62375E04 1.03384E05 3.09293E05 1.99931E05 1.39336E05 2.59469E05 6.22864E04 4.94454E04 1.05557E05 1.12568E05 3.01365E04 9.99104E03 4.67189E03 7.10029E03 5.14743E03 4.63510E03 2.67018E04 4.23083E04 1.64224E04 9.27356E03 1.57452E03 5.54260E03 3.05678E03 5.57673E02 6.32270E03 1.22556E04 4.25787E04 9.87598E04 6.84657E04 5.68001E03 1.33483E02 1.57299E03 6.50304E03 8.03107E02 2.88358E04 5.65096E04 8.41109E04 1.44378E05 9.29308E04 1.46010E04 3.98032E03 6.57488E02 1.07167E04 8.61408E03 1.81253E03 1.39802E04 1.55041E04 9.20274E02 2.67009E04 2.84721E04 3.92803E03 2.74992E03 2.71761E03 6.00314E03 4.29109E03 4.50198E03 1.97365E03 2.22205E04 5.99269E04 4.01531E04 1.42778E04 1.56589E04 2.52563E03 2.90141E03 2.07995E04 2.33283E04 3.55401E03 2.19082E04 1.32675E03 5.65101E03 7.96149E03 6.67227E02 7.86017E03 6.26329E03 1.93621E04 3.17394E02 1.17091E04 6.33970E03 6.48114E03 3.36291E03 1.13998E03 4.50640E03 -Frame 257 6.64254E05 3.77047E05 8.86297E05 1.50866E06 4.48502E05 1.33396E06 5.26916E06 1.82832E06 7.60791E05 3.46169E06 1.87772E06 3.96983E06 1.43348E07 7.87306E06 8.91365E06 3.12550E07 1.80990E07 2.95649E06 4.48965E06 2.55972E06 1.75183E06 7.91250E06 5.19681E06 6.33943E05 2.85431E06 2.50910E06 9.53237E05 2.03625E06 1.44128E06 2.49382E05 1.57633E06 1.35938E06 2.41991E05 1.01376E06 8.63812E05 3.43294E05 2.12490E06 1.77251E06 6.60732E05 4.96490E06 5.63924E06 1.23311E07 4.33705E07 2.74243E07 2.63546E06 5.61625E06 1.05409E07 3.81523E06 4.14450E06 3.71843E06 3.83745E05 1.93982E06 2.84540E06 9.58756E05 1.00659E06 1.46259E06 2.86352E06 9.42591E06 7.40178E06 3.67738E05 3.77637E05 1.81587E05 1.38242E06 1.45864E06 6.85052E05 4.81274E04 1.62555E05 3.36317E05 3.56861E05 1.55536E05 4.75610E04 1.50155E04 3.39567E04 1.26062E05 2.12042E05 1.37427E05 3.57388E04 1.40904E04 1.45878E05 3.32734E05 6.10925E05 2.87963E05 1.19377E05 3.37319E05 2.82064E05 7.09081E04 3.76784E04 7.26168E03 6.28635E03 2.36635E04 7.94704E03 4.52106E03 9.25582E02 2.14602E03 5.17582E03 1.34718E04 3.01002E03 2.95911E03 1.38784E04 6.32375E03 2.26567E03 3.45176E03 2.76454E03 1.50743E03 2.91055E03 6.75343E03 3.82516E03 7.72046E03 2.06949E04 2.97454E04 1.97871E04 2.92405E03 7.68047E03 1.38130E04 3.37461E03 1.15677E03 1.39567E01 7.08682E03 1.13813E04 1.71955E04 1.67325E04 9.61997E03 1.62260E04 1.93927E04 5.48209E03 6.01928E03 1.21916E04 1.14654E04 7.11869E03 5.38724E03 1.34302E04 2.42121E04 9.96416E03 1.01452E04 2.53402E04 6.48529E04 2.87015E04 1.76781E03 1.38292E04 6.26807E04 3.68499E04 2.52413E03 5.73944E03 4.50952E03 1.47266E03 1.64566E03 6.74317E03 9.72478E02 1.41412E04 2.24844E04 2.16885E04 3.44574E04 1.43716E04 2.54330E03 2.47191E04 1.53890E03 1.61775E04 2.24295E04 7.45148E03 6.20738E03 2.47441E04 4.62486E04 3.89194E04 6.02825E04 2.29804E04 2.30072E04 4.04640E03 1.56531E04 2.26304E04 8.01307E03 6.37532E04 7.43328E04 7.71308E04 2.04845E05 2.35854E05 8.11390E04 4.42782E04 1.12681E05 2.71741E05 3.24656E05 1.28511E05 8.88523E02 2.06413E04 9.39588E03 2.00208E04 6.18012E03 2.22905E03 3.49621E04 7.64001E04 7.42895E04 3.16671E04 2.79641E04 4.00754E04 5.83829E04 3.80217E04 1.06682E04 4.84498E03 2.38728E03 2.66516E03 2.87436E03 8.67588E02 8.44543E03 7.01030E03 2.18031E04 2.32471E04 4.10437E03 2.32650E03 1.11684E03 3.68063E03 2.59297E04 1.19331E04 1.17228E03 2.63160E04 1.99218E04 4.28388E03 7.64554E02 2.54295E03 1.11302E04 1.57169E04 1.20441E04 8.12906E03 8.69468E03 2.45707E04 3.38960E04 4.40682E04 2.76985E04 1.92729E04 1.75510E04 7.89947E03 7.74188E03 1.46213E04 2.56095E04 7.99065E04 1.86950E05 2.01655E05 1.66131E05 1.76915E05 1.61109E05 1.31687E05 1.41176E05 1.59569E05 1.24154E05 1.00242E05 9.59417E04 1.20748E05 1.66466E05 1.77896E05 2.13849E05 2.27243E05 1.77759E05 1.43859E05 1.26333E05 1.19116E05 1.17353E05 1.11199E05 9.81696E04 8.79056E04 -Frame 257 2.28763E05 8.83763E04 1.54086E05 1.11969E06 3.07501E05 1.56936E06 4.82429E06 1.85523E06 1.16609E06 3.50854E06 1.88682E06 4.81488E06 1.34552E07 7.38612E06 1.28058E07 3.39482E07 1.37554E07 2.67787E06 4.38384E06 1.79017E06 2.83072E06 8.42187E06 3.70409E06 1.75330E06 3.72294E06 1.51892E06 6.84885E05 2.10967E06 1.01336E06 8.25234E05 2.21189E06 9.77531E05 5.88430E05 1.54916E06 7.81513E05 9.00272E05 3.13728E06 1.97054E06 5.80198E06 1.20879E07 7.48270E06 1.83227E07 5.19682E07 2.52902E07 4.71693E06 6.23263E06 5.47487E06 3.28025E06 4.14751E06 1.80060E06 1.28926E06 4.14297E06 2.42780E06 1.25892E06 1.51482E06 7.00755E05 4.86908E06 1.92243E07 1.38727E07 4.96916E06 2.41305E06 6.43995E05 1.88957E04 4.80925E05 6.60817E05 2.15632E05 3.98858E05 2.71268E05 7.59202E04 1.83533E04 3.01025E04 4.77318E03 1.08524E05 1.91377E05 7.50759E04 4.64972E02 5.85785E03 6.13606E04 3.55041E05 5.76060E05 6.69106E05 3.06696E05 3.05647E04 2.55112E03 1.21931E05 1.44737E05 4.41212E04 2.78024E04 9.71034E03 4.42959E03 1.63058E03 4.69086E02 6.61247E02 3.11703E03 3.12109E03 8.40278E03 1.47572E04 6.20457E03 3.72770E03 4.65234E03 2.83498E03 8.46234E01 6.67193E02 1.45372E03 2.07058E03 3.04126E03 2.56006E03 3.35149E03 2.64336E03 1.06427E04 1.24829E04 1.55927E04 1.20021E04 4.12414E03 6.05715E03 1.07652E04 1.30404E04 6.68539E03 3.01270E03 7.63956E03 1.08108E04 4.80620E03 2.14434E03 6.32574E03 1.31290E04 1.08630E04 2.15771E03 3.80405E03 4.39433E02 9.04767E02 8.07307E03 7.84661E03 2.60108E04 6.34373E04 7.65540E04 2.74127E04 8.34443E04 1.16619E05 8.02198E04 1.34549E04 6.30182E03 4.23794E03 9.24655E03 7.19883E03 7.25079E03 1.09103E04 1.16501E04 6.59336E03 2.60869E04 2.11755E04 1.35042E04 1.78858E04 2.61521E03 4.38490E04 9.31958E04 6.25161E04 2.70192E04 1.58074E04 1.55643E04 1.78748E04 1.47374E04 6.32422E04 3.66038E04 8.83754E03 1.86632E03 2.55093E04 2.97548E04 1.84186E04 6.47683E03 3.52632E04 1.12454E05 2.32053E04 1.56615E04 4.67547E04 2.13638E04 1.39402E04 1.02713E04 1.11325E04 1.72940E04 1.23359E05 1.28427E05 6.72730E04 5.35500E04 2.90159E04 1.05381E03 4.08732E03 1.32492E04 6.78219E04 9.57722E04 3.22337E04 1.50238E04 4.77264E02 1.81479E03 1.70378E04 5.33747E03 1.53329E03 6.66766E03 5.81025E03 2.51788E03 2.00551E03 4.23673E03 6.59056E03 2.94160E03 1.03030E03 7.75646E03 6.95910E03 1.12405E03 4.44265E03 8.69587E03 2.75418E03 5.25881E03 4.34917E03 2.11063E04 2.08899E04 8.59751E03 4.76880E03 2.27716E03 1.15305E03 1.34546E03 1.98525E02 2.17805E03 2.58791E04 2.31642E04 1.78799E04 1.46146E04 4.20991E03 8.06945E02 4.40816E03 2.59327E03 2.50454E03 3.37046E03 5.90058E02 1.00571E04 6.11759E03 3.44486E04 2.78392E04 1.02056E04 1.71533E04 4.45750E03 3.18666E03 2.37570E04 9.41578E03 4.23044E01 1.18958E04 1.33161E03 2.39485E04 3.65269E03 1.88438E04 1.91990E04 7.55628E03 1.18807E03 1.31054E04 1.41901E03 1.45751E04 1.28994E04 2.74160E02 5.97149E03 -Frame 257 4.99748E04 4.42756E04 2.03674E05 9.82396E05 2.88518E05 1.69248E06 4.69720E06 1.82796E06 1.16360E06 3.48305E06 2.15394E06 5.03286E06 1.32305E07 6.59590E06 1.35871E07 3.49817E07 1.28506E07 2.43912E06 3.65372E06 1.64821E06 3.39333E06 8.39993E06 3.14646E06 1.13372E06 3.43065E06 1.86131E06 1.19994E06 2.22150E06 7.73954E05 8.52916E05 2.35583E06 1.19194E06 7.35204E05 1.64980E06 9.37813E05 1.95209E06 5.00089E06 2.60950E06 7.14862E06 1.89129E07 9.41028E06 1.89756E07 3.28422E07 8.02729E06 1.75885E06 3.66307E06 1.15405E06 1.06863E06 2.71601E06 2.04695E06 2.10134E06 4.48367E06 1.99247E06 1.13790E06 3.56929E06 4.36832E06 1.06560E07 1.86088E07 5.43332E06 7.54464E05 1.09050E06 2.69838E05 1.59329E05 4.04720E05 2.75862E05 1.15229E05 1.30701E05 3.78620E04 1.42213E03 4.64833E03 3.89978E04 3.74733E04 3.02003E04 9.70610E02 3.19553E04 1.70077E02 1.47457E04 6.22020E04 7.71265E04 3.72410E04 1.68834E05 3.75632E05 1.03378E05 4.33487E04 3.21086E04 4.80016E04 2.49450E04 1.98998E04 6.35127E03 1.21697E01 1.56085E03 1.47044E03 5.43769E02 2.16942E01 6.09426E02 7.82965E03 2.40914E04 1.24967E04 7.40080E03 1.03221E04 8.74073E03 7.88212E03 7.65012E03 5.76636E03 4.73174E03 7.90946E03 1.48402E04 1.46245E04 1.20676E04 8.46952E03 1.28596E04 1.65332E04 1.54702E03 4.80255E03 1.11990E04 1.05111E04 9.49675E02 2.02588E03 9.51340E02 1.26231E03 9.18454E02 3.58534E03 5.78942E03 5.09454E03 3.47685E03 1.36324E04 1.69231E04 4.73421E03 1.92975E02 8.48316E03 1.90255E04 3.94973E03 4.59302E04 8.75988E04 8.25453E03 2.49728E04 4.04455E04 1.01152E03 2.92183E04 8.91792E03 4.60857E02 9.33140E03 1.94260E04 1.14710E04 8.22927E03 5.31941E03 2.76628E03 9.06185E03 2.14714E04 2.98662E04 7.73669E03 5.14805E03 8.99988E03 2.32784E04 7.53416E04 1.73605E04 3.10331E02 1.57351E03 1.35673E04 8.28489E04 9.40190E04 3.61037E04 2.57186E04 3.16720E04 5.65389E04 5.62714E04 2.80100E04 1.23765E04 3.24207E04 7.91059E04 4.40619E04 2.31582E04 1.67583E04 9.01118E03 2.03686E04 7.13246E03 2.55706E03 2.96779E04 2.49100E04 1.56390E03 1.19787E04 6.40960E03 3.22191E03 4.83220E03 4.99418E03 2.45745E03 3.00601E03 1.05100E04 1.83168E04 1.40380E04 6.74750E03 6.36962E03 1.61939E04 3.26311E04 3.06912E04 2.65812E04 2.59405E04 1.48822E04 1.35303E04 1.18703E04 3.43860E03 6.20940E03 1.18434E04 6.78524E03 1.56738E03 1.53633E03 3.15350E03 7.87730E03 1.96220E04 1.24155E04 1.34666E03 7.61068E03 2.19330E04 1.72427E04 5.54205E03 5.23128E03 3.06936E00 2.37907E03 8.72267E03 1.61820E04 1.38494E04 1.28951E03 1.66512E04 5.84201E03 3.09859E02 5.65458E02 3.94867E02 2.50585E03 1.05177E03 1.33688E02 5.88814E02 2.41579E03 7.33098E03 1.01917E04 3.84486E03 3.49113E03 2.78903E03 1.51827E02 1.86648E03 6.92082E03 1.15025E04 3.65773E03 2.68140E03 8.10711E03 1.59211E04 9.89020E03 1.65205E03 5.86793E02 8.22015E01 1.21344E03 4.83527E03 4.71025E03 7.35936E02 1.18415E04 9.14129E03 2.52855E03 6.44550E03 -Frame 257 5.81711E05 3.56364E05 6.71381E05 1.14984E06 3.89668E05 1.70902E06 4.92037E06 2.06813E06 1.49609E06 3.55468E06 1.79377E06 4.71763E06 1.36129E07 7.03124E06 1.35960E07 3.68868E07 1.47844E07 2.52140E06 3.64670E06 1.71849E06 3.33029E06 9.45709E06 4.14639E06 2.39716E06 3.71444E06 1.51893E06 9.48884E05 2.21096E06 9.81408E05 1.00981E06 2.89467E06 1.27844E06 8.25312E05 1.85413E06 1.04935E06 3.67574E06 9.45327E06 7.99581E06 1.74687E07 2.75471E07 6.26400E06 5.14352E06 1.60240E07 7.92189E06 4.65308E06 6.98487E06 3.25269E06 1.52416E06 2.04496E06 9.19707E05 1.39487E06 3.93601E06 2.24517E06 1.37004E06 2.82927E06 1.09441E06 1.78468E06 1.42812E07 1.05241E07 1.98449E06 1.49693E06 8.70766E05 4.73428E05 5.95943E05 1.44808E05 4.79698E04 1.87589E05 1.44195E05 9.89330E04 4.73323E04 4.45334E03 7.54502E03 3.71713E04 6.95646E04 5.40767E04 4.31888E04 3.22491E04 1.89833E04 2.47326E04 2.25949E04 1.15625E05 3.43197E05 2.88220E05 8.92001E04 2.62485E04 2.40436E02 4.04039E03 7.17620E03 1.09208E04 5.70083E03 2.26309E03 5.03137E03 3.77747E03 5.92150E02 1.76808E03 7.45907E03 1.89777E04 7.13356E03 1.26163E03 2.20589E03 9.59962E02 2.15421E03 2.57140E03 1.62721E02 3.44204E02 1.11246E02 2.06831E03 8.49850E02 1.57477E03 1.32698E03 2.66692E03 1.17300E04 1.88439E04 1.06074E04 7.52725E02 7.27229E03 3.19490E03 1.19094E03 6.48813E03 1.14557E04 2.29101E03 8.24440E02 2.77924E03 4.74211E03 6.19290E03 3.53123E03 3.26815E03 3.63545E02 7.88522E03 2.19912E04 2.14541E04 4.33644E03 1.94183E04 5.34303E04 6.28517E04 8.24642E04 8.11846E04 1.89430E04 6.95476E03 3.99154E03 1.12715E04 3.26840E04 1.93190E04 6.76044E03 6.63126E03 3.35846E02 5.97543E02 2.97181E03 3.75960E03 3.63065E03 2.86826E04 2.24035E04 1.25505E04 5.99136E04 1.01560E05 4.52477E04 6.31427E03 5.88679E03 2.34946E04 4.85486E04 2.80115E04 1.03120E04 9.85665E03 1.77956E04 1.12146E04 1.98164E03 5.19394E03 1.52198E04 2.43331E04 2.53881E04 4.15773E03 1.60224E04 3.07697E04 4.06010E03 2.88841E04 3.15372E04 2.22112E03 1.05823E04 2.30906E03 5.33026E03 1.64950E04 8.88105E03 1.27841E03 4.62798E02 4.00253E02 4.44851E02 1.11935E03 1.13768E03 1.17079E03 5.04041E03 4.90127E02 5.74925E02 2.15670E03 6.87037E03 4.56562E03 7.89068E03 2.08232E03 3.40580E03 5.09430E03 1.02518E04 2.95373E03 8.56186E02 4.56227E03 5.91816E03 1.92756E03 4.83365E03 2.39603E03 9.06485E03 4.44088E04 5.92517E04 2.40165E04 2.75620E03 4.81628E03 1.06586E04 5.68707E03 2.61601E03 1.66319E03 1.43543E03 1.14067E04 9.31185E03 5.82532E03 4.44527E04 5.02351E04 1.79534E04 4.60227E03 1.45190E03 3.93393E03 2.83210E03 1.90589E01 7.82499E02 1.72698E03 6.34178E02 1.68601E03 8.48101E03 1.73207E03 3.63039E03 1.23774E04 1.51242E04 4.86611E03 1.54499E03 7.12091E03 5.33581E03 4.87731E03 4.46746E03 1.52284E02 3.21194E03 2.72991E03 4.23002E03 3.19504E03 1.50002E02 2.65538E03 5.39799E03 3.11444E03 1.91677E03 9.66864E03 6.32923E03 1.88332E03 -Frame 257 3.77524E05 2.06166E05 3.96642E05 9.89797E05 6.03716E05 1.86093E06 4.96598E06 1.96209E06 1.66817E06 3.64734E06 1.76453E06 5.28139E06 1.32807E07 6.02786E06 1.55311E07 4.40623E07 1.72679E07 3.07286E06 4.47531E06 2.38486E06 4.39011E06 9.82979E06 3.24183E06 2.04677E06 4.43403E06 1.66115E06 1.67026E06 3.46669E06 1.50069E06 2.14189E06 4.18847E06 1.56646E06 1.03530E06 1.72584E06 1.48980E06 6.34334E06 1.12814E07 4.69982E06 1.77828E07 2.97270E07 7.50639E06 5.05473E06 9.00467E06 2.56711E06 1.93519E06 4.62828E06 1.21011E06 1.09624E06 2.29670E06 9.79583E05 2.02857E06 3.50786E06 9.65314E05 1.02001E06 2.16858E06 1.80301E06 6.43490E06 1.38812E07 5.96020E06 5.98278E05 1.85332E06 1.49038E06 1.66096E06 1.00675E06 3.49101E05 4.16993E05 4.86671E05 1.14544E05 4.06556E04 9.52714E04 1.08791E05 1.19363E05 9.56252E04 1.63344E03 1.57939E04 6.32685E04 7.55729E04 1.35015E05 1.32729E05 7.16905E04 5.59253E04 2.28511E05 7.77056E04 8.86906E04 7.49058E04 3.33469E04 4.97907E04 3.52596E04 2.27323E03 1.04415E03 2.21288E03 2.52398E03 6.80473E03 4.18881E03 3.35240E02 5.83155E02 7.00105E03 2.26348E03 8.37179E02 1.20624E02 2.70976E01 2.30410E02 2.08507E02 5.95392E01 2.47176E03 1.81399E03 1.77602E03 2.69670E03 5.05150E02 4.61161E03 1.54314E03 1.21203E03 5.94829E02 2.84457E03 3.67780E03 1.23052E04 9.23931E03 2.47168E03 1.95500E03 8.55666E03 1.53417E04 9.02142E03 4.70102E03 4.59811E03 3.96689E01 1.94169E03 1.08107E03 1.40631E03 4.37139E03 1.14369E03 6.53636E03 1.65012E04 1.80772E03 1.02870E04 5.06124E03 7.12310E03 1.85003E04 4.42610E04 1.92948E04 1.53238E04 2.06409E04 9.19642E03 5.41987E03 5.38343E03 1.11214E04 4.78870E03 9.57083E03 1.93348E04 3.41755E04 3.98394E04 2.74345E04 2.21216E04 2.40862E04 5.86993E04 1.89043E04 1.23646E04 4.26603E03 1.36831E03 5.41585E03 8.99427E03 5.10787E03 1.86052E04 1.32787E04 1.06642E04 5.65866E03 1.87992E03 1.94362E03 1.43105E04 6.39511E03 6.47677E03 1.05160E04 5.18400E03 3.57801E04 4.55817E04 2.94351E04 1.98756E04 4.02850E04 2.07355E04 2.31202E02 1.69626E03 9.46051E02 3.62033E03 8.23189E02 1.85455E03 1.53735E03 7.11128E02 2.34316E03 1.88834E03 2.11236E03 4.04694E03 9.47701E03 9.91685E03 1.11974E04 1.33609E04 3.47964E03 3.42754E03 7.35400E03 7.04643E03 8.09882E03 8.96472E03 3.26280E02 5.72277E02 5.10499E02 3.49884E03 1.03850E03 4.16107E03 2.46608E03 5.60418E03 1.16714E04 6.96090E03 1.02190E04 7.60305E03 7.22675E03 1.48628E04 9.63400E03 2.51826E03 2.31481E03 1.38264E03 2.63834E03 1.46666E04 2.09022E04 1.62933E04 2.83680E04 1.94270E04 1.70724E03 3.22751E02 2.29132E03 6.44833E03 8.00008E03 2.46000E03 3.96368E03 7.22975E03 7.04811E03 7.18361E03 2.68854E03 2.51587E03 8.70998E01 4.95483E03 3.30059E03 5.53423E03 6.43184E03 8.45674E03 1.05939E04 5.18428E03 2.43989E03 1.97485E03 3.19997E03 5.67492E03 5.56881E03 1.20993E03 5.26513E02 1.05111E02 1.25752E03 1.64547E01 4.51464E03 9.25592E03 4.48914E03 -Frame 257 2.76060E02 1.57112E05 3.69555E05 1.07849E06 6.89177E05 1.70045E06 4.97326E06 2.08814E06 1.93030E06 3.93658E06 1.64119E06 5.00690E06 1.34959E07 5.07892E06 1.83891E07 5.49652E07 2.18211E07 3.32647E06 5.41415E06 2.39698E06 4.51162E06 1.17699E07 4.93932E06 3.06181E06 5.74653E06 1.78445E06 1.42048E06 4.16880E06 1.53795E06 2.07550E06 5.12298E06 1.80948E06 1.06500E06 1.82219E06 1.21423E06 8.97368E06 2.01404E07 6.11004E06 1.57426E07 2.23316E07 3.56448E06 1.79643E06 6.38686E06 2.22430E06 1.82919E06 3.81015E06 1.11759E06 5.13189E05 1.29756E06 3.29318E05 9.53148E05 2.75937E06 1.06272E06 4.79232E05 8.79068E05 2.28934E04 2.26180E06 7.01566E06 3.11699E06 3.33998E06 9.14678E06 6.83164E06 9.70350E05 8.79748E05 1.00214E06 5.51966E05 7.99164E05 5.25616E05 1.38191E05 6.40492E04 1.46631E02 5.72303E03 1.18672E05 1.39533E05 1.07700E05 9.31924E04 5.12015E04 1.59585E03 4.92901E04 8.99555E04 3.85364E05 7.30459E05 3.74449E05 4.80411E04 4.92063E03 1.68105E04 2.59473E04 2.33839E04 1.77235E04 9.41064E03 8.24708E03 1.22631E03 9.38020E02 9.79960E02 2.74324E03 5.13978E03 5.53172E03 3.73296E03 1.75969E03 9.82532E02 4.76078E02 1.27370E03 1.05023E03 3.52040E03 6.17537E03 1.16017E03 1.22570E03 6.72331E02 1.99303E03 1.11974E04 1.71720E04 1.30934E04 4.35873E03 7.38305E02 2.01759E02 7.41905E02 3.06492E03 1.88649E03 4.90856E02 1.77103E03 1.69032E03 2.20712E02 3.62802E03 9.93585E03 3.27973E03 5.73849E02 5.40917E03 5.05394E03 8.87370E02 3.84268E03 4.87432E03 1.22162E04 2.65779E04 3.25799E04 4.99090E04 4.37427E04 3.74978E04 2.43741E04 6.99543E02 2.60001E02 2.99263E03 5.21729E03 1.91921E03 1.36290E03 8.88052E01 1.05143E04 2.60378E04 2.89406E04 4.57146E04 3.93211E04 1.11769E04 5.39514E03 8.15995E03 4.21636E04 3.89872E04 1.39852E04 1.97312E03 3.57817E03 2.28340E03 1.86528E04 5.29334E04 2.13201E04 1.06005E04 2.30473E04 1.32584E03 9.18694E03 8.69559E03 5.97165E03 3.06333E04 2.71334E04 3.41947E03 4.32718E03 2.21589E04 3.03898E03 9.46310E03 1.70534E04 2.20079E04 3.63536E04 2.36272E04 6.31117E03 6.69770E03 1.07794E04 2.41814E03 1.10706E03 8.77206E02 1.23100E03 2.74261E03 1.14236E03 2.18340E03 1.89490E03 4.36174E03 4.00237E03 8.92312E02 1.27995E04 1.36444E04 7.72233E03 3.57130E03 2.03544E03 1.48134E03 9.64660E03 6.91504E03 1.28514E03 3.38275E02 9.82155E02 5.48660E03 1.07697E04 6.98374E03 2.55181E03 5.08431E03 5.27269E03 3.85841E03 2.49200E03 4.03381E03 6.16774E03 6.19767E03 1.84085E03 4.64058E03 1.03090E04 7.53098E03 5.03632E02 1.11984E04 1.74702E04 1.43146E04 1.73275E03 3.48915E03 3.47353E03 4.62271E02 2.88401E03 5.08346E03 5.39432E03 9.51575E03 9.87915E03 3.70028E03 8.89328E02 6.04351E02 2.22801E03 3.34339E03 1.44964E03 5.43797E02 3.12875E03 5.99206E03 3.68750E02 3.08096E03 2.05912E03 1.29093E01 1.20568E03 7.54741E02 1.33334E03 5.02984E02 2.17587E03 4.96376E03 6.84504E03 6.33555E03 4.60879E03 3.73788E03 1.27093E04 1.98956E04 -Frame 257 2.01095E05 4.17321E04 4.66550E05 1.55937E06 6.24218E05 1.92428E06 4.92359E06 1.99268E06 1.86835E06 3.55974E06 1.51497E06 5.11089E06 1.41003E07 5.13230E06 1.77437E07 5.97020E07 2.46776E07 3.20891E06 7.62012E06 3.75489E06 5.31944E06 1.29666E07 6.06024E06 2.79400E06 5.44252E06 1.90043E06 2.03666E06 5.68514E06 3.30733E06 2.76298E06 5.31913E06 2.53313E06 2.25431E06 5.02336E06 3.88360E06 1.42251E07 2.50878E07 2.80818E06 7.88865E06 1.16211E07 2.70581E06 2.18003E06 5.40768E06 2.59426E06 9.13669E05 1.68607E06 5.28194E05 3.44720E05 1.09831E06 8.38019E05 7.34844E05 1.20512E06 5.51105E05 5.29040E05 1.27591E06 6.43634E05 9.36763E05 2.77684E06 1.47469E06 7.04228E05 4.06699E06 2.56467E06 3.14930E05 5.75580E06 9.57593E06 5.60079E06 2.85345E06 4.79449E05 1.91013E05 3.23802E05 3.18783E05 2.56213E05 1.24721E05 6.95099E04 3.96607E04 1.01758E05 8.59439E04 1.22316E05 6.74352E04 1.89391E04 1.71689E05 4.11545E05 1.96336E04 6.99311E04 1.56380E05 1.30987E05 4.52917E04 2.30867E04 2.37312E03 3.13286E03 2.85800E04 2.53195E04 1.95607E03 4.35370E03 4.01001E02 5.33212E03 1.06618E04 4.32644E03 2.15505E04 2.26162E04 3.32945E03 2.80712E03 9.63564E03 1.93616E04 1.16219E04 4.35844E03 3.07449E03 1.99311E04 1.12396E04 4.28839E02 1.04421E04 4.43452E03 7.98695E03 3.38918E02 2.71110E03 5.42062E03 5.57954E03 9.44990E03 1.37758E03 2.20661E03 1.70545E03 3.59313E03 1.14955E02 6.92375E03 1.25180E04 1.15747E04 2.67517E03 1.08975E04 9.79578E03 2.98209E04 1.88791E04 1.12014E04 9.25538E03 3.55178E03 3.65166E04 1.56496E04 2.69384E03 2.03779E04 1.48918E04 8.06997E03 3.66258E03 5.86500E03 3.66461E03 8.14077E02 4.73448E03 3.46031E02 8.16825E02 6.77919E03 1.57593E04 9.70576E03 1.22630E04 3.28527E02 1.72831E03 4.78935E03 3.09460E04 2.54671E04 1.81288E04 1.55020E04 6.84938E03 3.15937E04 1.99040E04 1.99381E04 1.30364E04 1.30666E04 1.73640E04 3.66589E04 2.51854E04 1.94286E04 3.15479E04 2.95999E04 1.14758E04 1.01792E04 4.26235E04 3.78466E04 2.46005E04 5.64589E03 7.04297E03 5.82309E03 5.28798E03 9.00786E03 1.60906E04 2.60401E04 2.23735E04 2.80230E04 1.50255E04 1.78652E04 2.53637E04 1.41270E04 1.28597E04 7.23145E03 2.42849E03 1.04138E04 2.17955E03 5.11732E03 1.66331E04 5.76877E03 1.15459E04 1.69742E04 7.89549E03 1.14334E03 1.30327E03 1.00448E03 6.43835E03 1.72696E04 1.95667E04 1.38939E04 4.71690E03 4.77851E03 1.63670E02 1.42643E01 4.02669E03 1.00861E04 1.13469E04 1.43593E04 1.48199E04 4.17407E03 3.95480E03 1.51749E04 1.14225E03 1.03197E03 6.26194E03 5.29307E03 6.58989E03 1.59934E03 2.30219E03 1.04186E03 3.00736E02 1.71037E03 2.30676E02 1.68517E03 3.01015E03 7.01112E02 1.24272E02 2.72531E03 1.31314E04 5.87847E03 6.42843E01 1.03703E03 5.46546E03 9.48727E02 1.67455E03 1.71110E03 1.93613E03 2.27557E03 1.14166E04 4.41627E03 2.16331E03 3.70007E01 7.68724E03 6.56803E03 9.63361E02 2.01951E03 2.60796E03 1.92396E03 7.68690E02 2.17156E03 1.17764E-01 -Frame 257 3.59401E05 2.52167E05 2.66878E05 1.38841E06 6.19640E05 1.90001E06 5.30265E06 2.25080E06 1.73940E06 3.74663E06 1.52379E06 4.30348E06 1.53342E07 6.33090E06 1.35168E07 6.28736E07 3.12925E07 2.23257E06 1.01079E07 5.28667E06 4.73758E06 1.48278E07 8.55538E06 2.50178E06 5.99033E06 3.31763E06 1.71403E06 7.62631E06 4.76849E06 2.48417E06 6.09944E06 4.27664E06 4.56954E06 1.41759E07 7.41539E06 1.62752E07 3.62479E07 1.13512E07 1.80597E05 4.07990E06 1.93804E06 6.79611E05 3.67451E06 2.44964E06 3.32306E05 1.31427E06 7.52337E05 2.25903E05 1.19826E06 9.94179E05 1.75046E05 5.64793E05 4.05844E05 6.61044E04 9.80862E05 7.79725E05 8.36794E04 8.16686E05 1.14174E06 7.47550E04 6.90973E05 1.04860E06 2.39575E05 1.96049E06 7.67001E06 4.72452E06 9.47906E05 1.23729E06 7.08098E05 1.33866E06 2.23981E06 8.01901E05 2.32831E05 4.48497E04 2.16328E04 2.41045E05 5.58249E05 1.50089E05 4.38651E04 2.20470E05 1.01826E05 9.09185E04 3.73160E05 1.57828E05 6.02486E04 3.51759E05 5.20188E05 1.68619E05 5.41676E04 1.37221E04 1.27854E04 2.67821E04 2.77887E04 7.51799E03 2.29502E03 8.48575E03 2.58337E04 1.21688E04 4.43200E03 1.97756E04 1.65238E04 1.26682E04 3.26605E03 5.80609E03 8.53800E03 2.00568E04 1.74415E04 5.98579E03 2.64460E03 1.89723E04 2.21003E04 1.04345E04 5.14269E02 1.81691E04 3.02676E04 1.79456E04 1.60791E03 3.45517E02 6.15599E03 5.77819E03 3.76318E02 4.62017E03 5.36210E03 3.21660E03 8.22261E03 1.00483E03 2.42262E02 3.16301E02 6.59703E03 1.25426E04 1.25370E03 1.18964E04 1.50731E04 7.23926E04 1.03703E05 1.31618E04 3.35113E03 2.54905E03 1.94050E03 3.93541E03 9.99501E03 8.67107E03 6.10338E03 1.58121E03 1.10475E02 8.07036E02 1.29255E01 1.02209E03 1.71877E04 1.94127E04 2.00514E04 1.22771E04 2.70769E03 3.08299E03 3.70418E02 2.01094E03 2.65524E03 7.07701E02 4.86654E02 2.08988E04 5.26736E04 4.37874E04 1.48448E04 7.57032E02 2.31691E02 3.96698E03 9.14223E02 1.38060E03 1.32828E03 1.89071E03 8.11702E03 3.18770E03 1.21718E04 6.28108E04 1.70154E04 3.86184E03 4.03116E03 1.61501E04 1.36226E04 4.56084E03 5.45256E02 9.28923E01 5.79751E03 4.72353E02 6.83611E03 3.38103E02 8.23553E03 4.79824E03 1.17895E04 1.24560E04 1.49933E03 6.26648E03 3.69243E04 3.68070E04 1.78799E04 7.54268E03 9.44837E02 1.27811E04 1.36479E04 2.35248E03 1.61005E03 7.16899E03 1.65571E04 3.30004E04 1.26924E04 1.54951E04 1.13973E04 6.08259E02 2.81019E03 6.69281E03 2.28655E04 4.40083E04 3.13729E04 2.48813E04 1.84991E04 6.36432E03 3.32458E03 4.33858E02 3.15013E03 6.80103E02 2.71162E03 4.70417E03 5.82176E03 4.40619E03 3.52329E03 1.08003E03 3.06916E02 1.69812E02 8.38614E02 2.22053E03 6.36767E03 9.33660E03 8.46283E03 5.18372E03 6.59527E03 8.98662E03 4.85606E03 9.16079E02 6.37325E03 7.57147E03 6.19330E03 8.44178E02 2.41172E03 7.07455E03 6.34070E03 1.44335E03 1.34836E03 2.95243E03 7.47132E03 3.11417E02 3.57625E03 6.93596E03 6.87575E03 3.39425E03 7.29701E02 4.50198E02 2.31441E02 -Frame 257 7.64322E04 4.25323E04 5.00427E05 1.44670E06 8.57447E05 1.95395E06 5.37622E06 2.41168E06 1.34100E06 4.08470E06 1.71614E06 3.69236E06 1.61291E07 7.58439E06 1.18789E07 6.65506E07 3.66315E07 8.03177E05 1.15640E07 6.76941E06 4.39880E06 1.68956E07 1.12584E07 1.38121E06 6.27172E06 4.18893E06 1.87574E06 1.14412E07 8.28980E06 2.59639E06 9.16894E06 6.52273E06 4.55418E06 2.56036E07 1.16595E07 4.80733E06 2.74481E07 1.23456E07 3.94903E05 9.52539E05 1.29944E06 3.01942E05 1.79846E06 1.90734E06 7.14729E04 5.80041E05 7.10300E05 1.37333E05 8.50694E05 1.03353E06 1.69304E05 2.73536E05 3.45762E05 1.41980E04 3.64591E05 6.63833E05 2.14603E05 3.34298E05 5.53333E05 9.73437E04 7.57106E04 2.65474E05 3.78965E04 7.73065E05 1.88676E06 8.93528E05 2.15794E04 2.81430E05 5.06783E05 9.54536E04 3.23794E06 4.82097E06 2.29091E06 7.18168E05 1.27635E05 5.20201E05 1.45046E06 8.97160E05 5.32467E05 4.59116E05 1.46030E05 6.08472E04 2.11066E05 1.73477E05 1.19065E05 3.94568E05 4.32184E05 2.68496E05 2.22165E05 2.75984E05 2.85792E05 3.62671E05 3.77128E05 1.97855E05 1.24430E05 4.96248E04 1.86589E04 5.06070E04 2.40673E04 8.17369E03 7.75180E03 4.44306E03 7.28611E01 4.37388E02 1.09620E03 7.90171E02 5.16074E03 2.87190E03 5.73737E03 1.49924E04 1.48311E04 3.11590E04 7.43048E04 4.24762E04 1.18779E03 1.41463E04 1.60671E04 1.42739E04 1.54614E04 6.71598E03 4.09779E03 1.54608E03 2.88020E03 5.05112E03 1.02754E04 6.87784E03 3.87563E03 1.43129E04 1.30745E04 6.94907E03 2.09197E04 2.19687E04 2.54581E04 1.23355E05 2.21715E05 1.67783E05 6.92880E04 6.11470E02 3.37484E04 3.07579E04 2.86039E03 2.44260E03 6.00541E03 7.88984E03 4.55437E03 5.98749E02 1.58379E03 6.20518E03 1.51177E04 1.41658E04 1.06574E03 5.74818E03 2.04688E03 4.73276E03 5.28116E03 1.09186E03 3.98124E03 6.82419E03 5.38900E03 1.06436E04 2.49997E04 4.53974E04 2.97407E04 2.04646E04 1.75060E04 3.33511E03 1.83600E03 7.36693E03 9.91753E03 9.88654E03 1.08500E04 1.16189E04 4.61411E04 8.31129E04 4.49244E04 3.48460E04 1.36587E04 3.16212E02 3.94150E03 1.69379E03 7.60324E03 6.45511E03 5.86480E03 1.07291E04 1.57917E04 4.36068E03 2.55961E03 7.48903E03 1.09635E04 6.51896E03 1.22875E02 9.15003E03 1.43179E04 3.97191E03 2.23080E02 1.57154E03 1.47010E04 1.45817E04 7.39465E03 3.83383E04 6.06489E04 4.93660E04 4.87002E04 2.90619E04 1.22803E03 3.33912E04 2.36352E04 5.65612E03 3.13124E03 1.45654E04 9.56349E03 4.85898E03 3.57298E03 1.66399E03 4.61614E03 6.98089E03 5.61153E03 4.12299E03 2.39526E03 8.27865E02 3.39327E03 9.25857E03 8.68740E03 1.62690E03 1.83897E03 4.14778E03 2.83877E03 2.11574E03 2.28108E03 2.46617E03 1.01848E03 3.35476E03 3.98413E03 1.68326E03 1.81052E03 1.07565E03 4.12597E03 3.11192E02 2.00155E03 2.52928E03 5.51528E02 6.56109E03 7.09664E03 1.20288E03 1.84107E03 1.38288E03 1.64830E03 4.45932E03 4.48539E03 4.35016E03 4.60077E03 3.06722E03 2.37404E03 1.67965E03 8.31566E02 4.46229E02 8.13194E02 -Frame 257 2.14348E04 1.38923E05 8.15068E05 1.55176E06 7.00900E05 1.75780E06 5.08724E06 2.28274E06 1.33150E06 4.29049E06 1.65020E06 3.67067E06 1.65548E07 6.73504E06 1.34706E07 7.13590E07 3.54083E07 8.08377E04 1.08537E07 6.27861E06 3.83330E06 1.91203E07 1.10348E07 1.02419E06 7.65869E06 5.20446E06 8.30822E05 1.26434E07 9.57661E06 3.57626E06 1.65801E07 1.17421E07 4.08880E06 3.67879E07 2.25333E07 1.27736E06 8.08125E06 5.42189E06 2.55457E05 1.04918E06 8.66102E05 3.43225E04 7.45748E05 9.44614E05 2.23400E04 4.67324E05 5.93550E05 5.04896E04 4.05046E05 5.25633E05 1.79282E04 1.28219E05 1.64465E05 1.08132E04 1.28611E05 2.18253E05 7.87940E03 1.65745E05 2.13337E05 2.22475E04 8.76703E04 2.20329E05 3.47827E04 1.59899E05 3.76411E05 4.11275E04 1.34085E05 3.51369E05 1.94780E05 1.97694E05 1.36269E06 8.43170E05 1.14717E05 1.54000E06 1.29086E06 2.01093E05 3.32263E05 6.01365E05 1.60608E05 6.05877E05 2.63414E05 3.03689E04 3.99518E04 7.33193E04 1.67697E03 6.06470E04 3.31434E04 9.31572E03 1.14379E04 5.66027E04 6.92984E04 1.45348E05 1.53530E05 3.74769E04 8.34808E04 1.43834E05 4.88460E04 4.43501E03 5.07655E04 7.22812E04 1.39089E05 1.12494E05 5.31118E04 1.70267E04 6.72547E03 1.29195E04 1.89686E04 6.28942E03 4.24052E01 3.19564E03 1.08335E04 1.38578E04 7.86475E04 1.35521E05 4.85042E04 1.99882E04 2.55527E04 1.39178E03 3.80903E03 2.34819E02 1.18712E03 1.02084E03 1.50729E03 1.48566E03 3.75643E02 7.44142E03 8.62402E03 2.92746E04 5.78868E04 3.34130E04 1.92257E03 4.96399E03 1.03387E03 3.74141E04 7.59813E04 4.79969E04 2.46178E05 4.07380E05 3.30674E05 6.86820E04 8.53068E03 1.96175E04 2.74771E04 2.23513E04 1.58954E04 2.06704E03 1.08244E03 1.83775E02 1.05941E03 3.18260E03 9.26570E03 7.91781E03 4.65513E03 6.31855E03 4.55154E03 1.27272E03 1.06545E04 1.15226E04 3.16012E03 3.52588E03 1.70208E04 2.16302E04 1.78903E04 4.25959E04 4.12094E04 3.76354E04 3.71652E04 7.79995E03 4.02280E02 1.71052E02 3.23778E03 9.28541E03 4.94713E03 1.21626E04 2.19294E04 2.93293E04 4.47762E04 2.83624E04 2.48069E03 7.57355E03 1.56996E04 2.21375E03 9.66318E00 2.23000E03 7.31474E03 5.65338E03 4.48994E03 1.58886E03 1.69783E03 2.17363E03 1.52360E03 1.29817E03 5.10837E03 3.20211E03 7.09017E03 5.14223E03 2.25921E03 3.99711E03 3.09199E04 1.75829E04 9.65381E03 2.89000E04 1.25170E04 1.43558E04 3.18795E04 1.52526E04 2.92268E03 1.82520E03 4.71161E03 1.94501E04 1.77702E04 9.80268E03 3.59975E03 1.17679E03 8.60693E02 6.07907E03 1.50235E03 1.66810E02 2.15871E03 4.20252E03 2.92491E03 1.19982E03 6.60953E03 3.50381E03 3.77837E03 6.22076E03 1.53762E03 4.34113E02 1.93978E03 9.37498E01 4.02843E02 7.02051E02 3.88689E01 2.86179E01 1.63087E03 7.09793E03 7.52874E03 1.94402E03 1.17178E01 1.75221E03 2.58326E03 2.93545E02 1.38655E03 2.02970E03 1.30571E03 5.84324E02 2.30434E03 3.21826E03 9.50283E02 2.63531E03 4.36884E03 4.77915E03 1.50005E03 9.39213E01 2.42974E02 1.68754E03 4.26184E03 -Frame 257 1.91268E05 8.56379E04 2.44911E05 1.03022E06 4.38627E05 1.76380E06 4.65076E06 1.73720E06 1.19150E06 4.42966E06 1.09315E06 4.57529E06 1.60636E07 3.46258E06 2.06348E07 7.27988E07 2.31122E07 1.40839E06 1.08904E07 3.42235E06 4.60164E06 1.79751E07 6.14466E06 2.19715E06 1.09441E07 3.88271E06 2.28375E06 1.38841E07 5.87070E06 4.73141E06 2.13332E07 2.71748E06 2.20905E07 4.84154E07 1.24704E07 4.69764E05 3.30848E06 1.41307E06 7.14176E04 9.01030E05 3.57847E05 1.00322E05 5.86544E05 3.69076E05 2.71045E04 3.85010E05 1.68604E05 3.78991E04 3.98762E05 2.11289E05 1.95107E02 6.65127E04 2.90938E04 9.77676E03 1.27480E05 8.96796E04 7.75077E03 9.29918E04 5.12228E04 6.11016E03 7.56858E04 2.49897E04 2.28020E04 1.22505E05 9.34943E04 2.64537E03 1.00688E05 3.25927E04 3.27098E04 2.54117E05 2.49308E05 2.15290E03 3.57586E05 5.16590E05 3.29393E05 7.89789E05 9.78522E05 9.15753E04 5.85420E05 7.71884E05 4.81902E04 1.74209E05 1.23035E05 1.38401E04 6.50657E04 4.45113E04 1.02083E04 5.31851E04 1.89638E04 1.30088E04 3.49387E04 4.49592E04 1.29701E04 4.34919E04 5.20797E04 4.72422E03 5.98614E04 1.21211E05 2.44333E04 5.03286E04 2.14707E05 7.16268E04 2.68756E04 1.46330E05 1.04459E05 9.46082E04 1.29256E05 4.61142E04 3.51781E04 1.95268E04 9.10629E03 1.29311E04 1.36047E04 1.76511E04 6.65334E04 7.13505E04 1.07125E04 4.83882E03 3.19768E04 4.70432E04 2.57865E04 1.15102E03 1.93661E03 9.22125E02 3.98472E03 5.42363E03 7.51846E03 2.90204E04 9.04661E04 9.66490E04 7.21280E04 2.32323E04 7.05123E03 1.73227E04 1.76605E04 1.07021E05 3.45167E04 3.38291E04 4.36713E05 4.51529E05 1.31643E05 3.69015E04 2.00417E04 1.57774E04 4.98647E04 3.14466E04 5.82978E03 3.13333E03 2.20655E03 5.43548E03 7.50017E03 5.31136E02 5.59505E02 5.82164E03 1.66575E03 3.33509E03 1.55006E04 2.84475E04 2.12726E04 1.66354E04 1.78800E04 1.34942E04 1.33612E03 6.29074E03 3.69812E02 2.00134E03 2.30416E04 3.69843E04 1.20585E04 2.87664E03 6.46698E03 2.20562E04 2.07339E04 1.68343E04 3.80630E03 5.60019E03 6.65151E02 2.66577E04 3.57075E04 8.25793E03 6.48752E03 2.17064E04 1.03730E04 5.46391E03 8.27189E03 1.09059E04 1.22257E04 4.94431E03 8.50430E02 1.95685E03 2.05392E03 6.94344E03 2.58983E04 3.42682E04 1.32605E04 1.54858E03 3.92848E02 9.24666E03 2.57539E04 6.96433E03 5.34931E02 5.60821E03 7.70028E03 6.98089E02 7.75653E03 7.86117E03 6.43690E02 4.49320E02 4.30233E02 2.76638E03 8.71642E03 6.37446E02 5.18560E03 3.06109E03 2.79631E03 8.63647E03 6.46267E03 5.22639E03 3.15774E03 1.33845E03 3.56054E03 2.05247E03 1.42052E03 1.38812E04 1.33513E04 1.84374E03 6.23784E03 2.98602E03 8.80571E02 4.60039E03 2.49430E03 3.00739E03 2.75449E03 1.52711E03 2.08207E03 5.94428E03 5.87369E02 2.82815E03 1.14447E03 2.39680E03 3.61013E03 5.73794E02 3.80166E02 9.50894E02 1.48250E02 1.11764E03 1.77970E03 6.68403E03 5.00436E03 6.91741E02 6.21851E03 2.71444E03 2.25878E03 2.67414E03 2.19670E03 2.63306E03 3.70134E03 -Frame 257 1.64321E05 7.91483E04 2.92327E05 9.29130E05 3.66790E05 1.55094E06 4.54367E06 1.28952E06 1.28979E06 4.58970E06 9.95368E05 4.37511E06 1.61615E07 2.70602E06 2.40592E07 7.39734E07 2.25799E07 1.16247E06 8.65285E06 2.52317E06 4.02351E06 1.63253E07 4.74395E06 2.34065E06 1.26705E07 4.01732E06 2.59433E06 1.28734E07 3.24013E06 1.08274E07 3.18343E07 1.24348E07 2.06086E07 3.03604E07 6.38592E06 2.91078E05 2.17623E06 9.66346E05 9.54361E03 3.25904E05 1.17534E05 8.57474E04 5.02427E05 1.86693E05 6.32171E04 2.80220E05 1.56164E05 2.15258E04 1.47882E05 4.54901E04 1.04733E04 1.04447E05 4.87459E04 1.74419E04 6.61840E04 3.78196E04 2.84886E04 9.25717E04 1.63116E04 1.87452E04 6.37772E04 2.42302E04 7.52578E03 2.70131E04 2.37435E03 3.63777E04 1.32498E05 6.21244E04 7.51668E03 6.09900E04 4.69890E03 1.57177E05 2.85669E05 9.45112E04 1.13705E05 5.21160E05 3.63202E05 3.62441E05 1.90156E06 1.31928E06 3.67597E04 5.86519E05 3.84179E05 4.89343E03 5.24685E04 1.36713E04 5.14602E04 1.50247E05 7.55394E04 1.66640E03 3.39599E04 1.44807E04 2.21895E04 7.63536E04 2.89150E04 1.19068E04 8.66764E04 4.52993E04 1.65916E04 9.39563E04 5.93489E04 3.89591E03 1.24065E05 1.18303E05 1.42912E04 2.95118E05 4.48106E05 3.14928E04 2.35569E05 3.06212E05 9.98003E04 5.51266E04 1.62521E04 9.56408E03 1.72975E04 1.40583E03 9.92877E03 1.75966E04 8.20546E03 2.93563E04 4.34725E04 3.26349E04 1.84955E04 8.32400E03 6.15488E03 1.13555E04 2.60171E04 3.46135E04 1.72712E04 1.50172E04 2.61814E04 1.18627E03 1.06472E04 9.83970E03 3.26868E04 1.06992E05 1.34004E05 1.61222E05 6.98213E05 8.43891E05 2.23880E05 3.84168E04 2.13836E04 4.70451E04 1.68271E05 1.24610E05 2.72928E04 1.33690E04 6.44320E03 4.55935E03 3.23970E03 4.58811E02 4.29826E02 4.32475E03 1.03506E04 5.93246E03 2.81908E02 4.60009E03 9.96635E03 4.94886E03 2.39569E03 7.22533E03 1.71789E04 8.36967E03 1.89828E03 7.41524E02 5.50104E03 6.84361E03 9.56207E03 5.67097E03 2.20081E03 1.36873E04 3.41438E03 4.74932E03 8.77296E03 6.79999E02 3.26067E04 8.40780E04 2.98116E04 3.77339E04 7.44221E04 4.97115E04 6.79589E03 9.46184E02 5.11170E03 1.09601E04 9.22019E03 1.07892E04 2.25328E04 2.07249E04 7.84843E03 1.30796E04 1.61711E04 2.08942E03 5.08000E03 1.05150E04 2.61451E03 6.88281E03 1.93648E04 1.90675E04 6.95822E03 8.36754E03 9.10773E03 6.77716E03 2.50132E03 3.90414E03 1.58938E03 9.84990E02 3.46876E03 2.73943E03 1.50650E03 3.96508E03 2.18595E03 1.84429E03 8.16673E02 2.94479E03 8.54986E03 1.62386E03 1.80620E03 8.02907E03 9.32945E03 9.41301E03 2.30178E04 1.93861E04 5.36520E01 1.94901E04 9.66164E03 3.83560E03 2.70216E04 3.39704E04 6.68118E03 4.56594E03 2.76215E03 2.28807E03 1.59977E04 1.43379E04 2.55436E03 5.52519E03 5.98335E03 1.32756E03 2.13475E03 3.15518E03 8.99692E02 2.73243E01 1.03349E02 1.42971E03 4.05343E03 4.92805E03 3.61679E03 1.13050E04 1.13681E04 9.11155E02 1.12697E04 1.46626E04 6.17892E03 2.87323E03 2.48950E03 -Frame 257 1.60608E04 1.26654E05 6.03316E05 1.00569E06 2.16119E05 1.71764E06 3.84789E06 4.19236E05 1.79437E06 3.68696E06 2.24768E04 8.14690E06 1.13304E07 1.78952E06 4.42707E07 5.74488E07 6.94256E06 7.98905E06 6.13567E06 3.49939E04 9.66217E06 9.69708E06 1.35670E05 7.55272E06 5.37583E06 1.62820E06 1.34841E07 6.15413E06 4.50325E06 3.04228E07 1.64630E07 1.14810E07 1.58535E07 5.73792E06 5.31781E05 2.25314E06 8.25357E05 6.96269E04 2.22317E05 3.10215E04 1.15881E05 2.11017E05 5.44518E04 1.56162E05 2.30250E05 3.00558E04 5.78054E04 6.00462E04 1.93666E03 6.06516E04 7.81818E04 5.04418E03 5.46561E04 3.74030E04 9.78555E03 8.14871E04 6.86126E04 1.41923E04 1.79629E04 1.66377E04 8.19431E03 4.19152E04 3.84975E04 4.55387E03 9.77964E03 8.83824E02 3.36496E04 1.02696E05 4.84220E04 8.68206E03 4.33538E04 4.08256E04 6.73564E04 2.45486E05 1.03989E05 1.10515E05 3.93796E05 3.75520E05 9.70726E05 2.13341E06 7.56068E05 2.95524E05 5.65020E05 1.34158E05 2.51611E04 5.50073E04 1.14773E04 5.85047E04 6.46144E04 8.60494E02 2.39406E04 3.93109E04 4.70042E03 1.83235E04 2.68680E04 1.95697E03 3.94354E04 4.58522E04 1.15013E04 1.07794E04 3.89895E03 2.70672E04 1.15935E05 8.71133E04 2.55275E03 8.58755E04 1.77072E05 8.02548E05 1.50974E06 9.27142E05 6.77862E04 7.29891E04 2.00779E04 1.64387E04 1.64458E04 1.62244E03 2.38674E03 2.86886E03 7.10642E02 6.99850E03 2.87034E03 3.12172E03 7.18407E03 1.62063E03 3.33528E03 1.97041E03 7.88039E03 6.93298E02 1.22157E04 2.25877E04 2.81729E03 3.15652E03 1.67382E04 1.58540E04 2.56973E04 1.65319E04 3.26890E04 1.89812E05 1.76979E05 1.48543E05 4.01263E04 4.08801E04 3.06975E04 1.20770E05 1.07442E05 1.48087E04 3.11705E04 3.45115E04 1.78768E04 6.62087E03 6.17317E03 1.34142E04 1.90596E04 1.59333E04 4.52615E03 6.91227E02 3.69267E03 1.57169E03 3.57099E03 4.12402E03 8.02345E03 1.08782E04 2.33388E03 3.82627E03 2.33026E03 2.54753E02 2.10596E03 2.60841E03 6.77606E02 3.82769E03 1.58683E04 8.48028E03 2.99579E03 9.63299E03 2.73925E03 5.14949E04 8.25222E04 5.31900E04 4.13268E04 2.40311E04 7.79128E04 4.55839E04 1.49419E04 7.16133E03 8.34545E02 1.40480E03 6.51723E02 9.48671E03 3.65383E04 2.47286E04 3.45673E02 6.56821E02 3.53124E03 3.85755E03 5.42580E02 1.43782E04 3.00430E04 2.21630E04 4.24311E03 3.18895E03 1.70341E04 1.91723E04 8.31611E03 7.13149E03 1.24554E04 1.53704E04 7.77308E03 7.68252E02 9.26658E02 7.09191E02 4.10750E00 1.87894E03 1.19924E03 3.05074E03 7.71208E03 1.14594E04 1.63009E04 2.60687E03 5.31251E03 1.48507E04 1.00613E04 1.44451E04 1.17138E04 4.06842E03 4.24883E04 5.29692E04 1.77792E04 9.64137E03 5.33903E03 1.41999E04 3.73535E04 2.63455E04 9.07502E03 4.04788E03 2.12641E03 7.95529E03 4.15468E03 1.25027E03 2.93826E03 3.56703E03 5.30128E02 2.51689E01 8.45828E02 1.91090E03 4.56598E03 8.94864E03 1.88547E03 9.79276E02 3.27684E03 5.47263E03 8.20636E03 1.26580E04 4.01464E03 3.11858E03 1.76288E03 3.63431E03 1.17337E04 -Frame 257 1.45502E05 6.09256E04 3.50118E05 7.92976E05 1.04378E05 1.49128E06 3.55446E06 2.63970E05 2.10717E06 3.10254E06 4.40848E05 9.43567E06 1.00178E07 5.76579E06 4.84613E07 4.37496E07 5.60460E06 6.85046E06 4.67365E06 6.69804E05 9.83644E06 5.53120E06 1.12954E06 7.39565E06 2.63836E06 5.29057E06 1.64043E07 2.75569E06 2.36504E07 3.32012E07 6.85723E06 3.18241E06 6.37125E06 1.93909E06 3.78570E05 5.65715E05 8.37319E04 1.87076E05 1.23427E05 2.35272E04 1.10818E05 1.61722E05 1.62028E04 2.37837E04 8.51319E04 2.21930E04 4.35095E04 2.25176E04 1.44652E04 6.52377E04 4.67246E04 1.05653E04 3.41241E04 1.11372E04 2.58097E04 7.25617E04 1.58725E04 5.02946E03 8.16251E03 4.13816E03 9.66425E03 1.47266E04 3.46537E01 1.37208E04 1.44653E04 7.28792E03 1.43939E04 1.44674E04 4.41716E03 2.69688E04 2.59252E04 2.21259E03 2.62726E04 3.61474E04 2.67436E04 8.36009E04 3.93601E04 6.89399E04 4.70282E05 7.71981E05 6.06365E05 5.89461E05 2.18031E05 2.18221E04 1.36531E05 5.23138E04 6.43746E03 3.55826E04 1.03895E04 1.34382E04 4.21714E04 4.67896E03 7.10494E03 1.08764E04 2.85544E03 2.15196E04 1.16506E04 2.00312E03 2.45674E04 1.79541E04 4.06415E03 2.93061E04 1.84043E04 1.91122E04 9.36555E04 4.49027E04 2.06063E04 3.61320E05 5.12430E05 3.10515E05 3.88896E05 1.30683E05 3.06847E04 3.45899E04 1.70437E04 3.49574E02 4.21534E03 5.00304E03 5.57803E03 1.76118E03 1.46657E03 8.76089E03 6.68814E03 7.54197E02 1.48820E03 6.89755E03 1.10826E04 6.36719E03 3.18776E01 6.06668E03 7.75373E03 1.32558E03 1.46408E04 1.84508E04 7.16591E03 3.24587E04 4.12687E04 5.81669E03 1.83590E04 5.73227E04 8.03598E04 4.19003E04 2.55778E04 9.04709E03 1.32229E04 7.59095E03 1.81632E03 5.90414E03 7.83168E03 1.74636E04 5.06603E03 6.45402E03 8.13050E02 2.81554E03 1.25898E03 4.29056E03 2.12941E03 5.34263E03 1.03768E03 1.13809E03 3.58053E03 8.73742E03 4.36713E03 7.40580E01 1.48175E03 1.11043E03 5.40725E03 3.77125E03 3.70592E02 3.64120E03 1.78943E04 1.53124E04 3.74158E03 1.55840E04 2.34072E04 5.46228E04 9.95441E04 5.60020E04 2.55632E04 8.23328E03 1.33486E04 1.87044E03 7.36495E02 1.06147E03 6.46526E03 1.44682E04 1.96976E04 5.31919E03 1.57945E04 4.30840E03 6.65536E03 2.97000E04 2.49141E04 7.30173E03 1.25402E03 1.14325E04 2.81024E04 3.54229E04 7.59464E03 6.37912E03 5.88452E03 6.53834E03 2.15328E03 4.11387E03 8.58200E02 1.18500E04 6.03923E03 3.43831E02 5.26204E02 2.15049E02 3.42423E03 2.93439E03 1.64925E03 4.64223E03 2.33452E03 2.17835E03 2.15513E03 1.18131E04 9.93156E03 6.03616E02 1.23523E04 1.16892E04 4.82111E03 1.96306E04 2.14522E04 6.23912E03 1.33580E04 2.39090E03 1.42681E03 1.61066E04 1.08656E04 1.84047E02 2.12137E03 3.84735E03 2.30952E03 4.36794E02 8.54211E02 3.10201E02 5.54954E03 6.57832E03 8.81401E02 9.38040E02 1.03715E03 5.28195E02 1.75386E03 6.00621E03 3.20852E03 1.05084E03 3.29095E02 1.85692E03 1.74085E03 1.13415E03 1.20377E03 9.25718E02 3.27765E02 2.26788E03 3.17087E03 -Frame 257 6.37037E04 9.08384E04 2.95497E05 7.75485E05 3.41256E04 1.70050E06 3.22694E06 3.65227E05 2.08230E06 2.65442E06 1.52692E06 1.07385E07 9.99697E06 1.09652E07 4.45509E07 3.21118E07 5.33583E06 6.52233E06 3.91077E06 2.09818E06 8.50127E06 4.41439E06 3.86404E06 6.85305E06 1.36039E06 1.55881E07 2.89184E07 2.39326E07 3.97973E07 2.74032E07 4.07128E06 1.66230E06 1.72178E06 5.65599E05 4.41621E05 3.24968E05 3.84560E04 9.09896E04 2.28246E04 2.09734E04 1.48943E05 8.61781E04 6.67468E04 8.46557E04 1.35679E04 2.85283E04 6.73814E04 3.29269E04 4.37121E03 2.65096E04 1.16334E04 1.85969E04 1.27822E04 8.99536E03 2.01184E04 2.08061E04 1.74735E03 8.71538E03 8.55250E02 4.11154E03 1.81096E04 8.37854E03 3.55670E03 1.69251E04 3.35076E03 6.70245E03 8.66289E03 6.48637E02 1.82663E04 2.56972E04 3.71941E03 9.06104E03 1.19040E04 7.87873E03 3.35705E04 3.94316E04 1.75992E04 1.03191E05 1.80012E05 1.14546E05 1.76730E05 4.81808E05 3.79680E05 2.29614E05 9.27332E04 6.52569E04 1.19532E05 4.52647E04 1.92109E03 4.17751E04 2.62862E04 1.72751E04 2.74613E04 7.33783E03 3.83793E03 2.67771E04 8.10750E03 1.06404E04 2.22477E04 2.08023E03 3.40887E04 4.20408E04 3.38997E04 6.78428E04 2.72205E04 4.00454E04 1.90637E05 2.72482E05 3.17362E05 3.28657E05 1.52424E05 1.07522E05 9.33522E04 5.55009E04 1.46131E04 1.26168E04 7.18719E02 2.19751E03 6.84882E02 6.29251E03 3.55585E03 7.03443E02 1.65007E02 3.56031E03 6.19973E03 9.15577E03 9.64704E03 3.88646E03 9.63167E03 1.27903E04 1.18908E04 3.72087E04 6.76941E03 2.56650E04 2.94837E04 5.28228E03 1.58213E04 9.79591E04 1.04191E05 5.94003E04 4.31444E04 8.58685E03 2.61564E03 3.18624E03 1.33865E03 1.12891E03 1.01848E03 1.02775E04 3.92025E04 2.51736E04 3.36781E03 8.59847E03 5.51014E03 2.45373E03 3.15904E03 4.24263E03 9.92273E03 1.72287E04 7.44841E03 5.25226E02 2.53831E03 1.27896E04 1.62198E04 5.96772E03 4.44069E03 2.08478E03 4.50753E02 7.09661E03 9.09018E03 2.88397E04 1.93387E04 7.10419E03 2.58811E04 3.47805E04 3.22247E04 7.09393E04 7.79926E04 7.04256E04 7.03011E04 2.34462E04 3.46246E03 1.51078E03 8.70579E02 5.78610E01 3.15878E03 2.74491E03 1.66021E04 1.94674E04 1.48376E04 1.48055E04 5.20701E03 1.77450E04 3.59118E04 4.44710E03 3.67568E03 4.36876E03 4.99671E03 2.45109E04 3.50271E04 1.76822E04 2.61237E04 2.71641E04 1.57778E04 1.06681E04 1.93681E03 1.51794E04 2.35749E04 1.19946E04 3.88148E03 4.77343E03 3.41436E03 1.38209E03 9.14701E03 6.04499E03 2.98061E03 4.03833E02 3.13621E03 1.57936E04 1.31225E04 2.13638E03 1.16770E04 8.66873E03 1.67252E04 4.01958E04 2.60903E04 3.43487E02 1.23427E04 2.06126E04 8.99138E03 1.49189E04 4.77302E03 6.99470E03 2.50839E04 2.19263E04 3.18916E03 9.24352E02 2.87023E03 5.36460E03 8.58235E03 4.22710E03 1.16821E03 1.01778E03 2.64162E03 3.24676E03 1.33957E03 4.56549E02 7.04650E02 6.92285E02 3.23408E03 6.34086E03 3.94544E03 4.70984E02 6.46576E02 1.42739E03 5.28618E02 1.47782E03 5.46912E01 -Frame 257 1.74168E04 1.06973E04 5.78030E05 9.56833E05 8.48346E04 1.97271E06 2.93362E06 6.13001E05 1.90965E06 2.73407E06 2.29036E06 1.16057E07 1.11126E07 1.24187E07 3.97905E07 2.51719E07 4.57554E06 5.97431E06 3.65438E06 2.28703E06 7.86620E06 3.97539E06 4.17038E06 9.46668E06 8.76502E06 3.18517E07 4.07120E07 1.54932E07 1.68069E07 1.02139E07 9.08871E05 6.95265E05 5.72720E05 5.65505E04 1.92635E05 3.25907E05 5.04307E04 1.11474E05 9.69351E04 2.39855E04 8.18795E04 5.80909E04 7.34493E03 3.12165E04 3.53281E04 6.77089E03 8.92415E04 4.04912E04 9.37959E03 1.44190E04 1.00694E04 1.62758E03 1.80271E04 6.93221E03 2.87651E03 2.61290E04 1.14671E04 9.09874E03 2.28383E04 1.10853E04 5.05254E03 1.60758E04 4.99919E03 1.75836E04 3.39650E04 1.59882E04 1.98064E04 2.31508E04 8.63949E03 1.17196E04 1.04717E04 1.02782E04 8.47639E03 7.07155E03 2.24349E04 1.28837E04 1.98752E04 5.46957E04 3.62871E04 4.71127E04 2.93445E05 2.94855E05 5.18068E04 7.48940E04 1.48660E05 8.50992E04 2.04487E05 9.98528E04 3.63552E04 9.40772E04 5.57442E04 7.34284E03 2.20653E04 8.31089E03 3.91434E04 7.95286E04 5.06525E04 2.57664E04 4.15454E04 2.60369E04 3.37550E04 5.56721E04 1.62553E04 2.44405E04 7.54995E04 1.00791E05 2.79959E05 2.12610E05 1.72936E05 3.80184E05 2.27282E05 8.94751E04 1.61827E05 7.56958E04 2.36207E04 4.53701E04 1.67568E04 7.26336E03 1.12540E03 6.39201E02 2.08739E03 6.38958E03 2.00014E03 4.51931E03 2.45175E03 1.76443E03 9.94143E02 8.05335E03 1.66142E04 2.36376E04 2.54967E04 8.46114E04 1.37004E05 5.59897E04 2.07545E04 2.38596E04 4.58226E04 3.77373E04 4.60899E04 1.54742E04 3.82891E03 2.07585E03 3.97617E03 1.30474E03 5.51903E03 1.65735E03 7.63952E03 1.40749E04 4.21801E04 2.50927E04 3.90600E02 3.86496E03 4.87251E03 4.15524E02 1.37419E03 6.08503E03 4.44510E03 1.43007E04 6.94644E03 9.93273E02 4.76719E03 9.25906E03 2.42048E03 5.07898E02 3.65322E02 6.36998E03 9.28640E03 3.14143E04 3.68094E04 3.44535E04 3.83299E04 4.78053E04 5.70429E04 2.26350E04 2.47752E04 4.29844E04 1.56929E04 2.49681E03 3.07282E04 2.64858E04 3.08706E03 9.26798E03 8.49566E03 9.59712E02 1.96224E03 6.17562E03 1.15602E04 1.55176E04 2.59561E03 2.81690E03 2.02067E04 1.89070E04 8.21191E03 1.02304E04 1.00568E04 5.49225E02 2.56732E03 5.11265E02 5.06506E03 1.31148E04 5.35068E03 2.76371E03 3.11880E02 8.86616E02 2.09388E04 2.39934E04 2.15678E03 9.25646E03 7.25289E03 6.91395E03 1.26113E04 1.31659E02 4.02792E03 1.15631E04 8.36032E03 1.06881E04 6.15173E03 1.01876E03 1.10275E04 1.10822E04 1.68557E03 4.23906E03 1.41770E04 2.63368E04 5.41943E04 3.33302E04 1.57398E04 2.71598E04 1.12060E04 1.35254E04 3.20739E04 1.33397E04 9.88882E03 1.41893E04 4.43002E03 1.36888E03 2.64658E02 2.69088E03 1.09406E03 2.19955E02 1.40040E03 4.13169E01 2.64287E02 2.83489E03 1.63657E03 6.82731E02 4.27754E02 5.65553E03 2.75462E03 3.42927E03 3.76530E03 2.65667E03 1.56595E03 2.98995E03 2.56485E02 8.11567E02 1.04460E04 -Frame 257 7.46373E04 9.41031E04 4.19180E05 8.19629E05 2.53920E05 1.80542E06 3.09289E06 9.77542E05 2.05192E06 2.48986E06 3.12544E06 1.14580E07 1.10178E07 1.11779E07 3.33034E07 2.18100E07 4.64337E06 5.69101E06 2.95387E06 3.68445E06 7.82653E06 3.86363E06 6.27314E06 1.14109E07 1.51407E07 4.92072E07 4.92172E07 5.88703E06 1.32012E06 2.59862E06 8.09836E05 6.72180E05 4.85419E05 1.18526E05 1.76864E05 1.51686E05 4.97430E04 3.30439E04 1.41745E04 4.63933E03 4.14844E04 2.40077E04 2.84510E04 5.66343E04 3.93386E04 4.53390E04 2.89717E04 8.31099E03 6.22874E03 1.21773E04 8.77089E03 1.06311E04 7.36013E03 4.10404E02 4.23953E03 4.34491E03 4.18063E03 1.62230E04 1.43018E04 1.47082E04 1.12465E04 4.81754E03 9.91254E03 1.78534E04 1.63721E04 1.46431E04 1.85856E04 7.94618E03 7.81345E03 1.14170E04 3.08038E04 3.89959E04 1.86541E04 1.72591E04 1.95062E04 2.04781E04 2.13240E04 4.58311E04 5.67229E04 1.06604E05 3.05978E05 2.67661E05 2.29597E05 4.62815E05 3.51514E05 2.02515E05 1.93481E05 8.19581E04 1.44554E05 1.26988E05 4.89343E04 2.82993E04 1.81629E04 2.20532E04 4.78134E04 3.67204E04 2.50777E04 2.80754E04 2.95302E04 2.81266E04 3.13001E04 2.60753E04 5.65460E04 3.83755E04 5.95217E04 1.40132E05 2.86365E05 2.90371E05 1.04430E05 2.48103E05 1.92700E05 8.93671E04 6.46287E04 2.91138E04 1.26935E04 1.45457E04 1.81352E04 9.75589E03 3.68186E03 2.80584E03 9.17948E02 3.43901E03 9.42931E02 9.50318E02 1.00279E03 3.80018E00 2.56946E03 4.06692E03 7.77034E03 1.16096E04 1.05908E02 3.55598E04 9.89368E04 6.63431E04 5.27607E04 5.55723E04 3.55910E04 2.13737E04 1.80365E04 2.19319E04 1.30957E04 3.95526E03 5.64351E02 1.61393E03 4.70324E03 8.71910E03 3.99655E03 4.38451E03 6.49990E03 2.33054E04 1.13381E04 5.49620E03 6.33632E02 7.27651E03 1.18075E04 6.75952E03 3.85871E03 1.01379E04 6.22927E03 2.07821E01 5.62372E03 1.62809E03 7.87160E03 6.02784E03 1.36424E03 1.57019E03 2.39552E03 6.12059E02 5.09255E03 5.68693E03 1.77657E04 3.65495E04 5.56002E04 1.70977E04 1.07196E03 6.71516E03 5.50917E03 1.96542E04 2.06935E04 8.93385E03 1.65248E04 3.25391E04 2.38122E04 5.86996E03 2.20985E03 2.63029E03 7.21100E03 3.77813E03 4.29658E03 4.27056E03 1.83509E03 3.96421E03 6.59533E03 7.80974E03 2.48391E03 1.68917E03 6.81611E03 7.51115E03 4.59966E03 6.46797E03 6.63104E03 2.90484E03 3.62715E03 7.40414E03 1.06151E04 1.25581E04 5.65557E03 4.79359E03 2.81572E03 2.30299E03 1.04291E04 5.70926E03 3.44724E02 3.17068E03 1.45497E03 6.06846E03 2.56730E03 2.12841E03 5.76810E03 5.20756E03 5.43090E03 1.11084E04 1.05434E04 1.11973E04 1.04475E04 1.64572E04 1.97505E04 2.43518E04 1.02679E04 1.07843E04 1.23929E04 1.34214E04 6.88146E03 1.09318E03 1.29576E03 2.29573E03 4.66533E02 6.95060E02 5.01828E02 3.90505E02 1.32169E03 2.45607E03 3.73559E03 1.72767E03 7.74962E02 2.68687E03 1.26245E03 6.32221E01 5.07746E03 1.42150E04 1.30300E04 9.61754E03 9.39539E03 9.23749E03 1.07792E04 1.76154E04 2.39142E04 -Frame 257 5.46607E04 7.42847E04 2.02936E05 6.63659E05 4.90939E05 1.94903E06 2.86507E06 1.09791E06 2.13689E06 2.02500E06 3.22828E06 1.21692E07 8.76625E06 9.16894E06 2.66691E07 1.23197E07 2.75491E06 4.08895E06 2.50506E06 4.02848E06 6.62442E06 5.13060E06 1.07246E07 1.14674E07 1.27025E07 4.53641E07 2.34545E07 9.09132E05 5.91297E05 7.28901E05 1.64933E05 3.26301E05 2.11435E05 1.41034E05 1.06596E05 3.30877E04 1.11398E04 1.38095E04 5.35062E04 5.80448E04 2.84201E04 1.55904E04 1.92186E04 3.63620E04 8.52838E03 2.38140E04 3.38406E04 1.69839E04 8.12689E03 3.55199E03 1.36338E03 3.41458E03 2.21122E03 4.10302E02 8.37162E02 1.57650E03 3.34151E03 1.87258E03 3.31808E03 3.34715E03 1.24684E04 6.35089E03 5.31044E03 3.21509E03 8.39204E03 2.52130E04 1.25614E04 1.23970E03 4.51555E02 9.22480E02 6.33244E03 1.63448E04 1.07146E04 9.64902E03 1.44303E04 5.72586E03 7.99558E03 1.32665E04 7.88869E03 4.48951E04 9.55214E04 6.33744E04 2.26708E05 4.66496E05 1.22833E05 5.26723E04 1.04759E05 7.81073E04 1.03281E05 5.83572E04 2.24309E04 3.18571E04 3.51428E04 4.24087E04 4.03054E04 3.17366E04 3.32079E04 2.68065E04 1.34615E04 1.51416E04 2.80940E04 4.69289E04 8.39784E04 9.91699E04 1.18398E05 2.33869E05 1.94721E05 2.71020E05 4.78922E05 1.41181E05 2.78338E04 6.37742E04 4.41740E04 1.89629E04 1.98472E04 1.06084E04 1.00181E04 2.97800E03 1.01554E03 1.06236E03 8.75038E01 2.39668E03 1.48108E03 1.08745E03 1.76141E02 1.52203E03 1.57097E03 7.34550E02 5.64935E03 2.04495E04 2.11855E04 2.50656E04 4.88680E04 2.47851E04 3.91544E04 1.54520E04 2.86012E04 3.04438E04 1.02684E04 2.29286E03 2.95194E03 2.21786E03 2.23569E03 1.03526E03 1.55035E03 2.23691E03 1.29336E04 3.33965E04 4.82676E04 1.42927E04 2.43612E03 3.06673E03 5.79898E02 5.30842E03 2.06301E03 2.07156E02 3.01281E03 1.83127E03 1.83149E03 1.29800E04 1.89062E04 1.02435E04 9.82427E03 9.11705E03 3.66394E03 1.71326E02 6.22598E02 1.17536E03 8.64731E03 7.68831E03 2.98990E04 4.52171E04 7.98633E03 5.64822E02 3.30447E03 1.11507E04 1.48467E04 8.58492E03 3.96147E03 6.76369E03 2.82626E03 7.91950E03 1.16980E04 2.94372E03 2.41239E03 7.04129E03 9.19750E03 3.21816E03 3.56081E03 5.28519E03 2.18602E03 1.17316E00 5.28320E02 8.36810E02 1.04775E03 2.77246E03 1.08854E00 1.12022E03 1.05229E03 2.46475E03 2.60312E03 1.72289E03 1.08567E04 6.57358E03 2.50688E03 5.36965E03 2.99318E03 1.63586E03 8.98871E02 3.63749E03 9.28724E02 1.03152E03 1.70383E03 3.29054E03 6.26093E03 6.48920E03 2.70723E03 1.55837E02 3.73983E02 3.66780E02 3.87381E00 8.91289E02 8.38276E03 8.69982E03 2.37474E03 3.45918E03 4.98783E03 3.91455E02 3.95814E03 1.49738E04 1.19599E04 1.20067E04 1.00981E04 6.34672E03 1.11817E03 1.83787E03 2.31641E03 2.52620E03 2.95760E03 1.67677E03 2.72406E02 8.25490E02 2.87018E02 3.08140E03 6.36850E03 2.96614E03 1.06121E03 9.96174E02 2.55262E03 2.17384E03 7.13883E02 2.61819E03 1.59576E02 2.23475E02 8.42980E02 4.16621E03 2.89239E00 -Frame 257 5.36324E04 9.07877E04 5.23421E05 7.23006E05 4.66951E05 1.74240E06 2.03418E06 9.25433E05 1.66129E06 1.49780E06 3.12539E06 1.13965E07 4.34711E06 7.27001E06 1.87493E07 5.99766E06 1.67172E06 2.96131E06 1.48881E06 3.40408E06 4.32967E06 3.83546E06 1.31376E07 3.33060E06 7.46026E06 2.21494E07 6.90913E06 9.53134E04 2.44244E05 1.16600E05 1.01065E04 7.30857E04 3.74856E04 2.90962E04 3.37535E04 1.94373E04 1.47152E04 1.79462E03 1.14057E04 2.06490E04 4.34633E03 3.31659E03 3.25614E02 1.97422E03 9.85341E02 1.38209E04 1.40696E04 1.46174E03 2.66924E02 9.01927E02 8.29332E02 2.75855E03 2.55760E03 1.04943E03 4.22824E03 2.70107E03 8.79740E03 1.10208E04 1.55241E04 1.46464E04 1.77225E03 2.03947E01 2.05019E03 3.45016E03 3.13333E03 3.78363E03 4.59865E03 5.33105E02 1.54080E03 4.53585E03 1.08324E04 4.72662E03 3.18965E03 9.95577E03 5.83289E03 3.12976E03 1.24500E04 1.07822E04 2.36872E04 1.90420E04 2.83897E03 4.18667E04 4.63945E04 2.87976E04 2.76400E05 2.00009E05 5.05225E04 7.66581E04 2.48608E04 1.10555E04 1.22621E04 2.40672E03 1.40311E04 1.65813E04 1.05974E02 2.03561E03 7.74683E03 2.32481E03 1.23177E04 7.12438E03 1.00206E04 2.58630E04 4.27720E03 5.36856E04 8.83173E04 3.73454E04 3.22851E05 3.20800E05 2.86656E04 6.01361E04 2.41973E04 2.92856E03 1.64021E04 1.31313E04 5.27867E02 4.27393E03 4.39151E03 5.30020E02 8.38054E03 9.20208E03 5.04968E03 1.29533E03 5.92451E02 9.16827E02 3.11237E02 2.59439E03 6.64394E03 8.56203E03 8.44978E03 1.23781E04 1.59148E04 3.30959E04 3.69869E04 1.00677E04 1.57155E04 2.48204E03 4.22007E03 1.52362E04 5.65864E03 4.93689E03 1.04136E04 1.24207E04 5.02914E03 6.67050E03 7.76928E03 4.24186E03 1.18515E03 5.70006E03 2.51230E04 1.58869E04 6.49142E02 5.76935E02 7.36950E03 1.37693E04 6.87280E03 5.26367E03 2.01325E03 1.86368E03 1.62206E03 1.76707E03 1.11264E04 5.00952E03 3.83127E02 1.52211E03 5.97278E02 1.04380E03 3.66789E03 6.06875E03 1.01818E04 2.05252E04 2.36995E04 9.63694E03 3.37662E03 1.22513E03 2.26131E03 1.14371E03 5.95358E03 5.99004E03 3.82677E03 4.24881E03 6.37453E03 4.76436E03 6.74044E01 5.00257E03 1.00823E04 4.53770E03 2.10325E03 7.58941E03 7.66989E03 9.81595E03 2.76514E03 8.36258E01 7.84260E01 9.51676E01 1.12070E02 3.07275E02 4.05905E03 9.07273E03 1.09080E04 9.65631E03 1.81350E03 6.38129E03 1.34964E04 5.46859E03 4.05537E03 7.93558E03 5.55739E03 3.24619E03 5.97126E03 9.25069E03 9.19695E03 7.31333E03 3.75374E03 3.33401E03 6.11411E02 2.39570E03 6.88624E03 6.13828E03 3.99921E03 3.60994E03 1.71817E03 6.92352E02 7.09377E02 5.92928E03 6.87044E03 3.78015E03 2.02502E02 6.21472E02 1.23213E03 1.43741E04 1.65814E04 1.64273E03 3.75448E02 3.59500E02 2.15427E03 2.60849E03 8.27082E02 1.17228E03 1.34969E03 5.29499E02 1.44156E02 1.43232E03 3.39738E03 2.19499E03 3.21074E02 1.04298E03 1.47550E03 7.09676E02 1.28587E03 9.37709E02 1.94792E03 6.27556E02 2.66466E01 6.01236E02 2.86107E03 2.58592E03 3.86176E01 -Frame 257 1.09686E01 4.12587E04 6.07116E05 9.80196E05 7.51476E05 1.83798E06 1.78830E06 6.44494E05 1.74947E06 7.88098E05 3.97779E06 1.21752E07 2.12051E06 5.14203E06 1.02017E07 1.36823E06 1.37761E06 2.10997E06 8.34067E05 3.59081E06 1.30943E06 3.49330E06 1.17212E07 3.27516E06 2.24830E06 6.18095E06 1.50415E06 9.60218E03 1.06342E05 1.32501E04 4.21712E04 4.45837E04 1.08963E04 1.03845E03 2.97326E03 7.36345E03 2.98421E04 1.08445E04 1.11520E03 1.05424E03 8.94220E02 2.86916E03 1.72457E04 2.51022E04 2.18085E04 4.85913E03 3.12869E03 1.67441E03 1.48025E03 2.25317E03 4.82115E03 1.44903E03 5.09453E02 6.85311E03 7.90723E03 2.27887E03 6.06552E02 2.49384E03 5.06642E03 5.06256E03 2.77342E03 5.59707E03 5.80127E03 4.74293E02 6.34073E03 9.47076E03 8.08008E03 3.84305E03 1.55722E03 1.31204E03 1.46036E03 3.80230E02 4.72055E03 2.37631E03 2.85857E02 1.96774E03 4.51222E02 1.41251E04 2.03842E04 2.19532E03 1.53740E03 4.58048E01 2.78975E04 1.40713E05 1.33955E05 4.51962E02 6.99087E04 3.50529E04 2.73599E03 2.03359E04 1.64212E04 1.15579E04 9.35214E03 2.48458E02 4.48566E03 1.52934E04 3.43919E04 4.22376E04 2.10153E04 9.76905E03 2.63139E04 7.54098E03 2.54999E04 5.83532E04 1.20035E04 9.43205E04 1.60198E05 3.32593E04 5.79207E04 4.08133E04 1.71687E04 1.63230E04 7.59131E03 5.04745E02 5.91733E03 2.56050E03 2.64436E03 9.74632E03 6.70960E03 2.44730E03 1.90884E03 1.31701E03 1.74793E03 1.74596E03 4.71762E03 2.10406E03 1.06700E03 1.14910E04 1.51935E04 9.15224E03 1.22890E04 1.13086E04 1.25779E04 1.29263E04 9.43945E03 3.27267E03 8.62544E03 6.27635E03 3.94158E02 4.94387E02 3.94432E03 5.99628E03 2.40147E03 4.42720E03 5.81395E03 2.75683E03 4.44319E03 4.46944E03 1.03320E04 9.21063E03 3.33149E03 4.61474E03 1.82768E04 1.69026E04 3.90557E03 8.16921E02 1.02836E03 2.13570E03 1.86278E03 5.39705E03 5.12535E03 2.31743E03 1.16307E04 1.44319E04 9.70254E03 4.82802E03 1.00199E04 8.68772E03 3.63786E03 2.93674E03 9.81006E01 2.45796E02 3.36550E01 3.95513E02 2.20284E03 4.21342E03 2.90619E03 1.78269E03 1.11765E03 1.76670E03 4.86318E03 1.05397E03 7.13919E03 1.39458E04 1.38613E03 5.49351E03 8.84267E03 5.33480E03 5.42268E01 2.30071E03 5.11984E03 5.76169E03 3.87215E03 2.65835E03 2.62951E03 3.00207E03 8.46186E03 1.89452E04 6.54862E03 1.62574E03 1.35757E04 5.55721E03 3.25866E03 3.36120E03 2.95235E03 5.38973E02 1.59466E03 4.33426E03 9.72535E03 2.23079E03 2.56656E03 1.53856E03 1.15271E03 6.44067E02 5.90912E02 9.50558E01 6.54145E03 4.82319E03 1.92335E03 1.48725E03 1.12315E03 2.83549E03 9.60119E02 8.43985E02 5.38216E03 4.52517E03 9.22640E02 2.79247E03 4.07759E03 1.47156E03 3.20963E03 1.14924E04 6.47451E03 1.73576E03 1.24360E03 7.59614E02 5.13961E02 1.94595E03 9.68204E02 6.87746E02 3.20071E01 4.45846E02 1.62375E03 5.71013E02 6.25878E02 1.42149E03 1.37040E03 1.07932E03 1.07580E03 1.42599E03 1.33856E03 6.06435E02 3.24759E02 1.17061E03 2.76568E03 7.90176E02 3.61976E02 -Frame 257 2.21815E04 2.43705E04 2.72296E05 7.97484E05 3.55477E05 1.67212E06 1.46558E06 2.59744E05 1.68078E06 1.50317E05 4.89197E06 1.16603E07 2.02372E06 3.60299E06 3.79805E06 1.76823E04 2.11627E06 1.11623E06 5.82939E05 2.93693E06 1.24252E06 4.29560E06 6.68690E06 9.33486E05 1.16881E06 2.17030E06 3.98248E05 2.05179E04 9.13173E03 1.17865E04 2.74176E04 1.53604E04 7.61712E03 4.69465E03 6.65201E03 2.65028E04 2.08415E04 1.47818E03 5.42456E03 9.54395E02 7.62331E02 1.54306E03 5.55037E03 1.46656E04 1.71538E04 5.85514E03 6.07331E02 3.33899E03 4.17098E03 6.43266E03 8.73627E02 1.69655E03 1.02225E03 6.55455E02 5.14108E03 3.09347E03 3.70047E02 1.11204E03 8.09917E02 2.80108E03 5.43318E03 4.90016E02 9.14791E03 1.84234E04 4.16994E03 3.15573E03 2.63294E03 1.33455E03 4.68987E03 7.61726E02 1.25363E03 7.42303E03 4.12972E03 1.73705E03 3.60150E03 7.83888E01 3.05918E03 3.05815E03 2.33009E03 9.07122E02 1.10964E03 1.62516E03 6.54518E03 1.13306E04 3.02204E04 6.82407E04 1.92805E04 5.22845E03 8.34497E03 1.80076E03 2.46393E04 1.72334E04 4.44072E02 3.73288E03 9.60628E02 2.12918E04 4.04752E04 7.26968E03 1.02587E04 1.59110E04 2.17252E03 3.95767E04 3.65050E04 1.05137E04 6.19916E04 6.07821E04 1.03597E05 6.72459E04 6.46845E03 1.01281E04 1.39842E04 2.79829E01 7.03779E03 7.19371E02 3.16822E03 2.46662E03 4.65229E03 1.22643E04 6.59197E03 2.45798E03 1.84968E02 2.68492E03 1.11820E03 3.08686E02 1.03664E03 1.42970E03 5.49971E02 7.00397E02 2.64015E03 3.89006E03 2.21720E04 2.48246E04 1.90702E04 6.58479E03 1.02095E04 1.21721E04 5.60323E03 5.80851E03 4.37133E03 5.33706E02 6.39089E02 3.97822E02 1.34905E03 5.99336E03 3.61089E03 1.53468E03 2.31859E03 6.42832E02 1.67365E03 1.62470E03 2.43597E01 1.78431E03 1.21229E04 1.01135E04 4.43379E03 5.41404E03 6.27132E03 3.30753E03 1.63776E03 5.18871E03 1.08780E04 7.49869E03 1.15472E04 7.93752E03 8.29295E02 7.14819E02 9.85325E03 1.06843E04 4.50501E03 8.95943E03 1.35628E03 2.87286E02 6.60432E02 2.74230E01 5.17128E02 1.51337E03 2.90499E03 3.09334E03 6.25884E03 1.26259E04 1.18892E04 9.01441E03 1.30178E04 2.47986E04 1.52350E04 3.06053E03 1.42588E03 8.18208E03 5.90478E03 3.49461E02 5.21563E02 2.63034E03 2.70385E02 4.56249E02 3.72663E02 1.05039E04 2.07160E04 1.45927E04 3.67427E03 7.77893E03 2.34581E04 2.50495E04 1.16902E04 4.37479E03 1.82250E03 3.90664E03 5.61779E03 4.21643E03 4.13556E02 3.47604E03 4.85075E03 2.61171E03 5.88673E03 4.36379E03 4.03556E03 6.93414E03 7.67030E03 3.31521E03 2.04879E03 5.31384E03 4.62548E03 1.31059E03 1.38317E02 1.57327E03 3.70895E02 1.06871E03 2.68774E03 6.44660E02 3.67735E02 8.71286E02 6.75348E03 8.64289E03 1.02264E03 6.20201E02 3.48042E02 4.19698E02 2.24945E03 2.92089E03 4.27998E03 2.96419E03 3.50422E02 1.26967E02 4.22830E02 2.09632E03 1.19830E03 3.33193E02 6.20351E02 6.94060E02 4.82432E02 2.84008E02 3.63875E02 1.01427E03 1.45408E03 2.66251E03 1.75210E03 1.56404E02 9.86134E00 -Frame 257 8.35060E04 9.92607E04 3.55893E05 5.78868E05 4.65951E03 1.55352E06 1.12143E06 1.46110E05 1.29712E06 5.02037E05 5.57471E06 8.12968E06 1.99778E06 3.11393E06 2.25076E06 1.90450E05 1.22157E06 3.17080E05 6.26541E05 1.63852E06 1.22176E06 3.64667E06 3.48236E06 3.72411E05 9.12535E05 8.04612E05 1.96347E05 2.19457E04 5.42672E02 1.90639E04 2.25761E04 5.86553E03 9.33452E03 4.04252E03 6.73943E03 1.41774E04 2.37339E03 6.19534E03 1.12299E04 1.45932E03 1.16518E03 2.73533E03 1.33524E03 1.56600E03 2.13347E02 3.98920E03 3.49719E03 1.57961E02 5.82677E03 5.12803E03 2.62308E02 2.77224E03 7.72300E02 7.23020E02 3.34615E03 1.91327E03 6.87456E02 1.24494E03 1.14514E03 2.27396E03 1.20626E03 4.15872E03 4.93703E03 1.24686E03 1.64035E04 1.49330E04 4.08257E03 5.19154E03 5.93759E03 3.26938E03 1.76226E03 2.89698E03 1.01540E04 9.84610E03 7.05640E03 4.83694E03 3.30572E02 2.51984E03 4.68897E03 5.99618E03 1.32866E03 2.92505E02 5.25242E03 1.03269E04 2.34946E04 3.08536E04 8.48537E03 2.02582E03 2.66594E04 3.38724E04 4.73274E03 3.41476E03 7.85501E03 6.08925E03 1.03542E04 9.09703E03 1.31460E04 7.24531E03 1.61202E03 1.44586E04 6.31902E03 9.11985E03 4.95851E04 4.33648E04 4.35760E04 3.44256E04 1.09731E04 3.12386E04 3.79311E04 8.20418E03 4.23020E03 2.97011E02 1.36055E04 1.78592E04 1.07474E04 4.54422E03 3.36754E03 3.32367E03 3.81853E02 4.40827E03 9.76926E03 4.51695E03 2.76684E03 4.56935E03 3.74501E03 2.29001E03 4.36369E03 3.35649E03 6.36053E03 1.92679E04 8.36382E03 3.41489E03 1.18562E04 9.22675E03 7.43789E03 6.83321E02 2.94256E03 4.14329E03 4.98286E03 7.82004E03 6.01120E03 1.01134E04 9.99543E03 6.43914E03 4.68516E03 2.66834E03 1.53413E03 7.48234E03 1.22986E04 6.48813E03 1.02080E03 8.78312E03 1.24657E04 2.41835E03 2.53313E03 5.19411E02 1.30237E03 7.03015E02 4.40797E02 2.27180E03 8.32246E03 9.54610E03 1.08291E04 7.91936E03 4.54097E03 2.08591E03 7.16740E03 2.39327E04 1.30381E04 8.86362E03 7.03179E03 7.37517E03 5.83097E03 1.15084E03 1.35989E03 3.89169E03 9.54104E03 8.33417E03 8.89353E03 9.00014E03 2.78323E03 3.51127E03 5.88909E03 1.54920E04 9.26837E03 6.44196E02 1.00217E03 1.17701E04 1.99083E04 1.55694E04 7.79480E03 1.34902E03 4.42445E01 1.93286E03 5.50297E03 3.67543E03 3.05151E02 1.51291E03 2.33381E03 1.45670E03 2.52867E03 6.56501E03 4.30989E03 1.12005E04 1.59821E04 1.43165E04 1.82859E03 2.75430E03 4.99780E03 5.45144E03 4.70681E03 3.48434E03 4.23994E03 1.81338E03 6.32416E02 9.95400E01 7.41041E02 6.56488E01 8.00480E02 2.36088E03 2.69124E03 4.13794E02 1.85290E03 2.81757E03 1.63939E03 3.34725E03 2.51456E03 2.26406E03 1.54339E03 6.27813E02 3.07560E03 2.57990E03 4.50791E02 2.20901E02 2.57097E02 5.46309E02 6.33986E02 7.67279E02 1.44578E03 2.70686E03 1.90097E03 3.07833E02 2.73518E02 1.69475E03 3.09762E03 1.86293E03 2.15878E03 4.95971E03 6.20768E03 2.24501E03 3.16912E01 2.96239E02 7.13657E02 3.53170E01 1.18490E03 6.44218E02 3.08350E01 -Frame 257 9.12702E04 1.46914E05 5.26012E05 5.86895E05 1.28198E05 1.38242E06 1.04603E06 3.87176E05 1.03033E06 9.63394E05 4.36291E06 6.08967E06 2.07753E06 2.44208E06 2.06986E06 5.34795E05 8.03595E05 2.36723E05 4.43298E05 8.37231E05 8.68424E05 2.57402E06 2.41144E06 4.29314E05 3.48438E05 7.47645E04 1.93491E04 1.23656E04 3.61519E03 2.76791E04 3.71228E04 5.53698E03 2.67221E02 4.76058E02 2.91774E03 7.96018E03 7.77609E02 1.91731E03 6.85037E03 1.89487E03 3.57144E03 5.20140E03 7.82744E03 5.45564E03 2.11252E03 1.14985E03 4.05866E03 1.79341E03 9.18657E02 3.20172E03 4.22087E03 3.37936E03 9.20015E02 2.91434E03 6.97919E03 1.56193E03 3.06241E02 1.08243E03 9.85369E02 4.97538E03 2.30891E03 5.50108E01 3.23519E03 5.90708E03 1.45653E04 1.08441E04 4.97123E03 4.22604E03 8.88688E02 7.62387E02 1.13636E03 4.15222E02 2.28435E03 3.57104E02 1.94507E02 1.12107E03 7.01683E03 8.39615E03 2.88474E03 9.17469E03 2.32349E04 1.83368E04 3.19534E03 6.95655E03 5.46611E03 1.34577E04 3.87668E04 1.45913E04 4.89066E03 2.94757E04 1.76722E04 3.98306E03 8.53948E02 2.34631E03 6.37170E03 1.66158E04 1.78399E04 1.03846E04 1.04463E03 2.38269E04 3.14460E04 9.25771E03 3.74838E03 3.10052E04 8.35518E04 1.08058E05 3.61467E04 5.17391E03 1.47604E04 2.14158E04 1.57475E04 4.41370E03 6.13420E03 8.12868E03 1.41803E03 2.96557E03 2.84751E03 6.35607E02 3.16252E01 3.30132E03 1.42518E04 1.62247E04 1.25920E04 1.02056E04 9.41830E03 2.52195E03 4.81574E03 1.33839E04 5.23133E03 6.99615E03 3.45564E04 1.64462E04 1.04896E04 1.31347E04 1.39138E04 5.58352E03 3.04266E02 2.14203E03 3.76114E03 9.38751E03 1.16043E04 5.96327E03 6.74440E03 6.29448E03 6.32590E03 4.63882E02 1.03022E04 7.74945E03 1.51816E03 7.63582E03 6.73563E03 1.87243E04 2.02208E04 2.44625E03 5.45785E03 7.00145E03 1.85910E03 2.78803E01 4.70580E02 1.61005E03 4.44939E03 1.43567E03 4.61364E03 4.64424E03 2.89798E03 6.47077E03 1.34157E04 7.51970E03 2.32123E03 2.45599E03 1.65532E03 4.51186E03 1.51831E04 1.28428E04 4.59238E03 4.88338E02 2.01787E03 3.30607E02 1.59672E04 3.04921E04 1.33777E04 1.96252E03 4.03505E03 3.95388E01 5.94909E03 6.35343E03 5.57548E03 1.69197E03 1.87650E03 4.86444E03 2.04029E03 5.62575E02 5.58469E02 1.34313E03 6.29915E02 6.74737E02 1.07632E03 1.33404E03 1.24318E02 3.49169E02 5.94714E02 2.61037E02 5.99242E03 3.27155E03 8.06572E03 2.08159E04 1.44823E04 2.29925E03 8.99987E01 5.73987E02 2.96378E03 1.20354E03 1.51461E03 2.14542E03 9.05477E02 2.88053E01 5.07291E02 2.06465E02 3.01444E02 9.21354E02 1.49482E03 5.87477E03 7.19214E03 2.54987E03 8.75162E02 1.11418E03 7.03125E02 1.74108E03 5.35646E03 4.20606E03 8.76793E02 2.36060E02 1.87340E02 1.98759E02 6.65648E02 1.06160E03 1.42807E03 5.76427E02 3.62883E01 2.42230E02 1.60219E03 4.38512E02 1.19153E03 1.42657E03 3.08605E02 4.86631E01 2.77057E02 2.73574E03 4.15210E03 1.68860E03 9.76575E01 4.11715E02 2.55127E01 2.06286E02 1.42631E03 1.88103E03 2.90105E02 -Frame 257 9.95752E01 3.21880E04 4.43794E05 4.95252E05 3.08359E05 1.41875E06 1.07444E06 5.09909E05 8.94439E05 8.81989E05 3.59676E06 5.47986E06 2.14692E06 2.66859E06 2.61082E06 9.22341E05 1.00179E06 3.79962E05 2.55940E05 5.37189E05 3.74364E05 1.90525E06 2.03583E06 5.03939E05 4.02101E05 3.04662E05 1.69710E05 1.32415E05 4.48900E04 5.45540E04 4.42691E04 1.11244E03 3.83400E03 1.09503E04 1.13772E04 1.07026E04 2.11295E03 2.64681E03 3.47347E03 3.79621E03 5.44797E03 2.70657E03 1.30969E03 1.77789E02 1.13743E03 8.52900E02 2.72296E02 1.68657E03 2.43000E03 4.11057E02 3.58107E02 2.35461E03 1.72766E03 2.74075E03 8.45718E03 9.55935E03 8.76374E03 1.05724E04 9.85915E03 3.91474E03 4.27558E03 7.96581E03 6.46712E03 7.06094E03 8.44341E03 2.42644E03 2.59210E02 7.40415E02 1.95165E03 3.13334E03 2.43335E03 4.77184E02 1.30179E03 3.69416E03 2.47526E03 9.83923E01 2.42834E03 1.25116E03 5.70639E02 4.61216E03 1.34905E04 1.19022E04 5.03197E03 1.10887E03 4.39418E03 1.11174E04 2.29412E04 2.71352E04 1.39698E04 7.53561E02 1.84159E03 2.96793E02 4.57314E03 1.51977E03 1.55864E03 1.86283E04 2.16231E04 2.15214E03 2.22486E04 3.44221E04 1.29191E04 9.33319E02 1.11536E04 5.18648E04 9.75318E04 6.15474E04 1.23367E03 3.08945E03 6.16895E03 1.18965E04 1.64394E04 1.21389E04 8.95762E03 1.10425E03 4.81036E03 5.85654E03 1.15919E03 1.82554E03 1.75821E03 2.33471E03 8.12780E01 6.05140E03 5.02423E03 2.49103E02 2.64734E03 7.06316E03 4.00703E03 5.69975E03 1.89524E04 1.85842E04 2.58647E04 3.81872E04 6.78280E04 5.67536E04 1.49535E04 7.53822E02 1.73889E03 1.55928E03 1.83575E03 9.80908E02 2.56890E03 5.31951E02 8.04616E02 6.64157E03 6.38374E03 9.23179E03 1.35863E04 1.94275E03 2.01938E03 2.17571E03 2.60662E03 7.57106E03 1.11973E04 7.00217E03 2.55469E02 6.20871E03 8.85855E03 5.14690E03 2.39836E03 2.45121E03 2.53741E03 1.01467E03 1.30047E03 1.96044E03 1.78000E03 1.88732E03 6.67865E03 4.12261E03 4.02390E03 7.14559E03 2.90447E03 6.08922E03 2.39849E03 3.40287E02 1.01999E03 5.65979E02 6.35430E03 2.90504E03 4.66803E03 1.51427E04 8.83471E02 1.02558E04 9.89529E03 9.86042E02 6.59240E02 1.93708E03 7.61367E02 5.42519E03 6.60881E03 2.57263E03 9.56949E02 1.15268E03 4.00625E03 4.59183E03 1.27250E03 2.24913E03 3.66956E03 3.66111E02 8.19693E02 3.44262E03 4.99503E03 5.46344E03 5.15543E03 2.56030E03 4.13477E01 6.19966E03 6.88311E03 6.08623E02 4.32595E03 7.34749E03 5.52180E03 3.76001E02 2.90958E02 2.80733E02 5.99848E02 8.20654E02 3.22015E03 3.16975E03 1.18312E03 1.24070E03 3.93277E03 2.10144E03 3.54370E02 4.31647E02 1.73718E01 3.74103E02 5.25599E02 1.70901E03 4.26804E03 2.40234E03 1.43051E03 5.96579E02 1.32924E02 1.35025E02 8.71788E02 2.10566E03 1.31842E03 8.95586E02 1.38588E03 2.09157E03 1.28865E03 7.26768E02 1.10404E03 7.01617E01 2.44460E02 6.99063E01 3.54357E02 1.23894E03 1.21552E03 3.77085E03 1.86091E03 1.32772E03 3.79900E03 3.64879E03 3.62324E03 2.61472E03 1.21357E03 -Frame 257 4.24336E04 1.85428E04 2.07178E05 3.70159E05 4.59270E05 1.49231E06 1.09110E06 5.84288E05 7.68228E05 6.97885E05 3.25985E06 6.03687E06 2.85016E06 4.24417E06 4.12417E06 1.33726E06 1.12257E06 5.93827E05 5.20697E05 7.10899E05 4.06423E05 2.06225E06 2.59981E06 9.77292E05 7.06470E05 1.35206E05 5.51177E04 1.79007E04 3.55965E04 4.02160E04 5.28415E04 2.61971E04 2.34886E04 1.85413E04 2.60172E03 5.99462E03 5.65202E03 5.25267E03 1.07823E04 9.02520E03 1.07725E04 1.44334E04 4.85396E03 1.55981E03 1.26376E03 5.15839E02 6.40861E02 4.43465E03 1.21910E04 6.05688E03 3.46905E03 7.89427E03 4.86461E03 1.36460E02 2.81109E03 5.79804E03 6.68329E03 7.26163E03 4.59295E03 2.98836E02 1.22463E03 5.22682E03 6.52423E03 1.16643E03 7.03589E03 4.45908E03 2.87647E03 4.56406E03 3.57460E03 4.83755E03 5.80913E03 1.21436E03 4.05868E02 2.89162E03 4.61759E03 4.88469E02 1.33562E03 4.45460E03 4.46734E03 1.40465E03 3.75889E03 9.10121E03 1.01970E04 1.43003E04 4.90178E03 3.60898E02 1.16118E02 1.59567E03 2.64869E03 1.04569E03 5.66430E03 6.93235E03 1.73626E03 4.63915E02 3.35704E02 8.20975E03 1.59390E04 2.04428E03 8.02338E03 1.69106E04 1.25137E04 1.84919E04 2.39586E04 6.41469E03 1.53299E04 3.77563E04 1.33203E04 1.73113E03 1.17550E03 8.01018E02 5.59975E02 3.36768E02 2.37542E03 3.99632E03 1.38587E03 4.75618E03 9.64306E03 8.39369E03 5.89890E03 6.35161E03 1.48450E04 1.29231E04 5.41723E03 1.43729E03 2.09351E03 2.38220E03 3.57619E03 1.73878E04 9.68665E03 3.52376E03 9.86851E03 1.72109E04 1.75890E04 2.27149E03 1.66816E03 2.87046E03 1.15165E02 8.23897E02 2.85223E03 5.22149E03 4.55500E03 1.49266E03 1.69779E03 5.28819E02 1.56651E03 6.65223E03 1.27815E04 1.83584E04 1.55417E04 5.41791E03 3.00008E03 2.67500E03 1.93623E03 3.42604E03 2.82078E03 3.28499E02 2.18639E03 1.09767E03 3.94394E02 1.79514E03 5.43349E03 4.55577E03 2.19912E03 9.38076E02 8.08692E02 1.29766E03 3.37875E03 4.71621E02 3.82740E03 1.25447E04 1.06977E04 6.76637E03 1.75224E03 5.65623E03 1.47952E04 1.24697E04 3.10127E03 1.28671E04 7.09203E03 5.52936E03 1.79360E04 5.07893E03 5.76135E03 1.32209E03 1.52882E02 3.90126E02 5.83713E03 4.05537E03 2.59270E03 7.59299E03 4.47366E03 1.14008E03 5.62489E03 7.82697E03 1.04801E04 9.69992E03 2.13943E03 1.65030E03 9.48943E03 7.53030E03 5.18290E02 2.10196E02 1.07045E03 1.27067E02 1.42184E03 1.18769E03 1.30995E04 1.16811E04 6.48598E02 6.30684E02 2.93051E03 3.68839E03 2.17377E03 5.27065E02 5.24623E02 1.42916E03 4.02479E03 4.14267E03 5.69521E02 1.08530E03 7.26168E02 1.85452E02 1.05477E03 5.54902E02 1.30595E02 4.93545E02 2.78273E03 2.62136E03 1.25114E03 4.78218E02 6.06512E02 1.05381E02 4.24836E02 2.38057E02 2.16468E02 7.35676E02 1.92038E02 6.64478E02 8.19693E02 2.44572E02 8.37265E02 1.60170E02 2.78485E02 6.92427E02 2.79686E02 8.80962E02 1.31704E03 8.17444E02 1.90352E03 1.09279E03 4.39969E03 7.59704E03 5.86103E03 1.86106E02 1.39031E03 5.85278E02 1.56602E02 -Frame 257 7.26637E04 1.34659E05 3.77147E05 4.71488E05 5.93950E05 1.64097E06 1.38300E06 5.74446E05 9.51423E05 5.15933E05 2.93560E06 6.94111E06 2.45474E06 7.06833E06 1.07798E07 2.11285E06 1.94062E06 1.51369E06 1.68774E06 1.67832E06 3.66617E05 2.70036E06 4.87938E06 1.75122E06 4.27639E06 2.87650E06 5.89469E05 1.41081E05 6.62934E04 9.78556E04 8.36249E04 6.23004E04 6.19012E04 2.46884E04 4.34507E04 4.74781E04 3.31566E04 2.90270E04 1.55420E04 3.44727E03 6.28112E03 3.73961E03 8.26667E03 1.51858E04 1.12000E04 4.95897E03 1.03878E04 2.32305E04 2.07035E04 8.58776E03 3.85302E03 1.00247E04 5.23066E03 6.45671E02 1.05626E04 1.36399E04 8.27200E03 2.07785E03 2.76203E03 2.94472E03 1.16209E02 1.67112E03 5.36899E03 1.39427E03 2.26892E03 2.31219E03 3.67714E03 4.45379E03 2.98849E02 1.74958E03 1.72995E03 3.68587E03 1.71480E03 5.72888E01 2.85953E03 3.33122E03 6.28413E02 4.64529E03 5.84511E03 7.15881E03 1.22612E04 8.72739E03 6.81750E03 3.43666E04 3.57976E04 1.06789E04 3.13637E03 1.28213E03 9.57578E02 3.33405E03 1.83341E04 9.37595E03 1.69075E03 1.12585E03 7.50562E02 4.99934E03 5.00310E03 2.52655E03 1.67945E03 1.23443E04 2.37298E03 1.55854E04 2.75216E04 2.03897E04 1.90638E04 6.25013E03 1.05008E04 9.01993E03 1.38263E04 4.98002E03 1.18456E03 8.91514E02 1.17116E03 1.81644E03 4.14401E03 4.99887E03 7.51648E03 2.30539E03 4.58908E03 4.42214E03 5.26300E03 3.88034E03 1.56179E02 1.00169E03 1.83485E03 2.49714E03 5.47466E03 1.11835E04 1.36092E03 1.73680E03 1.19654E04 6.05769E04 7.40305E04 3.00933E04 1.57148E04 1.29416E04 4.89670E03 1.45536E03 3.15028E03 7.57269E02 2.51506E03 1.78931E03 6.98112E02 3.35822E03 6.53710E03 7.12547E03 2.58589E03 7.74250E03 1.62437E04 5.25376E03 2.07217E03 9.82067E03 1.18347E04 3.01326E03 1.31589E03 2.23565E03 5.65766E03 3.62780E03 5.62150E02 2.34467E03 1.40606E04 1.69293E04 6.68903E03 1.77539E03 6.41119E02 1.98273E03 7.92864E03 9.25915E03 1.91862E04 2.00940E04 8.36084E03 6.06870E03 1.84725E03 1.86951E04 2.07018E04 1.54230E04 1.12415E04 5.21258E03 6.39614E03 4.15911E04 6.38840E04 3.30561E04 1.12539E04 2.15979E03 3.62161E01 2.99778E03 1.05241E04 7.72868E03 2.19690E03 1.00272E02 2.13403E03 7.45458E03 5.55634E03 5.06213E03 4.63699E03 6.25102E03 1.13413E04 1.00424E04 4.58890E03 5.37588E03 7.09883E03 5.48949E03 2.23559E03 9.72369E02 3.44762E03 6.73276E03 7.45971E03 6.01377E03 2.54107E03 6.68114E02 4.40493E02 7.39844E01 5.98326E02 6.88603E02 6.20526E01 1.35060E02 6.69191E01 8.05665E02 2.09003E02 6.61306E02 1.47089E03 2.33186E03 9.21040E02 1.16561E03 4.11293E03 6.06215E03 3.08376E03 7.25312E02 3.73754E02 2.00762E02 1.30642E03 3.42159E03 1.18402E03 1.03495E03 2.77044E03 4.45237E03 4.14768E03 1.68823E03 1.84486E03 2.67232E03 2.60119E03 2.08485E03 6.42928E02 2.13393E01 5.05084E01 1.24448E03 4.29008E03 6.53378E03 6.59349E03 4.53614E03 8.49273E02 1.88556E03 7.24561E03 4.94227E03 4.77087E02 4.57357E02 6.45227E02 -Frame 257 1.98102E04 5.41122E04 5.79862E05 6.05362E05 3.80133E05 1.70742E06 9.86059E05 1.99123E05 9.25189E05 9.94293E04 2.64238E06 4.92508E06 1.13071E05 1.42174E07 2.18633E07 1.72192E06 3.09227E06 2.68865E06 4.91509E06 5.40406E06 1.74413E06 6.92705E06 4.85760E06 2.10841E06 1.91741E07 9.99886E06 1.77299E06 1.92024E06 2.44838E05 1.95908E05 1.05847E05 1.43026E05 2.21778E05 5.13946E04 1.36925E04 4.28606E04 1.62883E03 2.71497E04 2.01148E04 2.92929E04 3.68371E04 6.40033E03 1.02813E04 2.03167E04 7.63960E03 3.57749E04 2.66615E04 3.05092E03 1.09096E04 2.50030E03 4.08087E03 1.02777E03 7.30289E03 2.46774E04 1.95328E04 7.15007E03 9.88036E03 2.13682E03 4.98876E03 1.42875E03 7.09027E01 2.19242E02 2.89323E03 7.71279E03 6.81112E03 5.73139E03 9.23329E03 5.33526E03 9.88118E02 8.65426E02 6.30695E03 6.74484E03 2.16609E03 2.05780E03 4.44388E03 2.61471E03 4.70223E03 5.97889E03 1.23334E04 3.07148E04 2.30753E04 3.90524E03 5.91794E03 7.86793E03 9.32656E04 9.21582E04 4.26099E04 1.92549E04 5.47847E03 1.93438E04 3.04631E04 2.47394E04 9.97573E03 7.14469E03 1.19430E04 2.20071E03 1.47619E03 5.12463E03 9.16861E03 2.49472E04 2.21911E04 4.11832E04 7.83770E04 1.96545E05 1.81433E05 4.60701E04 3.98578E03 2.46276E04 5.81673E04 5.11400E04 2.54873E04 6.67377E03 2.28384E02 2.13220E03 4.34050E03 1.02951E03 1.62909E03 3.78906E03 4.47890E03 4.02536E03 3.30032E02 4.66740E01 5.00830E03 3.85728E03 5.23376E03 9.10931E03 1.92489E04 2.19621E04 1.22534E04 1.10162E04 1.00587E04 2.59340E04 7.39409E04 2.77569E04 3.60967E03 1.26689E04 1.31027E03 3.26541E03 4.64413E03 1.50148E03 1.97312E03 1.16564E03 5.07935E03 9.72624E03 4.37832E03 4.21668E03 3.24082E03 1.25415E03 1.50290E04 2.18634E04 1.10529E04 6.05479E03 1.18983E04 8.39534E03 3.15514E03 3.20403E03 4.73055E03 8.44254E03 5.92230E03 1.52645E04 2.30805E04 1.08394E04 3.02756E04 2.38726E04 1.00006E04 4.61203E03 8.97222E02 1.33295E02 6.82823E03 1.12832E04 3.12872E03 9.20196E03 3.52744E03 1.15425E04 3.75030E03 2.95005E02 2.18987E03 3.13755E03 3.63653E03 2.02619E04 5.65045E04 2.81750E04 1.78632E03 7.27293E03 1.10427E04 6.27706E03 1.45491E03 1.34470E02 1.55206E03 2.03369E03 3.03289E03 9.36799E02 8.23968E03 1.46831E04 3.06668E03 6.70821E02 5.78270E03 2.09052E03 8.94735E03 1.29918E04 8.66371E03 5.92775E03 6.12883E02 6.93824E02 3.07094E03 1.74706E03 5.87826E03 4.39734E03 3.27176E03 7.58256E02 3.51336E02 8.61522E02 2.15026E02 1.20917E03 2.81837E03 1.43947E03 9.05170E00 1.73476E03 3.41679E03 1.62910E03 6.80073E02 4.01514E02 9.14900E02 3.75578E03 3.59714E03 3.52911E02 1.50865E03 9.89669E02 1.80016E03 3.27910E03 6.60239E03 4.14764E03 3.30720E02 8.39876E02 2.53826E03 9.65913E02 1.96868E02 2.72235E02 1.25893E03 1.25179E03 1.63476E02 1.43765E03 2.29250E03 1.62740E03 1.93002E03 1.08179E03 5.38439E02 1.42945E03 6.74527E03 1.62630E03 4.96774E02 9.71238E02 5.55833E02 8.27869E02 2.65581E03 1.24689E03 3.52238E02 -Frame 257 8.16970E03 9.45635E04 6.86257E05 6.50271E05 1.34622E05 1.56534E06 8.45859E05 1.02788E05 8.31974E05 9.62036E04 1.97626E06 1.92260E06 1.44137E06 1.48453E07 1.08364E07 1.13159E07 2.31568E07 5.59630E06 5.61686E06 1.08634E07 8.40400E05 1.15307E07 5.82776E06 1.26262E07 3.48202E07 6.55097E06 1.92369E07 2.33482E07 3.73546E06 5.65589E05 1.09658E04 4.55933E05 3.39319E05 1.22985E05 3.22186E05 7.03294E04 5.25780E03 2.09758E04 2.81683E03 8.94629E04 5.32092E04 3.88614E02 2.74568E04 1.65759E04 2.39031E04 4.12519E04 2.86934E03 4.17214E04 3.18695E04 1.97391E03 2.95178E03 5.77419E02 2.59808E04 1.90339E04 1.99732E03 3.41230E04 1.82727E04 6.61578E03 1.10402E04 5.23971E03 1.11985E04 1.09416E04 5.43641E03 1.90956E03 4.04038E03 2.64651E03 1.56744E04 5.71363E03 2.57362E03 4.13854E03 4.84704E03 1.22381E04 4.57004E03 1.17139E04 1.42914E04 9.98758E03 4.57453E03 1.16396E04 7.43119E04 9.80857E04 3.57209E04 5.92442E04 9.05356E04 1.37697E05 8.28692E04 6.08553E03 5.53858E04 3.92067E04 1.07591E04 4.52886E03 5.12577E02 8.77042E03 9.47626E03 4.24189E03 7.94611E03 9.15943E03 2.72402E04 6.47137E04 9.37519E04 1.14089E05 8.61738E04 8.94476E04 8.65772E04 1.38547E04 5.13101E05 1.21725E06 8.70487E05 3.11547E05 2.67805E04 4.40227E04 1.15007E05 4.19622E04 1.63535E04 1.30853E04 2.61518E03 1.21792E03 3.26168E03 7.03789E03 1.50059E04 2.46178E04 1.37199E04 9.54983E03 6.67373E03 1.50096E04 2.32457E04 5.83272E03 1.56544E03 1.70020E04 3.16987E04 4.16320E04 1.48385E05 1.92579E05 3.24991E05 3.24842E05 1.67614E05 1.92194E05 2.10599E05 1.72975E05 1.09998E05 6.06311E04 4.41434E04 3.00146E04 1.42159E04 1.08421E03 1.98161E04 3.56163E04 2.72595E04 3.91000E04 9.93760E04 9.09759E04 2.71095E04 1.23404E04 2.68389E04 5.05020E04 2.46372E04 1.29606E03 1.27366E02 2.55540E03 4.70773E03 4.18466E03 6.85639E03 2.36599E04 3.97619E04 1.12974E04 1.00487E03 2.89941E03 4.86641E02 9.10425E02 1.49174E03 1.53508E03 3.72907E03 4.88931E03 5.41110E03 1.50054E04 3.60849E04 4.56904E04 6.06083E04 7.43790E04 8.59717E04 1.20233E05 1.48647E05 8.21029E04 1.03014E05 8.33133E04 2.53308E04 2.01872E04 1.61374E04 2.12280E04 4.22688E04 3.40720E04 1.78961E04 3.62413E04 4.52810E04 1.53494E04 2.56517E02 5.89142E03 2.78952E04 4.34965E04 2.60355E04 3.12858E03 6.53031E02 1.98263E03 4.16164E03 3.66941E03 8.33950E03 1.02997E04 1.37589E04 7.07649E03 1.82725E03 6.74400E02 3.87276E03 3.01294E03 4.45450E02 2.17220E02 2.09850E03 7.72729E03 8.65119E03 3.21845E03 4.99610E03 5.03004E03 3.47580E02 8.67752E02 5.62514E02 1.48718E02 4.81135E02 2.19960E03 2.51822E03 2.69716E03 3.80797E03 3.24605E02 4.35899E03 5.47010E03 1.08019E03 4.73020E02 1.10984E03 6.93372E02 3.98057E02 8.37900E02 2.08310E03 3.14283E02 8.80094E02 9.37242E02 1.55802E03 5.50565E03 3.83395E03 7.47896E02 4.46250E02 1.31121E03 3.04202E03 5.23561E03 4.52416E03 3.36051E03 2.82771E03 3.42877E03 1.45650E03 1.99020E02 1.26950E02 -Frame 257 7.04769E02 2.18386E04 3.85824E05 3.52311E05 1.47863E05 1.62768E06 7.59883E05 3.34248E05 5.73402E05 4.45486E05 1.66954E06 1.43336E06 2.19735E06 6.43843E06 3.73850E06 1.24514E07 3.03634E07 3.36033E07 3.69751E07 1.61945E07 6.86884E06 1.50749E07 6.74490E06 1.87349E07 2.29804E07 4.02183E07 1.02164E08 8.81801E07 2.86384E07 7.30614E06 3.67315E05 1.15019E06 7.26774E05 1.70759E05 5.02415E05 1.15887E05 2.97473E04 4.74222E04 1.69446E04 9.41605E04 7.50796E03 6.04647E04 1.97097E04 2.42878E04 4.20471E04 2.86518E04 2.45180E04 5.33226E04 2.06136E03 2.87882E04 6.81328E03 2.63565E04 3.02084E04 1.36058E04 2.33358E04 2.22767E04 3.90802E02 6.23900E03 8.18530E03 4.39925E04 1.70422E04 1.07653E04 3.61671E04 3.62984E04 3.11665E04 1.98676E04 2.37895E03 1.09414E04 1.59899E02 6.77926E03 4.53303E03 7.55763E03 1.85155E04 1.67743E04 3.48532E02 1.96359E04 1.84490E04 6.29160E04 8.06809E04 4.72260E04 1.29468E05 3.61822E04 1.44849E03 3.38147E04 5.28907E03 2.61495E04 3.80739E04 6.11581E03 1.27239E03 7.22862E03 4.17699E03 1.05718E03 8.56071E02 1.43519E04 8.69311E03 1.05505E04 5.38196E04 3.25141E04 9.41441E04 1.10707E05 3.28408E04 3.25854E03 3.60394E03 1.97925E05 1.04427E06 1.64706E06 1.79764E06 1.02101E06 3.61835E05 2.62404E05 1.44226E05 4.74763E04 4.37479E04 1.21068E04 1.10170E04 1.10645E03 4.62387E03 3.61480E03 4.24280E03 1.06243E04 1.72737E03 2.75495E04 2.09461E04 2.02974E04 9.08811E03 4.12852E02 3.77986E03 8.31423E03 3.56168E04 3.00936E04 8.07556E04 1.29670E05 1.26345E05 1.86938E05 1.45183E05 7.62561E04 5.55477E04 2.58912E04 3.96007E04 3.30480E04 3.30961E03 1.60093E04 3.46179E03 1.42913E03 6.17520E03 9.82257E03 4.07823E03 9.18979E03 4.19636E04 1.68360E04 1.06604E04 1.03700E04 3.08734E04 3.44061E04 1.05847E04 1.27767E03 4.73373E02 1.12497E02 2.06001E03 1.77950E03 1.52616E03 7.97421E03 9.71507E03 1.53292E03 4.60386E03 5.35318E03 1.97718E03 2.59484E03 8.82371E02 1.11423E01 3.54139E02 2.19011E03 1.40487E03 1.18709E03 3.30789E03 1.17800E04 1.17902E04 1.06874E05 9.16046E04 4.01001E04 1.77810E05 1.03000E04 1.48813E05 2.11677E05 2.21958E04 3.70242E04 3.16978E04 3.45598E04 2.65339E04 8.95377E03 4.66069E04 1.66887E04 4.64314E03 7.42859E03 3.50256E02 7.84322E02 8.25169E03 4.84050E03 2.99753E03 1.26962E03 3.95885E03 7.79530E03 6.68225E03 3.73927E03 3.67488E03 2.65659E03 4.17481E03 2.09894E03 1.45532E03 4.96905E03 6.24005E03 1.94789E03 1.42081E03 1.27302E03 7.58031E02 1.27014E03 1.08224E04 1.05346E04 9.15717E03 6.19705E03 1.48867E03 6.17862E02 2.17773E01 6.48714E02 2.04640E03 1.66319E03 1.27680E03 1.39197E03 2.38304E03 4.06472E03 2.62613E03 4.57983E02 3.50117E03 2.78683E03 4.09987E02 9.73968E02 1.19332E03 1.71870E03 1.49691E03 1.87173E03 1.33258E03 2.57186E03 4.56964E02 4.94591E02 1.53806E03 5.33248E02 4.78976E02 1.28663E03 4.61454E02 2.28344E02 2.80505E02 3.44539E02 1.91364E03 1.66227E03 1.26720E03 8.38074E02 1.41981E01 -Frame 257 2.20702E04 9.66616E04 1.55423E05 2.55853E05 4.79297E05 1.55072E06 7.75610E05 4.19881E05 4.62119E05 4.14704E05 1.77351E06 1.26781E06 1.94440E06 3.43227E06 2.76788E06 9.05420E06 1.23159E07 8.94431E06 2.88626E07 2.69762E07 1.81078E07 1.45783E07 1.10983E07 1.99149E07 1.52744E07 3.14106E07 1.10720E08 8.20764E07 2.32454E07 2.78662E07 1.01329E07 4.73339E06 2.00312E06 6.27434E05 8.36378E05 1.60838E05 2.60588E05 7.71192E04 5.43250E04 1.73614E05 3.20431E04 9.42238E04 1.87795E04 5.79350E04 7.76445E04 5.87388E04 8.21719E04 4.21714E04 7.73466E04 3.42170E04 3.08423E04 2.73121E04 4.09093E04 3.81717E04 5.39028E03 4.27482E04 1.50474E04 1.19279E04 9.30284E03 8.20539E03 6.54975E04 4.33345E04 6.49785E04 2.63663E04 2.37707E04 7.33187E04 1.27955E04 9.89010E03 1.31248E04 1.58755E04 1.58494E04 2.27574E03 1.21050E04 1.67927E04 2.38478E04 7.38318E02 1.66529E03 8.16483E04 1.10327E05 7.59646E04 5.25651E04 1.03214E04 1.76253E03 1.58306E04 1.42065E04 2.84580E04 4.86459E03 3.95433E03 1.84057E03 5.80972E03 7.41972E03 7.10642E04 9.05106E04 6.21566E04 2.59998E04 2.89148E04 1.00778E05 7.33637E04 4.38715E04 3.49065E04 1.26141E04 4.04493E04 5.34490E04 1.03327E05 2.39636E05 1.06670E05 3.77971E05 1.76807E05 2.17817E05 6.07567E05 4.25795E05 1.56929E05 4.96279E04 2.14092E04 3.65503E04 4.72426E04 2.34612E04 9.58813E03 2.37445E03 1.29246E04 3.45669E03 8.26777E03 1.74697E04 7.26726E03 3.51234E03 3.47732E03 1.08475E04 8.81622E03 1.25866E04 6.24086E03 1.01294E04 8.90836E02 1.43706E03 1.03159E04 7.33887E03 2.14269E03 1.94168E03 1.15659E03 9.15060E02 1.32732E04 7.61126E03 4.45261E03 4.07650E03 1.70900E03 1.15714E03 2.27672E03 3.78681E03 3.71101E03 3.07958E04 3.08526E04 9.42487E03 9.20669E03 2.50188E03 4.70080E03 7.63806E02 2.17996E03 3.39547E02 2.25658E03 6.41232E02 1.49685E03 4.35652E02 4.83528E02 1.87553E03 5.05154E03 3.51782E03 1.83531E03 1.19488E03 8.55786E02 2.43267E03 3.91026E03 2.35989E03 2.71565E03 3.56482E03 3.21539E03 1.21059E04 5.68978E03 2.39011E04 9.13081E03 7.09984E03 9.88927E04 1.83928E05 1.81251E05 6.78556E04 4.84416E04 8.32779E04 1.42603E05 1.03499E05 3.65505E04 1.86186E04 2.09493E03 1.06363E04 6.36019E03 9.32971E03 1.05571E04 2.30481E03 5.68301E02 2.34579E03 3.47743E03 7.12305E03 7.29636E03 6.89204E03 1.20700E03 1.70177E02 2.49507E03 2.18552E03 1.25371E03 1.58535E03 3.71723E02 1.00943E03 6.81936E03 2.60946E03 2.57933E01 1.08076E02 4.89620E02 8.03477E02 8.60627E03 5.78908E03 8.93623E02 9.83948E03 5.85230E03 2.30358E03 4.05738E03 3.23953E03 2.23342E02 2.14766E03 3.19709E02 1.51840E03 2.24243E03 7.29710E02 7.94709E02 9.99047E02 2.99802E03 5.14505E03 1.29603E04 8.70940E03 1.33364E03 2.99754E03 4.33057E03 1.07221E03 4.77669E02 9.32880E02 3.64107E02 9.02110E02 2.62996E02 1.71232E03 1.13725E03 5.83767E02 1.30741E03 1.23016E03 1.22963E03 1.03194E03 1.50630E03 1.98759E03 4.31097E03 5.07482E03 1.15423E03 1.52043E02 -Frame 257 1.69853E05 1.52321E05 2.87581E05 3.55987E05 5.31091E05 1.32346E06 7.57547E05 2.68888E05 2.75398E05 3.62656E05 1.14449E06 9.81015E05 1.13064E06 1.57986E06 1.18678E06 3.51564E06 2.58790E06 8.05699E06 3.11609E07 1.53683E07 9.32086E06 1.04155E07 9.30618E06 2.60101E07 1.91871E07 3.08429E07 4.34730E07 1.38215E05 6.63470E07 7.07810E07 1.68041E07 9.06126E06 2.19804E06 5.27224E05 3.49464E05 2.10915E05 3.60112E05 1.69388E05 1.15481E05 8.85130E04 2.95074E04 4.04014E04 2.72725E04 5.57045E04 5.05047E04 2.87331E04 4.41866E04 2.70198E04 3.43546E04 4.56634E04 3.86118E04 5.39636E04 3.50205E04 4.97135E03 1.11745E04 1.84009E04 5.90969E04 6.18892E04 4.43381E04 4.29413E04 2.52711E04 4.20824E04 2.50100E04 1.55121E04 5.52257E04 1.38140E04 6.48917E03 9.89998E03 6.99934E03 4.99956E03 1.32545E03 6.67662E02 1.19408E03 1.05041E03 1.64244E04 1.77397E04 2.98044E04 4.72374E04 6.61411E03 1.46860E04 1.50524E04 2.48673E03 2.52145E03 1.63641E03 1.56449E03 6.14539E02 1.13824E03 8.31881E02 8.96751E02 1.47906E03 4.39016E02 1.42310E04 9.91109E04 8.73621E04 2.48125E04 2.82139E04 9.91379E03 8.63416E03 9.63121E03 5.64438E03 1.84481E04 7.86875E03 1.28757E03 1.04298E04 5.04472E04 1.25476E05 7.89191E04 4.57801E04 5.50700E04 9.34364E03 1.12392E05 1.80342E05 4.13349E04 1.48480E04 3.46415E03 2.18016E03 9.96734E03 5.33306E03 1.99338E03 2.55021E03 3.33209E02 1.36834E03 1.19076E04 8.87097E03 1.64304E03 2.78387E03 4.36556E03 3.17173E03 1.12054E03 3.46649E02 2.75498E03 1.03413E03 1.51741E04 1.86258E04 3.26427E03 2.98032E03 6.28640E03 5.74725E03 1.03305E04 3.09648E04 2.67671E04 6.73112E03 4.27521E03 5.14632E03 4.00242E02 5.19682E03 1.53186E04 2.32279E04 2.57189E04 1.20804E04 5.83337E03 1.07038E04 5.89776E03 3.14168E03 1.94012E03 9.03306E02 8.68674E01 9.59944E02 3.14088E03 5.12568E03 1.88793E03 2.14447E03 8.17604E03 1.21027E04 6.94260E03 1.88542E03 1.43809E03 1.33096E03 1.88425E02 1.24184E03 7.90038E02 8.93083E03 1.56540E04 9.33946E03 5.39111E03 1.05642E04 1.79075E04 1.18128E04 1.71720E03 6.37368E04 1.24898E05 9.98588E04 2.64765E05 2.82879E05 2.30261E05 2.95088E05 2.09213E05 7.19101E04 4.43835E04 2.73713E04 1.08178E04 1.09302E04 1.05631E04 5.88359E03 6.37828E03 5.70114E03 3.14591E03 1.16488E03 8.65967E02 9.12858E03 1.08109E04 4.33329E03 3.02668E03 1.40009E01 1.65475E03 2.10424E03 1.68816E03 1.94338E03 3.95766E03 5.38916E03 5.23539E03 2.32862E03 5.55530E02 5.41610E02 1.09778E03 5.36762E03 5.84868E03 2.35578E03 2.52622E03 2.78923E03 4.95678E02 9.27663E02 1.64099E03 2.58322E03 1.64998E03 2.49521E03 2.49345E03 1.39979E03 3.64051E03 2.71972E03 3.67666E03 5.20749E03 8.82808E03 2.41312E03 1.66686E02 1.23806E03 4.18344E03 1.46576E03 9.03288E02 2.88919E03 3.08416E03 2.06871E03 1.69977E03 2.65633E03 3.15507E03 9.19151E02 7.81918E02 1.26450E03 2.03462E03 2.20466E03 1.59133E03 3.20212E03 3.12328E03 1.01264E03 1.63835E03 8.68176E03 8.33220E03 -Frame 257 6.26945E04 4.16022E04 4.11082E05 4.29576E05 5.77930E05 1.29705E06 6.75853E05 1.32755E05 2.44796E05 1.34034E05 1.14086E06 5.87891E05 5.96582E05 1.38268E06 3.81821E05 2.13899E06 1.67797E06 5.10321E06 2.83226E07 9.40699E06 4.11074E06 1.08232E07 1.86061E06 2.26050E07 1.24367E07 1.16761E07 3.20929E07 5.35641E06 3.93485E07 7.14237E07 6.88914E06 1.03697E07 5.90039E06 1.40206E06 6.91096E05 8.01447E04 4.17347E05 1.82537E05 1.13451E05 1.53092E05 2.55961E04 2.58922E04 3.83787E04 3.04326E04 9.82612E04 3.26746E04 3.73340E04 3.81854E04 6.11292E03 1.63578E04 3.53377E03 3.75891E04 4.73012E04 7.63753E03 1.42166E04 1.16628E04 6.85525E03 3.17667E04 5.09790E03 4.10685E04 2.60221E04 3.83306E03 2.40703E03 5.00011E03 3.77691E04 3.84907E04 2.00499E04 5.94973E03 3.69525E02 4.07738E01 2.02212E02 9.97193E01 9.15272E02 2.63291E03 1.26776E04 1.03270E04 1.14242E03 2.24075E04 8.32007E03 1.13950E04 1.64640E04 4.37861E03 8.73430E03 1.02188E04 5.75951E03 3.79317E03 3.91471E03 1.99255E03 7.55786E02 1.24759E03 4.86540E03 1.85833E03 7.61852E04 1.08368E05 3.08829E04 3.05836E04 1.22048E04 3.44079E03 1.61193E04 2.19704E04 4.62861E04 3.45079E04 6.52196E03 2.89100E04 4.84673E04 7.37066E04 1.13313E05 4.06722E04 1.01217E04 2.69883E04 8.13500E04 1.19556E05 2.77860E03 7.07561E03 6.15924E03 3.39207E03 9.04707E03 9.28490E03 4.81220E03 2.46209E03 4.47295E03 8.14284E03 5.83438E03 3.22631E03 2.24809E03 2.15462E03 9.62810E03 9.54703E03 1.26087E03 2.64456E03 1.04143E04 1.87124E04 2.64787E04 1.14515E04 3.54296E03 1.21554E03 2.10592E03 1.74630E02 7.31482E03 7.20939E03 1.11269E04 1.04788E04 5.46374E03 7.92047E03 7.22644E03 1.25965E03 1.14286E03 1.26845E03 2.09585E03 5.26341E03 2.05930E03 4.52231E03 3.30497E03 2.18333E03 7.46794E03 1.84474E04 1.13444E04 8.08251E03 1.02729E04 1.29213E04 4.87885E03 1.49285E04 9.65963E03 4.15066E03 1.12971E03 5.29656E01 1.89574E03 4.83572E03 1.71351E03 6.27192E02 1.97370E03 1.62188E03 1.23574E03 8.21317E02 2.24416E03 9.58847E03 1.53814E04 2.84428E03 3.21623E04 1.49351E04 2.51366E05 4.71050E05 1.74668E04 2.40244E05 7.95232E04 1.06136E05 2.76655E05 5.90585E04 3.05852E04 1.76536E04 1.07966E04 8.47872E03 1.21443E04 9.39275E03 1.07942E04 7.20326E03 4.32425E03 1.32547E04 1.11831E04 2.92001E03 3.39814E03 1.15275E04 9.05032E03 3.43817E03 1.79442E02 1.10789E03 6.89830E02 1.30081E03 1.40066E03 1.68797E03 1.26339E03 5.47695E02 1.33453E03 2.16368E03 3.76555E03 1.56660E02 4.77070E02 2.09553E03 2.99115E03 3.91231E03 3.47550E03 1.91235E03 1.82571E03 1.95854E03 1.56992E03 1.99375E03 1.02603E03 1.67826E03 1.18264E03 9.41759E02 1.14760E03 3.62483E02 6.81847E03 2.28191E03 9.60089E02 4.21153E02 2.97356E03 4.27631E03 5.98764E02 2.90439E02 7.68525E02 3.73105E02 1.15682E02 3.16658E03 6.50362E02 7.58008E02 3.06184E02 9.59480E02 1.85105E03 3.01351E02 1.05367E03 3.72291E03 1.35181E03 6.76665E02 4.43739E03 5.65498E03 1.04773E03 -Frame 257 6.17983E04 1.64529E05 5.33873E05 4.56952E05 2.72323E05 1.42232E06 4.90878E05 1.07640E05 2.03434E05 7.33337E04 9.13208E05 2.69428E05 6.04555E05 1.10732E06 1.33321E04 1.93647E06 6.93343E05 7.76110E06 2.27187E07 4.12750E06 1.00366E07 7.85676E06 2.59392E06 1.79730E07 1.82592E06 1.53005E07 1.38406E07 4.34581E06 2.79537E07 1.52463E07 3.52665E07 5.48098E07 1.41197E07 4.38418E05 8.19161E05 1.69194E05 3.97068E05 5.15258E03 3.26736E05 1.16714E05 1.86580E04 3.91280E04 8.12442E02 1.22768E05 3.50783E04 4.21921E04 1.04345E05 3.41439E04 1.53498E04 2.18325E04 4.51084E03 2.92586E04 5.95708E03 1.32172E04 4.97570E03 1.83764E04 4.98238E04 9.69443E03 9.29982E03 2.77241E04 3.61868E03 1.21655E03 3.04160E03 1.33098E04 2.91480E04 6.89483E03 3.71162E03 1.14660E04 1.46772E04 8.46931E03 3.71924E03 1.10745E03 1.59016E03 5.75009E03 1.27349E04 5.21298E03 3.00014E04 2.60921E04 9.81181E03 1.64898E04 3.21846E03 8.23305E03 1.60779E04 1.74849E03 2.67875E03 5.20837E03 9.99836E03 1.09060E04 1.95103E03 9.16202E02 2.51779E03 9.49787E04 2.73784E05 7.86309E04 2.48155E04 3.93174E04 1.38294E04 2.99768E04 9.16747E03 5.95060E04 4.03941E04 7.27094E03 2.07165E04 2.76551E03 1.08711E05 1.08522E05 1.63390E04 1.07634E05 1.01669E05 3.27861E05 8.88301E05 5.51655E05 5.79332E04 2.71022E03 4.14116E03 1.47666E03 2.18588E03 4.92412E03 4.63005E03 5.69508E03 9.42166E03 3.10823E03 6.44022E03 5.04918E03 4.91278E03 1.73472E03 4.00086E03 2.00548E04 1.76311E04 2.20980E04 1.91120E04 1.41470E04 9.75695E03 4.59545E03 3.28751E03 1.35160E03 3.12392E02 4.16727E03 1.81729E04 2.33911E04 2.15213E04 5.72394E03 3.58130E03 7.71332E02 1.34769E03 4.74193E03 3.20981E03 1.11211E03 1.68169E03 4.92620E03 1.50654E04 3.26154E04 4.03036E04 3.59823E04 3.49726E04 5.67796E04 2.91925E04 1.00561E04 4.23206E04 4.14293E04 2.95795E04 2.35609E04 9.58091E03 4.12557E03 4.66134E03 7.63815E03 7.83551E03 6.62550E03 1.27650E04 1.67711E04 1.47105E04 8.94110E03 2.66671E03 4.72217E03 1.51256E04 4.14248E04 6.62626E04 2.04463E04 7.08495E04 1.19061E05 2.03004E04 6.75694E05 7.36214E05 2.95059E05 1.67146E05 3.34686E03 1.50743E05 1.96810E05 4.40601E04 1.41018E04 4.61393E04 6.04939E04 2.71779E04 5.20042E03 5.23581E03 2.39844E04 3.46656E04 9.13690E03 6.67872E02 2.98196E03 3.20317E03 3.60986E03 1.35488E03 3.24168E03 2.76453E03 2.88912E03 4.11047E03 5.10057E03 2.58611E03 5.94423E02 7.08872E03 1.04682E04 5.74480E03 7.52586E03 9.28341E03 3.35242E03 3.72607E02 2.86614E03 1.91563E04 2.05820E04 9.26823E03 8.85549E03 9.62048E03 5.61564E03 6.46887E03 5.74990E03 5.32356E03 5.77133E03 8.64466E03 1.81021E04 1.52262E04 1.06400E04 1.21588E04 8.45817E03 8.31209E03 1.11608E04 1.38913E04 1.56758E04 1.13460E04 9.69115E03 7.58237E03 5.29062E03 4.52784E03 5.07966E03 4.59497E03 3.17978E03 2.77016E03 1.41490E03 1.66080E03 9.17191E03 1.61755E04 2.47409E04 2.07362E04 1.18573E04 1.59994E04 1.06390E04 2.71931E03 -Frame 257 2.70668E05 2.58989E05 4.55032E05 2.23565E05 3.33771E05 1.51532E06 4.30183E05 3.07808E05 2.38902E05 2.32136E05 8.83541E05 3.38479E05 8.03874E05 8.13696E05 4.31513E05 1.60480E06 1.56201E06 1.16086E07 1.70313E07 1.05386E07 1.37755E07 7.62646E06 1.15839E07 1.22978E07 6.79398E06 1.69492E07 1.09210E07 1.38561E07 1.27504E07 1.13188E07 4.97803E07 8.29608E07 5.77600E07 2.01884E07 1.84771E06 9.80729E05 7.48922E05 1.15555E05 3.06444E05 5.60274E04 1.03030E05 4.64885E04 6.80392E04 1.21879E05 7.12539E04 1.40823E05 1.90772E04 4.51503E04 4.15595E04 2.65226E04 2.44846E04 2.70825E04 2.99487E04 2.94396E04 1.95438E04 1.95128E04 6.58791E03 2.57956E04 2.32301E04 9.02534E03 1.66314E03 2.37038E03 1.64785E04 4.32742E04 3.49944E04 1.22786E04 6.71483E03 3.13888E03 8.64162E03 8.12448E03 1.25785E04 1.91626E03 7.72257E02 7.02366E03 1.63334E04 2.98723E04 4.15236E04 3.68813E04 2.07288E04 6.46518E03 3.03140E04 2.28187E04 3.54013E03 2.00226E02 2.13566E03 4.78556E03 3.77922E03 4.86301E03 4.84253E03 4.68421E03 4.74186E04 1.52019E05 2.45446E05 1.49051E05 9.09557E04 8.43122E04 3.37735E04 4.08655E04 5.46770E04 4.19258E04 7.82102E04 1.77271E04 1.52933E04 4.26944E04 2.11920E04 3.50110E04 2.75857E04 1.15594E05 1.58614E05 2.84475E05 6.96565E05 4.69094E05 1.80744E05 5.95651E04 1.73700E04 2.81904E03 1.02414E04 6.67626E03 4.05005E03 1.68222E03 1.00562E04 1.90799E04 6.38795E03 3.37684E03 4.39699E03 6.75989E03 7.63645E03 1.42329E04 1.33690E03 1.67919E04 2.55690E04 8.65653E03 3.70599E03 9.85249E02 9.45402E03 2.50931E04 1.70057E04 6.35971E03 1.47798E04 2.40171E04 1.07667E03 1.20229E04 2.36385E04 8.64745E03 6.04660E03 6.54218E03 4.75928E03 4.79081E03 1.35965E03 1.18405E03 2.90266E03 2.56183E04 4.89619E04 1.88271E04 6.50219E03 9.60054E03 6.00167E03 2.34937E04 1.07775E04 2.27706E02 5.66171E03 4.39893E03 1.99337E03 1.47242E03 4.69308E03 1.12953E04 5.02927E03 4.19865E03 2.82590E03 1.44824E03 1.18511E04 5.71855E03 4.71244E03 1.01712E04 2.44182E04 1.24506E05 5.57296E04 8.94825E03 2.72249E04 2.76439E05 5.53043E05 2.95722E05 3.64828E05 1.84107E05 1.70666E05 1.26053E05 1.51762E04 3.90596E04 2.89242E04 1.95912E03 7.73537E03 8.62316E03 1.08730E03 4.41556E02 1.76375E03 3.78876E02 6.95857E03 3.89007E03 6.07792E03 5.40735E03 4.66270E03 5.88694E03 1.16474E03 2.02642E03 3.82761E03 3.78236E03 5.40509E03 3.09278E03 1.59993E02 2.03249E03 2.41652E03 1.35244E03 3.86526E03 3.71952E03 9.73842E03 5.15044E03 1.07415E02 3.93875E03 8.30184E03 6.51110E03 5.17791E03 2.34042E03 3.02329E03 3.69653E03 1.83549E03 6.02661E02 2.10122E03 3.13250E03 9.61087E03 1.31585E04 8.06899E03 2.66847E03 3.60318E03 6.22058E02 6.91442E03 5.96899E02 2.59600E03 7.47699E02 8.73265E03 6.54372E03 3.90414E03 1.05975E02 2.57089E02 1.23019E02 2.71699E02 1.14642E03 1.86777E03 4.11521E03 3.94462E03 1.68055E03 1.43091E03 3.56310E03 1.09436E03 7.05072E02 2.46575E03 2.19042E03 1.47836E03 -Frame 257 3.90860E05 9.33313E04 1.34014E05 3.94960E05 5.45669E05 1.48247E06 9.02014E05 4.95022E05 4.40710E05 5.69618E05 9.00616E05 6.39614E05 1.20378E06 8.06983E05 1.25538E06 1.31762E06 2.34793E06 1.15839E07 1.30246E07 1.07328E07 1.38112E07 1.05743E07 1.37775E07 1.29487E07 1.11300E07 1.48507E07 9.89474E06 9.87113E06 8.59101E06 1.21161E07 2.89854E07 1.27641E07 4.30680E06 2.80126E07 2.30469E07 1.13314E07 2.89504E06 3.37166E05 6.25932E05 1.59443E05 1.57032E05 1.08000E05 8.51661E04 2.02139E05 4.10520E04 8.76058E04 1.04547E05 5.08842E04 7.13513E04 1.41202E04 2.49092E04 1.91439E04 1.08578E04 2.57057E04 2.34450E03 3.17911E03 9.22474E03 8.57426E03 8.69314E03 8.25993E03 7.25298E03 2.14595E04 1.93723E04 2.58270E04 8.48533E03 6.15621E03 7.90829E03 4.89720E02 6.17631E03 1.47074E03 8.60199E02 9.72598E02 7.34800E03 4.96542E02 1.23127E04 4.25961E03 3.06102E03 2.06435E04 4.22327E04 2.48332E04 2.65224E04 4.01235E04 1.38940E04 3.29925E03 9.14984E03 5.22960E03 4.71471E03 1.90462E04 9.42060E03 3.78871E04 3.42989E04 3.55992E03 3.59613E04 1.00963E05 2.43065E05 1.89291E05 6.89062E04 4.30185E04 2.28189E04 5.02471E04 2.44441E04 3.25642E04 9.06652E04 6.23281E04 7.69145E04 3.17419E04 2.54364E04 1.23376E05 1.63319E05 2.13864E05 4.64795E05 3.59451E05 2.38520E05 1.88318E05 8.63567E04 4.99313E04 3.84219E04 1.62138E04 9.15640E02 1.48642E04 5.14955E03 7.54972E03 6.04364E03 3.20032E03 1.20996E03 1.45086E03 5.29207E03 1.96263E04 1.16837E04 9.66335E03 7.25203E03 3.01874E03 1.17908E03 7.76958E02 1.44271E04 2.22796E04 1.28653E03 1.40586E04 1.48463E04 9.03913E03 2.78361E04 4.92350E03 1.44347E04 7.73084E03 1.76354E04 2.02590E04 1.08774E04 5.06887E04 2.13499E04 3.26765E03 5.30966E03 1.29933E04 4.24645E04 8.57231E03 3.96344E03 1.09608E03 6.60921E03 8.55894E03 8.38090E02 1.30483E03 2.06543E03 2.14721E03 8.45863E02 5.07492E03 4.98490E02 7.61242E03 1.74655E03 1.61661E02 4.55653E03 2.85687E03 1.29420E04 1.11675E04 3.79761E04 1.12800E05 9.23781E04 5.36331E04 1.31868E05 1.72439E05 2.86082E05 5.97269E05 3.45497E05 2.13576E05 3.41580E05 2.07690E05 1.14422E04 2.29217E04 5.02661E04 6.59371E04 3.41143E04 2.06105E04 1.64757E04 1.80104E04 1.57925E04 4.57846E03 2.41274E03 2.51748E03 2.45618E03 1.17810E03 1.41202E04 7.23118E03 6.19562E03 8.48604E03 3.39574E03 4.18214E03 8.92806E02 1.33247E03 1.41330E03 3.23422E03 4.86270E03 1.20798E03 1.90472E03 3.23897E03 1.78363E03 9.68436E02 3.46432E03 8.50040E03 1.29158E04 1.93428E04 2.11184E04 1.39811E04 3.48045E03 1.02959E04 1.06704E04 2.25009E04 1.82289E04 1.62757E04 1.18130E04 1.53037E04 2.84772E04 1.49152E04 1.15955E04 1.57973E04 5.76635E03 7.06992E03 6.54894E03 1.17783E04 3.83159E03 1.87351E03 1.64726E03 7.26616E02 1.88765E03 6.45703E02 7.26403E02 1.49028E03 4.61008E03 4.50684E03 5.64128E03 2.64665E03 4.21327E02 7.26598E03 7.53594E02 8.82241E01 3.25925E02 8.19604E02 2.09394E01 2.77194E03 1.68005E03 -Frame 257 1.09454E05 3.73916E04 2.37418E05 4.49579E05 9.15693E05 1.56024E06 7.54366E05 5.64833E05 5.85069E05 6.41793E05 9.35070E05 5.97996E05 9.45007E05 7.28321E05 7.68092E05 1.46362E06 2.99263E06 1.11810E07 6.97305E06 5.68600E06 1.40221E07 6.26339E06 1.32617E07 9.65255E06 7.86881E06 1.15243E07 1.92960E06 7.95258E06 7.09053E06 9.79208E06 1.20431E07 1.44797E06 7.10205E06 8.56287E06 4.24996E05 1.55892E07 1.24693E07 4.28605E06 1.59931E06 5.25812E05 3.71497E05 2.47195E05 3.11436E05 1.38194E05 8.32113E04 8.74744E04 6.84118E04 1.36316E05 1.16961E05 8.00732E04 5.53997E04 2.28149E04 2.72002E04 1.33870E04 8.42556E03 1.12742E04 4.44206E03 2.86841E03 1.33454E03 3.61751E03 1.73383E03 3.60857E03 5.21731E03 4.46868E02 5.90732E03 5.70560E03 6.61243E03 8.47620E03 2.33411E03 5.42064E02 1.22554E03 2.65638E03 3.47707E03 1.15363E04 1.73754E04 9.20543E03 1.70408E04 2.91503E04 6.70709E03 4.61317E03 5.56912E03 2.42200E04 4.74026E04 4.07768E04 2.28793E04 6.15161E03 3.10802E03 5.32426E03 1.11230E04 3.12940E04 2.12431E04 8.82389E03 1.01426E04 1.53528E05 2.62323E05 7.04417E04 2.53981E03 1.86079E04 1.66313E04 4.98490E04 6.97483E04 6.41461E04 1.27924E04 6.34060E03 3.04527E04 3.08809E04 2.11720E04 3.61008E03 5.05985E04 1.12744E05 3.90333E04 2.97832E05 2.63001E05 5.17259E04 4.94181E04 2.35522E04 3.38348E04 5.56389E04 3.31592E04 1.04324E04 6.82770E02 6.94315E03 2.37097E04 6.66788E03 3.59527E03 3.16126E04 3.47890E04 1.61735E04 3.49916E04 1.65515E04 7.53990E03 3.64565E03 1.59966E04 1.70263E04 1.14843E04 1.13009E04 1.27898E04 1.74744E04 1.98697E04 2.29918E04 2.94448E04 1.47691E04 1.10279E05 1.83355E05 1.03383E05 7.65451E04 3.58057E04 5.89552E03 2.73654E04 1.64100E04 3.47444E04 3.25155E04 7.55780E03 1.43859E03 5.56979E03 1.77914E04 1.26730E04 7.85275E02 1.71496E03 1.23356E04 1.45065E04 4.04018E03 3.88945E03 1.57802E03 9.47678E02 8.43606E03 5.61568E04 8.42421E04 5.69219E04 2.55019E04 9.55388E04 1.91687E05 3.07213E05 3.16359E05 1.09057E05 1.26544E04 1.31122E05 2.25533E05 4.14913E05 3.09370E05 6.40663E04 5.82051E04 1.03738E05 5.75793E04 3.91429E03 1.72302E04 7.47954E03 1.81264E04 8.62417E03 2.71230E03 2.95547E02 7.62888E03 4.42392E03 7.72335E03 7.67935E03 5.69192E03 4.65920E03 5.62283E03 3.88605E03 1.04577E03 4.86998E03 1.31025E03 3.63341E02 4.59496E02 4.89417E02 1.30399E03 7.23711E02 5.18998E03 6.97680E03 1.48517E03 8.61196E00 2.18605E02 4.56325E02 3.05339E02 1.19235E03 2.33759E03 8.90448E02 7.43891E03 1.65524E04 1.33981E04 8.26817E03 1.71164E03 5.90498E02 4.50228E02 2.62127E03 5.84910E03 3.87993E03 1.88226E03 7.15512E03 3.44943E03 1.14998E02 4.07310E03 3.67622E03 4.32937E02 1.01689E03 3.40479E03 6.93048E03 7.85806E03 7.85480E03 5.69675E03 4.77808E03 2.07229E03 2.39182E02 2.38323E03 2.88518E01 3.99227E03 6.44680E03 4.84787E03 7.42777E03 5.77065E03 6.30627E02 1.85115E01 4.32633E02 4.97479E02 2.60873E03 5.06823E03 3.32664E03 -Frame 257 6.30235E04 2.08027E05 4.97168E05 3.17839E05 7.05551E05 1.37810E06 8.64194E04 5.70821E05 2.80061E05 4.30150E05 6.21482E05 1.16106E05 9.61565E05 2.51966E05 6.69967E05 5.37838E05 2.08191E06 7.15499E06 7.20745E05 9.52257E06 4.66741E06 3.51940E06 1.10597E07 2.65137E05 7.20015E06 2.82576E06 3.90819E06 5.42326E06 1.40154E05 4.18940E06 6.11979E05 2.41470E06 1.58681E06 1.11949E06 8.08245E06 4.66010E06 4.95868E06 6.66465E06 1.72561E05 1.26358E06 5.73481E05 4.14644E05 8.22382E04 1.68141E05 2.31795E05 4.49982E04 1.57902E05 1.15682E04 1.48090E05 1.53727E05 2.37537E04 3.10039E04 6.58285E02 1.35935E04 2.86673E04 7.65959E04 3.90176E04 1.05152E03 9.76587E03 8.23842E03 2.80714E04 4.34351E04 1.49689E04 1.82362E03 5.33857E03 1.35538E04 9.21614E03 2.17838E03 2.52367E03 5.91174E03 1.02016E04 2.93890E03 9.38457E02 8.41835E03 8.42280E03 2.74872E03 7.51571E02 1.43389E03 9.51026E03 1.99104E04 1.96687E04 2.08965E03 1.28539E04 1.40174E04 2.50784E03 2.58165E03 1.05269E03 1.21594E03 4.36858E03 3.04008E03 8.67188E03 8.99415E04 1.83946E05 8.43449E04 2.51178E04 3.78806E03 2.49147E04 5.26613E04 1.86722E04 2.52760E04 5.79023E03 5.23457E04 5.51326E04 1.52438E04 1.15659E04 1.08876E03 2.88764E04 7.96761E03 2.59892E04 9.04667E04 4.64647E04 8.00315E03 9.51841E04 6.10668E03 5.39373E04 1.76205E04 3.77556E03 2.65390E04 2.46336E04 2.08893E03 2.21991E03 5.77367E03 3.41635E04 5.35816E04 3.56518E04 4.53931E04 8.32867E04 8.25559E04 4.85164E04 1.25440E04 8.44990E03 1.03875E04 1.19109E04 7.85999E03 3.54998E03 2.22761E03 6.63831E02 5.27293E02 4.16093E03 7.76896E03 1.69189E04 3.62633E04 1.33503E05 2.26542E05 1.21721E05 1.58529E05 1.55115E05 6.84584E04 4.25285E04 5.59590E04 5.72310E04 7.55526E03 6.31736E03 3.86255E03 2.14437E04 6.89676E04 6.42041E04 2.63527E04 2.55083E04 4.34070E04 5.03769E04 2.68592E04 6.75022E03 7.20493E02 2.24245E03 5.34369E04 3.04474E05 2.58184E05 1.61494E04 9.13490E04 5.62047E05 1.19407E06 4.33099E05 1.39595E05 2.83908E05 2.02315E05 1.22332E05 1.02180E05 1.70756E05 1.18261E05 2.15227E04 7.18570E03 6.06229E03 1.46636E03 1.61435E04 2.52701E04 1.31290E04 8.21157E03 2.19564E03 1.72125E03 4.14445E03 2.24410E04 3.51441E04 1.33291E04 1.72779E03 1.12543E02 1.72906E03 1.95814E02 1.94644E03 3.95987E02 2.16572E03 4.75670E03 1.93850E03 2.34669E03 4.71932E03 3.51546E03 2.70601E03 4.67133E03 2.37242E03 2.31888E02 1.23234E03 1.36295E03 1.55805E03 1.86769E03 2.67363E03 1.76358E03 2.92531E03 7.37851E03 3.84058E03 4.49900E03 1.52535E03 2.37073E03 2.71183E03 2.84739E03 3.80887E03 6.84549E03 3.55719E03 5.52177E02 4.77688E02 2.83488E03 2.79133E03 7.44095E03 6.59225E03 1.78176E03 8.66032E02 8.77273E02 5.78232E03 1.59937E04 2.19338E03 2.25577E03 2.06500E03 7.56852E03 1.52254E04 4.93532E03 9.52186E02 8.11738E03 4.66001E03 1.20267E04 4.26745E03 7.07591E03 8.54964E03 2.36817E03 1.12751E03 2.68881E03 4.28249E03 2.04339E03 2.22339E02 -Frame 257 7.94740E05 1.37279E05 4.02561E05 2.77541E05 3.89248E05 1.37168E06 4.05477E05 5.75323E05 1.91781E05 3.40552E05 7.55576E05 1.94840E05 6.60821E05 1.65047E05 7.13786E05 7.42219E05 1.18373E06 4.95847E06 5.81200E06 9.90070E06 5.98854E06 3.50014E06 7.91022E06 3.89863E06 3.58985E06 2.10728E06 4.55656E06 6.18900E06 1.42283E06 9.86928E05 6.67450E05 1.36712E06 1.49571E06 4.10275E05 1.64166E06 1.79886E06 3.75284E06 3.44428E06 1.57671E06 2.85012E06 1.71141E06 9.68898E05 3.00326E05 1.66876E05 8.36225E05 5.61283E05 2.71129E05 4.71557E04 6.66401E04 1.52528E05 2.60883E04 2.64946E04 1.29908E04 6.15811E04 6.77378E04 1.97935E04 2.89226E04 1.56880E04 3.57304E04 1.70595E04 2.76379E04 4.93483E04 1.85880E04 1.58428E04 1.47074E04 3.69383E03 1.97115E03 9.02067E02 9.50032E02 2.46621E03 9.14511E03 3.57977E03 2.05333E02 1.87780E03 1.63410E03 8.76044E01 3.38498E02 4.49827E02 3.79467E02 1.78169E03 3.57799E02 6.35458E03 6.87267E03 5.63614E02 5.87312E03 7.50492E03 4.10068E03 2.86602E02 5.22105E02 6.00178E03 5.60717E03 1.54267E04 7.42503E04 5.17331E04 1.79588E04 8.44077E03 7.84707E03 3.03988E04 2.70118E04 9.81637E03 2.25783E04 1.84155E04 3.01348E04 1.77775E04 8.57781E03 1.47338E04 2.95233E04 2.52976E04 6.21684E03 3.72001E04 1.35316E04 4.09320E04 9.74151E04 9.82932E04 1.02599E05 5.69263E04 1.40093E04 1.55549E04 2.64498E04 1.70639E04 3.88003E03 7.25279E03 2.97007E03 1.88614E04 3.37691E04 2.78308E04 3.36127E04 6.59762E03 2.72086E04 9.65809E03 1.85417E03 1.03187E04 1.48577E04 2.10739E04 1.46258E04 8.96846E03 2.14819E04 4.80015E04 7.25950E04 4.65897E04 4.70357E04 2.83059E04 8.12805E04 1.85602E05 1.80261E04 1.54814E05 1.06782E05 1.76263E04 2.12206E04 1.52859E04 1.73310E05 2.10540E05 8.02922E04 1.81193E04 7.29100E04 1.11439E05 1.63742E04 1.19469E04 1.15396E04 1.12850E04 4.70611E04 3.49042E04 1.43392E04 1.05439E04 1.54308E04 7.30773E04 1.86404E05 2.31608E05 1.66789E05 1.95257E05 4.08902E05 4.65696E05 3.20281E05 1.26226E05 3.27860E04 8.54916E03 1.11854E04 3.49252E04 5.94198E04 3.33029E04 1.07073E04 1.36227E04 1.81842E04 7.72504E03 5.12698E03 3.04753E03 7.18430E02 3.40641E02 1.46353E03 1.36764E03 3.01336E03 1.94549E04 6.71225E03 2.51809E03 1.73718E03 3.88568E02 3.27801E03 5.17462E03 3.07323E03 6.11946E02 2.41252E03 5.71276E03 1.57917E04 6.81024E03 5.99640E02 4.67263E02 1.63836E03 1.86179E03 1.16115E03 1.31787E03 6.45753E03 5.62452E03 1.58314E03 2.52437E03 2.71168E03 1.26576E03 7.33959E02 3.54397E03 1.54152E03 4.59234E03 1.57342E03 2.51137E03 6.10092E03 4.97179E03 3.83345E03 1.89227E04 1.73586E04 4.19973E03 1.46182E03 3.11112E01 4.22220E03 1.22968E04 3.33387E03 2.20731E02 2.11957E03 3.51249E03 4.50017E02 9.77250E03 2.63469E04 1.18423E04 9.20548E01 9.39953E03 1.44384E04 1.03244E04 6.65934E03 5.11177E03 8.93521E03 2.75165E04 1.96326E04 1.74594E04 6.51822E03 1.26407E03 3.64086E03 4.68288E03 5.36033E03 5.18515E03 6.61772E02 -Frame 257 1.65626E06 1.12810E06 6.66620E05 3.55832E05 7.95950E05 1.20270E06 8.16247E05 6.12408E05 4.29191E05 4.54241E05 5.25505E05 5.10890E05 4.50299E05 5.99402E05 6.99634E05 1.11505E06 2.55836E06 2.56277E06 1.99966E06 3.67007E06 4.07537E06 3.85308E06 3.23353E06 1.82866E06 1.32092E06 1.92334E06 2.68638E06 2.42497E06 1.28451E06 5.82051E05 7.57909E05 9.84455E05 9.17891E05 7.88742E05 4.47046E05 5.08650E05 1.28627E06 1.69345E06 1.83652E06 1.78798E06 9.44603E05 6.08411E05 9.82294E05 1.07541E06 5.95994E05 1.57938E05 8.74960E04 1.10064E05 1.26660E05 1.47888E05 9.36489E04 3.60960E04 8.92149E03 1.99848E04 8.80693E04 8.05909E04 4.71742E04 2.88276E04 1.86608E04 2.83375E04 2.55574E04 1.38060E04 1.09877E04 2.52107E04 4.62506E04 1.01947E04 1.05146E03 5.64425E03 9.47528E03 1.32435E04 2.54055E04 1.60560E04 7.82418E03 7.62028E03 1.93041E03 5.25336E03 1.06722E04 1.56368E04 1.28046E04 3.15802E04 4.97646E04 3.89740E04 4.58014E04 5.21215E04 2.19603E04 2.07322E04 5.51558E04 5.21433E04 6.38291E04 8.22778E04 5.27763E04 2.01830E04 8.85735E04 7.40064E04 5.69454E04 8.05588E04 6.77854E04 1.05758E05 2.01980E05 2.25528E05 1.75505E05 1.23115E05 8.52557E04 6.19782E04 5.28261E04 2.71214E04 4.65948E04 6.75998E04 6.81992E04 2.38361E05 4.89504E05 5.37780E05 3.50451E05 3.49083E05 2.93004E05 4.32469E05 4.78303E05 3.79784E05 4.97917E05 3.65455E05 2.87961E05 2.18572E05 2.04921E05 5.88620E05 8.78527E05 7.84883E05 7.04459E05 3.26083E05 9.89833E04 6.12347E04 8.27305E04 2.14975E05 6.64269E05 8.57959E05 8.71616E05 1.35186E06 1.31073E06 1.53033E06 1.17863E06 4.17193E05 6.36364E05 5.71321E05 5.40692E05 8.45723E05 3.48955E05 2.23205E04 2.48299E05 1.96472E05 3.60335E05 4.55090E05 6.70931E04 1.74108E05 2.49770E05 7.58796E04 2.63433E05 2.83836E05 5.74766E04 2.64923E04 1.68604E04 2.14696E04 2.36577E04 1.24218E03 3.11918E04 1.09494E05 1.03608E05 3.41440E04 4.17852E04 2.13403E04 4.70446E04 2.11752E04 9.13573E02 2.94566E04 3.94650E04 7.35697E04 5.57955E04 5.73901E04 4.73882E04 8.52960E03 3.60276E02 3.62866E03 5.42250E03 2.31789E04 2.36602E04 8.02943E03 1.95222E03 4.16551E03 8.53371E03 9.02961E03 5.48021E03 2.66568E03 1.63869E03 3.29196E02 1.41821E04 3.99864E04 5.37405E04 4.64422E04 2.40440E04 9.07099E03 1.73196E04 1.08890E04 4.37334E03 1.26756E03 3.60577E03 1.74478E04 2.30656E04 5.17983E04 7.56323E04 6.22202E04 5.26436E04 5.57719E04 2.68354E04 2.12404E04 2.62562E04 6.93388E03 1.85381E03 1.10533E04 3.15149E04 3.40659E04 1.93344E04 3.69456E03 2.95807E03 2.15332E04 7.13633E04 7.55497E04 4.98620E04 2.48257E04 8.10126E02 9.36194E03 6.33640E03 1.06930E04 8.33903E03 1.02601E02 7.79860E03 1.17062E04 2.09597E04 3.56989E04 2.80823E04 9.77349E03 7.31020E03 2.12657E04 1.14938E04 5.86785E02 9.13827E02 6.84621E02 2.83041E03 9.71342E03 1.35585E04 1.14177E04 5.00976E03 3.35547E03 7.44274E03 7.09561E03 2.29657E03 1.02980E04 3.06386E04 1.57409E04 2.77753E03 -Frame 257 3.55260E05 1.38760E05 7.52920E04 9.15509E04 2.47315E05 2.96050E05 5.07679E04 2.10235E05 5.54078E04 5.64281E04 2.21888E04 6.04173E04 3.86945E04 4.98996E04 7.57119E04 1.19719E05 1.90267E05 1.14948E05 3.25768E05 1.66886E05 1.63039E04 1.37071E05 1.02500E05 6.53265E04 2.47960E02 1.94671E05 1.60601E05 3.70272E04 1.59211E03 6.91667E02 6.85924E04 4.85114E04 7.48146E03 1.38348E04 6.69609E03 1.15368E05 3.73472E04 1.06034E05 1.49913E05 4.78669E04 1.53692E05 1.34369E04 8.38398E04 2.41152E04 2.23721E04 3.56271E04 2.01904E03 3.99166E03 1.27597E04 3.85801E04 1.48485E04 5.26384E03 2.83582E04 3.78208E04 3.33156E04 6.88404E03 1.17495E04 6.28047E03 2.97774E03 8.79769E03 1.39778E03 9.09624E03 1.02982E04 9.11146E03 8.11801E03 1.07291E04 1.51988E04 3.89316E03 3.81780E03 6.64945E03 4.60237E03 2.43569E04 7.31964E03 9.28634E03 2.76590E04 1.78928E04 1.17385E04 4.29596E04 2.04953E04 2.89673E04 1.01092E05 1.21377E05 2.70624E04 1.03634E04 8.14860E03 3.57852E04 7.80524E04 2.87137E04 4.10899E04 9.24497E04 5.18656E04 2.34712E04 4.93791E04 2.48908E04 6.59284E04 1.02413E05 2.29365E04 8.21017E04 1.41812E05 3.28280E04 9.95636E04 7.17772E04 4.09704E04 1.32523E05 9.55778E04 1.21871E04 6.07643E04 9.04222E04 5.91680E04 3.41776E05 4.33838E05 5.35961E04 2.42180E05 3.96820E05 2.47892E05 4.16059E05 1.93714E05 7.73167E04 5.82953E05 4.20053E05 1.61614E05 4.97734E05 4.08030E05 4.29183E05 1.47468E06 1.65956E06 7.61450E05 6.13101E05 3.62918E05 7.15057E04 6.89566E04 1.16588E05 8.78049E05 1.56780E06 1.52583E06 2.06396E06 2.07490E06 1.33452E06 9.69941E05 6.49272E05 4.18092E05 4.14532E05 3.17503E05 3.51483E05 2.91975E05 2.48687E05 2.61132E05 1.26248E05 2.13813E05 4.26716E05 2.12599E05 1.26859E05 1.89311E05 4.91669E04 9.24787E04 1.53236E05 1.97388E04 5.56702E04 7.33503E04 3.36834E03 7.64343E04 1.33980E05 7.54504E04 2.48414E04 1.10658E05 1.13645E05 1.95205E04 3.09373E04 6.08049E04 3.18942E04 2.26785E04 3.51488E04 2.83288E04 2.49731E04 1.00576E04 1.12706E04 9.51274E03 2.50390E03 1.79708E03 2.30763E03 1.02591E04 7.12922E03 6.40107E03 7.22174E03 9.09378E03 2.11242E04 3.32568E04 7.97106E03 7.68341E03 2.42971E04 2.77242E04 2.73420E04 5.69323E03 1.92086E04 7.88733E04 3.41972E04 1.69364E04 4.67739E04 1.15387E04 1.15879E04 4.37544E04 2.44193E04 5.83166E03 4.72807E03 1.05025E04 1.12749E04 1.06485E05 7.52351E04 5.56445E03 3.20508E04 5.26105E03 2.20412E04 5.03302E04 1.92623E04 2.34541E03 2.10939E04 3.87512E04 1.32822E04 6.84152E03 1.47452E04 8.36832E01 2.53167E04 4.24347E04 2.44089E04 1.32636E04 3.90092E03 1.31122E04 3.64793E04 2.96811E04 2.34250E03 2.32841E04 3.29146E04 9.17299E03 1.03651E04 1.58841E04 8.45777E02 1.68414E04 7.31753E03 1.56101E03 1.88872E04 1.49855E04 1.61916E03 7.30137E03 8.12652E03 5.22288E03 3.11240E03 6.39819E03 4.06763E03 1.38392E04 8.29899E03 6.53434E03 5.23702E02 2.30333E03 1.49852E04 2.54967E04 1.08891E04 4.41389E03 -Frame 257 1.68901E04 1.29491E05 7.54081E04 5.83927E04 1.60036E05 1.32958E05 8.35518E04 1.43588E05 2.78624E04 1.80043E04 7.10235E03 5.57546E04 2.79248E04 1.55106E04 3.31495E04 1.56154E04 1.57669E04 4.89776E02 5.94183E03 5.64995E03 2.09607E04 1.25464E04 1.77460E04 2.88096E04 1.52050E04 2.97022E04 1.22385E04 5.92403E03 1.75305E03 1.97215E04 1.31369E04 1.47567E03 3.61865E03 1.02639E04 3.15792E04 3.07828E03 3.18720E04 3.02524E04 7.23851E03 1.72185E04 9.47730E03 9.76070E03 1.52808E04 2.92449E04 3.18457E03 5.52439E03 2.32180E03 1.97166E02 2.11635E03 1.63929E03 3.70272E03 5.87800E03 3.65195E03 7.51829E02 3.55020E03 6.55683E03 2.29563E03 2.07419E03 4.81837E03 3.99167E03 1.13722E04 3.16480E04 1.27325E04 4.96023E03 1.01883E04 1.08929E04 1.69952E04 3.96954E03 5.64000E03 1.16982E04 5.66470E03 2.11610E03 1.46703E04 1.37762E04 1.01516E03 4.44277E03 1.00006E04 3.17704E04 2.68339E04 7.42363E03 8.43742E02 1.54815E04 6.78223E04 3.25478E04 3.17925E04 5.13972E04 4.46631E03 1.21026E04 1.91586E04 7.26870E02 5.18783E03 4.43040E03 3.93352E03 8.23565E03 1.49654E04 1.23142E04 6.11643E03 2.40446E04 3.68849E04 1.91842E04 6.83984E03 7.10069E03 2.09049E04 1.40174E04 4.36771E03 1.62256E04 1.50675E04 1.79142E04 2.72044E04 4.08361E04 3.01403E04 3.48014E04 5.23132E04 3.63345E04 8.91738E03 3.92951E04 6.86606E04 3.35099E04 5.20936E04 7.55814E04 6.20828E04 4.39584E04 4.25380E04 8.49191E04 7.59459E04 6.61561E04 7.54941E04 9.91136E04 7.92279E04 2.28342E04 3.50194E04 5.41806E04 6.22403E04 6.41572E04 2.71352E04 3.12742E04 1.81600E04 6.57854E03 3.87440E03 2.16662E04 1.84936E04 1.81417E03 1.21473E04 7.33244E03 1.63021E03 5.31111E02 1.50391E04 3.22972E04 5.03634E04 1.96725E04 1.79248E04 3.28772E04 2.08393E04 1.67226E04 1.72130E04 1.92327E04 1.74654E04 3.39783E04 5.43247E04 7.61305E04 5.43046E04 3.14918E04 1.20181E04 2.97331E03 2.05074E04 2.06612E04 4.37537E03 9.43677E03 2.21991E03 2.88867E03 6.81194E03 4.51661E03 1.56441E02 1.83774E03 3.83625E03 2.28740E03 2.65213E03 1.19311E03 1.36102E01 1.15096E03 3.76341E03 4.68320E03 1.14057E03 5.73621E03 2.29385E03 3.52141E03 1.40835E04 8.28652E03 1.56951E04 2.01815E04 1.26346E04 1.34156E04 4.84299E03 2.30664E04 1.03052E04 6.17547E03 2.20821E04 1.74610E04 8.96603E03 2.76743E04 3.30948E04 2.15242E04 3.86608E03 4.38401E03 1.41403E04 2.64475E04 3.13628E04 7.58636E03 6.43507E03 1.80488E04 2.31945E04 8.27477E03 4.37000E03 1.36415E04 3.92555E03 6.13375E02 3.18163E03 3.11851E03 6.23944E03 1.29090E04 1.21457E04 6.85869E03 3.37215E03 2.23341E03 1.74049E03 7.03337E02 2.28140E03 4.19574E03 1.36017E04 1.23925E04 1.26519E04 1.58169E04 1.69804E04 2.42914E04 4.00749E03 4.10162E03 7.02857E03 7.56716E03 7.56441E03 4.96167E03 1.21920E04 2.39513E04 8.14066E03 2.33622E03 3.35828E02 1.92755E03 4.87286E03 5.55714E03 1.43301E04 8.83741E03 1.50507E03 1.07916E03 4.26554E02 3.63066E03 5.00297E03 1.38265E03 1.86091E02 -Frame 257 1.55519E06 7.10816E05 1.58323E05 1.79944E04 5.15955E04 1.23671E05 9.63308E04 1.15307E05 1.94801E04 1.00854E04 1.88482E04 4.78621E04 2.09987E04 1.04689E04 1.58734E04 1.74780E04 1.38112E04 5.76679E03 6.74579E02 4.54000E03 1.94997E03 2.78097E03 1.79563E04 1.21705E04 8.56951E03 2.30769E04 2.58897E04 1.16818E04 1.02139E04 3.01799E03 5.94736E03 1.35947E04 1.39337E04 4.07422E03 8.87348E03 4.32787E04 4.21965E04 9.90043E03 1.20437E03 4.53197E03 8.21974E03 9.09559E03 8.56377E03 1.10799E04 4.56886E03 8.56727E03 8.64109E03 2.78470E03 3.27220E03 2.72792E03 4.68673E02 1.46342E02 2.26612E02 1.52851E03 6.39796E03 3.81626E03 3.42571E03 5.99721E03 1.61829E03 2.08204E02 4.22654E03 2.65801E04 2.69420E04 2.01222E04 1.04747E04 6.61601E03 3.17933E04 1.74012E04 8.03555E03 8.58545E02 3.09300E03 8.38327E03 1.85456E04 8.78792E03 8.63338E01 7.78053E02 3.31293E03 1.26063E04 6.45199E03 7.31849E02 5.35040E03 3.31291E04 7.15375E04 5.03656E04 3.84079E04 3.42157E04 4.01064E04 2.71575E04 7.46906E03 1.21701E03 3.07023E03 1.86884E03 6.82029E02 4.41445E02 4.14479E03 6.68682E03 1.14095E03 2.52946E03 8.22888E03 4.59137E03 6.54875E02 3.60887E03 8.45313E03 3.76352E03 6.26439E03 3.26256E03 2.54425E03 1.09208E03 1.88307E02 4.84913E03 7.20531E03 3.93600E03 9.80668E03 1.29619E04 2.37126E03 5.82557E03 8.12518E03 2.36503E02 5.43297E03 6.73163E03 1.38242E03 4.04043E02 1.02384E03 4.38412E03 4.82541E03 1.47386E03 2.21952E03 7.79320E03 1.62224E03 5.83499E03 6.42945E01 3.81027E03 1.11461E04 1.74044E04 8.79013E03 8.67874E03 5.22110E03 1.27313E03 4.38366E02 9.02252E03 2.63096E04 2.06390E04 2.34023E04 2.67510E04 1.01066E04 1.44707E04 2.40025E04 1.90420E04 3.97387E04 3.32367E04 4.14550E03 9.28911E03 6.63072E03 4.68298E03 7.36415E03 4.81133E03 4.33559E03 3.37211E03 5.31321E03 1.44737E04 1.06481E04 3.16204E03 3.69713E03 5.87056E03 1.77270E02 7.37324E03 1.18993E04 4.99237E03 3.29486E03 3.72055E03 3.56710E02 7.13299E03 7.97626E03 6.45423E03 8.11471E03 7.07459E03 8.44036E03 6.48986E03 2.17386E03 2.82762E02 1.25500E03 9.13480E03 1.36851E04 1.11585E04 2.57336E03 1.90731E02 7.97418E02 4.29343E03 1.50372E04 3.05096E04 3.85420E04 4.61517E04 4.02825E04 1.31973E04 1.14349E03 3.13097E03 1.52658E04 2.44488E04 1.49280E04 3.10587E03 2.62847E03 1.96673E03 1.95323E00 1.42029E03 1.36421E03 1.40206E03 3.49872E03 6.13191E02 3.84930E03 2.32257E03 1.63611E03 1.12198E04 1.52841E04 4.02987E03 1.40900E02 2.19455E02 3.23279E02 1.91259E03 4.59424E03 3.32492E03 9.32154E02 1.84703E03 1.79502E03 2.46820E03 2.98764E03 5.65351E03 2.96275E03 6.78100E02 2.64406E03 9.78176E03 1.37089E04 1.30529E04 1.54745E04 1.94773E04 1.18139E04 2.95864E03 2.45342E03 3.54513E03 3.58435E03 4.45176E03 8.39386E03 7.15195E03 1.96004E03 4.19909E02 2.83463E03 6.90983E03 4.35722E03 6.05565E03 7.09729E03 2.27271E03 5.40021E03 5.59206E03 2.64462E03 3.81984E02 5.28993E02 4.34912E01 7.14945E02 -Frame 257 5.42361E06 2.36868E06 1.28436E05 1.02097E04 1.03085E05 1.04995E05 5.83225E04 7.88133E04 2.41811E04 3.45579E03 1.51681E03 1.53064E04 2.79251E04 1.01101E04 4.55954E03 4.77108E03 1.12061E04 4.59182E03 2.16920E03 2.97613E03 6.90887E02 3.01323E03 7.39426E03 3.91272E03 9.63009E02 8.46007E03 7.83141E03 2.20108E02 3.54989E03 1.40581E04 1.83201E04 3.58201E03 2.03271E03 5.68422E03 6.07001E03 1.27331E04 4.74926E03 1.79076E03 5.01004E03 1.93095E03 5.15232E03 1.77560E04 1.27972E04 1.44193E04 1.74594E04 1.11965E04 2.02765E03 3.37036E03 5.92293E03 8.24015E01 3.56526E03 2.67458E03 1.32415E03 5.17737E03 1.01323E04 4.32004E03 4.60698E03 5.88728E03 1.81581E03 6.78551E02 5.54253E03 1.33916E04 8.73026E03 5.81577E03 4.15540E04 4.99050E04 3.09278E04 8.94141E03 9.48409E03 1.01114E04 3.67731E03 3.04305E03 9.09197E03 1.23023E04 6.45893E03 2.12826E03 3.09223E03 4.18389E03 6.38975E03 3.17211E03 6.03662E03 3.10203E04 2.96130E03 4.86774E03 1.18652E04 1.97735E04 2.38065E04 3.08360E03 3.88240E03 6.52552E02 1.38083E03 3.72419E03 2.10229E03 1.95725E03 1.48050E03 8.28979E03 4.00178E03 5.85479E01 7.15607E02 3.61272E03 2.84416E03 7.02143E03 8.09693E03 6.00934E03 5.43503E03 7.45544E02 1.74672E03 6.52937E03 9.76619E03 1.22716E04 1.00012E04 3.41969E02 5.51444E03 1.05428E04 1.21684E04 9.49603E03 1.72335E03 2.58387E03 1.02866E04 3.57013E03 6.24919E02 1.04568E03 2.49679E03 3.88893E03 1.00308E03 1.58780E03 5.42331E03 4.27908E03 3.07056E03 6.88233E03 8.29144E03 2.20674E03 1.78865E03 4.05628E03 4.93032E03 3.78926E03 6.45010E03 1.31601E04 9.18865E03 1.37211E04 2.13693E04 6.42118E03 1.20870E04 6.87103E02 2.74786E04 1.24011E04 5.92196E03 6.72506E02 6.11795E04 7.97495E04 3.64780E04 1.49014E04 9.05529E03 1.78940E04 1.71104E04 3.58020E03 1.32800E03 7.32954E02 6.90729E03 1.20286E03 3.80478E03 2.80055E03 3.29874E03 9.52458E03 6.07701E03 1.66451E03 9.79683E03 3.88625E03 1.17745E02 3.75934E03 1.25476E04 8.64663E03 9.62476E02 1.40045E03 5.32077E03 5.18918E03 2.01538E02 2.29436E03 6.46987E02 1.33879E02 1.85891E03 6.67753E03 2.52532E03 4.60234E03 4.32007E03 8.76962E02 9.08149E01 1.50826E03 4.82947E03 1.92206E03 5.57967E03 1.21090E03 1.17442E04 1.58253E04 4.10598E03 1.82566E03 2.93247E03 3.30928E03 3.18007E03 1.82346E03 2.88292E02 2.38743E03 1.22786E03 1.34484E03 6.81988E02 2.11312E02 2.46537E03 5.26157E03 4.39770E03 5.42581E02 2.90984E02 1.68076E03 4.82034E03 3.59693E03 5.96779E02 5.89893E02 1.51291E03 2.71570E02 8.64584E02 3.30348E03 1.72623E03 1.35756E02 6.31551E02 1.38082E03 1.55366E03 4.54987E03 4.36835E03 2.44831E02 1.09457E03 4.01625E03 4.49038E03 3.30054E01 4.79651E02 2.42123E03 4.65093E03 6.98950E00 2.23426E03 1.59479E03 9.60257E02 6.79485E01 7.12699E02 6.52931E02 2.64254E02 2.06576E03 3.83966E03 3.46322E03 1.92460E03 4.86390E03 1.17938E04 5.84035E03 1.54704E03 1.11051E03 1.23796E03 2.14019E03 1.63177E03 2.98027E02 1.06379E02 -Frame 257 2.58323E06 1.10580E06 1.28011E05 3.43438E04 1.00679E05 6.31255E04 6.49411E03 5.09415E04 1.22725E04 6.84354E03 5.59658E03 2.60997E04 2.31407E04 7.00232E03 2.44721E03 1.82735E03 1.31811E04 7.22279E03 2.44147E03 2.37889E02 1.65229E03 2.12874E03 3.68420E03 6.95136E03 1.49565E04 2.44614E04 2.11559E04 2.14517E03 3.04175E03 7.13761E03 6.23008E02 4.33849E03 5.53161E03 3.04560E03 2.61528E02 2.80566E03 4.36655E03 1.78631E03 2.43457E03 1.39005E04 7.30340E03 1.12042E03 9.25244E03 1.21262E03 6.21895E03 6.02617E03 8.28691E02 9.47249E02 6.52401E03 7.98285E03 8.77905E03 9.93363E03 5.79187E03 1.22609E04 1.81325E04 4.37566E03 1.34797E03 1.11005E03 8.09878E02 5.59942E02 2.66854E03 2.15977E03 3.11703E03 2.11226E04 3.03098E04 9.98649E03 4.91615E03 1.57101E04 2.95018E03 6.20131E02 1.39468E02 1.24782E02 1.09279E03 2.09175E03 5.62494E03 7.06965E02 3.13463E03 8.61574E03 1.49340E04 1.16840E04 2.02767E03 3.53473E04 4.72303E04 2.14925E04 1.92879E04 3.75688E04 4.55728E04 1.53881E04 4.81418E03 7.83885E03 6.45640E03 1.84285E03 1.04460E04 1.88591E04 1.63665E04 7.65225E03 6.19519E03 3.22144E03 5.60227E02 7.47124E02 6.51221E03 4.67682E03 5.77795E02 2.49617E03 1.81601E02 4.20902E03 2.65194E03 2.02511E01 2.77393E02 1.64694E03 1.52542E03 1.14250E04 6.50813E03 1.59035E03 7.51665E02 2.63181E03 2.25206E02 6.74688E03 9.31659E03 1.16191E03 1.54127E03 3.03976E03 7.13118E03 4.94632E03 8.40441E02 2.53570E03 8.40958E02 6.58048E02 4.23756E03 9.15786E03 5.00195E03 3.51236E02 4.51760E03 4.84517E03 2.38571E03 1.73409E03 3.47038E03 4.27137E02 2.47807E03 5.95313E03 9.72873E03 7.90850E03 7.24723E03 2.00597E04 3.33474E04 3.12233E04 2.80295E04 4.12139E04 4.80260E04 7.78002E03 3.56168E03 5.18633E03 4.08371E02 3.42002E03 4.38608E02 1.55338E04 1.56271E04 5.01889E03 9.33976E03 5.62011E03 1.08619E03 4.72684E03 6.09340E03 9.63844E03 8.60765E03 4.32448E03 1.41502E03 5.34563E03 5.31010E03 2.60657E03 4.16610E03 4.73805E03 2.56772E03 8.28496E03 4.37129E03 1.37103E03 3.09167E03 1.92207E03 6.25088E02 1.31683E03 1.62216E03 1.87935E03 2.25104E03 8.45698E02 8.25677E02 4.30388E01 1.46298E03 2.38589E03 2.31172E03 2.15294E02 1.64676E03 3.09498E03 1.82952E03 1.40880E03 9.12415E01 1.44409E02 2.05479E02 3.34962E02 6.90480E02 7.77939E02 4.13706E02 5.95067E03 5.58540E03 9.53373E02 2.29715E02 5.50549E02 1.30435E03 3.06529E03 1.38276E03 2.64557E01 8.31960E02 1.27208E03 8.78271E02 2.86346E02 1.59483E03 1.97657E03 7.72944E02 9.60056E02 8.58595E02 8.02532E02 2.10934E03 1.35477E03 8.09509E02 2.52585E02 1.57475E03 4.33257E03 5.44255E03 6.53533E02 3.51427E02 7.14385E02 2.56852E03 2.00425E03 2.25054E02 2.35738E03 5.56813E03 2.97316E03 7.94671E01 6.85068E02 1.17700E03 4.36948E02 2.45558E02 6.18168E02 1.79126E03 1.44408E03 9.33455E02 1.15941E03 1.18584E03 1.65220E03 3.65169E03 9.61374E02 8.32504E02 6.58254E02 7.13642E02 3.21643E02 1.42388E03 7.89017E02 3.90569E01 -Frame 257 1.10274E03 6.45799E05 2.98211E05 6.28345E04 7.77732E03 3.49055E04 3.95305E04 3.88253E04 1.46211E03 1.00646E04 1.95533E03 9.61690E03 5.36590E01 1.06716E04 8.11049E03 5.82771E03 4.26905E03 3.64194E03 1.29315E04 4.72890E03 2.91822E03 2.96553E03 1.83813E03 6.21635E02 1.45526E03 1.12804E02 1.04700E04 1.12367E04 1.13623E04 8.10874E03 7.40626E02 1.68003E03 3.86056E02 3.69602E03 8.03518E03 9.24202E03 8.47109E02 3.69275E03 3.78027E03 4.61740E03 5.53878E03 1.28010E04 6.22399E03 1.79504E02 2.16778E03 1.28382E03 4.49390E02 4.88233E03 2.92479E03 9.04972E01 5.76953E02 1.63135E03 4.74433E02 2.66686E03 1.55814E04 1.12670E04 9.70228E02 7.72432E02 1.97149E03 5.48273E03 1.63314E03 1.69073E02 1.96576E03 1.13214E03 3.59544E03 2.14181E03 1.78646E03 2.55913E03 1.13824E04 6.28614E03 8.37157E02 8.97571E02 4.89485E03 7.87631E03 4.23007E03 1.73578E03 3.38356E03 1.01085E04 1.33944E04 1.10522E04 5.28161E03 3.66534E04 2.36445E04 3.22328E03 1.22787E03 2.26553E03 1.82022E04 2.62730E03 1.88227E03 9.71432E02 9.09135E02 3.35955E03 4.05526E03 2.57440E03 1.00805E04 1.02697E04 6.31089E03 5.60341E03 2.77139E03 2.18623E02 2.99394E03 6.04284E02 1.23239E03 2.87749E03 8.02802E03 1.30738E04 5.88100E03 2.65865E03 2.52414E03 1.32336E03 1.38114E03 1.20651E04 7.76127E03 3.65158E03 3.38488E03 2.00741E03 4.22836E03 5.91312E03 1.38499E03 3.53920E03 1.25340E04 2.71582E04 2.06228E04 2.88716E03 5.12249E03 9.24654E03 5.26688E03 9.73195E03 1.86121E04 4.32103E03 1.61502E03 6.22774E03 1.95257E03 2.96925E03 7.91272E03 1.11302E04 1.49716E04 8.79844E03 1.88748E03 7.89731E02 1.60257E03 1.32868E03 3.20452E03 5.44307E03 2.24825E02 2.93353E03 7.10944E02 4.71150E02 1.32264E04 1.41282E04 3.25848E03 2.20826E03 8.09902E03 1.43673E04 1.62715E04 1.08107E04 3.55672E03 6.53377E03 1.56276E04 2.98250E04 1.49413E04 4.15555E02 3.41022E03 5.75339E02 1.69427E03 1.69544E02 4.28346E02 2.11923E03 3.22459E03 4.14571E02 6.04522E02 5.36279E03 1.41992E04 8.67275E03 6.92952E02 6.61445E01 3.66419E02 1.52005E03 6.25209E03 2.92847E03 6.69881E02 8.02821E02 7.03800E02 1.00694E03 2.17115E03 3.71691E03 2.16324E03 1.67935E03 6.23977E03 6.61708E03 1.00576E03 3.04426E02 7.46740E02 1.24598E03 3.53037E02 4.06076E02 7.28201E02 5.27195E02 2.16874E03 1.01025E04 1.27792E04 6.37950E03 1.83483E03 1.29830E02 1.62722E03 5.16340E03 6.85029E03 2.32262E03 7.98392E02 1.46538E03 3.28178E03 2.28587E03 5.96814E01 2.52936E03 2.38304E03 1.17641E03 6.98181E03 6.41396E03 5.12176E03 1.11551E04 9.22996E03 1.85241E03 2.90928E02 1.98483E03 5.95377E03 3.39086E03 3.07149E02 3.16969E03 2.49290E03 4.90717E02 1.79612E02 1.60610E03 1.45130E03 1.06334E03 2.58560E02 5.40724E02 2.54605E03 3.11497E03 2.91924E03 2.75361E03 5.24573E02 5.05988E00 1.20847E03 1.91411E03 1.79294E03 1.38889E03 1.77338E03 3.93561E03 3.58315E03 5.48258E02 8.07021E02 1.19711E03 1.46358E03 2.48570E03 3.22060E03 3.22375E03 2.75394E03 -Frame 257 5.22701E06 2.82904E06 4.09234E05 5.69024E04 1.50769E04 2.15496E04 2.37272E04 3.36922E04 1.54082E04 1.00917E04 1.30660E04 1.46792E04 1.57045E04 1.19220E04 7.13373E03 5.14200E03 1.04531E04 1.55716E04 7.60871E03 7.18354E02 3.55135E01 9.42938E03 1.91245E04 8.58439E03 1.52137E03 2.39849E03 5.60419E03 2.48788E03 1.87836E03 1.04050E03 2.67498E03 5.68279E03 1.00974E04 3.44146E03 5.19325E02 6.44259E03 6.17209E03 9.18104E03 1.05011E04 7.40786E03 5.86176E03 4.82310E03 2.41333E04 3.04909E04 1.22389E04 4.41140E03 7.40106E03 1.48720E04 4.98420E03 4.97326E02 1.08955E04 1.68189E04 8.53685E03 6.44508E03 1.98289E04 2.45900E04 4.46203E03 3.48769E02 5.83728E03 1.88175E04 1.56647E04 3.80835E03 1.98747E03 1.81994E04 4.44345E04 2.72649E04 3.65366E03 5.74076E03 1.18855E04 1.01642E04 6.29755E03 3.15485E03 2.90876E03 3.47260E03 1.26662E03 3.94236E02 4.42742E03 7.23551E03 5.48374E03 8.60474E03 3.71470E04 9.07188E04 5.93060E04 2.37540E04 3.53487E04 6.41754E04 4.58507E04 1.33165E04 6.47854E03 5.72155E03 1.13497E03 8.71061E00 3.58009E02 2.83454E03 5.84707E03 1.92237E03 3.73485E03 1.72418E03 2.79224E03 2.72113E03 2.27388E03 4.36527E03 2.11576E03 4.67039E02 1.34103E03 2.17136E03 1.52517E02 1.93095E02 1.78269E03 1.70272E03 8.75700E02 5.25770E03 3.62558E03 1.46026E03 2.45160E03 3.14279E03 4.14183E03 1.89750E03 2.81887E02 1.12168E03 1.22748E03 4.19761E03 1.92409E04 1.34279E04 4.81863E03 1.40266E04 2.27998E04 1.84436E04 1.03740E04 5.74502E02 4.07949E03 4.92389E03 1.10293E02 1.29553E03 1.01917E03 9.17987E03 5.79354E03 8.08294E03 4.04548E03 6.20275E03 1.55020E04 8.06841E03 4.67329E03 8.78478E03 1.23352E04 1.20810E04 6.12425E03 2.79535E03 1.81349E04 1.21460E04 4.88708E02 1.52945E03 5.09341E03 6.46134E00 9.75325E02 7.38604E02 1.01080E03 1.75651E03 3.89630E02 9.90903E03 3.13173E04 1.93755E04 4.19127E03 6.35568E02 5.33658E03 3.10857E03 7.16423E02 8.61510E02 4.42680E03 2.44682E03 7.92415E02 7.38603E03 1.66549E04 1.08366E04 3.38872E03 1.66032E03 2.41399E03 3.66304E03 7.41075E03 6.00176E03 1.77267E03 2.38725E02 1.07896E03 1.73769E03 2.30501E03 1.08451E03 1.49152E01 3.39418E02 2.49605E03 7.15245E03 5.10235E03 2.19433E03 3.02211E03 1.08752E04 1.43830E04 6.74701E03 2.56749E03 6.68059E02 3.94767E03 1.58026E04 9.83437E03 1.79533E03 6.63502E02 1.61977E03 8.02843E02 1.44336E02 2.20731E03 3.27646E03 1.33765E02 3.26108E02 1.42125E03 1.50948E03 2.48575E02 2.28282E03 3.21763E03 2.26863E03 4.22048E03 2.47746E03 3.07266E03 7.08600E03 4.13848E03 5.55275E02 2.85542E02 2.67764E03 5.75711E03 1.64957E03 3.25503E03 6.49942E03 2.43682E03 7.00547E02 1.36754E03 5.19624E02 2.24314E01 1.10506E02 7.33157E02 1.35576E03 2.01342E03 9.83514E01 2.95524E02 2.23659E03 1.96068E03 1.92245E03 3.99927E03 3.52236E03 1.50467E03 1.11106E03 1.73864E03 3.58848E03 2.90080E03 1.72619E03 1.98620E03 4.58179E03 4.23248E03 4.39302E02 2.45256E02 1.65301E02 1.39754E02 -Frame 257 7.44166E06 2.90966E06 1.71442E05 5.48732E04 8.63318E03 1.01431E04 1.24807E04 1.12062E02 7.06858E02 2.68038E02 2.33470E03 1.81009E03 2.13897E02 2.07293E03 2.80770E03 1.34772E03 2.06378E03 1.15705E03 9.83075E02 3.15435E03 2.42549E03 5.13284E03 1.39969E04 6.54229E03 1.80645E03 2.71589E03 8.47445E03 3.49172E03 2.70057E02 2.30451E02 9.24411E02 4.32758E03 9.48906E03 3.66782E03 2.22246E03 5.96921E03 7.61780E03 7.12641E03 6.47485E03 7.30761E03 4.93502E03 6.19164E03 1.20151E04 2.14223E04 2.25617E04 1.15704E04 9.80804E03 6.53978E03 1.55097E03 8.26955E03 1.85072E04 1.32002E04 2.30513E03 2.97684E03 7.28323E03 3.99229E03 3.18271E03 4.44429E03 1.34980E04 4.76830E03 6.12266E03 1.71079E04 1.67182E04 3.62460E04 4.25747E04 2.12527E04 1.51371E04 1.42440E04 7.28422E03 3.85392E03 6.60894E03 1.78085E03 2.43442E02 1.08795E03 7.83298E03 1.01600E04 2.98056E03 8.56788E03 1.11649E04 5.98019E03 7.58554E03 4.16599E04 6.73634E04 3.31652E04 3.76727E04 3.24003E04 3.35877E03 3.07387E03 1.03620E03 3.12198E03 3.64311E03 1.83867E03 1.57474E02 2.01764E03 6.28272E03 1.15166E04 1.05208E04 2.19509E03 5.09623E02 1.73743E03 1.74522E03 1.17817E03 1.18098E03 7.29316E03 6.28583E03 2.06214E03 1.24876E03 5.44632E02 1.18028E03 8.83798E03 1.35927E04 6.58740E03 1.74865E02 6.31228E02 1.00172E03 3.38064E03 2.69028E03 1.10185E03 6.14377E01 4.47537E02 6.11914E02 6.77060E02 1.81259E03 1.36015E03 3.97500E02 9.70630E03 4.57025E03 6.14590E02 7.23932E02 1.62896E03 1.03960E03 1.43632E04 1.87465E04 9.34756E03 3.17318E03 1.69539E03 3.34538E03 5.95033E03 9.94020E03 1.43503E04 5.27445E03 1.08779E04 2.94320E04 1.34506E04 1.30368E04 2.25503E04 8.52126E03 9.86542E03 2.67234E04 1.64485E04 9.64479E03 9.13499E03 4.22407E03 2.12975E03 2.48037E03 2.09985E03 1.42288E03 1.41581E03 1.38754E03 4.20692E03 1.79626E04 1.60422E03 8.01617E03 6.57530E03 4.75247E03 6.09873E03 3.06997E03 3.97482E03 8.38458E03 6.67090E03 1.05516E03 2.11343E03 6.41434E03 2.72990E03 5.51933E03 4.89631E03 3.24716E02 6.85958E02 6.44325E02 1.02321E04 1.97237E04 1.55037E04 8.09554E03 6.58230E02 3.75502E02 3.37445E02 4.07035E02 8.37106E02 4.48597E02 9.86271E02 2.12422E03 9.41204E02 5.01987E02 6.08073E03 1.00494E04 5.44659E03 3.32135E03 7.48517E03 1.28435E04 4.45609E03 3.89057E02 6.10982E02 1.08195E02 3.23677E02 1.50679E03 2.02277E03 5.68726E03 4.26185E03 1.00903E03 2.57619E03 3.22586E03 1.51645E03 3.07932E03 3.10710E03 1.29916E03 5.52019E02 1.15956E03 1.24364E03 1.73065E03 4.33376E02 3.17630E02 1.65614E02 7.21222E02 2.51909E03 6.70601E02 3.43625E03 1.20505E04 7.88865E03 5.23018E02 3.13757E02 4.85634E02 7.87919E00 9.16136E02 2.62637E03 6.12530E03 6.64446E03 4.23827E03 4.32019E03 4.25470E03 9.82725E02 2.85724E02 1.20489E03 8.16977E02 2.64153E02 1.39461E03 5.94009E03 8.37530E03 1.58907E03 4.37739E02 4.42399E02 5.44771E02 1.50784E02 1.20306E03 1.58635E03 1.05914E02 1.76355E02 1.35921E02 -Frame 257 3.16645E06 1.40829E06 4.26948E04 5.01402E04 1.37815E04 8.23510E02 1.90200E04 2.31813E04 7.40952E03 1.64401E03 4.29379E02 4.61483E03 4.32405E03 4.66948E03 1.96679E03 2.58506E03 4.17237E02 8.12821E02 3.10614E02 8.16091E02 3.28171E02 2.74535E03 3.31658E03 4.36950E02 2.53013E03 6.87840E03 5.95642E03 8.91946E02 9.71289E02 3.40764E03 3.06480E03 5.90822E02 2.51989E03 4.19689E02 1.24035E03 1.37110E03 9.68157E03 7.93258E03 2.93599E03 2.46712E03 2.50364E03 3.50150E03 7.22268E02 9.18227E02 1.25679E03 5.61897E02 5.08086E03 7.29780E02 9.75031E02 3.18518E03 1.51094E02 3.37589E03 3.78808E03 4.51576E03 6.21011E03 6.33767E03 5.83331E03 6.32048E03 7.15789E03 3.32475E03 4.82743E03 1.05607E04 4.36296E03 1.54358E04 8.59470E03 1.37595E02 5.25028E03 4.32035E03 2.88809E02 8.40424E02 1.26246E03 9.43042E03 5.09732E03 1.91472E03 8.52700E03 8.90858E03 9.12430E03 1.08176E04 8.27904E03 7.45291E03 6.03132E02 1.15721E04 6.98640E03 1.60271E04 2.14751E04 1.60874E04 1.20047E04 1.58906E03 7.25793E01 1.53365E02 2.07096E02 3.35596E03 2.34925E03 6.06045E01 1.64147E02 6.28497E03 1.26617E04 3.40662E03 9.18974E02 1.36338E03 3.14887E02 1.52662E03 7.82805E03 2.00435E04 1.34259E04 5.62120E03 5.13289E03 1.30427E03 2.73462E03 1.32430E04 8.77074E03 4.68918E03 3.09282E03 9.59564E02 3.59243E03 1.26897E03 2.18445E02 9.36954E01 1.37535E02 5.72857E02 1.53457E03 1.18603E03 6.22629E02 4.88134E02 7.28677E02 4.70832E03 6.63916E03 4.33944E03 4.08923E03 2.15301E03 1.92270E03 1.53597E04 1.87844E04 4.58141E03 2.15137E02 1.47421E02 3.33062E03 4.65074E03 2.24100E03 7.51094E02 2.09251E03 1.76442E04 2.25840E04 5.76960E03 3.48175E02 6.38784E03 2.11545E04 1.61982E04 3.59474E03 6.97574E02 9.97136E02 2.19915E03 3.03153E03 2.27155E03 1.58445E03 3.01774E02 5.02409E02 2.69306E02 3.69904E02 5.73495E03 2.07188E04 3.47452E04 2.68186E04 8.30854E03 1.89993E03 1.29085E03 1.39763E03 1.43496E03 2.46823E02 2.86579E03 1.40928E03 1.34046E03 2.11111E03 1.00442E03 1.96601E03 3.66626E03 6.42145E02 1.77788E02 1.09859E03 2.89861E03 4.19128E02 2.07298E03 1.88634E03 1.52647E03 5.40108E02 1.61348E03 8.57436E03 1.18832E04 6.27771E03 3.00790E03 1.47716E03 2.29254E03 5.59258E02 8.45524E02 3.66203E02 1.94210E03 9.50749E01 6.28268E03 9.07467E03 1.73139E03 6.00009E03 4.79875E03 1.07903E03 1.04777E03 8.66292E01 3.08794E03 6.30753E03 2.03212E03 1.98191E03 2.58934E03 1.10053E03 7.03558E03 3.27146E03 6.10555E02 1.05293E03 1.61107E02 7.64824E01 1.20657E03 2.85056E03 2.16043E03 1.17036E03 4.04327E02 1.68413E02 9.66164E02 8.27218E02 1.58328E03 6.52468E02 2.53722E03 1.31433E03 1.81644E02 7.34923E02 1.05320E03 8.32193E02 4.13911E02 3.08723E03 8.16810E02 9.30678E01 7.76758E02 2.87706E03 2.34471E03 2.52288E02 2.26057E03 4.16743E03 3.33676E03 1.19478E03 1.72060E03 6.53369E03 3.03516E03 1.87014E02 3.97740E02 5.20275E02 9.97472E01 1.45606E03 3.09272E03 6.43701E03 1.22218E04 1.76755E04 -Frame 257 2.61319E05 1.18811E06 3.90421E05 9.92314E03 1.03564E04 3.38415E04 3.43651E04 2.41954E04 8.28237E03 8.74213E02 9.48123E03 1.33154E04 7.10135E03 4.23879E03 4.82349E03 5.77916E03 4.02694E03 1.09718E03 2.22218E03 3.43170E03 2.13227E03 7.83661E02 1.01632E03 4.64282E02 1.29504E02 1.04683E03 1.87926E03 3.23152E02 3.41328E03 4.80328E03 3.62134E02 5.12204E03 7.40677E03 8.77278E03 5.80242E03 1.23073E02 1.36143E03 4.11605E03 9.79610E02 3.35535E02 4.86916E03 4.88200E03 1.66809E03 3.71831E03 5.15746E03 2.78447E03 2.00847E03 2.87119E03 8.27584E02 1.71134E03 7.16875E03 1.95877E03 1.58684E02 4.95002E02 1.42479E03 5.24770E03 2.71559E03 1.57939E02 2.42916E02 1.95792E03 7.49773E03 7.08585E03 1.13322E03 2.12590E04 3.08503E04 1.45672E04 5.62607E03 4.82322E03 1.24652E03 5.69317E02 6.37301E03 8.43338E03 3.76150E03 5.76894E03 1.76260E03 1.92454E02 9.85732E02 9.00151E03 1.40083E04 3.00835E04 4.15857E04 1.76335E04 3.22367E04 6.54910E04 3.29584E04 1.06497E04 8.87019E03 1.25321E04 6.74543E03 3.28808E03 2.90646E03 2.45659E03 2.20799E03 3.84876E03 2.20069E03 2.27472E02 6.70781E03 3.04775E03 2.60869E03 8.05804E03 6.13175E03 5.21153E03 9.95010E03 7.36066E03 3.94787E01 9.55409E02 3.56394E03 6.43717E03 2.86877E03 8.86974E02 1.63599E03 6.14990E03 1.14205E04 3.05182E03 3.21113E03 9.89528E03 7.50391E03 4.48664E03 4.16583E03 2.62334E03 1.37636E02 7.09360E02 4.13933E02 1.30723E03 5.91793E02 2.14941E03 3.88441E03 2.97684E03 2.30086E03 7.94195E02 4.58296E03 7.45594E03 2.76713E03 3.56494E03 7.45976E03 1.35419E04 2.76097E04 1.78918E04 2.15272E03 2.56344E03 1.11438E04 7.18519E03 1.51246E03 1.35710E03 1.91657E02 2.65376E03 1.13627E04 1.44516E04 1.29300E04 1.10618E04 4.66018E03 1.67950E03 2.86962E02 2.93099E02 1.55950E03 2.92714E03 3.03465E03 3.17217E03 3.05316E03 7.80444E02 2.31464E03 5.06162E02 4.79433E03 4.65733E03 2.87973E03 9.33889E02 1.18690E02 1.14879E03 4.59030E03 2.73893E03 7.60537E02 2.64012E03 1.57449E03 1.27706E03 3.35960E03 5.69987E03 1.60604E03 3.80994E02 1.60394E03 3.44573E03 7.11617E02 1.69805E03 6.30702E03 9.87768E03 1.06122E04 1.74807E04 1.13496E04 4.25893E02 6.06111E03 4.39331E03 9.26149E03 3.64978E03 2.95656E03 1.13886E04 1.25730E04 1.13489E04 5.44940E03 8.22130E03 1.13068E04 1.20960E04 1.57342E04 5.78744E03 4.62564E01 8.87866E02 4.45759E03 5.00512E03 3.34672E02 1.03748E03 2.81670E03 3.98224E03 6.03714E03 6.93657E03 5.07743E03 4.33494E03 2.30311E03 8.60900E02 4.32675E02 8.28180E02 2.03670E02 2.93535E02 1.93088E03 2.95987E03 3.06601E03 1.79302E03 7.75653E02 4.94277E02 1.36325E03 1.46453E03 9.63756E01 1.75571E02 4.73072E02 5.09686E01 1.92256E02 1.13477E03 2.49629E03 2.77166E03 1.95649E03 1.02869E03 1.59075E03 3.14922E03 3.69794E03 2.33628E03 1.20149E02 4.52791E02 3.86523E01 2.93133E03 5.38999E03 1.93102E03 2.88918E03 2.54898E03 2.46369E02 9.13127E02 1.43936E03 7.29822E02 4.82482E03 7.77009E03 7.34771E03 -Frame 257 7.86562E06 3.73125E06 2.82292E05 6.80856E03 8.10170E02 1.50538E03 1.34045E03 2.92027E02 2.65371E02 2.37069E03 9.37420E03 5.13308E03 1.83082E03 3.85329E02 7.83691E02 2.10098E03 4.29821E02 8.69542E02 3.59976E03 6.94587E03 3.22159E03 1.25467E03 9.94562E02 1.03351E03 2.52724E03 4.42363E03 3.39203E03 1.93806E03 5.20339E03 8.21264E03 5.30376E03 1.45463E03 5.37042E01 3.24181E03 4.56803E03 3.70958E03 2.56382E03 5.53253E03 6.03175E03 4.01486E03 5.65659E03 3.70747E03 7.71367E03 1.46659E04 1.00524E04 1.97238E03 2.57892E02 5.20424E02 5.08122E03 6.57533E03 6.75630E03 1.01206E04 4.76508E03 2.89250E03 1.79653E03 1.96581E03 2.71776E03 2.91138E03 1.48998E03 2.17139E03 7.79888E03 6.60583E03 1.12804E02 5.18297E03 1.59426E04 8.10537E03 7.93330E02 8.95832E02 4.85959E02 1.55267E03 2.76160E03 4.34840E03 4.24253E03 2.01429E03 2.36227E02 3.33470E03 5.24334E03 2.84645E03 4.40461E03 5.76061E03 1.14027E04 1.76526E04 2.21929E04 1.99316E04 2.49180E04 1.54468E04 6.47945E03 3.61309E00 8.72051E03 6.55489E03 4.89608E03 4.98562E03 4.81111E03 4.85695E03 6.64487E02 8.26279E03 2.11840E04 1.12546E04 3.20423E03 2.68502E03 3.66329E02 1.70748E03 3.52756E02 3.40255E03 4.38072E03 4.13609E03 4.07583E03 3.77552E02 9.45401E02 3.07112E03 7.64564E03 2.86986E03 5.36833E03 1.87155E04 7.88263E03 4.77109E02 7.14017E03 1.47697E03 6.27323E03 6.68617E03 3.22569E03 6.83801E02 2.61539E02 2.39043E03 1.16464E04 1.63307E04 6.22781E03 6.65134E02 9.77824E03 1.19520E04 4.15651E03 3.84403E03 1.00414E04 6.99003E03 2.39655E03 3.51529E03 1.20171E04 1.56981E04 1.75298E03 3.25219E03 6.88775E03 2.62121E03 7.39098E03 1.07185E04 4.51197E03 5.19102E03 2.40276E03 3.82790E03 2.10985E04 1.16669E04 3.18738E03 3.47823E03 5.22754E03 2.94766E03 1.54112E03 1.72135E03 4.61552E02 5.86630E03 1.40943E04 1.38113E04 1.09298E04 6.32727E03 4.57640E03 4.27461E03 2.01315E03 3.53746E03 4.09306E03 7.85323E03 1.38406E04 5.09736E03 8.00337E02 8.37586E02 1.72587E02 5.76627E02 2.09320E01 2.87079E03 6.33247E03 4.75835E03 1.90654E03 1.01766E04 2.03953E04 1.70978E04 7.43406E03 1.14097E04 6.57441E03 4.07438E03 4.13175E03 3.50360E03 4.56578E03 3.92662E03 5.11551E03 7.54834E03 5.96710E03 6.74519E03 8.80147E02 1.52805E03 6.27007E03 1.35397E04 9.37697E03 9.43399E03 1.23757E04 3.97200E03 9.27825E02 1.86224E03 6.17549E02 1.66143E03 1.04143E03 3.02262E03 3.88791E03 1.42042E03 3.06935E03 2.18930E03 7.91165E02 8.73192E02 1.45411E02 9.21746E02 2.30982E03 1.93178E03 1.57535E03 2.29321E03 8.63260E02 1.33864E03 7.88089E02 8.47350E01 2.29105E03 6.18199E03 8.71641E03 4.67237E03 1.70624E03 1.94027E03 7.22839E02 4.93889E02 3.36807E02 2.19436E02 7.87159E02 1.86792E02 1.41161E03 1.51672E03 2.86340E02 7.58301E02 2.98654E03 5.47881E02 6.79954E02 5.22574E02 1.31358E03 7.32780E03 3.49949E03 1.66863E03 7.38282E03 1.60425E03 1.85962E03 1.80479E03 1.06936E02 1.03521E03 5.98268E01 1.53705E02 1.73604E02 -Frame 257 5.90076E06 2.67391E06 1.61314E05 2.31478E03 6.51178E02 2.34997E03 1.32983E03 7.01986E02 5.13020E02 2.92787E03 1.75789E03 2.92266E01 2.37327E02 3.87225E02 4.04654E02 1.40438E02 7.02327E02 1.53885E03 2.42455E03 4.42073E02 5.30457E02 2.29018E02 4.05297E02 7.19221E02 3.59853E02 7.51947E02 1.72541E03 1.32724E03 2.36358E03 3.08661E03 1.26720E02 2.05126E03 1.01940E03 2.92819E03 3.30529E03 3.01460E03 1.24416E03 1.22101E03 9.31999E02 6.93876E02 7.15113E02 1.00252E03 6.26466E02 2.24856E03 4.17928E02 2.13981E03 1.54094E03 4.04827E03 6.80763E02 1.55903E03 4.29268E03 1.14498E04 6.87821E03 7.81746E03 1.74208E04 2.02713E04 1.81955E04 7.23105E03 1.39398E03 5.14937E02 2.00145E03 6.02542E03 1.20438E03 7.70798E01 2.91840E03 6.21962E03 2.53760E03 2.06994E03 2.14161E03 7.06100E02 1.64923E02 6.30286E02 4.87366E03 4.91914E03 1.20454E03 3.22544E02 1.85898E03 5.01363E03 2.36336E03 1.03643E03 4.90188E01 5.57890E03 4.24439E03 1.60911E02 1.91929E03 5.71922E03 1.69572E03 4.70311E03 9.22179E03 3.86031E03 3.28987E03 4.66674E02 2.11176E03 1.70765E02 7.22245E03 1.94261E04 1.99664E04 7.18912E03 1.50672E03 1.39751E03 4.16637E03 2.35501E03 3.02317E03 6.41666E03 4.61530E03 8.04959E03 1.02309E04 3.87301E03 1.10332E03 1.01505E03 8.01759E03 7.38575E03 3.79915E03 2.97370E03 4.65843E03 6.49048E03 4.50324E03 3.23986E03 4.98736E03 1.74085E03 4.45619E03 5.84952E03 4.25089E03 6.75833E03 1.72617E04 5.21566E03 1.36279E02 8.74961E03 2.27664E04 9.50968E03 6.22101E02 2.51295E03 4.70504E02 6.12032E03 6.86623E03 5.23866E03 3.45839E03 2.06819E03 4.56974E03 2.30816E03 1.23037E04 1.55580E04 1.11353E04 8.11375E03 8.61225E03 1.31652E04 1.60432E04 1.64696E04 3.55329E04 3.85848E04 2.74631E04 1.91682E04 1.14177E04 3.16893E03 8.98141E02 1.19398E03 3.18024E02 4.85038E03 3.26672E03 2.89472E03 1.27089E04 6.49946E03 9.17913E03 7.91473E03 4.79140E03 3.42719E03 3.15642E02 1.00029E04 1.56113E04 4.85813E03 6.30725E02 1.95126E03 1.55576E03 6.53742E01 1.70406E02 2.79970E02 4.46211E03 5.77578E03 3.06910E02 7.39871E03 1.56526E04 2.26138E03 9.45687E02 7.34609E03 1.46454E04 8.46707E03 3.00214E03 9.01287E02 7.22655E02 2.71285E03 5.50707E03 2.28187E03 6.83492E02 2.14398E03 1.36001E03 1.51349E03 2.57093E03 5.51663E02 4.20115E03 7.53677E03 1.17242E03 1.16537E01 8.35897E02 1.49441E03 9.96997E02 2.47457E03 3.84105E03 4.41706E03 1.85417E03 3.77998E02 2.43698E03 5.82784E02 5.16458E02 1.28710E02 2.05949E02 5.85580E02 2.22156E03 5.49982E03 1.76572E03 1.21027E03 5.69495E02 8.70621E02 1.46814E03 2.34583E03 3.42967E03 5.29273E03 7.06730E03 1.01463E03 1.20439E03 6.51257E03 6.64700E03 2.41946E03 1.20580E03 1.74270E03 7.89289E02 5.73075E00 1.32171E03 1.45700E03 9.98877E01 1.53106E03 3.73326E03 6.94715E02 2.20590E03 3.40610E03 6.18298E03 4.99088E03 3.25208E03 8.37949E03 7.08016E03 1.83845E03 1.00997E03 3.55273E03 4.07498E03 1.32088E03 5.95371E01 1.51396E01 5.03829E01 -Frame 257 2.31015E05 5.32122E05 1.33744E05 4.09026E03 2.51780E03 2.88069E02 5.50208E02 5.30617E02 2.31181E03 2.39835E03 7.20273E01 1.03305E02 5.78548E02 1.49355E03 2.92583E02 4.48696E02 1.74740E03 2.51958E02 7.66693E02 9.96689E02 5.61593E02 2.76065E02 6.83606E02 1.26439E03 7.82724E02 1.39481E03 3.42109E03 4.42086E03 1.93126E03 5.23410E02 5.68007E02 1.63151E03 1.05049E03 6.03147E02 7.61819E03 9.42009E03 6.59943E03 4.55208E03 3.80658E03 1.61168E03 2.23235E03 5.15138E03 4.28669E03 5.21229E03 7.35152E03 5.81912E03 2.85529E03 3.09896E03 2.92587E03 1.65090E03 6.86684E02 9.01469E03 5.88138E03 2.45314E03 3.12845E03 6.76011E03 4.25563E03 3.57079E02 7.68225E02 1.39285E03 3.74830E03 6.40804E03 1.08963E04 1.21673E04 1.01778E04 1.65398E03 3.67856E02 8.06295E02 7.15872E02 2.43651E03 2.55520E03 5.70232E02 5.77069E02 2.26468E03 1.62474E03 1.46808E03 1.41332E03 2.78468E03 6.40815E02 2.72887E02 2.02829E02 6.40722E03 9.83845E03 5.98252E03 7.95050E02 2.60041E03 5.99720E03 8.17008E02 3.02084E03 5.43929E03 2.04858E03 2.40290E03 8.17986E03 7.11010E03 7.21056E02 2.00182E03 2.14022E03 1.62354E03 4.59771E03 1.84824E03 5.21415E03 6.72704E03 4.12264E03 4.46344E02 4.87644E03 5.75296E03 3.99839E03 2.73654E03 1.70997E03 4.29397E03 3.29173E03 1.86955E03 7.15036E02 6.81175E02 8.13338E01 6.23566E02 2.23239E02 1.85605E03 3.21877E03 5.55101E02 3.11451E03 1.47057E03 7.23653E03 1.23678E04 7.69400E03 4.17953E03 8.30519E02 5.20410E03 1.31051E04 1.14745E04 1.32732E03 1.44011E03 4.66575E03 1.67729E03 3.59390E03 3.62717E03 1.12170E02 2.93602E03 2.40691E03 2.01921E03 1.39937E04 2.54128E04 7.44998E03 1.26668E03 3.76235E02 1.93409E03 7.62718E03 4.07842E03 1.32928E04 1.06535E04 2.31355E03 5.04259E03 2.45657E03 5.90496E03 3.41877E03 4.06230E03 1.35902E03 5.54704E03 7.93854E03 1.25999E03 2.92733E03 5.03276E03 1.48115E03 3.47040E02 3.22863E00 2.76333E03 7.57684E03 1.26722E03 3.27503E03 2.66514E03 1.55766E02 1.23026E03 3.26717E03 3.18782E03 3.12612E03 2.04054E03 4.69794E03 9.99108E03 1.10150E04 1.66264E04 1.12013E04 1.26909E03 1.33212E03 1.11026E04 1.02247E04 1.67787E03 6.38531E03 2.24858E03 3.45980E03 4.70519E03 2.14945E03 1.95392E03 2.33418E03 6.69216E03 7.78561E03 6.70936E03 5.10760E03 3.36362E03 3.55144E02 3.61165E03 3.07055E03 2.26090E03 4.89326E03 6.30524E03 4.95450E03 4.65419E03 1.12899E03 3.26206E02 1.99030E03 7.32253E02 8.62081E02 4.27334E03 3.34933E03 7.55637E02 5.57287E02 3.67551E02 4.94372E03 6.42208E03 1.64998E03 2.54462E02 3.40003E02 1.68289E03 3.28073E03 2.65408E03 1.05823E02 8.92624E02 4.18095E03 1.86897E03 9.67292E02 3.13755E03 1.81521E03 2.70394E01 2.26921E02 4.53278E02 1.58572E03 4.61067E02 4.33408E03 1.19396E04 1.19898E04 1.25069E04 1.07921E04 5.45149E03 1.10290E03 1.32042E03 2.03757E03 3.07900E02 1.32684E03 2.46175E03 7.75911E02 9.07524E01 3.68054E02 1.47770E03 6.35839E02 4.43846E02 1.02978E02 9.41363E01 2.88074E02 -Frame 257 1.36544E06 6.69083E05 4.14869E04 7.30118E03 7.95964E02 2.60113E03 7.39742E02 2.12991E02 3.82872E01 6.98275E02 7.70007E02 2.22860E02 1.57062E02 5.21386E02 1.42575E03 1.26219E03 2.64307E03 6.88810E02 2.79341E02 7.15228E01 3.44107E01 8.42045E00 2.37840E02 1.91754E02 2.37627E02 3.88494E02 5.31428E02 5.46300E02 3.10254E02 6.78186E01 4.55527E02 7.94771E02 3.64398E01 1.12832E03 2.40675E02 3.13305E03 7.17021E02 3.10773E03 7.88222E03 5.58345E03 4.18640E03 2.05158E03 3.23530E02 9.77926E02 1.04136E03 4.21170E03 2.81451E03 5.87262E02 1.51066E02 1.31268E03 3.94162E03 5.10878E03 2.51610E03 1.92320E03 2.72813E03 3.98036E03 3.94932E03 6.99798E03 6.34186E03 6.21818E03 2.06815E03 9.79980E02 3.01562E02 4.83166E03 1.09569E04 5.96560E03 2.44471E03 2.21311E03 1.60074E03 3.21104E02 1.28570E03 7.96554E02 1.40604E03 1.68430E03 9.13116E01 2.05961E03 1.56494E03 1.63084E03 1.32230E03 1.26216E03 2.67793E03 5.76917E03 4.53126E03 1.59500E03 5.52581E03 1.14540E04 1.03746E04 2.61216E03 5.16707E03 7.20705E03 3.47954E03 1.91322E03 7.67376E02 1.20158E03 2.77167E03 3.63116E02 6.89082E03 8.95158E03 1.26897E03 1.36076E03 5.72957E03 3.80199E03 7.77978E02 3.79078E03 3.83765E03 3.54951E02 6.52615E02 4.47145E03 5.08089E03 2.89090E03 1.61292E03 1.31210E03 3.00421E01 1.92870E03 5.11088E03 6.78208E03 7.87362E03 7.89501E03 4.58522E03 1.30079E03 2.07627E03 5.30812E03 2.27075E03 1.44261E02 6.62279E02 1.53857E03 2.24704E03 5.57963E02 1.35763E03 1.36160E03 9.22069E03 5.58554E03 6.68665E02 2.24185E03 6.51015E03 3.71703E03 4.17953E03 3.17618E03 3.18875E03 1.65007E03 5.41630E03 2.05096E04 1.59287E04 1.16524E03 2.46054E03 7.12906E03 2.16217E04 5.15859E04 7.08348E04 3.77543E04 3.41117E03 7.35247E02 1.07249E03 1.62606E03 2.89242E03 5.33825E03 4.63170E03 3.45477E03 4.85058E03 1.89484E03 1.27792E02 7.79765E02 8.26135E02 5.13029E02 5.15972E01 2.75319E03 7.16656E03 7.77548E03 6.42291E03 4.71210E03 5.00816E03 2.46259E03 2.67951E03 1.39123E03 5.12977E02 3.41333E03 7.40310E03 6.42990E03 4.47741E03 3.66781E03 2.91792E02 1.29305E03 1.47849E02 3.73858E03 6.06265E03 1.10006E04 9.67109E03 5.88540E02 1.49889E03 9.38555E02 4.13407E02 6.25044E02 2.60469E02 4.87880E03 3.60886E03 3.88197E03 1.63677E03 1.93350E03 8.83379E02 3.53124E03 4.56155E03 9.71894E02 2.25039E03 1.10404E03 1.27504E03 3.10422E03 1.86583E02 7.81618E02 1.26740E02 1.09484E03 3.58530E03 1.01906E03 6.17690E02 4.15572E03 4.73536E03 4.19188E03 4.46870E03 4.41269E03 1.41978E03 2.39047E03 4.79076E03 1.91842E03 7.81295E02 1.12320E03 1.37876E03 4.04010E03 5.53929E03 1.05607E03 2.13570E03 1.95380E03 2.14613E02 1.01953E03 2.70791E03 2.50806E03 7.61038E02 3.41981E03 6.35718E03 1.80700E03 1.54055E03 1.32173E02 1.35943E03 3.00736E03 2.04349E03 3.92760E02 7.33181E02 2.10084E03 1.28798E03 9.33553E02 6.21383E02 3.86196E02 7.04393E02 6.90245E02 1.44333E02 2.85668E02 9.64622E02 3.64257E03 6.03507E03 -Frame 257 3.77675E06 1.79797E06 2.17287E05 2.03885E04 1.05966E03 5.87825E01 2.65224E02 5.37612E02 5.29298E02 1.00528E02 7.65885E01 1.33233E02 2.38657E02 9.25177E02 5.47395E02 2.23557E02 5.63854E02 2.87121E02 4.71995E01 1.40502E02 4.83051E02 2.24814E02 2.87939E00 3.30301E01 3.23808E02 5.76483E02 1.84406E02 1.32984E02 7.63196E01 1.05456E02 1.03672E03 2.96696E03 2.06596E03 1.86095E03 5.34437E03 6.66747E03 2.24161E03 6.51534E02 6.55138E02 3.25868E03 1.27927E03 2.92843E03 2.83695E03 8.37190E02 3.60563E02 3.55753E03 3.42976E03 3.12658E02 4.62030E02 1.01127E03 1.16795E03 1.19732E03 3.41135E03 4.93332E03 5.06924E03 3.41007E03 3.80761E03 6.87629E03 2.77393E03 2.39353E03 4.85516E02 1.93617E03 1.24378E03 9.58277E02 3.94158E03 5.96223E02 1.28150E03 6.35312E03 5.09356E03 6.60459E02 1.60763E03 6.29399E03 5.67068E03 5.96440E03 4.27400E03 1.84336E02 6.75035E02 3.01697E02 7.84450E02 1.32487E03 1.64038E03 2.92627E03 4.14171E03 3.94425E02 1.08521E03 2.65039E03 4.37559E03 1.71249E03 5.67780E03 3.10427E03 3.64578E03 2.72804E03 2.58311E03 1.47010E03 1.97040E02 6.86029E03 9.48914E03 3.27601E03 2.72912E03 1.79958E03 6.24596E03 3.58468E03 2.79580E02 1.04505E03 2.40666E03 2.09891E03 1.61999E03 5.09676E02 2.84040E03 3.84201E03 7.37481E03 3.89908E03 7.77323E02 2.09370E03 4.22113E02 3.85572E02 4.91635E02 5.88080E02 1.10975E03 9.69623E02 7.56787E03 1.76376E04 8.50966E03 2.89738E02 1.09238E03 3.66588E02 2.45198E02 3.44388E03 1.03991E04 6.92623E03 2.90264E03 1.95143E03 8.48186E03 1.59279E04 6.68498E03 2.05889E03 7.35045E02 5.04871E01 3.46893E02 3.23307E03 6.53484E03 1.91845E03 1.54296E03 1.20260E04 1.30991E04 1.04746E04 2.93821E04 4.88408E03 2.90452E04 2.99361E04 4.55494E03 3.14272E02 8.52149E02 3.51689E03 4.42598E03 1.01084E03 4.00592E02 1.34509E02 2.35291E03 5.15422E03 3.03919E03 4.88826E03 1.42378E03 5.52687E02 2.15740E03 1.45302E03 1.74203E02 2.30366E02 6.60129E02 7.54938E02 3.51994E03 1.02356E04 7.64024E03 7.15940E02 7.67090E02 1.66662E02 1.84493E02 2.54398E03 2.31364E03 3.18331E03 2.50703E03 3.62573E01 2.29441E03 5.21092E02 4.22064E01 1.07573E03 8.64259E03 1.07305E04 2.08030E03 2.92372E01 1.78172E01 1.23792E03 7.62167E03 8.17699E03 4.72017E03 5.40769E03 2.06859E03 3.78437E02 2.87787E03 3.13869E03 9.57067E02 1.58703E03 2.17776E02 3.00954E02 1.08351E03 5.02595E03 5.52131E03 6.46585E02 8.83887E02 1.11921E03 7.24044E02 1.38787E03 2.68858E01 8.47432E02 2.64382E01 1.20996E03 3.37111E02 1.01859E03 3.43133E03 1.87126E03 1.31672E03 4.83754E02 1.31501E03 1.43858E03 2.19263E03 7.88222E02 2.43954E03 7.45898E03 5.31828E03 1.93315E03 5.26884E02 6.64805E02 2.05274E03 2.33509E03 6.48315E02 2.95003E02 2.30294E03 2.57737E03 1.31817E03 8.56198E02 1.05355E03 2.05243E03 1.53454E03 2.09553E03 1.53630E02 1.44791E03 1.04883E03 5.64312E02 1.49275E03 1.28414E03 9.59408E02 4.54021E02 8.56701E01 8.82248E01 1.36343E02 2.41973E03 6.57599E03 -Frame 257 1.40579E06 6.25284E05 1.28405E04 8.98073E03 1.14062E03 4.16249E02 1.10067E03 1.74877E03 1.28954E03 1.48052E03 2.19809E02 3.35122E02 3.75780E02 2.13161E03 6.49978E02 3.49092E02 7.01157E00 3.66514E02 9.17425E02 5.87726E02 1.98395E02 4.02991E02 1.33149E03 1.20989E03 1.53972E02 1.42145E03 3.32093E03 2.17170E03 1.72353E03 2.63860E03 8.66767E02 1.39546E03 3.92019E03 3.77868E03 2.20584E03 6.36701E02 5.97238E03 6.81177E03 4.89201E03 4.49009E03 2.84343E03 2.15433E03 1.19451E03 1.42899E03 2.29451E03 1.84598E02 2.34455E03 2.43655E03 1.36747E03 3.62901E03 4.71454E03 3.24606E03 5.54643E03 2.53213E03 2.41665E02 1.09714E03 4.40414E03 4.22932E03 3.00203E03 3.06632E03 1.77532E03 1.20771E03 5.77541E02 4.20403E03 9.22017E03 5.50229E03 3.41798E03 2.31786E03 1.78596E03 7.92944E03 5.83130E03 1.24573E03 1.38105E03 2.03675E03 4.53679E03 4.69592E03 1.56153E03 3.37755E02 2.38680E03 1.02791E03 2.65894E02 4.13750E03 8.19024E03 6.99047E03 6.36200E03 6.88269E02 3.46700E03 1.37572E04 2.66130E04 1.87964E04 7.43375E03 8.80842E03 4.59662E03 1.64187E03 4.41675E02 2.73284E03 4.46320E03 2.59171E03 4.22071E03 8.06849E03 3.41599E03 7.93647E02 3.85552E03 8.48351E02 2.12314E03 1.71629E03 3.67130E03 7.43735E03 1.22943E04 5.60349E03 2.73499E01 3.16856E03 9.26161E03 4.41344E03 6.74681E02 8.08550E02 2.83548E03 6.50389E03 5.31578E03 2.23532E03 3.22784E03 1.18700E04 9.85681E03 2.58451E03 8.04427E02 1.23958E03 3.69759E03 1.09548E04 1.93903E04 8.51487E03 2.68105E03 6.76644E03 1.64189E04 1.28084E04 2.18714E03 2.78155E03 2.00571E03 1.12947E03 1.31358E03 4.09485E02 8.68529E02 3.06235E02 9.55059E02 1.47188E03 1.07305E04 1.21283E04 1.44905E04 8.82086E03 2.48759E04 1.84956E04 3.16559E03 3.06619E03 3.23094E03 7.17677E02 6.69160E02 4.29814E03 4.52669E03 4.85524E03 3.45839E03 7.37660E03 2.17965E04 1.84067E04 9.98904E03 5.45877E03 4.92197E03 3.70297E03 1.70518E03 3.18487E02 8.04497E02 2.42030E03 4.82045E02 2.96163E03 2.46134E03 2.44855E03 1.14955E03 1.43329E03 1.61504E03 1.73598E03 4.84667E03 3.93861E03 1.42317E03 1.21437E04 1.87967E04 1.28813E04 4.50748E03 2.68282E03 4.84913E03 3.64511E03 1.58777E03 1.70796E03 1.94777E03 6.21888E03 1.06208E04 3.19578E03 4.85243E02 3.51651E03 2.20747E03 1.69645E03 2.20639E03 4.45448E02 3.27851E03 3.65101E03 6.81662E02 4.00787E01 2.83273E02 2.34932E03 3.46989E03 5.99580E03 5.44302E03 1.68143E03 6.97621E02 1.76469E03 2.44958E03 1.68529E03 2.65994E03 1.75349E03 2.17005E02 8.80458E01 2.31223E03 2.74253E03 2.47001E03 1.65443E03 5.96004E02 9.93319E02 9.91718E02 1.56211E03 4.67780E03 4.76159E02 2.58451E03 1.73825E03 9.37920E02 9.21344E01 1.86941E02 1.64758E03 1.99055E03 4.49060E02 5.29365E02 3.16116E03 2.13193E03 1.81154E03 3.49277E02 1.54738E03 6.06451E03 5.21276E03 1.08966E03 6.96314E02 1.77220E03 1.08557E03 1.70173E03 1.79696E03 1.16396E03 4.55627E02 2.85769E02 3.62231E02 2.54554E02 1.15775E03 2.68415E03 -Frame 257 1.07000E04 2.48284E05 1.13534E05 1.90762E04 3.53484E03 1.57184E01 1.12938E01 6.77612E02 1.50155E02 1.85998E02 5.81837E01 1.39872E02 7.98517E02 1.02532E03 3.06052E02 5.30804E01 1.61426E02 1.06724E03 1.76920E03 4.79678E02 7.73380E01 9.46470E01 3.45758E02 2.54890E03 1.42957E03 4.48639E02 1.60982E03 2.58036E03 2.81233E03 4.84996E03 3.18133E03 1.40314E03 1.64870E03 1.96198E03 4.66246E02 4.13591E02 2.26056E03 1.29373E03 9.04750E01 1.76934E03 1.21640E03 4.28294E02 9.04692E02 4.69902E03 1.34840E03 1.46462E03 1.56345E03 2.81480E03 3.01428E03 1.41320E03 1.54372E03 3.75135E03 4.42643E03 4.32628E03 6.80447E03 1.83698E03 7.30519E02 2.38669E03 2.25186E03 9.25454E02 1.02001E03 5.65877E02 9.76896E02 3.39494E03 6.76528E03 7.06726E02 2.05194E03 2.60341E03 1.47122E03 3.26850E02 5.79572E03 5.82108E03 3.28242E03 8.73493E01 1.29870E02 3.44632E03 1.96878E03 7.72721E02 3.13319E03 1.02968E03 6.05006E02 2.07198E03 6.38375E02 1.46214E02 9.89402E02 2.54119E03 5.08437E03 9.86157E03 4.92050E03 6.75858E03 5.64410E03 4.16177E03 6.69739E02 3.93188E01 1.01882E03 1.93535E03 5.52338E02 7.27829E02 3.28733E03 7.58398E03 1.13185E04 6.03335E03 4.46976E03 2.08452E03 1.58429E03 4.73653E03 1.00332E03 2.21232E03 6.75005E03 3.34560E03 2.74466E02 1.28312E03 5.57524E03 3.69013E03 2.82225E02 1.70501E03 4.30172E03 6.71131E02 2.25467E03 7.68229E02 1.31621E03 2.38171E03 6.85429E02 8.43844E02 2.68783E03 6.91350E03 1.11964E04 8.17347E03 3.49864E03 1.45941E03 6.32808E02 2.94705E03 1.97545E03 1.66846E03 4.96270E03 1.05749E03 1.19656E02 4.98569E02 9.85386E01 7.39824E03 1.96812E04 1.67040E04 1.12544E04 4.92678E03 1.84662E03 4.90170E03 8.59616E03 2.08774E04 3.67032E04 1.67163E04 1.94777E03 1.21036E03 2.85124E01 5.76334E02 1.11286E03 5.98302E02 2.23678E03 8.95635E02 1.21729E03 1.00423E04 1.91339E04 4.77689E03 5.44183E03 1.09444E03 6.21576E02 2.76019E03 2.09820E03 4.07168E03 3.21632E03 4.00814E02 2.05917E03 2.43476E03 1.94816E03 3.88067E03 2.87645E03 2.83798E03 7.29498E03 1.21859E04 2.23427E04 2.27941E04 1.63205E04 6.74850E03 2.40888E03 5.59293E03 5.85634E03 1.57452E03 2.23216E02 5.22033E02 2.95995E02 1.10576E02 8.61198E02 1.49980E02 7.11220E03 4.84516E03 3.21000E03 1.88821E03 2.48766E03 5.20472E03 6.93564E03 5.29245E03 2.06481E03 2.82848E03 2.91284E03 5.79189E02 1.15797E01 1.25377E03 2.91256E03 5.97795E03 4.33034E03 2.20204E01 5.18838E02 3.00408E02 3.50766E02 1.02135E03 3.31246E03 6.68404E03 2.95353E03 2.55509E02 2.10136E03 2.25716E03 1.46012E03 3.61271E02 1.67308E03 2.10389E03 6.56104E02 3.99815E03 1.10859E04 8.47182E03 5.53738E03 5.09191E03 3.56945E03 3.46521E03 3.22191E03 2.68918E03 7.22528E01 1.24601E03 8.22590E01 4.62650E02 2.87422E03 4.40976E03 8.16925E02 5.82071E02 1.62790E02 1.25248E03 1.49529E03 1.39557E03 3.02838E02 1.04813E03 1.21395E03 4.42094E02 1.28056E02 4.77153E01 6.35781E01 4.14745E01 3.21710E02 6.28334E01 8.11060E02 -Frame 257 9.06660E05 3.23587E05 3.92437E03 3.93018E01 8.69408E02 1.83817E03 3.58920E02 3.41892E02 6.79131E02 2.97690E02 1.28164E02 1.57678E01 2.60623E02 1.41273E02 2.45684E02 2.25650E02 6.52721E02 5.38564E02 1.21421E02 1.05915E03 2.11615E03 1.07536E03 1.64755E02 1.07189E03 1.32627E03 1.05507E03 6.49831E02 1.62127E03 4.11047E03 1.48947E03 1.54349E03 3.32944E03 2.82257E03 1.86281E03 2.67508E03 2.31151E03 8.21749E02 7.32361E02 2.19809E02 3.74074E02 1.30261E03 4.18506E02 6.33734E03 9.30359E03 2.72949E03 7.40532E02 1.19237E03 3.57823E03 1.86381E03 7.72641E02 5.49786E03 1.12749E04 7.97687E03 4.39765E03 9.00548E03 8.52864E03 8.20018E02 2.11974E03 2.63207E03 8.76169E02 4.15379E03 1.43203E03 1.30839E03 1.65591E03 7.43973E03 5.43395E03 7.79324E02 1.10443E02 2.87893E02 2.25741E03 6.55697E03 2.23233E03 5.47371E02 3.51783E03 6.92347E03 1.26177E04 1.23407E04 1.09115E04 8.60421E03 2.24455E03 9.98911E02 1.70082E03 2.56892E02 2.10698E02 5.95161E02 1.33051E03 2.70572E03 2.32633E03 6.10360E02 2.20980E03 9.92469E02 4.99866E02 1.90374E03 1.71429E03 3.39248E03 4.41515E03 2.60631E03 6.71519E02 5.94391E02 1.48095E03 5.37307E03 4.74337E03 3.07552E03 6.72584E03 8.78255E03 4.54235E03 4.70790E02 2.45582E03 1.11828E03 1.97562E03 2.85020E03 2.66457E03 2.85217E03 2.01728E03 1.62971E02 2.42042E03 6.03771E03 7.94716E03 1.32393E04 1.17721E04 4.44119E03 5.98031E03 7.70702E03 6.99585E03 2.76526E03 6.72814E02 2.04520E03 2.77266E02 3.37512E01 1.53864E02 8.95293E02 3.94978E03 1.26505E04 9.50897E03 9.44381E02 1.55563E03 1.09048E03 1.93548E03 9.42874E03 2.18693E04 9.94783E03 3.06525E03 2.19157E03 3.95116E03 1.28843E04 5.87626E03 2.26988E03 6.97172E03 4.22177E04 1.13664E04 5.98786E03 5.77286E03 8.93745E02 1.20094E03 4.73640E03 7.65897E03 6.66359E03 3.47344E03 5.99208E03 1.32183E04 1.82899E04 1.17083E04 2.77552E03 1.52129E01 7.54713E01 4.31538E03 8.11534E03 2.20761E03 1.36031E03 4.51706E03 3.20929E03 1.11658E03 2.14325E03 6.25597E03 3.80070E03 1.76580E03 5.39838E03 8.19252E03 2.27004E02 4.19704E03 6.61115E02 3.86085E03 6.26301E02 3.13994E02 1.77674E03 7.29643E03 4.72158E03 1.45043E03 1.05261E03 6.08061E02 4.37451E03 1.49634E04 1.24438E04 4.09322E03 1.56395E03 4.66001E02 4.54854E03 7.47776E03 1.15055E03 6.96937E03 3.05703E03 5.47160E01 1.37156E03 5.20883E02 1.82994E02 1.80968E03 1.01059E03 2.68805E03 8.70067E03 5.44305E03 6.26774E02 7.18634E02 1.73577E03 6.79131E01 1.73985E03 5.56157E02 3.80987E03 9.60097E03 4.09727E03 9.05742E02 2.94443E03 6.20069E03 2.50581E03 3.24528E03 6.19593E03 9.29207E01 7.29886E03 9.90751E03 7.26966E03 4.59449E03 2.14015E03 2.03128E03 1.78677E03 5.41110E03 8.19301E03 6.26593E03 2.57713E03 1.15626E03 4.06354E03 7.64194E03 2.81780E03 2.52936E02 1.89965E03 4.77239E03 4.55457E03 6.94273E03 5.53196E03 6.82585E02 2.84151E03 1.93128E03 1.36194E02 3.64228E02 1.22709E03 8.50748E02 4.10644E02 2.73432E03 4.20725E03 -Frame 257 1.46299E06 7.85690E05 1.19786E05 1.08553E04 4.95203E02 1.69724E03 5.04483E03 3.66644E03 8.45043E02 8.98824E00 1.18682E02 3.77258E02 6.16678E02 6.08971E02 2.45396E02 1.51028E00 6.65676E02 1.12782E03 7.88068E02 8.19547E01 5.06688E02 1.46632E03 2.77188E03 2.31824E03 9.52284E02 1.14651E03 5.93611E02 2.45102E02 3.61614E02 1.86826E03 9.96488E02 9.35584E02 4.30473E03 9.28677E02 4.63257E02 8.97958E02 1.11229E03 1.14121E02 1.02812E03 1.79297E03 2.49031E02 9.00285E02 7.09006E03 1.61681E04 6.78856E03 1.00098E03 1.31792E02 1.86494E03 2.52232E03 1.94339E03 7.39658E02 3.91580E03 4.10575E03 1.65258E03 3.97235E03 2.69244E03 1.60255E03 2.52174E03 4.14298E03 4.32342E03 6.32207E03 5.41696E03 3.62777E03 5.91072E03 3.93966E03 8.24459E01 4.27454E02 9.23986E01 3.33883E02 1.08662E03 2.92328E03 5.29100E03 7.07487E02 2.48208E03 1.73841E02 1.95659E03 4.24625E02 3.16430E02 1.34544E03 5.50040E02 4.18262E03 1.76785E03 1.48563E00 4.42558E02 3.03780E02 7.99421E02 4.94604E03 3.76338E03 2.55575E03 3.87674E03 7.34997E02 1.08456E03 1.21600E03 4.47724E02 7.82134E01 9.20604E02 3.11679E03 1.51652E03 1.06392E03 2.88383E03 4.12448E03 2.85727E03 1.21661E03 3.91390E03 2.69304E03 3.74105E02 2.27630E03 1.29506E03 5.00425E02 3.87234E03 5.36666E03 8.42713E02 9.08092E01 8.71204E02 3.55818E03 5.48101E03 2.39254E03 1.74059E03 5.40438E03 2.97588E03 1.56173E03 2.42672E03 6.22487E02 3.18030E03 6.21180E02 2.03863E03 6.47514E03 5.65239E03 6.67978E03 7.51043E03 3.53279E03 3.96956E03 2.67093E03 4.80883E03 9.93623E03 2.87473E03 4.23127E01 1.96205E02 1.72496E03 6.90536E03 9.65965E03 3.24269E03 3.22634E02 8.79237E03 1.25700E04 2.54366E03 8.35264E02 1.61460E04 5.16759E04 5.23425E04 2.14422E04 1.17108E04 3.26052E04 3.12487E04 4.58709E03 7.00174E03 1.26311E04 6.40489E02 6.69863E03 4.53467E03 6.06146E03 2.38005E03 1.08893E03 2.77795E03 5.72757E03 3.70404E03 3.65529E02 6.83902E02 1.09207E03 2.28587E03 1.99572E03 1.00385E03 2.80198E03 1.92284E03 4.23814E02 2.80623E03 2.97028E03 3.08398E03 2.20182E03 2.64673E03 5.11952E03 1.13659E04 1.03163E04 4.31245E03 3.01670E03 1.12693E04 5.98833E03 8.29867E02 2.56032E03 3.75084E03 2.19457E04 2.25222E04 1.01779E04 7.33852E03 5.15242E03 1.99074E03 1.18726E04 1.16272E04 4.53627E03 9.46640E03 1.30058E04 8.75531E03 3.24343E03 6.51217E02 6.78942E02 3.89026E02 2.96794E03 6.33301E03 1.62188E03 9.83413E02 5.84512E03 6.56942E03 4.45337E03 1.14113E03 9.23905E02 3.46117E03 4.67063E03 1.63805E04 2.39106E04 1.36449E04 5.19881E03 4.43391E03 3.76571E03 9.12430E03 1.05373E04 2.51579E03 1.13275E03 2.52074E03 7.85430E03 5.04378E03 2.22259E02 2.11947E02 1.09241E03 1.72301E03 3.61424E01 1.21002E03 8.99987E02 1.04292E03 3.00279E03 4.00303E03 5.19419E03 4.16510E03 3.01270E03 1.91584E03 3.77357E03 2.24272E03 5.73825E03 6.27121E03 7.04380E03 3.49242E03 8.23546E01 6.35489E02 1.86963E03 3.42448E03 3.52132E03 1.95187E02 1.23932E03 -Frame 257 8.89739E04 1.59812E05 1.99677E04 5.19536E04 1.87765E04 8.92971E03 2.50739E03 4.69953E02 7.29547E02 3.40651E02 5.95807E01 2.87660E02 3.76509E02 3.51298E-01 6.41418E01 5.10986E01 8.12805E02 6.23601E02 2.65725E02 3.47052E02 1.40884E02 2.95326E01 1.50146E03 2.50546E03 2.25356E02 1.05410E02 6.24705E01 6.04856E02 1.31980E03 1.07669E03 8.97909E01 2.25009E03 5.87022E03 3.03380E03 4.57204E02 3.83508E02 3.73403E01 9.23910E02 1.91849E03 1.19828E03 5.77988E02 1.29864E02 9.10861E02 7.48288E03 7.79369E03 5.27455E03 1.36984E03 7.32802E01 1.26148E02 4.77284E00 1.29463E03 4.37740E03 1.99588E03 4.16354E03 8.39336E03 4.89918E03 1.51844E03 2.08098E03 3.54863E03 2.55451E03 5.43052E03 5.04384E03 9.71416E02 1.79327E02 3.96348E03 3.11634E03 1.26123E02 2.22345E02 6.07312E01 9.69666E02 3.99130E03 1.17235E04 1.28610E04 8.97887E03 5.34115E03 1.87148E03 5.02594E02 4.97071E02 1.04987E03 1.59367E03 4.37770E03 5.40841E03 2.86319E03 1.30936E03 1.90042E02 2.06624E03 5.02679E03 3.27849E03 2.93244E03 3.06836E03 1.35084E03 9.84281E03 1.69381E04 9.61324E03 2.96324E03 2.70884E03 2.23049E03 9.35592E01 5.99577E02 7.83834E02 1.24904E03 3.37655E03 1.92204E03 4.19283E03 6.06746E03 1.14292E03 4.67695E01 5.65391E01 1.89107E02 9.15989E02 3.14418E03 2.65027E03 3.09914E02 1.15505E03 2.67224E03 1.59112E03 4.78676E02 1.79106E03 3.75830E01 3.45283E02 2.29994E02 2.98511E02 5.38794E02 4.26149E03 4.99836E03 2.97080E03 3.12678E03 2.25787E03 1.02743E04 6.05033E03 1.17396E03 6.74873E02 2.82458E03 1.61458E03 1.47668E03 9.41624E03 7.57691E03 2.49733E03 1.18664E03 9.15079E02 2.03881E03 2.22466E03 4.33859E02 5.64512E03 5.10997E03 1.72684E03 9.51001E03 8.62910E03 2.55214E03 2.27823E04 2.05365E04 1.06245E04 1.18625E04 1.48643E04 1.39654E04 1.55632E04 2.81872E03 3.68267E03 4.36797E03 1.39278E04 1.70062E04 7.84676E02 2.10788E03 5.51927E03 1.20932E04 7.46323E03 6.51705E02 8.77575E02 1.45292E03 1.33006E03 6.68601E02 1.56549E03 2.00259E03 4.46889E03 1.15444E04 1.10723E04 1.99005E03 4.05760E02 2.31955E03 3.99845E03 6.47321E03 7.81240E03 2.07921E03 6.00764E01 2.20992E03 1.08983E04 1.54671E04 5.28861E03 7.63407E02 6.36209E03 1.17989E04 9.83198E03 7.51153E03 1.33861E04 1.01978E04 6.38216E03 5.40379E03 2.85584E03 3.98322E02 4.66868E02 8.32985E02 2.16761E03 1.82055E03 1.39344E02 3.27915E02 1.03339E03 3.39217E03 5.11893E03 1.86805E03 8.99582E02 3.31613E03 5.00341E02 2.94556E02 8.48552E02 1.18669E03 3.41511E03 3.07395E03 3.02307E03 1.78427E03 1.68989E03 1.74387E03 1.69442E03 1.90574E03 4.27547E03 9.71756E03 4.66792E03 8.97750E02 7.17783E00 6.85046E02 2.21796E03 3.45390E03 2.10129E03 1.46881E03 2.07012E02 2.03664E02 4.18117E02 1.32745E03 3.83200E03 3.30006E03 1.58307E03 1.35744E03 1.23998E03 3.17792E03 3.71457E03 1.21728E03 1.66202E02 1.55740E03 7.65449E02 2.84403E03 8.60781E03 4.81492E03 9.99878E02 6.36416E02 1.38420E03 2.81580E03 2.48416E03 1.79180E03 -Frame 257 6.17482E05 4.35699E05 1.32145E05 1.35988E04 1.74244E03 3.07233E02 1.17327E03 2.01722E03 1.32237E03 7.90315E02 7.80393E02 1.30327E03 7.45481E02 5.90575E02 4.46925E02 5.77048E02 2.14117E02 9.40618E01 2.24575E02 1.12402E02 6.60997E01 1.67057E02 5.69192E02 1.01698E03 2.89026E02 2.69857E02 1.24751E03 1.95343E03 1.15640E03 7.53948E02 4.56601E02 1.48733E02 3.47599E03 3.02191E03 4.18411E02 4.80288E02 5.07597E02 2.08571E03 2.98571E03 1.60927E03 2.23153E03 2.74467E03 7.77895E03 6.99969E03 2.47229E03 1.24783E03 8.10271E02 2.47269E03 1.87777E03 1.36747E03 2.12689E03 1.38100E03 1.67930E02 5.91477E02 4.76337E03 2.97390E03 4.75843E02 2.49290E03 1.46407E03 3.72726E02 3.52968E02 2.72180E03 7.82696E03 7.52952E03 1.18409E04 1.11744E04 3.62205E03 1.13974E03 1.54692E03 6.66044E03 1.16408E04 2.20666E03 2.84904E02 8.65892E01 1.20971E03 2.01460E03 1.29552E03 4.44752E02 7.66227E02 1.58826E03 2.91708E03 5.42709E02 8.38020E01 3.50805E02 2.03904E03 2.02578E02 2.53562E03 1.70996E03 1.34939E03 3.73829E03 2.10673E03 3.89952E03 9.03691E03 4.67273E03 2.40750E02 5.40895E03 6.86592E03 3.73642E03 6.25167E02 1.15165E02 2.11616E02 1.80273E03 1.73186E03 4.09639E02 1.09147E03 1.41254E03 3.98936E03 2.67115E03 6.35593E02 1.92933E02 6.78486E02 1.59366E03 3.55233E03 3.69721E03 1.94174E03 2.34584E03 1.07389E04 1.65960E04 8.88376E03 1.92929E03 1.39879E03 2.73536E03 2.33668E03 8.21665E02 2.29987E03 3.03441E03 3.32206E03 4.65980E03 3.86691E03 5.84971E02 4.79632E01 7.35508E02 5.27839E03 3.28336E03 1.59307E03 1.01287E04 9.82832E03 2.31813E03 1.35874E03 2.03145E03 5.61410E03 6.04154E03 1.24344E03 1.27851E03 5.65335E02 2.07701E03 6.80517E03 1.58248E04 2.64677E04 9.95028E03 1.80803E04 1.59409E04 6.60105E03 1.51487E03 1.08636E03 2.73371E03 8.18884E03 1.19400E04 1.11473E04 2.42522E04 3.88452E04 2.18773E04 1.10702E04 3.66250E03 1.42062E03 9.85882E03 9.28323E03 6.69200E03 3.73216E03 5.74296E03 1.06858E04 8.68822E03 6.00068E03 6.61476E03 2.92711E02 5.89085E03 2.67767E03 6.42414E02 6.31047E02 7.09356E03 1.25469E04 7.48269E03 3.07734E03 3.24599E03 8.26750E02 9.86699E02 8.51737E03 6.70197E03 2.29411E03 3.76857E03 4.27066E03 4.48296E03 1.24952E04 3.09136E03 1.60264E02 1.48595E03 9.19073E02 1.56674E03 1.29336E03 5.28143E02 1.55063E02 1.11193E02 2.59868E02 2.90887E01 3.74293E01 3.58956E02 6.41626E02 4.06044E03 7.52655E03 3.89000E03 5.24287E02 1.85085E02 8.75179E01 1.91362E03 3.46180E03 4.11936E03 2.17978E03 1.08892E02 2.96532E02 2.19161E03 3.11769E03 3.19949E02 1.83359E03 2.93323E03 8.16583E03 7.57695E03 5.72774E03 2.56516E03 5.38268E02 1.99082E02 2.36435E02 2.51703E02 4.27874E02 2.87076E02 7.33369E02 1.15468E03 3.69478E03 6.87516E03 1.95800E03 1.61597E03 1.39955E03 1.74681E03 4.87425E03 4.19545E03 1.28346E03 3.51342E02 5.34034E02 5.34873E02 1.63308E03 7.76492E02 2.96046E03 2.52298E03 2.26507E03 1.28893E03 4.05809E02 2.53057E02 9.89065E01 -Frame 257 7.89423E05 2.90711E05 1.72120E04 5.47015E03 8.23862E02 7.77847E01 6.90995E02 8.33744E02 4.06103E02 3.52060E01 1.52981E02 1.96968E02 1.28703E02 7.15784E02 1.00635E03 7.78198E02 2.41139E02 1.07172E02 1.24853E02 3.39699E02 6.69732E02 6.18999E02 2.66407E02 3.92264E02 3.88437E02 1.12787E03 1.56703E03 3.55399E02 1.86507E01 1.03470E01 3.02711E02 2.50109E03 3.00577E03 5.62310E01 8.12016E02 1.78583E01 3.30808E02 1.58881E03 2.49950E03 3.38187E03 1.23383E03 6.03581E03 3.29096E03 3.49367E03 1.22671E03 9.31204E02 1.49060E03 1.55319E03 1.49707E02 2.59535E02 5.01544E02 1.28474E03 5.54634E02 1.50129E03 3.72014E03 1.59428E03 1.74159E03 2.61067E03 2.81504E03 1.87264E03 1.14335E03 3.01661E02 5.98542E03 5.88556E03 7.66378E03 2.57073E03 8.32557E01 2.24789E02 2.95574E02 5.26183E02 3.54418E03 4.16316E03 2.42313E03 6.39874E02 2.02007E03 2.15592E03 1.55690E03 2.63777E03 2.67770E03 3.28547E03 2.14143E03 9.47777E02 6.82437E02 6.89558E02 1.05179E03 3.99441E03 1.85320E03 3.57202E03 7.76142E02 1.58065E03 3.41023E03 2.81193E03 6.77514E02 3.51043E03 5.30557E03 1.17743E03 4.34407E03 6.87120E02 2.01637E03 7.60905E02 5.46187E01 2.03058E03 4.40696E03 2.75527E03 6.56081E02 2.74272E03 7.91600E03 5.16992E03 5.78821E02 1.61873E03 1.76721E03 1.44945E03 1.53332E03 2.65375E02 4.30391E02 4.59500E02 3.63274E03 1.55479E04 1.00886E04 1.42188E03 1.28088E02 1.51924E03 3.89405E03 9.13827E02 2.85686E02 1.79011E03 3.51648E03 3.13205E03 8.38005E03 3.01985E03 2.53579E03 9.75647E03 1.35666E04 7.54265E03 1.68657E03 2.92136E03 9.98639E02 3.89762E03 8.95522E03 8.52768E03 1.25038E04 7.72293E03 2.81240E03 7.29430E02 8.10726E01 1.86116E03 4.94143E03 1.12415E04 3.90642E04 1.79211E04 4.08585E03 1.30761E04 1.40262E04 1.15199E04 7.27106E03 3.72034E03 7.11384E02 3.96571E03 2.15972E03 9.40365E03 1.90468E04 3.66975E03 3.11480E02 3.43195E03 4.87099E03 1.56482E01 4.18746E03 2.86723E03 5.53282E02 6.03382E02 2.64577E02 5.22306E03 7.84674E03 1.27588E04 1.19120E04 5.19334E03 1.44132E03 1.32343E03 1.11980E02 1.93968E03 7.01290E02 2.43224E02 3.87990E03 2.70837E03 7.02435E01 4.10694E02 1.63355E03 3.49836E03 2.01298E03 1.15931E03 1.05094E03 1.25597E04 1.91250E04 4.33206E03 4.38711E02 5.51641E02 2.91876E03 6.01189E02 6.00505E02 1.06580E03 8.54680E01 5.51824E02 7.71888E02 1.20541E02 1.41945E01 2.02090E02 3.01245E03 7.68655E03 2.94960E03 6.26966E02 1.39918E03 2.50558E03 5.45427E03 7.51312E03 4.93420E03 1.91442E03 5.21763E03 6.63758E03 6.70903E03 4.28099E03 1.29027E02 2.73778E03 1.88425E03 9.37305E02 6.01087E03 3.94905E03 4.77123E03 3.50578E03 1.13032E03 4.67904E01 8.84261E02 2.47295E03 1.94878E03 1.08908E03 1.96569E03 2.09935E03 9.08680E02 4.04327E03 1.37484E03 2.90679E03 3.23431E03 1.28052E03 2.41522E02 6.93344E02 6.99028E02 7.72248E01 1.98803E02 6.82360E02 1.32880E03 1.55578E03 4.89137E02 8.08917E01 6.11976E02 1.12644E03 1.61440E03 2.24138E03 2.45071E03 -Frame 257 1.39093E05 1.59630E05 3.40334E04 3.95042E03 7.64130E02 6.48295E02 1.23807E02 1.04281E02 1.19179E02 3.60312E02 6.70401E02 6.65257E02 1.16849E03 2.87845E02 1.04390E02 6.89839E02 3.09704E02 3.75339E02 1.21275E02 6.29670E02 6.13709E02 3.88819E02 1.51267E01 5.71191E01 1.35338E02 7.26712E02 6.96779E02 1.53213E02 2.69758E02 3.80827E02 1.12897E03 1.03289E03 1.09874E03 4.16324E03 4.35662E03 1.90001E03 2.00767E02 1.17842E03 1.54006E03 4.65333E03 5.90784E03 4.07255E03 4.47325E03 3.46474E03 1.73702E03 5.34346E02 9.54386E01 8.35478E02 3.46709E03 3.22531E03 1.07014E03 1.03762E02 1.40110E03 3.74112E03 7.78251E03 1.72054E03 4.55335E02 8.72585E02 2.78403E03 2.58042E03 5.14797E03 3.38696E03 3.12802E03 4.81529E03 3.16928E03 4.42348E02 3.19369E02 8.01140E02 3.46189E03 5.81800E03 2.44674E03 1.47452E03 3.83034E02 1.53262E03 2.03281E03 1.12645E03 7.66303E02 4.20516E02 6.67865E02 1.31469E03 6.58057E02 9.59744E02 2.00223E03 4.34958E03 7.44889E03 7.35394E03 2.92528E03 2.46763E03 5.42999E03 3.90395E03 2.59483E02 3.00085E03 2.60999E03 1.46304E03 2.25055E03 5.45713E03 2.80492E04 2.13059E04 7.97388E03 4.25266E03 1.24480E03 8.23235E02 8.67313E02 6.77833E02 2.52396E03 3.92784E03 4.14524E02 6.98836E03 1.43184E04 6.13792E03 1.01925E01 2.61377E03 1.42705E03 3.14479E02 5.67073E02 2.18646E02 2.33968E03 2.79894E03 4.23233E02 2.95741E02 1.58358E03 4.16264E03 6.59058E03 5.07418E03 1.11810E03 2.46085E02 1.30877E03 1.02819E04 1.88355E04 8.56119E03 5.18357E03 2.07407E03 2.79978E03 6.87624E02 1.12123E03 4.63361E03 1.00437E04 1.22579E04 1.30017E03 6.39023E03 6.42279E03 7.81474E02 3.82013E03 3.68377E03 1.16321E02 8.82426E02 7.85796E02 2.80255E03 3.25722E04 5.22705E04 2.02673E04 4.59330E03 4.80708E03 1.28909E04 1.83503E04 4.42306E03 1.77043E03 3.69511E03 2.20442E03 7.72548E02 6.76245E03 2.87150E03 8.51993E02 1.27171E03 4.51039E02 7.08113E03 4.28181E03 2.83804E02 1.05938E03 1.88068E03 3.98816E03 2.74987E03 3.59147E03 6.34790E02 6.81592E02 1.01730E02 4.61433E02 1.71220E03 2.51479E03 4.77879E03 5.90961E03 5.50776E03 8.60728E03 8.25155E03 3.62483E03 2.03350E03 4.40619E03 6.14653E03 3.89714E02 3.25846E01 1.69095E03 5.42045E03 5.03012E03 6.98315E03 5.24126E03 1.46310E03 5.82340E02 5.25737E03 2.73448E03 4.86381E02 1.83735E03 4.50649E02 4.95170E02 1.89362E03 1.54595E03 2.18662E03 5.31387E03 7.93688E02 3.93428E03 5.94488E03 2.27110E03 1.76903E03 5.93015E02 5.71428E02 1.83679E01 1.80925E03 2.79105E03 1.97579E03 5.43218E02 1.32947E03 1.74875E03 2.10227E03 6.21102E02 2.57950E03 8.71598E02 1.55011E03 3.19494E03 7.01328E02 4.11807E02 1.06466E03 1.63685E03 2.08640E03 5.72410E01 4.90438E02 1.28760E03 2.85661E03 2.34697E03 2.37223E03 2.10595E03 4.28128E02 3.16684E02 7.19460E02 8.13295E02 7.21260E02 7.76895E02 6.88674E02 3.36191E02 8.20521E02 4.20171E02 8.10401E02 1.59289E03 3.97526E02 2.33598E02 5.60774E01 1.78247E02 4.77905E02 2.11636E00 -Frame 257 4.48842E05 3.65902E05 7.57937E04 4.50358E03 1.88017E02 2.86249E00 2.21314E02 1.90653E02 8.13133E01 3.58672E01 2.86160E01 5.57458E02 4.06192E02 2.92837E02 4.07058E02 1.76200E03 1.84657E03 2.60701E02 3.38844E02 2.80511E02 3.90480E02 3.53522E02 1.89387E02 1.28794E02 6.59040E01 8.56681E01 5.90542E02 1.09033E03 2.43141E02 3.28907E02 1.86270E03 9.06358E02 4.59393E01 1.33455E03 2.06806E03 3.00503E02 3.23090E03 2.78770E03 5.97389E02 4.09070E03 1.75303E03 5.82543E02 2.09661E03 1.84110E03 2.77223E02 1.44049E03 9.04719E02 1.03398E03 1.53880E03 2.90612E02 2.86541E02 1.87356E02 1.48013E03 2.86933E03 1.06497E04 5.70439E03 2.56151E02 3.58651E03 5.84424E03 5.27433E03 2.74009E03 7.65025E02 4.52344E02 4.52272E02 5.91526E02 5.70990E02 1.26989E02 1.69586E03 1.24137E04 1.54448E04 3.53111E03 3.03652E03 1.46432E03 5.54611E02 3.95211E02 1.08436E03 8.37285E02 4.20706E02 4.24141E01 2.17270E03 2.66309E03 2.36642E02 1.67907E03 1.31264E03 1.45559E03 1.05315E03 3.09983E03 4.88947E03 5.27716E03 9.57583E02 1.57327E03 1.16790E04 2.78275E04 2.53232E04 9.30971E03 1.55275E04 4.22182E04 2.59153E04 3.60650E03 1.79862E03 2.43520E03 5.73934E03 8.75653E03 4.60338E03 1.59950E03 5.79577E03 4.23234E03 3.66413E03 4.49979E03 8.98214E02 3.26432E03 3.44778E03 1.21868E03 2.22845E03 2.68040E03 5.62452E02 9.09731E02 1.01988E03 5.95501E01 6.63617E01 3.04463E02 4.15614E02 4.94891E02 2.69896E03 2.81783E02 8.64973E01 4.59858E00 2.49998E03 8.80004E03 5.10680E03 2.76779E03 1.92145E03 1.19236E02 1.71481E03 7.02501E03 4.73291E03 2.25332E03 1.05854E04 1.68775E04 4.35078E03 6.24607E02 5.07920E02 3.31768E03 8.50015E03 8.64285E03 5.44498E03 4.06266E03 9.33144E03 3.10765E04 2.34654E04 1.80128E03 6.34821E02 6.88674E02 1.31070E03 2.23434E03 5.49482E03 6.93517E03 2.67099E03 1.79607E03 4.69507E03 3.84991E03 3.54807E02 4.96841E02 3.57720E03 1.00317E04 1.67955E04 1.30608E04 3.14277E03 1.11532E03 4.50625E03 1.30344E03 2.57880E02 2.64993E02 2.97462E03 6.92937E03 5.61132E03 4.09976E03 5.89024E03 6.96192E03 1.03785E04 8.38160E03 2.19169E02 8.55159E03 2.58311E03 7.68621E03 1.60346E04 2.42711E04 1.95654E04 4.92571E03 9.93208E01 1.76520E03 2.50545E03 1.04437E03 1.58987E02 6.14838E02 2.98941E03 2.83868E03 4.55688E03 7.90675E03 3.04397E03 4.87795E02 7.33739E02 1.15395E03 7.88604E02 2.08875E02 1.36068E03 4.79721E03 9.95415E03 6.53617E03 1.74025E03 2.31372E02 8.05074E02 3.38126E02 5.95385E02 1.36140E03 1.09212E03 4.53643E02 3.19864E02 3.60496E02 5.30312E02 8.58897E02 1.91904E03 2.06682E03 1.80608E03 2.76841E03 2.88423E03 1.42257E03 3.35661E02 2.09775E02 4.46916E02 1.13616E03 8.08288E02 1.06120E03 4.59155E03 3.63747E03 1.07693E03 9.44029E02 1.27322E03 2.90128E03 1.42034E03 2.25321E03 4.63716E03 2.18271E03 1.34634E03 1.04619E03 2.88942E03 3.54731E03 1.32574E03 1.01317E03 2.55495E03 3.51314E03 2.35650E03 9.56263E02 6.04022E02 1.31368E03 2.03709E03 9.99142E02 -Frame 257 1.01121E06 4.84481E05 2.89575E04 2.95922E03 1.13074E03 9.36633E02 1.24911E03 8.67996E02 6.65031E01 2.77285E02 2.85585E02 1.87826E02 9.93608E01 7.77989E01 4.36617E02 7.32868E02 2.53580E02 1.45029E03 2.37571E03 1.69915E03 1.70005E02 7.56555E02 1.05135E03 7.77895E02 3.59211E02 1.99419E02 4.89557E02 3.41838E02 8.77677E01 4.97524E02 7.80924E02 2.46715E02 1.12892E02 1.59925E03 5.57782E03 7.30621E03 3.95678E03 1.77118E03 3.01105E03 2.07770E03 5.76354E02 2.31723E02 2.73371E02 1.50750E03 2.30997E03 2.83729E03 2.15858E03 4.98130E02 1.14510E02 7.24673E02 2.13988E03 3.65630E03 3.66567E03 6.21006E03 9.95608E03 5.24040E03 3.26548E03 2.12283E03 1.78621E02 1.75886E02 4.88960E01 7.52937E01 1.70613E03 7.69189E03 9.40255E03 2.86817E03 6.63173E02 1.30476E03 4.04486E03 5.49832E03 6.36395E03 6.40020E03 4.21865E03 2.69872E03 2.91860E03 5.27394E02 7.05414E02 1.76984E03 1.86721E03 1.07058E03 3.49450E02 2.22120E03 1.23225E03 1.68039E03 8.73487E02 1.42272E03 4.98320E03 5.86249E03 1.71915E03 8.17497E01 9.99250E01 1.96237E03 1.32217E04 1.08256E04 2.25320E03 3.17528E03 9.43467E03 8.14851E03 4.59763E02 7.46681E02 2.32729E03 8.61635E03 7.50220E03 1.54105E03 6.04704E03 3.63560E03 9.10404E02 4.98721E02 2.09936E03 1.18068E03 2.60754E02 6.59413E02 7.91897E02 4.48283E03 6.21771E03 3.40123E03 1.06625E03 1.28950E03 1.25719E03 1.09484E03 1.35516E03 2.03843E03 5.15192E03 5.20082E03 3.97734E03 2.63332E03 2.55300E03 1.84911E03 3.17623E02 1.37152E03 3.39406E02 1.49712E03 3.20984E03 5.61044E02 1.53498E03 6.97070E02 4.43403E02 5.54742E02 3.96929E03 3.20280E03 6.48138E03 4.79811E03 1.36217E02 1.08739E03 3.15130E02 7.62441E02 5.75590E02 4.93924E03 1.74799E04 3.85442E03 1.97567E03 1.30379E03 1.48713E02 1.57497E02 1.70489E02 3.24708E03 7.09687E03 6.58930E03 1.56646E03 1.64520E02 3.19059E03 6.14338E03 3.25018E03 1.72133E03 2.29496E02 4.10721E03 2.79617E02 2.12910E03 3.86519E03 2.60193E03 5.26941E03 4.61966E03 3.92071E03 3.17164E03 4.48533E03 4.83873E03 1.29490E03 5.84787E03 3.81720E03 7.88991E02 3.27294E03 5.10185E03 8.72918E03 1.16337E04 4.34793E03 2.22519E02 1.28317E03 5.62497E03 2.41906E03 1.48384E03 2.87266E03 2.12399E03 7.95437E02 1.86113E03 1.64016E03 6.02011E02 1.21194E03 7.54917E02 2.11639E03 1.87479E03 1.87142E03 1.77231E03 1.56923E03 1.28244E03 5.08740E02 4.92046E02 1.54223E03 3.66205E03 3.67781E03 3.00172E03 3.62938E03 8.96798E02 1.01115E03 3.67240E03 1.11937E03 5.63107E01 2.37644E02 1.22940E03 1.47418E03 1.44368E03 4.72597E01 1.86084E02 1.31541E03 1.24245E03 1.14608E03 2.41170E02 6.43844E02 1.63484E03 3.07214E03 5.00855E03 4.40574E03 1.98030E03 2.83715E03 4.13811E03 7.18756E02 5.97590E01 1.76379E03 4.08287E03 1.75900E03 8.37832E02 1.82479E03 2.43897E03 1.70631E03 2.18743E03 3.86911E02 5.72087E02 1.41775E03 1.16916E03 5.43035E02 2.21955E02 7.56652E02 3.05562E02 7.81533E01 1.02023E02 1.16320E03 7.24043E03 1.24678E04 -Frame 257 1.86560E04 1.57419E05 1.17658E05 1.87537E04 2.21597E02 2.37111E02 2.98825E03 8.81176E01 2.04450E03 3.48978E03 2.91327E03 3.51430E03 3.03452E03 2.08921E03 2.96208E03 3.72386E03 2.10262E03 2.91443E03 1.14636E03 5.59815E01 3.29700E03 5.34154E03 1.75128E03 9.78000E02 6.67469E02 3.18090E03 6.39498E03 2.94297E03 1.77345E03 2.87570E03 5.66358E03 1.00161E04 4.72054E03 3.63489E03 2.65793E02 3.86920E03 3.56034E03 3.67236E01 1.83555E02 3.44782E03 3.92050E03 1.80865E03 1.35818E03 5.37822E02 2.91775E03 6.40711E03 3.79116E03 2.60251E03 1.23073E04 1.78780E04 4.96294E03 8.54278E03 4.98161E03 7.79551E03 1.13759E04 8.81224E02 1.99238E03 7.98909E03 9.45525E03 2.40562E03 3.97432E03 9.48573E03 1.69078E04 8.33957E03 4.07594E03 2.07618E04 1.20745E04 7.87687E03 6.07528E03 7.81749E03 1.07151E04 2.23685E04 1.10247E04 1.56648E04 5.61417E03 6.33317E03 1.26634E04 8.75593E03 7.48819E03 2.32220E03 1.39602E04 2.73283E04 2.84819E04 1.83725E04 6.29111E03 3.89141E03 1.40883E04 1.58643E04 1.42781E04 1.21010E04 8.17862E03 1.55163E04 1.51504E04 2.49522E03 4.27516E03 3.93898E03 9.40297E03 2.03100E04 5.79125E03 4.49134E03 4.17280E03 1.61952E04 2.54481E04 2.21041E03 2.18317E03 1.96185E04 3.62473E04 3.64027E04 1.46473E04 8.55701E03 2.69817E03 1.14610E04 2.89001E04 8.00266E03 1.05322E04 3.45293E04 2.23185E04 1.13891E04 1.56162E03 3.89148E03 2.47343E04 1.40055E04 3.48601E04 6.49248E03 7.08005E03 4.16608E04 5.72645E04 3.07589E04 3.23902E04 1.04903E05 1.77969E05 2.54250E05 2.72853E05 1.24343E05 8.54157E04 1.61446E05 2.33672E05 1.60720E05 5.17008E04 4.52590E04 1.76952E05 3.75929E05 1.99899E05 6.99912E04 5.68028E04 1.41866E05 2.33648E05 1.48874E05 1.35730E05 1.50771E05 1.80192E05 2.86724E05 3.70987E05 1.93187E05 7.19524E04 1.40238E05 2.87009E05 3.19053E05 2.32102E05 1.33628E05 1.44155E05 1.77743E05 3.22297E05 2.45424E05 1.04971E05 6.80836E04 1.07827E05 1.53110E05 8.53263E04 4.10374E04 3.25978E04 1.41255E05 1.08504E05 7.07932E04 1.81760E04 1.40987E04 4.81730E04 1.25726E05 5.20056E04 1.26460E04 1.89156E03 3.45481E04 5.26489E04 3.59757E04 7.72943E02 1.50712E04 2.52667E04 4.62542E04 1.51939E04 1.14796E04 4.77482E03 2.64846E04 4.10374E04 3.78572E03 3.18310E04 1.52418E03 4.86189E04 5.97425E04 1.34927E04 3.33290E03 2.60521E04 9.18841E03 2.38693E04 5.54402E03 1.20711E03 1.80866E04 4.37167E04 3.49085E04 1.90442E03 1.20896E04 6.85107E03 1.83794E04 2.19838E04 1.80264E04 2.29730E03 8.59031E03 1.50845E04 2.51627E04 7.89567E02 8.24000E03 3.21928E03 1.27667E04 1.97965E04 7.53273E02 1.77442E03 1.06060E04 1.46576E04 7.31681E03 8.50888E03 1.36634E03 9.55093E03 1.51542E04 1.89007E04 3.39281E03 6.89247E03 6.96642E03 7.54450E03 8.79599E03 8.55357E02 2.15520E03 2.82873E03 6.57454E03 6.17544E03 6.06374E03 8.76570E02 6.02546E03 1.31313E04 1.15554E04 7.12096E03 3.87054E03 7.80057E03 1.05525E04 2.78822E03 1.23745E03 1.21689E02 9.68204E03 1.22328E03 -Frame 257 5.93507E04 1.92586E03 4.00598E04 8.98546E03 1.66297E03 3.00190E02 8.67845E02 2.52510E03 3.51882E03 4.49073E03 2.66040E03 6.67685E03 6.51090E03 4.42108E03 2.48125E03 4.98272E03 7.53095E03 4.27854E03 2.27969E02 1.86283E03 7.49733E03 8.77437E03 5.62848E03 3.45652E03 4.74402E03 6.06155E03 2.92626E03 5.20982E03 1.69783E04 1.93095E04 1.49701E04 9.64589E03 1.58291E04 9.67136E03 5.33480E03 7.89589E03 4.74538E03 9.95138E02 1.37258E03 4.79870E03 6.21008E03 3.30592E03 2.31266E03 7.79022E03 1.37962E04 8.89296E03 8.64279E03 1.83678E04 1.92731E04 2.64059E04 2.67956E04 1.85897E04 1.02036E04 1.51450E03 9.43389E03 2.04822E04 1.09155E04 1.48437E04 1.35835E04 3.11108E03 7.66165E03 1.81599E04 1.23082E04 4.56203E03 6.10133E02 1.51385E04 3.27570E04 2.14198E04 7.59503E03 1.46036E04 3.92584E04 6.00862E04 4.22800E04 7.73611E03 6.79788E03 2.74922E04 3.34464E04 1.91280E04 3.27663E03 1.44172E04 5.62812E04 7.62426E04 4.53549E04 1.17275E04 2.49542E03 4.14492E04 9.41663E04 9.44629E04 3.00966E04 1.48707E03 5.28556E04 8.89976E04 5.41938E04 1.74210E04 4.80991E03 3.30952E04 7.25664E04 7.03467E04 2.20517E04 1.11976E04 6.99715E04 1.34820E05 1.18296E05 4.84301E04 4.16613E04 1.42841E05 2.63489E05 2.24663E05 7.50863E04 4.35617E04 1.07961E05 1.85528E05 2.07683E05 1.16894E05 1.09486E05 3.24794E05 5.14125E05 4.65076E05 3.61707E05 4.27965E05 6.96045E05 9.25130E05 9.25590E05 7.24909E05 7.54075E05 1.21650E06 1.29428E06 7.98398E05 1.26705E06 2.90233E06 3.44277E06 2.06598E06 7.30196E05 4.16110E05 1.88215E05 1.58266E05 7.53128E05 1.19175E06 7.68497E05 2.03889E05 8.31375E05 2.83965E06 3.85851E06 2.68361E06 1.25984E06 1.82100E06 4.10401E06 5.08123E06 3.47929E06 1.81531E06 3.54871E06 7.89146E06 1.03119E07 8.03874E06 5.23290E06 7.28375E06 1.26062E07 1.35314E07 8.70296E06 5.40869E06 8.21445E06 1.25718E07 1.27427E07 8.37865E06 4.62466E06 5.09183E06 6.82921E06 6.77645E06 4.91176E06 3.01783E06 2.99757E06 4.24431E06 4.30518E06 2.99121E06 2.00003E06 2.25263E06 2.93267E06 2.88096E06 2.02261E06 1.35621E06 1.46769E06 1.84498E06 1.62110E06 1.01619E06 7.85601E05 8.62561E05 8.65582E05 6.44790E05 3.33054E05 1.81686E05 1.98240E05 2.76964E05 2.51903E05 2.26920E05 2.27125E05 1.59421E05 1.95035E05 3.06673E05 4.22617E05 5.17131E05 8.11786E05 1.26695E06 1.62679E06 1.70737E06 1.63157E06 1.88370E06 2.38699E06 2.44918E06 1.98156E06 1.49836E06 1.34426E06 1.60557E06 1.80095E06 1.58437E06 1.35771E06 1.54141E06 1.87741E06 1.98117E06 1.80344E06 1.70190E06 1.73154E06 1.86470E06 1.84489E06 1.59924E06 1.51646E06 1.70513E06 1.86527E06 1.74751E06 1.52827E06 1.43042E06 1.66953E06 1.89561E06 1.70083E06 1.36493E06 1.38356E06 1.48328E06 1.41198E06 1.15598E06 8.93549E05 7.41544E05 6.59736E05 5.86734E05 4.70821E05 3.42610E05 3.30714E05 4.16310E05 3.88984E05 2.22458E05 9.56035E04 1.11326E05 1.65094E05 1.48889E05 8.97747E04 5.29972E04 5.05504E04 6.55312E04 7.29685E04 -Frame 257 8.24763E05 5.30691E05 1.29533E05 1.26182E04 9.23755E02 1.46287E03 3.04621E03 2.54016E03 3.61899E02 1.96020E02 5.50541E02 5.90486E02 5.99354E02 1.10768E02 7.51028E02 2.62408E02 3.88576E02 5.20824E02 7.75644E02 1.63487E02 4.13130E02 6.72456E02 1.60274E02 3.68359E01 2.17838E02 1.33069E03 8.89713E02 8.23862E02 2.41991E03 9.49868E02 1.06959E03 5.16052E03 1.01510E04 5.27868E03 6.99842E02 3.71165E02 1.53013E03 2.05097E02 2.25905E02 8.19456E02 3.80772E00 5.90472E02 6.00156E02 8.47578E02 6.93634E03 5.15230E03 1.46603E03 3.41875E02 9.63548E02 2.45225E03 4.12584E02 1.27385E02 8.29840E01 1.65634E03 1.35570E04 1.15594E04 4.95160E03 4.74388E03 5.37489E03 2.31834E03 4.55636E01 2.77218E03 5.59266E03 3.30560E03 8.04779E03 7.51514E03 8.26262E02 9.21247E02 4.64523E03 1.38730E03 2.55985E03 1.55341E03 3.78439E03 4.92310E03 4.74106E02 4.49233E03 8.64242E02 9.75606E02 3.76058E03 2.64999E03 3.51061E03 4.65169E03 2.41898E02 1.76509E03 3.84649E03 3.50979E03 1.07575E04 4.69622E03 9.75546E03 1.44448E04 4.54787E03 1.14243E04 5.61815E03 1.45296E03 1.47580E04 1.04595E04 2.20670E03 2.05589E04 4.86446E03 1.09020E04 1.55868E04 9.38546E03 1.44829E04 1.39907E04 2.34329E04 8.93000E03 2.42007E04 3.34718E04 2.45970E04 1.86372E04 2.40829E04 1.83787E04 4.28560E04 2.45744E04 2.47356E04 1.06223E05 8.93502E04 6.38794E04 9.27538E04 1.05603E05 1.61047E05 1.35634E05 1.41923E05 1.70223E05 1.87518E05 3.76879E05 4.50238E05 5.65350E05 7.34652E05 8.32615E05 5.82913E05 2.60680E05 3.51207E04 1.45009E04 5.95601E04 5.67385E04 3.69014E04 1.24052E05 1.64868E05 1.31721E05 2.87432E05 3.87223E05 4.35266E05 5.32255E05 5.14839E05 6.27022E05 9.58558E05 5.84088E05 8.16410E05 1.04636E06 8.11831E05 1.44822E06 1.62267E06 1.52450E06 2.07166E06 2.91025E06 3.53414E06 2.64677E06 2.26639E06 2.64583E06 3.21212E06 2.63767E06 1.94985E06 1.92030E06 2.08550E06 1.44204E06 9.69287E05 9.64363E05 1.24915E06 1.09493E06 1.01780E06 6.44848E05 6.46684E05 8.09406E05 7.18464E05 4.81705E05 3.74687E05 4.52665E05 3.68026E05 3.95010E05 5.52691E05 4.15267E05 4.26287E05 2.59041E05 1.51293E05 1.71664E05 1.26137E05 1.50476E05 9.31794E04 1.20775E03 5.97572E04 1.11529E05 2.55107E04 3.98596E04 1.94673E05 1.08200E05 1.49783E04 9.25049E03 6.48976E04 8.72791E04 3.03113E05 4.26608E05 4.34046E05 5.38810E05 6.95927E05 6.82095E05 4.08745E05 6.23273E05 4.79641E05 2.92321E05 2.14162E05 4.87269E05 4.17353E05 3.28667E05 2.52009E05 4.38558E05 4.96873E05 3.68291E05 4.17713E05 4.60419E05 3.39319E05 4.03919E05 4.68829E05 3.21683E05 3.67871E05 3.86643E05 4.48503E05 3.55057E05 2.97365E05 4.72154E05 4.96212E05 4.49377E05 4.45029E05 4.21806E05 3.82087E05 3.73182E05 3.43192E05 3.49556E05 3.27038E05 1.68994E05 1.14328E05 1.09619E05 9.31828E04 9.08838E04 9.68157E04 9.85283E04 9.09621E04 4.58275E04 3.66466E04 2.64510E04 1.69728E04 3.08079E04 1.65727E04 8.31236E03 9.32356E03 5.27415E03 7.83474E03 -Frame 257 1.21107E06 4.43379E05 6.47969E03 1.18387E04 1.75389E03 6.11069E01 4.37569E03 6.31549E03 9.75683E02 4.92587E02 4.89509E01 4.18492E02 4.52195E02 5.72974E02 1.40482E03 4.75286E03 4.08567E03 1.54925E03 1.76121E02 2.29238E02 7.65414E01 5.70270E02 5.83671E02 2.44789E02 1.55063E02 1.68794E03 1.23456E03 1.24872E02 5.66242E02 9.56113E02 4.05309E03 1.09690E03 5.43403E03 3.07842E03 5.80056E01 1.02028E03 1.29616E03 7.06100E02 1.89766E02 2.34396E02 1.35595E03 5.75560E02 5.35280E02 5.20331E02 3.21892E03 3.79486E03 2.28799E02 9.32967E01 1.66314E03 6.27362E03 5.74985E03 2.68118E03 2.09202E03 1.11105E04 1.68200E04 1.81190E03 3.71698E02 3.88724E02 6.32167E02 3.96543E02 1.58981E03 6.09665E03 2.26344E03 5.80698E02 1.86344E03 3.61424E02 4.68789E02 2.45557E03 3.11741E02 8.94879E03 1.03087E04 3.10572E03 4.24858E03 4.59036E03 1.10651E03 1.69553E03 1.56491E02 1.30042E03 1.02038E03 2.64231E03 6.94135E02 2.68051E02 5.07818E00 2.30723E01 1.76702E03 3.35502E03 2.87049E03 3.45387E03 2.35925E03 6.38970E03 7.62439E03 4.49024E03 2.39170E03 9.75211E02 3.39929E03 6.35761E02 1.37136E04 1.51437E04 3.31365E03 7.44571E02 3.72918E03 2.34668E03 1.17598E03 3.14965E03 6.65088E03 8.06288E03 3.58866E03 1.38230E03 1.85356E03 9.22745E02 1.90576E02 3.47684E03 3.44077E03 8.81347E-01 3.07340E03 3.11979E03 4.53842E03 8.57921E02 2.46563E03 9.20573E03 6.23653E03 1.08637E03 2.70307E03 3.88249E03 3.15586E03 8.24013E02 1.78930E03 1.33494E03 1.38517E03 5.63689E03 8.56914E03 1.38045E04 1.07952E04 3.02221E03 3.08805E03 2.94789E03 3.82225E03 1.00979E03 3.80459E02 2.04696E03 1.72680E04 1.78523E04 9.76512E03 1.21924E04 2.96375E04 5.21183E04 3.61251E04 1.27058E03 2.57930E04 3.17637E04 1.57764E04 9.50081E03 1.51438E03 7.50555E03 1.97682E03 3.95525E03 1.98432E04 1.05542E04 2.33958E03 1.14449E04 2.28803E04 6.95269E03 1.11095E04 8.03755E03 2.23957E03 3.96193E03 1.07155E02 7.09496E03 1.79421E04 5.13969E03 6.46807E03 1.31151E04 2.97439E03 4.84727E03 1.37358E03 3.12134E03 1.06037E04 1.23094E04 3.47732E02 8.62219E03 5.49223E03 2.54284E03 1.09144E04 4.26576E03 5.87509E03 3.61504E03 5.94819E03 2.05090E04 1.00210E04 8.26363E03 3.46436E03 4.93182E03 2.07853E02 8.84363E03 1.45659E04 2.68538E04 1.70761E04 1.26158E04 5.27396E03 7.63196E03 2.00954E03 4.65264E02 1.73626E03 1.08832E03 6.14815E03 2.71969E04 3.01546E04 1.93199E04 1.50683E04 1.79449E04 6.42022E03 4.50506E03 9.70953E03 8.06306E03 5.85017E03 3.91909E03 6.09105E02 6.55347E03 3.39719E03 1.79881E03 5.27454E03 7.79191E02 4.46091E03 3.92650E03 3.60325E02 1.48032E03 2.20072E03 1.73858E03 7.13838E02 3.91298E03 2.63899E03 3.61417E03 5.08657E03 3.36850E03 1.12933E03 4.97164E02 3.64243E02 1.49731E03 1.83623E03 8.66397E02 6.26067E02 5.48873E01 7.59670E01 6.19747E01 1.33589E02 2.64340E01 4.71088E02 5.17308E02 6.18612E02 1.06707E03 2.31135E03 1.75999E03 6.13672E02 2.37953E03 1.02540E03 1.75848E01 2.29343E02 -Frame 257 1.13080E05 2.83624E05 9.71037E04 3.23746E03 9.03845E02 2.26716E03 2.15620E03 4.09060E03 2.18464E03 1.79687E03 8.14846E02 1.33524E03 8.16932E02 9.89131E02 2.42462E03 5.42644E03 4.05572E03 6.79520E02 3.50462E02 5.32311E02 1.37488E03 2.30328E03 2.21853E03 6.26965E02 1.18125E03 3.14907E03 3.30898E03 1.38001E03 1.45348E03 4.10523E03 4.66918E03 6.17198E03 7.08994E03 1.36146E03 5.01735E02 1.32089E03 1.40038E02 8.31546E02 1.74720E03 8.83010E02 5.98623E02 8.76529E02 1.56422E03 2.57214E03 4.74931E03 5.02021E03 7.69174E02 1.77759E02 2.54793E02 1.35678E03 1.84749E03 1.98003E03 1.79169E03 7.43547E03 2.28245E04 1.62299E04 2.57422E03 4.24225E02 4.49720E02 6.43421E02 1.11926E03 4.53373E03 1.83082E03 2.86389E02 2.34704E03 2.00138E03 3.34629E03 6.07941E03 8.39972E03 4.88311E03 4.26114E03 3.76327E03 1.51753E03 2.61106E03 5.73538E03 4.91106E03 3.97982E03 6.11385E03 1.16673E04 1.16064E04 4.24492E03 2.07100E03 2.73566E03 4.16162E03 3.38316E03 3.23223E02 2.63316E02 2.90212E03 1.48625E03 4.34062E03 3.97112E03 3.30162E02 2.09321E02 6.85962E03 1.20129E04 6.89428E03 3.97723E03 1.93110E02 3.27422E03 5.79599E03 8.86502E02 1.17404E03 4.41111E03 1.11441E03 2.35530E03 4.42686E03 8.88277E02 1.94908E02 2.82711E03 4.52826E03 5.66481E02 1.31709E03 2.34356E03 1.62424E03 1.40340E03 1.37136E03 1.23640E03 1.57179E03 4.89012E03 1.24519E04 7.26530E03 1.68964E03 6.14327E03 3.54054E03 3.35105E03 3.40784E03 4.98396E03 3.58804E03 5.76429E03 3.86744E03 1.52824E04 1.28604E04 2.48660E03 9.26807E02 2.69847E03 2.70178E03 1.58529E03 3.17117E03 6.51381E03 6.02784E03 1.04226E03 5.17107E03 4.26452E03 3.71892E02 2.54168E03 2.11234E03 2.15350E03 1.24320E04 3.09060E04 2.95100E04 1.30116E04 3.83860E03 2.24632E03 7.19858E03 4.62255E03 3.21330E03 1.29720E03 3.82152E03 3.95557E03 8.12507E03 1.23687E04 1.99753E03 1.09894E04 1.73655E04 2.71315E04 2.07333E04 7.11759E03 3.09420E03 1.40300E04 1.79990E04 1.43872E04 6.81950E03 3.69893E03 2.36744E03 4.09061E02 5.28876E03 1.44034E04 1.58995E04 1.16923E04 1.49310E03 6.25628E03 1.45529E04 1.45240E04 1.17854E04 1.15835E04 8.46627E03 3.24717E03 1.21340E04 2.27272E04 1.93736E04 1.32092E04 7.71717E03 5.47095E03 2.97913E03 1.69379E03 8.88486E03 1.29050E04 4.49614E03 9.38497E02 3.12733E03 3.42168E03 2.52726E02 1.71914E02 3.47561E01 1.13449E03 5.02896E03 7.36583E03 5.69680E03 1.44205E04 9.45381E03 4.05202E02 1.26745E03 8.33290E03 1.04207E04 3.93513E03 3.00097E03 1.16118E03 4.19156E03 2.24567E03 1.79346E03 3.28647E03 2.67843E03 9.92014E02 1.68470E03 1.77339E03 1.94084E03 8.70406E02 5.89278E02 2.42568E03 3.82391E03 1.31270E03 6.36226E02 2.90851E03 6.65411E02 2.14561E01 7.72755E01 7.18154E02 3.65746E03 2.29444E03 4.31738E02 4.07339E02 1.13676E03 7.30630E02 3.31134E02 4.09460E02 1.07911E03 7.81731E02 2.88098E01 8.42656E01 1.12606E02 4.75760E02 1.73974E03 1.41289E03 6.34912E02 1.10257E03 1.04545E03 7.03667E02 -Frame 257 7.29143E05 3.96925E05 3.12591E04 1.11078E04 4.96280E02 7.86964E01 5.92402E02 9.99138E02 3.23647E02 4.57397E02 1.89512E02 2.10400E02 3.73949E02 1.93262E02 5.68571E02 1.88147E02 1.26016E02 7.69333E02 1.43663E03 5.78930E02 5.47101E02 8.72236E02 3.07824E00 7.81782E02 1.95217E03 1.57841E03 8.76037E01 3.91457E02 8.83760E02 1.30505E03 1.50539E03 4.08076E03 8.22933E03 2.60011E03 2.36918E02 3.95499E02 1.62887E03 8.61489E02 4.16128E01 3.52758E02 4.43955E02 2.31808E02 6.96648E01 1.07662E03 2.12573E01 2.33006E03 3.93712E03 2.69775E03 1.03626E03 2.32040E02 4.89503E02 7.54695E02 3.06799E03 5.15746E03 1.26849E04 3.60928E03 2.37069E03 2.03235E03 1.03084E03 3.22550E02 3.44349E03 6.08604E03 1.31366E03 1.87414E03 8.71296E03 5.44254E03 3.33826E02 7.75852E02 1.54740E02 1.01481E03 2.56868E03 2.30597E03 1.16387E03 1.75337E03 5.00798E03 3.73821E03 5.21538E02 4.83266E02 1.27251E02 4.89721E03 4.19105E03 8.39493E02 1.28243E03 7.43490E02 1.49046E03 4.71845E03 3.66886E03 3.02003E03 5.60801E03 9.52914E03 8.66067E03 3.12654E03 1.46629E03 2.86227E03 6.23703E03 4.94640E03 4.14517E03 2.60584E02 2.32090E03 2.56711E03 9.32726E02 3.56907E02 2.82829E02 1.95483E03 2.91572E03 8.42369E03 6.44773E03 3.41902E03 1.04432E04 1.02429E04 1.55562E03 1.03240E03 1.02227E03 2.77464E02 2.56246E01 3.91072E02 6.24235E02 1.62552E02 4.57789E02 2.49409E03 3.66409E03 3.76149E03 6.13066E03 8.87089E03 1.09019E03 3.64387E02 2.32286E03 6.23507E03 2.76317E04 2.47338E04 9.72548E03 1.38300E03 4.25992E03 8.70970E03 7.56661E03 1.35979E04 8.57035E03 7.61339E03 9.03107E03 3.47094E03 4.38245E02 2.69234E03 3.26841E03 2.76580E03 3.15900E03 5.23264E03 5.81376E03 5.26417E03 1.50572E04 1.33805E04 1.18001E03 6.29106E03 4.77246E03 1.45362E03 8.88993E03 5.03032E03 2.38749E03 1.98682E02 2.57945E03 7.37850E03 2.17916E04 1.65236E04 1.92400E03 3.29778E02 8.23589E03 1.86919E04 5.26508E03 1.10483E03 2.07564E03 4.61709E03 8.58464E02 2.33503E03 4.26059E03 3.84405E03 2.35723E03 2.88953E02 3.34505E03 1.79969E03 3.71040E03 2.90122E03 5.04046E03 4.07552E03 4.15758E02 2.20809E03 3.26508E01 3.48029E03 1.92923E03 5.45434E02 3.23132E03 7.00024E02 1.47133E03 1.32522E03 3.49976E02 1.30789E03 4.99741E03 6.80710E03 1.16624E03 1.78090E03 2.72994E03 1.08597E03 1.83106E03 2.12378E03 6.14907E02 4.97976E02 1.82299E03 3.60791E03 4.95536E03 5.35155E02 3.18225E03 8.52059E02 4.90103E02 8.79481E01 4.00006E02 1.92833E03 1.60198E03 6.74486E02 1.64622E03 2.90119E03 2.31606E03 8.41177E02 7.68734E02 2.61156E03 2.91147E03 1.41997E03 6.16250E02 1.03861E03 5.14695E02 4.16740E02 9.66350E02 1.79022E03 1.98073E02 1.58311E03 2.40139E03 4.79458E02 1.13296E02 3.69842E01 1.16738E03 5.70803E03 4.67498E03 3.83295E02 3.12905E02 3.95074E02 2.36501E02 1.31246E03 2.05879E03 2.99775E03 1.53688E03 4.82652E02 1.89240E02 6.70665E01 1.41920E02 3.89908E02 9.84307E01 4.94083E02 5.08068E02 1.74956E01 2.90608E-02 -Frame 257 1.75128E06 8.83218E05 1.21681E05 1.65488E04 5.12590E03 1.24182E03 1.05182E03 1.29008E03 2.78506E02 1.61640E03 1.16287E03 2.14460E03 5.65503E02 1.66222E02 1.05323E03 7.03661E02 3.99237E02 4.56554E02 2.86212E03 2.50915E03 1.14078E03 2.04034E03 1.30193E03 2.17781E02 9.13566E01 3.30773E02 2.69499E02 7.17700E01 6.30335E02 2.69873E02 3.95956E02 5.09435E03 8.36906E03 2.91588E03 1.28706E03 6.30165E02 1.09134E02 1.03963E02 1.61553E02 1.11014E03 9.21610E02 8.20585E02 1.54618E03 2.46481E03 2.66770E03 9.74345E02 2.99543E03 2.09526E03 6.99571E02 1.64287E03 1.02616E03 3.61769E03 3.02486E03 2.15203E03 7.59637E03 6.65709E03 3.26844E03 4.28883E02 4.10692E02 1.29325E03 2.78159E03 5.07508E03 2.66079E03 4.94249E02 8.17369E03 9.39887E03 1.73892E03 9.88130E02 9.38601E02 2.27438E03 3.82891E03 1.49808E03 5.32155E02 1.77312E02 1.12086E03 3.32213E03 2.10004E03 8.33321E02 1.02098E03 2.29952E03 3.84828E03 1.72427E03 9.04304E02 1.21254E03 2.46176E03 4.67687E03 2.78233E03 1.00437E03 1.59142E01 2.07654E03 2.60257E03 2.81924E02 5.14889E02 5.38556E02 1.07814E03 9.63654E03 1.77044E04 1.09973E04 2.72880E03 4.35768E02 1.28111E03 1.12184E03 1.95041E03 2.53700E03 2.97216E03 4.69784E03 3.11033E03 1.65137E03 2.98935E03 8.30562E03 1.13549E04 8.09273E03 3.61003E03 7.93425E02 1.52804E03 2.33218E03 1.12591E03 2.24327E02 5.49261E02 3.34961E01 1.12322E02 5.23415E02 2.80000E03 1.03175E04 1.03110E04 8.63398E03 1.12670E04 1.90946E04 2.11372E04 3.76260E03 2.94909E03 1.78444E03 1.02390E04 1.06736E04 6.52649E03 4.77803E03 4.36172E03 3.14949E03 3.11594E03 9.24167E03 5.77508E03 7.77308E02 5.95912E02 6.22950E02 2.80896E03 3.51950E02 8.31084E02 7.86588E02 9.17004E03 4.66040E03 9.54088E02 1.08882E04 1.40418E04 5.87537E03 3.73185E03 1.50086E03 1.85446E03 3.66394E03 2.86085E03 6.72429E03 1.15908E04 2.39132E03 1.15867E03 5.45639E03 7.08787E03 1.06859E03 1.59899E03 3.32377E03 3.84160E03 6.55957E03 8.69647E03 6.04538E03 1.37048E03 2.96332E02 2.17296E03 3.48891E03 5.86299E03 6.56871E03 2.31268E03 5.50990E02 2.64547E02 1.68854E02 1.58817E03 4.76208E03 4.54244E03 3.71402E03 4.18848E03 2.01708E03 4.68532E01 1.10314E03 3.99990E02 1.96676E03 4.79627E03 8.81539E03 1.51356E04 9.86231E03 9.66121E02 3.26484E03 6.42723E03 4.46112E03 2.43806E03 7.12921E02 1.37010E02 2.69505E03 5.33423E03 1.68765E03 1.56006E03 8.67983E03 6.35609E03 1.64024E03 1.76094E02 1.46590E02 6.76619E02 9.79535E02 3.24528E02 7.22127E02 1.73071E03 4.23452E02 1.10478E03 1.61370E03 2.69740E01 1.31009E03 1.05108E03 1.59051E03 1.08681E03 3.04482E02 9.11282E02 1.79121E02 3.38343E02 2.81600E03 6.07124E03 2.39832E03 1.83200E02 1.60263E03 5.51560E02 5.18739E02 1.83631E03 1.34392E03 7.87419E02 8.67835E02 2.42941E02 1.48817E02 1.02787E03 3.08165E03 2.85611E03 4.31405E02 1.55241E02 4.13756E02 3.71966E02 4.13749E02 7.86544E01 6.94609E02 1.18720E03 8.87467E02 1.85058E03 2.51528E03 2.34508E03 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -Frame 257 1.70159E05 1.30557E05 4.74308E04 6.05218E03 7.02688E02 2.05600E02 2.27354E02 2.69436E02 1.67342E02 7.44721E02 4.44544E02 4.69503E02 5.12271E02 2.55378E02 7.52596E02 1.23963E03 1.98874E02 1.00125E03 7.99947E02 3.04221E02 5.39616E02 1.18699E03 1.36766E03 7.21811E02 7.50471E02 4.30874E02 1.13656E03 8.46898E02 1.25470E02 5.03543E02 1.52921E02 1.64853E03 6.22303E03 5.13269E03 8.88965E02 6.75653E02 1.58378E03 1.08924E03 2.07017E02 7.04426E02 9.40889E01 5.93892E02 9.32027E02 2.63053E02 4.75036E02 1.23508E03 1.39928E03 6.83002E02 2.38055E03 2.75379E03 3.58975E03 3.86467E03 1.03585E03 1.89865E03 3.77697E03 9.14049E02 1.13775E03 1.31625E03 2.80063E03 3.26149E03 1.75404E03 4.64883E02 1.00905E03 2.53884E03 9.44261E03 6.35964E03 1.90544E03 1.30988E02 1.13764E02 1.34283E03 4.37793E03 4.06235E03 1.66002E03 1.07838E03 2.54129E03 1.22344E03 8.48626E02 4.75960E03 5.75317E03 3.79505E03 1.34218E03 5.29632E02 3.84476E02 2.43561E02 1.78021E03 4.42573E03 1.92285E03 5.94808E02 5.83821E02 9.04095E02 7.86181E02 3.37436E03 3.73090E03 2.07486E03 1.51191E03 1.37730E02 2.37118E03 3.91913E03 1.31166E03 1.67890E02 1.59672E01 1.04405E03 2.66556E03 2.61739E03 3.48239E03 2.97570E03 2.17124E03 2.33976E03 1.23931E03 4.44993E03 1.04127E04 7.00864E03 1.15665E03 2.79675E03 1.79843E03 1.13831E03 1.50034E03 3.86882E03 7.65893E03 4.84999E03 1.07683E03 8.31509E03 3.44874E03 1.13400E03 2.63373E03 5.44647E03 5.57906E03 3.95825E02 8.14549E03 6.36526E03 1.87862E02 1.87889E03 4.89024E02 5.61241E02 8.90596E02 9.59290E02 1.17740E03 4.27508E03 2.82871E03 6.54291E03 4.83286E03 1.06646E02 2.41100E03 3.34946E03 1.90970E03 3.26885E03 4.46886E03 2.29316E03 5.96957E03 7.34594E03 8.02510E02 3.97048E02 1.68854E04 2.21879E04 2.37729E03 1.33743E04 1.18528E04 1.64783E03 8.14698E03 1.19906E04 4.22083E03 8.57872E01 3.13085E02 3.43184E03 3.02934E03 1.16965E03 5.97593E02 1.53840E03 3.41781E03 1.51575E03 4.06804E03 6.37993E03 8.05976E03 5.30211E03 2.81558E02 9.28431E02 2.76289E03 1.63043E03 2.80646E02 8.09129E03 1.08322E04 5.92820E03 3.33067E03 9.26374E02 5.15420E02 3.32707E02 1.39555E03 4.13152E03 2.85266E03 9.55347E01 1.74898E03 1.41407E02 3.03656E03 3.56490E03 3.14572E03 7.82392E03 5.92391E03 1.57576E03 4.83676E03 7.68825E02 1.19281E03 1.97415E03 9.36223E00 6.45418E02 3.72305E00 2.04951E02 1.89817E03 7.36425E03 7.34656E03 3.97789E03 1.98487E03 2.09763E03 2.21618E03 2.60995E03 1.70683E03 3.30649E03 2.22650E03 2.01521E03 2.57351E02 1.06831E03 4.21418E03 1.55936E03 1.81194E03 5.30692E03 4.42015E03 4.37422E02 1.23724E03 2.02455E03 5.14426E02 5.99893E01 2.96616E02 1.07568E03 1.14215E03 1.72680E03 2.00635E03 1.39081E03 1.98072E03 3.18453E03 1.78254E03 2.06916E03 7.44148E02 1.43755E02 1.74711E03 8.58971E02 2.02558E02 2.79333E02 2.21795E02 7.79185E02 1.75075E03 3.68560E03 2.83612E03 9.12091E02 1.44627E02 2.02229E02 1.97379E02 1.64423E02 8.67086E02 -Frame 257 1.75749E05 2.96006E04 2.38221E04 1.15851E04 1.45050E03 6.37358E01 4.88795E01 9.07766E02 2.03643E03 1.75266E03 8.31227E02 7.20575E01 3.01684E01 4.23646E02 1.30368E03 1.42678E03 5.01528E02 1.15812E03 2.74334E02 1.70312E02 1.32854E02 2.46648E02 5.72283E02 7.41290E01 6.91634E02 1.00300E03 2.55119E03 3.14544E03 1.75760E03 7.68984E02 3.58035E02 1.61609E03 1.05327E03 2.21997E02 9.79299E02 9.58853E02 6.76199E02 6.37175E02 1.96110E03 3.41958E03 3.87741E03 1.49176E03 2.17892E03 5.20398E03 4.88136E03 2.32875E03 7.57718E02 6.83631E01 1.91540E03 2.71650E03 2.03696E03 1.88038E03 9.09516E02 2.23429E03 6.01874E03 3.65279E03 3.48282E02 2.81337E02 1.52184E02 3.49846E03 7.48793E03 4.33259E03 1.00506E03 1.84355E03 2.69684E03 3.99808E02 9.35073E02 7.01426E02 7.58347E02 1.28481E03 3.08835E03 1.40710E03 3.05092E02 6.24676E02 6.32902E02 2.51478E02 2.03353E03 2.31926E03 2.19092E02 4.19770E03 3.16064E03 2.77800E03 1.56862E03 3.44558E02 3.37189E02 1.83304E03 2.54511E03 4.26657E02 5.43353E02 3.74956E02 2.16323E03 5.71628E03 3.60007E03 2.27186E03 1.27410E03 2.57582E03 3.47172E03 8.36385E02 4.13592E03 1.22403E03 2.36297E01 2.07167E02 4.71562E02 2.00748E03 7.52988E03 5.28129E03 7.99789E02 2.88593E03 3.91277E03 1.15859E03 2.46824E03 7.42689E03 2.34626E03 1.81128E03 1.16237E03 3.12390E02 1.07843E03 1.08679E02 8.54761E02 4.28268E03 1.33337E04 5.55544E03 5.39418E02 3.96619E02 3.46083E02 4.23211E03 5.78344E03 2.49661E03 1.52444E04 9.01932E03 5.64760E01 2.02522E03 3.45249E03 2.83560E03 1.42274E03 1.21281E03 2.32514E03 1.61721E03 1.12827E02 1.29788E03 3.85144E03 4.71524E03 9.81613E03 1.19659E04 6.82666E03 3.61956E03 2.64538E03 6.93400E03 1.23421E04 5.25639E03 5.12884E03 2.30282E04 4.10375E04 2.58749E04 4.66879E03 1.23781E03 6.13527E03 1.69389E03 1.80012E03 8.40668E03 2.42837E03 2.65466E02 1.92265E03 1.94804E03 4.73639E02 1.14913E03 2.26561E03 8.40913E02 1.98493E03 7.53561E03 1.25002E03 1.74127E02 5.53461E02 2.04987E03 6.60590E01 1.66507E03 2.22908E03 2.13255E03 7.23246E03 8.84765E03 2.49203E03 4.23893E02 8.22257E02 4.66267E03 1.45383E04 2.15389E04 1.34722E04 2.89140E03 3.38047E03 3.03317E03 7.21832E02 1.42443E03 6.75984E03 8.02633E03 1.41511E04 1.37885E04 7.00236E03 2.75734E03 4.55455E03 8.63511E03 1.28800E04 5.64798E03 4.96278E02 1.45745E03 2.20559E03 2.03814E03 1.33157E03 7.18401E02 1.76821E03 1.93090E02 1.56702E03 7.89989E02 7.84562E02 3.77405E03 7.86297E03 3.49148E03 1.69021E03 3.70337E03 5.40705E03 5.00116E03 2.28109E03 1.45606E03 2.10868E03 3.85874E02 2.07765E03 5.10109E02 2.04129E03 4.23928E03 8.56219E02 6.99802E01 1.38863E02 4.95566E02 5.17037E02 7.89554E02 1.06761E03 1.15904E03 2.45187E03 2.61920E03 1.64337E02 8.40547E02 2.06174E03 4.47550E03 4.42735E03 1.46209E03 1.01829E03 3.81274E02 1.73270E02 1.71024E02 1.03755E03 2.28588E03 7.79596E02 2.06425E02 3.64619E02 2.66510E02 2.18793E02 1.00389E03 1.60506E03 -Frame 257 1.80413E05 1.52919E05 7.29549E04 1.34983E04 5.58945E02 7.59620E02 7.27907E02 1.37694E03 8.83930E02 1.43135E02 1.01941E02 1.68803E02 2.18416E02 5.62132E02 1.14396E03 5.68458E02 5.99974E02 9.84211E02 1.67691E03 2.29555E03 1.55901E03 4.02262E02 9.53784E02 8.94404E02 1.31241E02 2.09527E02 2.10399E03 2.86046E03 3.96385E02 7.29571E02 1.32473E03 4.65443E02 2.09849E02 2.57639E03 2.89316E03 2.35381E03 3.38910E03 4.30586E03 1.03082E03 1.90856E03 3.43273E03 1.82908E03 4.23498E02 3.06679E03 9.86805E02 6.64697E03 9.22271E03 7.03773E03 2.17384E03 5.40080E02 7.77675E02 8.84536E02 3.48624E02 7.08705E02 3.13842E03 6.83014E02 3.22623E02 6.15200E02 3.98528E02 1.57739E03 1.80098E03 3.80064E02 2.74272E03 1.69590E03 1.61670E03 1.67609E03 1.81002E03 3.14281E03 3.69098E03 3.92031E02 8.28389E02 1.15089E03 6.34414E02 3.55976E02 7.46275E02 2.79276E03 4.94864E03 1.49773E03 1.31565E03 6.22804E03 4.87524E03 2.20217E03 2.94035E02 3.14909E03 3.22616E03 4.68144E03 5.83264E03 5.12142E03 3.42331E03 1.49544E03 1.11019E02 1.85602E03 2.14309E03 8.54591E02 3.80680E03 3.95918E03 5.35676E03 9.21797E03 7.01089E03 9.29156E02 3.32053E02 6.96569E02 2.05062E02 3.14193E03 9.85288E03 5.60938E03 3.19387E03 1.95696E03 4.11137E03 2.45654E03 3.81104E03 7.68460E03 2.25260E03 2.18030E02 3.44926E02 1.98984E03 3.14120E03 2.99006E03 1.06246E03 1.12030E03 1.15011E04 8.18510E03 1.81078E03 2.10264E03 2.11552E03 7.55337E02 1.15245E04 2.59252E04 2.13897E04 2.89916E03 2.47033E03 3.77112E02 1.92625E03 2.02693E03 2.39257E03 5.23922E02 3.49374E02 2.46326E03 5.27582E02 5.39735E02 1.72972E03 9.12425E02 1.81384E03 6.73895E03 3.98102E03 3.00641E03 8.45442E02 1.78045E03 7.60383E03 1.11789E04 1.26368E04 1.35422E04 3.32175E03 4.30752E02 1.31171E03 1.15791E02 3.38112E03 2.27878E03 1.89329E03 8.48990E03 5.27919E03 1.16082E03 2.30374E03 2.17398E02 2.16682E02 1.56450E03 6.31681E03 1.03837E04 1.43531E04 1.64200E04 1.18101E04 6.50088E03 3.35261E03 8.06641E03 7.29822E03 3.74229E03 2.48686E03 1.08578E04 6.03792E03 5.74190E00 5.66379E02 4.74098E03 5.66330E03 1.67219E03 2.43486E03 1.45898E04 6.15453E03 4.39343E02 5.17092E03 3.57850E03 1.55383E03 4.09421E03 5.28280E03 7.69443E03 6.82959E03 6.23740E02 1.28646E03 1.65434E03 1.10893E03 2.24584E03 8.88134E03 3.94052E03 9.52930E02 2.09479E03 3.59180E02 2.08331E03 4.90076E03 4.59770E03 5.74640E02 3.20845E03 8.65134E03 4.30548E03 1.24633E03 4.88091E03 3.87089E03 4.05719E02 4.28925E02 2.25778E02 7.80047E01 3.43463E02 3.17356E02 5.56059E02 2.21153E03 3.27666E03 3.48005E03 2.50755E03 4.40371E03 4.16070E03 1.35813E02 8.60169E02 1.63311E03 6.99248E02 4.42109E02 5.17982E02 3.29377E02 7.31632E01 3.96022E02 3.99965E01 7.38609E02 8.01187E02 1.07491E03 2.88179E03 1.61930E03 2.13330E02 9.86773E02 1.82103E03 7.82188E02 2.82573E02 1.01525E02 3.81426E02 1.01902E03 1.08510E03 1.58495E03 3.00743E02 2.18885E01 1.21836E02 2.37409E02 -Frame 257 6.30777E04 7.28615E04 9.90766E03 1.77093E04 1.02126E03 3.83903E00 4.36551E02 1.06676E03 5.02366E02 1.69292E02 3.42905E01 4.35160E-01 3.63998E02 9.71365E02 1.96587E02 1.19629E02 1.63759E01 1.50547E02 3.71542E02 4.64788E02 5.37895E02 4.04035E02 3.57668E02 8.08743E02 7.32168E02 4.40496E02 4.50564E02 3.39973E02 3.58464E02 1.10531E03 7.61188E02 3.05476E02 5.98288E02 1.83201E03 2.89944E03 2.00436E03 6.01469E02 3.72852E03 2.72380E03 5.60730E01 3.12895E01 8.63445E02 3.85382E03 4.60712E03 1.24798E03 6.69021E02 1.26210E03 3.18943E02 2.32156E03 1.56087E03 1.92247E02 9.25639E02 7.29526E02 1.26098E03 4.20807E03 2.77282E03 3.77153E02 4.13109E02 6.06510E02 8.27647E02 2.61147E03 3.90362E03 2.98259E03 2.06392E03 1.30429E03 3.21493E02 9.94666E02 3.69378E03 1.81028E03 2.91430E03 5.40113E02 1.97406E02 3.31277E01 3.65729E02 4.78145E02 4.97818E02 2.25679E03 4.13536E03 4.55043E03 2.73538E03 1.22128E03 3.66645E03 4.71344E03 1.17558E03 5.52733E03 2.51430E03 1.73982E02 1.59996E03 1.80372E03 1.13700E03 6.99947E02 8.54718E02 4.17071E03 2.96347E03 1.96664E00 3.41971E02 3.50673E02 1.16536E03 3.27023E03 1.04621E03 6.66438E02 2.90569E03 4.55566E03 7.11700E03 4.80912E03 4.04443E02 1.50834E03 4.87555E03 1.39096E03 1.63906E03 1.07965E04 6.43319E03 8.37735E01 3.53782E02 3.34683E02 3.55063E03 3.52696E03 6.05042E03 1.13753E04 1.02624E04 3.87814E03 3.15906E03 3.00018E03 2.04916E03 4.28275E03 2.42030E03 3.01028E03 9.39811E03 1.32126E04 9.22054E03 8.03954E03 9.52830E03 7.04957E03 5.63318E03 7.32821E03 6.99477E03 5.14319E03 3.85397E03 2.06229E03 1.98307E02 1.91161E03 2.49034E03 3.25967E03 2.88040E03 2.06251E02 1.91413E03 7.74072E03 9.52838E03 1.12730E04 4.43029E03 6.92814E03 6.71009E03 2.73288E03 3.80274E03 1.23557E03 2.60513E03 8.76625E03 6.83271E03 8.15519E02 2.05033E03 7.22306E03 4.72684E03 3.55589E03 4.59436E03 3.09377E03 4.74978E03 3.56727E03 3.42404E03 5.28312E03 2.80393E03 1.16866E04 1.01304E04 7.13461E03 7.41206E03 5.57812E03 2.41342E03 8.07311E03 6.92202E03 1.47779E04 1.16793E04 7.16421E03 1.12105E03 5.87540E02 8.55102E02 2.26948E02 4.30513E03 9.37120E03 2.78808E03 5.26428E03 1.06956E04 9.98675E02 4.07707E03 5.87094E03 4.66585E03 1.57555E03 6.34189E02 2.36406E03 9.38434E01 1.52112E03 7.43871E01 5.70251E03 1.01643E04 6.53553E03 2.32014E03 4.91661E02 2.46249E01 1.62440E03 2.10620E03 2.18792E03 1.00709E04 1.51689E04 9.06210E03 2.50474E03 1.39571E02 3.68990E03 5.60722E03 6.93839E03 5.89277E03 3.81878E03 2.74847E03 2.01939E03 2.08868E03 1.19610E03 1.90570E02 1.09276E03 2.24725E03 5.16080E03 8.98123E03 3.41746E03 2.54681E02 1.40154E03 8.05465E02 5.95620E02 8.12398E01 6.60659E02 2.66501E03 3.37069E03 2.51153E03 1.78865E03 2.50881E03 5.36119E03 4.08152E03 7.96707E02 8.70076E02 1.77507E02 2.78817E02 4.53946E02 5.83847E01 1.01640E02 8.31815E02 1.61665E03 4.95328E02 8.88678E02 2.96293E03 2.37485E03 2.57376E03 2.90787E03 -Frame 257 1.07354E06 6.87148E05 1.70648E05 9.84727E03 3.48359E02 2.51679E02 1.56556E03 3.94891E03 2.82179E03 1.09150E03 4.42883E02 2.31089E02 4.88450E01 6.01830E01 1.47634E02 3.27856E01 4.87461E01 3.98873E02 1.76111E03 1.41170E03 7.24891E02 1.80348E02 4.99582E01 6.42019E02 7.66846E02 4.20682E02 8.28739E02 8.92595E02 1.28728E03 2.05786E03 1.53929E03 8.95485E02 1.46042E03 2.48094E03 1.98109E03 1.74459E03 1.76284E03 2.58672E02 2.43790E03 1.00341E03 1.30124E02 2.45356E02 3.60721E02 3.35775E03 2.29412E03 7.11383E02 3.60697E02 3.18671E02 1.81023E03 1.91572E03 8.11209E02 2.99932E02 3.16888E02 8.04111E02 4.20657E03 2.80249E03 2.10361E02 3.71898E02 1.03162E03 7.03107E02 2.74956E02 4.89364E02 5.85241E02 9.77831E02 6.83608E02 2.10749E03 3.84491E03 8.12138E03 9.12021E03 6.68335E03 2.21579E03 1.69639E03 7.99086E02 6.70618E01 1.11496E02 1.70864E02 1.35264E02 4.08097E02 1.28669E02 7.89959E02 5.10678E02 1.94253E03 3.04591E03 3.74215E03 2.28747E03 1.86029E03 1.36880E03 1.03688E03 1.17498E03 8.33588E02 6.40195E02 1.49009E03 1.73282E03 1.17556E03 7.87723E02 4.11174E03 1.04280E04 7.46885E03 1.85898E03 4.39583E03 5.61483E03 2.63005E03 3.19834E02 2.70798E03 3.52946E03 6.20716E02 2.78758E01 1.54685E03 2.62881E03 2.26455E01 4.46560E03 4.63413E03 2.99270E02 1.28376E03 2.71713E03 2.26556E03 5.84028E03 5.25256E03 1.99327E03 4.70433E02 1.24965E03 4.50067E03 1.93455E03 8.68356E02 9.53231E02 1.56898E03 3.05830E03 3.68301E03 5.51354E03 2.64519E03 3.05796E03 2.02379E02 1.33328E03 2.76441E03 7.15938E02 3.81180E03 1.38122E03 1.46854E03 2.92962E03 2.09482E03 1.06020E03 6.41619E02 2.10076E03 2.68324E03 4.45535E03 3.72256E03 6.82702E03 1.33830E03 4.45731E03 4.65205E03 1.83266E03 1.59699E04 1.78895E04 1.77138E03 3.20742E02 3.10905E03 9.20994E03 2.24812E03 7.30669E02 2.69579E03 5.44037E03 2.19197E03 9.04741E02 3.96072E02 1.42814E03 3.23762E03 1.81856E03 1.59089E04 1.27590E04 8.92996E02 7.00513E02 1.41208E03 1.95425E03 3.46755E03 9.11516E03 1.86293E04 5.91704E03 5.20214E02 5.33688E03 1.08807E04 7.16584E03 3.45709E03 2.47939E02 7.96484E02 4.06004E03 8.15008E03 2.42794E03 1.24666E03 4.46535E03 1.23384E04 5.74940E03 2.53840E03 6.47666E03 1.81218E03 4.14457E02 1.52650E03 5.86551E02 3.32209E03 6.89648E03 3.62020E03 7.18254E02 2.96382E03 1.38846E03 7.56314E02 1.09604E03 1.75372E03 3.63784E02 1.83727E02 1.38835E03 1.82839E03 1.49340E02 1.15150E03 2.40757E03 6.10073E03 5.70366E03 2.35927E03 2.23242E03 4.81028E03 2.92224E03 2.99988E02 1.32168E03 1.30163E03 1.92903E02 1.45530E02 3.71253E02 8.37036E01 3.16549E03 4.94221E03 4.65819E01 2.47713E03 4.49724E03 3.29908E03 1.88796E03 2.17866E03 3.20657E03 7.88036E02 6.29717E02 5.13108E02 6.80065E02 1.09697E03 2.93392E02 1.94952E03 3.55938E03 2.38664E02 7.31943E02 1.19845E03 4.01483E02 1.03443E02 1.03710E03 1.27529E03 4.76069E02 2.45876E03 3.88417E03 1.93107E03 1.27585E03 3.66810E03 2.21570E03 -Frame 257 2.37134E05 1.57058E05 2.09429E04 2.29728E04 6.38235E03 1.01413E03 2.94785E01 9.38556E02 8.93782E02 1.76198E02 7.46280E02 1.64254E02 2.98775E02 2.90264E01 9.91773E01 1.62474E02 2.36247E02 1.08714E03 9.44472E02 9.26335E02 2.22086E02 2.41988E02 5.62314E02 7.62472E02 2.59949E02 1.66958E02 8.07370E02 2.60008E02 5.85492E02 2.55243E01 1.17579E03 2.27528E03 3.86563E03 3.59081E02 6.80217E02 9.76594E02 2.61773E03 2.03702E03 4.82649E02 2.22479E03 1.91444E03 2.24402E02 8.68231E02 2.19896E03 5.41733E02 2.03758E02 9.65975E02 5.26223E02 4.79787E02 6.08717E02 4.84642E01 1.82861E02 1.67824E03 4.58057E03 8.65370E03 4.78786E03 1.58253E03 2.25498E02 1.20655E03 1.87611E03 1.09381E03 7.29739E02 7.30379E02 1.70835E03 1.09208E03 1.06852E03 2.75069E02 3.19287E03 5.59962E03 4.80292E03 2.76017E03 2.43271E03 2.41113E03 1.37951E03 2.01177E03 2.07540E03 2.14673E03 7.81483E02 2.45309E02 1.68329E03 1.42712E03 4.80572E02 7.57479E02 1.24227E03 1.89046E02 5.39291E02 7.33827E02 5.34077E02 1.23862E02 9.21415E02 1.18678E03 2.40322E03 2.50858E03 1.73573E03 5.59131E02 2.30707E03 1.46854E04 8.95339E03 6.84951E02 1.41818E03 5.15435E03 4.01161E03 5.56823E02 8.69991E02 9.05820E02 1.28766E03 1.03572E02 2.11434E03 4.58435E03 9.45268E02 2.21586E03 1.00415E04 4.62218E03 4.66186E02 2.11813E03 1.58642E03 1.73766E03 2.09317E03 6.58072E02 7.71367E02 5.43962E03 8.57888E03 4.45432E03 5.36039E03 8.24390E03 9.13297E03 4.93203E03 1.33267E03 7.55423E03 7.68025E03 5.58982E03 1.18109E03 7.12637E02 4.96732E03 8.68281E03 1.84233E03 4.01757E02 1.79757E02 2.41117E03 3.26023E03 6.39993E03 7.94433E03 2.69162E03 2.69985E01 3.15952E03 4.12268E03 2.60291E03 6.05336E03 1.50946E04 9.90021E03 1.52983E03 8.82566E03 2.37700E04 2.36217E04 1.06185E04 5.11139E03 2.61688E03 4.06325E02 2.17234E03 3.89114E03 1.11347E04 7.43260E03 2.52958E03 3.65778E03 2.49742E03 6.68887E02 6.79379E03 1.43664E04 8.80796E03 5.89709E02 1.31226E03 1.55393E03 3.50957E03 2.87825E03 5.65002E03 9.94554E03 5.97297E03 1.04335E03 1.52875E03 3.29801E03 1.49110E03 1.88529E03 5.50625E03 1.06388E04 6.17788E03 1.53731E03 4.94961E03 4.91577E03 6.83151E03 5.84343E03 3.67982E03 1.08178E03 1.16928E03 7.85212E03 2.83804E03 1.96944E03 3.29003E03 1.83055E02 3.70332E03 5.03288E03 2.07200E03 2.10813E02 2.14308E02 2.07135E02 1.36111E03 2.71428E03 1.69847E03 1.98429E02 5.01690E02 6.48146E02 3.44358E01 1.24011E03 5.14359E03 6.98654E03 1.00829E03 2.84981E01 3.86145E02 1.11436E03 1.04735E03 2.40676E03 2.09707E03 2.17004E02 7.56601E01 2.08041E02 5.09437E02 2.09179E02 1.31094E03 3.56858E03 4.25488E03 2.53779E03 5.62127E02 1.48763E03 2.56776E03 3.01302E03 5.87352E03 3.00645E03 4.42498E02 4.15555E02 7.81995E02 1.95402E02 3.36345E02 2.29061E03 7.15904E03 6.01723E03 1.07381E03 2.65559E03 3.46433E03 1.66792E03 7.35496E02 2.57771E03 1.85015E03 4.19265E02 1.74353E01 1.43318E03 2.52699E03 1.04285E03 7.36739E01 -Frame 257 2.66128E05 2.61770E05 9.61347E04 2.68548E04 7.08387E04 5.83868E04 1.88540E04 5.79366E03 7.04641E02 4.94032E03 1.25997E04 3.40320E03 1.68902E01 2.38459E02 1.43176E03 2.91939E03 2.20914E03 6.58239E02 2.59203E02 1.36128E03 8.12497E02 1.41139E02 1.27840E02 1.49303E02 1.89971E02 5.99555E01 1.72313E03 4.50452E03 2.82018E03 1.55179E02 1.09951E03 1.79648E03 7.48155E03 3.62229E03 2.99403E03 3.46435E03 6.04540E02 2.89183E03 2.81952E03 4.35540E03 1.59792E03 2.66574E03 2.74171E03 1.61009E02 2.03882E03 1.82113E03 8.50142E02 7.92718E02 1.26157E02 5.02522E02 9.81214E02 5.60678E02 3.36098E02 1.97511E02 2.70738E03 1.02617E04 5.63251E03 3.24472E03 6.97117E03 2.62273E03 8.08760E02 2.04484E03 2.42953E03 1.68214E03 3.81154E03 4.99668E03 2.71335E03 6.45770E02 1.41272E02 3.58731E02 5.05943E03 3.36438E03 4.40395E03 3.24304E03 1.83051E03 1.50362E02 5.15127E02 3.89184E03 5.94476E01 2.57455E03 1.27310E03 1.92315E03 6.62704E02 1.62663E03 2.61460E03 7.39079E02 5.03311E03 7.02991E03 3.05126E03 6.68558E02 7.39247E02 1.13517E03 4.71496E03 1.04183E04 7.21365E03 8.85909E03 1.00480E04 1.41476E03 9.01346E02 9.26823E02 4.12528E02 1.23517E03 9.10928E02 1.62607E02 8.46108E02 2.78290E03 3.75361E03 1.21143E03 2.90057E03 2.05889E03 1.22291E03 1.30631E04 1.72169E04 5.49097E03 1.35656E03 9.27316E02 3.03685E03 8.36710E03 4.56354E03 1.90334E03 2.69096E03 1.21327E03 6.29096E02 2.94787E03 2.78824E03 9.35240E02 1.62415E03 2.10092E03 2.24525E03 4.55084E02 1.44528E03 4.27386E03 3.78680E03 1.45103E03 4.14029E03 5.52942E03 1.78188E03 4.34668E03 7.85682E02 1.94430E03 9.66632E02 2.86594E03 1.19602E04 1.45539E04 7.69651E03 4.90810E03 4.75409E03 6.67079E03 1.30037E04 6.58405E03 9.51199E02 2.43350E03 1.53347E03 1.54168E04 1.21434E04 3.75504E03 3.55576E03 4.70058E03 1.88380E03 2.96946E03 1.82727E04 1.84222E04 3.19925E03 1.94292E02 1.76627E03 1.07247E03 1.80159E02 4.02580E02 3.00201E03 2.61712E03 4.90712E02 6.93277E03 8.63949E03 5.76594E03 4.60172E03 9.42128E02 1.23639E03 3.09527E02 4.65812E03 5.78707E03 1.26045E03 1.22363E02 4.48382E03 1.17798E04 3.57512E03 2.10293E02 5.63626E03 2.94776E03 2.18683E03 6.55491E03 5.11484E03 9.01515E03 7.28328E03 4.49683E03 2.22798E04 1.77408E04 7.04748E03 8.97195E03 8.14213E03 1.72822E03 1.95142E03 6.15155E02 7.32597E02 1.73109E03 1.98480E03 5.61676E02 4.64970E02 4.31227E03 6.51086E03 2.27466E03 7.55202E02 5.63712E03 1.34339E04 7.88327E03 1.83255E03 8.41575E02 9.23944E02 1.87154E03 2.97321E03 9.34989E02 4.81463E03 3.66806E03 2.86371E03 1.70568E03 1.07450E03 8.32347E02 3.51710E02 7.60938E01 1.51990E02 3.52185E02 9.47461E01 5.25684E02 8.08971E02 1.96061E03 7.08214E02 1.04287E03 3.96541E01 4.54392E02 1.33281E03 9.39906E02 9.93983E02 1.55464E03 6.83578E01 4.10619E03 6.02911E03 2.54931E03 9.30612E01 6.01800E02 2.20016E03 3.31835E03 1.35319E03 2.79120E02 6.93525E-01 4.99366E02 2.64995E02 1.00455E03 2.55914E03 -Frame 257 9.66395E05 4.37559E05 3.56738E04 4.64945E04 2.33067E05 3.49250E05 2.58212E05 8.96507E04 2.19673E04 2.45303E04 7.78302E04 9.58096E04 6.93769E04 5.99626E04 6.98332E04 6.57950E04 3.96256E04 2.01819E04 9.79168E03 3.69802E03 1.32613E03 2.53678E03 5.14831E03 5.29255E03 4.03532E03 1.93967E03 2.64352E03 2.20145E03 4.93678E03 4.13326E03 3.94636E03 8.14294E03 1.57011E04 1.16907E04 1.67020E04 3.66630E04 3.42130E04 1.46926E04 7.48548E03 1.27796E04 1.57321E04 2.02568E04 2.23620E04 1.30918E04 5.60332E03 1.64389E03 2.13280E02 1.49484E03 5.65513E03 8.23837E03 8.16006E03 5.27783E03 4.33790E03 1.79231E03 1.94529E03 9.19014E03 1.20255E04 7.89318E03 4.31627E03 3.00643E03 1.72719E03 4.65429E03 7.66560E03 6.76356E03 1.41096E04 2.27205E04 2.00997E04 1.66873E04 1.57126E04 1.63879E04 2.32766E04 2.43891E04 1.10812E04 4.62155E03 6.63302E03 1.04867E04 1.16569E04 1.54337E04 3.41381E04 6.03906E04 8.60667E04 1.02057E05 1.03195E05 1.17681E05 1.30577E05 1.08261E05 9.22088E04 5.03058E04 1.41616E04 3.35204E03 2.47575E03 2.18683E03 1.30098E03 4.99447E03 5.41363E03 5.86845E03 1.03015E04 1.00735E04 9.16157E03 7.93696E03 5.16159E03 3.27123E03 9.39678E02 3.94678E02 1.19625E03 2.55844E03 3.86376E03 1.43089E03 1.27270E03 7.38917E02 7.60276E02 1.02458E04 1.11794E04 1.74149E03 2.27086E03 3.19136E02 3.06396E03 7.96743E03 3.75032E03 2.29476E03 1.19555E03 1.83899E03 5.41741E03 8.58190E03 4.35358E03 1.08839E03 2.12432E02 7.89947E02 2.71834E03 7.34883E02 2.24434E02 1.74064E03 2.11773E03 2.63871E03 2.77643E03 3.85631E03 5.91265E03 1.10074E04 1.62564E04 1.31657E04 4.67031E03 7.86725E02 3.77704E03 3.55574E03 5.72301E03 4.28679E03 3.23987E03 3.80036E03 1.28282E04 5.54827E03 1.29191E03 5.55408E03 3.59137E03 7.29492E02 1.78183E03 1.31750E03 5.74496E03 2.27169E03 9.87544E02 4.44763E03 2.84414E03 1.63645E03 5.10792E02 9.50144E02 1.03341E02 1.73453E03 3.03666E03 5.28688E03 5.46244E03 1.89018E03 6.62472E03 8.07939E03 3.45348E03 1.83506E03 6.83469E03 1.20419E04 7.54399E03 2.96711E03 1.55358E03 2.58726E03 5.75674E02 1.76660E03 2.34523E03 1.59350E03 7.48991E03 1.87481E03 1.49076E03 7.30272E03 1.26012E04 1.38735E04 5.17092E03 9.93186E03 1.96151E04 1.23909E04 1.01497E04 1.25106E04 2.94818E03 2.01641E02 4.87373E03 4.45810E03 2.33911E03 2.62123E03 2.28899E03 1.02347E03 2.30136E03 3.30436E03 7.94914E03 1.11782E04 2.82848E03 1.57366E03 1.87467E02 4.18458E03 1.03427E03 1.77833E03 2.00323E03 3.90772E03 3.89060E03 2.75019E03 5.38174E03 5.17151E03 4.06614E03 1.56284E03 1.56632E03 2.98838E03 4.09401E03 2.97021E03 2.26824E03 3.72469E02 1.44542E02 1.66319E03 2.32801E03 1.06385E03 1.73247E02 3.91019E02 1.64378E03 1.01225E03 1.09778E02 2.87995E03 3.38530E03 1.59823E03 5.78815E02 5.16580E02 1.00962E03 4.04038E02 4.59107E02 1.43167E02 5.93544E02 1.06178E02 5.61093E02 3.07067E03 4.19534E03 8.24125E02 7.99661E02 1.41694E03 1.43555E03 1.55138E03 1.45680E03 -Frame 257 4.40094E05 1.41093E05 1.70124E03 2.33829E04 1.95598E04 1.06638E04 3.98376E04 6.03444E04 1.52336E04 7.76199E03 3.39456E04 2.75139E04 7.08671E03 6.17940E03 6.40654E03 1.06019E04 1.63651E03 2.82860E03 2.66085E03 1.09529E03 2.23718E02 8.12278E02 2.68709E03 8.24026E02 1.22764E03 3.38304E03 2.73289E03 2.63893E03 2.91196E03 9.11903E02 5.50482E02 4.06107E03 1.42398E04 1.96936E03 3.79812E03 9.77688E03 1.35776E04 1.32004E03 2.30052E03 6.66543E03 1.85916E03 2.77190E03 1.35652E04 6.08091E03 7.46998E01 9.43139E02 3.86566E03 4.64872E03 7.16503E02 3.05111E03 2.27949E02 2.54137E03 5.71915E03 3.48878E03 3.18789E03 8.66612E03 6.03277E03 1.24808E02 8.10926E02 8.67020E02 2.22298E03 3.33328E03 3.65791E01 1.92010E03 4.30834E02 3.59909E03 2.83222E02 6.94617E03 2.73087E03 1.24037E03 9.07034E02 5.47355E03 7.18955E02 2.93886E03 2.05648E03 9.94235E03 5.05324E03 1.58007E03 1.72180E04 2.57289E04 3.86533E02 2.90297E04 3.65308E04 4.60900E04 4.23196E04 7.43576E04 1.26959E04 8.06683E03 4.48981E03 1.21135E03 2.97407E03 5.86974E03 1.37501E03 1.61636E03 2.11984E03 4.43286E02 9.16115E02 2.31559E03 3.12496E03 1.20139E03 3.42804E03 2.04009E03 5.29303E03 9.87186E02 2.35774E02 1.93936E03 3.22444E03 2.39051E03 2.69989E03 1.96690E03 3.44814E02 5.30211E03 2.61769E03 7.48155E03 1.07040E04 7.06384E03 4.50829E03 1.43784E03 1.03012E03 4.67009E03 3.53406E03 1.70652E03 8.91937E03 2.97841E03 3.96318E02 2.02782E03 5.85432E02 1.26358E03 1.20350E04 1.57995E04 7.71047E03 2.40412E03 8.31291E02 1.24565E03 1.62349E03 3.41062E03 3.59951E03 1.37725E03 8.29271E03 4.08537E03 7.33722E02 6.45277E03 3.89302E03 1.92691E02 2.87379E03 7.45083E03 2.55539E03 3.35648E03 3.71275E04 5.83502E04 1.82004E04 1.98414E02 2.07324E03 3.17421E02 4.56645E03 5.13379E03 5.20590E02 6.87484E02 3.57224E03 5.29239E03 4.09492E03 5.05274E03 5.92630E03 5.37246E03 1.28003E03 1.07254E03 1.08381E03 2.83745E03 1.53577E04 1.91612E04 6.51058E03 7.20574E03 4.34032E03 1.63180E03 8.20624E02 5.83755E02 2.00605E03 1.05746E03 1.64634E02 5.52924E02 3.79063E03 1.17776E04 2.08873E04 1.82714E04 8.48279E03 2.57930E03 1.26175E03 6.23872E03 3.48241E03 7.89290E03 1.07804E03 4.26556E03 1.38784E04 1.13048E04 6.80337E03 9.32144E03 1.53123E04 1.12500E04 3.42136E03 1.45480E03 2.23087E03 2.76899E03 1.30358E03 3.44738E01 3.21888E02 9.48129E02 1.88787E03 7.34162E03 5.32946E03 2.10709E03 2.00111E03 4.78674E03 3.19900E03 2.14152E02 1.10582E03 3.16563E03 2.47098E03 1.48775E03 1.49732E03 1.29105E02 1.79786E03 1.58573E03 9.21186E02 9.66240E02 2.42747E03 2.73952E03 2.58127E03 6.63235E02 1.48420E02 3.00282E03 2.99412E03 2.00337E02 9.51899E02 1.81161E03 3.35255E03 3.64629E03 9.22701E02 1.92068E03 5.38688E03 6.05414E03 2.49198E03 9.54594E02 9.97536E02 2.90616E03 3.17771E03 1.30815E03 6.42878E02 1.24707E03 8.52267E02 1.78385E03 6.41595E03 4.95278E03 1.99478E02 1.25640E03 9.36469E02 4.43582E02 3.84474E02 -Frame 257 5.79432E04 9.93523E04 9.71589E04 9.01201E04 9.22837E04 6.61180E04 5.53461E04 2.09401E04 6.51998E03 2.47465E04 4.21242E04 3.05655E04 3.45607E04 1.40111E04 3.36193E03 6.19614E03 1.66536E04 1.63312E04 6.82433E03 1.15666E03 1.66714E03 5.44757E03 1.87786E03 3.38697E03 1.83659E03 3.83659E03 3.28231E03 2.76856E02 1.25287E02 3.44255E03 7.50115E01 1.95289E04 1.25286E04 4.67557E03 2.13102E02 2.86196E03 5.66160E03 7.06788E02 1.56728E03 9.90132E02 2.78305E03 1.44111E03 6.37909E03 1.27154E04 5.97124E03 3.39111E02 4.20633E03 1.56861E04 2.35089E04 1.13111E04 1.30687E04 8.24430E03 3.48702E03 1.41142E04 4.83197E04 7.84889E04 7.55175E04 7.17939E04 2.72218E04 2.68468E04 5.04731E04 9.08988E04 5.46523E04 3.06399E04 2.51011E04 2.33226E04 1.21950E04 3.38331E04 3.81123E04 1.14840E04 3.51101E03 1.79629E04 2.22215E04 9.21603E03 2.43993E04 1.38042E04 4.80681E03 2.84505E04 7.78872E04 4.08425E04 5.01893E03 3.07299E04 4.21466E04 1.99911E04 1.67834E04 3.60305E04 2.42657E04 2.81459E04 1.02377E04 4.09935E04 1.49202E04 3.40511E03 6.62895E03 4.19268E04 2.10314E04 1.93680E04 4.25475E03 3.33601E04 1.40373E04 3.35764E04 1.42174E04 8.42938E03 3.83083E03 1.38184E04 1.62874E04 1.00624E04 1.58060E04 5.48436E03 2.16529E03 2.36934E04 5.95283E03 3.70218E04 2.73266E04 8.85196E00 2.10755E03 8.89989E03 1.29630E04 2.30733E04 1.05735E04 7.30076E03 2.03243E04 3.36393E03 4.93857E03 4.01799E03 5.95869E03 9.06480E03 1.53931E04 2.99114E02 3.18029E04 2.35923E04 7.47995E03 2.31733E04 4.58895E04 5.00235E04 2.48891E04 1.46535E04 2.40355E04 4.79388E04 1.05967E05 6.05027E04 3.55586E04 1.80955E04 1.82177E04 7.35898E04 9.24346E04 1.07975E04 1.28833E03 1.01366E04 1.32676E05 1.10193E05 3.24162E03 3.66366E04 6.07569E04 8.29434E04 3.88991E04 4.22674E04 3.09169E04 1.65212E04 2.09889E04 1.03287E04 9.31639E04 1.12580E05 2.81602E04 6.35197E04 1.07634E05 1.03777E05 9.34690E04 1.30170E05 8.76760E04 8.06633E04 1.58029E05 7.41220E04 7.63824E04 6.53589E04 2.94585E04 3.84360E04 4.14700E04 4.05061E04 2.76942E04 1.38606E04 2.31307E04 7.64403E03 2.84324E04 3.45698E04 1.08390E04 1.17476E04 6.23470E02 1.99660E04 4.66283E04 2.34914E04 5.11502E03 1.22816E04 6.94717E03 1.71182E04 1.52049E04 9.86729E03 2.72757E03 1.20141E04 2.74083E03 9.60740E03 1.35096E04 5.47590E03 1.11737E04 1.01628E04 3.61204E03 2.77264E03 5.23007E03 1.77717E03 7.96854E03 1.26480E04 3.41667E03 1.06727E03 5.88889E03 5.35232E03 1.59331E03 2.08631E03 1.82229E02 1.31006E02 9.34327E01 5.07215E03 7.19186E03 6.69169E02 5.15812E03 9.94281E03 1.85400E04 1.86302E04 9.22143E03 2.11120E03 6.54240E03 8.40892E03 1.06996E03 8.45795E03 6.62749E03 2.67405E03 1.48861E03 2.56232E03 7.30527E03 3.49695E03 2.96654E03 2.41295E03 7.23494E02 1.58325E03 7.26860E02 3.38462E03 4.17629E03 4.77294E02 7.79075E02 1.39535E01 9.28871E02 2.77682E02 2.60338E03 4.22940E03 4.25230E02 3.15939E03 2.89336E03 2.14355E02 1.50814E02 -Frame 257 7.86759E05 5.63865E05 3.82612E05 6.83221E05 4.76918E05 3.70247E05 1.13291E06 1.78780E06 1.38492E06 9.31334E05 1.40828E06 2.05006E06 1.46444E06 9.21181E05 1.63510E06 3.02071E06 3.61494E06 4.87058E06 5.75353E06 4.36609E06 3.10472E06 2.32029E06 1.73101E06 1.25069E06 1.02634E06 7.52058E05 3.92488E05 1.98279E05 1.16810E05 1.20249E05 2.32416E05 4.50941E05 4.92889E05 4.52746E05 4.68070E05 4.07796E05 2.48182E05 1.36473E05 7.27482E04 4.43798E04 4.62199E04 9.35188E04 2.16169E05 2.31839E05 1.97682E05 3.27292E05 4.84938E05 4.52238E05 6.65013E05 1.73948E06 2.55049E06 2.33996E06 2.73868E06 3.33221E06 2.27880E06 5.16015E06 1.07897E07 8.39191E06 3.87003E06 3.17237E06 2.91591E06 1.33893E06 1.08096E05 1.07488E05 3.47139E05 3.23278E05 8.24062E05 1.75098E06 1.67238E06 9.26300E05 6.76720E05 9.94004E05 1.02250E06 5.01610E05 2.70099E05 4.64103E05 3.18172E05 2.60466E05 1.25854E06 2.15841E06 2.01215E06 2.76350E06 6.01717E06 7.45511E06 4.71964E06 2.44907E06 1.91046E06 2.24173E06 3.99693E06 5.49711E06 5.06577E06 3.70088E06 2.66387E06 1.59241E06 5.60167E05 1.03681E05 9.01476E04 3.66041E05 1.18482E06 2.04348E06 2.06767E06 1.43801E06 7.94908E05 4.14942E05 2.62238E05 2.19550E05 3.61441E05 6.50327E05 9.13720E05 1.26271E06 1.45327E06 1.17726E06 5.93532E05 2.84201E05 2.98873E05 5.72130E05 9.85875E05 1.02880E06 6.77604E05 4.22356E05 3.51250E05 3.36825E05 3.51222E05 3.21364E05 2.36587E05 1.02059E05 4.28976E04 8.78375E04 1.09938E05 6.95677E04 7.09176E04 2.91945E05 1.09402E06 1.85598E06 1.49680E06 1.08145E06 1.35955E06 1.36446E06 7.93693E05 6.74528E05 4.88230E05 3.60477E05 6.32980E05 1.02272E06 8.43886E05 3.59838E05 2.21484E05 3.44941E05 5.53690E05 6.16209E05 4.64489E05 1.78887E05 1.40777E05 3.78564E05 4.80776E05 3.15681E05 1.18276E05 4.09553E04 1.69377E05 4.13257E05 6.72250E05 5.50991E05 9.37514E04 2.22255E04 2.31215E05 4.91336E05 5.00765E05 4.04900E05 1.29473E05 1.91905E04 2.33274E05 5.69479E05 6.10294E05 2.82330E05 2.61689E04 3.82220E04 1.49903E05 1.57050E05 1.10086E05 1.88075E04 8.02167E03 5.92827E04 1.08711E05 7.51572E04 1.23689E04 8.94390E03 2.35272E04 1.61773E04 6.82073E04 2.03807E04 3.90513E04 8.39083E04 5.97370E04 1.42541E04 1.01682E03 1.89502E04 6.56992E04 7.31938E04 3.43702E04 5.16846E03 1.80440E04 6.26018E04 7.82323E04 4.84437E04 1.63762E04 2.45635E03 6.06837E03 1.79546E04 4.00542E04 7.41596E04 5.31987E04 1.52843E04 6.18367E03 1.85378E04 3.14021E04 2.98115E04 1.78773E04 1.76298E04 3.23500E04 4.73240E04 2.84115E04 9.14650E03 1.72219E03 1.40449E04 8.05139E04 1.00950E05 5.59284E04 1.03964E04 1.40641E03 1.23940E04 2.20405E04 1.89441E04 1.45056E04 1.03185E04 2.31294E03 3.55424E03 1.17388E04 1.29562E04 1.50882E03 7.61646E03 1.87735E04 1.56914E04 5.35658E03 3.19787E03 2.80264E03 2.62221E03 7.74247E03 1.25999E04 1.14471E04 9.08036E03 4.36139E03 6.91198E03 5.26178E03 3.82449E03 4.36078E03 1.69365E03 3.65636E02 -Frame 257 1.66352E06 1.33484E06 1.09539E05 1.29985E06 1.58294E06 9.42236E05 4.24128E06 4.81734E06 4.58171E05 2.48749E06 3.37001E06 1.83049E05 3.35690E06 5.49493E06 7.72626E05 8.43173E06 3.95667E07 3.56964E07 8.82051E05 2.09301E07 2.35561E07 5.61704E06 1.20964E07 5.89285E06 1.95761E06 6.74936E06 3.96240E06 7.65732E05 2.02833E06 1.76674E06 4.12319E05 1.78922E06 2.14747E06 1.73130E05 1.06751E06 1.64972E06 3.07112E05 4.23459E05 6.06305E05 1.87252E05 3.58187E05 6.24518E05 1.39461E05 3.30155E05 1.08175E06 1.67277E05 7.16835E05 2.26475E06 4.33194E05 2.88498E06 1.18555E07 5.29162E06 4.55048E06 3.90025E07 3.27684E07 1.61112E06 3.72002E07 4.83469E07 7.41545E06 4.47928E06 9.06840E06 1.36098E06 2.15532E06 2.28797E06 4.26874E05 1.21935E06 4.13471E06 2.28357E06 3.10652E04 1.40127E06 3.35707E05 8.06373E05 2.83534E06 1.16000E06 2.88644E05 2.41305E06 1.67152E06 1.89823E04 2.38215E06 2.07432E06 4.94492E05 1.01743E07 1.03270E07 6.22949E06 3.11359E07 3.13825E07 6.54522E06 1.68613E06 9.00607E06 2.34826E06 3.27298E06 4.86079E06 3.62295E05 8.72450E05 9.13918E05 2.05307E05 2.38798E05 8.19141E05 3.77131E05 6.27535E05 1.84214E06 7.33081E05 1.90688E05 1.09276E05 2.26772E04 1.12085E05 4.26440E05 5.59524E05 6.13778E04 1.06632E06 2.18442E05 4.33542E05 7.75061E05 2.89312E05 3.09051E05 2.14133E05 1.02156E06 2.35542E05 9.30224E04 5.12606E04 8.76645E04 2.43068E05 4.49565E04 1.14547E05 1.50143E05 7.51654E03 2.60915E03 4.58001E04 6.99194E04 1.22808E04 6.84067E04 7.43797E04 5.64181E05 7.39670E05 6.50530E05 3.37592E05 3.14117E05 8.63515E05 4.89547E05 6.52443E05 4.65477E05 2.43824E04 1.13832E05 8.77431E04 4.36271E05 8.97768E04 1.88347E05 6.88574E04 6.19475E04 5.57927E04 4.25716E05 7.30779E05 2.08980E05 4.24870E05 8.33694E04 1.79203E05 1.48647E05 2.36834E05 2.76291E05 4.02023E04 1.84223E05 4.76400E04 1.61785E05 5.61419E04 6.91512E04 1.19789E05 2.80894E04 4.64753E04 7.91522E03 7.86020E04 2.15872E04 2.07902E05 2.05573E05 3.93689E04 1.95892E05 5.08789E04 3.52182E04 8.18136E04 8.29444E04 1.94258E05 7.92445E04 5.73057E04 8.13996E04 3.67275E04 1.10160E05 1.04547E05 1.17476E04 1.30895E05 4.55488E05 4.45102E05 8.82366E04 1.23674E05 1.18255E05 4.23763E04 3.96416E04 1.45853E04 4.58094E04 2.37527E04 2.53987E02 1.10250E04 6.95328E02 1.36348E04 2.65570E03 1.56036E04 2.60366E04 4.36826E04 5.91323E04 2.41799E04 8.93145E03 1.80992E04 3.48243E04 3.51212E03 1.19371E04 1.51049E04 1.66626E04 3.70226E04 1.27967E04 2.06635E04 1.19580E04 5.93538E03 2.21841E04 1.33255E04 1.46532E04 3.81678E03 1.21979E04 1.29595E04 2.13929E02 1.46058E04 1.79253E04 7.80894E03 9.53100E03 9.02552E02 4.02733E01 2.32375E03 3.60847E03 1.69687E02 3.88225E02 3.97252E03 9.75335E03 9.03136E03 8.05438E03 6.28005E02 8.15742E03 1.40148E04 3.05013E03 1.09516E03 1.04311E04 1.24909E04 1.66150E03 6.77309E03 1.37452E03 1.73728E04 2.23065E04 1.28742E04 4.55672E03 2.80293E03 4.73006E03 -Frame 257 3.38084E04 2.55700E04 7.86637E05 4.38378E06 3.45139E06 7.26725E05 5.47072E06 1.23715E07 3.81352E06 1.10652E06 6.71507E06 7.08399E06 1.04509E06 4.62262E06 1.32679E07 4.71867E06 9.07850E06 8.02343E07 9.79745E07 2.15852E07 2.06204E07 9.92958E07 4.89128E07 5.06994E06 2.55200E07 2.65792E07 3.70406E06 7.23440E06 1.39268E07 5.04469E06 1.82761E06 6.86326E06 6.48233E06 1.09732E06 3.02780E06 4.79492E06 1.82488E06 7.80827E05 3.08038E06 2.79059E06 1.04086E06 2.87710E06 4.65233E06 2.61694E06 2.83285E06 9.66635E06 1.15223E07 6.71008E06 1.45609E07 3.31279E07 1.64604E07 2.83902E07 1.15314E08 9.93797E07 2.95218E06 3.67169E07 7.53264E07 3.10181E07 8.87299E05 1.99696E07 2.08592E07 2.80868E06 2.29943E06 7.02592E06 2.45510E06 6.40672E05 3.33974E06 1.99319E06 1.52727E04 1.05206E06 1.56431E06 2.63801E05 9.10718E05 3.90936E06 2.18024E06 2.42743E05 3.92460E06 4.32728E06 1.00258E06 1.89916E06 1.00454E07 3.73654E06 3.20745E06 2.48406E07 2.80310E07 1.84348E06 9.07967E06 1.52180E07 6.00122E06 1.22304E05 4.84704E06 5.11693E06 1.03936E06 1.00460E06 3.08168E06 2.21938E06 3.33134E05 2.39948E06 4.23545E06 2.53997E06 7.59962E05 1.71184E06 1.62241E06 1.27053E06 1.40429E06 2.44430E06 1.33720E06 2.38658E05 2.23172E06 3.28074E06 1.22833E06 8.69943E05 3.00043E06 1.70983E06 1.10091E05 1.82598E06 1.57667E06 1.27290E05 7.95970E04 1.71389E05 2.47275E04 5.25994E04 7.07185E04 9.05998E04 7.82097E04 5.54538E04 1.67864E04 8.15277E04 1.88540E05 1.73657E05 1.00554E05 1.10310E04 2.26029E04 1.16203E04 2.29754E04 3.31673E04 7.77342E04 4.88874E04 6.62002E04 1.64305E05 1.88757E05 1.97924E05 2.58222E05 2.32722E05 7.17564E04 2.91530E05 1.24326E06 1.65771E06 1.17359E06 1.45349E06 4.12195E06 5.23419E06 1.58254E06 4.90547E05 1.56409E06 1.11113E06 2.34649E05 1.06323E06 1.15047E06 3.25207E05 1.71502E05 5.13466E05 6.51130E05 3.02900E05 2.23291E05 3.88240E05 1.81595E05 6.41826E04 3.71948E05 6.26899E05 3.83593E05 5.28696E05 1.19166E06 6.44565E05 1.02229E05 3.29576E05 3.99662E05 6.62304E04 3.94872E05 8.92545E05 4.27126E05 6.62612E04 9.96998E04 2.89643E04 1.29955E05 2.51734E05 2.16965E05 2.13290E05 5.19768E05 6.23247E05 5.46654E04 1.74578E05 2.33237E05 3.98433E04 2.58025E04 9.80539E04 5.88657E04 7.68351E03 1.31358E04 1.43905E04 1.63350E04 1.02834E03 1.42758E04 1.38160E04 2.51673E04 3.24096E04 5.88695E04 4.93528E04 5.96755E04 1.00210E05 7.99931E04 2.91048E04 5.62345E04 6.51225E04 1.36388E04 6.59177E03 5.33894E04 3.51716E04 1.90703E04 2.10118E04 2.62689E04 3.01986E03 1.12054E04 1.65751E04 1.13873E04 3.31187E03 8.14632E03 5.51753E03 9.98311E03 6.34387E04 4.26923E04 1.59622E04 1.64403E04 2.81959E04 1.86168E04 6.96803E03 3.29240E03 1.02984E03 3.75848E01 1.53833E03 1.88980E03 1.29191E04 2.20069E04 1.47632E03 1.04791E04 2.51675E04 2.67578E04 7.78023E03 1.41026E04 2.78750E04 2.10205E04 4.48310E04 6.31406E04 1.27349E04 1.59068E03 8.79630E03 5.29804E03 -Frame 257 5.66564E04 1.62810E05 9.92365E05 3.76466E06 3.65218E06 6.66709E05 7.13487E06 1.76521E07 3.53957E06 1.16885E06 8.83287E06 6.05073E06 5.08937E05 9.47819E06 1.37457E07 1.48126E06 1.38479E07 8.06892E07 3.85642E07 1.34354E07 1.83138E08 2.43909E08 4.14569E07 2.89542E07 8.85803E07 4.03290E07 8.85427E06 4.09880E07 3.60989E07 5.84228E06 1.00181E07 1.76422E07 6.80925E06 5.86810E06 1.30187E07 1.09043E07 2.69064E06 6.24812E06 1.01911E07 3.64779E06 4.04765E06 1.05232E07 7.60785E06 1.75474E06 1.36579E07 1.78724E07 3.49879E06 4.27374E07 5.78657E07 1.03165E07 1.07722E08 2.11573E08 4.32443E07 4.38415E07 1.46020E08 9.97653E07 1.44006E07 1.85492E07 3.58563E07 8.64950E06 1.57843E06 1.95610E07 1.52188E07 2.17532E06 5.50709E06 1.05670E07 2.85520E06 2.66785E06 7.04808E06 5.92275E06 2.86965E06 7.85042E06 9.51355E06 4.12098E06 1.21137E07 1.79195E07 3.92819E06 1.28519E06 5.48739E06 5.35657E06 1.27022E06 7.43602E06 2.55325E07 2.45041E07 7.18734E06 3.77023E06 7.99550E06 5.08351E05 3.78474E06 9.90373E06 6.53654E06 4.09285E05 2.53988E06 5.78062E06 8.70852E05 2.78871E06 5.34873E06 1.33723E06 9.76670E05 4.62222E06 3.21389E06 1.00217E04 2.13827E06 3.39620E06 3.44071E05 1.12965E06 2.62524E06 1.04907E06 5.89668E05 2.42319E06 1.74863E06 1.47579E05 2.86620E06 2.52287E06 5.96442E05 1.49751E06 2.07689E06 2.08508E05 4.78938E04 3.79789E05 2.60890E05 7.18762E04 5.75705E04 2.09140E04 2.89675E04 1.08758E05 7.49279E03 3.41388E04 8.42265E04 1.09840E04 8.54550E03 7.09918E04 2.32846E04 1.85890E04 7.04055E04 3.58497E04 3.17376E04 2.12315E04 8.02752E04 3.77127E05 5.95414E05 5.00798E05 7.39548E05 7.51976E05 1.63468E06 2.28903E06 4.96674E05 1.60938E06 5.16682E06 2.97582E06 1.22572E06 7.91633E06 6.32358E06 7.15097E05 3.02644E06 4.51044E06 1.04980E06 6.66496E05 8.51229E05 2.23608E05 6.00037E04 3.44049E05 5.15569E05 2.18089E05 1.40513E05 6.83090E04 1.09860E05 2.58130E05 1.70106E05 1.82448E05 1.00453E06 1.70150E06 2.52010E05 3.51129E05 1.49443E06 5.87335E05 1.75970E06 2.24347E06 1.16029E06 1.35055E06 3.59088E06 2.07833E06 1.03274E06 1.06519E06 6.34616E05 2.43602E05 3.60964E05 4.44840E05 3.17615E05 1.24505E05 6.52706E04 3.07886E05 2.44026E05 1.34960E05 1.45571E05 1.02440E05 1.78668E03 2.01372E04 3.49816E03 5.35850E03 6.04306E04 8.67015E04 2.20030E04 1.96063E04 6.65247E03 6.72966E03 3.17210E04 4.46539E04 8.46403E04 9.53903E04 7.34099E04 5.49874E02 1.10298E04 3.41273E04 1.60556E04 3.64280E04 2.36252E04 5.24160E04 3.55439E04 1.60496E04 9.04574E02 5.32001E04 9.40404E04 6.05253E03 1.13613E03 7.50017E03 2.16641E03 2.88162E03 3.47792E04 6.19012E04 5.74150E03 8.40726E02 5.08827E04 6.69121E04 4.45273E04 1.12291E04 3.24554E02 7.73753E03 1.03193E04 1.04170E04 1.24263E04 1.32920E04 2.08832E04 7.56277E03 4.38402E04 2.16157E04 9.39276E03 2.52397E04 1.02985E04 1.05729E04 2.23920E02 2.97274E04 2.46801E04 7.14939E03 1.97310E02 1.74752E04 2.94869E03 -Frame 257 1.92856E06 1.43951E06 3.32333E04 3.94937E06 3.35323E06 1.08956E06 8.62002E06 2.11931E07 7.72865E06 8.53902E05 7.44364E06 9.65430E06 1.47617E06 5.03109E06 1.73556E07 5.65018E06 4.83690E06 7.05472E07 1.03325E08 1.98573E07 5.91357E07 3.11847E08 1.82021E08 1.75728E07 1.01932E08 1.74068E08 3.30592E07 7.35079E06 5.66618E07 3.99251E07 6.13797E06 2.51852E07 3.73325E07 7.11843E06 2.71879E06 2.18253E07 1.14708E07 2.56574E06 1.39497E07 1.50282E07 5.63554E06 8.55505E06 2.96927E07 1.80902E07 1.38947E07 7.26355E07 1.15371E08 6.35537E07 1.12508E08 3.03343E08 1.12781E08 8.61331E06 8.91121E07 1.56245E08 5.92892E07 7.83517E06 7.45080E07 5.33520E07 1.16201E07 9.22290E06 3.03898E07 1.03070E07 1.24854E06 2.00431E07 1.97092E07 5.68415E06 3.62297E06 8.02858E06 3.36343E06 1.62014E05 5.80855E06 1.07341E07 2.67154E06 8.62700E06 3.83910E07 3.32299E07 7.02045E06 7.77636E06 5.81503E06 1.33181E06 4.25271E06 4.90731E06 1.54922E06 1.22936E05 4.17658E06 4.98501E06 5.60400E06 1.33458E06 1.22583E06 8.36979E06 5.93545E06 7.04115E06 1.03710E07 4.40065E06 2.70200E04 3.29493E06 3.81782E06 1.01805E06 2.63066E06 3.92563E06 1.89162E06 3.99619E05 2.35967E06 2.83088E06 8.15418E05 1.13940E06 2.49739E06 2.58338E06 7.98994E05 2.04734E06 2.77450E06 1.01877E06 1.81815E06 3.96061E06 3.04733E06 6.18052E05 1.18858E06 1.81848E06 6.78874E05 1.87704E05 2.27027E05 1.77202E05 7.87744E04 8.80607E04 8.08733E04 1.31642E04 3.22620E04 1.35544E05 1.55955E05 8.84645E04 1.36833E05 7.23749E04 3.51240E04 5.49189E04 1.87202E05 3.50171E05 3.48835E05 3.67869E05 5.45061E05 6.92413E05 1.73223E05 6.04271E04 1.77473E05 9.11897E04 1.18294E06 2.56887E06 1.42938E06 2.70860E05 3.13823E06 4.40943E06 4.19101E04 2.98928E06 5.56505E06 1.74443E06 1.85234E06 5.89447E06 3.80802E06 1.61781E05 2.71837E05 2.22521E05 3.81417E05 6.74518E05 4.80071E05 1.21527E05 1.13586E05 2.58954E05 7.11775E05 7.56952E05 3.98086E05 5.77863E05 1.40529E06 1.14011E06 6.97117E05 3.33501E06 3.17110E06 1.80096E06 8.93186E05 1.47333E06 4.98664E05 2.61900E06 6.36293E06 2.41524E06 3.05627E05 2.11677E06 1.08769E06 4.22826E05 1.05790E06 1.07799E06 4.62362E05 8.11001E04 1.62980E05 3.40827E05 4.41862E04 9.19668E04 4.77684E05 5.91421E05 2.26174E05 1.25986E05 7.70085E04 6.30774E04 3.65080E04 3.11894E04 4.52754E04 1.74928E04 3.36086E04 8.42862E04 5.13834E04 1.00217E05 1.61286E05 8.60793E04 2.90773E04 1.02938E04 8.36103E03 2.61555E03 3.07142E04 3.26732E04 3.98318E04 5.73277E04 3.23586E04 1.14307E04 1.92900E03 2.04865E04 9.22203E04 1.49732E05 9.49972E04 5.23832E04 2.24311E04 1.17346E04 1.41848E04 2.26886E04 4.83318E04 5.47504E04 1.01085E05 1.09334E05 2.71107E04 2.33701E02 1.46960E03 2.65355E03 1.94299E04 4.39329E04 3.93105E04 1.28592E04 1.58169E03 2.96847E03 9.60530E03 1.24805E04 8.96051E01 7.40741E03 8.74930E03 3.20569E03 4.49944E03 1.30886E04 1.53244E04 1.00008E04 5.48285E03 3.92707E03 2.29079E02 -Frame 257 7.55413E06 2.67257E06 4.94835E05 3.25967E06 3.68631E06 1.01413E06 1.10363E07 2.61651E07 6.71951E06 2.33590E06 8.15513E06 7.63369E06 1.36861E06 5.46787E06 1.43998E07 4.35112E06 1.31924E07 9.22479E07 7.04140E07 2.77696E06 1.00021E08 2.75258E08 1.05509E08 4.95232E07 2.94644E08 2.06945E08 2.93795E07 2.99221E07 8.38167E07 2.22636E07 9.39853E06 4.11197E07 2.71287E07 7.25661E06 1.94820E07 3.00204E07 5.20459E06 3.31275E06 2.18482E07 1.81373E07 1.30761E07 5.28776E07 5.30381E07 1.09017E07 3.01968E07 1.60531E08 8.29621E07 1.47971E08 6.16447E08 4.07496E08 7.43030E07 2.67200E07 1.08831E08 3.56546E07 1.55102E06 2.36791E07 3.82743E07 9.91090E06 1.64455E07 3.60913E07 1.01782E07 4.55128E05 8.33875E06 1.53037E07 2.30602E06 3.56609E06 6.18978E06 2.21705E06 8.82269E05 3.86184E06 3.56408E06 1.55458E05 3.03058E06 1.61936E07 1.34853E07 9.39870E05 2.42053E07 2.36547E07 4.13990E06 2.92290E03 2.21108E06 2.06650E06 2.40635E06 6.01765E06 5.67887E06 4.49521E06 1.29932E07 1.34103E07 5.68042E06 1.94066E07 3.28919E07 1.28002E07 1.56210E06 4.46741E06 6.52765E06 1.22105E06 2.18558E06 5.17321E06 1.92437E06 5.33457E05 1.17531E06 1.44598E06 2.74558E05 2.89539E05 1.77450E06 1.56869E06 4.67892E05 2.55356E06 3.13475E06 1.39701E06 4.33419E04 2.74915E06 3.69003E06 5.19720E05 1.89575E06 4.06046E06 1.84627E06 2.40531E05 2.06092E05 4.27180E05 1.02349E05 7.16393E04 5.48579E04 2.97272E04 2.94261E04 1.04457E05 5.02956E04 3.59353E04 6.64858E04 6.89402E04 6.52769E04 6.87839E03 6.51183E04 5.86803E04 1.09095E05 3.44608E04 1.48519E05 1.29294E05 1.35604E05 4.20694E04 2.18382E05 9.04331E04 1.48054E05 5.02164E05 3.02053E05 7.68821E05 1.91508E05 4.84502E05 1.46262E06 6.34469E06 3.26898E06 4.81177E05 1.19830E06 7.95619E06 6.94383E06 1.19952E06 3.41265E06 2.67973E05 2.72086E06 3.71108E06 3.67055E06 5.58070E05 7.18552E05 8.43012E05 5.28988E05 7.27375E04 1.47886E06 1.31008E06 3.54244E05 7.88933E05 1.52433E05 6.10197E05 3.46337E06 1.07416E07 3.74198E06 8.11562E05 3.97879E06 1.04021E07 1.20262E07 1.99143E06 1.44294E06 2.09915E06 2.67985E06 1.44733E06 6.15409E05 5.76689E05 4.31469E04 1.98733E05 1.83336E04 3.69288E04 6.67689E05 8.21461E05 6.40874E04 1.21124E04 1.71126E05 6.18149E05 1.55762E05 1.61360E04 4.74162E04 5.74389E04 8.11380E04 8.42348E04 5.63635E04 3.92889E04 7.42797E04 1.08695E05 1.11244E05 4.07967E04 3.19219E03 2.86786E02 9.67910E03 4.55357E04 5.39840E04 2.63031E04 9.22957E03 1.97145E03 5.07066E03 1.34515E04 1.19131E04 2.64346E04 8.90345E03 3.05887E03 4.68597E03 2.57872E04 5.14792E03 1.22901E04 2.07426E04 1.29884E04 1.92201E04 3.11609E04 3.18695E04 5.36409E03 1.83180E04 1.55112E04 4.87653E03 2.00064E03 3.46272E03 1.60492E03 4.19238E03 3.88794E03 1.09610E03 6.23773E03 2.88778E03 1.86948E03 6.22511E02 3.78349E03 4.14126E03 2.47411E03 2.32357E01 7.46859E02 4.19495E03 3.15318E03 1.15505E03 1.54818E04 2.77480E04 2.00127E04 9.02981E03 -Frame 257 2.70514E06 1.13870E06 2.45041E05 3.54316E06 3.11927E06 1.17374E06 1.14942E07 2.73196E07 7.19158E06 2.23926E06 9.36075E06 6.51690E06 1.46301E06 6.34781E06 1.19781E07 3.58859E06 1.70107E07 9.07440E07 5.52801E07 1.08775E07 1.29205E08 2.05707E08 3.52841E07 8.35534E07 3.62337E08 1.84783E08 3.02228E07 9.76907E07 1.28731E08 2.39895E07 9.80012E06 3.16874E07 1.19990E07 5.17640E06 3.46113E07 3.88058E07 7.76406E06 7.08905E06 1.85717E07 8.34246E06 1.21703E07 8.37953E07 7.51403E07 2.15890E07 1.01133E08 2.68233E08 8.26182E07 8.70373E07 5.65492E08 2.88688E08 3.54103E07 1.40833E08 2.63532E08 6.38852E07 3.61870E06 1.04106E07 9.90533E06 1.15398E06 2.67955E07 3.39703E07 5.89194E06 3.74293E06 1.69558E07 1.25027E07 1.67803E05 2.05149E06 2.10459E06 2.13769E05 1.46479E06 5.89822E06 1.97981E06 2.87407E05 1.68987E06 1.55807E06 3.28636E04 1.11697E07 2.76614E07 5.92949E06 7.37973E04 6.61888E05 1.94274E06 2.05134E06 1.07696E07 1.86984E07 3.48751E06 4.23744E06 2.60146E07 2.20109E07 1.51789E06 1.67085E07 1.85570E07 2.73364E06 3.70040E06 1.76497E07 9.92805E06 7.26591E05 2.23267E06 4.35605E06 2.79944E06 5.08964E06 6.99862E06 2.04403E06 4.28253E05 4.46918E05 6.02517E05 2.61146E05 1.56011E06 2.62308E06 5.39636E05 1.95120E05 1.79128E06 1.61936E06 3.12261E05 2.35264E06 2.90040E06 4.91341E05 2.29474E04 4.11118E05 2.77946E05 7.30450E02 5.02500E04 8.38421E03 5.55472E04 1.44930E05 3.86294E05 2.02200E05 1.31617E04 3.05490E04 2.13905E04 9.92270E04 2.99989E05 3.26150E05 1.01649E05 3.12187E05 7.00764E05 2.53133E05 9.23693E04 7.19155E05 6.10646E05 1.41013E05 1.03993E06 1.80512E06 5.26856E05 3.62004E05 1.67980E06 3.93507E05 3.85861E05 3.05273E06 5.95668E06 3.07753E06 1.65855E06 1.93979E06 2.23593E06 9.13465E05 1.10695E07 1.36423E07 1.20893E07 1.01990E07 1.54360E07 1.37231E07 2.93352E06 2.41855E06 1.73609E06 6.81219E05 2.09765E06 3.38517E06 3.00644E06 2.10296E06 4.13602E06 3.30514E06 1.88213E06 4.22433E06 9.29449E06 1.18507E07 4.77129E06 5.23797E06 1.14158E07 4.02877E06 5.76965E06 7.10915E06 4.22047E06 1.61227E06 2.46266E06 5.25253E06 1.68639E06 3.83675E05 8.39886E05 5.00742E05 1.41614E05 6.79514E05 1.53524E06 6.29654E05 3.08637E05 6.09003E05 4.95721E05 2.24306E05 7.03289E05 4.70483E05 2.08312E05 2.31269E05 3.24786E05 7.97930E04 1.39937E04 1.95565E04 1.99244E03 1.83242E04 2.07753E05 2.35201E05 1.37507E05 9.99541E04 1.67018E05 1.92709E05 3.82616E04 4.42080E03 1.63876E04 1.15433E04 2.08319E04 2.75900E04 2.88595E04 1.38781E04 1.01348E03 1.03988E04 9.79098E03 3.12695E02 1.62515E03 1.12732E04 5.31137E03 7.25345E02 1.51267E04 5.36289E03 1.85891E03 1.87181E04 9.67697E03 4.54981E03 2.20554E03 5.64049E03 7.23786E03 1.05384E03 2.19220E03 4.88121E02 2.75551E02 5.45469E03 5.94650E03 2.26081E03 4.19135E03 2.07397E03 2.71977E03 3.57005E03 1.28653E03 1.19600E03 1.90962E03 2.49228E02 1.16064E02 2.64372E03 3.04453E03 3.21142E03 5.38982E03 -Frame 257 1.06464E05 8.69359E05 3.37698E05 3.41217E06 3.31523E06 1.00511E06 1.14101E07 2.86318E07 8.24917E06 1.57313E06 9.52370E06 6.92768E06 1.65714E06 6.31846E06 1.21148E07 3.87248E06 1.62760E07 9.17316E07 5.88344E07 1.64689E07 1.26594E08 1.86520E08 3.88892E07 7.55680E07 3.30758E08 1.66160E08 1.83531E07 7.72409E07 1.16837E08 2.06978E07 7.98880E06 2.49834E07 1.27145E07 5.32542E06 3.13155E07 3.78247E07 5.59151E06 3.98526E06 1.27667E07 5.37239E06 9.88960E06 6.90998E07 7.08905E07 1.38274E07 6.03639E07 2.19782E08 8.08748E07 1.69798E07 3.40068E08 5.05224E08 1.50939E08 1.81642E08 4.03226E08 1.23385E08 4.78840E06 1.40612E07 1.08207E07 2.61132E06 2.36147E07 4.52050E07 1.34062E07 5.40347E06 2.12595E07 1.27895E07 3.43945E05 1.15445E06 2.42694E06 7.14685E05 1.22546E06 5.66188E06 3.37386E06 4.32205E05 3.09115E05 6.79957E05 9.62830E05 9.77302E06 3.96855E07 2.53025E07 3.87627E06 6.08632E05 7.27873E05 1.73649E06 1.19376E07 2.56258E07 1.55477E07 1.23853E07 3.31564E07 2.65109E07 1.66785E06 8.95907E06 1.41769E07 5.13193E06 5.30970E06 1.81434E07 1.43730E07 1.74653E06 9.96675E05 1.35666E06 1.30222E05 1.66656E06 5.93893E06 5.34141E06 8.81195E05 4.63375E05 9.01594E05 3.18757E05 3.38852E05 2.85778E06 2.54547E06 6.15993E05 1.97184E06 4.24157E06 1.16023E06 3.65950E05 1.58533E06 6.46679E05 1.13080E05 2.74474E05 4.29055E05 1.09147E05 2.41044E03 2.50110E03 4.16276E04 6.20818E04 3.06487E05 4.66688E05 1.39655E05 2.78535E03 1.39051E05 1.36376E05 5.22339E03 3.14119E05 4.87666E05 1.94349E05 1.60282E05 1.03145E06 7.06401E05 1.57504E04 1.07155E06 1.35522E06 3.15040E05 1.49950E06 4.70837E06 2.89592E06 1.48624E05 2.22348E06 3.78221E06 7.51477E05 3.17504E06 5.86473E06 2.48516E06 9.93444E05 1.48907E07 1.86658E07 3.49874E06 9.74223E05 8.67239E04 1.86382E06 6.03719E06 1.90465E07 7.98690E06 5.77992E05 1.67075E06 3.15844E06 1.79027E06 1.64003E06 3.41296E06 1.44203E06 7.29136E04 3.89773E06 4.16434E06 2.38721E06 2.14296E06 2.81967E06 8.89365E05 4.59372E06 2.07881E07 1.78287E07 5.12624E06 5.56177E05 1.77291E06 2.10466E06 2.56812E06 5.59742E06 2.94904E06 1.74760E05 3.94667E05 3.97790E05 3.91082E04 1.98034E05 1.24183E06 6.59780E05 2.24243E04 6.62121E05 7.78725E05 1.00812E05 1.70976E05 4.56520E05 1.75704E05 6.65973E04 3.27127E04 8.72930E04 1.72955E04 2.05591E04 2.67623E04 6.20528E03 4.84025E04 6.52180E04 5.19975E04 3.83672E04 7.05516E03 8.45274E04 4.89352E04 6.70440E03 7.35615E02 1.01312E03 9.96401E01 1.07350E04 4.08763E04 1.12051E04 1.11264E04 2.90243E04 2.00457E04 6.86188E03 5.85158E03 6.44764E03 1.19801E04 1.32453E04 1.32811E04 3.32190E04 1.34033E04 1.64251E04 1.39164E04 5.12708E03 2.41330E03 1.18103E04 1.96746E04 8.89062E03 2.82333E03 6.29538E01 5.84108E02 4.49830E03 5.41710E03 2.78251E03 1.80964E03 8.37909E03 1.45343E04 2.39568E03 5.35972E02 4.54221E03 1.92982E03 7.08963E02 3.68969E03 2.58377E03 9.03336E02 1.35520E02 5.52454E01 -Frame 257 7.85657E06 3.21088E06 3.49924E05 3.51791E06 4.14302E06 8.44257E05 9.93440E06 3.06937E07 1.10797E07 8.94243E05 8.67703E06 8.95110E06 1.32944E06 4.73750E06 1.35294E07 6.37758E06 9.64890E06 8.99388E07 8.73409E07 2.23306E07 8.99366E07 1.84069E08 4.81164E07 4.32694E07 2.48346E08 2.35166E08 4.66554E07 3.62732E07 9.15504E07 3.13222E07 6.21287E06 1.63548E07 1.48385E07 6.35948E06 1.13274E07 3.03071E07 1.40318E07 2.84222E06 6.98605E06 6.53949E06 4.12381E06 2.49943E07 6.58535E07 3.68635E07 2.58473E07 1.08449E08 1.14489E08 1.11147E07 1.08931E08 4.04371E08 3.42134E08 1.95586E08 3.44335E08 4.38777E08 1.24631E08 6.13464E06 3.07720E07 1.71862E07 1.41534E07 2.27560E07 3.85040E07 1.82450E07 7.96466E06 2.33597E07 8.48349E06 1.81003E06 3.58610E05 1.65353E06 1.97518E06 1.02390E06 6.74914E06 4.08501E06 9.21288E05 6.11881E05 2.81013E06 9.21226E06 2.21849E07 3.70356E07 3.03717E07 6.15415E06 2.45908E06 3.90143E06 9.16400E06 2.77143E06 7.96243E05 5.01030E05 4.59621E06 1.25810E07 8.65175E06 5.06871E05 4.72268E06 3.81880E06 3.75842E06 7.40721E06 5.82541E06 2.66399E06 7.89275E05 7.63974E05 1.06167E06 1.38931E06 2.74420E06 1.91040E06 9.65666E05 7.36310E05 7.68239E05 8.36788E05 1.53272E06 2.66791E06 2.18827E06 1.93116E06 2.90702E06 3.66551E06 1.79553E06 5.90658E05 1.44505E06 5.56328E05 5.06579E05 4.58319E05 2.06707E05 4.82611E04 1.57988E04 4.75377E03 2.10992E04 1.51242E05 3.41870E05 3.67207E05 2.38807E05 3.77220E04 5.76476E04 1.27937E05 3.41118E04 5.03110E05 3.66535E05 6.69284E04 6.44275E05 8.63724E05 4.31422E05 3.69294E05 1.30355E06 1.46946E06 3.48375E05 1.55523E06 4.58222E06 1.72795E06 7.39934E05 3.25970E06 3.68740E06 9.22479E05 4.29200E06 9.00924E06 4.65215E06 5.15844E06 1.86277E07 1.99784E07 6.22398E06 1.62380E06 3.37462E06 4.52379E06 2.39159E06 1.59871E07 1.66460E07 4.40313E06 3.95247E06 4.69572E06 1.48949E06 1.03367E06 2.76235E06 3.87423E06 3.13149E06 6.11961E06 8.00455E06 3.55689E06 2.84843E05 5.01197E05 1.09067E06 1.69857E06 9.06561E06 1.80409E07 6.25925E06 1.10025E06 2.27172E06 1.30195E06 5.63996E04 8.44919E05 1.98685E06 1.96420E06 7.21417E05 2.12296E05 6.85323E04 5.83312E04 5.46338E05 1.21146E06 9.56797E05 8.56536E05 9.49938E05 4.92964E05 2.53896E05 1.72870E05 6.60559E03 2.58324E04 6.98870E03 7.22870E04 1.51301E05 9.96343E04 1.28084E05 8.36928E04 5.15830E03 1.37205E04 1.31215E05 2.32267E05 1.11975E05 7.08139E04 8.78450E04 2.45276E04 1.16633E04 2.51868E04 2.43493E04 2.30566E04 2.09569E04 4.46856E04 4.71111E04 2.21243E04 1.82278E04 3.28360E04 6.31027E04 4.62876E04 5.79386E04 5.29460E04 6.43423E04 5.34694E04 7.43585E03 4.11248E03 1.98077E03 4.42508E03 3.08465E03 3.71924E04 4.94443E04 5.27514E02 2.37072E04 1.22626E04 5.23146E01 3.98602E03 3.96742E03 1.33955E04 5.44021E03 8.65947E03 9.11509E03 1.57074E03 3.46996E03 8.72314E03 7.13764E03 5.05296E03 3.11231E03 2.11311E03 9.98078E02 7.73188E02 6.08823E02 -Frame 257 1.77427E07 7.06458E06 6.72590E05 3.78051E06 4.40477E06 4.30034E05 8.27260E06 3.04454E07 1.33461E07 4.16499E05 8.46084E06 1.14854E07 1.81193E06 2.84550E06 1.38479E07 7.92251E06 5.07570E06 9.49098E07 1.38254E08 2.97386E07 4.02318E07 1.60408E08 8.67458E07 2.40413E07 1.52586E08 2.52864E08 5.14951E07 8.34163E06 5.45536E07 3.86124E07 5.01739E06 5.88117E06 1.38970E07 4.76422E06 1.99859E06 1.54481E07 1.50062E07 2.16175E06 1.30888E06 6.64801E06 2.04775E06 5.47131E06 3.99340E07 4.04992E07 9.02845E06 3.01845E07 1.18260E08 5.05787E07 9.42009E06 1.02113E08 3.22210E08 1.34259E08 1.18632E08 7.60339E08 8.70656E08 1.71892E08 1.80831E07 1.08134E08 4.61366E07 1.45423E07 3.87188E07 4.13092E07 9.22131E06 1.21187E07 3.38495E07 1.17340E07 8.63025E05 1.98079E06 3.41979E06 1.56375E06 5.35100E06 1.64366E07 1.04419E07 2.69326E06 1.15157E07 1.79605E07 5.24426E06 8.16050E06 3.49497E07 2.91620E07 1.00259E07 1.34765E07 2.92215E07 1.85290E07 4.84221E06 1.81574E06 1.89800E06 1.16365E06 3.26461E06 5.54773E06 2.23294E05 1.01511E04 1.80844E06 1.26956E06 4.19593E04 6.23469E05 3.13348E06 1.81111E06 4.81805E05 7.85926E05 9.79700E05 3.60162E04 2.48813E05 7.28036E05 4.28476E05 4.52946E05 3.25857E05 4.45082E05 8.62493E04 5.64352E05 1.04750E06 6.85055E05 1.20438E06 5.87500E05 1.58757E06 8.94849E05 5.68657E05 5.81299E05 1.75347E05 4.17370E04 1.80017E04 1.53330E05 1.32196E05 1.16431E05 1.81729E05 4.89729E04 1.35085E05 8.49585E04 4.30775E05 9.15040E05 4.52089E05 1.32847E04 1.67907E05 6.47176E05 7.41768E05 3.83553E05 7.16266E05 1.16483E06 6.74553E05 2.11045E06 3.61156E06 1.67675E06 8.00945E04 2.88765E06 5.40956E06 2.89433E06 4.07362E06 9.57245E06 5.30315E06 2.25069E06 8.10690E06 8.37524E06 3.03798E06 7.20737E05 8.37032E06 7.68870E06 1.00245E07 2.20615E07 1.94897E07 1.84698E06 5.05100E06 7.85915E06 4.30780E06 2.78299E06 9.72469E05 2.52601E06 1.14798E06 2.64281E06 3.94463E06 4.35026E06 1.51885E06 5.11671E05 1.07199E06 3.68717E05 3.12101E06 4.69578E06 4.25239E06 1.24664E06 1.28229E06 1.05176E05 3.34872E05 1.64064E06 1.26762E06 7.35172E05 4.70667E05 1.73179E06 1.07384E06 6.93123E05 8.52035E05 1.12848E06 1.25110E06 3.24553E05 6.17925E05 6.47451E05 7.43180E05 2.42405E05 8.86302E04 3.30393E04 1.87664E05 2.14104E05 2.32566E05 1.11358E05 6.02882E03 5.70630E03 8.49063E04 2.56161E05 3.19384E05 1.72344E05 3.46262E04 1.06353E05 7.53158E04 5.87975E04 8.89950E04 3.63567E04 4.25806E03 5.96275E04 1.40786E05 9.27253E04 1.08573E04 9.62225E03 5.72877E04 3.42944E04 4.49197E04 1.19397E05 6.53841E04 3.24279E04 1.24543E04 4.11283E04 8.68154E04 1.24129E05 6.33559E04 3.78104E03 1.97521E02 1.89087E03 2.32663E04 1.37669E05 2.58063E05 1.23154E05 3.54118E04 3.75994E04 7.96007E04 1.60496E05 1.31685E05 7.00351E04 2.57277E04 2.70394E04 2.24587E04 7.64742E03 2.31980E03 2.24099E04 1.64276E04 1.18633E04 2.25108E04 4.74085E03 3.50508E03 1.58559E03 1.49473E03 -Frame 257 1.06969E07 4.27439E06 2.68666E05 3.52075E06 4.62221E06 2.87836E05 6.60869E06 2.82068E07 1.44256E07 3.44378E04 7.53018E06 1.29793E07 2.55098E06 1.85210E06 1.32050E07 9.89287E06 2.20071E06 9.66211E07 1.86008E08 4.54493E07 2.38039E07 1.02648E08 7.05313E07 1.15200E07 7.77628E07 2.07585E08 7.39216E07 3.43096E06 2.71879E07 3.76080E07 6.92916E06 1.97090E06 1.01865E07 5.96890E06 5.25291E05 5.36343E06 1.30638E07 3.51987E06 3.33110E05 2.99930E06 3.01369E06 2.64708E06 1.20581E07 3.12354E07 1.36229E07 6.07448E06 4.99997E07 5.59556E07 9.02573E06 2.48732E07 1.32253E08 7.56270E07 3.64802E07 6.28606E08 1.68177E09 6.75781E08 5.84355E07 1.30057E08 1.04103E08 1.79142E07 1.85325E07 4.88010E07 1.55542E07 2.19594E06 2.27460E07 2.67573E07 4.86931E06 5.98239E05 3.10243E06 1.37930E06 1.07643E06 1.13662E07 1.72070E07 3.61764E06 1.57258E06 1.08934E07 5.93710E06 1.96586E06 1.35650E07 2.72236E07 8.81551E06 1.78099E06 9.31108E06 1.77611E07 3.39050E06 2.61174E05 5.46038E06 9.33111E06 3.87482E06 1.26673E06 6.88932E06 3.67342E06 3.11928E05 2.86598E06 1.48643E06 3.04358E05 1.16604E06 3.94428E06 1.31612E06 5.81935E05 1.21369E06 6.68243E05 3.98724E05 4.07037E05 2.06080E06 8.03152E05 9.68223E04 1.91580E05 6.42902E05 8.14032E05 6.86292E05 2.95557E06 2.82264E06 1.02289E06 1.92769E05 9.43533E05 3.75685E05 2.27195E05 1.36235E05 5.49375E05 1.18611E05 9.26755E04 2.05555E05 2.06013E05 8.30439E04 4.47078E05 6.31217E05 1.66006E05 1.61872E05 1.33725E06 3.77566E05 2.23806E04 4.26645E04 1.26054E05 1.70651E05 2.96047E05 3.28221E06 1.83712E06 8.92787E04 2.50089E06 3.86277E06 1.40382E05 3.01152E05 1.84857E06 2.38478E06 2.33253E06 3.51529E06 1.61736E07 7.46740E06 1.79972E06 6.92934E06 5.79885E06 6.61438E05 4.89620E06 2.19344E07 1.84923E07 1.01001E07 2.49224E07 2.77834E07 1.02682E07 6.12285E06 8.58630E05 5.55082E05 1.67938E05 3.53387E06 1.04252E07 5.11561E06 1.75396E05 2.98656E06 1.96732E06 5.96364E05 1.01227E05 1.34944E06 3.16466E06 1.37406E06 1.15163E06 3.26978E06 2.20235E06 1.13397E06 4.76024E05 2.22942E05 1.43266E05 1.11633E06 4.62593E06 4.73458E06 2.33725E06 9.13980E05 4.53876E05 2.87183E06 9.34232E05 2.61554E06 4.98326E06 1.78128E06 6.24365E02 9.40790E05 8.28849E05 1.89262E05 1.23852E05 3.38595E05 9.69837E04 5.74540E04 1.88646E05 4.44011E04 3.80806E04 8.18340E03 1.91469E05 2.30028E05 6.04376E03 1.34054E05 2.24077E05 7.38740E04 3.45268E04 3.34821E04 2.02242E04 7.95849E03 1.03521E05 2.27877E05 9.38217E04 5.76136E03 2.04459E04 2.50552E04 1.50023E03 1.89497E03 2.45983E04 3.19154E04 4.85937E04 7.46268E04 1.14593E05 1.22773E05 9.09428E04 6.31201E04 1.32530E04 7.75304E02 1.53835E03 3.65167E04 1.62834E05 1.24756E05 3.91646E04 3.99722E03 4.53941E04 2.19946E05 9.14667E04 1.42176E05 3.02635E05 5.38765E04 6.39745E04 1.09974E05 2.17522E04 3.36270E03 7.54202E04 2.78272E05 2.50679E05 4.63849E04 2.90235E04 5.16271E04 2.25709E04 2.75831E03 -Frame 257 1.56906E05 1.66084E06 7.39888E05 3.03277E06 3.84030E06 4.79168E05 6.36558E06 2.52105E07 1.37875E07 1.11152E05 7.84091E06 1.16562E07 2.37363E06 1.77236E06 1.49331E07 1.01184E07 4.41281E06 1.05513E08 1.70003E08 4.95895E07 1.32817E07 4.41336E07 3.70410E07 4.20095E06 4.31098E07 1.25161E08 5.99666E07 2.17939E06 1.17789E07 2.16981E07 4.69563E06 1.02462E06 6.00987E06 5.19008E06 1.03832E05 3.23896E06 9.63217E06 2.72875E06 1.55932E04 1.51929E06 1.78067E06 3.34624E04 2.71823E06 1.57880E07 1.02388E07 1.48177E05 1.67326E07 3.68229E07 4.66222E06 1.34420E07 9.79533E07 3.95821E07 1.73043E07 5.17111E08 1.26276E09 5.49323E08 7.33351E07 6.50036E07 6.40061E07 1.98777E07 2.16573E07 4.44329E07 1.90518E07 4.31717E05 1.26630E07 1.88895E07 5.70272E06 1.70977E06 2.32881E06 9.88549E05 7.14207E04 5.99538E06 1.55103E07 9.38020E06 1.75832E06 2.89090E06 3.03919E06 3.96104E05 2.66203E06 1.05745E07 7.66040E06 6.69514E05 2.22484E06 8.92127E06 6.24540E06 4.69772E06 1.14449E07 1.31580E07 1.35599E06 5.76447E06 2.67622E07 2.66729E07 1.02510E07 2.34271E06 6.36922E05 9.76381E04 2.63691E06 6.84664E06 4.94548E06 2.02449E06 3.55677E05 1.44079E05 4.55656E05 7.56201E05 1.55785E06 1.20864E06 2.56349E05 1.34629E02 4.08310E05 7.74045E05 8.14684E05 1.74733E06 1.60468E06 2.29238E05 2.80331E05 1.78814E06 2.31345E06 1.09985E06 8.49025E05 8.58339E05 3.67156E05 1.89344E04 3.40910E05 4.07787E05 1.25879E05 2.42178E05 5.14264E05 1.76424E05 6.99180E05 3.26621E06 3.49010E06 1.36300E06 5.73662E05 2.56461E05 3.42897E05 1.96493E06 8.02359E06 9.38911E06 5.95283E06 1.25199E07 1.96517E07 1.40626E07 1.03003E07 1.03767E07 9.98408E06 1.38859E07 1.83135E07 1.16103E07 1.45357E06 1.71514E06 5.11395E06 4.93117E06 2.50195E06 6.99294E06 6.41732E06 2.52037E06 2.50254E05 2.11038E06 7.30664E06 4.70398E06 2.74425E06 3.02792E05 8.49523E05 2.13346E06 2.17698E06 3.04642E06 2.30665E06 1.37719E05 8.60662E05 1.42333E06 5.79478E05 4.07041E05 2.68808E05 4.08224E05 1.34701E05 4.66972E05 9.46476E05 3.09289E05 1.18338E04 8.66423E04 5.41052E03 1.35436E05 1.96856E05 6.44121E05 2.52603E06 1.66288E06 1.50872E06 1.40713E05 3.77634E06 4.45110E06 2.73454E06 2.42557E06 1.11509E05 7.05064E05 1.01975E06 2.16540E05 1.08870E05 3.27742E05 2.14377E05 3.20351E04 1.98244E04 1.60525E05 1.59878E05 1.71423E05 2.41401E05 4.32884E04 4.08704E04 1.72521E05 2.13135E05 2.05861E05 1.27374E05 2.76236E04 3.04404E04 2.11527E04 4.84005E04 6.44625E04 3.31528E04 8.94836E03 1.25085E04 8.40723E03 1.31369E04 1.87171E04 1.84555E04 1.18695E04 3.52139E03 1.25357E03 6.18912E03 1.41055E04 9.40550E03 1.67586E04 2.92344E04 5.42021E04 2.53410E04 2.92826E03 2.89191E04 5.02270E04 7.55344E02 8.71986E03 6.45704E04 2.08884E05 1.64129E05 1.04461E05 2.05535E05 1.32934E05 1.43618E05 2.57008E05 2.22946E05 3.26098E04 9.55525E03 1.52874E05 2.31233E05 5.08470E04 1.44836E05 1.03176E05 1.19571E02 7.00163E04 1.20169E05 -Frame 257 7.74149E06 4.88720E06 6.36240E05 1.06742E06 1.44418E06 2.98784E05 4.88637E06 9.50737E06 3.99992E06 1.32169E06 3.21040E06 1.68096E06 1.00552E06 4.98881E06 6.22871E06 6.72932E06 1.97932E07 3.74748E07 2.75143E07 1.22902E07 7.97520E06 1.06720E07 9.39923E06 7.70391E06 1.32519E07 1.46285E07 8.68372E06 7.84123E06 5.11982E06 3.05557E06 1.25878E06 6.81487E05 8.75408E05 1.36590E06 1.36085E06 1.88731E06 1.33898E06 5.33385E05 1.00504E06 5.08326E05 2.34061E05 1.09907E06 1.96518E06 1.44555E06 1.24914E06 3.81552E06 1.02738E07 5.47421E06 9.44269E06 3.88625E07 6.23207E07 6.58943E07 1.06811E08 1.74307E08 1.62688E08 8.11049E07 2.43490E07 9.96223E06 3.97316E06 7.88473E05 2.35854E06 9.13655E06 8.24677E06 5.06911E06 6.28803E06 2.94062E06 2.45077E05 1.11621E06 3.19469E05 4.57099E05 1.73536E06 1.42135E06 1.96976E05 9.42178E05 2.68187E06 1.76052E06 6.21695E05 7.96105E05 1.77744E06 2.69200E05 9.87730E05 3.99617E06 2.17028E06 2.16245E05 7.14367E05 1.05341E06 3.86403E05 2.60005E06 9.00458E06 9.61707E06 6.55655E06 1.25625E07 4.89195E06 1.32742E05 9.60384E04 7.11741E05 8.03833E05 8.39174E05 1.36261E06 9.75387E05 1.44263E05 8.78340E04 4.02849E03 1.79457E04 9.61729E04 1.06319E05 3.34673E04 4.71639E04 1.63118E05 7.08964E04 2.80087E04 1.10390E05 7.72171E04 5.59214E04 1.86501E05 5.60869E05 4.36727E05 9.09894E04 5.37308E04 5.04454E04 1.28471E04 1.19208E05 2.47234E05 1.55758E05 5.27111E04 4.64308E04 9.96337E04 2.36269E05 7.75699E05 1.29265E06 1.07253E06 3.82051E05 6.44387E04 1.47097E04 1.96536E04 6.33206E05 2.54045E06 4.36613E06 4.36913E06 4.09787E06 3.66221E06 3.94193E06 3.86508E06 2.74715E06 3.46862E06 3.37486E06 2.28372E06 9.56907E05 1.01571E06 8.12171E05 1.96422E05 8.63313E05 1.17915E06 2.45564E05 5.54657E04 1.43665E04 3.65738E05 4.08485E05 7.05063E05 1.77755E06 1.16028E06 7.87179E05 8.22776E05 3.21865E05 2.36274E04 1.84633E05 4.00493E05 3.58271E05 3.00633E05 2.88274E05 1.86059E05 1.12886E05 6.41459E04 3.51453E04 8.04136E04 1.27306E05 1.14904E04 2.79624E04 4.34387E04 1.23809E04 4.70625E04 3.92442E04 4.38261E04 4.37108E05 1.27424E06 1.39693E06 2.04187E06 2.70673E06 1.46730E06 7.37272E05 7.61101E05 9.10322E05 3.93903E05 2.01851E05 2.42626E05 6.29110E04 1.34617E04 3.47508E03 2.41121E04 3.88824E03 3.64318E04 6.12862E04 1.71981E03 2.79241E04 6.38386E04 8.61603E04 3.26666E04 2.65265E03 8.74695E03 1.01653E04 1.00080E04 3.50379E04 7.67032E04 5.74403E04 6.36227E03 1.46778E03 2.15815E03 4.27920E03 1.70855E03 6.47379E02 3.52852E03 7.93906E03 4.06162E02 1.76499E04 2.66269E04 2.84596E04 7.16061E03 2.23157E03 1.44912E04 6.34776E03 2.64675E04 3.52582E04 8.77919E03 1.81219E03 3.13791E04 3.38735E04 1.92922E04 3.67844E04 2.75568E04 8.17810E03 5.17440E04 5.82029E04 2.45374E04 5.15072E03 4.02393E03 7.51999E04 6.41274E04 1.20615E04 1.17595E05 1.17880E05 1.91904E04 5.12658E04 8.73712E04 5.57480E04 2.02072E04 2.11625E04 5.65801E03 -Frame 257 1.70592E07 6.58727E06 3.06034E05 4.53991E05 7.63633E05 1.35186E05 3.47201E05 2.60989E06 1.35499E06 1.88987E05 9.13020E05 1.94271E06 8.43278E05 1.87209E04 4.40794E05 9.91221E05 2.06312E05 4.60077E05 8.03191E05 2.01937E05 7.35568E04 1.05066E05 1.56050E05 4.38680E04 9.74707E04 2.79790E05 3.76341E05 6.69025E04 3.00170E04 6.98317E03 1.02279E05 3.99979E03 1.45163E05 1.50181E05 1.55689E05 1.00165E04 2.10592E05 1.98753E05 1.20140E05 1.61513E04 2.26245E04 8.00475E03 7.34167E04 9.10743E04 2.11779E05 7.06141E05 1.66053E05 6.39969E05 4.32063E06 1.42151E06 3.89499E05 3.70345E05 8.24269E05 2.37548E05 2.17586E05 4.94905E05 1.93636E05 1.38653E05 5.95531E05 1.43857E06 3.69827E05 8.00832E04 1.07682E06 1.36085E06 4.92459E05 4.45096E05 2.67145E06 1.24870E06 2.01900E05 1.15696E04 1.84475E05 4.20954E04 4.21077E03 1.88964E05 3.32569E05 7.34694E04 2.91813E05 5.32829E05 7.24975E05 3.26586E05 6.64351E05 1.73218E06 7.13896E05 1.10233E04 8.42906E05 1.04356E06 6.20712E05 4.38016E04 2.01718E06 2.30681E06 6.66456E05 1.30034E06 2.69434E06 7.86963E05 1.28102E05 2.51354E04 9.36694E04 3.06337E04 1.47687E04 1.23297E05 1.37620E05 1.66777E04 8.55416E03 1.73734E04 2.28508E04 1.95558E04 5.34073E03 1.62944E04 5.04875E03 3.90498E03 1.33102E04 6.14363E03 1.58913E03 1.28118E03 1.53695E04 1.58405E04 8.15315E03 4.54768E03 4.49059E03 1.20973E03 1.89231E03 8.88047E03 5.41979E03 2.19122E01 1.23610E04 6.87442E03 9.99806E03 1.05777E04 3.44571E03 1.76808E02 9.12990E03 2.64655E04 2.27626E04 2.96652E04 1.85044E02 1.27149E04 7.47412E03 2.85629E04 2.32139E03 5.37603E03 5.21413E03 1.91187E03 9.12074E03 6.75650E04 7.36424E04 3.81879E04 6.63025E04 1.81643E03 1.60135E04 7.27986E03 5.85558E04 1.59405E05 1.03236E05 1.09497E03 1.93042E04 1.35928E04 1.12460E04 1.18122E05 1.46478E05 5.10059E04 1.83160E04 8.48286E04 6.68833E04 3.69409E04 9.98513E04 9.51740E04 3.25198E04 1.34517E04 1.84343E03 1.85576E04 1.43060E04 1.20751E04 1.00668E04 6.63236E03 1.02674E04 1.93093E04 6.56592E03 2.22524E04 2.16430E04 1.33277E04 7.08815E04 7.86343E04 3.22677E04 5.98009E04 1.69348E05 9.21698E04 6.93233E03 5.81664E05 6.45474E05 2.34355E05 3.62572E03 1.50852E05 1.08569E05 2.22896E04 9.72454E02 2.05804E04 2.91231E04 2.67585E04 3.67229E03 7.58250E03 7.07388E03 3.45973E03 1.79604E04 5.19790E03 1.29207E03 8.16883E02 2.00968E04 1.57273E04 1.80845E03 3.70265E03 1.68150E04 8.96703E03 1.45833E03 1.36658E04 4.00817E03 1.47556E03 8.23649E03 2.18647E04 2.36871E04 6.85093E03 1.56778E03 8.27928E03 2.61586E03 1.00044E04 3.86743E04 4.15961E04 1.61023E04 1.52441E03 1.02937E04 3.43245E04 2.50549E04 4.47411E03 2.74084E04 1.66222E04 3.10304E03 2.22453E04 1.74901E04 6.78999E03 1.54723E03 1.36810E04 1.68802E04 1.19199E04 2.38128E03 1.78744E04 2.20037E04 2.43662E03 1.95764E04 9.49909E04 6.60114E04 3.55703E02 7.70772E04 8.62118E04 1.90799E04 5.16925E04 5.24881E04 2.61803E04 8.57146E03 -Frame 257 8.67543E06 3.46688E06 1.59819E05 4.24107E05 4.00622E05 4.54906E04 2.60008E05 1.86828E06 1.25963E06 1.15056E05 7.80285E05 2.41019E06 5.36445E05 3.67432E04 7.34422E05 1.01188E06 2.42410E03 3.33423E05 2.38019E05 2.23516E05 8.98495E03 3.81261E03 6.92045E04 6.51501E04 4.46206E04 1.24793E05 2.78043E05 1.08095E05 3.31052E04 6.50486E04 1.94459E04 1.28372E04 1.57224E05 1.31243E05 2.56776E04 1.76287E04 1.53465E05 4.43870E04 2.04212E03 1.68019E04 6.20135E04 3.45194E04 1.34038E03 1.71943E05 4.88009E04 1.76128E04 8.41980E05 2.84843E06 6.38675E05 8.35959E05 2.01392E05 1.45239E06 9.54429E05 6.02227E05 1.33659E06 6.68737E05 1.53356E05 4.06102E05 9.67640E05 3.10238E05 1.42136E05 1.16277E06 9.95388E05 1.73768E05 1.19567E05 1.69983E06 1.77354E06 9.97316E04 1.47343E04 3.82228E05 3.63166E05 6.83482E04 8.34457E04 2.08645E05 3.29424E04 6.00491E04 1.36360E05 4.41453E05 1.74761E05 7.35448E05 8.91631E05 6.85870E05 4.69325E04 4.32166E05 3.75048E05 7.58729E04 7.08686E04 1.31369E06 4.31936E05 5.76458E05 9.68897E05 1.69808E06 1.50396E06 7.02433E04 2.53536E05 1.20282E05 1.94169E05 1.83231E05 1.06295E05 1.41203E05 8.33352E04 1.94976E05 1.65243E05 6.87849E04 1.17741E05 1.95565E05 1.44941E05 1.09143E05 1.05145E05 4.56253E04 8.73253E04 1.55968E05 2.64303E04 7.68715E04 7.94261E04 3.43070E04 6.63721E04 5.59951E04 2.54952E04 4.14445E04 2.55569E04 6.40776E03 2.75271E04 8.56339E03 1.14098E04 1.04629E03 1.33033E04 1.57447E04 4.90462E04 5.17838E04 2.96975E04 2.69452E04 7.16390E04 6.55314E04 1.91894E04 3.84600E04 1.16922E04 4.27806E04 3.88524E04 5.85483E03 2.72002E04 4.04533E04 3.96227E04 1.72650E04 4.24255E03 6.39220E03 2.51441E04 6.48973E04 5.81024E04 3.23939E04 8.86511E03 1.47330E04 1.23503E04 4.12085E04 3.36612E04 1.86470E04 3.33801E03 3.92436E04 3.79314E04 3.30436E03 5.08932E04 5.37736E04 1.40648E04 2.34780E04 4.39468E04 2.24984E04 1.12522E04 1.65253E04 1.65593E03 1.99246E04 2.46343E04 1.78682E04 1.40958E04 1.40396E02 4.35975E03 2.76345E03 2.68730E03 3.06200E04 5.24346E04 2.40884E04 8.51779E03 3.60715E04 9.84218E04 5.04269E04 7.82783E04 4.21945E05 4.98361E05 1.42128E05 2.10279E05 8.93092E05 5.19184E05 1.06674E05 5.68508E04 4.08874E04 6.41067E03 6.09271E03 9.91444E03 4.74232E04 1.82343E04 5.14640E03 2.00273E04 2.95066E04 1.44521E04 3.99393E03 2.57012E04 1.95117E04 4.08509E02 2.48565E02 5.77730E03 2.14010E03 1.16807E04 1.01686E04 2.50830E03 5.54213E03 3.17201E03 7.44686E03 3.45008E02 1.62107E04 3.66851E03 6.72121E03 1.98917E03 1.07802E04 4.03121E03 2.35377E03 3.52206E03 5.65217E03 1.91692E03 6.07550E03 8.20615E03 1.54981E04 1.55995E04 1.26664E04 8.57495E03 1.70415E04 9.49398E03 3.29620E03 5.95994E03 2.04827E04 1.48120E04 1.00489E03 2.52540E02 1.65431E03 7.44465E03 2.02959E04 5.79366E03 1.36024E03 3.14315E04 4.66635E04 1.03476E04 3.79810E04 1.52510E05 1.73821E05 8.47997E04 9.73946E01 7.14366E04 5.40756E04 3.23382E03 -Frame 257 3.31897E05 1.74052E06 2.42405E05 4.78226E05 8.46879E05 1.51652E05 7.92916E04 2.72213E06 2.47343E06 2.20867E05 6.04891E05 4.29992E06 2.23275E06 1.43681E05 1.82351E06 6.79568E06 3.68087E06 7.93797E05 1.95110E06 2.16425E06 1.21415E05 7.86507E05 1.34096E06 9.60801E04 2.22356E05 1.29063E06 9.19430E05 5.98418E04 2.61820E05 3.25721E05 1.10918E05 1.42731E05 1.59330E05 5.41641E05 2.30096E05 3.41981E04 2.49014E05 5.18031E05 2.55665E05 1.53639E04 4.46721E05 4.37404E05 1.40700E05 1.22339E06 1.44534E06 9.05585E05 3.93886E06 1.66683E07 1.90928E07 9.83731E06 1.80682E07 3.93295E07 3.45500E07 2.44520E07 2.61701E06 2.04648E06 1.61532E06 4.80794E03 4.29590E06 3.25648E06 9.58121E05 1.65213E06 3.42331E06 1.81334E06 1.93867E06 4.39996E06 3.26706E06 8.54199E04 2.68293E05 8.80264E05 1.97971E05 5.24144E05 8.06599E05 8.13503E05 3.84858E04 4.47093E05 6.51183E05 1.20369E05 1.01199E06 2.83543E05 2.01500E05 4.74181E05 1.70404E06 1.15213E06 1.20375E06 1.91382E06 7.84146E05 1.16994E06 4.78338E06 1.02575E07 1.48294E07 1.49963E07 5.59178E06 4.15449E06 5.58445E06 1.85103E06 1.46507E06 3.23368E06 2.13251E06 3.62315E06 6.97982E06 4.38072E06 1.25638E06 2.63644E06 2.19897E06 1.99637E06 5.05185E06 4.86031E06 2.72498E06 2.78119E06 2.21331E06 9.35503E05 1.56910E06 1.85687E06 1.41970E06 1.47179E06 1.22503E06 8.41475E05 6.64148E05 5.66929E05 4.30025E05 3.25267E05 3.53608E05 2.13988E05 8.70944E04 7.34252E04 5.47459E04 7.46481E04 3.02903E05 6.99016E05 8.15119E05 7.15915E05 6.20497E05 2.83681E05 2.07899E05 1.91594E05 1.89580E05 3.99378E05 3.24339E05 3.28159E04 6.12835E04 1.83848E05 4.48639E04 2.33311E04 1.91625E04 1.40384E04 1.07784E04 1.78205E04 5.59654E03 9.59462E03 4.82832E04 3.37967E04 1.13093E04 4.57078E04 5.12819E04 3.19523E04 5.16887E04 1.21956E05 1.31177E05 6.47492E04 8.96004E03 2.20715E04 8.96860E04 5.32085E04 7.25274E02 3.17334E03 6.94434E03 3.53474E04 5.06553E04 1.43812E04 6.20938E02 1.92996E03 4.72272E03 8.46316E03 1.29579E04 5.39207E03 3.01631E04 6.01854E04 2.20296E04 2.35672E03 6.13544E03 2.33778E03 1.32904E04 8.19486E04 3.71436E05 2.90018E05 6.81787E04 4.44368E05 6.63281E05 1.41747E05 1.73371E05 2.11871E05 5.36058E04 2.43494E04 6.75595E04 6.00700E04 3.60054E04 5.21368E04 7.12579E04 3.58995E03 6.46080E03 4.58913E03 3.64131E03 4.88228E04 9.00365E04 1.01413E05 9.03116E04 7.80941E04 4.58207E04 4.41133E04 7.11851E04 2.40942E04 2.13333E04 2.24712E04 9.98782E03 2.76927E04 4.74774E04 5.52190E04 2.58709E04 1.42629E04 3.03814E04 1.83894E04 2.04962E04 3.02579E04 1.98631E04 2.78561E03 8.27687E03 4.23300E03 3.60229E03 8.97824E03 7.18397E03 1.53589E04 1.85619E04 2.17796E03 4.60099E04 1.17991E05 9.65918E04 5.01038E04 8.05426E04 1.49994E05 7.78558E04 1.36727E04 6.48285E04 4.23492E04 1.07078E03 1.82697E04 8.43138E04 2.81641E04 1.94836E03 2.58886E04 8.22495E04 7.92820E03 8.78279E03 7.86726E04 9.39840E04 4.12147E03 1.17717E04 -Frame 257 7.22105E06 4.89242E06 9.63983E05 2.05221E06 3.27922E06 6.30512E05 1.72636E06 9.32702E06 8.89594E06 1.18811E06 2.97704E06 1.00855E07 5.01732E06 9.77610E05 8.08868E06 1.88455E07 9.19172E06 1.00309E07 3.18836E07 3.62000E07 9.81623E06 6.22077E06 1.43703E07 7.45219E06 1.87608E06 8.67275E06 1.39312E07 4.81976E06 1.07883E06 5.41772E06 4.98450E06 1.36492E06 1.72827E06 4.93238E06 3.45099E06 6.58351E05 1.33361E06 2.42483E06 7.96625E05 2.39848E05 1.29686E06 1.75947E06 5.64129E05 2.32209E06 6.88234E06 4.20654E06 2.80079E06 1.78149E07 3.49818E07 8.01522E06 2.30754E07 2.36355E08 4.46722E08 3.38273E08 2.87312E08 2.32165E08 1.03963E08 2.14817E07 2.06921E07 3.55057E07 1.50438E07 2.54292E06 1.09118E07 1.09201E07 3.48932E06 2.24649E06 6.39649E06 4.99745E06 1.24928E06 1.07784E06 2.67677E06 2.01052E06 4.38582E05 2.99262E06 3.72262E06 1.08618E06 1.87023E06 4.40825E06 2.84017E06 3.82882E05 2.68608E06 5.22303E06 1.86448E06 1.06535E06 5.64880E06 1.35392E07 9.12377E06 6.04907E06 7.73492E06 2.05130E07 5.04563E07 4.24461E07 3.25350E07 2.42155E07 9.44696E06 4.25316E06 6.63288E06 4.97442E06 1.36895E06 4.79335E06 1.27446E07 5.69036E06 1.91177E06 5.29562E06 5.99976E06 3.68775E06 5.44146E06 8.20311E06 3.96256E06 3.05763E06 7.83957E05 1.51948E06 1.60588E06 8.48741E04 2.56571E05 6.58500E05 2.40560E05 1.90652E04 9.38357E04 1.39727E05 8.62378E03 1.03836E03 5.82954E04 1.81340E04 1.69995E04 2.71545E04 4.53169E04 3.55341E04 6.92789E04 1.97311E04 1.33959E05 2.86283E05 3.06313E05 2.23452E05 1.55474E05 7.03769E04 5.04009E04 4.83194E05 9.01636E05 7.29580E05 7.04564E05 7.18661E05 3.20411E05 6.81035E04 8.11670E04 1.64547E05 2.44904E04 7.66509E03 4.59326E03 2.10088E04 5.75734E04 4.90648E04 9.72937E04 1.39641E05 4.50545E04 7.50729E03 2.94970E04 1.84760E04 1.90934E04 5.79274E04 1.45330E04 2.18278E04 1.12533E05 9.60745E04 1.02305E04 5.05122E04 7.15693E04 7.17211E04 4.91915E04 4.14728E03 4.18476E03 6.49798E02 3.22739E03 3.82749E03 6.22768E02 3.01986E04 6.20844E04 5.82730E03 1.18260E04 7.47301E03 2.24906E04 4.36921E04 3.15095E04 4.10186E04 1.81892E05 2.16118E05 4.89136E04 7.53022E04 3.86384E05 1.85815E05 4.33098E04 1.12687E03 1.30286E04 8.73579E03 3.41866E04 5.61288E04 5.41774E04 5.81009E04 7.44437E04 5.13748E04 1.34891E04 1.01962E04 2.49726E04 2.31280E04 1.85752E04 1.07731E04 7.72772E04 8.83372E04 5.19631E04 7.46444E04 9.44935E04 2.81504E04 2.43398E03 2.63216E04 5.23957E04 4.16701E04 3.70357E02 1.28007E04 1.90547E03 3.73145E04 1.50546E05 1.66419E05 9.47349E04 6.33257E04 1.59718E05 1.79502E05 6.49680E04 2.10521E04 2.63910E05 4.70868E05 3.00267E05 1.22089E05 2.28071E05 1.67314E05 3.19496E04 3.57380E05 4.10406E05 8.67493E04 9.17150E04 3.19539E05 2.15275E05 5.84869E04 2.39918E05 4.10777E05 1.58476E05 1.45257E05 4.87409E05 3.12512E05 4.11290E04 5.92299E04 2.41862E05 1.33873E05 3.97717E04 6.49032E04 1.34460E05 1.43902E05 1.11029E05 -Frame 257 1.99425E06 1.98639E06 8.75031E05 3.10149E06 4.19417E06 8.29099E05 1.34912E06 1.28337E07 1.11679E07 9.41707E05 2.50545E06 1.12341E07 6.09068E06 3.97464E05 8.34176E06 1.80953E07 4.90849E06 6.31914E06 6.60809E07 8.40192E07 1.60233E07 7.06622E06 2.68748E07 1.63593E07 1.26903E06 8.85031E06 2.84903E07 1.24109E07 6.76917E05 5.95202E06 9.78931E06 2.26895E06 4.40340E05 5.74881E06 5.05557E06 5.38564E05 5.19011E05 2.68353E06 1.11056E06 6.01175E04 1.43267E06 2.86711E06 7.85107E05 1.66178E06 1.14307E07 9.50510E06 1.51352E04 2.40647E07 6.65230E07 1.19124E07 3.67175E07 3.64688E08 3.01915E08 2.71435E07 6.86630E07 1.84798E08 1.63961E08 3.45458E07 1.32240E07 3.64250E07 2.85620E07 6.93284E06 9.26567E06 2.15150E07 9.22856E06 1.34929E06 4.13448E06 6.68547E06 1.62092E06 8.22755E05 3.95273E06 4.48077E06 1.28374E06 2.34004E06 8.76355E06 6.78276E06 2.46615E06 5.52350E06 1.38790E07 8.94747E06 1.20085E06 3.66712E06 6.83959E06 2.33376E06 3.14024E06 1.59528E07 4.27382E06 6.26592E05 1.66097E07 3.64870E07 1.09621E07 1.14821E06 1.61415E07 3.03249E07 7.90325E06 1.75632E06 6.22289E06 5.83357E06 1.33967E06 1.52182E06 7.11559E06 3.57569E06 7.96538E05 2.47835E06 4.65809E06 1.65299E06 6.63358E05 4.54257E06 1.09972E07 6.10937E06 2.51513E06 4.37498E06 7.03778E06 4.55866E06 1.82107E06 1.63712E06 1.35453E06 3.07749E05 1.95471E05 4.38251E05 1.68332E05 2.42816E04 3.57881E04 3.80344E04 6.33389E03 1.76512E04 5.93479E04 3.58921E04 2.23863E04 3.19722E03 2.83167E04 1.98698E04 2.23779E04 4.24804E04 7.34618E04 3.30801E04 5.50043E04 9.06524E04 7.46118E04 3.78664E04 3.43859E04 4.23796E05 7.83862E05 7.35261E05 7.72359E05 8.19882E05 3.17294E05 3.21562E04 3.04447E04 1.02611E05 7.24562E04 1.17097E05 3.91930E05 6.61534E05 1.58020E05 4.65339E04 8.50094E04 1.54004E05 6.78792E04 2.96126E05 3.75125E05 2.75648E05 1.22474E04 1.28190E05 1.66990E05 3.48404E04 1.19346E05 2.67798E05 4.49383E04 1.66272E04 9.30461E04 1.06819E05 3.05977E04 1.34528E03 2.85730E04 6.94314E04 5.26652E04 3.67299E04 6.50072E04 1.95181E04 5.26087E03 9.53551E03 2.18865E03 3.77786E03 4.40297E04 6.62365E04 2.42639E04 1.50432E05 2.49829E05 1.57537E05 7.58566E04 9.85810E04 8.31726E04 5.43403E04 2.64529E04 4.33753E04 9.48767E04 1.87727E04 2.02606E04 6.74114E02 1.76067E04 1.73970E04 3.83399E04 2.33967E04 4.47787E03 6.69968E03 1.45768E04 4.08381E02 2.92043E03 2.19122E04 5.12352E04 2.96401E04 2.52164E04 8.13512E04 1.31485E05 9.94742E04 8.17696E04 6.21457E04 9.08960E04 1.37282E05 1.12188E05 1.80384E05 2.30994E05 1.29978E05 4.78307E04 1.88035E05 4.63220E05 3.46548E05 1.61254E05 5.49168E05 6.14891E05 2.32837E05 1.74429E05 5.04964E05 7.30424E05 5.89636E05 1.62666E05 1.55156E05 1.23411E05 6.69684E04 1.82917E05 1.57482E05 1.41018E05 3.93434E05 7.68392E05 7.44840E05 4.47996E05 5.56345E05 6.65985E05 4.66315E05 1.55112E05 6.40176E04 3.68861E04 2.04496E04 8.39615E03 4.76483E04 1.55256E04 -Frame 257 1.35131E03 2.13368E05 9.22306E05 3.09836E06 3.95517E06 6.53091E05 1.54615E06 1.21971E07 1.08291E07 5.25909E05 2.71579E06 1.05842E07 5.79649E06 7.15237E04 8.46734E06 1.83878E07 3.91550E06 6.79054E06 7.40780E07 8.41276E07 9.05437E06 6.16061E06 2.78697E07 1.52783E07 3.33496E05 1.30006E07 3.19912E07 9.76502E06 4.63682E05 8.18842E06 1.05341E07 1.47764E06 1.35991E06 8.68521E06 6.38155E06 2.95628E05 1.09644E06 3.82401E06 2.12072E06 1.80221E05 2.84502E06 5.44661E06 1.35071E06 2.65284E06 2.64840E07 1.66558E07 1.26966E07 1.47069E08 2.17289E08 1.07642E08 1.09332E08 2.65624E08 1.99830E08 2.38311E07 2.95937E06 2.48560E07 3.80099E07 5.78873E06 4.04257E06 1.50359E07 1.04170E07 6.58043E05 2.49121E06 9.80810E06 4.95573E06 7.75625E05 2.88391E06 3.24735E06 6.42043E05 7.59361E04 1.61098E06 1.87158E06 2.63359E05 1.80070E06 6.68484E06 3.69005E06 3.28166E05 3.55093E06 1.12266E07 5.22076E06 2.61425E06 1.03111E07 1.43241E07 5.00131E06 8.70211E06 2.86641E07 2.07079E07 2.70843E06 5.42610E06 1.40852E07 2.39509E06 7.83077E05 7.48906E06 1.04365E07 2.90184E06 6.44381E05 2.65623E06 2.63283E06 1.22522E06 2.56468E06 4.37308E06 1.76191E06 1.03126E05 1.78833E05 3.03744E05 3.30374E05 7.27072E05 1.62449E06 2.07728E06 5.20668E05 1.06775E05 5.94148E05 1.71986E06 1.59076E06 1.20779E06 1.39146E06 1.61675E06 9.69651E05 7.65673E05 4.79525E05 2.95322E04 3.17906E04 3.02409E04 1.68044E04 2.16766E03 2.45313E04 4.15247E04 2.20785E04 1.49784E04 1.40055E04 1.17649E04 2.17943E03 3.55834E04 2.86502E04 2.23789E03 4.32388E03 2.77448E04 6.99278E03 9.53573E03 6.50690E03 1.21999E04 5.25801E03 9.13989E03 1.04126E05 1.99488E05 4.88209E05 1.58068E05 1.56080E03 2.28161E05 6.89980E05 4.88206E04 1.12539E06 3.76745E06 3.14433E06 6.14683E05 2.02594E05 9.78799E05 4.25221E05 5.99886E04 5.50926E05 8.34412E05 3.25413E05 9.55452E04 2.88296E05 2.21894E05 1.33760E05 1.38372E05 2.53616E05 1.01559E05 6.95028E04 4.38547E05 3.87168E05 4.51904E04 2.29284E04 7.93512E04 1.33040E04 5.10760E04 9.70826E04 1.14586E05 2.49518E04 4.09974E03 3.70641E04 3.58663E04 2.93276E03 1.60839E04 3.71518E04 7.72391E03 4.32955E03 1.14400E04 1.28963E04 2.41580E04 1.30680E04 4.09670E03 4.93577E03 2.39735E04 6.06420E04 1.48449E05 1.03108E05 1.36190E04 3.53809E04 5.70324E04 8.05602E03 3.38164E04 8.80714E04 3.60768E04 7.91379E03 6.95281E03 4.07280E04 3.23478E04 9.76769E03 1.47415E03 1.04481E03 1.91264E03 1.97987E04 4.31063E04 1.53617E04 2.00448E04 6.44213E03 1.10505E04 1.29237E04 1.59171E04 1.06744E04 2.05539E04 1.96348E05 1.83617E05 7.61661E04 1.51839E05 1.66096E05 3.46494E04 1.38192E05 4.10762E05 2.00094E05 1.89417E04 1.39608E05 6.34799E05 1.81034E05 1.05578E04 1.71360E05 3.80096E05 2.52710E05 5.62201E04 3.72018E04 1.04402E05 1.00644E05 2.07773E05 8.24819E05 6.38968E05 2.48854E05 2.00973E05 4.43646E05 1.07821E05 1.65617E03 6.46591E04 7.14186E04 2.24968E03 5.05194E04 7.99049E04 -Frame 257 1.82614E06 9.99314E05 3.45386E05 2.12851E06 3.29926E06 3.98361E05 2.04188E06 1.25947E07 8.73378E06 5.95702E05 3.74522E06 9.09400E06 4.12560E06 3.70605E05 1.22923E07 1.55576E07 1.65956E06 1.65994E07 8.87657E07 6.14924E07 2.83402E06 1.06324E07 2.39945E07 1.01140E07 4.81027E05 1.76487E07 2.61625E07 6.00584E06 9.62854E05 7.85041E06 6.86280E06 1.63012E05 6.00799E06 1.22537E07 5.64724E06 1.08002E05 4.12621E06 4.85184E06 1.21695E06 1.61765E06 1.26168E07 8.68868E06 4.71719E06 3.89683E07 6.40323E07 4.59961E07 8.56500E07 1.41308E08 6.86083E07 4.74206E06 6.30488E06 3.83903E07 3.02871E07 1.39265E06 4.39877E06 1.07131E07 5.43944E06 1.09316E06 4.73285E06 6.89443E06 2.54941E06 3.73686E05 3.84797E06 3.80148E06 5.97577E05 8.94396E05 1.44741E06 1.16638E06 6.05153E02 7.27203E05 6.33882E05 2.17755E05 1.80536E05 1.58596E06 1.34229E06 1.01585E05 1.11217E06 4.13337E06 1.90465E06 1.07038E05 1.69209E06 3.62477E06 1.04007E06 1.23471E06 1.01312E07 1.95894E07 5.18025E06 4.59682E06 1.30904E07 7.98354E06 1.21123E06 7.48100E05 1.86045E06 6.48398E05 3.48004E05 1.85865E06 1.58233E06 3.56937E05 6.23083E04 7.17517E05 9.47023E05 6.70417E03 6.90321E05 5.67338E05 4.05847E05 3.22419E04 8.13060E04 3.66547E04 1.32096E04 9.59122E04 8.09947E04 3.72436E04 2.00860E03 1.28348E04 1.96177E05 2.40028E05 4.96135E04 1.64616E04 1.23352E05 3.40063E05 1.14998E05 2.93550E04 2.24462E04 1.37950E03 1.94471E04 1.94219E04 2.06301E04 1.66384E04 6.58085E02 5.36468E03 6.94191E03 4.11742E04 1.27344E05 1.51404E05 1.39993E05 7.32903E04 1.33822E05 1.08595E05 7.02842E04 6.24090E04 1.99357E04 9.17765E04 2.05545E05 5.09161E05 6.83052E05 2.46121E05 1.36877E05 2.33684E05 3.56455E05 2.05092E06 4.58723E06 4.73586E06 8.46401E05 6.31416E05 1.99896E06 1.18484E06 5.38661E05 3.75002E05 4.38064E05 9.51897E04 1.75504E05 4.38758E05 4.43899E05 1.94503E05 4.28664E04 1.84044E04 1.24538E04 8.98247E04 2.00896E05 3.77284E05 3.31597E05 5.96816E04 1.51621E05 9.80715E04 1.64817E04 6.78445E04 1.32618E05 6.96119E04 7.37618E02 4.75644E04 6.22459E04 2.39368E03 2.60586E04 4.01345E04 1.92775E04 4.06642E03 8.70912E03 1.06787E04 5.29143E03 1.22804E04 1.38470E04 1.45178E04 1.24373E04 4.53483E03 3.39100E04 5.68439E04 2.81512E03 3.54483E04 4.88199E04 1.23170E04 1.06466E04 5.68311E04 8.53414E04 3.50494E04 2.18807E03 3.76635E04 1.68215E04 4.86625E03 1.72206E04 2.33746E04 8.38249E03 5.48977E03 1.23159E04 2.80985E04 1.19906E03 1.98536E04 2.90739E04 1.33583E04 1.87735E04 2.28130E04 3.06258E04 9.97854E03 2.88329E04 8.59033E04 4.65761E04 9.95130E03 2.98339E04 8.76236E04 6.84563E04 9.04700E03 1.71670E04 1.14338E05 2.13723E05 1.73287E05 2.21737E05 2.24925E05 5.75667E04 1.83566E04 2.02760E05 2.89429E05 7.44280E04 1.96010E04 3.57839E04 4.84807E04 7.37062E04 1.61252E05 3.43269E05 2.53297E05 2.32961E05 3.15723E05 5.94058E04 2.66882E04 1.25644E05 2.23321E05 1.29764E05 2.63356E04 2.62679E04 -Frame 257 7.37416E03 4.17061E05 8.83850E03 1.90673E06 2.76566E06 4.87558E05 2.32663E06 1.24729E07 7.73989E06 6.55548E05 3.68010E06 9.14378E06 2.58022E06 1.28231E06 1.47163E07 1.49545E07 3.18332E05 2.59923E07 8.53326E07 3.67218E07 8.79211E04 1.00101E07 1.78207E07 3.93297E06 2.41416E06 2.10457E07 1.53335E07 9.94920E05 2.32559E06 9.68371E06 3.13604E06 3.15230E05 8.06605E06 1.15048E07 1.61132E06 2.03247E06 9.16267E06 7.32030E06 2.50868E06 1.55133E07 1.08151E07 1.72409E06 3.72363E07 5.31834E07 1.45921E07 1.01615E06 6.34011E05 1.06954E07 8.51394E06 6.15261E05 4.01925E06 1.15370E07 4.27732E06 7.30140E04 3.16450E06 3.57840E06 9.12836E05 2.59334E05 2.49007E06 1.06305E06 7.24670E04 2.46884E06 3.87069E06 8.74723E05 5.66073E04 1.15256E06 1.48326E06 1.65743E05 1.36398E05 3.48450E05 9.89889E04 1.25578E04 4.32083E05 5.83373E05 5.72281E04 2.68387E05 1.46081E06 9.57839E05 4.24395E04 5.28520E05 1.10221E06 2.99124E05 2.16044E05 2.88241E06 3.83073E06 6.67519E05 5.27491E06 1.11319E07 4.69216E06 6.59528E03 1.98581E06 1.75864E06 4.05326E05 2.46918E05 1.86824E06 1.25496E06 9.13744E04 2.54376E05 9.12065E05 2.39932E05 2.53347E04 6.79470E05 9.83583E05 2.32190E05 4.69079E04 5.27334E05 5.74310E05 2.28827E05 2.36465E05 2.66787E05 9.85678E04 8.18535E04 1.78590E05 6.73804E04 4.42722E04 3.19433E05 3.87620E05 1.53996E05 9.73734E04 2.98553E05 1.88700E05 8.15997E04 3.74574E04 2.84398E04 1.64740E04 5.18639E02 1.50642E02 6.64848E03 4.34511E03 1.82461E03 2.08436E03 6.12566E02 9.31270E03 2.58033E04 6.41591E04 4.92731E04 1.50632E03 1.01815E04 9.96757E03 5.25956E04 2.75385E04 1.42524E05 4.07520E05 1.70315E05 1.93464E05 7.87155E05 4.73660E05 5.54127E04 5.66038E04 1.03359E06 1.29365E06 2.38724E05 8.74167E05 1.64618E06 5.05884E05 1.63844E04 1.50259E05 1.10993E05 9.34096E04 3.76045E04 1.26329E05 4.08803E04 2.21653E04 1.56962E05 2.37295E05 8.51198E04 3.61752E04 1.36793E03 3.73482E04 1.68310E03 9.52348E04 2.27067E05 2.22302E05 6.89468E04 9.08441E03 1.25150E04 2.69508E04 7.12506E03 1.19988E04 3.46959E04 1.72569E04 2.36660E04 1.24918E04 9.78398E02 5.97186E03 2.62754E04 3.92941E04 2.20798E04 3.30378E03 1.44435E03 2.94171E03 9.83444E03 1.71415E03 1.64417E04 1.85335E04 3.27913E03 8.24757E03 2.59545E04 2.18704E04 4.34188E03 1.47235E03 9.50072E03 5.91215E03 4.15701E03 7.29565E03 1.33780E04 9.12131E03 5.48786E03 2.24340E03 4.13547E03 1.32872E04 9.68963E03 4.40477E02 6.71275E03 1.44597E04 8.45413E03 5.65819E02 4.05532E04 6.33396E04 1.44421E04 1.49224E04 7.86967E04 7.93938E04 4.70275E04 7.64359E03 1.58739E04 4.28987E04 5.28072E04 8.55257E03 9.01981E02 6.94292E02 1.39028E04 1.89110E04 3.20772E04 4.07159E04 8.65390E03 2.13996E03 1.70954E04 1.36956E04 6.97035E04 4.21779E04 1.99796E04 4.25828E04 5.04937E04 5.46822E04 7.02022E04 1.81042E05 1.79148E05 2.26093E05 2.45753E05 6.29554E03 8.57457E04 1.47301E05 6.16869E04 1.86691E05 1.48753E05 7.38103E04 -Frame 257 9.96908E05 3.62241E05 8.66084E04 2.08789E06 2.59548E06 4.30334E05 2.37201E06 1.13078E07 6.49677E06 8.56682E05 3.70615E06 8.94214E06 2.29710E06 2.60515E06 1.84971E07 1.68792E07 5.81250E05 2.35141E07 6.31476E07 2.16650E07 2.30758E05 7.07605E06 1.09922E07 2.08280E06 2.70691E06 1.53604E07 9.02697E06 7.25330E05 2.72975E06 7.96300E06 2.81065E06 9.79525E05 1.07677E07 1.10285E07 2.55785E06 7.49996E06 2.38096E07 9.49990E06 1.33985E07 3.91455E07 2.96957E07 4.95062E06 2.34943E06 8.30057E06 5.13654E06 2.53588E05 1.04961E06 2.59177E06 8.87970E05 2.03889E04 1.89151E06 4.27833E06 1.48187E06 2.16402E05 1.40227E06 8.96498E05 1.63396E04 5.48609E05 1.57888E06 6.02269E05 9.05631E04 1.19783E06 1.28701E06 1.40704E05 2.99496E05 1.20459E06 5.43804E05 3.64809E04 4.55352E04 1.68327E05 2.52547E04 4.53413E04 3.05948E05 2.88479E05 3.56299E04 1.99107E05 6.11087E05 1.75658E05 4.70816E04 4.37494E05 3.47385E05 9.56930E03 1.73557E05 1.32389E06 7.41892E05 6.89973E04 1.93169E06 5.45166E06 1.90315E06 2.50755E04 1.01422E06 1.21274E06 1.77424E05 1.75508E05 9.40703E05 2.86217E05 2.94969E04 4.00324E05 6.77512E05 1.56920E05 5.71415E04 6.36350E05 5.65939E05 6.56429E04 2.78732E05 7.26157E05 2.15234E05 1.84159E04 6.02077E05 1.27124E06 5.49166E05 3.46687E05 3.03895E05 5.03384E04 1.02022E05 5.16676E05 6.56956E05 1.19199E05 2.16867E04 3.47422E05 3.24581E05 1.00305E05 7.05372E03 1.44109E04 3.96824E04 3.91490E04 4.15888E04 2.99734E04 3.58515E03 6.38371E03 1.39330E04 1.71650E04 1.75536E04 2.13132E04 1.42948E04 4.18577E03 2.92874E03 1.32426E04 1.12098E05 1.53148E05 8.58191E04 1.68867E05 2.38347E05 3.48090E04 3.02681E05 4.32906E05 8.23966E04 4.90471E04 3.56343E05 3.92578E05 7.83930E04 1.95006E04 2.05950E05 3.51358E05 1.04288E05 9.22475E03 9.07468E04 3.52347E04 8.41423E03 6.08995E04 1.40330E05 9.28038E04 1.87747E04 4.32348E04 4.92910E04 1.10296E04 7.28785E03 5.15607E04 6.00494E04 8.14541E03 9.95922E03 8.57290E04 5.05188E04 5.91025E03 9.34283E02 1.04934E04 6.05283E03 1.95394E03 6.15432E03 9.24477E03 7.01311E03 1.68778E04 2.12193E04 3.80351E03 2.44399E03 7.95840E03 1.62452E04 1.19339E04 1.21408E03 6.41764E03 1.21912E04 7.98567E03 1.13512E02 3.76725E03 9.68553E03 1.03229E04 6.32263E03 9.01285E03 1.12033E03 3.68037E03 2.75979E03 4.94590E03 1.04667E04 7.56276E03 4.46250E03 1.03788E03 6.34022E02 3.48038E03 1.03114E04 3.15203E03 6.65784E02 1.89708E03 6.68151E03 2.81529E03 1.98354E02 1.39039E02 8.53048E03 2.88329E04 2.17369E04 1.00207E03 1.86414E04 5.20015E04 1.69140E04 1.62852E04 6.20462E04 3.47565E04 6.35200E04 6.96896E04 3.02693E04 1.63475E04 3.09691E04 5.70546E04 5.43762E04 8.65275E04 1.00180E05 4.81579E04 4.22854E04 5.13636E04 6.50974E04 7.25939E04 1.69552E04 4.57293E04 1.20968E05 5.58758E04 2.46705E03 1.05865E05 3.46200E05 1.06017E05 8.55539E04 3.99371E05 2.65830E05 3.61151E04 9.02324E04 2.84691E05 1.56858E05 2.67101E04 2.40924E03 -Frame 257 7.42007E05 4.22670E05 3.39438E04 1.64904E06 2.25321E06 4.46084E05 2.15354E06 1.01803E07 6.11021E06 6.78210E05 4.05757E06 9.23665E06 2.24398E06 4.34953E06 2.44273E07 1.85791E07 1.05063E06 1.49987E07 3.52368E07 1.06020E07 5.32445E05 5.00271E06 7.78294E06 1.23759E06 1.76196E06 9.87657E06 6.43721E06 7.23094E05 2.70115E06 7.73021E06 2.38916E06 1.89134E06 1.40759E07 1.39477E07 6.66669E06 2.62704E07 4.47088E07 7.63834E06 1.72366E06 9.13049E06 9.41350E06 1.62501E06 9.58825E04 1.18638E06 1.18417E06 1.27396E05 4.50408E05 1.39705E06 3.60404E05 5.44693E04 5.04068E05 1.13279E06 4.81349E05 5.44904E05 1.98216E06 9.98684E05 1.53258E05 3.56482E05 7.05166E05 1.61327E05 2.33730E04 4.88756E05 5.39132E05 4.72875E04 2.90839E05 7.08754E05 2.75861E05 2.32905E04 1.21897E05 1.67948E05 4.12504E04 5.31449E04 1.57802E05 9.86433E04 5.59509E03 1.49924E05 5.15074E05 1.32644E05 4.06909E04 2.62070E05 3.32039E05 1.39942E05 3.30202E05 8.72298E05 4.43097E05 1.89389E05 1.71360E06 2.96979E06 6.83881E05 1.47379E05 5.90396E05 3.25283E05 4.78395E04 1.73118E05 6.91219E05 3.30149E05 2.64476E04 1.76092E05 4.28080E05 1.66956E05 1.89575E05 7.69724E05 5.51336E05 7.07413E04 1.28846E05 4.30431E05 2.71658E05 1.09282E05 6.86533E05 1.14830E06 3.37248E05 3.81029E04 4.68800E05 4.16989E05 1.02740E05 2.55097E05 3.52877E05 3.24856E04 4.06748E04 1.16044E05 6.75268E04 2.76682E03 7.10518E03 1.60824E04 1.18662E03 3.06516E03 2.21007E04 1.85888E04 9.32045E03 4.42837E04 1.08049E05 3.58433E04 9.90382E01 3.28963E02 1.90180E04 1.01977E04 4.56958E03 9.29197E04 1.05731E05 1.88111E04 2.87458E03 7.43319E03 4.25423E04 5.88996E04 5.54407E04 8.62867E04 1.60772E02 4.08197E04 1.68511E04 3.50468E04 6.05052E04 2.00588E04 4.50025E04 7.27560E03 1.10859E04 1.48728E04 1.55734E04 5.39643E03 7.86499E03 3.62037E04 4.25996E04 2.69116E04 7.10578E02 5.08721E03 1.94389E03 5.77736E03 1.57109E04 3.66433E04 2.47265E04 3.65240E03 2.03447E02 2.89474E04 4.81711E04 1.48418E04 9.38740E03 2.68985E04 3.04677E04 1.08279E04 2.09444E03 9.32693E02 1.99987E03 1.58182E04 2.57513E04 1.05297E04 1.25135E03 4.03139E02 8.78474E02 1.10363E03 2.88712E02 3.92340E03 1.02426E04 5.11891E03 2.91727E02 4.37358E01 1.62192E03 1.21493E04 3.23206E03 8.90693E03 1.62598E04 4.42563E03 2.60384E02 9.24299E02 1.02958E04 1.01492E04 2.38739E03 6.63654E02 1.20305E03 9.82642E03 8.55330E03 7.96773E03 1.57944E04 1.00503E04 4.86464E03 7.00654E02 5.44661E02 3.69724E02 1.60319E03 5.55060E03 2.37340E03 2.04757E03 1.94929E04 3.47668E04 1.34625E04 3.89945E04 9.36610E04 3.11729E04 4.77923E03 1.48747E04 2.08469E04 3.14192E03 1.50787E03 1.37606E04 2.17095E04 1.41580E04 2.12651E04 5.96478E03 2.22544E04 3.27281E03 1.50772E04 4.29610E04 3.52541E03 6.45202E03 3.32851E04 2.90798E04 2.17456E04 1.66048E05 3.09856E05 6.58285E04 4.82183E04 2.11560E05 1.46421E05 8.93615E03 6.80035E04 1.20973E05 2.76771E04 1.28911E04 1.74298E04 -Frame 257 6.54178E01 6.90900E04 1.01200E05 1.77434E06 2.31112E06 4.00723E05 1.73355E06 9.43057E06 5.80862E06 4.49878E05 4.84450E06 1.02438E07 2.54510E06 6.50286E06 3.52114E07 2.41678E07 1.85632E06 5.51868E06 1.59909E07 5.40520E06 7.13510E05 3.87690E06 6.51463E06 1.22539E06 1.38212E06 8.18311E06 6.00860E06 8.92483E05 2.46861E06 6.61833E06 2.17073E06 2.58612E06 2.11151E07 2.30837E07 1.15625E07 2.76689E07 3.44134E07 7.88107E06 1.98889E05 8.58487E05 2.07132E06 5.88342E05 2.02036E05 8.40500E05 6.34113E05 6.62172E04 2.25649E05 6.46775E05 2.10558E05 1.74314E04 2.25670E05 2.60541E05 4.80950E04 1.78636E05 1.68106E06 1.40390E06 2.24946E05 1.98954E05 3.66518E05 1.22624E05 6.93618E04 4.17501E05 5.20923E05 5.10523E04 3.94253E04 4.21149E05 3.04129E05 5.59961E04 1.06739E05 1.58655E05 3.02765E04 1.02196E03 7.63321E04 8.47733E04 1.77788E04 1.63552E05 5.53167E05 2.05765E05 2.85785E04 2.10284E05 3.40372E05 5.44427E04 3.07378E04 4.73849E05 2.92101E05 9.02155E04 1.04312E06 1.56652E06 1.32831E05 2.83371E04 6.32703E04 2.09957E05 7.79058E04 8.53725E04 2.27870E05 2.08496E05 5.81778E04 1.24860E05 2.00784E05 1.66660E04 1.37388E04 2.06826E05 2.92621E05 4.26394E04 5.10453E04 2.54733E05 8.56034E04 2.97289E04 2.01046E05 4.90804E05 1.57474E05 2.15980E05 8.57867E05 7.26871E05 1.08060E05 1.00150E05 3.73425E05 1.99497E05 3.33036E04 8.65055E04 1.15117E05 1.20115E04 5.81501E03 2.64683E04 2.05653E04 1.24028E04 1.80379E04 2.21433E04 2.30174E04 2.84801E04 1.04843E05 8.30381E04 3.58273E04 9.01538E04 1.80300E05 1.00239E05 2.70808E03 1.37899E05 3.23751E05 2.22476E05 2.24821E05 2.31675E05 1.21214E05 1.01147E04 4.49864E04 5.06802E04 2.12541E04 7.83527E03 2.26085E03 1.04440E02 8.68045E03 3.64186E04 4.38383E04 1.32338E04 2.94319E03 2.39422E03 3.19357E03 7.67325E03 7.50979E03 9.43398E03 1.28771E04 1.38692E04 7.21565E03 8.18593E03 1.53945E04 3.82631E03 1.01655E04 1.68855E04 1.20800E03 3.78383E03 1.44572E04 5.58143E04 4.83815E04 9.91777E03 1.85656E03 2.53864E03 5.34156E03 3.81632E03 4.53011E03 1.19779E03 5.01221E03 8.20265E03 2.30690E03 2.25371E04 1.95853E04 2.71616E03 1.47375E03 1.72670E02 1.34750E03 9.77313E02 1.51520E03 8.60430E02 3.31250E03 1.99477E03 2.40051E03 9.99902E03 1.80771E04 2.58607E04 2.69988E04 1.53227E04 4.73437E03 1.70488E03 1.81727E03 1.57545E04 1.74555E04 1.38428E04 1.91434E04 1.48461E04 6.15945E03 8.11224E03 1.64525E04 1.12907E04 3.03001E03 3.58280E03 7.91028E03 7.00049E03 5.17069E03 1.51144E03 3.14078E03 2.45065E03 5.26166E03 1.71622E04 1.07950E04 7.79713E01 2.50053E04 4.34388E04 2.91379E04 1.24171E04 6.71199E03 1.21156E04 1.52585E04 1.00766E04 1.09463E04 9.50963E03 6.23141E03 1.79867E04 1.09439E04 6.99595E03 1.88598E04 1.54031E04 2.76625E03 1.87511E03 1.21515E04 2.19386E04 7.41274E03 3.87482E04 1.35482E05 1.08468E05 1.26051E04 5.75224E04 1.31628E05 4.34454E04 1.29409E04 2.51372E04 2.99618E04 1.38213E04 3.24627E03 -Frame 257 5.14005E05 2.99759E05 3.02308E03 1.56697E06 2.27357E06 2.85782E05 1.43728E06 8.71592E06 5.33625E06 1.74312E05 7.24147E06 1.28934E07 3.14001E06 1.09368E07 4.73594E07 2.59149E07 1.62130E06 1.97917E06 6.43127E06 2.50510E06 5.11656E05 3.57519E06 4.80162E06 7.80575E05 1.21675E06 6.62280E06 4.87949E06 4.90717E05 2.06713E06 4.60822E06 1.63965E06 3.31935E06 2.53792E07 2.74274E07 1.64639E06 1.39150E06 8.51912E06 4.38068E06 2.73221E05 8.23931E05 1.18561E06 1.36429E05 5.24324E04 4.12437E05 2.36346E05 9.89639E03 8.57533E04 3.94472E05 1.73813E05 2.38572E04 2.48675E05 3.27455E05 1.10344E05 1.58070E05 8.52160E05 3.74343E05 2.87000E04 1.48558E05 3.10516E05 4.54568E04 2.37438E04 3.59466E05 4.20397E05 1.07981E05 1.68765E05 5.14763E05 2.38470E05 7.14990E03 6.23977E04 1.82113E05 6.01658E04 1.65040E04 1.45164E05 1.04085E05 7.48707E03 1.64011E05 5.54691E05 2.04688E05 6.27633E04 5.30955E05 7.23793E05 4.33744E04 3.51425E05 9.16145E05 2.02284E05 4.24451E03 4.52701E05 1.10895E06 3.90273E05 1.03665E05 2.83824E05 2.35837E05 3.84423E04 9.07168E04 1.58855E05 5.95460E04 1.16843E03 3.52911E04 1.06264E05 2.50480E04 3.22875E04 1.57093E05 1.16870E05 3.78796E04 1.36135E05 2.92187E05 9.96954E04 4.94562E04 2.16553E05 2.21319E05 2.54011E04 3.74725E04 4.33617E05 4.84246E05 8.94160E04 1.48937E05 3.24127E05 5.43715E04 5.82745E04 2.19246E05 2.74086E05 1.01088E05 5.10599E04 3.53946E04 5.63442E03 1.01993E04 9.32712E03 1.99716E04 2.11037E04 1.42579E04 3.24899E04 2.97709E04 7.93938E03 6.14591E04 1.37962E05 1.24536E05 2.35961E05 2.44892E05 9.43606E04 1.14810E05 3.51707E04 1.79636E05 1.46672E05 7.86942E04 6.13226E04 2.12690E04 5.65526E03 5.70182E03 2.43447E03 4.58305E03 3.09547E03 1.48876E04 1.41543E04 1.19485E03 1.32329E03 5.27202E03 1.68497E04 1.49708E04 6.61801E03 2.19911E04 3.20046E04 1.02811E04 9.70785E03 1.49789E04 1.33862E04 4.47130E04 5.37790E04 1.17719E04 1.81213E02 2.04656E03 1.90022E04 5.95552E01 5.11669E04 4.80855E04 3.25153E04 2.58233E04 1.15114E04 4.86692E03 1.09403E04 8.43525E03 8.29040E03 3.28339E04 3.95974E04 4.07569E03 1.02068E04 2.91325E04 1.41506E04 1.39032E04 1.11228E04 2.45068E02 3.19740E03 8.03581E03 6.51431E03 1.64386E03 6.15550E03 1.86635E03 5.63332E03 1.01704E02 9.64047E02 2.83250E03 1.76749E03 1.35911E03 1.48784E04 4.10840E04 1.64969E04 1.71726E02 7.23745E02 1.11183E03 3.67919E02 7.94858E01 3.59776E03 5.46228E03 6.32419E03 6.60542E03 6.13160E03 5.36831E01 3.12280E03 1.86780E02 5.41248E03 1.10658E03 3.46847E03 2.25354E03 1.24182E02 1.85482E03 1.65548E04 4.95381E03 1.30349E04 5.70439E03 2.26014E03 6.86630E03 1.73351E04 1.03609E04 6.62813E03 1.20246E03 2.21344E03 1.29301E04 2.15562E04 1.13091E04 1.93600E03 1.11877E04 1.05821E04 2.95356E03 3.82591E03 3.70729E04 3.70678E04 2.65344E04 3.95347E04 1.40390E04 5.67004E01 7.60813E03 3.20231E04 2.15626E04 1.45103E03 8.43627E02 1.54613E03 6.00496E03 6.46998E03 -Frame 257 1.83924E05 1.29811E05 1.98201E05 2.32673E06 2.70363E06 2.88486E05 1.49798E06 8.19580E06 5.56553E06 9.21390E04 1.13135E07 1.79140E07 4.28204E06 1.19627E07 4.68266E07 2.44562E07 1.20701E06 7.20819E05 3.21412E06 1.05513E06 1.09085E05 2.90686E06 3.82695E06 5.54424E05 7.80527E05 4.05709E06 2.41688E06 2.49094E05 1.65276E06 2.69874E06 6.98173E05 1.44869E06 1.34378E07 1.93029E07 6.83956E06 3.49940E06 8.41973E06 5.81546E06 4.22570E05 6.07224E05 1.32842E06 2.39877E05 2.21460E04 4.56617E05 4.04380E05 1.74462E04 2.00561E05 5.24952E05 1.30649E05 2.15535E04 1.58808E05 1.19768E05 9.90783E04 3.49881E05 6.46288E05 2.62867E05 1.51222E04 2.08623E05 4.25318E05 1.20963E05 5.14682E04 4.21669E05 2.71910E05 4.07385E03 1.07533E05 4.72601E05 2.37043E05 9.76945E03 1.01948E05 1.47248E05 7.85126E03 1.12210E05 3.99293E05 2.53175E05 4.92163E03 3.17621E05 8.67011E05 1.78836E05 1.41748E05 1.64862E06 1.77700E06 2.28802E04 1.59601E06 3.21413E06 8.86978E05 4.59310E04 5.01497E05 6.41928E05 3.66065E04 1.01020E05 3.15279E05 1.65412E05 6.88145E03 8.21134E04 1.66203E05 2.67570E04 1.40641E04 1.11407E05 1.12249E05 4.16590E03 4.65383E04 2.17439E05 1.19845E05 9.20298E03 1.06888E05 3.26915E05 1.07241E05 4.88830E04 3.09853E05 2.56009E05 3.10614E04 2.93568E04 2.89341E05 1.76879E05 3.15543E04 4.03678E05 9.49819E05 3.24248E05 1.80645E04 4.13017E05 2.06110E05 1.09135E04 5.41655E03 2.00086E04 1.56856E04 1.04432E03 8.04305E03 2.28803E04 6.02812E03 3.95788E03 9.06397E03 3.00796E04 3.69582E04 6.69517E04 8.30681E04 6.02865E04 4.14025E03 8.75981E04 8.74019E04 3.75790E04 7.73260E04 9.01830E04 2.10559E04 1.01179E04 1.74408E03 6.22822E03 6.31515E02 5.16222E02 2.57126E03 1.61760E03 2.14322E03 7.51836E03 6.76708E03 1.25699E03 4.13367E03 3.94206E02 5.76277E03 4.60849E03 1.43470E03 1.26675E03 4.71273E03 6.76359E03 1.57009E04 2.58596E04 1.95677E04 4.87550E04 1.04403E05 3.85984E04 1.89127E03 2.02705E04 6.27634E04 5.29131E04 6.47418E04 1.14611E05 3.60888E04 1.39199E04 3.64351E04 1.61958E04 4.70900E04 1.43187E05 1.45148E05 5.89534E04 5.16904E02 2.12934E04 1.03743E04 7.41617E03 1.64669E04 2.88046E04 2.80762E04 4.11009E03 1.74990E03 5.41656E03 5.20917E02 6.51329E03 1.61078E04 2.40093E04 1.73350E04 7.20726E03 7.57226E03 1.27937E04 1.66627E04 8.26172E03 1.77196E04 2.68531E04 5.52902E03 2.83460E03 2.93973E03 1.84274E03 6.77795E02 1.84128E03 6.19142E03 7.80283E03 9.29538E03 7.84040E03 8.58694E03 9.43449E02 5.59684E03 1.27014E04 1.39376E02 2.26399E04 5.48834E04 2.59021E04 7.11504E03 4.01589E04 5.69218E04 7.52922E03 2.20787E04 1.60103E04 9.77746E03 8.42414E03 4.34985E03 8.74530E03 1.41497E04 2.60003E03 2.01726E03 1.06352E04 2.18372E03 3.18807E03 7.87819E02 1.82994E04 6.75385E03 6.76753E03 2.48309E04 8.25689E02 3.27215E04 1.34732E04 2.94421E04 1.71136E04 2.17295E03 1.66863E02 9.23853E02 5.71338E02 9.96827E02 5.55660E02 2.06488E03 9.60483E02 5.56869E02 -Frame 257 7.21082E04 4.25182E04 5.27489E04 2.91865E06 3.83868E06 8.61794E05 1.29893E06 8.90154E06 5.67625E06 8.25173E04 1.61651E07 2.83165E07 7.32969E06 4.37754E06 2.45647E07 1.55716E07 1.07389E06 5.28998E05 2.13245E06 1.21940E06 1.07220E04 2.12387E06 3.30597E06 7.11506E05 2.27412E05 1.93446E06 1.24561E06 5.05186E04 5.89112E05 1.83165E06 9.33565E05 1.73133E05 2.64500E06 2.63775E06 2.47620E05 1.62112E05 3.67355E06 8.96092E06 5.65002E06 9.05801E05 1.23102E06 1.69214E06 7.95161E05 2.05686E06 2.86046E06 5.52904E05 4.27039E05 1.39021E06 8.01907E05 1.78510E05 2.29052E05 2.62030E05 8.19808E04 4.80525E04 3.91441E05 3.28974E05 2.94557E04 1.56784E05 3.94494E05 1.37632E05 2.45491E04 4.01566E05 5.03325E05 1.15907E05 6.11387E04 5.02805E05 3.47140E05 4.61109E04 1.64411E05 4.35465E05 2.14430E05 3.01278E04 6.54125E05 9.04950E05 1.64550E05 7.97110E05 3.09191E06 1.79451E06 1.50779E05 4.32356E06 6.87673E06 1.76362E06 1.79457E06 5.44618E06 2.76105E06 3.20600E05 3.27384E05 1.01567E06 4.58029E05 5.66632E03 2.97140E05 3.62029E05 8.54816E04 3.36392E04 2.48417E05 2.13835E05 5.30132E04 1.80882E05 4.59299E05 2.06059E05 9.66517E03 1.95878E05 3.00745E05 2.67806E04 1.40892E05 5.55807E05 2.50781E05 4.18471E03 2.11755E05 4.59350E05 1.50589E05 6.06020E04 6.54833E05 9.17779E05 2.76263E05 4.70399E05 2.94029E06 1.91630E06 1.09885E05 5.19338E05 7.51673E05 1.48199E05 4.57232E03 2.78854E04 4.22133E03 3.50413E03 1.39172E04 7.54056E03 1.25423E04 9.22677E04 1.21674E05 4.75448E04 1.01797E05 9.42397E04 2.77875E05 1.91800E05 5.36134E03 1.30304E05 2.37030E05 1.05160E05 2.28612E04 1.54905E04 5.95219E04 2.22542E04 5.70509E01 2.46191E03 4.17778E03 2.06987E03 3.55845E03 5.14871E02 6.24987E03 6.13330E03 9.14786E03 1.60600E04 1.16156E04 2.02710E03 6.68129E03 3.38414E03 3.49446E02 8.56978E01 1.90133E03 5.49509E03 1.51774E04 4.21183E04 2.05839E04 1.24529E04 1.02258E05 2.53982E05 6.60368E04 2.14365E04 1.57662E05 1.03217E05 6.56416E04 1.93973E04 1.77019E05 3.81234E05 2.57935E05 6.67273E04 1.77511E03 1.13955E05 4.36538E04 5.89200E03 3.20822E04 3.00742E04 3.49841E03 1.81102E04 2.53021E04 3.60205E03 2.61717E04 6.77495E03 3.27644E03 5.54290E03 5.82353E03 8.03715E03 5.19969E03 4.80173E02 2.62120E03 3.58349E03 3.06997E03 6.14692E02 2.06556E03 9.43768E03 3.92834E03 7.18597E03 3.65462E03 1.55664E03 1.69785E03 3.58736E03 6.33008E02 2.92344E03 8.27678E03 1.47836E03 8.75150E03 9.97336E03 1.00728E04 5.33887E03 9.50504E03 3.09053E04 5.15242E04 5.31083E04 2.82606E04 1.19288E05 2.10370E05 1.37071E05 9.68935E04 1.11420E05 6.97392E04 7.16090E03 2.63016E04 2.06491E04 3.95073E03 1.14057E04 1.31648E04 8.30465E02 1.34881E04 3.45529E04 2.55539E04 3.32764E03 7.39342E03 1.94942E04 2.04774E04 8.18692E03 3.83183E04 1.11521E05 7.24310E04 2.23264E04 6.65782E04 5.41259E04 1.36359E04 1.39643E04 1.33382E04 5.27105E03 1.12440E03 4.36427E01 3.17619E02 5.83192E02 1.32242E03 -Frame 257 1.34601E05 1.18664E05 4.87596E05 4.41064E06 6.46198E06 1.38095E06 2.32355E06 7.89621E06 4.85335E06 6.12363E05 2.08258E07 2.89757E07 5.83972E06 2.35290E06 1.03307E07 5.70389E06 1.16140E05 8.04109E05 1.16244E06 4.56521E05 1.01388E05 1.71164E06 2.06885E06 2.65193E05 4.56472E05 1.15275E06 4.47448E05 1.61264E03 4.05956E05 5.84123E05 1.57304E05 2.42149E05 1.01693E06 4.57487E05 6.31782E03 3.42834E05 7.31072E05 3.42793E05 7.26160E05 1.69615E06 2.08302E06 1.98805E06 1.08267E06 4.49652E06 9.86544E06 6.35752E06 9.93377E05 4.34841E06 4.58425E06 1.31026E06 3.23064E06 2.92356E06 9.37333E05 3.17180E05 7.18884E05 3.96954E05 8.52956E04 5.26132E05 5.14640E05 6.63408E04 1.39264E05 5.13840E05 2.94529E05 4.66933E04 4.72848E05 5.73858E05 1.32642E05 1.26442E05 6.22885E05 5.69608E05 1.02705E05 7.43543E05 1.43493E06 2.91946E05 7.72455E05 3.31947E06 1.96956E06 3.63187E05 3.22265E06 5.83610E06 3.48927E06 1.01154E06 1.39518E06 2.44823E06 1.27467E06 3.49833E04 1.39967E06 1.32872E06 1.34147E05 6.56450E05 8.84090E05 2.79211E05 5.17155E04 2.91111E05 2.11792E05 7.42934E01 2.59333E05 4.52193E05 1.27666E05 3.29697E04 1.91169E05 2.34294E05 4.52581E04 4.69627E04 2.36838E05 2.78289E05 5.14491E04 1.35482E05 3.52282E05 1.73380E05 3.32930E02 3.35795E05 1.37021E06 2.31450E05 8.75571E05 3.81590E06 3.20526E06 1.38700E05 2.68286E06 3.14914E06 1.09331E06 8.93127E04 4.08437E05 1.04534E05 9.64928E03 3.47819E04 1.26830E04 1.28004E04 2.85863E04 1.24905E05 1.83724E05 1.97546E04 2.30286E05 2.65060E05 6.96709E04 1.16288E05 4.72832E05 1.67431E05 1.03651E05 1.03058E05 1.69550E05 1.23043E04 2.82661E04 9.72257E03 2.72210E04 8.49962E01 5.95199E03 5.47191E03 3.50576E03 1.02316E04 3.53209E02 2.16368E04 8.51967E03 1.23084E04 2.14868E03 2.80746E03 2.71061E03 9.10622E03 3.08253E03 4.27466E03 1.56028E03 1.49576E04 3.30625E04 5.19746E04 2.65458E05 3.78133E05 3.01378E05 1.22577E05 2.06668E05 1.77184E05 1.11921E05 1.74795E03 1.16494E05 8.26945E03 1.31900E05 4.47003E05 4.28389E05 8.94653E04 1.75872E05 2.60111E05 2.93587E05 8.44324E04 4.33714E04 1.23048E05 1.41788E05 4.47557E04 1.45341E04 1.09921E05 1.80225E05 1.04494E05 3.56817E04 8.56928E03 1.08126E03 1.20498E03 1.21145E03 8.41266E02 3.49786E03 5.40943E02 2.53433E02 8.07513E03 5.73160E03 2.11720E03 5.92816E03 1.95472E04 1.98538E04 1.37109E04 1.35790E04 2.97414E04 3.11445E04 1.37441E04 5.51632E03 3.01539E04 5.72919E04 4.46817E04 1.91356E04 3.70236E04 6.73607E04 6.91107E04 4.91660E04 1.87928E05 3.33645E05 1.87942E05 1.47771E05 4.10785E05 3.50110E05 1.05572E05 1.51366E04 4.37110E04 2.87449E04 1.08967E04 4.35918E03 9.60116E03 1.32244E03 1.51350E04 1.16158E04 1.44131E03 1.90541E04 4.14994E04 1.47665E04 5.27673E03 1.49201E04 5.21593E03 2.74689E04 1.29898E05 1.20946E05 3.67990E04 2.27195E04 1.00190E05 2.90318E04 8.04410E03 4.80587E04 3.78780E04 4.83342E03 5.63127E02 1.36943E02 6.63982E02 4.61635E03 -Frame 257 1.00766E05 1.15987E04 3.51647E05 3.42553E06 4.40185E06 7.04650E05 9.06180E05 2.26273E06 1.07192E06 1.93670E06 8.43111E06 7.80980E06 4.21066E06 3.08657E06 2.24060E06 7.80094E05 7.42432E04 3.51598E05 1.30239E05 6.22027E03 2.37760E05 3.70195E05 5.43219E05 2.01356E05 3.24200E05 2.29468E05 6.45999E04 5.95233E04 3.24966E04 2.98860E04 4.57249E04 1.92091E05 2.85555E05 1.29584E05 3.05380E03 1.67035E05 1.36132E05 1.01468E03 5.96570E04 9.62115E04 1.66641E04 9.23824E04 2.81175E05 6.70210E05 1.13794E06 2.76488E06 3.78131E06 4.77395E06 4.24464E06 3.60764E06 1.70618E06 1.12098E06 8.30132E05 2.13695E04 2.00606E05 5.31736E05 1.27440E05 1.59845E05 2.22845E05 5.96878E04 2.02751E04 4.24519E05 1.93479E05 7.46781E04 6.67423E04 1.14989E05 1.98645E02 1.93558E05 7.66117E04 7.78064E04 1.75911E05 3.32891E05 3.06351E05 7.52025E05 4.59795E05 6.34464E05 2.74337E05 4.89660E05 2.35372E05 1.56993E05 1.22311E05 2.52365E05 9.73613E04 3.15460E04 1.16177E05 4.17241E05 4.68339E05 6.52498E05 5.44632E05 2.68672E05 1.72856E05 1.92745E05 7.04153E04 8.71415E03 7.98990E04 4.89766E04 3.36664E04 5.94598E04 4.25122E04 6.95711E03 1.59579E04 5.39355E04 8.18777E04 8.95360E04 2.90822E05 4.31940E05 2.97618E05 2.88700E05 6.06737E05 5.89561E05 3.03122E05 9.42676E05 1.82135E06 1.64144E06 5.19306E05 6.58039E05 4.65442E06 5.52528E06 3.03613E06 9.80963E04 2.12309E06 3.86548E06 1.64190E06 2.58515E05 6.20583E04 6.12935E04 2.94685E04 1.36780E05 3.73172E05 1.99458E05 1.23512E05 3.70845E05 1.02938E06 8.99988E05 3.96944E05 5.44735E05 1.23172E06 1.50298E06 7.70827E05 4.51579E05 9.48378E05 1.56005E06 8.96889E05 2.90552E05 2.69742E05 4.25594E05 2.88350E05 3.87976E04 4.04665E04 1.64324E05 2.46798E05 1.28578E05 9.09586E04 2.12703E05 2.50060E05 1.24816E05 2.29297E04 3.21716E04 1.01151E05 6.71824E04 3.57973E04 2.98866E05 3.84372E05 5.12202E04 8.86689E04 6.77533E04 2.46996E05 3.30136E04 7.42760E04 1.12491E05 1.20289E05 7.29773E05 1.51608E06 1.26694E06 5.17910E05 5.10580E05 6.17517E05 4.89290E05 2.14177E05 1.98878E05 5.36335E05 4.26357E05 1.94638E05 1.69891E05 8.97343E04 2.99336E04 1.11238E05 9.82290E04 6.06316E04 2.50082E04 3.88671E03 3.09620E02 9.32728E03 1.29341E04 7.39147E03 5.24685E03 1.64253E04 2.18208E04 1.81083E04 2.31086E04 4.15296E04 3.19669E04 2.19380E04 4.89000E04 6.46592E04 2.57604E04 4.20795E04 8.23545E04 5.14731E04 1.53802E04 5.86181E04 1.06716E05 5.87210E04 1.66043E04 8.08351E04 1.25048E05 8.82974E04 2.49534E04 4.54741E04 2.97310E05 5.69459E05 5.10405E05 3.21645E05 4.23146E05 5.88954E05 4.97510E05 3.28491E05 1.51973E05 7.91767E04 7.65038E04 1.04450E05 1.55196E05 1.25117E05 8.66842E04 8.44163E04 1.49426E05 1.67792E05 7.40460E04 1.50338E04 3.36424E04 5.70675E04 3.33147E04 1.83759E04 1.84464E04 4.51161E04 3.17471E04 6.22576E04 1.19728E05 1.47937E05 2.66306E04 1.12712E04 5.90403E04 9.52853E04 3.86290E04 2.22089E04 5.19921E04 9.60245E04 -Frame 257 3.42389E05 7.32032E05 7.70945E05 4.13249E05 1.69039E05 2.21303E05 2.51480E05 2.51545E04 1.26056E05 1.99089E05 4.72164E05 2.63173E05 3.00978E04 1.45180E04 3.08825E03 7.96415E04 1.30639E05 3.14030E04 7.41774E03 7.76362E04 1.94390E05 2.86329E05 4.59857E05 4.65944E05 2.34249E05 1.47045E05 1.48604E05 1.72437E05 1.47902E05 9.95807E04 8.48576E04 5.05096E04 3.94247E03 2.95389E02 4.19905E04 1.84532E05 1.50955E05 3.38008E04 9.43248E03 2.49806E04 4.37801E04 4.83738E04 9.45693E04 1.11035E05 1.04673E05 5.18751E04 4.02382E04 8.64078E04 6.96663E04 1.06620E05 2.13812E05 2.26481E05 2.32652E05 1.40002E05 5.01712E04 3.07864E05 4.65393E05 4.04654E05 2.91468E05 1.80197E05 3.49271E05 5.44453E05 5.30402E05 3.51645E05 2.40904E05 3.28167E05 4.11515E05 3.92993E05 2.73480E05 1.66518E05 1.98259E05 2.29597E05 3.05833E05 3.32865E05 2.51108E05 2.34170E05 2.41110E05 2.45362E05 2.08340E05 1.37974E05 1.28085E05 7.73194E04 2.69871E04 1.01231E04 3.33846E04 4.44898E04 2.33427E04 2.34083E04 1.74224E04 2.16964E03 1.56113E04 1.47904E04 4.51390E03 1.71234E03 1.64609E04 4.82344E03 2.17415E03 3.51955E03 1.71807E03 3.17403E03 1.11434E04 1.87521E03 3.30015E04 1.11510E05 8.94841E04 3.17320E04 4.67912E04 3.43358E05 3.83139E05 1.26363E05 2.57331E04 2.37771E05 2.19238E05 5.07679E03 2.94581E05 1.08861E06 1.11534E06 3.60816E05 6.08599E04 7.96910E05 1.72044E06 1.50789E06 6.41675E05 5.73818E04 8.54536E04 1.27830E05 1.27948E05 2.96140E05 5.66919E05 7.36324E05 3.60819E05 3.36177E05 1.25303E06 1.84480E06 1.13233E06 3.49850E05 8.64834E05 1.94386E06 1.57661E06 5.01262E05 1.06759E06 2.07337E06 1.87473E06 8.01474E05 7.20296E05 1.20381E06 1.04382E06 5.99693E05 4.57887E05 6.27054E05 6.60844E05 3.83961E05 3.84980E05 8.14933E05 1.04461E06 9.37918E05 6.41453E05 6.19245E05 7.42817E05 6.96712E05 7.78680E05 1.24339E06 1.36045E06 9.97052E05 1.03033E06 1.24960E06 1.05399E06 7.29845E05 4.21106E05 1.28270E05 1.40095E05 7.05447E05 1.12319E06 1.09412E06 5.77740E05 5.54768E04 1.25380E05 3.61315E05 2.43177E05 3.02416E04 2.34616E05 3.84167E05 2.53387E05 5.61567E04 1.91124E04 5.07641E04 7.17458E04 6.61017E04 5.66129E04 7.14613E04 7.97133E04 6.74176E04 7.64240E04 4.70284E04 1.47191E04 1.50764E04 3.19312E04 3.30106E04 2.46847E04 1.29830E04 3.60866E04 3.60477E04 1.01869E04 1.69661E03 1.70224E04 6.05042E03 1.42693E04 4.01073E03 4.70399E03 1.40891E03 1.03366E04 1.47670E04 2.87714E03 9.20565E03 4.07527E04 1.33265E04 4.33862E03 1.38145E04 7.74423E03 3.66094E03 1.61683E04 1.02291E04 5.48836E03 1.09808E04 6.82020E03 2.93966E03 2.31345E04 8.85520E04 6.63160E04 9.21952E03 5.21471E04 9.67977E04 7.03486E04 1.17531E04 1.15468E05 2.30726E05 1.14087E05 2.13839E04 3.94934E04 7.00976E04 4.74294E04 1.76293E04 2.94606E04 3.93662E04 5.95734E04 5.42831E04 4.71601E04 9.23625E04 1.79899E05 1.67150E05 5.83903E04 1.01328E05 1.31693E05 7.83398E04 3.45025E04 9.10730E04 1.72185E05 -Frame 257 3.50752E06 2.25947E06 4.96518E05 5.56688E04 1.60235E04 1.87626E04 2.06208E04 1.28235E04 8.65818E03 1.58450E04 4.96530E04 3.61684E04 4.53623E03 2.50085E03 5.10655E03 7.12550E02 4.77052E03 2.08515E03 2.64930E02 1.37417E04 2.08663E04 4.91658E04 1.65225E05 6.48606E04 5.63591E04 9.32334E04 6.93679E03 1.21694E04 2.76963E02 1.36959E04 8.80365E03 8.99929E03 5.11279E04 5.06355E04 9.86076E03 2.07225E04 5.16943E04 1.02298E04 1.69001E03 1.46820E03 4.44732E03 3.07499E03 1.44415E04 1.43374E04 2.03928E03 1.07877E03 5.30633E03 2.68546E03 2.71840E04 1.91348E04 1.88650E01 3.45557E03 1.40448E04 1.18637E03 2.76672E04 4.90661E04 8.42837E03 1.09801E04 7.86305E03 3.09114E04 9.28542E02 2.65605E04 3.07520E04 2.52666E04 1.18117E03 2.40516E04 1.45425E04 5.77379E03 3.25527E04 2.07921E04 2.84969E03 4.14113E03 1.24773E04 2.23401E04 5.35393E03 5.79030E03 2.64896E03 1.85193E04 1.60311E04 3.23743E04 1.85118E04 3.60960E03 5.15558E03 2.01206E03 6.21611E03 1.83007E04 8.27632E03 5.64166E03 7.27324E02 1.75890E03 7.78691E03 5.38898E03 3.36916E03 1.21766E04 1.17162E04 2.26444E03 1.09768E03 2.82587E03 1.22198E03 2.52680E03 4.77593E03 2.85279E02 2.32229E03 6.71513E03 6.72114E03 1.34688E04 2.26230E04 1.21406E04 4.20164E02 1.67579E03 5.06261E03 3.75055E03 9.03923E03 1.58389E03 1.27876E04 1.08518E04 1.54369E04 1.46605E03 4.91090E03 3.07324E04 2.26324E04 3.65343E03 5.88237E03 5.01653E03 1.32430E04 3.87908E03 2.71067E04 1.00958E04 3.77576E04 6.86275E04 8.98852E03 2.06572E04 3.26514E04 4.04839E04 3.77279E04 3.99362E04 1.19035E04 2.56772E04 1.28119E05 1.11612E05 8.41031E03 4.39512E04 2.79940E04 6.40762E04 3.11445E04 4.18428E04 1.61885E04 5.55590E04 4.52149E03 2.88413E04 2.01824E04 9.09246E03 4.41434E04 3.15909E04 1.04459E04 2.03013E04 8.26019E04 3.78820E04 1.86824E04 3.56049E04 6.00320E04 9.01935E04 5.35410E04 3.50114E04 5.26265E04 8.45507E04 3.64926E04 1.17733E03 2.84070E04 8.07551E03 4.02221E04 2.15036E04 7.21756E01 2.69118E02 2.33019E04 3.35727E04 2.44369E03 2.47290E04 1.04639E04 1.61255E04 1.44385E04 2.93152E03 5.14998E03 6.58963E03 1.91651E03 3.55423E03 1.82751E04 8.01899E02 6.63239E03 1.20546E03 7.54567E03 1.14935E04 2.19870E03 2.00678E04 8.89005E03 1.05140E04 3.28703E03 2.24157E03 3.45328E03 3.15468E03 3.09933E03 3.27912E03 1.15768E03 7.11131E03 9.40379E03 1.06059E04 5.05303E03 6.50557E02 3.76379E02 3.44358E03 4.45026E03 5.58538E02 2.38858E02 4.09899E03 9.19618E03 6.39973E03 1.67726E03 1.05455E03 1.16763E03 2.80134E03 2.50833E03 6.87633E03 7.61862E03 3.30140E03 8.21332E02 1.38375E03 2.47465E03 3.74987E03 5.91971E02 3.52087E03 5.10039E02 1.70948E03 3.15181E03 4.43346E03 4.71048E03 1.24302E04 5.75602E03 3.56174E03 4.07728E03 1.18140E02 7.08041E03 4.78674E03 2.85433E02 4.79435E02 7.80257E03 1.12409E04 1.09997E03 9.48904E03 4.06640E03 1.01489E04 1.21821E04 1.51799E04 4.22992E03 9.59850E02 4.15008E03 4.65495E03 6.65449E03 -Frame 257 2.75456E04 8.41819E05 2.11567E05 1.87024E04 2.06640E03 2.35721E02 8.78569E02 3.25296E02 9.66452E02 3.86393E02 9.92017E02 1.23352E04 3.80407E03 2.55815E03 5.06756E03 8.20121E02 6.80678E02 7.39054E02 2.57622E03 1.60467E03 4.48698E03 3.80882E04 3.01732E04 6.67800E02 7.19169E03 3.62776E04 3.44494E04 3.55679E03 6.52304E03 1.05236E04 3.46760E02 9.47179E03 4.87372E04 6.24724E04 6.70751E03 1.01563E04 2.15574E04 8.72710E03 3.10846E02 5.16589E02 2.54854E03 2.17476E03 2.51795E03 2.78420E04 3.51179E04 1.34091E04 3.98045E03 3.54073E02 1.09915E04 1.71809E04 1.31989E04 6.54133E03 4.54011E02 1.94033E03 1.94375E03 1.39483E02 8.22461E03 7.83800E03 4.82458E02 5.28679E03 7.77269E03 5.76750E02 6.71650E03 1.62726E04 1.50795E04 5.51754E03 6.09957E03 1.00642E04 3.27677E03 1.15661E01 1.47261E02 3.73368E01 9.22437E01 3.77290E02 2.91928E03 3.56989E03 2.21301E03 2.07957E02 2.50128E02 1.61910E03 4.30572E03 2.23306E03 8.10297E03 6.14008E03 1.69966E03 1.36575E03 9.17517E03 1.12155E04 4.99755E03 2.69290E03 5.22783E03 4.67125E02 7.05215E02 1.15623E03 2.20784E03 4.50969E03 1.19349E03 2.82708E02 7.08265E02 5.42275E02 3.76011E03 3.87150E03 1.73236E03 1.61109E03 2.40047E03 4.97741E03 4.20365E03 8.13088E03 7.86877E03 5.18038E02 1.59961E03 5.54286E03 2.75763E03 1.60448E03 6.15576E03 6.76781E03 5.50511E03 3.01979E03 1.01209E03 3.70000E02 6.30490E02 3.88872E02 7.95986E01 1.14177E03 4.14369E03 9.18583E03 2.98947E03 1.20566E03 8.84006E03 5.31693E03 3.82008E02 1.14669E03 5.32524E00 2.34178E01 7.83673E02 4.15829E03 5.42778E03 1.21851E04 9.38073E03 3.76960E03 1.41688E04 6.64558E03 3.61435E03 3.46908E03 2.11031E03 2.73635E02 1.31388E04 1.35913E04 6.18696E01 1.29990E03 2.75714E03 2.56161E03 1.01162E02 1.62291E02 4.20522E02 5.98289E03 7.15496E03 3.38424E03 1.16147E04 1.24758E04 2.58784E04 3.03866E04 9.05337E03 2.51410E02 4.64140E03 3.34929E03 2.01477E03 5.57877E03 1.50548E04 6.34627E03 1.38489E03 4.20629E03 1.09266E03 4.30655E02 1.94465E03 5.60008E03 1.59659E03 6.00932E02 1.61473E03 7.11948E03 1.35428E04 1.20542E04 6.62234E03 7.89544E03 1.29278E04 2.39324E04 1.73894E04 4.91246E03 2.40096E03 4.95395E02 2.07423E03 4.62841E03 1.11228E04 8.41953E03 2.15722E02 8.20260E03 8.53968E03 4.71575E03 2.76331E03 3.75046E03 5.48944E03 7.47646E03 8.92152E03 4.27687E03 2.91864E03 6.37502E03 2.66061E03 1.56862E02 3.74807E02 1.66737E03 1.87018E03 1.16303E03 6.93093E02 1.34244E02 7.20745E02 6.40270E01 4.69057E02 2.04283E03 1.36356E03 1.50552E03 1.30730E03 4.61396E03 3.36598E03 2.36795E01 6.53186E01 3.24477E03 9.14089E03 5.87855E03 1.65669E03 3.52166E03 4.72439E03 5.60160E03 4.30281E03 1.37169E03 1.76173E03 2.94329E03 1.29028E03 1.88424E02 7.77064E02 2.98440E03 1.28289E03 5.83173E01 3.17844E01 4.90944E01 1.67995E03 4.58936E03 1.64665E03 2.84964E03 4.40272E03 5.37905E03 5.87786E03 2.77800E03 5.46458E02 3.82309E02 3.52928E02 5.06895E01 1.60990E01 -Frame 257 3.42235E06 1.45867E06 7.37312E04 1.79726E03 9.33941E02 2.26954E02 7.27416E02 8.27213E02 1.25782E03 7.42879E02 3.83543E03 5.28321E03 2.25877E03 1.18007E03 1.91522E03 9.78948E02 6.43162E02 3.29942E03 8.33748E03 5.43082E03 6.36282E03 1.35970E04 1.71825E04 4.19316E03 1.07255E03 1.14687E04 1.45848E04 2.42667E03 4.69193E03 1.27949E04 5.67608E03 1.23776E03 1.46141E04 2.72360E04 1.64124E04 3.07067E03 5.90964E03 1.29275E04 4.18970E03 3.74872E03 4.33991E03 2.44845E03 7.42593E03 2.57178E04 1.89186E04 4.68452E03 8.99494E02 3.89765E03 1.16733E04 4.16348E03 1.30731E04 1.05828E04 2.77862E03 7.60527E03 8.29554E03 6.24505E03 6.60452E03 8.13634E03 6.52106E03 2.30937E03 1.58679E03 9.57702E03 4.96533E03 5.15622E03 1.29432E04 9.98829E03 1.06503E04 4.20765E03 9.31470E02 2.89026E02 4.56423E01 4.08395E01 5.31905E01 6.33383E02 2.28581E03 1.03555E03 4.36484E03 3.76739E03 1.16632E03 2.29185E03 3.08929E03 1.97302E02 2.78784E03 1.27983E04 1.28801E04 2.93326E03 1.93895E03 4.47228E03 1.07283E03 5.75854E03 6.24004E03 1.98939E03 8.98643E02 9.07215E02 1.29163E03 1.06580E03 6.14811E03 8.32539E03 2.16232E03 1.52083E02 8.37751E02 3.41840E02 2.53141E02 1.65450E03 2.89200E03 1.51458E03 5.27271E03 1.12890E04 5.73906E03 1.90839E03 2.39419E03 4.97459E03 8.22669E03 3.26265E03 8.85491E02 4.06121E03 1.51178E03 6.89521E03 4.57558E03 2.33586E03 1.71429E03 3.46257E02 8.47176E02 4.55026E02 8.84808E02 7.53865E02 2.27999E03 1.00498E03 4.23810E03 8.31301E03 4.14359E03 2.81394E03 1.95536E03 8.75099E02 1.32939E02 2.04088E03 2.05536E03 8.17950E03 1.52486E04 1.14967E04 2.95463E03 7.08394E01 1.07518E03 1.09408E03 1.82574E03 3.82521E03 1.44689E04 3.23831E04 2.73272E04 1.53915E04 6.37941E03 1.36604E03 1.48991E03 1.53255E03 4.29439E03 4.30207E03 3.53205E02 5.32775E03 8.76817E03 4.72163E03 5.84937E03 6.55262E03 1.59189E04 1.51372E04 5.17229E03 3.18590E03 3.26473E03 2.40647E03 6.59613E03 8.90963E03 7.22861E03 2.63473E03 3.15505E02 2.69967E02 2.23959E01 1.10675E03 6.75077E02 2.56423E02 1.09532E03 1.34926E03 1.04335E03 3.59434E03 4.29358E02 1.67582E03 3.42187E03 8.34937E03 4.64654E03 8.30359E02 2.72225E02 8.11785E02 2.09558E03 1.79053E03 3.78174E03 2.38803E03 1.07394E03 8.39483E03 3.57029E03 1.59113E03 4.51091E02 1.35723E03 1.02884E04 6.13845E03 1.62506E03 4.63193E03 1.08055E03 1.65641E03 3.65013E03 1.72328E03 9.14839E02 9.55284E02 1.52531E02 2.26885E02 1.74498E03 3.78031E03 6.33682E03 6.21046E03 6.05756E03 6.29175E03 3.55271E03 2.43937E03 2.14176E03 2.82406E03 3.22149E03 7.36617E02 4.20396E02 2.93818E03 8.64053E02 3.42008E03 6.09099E03 4.73800E02 5.23056E02 1.21393E02 3.49247E03 2.64949E03 1.06955E03 3.33413E03 3.46793E03 2.55007E03 1.12378E03 5.00817E02 6.21348E02 2.67410E02 9.16839E02 1.64077E03 6.23918E02 9.46141E02 4.60181E03 5.92144E03 2.42078E03 2.16375E03 2.03699E03 6.94983E02 6.57932E01 6.76430E01 3.64290E02 8.63558E02 8.94781E02 -Frame 257 3.66743E06 1.76960E06 1.40607E05 2.18519E03 1.25543E03 9.18730E02 7.33317E02 1.71044E03 1.14714E03 8.72862E02 6.46185E02 9.43954E02 1.58451E03 3.46924E03 8.20162E03 3.43251E03 9.39974E02 5.90324E02 1.19576E03 1.99276E03 1.45948E03 4.09471E02 3.20245E03 1.67547E03 5.92443E03 1.23470E04 4.21726E03 8.51429E01 3.15662E03 7.89735E03 2.17924E03 1.58973E03 1.22170E04 1.03750E04 3.40452E03 1.02489E04 1.65621E04 5.01449E03 1.90599E02 2.32584E02 1.30532E03 1.14495E03 1.44647E03 4.06905E03 2.02357E03 2.41082E02 5.66647E02 4.65643E03 2.04930E04 9.36447E03 4.44120E03 1.50255E04 6.53321E03 7.77998E03 1.81917E04 9.67885E03 2.98615E03 4.38431E02 2.64170E02 2.59255E03 4.46213E03 4.07959E03 1.09933E03 1.15181E03 6.55130E03 1.37287E03 1.44793E03 3.55417E03 3.69001E03 4.17793E03 3.57681E03 3.41885E03 2.86316E03 3.08692E03 9.44309E02 1.37878E03 9.88562E03 2.06195E04 1.61948E04 1.33446E04 6.31759E03 3.80498E02 2.47847E03 5.05628E03 6.55422E02 1.23035E03 1.50155E03 2.64710E03 6.22165E02 2.36512E03 5.77947E02 1.26854E03 1.95861E03 5.46735E03 9.21311E03 1.23616E04 1.96087E04 1.14291E04 3.22566E03 3.72428E02 5.69417E02 1.57652E02 2.97921E02 4.06829E01 4.49849E03 8.03079E03 2.28107E03 5.85904E01 1.14711E03 9.40161E02 1.39812E03 5.51526E03 7.63820E03 1.21577E03 7.30504E03 8.05213E03 2.41823E03 2.87048E03 1.12013E04 2.78347E03 4.24461E03 1.10682E04 9.83178E03 1.32347E04 1.64242E04 1.23406E04 5.16958E03 6.01985E03 5.55438E03 1.47134E02 2.53699E03 5.01287E03 1.33190E04 1.32215E04 5.42333E03 3.57217E02 2.35938E03 1.41430E03 2.10822E03 1.11554E03 9.26350E03 5.30435E03 3.20283E02 3.13939E03 8.35723E03 9.03724E03 1.26808E04 9.91001E02 1.57729E04 8.53927E03 2.47777E03 1.63591E04 1.53619E04 1.83545E04 2.60625E04 1.29235E04 1.64935E03 2.55352E03 4.53935E03 1.74292E03 1.82668E03 3.54320E03 2.29925E03 8.65991E02 7.58723E02 7.20715E03 5.30489E03 8.10053E02 8.68417E02 1.89122E03 3.66964E03 8.51491E03 6.83669E03 6.55340E03 6.11823E03 3.61885E03 5.93758E02 5.00980E01 5.76031E02 3.07547E03 7.31891E03 3.10143E03 3.02210E00 1.76191E02 7.07310E01 1.65879E03 2.71104E03 9.41779E02 1.83337E03 2.34807E03 3.46767E03 1.96033E03 1.90979E03 1.72925E03 1.58976E04 1.16152E04 2.06530E03 2.19501E03 5.32870E03 5.73144E03 3.26777E03 6.64083E02 8.29712E02 3.29049E03 1.16857E03 3.10926E01 4.38515E02 1.97970E03 2.20358E03 2.57505E03 2.55087E02 3.42715E02 9.18107E02 4.77449E02 1.82389E03 1.59087E03 2.23048E02 7.07394E02 1.07583E03 6.17159E02 1.60698E03 1.62850E03 9.92944E02 2.85804E02 4.71188E03 5.83330E03 3.21736E02 2.72841E03 3.09868E03 5.52713E02 7.38671E02 1.63896E03 3.30409E03 3.48934E03 3.17251E03 3.38151E03 1.69057E03 2.29602E03 1.95172E03 8.41238E02 6.00769E02 1.24604E02 2.61830E03 2.27992E03 4.46553E02 1.68705E03 1.02168E03 3.49835E03 2.99282E03 2.03953E02 3.01555E01 1.34968E02 5.18127E01 2.31332E01 7.47009E01 6.48771E02 2.13042E03 -Frame 257 1.43430E05 4.01579E05 1.13531E05 1.36715E04 9.44222E02 8.77377E02 1.02977E03 4.18672E03 2.32724E03 2.14649E03 2.79447E03 2.33129E03 8.23144E02 7.72634E03 3.44139E03 1.17140E03 1.75547E03 1.40486E03 4.48292E02 4.60316E03 1.29154E04 1.31790E03 5.82922E03 1.45218E04 1.37064E04 1.45090E03 1.05303E04 7.17343E03 3.85131E03 4.20846E03 1.27876E04 3.82598E03 1.02484E04 4.23101E04 2.00255E04 8.49588E03 2.54683E03 8.63197E03 4.90608E03 1.62500E04 1.21487E04 6.14633E03 7.03466E03 2.86324E03 1.36022E04 1.34961E04 2.97262E03 1.04011E04 4.38283E04 6.51723E03 2.60786E04 5.22904E04 9.43361E03 5.99947E03 2.58141E04 6.72794E02 1.75772E04 1.01752E04 3.26754E03 1.04193E04 1.55111E04 2.21005E04 1.05274E04 2.74204E04 2.51123E04 2.49858E03 1.54779E04 2.36375E04 3.72538E04 5.22057E02 2.64040E04 1.26409E04 1.66801E04 2.82759E04 1.12410E04 1.66940E04 1.33364E04 4.61457E04 2.94313E03 3.85108E04 1.81029E04 1.45100E04 3.25640E03 1.18952E04 2.82947E04 2.38576E04 2.60479E04 4.06317E04 2.65205E04 1.33879E04 3.29592E04 1.92417E04 5.20264E04 3.75150E04 1.66773E04 4.58546E03 4.25083E04 4.79880E04 3.23177E04 2.32540E04 5.05345E04 3.92644E04 4.12187E04 7.79400E04 4.92267E04 4.30017E04 5.04830E04 4.80860E04 4.38540E04 3.28556E04 3.35275E04 8.43596E04 5.49852E04 5.78777E04 1.24219E05 7.93069E04 7.87793E04 5.40137E04 1.32262E05 1.42101E05 3.64643E04 6.44313E04 5.71933E04 4.75362E04 4.39355E04 1.21674E05 8.97709E04 1.38222E05 8.78773E04 1.50377E05 1.08662E05 1.52537E05 1.87759E05 2.10243E05 2.24765E05 1.13431E05 1.79120E05 2.13478E05 1.42475E05 1.27917E05 1.85400E05 1.23556E05 2.46187E05 2.62413E05 3.67637E05 3.66595E05 4.88266E05 2.79675E05 3.65418E05 3.74304E05 1.92662E05 2.96485E05 2.17569E05 4.14635E05 2.42258E05 3.87255E05 2.12378E05 1.53825E05 9.76840E04 1.41258E05 1.55273E05 3.06420E05 3.89550E05 3.73591E05 3.84026E05 3.43956E05 2.00368E05 1.36980E05 3.64398E04 1.58374E04 8.86085E04 1.51247E05 2.37369E05 2.98471E05 2.55348E05 1.46682E05 1.17391E05 9.87558E04 6.49894E04 4.95553E04 8.02503E04 5.20025E04 2.93151E04 3.44113E04 1.98306E04 1.74579E04 4.40329E04 3.19731E04 6.70548E04 5.69687E04 2.87275E04 7.28014E04 7.43161E04 3.02855E04 5.32308E03 5.84355E04 2.55054E04 5.45356E04 7.54535E04 1.51813E04 1.01175E03 5.98311E03 9.31816E03 1.01442E04 5.53762E04 3.91332E04 2.11187E04 4.22539E04 6.42302E03 5.07074E03 2.98291E03 2.53505E04 6.95906E03 1.76709E04 4.66938E04 3.00882E04 5.05236E03 2.09996E03 5.06973E03 2.41349E03 2.34224E04 1.23635E04 2.74747E04 1.56865E04 1.60436E04 3.38431E04 2.51315E03 5.82206E03 9.11207E03 3.94143E03 1.24392E03 5.76283E02 9.32763E03 1.98586E04 2.86903E04 2.35642E04 1.38347E04 1.80564E04 8.81043E03 9.69089E03 4.13555E03 4.41406E03 3.43533E03 3.34528E03 4.80724E03 8.66572E03 2.81689E04 1.39549E04 1.81554E03 7.73418E03 4.50444E03 1.52985E03 2.64170E03 1.52979E03 3.39849E03 6.26110E03 6.72405E02 -Frame 257 1.27689E06 6.33602E05 5.99947E04 3.86645E03 2.30619E02 9.58140E02 9.76290E01 3.14572E03 4.41190E03 9.65856E03 2.68383E04 2.52921E04 2.18040E04 1.78861E04 2.00192E04 2.35363E04 2.55840E04 3.07290E04 2.13614E04 1.41120E04 2.53787E04 2.28649E04 2.78041E04 4.84860E04 4.76581E04 3.48381E04 3.10022E04 4.25648E04 5.04538E04 4.44838E04 4.64411E04 5.27580E04 6.34487E04 5.70912E04 5.65199E04 5.28843E04 3.77515E04 4.01444E04 5.07305E04 6.30027E04 9.77356E04 1.08057E05 1.16827E05 1.20174E05 6.37350E04 5.12091E04 7.15061E04 8.22531E04 8.23478E04 9.11113E04 1.08342E05 1.08644E05 9.17111E04 6.68432E04 1.34552E05 1.42869E05 9.29077E04 6.20381E04 4.39736E04 5.80352E04 6.75764E04 1.55921E05 1.97411E05 2.38902E05 2.75717E05 2.05247E05 1.84596E05 1.91440E05 1.65222E05 1.69712E05 1.30970E05 1.16139E05 1.74657E05 1.46130E05 1.49700E05 1.80481E05 2.38321E05 2.48803E05 1.43359E05 1.20220E05 1.91763E05 1.82250E05 8.88837E04 8.46688E04 9.95350E04 2.18483E05 2.88899E05 3.49343E05 4.54828E05 2.92421E05 3.10494E05 3.06525E05 2.39151E05 2.10600E05 1.84600E05 1.63670E05 8.23091E04 3.53864E05 6.28545E05 5.09182E05 2.62035E05 5.33523E05 9.17569E05 6.83702E05 4.22960E05 8.42373E05 8.58451E05 2.91778E05 1.59352E05 8.92504E04 1.03513E06 1.72898E06 1.40168E06 1.27449E06 7.47167E05 1.26776E05 6.17938E05 3.71537E06 5.57538E06 4.09571E06 1.68838E06 2.31396E05 5.19648E05 2.53019E06 4.94818E06 2.07825E06 1.34289E05 1.10921E06 5.52111E05 1.71784E06 3.06116E06 4.28378E06 3.06679E06 2.09580E06 6.90296E05 1.55632E06 4.32929E06 3.23998E06 5.67324E06 4.11343E06 1.60363E06 8.02154E06 1.42335E07 6.81614E06 5.70446E05 1.23596E07 1.60595E07 2.03045E07 2.00247E07 4.52211E06 3.70064E06 6.65013E06 1.86719E07 2.91457E07 2.90135E07 2.88367E07 4.03577E07 7.63182E07 6.29345E07 1.28324E07 2.13539E06 1.01053E07 4.07343E07 7.86450E07 1.08367E08 1.23332E08 8.55619E07 3.21173E07 8.78443E06 1.31253E06 8.91110E05 3.61038E06 9.04829E06 1.90848E07 2.13519E07 1.04457E07 2.05631E06 2.16982E06 9.30774E06 1.39191E07 5.71694E06 1.49542E06 3.17025E06 1.88812E06 1.30445E06 4.15939E06 9.69480E06 1.08038E07 8.47273E06 5.60058E06 3.18274E06 4.22777E06 3.91211E06 6.55046E05 3.20969E03 1.51561E05 3.85172E06 1.13878E07 1.10312E07 3.96938E06 2.24658E06 6.71896E06 1.17809E07 1.06705E07 8.01191E06 1.21709E07 1.28658E07 6.97458E06 3.08287E06 2.60091E06 3.29199E06 3.52781E06 5.29823E06 7.04216E06 4.21090E06 1.50933E05 7.75340E05 9.63856E05 3.11750E05 5.86731E04 1.93531E06 5.78872E06 7.79034E06 6.97022E06 3.28623E06 8.93540E04 1.88883E06 7.34846E06 1.46027E07 1.52627E07 9.88564E06 5.70339E06 3.36900E06 2.66801E06 5.00777E06 1.67863E07 2.48743E07 1.60198E07 8.95302E06 1.72498E07 3.67009E07 6.55218E07 9.06078E07 8.95230E07 6.08697E07 3.78077E07 5.18427E07 9.15592E07 1.08719E08 9.05721E07 6.08632E07 3.71609E07 2.79272E07 3.65028E07 4.33781E07 2.63847E07 1.10813E07 -Frame 257 3.73233E06 1.64676E06 1.62381E05 9.58132E03 8.15857E02 2.91105E03 3.14182E03 1.71233E03 5.73116E02 2.27468E02 3.68532E03 7.11846E03 1.96294E03 3.80175E03 5.62308E03 1.06136E04 7.17476E03 1.31771E04 6.10389E03 3.07079E03 1.01759E04 8.28451E03 6.36462E03 6.89649E03 8.36564E02 3.97410E03 3.21132E02 1.00301E03 1.54151E04 7.17261E03 3.63193E03 3.67694E03 9.19897E03 1.21533E04 7.76389E03 1.08030E03 1.48052E03 5.73119E03 1.63894E04 1.15078E04 1.59336E04 7.12730E01 2.36290E03 3.62060E04 3.57601E04 2.60252E04 5.28344E03 6.98461E03 1.56958E03 1.40667E04 1.83322E04 1.19219E04 1.84652E04 1.34721E04 2.99752E04 4.49859E04 2.51681E03 6.56592E03 1.62217E04 3.68342E04 2.95248E04 4.25195E04 2.12537E04 2.48503E04 1.63505E05 7.41486E04 6.74779E04 1.36296E05 9.20896E04 9.90913E04 8.05440E03 6.25834E03 1.07841E05 7.32920E04 5.96392E04 2.73132E04 8.95942E04 9.50034E03 3.10326E04 9.23087E04 2.03195E05 3.00420E04 8.79626E03 7.23699E04 1.31205E05 1.21659E05 2.03275E04 2.43253E04 2.96116E05 2.03233E05 1.98572E05 8.04648E04 1.35042E04 1.46515E03 4.86725E03 2.61647E03 1.63740E05 4.90647E05 4.37658E05 7.94599E04 4.35300E04 1.51316E05 5.20745E05 4.66067E05 2.14291E05 6.16719E05 2.18759E05 1.78772E05 2.65197E05 3.68268E05 1.28270E06 1.84996E06 9.12001E05 1.87038E06 1.23113E06 4.72754E05 3.06136E06 8.78169E06 2.79513E06 7.20037E05 2.42169E06 4.28361E05 4.68020E05 1.30959E06 2.45121E07 6.34148E07 6.73456E07 4.15000E07 2.09366E07 1.44747E07 1.38849E07 9.21628E06 2.35759E07 2.95419E07 4.60404E07 5.58927E07 3.96729E07 1.84970E07 9.75057E05 2.47790E07 3.16155E07 1.21040E06 7.56459E07 1.25743E08 5.02129E07 3.19650E05 5.26493E06 2.85009E05 3.21361E07 9.36732E07 1.03195E08 9.98386E07 1.88186E08 1.58213E08 6.43044E07 1.38626E08 2.40562E08 6.64554E08 7.52024E08 3.52741E08 1.46467E08 1.21807E08 1.10015E08 3.53074E06 6.54684E07 8.69472E07 1.50103E08 1.56149E08 9.56083E07 1.68626E07 1.81505E06 2.88094E07 7.92000E07 2.09067E08 1.09039E08 2.06688E07 3.27515E07 4.27765E07 8.61720E06 4.64497E07 1.07834E08 1.07645E08 6.99789E07 4.61552E07 6.12722E07 1.49438E08 2.35165E08 1.49372E08 1.39899E08 1.22570E08 1.56991E07 1.00147E07 5.23668E07 4.24701E07 3.16867E07 3.79558E07 8.06244E07 1.70950E08 1.75163E08 8.26909E07 4.35389E07 5.03234E07 7.00204E07 1.18715E08 1.04594E08 2.91852E07 2.22231E07 7.99263E07 8.28331E07 9.89123E07 9.57624E07 8.73795E07 2.72964E08 3.38303E08 1.67816E08 6.38671E07 3.60538E07 4.71439E07 9.64425E07 1.42154E08 1.69499E08 1.27001E08 4.76667E07 4.67372E07 1.07361E08 1.11772E08 1.11211E08 1.66720E08 2.79534E08 3.63268E08 2.46444E08 5.41215E07 2.63819E07 2.06005E07 5.02880E07 1.98225E08 1.31595E08 5.86133E06 4.46113E06 1.53370E06 8.27827E07 3.56014E08 4.65508E08 1.55767E08 1.58437E07 5.21686E07 1.12757E07 2.15436E08 5.00487E08 2.68328E08 8.56360E06 4.15691E07 4.33509E07 5.59679E07 3.88327E08 5.91121E08 5.83207E08 -Frame 257 2.28354E06 8.03353E05 2.78056E04 1.18989E04 3.63152E03 4.40318E03 3.08392E03 3.78726E03 8.45977E01 1.56373E03 8.77106E03 1.66667E03 2.94408E03 1.16227E04 2.00373E03 1.00705E04 4.07751E03 7.43231E03 1.42787E03 1.66312E03 3.12229E03 1.67215E03 1.17222E04 1.10719E03 3.11635E02 1.24538E03 4.59709E03 6.31328E03 2.30362E04 3.42154E04 5.17967E03 2.40518E03 1.31701E02 1.62360E04 4.29790E03 2.98865E03 9.56452E03 1.42215E04 6.74467E03 2.61162E04 2.65151E04 7.05420E03 2.98892E04 3.49655E04 2.01298E03 5.07645E04 3.17405E04 1.32864E04 1.67599E04 1.19125E04 3.74238E04 4.77854E04 5.07496E03 1.08453E04 1.58032E04 8.90645E03 2.73359E04 1.38151E04 4.82347E04 8.30828E04 3.73693E04 8.55663E02 3.28565E04 1.17118E05 7.63080E04 8.19147E02 4.41377E04 5.19453E04 3.75176E05 8.15542E04 4.53573E04 1.22565E05 2.26834E05 5.70091E04 8.98299E04 1.36243E04 7.39243E04 1.17209E05 3.55541E03 5.72333E04 3.03419E05 4.82172E05 1.28670E05 1.26093E05 1.31759E06 1.86145E06 9.23173E05 6.42962E04 3.99780E04 5.97692E05 3.52721E05 4.05478E04 6.12148E04 3.73319E03 5.74544E04 5.30815E04 1.72080E04 3.45601E05 2.24757E04 6.54951E04 1.24119E05 2.71634E04 7.80684E04 1.45191E05 3.08807E05 5.17834E05 6.41752E04 8.78630E05 2.09204E06 7.13999E05 8.56473E05 2.27917E06 1.48897E06 7.95017E06 1.05894E07 1.72475E06 1.54648E06 1.39537E07 1.52620E07 1.41422E06 2.84348E06 3.54652E06 2.23212E05 7.42677E06 2.83353E07 5.73197E06 2.14825E08 2.74205E08 1.83315E07 1.27996E08 1.60097E08 2.23931E07 8.36270E07 7.77590E07 4.63906E06 5.35279E07 1.08168E08 2.60664E07 7.88890E07 1.33192E08 8.64613E07 6.24980E07 2.51436E07 1.04557E08 3.16233E08 3.20628E08 1.80423E08 1.22649E08 1.66849E08 9.89591E07 4.17964E07 2.60734E08 2.29481E08 9.66754E07 3.99967E08 2.14460E08 9.34519E07 1.19491E08 2.31950E08 1.72546E08 1.63315E07 1.00107E07 1.25043E08 2.92726E08 2.06264E08 1.56480E08 1.14908E08 1.12960E08 1.08349E08 2.30824E07 3.83463E05 6.94116E07 3.22449E08 4.73242E08 4.05562E08 1.43197E08 2.80200E07 5.47854E07 1.11337E08 9.62289E07 2.92152E06 5.57950E07 4.63857E07 4.60873E07 1.78423E07 9.27698E07 2.58074E08 1.65665E08 2.43119E08 2.42644E08 6.18978E07 8.58181E06 1.21484E08 2.65185E08 3.48527E08 2.14100E08 1.04674E08 4.31429E07 1.53160E07 1.33133E08 5.16482E07 4.36499E07 3.01046E07 4.21597E07 2.72748E07 1.39057E07 3.26769E06 8.83548E07 2.56369E08 3.70237E08 2.16017E08 1.16058E08 2.70672E08 4.72854E08 1.77321E08 4.01979E06 3.34247E07 4.17956E07 4.83586E07 1.15771E08 1.38746E08 7.03733E07 3.19807E06 1.18866E08 2.18518E08 5.04165E07 6.52222E07 5.47508E07 1.37820E08 1.97893E08 1.95978E07 3.13749E08 2.55383E08 1.07567E08 1.18679E08 3.07901E08 1.90704E08 4.04419E06 1.37234E07 1.66671E07 2.05767E06 6.85837E07 7.80856E07 5.09462E07 3.72116E07 3.45316E07 4.79893E07 2.49370E06 1.08343E08 1.38921E08 3.92956E07 1.96018E06 7.77340E07 2.58491E08 1.91050E08 3.12163E06 6.41417E07 -Frame 257 8.33795E05 1.89097E05 6.23226E04 1.48146E04 3.19693E04 1.57596E04 3.22740E03 1.68684E04 2.97008E04 2.01581E04 1.37340E03 2.99081E03 2.25407E04 1.81232E04 2.27850E04 1.27865E03 1.90988E03 1.90367E03 1.04223E04 1.01722E04 2.18981E04 1.77518E04 2.08701E04 2.95718E04 1.19262E04 9.61909E03 3.44073E03 1.84439E04 5.27678E03 2.65173E04 5.94536E04 1.87119E04 9.05247E03 4.30079E04 8.49817E03 4.33863E03 2.54726E03 3.04981E04 1.50665E04 2.19387E03 2.66076E04 3.56903E04 6.55018E04 1.33175E05 1.35537E05 6.30922E04 4.04476E04 1.03359E03 8.35744E04 1.07586E05 6.00035E04 1.04069E05 1.14161E05 1.94571E05 1.11606E05 1.45927E04 6.18347E04 5.09004E04 1.80733E04 4.62669E04 4.16324E04 1.46608E04 2.05057E05 7.05571E04 4.91222E04 2.02845E05 6.21014E05 1.88356E05 1.17280E06 1.38912E06 1.62375E05 1.72966E04 2.20379E05 8.14799E05 5.67254E05 2.35874E05 1.01126E05 2.59697E05 7.53571E04 4.16553E04 3.33927E02 1.04355E06 2.21686E06 5.22334E05 1.32665E06 1.31940E06 6.55660E05 6.57252E05 9.26073E05 1.41966E05 5.64196E05 1.00409E06 9.48121E05 8.97984E05 8.57937E04 1.30763E05 1.29191E05 1.06145E06 8.51045E05 6.51808E05 8.04860E05 7.00866E05 6.65390E04 3.91657E05 3.30699E06 1.02763E07 1.12540E07 5.83229E06 9.09730E06 1.41296E07 2.13065E07 1.96471E07 7.14413E06 3.98876E07 6.18073E07 2.08413E07 1.21186E07 4.46768E07 6.01824E07 1.44275E07 4.55529E07 6.94095E07 5.57233E07 8.51851E06 1.31086E07 1.00072E08 3.38817E08 4.73869E08 2.39089E08 1.14351E08 2.50403E08 2.51642E08 1.49363E08 5.12153E07 1.08300E07 4.54218E07 1.95934E08 2.78288E08 3.24739E08 1.58812E08 9.96248E07 6.83284E07 4.38435E07 8.15948E07 1.02109E08 5.96010E07 1.39767E08 1.23113E08 6.01227E07 1.23777E06 8.74966E07 1.14997E07 9.33015E07 3.87994E08 6.33804E08 2.26236E08 3.66425E06 1.68140E07 9.31527E06 2.54411E07 4.68784E07 2.08075E07 1.47892E08 3.41021E08 1.13094E08 1.84005E08 4.12994E08 1.25293E08 1.41089E06 1.35229E07 2.70485E06 5.37266E07 1.06723E08 9.58655E06 6.31157E07 6.94860E07 7.41081E06 2.60010E07 9.19495E07 5.26961E07 7.82798E06 1.14815E08 1.18540E08 2.50345E07 2.13578E07 5.56902E07 1.46825E08 1.26844E08 4.81406E07 1.31215E08 2.35384E08 4.91591E07 8.83462E06 1.44935E07 1.42031E07 6.92239E07 5.96521E07 5.39199E07 7.82278E06 1.12788E08 1.29037E08 1.76008E08 6.24468E07 1.59654E07 7.01781E07 1.28693E08 5.16208E07 5.30547E07 6.63127E07 1.37345E08 1.68696E08 1.39583E07 2.34843E06 9.30356E07 6.32511E07 7.01059E06 1.47633E06 1.21922E07 1.22575E07 6.19032E06 9.84186E06 2.17271E06 1.45137E07 2.59139E07 2.76863E07 1.27496E08 2.04055E07 3.03376E07 7.98168E07 2.95370E08 4.33079E08 1.56258E08 2.80661E06 7.92092E07 1.97727E08 3.42054E08 4.71501E07 1.93378E07 2.68482E07 3.48255E07 6.76588E06 3.07824E07 3.06864E07 2.85312E07 1.31256E07 4.01390E06 4.17565E06 4.36631E07 9.63825E07 3.31604E07 3.76021E07 3.35090E07 3.21992E07 1.37831E08 1.99549E07 2.22754E07 2.70276E07 -Frame 257 1.34665E06 1.39226E06 1.03026E06 2.10702E05 3.72812E03 6.67467E03 2.47347E04 4.23379E04 1.02884E05 3.68853E04 1.95677E03 1.15062E04 2.55986E04 2.08397E04 3.33381E03 6.52169E02 6.73521E03 4.43753E04 3.49685E04 4.36154E04 1.89976E03 8.19703E03 1.27910E04 9.91858E04 1.52635E05 5.73931E04 1.61435E04 3.05871E04 1.73467E04 1.28616E05 2.05441E05 1.13569E05 1.56217E05 3.31308E04 7.83990E04 1.10871E05 1.82497E05 2.56481E05 1.38646E05 1.23339E04 6.87686E03 1.71692E04 2.85616E04 1.28820E05 6.35329E04 4.06984E04 2.52887E03 6.83169E04 1.02177E03 7.70946E04 1.54894E05 1.20788E05 4.53330E04 4.62957E04 2.90971E05 1.49582E05 1.75184E05 2.02851E05 2.46986E03 1.34395E04 2.99130E04 1.65199E05 8.75647E05 1.28524E06 2.25024E06 6.03310E06 9.90917E06 6.31185E06 3.21974E06 9.93293E05 6.41899E05 1.54594E06 3.63993E06 4.29769E06 7.25301E05 9.23665E04 4.58034E05 6.93693E05 6.94755E03 3.83633E05 4.69772E05 5.21203E06 1.92912E07 2.18185E07 1.26559E07 1.91046E07 3.95512E07 4.20938E07 1.55852E07 1.41703E06 4.55193E05 1.34920E06 5.67977E05 3.63706E06 1.03754E06 7.21699E05 2.13032E06 3.50170E06 1.86235E06 2.66876E06 1.14308E06 1.07686E05 1.24797E06 2.69348E06 5.01470E06 6.74131E06 1.84631E06 3.11682E06 1.23979E07 3.47897E07 2.72483E07 6.62135E06 2.32682E07 4.31979E07 9.74894E07 3.41873E07 2.77970E07 8.43592E07 3.98964E08 3.77335E08 3.90415E07 1.11265E08 3.42595E07 2.58444E07 1.75004E06 3.99299E07 5.97838E05 1.25521E08 2.17210E08 1.27447E08 9.21737E06 7.19018E07 7.18638E07 6.55844E06 8.30314E05 3.93771E07 1.23031E08 3.02011E07 1.36716E08 3.41516E08 2.30269E08 1.24208E08 1.23324E07 4.03467E07 4.61131E07 1.11040E08 8.48067E07 2.41440E07 1.11810E07 4.19552E07 1.33859E08 5.55480E07 1.14481E07 1.33550E08 7.58180E07 1.84959E08 1.83194E08 2.59476E07 1.94978E07 6.36122E07 6.96463E07 2.55527E07 7.75664E06 1.06923E08 3.86206E07 1.40799E08 3.77183E08 1.41898E08 4.67531E07 7.94557E07 7.35456E07 3.19639E06 1.21490E08 1.34433E08 6.12327E07 8.92575E07 9.96932E07 1.26439E08 1.36042E08 7.17929E07 1.44361E05 6.55824E07 4.99919E07 1.19723E07 1.64834E07 5.67374E07 6.68232E07 4.50878E07 1.06148E08 1.62333E08 8.83721E07 1.09832E07 3.76113E07 2.59614E07 1.02686E07 4.41088E07 1.54501E08 2.15114E08 8.69764E07 2.39569E07 3.95040E07 1.04188E08 1.28299E08 5.80910E07 4.23730E07 1.97805E08 3.09788E08 1.32639E08 1.33755E08 2.06006E08 1.56173E08 8.90432E07 4.83643E06 4.54112E07 1.12066E08 9.70805E07 9.37695E07 4.45061E07 2.73544E06 4.55809E07 8.82058E07 9.29609E07 8.61491E07 9.45881E07 9.12981E07 9.07479E07 4.19535E07 5.27921E06 5.27079E06 7.17441E07 1.97671E08 7.61736E07 2.14725E05 3.03644E07 1.92703E08 3.61843E08 2.67021E08 9.91675E07 6.50612E07 1.15149E08 1.50249E08 6.17028E07 4.08847E07 7.34462E07 6.18266E07 7.84848E07 5.54829E07 1.02453E08 1.16641E08 1.15519E07 3.08665E07 2.21132E07 7.55919E07 3.45083E08 3.28869E08 1.19525E08 4.95108E07 -Frame 257 5.50832E06 6.25116E06 2.22420E06 2.10356E05 3.75797E04 5.53047E04 6.09715E04 6.79047E04 7.64999E04 1.23545E04 7.55912E03 8.07950E04 1.80984E05 1.08554E05 6.29729E03 5.84506E04 8.76581E04 1.86605E05 2.11018E05 1.64417E05 4.06927E04 5.93784E04 1.32309E05 9.36020E04 1.47431E05 9.01196E04 1.84148E05 2.19752E05 1.44385E05 6.03431E03 4.17677E04 3.48442E04 5.34205E04 8.58164E04 7.60759E04 9.60404E04 2.75719E05 1.89581E05 7.25842E04 6.29726E04 4.82312E04 3.83253E04 6.06993E04 1.67303E05 7.77922E04 3.55833E04 9.79017E04 1.07256E05 1.03310E05 1.66580E05 6.70099E04 1.31152E04 1.63547E05 6.54786E04 2.65442E05 6.70673E04 1.71991E04 3.29335E05 3.14781E05 2.90908E05 1.75457E05 1.78007E05 1.19113E05 9.68586E05 2.16484E05 3.63985E06 9.28088E06 9.18747E06 2.90441E06 9.72998E05 3.14660E05 5.27122E05 2.25968E06 2.37742E06 1.18895E06 1.05462E05 1.37888E06 5.75794E05 3.28658E06 1.07753E07 1.02612E07 5.26867E06 4.85031E06 1.54352E07 1.42038E07 3.18274E07 8.43753E07 5.99235E07 1.54230E07 6.95264E06 9.71517E06 2.63418E06 8.33853E05 7.11030E06 2.50320E07 3.33241E07 1.90119E07 4.35963E06 2.16471E06 1.43104E06 7.59759E04 9.02084E05 1.78320E05 1.86956E06 2.39323E06 5.63416E06 6.93582E06 4.03279E06 6.85918E06 2.01657E06 4.04344E06 1.19364E07 1.36094E07 2.81480E07 6.04489E07 2.26661E07 1.85031E08 2.68845E08 1.43193E08 5.18845E08 4.31598E08 2.50306E08 2.00521E08 9.46805E07 2.11843E07 1.10037E08 1.05279E08 8.29121E06 8.27661E07 1.50517E08 5.29389E07 1.34269E07 4.88933E07 7.85290E07 4.77787E07 1.03057E07 3.92482E07 8.12217E07 7.33447E07 3.79237E07 1.86330E07 6.79045E07 1.42214E08 8.74379E07 6.42791E07 9.29374E07 5.15866E07 7.24534E06 2.63556E07 8.39770E07 1.35039E08 9.53259E07 8.12617E06 2.82097E07 1.17080E08 1.23975E08 5.35379E07 3.53324E07 1.07989E07 3.86683E05 2.06084E07 5.34018E07 3.78657E07 2.09401E07 1.74857E07 1.23766E08 1.89003E08 1.97915E07 2.59184E07 1.22565E07 2.31857E07 1.27805E08 2.24497E08 2.23074E08 4.93131E07 6.49588E06 2.36318E06 3.74341E06 5.69113E05 7.30446E06 4.84788E07 3.45166E07 2.01384E07 1.38555E07 1.29619E07 2.40980E07 6.23225E07 5.26320E07 3.45426E07 4.97335E07 1.86480E07 9.13163E06 1.17978E07 1.75899E05 1.33032E07 7.83880E06 4.52839E06 4.65735E07 5.18501E07 3.69970E07 4.07165E07 7.91002E06 4.29277E07 3.46910E07 5.14788E06 7.30855E07 1.13408E08 7.37654E07 6.54276E07 3.26464E07 2.22247E07 1.96210E06 5.14025E07 1.23378E08 5.08717E07 2.01367E07 9.46350E07 4.57533E07 4.34991E06 7.68003E06 6.91914E06 1.33351E07 4.37244E07 3.25231E07 6.08412E06 9.89331E06 1.79215E06 3.80731E06 3.71928E06 2.38399E07 3.50364E07 2.42352E07 1.02411E07 5.92974E06 1.11022E07 1.40363E07 1.13744E07 1.97200E07 2.59731E06 2.53146E07 7.35015E06 2.86634E07 6.40050E07 8.30595E07 5.76193E07 5.52277E07 7.26944E06 1.97043E07 3.16117E07 2.72660E07 2.44730E07 3.25588E07 3.60534E07 1.04062E08 7.25153E07 2.66752E07 1.03060E07 -Frame 257 1.36680E07 8.64855E06 1.26957E06 7.36955E04 3.56422E04 1.66733E05 3.53214E04 4.32169E03 2.10616E04 9.10269E03 3.42987E04 2.79673E05 2.88986E05 1.04253E05 2.91534E05 1.74127E05 3.31726E04 1.34308E04 1.62543E05 1.55273E05 3.75386E04 3.91125E04 1.81968E03 3.25812E04 1.06379E05 2.80370E04 2.02344E05 4.15854E05 8.86474E04 1.10368E05 1.67031E05 2.43935E04 2.41121E03 7.49391E04 1.07025E05 1.01748E05 5.40142E03 3.88242E04 7.58034E04 8.81209E04 2.02226E04 3.34725E04 3.29049E03 1.22569E04 4.30485E04 1.40640E05 6.90272E04 4.65492E04 3.10375E04 2.08086E04 3.65759E04 1.42520E05 1.39167E05 8.91874E04 3.30760E05 1.07333E06 9.38850E05 4.50249E05 1.60279E05 5.30696E05 2.16875E06 2.45436E06 1.88278E06 7.27565E05 4.99343E06 1.71782E07 1.48992E07 1.46241E07 7.49073E06 6.70367E06 4.43877E06 3.82792E06 2.71017E06 1.98507E06 2.55999E06 1.46723E06 5.06738E05 4.74623E06 5.00351E07 7.83394E07 2.13849E07 5.33064E06 2.13736E07 5.00213E07 4.22696E07 8.32598E07 3.50314E07 7.10675E06 1.23255E07 1.49925E07 1.35358E07 1.68664E06 2.06014E06 1.48596E06 7.47840E06 1.68185E07 2.42750E07 9.78610E06 4.99794E06 4.10471E05 1.65154E05 3.13160E06 2.43257E06 1.24632E06 1.03030E06 1.68940E06 7.29029E06 8.24194E06 3.48513E06 1.53611E06 4.36859E06 8.28598E05 2.23427E06 7.32524E06 3.63056E07 1.14523E08 1.91399E08 8.57998E07 8.58800E07 1.89894E08 1.36938E08 9.89863E07 1.26776E08 1.21094E08 1.26684E08 1.08370E08 5.94138E07 2.41558E05 3.78492E07 5.86687E07 2.01533E07 2.59087E07 3.38408E07 6.70914E06 3.06958E07 3.21108E07 4.26205E06 7.09798E05 1.63323E06 4.18365E06 3.56116E06 2.61807E07 4.18099E07 1.19930E08 1.35853E08 1.01505E08 8.31266E07 7.52322E07 2.84355E07 3.16962E07 9.72429E04 1.68339E07 3.70637E05 5.87395E07 4.96846E07 3.97594E06 1.92766E07 2.23772E07 2.73271E07 2.22435E07 5.44586E07 1.62532E07 1.50620E07 1.11251E07 2.04358E07 4.46573E07 4.60062E07 4.09553E07 1.10165E07 1.18191E07 8.70088E06 2.20466E07 3.14901E07 4.56745E07 1.00313E08 2.79075E07 4.99178E06 1.89434E07 2.10814E07 2.81536E07 2.35213E07 1.99653E07 1.67557E07 1.20686E07 3.51876E06 5.13713E06 3.25702E07 4.61568E07 7.99681E06 2.54356E07 3.99482E07 2.68961E07 7.52186E06 6.63027E05 2.72512E06 1.60090E06 9.62468E05 2.05868E05 9.93691E06 6.40669E06 1.44473E07 8.51431E06 8.83518E06 3.63625E07 6.62254E07 5.28622E07 9.13048E06 2.81146E06 3.07304E06 2.80630E07 4.57298E07 5.17836E07 1.77503E07 1.65865E07 9.36396E07 5.81860E07 2.92665E06 1.09822E07 1.83735E07 7.86674E06 1.87196E06 2.54204E06 1.59632E04 7.31310E06 8.61092E06 1.35206E07 2.49764E07 3.03993E07 1.17710E07 1.65091E05 1.32807E06 7.97146E04 2.40868E06 4.49658E06 4.37990E06 8.86813E06 1.20445E07 3.54317E06 4.77022E06 1.57646E07 7.97134E06 7.46778E06 3.57386E07 8.91497E07 4.07426E07 1.60581E06 2.40778E07 3.76703E07 1.81003E07 5.95847E06 3.17118E06 4.92310E06 9.12128E06 1.10981E07 2.33292E07 5.18669E07 7.61801E07 -Frame 257 2.84914E06 5.99574E06 2.31981E06 3.00095E05 2.16434E04 1.67974E05 1.49744E05 5.97188E04 1.10214E05 1.08266E05 3.68522E05 5.18810E05 2.13424E05 2.00604E05 1.67736E05 5.72722E04 2.01522E04 1.29227E05 1.92566E05 7.20881E04 1.41726E04 5.22670E04 2.18685E04 4.18477E03 2.53756E05 4.93543E05 6.35243E05 4.54031E05 9.62908E04 2.13801E04 3.73345E04 1.95898E05 2.00701E05 3.45089E05 3.36647E05 2.19098E05 8.65372E04 1.03523E04 5.73842E04 4.98868E04 5.17626E03 2.72902E04 5.20612E04 1.05160E04 1.76886E04 5.29442E03 2.76388E04 1.96004E04 2.30759E04 3.02255E04 3.05026E04 8.41983E02 1.73071E05 1.39920E05 2.51652E05 5.50124E05 1.18309E06 9.08620E05 1.05536E06 7.56517E05 9.45425E05 1.50841E06 1.30140E06 9.96421E06 7.35182E06 3.47577E06 5.39422E07 5.48159E07 1.26985E07 2.69107E06 8.71177E05 7.18217E05 4.63993E05 3.49216E05 7.52758E05 2.38711E06 4.94520E06 7.52932E06 7.64226E07 3.07676E08 1.75275E08 4.71651E07 1.83667E06 6.00783E07 1.26617E08 6.79959E07 2.45072E07 5.54924E06 5.34565E06 1.55015E07 2.03316E07 2.90826E06 4.70507E06 6.02442E06 4.61712E06 6.06840E06 1.26311E07 1.26673E07 8.78889E06 3.05405E06 2.40068E06 5.26317E06 4.17742E06 2.10677E06 3.81713E06 3.29856E06 3.77886E05 1.04613E07 1.59836E07 1.10325E07 1.57215E07 3.10682E07 3.47917E07 1.24591E07 7.08509E06 1.85195E07 4.98094E07 5.05631E07 4.19991E07 2.86522E07 1.63492E06 5.50254E07 4.85186E07 4.64240E07 6.00048E07 1.85991E07 3.32265E07 3.00661E07 1.84475E06 1.61818E07 1.96088E07 1.67021E07 1.09287E07 9.24580E06 1.98470E07 9.81713E06 2.43878E06 8.59058E06 2.65509E07 1.92475E07 1.14363E05 1.66259E07 3.87726E07 6.11933E07 5.56482E07 2.17751E07 3.80091E07 5.98728E07 4.92434E07 4.08991E07 1.27439E07 3.29364E06 3.56044E07 5.07063E07 1.73119E07 9.86388E06 8.79414E06 5.81296E06 4.97099E05 2.78705E07 8.56798E07 9.02111E07 6.30684E07 2.04437E07 4.71203E06 3.81828E06 1.26825E06 2.42816E06 7.42600E06 4.79475E06 9.45423E06 5.22432E07 1.14870E08 1.03080E08 2.15475E07 3.11245E06 1.82786E07 2.80533E07 4.56951E07 1.77637E07 1.04914E06 1.09336E07 2.20752E07 4.65647E06 1.27536E07 1.60993E07 6.18953E06 3.95669E04 1.06045E07 2.32055E07 8.89765E06 2.72228E06 1.42012E07 7.98197E06 4.37615E06 6.55019E06 1.47714E07 2.16051E07 3.19947E07 2.54977E07 5.87867E06 1.58372E06 8.09395E06 2.20332E06 4.49226E06 3.35751E06 2.33740E06 9.64763E06 2.31171E06 6.39349E05 1.75403E05 6.15433E06 2.38542E07 2.14308E07 6.85449E06 5.06557E06 3.25197E06 2.10309E06 1.51100E06 7.18797E06 5.98219E06 3.66199E06 2.70275E06 1.25082E06 8.05643E05 2.84409E06 3.93900E06 4.18084E06 1.38756E07 9.59679E06 2.21960E06 1.12561E06 3.24029E06 3.42035E06 2.46808E06 1.78049E06 6.08346E04 5.19506E06 1.57513E07 1.09848E07 1.77768E06 9.05990E05 9.93090E06 2.39977E07 1.43271E07 1.52756E06 7.98278E06 1.47392E07 9.29375E06 2.09694E06 3.66959E05 2.51840E06 4.56968E06 2.43441E06 2.77689E06 1.12754E07 2.37552E07 -Frame 257 1.21077E07 1.13500E07 3.24569E06 1.57866E06 2.40051E05 5.12052E05 2.96173E05 2.28567E05 2.07082E05 5.03453E04 1.99516E05 2.15102E05 6.86089E04 6.30331E04 3.80280E03 1.21308E05 4.34385E04 8.50440E03 1.68019E05 1.46851E05 9.47881E03 2.30723E03 3.71298E04 1.09023E05 1.41579E05 9.39326E03 1.02292E05 1.29869E05 4.65940E02 6.83383E03 1.50546E04 4.74776E04 2.63251E04 3.69196E04 1.06588E03 3.70438E04 1.10313E04 3.73770E04 1.63640E04 2.24835E04 1.01466E04 1.73201E04 5.33547E04 4.36414E04 9.83675E03 3.47375E04 2.23736E03 1.52412E04 1.03516E05 2.49520E05 2.59115E05 1.23444E04 1.88994E05 1.96908E05 1.06337E06 1.25891E06 1.13447E05 5.86369E05 7.23371E05 1.16911E06 8.70570E05 1.30759E06 1.09126E07 1.09151E07 1.64896E06 6.72128E06 3.69518E07 4.33682E07 1.49752E07 5.66113E06 5.30221E06 4.48940E06 1.79279E06 4.23141E06 9.55519E06 8.71246E06 2.60381E07 7.34061E07 2.11702E08 4.31682E08 3.01263E08 6.40601E07 2.01042E07 1.53581E07 1.27133E07 4.56669E06 3.69404E06 1.01967E07 1.70265E07 1.49690E07 8.70808E06 9.14838E06 7.80419E06 2.09230E06 8.46968E05 1.84167E06 9.77209E04 3.32011E05 3.61272E05 1.72672E06 1.49219E06 3.34426E05 1.67664E06 9.80371E05 4.31985E06 4.71015E06 3.15852E06 2.72422E06 9.19926E05 2.09291E06 2.17945E06 1.29941E07 1.87414E07 4.42281E06 4.32324E06 2.67134E06 5.97140E05 5.06561E06 1.95029E05 2.08349E06 4.56995E06 1.36392E07 3.84148E06 2.77235E06 1.81914E06 1.03445E07 1.33804E07 3.46617E06 5.54208E06 6.14191E06 1.00902E06 6.10880E04 7.89822E04 7.08213E05 3.65353E06 4.34801E06 5.97174E06 1.68694E07 1.50426E07 1.05421E07 1.54936E07 1.09841E07 9.27063E06 3.71077E06 1.80278E06 8.00725E06 4.50135E06 9.51445E05 6.86927E06 9.92423E06 3.08127E06 4.12815E06 1.29229E07 5.11762E06 4.37394E06 4.93702E06 6.05071E06 5.58451E06 8.95965E06 8.56616E06 2.25502E06 1.67952E06 2.91204E06 7.08437E05 1.43770E06 4.07756E05 4.78862E05 9.27399E05 2.74099E06 3.77926E06 5.89016E06 6.01460E06 2.77641E06 7.44934E06 4.94561E06 7.31908E06 6.38286E06 1.51346E06 7.45876E06 1.73397E07 9.81636E06 1.37386E07 2.20589E07 9.50279E06 1.57270E06 3.75732E05 6.05719E04 4.99770E05 1.90701E06 3.14114E06 3.24524E06 2.07817E06 3.38705E06 1.75623E06 1.42168E06 3.13207E06 3.77631E06 1.08635E06 4.06410E05 1.90402E06 2.74245E06 2.91007E06 5.24734E06 5.18882E06 2.78179E06 2.67611E06 3.69621E06 5.23149E06 4.74369E06 2.54481E06 1.51719E06 4.78957E05 3.61597E06 1.53052E06 5.35433E05 1.13593E06 1.25014E06 8.02537E05 7.01729E04 7.13808E05 3.68411E05 2.54439E05 1.66755E05 9.03360E04 6.77340E04 5.28546E05 8.86687E05 7.01133E05 1.43020E06 3.68303E06 1.61800E06 3.43277E05 9.31581E04 1.58579E06 2.23196E06 9.76340E05 2.24667E05 2.71564E06 6.80805E06 3.38222E06 2.66199E05 2.51490E05 2.93738E05 1.11061E06 3.16356E04 1.39076E06 9.88061E05 4.45867E05 9.19083E05 2.54901E05 1.17097E05 3.54555E05 3.26047E05 3.13366E05 4.71603E05 6.59840E05 1.96555E05 -Frame 257 3.64836E07 4.15838E07 1.93577E07 3.07561E06 3.27794E05 1.72002E06 3.82175E06 1.63688E06 1.07736E05 9.60529E05 2.80464E06 2.42500E06 1.20008E06 2.23984E04 3.65380E05 2.57978E04 2.30005E05 2.11831E05 2.85682E04 1.48762E05 4.85686E03 6.42786E04 1.21493E05 4.48348E04 3.53863E04 1.37784E04 3.27488E04 4.33894E04 1.24575E04 2.89839E04 8.32015E03 6.13094E04 1.70528E05 3.35513E04 2.13256E04 3.82791E04 2.05609E04 9.64613E04 1.07366E05 6.57213E04 5.33603E04 3.49725E05 6.26520E05 1.78729E05 3.94537E05 1.34198E06 9.76327E05 2.30983E05 5.15668E05 2.31531E06 5.52320E05 2.21297E06 9.20200E06 1.23287E07 5.02396E06 4.26891E06 4.64655E06 1.96233E06 3.84836E05 8.95785E05 3.40242E06 1.55804E06 6.39511E06 3.92718E06 2.66774E05 4.91454E05 5.24338E06 3.85796E06 7.68159E05 5.44508E06 7.24279E06 1.60559E06 3.88871E06 4.44864E06 2.14081E06 1.13411E07 2.04340E07 2.10487E07 1.59879E06 4.54540E07 3.70413E07 6.08928E06 1.20771E06 8.07691E05 1.92598E05 4.29458E05 3.29239E05 1.58803E06 2.01820E06 2.31865E06 1.16060E06 6.89146E05 7.72041E05 4.08571E05 5.86869E05 7.03675E05 1.10845E06 3.96921E05 4.85333E04 3.38950E05 8.93628E05 1.09335E06 9.75162E05 2.78797E05 1.54324E05 5.78546E05 3.68011E05 3.36782E05 2.90285E05 2.35901E05 1.81156E06 1.48309E05 2.47501E06 6.03135E06 5.51699E06 4.33948E06 3.80482E06 2.42328E06 5.64291E05 4.33036E05 2.36011E05 8.09969E05 3.46990E06 4.53150E06 3.30237E06 1.93389E06 8.56265E05 1.12012E05 5.43871E05 2.09073E06 1.96000E06 9.17130E05 2.35175E05 4.91026E05 3.27207E05 8.01320E04 7.73795E05 2.74750E06 3.27371E06 2.34860E06 5.32064E05 6.46374E05 2.40595E06 3.49746E06 1.77892E06 4.47674E06 4.80261E06 2.75595E06 1.02584E06 8.21878E05 7.99473E05 1.78137E06 2.99889E06 3.07504E06 2.77187E06 1.24939E06 5.76941E04 5.05947E05 7.34131E05 3.60470E05 8.16252E05 1.05218E06 7.57759E05 1.37331E06 1.57564E06 7.71628E05 4.01500E05 2.82513E05 1.66316E05 6.21725E05 1.27806E05 3.16932E04 1.19340E05 5.94349E05 8.59734E05 1.68307E06 1.55182E06 5.75806E05 1.66304E06 5.69776E06 1.81119E06 1.26802E06 3.77708E06 4.36337E05 1.34151E05 5.78452E04 9.68622E04 2.74081E05 2.45006E05 8.76651E04 3.49463E05 9.14810E05 6.66525E05 1.67030E05 1.06843E05 3.62635E05 8.40314E04 2.23661E05 7.83067E05 9.59832E05 5.67863E05 1.38552E05 3.84511E05 8.29044E05 1.90838E05 2.14742E05 1.98643E05 1.00671E05 4.31819E05 4.88306E05 2.67616E05 7.89120E05 7.92427E05 4.16444E05 2.09503E05 2.79390E05 4.23555E05 9.69330E05 4.63597E05 1.98350E04 3.60976E04 8.65441E04 5.47710E04 3.69483E05 1.56061E05 2.70741E05 1.27355E05 4.90413E04 1.17559E05 5.49180E05 4.61998E05 1.99844E04 1.97118E05 2.16613E04 6.96149E04 1.08175E05 5.13974E04 4.62235E05 1.16078E04 5.39227E05 2.12972E05 2.83268E05 6.33964E05 2.66408E05 4.05274E04 3.31748E04 8.07092E05 6.70141E05 1.16752E05 6.83101E05 4.40111E05 1.94244E05 2.93122E04 2.07110E04 8.25761E04 1.45684E05 1.46623E05 -Frame 257 5.41009E07 2.85382E07 1.83342E06 2.79990E06 4.90503E06 1.15723E06 2.99269E06 1.10071E07 9.99516E06 4.08970E06 1.62713E07 4.28033E07 2.49352E07 3.56674E06 2.92827E06 4.35571E06 1.36821E06 6.42226E04 1.00918E06 9.95258E05 1.49545E05 1.66210E05 9.59864E05 8.37744E05 9.95830E04 1.20741E05 4.26662E05 2.63141E05 3.58611E04 1.65601E05 3.55985E05 1.43703E05 1.26414E05 3.92306E05 3.03773E05 9.18749E04 6.74723E04 3.13082E05 1.94702E05 2.34969E04 2.69164E05 9.96017E05 6.06537E05 3.32581E05 2.68606E06 5.72094E06 1.70322E06 2.62833E06 9.77199E06 8.69582E06 4.36541E06 1.80575E07 3.11837E07 1.14027E07 3.64024E06 6.37461E06 6.67944E06 7.58118E05 1.56798E06 2.68733E06 1.57836E06 1.60396E06 7.38309E06 1.07370E07 3.55010E06 2.43916E06 1.28707E07 1.93912E07 1.47539E07 2.14117E07 3.12970E07 2.24985E07 1.00883E07 1.49550E07 3.98831E07 3.67885E07 5.26823E06 3.37515E06 2.75982E07 2.49311E07 1.38871E06 5.34283E06 9.46919E06 3.91604E06 3.27018E05 2.04772E06 1.45056E06 1.05152E05 3.41400E05 1.66154E06 5.00544E05 9.07519E04 4.43989E05 3.97972E05 5.49079E04 2.69493E04 3.93320E05 4.60604E05 1.95383E05 2.03613E04 6.10800E05 2.31295E05 5.28645E04 2.48523E05 4.54999E05 5.83952E03 2.11365E05 5.03046E05 1.50611E06 3.62557E05 2.51152E05 2.34104E05 2.65044E06 2.69352E06 3.45441E05 6.44632E05 2.98943E05 6.83912E05 4.79279E05 1.53626E05 1.49442E05 2.33467E05 4.21510E04 1.03522E05 8.66627E03 6.25842E04 3.54976E03 3.60637E04 1.14519E05 2.70898E05 4.95225E04 3.27962E04 1.07205E04 6.86485E04 1.28264E05 1.58478E05 1.48269E05 9.42370E04 2.03914E05 8.06288E05 7.58655E05 4.23781E05 6.51461E05 1.81874E06 1.13503E06 3.85537E05 1.11153E05 3.41396E05 3.34814E05 9.31741E04 6.07034E03 8.10264E03 3.40779E03 6.93182E04 1.03042E04 3.62875E05 3.14155E05 6.55703E04 3.80022E04 2.06220E05 1.13353E05 2.50928E02 4.20633E04 1.80075E05 1.76249E05 2.01413E05 5.18834E04 1.58915E04 1.04882E05 2.00192E05 1.22490E05 9.11385E04 8.17304E04 2.70224E04 3.69057E04 3.31985E05 3.99185E05 2.74876E05 6.41729E05 1.39988E06 6.21681E05 5.95004E05 2.01318E06 2.63842E06 1.81541E06 1.14368E06 9.53549E05 3.77028E05 1.81529E05 4.84413E05 7.39832E05 5.62220E05 2.24567E05 1.38339E05 1.04100E05 8.40213E04 1.60977E05 4.92750E05 3.56928E05 4.77968E04 9.76537E03 2.49953E05 3.30779E05 6.40993E05 3.45576E05 4.98411E05 6.14297E05 2.06535E05 1.21296E05 4.97224E05 8.79389E05 5.28316E05 3.38999E05 3.55132E04 1.31386E05 1.72312E05 2.45288E05 1.83757E05 4.44523E05 9.47418E05 7.01216E05 3.76921E05 7.70759E05 2.29161E06 1.93010E06 1.12169E06 1.94720E06 1.83912E06 1.12301E06 5.04930E05 1.05762E05 1.27300E05 6.75159E04 7.40522E04 2.25604E04 6.34554E04 2.16079E05 3.45455E05 3.91225E05 3.32882E05 3.60821E05 4.51830E05 3.40386E05 2.96947E05 2.99021E05 5.76647E05 1.43563E06 2.03884E06 1.60382E06 4.23898E05 1.52713E05 7.55452E04 3.26390E03 8.28600E03 3.71184E04 2.39005E04 2.07175E04 -Frame 257 2.35754E05 6.55339E06 7.12267E05 1.44602E06 2.10961E06 3.15635E05 2.30772E06 1.55074E07 1.29146E07 9.09475E05 2.01975E07 8.16133E07 4.47871E07 3.79483E06 8.74588E06 1.15470E07 1.87299E06 1.89032E05 2.38304E06 1.80575E06 3.32258E04 7.72811E05 2.28648E06 8.52316E05 5.01089E04 8.90939E05 1.16167E06 2.26080E05 6.59104E04 4.46642E05 4.43068E05 3.96845E04 1.58522E05 5.50655E05 2.53620E05 1.55034E04 3.13372E05 4.44720E05 7.42110E04 8.40884E04 7.93757E05 7.59881E05 6.03129E04 2.32156E06 6.47100E06 1.06019E06 6.05029E06 1.95768E07 1.61411E07 5.13714E06 1.03024E07 2.41049E07 1.24384E07 7.75291E05 2.95454E06 6.96612E06 2.97244E06 6.82739E05 2.50970E06 2.14037E06 6.77053E04 7.58994E05 4.44663E06 3.49387E06 1.19213E06 3.97566E06 7.89772E06 1.88861E06 3.02757E06 9.59199E06 1.38661E07 4.08057E06 1.26896E07 1.94386E07 2.13492E07 2.03091E07 2.10898E07 2.59669E07 3.21018E07 2.21258E07 2.26278E07 2.15183E07 5.57804E06 2.66879E06 5.89612E06 4.06580E06 7.34156E05 1.52585E06 2.33198E06 1.12047E06 4.93717E05 1.74204E06 1.15868E06 1.91615E05 6.24445E05 1.13519E06 8.98988E05 2.15014E05 7.35168E05 9.22230E05 2.61122E05 6.42495E05 1.45558E06 1.08968E06 1.67024E05 5.51507E05 1.19967E06 9.62872E05 1.00388E06 1.95026E06 1.55546E06 9.55557E05 3.91176E06 9.17526E06 5.53368E06 8.16745E05 4.24614E04 1.50524E05 2.05960E05 3.18576E04 2.87226E04 1.34115E05 1.15656E05 7.50158E04 1.43188E05 8.80257E04 3.00910E04 1.97819E04 4.56439E04 8.59260E04 4.80860E03 2.59711E04 9.20052E04 3.36346E04 5.91034E04 1.15944E05 5.55394E04 4.30929E04 7.86373E04 9.50933E04 6.58801E04 1.15774E05 1.61010E04 9.87691E04 3.91765E05 3.97943E05 3.34576E05 1.39370E05 8.71521E04 8.48149E04 2.64738E04 4.54686E04 8.35262E04 1.66937E05 1.73473E05 7.67488E04 2.20748E03 6.36962E04 8.36996E04 1.24509E04 8.41294E03 8.10553E03 4.50427E04 7.07160E04 8.49000E04 1.17983E05 7.97540E04 1.11085E04 8.88486E03 2.41406E04 1.48818E04 3.27214E04 7.81164E04 1.09384E05 1.01141E05 3.78523E04 9.37115E04 1.01287E05 4.05130E04 3.26793E04 1.52175E05 7.58631E04 2.59779E04 4.17834E05 1.36027E05 7.47543E04 5.00196E05 5.26163E05 1.82728E05 1.93975E05 3.93636E05 2.56977E05 6.28205E04 4.18046E04 5.86600E04 2.66961E03 8.94484E04 3.99687E05 2.15853E05 1.89494E04 8.27068E04 3.30555E05 4.20024E05 3.89788E05 1.49310E05 1.13079E05 3.13177E05 1.52672E05 1.39102E04 2.27647E04 2.48332E05 3.05845E05 3.49212E05 4.08303E05 3.63409E05 8.97293E04 1.36375E05 2.44719E05 3.27570E05 2.12299E05 9.66459E04 1.33703E05 6.47231E05 1.39278E06 8.27184E05 6.14233E05 1.02123E06 3.73769E05 4.41213E05 1.02395E06 5.20019E05 1.15898E05 4.23228E03 6.97620E04 7.07077E04 9.26708E04 1.17204E05 9.67817E04 5.47975E04 1.80369E04 3.90009E04 2.65058E05 8.90650E04 8.57593E03 5.40123E02 3.38242E04 1.26352E05 4.74479E04 3.33053E05 8.23164E05 1.79391E05 4.30506E04 5.05489E04 5.40170E04 3.43793E04 4.97354E04 7.40474E04 -Frame 257 3.69598E07 2.16387E07 2.40175E06 2.06081E06 1.66926E06 3.77114E05 3.87350E06 1.51516E07 5.92282E06 1.19789E06 4.05502E07 8.38043E07 1.97637E07 9.76713E06 2.48872E07 1.54770E07 7.79272E05 2.10020E06 3.73448E06 8.99865E05 2.48674E05 2.41194E06 1.99129E06 4.49977E04 9.76281E05 2.10437E06 6.23460E05 8.67743E04 9.16224E05 7.95881E05 5.03659E04 2.32012E05 7.88932E05 3.32631E05 5.82935E04 7.07672E05 9.86608E05 1.51303E05 2.65377E05 1.10602E06 7.71559E05 1.47887E06 7.05962E06 2.70432E06 4.38809E06 2.45100E07 3.09458E07 1.31206E07 3.61471E06 4.70400E06 6.91506E06 4.05823E06 2.56786E06 4.16665E06 2.81920E06 3.38970E05 1.73309E06 2.07742E06 8.09815E05 2.53888E05 1.39701E06 1.03568E06 1.04263E05 1.24178E06 1.23459E06 2.85860E05 1.59018E06 4.81741E06 5.94603E06 4.47963E06 9.18415E06 1.14775E07 4.56575E06 1.08585E06 2.87443E06 1.67894E06 3.76749E05 3.94832E06 2.86626E06 5.66663E05 2.41363E06 7.28445E06 6.43769E06 2.08282E06 8.50684E05 2.81814E06 1.25685E06 6.61126E04 6.97139E05 1.01153E06 3.10280E05 3.87159E05 1.00470E06 5.14408E05 6.90659E04 3.70726E05 6.75283E05 8.66237E04 1.82049E05 8.19678E05 4.49432E05 4.15148E04 4.57593E05 1.07837E06 2.67399E05 3.05328E04 3.99790E05 2.01863E05 3.61739E03 5.91520E05 1.59476E06 8.58597E05 1.46213E06 3.71200E06 2.10244E06 7.53278E04 9.82881E03 2.95697E04 9.38468E04 7.97377E04 8.66119E03 2.32412E04 7.57587E04 6.44986E04 1.04275E05 2.19163E04 3.33176E04 2.39923E04 4.69410E04 6.15797E04 4.16114E04 1.35493E04 1.16208E05 1.92829E05 1.61899E05 4.70713E04 8.03770E03 4.29655E04 1.08093E05 4.03362E05 4.22369E05 1.38201E05 8.00677E04 3.46060E05 2.08593E05 8.39949E03 8.98496E04 3.68746E04 4.06664E04 5.47050E04 7.97593E03 3.06615E04 3.78404E03 3.38516E04 5.24533E04 3.87746E03 2.60590E04 5.65899E04 5.73118E04 6.22872E04 2.45701E04 3.66380E02 1.89393E04 8.10195E03 1.37801E04 8.77251E03 9.45431E03 8.98508E03 5.31436E03 1.36104E04 1.62323E04 4.30119E04 1.08588E05 1.08243E05 9.27989E03 2.06696E04 2.85870E04 3.69686E04 8.47904E03 3.60124E04 3.16728E04 6.84667E03 3.07768E03 1.62900E05 2.45989E05 7.22552E04 1.26341E05 8.61630E04 1.11925E05 4.89314E04 2.88700E04 9.54203E04 4.06577E04 8.98743E03 3.04202E04 1.42650E05 1.68263E05 9.42414E04 6.21059E04 3.51241E04 8.77594E04 2.86460E05 3.81992E05 1.30346E05 4.37359E03 1.38622E05 2.06307E05 4.62944E04 5.16198E03 5.65998E04 8.35336E04 2.76176E04 7.33114E03 3.55985E04 2.31053E04 3.37776E04 7.31513E04 7.39872E02 8.17619E04 3.16534E04 1.61379E04 2.60507E04 1.29073E05 6.21583E05 3.51534E05 4.13852E05 2.83829E04 1.29768E05 3.19365E05 2.01215E05 7.08612E05 1.23159E06 6.20132E05 6.44536E04 1.90395E05 4.74086E05 1.56373E05 7.45924E04 2.64453E05 1.83570E05 1.62974E05 2.68751E05 1.20921E05 3.68424E03 8.61712E04 1.59676E05 1.79303E05 8.80799E04 2.11208E05 3.20869E05 3.12200E05 1.92901E05 4.55370E04 6.23924E04 2.59251E04 9.07318E04 1.21309E05 -Frame 257 2.41680E07 8.95625E06 1.96267E05 2.20358E06 2.13673E06 3.02273E05 5.20194E06 1.09359E07 2.58614E06 6.63199E06 5.55759E07 4.53775E07 3.79548E06 2.51573E07 3.99064E07 1.01935E07 6.95475E05 4.86956E06 3.08608E06 1.02764E05 2.04617E06 2.56106E06 4.31774E05 4.25341E05 2.08876E06 1.05840E06 9.85979E04 1.35115E06 1.26821E06 1.70964E05 6.35539E05 1.30704E06 6.05092E05 1.08313E05 1.26478E06 1.41074E06 4.82720E05 3.04249E06 4.03834E06 3.02427E06 9.82151E06 1.44895E07 9.70027E06 9.51968E06 1.31731E07 1.01350E07 3.85860E06 3.54408E06 2.48574E06 1.14949E06 9.67667E03 5.71141E05 6.75086E05 2.29427E05 7.51454E05 1.05743E06 2.78675E05 9.86574E04 9.23889E05 7.49674E05 4.28227E04 2.52905E05 7.33768E05 2.89497E05 1.09345E05 8.14912E05 7.18600E05 1.45119E05 1.73829E06 1.87478E06 1.29378E06 2.68439E06 5.52000E06 2.03906E06 3.44013E05 1.44561E06 1.09349E06 1.31132E05 9.01257E04 1.34712E05 3.63033E04 1.53684E05 8.59709E05 8.94282E05 4.57038E05 5.43800E05 1.03329E06 4.43182E05 6.28274E04 5.12472E05 4.35702E05 6.18913E04 1.06976E05 2.30128E05 1.28509E04 3.66421E05 5.37546E05 2.97116E05 2.81816E04 2.25068E05 2.93051E05 7.89286E03 3.64560E05 7.30664E05 2.16453E05 3.70628E04 3.92756E05 2.62932E05 1.12693E04 5.44664E05 6.98002E05 7.24375E04 3.56335E04 7.01338E05 9.37357E05 5.02504E04 2.18440E04 3.54684E04 7.23674E03 6.83816E04 6.02314E04 1.71229E04 1.38684E02 1.50035E04 2.93319E04 4.87321E04 1.38958E05 1.97597E05 7.33885E04 9.47533E04 5.92107E04 9.56362E03 3.94373E04 2.91159E04 5.28036E04 3.77122E04 2.19777E04 4.32495E04 1.37128E05 2.94300E05 1.04631E04 1.69243E05 6.10694E04 6.92736E04 4.38563E04 1.20378E04 9.09499E04 1.91489E05 4.92529E04 2.30682E04 6.89680E04 2.01743E04 3.02724E04 1.04018E05 7.18719E04 1.31395E03 3.30541E03 4.29795E01 3.24747E03 1.33412E03 6.89429E04 9.78469E04 7.78530E04 5.43941E04 2.44747E04 2.24686E03 9.97173E03 9.29067E03 2.56961E04 6.33107E04 4.19183E04 6.16595E04 1.87338E05 1.01035E05 5.80326E04 1.74740E04 3.93432E03 3.25131E04 3.24432E04 8.74747E03 4.44949E04 4.78027E04 4.16062E04 8.36769E04 6.32936E04 1.15709E05 2.17010E04 2.52796E04 1.73776E05 2.47903E05 8.44928E04 3.83818E03 2.27922E03 6.60520E03 3.53793E04 6.27757E04 9.94778E03 4.89141E02 5.36604E01 5.38706E02 7.10075E03 1.70484E04 1.28282E04 1.57358E05 1.45351E05 3.11893E04 1.16875E05 1.23433E05 1.05954E05 2.69523E05 2.84071E05 9.19332E04 4.47414E03 2.22578E04 3.44410E04 9.32106E04 1.41851E05 1.18222E05 3.11189E04 2.20666E04 6.08184E04 1.27820E04 6.32460E04 7.62198E05 1.03313E06 2.44514E05 3.95023E04 1.40265E05 8.94766E03 1.69963E05 6.06209E05 6.12043E05 6.84617E04 3.00958E05 2.91205E05 6.71649E04 3.50928E05 3.07329E05 4.36945E04 9.35262E04 1.99712E05 2.40831E05 6.30123E04 2.99409E04 1.36495E05 7.65679E04 6.84304E03 9.09298E04 2.87704E04 3.60594E03 9.52014E03 5.99137E03 4.31228E04 7.21340E04 5.55093E04 4.62099E04 1.34270E04 -Frame 257 3.64889E06 1.96119E06 9.25562E04 2.01100E06 1.29962E06 6.70161E05 5.52799E06 8.90364E06 1.33918E06 1.33145E07 4.97580E07 2.02150E07 6.32152E06 4.70302E07 4.18651E07 3.60653E06 3.02611E06 5.47173E06 1.49296E06 6.72005E05 3.48726E06 1.96321E06 1.99011E05 1.32015E06 1.85358E06 1.15895E05 1.15459E06 1.95982E06 7.91579E05 5.65334E05 2.72853E06 2.14810E06 1.36934E06 4.33904E06 2.74006E06 1.49109E06 4.65961E06 2.37860E06 3.42144E06 9.14491E06 7.18904E06 1.25825E06 1.80979E04 2.58450E05 6.29227E05 4.41245E04 3.65765E05 5.91590E05 2.10733E05 1.47164E04 2.93355E05 1.16902E05 2.63746E04 1.99522E05 3.11200E05 8.53929E04 3.74406E04 2.88506E05 1.65525E05 1.54896E04 2.29276E05 1.36640E05 2.48157E03 1.07213E05 2.77196E05 7.89586E04 1.24869E05 6.81053E05 4.88381E05 2.55583E04 7.57698E05 1.35619E06 2.90665E05 1.08810E06 1.81747E06 7.32179E05 2.63012E05 7.42693E05 2.94217E05 1.12117E04 9.03600E04 6.60201E04 9.27284E03 7.77362E04 2.68722E04 6.54670E03 1.16917E05 3.42730E05 2.79412E05 8.15646E04 1.81163E04 1.74864E05 8.93349E04 2.52399E04 1.84072E05 2.38802E05 2.79602E04 1.68431E05 1.87825E05 2.19617E04 9.08949E04 3.03712E05 1.27940E05 3.98868E04 4.07497E05 2.43414E05 2.87505E04 1.86007E05 3.75249E05 1.09655E05 3.48331E04 1.59377E05 2.71980E05 7.07367E05 5.07065E05 1.06476E05 1.11241E04 9.49504E03 5.33921E04 1.22705E05 6.18491E04 3.70468E04 4.93563E04 2.20952E04 1.35669E04 2.96141E04 1.20184E05 1.12251E05 4.39369E03 2.24357E04 1.07342E04 8.20855E03 6.15529E04 1.07450E05 1.78036E05 1.53561E05 9.85874E04 2.48248E04 2.47056E05 7.15640E05 7.75436E05 4.31104E05 1.58773E05 7.26338E04 5.38887E04 6.83800E04 1.25378E05 5.37097E04 1.59563E04 8.62993E04 1.07198E05 4.02117E04 1.14716E05 1.03710E05 2.08190E04 2.80499E04 1.73987E04 4.11089E03 3.20172E03 4.66029E04 1.21425E05 4.42783E04 1.77012E03 8.70596E03 1.06530E04 2.60720E04 2.35649E04 1.10082E04 1.27547E04 7.94188E03 7.26442E04 1.19627E05 1.21781E05 5.11703E04 3.35841E04 2.28074E04 9.94824E03 2.02250E04 7.08646E04 7.35803E04 5.12831E04 1.51755E04 2.94020E03 9.68078E03 8.38283E04 1.73530E05 1.65379E05 1.65603E05 1.25075E05 4.84683E04 2.15656E04 1.79250E02 5.03526E03 1.15864E04 1.04385E04 2.20087E04 1.28505E04 4.03335E03 1.48393E03 1.41357E03 1.62488E04 4.06218E04 1.47273E05 1.34193E05 4.73051E04 2.55028E04 7.23198E03 3.85275E03 3.42238E04 2.13211E05 1.67545E05 3.68129E04 3.28162E04 3.32792E04 1.93186E04 2.13881E04 1.05296E04 4.32574E04 1.28340E05 5.74627E04 1.65171E02 7.64554E04 2.96217E05 2.22701E05 3.21814E04 4.47848E05 2.50185E05 3.95672E04 5.19426E04 2.30861E05 6.13413E04 7.83142E04 2.81125E05 2.88560E05 1.26853E05 2.80107E04 2.66784E05 1.25057E05 6.06906E04 3.50892E05 2.79101E05 3.32660E04 4.01105E04 2.97131E04 1.15215E04 1.00742E04 4.26635E04 2.85805E04 1.77054E03 4.48218E03 1.59327E04 1.33907E04 2.39678E03 9.40960E03 6.33310E03 1.25824E04 3.03095E04 -Frame 257 4.44871E-02 1.34516E05 2.09733E05 1.95175E06 1.03830E06 8.23798E05 5.59469E06 7.23620E06 1.05526E06 1.56970E07 3.74164E07 8.39882E06 1.50108E07 6.20438E07 3.34659E07 1.06172E06 3.79912E06 3.67879E06 2.84595E05 1.48748E06 3.06302E06 5.79535E05 7.22209E05 2.10076E06 9.77756E05 5.55994E05 3.62474E06 3.98623E06 2.51581E06 7.23690E06 5.55343E06 3.59620E06 1.09880E07 7.29563E06 2.16683E06 2.83997E06 2.30604E06 6.36490E05 2.00545E04 5.23379E05 4.30498E05 3.60252E03 2.46551E05 1.96300E05 4.60028E04 1.46575E05 3.36700E05 9.75812E04 2.95101E02 7.35709E04 7.53424E04 5.61714E03 1.15308E05 1.07053E05 1.36422E04 3.43281E04 1.24539E05 3.42102E04 2.39520E04 1.35347E05 8.56601E04 5.22950E03 5.88346E04 4.69164E04 5.59322E03 2.30638E04 1.28357E05 6.33840E04 4.44166E04 4.43554E05 3.25469E05 1.38232E05 1.02006E06 1.81579E06 8.53918E05 1.37051E04 4.98760E05 2.45420E05 5.03601E04 2.13508E05 1.07248E05 4.88571E03 1.34871E04 4.31587E04 2.64499E04 3.44032E02 3.15607E04 2.48703E03 7.01816E03 6.16951E03 1.96129E04 5.05576E04 5.08717E04 3.43065E04 2.09050E03 5.08375E04 1.56020E05 5.85755E04 1.77201E04 9.28996E04 5.15844E04 1.50204E04 1.81615E05 1.58154E05 9.63658E03 8.64848E04 5.05740E04 4.61834E01 6.87960E04 1.42009E05 1.80442E04 2.80935E04 1.26656E05 2.35648E05 7.01806E04 3.53294E03 5.01703E03 1.03845E04 9.65788E03 3.67351E04 3.02629E04 6.49853E04 4.37008E04 1.21207E03 3.21411E04 8.89281E03 4.32911E04 6.60804E04 2.89688E04 6.72094E03 2.65811E04 4.09998E03 6.09055E02 9.82871E02 5.74531E03 4.02823E04 4.63720E04 1.80728E05 4.31749E04 2.19563E04 1.07530E05 6.43862E04 8.62888E02 3.69472E04 2.84989E04 1.00058E04 9.47304E03 2.18531E04 6.36503E04 2.00663E04 3.62355E04 7.78130E04 3.67188E04 2.17824E03 7.53065E04 1.15895E05 5.39725E04 2.14064E04 2.69281E03 2.73613E04 1.20327E05 7.90705E04 3.85515E04 1.92150E04 2.43667E03 2.62145E03 6.02914E03 6.40720E03 1.54067E04 2.48229E04 3.65034E04 1.44739E04 7.05508E03 4.05982E04 1.11257E04 9.20798E03 1.50864E04 2.51394E04 7.47916E04 3.95749E04 2.32002E04 6.03570E04 8.43647E03 2.34991E04 1.50075E05 1.64263E05 3.30502E04 1.40462E04 5.05924E03 2.37857E04 3.34817E04 3.67994E04 1.71435E04 1.57790E04 3.60081E04 4.49276E04 1.19578E04 3.74179E03 1.00309E04 2.77328E04 5.01651E04 2.52853E04 4.35952E04 4.43857E04 1.46689E04 2.20430E04 2.70190E04 1.65577E04 6.04944E03 3.12369E04 2.07576E04 4.12396E04 1.88085E05 1.62479E05 3.22236E04 1.30334E04 6.09796E01 4.79123E04 5.22120E04 2.07612E03 2.32380E04 2.55054E04 5.28525E03 1.18892E05 3.09457E05 2.00246E05 3.80684E04 1.60945E02 1.46098E04 8.12934E04 1.02206E05 6.76004E04 2.22322E04 2.94044E04 8.45110E04 1.25721E05 2.51833E05 2.64746E05 1.31287E05 1.63560E04 1.76105E04 7.96101E04 7.84043E04 2.72398E04 9.79489E03 9.24101E03 9.02863E03 1.78599E04 8.79658E03 3.59977E03 7.21277E03 1.03924E04 4.41162E03 1.24375E04 6.89892E03 4.17738E03 1.17790E03 -Frame 257 4.64241E05 2.16320E05 1.22182E05 1.54639E06 1.02861E06 9.77736E05 5.60100E06 5.70644E06 9.01632E05 1.36025E07 1.89356E07 2.03774E06 2.81578E07 5.95740E07 1.91513E07 4.88485E05 4.41255E06 2.34818E06 3.74792E05 2.06047E06 2.02879E06 2.20839E05 2.22395E06 3.22191E06 1.53097E06 6.41694E06 1.09705E07 3.82896E06 1.37000E07 1.30217E07 4.99987E06 5.25152E06 4.70245E06 7.92388E05 2.97760E04 3.16816E05 3.18533E05 6.32745E04 4.40222E04 1.36089E05 3.17105E04 2.24060E04 1.03883E05 4.50976E04 1.13459E04 1.36427E05 1.23406E05 2.37055E04 2.00572E04 1.74194E04 7.17523E03 7.38478E04 1.24313E05 4.07682E04 1.27676E04 5.64205E04 1.53169E04 5.46886E03 6.29547E04 4.37463E04 3.59189E03 6.88174E04 4.83421E04 2.15490E03 4.64928E02 7.32070E03 2.31185E03 7.95607E04 1.52993E05 2.34798E04 5.43380E04 2.84556E05 3.00026E05 1.07726E04 5.01592E05 6.05888E05 8.02693E04 2.55009E05 3.60885E05 1.45047E05 7.80167E03 1.61173E04 7.24061E03 2.18415E02 2.37413E03 4.45035E03 2.92398E04 4.03479E04 2.43318E04 1.06784E04 6.71211E03 9.10457E03 1.43258E04 1.33849E04 3.65154E04 6.14404E03 3.92182E04 5.75761E04 1.98080E04 7.37594E02 5.21197E04 4.44633E04 6.28150E02 6.16311E04 9.50698E04 4.12886E04 1.32217E03 1.82222E04 2.90123E03 4.21368E04 1.17711E05 1.18293E05 2.77788E04 3.77440E04 5.53488E04 8.03607E03 1.09006E03 5.06675E03 1.83048E03 1.19318E04 1.66016E04 4.18119E03 1.29197E04 1.19118E04 2.47544E04 2.17030E04 8.66037E03 3.70860E03 1.97292E04 1.27867E04 2.22394E04 3.19912E04 7.25526E03 2.70814E03 3.85794E04 1.68635E05 2.38385E05 6.87216E04 2.18829E03 5.10063E03 2.68475E02 2.88627E02 5.39234E03 9.15787E02 9.85099E03 8.42182E03 4.81177E03 3.90942E04 6.99386E04 5.39123E04 2.16526E04 1.28148E04 1.39654E04 8.03703E04 1.44382E05 6.54613E04 2.12663E04 1.08277E04 3.24794E04 3.09507E04 2.46368E04 2.35863E04 5.25315E04 7.44136E04 3.82286E04 2.01527E04 7.18158E03 4.56025E03 9.38509E03 1.45108E04 1.81022E04 4.89497E03 2.01614E04 1.36515E04 2.78700E03 3.15997E03 6.11864E03 4.90318E03 2.02801E04 3.76999E04 1.54454E04 2.98869E04 5.65607E04 1.02408E04 9.46245E03 3.35270E04 8.79217E04 6.98194E04 3.18799E04 1.25894E04 1.55742E01 1.38514E04 1.48298E04 6.63661E03 3.92219E04 5.59247E04 2.96383E04 7.27872E03 6.28629E03 1.02359E04 5.76793E03 4.00975E03 1.99429E04 2.24109E04 1.28294E04 2.99232E04 3.29543E04 1.19397E03 2.72044E04 3.45088E04 7.09412E03 3.95965E04 9.05737E04 5.71704E04 1.77602E04 3.63595E03 1.99167E04 2.04048E04 1.21152E04 8.31311E02 3.19418E04 3.58244E04 2.27401E03 2.15952E04 6.60576E04 1.47076E04 5.74919E02 7.12279E03 9.99391E03 2.06110E04 1.99214E04 2.56676E04 5.86160E04 2.06649E04 1.70781E03 1.09628E04 1.82204E04 3.17728E03 3.72505E03 4.24699E03 6.83001E02 1.63169E04 1.96294E04 6.81042E03 7.12486E02 4.73959E03 5.44261E03 6.63367E03 9.80836E03 4.39221E03 5.22322E03 6.22337E03 1.27876E03 5.05778E03 4.40555E03 4.38580E03 1.11548E04 -Frame 257 5.58628E05 2.16323E05 7.82222E05 2.36394E06 1.41965E06 1.45242E06 6.06043E06 4.50227E06 1.06878E06 1.15105E07 1.17661E07 2.65741E05 2.59949E07 4.30668E07 8.46317E06 8.90736E05 3.83346E06 1.28687E06 5.27191E05 2.18248E06 1.14503E06 8.15701E05 4.54961E06 2.97163E06 4.00039E06 1.80222E07 9.27222E06 5.23624E06 1.02438E07 3.11690E06 5.07171E04 4.12725E05 8.23786E05 4.11051E05 1.39470E04 1.52409E05 4.82679E04 4.16572E03 2.06846E04 3.54175E04 9.86778E03 1.22462E04 1.68312E04 1.90022E03 4.02444E04 9.61112E04 1.44849E04 9.10915E03 3.32463E04 1.28668E04 2.49243E04 3.47356E04 7.34685E03 1.94065E03 7.06177E03 2.10042E04 4.65833E03 1.13039E04 3.04490E04 7.07880E03 8.60965E03 5.30540E04 3.08973E04 6.03436E03 1.67405E03 6.07396E02 1.93589E04 7.03814E04 3.86915E04 1.57355E03 3.08749E04 6.75910E04 3.63725E03 2.07396E05 3.00641E05 2.54191E04 4.08891E05 7.78705E05 1.76991E05 1.42952E05 1.43541E05 1.93329E04 5.03720E03 9.89289E03 2.39485E03 8.69923E02 4.66880E03 3.22636E04 2.00608E04 1.84326E04 3.32348E04 2.71377E04 4.86160E04 2.00860E04 1.21126E03 2.98647E04 9.18539E04 3.67990E04 2.08258E04 4.97548E04 2.10602E04 9.45762E03 5.55065E04 3.16670E04 4.61764E03 3.73199E04 4.18730E04 7.23092E03 6.23632E04 1.25977E05 4.89537E04 6.39029E04 1.53204E05 8.01395E04 2.03726E03 1.60896E04 6.67814E03 5.51638E03 1.61663E04 2.41540E04 1.74451E04 1.54052E03 1.30080E03 1.02611E04 1.53282E04 1.34459E04 2.41923E04 3.20294E04 1.46526E04 3.16767E04 5.79150E04 1.03220E05 3.00006E04 9.93930E02 2.92628E04 4.49434E04 1.15386E04 3.90725E04 5.89365E04 2.49847E04 8.10934E03 5.17917E03 2.39902E03 8.47852E03 2.35793E04 5.75002E04 4.68059E04 7.99164E03 6.70734E03 1.40704E04 2.71627E03 5.30167E03 1.25686E04 2.70073E04 4.10968E03 5.31324E03 6.11838E03 1.33830E04 1.64736E04 4.96519E03 4.99508E01 1.46065E03 5.75969E03 1.44322E04 6.47688E03 3.61626E03 6.56690E03 1.32164E04 5.66310E03 1.04175E04 3.39705E04 6.15226E04 4.40844E04 7.00232E03 1.13179E04 8.09275E03 2.10192E04 1.59146E04 8.17011E03 7.73616E03 9.45610E02 1.18871E04 5.94137E04 4.98088E04 1.14078E04 1.73949E03 7.83025E03 9.18902E03 3.75098E03 4.13706E03 4.15930E03 3.44798E03 5.90461E03 9.61213E03 1.00253E03 8.88698E03 6.79569E03 9.42375E03 8.54413E03 5.15404E03 8.64080E03 3.34204E03 5.32138E03 1.35418E04 1.60648E03 7.09788E03 1.91469E04 2.45335E04 3.93898E04 3.16082E04 3.52765E03 4.60114E03 2.44895E04 1.74605E04 2.12521E04 2.85074E03 6.80256E03 5.74048E03 8.46715E03 1.78497E04 2.59339E04 4.51371E04 1.98794E04 2.15920E04 1.51513E04 1.01362E04 7.51244E03 1.30294E04 2.51255E04 1.43506E04 9.39814E03 1.01119E04 1.41896E04 7.62237E03 5.54002E03 1.39476E04 5.22010E03 7.08262E02 1.12462E03 3.47828E03 1.00773E03 3.48857E03 4.94377E03 9.44672E02 5.52796E01 4.38782E03 2.27600E03 4.80434E02 3.77109E03 2.59668E03 2.04455E03 3.26356E02 3.27594E02 1.66857E03 9.10712E03 2.43911E04 4.06272E04 -Frame 257 2.95786E05 1.32109E05 5.90417E05 2.38894E06 1.39789E06 1.76425E06 6.82844E06 3.89271E06 1.77337E06 1.13303E07 8.41892E06 1.46280E06 3.59588E07 3.73540E07 2.97281E06 2.15306E06 1.97668E06 1.13947E05 1.88206E06 2.21062E06 4.66316E05 3.44436E06 5.94601E06 3.12551E05 1.53815E07 2.65435E07 4.78233E06 7.72757E05 4.32169E06 1.24565E06 3.09045E05 7.81644E05 2.12463E05 1.01201E05 2.57305E05 8.51580E04 3.07722E03 5.97782E03 2.86095E03 3.70138E02 1.73121E04 1.31523E04 2.97143E04 7.02535E04 6.72574E04 6.94927E03 4.07825E04 2.71043E04 4.32397E03 7.62694E03 4.04718E04 3.30372E04 1.93978E04 3.71674E03 1.33875E04 1.10241E04 2.92990E03 3.19636E03 1.46407E04 1.79179E04 1.09092E04 1.45684E04 4.38418E04 1.47629E04 2.12689E04 1.39080E04 5.63652E03 5.96441E03 2.36067E04 1.79806E04 5.03090E04 1.68807E05 1.41616E05 5.95617E03 1.50817E05 3.17046E05 5.96948E04 2.57777E05 1.01108E06 5.97746E05 4.61424E04 7.77630E04 1.31909E04 1.50122E04 4.14975E04 5.16576E04 7.73737E04 8.66433E04 2.65560E04 3.05169E03 5.17257E04 5.32556E04 2.60079E03 2.34894E04 1.23154E04 3.70806E04 1.06296E05 4.20445E04 1.22142E04 6.30719E04 4.57079E04 8.45113E02 3.58297E04 4.27290E04 1.40852E04 5.26528E04 5.89547E04 2.41529E03 1.49141E05 1.15679E05 1.98006E03 5.36064E04 5.63212E04 4.62132E04 1.32422E04 1.78115E04 7.71586E03 3.84665E03 1.43051E03 3.12279E03 1.25541E03 8.16876E03 1.47637E04 6.97574E03 7.23193E03 5.86068E03 8.03098E03 3.06387E04 3.26940E04 1.84040E04 2.10214E04 7.83494E04 1.29418E05 9.52991E04 1.23593E04 8.45429E02 1.30870E04 2.41644E04 3.03566E04 2.83170E04 7.96822E03 1.69619E04 6.38034E03 3.91493E03 1.15958E04 5.13364E03 1.00390E04 3.50920E03 1.22525E04 2.50887E03 8.69764E02 1.77319E04 3.30347E04 1.20245E04 3.81008E04 2.93781E04 1.65952E03 1.46823E03 4.23732E03 3.27283E02 1.15159E04 2.30472E04 1.94395E04 2.37322E04 1.14493E04 4.21840E03 1.40432E04 2.76775E04 5.51297E04 4.74403E04 1.88557E04 3.59940E04 1.08943E05 1.08180E05 2.55842E04 1.65811E04 4.22967E04 4.80550E04 1.34695E04 1.06803E04 3.43437E04 2.24004E04 1.06151E04 4.24144E04 2.51646E04 2.87353E04 1.61882E04 1.18413E04 2.20721E04 3.48800E04 3.77242E04 4.03595E04 2.32644E04 1.76922E03 2.11178E04 2.86439E04 1.71574E04 4.18333E03 7.30541E03 3.43798E03 2.42231E03 1.01624E04 1.04374E04 2.45857E04 1.66058E04 3.54376E03 7.03499E03 7.80824E03 5.07581E03 4.18740E03 5.64032E03 1.45867E04 1.56557E04 1.74834E04 3.01461E04 2.46141E04 1.59596E04 1.48818E03 1.33502E04 1.47721E04 1.23122E04 2.55055E03 1.64982E04 2.97368E04 1.52452E04 1.01406E04 2.38187E03 1.16242E04 7.84028E03 1.47498E03 6.09899E03 3.06860E03 1.74275E03 8.16898E02 1.09403E04 2.62011E04 1.79595E04 9.68528E03 6.17467E03 4.56804E03 2.06568E03 1.45695E03 1.11584E04 5.67297E03 9.03232E02 8.00423E03 6.79882E03 4.04423E03 3.30572E03 5.38361E03 7.52629E03 2.49854E03 1.02574E03 4.34569E02 6.94804E03 8.23428E03 2.77789E03 -Frame 257 4.10629E01 1.13139E05 1.44254E06 3.39848E06 1.50991E06 1.95761E06 7.65199E06 3.83638E06 1.26060E06 9.20445E06 8.30615E06 1.38578E06 4.10473E07 6.25190E07 1.22786E07 3.93077E06 2.55692E06 2.03161E05 2.81043E06 4.40565E06 1.52373E06 7.02100E06 1.08558E07 5.73093E05 1.95258E07 4.37681E07 9.33678E06 1.94812E06 8.07592E06 2.37951E06 4.46257E05 1.21835E06 4.61824E05 1.24237E05 4.20517E05 2.36101E05 6.75650E04 8.01623E04 6.29747E04 7.37726E04 1.42329E05 8.76355E04 2.95653E04 1.17594E05 8.44055E04 7.12385E03 6.37444E04 6.17402E04 2.01497E04 1.07683E04 8.96859E03 1.97904E03 5.09832E04 7.98171E04 3.97366E04 3.66536E03 7.89111E03 6.10565E03 6.84243E03 7.23434E03 2.52416E03 2.93496E04 5.06333E04 1.79614E03 3.31607E04 4.70538E04 1.61291E04 1.10688E04 1.94919E04 1.98380E03 5.88758E04 1.59494E05 6.33599E04 3.71080E04 2.39678E05 1.85071E05 6.76555E03 4.46663E05 5.17858E05 9.48963E03 5.10839E05 8.38817E05 3.16695E05 1.31639E05 1.59504E05 3.41615E04 4.25691E04 1.24483E05 4.15294E04 3.54220E04 4.47254E04 1.06694E04 2.11352E04 6.90213E04 2.78361E04 1.72860E04 8.10508E04 4.29448E04 1.07663E04 7.22496E04 3.01265E04 1.22087E04 6.97607E04 9.72329E04 2.03846E04 8.65113E04 5.61957E04 5.13321E04 4.20491E05 5.83005E05 1.90117E05 2.45855E04 4.20286E04 6.48283E04 1.98489E04 5.95240E03 7.50800E03 3.40546E03 8.08552E03 4.12260E03 2.36325E03 3.72149E03 1.25561E03 1.30674E04 1.23121E04 1.42311E04 1.56798E04 1.26840E03 3.73966E03 3.61647E04 4.50237E04 3.49769E04 9.53078E04 1.01801E05 3.83213E04 2.88148E04 3.80746E04 3.93160E04 5.12556E04 4.72654E04 1.69023E03 1.05176E04 8.61886E03 1.22404E04 2.22770E04 2.02356E04 2.39267E04 3.71648E04 6.06354E04 5.59153E04 2.29340E04 2.24355E04 5.21902E04 1.04145E05 1.17471E05 4.13379E04 5.19822E03 2.84801E03 1.08129E04 2.83779E04 3.67792E04 2.13120E04 9.74233E02 2.19027E04 1.30034E04 2.35771E02 1.27668E04 2.13924E04 6.06080E03 1.03146E04 4.80722E03 2.68499E03 1.83493E04 5.39289E04 2.87250E04 7.93146E03 1.68654E04 3.02806E04 7.58974E03 7.44643E03 6.71111E02 1.21534E05 2.97348E05 1.83589E05 7.31928E04 1.37229E04 7.17519E03 1.87592E04 1.18969E04 4.31359E04 2.18207E04 1.49013E03 1.63614E04 3.87701E04 3.10986E04 6.15248E03 1.17769E03 1.36740E04 1.40647E04 9.40447E03 4.21047E03 1.24675E03 5.76860E03 3.05312E04 7.35162E04 5.18554E04 3.15050E04 9.14073E03 1.04400E04 2.26476E04 5.62138E04 6.80111E04 2.29335E04 3.08939E03 1.30712E03 1.40473E03 2.26211E03 1.25247E04 3.25518E03 5.34988E02 8.61702E03 2.52772E04 1.73522E04 3.79165E03 9.72286E02 7.25249E03 1.94792E04 1.41628E04 7.16640E02 1.68741E04 7.96056E03 4.58010E03 1.21960E04 1.89534E04 1.13849E04 1.11371E03 1.14152E03 7.00721E02 2.86640E03 1.07151E02 1.85418E02 4.08149E03 9.02162E03 1.49985E04 1.16897E04 3.29949E03 9.16848E02 1.08997E04 1.07634E04 1.09599E04 3.73348E03 1.12695E04 2.07492E04 2.24974E04 6.81213E03 2.57639E03 4.95427E03 -Frame 257 2.13190E04 3.13269E04 1.54499E06 3.64733E06 1.45488E06 1.85931E06 8.27493E06 4.62550E06 7.29650E05 5.86006E06 6.34981E06 2.48527E05 3.54306E07 7.61749E07 1.84460E07 5.57646E06 1.56604E07 5.38196E06 8.40627E06 1.23200E07 3.20612E06 6.40581E06 1.77446E07 4.56139E06 1.38249E07 6.75258E07 4.64939E07 1.46333E06 1.84963E07 1.93223E07 2.35242E06 2.33421E06 9.26542E05 2.43296E05 8.62377E05 6.45056E05 4.39528E04 1.49502E05 1.94196E05 6.22722E04 2.67108E05 3.63815E05 5.06045E04 3.08147E04 1.59464E05 5.38826E04 6.29455E04 1.54193E05 5.82453E04 2.11850E04 6.38779E04 3.97684E04 3.78452E04 8.75509E04 6.03293E04 1.74917E04 6.47421E04 3.68660E04 7.08174E03 3.51396E04 5.07556E04 4.19662E04 1.32375E05 1.49979E05 2.50800E04 1.92628E04 7.31920E04 4.13217E04 3.77036E04 1.00611E05 5.31826E04 9.17877E03 1.35838E05 9.19515E04 6.27331E04 3.06612E05 1.90928E05 1.35876E04 3.96085E05 4.23610E05 7.46838E03 1.21584E06 2.38353E06 8.96214E05 2.36923E05 4.63188E05 1.43609E05 3.61453E05 2.68147E05 8.02192E04 1.21412E05 1.15116E05 2.61118E04 7.54529E04 1.17635E05 5.51187E04 2.84105E04 9.18541E04 1.58562E04 7.47394E04 2.50970E05 2.16110E05 1.93724E05 3.47734E05 9.43109E04 1.97713E05 1.14158E06 1.09668E06 4.36015E05 1.31469E06 5.62224E05 1.64662E05 2.12895E05 3.30375E05 1.82760E05 5.75772E04 9.36273E03 1.03787E03 1.56212E04 2.23267E04 1.91062E04 2.22423E04 1.83782E04 1.47002E04 1.03793E03 7.43794E03 4.92014E04 5.48002E04 7.89163E04 1.05669E05 5.71778E04 3.64034E04 2.07740E04 2.83900E04 2.92486E04 6.75353E04 2.83017E04 2.19577E04 5.51567E04 2.69182E04 6.08706E03 1.64142E04 1.42244E04 9.36251E03 1.77494E04 1.41808E04 2.46666E04 6.15443E03 3.52014E04 5.59326E04 3.21170E04 1.17038E04 1.05574E04 2.52829E04 4.20702E04 4.69941E03 6.53742E03 1.01925E04 5.73641E03 4.50621E02 1.05075E04 2.39691E03 6.01128E03 2.94024E04 1.88612E04 1.28098E03 3.49729E03 1.13921E03 1.47422E04 3.48853E04 1.92929E04 2.01602E03 5.42789E03 6.50164E04 8.76966E04 8.92617E04 1.69467E05 9.22450E04 9.15590E04 1.20824E05 2.12684E04 1.49631E05 4.36368E05 1.69934E05 1.47886E04 4.19497E04 1.09610E04 1.11313E03 2.49348E04 2.54341E04 7.74500E02 2.09307E04 1.70382E04 2.55442E04 1.16891E04 6.08413E03 1.12904E04 8.17512E03 6.47590E02 6.99753E02 7.55939E03 8.12466E03 1.82845E03 1.81141E04 3.05501E04 2.33112E04 4.36912E04 3.90352E04 2.09416E04 1.02864E04 3.58589E04 1.35419E04 2.58029E04 3.77326E04 3.67688E04 3.33653E04 2.02884E04 3.71512E03 4.31935E03 1.21547E04 3.29485E04 2.68230E04 6.88932E03 1.00792E04 1.00995E04 6.27735E03 1.85888E03 1.32543E04 6.21087E04 5.43070E04 1.65129E04 4.58192E03 6.10913E03 1.77591E03 6.13549E03 2.47718E03 1.98277E03 9.75785E03 1.34548E04 8.68875E03 2.39470E03 2.28920E01 1.40094E01 6.76255E02 5.91939E03 4.26881E03 6.16530E01 5.43914E03 4.29344E03 5.05101E03 1.20887E04 7.00277E03 2.68478E02 8.75368E03 2.51251E04 1.11102E04 1.43662E03 -Frame 257 6.08807E03 7.88454E04 4.02483E05 2.40172E06 1.46035E06 1.66895E06 9.03412E06 5.57147E06 6.41500E05 3.97057E06 3.72785E06 6.67610E05 2.44502E07 4.15559E07 7.48421E06 2.45963E07 7.40789E07 3.34719E07 7.22429E06 2.04644E07 4.66496E06 1.09937E07 3.17493E07 1.10914E07 5.12511E06 4.91134E07 4.24488E07 4.43186E06 8.82415E07 1.65845E08 6.25885E07 1.18365E07 7.64501E06 1.42766E06 2.12945E06 1.46964E06 2.01265E05 2.83323E05 3.45766E05 8.49579E04 5.34267E05 6.69928E05 2.79863E05 1.84289E05 3.87300E05 8.33318E04 6.57392E04 2.90408E05 1.47352E05 1.08814E05 3.89575E05 1.63657E05 5.72202E01 6.07716E04 3.99314E04 6.10022E04 2.54154E05 2.72408E05 4.02371E04 5.00797E04 4.94962E04 1.59723E03 3.18603E05 3.97500E05 6.10179E04 6.33576E04 1.54553E05 2.80366E04 6.13547E04 1.12943E05 3.37743E04 3.16532E04 2.45515E05 1.47088E05 1.19033E04 1.70718E05 1.84247E05 2.72143E04 4.39887E05 4.12121E05 2.74643E04 6.74994E05 1.52212E06 1.86674E05 1.64186E06 5.06432E06 2.80882E06 2.46260E05 3.80594E05 1.14254E05 2.93401E05 8.24159E05 4.30834E05 1.03517E05 2.45387E05 1.35009E05 1.12546E05 4.35585E05 3.22609E05 1.23261E05 6.15541E05 7.71189E05 3.91568E04 8.57523E05 1.42952E06 3.82749E05 2.73329E06 6.38991E06 2.48188E06 6.76384E05 3.93675E05 1.17680E05 1.24754E05 3.14577E05 1.26474E05 1.93950E04 5.32282E03 1.55874E02 9.16168E01 9.77457E03 1.35691E04 1.65994E03 2.51858E03 1.17215E04 2.33698E03 7.01263E04 7.91875E04 4.98280E04 1.24262E05 4.52986E05 5.48313E05 5.98622E05 4.33878E05 2.21269E05 1.73047E05 1.84666E05 2.22738E04 5.75500E03 8.87335E03 3.39734E03 2.97299E04 3.31844E04 3.71378E03 1.88108E04 1.78603E04 2.34073E03 2.57434E04 4.56541E04 1.48181E04 1.03342E04 2.07732E04 2.74278E03 1.00198E04 3.63487E04 9.18851E03 1.04573E04 8.60493E03 4.04760E03 3.94965E03 2.55274E03 1.69553E04 8.01144E03 9.25935E03 8.69666E03 1.44761E04 6.72376E04 6.75828E04 3.57473E04 6.93863E04 1.30012E05 5.91213E04 1.24011E04 7.92445E04 8.08737E04 9.47647E04 4.64757E05 7.75889E04 2.83449E04 1.62644E05 3.84872E05 7.04610E03 2.92663E05 3.07333E05 3.12586E04 3.07833E04 1.68242E05 1.30306E05 4.53636E04 8.77321E04 1.24540E05 3.04799E04 3.38725E04 5.89349E04 4.30637E04 1.74848E04 7.30379E03 6.59742E03 9.42037E03 6.57691E03 7.46355E03 2.76189E03 1.02024E04 1.24020E03 1.16714E04 8.92813E03 4.31294E03 2.30843E04 1.04074E05 5.06903E04 4.05878E04 2.52279E04 1.21971E04 9.76216E04 1.15474E05 2.09956E04 5.02097E04 6.67710E04 1.81821E04 1.91760E04 5.51973E04 2.72904E04 1.34793E03 5.03984E03 2.93801E03 4.00623E03 1.75756E03 8.37013E03 3.37533E04 3.61498E04 2.93781E03 4.51829E03 1.46927E04 1.77776E04 5.56660E03 4.73620E02 5.19552E03 5.32720E03 2.18349E03 4.03382E03 2.64959E03 3.15610E03 9.95206E03 9.39726E03 9.98916E03 3.87200E03 6.08294E02 5.18970E03 1.08820E03 1.19049E03 1.09169E04 5.55189E03 1.37971E03 4.84571E03 1.38380E03 5.64943E03 9.32177E03 2.79073E01 -Frame 257 3.54188E05 1.37329E05 8.86700E05 2.22434E06 1.09920E06 1.99231E06 1.06418E07 5.80105E06 5.43332E05 2.91599E06 2.43718E06 3.87022E05 1.12910E07 1.03592E07 1.15416E05 3.55276E07 1.09279E08 4.29040E07 1.11143E07 3.88501E07 1.03520E07 1.91151E07 4.87027E07 1.44738E07 3.43263E06 1.78085E07 3.38258E06 2.15700E07 1.23494E08 1.38960E08 6.77788E07 1.10052E08 1.45202E08 7.10286E07 3.65279E07 2.15314E07 3.47462E06 1.22472E06 1.03492E06 2.45903E05 1.22644E06 8.38818E05 2.56789E05 8.55936E05 8.57695E05 4.31317E04 1.04491E05 5.42805E05 1.85400E05 3.52170E05 6.84006E05 2.66030E05 6.08610E03 1.98288E05 1.63403E05 2.79123E05 7.38649E05 4.18069E05 4.47336E04 1.53154E05 9.43207E04 6.91500E04 7.06453E05 7.04253E05 1.78691E05 3.82872E05 3.05987E05 3.01698E02 8.03352E04 1.13818E05 4.64096E04 2.35169E05 2.23279E05 3.57689E04 5.19203E04 2.06405E05 1.40617E04 3.18374E05 6.95506E05 2.32685E05 3.37492E04 4.41153E05 1.08216E05 4.98625E05 3.55520E06 5.69205E06 5.06559E05 2.06143E06 1.23356E06 2.92536E04 1.16305E06 2.04212E06 5.49475E05 6.11564E05 4.40235E05 4.40113E04 4.68278E05 1.14904E06 4.29008E05 8.36818E05 1.39306E06 3.06865E05 4.14083E05 1.24309E06 2.71302E04 3.01233E06 8.49041E06 5.75048E06 8.46232E05 9.81678E04 1.53720E05 6.62085E04 6.17482E05 3.98034E05 3.56542E04 3.21198E04 3.27693E04 2.00874E04 5.98604E03 3.97065E03 1.32410E04 1.08243E04 2.14967E04 7.62863E04 1.29817E05 2.63881E05 1.67762E05 1.39695E05 6.28678E05 1.28729E06 1.30986E06 3.40808E06 4.64418E06 1.84243E06 9.59288E05 7.77256E05 3.27200E05 8.09012E04 3.13884E04 6.66733E03 2.58377E04 6.74661E04 2.75804E04 1.95317E03 8.14498E03 9.32127E03 1.66251E04 1.11830E04 1.21281E04 1.42686E04 4.48140E03 8.87611E02 5.18471E03 1.21044E04 1.48767E04 9.73081E03 2.38419E03 9.49535E03 1.81031E04 7.89905E03 1.50156E04 2.72576E04 4.32388E04 1.99356E04 3.95595E04 1.33771E05 7.39144E04 1.16200E05 1.66341E05 2.89586E03 3.55070E04 1.24262E03 1.35452E05 8.59519E05 1.91661E06 1.94959E06 1.28450E06 9.32414E05 1.19632E06 1.64690E06 2.12397E06 2.02152E06 8.71289E05 3.19023E05 5.00301E05 5.93680E05 2.65577E05 3.26708E04 4.78246E04 1.19471E05 2.25937E05 1.53601E05 3.12410E04 2.81859E04 5.23990E04 7.57901E04 7.25585E04 7.94150E04 9.81725E04 1.10320E05 7.63170E04 2.89420E04 7.60925E03 6.89890E04 1.13296E05 6.20145E04 1.22495E05 2.06430E05 7.96112E04 2.01913E04 8.68337E04 1.03129E05 1.12509E05 1.77793E04 4.48479E04 1.05612E05 6.83048E04 3.69440E04 3.29252E04 2.04728E04 1.61698E04 5.34219E03 7.99170E02 1.18936E03 4.10116E03 8.26732E02 5.30996E03 6.49746E03 6.47180E03 4.01382E03 3.93257E02 4.98071E03 7.71825E03 2.83082E03 3.17139E02 5.47456E03 5.59413E03 5.55190E03 4.42286E03 9.79201E03 7.02745E03 1.39812E03 1.72724E04 7.48030E04 7.09493E04 4.08659E04 4.14123E04 6.61444E04 5.14211E04 3.16175E03 2.01294E04 1.73604E04 2.58374E04 4.35488E04 3.00692E04 2.17257E03 4.90813E-01 -Frame 257 1.03278E06 6.68610E05 8.56676E05 1.89736E06 1.10580E06 2.23165E06 1.22318E07 6.53329E06 6.45098E05 2.77085E06 2.48605E06 2.50061E05 6.59331E06 6.02309E06 3.56533E05 3.27045E07 6.84359E07 1.82321E07 3.06232E07 5.98279E07 1.29366E07 2.31931E07 6.28487E07 2.04759E07 7.23147E05 1.28554E07 6.47183E06 8.54716E06 4.23400E07 1.66378E07 8.58435E05 4.14622E07 1.36740E08 1.24558E08 1.43594E08 1.85798E08 1.17938E08 6.02175E07 5.23428E07 1.83013E07 5.45574E06 3.23830E06 3.62694E05 3.18980E06 4.94296E06 1.71284E06 6.46841E05 1.38206E06 3.75553E05 4.23024E05 1.26809E06 4.05918E05 5.77060E05 1.25698E06 8.39435E05 8.89101E03 6.13326E05 4.08129E05 1.53399E05 1.02364E06 7.76421E05 4.29195E04 3.18437E05 6.03617E05 4.72338E04 9.01131E05 7.68896E05 1.57568E05 5.23753E04 1.09895E05 1.40142E04 1.09395E05 3.69935E05 1.27480E05 3.03843E05 6.42046E05 3.38879E05 4.52438E04 4.22197E05 2.74219E05 2.97515E05 1.23098E06 1.16415E06 2.80633E05 1.55041E06 9.91535E05 5.40203E06 1.35475E07 1.13783E07 2.81400E06 2.37911E06 4.01514E06 1.13528E06 4.36285E05 5.41513E05 1.75622E05 8.25295E05 2.33349E06 9.86881E05 4.48342E04 8.98154E05 2.62588E05 5.48811E05 2.62602E06 2.06050E06 1.33572E05 3.00820E06 3.96435E05 1.04111E06 1.55101E06 9.24568E05 7.53470E03 4.78981E05 3.26992E05 7.61768E03 4.71939E04 9.01387E04 5.17540E04 1.88127E04 7.85282E03 1.71895E04 2.20028E04 2.53471E04 1.21551E04 1.95995E04 1.62844E05 5.91679E04 2.40206E04 1.15141E05 2.33945E05 7.82549E05 1.93431E06 1.63625E06 6.39956E05 1.24429E05 2.84677E05 9.92090E04 2.58395E04 5.34013E02 3.19564E04 7.91028E04 4.82335E04 6.76440E03 3.57384E04 3.43299E04 6.98996E03 8.79542E02 1.72634E03 1.71377E04 2.11751E04 7.83124E03 1.47391E04 5.12958E03 9.03145E03 6.24192E03 5.62743E03 1.29329E04 1.55103E04 4.73716E03 5.43765E03 2.86463E04 3.76836E04 7.78877E04 1.21861E05 1.09787E05 2.29890E04 2.64465E05 4.12224E05 1.20695E05 2.17512E05 4.88857E05 3.74332E05 4.90744E05 3.04238E05 4.92489E05 5.05435E05 2.45475E04 6.10066E05 7.13916E04 1.52159E05 1.79300E05 6.12384E05 1.10934E05 1.58385E05 8.99945E03 1.01567E05 2.97085E04 3.46154E03 3.25906E04 3.95606E04 6.01661E04 9.11168E03 3.14142E04 6.06528E04 7.99684E04 6.50722E04 7.66128E04 8.80792E04 7.79174E02 7.29745E04 7.04242E04 2.09229E03 6.66123E04 1.31233E05 5.17939E04 5.01146E04 1.29594E05 8.76135E03 4.77610E04 9.90935E04 3.85134E04 5.76383E03 2.57485E04 2.13158E04 2.39316E04 1.21916E04 3.00585E02 2.32497E03 3.34808E03 2.88205E03 1.95072E03 1.94976E02 9.17505E02 2.71545E03 5.36912E03 3.00067E03 6.51625E03 6.36324E03 1.53686E03 7.39950E02 2.51064E03 2.32335E03 5.99717E03 5.22754E03 1.77009E03 4.35840E03 2.89345E03 3.81308E03 3.48597E04 2.85303E04 4.96132E03 1.62568E04 3.23473E04 6.76449E03 6.08810E04 4.07562E04 4.55603E04 7.53904E04 4.51487E04 6.96503E04 9.20972E04 2.22221E04 2.67407E04 6.65060E04 6.99056E03 3.70872E04 4.68810E04 -Frame 257 6.02227E05 3.97742E05 8.61364E05 1.97656E06 9.96966E05 2.72728E06 1.25603E07 5.66493E06 3.17390E05 3.01242E06 1.70294E06 7.91213E05 6.06515E06 4.19806E06 1.51942E06 2.43782E07 1.65850E07 6.61742E06 5.12443E07 6.10111E07 5.60164E05 4.71734E07 4.92974E07 1.24743E06 1.59243E07 1.79615E07 1.43251E06 1.34846E07 2.06110E07 1.63301E06 1.29679E07 2.68688E07 2.95285E06 6.74862E06 2.35475E07 3.59048E07 4.11309E07 1.51159E08 1.81487E08 9.04247E07 2.81310E07 1.66633E07 1.70176E07 3.72606E07 2.15968E07 4.19526E06 7.87578E06 2.18279E06 1.17829E06 4.93079E06 1.95680E06 6.77328E05 3.16033E06 1.39775E06 3.44311E05 1.51928E06 9.96032E05 4.11894E05 2.61354E06 1.46412E06 5.02943E04 9.65651E05 8.44738E05 2.19911E04 1.01746E06 1.65955E06 3.45950E05 2.18738E05 3.45866E05 6.25998E04 1.62677E05 3.25919E05 4.75697E04 6.90684E05 1.40518E06 2.16851E05 6.30231E05 1.17145E06 3.55373E05 1.12376E06 2.60770E06 8.07684E05 3.31067E06 4.12775E06 5.32172E04 4.98808E06 1.29907E07 7.46278E06 1.78621E06 6.00090E06 7.82799E05 1.96675E06 3.04347E06 9.97939E05 1.35903E05 1.32934E06 3.08847E05 8.71872E05 1.89891E06 2.02088E05 6.98921E05 2.03203E06 1.10922E06 3.36753E05 1.76757E06 1.39890E06 1.37216E06 3.86319E06 4.36973E06 1.97584E06 1.08091E06 9.18482E05 2.00806E05 9.51634E04 2.28634E05 2.80623E04 3.67575E04 3.27268E04 2.16976E02 4.54642E03 5.17390E04 2.26335E04 6.81762E03 2.43769E04 1.96860E03 7.76907E04 1.39127E05 7.09742E04 6.46935E04 3.91822E04 6.43465E04 9.83185E04 4.25936E04 6.22170E04 3.47669E05 5.25884E05 4.76942E05 3.26266E05 2.13259E05 2.75348E05 2.20703E05 7.39651E04 8.99902E04 1.57696E05 3.65426E04 5.42899E03 9.10935E03 2.81381E04 8.20759E04 3.73412E04 3.18662E03 1.33088E04 8.87505E03 2.17367E03 1.88835E03 4.04577E02 9.77609E02 6.42921E02 9.23034E03 5.86976E04 9.67439E04 4.52283E04 7.70881E03 5.26923E04 1.27762E05 2.93983E05 2.08437E05 1.03668E04 1.21838E05 1.45686E05 8.03022E05 2.37673E06 1.49433E06 4.93688E05 7.14895E05 5.81513E05 1.52553E04 4.32510E05 1.06826E06 4.87556E05 3.86710E04 3.99094E05 8.07937E05 5.39554E05 1.59846E05 1.19597E04 4.49095E03 7.85641E02 1.84347E04 6.51942E04 3.74594E04 5.97536E03 4.71483E04 1.29776E05 3.35826E04 4.27548E04 1.13904E05 5.29723E04 3.31069E03 3.30509E04 3.71264E03 4.16615E04 1.77780E05 1.26972E05 3.98589E03 4.79778E04 8.83449E04 6.12861E04 2.18068E04 6.06195E03 1.90530E04 1.88156E04 6.30902E02 3.90343E03 1.69916E04 1.69493E04 3.85220E03 4.34548E03 8.41858E03 1.43464E03 1.04034E04 1.43603E04 1.71322E04 1.27146E04 3.48541E03 5.55536E03 9.38807E03 6.30672E03 1.42584E04 1.00594E04 5.47205E02 5.68786E02 2.18903E03 1.29501E03 3.37531E03 5.33120E03 1.35926E03 1.69407E04 2.68013E04 6.36980E03 2.78609E04 7.95324E04 4.12959E04 2.15863E03 5.22248E04 1.32546E05 1.18635E05 1.10292E05 1.96684E05 2.32479E05 6.84807E04 6.62503E04 1.11390E05 4.37222E04 5.69847E04 5.74010E04 3.13720E04 -Frame 257 5.11997E04 2.40609E05 1.16719E06 2.45554E06 7.42856E05 3.33978E06 1.16646E07 3.73889E06 3.80841E05 3.31070E06 9.42124E05 1.35197E06 6.09886E06 2.29645E06 3.26564E06 1.58781E07 4.29397E06 1.55518E07 7.38021E07 3.93470E07 1.11806E07 5.97100E07 2.67395E07 1.70021E06 2.38404E07 1.39908E07 3.71152E06 1.44665E07 7.66076E06 1.57396E06 1.32541E07 6.86103E06 9.77372E05 7.87001E06 4.94578E06 1.09370E06 9.30671E06 8.47031E06 6.46721E06 1.70282E07 4.69362E06 1.90006E06 3.87709E07 1.16079E08 6.26945E07 2.62642E06 2.40282E07 5.33436E06 1.85721E07 2.71627E07 4.24206E06 9.00735E06 7.75595E06 1.11497E05 3.37434E06 2.55038E06 1.49843E05 4.53825E06 4.63377E06 1.24048E05 1.19178E06 1.20434E06 1.24420E05 2.22013E06 2.14791E06 1.17473E04 1.02305E06 9.00590E05 4.68215E04 5.40741E05 3.41339E05 6.92618E04 1.42144E06 1.77344E06 1.02197E05 2.82514E06 2.27594E06 1.41657E05 4.41292E06 2.64444E06 2.58896E05 4.22656E06 5.82308E06 5.81359E06 1.07813E07 1.06633E07 2.45732E06 1.80265E06 3.98338E06 1.37795E06 1.73389E06 2.60434E06 7.30883E04 2.21162E06 2.99930E06 4.51528E05 1.10004E06 1.70089E06 1.53714E05 1.10782E06 1.31776E06 6.53482E04 6.10609E05 5.47943E05 7.19520E04 6.75441E05 4.67235E05 3.35129E05 6.43655E05 1.32443E05 3.87501E04 9.07151E04 2.36388E05 2.04855E05 1.61007E05 2.02816E05 1.34338E05 4.82870E04 1.44226E04 1.83986E03 3.54666E04 5.71153E04 2.38764E04 1.27280E04 2.96647E04 6.09006E03 2.87695E05 4.42208E05 1.59845E05 3.11171E05 3.12933E05 7.21670E04 4.42735E04 9.34691E04 2.93808E04 7.72379E05 1.73358E06 5.33074E05 3.03522E05 7.18987E05 2.23627E05 5.72670E04 1.89904E05 3.41869E05 1.53054E05 1.34793E05 1.83203E05 5.47963E04 3.64078E04 4.35090E04 3.38864E03 2.57338E04 2.21791E04 1.58477E04 1.47705E04 7.46693E03 1.74506E04 1.23709E04 1.02067E04 4.68836E04 6.52935E04 9.67284E02 2.08589E04 1.13750E04 1.92307E04 2.97499E04 9.66557E04 3.79513E04 4.71206E04 2.53800E05 9.87331E05 8.80153E05 8.05443E05 2.80633E06 2.29561E06 8.54558E05 4.98727E04 5.59974E05 1.04096E06 1.70905E05 3.37760E05 6.22841E05 3.34385E05 1.79097E05 7.82175E04 7.41189E03 3.90210E04 2.47296E04 1.37602E04 4.77059E04 5.73804E04 1.70698E04 2.01168E04 1.08160E05 1.14229E05 1.79556E04 1.09949E04 1.99545E04 8.15979E03 7.05332E04 6.04599E04 4.06236E03 8.08613E04 8.72049E04 2.07555E04 3.12965E04 1.09793E04 4.10751E03 4.96966E03 3.70840E03 4.46460E03 1.77793E03 1.78751E03 4.75309E03 4.71896E03 1.48033E04 9.99628E03 3.25874E03 2.48864E04 2.26703E04 1.13219E04 1.40564E05 1.86350E05 4.49680E04 3.01666E04 5.81006E04 1.39911E04 1.20341E04 5.87613E04 1.04393E05 6.91449E04 5.51330E04 3.64811E04 8.61588E03 4.13170E03 1.89877E04 3.86734E04 1.19436E04 5.37169E03 1.16783E04 1.55663E04 8.83894E04 5.18621E04 4.58871E04 2.82647E05 4.02774E05 1.75162E04 3.97276E05 6.22818E05 6.30181E04 3.99637E05 4.50040E05 8.36985E04 3.48116E04 6.16025E04 3.91824E04 7.90450E03 -Frame 257 4.01860E05 9.60306E04 4.46844E05 2.10008E06 5.95240E05 2.97103E06 1.07230E07 4.03328E06 2.77683E05 3.16077E06 8.85349E05 1.44586E06 6.34248E06 2.16746E06 3.49754E06 1.28446E07 6.12748E06 2.46112E07 6.33026E07 2.85255E07 1.38337E07 4.00095E07 2.11208E07 2.78569E06 1.37172E07 8.87702E06 4.09246E06 9.42458E06 6.31789E06 4.31424E05 6.37548E06 4.42457E06 3.59510E05 2.77159E06 2.05990E06 3.31765E05 2.92468E06 2.29543E06 1.39918E06 4.82844E06 3.39247E06 1.61870E06 1.82001E07 3.14382E07 2.13779E07 6.89672E07 9.24664E07 5.57907E07 7.96310E07 1.02425E08 1.99767E07 7.93419E06 1.99584E07 2.85112E06 4.12099E06 6.36017E06 1.23189E05 5.99939E06 9.16476E06 7.20749E05 1.43219E06 1.97971E06 1.05483E05 3.82723E06 4.96135E06 3.58398E05 1.49972E06 1.41495E06 1.26152E05 8.32694E05 3.72789E05 1.84478E05 2.04391E06 2.62959E06 8.88803E05 2.47044E06 4.37429E06 2.73362E06 3.27472E06 4.22734E06 1.60793E06 8.80122E04 8.26692E05 7.59009E05 2.02090E05 3.53121E06 1.03864E06 1.63711E06 5.08681E06 2.02769E06 5.02268E05 2.95542E06 8.12152E05 2.13379E06 5.36641E06 1.60464E06 7.13749E04 1.35814E06 8.52606E05 5.31768E05 2.14872E06 7.34233E05 4.24038E05 1.34131E06 9.11728E05 1.41558E06 2.09758E06 1.14566E06 1.54641E05 1.54339E05 2.31449E05 2.27968E05 1.23920E05 1.87167E03 1.58988E04 2.38876E04 9.56155E03 5.43289E04 2.16599E04 4.41193E03 2.48702E04 9.69110E03 3.55631E03 2.49258E04 3.77068E04 2.90855E04 3.86682E05 5.05617E05 3.64742E02 4.06143E05 3.10198E05 7.62864E04 4.57308E04 2.77303E04 3.92395E04 6.27780E05 7.17923E05 1.95866E05 2.65024E05 4.64987E05 1.82497E05 4.77314E04 5.98461E04 1.68718E05 2.43367E05 2.69858E05 2.40800E05 1.31758E05 8.62279E04 1.85328E04 8.86903E03 2.49176E04 4.36783E04 4.56497E04 4.61866E04 1.69417E04 4.48016E04 8.53771E04 2.90278E04 6.81317E04 1.77780E05 1.57493E05 5.45156E04 3.34662E04 5.06873E04 7.56618E04 6.13902E04 1.65007E04 9.28585E03 2.60695E05 6.45289E05 7.90200E05 6.94948E05 3.34805E05 1.22729E04 8.36711E04 6.17606E04 3.24400E05 4.51979E05 3.31535E05 1.01803E05 1.19488E04 1.19057E04 1.59018E04 3.46943E04 7.02187E04 5.88995E04 1.44434E04 2.27288E04 5.03341E04 2.40123E04 1.25150E04 2.42118E04 1.15326E04 2.78770E04 7.34551E03 2.35957E04 4.88445E04 5.06363E04 2.55300E04 3.70786E04 4.80374E04 7.00529E03 9.30574E03 1.44243E04 1.97210E04 5.79695E03 4.33607E03 1.58556E04 1.87245E04 7.86979E03 4.28910E03 5.81013E03 3.99564E03 1.24544E03 1.12977E04 1.62884E04 4.84040E04 1.40954E05 1.34601E05 1.08471E04 1.26667E05 2.37251E05 4.57824E04 9.23030E04 1.13898E05 1.11080E04 6.09952E04 1.59548E05 1.08091E05 6.49100E04 7.07648E04 1.87095E04 1.66281E04 2.84866E04 4.93407E04 5.18832E03 4.06825E04 4.12547E04 1.63272E03 4.14695E04 7.08251E04 1.00791E04 8.08870E04 1.34063E05 2.52332E05 5.47394E05 1.36061E05 3.76311E05 8.58826E05 4.61534E05 9.35702E04 1.80588E05 1.37906E05 5.56729E04 6.12191E04 2.97451E04 -Frame 257 1.28891E06 4.93416E05 3.43130E05 1.08855E06 1.44607E05 2.34586E06 4.74811E06 1.75705E06 2.04389E06 1.29811E06 1.11071E06 1.93620E06 1.00678E06 3.26424E06 7.79058E06 5.72241E06 6.70619E06 1.39722E07 1.59595E07 1.35650E07 1.28777E07 1.07633E07 6.17459E06 4.39009E06 3.47998E06 2.62662E06 2.04108E06 2.28812E06 2.35609E06 2.64603E06 2.26112E06 1.50305E06 1.22870E06 9.64583E05 1.26204E06 1.68767E06 8.20436E05 4.70017E05 7.63603E05 3.14784E05 4.16938E05 1.84767E06 2.99334E06 3.95766E06 9.19653E06 2.69995E07 4.24450E07 2.51109E07 2.52147E07 4.49390E07 4.75656E07 3.19399E07 1.94590E07 1.13326E07 5.48799E06 4.60786E06 4.82039E06 3.65458E06 4.62619E06 4.98704E06 3.05444E06 2.81644E06 3.24873E06 2.92693E06 3.74113E06 3.67062E06 2.16796E06 1.47406E06 5.83127E05 2.89824E05 6.07889E05 4.24335E05 1.92336E05 3.72083E05 3.10360E05 6.23251E05 8.41819E05 2.43144E05 1.63590E05 4.54721E05 2.51220E05 9.87407E05 1.19891E06 2.01977E06 3.08553E06 2.49604E06 3.05425E06 4.54128E06 3.92352E06 3.54746E06 3.37336E06 3.87964E06 5.30005E06 6.06311E06 4.13775E06 1.43942E06 3.63426E05 8.47596E05 1.44096E06 1.95261E06 2.41167E06 2.50299E06 2.14783E06 1.32006E06 5.92647E05 7.63418E05 1.07493E06 6.71110E05 4.04386E05 8.15506E05 1.07781E06 8.36922E05 5.35007E05 2.82418E05 1.09749E05 1.45989E04 4.72847E04 1.25240E05 1.25412E05 7.42483E04 1.38153E04 2.12456E03 7.91183E03 1.51156E04 2.96261E04 1.19211E05 3.14014E05 3.76654E05 3.30449E05 2.06198E05 2.65899E04 1.52859E04 1.11623E04 1.96299E03 6.10317E04 1.71891E05 1.04704E05 6.96423E03 4.02792E04 1.23445E05 7.28834E04 2.27037E04 1.37329E04 1.50237E04 1.80113E04 2.76568E04 4.54397E04 4.27882E04 1.41750E05 2.76348E05 2.19052E05 2.58256E05 3.03545E05 2.68034E05 1.24323E05 3.73633E04 4.50149E04 4.96978E04 1.53564E04 6.54131E04 1.82400E05 9.95942E04 1.43376E04 6.44501E04 7.40535E04 1.63830E04 2.58909E03 1.14998E04 2.13261E04 1.53424E04 3.61428E03 2.71533E04 4.75324E03 1.98463E04 6.84586E04 5.78434E04 3.30840E04 4.43484E03 1.11085E04 3.67279E04 3.07186E02 9.99630E03 3.52785E03 2.29055E03 1.15071E02 2.71902E02 6.66331E03 6.42567E02 1.76341E04 5.03404E03 2.42079E03 1.00174E04 5.37306E04 5.21743E04 6.66337E03 6.09353E03 7.09324E02 1.91049E04 1.61647E03 1.08668E04 1.89833E04 6.33246E03 2.35203E04 2.96093E04 2.53838E04 1.31027E04 1.22871E04 1.40517E04 2.47320E04 2.94842E04 1.76500E04 1.58733E04 2.46294E04 1.59947E04 3.86389E03 1.96134E04 1.72050E04 9.29499E04 2.17011E05 3.68996E04 4.54294E04 4.86383E04 5.75896E04 1.16700E05 5.15438E04 6.87401E04 4.75616E04 2.24732E03 3.61404E04 1.43073E04 4.29385E04 4.64709E04 4.28644E03 1.04866E04 2.90534E03 3.66872E04 1.05039E05 5.56611E04 8.09999E04 9.11014E04 2.40132E04 3.63283E04 1.57662E04 2.57500E04 7.03476E04 1.27616E05 3.14888E05 5.70667E05 4.13409E05 2.81706E05 2.08362E05 6.27582E03 3.14334E04 2.70700E04 1.47963E04 4.80218E04 7.85159E04 -Frame 257 2.10746E06 9.88525E05 1.68281E05 3.53805E05 1.43433E05 1.25937E06 2.35691E06 8.34663E05 6.29048E04 1.48949E05 2.26721E05 5.80327E05 9.21939E05 3.46502E05 3.31081E05 2.54608E05 3.06278E05 4.22887E05 5.65361E04 5.34830E04 8.90003E04 4.28050E05 7.50184E04 8.20875E03 1.05360E04 1.96139E04 1.89817E02 6.25056E04 1.71241E04 7.92003E03 5.61606E04 7.49105E04 1.55458E04 7.33793E04 2.91375E03 8.28241E04 2.27111E05 2.29284E05 5.13275E04 5.84755E04 4.36676E04 1.36346E05 2.08544E04 3.66241E05 2.90031E05 8.49413E05 2.92543E06 2.27500E06 4.66724E05 3.52187E05 1.75007E05 3.17413E05 7.12437E03 2.73171E05 4.06920E04 1.76884E04 1.75055E05 1.60121E05 1.01938E05 2.24005E05 5.48533E04 4.49598E04 3.75509E05 2.12799E05 9.76010E04 1.90434E05 5.63228E04 9.66282E04 4.55104E05 8.19312E04 1.31750E03 7.27190E04 6.88391E04 2.74598E04 9.97950E04 3.23335E04 1.32408E05 3.44232E05 4.27260E05 2.91439E05 2.69085E05 2.04282E04 9.79374E04 4.83011E05 4.06982E05 4.74553E04 5.17503E04 1.97812E05 2.78749E05 7.29533E05 9.00087E04 1.30859E05 5.85500E04 1.85005E05 9.19851E04 2.41794E04 5.47016E04 1.94875E04 9.04639E04 3.08629E04 1.08658E04 9.67134E03 1.67022E04 8.36323E03 2.26941E04 7.45403E03 6.17964E03 3.55906E04 1.98637E04 3.42755E04 5.90270E04 2.44727E03 1.11120E04 2.45569E04 2.04283E04 1.24346E04 7.27821E03 1.73060E03 1.14624E04 5.01900E03 7.51069E03 1.04364E04 9.30986E03 5.00839E03 1.29933E04 1.46587E04 6.20840E03 4.75314E03 4.13712E03 8.25145E03 9.28419E03 3.50675E04 1.05157E04 6.47151E03 8.28790E03 1.17498E04 4.20095E03 6.58599E02 1.85753E04 3.91517E04 1.34403E04 1.13318E04 1.72015E03 1.59902E04 5.11277E03 2.11004E04 5.63210E03 1.21874E04 2.95002E04 1.64953E04 1.23964E05 1.29981E05 1.20242E04 7.70803E03 1.48018E04 8.72877E03 2.89270E03 1.07798E04 5.48423E03 1.03393E04 2.70225E04 1.61745E03 1.07106E04 4.88278E03 3.98873E03 6.93251E03 1.38231E03 1.85875E03 3.38379E03 4.50558E03 2.47708E03 3.81852E03 3.65599E02 2.04610E03 8.25089E02 6.44423E03 7.97878E02 1.42633E03 6.31637E02 1.47243E04 2.83537E04 8.94391E03 1.59452E03 9.23948E03 6.53497E03 8.48015E03 1.94150E04 2.13393E04 1.61892E04 1.87667E04 2.01148E04 3.01055E04 4.10833E04 4.44807E04 5.66264E04 5.96900E04 5.15028E04 2.39985E04 3.22771E04 3.39053E04 1.90211E04 2.51542E04 4.51147E04 5.39029E04 3.60746E04 2.28457E04 5.10193E04 1.04174E05 9.66940E04 5.06554E04 3.70417E04 5.57117E04 5.02904E04 4.73552E04 4.31173E04 3.55942E04 4.89169E04 7.95077E04 9.71338E04 9.68504E04 7.00986E04 6.72264E04 9.05226E04 7.62510E04 3.60374E04 5.54809E04 1.19475E05 9.55203E04 4.15430E04 4.08799E04 6.32447E04 9.42730E04 1.08063E05 6.65409E04 3.73576E04 6.41933E04 7.17922E04 2.62338E04 3.29500E04 5.41593E04 2.59946E04 1.41397E04 5.09761E04 9.09095E04 6.19005E04 3.13094E04 5.50655E04 1.24325E05 1.97937E05 1.16263E05 7.82370E04 7.58295E04 5.09435E04 4.10288E04 2.57992E04 2.62519E04 4.17376E04 -Frame 257 5.04680E02 6.60775E05 4.73963E05 1.21729E05 5.83875E04 1.11102E06 1.88526E06 5.20148E05 1.09890E05 2.96091E04 7.58832E04 4.63799E05 4.25478E05 1.74602E05 4.07936E05 2.60305E05 7.16356E04 1.24798E05 1.27863E05 4.10681E04 3.82321E04 2.25424E04 6.84556E04 8.52753E03 4.46676E03 4.80501E04 4.56575E04 1.65952E04 5.63290E03 1.38213E03 9.62971E03 1.23591E04 9.69708E03 3.76762E04 1.05218E05 1.10533E05 6.41282E04 3.26178E04 4.64831E04 3.27771E03 2.66030E04 3.77521E04 1.01026E05 1.70199E05 4.99647E05 7.32683E05 5.01507E05 5.09858E05 3.29658E05 1.27615E05 8.78683E04 6.82324E04 4.22285E04 5.23385E04 1.11711E05 8.96335E04 1.45037E05 3.84707E04 1.27267E04 9.21870E04 6.71321E04 6.87496E04 1.87497E05 1.16427E05 1.04413E05 1.63877E05 6.49593E04 1.29800E05 2.47561E05 6.39833E04 5.86812E04 3.12587E04 4.98779E03 2.26968E04 3.85617E04 2.40427E04 8.29883E04 6.67957E04 2.74741E04 9.41624E04 2.11844E05 3.53465E05 4.84857E05 2.62910E05 2.39341E05 1.13115E05 1.63851E05 5.78563E05 1.08954E06 8.40458E05 5.21610E05 5.69732E04 6.31313E03 3.67387E03 2.52415E04 3.82149E04 3.88709E04 1.57160E04 7.65367E03 3.06053E02 2.62343E02 4.55441E02 4.59813E02 4.04508E03 4.31591E03 2.99248E03 1.44369E03 1.65365E03 1.26293E04 1.79663E04 6.96323E03 3.06319E03 9.09752E02 8.67960E02 2.07820E02 1.11780E03 8.55514E03 1.71433E04 8.14525E03 5.42917E03 7.25166E03 9.97031E03 1.81578E04 7.04189E03 1.86164E03 1.72231E02 2.22172E02 1.69031E03 9.76456E03 8.55132E03 3.14443E03 2.42490E03 2.00112E04 1.80542E04 1.29213E04 8.06801E03 5.12681E03 1.37757E04 2.62351E04 1.17355E04 3.15762E03 1.81852E04 3.25699E04 6.12024E03 1.91847E04 1.03041E04 1.61882E04 1.97787E04 1.38126E04 3.37427E04 4.95486E04 1.40502E04 7.74807E02 2.29652E03 2.93897E03 1.06809E03 7.20042E02 3.14736E03 5.87132E02 3.08505E03 5.58536E03 2.56554E03 2.69878E03 1.32354E03 5.86628E02 5.42035E02 2.31064E03 1.46334E03 7.29026E02 1.11186E03 4.10933E03 4.08501E03 2.91330E03 2.74922E03 1.61925E03 1.24919E03 7.00794E03 3.78598E03 4.26396E02 1.52563E03 4.56325E03 1.31843E04 2.03373E04 6.53543E03 1.00643E03 1.14723E02 1.07132E04 8.54637E03 3.81688E03 5.59212E03 6.41514E03 7.28229E03 9.88448E03 8.01964E03 8.05523E03 2.32067E04 2.83770E04 1.02156E04 7.23073E03 8.65700E03 3.62220E03 1.86288E03 3.85103E03 6.90463E02 5.95591E03 8.55437E03 2.79043E04 1.53371E04 1.25799E03 2.28534E03 3.98638E03 6.23252E03 5.18583E02 2.96613E03 1.34176E04 4.07766E03 8.36976E03 5.36213E03 1.43435E03 7.42628E02 2.62633E03 2.19727E01 8.14540E03 1.46230E04 8.37594E03 2.30303E04 2.87773E04 1.24723E04 4.22315E03 3.85508E03 2.82712E02 2.57859E03 5.92061E03 3.70006E03 2.15226E03 5.51047E03 1.55667E04 1.27351E04 1.03688E04 1.48266E04 8.42217E03 1.39796E04 2.54851E04 1.22361E04 1.08128E04 4.30101E04 6.63670E04 9.20894E04 1.08428E05 4.10932E04 1.82046E04 2.13648E04 7.07704E03 1.13230E04 1.29333E04 5.94519E03 3.24450E03 -Frame 257 3.20992E06 1.56035E06 6.56461E04 1.04605E05 4.27233E04 8.60072E05 1.29622E06 1.41067E05 5.82704E04 1.19161E05 8.47921E04 7.18148E05 7.05431E05 1.46845E05 3.53470E05 1.53337E05 4.67147E04 9.07052E04 1.29748E04 1.09602E05 7.67244E04 2.54971E04 2.41690E05 1.09941E05 8.32994E03 1.48824E05 5.78158E04 7.56393E03 2.10965E04 2.56582E04 3.67528E04 6.62020E04 9.61517E04 8.11565E04 6.03985E03 1.66248E03 6.55554E04 8.98315E04 1.52267E04 1.36985E05 6.60409E04 3.75322E01 2.10408E05 1.46469E05 1.77419E05 1.26677E06 6.29933E05 2.31723E05 1.92443E05 1.43539E04 3.25799E05 6.08942E05 1.41141E04 2.47812E05 1.15191E05 1.44132E04 1.12055E05 3.39587E04 1.32340E05 1.14369E05 1.08175E04 1.23233E05 1.17353E05 1.89671E04 1.01991E05 3.41276E05 1.91730E05 1.09378E05 1.95654E05 1.78210E05 9.85856E04 6.21717E02 4.88862E04 6.88280E04 2.49635E03 7.06276E04 1.29292E05 3.25688E04 3.79844E04 3.20477E05 2.84002E05 1.60563E05 1.50615E05 3.02117E05 2.96579E05 8.53879E04 7.24409E03 4.41282E05 1.01730E06 2.92924E05 7.23016E04 6.70932E05 3.33833E05 2.61642E03 9.17888E04 1.11588E05 1.26590E05 3.88187E04 6.96367E04 2.38510E05 2.68445E05 1.96442E05 1.93630E05 1.97287E05 2.39951E05 1.41598E05 1.39797E05 7.60735E04 1.34491E05 9.08224E04 7.66606E04 1.06532E05 8.51071E04 3.53172E04 8.16441E04 9.41794E04 4.37530E04 1.12161E05 3.02607E04 2.08661E04 2.83487E04 1.39957E04 4.17088E03 2.81522E04 2.29115E04 1.08226E04 2.98311E04 5.02287E04 3.05748E04 1.61908E03 7.52650E03 2.25365E04 1.44199E04 1.71855E03 1.26804E04 1.48533E04 3.01225E04 3.12055E04 3.11978E03 3.57071E02 3.09327E04 5.74542E04 2.64899E04 3.15601E04 4.95080E04 2.53940E04 4.98347E03 7.33073E04 3.99018E04 1.53443E04 1.05696E04 2.37678E04 4.11977E04 4.04532E04 5.43831E03 3.68703E03 5.45631E03 4.50520E01 1.87400E03 8.69551E01 7.29755E03 7.56974E03 1.24288E03 9.03120E01 2.71275E02 2.70476E03 4.66133E03 3.73962E03 8.09629E03 1.12633E04 5.75432E02 7.38485E02 1.99917E03 3.59081E03 2.67013E03 7.87956E03 6.16201E03 1.08148E03 9.54586E02 1.58065E03 1.23057E03 1.06752E04 1.77482E04 9.74142E03 6.82910E03 1.25350E04 3.03328E03 1.24270E03 2.02006E03 3.26163E02 8.01382E03 2.61003E04 6.17004E02 1.10402E04 5.10797E03 1.83833E03 7.73015E03 1.04191E03 1.28866E04 1.44653E04 4.61317E03 5.37543E03 6.42484E03 1.91327E03 1.30971E03 5.54826E02 6.39419E03 1.34326E03 1.02814E04 3.93068E03 9.54498E02 4.14790E03 5.58301E02 5.62315E03 5.29415E03 1.12743E03 1.17054E03 1.61452E03 5.62922E03 1.25638E03 2.51968E03 3.29396E03 4.13861E03 3.05699E02 9.13680E02 5.24484E03 1.42968E04 1.38907E04 1.79108E03 2.23036E04 1.81594E04 2.19242E03 1.68651E03 2.82002E03 1.53593E03 2.40043E03 1.61175E02 8.70148E02 3.47163E03 2.06991E03 1.54460E03 1.35067E04 6.93173E03 7.19741E03 3.72629E04 2.95368E04 7.91830E03 1.93173E03 1.33721E04 1.81423E04 1.75312E04 7.86201E03 3.00859E04 8.64743E03 6.11045E02 1.05332E04 1.60633E04 -Frame 257 3.60894E06 1.54517E06 8.03050E03 3.12023E05 1.47872E05 1.47942E06 3.24757E06 9.81597E05 3.57732E05 4.74327E05 3.62254E05 1.69168E06 1.82224E06 5.16580E05 1.47497E06 1.89499E06 1.76415E06 2.84663E06 2.23610E06 4.64723E05 1.00479E06 1.50237E06 9.51352E05 1.06150E06 8.42530E05 1.64836E06 1.28424E06 1.66541E05 3.45779E05 8.35667E04 4.16961E04 1.61368E05 4.47903E04 6.93093E04 4.73724E04 8.18996E04 1.46215E05 6.20730E05 1.27432E05 5.24091E05 1.01047E06 8.20644E05 1.55985E06 1.10129E06 2.93166E06 8.35072E06 6.19805E06 3.85617E06 5.75136E06 8.95345E06 1.54354E07 1.75934E07 7.94035E06 1.26686E06 1.13374E06 1.05550E06 4.21760E05 2.65654E05 2.22552E05 3.94513E05 1.25322E06 8.41555E05 6.00209E05 6.00570E05 4.04069E05 5.92680E05 1.20052E05 9.13262E04 1.49528E04 2.54000E05 2.96710E05 2.60027E05 3.99356E05 6.69772E04 3.76901E05 4.88959E05 9.61736E05 5.05303E05 1.96987E05 7.84421E05 6.51001E05 5.73829E05 3.38398E05 1.05656E06 1.14425E06 5.28231E05 9.82354E05 2.86181E06 5.38168E06 5.79555E06 6.16760E06 3.88086E06 4.87348E05 1.06215E06 6.21081E05 9.37116E04 5.82397E05 1.49370E06 1.53933E06 2.46299E06 4.55113E06 5.32742E06 5.42079E06 4.52491E06 4.29105E06 3.43488E06 1.91967E06 1.20608E06 8.39527E05 9.03271E05 3.60018E05 1.05662E06 1.82665E06 1.69540E06 1.81926E06 1.59980E06 1.28777E06 5.23183E05 1.41901E05 2.15849E05 2.34854E05 1.74646E05 8.46978E03 6.42018E04 2.39425E05 4.76248E05 6.20855E05 1.10368E06 1.16187E06 4.68508E05 1.95460E04 1.14813E05 1.73017E05 5.56755E04 1.20671E05 8.85660E04 4.81561E04 1.50119E05 9.26905E04 2.98084E04 1.37606E04 7.92310E04 3.17040E04 4.34823E03 7.33818E04 6.89780E04 7.63300E04 1.16701E05 1.23614E05 6.90284E04 8.14376E04 6.53897E04 5.41417E04 4.88762E04 2.39244E04 3.45159E04 2.79016E04 3.65642E04 4.52905E04 8.40986E04 7.56179E04 1.17942E04 2.82789E03 2.42942E03 7.66402E03 1.77552E04 1.64217E04 2.32975E04 2.89824E04 1.70581E04 4.67876E03 1.94327E03 6.38677E03 5.23235E03 2.61984E03 3.11825E03 3.29775E03 5.57977E02 1.58067E03 3.50845E02 3.90693E03 1.02318E04 5.24063E03 9.57696E02 1.20877E03 2.75499E03 7.11781E03 3.01369E03 5.54687E03 5.31377E04 1.18236E05 7.62833E04 1.78616E04 1.92938E04 3.41151E04 5.18189E04 5.50144E04 4.11199E04 1.86526E04 1.90404E04 1.53089E04 1.33790E04 4.91541E03 1.16824E04 2.47549E04 1.60243E04 7.87681E03 1.12719E03 5.49332E03 1.86384E04 4.07195E04 3.79043E04 7.14892E03 4.04671E03 1.89476E04 1.34208E04 2.67018E03 1.30628E04 3.13186E04 2.86155E04 2.96482E04 2.91566E04 4.30804E04 3.42330E04 2.21252E04 1.88522E04 3.95379E04 5.06812E04 1.28316E05 2.58188E05 1.92154E05 4.95085E04 1.02681E04 1.09179E04 7.33769E03 5.64208E02 6.24585E03 3.77186E03 1.49308E04 4.50498E04 4.64210E04 2.50189E04 6.25904E04 1.37191E05 1.26733E05 3.10209E04 1.83603E04 1.04937E03 2.03576E04 1.31869E05 1.17989E05 6.46496E04 5.02655E04 4.08757E04 2.84797E04 5.03844E04 9.95990E04 -Frame 257 1.41790E04 4.79951E05 1.41500E06 1.62807E06 1.40341E06 4.60628E06 6.67084E06 2.32788E06 9.00882E05 1.12598E06 1.03798E06 3.46616E06 3.94199E06 2.63701E06 4.87058E06 5.61837E06 2.03752E06 1.20975E07 2.47532E07 2.06916E07 1.76583E07 9.74846E06 3.68827E06 4.00776E06 5.12233E06 9.50070E06 7.61324E06 3.64488E06 2.84115E06 2.04274E06 2.12733E06 2.30699E06 1.88368E06 1.40180E06 1.00178E06 6.00490E05 9.01303E05 1.44131E06 1.39952E06 2.07530E06 2.14205E06 8.20919E05 1.58995E06 1.85801E06 5.79043E06 2.84966E07 2.98412E07 1.18037E07 2.22774E07 2.78431E07 1.98260E07 8.16423E07 5.28499E07 2.30430E07 2.09067E07 1.02368E07 2.26673E06 2.23700E06 3.68742E06 5.48307E06 4.58201E06 1.30433E06 1.18403E06 1.96003E06 1.61845E06 2.58897E06 1.61763E06 6.28952E05 3.96125E05 7.08739E05 5.13368E05 3.38623E05 6.66076E05 9.51938E05 8.90975E05 2.67596E05 5.41618E05 1.20340E06 1.87308E06 2.30945E06 1.05352E06 8.71795E05 1.20196E06 3.08178E06 9.32744E06 8.73557E06 2.36315E06 5.03196E06 1.30739E07 9.44100E06 2.12790E07 1.35325E07 7.37337E06 5.80499E06 1.67828E06 6.09603E05 1.14330E06 7.66574E05 5.87399E05 1.23243E06 4.53229E05 3.65091E05 6.40357E05 1.27808E05 7.23116E05 1.28901E06 1.70968E05 4.25377E05 7.18511E05 2.65669E06 3.78730E06 2.68453E06 2.36731E05 2.87458E05 2.66604E05 1.63126E05 5.29342E05 1.81572E05 3.16995E04 1.52618E03 7.97729E04 1.19834E05 5.97930E03 5.22296E04 1.74793E04 9.29423E04 4.19121E04 3.93197E05 7.09014E05 1.11680E06 4.58655E05 6.52475E05 1.32339E06 1.10237E06 1.78163E06 2.63055E06 1.36816E06 3.06012E05 3.74186E05 1.34647E04 2.57318E05 4.58573E05 4.86462E04 1.12844E05 1.12431E05 7.03188E03 2.87285E04 6.02214E04 4.97263E03 6.02432E02 3.74096E04 2.72848E04 7.94730E03 4.47473E04 7.60573E04 7.12733E04 2.09732E04 2.19699E04 1.82306E04 2.01415E04 1.69325E05 1.65949E05 9.62507E04 9.28390E04 5.72053E04 6.99647E03 3.01793E04 5.09997E04 1.86189E04 3.08914E04 6.22685E04 3.67452E04 2.16998E04 2.24002E04 6.30039E04 8.64593E04 7.59687E04 6.30574E04 3.42524E04 1.10923E04 6.12510E04 7.95571E04 2.84120E04 1.20684E04 5.54612E03 1.98371E03 1.06216E04 4.35409E04 3.38417E04 4.01827E04 9.08265E04 2.99782E03 4.60449E04 3.50020E04 6.55854E03 1.47467E03 1.60533E04 3.06521E03 2.34098E03 3.07800E03 3.41736E03 1.79327E04 5.14133E03 2.43573E04 4.43846E04 1.49138E04 5.90404E03 7.96818E03 2.37129E04 2.28112E04 5.46240E04 1.27364E05 1.27304E05 6.01502E04 1.25270E04 6.41894E03 7.02236E04 8.13978E04 4.24582E04 3.05315E04 6.77650E04 3.56932E04 4.57341E04 7.21367E04 6.24173E04 1.00433E04 6.17263E04 2.84879E04 6.24194E04 2.72063E05 1.14888E05 1.11592E04 8.85283E02 8.50126E03 4.83330E04 5.25330E04 3.79472E03 1.58567E04 5.22207E04 5.92977E04 3.84476E04 1.52001E04 2.95679E04 4.49242E04 1.78489E05 2.17431E05 3.24520E05 2.98141E05 2.07945E05 1.63965E05 3.40854E04 5.40661E02 2.00286E02 2.96089E03 1.62870E03 1.58159E04 7.17727E04 -Frame 257 8.43581E04 2.51358E04 3.01579E05 1.20696E06 1.26070E06 4.66673E06 6.53027E06 1.31525E06 1.32436E06 1.40959E06 4.77690E05 3.53867E06 3.46953E06 1.66952E06 5.17598E06 2.74068E06 4.32429E06 2.88541E07 1.94420E07 6.44591E06 3.69550E07 1.31872E07 3.39330E06 7.72151E06 6.94870E05 9.40481E06 1.38556E07 3.13714E06 4.63985E06 4.99548E06 7.38279E05 2.43054E06 2.10634E06 6.47369E05 2.53813E06 1.34927E06 4.10385E05 1.48957E06 9.90316E05 1.72816E06 2.52533E06 7.94242E05 1.48957E06 3.28947E06 3.74145E06 3.26397E07 4.73133E07 2.59707E07 7.13220E07 5.26739E07 4.57490E07 9.52537E07 4.49116E07 2.36204E07 4.70307E07 2.25890E07 2.84423E06 2.11929E06 2.44219E05 2.67423E06 5.13901E06 2.77287E06 3.32657E06 3.06707E06 6.12677E05 7.70395E05 1.37195E06 6.41537E05 1.11112E06 1.08207E06 2.85802E05 2.25416E05 1.79627E05 6.38297E05 2.30251E06 1.94410E06 8.20928E05 1.08952E06 3.73476E05 7.59636E05 2.66370E06 1.34868E06 2.08682E06 4.11426E06 7.43956E05 4.18278E06 5.70856E06 4.45088E06 4.02682E07 5.10209E07 1.35450E07 1.69968E05 3.30756E05 2.51831E06 5.22407E06 3.55160E06 1.10970E06 3.51691E05 2.44511E05 4.93155E05 1.41985E06 8.44539E05 3.03134E05 4.08869E05 1.72252E05 6.25934E05 1.44482E06 7.12754E05 1.62100E06 3.08749E06 2.31302E06 3.73139E06 1.36657E06 3.28312E05 4.44394E05 1.60201E05 2.14702E04 2.70813E04 1.20234E04 5.81378E04 5.07839E04 9.87027E03 3.25884E04 1.21307E05 1.81470E05 2.87914E05 3.51784E05 7.81373E04 1.32376E04 3.42530E05 6.15012E05 8.19570E05 1.40779E06 8.61533E05 1.33320E06 1.86272E06 8.09900E05 8.73195E05 1.28226E06 1.69395E06 3.23368E06 3.18556E06 1.36349E06 6.30796E05 1.64524E05 2.90883E04 1.34662E05 8.33973E04 2.86943E04 7.60007E04 2.81193E04 5.85159E03 3.39923E04 9.90431E04 1.59814E05 5.58572E04 7.75931E02 4.27662E03 7.45738E03 7.63701E04 1.03767E05 2.79489E04 3.45424E03 1.15850E04 5.80135E03 1.52744E04 3.85527E03 2.78216E04 2.08856E04 5.69270E04 5.92007E04 8.65250E05 1.12202E06 8.50101E05 4.95344E05 5.74555E04 3.20661E05 3.94703E05 2.59179E05 2.78670E05 2.96898E05 2.13478E05 1.13216E05 1.24119E04 2.97608E04 2.95127E04 5.00152E04 1.46756E05 1.61376E05 7.21351E04 1.22895E05 2.32087E05 2.53003E05 1.97102E05 6.40735E04 3.79039E04 3.69684E04 3.03723E04 8.46339E04 1.37543E05 1.27650E05 6.81700E04 2.38348E04 1.28233E03 3.14643E04 2.92334E04 5.53814E03 2.30912E03 7.21006E03 3.58294E04 3.28625E04 3.21631E03 2.07921E04 5.72759E04 1.64675E04 3.84196E04 8.92556E04 7.08246E04 6.14135E04 2.74803E05 2.95547E05 8.61958E04 1.67284E04 2.11978E04 1.58628E05 3.69012E05 4.05568E05 2.42045E05 1.18518E05 7.08580E04 3.52875E04 1.44920E04 4.81605E04 8.49973E04 2.47943E04 4.81874E04 1.74742E05 3.66468E05 4.64921E05 2.40512E05 2.19556E05 2.02445E05 3.00136E05 4.08919E05 4.35432E05 4.10414E05 7.27707E05 3.52975E05 1.03180E05 1.33024E05 4.94683E04 6.41043E04 5.15722E04 2.01855E04 8.90742E03 1.72201E04 2.63232E04 -Frame 257 1.44609E06 1.13781E06 1.43603E06 1.55293E06 5.51580E05 4.35286E06 4.78396E06 2.62516E05 1.42366E06 9.52094E05 5.15556E05 3.61303E06 1.39070E06 1.37678E06 4.31324E06 3.20608E05 8.96242E06 1.64362E07 1.83085E06 3.90816E07 3.53629E07 5.09820E05 8.59407E06 3.81765E06 3.50448E06 1.76900E07 6.19574E06 1.89667E06 7.48123E06 7.81854E05 1.55831E06 2.23670E06 2.78912E05 3.67244E06 2.63024E06 4.97299E04 9.52243E05 3.36656E05 1.75282E06 4.05745E06 2.66503E06 5.02258E06 6.70942E06 4.66132E04 1.40675E07 1.28689E07 2.85961E07 9.43988E07 1.92010E07 9.39795E06 2.26926E07 1.31605E07 7.52219E06 2.41052E07 4.50261E06 2.63959E06 3.63226E06 4.18382E05 2.07036E06 1.71750E06 8.19969E05 4.15439E06 2.85354E06 2.39138E05 1.44331E05 5.03424E04 7.74008E05 9.60445E05 1.43691E05 2.52870E05 6.96512E04 2.57017E05 8.09328E05 4.59753E05 2.62017E05 1.11172E06 1.52899E05 3.03353E05 3.41223E05 2.35455E05 1.53369E06 4.63085E05 1.11353E05 3.09026E05 8.39570E05 3.85344E06 9.36650E06 9.62503E06 7.59219E06 8.00762E06 1.66166E06 3.41951E06 1.86926E06 9.13480E04 3.77440E05 2.56681E05 1.03533E05 3.17771E05 3.05617E03 4.72649E05 9.59264E05 2.43473E05 1.30946E05 3.23290E04 2.96155E05 9.73059E05 8.60919E05 1.90565E04 3.54784E05 1.68144E05 1.66670E06 3.64435E06 1.79725E06 9.67032E04 1.46349E05 2.43212E04 6.69705E04 4.05564E04 1.07164E03 1.15944E04 1.43729E04 6.02306E03 5.36814E04 7.52392E04 1.25839E04 2.74612E04 3.17685E04 1.64994E05 3.42683E05 4.40942E05 1.75299E05 1.05879E05 4.18041E05 2.71483E05 7.43515E04 5.80900E05 7.56296E05 1.16781E06 7.37429E05 3.92616E05 1.66761E06 1.77563E06 2.44945E05 2.18027E05 4.18046E05 2.62312E05 8.42088E04 9.58756E04 2.40804E05 3.45737E05 1.50599E05 2.44669E04 9.67545E02 1.93526E04 8.22311E03 7.76399E03 2.84709E04 1.24600E04 2.51944E03 5.16017E03 2.84311E04 5.10174E01 1.66868E03 1.21872E03 9.25182E03 2.02910E04 4.94652E04 2.79124E05 6.20198E05 9.53579E05 1.26407E06 1.64674E06 2.06433E06 2.40365E05 7.20536E05 1.06642E06 6.48508E05 1.11886E05 4.37486E04 1.31820E05 1.53042E05 5.15087E04 1.14023E05 9.22123E04 4.28993E04 1.41944E04 1.42944E04 6.68769E04 9.13655E04 6.07185E04 7.09369E04 9.49924E04 6.76702E03 5.23717E04 7.05211E04 5.11005E04 3.89706E04 3.89384E04 8.76475E04 4.16489E04 1.01308E04 1.36006E04 2.65279E04 4.32722E04 2.99573E04 5.60811E03 4.71424E02 8.93427E02 2.19823E03 3.35173E03 3.31295E03 1.92561E03 3.60151E03 4.03493E04 6.48275E04 1.38006E04 1.79318E03 1.93804E04 3.55644E04 1.48216E05 9.21256E04 1.49523E03 1.12429E05 1.67707E05 2.10197E04 2.69670E04 4.52616E04 6.65631E04 4.66018E04 1.39405E04 2.74023E04 4.12144E04 8.07639E04 8.59574E04 3.45101E04 5.54443E03 3.26589E04 1.70685E05 2.40404E05 2.63898E05 7.10249E04 7.89071E04 4.24446E05 3.13545E05 1.29928E03 2.96826E05 2.45648E05 1.12712E05 1.29582E05 1.00226E03 1.24962E05 1.36061E05 2.93095E04 1.01179E03 1.75525E03 2.07009E02 2.82236E03 -Frame 257 3.28462E06 8.36052E05 5.52390E05 1.43039E06 2.25710E05 3.98386E06 3.43249E06 1.23949E04 1.62290E06 4.73277E05 9.09788E05 3.39536E06 3.09022E05 1.93454E06 2.78776E06 2.96861E05 8.87893E06 5.23032E06 1.29704E07 4.44654E07 1.71349E07 3.12380E06 9.77859E06 1.59727E06 1.30143E07 1.56290E07 8.26940E04 8.16316E06 5.73196E06 4.71223E05 1.68370E06 9.46642E04 2.66176E06 4.51743E06 2.71992E05 9.10516E05 8.49555E05 4.57282E05 3.44928E06 1.02307E06 2.82300E06 7.17818E06 6.60135E05 9.48529E06 3.01519E06 5.28520E07 1.40535E08 5.38936E07 7.15136E06 9.24982E06 3.77966E06 8.74641E06 7.96752E06 7.39693E04 4.56160E06 4.63467E06 7.41688E05 7.61270E05 2.60814E05 9.11578E05 3.09567E06 6.00716E05 3.19017E05 6.35591E05 2.30448E05 4.97136E05 4.96145E05 1.56216E04 3.31804E05 1.88043E05 1.03850E05 1.24503E05 3.80014E04 8.46079E05 6.75107E05 4.43208E04 2.32884E05 1.07738E05 1.35783E06 3.14286E06 1.06692E06 6.32028E04 1.60802E05 4.87343E02 2.39617E05 7.09709E03 7.01245E05 8.99430E05 5.85427E05 1.32955E06 1.94744E06 7.72661E05 8.52148E05 1.18321E06 2.36664E05 2.44238E05 4.12131E05 4.99191E05 5.17936E05 5.91017E04 3.15670E05 5.19391E05 4.80333E04 2.69021E05 2.17458E05 1.96708E05 1.15422E06 4.16195E05 4.76082E05 1.67575E06 1.18140E06 1.86276E06 1.16533E06 1.20509E03 2.42246E05 2.51921E05 4.95375E04 5.94280E04 3.50966E04 5.70861E03 9.60341E03 8.70126E03 4.62866E04 4.88349E04 4.56202E03 2.88056E04 4.59506E04 6.70743E04 3.21433E04 1.46383E04 8.80048E04 8.84038E03 4.00216E04 1.40643E04 1.90311E04 1.78210E05 1.54865E05 5.32870E04 4.57507E05 9.15131E04 1.08344E05 2.09837E05 1.07168E05 7.77389E03 1.61541E05 5.05126E04 2.15173E04 1.50397E05 2.76100E05 1.41237E05 7.31292E03 1.59382E04 6.08666E03 1.05516E03 2.16935E03 1.16607E04 2.67385E04 1.78115E04 1.76940E04 4.58655E04 8.28091E04 6.28006E04 3.71589E04 6.79701E04 1.22808E05 2.47839E05 3.44581E05 4.77396E05 1.73441E05 1.19977E05 1.53471E06 2.43111E06 4.08329E06 1.58440E06 4.06629E05 4.19657E04 4.09605E05 2.99251E05 1.48839E04 3.52814E04 1.18176E05 2.83971E04 1.02802E03 1.66651E03 1.09599E04 1.60500E04 4.84273E03 9.61403E02 3.42238E02 1.13328E04 1.18229E04 6.66947E04 7.63605E04 1.02405E03 1.25323E04 5.41035E04 9.88542E04 1.43910E05 1.53865E05 2.89455E04 2.17292E04 1.03252E04 8.14373E03 1.12502E03 4.01095E03 1.51949E02 9.53580E02 7.57759E01 5.27915E02 2.51941E02 2.28501E03 8.40632E03 5.74229E03 2.90474E04 2.90119E04 4.05047E03 2.62458E03 9.40724E03 3.64234E04 4.77384E04 6.45927E03 2.91416E04 8.32821E04 9.86810E04 2.20374E04 6.41856E03 2.48538E04 2.03083E04 2.93510E03 6.58953E02 1.77104E04 2.43586E04 1.08000E04 4.35091E04 1.44450E04 2.50167E04 3.46888E03 1.27709E04 1.54851E04 8.33626E03 1.61135E04 7.88379E04 5.43933E04 3.32319E03 1.18341E05 1.35831E05 6.71062E04 8.71060E03 2.01372E04 1.53790E05 1.20659E05 6.66791E03 4.05101E04 1.46563E04 4.53678E03 4.78141E03 6.06382E03 -Frame 257 3.67521E05 9.76541E05 1.31244E06 1.22724E06 1.08466E05 3.51392E06 2.36006E06 4.44026E05 1.79328E06 4.30471E05 1.49762E06 2.69674E06 5.15420E05 2.45966E06 1.95282E06 1.71616E06 6.82379E06 5.40975E06 2.45148E07 4.04280E07 9.75977E06 8.81078E06 8.03317E06 6.74369E06 1.49070E07 6.72647E06 6.85678E06 1.10298E07 2.71425E06 1.34070E06 1.02767E06 1.16728E06 4.26417E06 1.46360E06 8.93220E05 1.61047E06 6.17039E05 1.92173E06 1.92642E06 6.67012E05 5.87359E06 4.37541E06 9.96195E06 1.46240E07 3.48271E07 1.01507E08 7.82138E07 1.48852E07 6.85891E06 3.85088E06 2.89195E06 3.07802E06 1.54245E06 2.97228E06 3.14399E06 9.06266E05 4.48315E05 1.19473E05 7.15547E05 1.96399E06 5.85732E05 4.76748E05 6.49913E05 4.89808E05 3.40537E05 1.55437E05 1.61657E05 3.25712E05 5.74197E04 9.59756E03 5.39977E03 8.08958E04 4.63609E05 4.63916E05 1.85427E05 1.69142E05 1.78432E05 6.79944E05 1.22540E06 1.01640E06 2.14322E06 1.63084E06 1.55026E06 1.20350E06 1.89920E05 1.72638E05 4.85487E05 1.26335E05 9.95902E04 9.45510E04 3.20171E05 4.71074E05 3.83265E05 4.83123E05 1.99256E05 1.05582E05 1.01361E05 5.51503E04 1.33981E05 2.33937E05 1.76923E05 5.52388E05 5.75868E05 2.53963E05 3.59272E05 1.91607E05 1.27365E06 1.46854E06 4.60392E05 1.67574E06 1.73139E06 1.02939E06 1.24667E06 4.40505E05 1.44023E05 2.70907E05 7.51887E04 2.70256E04 1.71462E04 1.77365E03 2.23008E04 1.29037E04 5.23278E03 1.06367E04 1.75139E04 4.64866E04 2.76302E04 6.17490E04 4.35579E04 9.06022E04 1.75322E05 8.32419E04 1.86379E04 9.04069E04 6.28738E04 9.51640E04 3.56962E04 2.75757E04 1.67171E05 1.71900E05 1.39655E04 9.24617E03 4.76576E03 4.30846E04 5.13722E04 7.65966E03 7.88772E04 9.37924E04 1.26425E03 2.28428E04 2.82467E04 1.13856E04 9.36475E03 2.51280E04 3.54183E04 2.75265E04 6.39545E03 1.14038E03 3.11256E03 9.29895E03 4.89808E04 3.06157E04 2.49921E04 6.93241E04 6.56729E04 2.21575E05 8.58458E05 5.99960E05 2.24938E05 2.81176E05 1.81032E06 7.77498E06 6.17305E06 7.73556E05 1.43876E05 5.68648E05 7.78755E05 4.79712E05 1.80818E05 6.69359E04 3.43744E04 6.39298E03 8.40884E03 5.04045E03 1.01113E03 1.95331E04 1.71543E04 9.72346E03 4.45291E03 8.22164E02 2.44832E04 3.33786E04 8.44062E04 1.12037E05 3.35364E04 5.19581E03 9.39554E04 1.57128E05 2.35417E05 7.68069E04 5.90665E03 2.86200E04 1.53972E04 1.07065E04 7.80463E03 2.40946E03 6.21645E01 1.28449E03 3.11463E03 7.48385E03 5.06942E03 4.19444E03 1.01784E04 4.40371E03 2.45234E03 4.23295E03 7.53212E03 8.69988E03 6.27133E03 1.34495E04 1.07958E04 1.03581E04 1.49109E04 1.73794E04 6.88493E03 3.22563E04 2.82877E04 1.52067E04 2.55346E03 1.15594E02 7.69562E03 1.75103E04 1.26412E04 2.48635E04 3.44396E04 1.46723E04 2.39349E04 3.75952E04 1.40949E04 5.67038E03 1.96574E04 4.00702E03 1.56197E03 5.83500E04 6.42898E04 2.77195E03 1.74122E03 2.07247E04 2.91226E04 5.64580E04 8.52335E04 9.22512E04 8.52837E04 1.98606E04 2.43134E03 5.37364E02 3.68162E02 -Frame 257 1.14384E06 8.19763E05 4.61619E05 7.45517E05 7.57246E05 2.93544E06 2.26808E06 1.35202E06 1.18901E06 8.65995E05 1.99336E06 1.63325E06 1.62441E06 2.98976E06 1.43018E06 3.36904E06 5.27267E06 9.72430E06 3.38905E07 2.92585E07 1.25078E07 1.02495E07 6.08500E06 7.40319E06 7.96381E06 7.42225E06 1.12907E07 6.55006E06 2.53270E06 1.11574E06 1.24923E06 2.91851E06 2.35243E06 1.32916E06 1.73952E06 1.30389E06 1.72663E06 7.29088E05 2.01633E06 5.69558E06 4.50787E06 5.64058E06 1.02074E07 8.69025E06 2.25019E07 2.98593E07 1.59080E07 6.67222E06 2.27205E06 1.12962E06 1.69443E05 5.74363E05 1.53123E06 7.10007E05 3.93835E05 2.15379E05 1.88329E05 6.23605E05 4.41535E05 4.56979E05 9.08096E05 3.79292E05 1.60085E05 1.11698E05 1.80655E05 4.97598E05 1.68275E05 5.16477E04 5.13394E04 2.39254E04 4.40433E04 6.79619E04 9.14515E04 1.29287E05 1.22119E05 3.23879E04 5.04111E04 3.58124E05 7.43525E05 5.61674E05 3.98239E05 2.89505E05 6.10773E05 1.70641E06 8.01133E05 2.22383E05 2.82671E05 5.75465E04 4.23704E04 7.53982E04 9.57294E04 1.61580E05 6.15714E04 4.72034E04 8.34447E04 1.13601E05 8.06676E04 3.99839E04 4.58786E04 1.33246E05 2.36251E05 2.05708E05 1.89387E05 2.28773E05 3.98612E05 5.13188E05 9.40473E05 2.71679E06 4.17153E06 5.65435E06 3.11940E06 5.10278E05 5.47267E05 6.12107E05 4.31956E05 3.16151E05 4.60609E04 1.10136E04 9.74527E03 1.76898E04 9.68111E03 3.10240E04 3.02290E04 3.40300E04 5.46353E04 3.56357E04 3.38118E04 1.47722E04 2.73789E04 1.50817E05 3.03302E04 2.34445E04 8.40305E04 8.29475E04 2.23380E05 2.34556E05 2.53532E04 4.82145E04 4.03782E03 1.39710E05 1.75846E05 5.23411E03 5.40287E04 4.94037E04 6.13647E04 9.36321E04 3.12075E04 4.03712E04 6.51153E04 1.44371E04 1.26210E04 5.25700E03 2.37499E04 2.75704E04 8.49694E03 2.70106E04 7.33800E03 2.18541E04 8.25211E03 2.71758E02 1.25925E04 1.88765E04 1.34331E04 3.76447E03 3.00962E04 1.53042E05 2.08234E05 6.27830E04 1.13148E05 2.82668E03 4.41090E05 3.16536E06 2.94241E06 8.41337E05 1.27625E05 1.12609E05 1.39931E05 5.02409E03 5.18123E04 3.28096E04 4.86144E03 1.72108E04 2.78494E04 2.24179E04 1.16144E04 3.86472E03 1.30260E03 2.21509E02 5.17405E03 1.28460E03 1.69417E04 7.95092E03 7.14716E04 1.41684E05 1.51701E05 1.46561E05 7.53315E04 6.49497E04 7.24412E04 4.89821E04 2.20661E04 5.85338E03 3.19668E03 2.37998E02 2.45811E03 2.19057E03 2.90032E02 2.30642E03 8.74525E02 7.37985E03 1.83516E04 1.18139E04 9.84131E03 9.48288E03 4.27938E03 5.17876E03 8.03984E03 1.56069E04 8.78780E03 2.33619E03 4.96206E03 9.43274E03 1.71997E04 1.31505E04 7.68738E03 4.65685E03 1.03172E03 9.37377E00 5.72158E03 5.52002E03 1.91589E02 4.32670E02 3.17265E03 1.62424E02 6.47100E03 1.40432E04 1.19708E04 3.68019E03 6.15264E03 1.30533E04 2.37375E04 2.88088E04 2.19285E04 4.38442E04 7.37906E04 1.07239E05 1.10696E05 1.01025E05 5.86190E04 3.77480E04 1.78599E04 1.52566E04 1.50956E04 2.91302E04 3.18940E04 1.56025E04 3.93074E03 -Frame 257 2.13052E06 7.47608E05 1.68443E05 6.52018E05 9.60186E05 2.71594E06 1.83859E06 1.18088E06 1.29402E06 1.03269E06 1.86626E06 1.66471E06 1.59829E06 2.73395E06 2.18280E06 3.18076E06 3.91361E06 1.20652E07 3.74070E07 1.97811E07 6.74351E06 7.00231E06 3.10760E06 6.15454E06 5.39472E06 4.98960E06 9.06608E06 3.91028E06 9.61904E05 8.25379E05 1.24129E06 2.85190E06 1.71803E06 7.02175E05 8.64273E05 6.84029E05 1.70966E06 2.21680E06 5.03790E06 8.96797E06 7.77632E06 1.17767E07 4.18304E06 5.86420E06 1.70097E07 6.94592E06 2.35117E06 2.12907E06 3.98924E05 8.70962E05 1.13831E06 1.32257E06 1.49241E06 4.65854E05 1.42239E05 7.25166E04 2.13544E05 6.11788E05 4.33027E05 3.08045E05 2.79491E05 9.09266E04 2.02528E05 1.99660E05 2.13184E05 2.58589E05 1.04183E05 1.91609E04 1.15462E04 4.98766E03 2.07504E04 4.11330E04 6.36466E04 7.63763E04 1.38282E04 5.71060E04 1.42233E05 3.87076E05 4.66501E05 2.41422E05 1.63480E05 8.06665E04 2.07742E05 9.33276E05 1.03371E06 7.00413E05 3.92509E05 9.54371E04 7.32916E04 1.17986E05 1.71622E05 2.05003E05 9.23503E04 5.45841E04 3.11098E04 9.39872E03 4.26426E04 8.28397E04 9.54782E04 6.95847E04 3.15534E04 3.54201E03 3.00889E04 1.13512E05 2.85547E05 2.87583E05 4.33568E05 3.57783E05 2.97090E05 2.29944E06 2.59076E06 7.26025E05 4.10475E05 1.04777E05 1.75311E05 3.41440E04 3.53326E03 8.54735E02 8.10804E02 5.10321E03 8.79411E03 1.15624E04 1.91295E04 4.11896E03 8.05647E02 4.55329E03 9.14397E03 1.96028E04 2.65201E03 1.02515E05 8.15233E04 2.04183E03 2.23768E04 2.08945E04 2.27736E05 3.09857E05 8.05858E04 4.07066E05 1.53405E05 1.43951E05 2.21552E05 8.52586E04 2.07545E05 1.03046E05 6.07647E04 9.75603E04 9.25574E03 1.42734E04 4.57172E04 2.59905E04 1.34144E04 2.15069E03 1.13079E04 2.16830E04 1.52005E03 7.01970E03 2.37960E04 2.27489E04 1.54114E04 5.09463E03 4.21295E03 1.79070E04 2.24261E04 3.69969E04 4.42433E04 3.93678E03 1.56269E05 3.69073E05 4.34419E05 1.93299E05 5.99842E05 1.60116E06 2.50580E05 7.87499E04 6.30614E05 4.46439E05 3.23352E04 1.11588E04 3.03148E04 9.38022E04 7.06128E04 3.04551E04 3.53301E04 2.81280E04 3.67013E03 7.07023E02 2.62790E03 6.46986E03 2.55038E04 2.39503E04 3.83719E04 4.50294E04 6.11576E04 3.36419E04 2.14872E04 6.80557E04 6.17267E03 4.93637E04 1.36400E04 5.07825E03 1.12994E04 1.45116E04 1.63470E04 9.26722E03 7.72696E03 6.81692E03 3.14549E03 6.53177E03 6.93528E03 3.77271E03 1.04112E04 2.60663E03 2.09979E03 8.93897E03 3.79434E03 1.71639E03 5.38108E02 1.37940E03 8.59904E03 1.08311E04 9.00169E03 3.98212E03 1.78036E03 5.96588E03 8.07439E03 9.20573E03 2.04991E04 2.97116E04 1.60475E04 7.86303E03 2.18750E03 2.49110E03 5.50977E03 1.02770E04 1.41580E04 5.08366E03 4.75387E02 3.17652E03 1.72888E03 4.72937E01 1.71004E03 1.32850E04 5.82739E03 2.56597E03 2.95610E03 2.93342E03 3.15847E04 5.73686E03 9.09110E03 9.33342E03 2.10425E03 1.04503E04 8.32114E03 4.37236E03 3.12088E04 2.09173E04 4.68073E03 -Frame 257 3.10068E05 3.79756E05 9.77538E05 8.83908E05 1.17920E06 2.38953E06 1.06637E06 6.50894E05 1.01502E06 5.96042E05 1.76464E06 1.10567E06 1.34816E06 2.14975E06 9.64437E05 2.92744E06 1.20818E06 1.17002E07 3.35787E07 7.64327E06 4.05926E06 4.36308E06 2.17311E06 8.57212E06 3.77778E06 4.36420E06 5.22758E06 1.30396E05 9.28909E05 5.47657E05 1.84691E06 2.61373E06 6.14585E05 5.08083E05 2.87097E05 1.96502E06 3.61074E06 2.45504E06 5.03311E06 4.64519E05 8.88932E06 1.24026E07 4.17657E05 5.62873E06 6.12269E06 2.43919E05 4.45733E05 1.22681E05 6.30696E05 6.57919E05 1.17116E05 4.63021E05 1.16221E05 9.18724E04 2.01080E05 1.05637E05 3.26343E05 1.59135E05 1.16656E04 4.36124E04 3.16977E04 2.55564E05 1.55531E05 1.23457E04 1.03546E05 3.33615E04 2.05869E04 1.56835E04 1.50299E03 3.41149E03 2.67704E03 1.50574E04 1.20268E04 2.79065E03 1.48797E04 1.29954E04 5.59516E04 7.55509E04 4.84258E03 7.04925E04 1.88139E03 3.40395E05 4.69238E05 1.82239E05 6.27361E05 3.48004E05 1.09770E04 1.10064E05 9.35829E04 2.53299E05 7.86720E04 2.85743E03 2.68445E04 7.36956E03 8.36805E04 6.55594E04 1.11301E05 2.01946E05 7.70052E04 6.02775E03 1.15506E04 6.29641E04 1.67663E05 4.84130E04 5.00416E04 7.69326E03 7.31101E04 3.36473E05 2.13502E05 3.39247E03 3.03366E05 1.40194E05 8.46366E05 9.92273E05 2.05168E05 1.21685E04 2.11699E04 1.40708E04 1.50864E04 2.58763E04 1.53809E04 4.54234E03 2.27607E04 2.86644E04 1.70664E04 1.94820E04 4.80441E03 5.80023E04 9.58009E04 1.97206E05 3.35550E05 1.68128E05 1.81480E05 4.02533E05 1.00543E06 1.57928E06 1.36215E06 1.20080E06 7.71963E05 3.05173E05 1.38145E05 1.00890E05 2.01524E05 2.28571E05 1.22149E05 8.81268E04 2.44162E04 9.44692E03 3.56433E04 2.17824E04 1.42902E04 3.14158E04 2.82159E04 2.83664E04 1.33865E04 2.45950E03 4.98268E03 3.60710E03 3.11002E03 7.39506E00 5.03333E03 1.46251E04 1.00002E04 1.74387E04 1.64474E04 2.36913E05 2.79634E05 4.23372E04 3.13387E05 9.01306E05 6.47572E05 1.67568E06 2.08539E06 2.37128E06 3.40307E06 1.53057E06 2.86729E05 6.06917E04 3.55938E04 4.06877E04 3.96356E04 3.17371E04 2.11780E04 3.64456E04 1.41444E04 3.02466E02 6.72322E03 5.25349E03 1.43078E02 5.40207E01 3.26232E03 1.49306E04 3.09246E04 7.70742E03 2.55783E04 4.55059E04 6.62888E04 3.27914E04 1.51597E03 1.15180E03 7.25945E03 1.66830E04 4.57529E03 3.58210E02 1.13079E03 1.17163E04 9.20440E03 6.30841E03 6.83247E03 3.84777E03 5.85113E02 4.29364E03 3.25704E03 2.31506E03 2.52776E03 1.73725E03 3.44617E03 4.09473E03 1.44012E04 2.99364E04 1.77433E04 3.50860E03 3.67678E03 2.09329E03 6.70299E02 1.01071E03 9.56000E03 4.07764E04 1.78306E04 4.09097E03 9.04641E03 3.63050E03 2.71470E03 2.66697E03 4.39359E01 3.01913E03 5.13685E03 3.80545E01 4.32469E03 7.39852E03 9.18941E03 3.08637E03 4.42544E03 4.25601E03 7.89490E03 3.74514E04 1.98720E04 1.15748E04 5.05742E04 7.68043E04 1.35322E05 1.40965E05 4.45048E04 6.76513E03 4.39756E04 9.30013E04 8.13976E04 -Frame 257 1.56582E05 2.01359E05 8.07115E05 6.84079E05 5.21011E05 2.09356E06 4.50946E05 5.23132E05 7.65172E05 1.63600E05 1.59063E06 4.21964E05 1.06344E06 1.54084E06 1.52635E05 2.70412E06 1.08042E05 1.57116E07 2.51713E07 1.82858E06 5.47094E06 1.40300E06 3.52777E06 8.56990E06 3.99736E05 3.39320E06 2.04553E06 7.33630E05 1.34319E06 2.12716E05 1.94612E06 1.20213E06 9.13169E04 6.24569E05 3.39696E04 2.59073E06 2.38130E06 7.61902E05 4.08642E06 5.62891E06 1.47210E07 8.29161E06 5.82690E04 3.57606E06 1.26432E06 2.73845E05 1.14330E05 2.38481E05 9.99388E05 4.21211E05 3.85912E04 1.93850E05 5.11357E03 2.75724E05 1.60687E05 5.04157E04 1.27323E05 5.14398E04 8.49088E04 1.85506E04 7.13702E04 1.21078E05 1.89994E04 8.25774E04 1.98216E04 4.53662E04 7.53435E04 7.15249E03 1.02732E03 3.59516E03 1.78713E04 1.65094E04 6.21428E03 7.51946E03 4.68454E04 1.18033E05 1.01359E05 7.83626E03 7.36849E03 1.50134E04 3.22752E05 5.69213E05 2.62188E04 2.90809E05 1.91874E05 2.52737E05 2.58206E05 8.88022E04 3.51275E05 2.16978E05 2.14583E04 8.83590E03 2.14602E04 1.23206E05 1.05756E05 5.67587E03 3.74534E04 1.08661E04 2.38147E05 2.03907E05 3.64177E04 1.14133E05 9.51223E04 8.50354E04 3.08517E04 8.79552E03 7.49385E04 3.51214E04 1.10847E04 2.31146E03 1.47097E05 5.84707E05 6.72845E05 1.82660E05 1.71886E05 4.87310E03 5.72515E04 7.73241E04 6.81566E03 7.18280E03 2.35729E02 1.68715E04 3.15192E04 9.56143E03 3.28937E03 1.03085E04 4.49048E04 1.03494E05 1.02350E05 1.67812E05 3.18029E05 2.82345E05 3.37288E05 3.01429E05 6.41762E05 1.01854E06 1.36585E05 1.77455E05 3.29962E05 9.65833E04 4.62594E04 4.91222E04 1.11587E05 6.94605E04 1.09666E04 2.43825E04 3.12893E04 7.86367E03 2.84053E04 3.63573E04 2.33427E04 3.33941E04 2.02746E04 2.42045E04 1.80649E04 7.14849E02 5.93411E03 1.02858E04 4.93024E03 1.50713E03 4.43114E03 1.49210E04 1.86103E04 6.27420E04 3.51492E05 3.55684E05 6.81187E04 3.49004E04 5.71182E05 1.30397E06 7.86318E05 9.88538E04 3.33037E05 1.77162E06 2.34632E06 3.02785E05 7.45415E04 5.39427E04 9.48398E03 4.97849E02 1.60399E04 5.67199E04 4.09077E04 3.95227E04 3.07324E04 1.86627E04 1.07307E04 4.40453E03 2.37328E03 7.26313E02 6.30533E02 2.72636E03 8.98493E03 1.73107E02 2.40600E04 1.62928E04 1.65510E04 9.66166E03 2.00443E04 1.75646E04 9.78614E03 1.58663E04 1.95753E03 3.56251E03 1.83861E04 1.39841E04 8.50418E02 6.68517E02 2.48578E03 4.30994E01 4.98339E03 4.00185E03 2.10214E03 7.22429E03 2.86217E03 9.99183E02 2.67609E03 1.94871E03 6.06247E03 1.14848E04 8.61808E03 2.48153E03 4.61896E03 1.33041E03 2.28794E03 3.49653E03 1.79138E04 2.20673E04 4.95276E03 7.15006E01 1.08683E03 1.41987E03 3.68386E03 1.52876E03 1.76112E03 4.96081E03 7.51799E03 1.02154E04 4.00604E03 5.42629E02 7.43108E03 6.25215E03 1.02225E04 1.07873E04 7.32023E03 4.28205E04 7.88195E04 5.95028E04 2.81188E03 1.20012E05 2.75005E05 1.11092E05 8.39066E03 2.67854E04 5.64641E04 4.32679E04 1.36191E03 -Frame 257 6.71220E05 2.06483E05 4.56871E05 3.59598E05 3.51456E05 1.88186E06 6.38245E05 6.67447E05 5.06370E05 3.46953E05 1.47265E06 3.41082E05 1.33847E06 1.21937E06 8.24589E05 2.46172E06 3.11823E06 1.91930E07 1.81271E07 5.33531E06 4.90362E06 1.61889E06 6.47253E06 5.71941E06 1.18639E06 3.07621E06 1.79074E06 1.55017E06 8.07969E05 4.18282E05 1.99241E06 8.61744E05 5.89906E05 8.89265E04 9.76090E05 2.61301E06 7.40602E05 1.90912E06 2.96083E06 6.92027E06 1.10357E07 2.00045E06 2.44855E06 2.02658E06 7.56712E05 3.24422E05 2.73736E03 4.60204E05 7.02112E05 1.36078E05 7.14144E04 1.67647E05 4.25278E05 2.35063E05 5.08329E04 1.34768E05 9.91902E04 8.80218E04 5.99463E04 4.11781E03 5.66510E04 8.11294E04 9.37117E04 4.06786E04 2.43747E04 1.17702E05 9.31960E04 4.23259E04 8.34675E03 1.17392E03 1.22278E04 6.59600E03 3.78531E03 9.35924E03 5.46177E04 1.09161E05 3.86292E04 6.12817E03 3.43382E04 2.83113E05 4.97380E05 3.03890E05 3.62659E05 2.17765E05 3.13267E05 2.92303E05 8.55459E04 2.34857E05 1.64326E05 7.32103E04 1.90696E04 1.01440E04 9.56052E04 8.71318E04 3.87933E04 1.31373E04 1.70568E04 1.81678E05 2.71391E05 1.39814E05 1.35880E05 1.07655E05 1.00388E05 8.31484E04 1.14882E04 2.28489E04 3.53558E04 8.15955E04 4.66450E04 4.92170E03 5.01699E04 3.46542E05 5.85984E05 2.00886E05 9.90788E04 9.45237E04 1.27982E04 4.62867E04 3.51650E04 1.66007E04 1.15473E04 1.32992E03 4.99765E03 2.37878E03 5.23393E03 1.09308E04 2.65056E04 1.45398E04 1.61462E04 1.14620E05 2.70605E04 9.40288E04 1.54326E05 5.72866E04 3.90268E05 1.78731E05 6.97746E04 7.57830E04 4.71961E04 9.97853E04 2.42277E04 2.21433E04 6.11029E04 1.14132E04 9.44958E03 1.00735E03 9.11952E03 2.60037E04 4.87300E04 2.02758E04 1.12144E03 1.78375E04 4.48029E03 3.62344E03 1.89165E04 2.78533E04 1.37258E04 3.45243E03 1.16117E04 9.20772E03 6.17767E03 8.09133E02 2.48003E04 7.77895E04 1.77753E05 1.58167E05 1.03141E05 1.87977E05 7.37999E05 1.78413E06 5.19421E05 2.80476E05 7.99172E05 1.02952E06 2.08505E06 7.49022E05 1.20221E05 4.29523E05 2.18239E05 4.91137E04 1.34645E04 7.37152E04 7.94517E04 5.14706E03 5.61989E03 1.47975E03 1.96342E03 4.82572E03 9.33750E03 1.12429E04 8.96853E03 3.40145E03 1.10776E04 3.45045E04 7.87747E04 3.39724E04 6.23461E02 7.79932E03 1.83288E04 4.56148E04 3.51492E04 2.11120E03 7.70777E03 8.68955E03 5.49959E03 7.89393E03 4.98136E03 2.94831E03 5.05420E03 2.78947E03 2.12541E02 3.60698E03 6.31470E03 8.24743E03 1.02039E04 4.13770E03 6.69557E01 1.85656E03 9.56770E02 3.99252E03 2.39494E03 1.44803E04 3.08437E04 1.18901E04 2.73674E03 3.36819E03 6.01876E03 6.78755E03 3.63135E03 3.51837E03 1.64427E03 2.22629E03 4.01502E03 3.10769E02 1.80677E03 2.50294E03 3.32010E03 8.84187E03 4.33303E03 1.90388E03 5.71990E03 4.10821E03 3.64826E03 2.74576E03 1.23610E04 2.57076E03 5.63425E03 1.13639E04 4.03186E03 7.86402E04 8.04359E04 2.07809E02 2.10439E04 6.93875E03 1.36269E04 2.04024E04 1.40318E03 -Frame 257 3.04831E05 3.15926E05 3.34770E05 3.72145E05 5.97245E05 1.67892E06 8.09677E05 7.33227E05 6.33960E05 7.95173E05 1.18193E06 9.62097E05 1.69781E06 1.22511E06 1.95451E06 2.22150E06 7.44383E06 2.09498E07 1.44042E07 5.19443E06 3.75005E06 4.78398E06 6.24486E06 3.63491E06 3.07062E06 2.30502E06 1.06682E06 8.37684E05 9.48989E05 1.90674E06 1.30058E06 5.48204E05 3.21357E05 9.04522E05 2.77834E06 1.96611E06 1.68963E06 2.29512E06 3.50795E06 1.07227E07 7.04089E06 3.41278E06 2.50122E06 8.90973E05 2.97894E05 2.78586E05 6.03079E05 4.05106E05 1.44301E05 7.75459E04 3.32752E04 1.50694E05 1.74543E05 9.22435E04 6.80818E04 2.48597E04 1.76090E04 2.00322E04 3.03340E04 3.50223E04 1.94135E04 7.88681E03 1.29745E04 7.11822E04 5.27126E04 1.87882E04 6.70149E02 2.12046E02 1.28264E04 9.53670E03 1.32056E04 5.16636E03 1.24955E04 8.04691E04 6.81507E04 2.44800E04 1.78754E04 7.73060E04 3.40013E05 4.67738E05 3.34503E05 2.27882E05 2.20723E05 1.80521E05 1.68347E05 2.13419E05 1.27915E05 6.86806E04 4.70398E04 2.86289E04 8.48828E04 1.17371E05 1.04165E05 4.30069E04 2.06885E04 3.84358E04 4.32319E04 4.49698E04 6.49854E04 6.82749E04 3.97345E04 3.49686E04 1.36957E05 2.60744E05 1.77117E05 6.32562E04 3.50857E04 5.32823E04 6.56472E04 5.97140E04 3.99996E04 2.15732E05 4.97669E05 1.87108E05 4.78214E04 8.16638E04 8.78819E04 5.11021E04 9.30398E03 4.42832E02 9.61246E02 6.94199E03 4.21952E03 2.51853E03 1.86584E03 9.08207E03 9.41535E03 2.12280E04 2.50328E04 2.74316E04 6.11672E04 2.06115E03 3.29516E04 4.29324E03 2.53941E05 3.16664E05 8.61449E04 1.28451E05 8.39518E04 3.94087E04 7.51476E04 3.61905E03 2.74835E04 9.45212E03 1.28744E03 5.29581E03 1.71293E03 9.11204E02 2.16709E04 1.33617E04 3.74946E02 4.83403E03 9.58556E03 3.53357E03 9.31426E03 9.29653E03 2.92585E02 4.17207E03 9.04732E03 1.15763E04 8.70647E03 5.85195E03 1.36523E04 1.00334E04 5.14877E04 6.50160E04 6.48006E04 7.12715E04 3.22967E05 1.12905E06 6.86883E05 9.02815E05 1.67214E06 4.46106E05 5.17503E05 8.16230E05 6.45849E05 4.11019E05 1.53190E05 7.51485E03 1.87696E04 4.87474E04 5.63344E04 1.97969E04 1.30132E03 2.39946E03 9.09357E02 4.13682E03 7.71348E03 1.54131E04 1.57457E04 1.54393E04 3.73919E03 5.06139E03 3.92774E04 6.18868E04 2.81141E04 7.30728E03 2.65806E03 1.38880E04 2.19423E04 8.17903E03 1.23219E03 1.38771E02 8.78041E02 2.22915E03 2.60225E03 8.01284E02 2.39796E01 1.43398E03 3.63830E03 1.86039E03 3.50814E02 5.88185E02 1.30617E03 4.63433E01 3.26831E03 8.38218E03 1.13854E04 8.56949E03 4.68473E03 2.14540E04 3.60559E04 1.11978E04 5.96378E02 1.07629E03 2.30300E03 1.91161E03 2.82024E03 4.95896E03 7.80066E03 1.22578E04 7.49584E03 1.34470E02 8.75210E02 3.00936E02 1.27209E03 3.79196E03 2.16075E04 1.62080E04 1.48500E03 5.99796E03 3.72892E03 1.77400E04 1.61311E04 3.58515E02 1.51056E04 2.00615E04 5.22278E04 6.32211E04 5.22417E04 7.62960E04 1.89670E04 1.92697E03 1.69670E03 2.04729E04 4.97677E04 -Frame 257 1.71546E04 8.78571E04 2.38811E05 4.48869E05 8.73515E05 1.34038E06 6.34533E05 6.64482E05 6.63002E05 7.76005E05 1.01789E06 8.11874E05 1.43818E06 1.09737E06 1.59529E06 2.17520E06 7.92119E06 2.01979E07 6.75902E06 2.01272E06 2.23975E06 2.73530E06 5.55855E06 2.96165E06 2.67217E06 1.45912E06 2.00112E05 8.15890E05 7.10506E05 1.19660E06 6.69055E05 1.77960E05 2.51651E05 7.67227E05 2.32988E06 1.54484E06 1.01133E06 1.25673E05 3.76260E06 7.72458E06 2.26641E06 7.71155E05 3.75945E05 4.50781E04 2.88436E05 1.98168E05 3.28174E05 1.85149E05 5.82037E04 2.40126E04 7.60837E04 1.95254E05 7.07799E04 2.04950E04 2.01256E04 6.42635E03 1.85324E04 8.05512E03 2.44107E03 1.47673E03 8.54433E03 1.33650E04 8.32794E03 2.34310E04 1.58947E04 2.45215E02 3.23112E03 3.64109E03 5.11932E03 8.98901E03 1.04914E04 1.27311E03 1.64504E03 2.08841E04 2.75661E04 1.29558E04 1.14251E04 1.80593E05 4.70450E05 1.68569E05 1.27017E05 8.42870E04 5.42750E04 1.83670E05 6.69988E04 7.86854E04 6.21676E04 3.58729E04 4.55815E04 3.19170E04 5.54504E04 2.06294E04 3.35987E04 2.64193E04 2.37498E04 4.28848E04 1.86601E04 4.97562E03 1.07129E04 8.84465E04 1.32521E05 5.84257E04 7.94424E04 3.18484E04 6.65402E03 3.15215E04 1.47177E04 1.57634E04 1.55702E04 4.32912E04 4.05594E04 3.05052E05 4.84751E05 8.75130E04 1.63324E04 6.00066E03 2.98412E04 2.90945E04 3.39876E03 1.83913E03 2.58426E03 3.82628E02 2.74431E03 1.61507E03 8.35375E03 2.25057E04 1.85818E04 2.31068E04 2.64318E04 1.75942E04 2.13061E04 8.91526E04 1.60569E05 2.58816E05 4.62583E05 2.17935E05 3.49694E04 7.31271E04 1.28285E05 1.49232E05 8.18575E04 5.21699E04 2.30747E04 1.09716E04 3.30013E03 1.14526E03 8.53666E02 4.38503E03 1.70723E04 1.29060E04 1.93981E03 6.13307E02 3.65254E03 1.19322E03 4.51122E03 5.42272E03 9.58066E02 3.22233E03 5.53912E03 3.03786E03 4.50901E02 2.34841E02 6.18886E03 6.10443E03 1.68346E04 1.41699E05 1.97308E05 1.80167E05 4.49597E05 3.18356E05 1.02783E05 1.75141E05 7.70672E05 8.02990E05 1.11209E05 9.02780E02 9.71828E02 2.13825E03 1.16605E03 1.30625E04 4.43902E03 1.57809E03 1.57132E03 7.15575E03 1.51635E04 6.56780E03 1.91490E03 2.49759E03 2.38677E03 1.87636E03 1.06633E03 5.84424E03 2.09545E03 2.01812E03 1.85224E04 1.85060E04 1.89168E02 3.08008E03 2.19940E03 1.88004E03 1.53912E03 1.14215E03 8.00156E00 1.88464E02 1.99796E02 9.79490E02 3.95750E03 3.41286E03 7.79795E02 6.35554E02 4.67422E02 5.48180E02 6.39653E02 3.57304E03 4.63987E03 5.55156E02 4.51138E02 8.15266E02 3.98607E03 2.67798E03 1.03008E04 7.59039E03 1.03085E04 6.07729E03 5.84163E02 4.71481E02 2.36487E03 2.88649E03 6.77351E02 1.24401E03 5.23241E03 1.19840E04 9.60062E03 4.97118E03 8.89602E02 2.09380E03 8.48758E03 1.20531E04 2.53640E03 1.33596E04 3.29138E04 5.29129E04 4.53859E04 2.27048E04 3.95988E04 3.11141E04 2.45260E04 2.54553E04 4.12382E04 5.44645E04 4.47820E04 4.08284E04 2.56044E04 2.08717E04 1.23039E04 4.99698E03 1.60964E04 -Frame 257 1.33002E04 6.07712E04 4.43192E05 3.76584E05 7.76175E05 1.08530E06 8.22741E04 6.49891E05 2.68400E05 5.46790E05 5.08650E05 2.74957E05 9.45124E05 1.35415E05 1.56528E06 2.52371E05 7.25878E06 1.13793E07 9.58840E05 2.86666E06 4.88039E05 3.09689E06 2.97836E06 1.52732E04 6.19798E05 2.43742E05 1.79446E06 7.99690E05 3.97336E05 3.54029E05 1.07885E05 7.77007E05 3.81827E05 1.12721E06 3.01706E05 1.04700E06 8.22251E05 1.44230E06 6.50675E06 3.09010E06 1.46143E04 6.15184E04 1.59776E05 4.55614E05 1.20939E05 5.97903E04 3.95772E04 8.41059E04 1.81206E05 7.36795E04 1.22607E05 6.83125E04 3.26210E04 1.27462E04 3.92180E04 1.49577E04 3.57220E03 1.03622E04 1.12955E04 1.89578E04 2.49128E04 3.24389E03 1.82254E03 1.11141E04 2.48369E04 1.48700E04 4.17149E03 7.09072E03 1.58539E04 2.73260E04 1.85121E04 1.62173E03 2.33892E02 5.38187E03 4.65178E03 1.01162E04 6.61381E04 8.13156E04 2.71624E05 1.53289E05 5.32833E04 1.76712E05 5.62760E04 6.30481E04 1.72111E04 3.99936E03 1.04112E04 5.03836E03 2.71970E04 7.27990E02 4.04919E04 3.78501E04 7.55047E02 5.33345E03 3.55675E03 4.30319E04 3.17846E04 7.58964E02 1.14709E03 1.94744E04 5.90331E04 1.42008E04 9.32691E03 1.14872E04 9.25875E03 3.37280E02 2.92382E03 1.93111E03 6.07981E03 7.88380E04 6.14967E04 8.34132E04 2.59051E05 7.70406E04 2.68768E04 1.82042E04 7.49854E03 3.05938E03 1.32088E04 1.44033E04 1.13260E04 1.14359E04 1.30925E03 3.29885E03 1.67168E04 3.34886E03 2.30566E03 9.04096E03 1.16604E04 3.08152E03 1.01059E04 4.29095E04 2.67099E04 1.14592E04 2.06175E05 3.82256E05 1.98735E05 4.73253E04 1.93739E04 3.12173E03 1.80651E03 4.74589E03 1.08908E04 7.34469E03 1.29585E04 1.18312E04 7.82327E03 5.95622E03 1.78418E04 7.61058E03 4.61942E02 1.15821E03 5.54146E03 5.59563E03 2.23955E03 2.69210E03 2.51406E03 2.62242E02 7.08169E03 2.06304E04 1.06094E04 8.67270E03 4.31833E03 3.89952E03 4.39670E04 2.96679E04 1.58369E04 7.77073E04 1.01675E05 7.69454E04 6.49765E04 1.98194E05 1.19034E05 1.91385E05 4.36507E05 2.65257E05 1.56794E05 9.20848E04 8.13524E04 6.00071E04 3.91946E04 2.28487E04 7.62495E03 6.09111E03 7.76629E03 9.41153E03 4.69599E03 1.01844E03 2.02290E02 7.09958E02 2.32879E03 3.09339E03 8.91906E02 3.30278E03 1.69744E04 1.88974E04 4.91624E03 3.74910E01 3.09720E03 8.90713E03 1.35989E04 1.53113E04 1.06825E04 1.12943E04 6.63962E03 1.38022E03 4.36716E02 1.40552E03 3.71532E03 2.96276E03 8.18837E02 5.27198E01 6.41689E02 5.12759E03 1.21875E04 7.16855E03 1.16972E03 5.96631E02 3.77605E02 3.41615E03 3.23516E03 4.56531E03 4.05017E03 2.67073E03 8.41552E02 3.33209E03 6.57343E02 2.86034E01 6.97117E02 1.46671E03 4.11730E02 6.83639E02 2.98935E02 6.78735E02 2.70083E03 6.63036E03 4.74923E03 1.33801E03 4.12667E03 6.35529E03 1.25013E03 1.44707E04 2.71260E04 2.09797E04 8.44944E03 6.52813E03 1.02878E04 1.37604E04 1.77927E04 1.13301E04 8.97647E02 3.05220E03 3.92403E02 9.62146E02 1.26781E04 2.25645E04 2.34481E04 -Frame 257 2.50918E04 1.78152E05 6.71892E05 2.07627E05 4.52076E05 1.15419E06 1.86801E05 5.82395E05 1.50235E05 4.42017E05 4.17997E05 3.16501E05 8.12331E05 2.82958E05 1.48308E06 9.42000E05 6.87318E06 8.01011E06 2.91192E06 2.02946E06 2.70829E05 3.23268E06 2.39290E06 2.91499E05 2.59887E05 9.32593E05 2.12134E06 5.83587E05 2.93872E05 4.47326E05 4.55870E05 6.64777E05 1.04990E05 1.06236E06 1.38448E06 3.19805E06 3.67152E06 3.26065E06 5.11713E06 1.63254E06 1.38432E05 1.93605E04 2.32074E05 3.71333E05 9.19622E04 4.29834E04 7.14715E04 1.16208E05 5.67858E04 1.92383E04 5.12658E04 4.29309E04 3.22599E04 2.83586E04 1.28386E03 4.45920E03 9.96985E03 1.52921E04 8.50823E02 1.38216E04 3.00420E04 2.84317E04 1.19073E04 6.91420E03 3.86656E04 3.33143E04 1.12053E04 9.42132E03 2.63421E02 1.48509E04 6.40465E03 1.19284E02 2.59572E03 1.75312E04 1.00410E04 4.65237E03 2.99285E04 1.00496E05 2.84007E05 2.75827E05 8.35165E04 6.00866E04 6.99732E04 7.69706E04 2.79439E04 5.99553E03 1.06106E04 2.58431E04 2.47914E04 6.65013E03 8.51258E03 1.07884E04 1.02983E04 1.83678E03 8.75433E03 3.51642E04 2.41041E04 3.23687E03 1.88629E03 1.02086E04 9.82657E03 1.68421E04 4.61264E03 9.75667E02 5.86678E03 1.51429E04 1.14441E04 1.15487E04 5.02459E04 9.39421E04 1.76235E04 5.11230E04 1.52676E05 1.10660E05 4.42061E04 2.46874E04 2.07661E04 4.42416E03 2.64614E03 7.33465E03 1.67652E03 4.38970E03 9.04706E03 1.55623E04 4.91210E03 1.49123E03 3.64640E03 1.14823E04 1.03844E04 3.15165E03 4.24901E04 1.10287E05 1.03239E05 1.61609E05 1.08234E05 7.02235E05 6.58600E05 7.97846E04 2.40007E04 5.54954E04 4.61839E04 2.67442E04 1.88691E04 4.05921E04 1.68328E04 3.93919E03 2.56692E04 1.47170E04 5.31031E03 1.86619E04 1.44717E04 1.50124E04 8.64908E03 2.73240E03 2.19360E03 1.30136E03 4.70480E03 8.27615E03 1.91599E03 4.51702E03 1.23904E04 9.67426E03 7.38512E03 5.02379E04 1.29204E05 6.57126E04 2.26211E04 9.40023E04 2.01123E05 3.72491E05 1.76339E05 6.40886E03 1.11327E05 2.58371E05 1.38688E05 4.85367E04 2.62768E05 6.34168E04 5.99339E04 6.97137E04 3.78151E04 6.17257E04 2.25995E04 8.43749E03 3.94798E03 3.33112E03 3.88482E03 7.56633E02 1.12575E03 1.18747E03 6.29091E02 3.07542E03 5.64105E03 3.51757E03 7.73713E03 1.83805E04 7.85221E03 5.99207E03 1.18560E04 6.96517E03 2.74937E04 2.18136E04 8.81730E02 1.34127E04 1.07979E04 1.93084E03 8.46884E02 1.57432E03 8.36036E02 2.76991E03 7.41825E03 4.35403E03 2.30379E03 8.22347E02 1.60343E03 2.97973E03 3.19582E03 2.16764E03 2.52244E03 1.08701E03 2.74874E02 9.19464E02 4.54290E02 6.17061E02 1.45890E03 2.75128E03 8.08448E02 6.78008E01 3.58861E02 2.43225E03 3.72431E03 2.78602E03 5.61353E03 9.55716E03 5.63798E03 6.80076E03 7.32178E03 4.17804E03 3.98429E03 8.15062E03 1.88666E03 1.30059E03 4.97433E03 5.64777E03 2.17671E03 1.22065E04 5.06130E04 3.60376E04 6.26549E03 9.74462E03 1.02094E04 5.46282E03 8.88774E03 2.78723E04 2.99678E04 5.01583E03 2.10982E04 -Frame 257 7.11021E04 1.16373E05 6.39617E05 3.46325E05 7.10500E05 1.15411E06 6.56899E05 4.77090E05 3.72637E05 4.97897E05 4.78124E05 6.09483E05 6.20991E05 8.98794E05 1.37989E06 2.55247E06 6.40347E06 5.95600E06 2.33379E06 1.82395E06 1.74387E06 2.56242E06 1.85345E06 3.41522E05 1.39830E05 8.04847E05 1.88830E06 1.22175E06 3.36744E05 3.85049E05 6.34347E05 5.97020E05 4.66986E05 8.01862E05 1.32795E06 3.62429E06 2.94962E06 1.54177E06 1.62920E06 6.38549E05 3.48067E04 4.06926E04 9.53443E04 1.02870E05 2.74209E04 1.14202E04 9.43783E03 2.31528E04 3.14351E04 4.97302E03 4.29064E03 5.12212E03 3.03966E04 3.04578E04 2.13584E03 4.26457E03 1.57082E03 1.11249E04 4.55340E03 2.05355E03 5.67863E02 7.52712E03 7.48557E03 2.33617E04 5.37850E04 1.72184E04 1.36811E02 1.19924E03 5.32728E03 1.65138E04 1.29562E04 2.40700E03 6.39142E03 2.94694E04 5.72322E04 1.52879E04 3.36271E03 2.73607E04 2.54459E05 1.67202E05 1.39410E04 1.26380E03 2.13860E04 7.67642E04 4.23580E04 3.75941E03 2.06228E03 1.49939E04 1.23026E04 1.12257E03 1.77046E03 3.16003E03 4.30249E03 2.09655E03 5.51626E03 3.77834E03 1.85953E02 6.62728E03 2.12536E03 2.34103E03 1.37745E04 3.37479E04 2.75019E04 5.45487E03 1.55081E04 2.23759E04 4.62782E03 2.98193E03 6.85707E04 1.69416E05 6.96739E04 3.19324E03 5.89364E04 2.66341E03 5.35407E04 5.93082E04 1.46843E04 9.86457E02 9.81137E02 4.35852E03 9.83594E03 3.94272E03 1.82941E03 1.88862E03 5.16505E03 6.08571E03 5.52140E03 8.17398E03 3.52441E03 8.15502E03 4.60686E04 9.96504E02 2.45178E05 5.70145E05 4.04650E05 4.95225E05 1.72861E05 6.94603E04 7.57961E04 4.17545E03 1.30270E04 7.87658E03 2.68408E04 2.74343E04 5.06410E02 1.50952E04 1.32453E03 5.40410E04 5.66018E04 1.17182E04 6.71345E03 2.34012E03 6.12103E03 1.44482E04 6.45011E03 2.36598E03 1.34626E03 7.45015E02 1.70060E03 1.87764E03 2.72559E03 3.12485E03 1.79929E04 7.69291E04 1.27833E05 2.57800E04 3.84405E04 2.96359E04 9.46476E04 1.78054E05 4.09360E04 2.99479E04 6.30549E02 1.15000E05 1.07882E05 1.01162E05 9.04465E04 3.12019E04 7.20796E04 2.73711E04 1.34653E04 2.99326E04 2.58698E04 1.53291E04 8.96021E02 1.97605E03 4.38830E03 2.17179E03 2.48739E03 9.22976E02 1.03561E03 3.42122E02 1.66221E03 3.28502E03 1.22880E04 9.34938E03 3.81214E02 4.74872E03 1.29474E03 1.68279E04 1.39675E04 8.10338E03 1.29057E04 5.12086E03 4.29655E02 1.99508E03 6.43818E03 8.81740E03 2.78581E03 3.74045E03 9.36716E03 6.45445E03 1.10069E04 9.50185E03 5.46538E03 1.90882E03 1.43322E03 4.63344E02 9.21198E02 1.74145E03 1.87024E03 1.71704E03 3.99892E02 2.75409E02 7.27966E02 2.06283E03 7.27618E02 5.90156E02 1.55395E03 2.29944E03 8.08064E02 3.78846E02 1.73860E03 4.63006E03 8.16100E03 4.25785E03 9.49529E01 3.00008E03 6.62206E03 9.59685E03 8.57471E03 1.59866E03 7.07889E02 2.52911E02 3.36388E03 8.56048E03 1.49162E04 4.63953E04 3.16539E04 5.04217E03 5.82483E03 4.29946E03 1.85958E04 3.86548E04 3.42651E04 2.43809E04 2.00534E04 -Frame 257 1.37059E05 2.45248E05 5.81036E05 6.12242E05 9.20763E05 9.87183E05 3.04713E05 3.50559E05 2.63720E05 4.11407E05 3.75986E05 4.21155E05 6.13429E05 6.35502E05 1.31544E06 1.29028E06 5.03454E06 3.23623E06 4.11178E05 1.59992E06 1.45511E06 1.93414E06 4.88485E05 1.12573E05 2.61059E05 9.29909E05 1.40586E06 5.13015E05 1.78750E05 7.93465E04 5.32804E05 6.72789E05 5.63774E05 4.26088E05 1.23442E06 5.90749E06 3.17078E06 7.51779E05 5.24779E05 7.60214E03 5.05236E04 1.02741E05 1.60055E05 8.36790E04 3.41422E04 2.19112E04 1.51551E04 1.92514E04 9.31253E03 4.78629E02 2.18776E03 1.00434E04 3.19700E03 2.02107E04 1.90157E04 9.35366E03 1.45649E04 2.25160E04 8.87883E03 3.68511E02 5.67805E03 6.42585E03 9.14008E03 1.23724E04 8.68723E03 1.04737E04 5.71994E03 4.91757E03 3.85353E03 9.08864E03 4.62680E03 7.66616E03 7.26157E03 6.17343E03 1.05201E04 5.19417E04 1.47720E05 1.64730E05 7.08270E04 6.80820E04 5.35166E04 3.44306E04 2.94249E04 1.27025E04 2.43854E03 1.34112E03 7.15633E03 2.18934E04 1.45350E04 4.50222E03 4.63294E03 1.28614E03 1.18586E03 3.41496E03 1.47890E03 6.12511E02 1.91576E03 5.32369E02 9.83892E03 1.62731E04 1.03105E04 1.38903E04 2.17874E04 8.01838E03 4.43120E03 3.48988E03 4.19052E03 1.65981E04 4.84224E04 5.93629E04 5.96203E04 1.12610E05 1.07110E05 2.35863E04 9.77865E03 1.16927E04 1.26861E03 6.18029E02 4.58624E03 1.18779E04 1.52109E04 2.28148E03 1.33941E03 4.39619E03 2.62943E03 9.27038E02 8.78136E02 9.97943E03 6.10730E03 1.43289E04 4.78736E04 7.56465E04 1.76551E05 1.03909E05 8.14340E04 1.42368E05 1.77041E05 9.88380E04 1.22862E04 2.65032E03 1.68487E04 2.42682E04 9.42582E03 1.39422E04 1.64242E04 4.86793E04 7.31056E04 2.51423E04 8.23538E03 1.67922E04 1.14853E03 4.48284E03 4.96688E03 2.65950E03 7.74303E02 3.80059E02 1.47614E03 4.04752E02 5.95773E01 7.94891E02 4.57159E03 2.46750E03 9.81813E01 7.26543E03 3.19463E04 2.59213E04 2.42481E04 5.53297E04 5.51270E04 2.89332E03 4.48063E04 1.12359E05 1.35788E05 6.94756E04 3.05594E04 2.94618E04 3.52965E04 1.43353E04 4.79056E03 5.35392E03 4.12648E03 5.09133E03 4.65123E03 2.42602E03 1.61777E02 2.90986E03 4.64786E03 3.11968E03 4.16517E03 2.16518E03 1.69771E03 4.09335E02 5.34088E01 2.06405E03 2.82331E03 1.68363E02 6.94630E03 8.25906E03 4.61190E03 2.86482E03 5.33880E03 8.77423E03 3.79973E03 5.17918E03 1.05378E04 8.28990E03 9.74606E03 7.09094E03 5.35780E03 5.08736E03 5.57570E03 3.90148E03 1.51766E03 3.04584E02 2.52511E03 1.05140E03 1.71924E02 3.38062E02 2.75180E03 2.02809E03 7.12810E01 2.49915E03 2.28880E03 6.36408E02 6.30673E02 1.27919E02 1.18303E03 2.43004E03 2.05692E03 8.08165E01 9.56939E02 1.96416E03 2.06760E03 3.07330E03 2.40691E03 4.67341E02 5.96104E02 1.86956E03 6.67315E02 3.06224E03 6.15258E03 6.73816E02 8.26988E02 5.56516E03 1.85576E04 1.81993E04 1.22172E04 1.03778E03 8.79720E03 1.15916E04 9.17966E03 2.21985E03 9.07291E02 1.74969E03 3.24931E02 3.12430E02 1.27890E02 -Frame 257 1.04337E04 2.49358E04 2.85989E05 2.52198E05 6.18472E05 7.07539E05 1.88005E02 2.66852E05 2.36556E04 3.35582E05 7.48322E04 3.13764E05 3.05824E05 2.39976E05 8.00387E05 3.97825E05 4.48850E06 1.77607E06 7.99149E05 5.21226E05 6.48356E05 2.10658E06 3.74982E05 5.54732E04 3.67841E04 9.04009E05 6.46311E05 1.11773E05 1.52085E05 3.02232E05 7.03509E05 1.75501E05 4.78941E05 4.46970E05 3.48818E06 2.60627E06 2.78270E05 1.35386E06 2.64303E05 2.13800E04 2.40090E04 1.43383E05 1.47020E05 2.36569E03 1.33202E04 7.56215E03 3.89456E04 1.89692E04 9.49490E03 4.28207E03 5.91837E03 2.25504E04 1.66422E04 2.41113E03 6.03660E03 9.44646E03 4.81766E03 1.44573E04 2.49919E04 1.60873E04 7.44044E03 6.73238E03 9.19526E03 5.09320E03 1.42685E03 3.31214E03 4.44184E03 6.34513E03 1.08543E04 1.65477E04 1.86168E04 2.49228E04 1.05131E04 2.08684E03 3.13784E02 1.85294E04 1.25772E05 1.06142E05 2.01474E04 2.66728E03 9.93856E03 1.26374E04 3.76162E03 7.35099E01 1.42280E03 9.40016E02 1.31487E03 5.88402E03 4.74216E03 1.12950E03 1.59336E03 3.14855E03 2.53870E03 1.28649E03 5.83596E03 7.70130E03 4.35744E03 4.10815E03 5.82359E03 5.51228E02 2.12232E03 4.67836E03 2.74707E03 3.58361E03 5.75452E03 6.09858E03 2.95430E03 5.68492E03 3.51415E03 1.40701E03 1.08915E04 2.63184E04 4.35314E04 3.78332E04 6.28726E03 4.70068E02 6.57820E03 5.88007E03 2.44883E03 3.84805E03 8.36979E03 8.93276E02 6.00456E03 9.42925E03 4.09462E02 3.90601E03 1.26580E04 2.25243E04 1.67128E04 1.11720E04 2.23346E04 3.08275E04 3.94606E04 6.06248E04 1.46833E05 1.05624E05 6.32531E04 9.41439E04 3.42308E04 1.49283E04 3.49178E04 5.88696E04 4.27794E04 2.38119E04 2.09097E04 2.64107E04 1.82619E04 1.58311E03 1.95041E04 2.76779E04 9.36626E03 5.94378E02 2.20395E03 1.65705E03 1.72715E02 1.37131E03 3.81435E03 2.22964E03 7.06392E02 3.12225E03 4.22617E03 7.25159E02 1.99680E03 6.57562E03 3.70821E02 5.16168E03 9.79582E03 9.35982E03 1.07228E04 2.27759E04 7.69641E04 7.98968E04 9.98069E03 5.71597E03 2.15731E03 2.04775E02 6.72621E03 1.35846E04 8.41206E03 8.96089E03 9.08037E03 7.30403E03 5.98203E03 2.39188E03 6.09867E03 6.32032E03 9.40154E02 6.16681E02 4.23747E03 1.47838E03 1.76301E03 6.40913E03 4.94127E03 7.23129E01 5.56225E03 1.09359E04 2.43944E03 4.01925E03 2.50412E03 5.02796E03 7.73749E03 7.57787E03 9.37335E03 6.81129E03 2.84345E02 2.08713E03 4.16276E03 1.19853E03 1.17256E03 2.17271E02 1.41133E03 1.36827E03 4.92988E02 5.53502E02 1.33309E03 3.89298E01 5.19396E02 1.51888E02 6.48022E02 2.41426E03 1.34795E03 3.83982E02 3.59249E03 2.81794E03 1.31159E03 4.33365E02 1.61713E03 3.70801E03 7.26062E02 4.60009E02 2.28350E03 4.62509E03 3.94838E03 4.22983E03 1.55283E03 2.50448E02 1.13594E03 6.30789E03 8.66996E03 1.14647E04 7.21130E03 4.85483E03 1.30310E04 2.70484E04 8.02461E03 9.19760E03 4.53472E02 1.91803E04 2.72844E04 1.38110E04 1.10426E04 4.59734E03 3.85164E03 2.35985E03 5.61717E03 7.85349E03 6.54549E03 -Frame 257 8.93416E04 1.71046E05 2.67791E05 2.46539E04 4.47223E05 6.82307E05 2.55045E05 2.54684E05 1.12136E05 2.92562E05 1.48778E05 4.63572E05 3.90574E05 6.66590E05 7.00865E05 2.00850E06 4.20276E06 2.32870E06 8.99768E05 1.60126E05 1.34540E06 1.41624E06 4.32142E05 2.37222E05 5.49074E05 1.01248E06 2.37892E05 1.85002E05 2.89339E05 5.33846E05 3.24458E05 2.01457E05 1.07233E06 2.36740E06 3.53360E06 2.01191E06 1.31461E06 6.92571E05 1.06418E05 3.81252E02 7.36663E04 1.60579E05 4.52062E04 1.35446E04 2.42243E04 5.61037E04 3.26022E04 1.16725E03 2.73263E04 4.09701E04 2.56708E04 4.37673E03 6.96511E03 1.23729E04 1.16518E04 7.42708E03 6.82560E03 1.49554E04 9.91216E03 1.54710E03 3.23952E03 1.09355E04 2.48282E04 1.04935E04 9.37517E02 3.42943E03 7.11573E03 6.68520E03 4.66550E03 2.19818E03 1.03634E04 1.63724E04 4.84882E03 5.80102E03 1.62133E04 3.64309E04 1.97702E04 2.05725E04 1.75144E04 3.33666E03 1.09461E04 9.95978E03 6.95082E03 4.39721E03 5.72318E03 1.95985E03 3.57046E02 1.36575E03 5.09186E02 1.17038E03 1.26250E03 3.16869E03 2.90891E03 1.01812E03 4.10678E02 6.19724E03 7.72364E03 5.78196E03 1.17944E03 1.44511E03 6.16007E03 3.18563E03 2.72202E02 6.43162E02 9.18618E03 2.07112E04 1.35562E04 6.12282E03 1.64556E04 2.83429E04 3.06307E03 3.93046E03 8.41751E03 1.62843E04 6.67673E03 5.34865E03 8.00599E03 9.64585E03 4.69129E03 4.79306E02 1.71346E03 1.81794E04 3.12527E04 1.74592E04 4.74901E03 1.34669E04 2.92890E04 4.86048E03 2.24991E03 7.81167E03 1.76137E04 1.86995E03 2.00535E04 1.05553E05 5.35610E05 3.92371E05 1.90848E03 8.75486E04 7.11644E04 1.01000E05 4.80834E04 2.30137E04 4.51790E04 9.04427E03 3.11389E04 2.02776E04 1.24756E04 2.39806E04 2.97875E04 1.80689E04 6.18395E03 2.87696E01 3.89984E03 6.65912E03 5.78140E03 3.74602E03 1.70334E03 3.73815E03 8.53172E03 9.67548E02 4.34908E03 4.11315E03 1.07448E03 1.19456E03 1.99718E03 1.64607E04 3.68520E04 3.16626E04 1.91862E04 1.73898E04 2.79867E03 6.52455E04 1.05826E05 6.79738E04 2.89348E04 2.81283E04 1.85674E04 1.32313E04 1.63053E04 1.49162E04 1.85324E04 5.72339E03 1.71276E03 2.38374E03 1.45065E04 9.62940E03 1.54139E03 6.52555E02 1.58071E02 2.08132E03 6.30922E03 6.68143E03 2.70468E03 2.32724E03 1.26607E04 1.57302E04 7.23039E03 3.61435E03 4.58562E03 1.11824E04 7.53099E03 2.06664E03 1.32767E03 5.08461E03 4.21957E03 3.77267E03 7.30079E03 4.88777E03 1.22060E03 2.36133E03 2.50518E03 2.52936E03 5.60221E03 6.31590E03 1.14115E03 1.58233E03 3.43226E03 2.61622E03 9.28117E02 3.52635E02 1.06456E03 2.34434E02 2.22019E03 5.11331E03 3.14686E03 4.44649E02 1.40784E03 3.59583E03 1.04152E03 3.37819E02 1.72883E03 1.72221E03 2.95960E02 4.49388E01 7.75176E02 1.72554E03 2.39293E03 4.03039E03 8.99603E03 1.99208E03 5.23461E02 1.72490E03 1.04510E04 1.87867E04 1.52556E04 1.48165E04 2.50132E04 6.04847E04 6.08211E04 9.30142E03 3.35701E03 8.19660E03 9.49180E03 3.61970E03 1.92173E03 4.09508E03 9.73915E02 -Frame 257 4.57311E05 1.48174E05 4.45776E04 2.51638E05 5.44611E05 6.45382E05 3.20789E05 2.31120E05 2.69966E05 2.09092E05 3.19116E05 4.00852E05 4.57258E05 6.49918E05 8.99269E05 2.35955E06 2.43829E06 4.88504E05 5.56020E05 8.62249E05 1.11746E06 5.77153E05 1.35618E05 1.43841E05 5.48357E05 8.04219E05 3.49997E05 1.23902E05 8.71626E04 3.22004E05 3.61099E05 5.61527E05 1.79047E05 8.63406E05 1.90968E06 7.42893E05 4.43698E05 1.47612E05 5.54705E03 6.10480E04 9.01239E04 5.48507E04 8.00163E03 1.65018E03 2.06659E04 3.60143E04 3.25661E04 1.29337E04 2.58275E02 5.45288E03 1.07436E04 4.94219E03 3.15897E03 9.28942E02 4.01239E03 6.73154E02 7.88980E02 2.31079E03 4.44733E03 8.95624E03 1.03991E04 5.07808E02 8.81190E03 1.75780E04 1.40383E04 5.59896E03 2.95889E03 6.38365E03 8.05470E03 1.47775E04 6.71618E03 1.92391E03 4.90056E03 1.91850E04 2.48066E04 2.67820E03 5.97646E03 4.33467E04 9.95717E04 8.13222E04 2.92634E04 8.87257E03 7.35284E03 3.95681E03 7.03502E03 1.22668E04 5.84435E03 2.03387E03 1.96637E03 2.18270E03 7.20541E01 7.11004E02 1.68037E03 2.39177E03 3.08303E02 1.19791E03 2.34567E03 3.80565E03 2.58593E03 8.82597E02 2.74260E03 4.34563E03 1.82306E03 8.04754E02 4.50399E03 6.77676E03 1.81198E04 1.54019E04 1.78128E04 2.33113E04 2.99794E04 2.37652E04 4.96844E03 6.89735E03 3.77772E03 4.89508E02 2.56162E02 2.70118E03 4.10910E03 1.47596E03 4.98974E03 1.19041E04 4.92651E03 2.49827E03 8.23107E01 6.25074E03 2.08308E04 1.45138E04 7.53578E03 5.90300E03 1.86726E04 3.64062E04 5.75943E04 1.02930E05 4.04751E05 4.76095E05 2.14497E05 6.77999E04 1.29714E04 4.39496E04 9.36613E04 3.43844E04 1.18449E04 1.09577E04 2.01920E04 1.13920E04 1.23479E04 8.65159E03 1.84189E04 1.03386E04 2.91803E03 5.51195E02 1.55160E03 7.33889E02 1.22012E03 5.49860E02 5.05278E03 8.09094E03 8.69171E03 9.41554E03 1.04064E04 7.25393E03 3.33794E03 1.38374E03 1.08374E03 1.07343E03 3.11976E04 4.83702E04 1.34747E03 2.62299E04 1.70987E04 5.18394E04 8.99659E04 1.50892E04 4.02043E04 7.28661E04 1.26869E05 6.88428E04 3.09787E04 2.92131E04 7.91417E03 5.66316E03 1.60360E03 4.94088E03 3.76048E03 2.66530E03 8.01916E02 1.86027E03 2.19958E03 1.16241E03 1.82599E03 2.37502E02 8.52837E02 2.94701E03 5.38778E03 1.96131E03 6.76958E02 6.06486E02 1.26986E03 7.28175E03 1.40752E04 9.74216E03 2.61545E03 4.39225E02 2.78181E03 8.42380E03 2.33459E03 5.17439E01 1.19369E03 9.01233E03 3.31756E03 1.34635E03 3.28374E03 3.79031E03 3.44217E03 4.05050E03 3.50365E03 1.28475E03 6.47076E03 6.03771E03 4.30186E02 2.08269E03 3.39008E03 1.02398E03 3.35107E03 1.40837E03 4.68223E02 1.66501E03 1.95846E03 3.29968E03 7.77804E03 2.93126E03 4.52665E01 2.81885E02 1.01993E02 4.08861E02 7.43619E01 4.47847E02 3.77729E03 6.43700E03 5.92202E03 2.55314E03 8.02209E03 4.41824E03 4.50115E03 6.36561E03 5.40990E03 2.40342E03 9.70865E03 1.25302E04 1.03090E04 3.08149E03 3.25911E03 1.77767E03 1.91217E02 1.15918E03 3.83155E03 -Frame 257 1.87185E05 1.37128E05 1.80207E05 1.67863E05 4.22753E05 1.82077E05 3.75478E04 7.52850E04 6.55753E04 1.03315E05 9.74160E04 1.36893E05 7.89928E04 3.17366E05 1.76154E05 7.93263E05 3.61273E05 8.89042E05 2.87724E05 1.19004E05 3.66977E04 1.97028E05 1.37730E05 1.80263E05 2.20249E05 9.58264E04 1.94543E05 2.61437E05 3.61567E05 2.61385E04 6.57853E04 4.38077E05 1.66920E06 7.87669E05 9.98703E04 7.94910E04 1.24460E05 1.34672E05 6.84784E03 7.07601E03 7.82975E03 5.76167E04 5.56293E04 3.57837E04 7.38189E03 5.06767E03 9.42899E02 1.87847E03 1.24769E02 6.86239E03 1.33139E04 1.67856E04 1.68936E04 8.36226E03 1.27888E03 7.35726E03 8.41760E03 5.03085E03 1.21763E03 1.37035E02 2.50214E03 4.52663E03 1.71970E03 1.83634E04 1.31665E04 1.83217E04 7.85884E03 7.76701E02 2.30238E03 5.54849E03 7.60208E03 1.06887E02 8.23801E02 7.85452E03 1.23188E04 1.27643E03 8.63458E03 1.32455E04 4.68259E04 3.40036E04 9.34983E03 1.73614E03 1.88127E03 1.92210E03 4.15379E02 5.63837E03 9.44659E03 3.35964E03 2.31875E02 4.34964E03 5.64827E03 2.05301E03 2.07388E02 1.39230E03 9.22320E02 6.68531E02 8.15393E02 2.91981E02 1.17608E02 4.81088E02 1.36863E03 2.53102E02 5.67697E03 4.23843E03 8.31953E02 3.73653E03 7.21136E03 4.96889E03 2.59322E03 1.74148E03 1.21020E04 2.13337E04 4.10790E03 1.14331E03 3.87643E03 4.89767E03 5.06292E03 3.55665E03 1.63424E02 3.99161E02 7.11189E02 1.32868E03 4.60367E03 4.84292E03 4.33270E02 4.31962E03 5.21627E03 1.11296E03 2.27986E03 2.47198E04 2.11303E04 1.48195E04 2.35173E04 3.19747E04 2.63872E04 2.30526E04 2.94966E03 3.47076E03 8.21819E03 1.96167E04 1.11516E04 8.84252E03 1.49707E03 2.13825E02 4.24667E03 1.64283E04 2.73669E04 2.42679E04 2.56915E04 1.96277E04 4.71485E03 1.46448E03 2.25233E02 8.83741E02 6.14608E03 2.02708E04 1.92222E04 8.52136E03 4.36212E03 2.82949E03 1.12492E03 1.96096E03 2.30956E03 6.53261E01 2.62926E01 2.07199E03 1.22387E04 2.52595E04 2.88291E04 3.09684E04 3.91369E04 2.90998E04 2.25721E04 2.99828E04 2.05733E04 2.77535E04 6.60436E04 7.36198E04 4.26869E04 1.87935E04 2.40714E03 3.46021E02 6.06350E02 5.66361E03 1.12051E04 1.29633E04 1.00212E04 3.10743E03 6.78326E02 4.30531E03 3.57661E03 1.67792E03 4.60495E03 4.54798E03 4.08848E03 7.73563E03 4.30661E03 3.28929E02 4.85064E03 5.89542E03 1.40186E03 1.85987E03 2.54655E03 1.03177E03 1.26757E03 1.43628E03 8.36660E03 8.41663E03 8.72582E03 1.10057E04 5.73569E03 2.11083E03 2.56937E03 2.50797E03 2.38276E03 1.22417E03 5.88164E02 2.71018E03 8.45716E03 9.46792E03 6.20054E03 6.04421E03 5.87235E03 8.32498E03 6.36822E03 8.92980E02 1.75050E03 2.10674E03 9.35198E02 3.94672E03 6.84787E03 1.64973E03 6.26818E02 1.07646E03 6.28964E02 4.70303E01 7.18999E02 9.03332E02 6.79259E01 4.63506E02 4.22908E03 2.18623E03 4.73471E03 1.24570E03 2.03272E03 1.10934E04 1.28003E04 6.14578E03 3.13937E03 2.85959E03 5.28751E03 1.99340E03 4.48176E02 3.06755E02 1.53697E02 8.83929E02 1.23175E02 -Frame 257 7.24434E-01 5.06037E04 1.42792E05 1.50243E04 2.58765E05 2.90009E05 1.16983E05 2.80001E04 6.84793E04 1.02915E05 1.16669E05 1.06323E05 1.58026E05 2.49257E05 3.17197E05 3.05242E05 3.95630E05 4.85701E05 1.72010E05 1.37739E04 7.79606E04 2.47550E05 1.59650E05 3.17178E04 7.43309E04 1.97932E05 1.71755E05 1.15022E05 1.04873E05 2.26573E05 1.90079E05 2.62710E05 8.38591E05 1.40288E06 6.06994E05 1.52353E05 8.34246E04 3.39555E04 3.35458E04 4.30174E02 1.95009E04 3.99583E04 1.43451E04 7.94722E03 1.40897E04 6.47097E03 7.55927E02 2.42519E03 7.42121E03 5.50286E03 1.59887E03 1.00374E04 3.18654E03 3.59940E03 8.74043E03 5.79349E03 1.45229E04 6.11693E03 8.64345E02 1.74006E02 2.22555E03 8.17276E03 9.21319E03 5.90569E03 2.01523E04 3.41695E04 2.28370E04 1.17956E04 5.14034E03 8.19620E03 1.02975E04 3.35005E03 3.38466E02 2.85242E03 1.87774E04 2.18118E04 2.49920E03 8.74908E03 1.16674E04 1.53046E03 1.78273E03 3.70895E02 3.73563E02 7.26010E02 1.19522E02 6.35151E02 1.35313E03 3.14303E02 4.25250E02 2.47629E03 8.32650E03 8.84429E03 9.27550E03 1.09068E04 7.09051E03 4.58551E03 1.81635E03 7.04300E02 1.41681E03 5.92214E02 2.05185E03 9.52103E03 1.22380E04 3.46077E03 3.08914E03 8.50461E03 5.66078E03 1.31871E03 6.19857E03 9.25982E03 2.94920E04 2.57841E04 6.68811E03 6.31182E03 3.20378E03 4.86016E03 1.21142E03 2.19915E03 1.53180E03 1.63941E03 4.96801E03 9.69639E03 7.25172E03 8.72586E03 9.81524E03 6.47162E03 5.15671E03 2.43058E03 2.17762E03 3.23616E04 4.68495E04 1.17244E04 1.16962E04 2.69749E04 1.32017E04 8.29998E03 1.96002E03 3.91988E03 1.01751E04 1.84107E03 1.83022E03 8.77302E03 1.93634E04 7.15468E03 3.65556E03 4.89720E03 7.42202E03 1.37046E04 2.32047E04 1.77035E04 4.94462E03 3.65415E03 9.92483E02 2.24600E03 2.43892E03 9.37581E03 1.83828E04 1.03999E04 1.00478E04 3.85604E03 3.63683E03 1.55246E03 2.05660E03 3.64317E03 1.77959E03 2.64791E03 5.10238E03 3.15474E03 5.76189E03 6.64466E03 2.02821E04 1.33308E04 4.37492E03 3.54323E02 1.13670E04 6.89175E03 5.06448E03 9.87911E03 1.81356E04 2.51586E04 9.83316E03 1.05303E04 8.66966E03 2.31539E02 1.05538E04 1.70267E04 3.41320E03 2.90962E03 3.96603E03 1.72446E03 3.13449E02 3.42236E03 4.99203E03 1.78881E02 5.09533E03 9.04154E03 9.13954E03 9.71378E03 3.38943E03 1.08467E03 3.03785E03 2.10351E03 3.77986E02 3.02690E03 6.59489E03 7.57503E03 6.37007E03 1.28126E02 7.21394E02 1.72167E03 3.38470E03 3.48233E03 5.52861E03 3.11778E03 1.11063E03 5.77563E03 5.01486E03 2.66708E03 8.78059E02 2.55392E02 4.84503E01 8.29215E01 9.31970E02 2.95354E03 5.60894E03 2.82711E03 4.55887E03 6.40284E03 2.73620E03 3.68382E03 9.32305E02 5.67191E02 2.69292E03 2.37912E03 6.64270E02 3.55507E02 7.05830E02 1.89617E03 1.27701E03 1.28566E03 5.45326E03 1.05590E04 7.81427E03 2.08172E03 9.26556E00 7.83800E02 3.56909E03 2.42654E03 2.52095E03 7.80713E02 1.28659E03 2.13614E03 5.46463E02 4.71079E01 1.68185E03 1.72927E03 8.66361E02 -Frame 257 1.71744E05 1.18742E05 2.42860E05 2.39934E05 2.03125E05 1.69467E05 6.89080E04 7.15570E04 3.27586E04 3.40939E04 6.41920E04 6.85529E04 5.25661E04 3.00023E04 5.05491E04 8.22390E04 1.95677E05 1.65795E05 2.16573E04 9.05447E03 1.23596E05 2.12335E05 6.64944E04 6.73881E03 6.90599E04 1.40750E05 1.02316E05 3.59242E04 4.73927E04 1.21363E05 1.91389E05 1.74467E05 4.44904E05 1.24611E06 6.82540E05 1.20093E05 7.41850E04 2.53500E04 2.26899E04 1.10155E04 3.16710E03 5.75985E02 8.63821E03 3.13158E04 1.74668E04 9.70803E02 2.03356E03 6.41340E02 2.66832E03 1.16654E03 1.69186E03 1.73609E03 2.47327E03 8.22034E03 1.28719E04 9.43212E03 7.69958E03 1.14201E04 7.16520E03 6.16022E03 5.30756E03 1.98919E03 1.24822E03 3.55489E03 1.09729E04 3.18304E03 2.88055E01 3.18763E03 1.05685E04 1.42013E03 1.76863E03 1.59144E03 3.42049E00 1.40419E03 2.13553E04 6.79717E04 4.53773E04 1.64039E04 7.89532E03 7.82967E02 2.39074E03 4.84899E03 6.12274E03 3.53178E03 6.39403E02 2.64523E02 2.01261E02 1.17966E03 1.03206E03 7.72846E02 3.59715E02 5.99244E02 2.59799E03 1.02529E04 7.26188E03 9.47808E02 8.69548E03 9.55544E03 3.25822E03 2.81229E02 9.36943E02 1.25485E03 2.91362E03 6.16301E03 2.24404E03 1.56829E03 3.04227E03 4.79866E02 4.78473E03 3.12202E03 2.12159E04 7.01865E03 1.11419E03 8.94226E03 2.19966E04 2.55480E04 1.55459E04 4.66180E03 1.19463E03 2.78397E03 1.57350E03 4.82805E03 9.85189E03 1.11490E04 5.24906E03 8.11330E02 5.63023E02 1.21139E04 1.29080E04 6.33352E03 9.85532E03 1.70356E03 5.02310E03 2.27320E04 2.13289E04 8.07717E03 1.40695E04 7.24886E03 1.32243E03 3.82923E03 6.83486E03 1.96606E04 2.24859E04 6.50469E03 2.60884E03 3.24142E03 2.36058E03 1.15544E04 6.62598E04 4.77861E04 7.94833E03 1.07643E04 6.49150E03 1.02660E03 1.43137E02 1.83923E03 3.68481E03 2.33536E03 2.28377E03 7.66125E03 1.57325E04 1.79840E04 8.49446E03 4.12393E03 5.72619E03 6.52281E03 6.96624E03 2.82921E03 8.91617E02 2.29644E03 1.07936E03 2.06214E03 6.23585E03 5.61255E03 1.35100E03 2.05929E04 4.23127E04 1.97787E04 1.48308E03 4.52449E03 8.13717E03 1.36916E04 1.11098E04 3.06688E03 5.08173E03 5.66690E02 2.73192E03 2.26977E03 1.58531E01 1.21988E03 3.30781E03 4.60843E03 4.15988E03 8.01859E02 1.25706E03 2.47287E03 2.66498E03 3.51737E03 7.56985E00 3.47278E03 2.17180E03 1.38601E03 1.67037E03 2.58512E02 1.49003E03 4.69597E02 1.03040E03 4.03964E03 9.03182E03 8.53058E03 3.44931E03 1.04868E03 3.84308E01 7.58332E02 3.07087E03 1.22546E03 2.10655E03 3.58542E03 1.31457E03 1.70616E03 3.50558E03 3.62600E03 3.85368E02 1.91817E03 3.72860E03 1.49623E03 2.44070E03 6.35099E03 3.51522E03 8.85324E00 1.25624E03 2.10900E03 2.61203E03 2.76554E03 1.70300E03 1.47269E03 1.29983E03 1.21404E02 3.52561E03 4.51232E03 9.99639E03 1.51712E04 8.20467E03 2.82839E03 5.13478E03 3.52506E03 3.59756E03 5.56389E03 2.76079E03 4.15102E02 2.11642E02 1.71366E03 2.06281E03 8.09343E02 2.45838E03 3.73054E03 2.27011E03 -Frame 257 2.95226E05 2.89118E05 3.91751E05 3.34230E05 3.18376E05 3.50112E05 4.92399E04 4.66640E04 9.11210E04 1.50907E05 1.84673E05 6.57517E04 1.33253E05 2.15717E05 2.88324E05 4.79340E05 1.27755E05 6.62934E04 1.61438E05 1.93468E05 1.95103E05 1.57876E04 6.76840E04 9.33935E04 1.33643E05 1.57386E05 3.13870E04 1.08441E05 9.46537E04 2.25120E05 2.16040E05 1.30492E05 9.12624E05 2.80277E05 7.25288E04 2.08307E05 4.06468E04 7.32167E03 3.67705E03 4.42512E03 1.23215E04 1.20817E04 9.71812E03 1.02564E04 1.01043E04 2.15130E04 2.36667E04 1.64286E04 7.90672E03 3.54153E03 1.25565E03 1.14641E03 1.48487E03 1.13473E03 3.82013E03 2.50565E03 1.38177E02 2.88748E03 9.71902E03 3.01726E03 1.24668E03 2.06743E03 3.91640E03 1.36553E04 2.08818E04 9.90407E03 2.24414E03 5.55123E02 1.65004E03 3.27805E03 1.84519E03 9.73333E00 1.56575E03 8.69562E03 3.06273E04 4.54728E04 4.70792E04 1.90440E04 1.15165E04 5.97671E03 9.11341E02 6.58084E02 1.74988E03 1.49417E03 8.51972E02 8.71586E02 1.90338E03 5.14519E03 7.15824E03 3.19375E03 9.13938E02 3.68898E03 3.96188E03 9.53212E02 8.14531E01 4.80958E03 1.60516E04 5.34461E03 3.56792E02 1.11799E03 4.16118E02 1.65401E02 8.63204E02 4.19257E03 4.26688E03 3.51395E03 6.99494E03 8.17402E03 9.56915E02 6.17850E03 3.14240E04 3.96703E04 2.10343E04 9.52636E02 4.39306E03 6.14053E02 1.16157E04 8.50203E03 2.79836E03 3.84492E03 6.28631E03 4.49095E03 3.28778E02 1.66904E04 2.02818E04 2.13542E03 7.16208E03 1.87864E04 1.13877E04 8.23651E03 2.95823E04 5.42765E04 5.67569E04 5.05544E04 2.46130E04 1.91879E04 1.68656E04 3.29274E03 6.50793E02 4.45296E03 9.61759E03 2.28715E04 1.94735E04 4.15417E03 4.83227E03 3.36866E03 2.39138E03 3.69943E04 8.08026E04 2.22195E04 5.13556E03 5.80360E03 1.28566E02 6.15160E02 2.73116E03 1.33277E03 3.17331E03 2.62517E03 4.74104E02 2.01636E03 2.08877E04 1.67622E04 5.84384E02 2.44805E03 3.00970E03 1.69553E03 7.63119E02 6.83291E02 4.52210E02 1.23891E02 5.74609E02 5.02904E02 1.69643E03 2.85315E02 5.11692E03 1.77689E04 4.08202E04 4.15538E04 1.08997E04 1.16808E02 1.09525E03 2.35470E03 3.21453E03 3.99775E03 2.41945E03 1.71775E03 2.89962E03 3.20723E03 1.00911E04 9.73662E03 1.63580E03 6.66939E02 1.96542E03 2.26563E03 6.41693E02 1.85795E03 2.78482E01 1.45142E03 2.84551E03 3.74800E03 3.27881E03 1.61499E03 1.34453E03 1.05208E03 2.09786E03 4.10176E03 2.69873E03 4.52008E03 3.82209E03 9.43050E02 3.34725E03 3.70207E03 2.28510E03 1.81063E03 2.16651E02 1.74550E03 5.64609E03 3.29088E03 4.93475E02 2.24459E02 1.82411E03 2.05210E03 2.24419E03 2.30961E03 1.61448E01 1.50049E03 1.65406E03 6.62217E02 1.20552E02 9.76891E02 4.03693E02 1.54527E02 8.43134E02 4.68214E02 2.38542E03 3.71750E03 2.95158E03 4.21288E03 4.98872E03 2.49799E03 8.14960E02 6.98771E01 3.01970E03 1.06276E04 2.83021E03 1.83013E03 1.86353E03 3.23317E03 1.83968E03 5.66533E02 1.07693E03 1.54795E03 4.55054E02 3.52838E02 1.80987E03 1.44934E03 6.58622E01 -Frame 257 9.46312E04 4.55278E03 2.25874E05 2.96451E04 1.18299E05 1.32682E05 4.77900E04 2.59604E04 2.53809E04 1.94255E04 3.17191E04 6.02391E04 6.91667E04 1.29187E05 2.14399E05 2.24983E05 1.24930E05 9.06285E04 5.03751E04 3.93300E04 4.65687E04 4.46993E04 5.30323E04 5.65798E04 7.22777E04 1.00289E05 5.25014E04 4.24911E04 3.71691E04 6.43437E04 3.61968E05 6.42900E05 5.57996E05 2.20043E05 4.43350E04 1.20226E04 1.79610E04 4.17344E03 9.46828E03 1.88648E04 7.94081E03 4.08286E03 1.19203E03 1.57228E03 1.45881E03 4.03210E03 5.33197E03 1.08629E03 2.05007E03 3.50673E02 3.48683E02 1.77987E03 8.31918E01 2.79570E03 6.32948E03 3.52668E03 1.11502E03 2.68101E03 7.84128E02 3.06608E03 6.20532E03 4.85203E03 9.12088E02 2.28972E03 2.20119E03 3.22305E03 3.62372E03 9.12297E02 4.37200E02 1.01166E03 1.22214E03 8.01390E02 5.66975E02 2.41412E03 9.49427E03 7.99383E03 1.31832E04 1.93310E03 4.84256E03 2.42540E03 1.24464E03 2.27154E03 1.57514E03 8.44133E02 7.50986E02 4.62341E02 1.15187E03 3.52490E03 8.48677E02 4.53674E03 1.02782E04 6.29316E03 1.92077E03 1.31799E03 2.86010E03 8.34021E03 1.62515E04 9.53512E03 9.69131E02 9.91602E01 4.22733E01 1.19621E01 3.52158E02 1.60159E03 8.60925E01 5.50919E02 2.01601E03 2.03272E03 1.01648E04 1.79000E04 5.79205E03 8.85270E03 5.05106E04 4.11338E04 1.49883E04 1.13943E03 2.22758E03 1.83249E03 9.61576E01 9.91674E02 1.37549E03 1.05987E04 3.24706E03 5.01290E03 1.67139E04 5.04703E03 1.81439E04 1.06247E04 9.97899E02 3.91002E03 1.51367E04 3.42591E04 7.21236E03 9.60286E03 2.80258E03 1.70657E03 3.60567E03 1.31367E03 6.75229E02 2.67563E03 8.03112E03 2.14762E04 8.77807E03 5.53935E01 1.86772E02 3.70288E03 2.91517E03 3.56807E03 4.06838E04 3.31562E04 6.43967E03 2.63594E03 2.09462E02 8.42854E02 7.30663E03 9.63596E03 6.21520E03 5.63836E03 1.54814E03 4.39123E03 2.15458E04 1.39502E04 8.38942E03 7.07348E03 4.20884E02 3.32275E03 3.57602E03 7.24968E02 9.17297E02 4.78978E03 6.00665E03 1.76701E03 1.84973E03 2.51103E03 7.46605E02 3.67418E02 1.34819E03 4.83705E03 3.31353E03 1.24923E03 6.10921E03 3.13275E03 1.26220E03 9.44873E02 8.07680E02 9.94242E02 2.23221E03 6.04556E03 1.62947E04 1.22862E04 2.02436E03 1.13633E03 2.18351E03 9.16837E02 6.87465E02 8.51639E02 3.84901E03 3.16887E03 1.92359E03 2.48788E03 3.87296E03 1.04160E04 9.97053E03 3.87134E03 2.18339E03 1.79059E03 1.54608E02 5.63508E03 7.84910E03 7.13417E03 9.64728E03 8.42322E03 2.25920E03 9.35376E02 2.05128E02 3.01602E03 2.78649E03 1.37664E03 1.31637E03 2.75613E02 1.30748E02 2.08902E02 2.86320E02 2.56159E03 5.69385E03 8.16902E03 7.89089E03 3.06651E03 1.85977E03 1.85861E03 6.71977E02 1.26285E03 1.75835E03 1.87155E03 3.62481E03 5.90353E02 2.00727E02 7.81768E02 2.70865E02 2.62581E02 7.48329E02 2.53473E03 6.88791E03 4.92805E03 1.89149E03 4.21569E03 4.87746E03 5.32755E02 9.19411E01 5.00354E01 2.11929E02 1.22258E03 4.23514E02 6.70907E01 2.08211E03 4.32760E03 2.70937E03 -Frame 257 3.05388E04 1.30582E05 3.21700E05 2.75377E05 4.06355E04 2.27149E02 7.89182E03 1.20090E04 2.65669E03 3.14622E02 3.82017E03 8.01695E02 1.63248E03 9.03970E02 1.59431E02 6.97376E03 1.03048E04 5.31384E03 7.83953E03 4.58277E01 1.48395E03 1.56368E03 7.05909E03 6.69072E03 9.09971E03 1.13933E04 1.24737E04 3.76475E03 1.77363E03 4.03163E04 2.83680E04 1.49682E04 4.00076E04 9.40926E02 2.96252E03 6.11156E03 6.93708E02 4.70110E03 8.52394E03 6.20849E03 3.50185E03 1.20756E03 3.84775E02 1.29562E03 4.72554E02 2.22218E03 6.69883E03 5.64523E03 2.38115E03 1.48191E03 1.82938E03 1.27979E03 1.74768E03 6.90345E03 1.12118E04 5.39360E03 2.15507E03 2.54806E03 3.07580E03 1.33321E03 1.69215E02 2.83534E03 4.61570E03 1.87254E03 2.14346E03 3.35664E03 3.13438E03 1.31272E03 4.35417E01 2.69779E02 4.50339E02 2.59821E02 1.52887E02 1.04257E03 2.45375E03 4.73597E03 7.34660E03 3.36194E03 2.38176E03 7.82804E02 7.71155E02 1.05334E03 1.51277E02 3.76872E02 2.31515E03 1.12587E03 6.37834E02 1.68720E03 2.93636E03 4.90603E03 1.34468E03 3.54252E02 4.00146E02 4.45806E03 8.98951E03 2.21442E03 2.19599E03 7.19924E02 1.70699E03 3.15555E03 1.36343E03 1.18197E02 6.78048E02 3.60634E03 1.96147E03 7.12286E02 5.87349E03 6.87773E03 1.82553E03 1.46575E03 3.50314E03 6.62341E03 7.38333E03 4.88111E03 7.37354E02 2.53174E03 2.86201E03 1.35550E03 1.76472E02 8.67833E02 3.58135E03 1.25573E04 1.73785E04 1.08838E04 4.45233E03 8.77645E03 2.21193E04 2.36950E04 1.64738E04 6.64116E03 9.52275E03 2.55067E04 1.65599E04 3.58030E03 6.82050E02 6.92069E00 8.93315E02 2.45768E02 1.14181E03 2.46122E03 3.31334E03 1.20055E03 2.95472E03 2.36492E03 1.22252E03 1.94468E03 2.87299E03 2.58943E03 3.17944E04 2.82837E04 4.23861E03 3.64186E02 1.86786E03 9.16295E03 9.76501E03 2.51010E03 2.21809E03 3.21269E03 2.03704E03 1.53064E04 1.94129E04 6.55771E03 4.83746E03 5.89050E03 3.79083E03 2.03791E03 1.95632E03 1.65186E03 2.37920E03 1.07676E03 3.43455E03 9.95865E03 4.09872E03 1.67241E03 1.01512E03 2.77719E03 3.55052E03 2.31414E03 4.09861E03 5.18992E03 3.60903E03 9.51259E02 8.40520E01 1.04849E03 1.82160E03 1.01862E03 1.08753E03 1.22697E03 5.67016E03 4.17835E03 1.64540E01 2.17700E03 6.04019E03 6.42229E03 5.40577E03 4.27737E03 4.24242E03 4.38529E03 3.33016E02 1.04642E03 2.06068E03 2.47242E03 1.34116E03 1.31108E03 4.55329E02 1.47972E03 2.84580E03 9.53916E02 1.13348E00 5.16613E02 2.03917E03 3.18880E03 2.86162E02 6.80568E01 1.94584E03 1.87997E03 1.38215E02 4.20550E02 1.69176E02 9.29207E02 6.00846E02 1.49595E02 8.78276E02 2.68052E03 1.36742E03 2.44669E03 2.41758E03 3.59583E02 4.99585E03 6.07790E03 3.89131E03 2.95360E03 1.05448E03 2.24822E03 5.95033E03 5.31785E03 2.96408E03 1.42676E03 2.49170E02 9.69506E02 5.32517E03 9.22239E03 2.34904E03 2.83310E02 7.38396E02 1.67930E03 2.53259E03 2.04389E03 1.65113E03 2.27581E03 3.07971E03 1.81373E03 6.27864E01 4.68401E02 1.47513E03 1.42795E03 1.54537E03 -Frame 257 1.13420E05 2.86860E04 7.90767E04 1.21806E05 9.40851E04 6.96091E04 8.66933E04 5.21992E04 3.66250E04 3.35809E04 4.59864E04 4.28433E04 3.66444E04 6.15738E04 9.29128E04 1.01996E05 4.74565E04 2.78290E04 2.85202E04 2.07258E04 1.17424E04 9.00264E03 2.28792E04 6.67839E04 6.90504E04 1.59079E04 6.09198E03 3.88188E04 6.39708E04 1.13002E04 4.64565E04 7.53227E04 4.06494E04 6.54747E03 1.07955E03 4.88930E03 1.41176E04 9.52742E03 1.31281E03 4.63540E02 2.03958E03 5.37319E03 7.81944E03 5.65726E03 1.86023E03 4.79157E03 8.79662E03 1.99263E03 1.80723E03 2.75413E03 5.89815E02 7.91151E02 9.61205E02 1.42455E02 1.94919E03 4.68512E02 1.58018E02 1.25196E02 1.04999E03 7.70601E02 5.57684E01 1.66509E03 2.89357E03 5.95047E02 5.02150E03 1.84798E03 2.15263E02 1.16692E03 1.08999E03 8.20687E02 1.34243E03 1.27339E03 2.55953E03 2.61778E03 9.04217E02 5.87361E01 7.74745E02 7.14494E03 1.15012E04 7.98294E03 4.71996E02 1.24652E03 1.64269E03 3.39699E03 6.07959E03 3.24270E03 1.34334E03 1.51490E02 4.31805E02 2.77965E03 2.97490E03 3.52749E03 2.42817E03 2.34528E02 6.02738E03 1.04779E04 4.32055E03 1.33416E02 2.78143E03 7.51645E03 4.22587E03 4.26095E02 2.54331E03 2.46356E03 1.05573E04 1.94175E04 1.11827E04 7.83254E02 1.98941E03 5.41444E03 6.39225E03 4.65150E03 2.44242E03 1.19067E03 1.17710E03 1.80904E03 3.35627E03 3.51155E03 5.34441E03 1.57762E03 2.29580E02 2.17169E03 1.70068E03 6.63545E02 9.23099E02 7.04480E03 1.35208E04 5.08395E03 7.73206E03 5.25425E03 9.46381E03 1.83636E04 8.84770E03 2.45434E03 2.89439E03 2.71927E02 1.96934E03 4.56418E03 2.09986E03 3.64875E01 1.96889E03 2.93758E03 1.64556E03 2.39639E02 2.95161E02 2.92297E03 7.85183E03 2.23535E03 2.83854E04 1.51130E04 2.22564E03 1.08901E04 8.57853E03 1.06513E04 4.39531E03 4.71839E02 2.13307E03 4.19283E03 3.85478E03 1.67040E03 7.08180E03 3.29390E03 5.03834E03 4.63032E03 4.84256E03 5.35186E03 2.78315E03 4.31889E02 7.50176E02 7.14197E03 1.58235E04 1.12787E04 2.50550E03 1.93437E03 1.88899E03 4.31476E03 2.42646E03 7.11341E01 3.16662E02 2.08250E03 5.95981E02 7.82303E02 3.07712E02 8.59515E02 6.49071E03 1.05067E04 5.03946E03 4.76828E02 9.35084E02 1.93630E03 2.87632E03 4.88282E03 3.96497E03 6.93478E03 3.36193E03 2.66041E03 1.85127E03 1.47133E03 2.37991E03 3.39809E03 2.39469E03 8.38505E02 3.40331E02 6.56974E02 2.41372E02 5.97127E02 2.95392E03 3.54372E03 6.39070E03 1.14158E04 4.85210E03 2.23000E02 1.05852E03 4.57709E02 2.78616E03 4.42981E03 3.17722E03 4.00704E03 6.06692E03 6.76553E03 3.35089E03 1.52497E03 5.29158E02 9.98332E02 4.00138E03 2.21809E03 5.29836E02 1.90586E03 2.84340E02 1.17280E03 2.67043E03 2.29400E03 6.18071E02 5.07154E02 2.18182E03 1.12277E03 1.98697E02 1.98110E03 3.86273E02 3.19940E02 1.17513E03 4.72308E03 2.27739E03 8.88539E01 3.68144E01 2.84423E01 1.18690E02 1.75337E01 3.54228E02 6.47485E02 1.88732E03 8.65936E02 2.40041E02 3.10655E02 5.77298E02 1.48031E03 1.67326E03 -Frame 257 3.01184E05 1.24162E05 4.79231E04 3.92849E04 4.10870E04 3.14688E04 4.00437E04 1.16728E04 8.64570E03 5.61991E03 9.69043E03 1.25946E04 3.48056E03 2.70349E04 7.93351E04 6.14356E04 9.22414E03 2.87988E03 8.20331E03 1.40985E03 8.21055E03 3.35484E03 1.19071E03 1.37702E04 4.47412E04 3.71406E04 3.53802E04 6.58617E04 8.95156E04 1.12094E05 6.05096E04 2.89114E03 1.58303E04 7.96954E03 5.47834E03 2.32508E03 2.52204E03 2.30910E03 8.82610E02 4.35778E02 2.66814E02 1.47924E03 1.13097E03 7.63575E02 1.53224E03 1.54292E03 9.89183E02 1.16079E03 4.99034E02 1.31651E03 1.49148E03 2.59118E02 1.64138E02 1.28926E03 3.84325E03 3.08775E03 1.19738E03 1.01848E03 1.62176E03 2.58430E02 2.99730E02 3.25118E03 6.59345E03 5.85742E03 4.51626E03 2.13336E03 8.69659E02 1.18144E03 3.57532E02 9.18199E01 6.28101E02 1.32937E03 3.38246E03 3.08856E03 3.64112E03 4.54182E03 1.05394E04 3.47081E04 4.98548E04 1.59259E04 7.86991E02 2.06913E03 6.83910E02 4.71572E02 1.60998E03 2.88488E03 2.11789E03 1.63809E03 3.63567E03 2.98932E03 6.14535E02 7.71169E02 1.46727E03 4.86129E01 3.37954E03 3.55856E03 8.70272E03 2.66092E03 3.78411E02 2.38094E03 4.85670E03 2.31849E03 4.41508E03 5.75558E03 1.48993E04 1.42839E04 1.63312E03 1.75095E03 5.18981E03 1.98132E03 1.41081E04 3.05904E04 2.62137E04 1.10513E04 3.70277E03 3.53101E03 5.30713E03 6.82682E03 5.84676E03 2.89736E03 4.17243E03 4.94040E03 1.25513E03 4.91601E02 9.51519E03 1.49014E04 1.79702E03 2.74054E03 6.41781E03 2.00175E03 4.17453E03 2.15458E03 1.29048E03 1.19393E04 2.96911E04 1.45681E04 3.97064E02 6.95739E03 2.22618E03 1.41356E03 2.03985E03 3.86440E02 1.54429E03 3.52778E03 8.24503E03 2.18130E04 1.45842E04 1.78649E04 6.20126E04 6.33067E04 1.45279E04 9.45556E02 3.62108E03 6.17278E03 1.04337E04 8.54942E03 7.24861E03 4.15680E03 1.04662E04 1.70819E04 1.44983E04 1.46333E03 1.77882E03 2.86725E03 8.25152E03 6.59070E03 1.07223E04 3.47329E03 4.31261E01 5.17555E03 2.18669E03 3.15249E03 7.94464E03 1.79692E03 1.69540E03 4.83761E03 9.28789E02 4.02225E03 1.00507E04 8.38506E03 1.43228E03 4.14020E01 1.05010E03 3.09081E02 3.41258E03 2.69664E03 1.77310E03 6.68795E03 3.09631E03 1.01079E03 2.06357E03 1.72989E03 1.67260E02 2.58123E03 5.17482E03 5.94841E03 6.84876E03 4.96616E03 6.82724E03 1.13471E04 5.95295E03 1.40792E02 2.40590E03 4.53939E03 1.70117E03 1.34862E03 2.45125E02 2.99901E03 7.45482E03 5.13455E03 1.24079E04 1.45832E04 7.32512E03 1.24440E03 2.27531E03 3.17919E03 4.02918E02 1.36077E03 2.79629E03 5.08328E03 2.55558E03 1.60829E03 2.72719E03 1.19314E01 1.83376E03 3.39993E02 5.53634E02 1.98865E03 1.24181E03 1.34376E02 1.81642E02 8.02919E02 2.20505E03 1.96806E03 8.33387E02 3.49768E02 1.70091E03 1.09781E03 1.19180E03 1.91711E03 2.23279E03 1.25465E03 9.77475E02 7.78887E02 7.13855E01 2.47494E00 4.19239E02 1.46818E03 1.67829E03 1.19869E03 7.31971E01 1.46274E02 1.30943E03 4.09315E03 3.74387E03 1.23853E03 1.25402E03 -Frame 257 1.34116E05 6.55199E04 8.21871E04 1.27113E05 2.63136E04 1.14697E03 1.35551E04 3.92312E03 3.34626E03 4.38714E03 1.76786E02 1.13142E03 1.07932E03 3.97861E03 1.32557E03 5.87830E02 3.12990E03 9.86635E02 1.97559E03 2.83310E03 9.01032E03 7.23865E03 2.29581E03 2.81783E03 6.33424E03 3.75424E03 1.24952E04 1.79652E03 5.83100E02 1.10147E04 2.19056E04 8.11905E03 1.48829E04 1.17824E04 9.69108E03 7.31003E03 3.76051E03 1.12487E03 1.81010E02 1.02785E02 1.72774E02 5.16878E02 3.27165E-01 1.26102E02 8.35232E02 1.39524E03 3.48105E02 5.79305E02 2.02203E03 1.51319E03 2.61823E03 2.35973E03 6.31231E02 1.06040E03 4.02658E03 4.98699E02 7.57185E02 9.50202E02 1.60613E03 3.15356E03 4.75568E03 2.95499E03 2.72859E01 5.34542E02 4.12626E02 5.76487E02 4.94676E02 1.36513E02 1.42940E03 1.41116E03 7.48014E02 3.53713E02 1.10043E03 7.88648E02 1.40714E03 4.00626E01 1.85341E03 2.67910E03 2.00588E04 1.38474E04 9.44307E03 7.60351E03 2.91594E03 4.70824E02 1.28528E02 2.87223E02 4.99851E02 9.09506E02 9.05709E02 3.63431E02 1.19742E03 1.37776E03 1.90468E03 1.31640E03 2.89593E03 6.53854E03 1.11143E04 7.29967E03 2.36395E03 3.01431E03 6.07556E03 7.23950E03 4.61575E03 1.15748E03 4.53542E03 7.64843E03 1.53835E03 3.65328E03 7.10910E03 7.43181E03 1.97950E03 1.50802E03 3.39110E03 3.14286E03 1.12914E03 1.27437E03 2.92405E02 2.60503E02 1.22933E03 2.01411E03 4.79638E03 1.15311E04 1.27541E04 1.03009E04 7.99819E03 5.70078E03 1.47843E03 3.20143E02 1.12187E03 3.30494E03 3.39892E03 1.85840E03 6.09848E02 8.42098E03 2.50671E04 2.07317E04 2.30961E04 2.70280E04 1.62820E04 3.37539E03 1.42041E03 5.25664E03 2.74388E03 2.89874E03 1.87978E04 1.27064E04 3.08947E03 9.06344E03 4.45084E04 3.04596E04 5.23403E03 7.26190E02 3.67646E03 1.04987E04 1.34076E03 2.69906E03 3.32125E03 1.45092E03 6.88768E03 1.72477E03 8.85246E03 1.27973E04 6.63593E03 6.39459E03 8.38528E03 9.59665E03 1.28896E04 1.17767E04 7.77125E03 3.52211E03 8.16438E02 4.85249E03 6.20391E03 5.19521E02 2.24104E02 5.06940E03 5.78896E03 4.51859E03 5.62523E03 7.58588E02 5.71364E03 6.39682E03 1.14850E04 1.31580E04 9.34930E03 3.41882E03 3.65864E03 3.67795E03 1.55581E03 2.00067E03 3.05291E03 1.42840E03 3.78070E03 3.81271E03 1.59370E03 1.51878E03 2.10504E03 2.19633E03 2.54959E03 1.24175E03 1.57684E03 2.82469E02 2.92025E03 1.08480E04 5.75970E03 1.34726E03 5.77324E03 8.27489E03 2.71207E03 3.56245E02 3.93435E03 1.88037E04 1.96351E04 5.21036E03 6.18167E03 3.83789E03 6.20422E02 6.85603E02 1.07167E03 3.08914E03 2.04631E03 9.42573E02 6.03682E03 2.33254E03 2.43501E03 6.12770E03 2.89746E03 2.33038E02 1.64990E03 3.15328E03 2.23433E03 4.91077E02 2.69247E03 3.88772E03 6.32396E02 1.58081E03 3.63598E03 2.79581E03 1.18416E03 3.03486E01 1.61419E03 5.47183E03 5.79107E03 2.85794E03 1.69098E01 4.70584E02 1.50799E03 1.74052E03 1.87396E02 1.20266E03 2.46259E03 1.27507E03 2.91848E03 4.28049E03 2.58740E03 4.09522E02 4.26278E01 -Frame 257 3.20781E04 7.50550E04 1.57048E05 1.16195E05 2.49540E04 3.02000E04 3.37592E04 9.81135E03 1.80698E03 7.04738E03 6.39750E03 4.43372E03 2.52640E03 2.01555E03 3.24223E03 5.91699E03 8.59069E03 6.51113E03 1.37813E03 6.81331E02 2.18205E03 4.88214E03 3.17473E03 5.19867E03 1.18775E04 1.98486E04 3.85335E03 2.72609E03 1.42254E04 1.28116E04 1.08846E03 3.57600E03 1.51211E04 1.35576E04 1.44951E03 5.31372E03 2.19159E03 3.43736E03 3.91523E03 1.92080E03 2.01180E03 4.29199E03 4.99390E03 4.72512E03 6.03294E03 2.43359E03 7.75663E02 4.49959E03 3.48729E03 2.67554E03 9.18362E03 1.07796E04 8.82139E03 1.28918E04 1.78523E04 8.41724E03 2.53980E03 1.61192E03 1.54443E03 1.21801E03 3.98565E03 1.44610E03 1.25951E03 3.88375E03 2.06795E03 9.54054E01 2.34715E02 2.21938E03 2.60254E03 6.28661E02 1.57054E02 4.44520E01 1.74041E02 2.41145E02 1.86694E03 3.41063E03 5.63184E03 1.46290E04 1.26033E04 3.31006E03 2.32009E03 5.94342E02 1.23188E03 1.52413E03 6.88705E02 5.69725E02 1.32919E03 1.86615E03 9.36800E02 3.55912E02 2.92483E02 1.04997E03 9.53150E02 6.72312E02 1.83400E02 5.96362E03 1.02328E04 2.25875E03 1.60121E03 1.80257E02 2.56052E03 2.99878E03 3.11071E03 2.11310E03 2.08412E02 1.76848E03 5.57849E03 3.69744E03 6.46406E02 4.34526E03 4.69545E03 1.40919E03 7.49425E02 2.25473E03 2.32211E03 1.89991E03 2.98020E00 2.85527E03 1.71109E03 1.00307E03 6.47233E02 1.36307E03 2.71448E03 1.59582E03 1.22431E03 2.63790E03 1.42591E03 6.78716E02 2.24896E03 8.01795E02 1.32555E03 3.62667E03 4.01605E03 4.11435E03 2.83481E02 1.99455E03 8.93420E03 8.61829E03 1.54615E03 9.06653E03 2.69045E03 9.22406E03 1.26259E04 8.20997E03 3.19402E03 1.44292E02 8.20309E02 9.50269E02 2.41700E04 3.28370E04 1.45440E04 1.17394E04 4.73701E03 2.51664E03 6.58087E03 2.04676E03 1.57696E03 3.17254E03 2.93205E03 3.18956E03 3.93178E03 2.45526E03 3.58810E01 1.00242E02 1.88800E03 2.15316E03 7.48683E02 5.18444E01 7.96453E02 1.91965E02 3.91559E02 2.63055E03 9.19632E03 6.72863E03 4.13813E03 2.51010E03 4.20642E03 5.82723E03 6.38365E03 3.80113E03 7.33562E03 1.38061E04 2.07344E03 1.55337E03 1.06056E03 4.09257E02 1.76307E03 1.86759E03 5.71375E02 1.46536E03 6.19799E03 8.42342E03 7.70912E03 5.18517E03 6.33581E03 5.69540E03 2.86187E03 5.18031E03 4.97038E03 2.03479E03 2.31240E02 2.09439E03 1.18533E04 6.48606E03 4.89330E02 5.43259E03 2.40075E03 1.30756E03 4.75859E03 4.28204E03 8.32808E02 4.90887E03 3.66549E03 4.10333E03 5.05149E03 2.89676E03 5.82695E02 1.80641E03 4.23821E03 2.15607E03 2.19944E03 4.88619E03 4.18849E03 5.92204E03 7.67700E03 3.85555E03 2.36802E03 3.84868E02 8.69039E01 3.15309E03 4.59016E03 1.23183E02 1.14334E03 3.39990E03 1.78085E03 2.68581E02 2.44889E03 1.71550E03 1.11540E02 9.81686E01 2.91622E02 2.15210E03 7.76102E03 4.13477E03 4.68602E02 1.32891E03 1.16893E03 7.49654E02 1.73458E03 1.45852E03 1.48267E03 1.49266E02 7.20848E02 5.64526E00 3.56643E02 3.86777E02 5.50594E02 -Frame 257 7.09418E04 8.85267E04 1.30039E05 6.12928E04 4.91698E03 2.92067E03 8.78179E03 7.78007E03 2.46906E03 6.93703E02 1.87380E02 2.76275E02 8.63911E02 1.21167E03 1.14819E03 3.94257E01 1.49447E03 4.71727E03 1.33593E03 2.53338E02 6.69171E01 9.31898E02 9.15842E03 7.89974E03 8.73203E03 8.08501E03 3.74649E02 1.57885E04 2.17130E04 2.74245E03 3.15741E03 8.24440E03 2.92649E03 1.02733E03 3.60779E03 4.51525E03 4.36374E03 2.94646E03 1.56973E03 5.96078E02 3.93043E02 1.88214E03 2.71839E03 2.45601E03 3.07756E03 5.69684E03 3.63963E03 9.52334E02 6.70600E02 6.20955E02 1.46348E03 2.85721E03 2.53796E03 1.22502E04 2.14112E04 6.61242E03 5.11397E03 1.08809E04 8.15252E03 4.76431E03 5.10247E03 5.63456E03 1.23815E03 1.97312E03 5.88393E03 1.81954E03 1.27950E02 1.55843E03 4.10920E02 3.99536E02 1.40462E03 2.18111E03 2.31973E03 1.60834E03 5.35553E01 9.07210E02 1.70915E03 6.28631E03 7.10915E03 1.76004E03 3.11979E02 6.85208E02 8.03815E01 5.67871E02 3.94246E02 6.66562E02 2.53622E03 2.87821E03 2.62656E03 3.86455E03 2.66487E03 1.06862E03 1.57760E03 3.16004E03 1.78030E03 9.92908E02 1.18258E04 7.82108E03 2.18109E02 1.08244E03 4.16357E02 2.94930E03 3.66974E03 1.79253E03 6.91547E02 1.86433E03 1.70603E03 2.35060E02 1.88341E03 9.84482E02 4.26082E02 2.93272E03 3.77295E03 4.28808E03 2.16587E03 3.26555E03 6.34640E03 1.09055E04 9.96482E03 2.01541E03 2.37170E03 7.28495E02 6.65346E01 4.55385E02 3.13218E03 8.99882E03 6.69918E03 3.41405E03 6.54903E02 2.43035E03 4.18564E03 3.72982E02 1.41978E02 2.84111E03 4.07933E03 3.48771E03 7.90023E03 1.04787E04 9.39574E03 4.52840E03 1.23352E03 6.09221E03 9.75783E02 4.29882E02 3.63618E02 2.82406E03 9.38957E03 2.23395E04 3.78826E04 1.56265E04 2.35111E02 1.08922E04 1.27245E04 2.65523E03 9.92429E02 8.99592E03 8.01953E03 1.48355E03 1.98190E03 1.80496E03 1.20368E03 1.37667E03 3.51558E03 7.12212E02 7.78071E02 5.96854E03 8.61657E03 8.02294E03 5.08063E03 2.01045E03 3.61120E03 9.65755E03 6.07060E03 5.39565E02 4.85383E03 4.41991E03 4.30247E03 3.05085E02 2.49388E03 3.38874E03 2.87686E03 1.92080E03 3.32026E03 3.88711E03 1.05722E03 3.28873E02 3.07737E03 3.75916E03 2.70250E02 9.55584E02 2.08226E03 3.20374E03 1.34657E04 1.04815E04 1.14139E04 5.11537E03 9.31487E02 1.01796E02 6.71459E01 7.37052E02 5.04029E02 3.49078E03 1.32162E04 7.55764E03 2.78210E03 3.65498E03 1.40886E03 1.97176E03 3.27812E03 2.46621E02 2.79070E03 2.46087E03 7.02159E02 1.60562E03 1.18208E03 6.68591E02 3.95062E03 5.47384E03 1.82785E03 3.60367E02 1.55914E03 2.95335E03 2.85704E03 6.29097E03 6.84015E03 1.61562E03 6.54098E02 3.88153E02 6.76116E02 4.08158E03 6.72968E03 5.24500E03 2.72293E03 4.56243E03 2.04092E03 3.65401E02 1.36463E03 8.74890E02 3.28846E02 3.09497E02 4.39823E02 1.52651E03 1.06139E03 7.90138E02 1.71847E03 1.34252E02 1.55093E03 2.75741E03 1.38159E03 1.08684E03 1.44768E03 1.12646E03 5.11541E02 3.20172E02 2.84328E02 9.46222E01 6.86480E00 -Frame 257 1.43102E05 8.94697E04 8.96640E04 4.69952E04 3.38342E03 2.09524E03 1.24298E03 3.58235E01 9.30130E02 4.23508E01 4.08333E01 3.64738E02 5.63596E01 1.12156E03 3.85755E02 2.86319E02 2.33558E03 4.49692E03 2.16823E03 5.80327E02 1.81580E03 3.31208E03 5.02585E03 6.49038E03 6.13659E03 7.18435E03 9.66565E03 1.84169E03 1.23651E04 1.48551E04 7.86745E02 2.38887E03 4.71300E03 7.75161E02 4.29990E01 7.96353E02 3.09290E03 2.11931E03 7.42985E02 1.26903E02 2.67541E02 6.85649E02 1.66587E03 2.22462E03 2.90041E03 1.47056E03 1.82293E02 8.05307E01 8.13917E02 2.46595E03 3.99197E03 1.79515E03 5.45279E02 6.78596E02 7.69932E03 1.12091E04 3.79806E03 3.98393E02 9.96660E02 3.14737E03 2.08071E03 4.15728E03 9.20066E02 1.59497E03 8.07210E03 5.37646E03 1.90468E03 1.74412E03 1.60269E02 1.14870E03 3.42219E03 1.49890E03 1.88004E03 1.25847E03 6.57259E03 8.37442E03 2.25928E03 5.29117E02 1.96393E02 2.01017E03 1.30655E03 7.32788E02 3.22416E03 8.97880E02 1.95618E03 1.72948E03 1.88854E03 7.46081E02 1.28929E03 6.10247E02 4.83346E03 2.70124E03 2.74491E03 6.85335E02 1.50880E02 2.81285E03 1.20602E04 1.01460E04 6.54219E02 4.06699E03 5.72868E03 2.58267E03 1.54503E03 5.78127E02 4.86663E02 1.59219E03 4.10632E03 3.47695E03 7.05668E02 1.08950E03 1.35919E03 2.61850E03 3.11748E03 2.21593E03 3.70235E02 2.46958E03 1.05956E03 3.47411E03 9.37618E03 1.11523E04 8.23754E03 2.03017E03 5.98662E01 2.71214E02 1.98259E03 1.90431E03 1.01537E03 2.55719E03 6.61806E03 1.20967E04 1.05310E04 3.73666E03 3.94857E02 1.41391E03 2.61892E03 1.78703E03 1.00591E03 4.38566E02 5.60328E02 3.89711E03 5.76623E03 2.61018E03 2.35440E02 4.46429E03 4.16700E03 6.90005E03 1.47868E04 8.76180E02 1.65410E04 1.44398E04 1.83640E03 7.85057E03 1.33754E04 1.43871E03 2.44628E03 3.26908E02 9.33182E03 1.11228E04 1.53067E03 7.24569E03 1.24456E04 1.10528E04 3.85326E03 1.28601E03 4.86972E02 2.36018E03 4.39401E03 2.26072E02 3.07836E03 2.28849E03 1.72974E03 1.27519E04 1.23695E04 3.12225E02 4.19299E03 5.51980E02 1.58633E03 2.37924E03 2.79795E03 6.59831E02 7.65769E00 8.06540E02 2.42911E03 1.71125E03 3.03344E03 2.09625E02 2.64985E03 3.59036E03 3.54235E03 6.60170E03 1.05251E04 1.69058E04 2.09852E04 8.05680E03 2.54413E02 1.38497E03 6.73364E02 2.33533E03 2.08607E03 3.08208E02 9.40838E02 4.12791E03 1.52155E03 2.47981E03 5.08995E03 5.67675E03 1.33481E03 4.05905E03 6.08367E03 2.26509E03 1.90228E03 3.53325E02 2.32440E01 1.54213E02 2.30650E03 7.27203E03 4.82079E03 1.59761E03 2.62363E03 6.22556E02 4.83807E02 4.35047E02 2.12965E02 5.95241E02 4.71964E03 1.68061E03 6.72234E02 6.53073E02 1.44325E03 1.31100E03 7.50874E01 6.72928E02 4.26110E03 5.04465E03 1.89754E02 1.77689E03 1.55264E03 6.41699E02 1.40048E03 8.85178E02 6.22490E02 1.61678E03 7.55942E02 9.06691E02 3.53508E03 5.41839E03 5.54823E03 2.41934E03 1.59779E03 9.23248E02 1.32485E02 8.77860E02 2.96436E02 2.00802E01 1.11992E02 5.91136E01 2.42321E02 -Frame 257 1.18547E05 2.94447E04 1.06136E04 8.59183E03 4.39300E03 1.07789E03 1.34598E03 1.63560E03 8.14879E02 1.04585E02 3.19422E02 1.65380E03 7.11416E02 7.76712E02 2.01111E03 2.77705E03 3.97613E03 1.43898E03 4.43299E02 1.98030E03 3.20105E03 3.22019E03 1.02316E03 2.99043E03 5.05524E03 4.01876E03 4.09179E03 2.64869E03 8.00421E03 1.29479E04 2.60669E03 2.15665E02 1.25553E03 4.20138E03 2.50510E03 3.81179E02 5.68731E02 3.02099E03 4.83232E03 5.11890E03 2.26766E03 1.03366E03 7.19407E03 1.02779E04 2.57634E03 1.94834E03 1.83168E03 1.74021E03 3.16581E03 1.64717E03 6.11742E02 1.87060E03 8.04081E02 4.75003E03 8.14112E03 1.83669E03 2.39839E02 1.65308E02 1.67771E02 6.89821E02 3.71515E03 3.92306E03 3.32412E02 2.20088E03 5.88447E03 1.54637E03 1.01126E03 3.30234E03 2.04595E03 1.56599E02 1.14566E03 2.35346E03 3.95125E03 7.90461E03 1.18735E04 3.42079E03 6.91058E02 5.58254E03 6.61203E03 3.38508E03 5.73543E02 2.22273E03 1.31293E04 1.82010E04 1.05581E04 3.77398E03 3.53017E01 8.44662E02 1.34925E03 3.38724E03 8.85261E03 9.15005E03 2.33136E03 5.96455E02 1.73742E02 7.97126E02 2.10287E03 4.48679E03 8.99834E03 2.49250E03 4.81485E03 5.55012E03 2.28756E03 1.97437E03 1.94227E03 1.39979E03 2.62323E03 5.02303E03 2.04392E03 1.16460E02 3.31111E02 9.59821E02 2.41355E02 5.33387E01 9.86837E02 4.08486E03 2.58309E03 1.99672E02 1.62895E03 2.54884E03 5.46545E03 6.45185E03 3.52155E03 1.76905E03 1.74730E03 4.08869E03 7.08045E03 8.37333E03 8.38605E03 5.97206E02 7.32370E02 2.42855E03 5.16797E03 3.08253E03 1.12101E03 1.27048E03 8.56800E03 8.10981E03 4.09511E03 2.90338E03 4.31448E02 5.27177E03 4.85094E03 7.76198E03 2.03875E04 6.16048E03 4.80670E03 2.00773E03 2.12678E04 3.70557E04 1.13100E04 5.80884E03 4.54048E03 1.16811E04 1.61894E04 9.22054E03 9.52628E02 1.19090E04 7.72493E03 2.01647E02 2.15671E03 8.03910E02 3.00617E02 7.12368E01 2.87994E02 6.64550E02 5.45455E02 9.37334E02 8.30344E03 1.12178E04 1.28366E04 1.29050E04 5.94421E03 8.85428E03 3.11175E03 3.61869E03 6.43466E03 3.62292E03 2.63701E03 2.20658E03 2.79632E03 3.53674E03 8.49091E02 2.64585E03 7.80094E03 1.21024E04 6.96665E03 1.46111E03 3.01864E02 3.37023E02 2.76218E02 5.70928E02 8.64846E02 4.50340E03 4.05137E03 2.94851E03 2.80491E03 1.70753E03 2.69476E03 3.00774E03 8.79502E02 2.41500E03 5.07313E03 1.77197E03 5.69163E02 2.93434E03 4.30819E02 6.03179E03 7.35041E03 4.68976E03 3.83364E03 1.70401E03 4.53426E02 4.23342E02 8.76650E02 4.03857E03 3.51077E03 2.16877E02 1.36714E03 3.34794E03 1.36910E03 2.56489E02 3.69210E03 8.10732E03 7.52940E03 7.44095E02 1.66979E03 7.49582E02 1.29901E02 3.96134E02 1.76161E02 4.39771E02 1.16943E03 4.30097E03 4.02300E03 8.94207E02 2.57762E02 4.82972E02 1.17824E03 4.12320E02 9.11824E02 2.01866E03 4.87489E02 2.55717E02 1.56769E03 2.02353E02 1.79389E03 1.94314E03 3.08180E02 2.36232E02 3.44006E02 1.55298E03 1.59656E03 1.99412E03 1.39354E03 6.16535E02 2.74813E02 -Frame 257 5.68992E04 4.25316E04 1.29686E04 3.35083E03 1.25791E03 7.29452E02 1.75025E02 5.87006E02 2.42254E02 3.83580E02 9.86288E02 1.94051E03 1.26124E03 6.37424E02 1.29774E03 6.69657E02 8.26147E00 1.19470E03 1.53249E03 8.64377E02 1.09540E03 1.40208E03 9.84992E02 1.47230E03 6.98140E03 6.85835E03 1.46819E03 2.45855E03 5.60980E03 9.79040E03 3.73944E03 6.48938E02 3.82081E03 7.05868E03 2.03237E03 1.26666E03 1.99564E03 5.46122E02 1.73452E03 8.96290E02 7.71137E02 3.27293E03 2.45991E03 1.62671E03 3.45442E03 2.97386E03 7.10568E02 3.26163E02 1.09094E03 1.02215E03 1.20728E03 1.31632E03 1.83639E03 2.76239E03 4.62153E03 1.18562E03 7.18697E01 9.04746E02 1.85325E03 2.04381E03 2.78046E03 1.40784E03 6.78119E01 3.67170E03 7.57006E03 4.53454E03 4.72595E03 5.05767E03 8.40126E02 2.77340E02 5.13850E02 4.11321E02 1.99101E03 9.59028E02 3.59474E03 3.87021E03 8.13670E02 6.43891E02 3.67307E02 1.11480E03 8.77269E01 3.83638E03 9.73230E03 8.62382E03 2.93401E03 7.19925E03 6.61969E03 2.16744E03 8.45326E02 8.55555E02 6.97791E02 3.44786E03 4.54120E03 4.44124E03 4.19740E03 6.60353E03 9.49783E03 1.16228E04 1.05316E04 6.25327E03 5.01426E03 5.68330E03 3.87486E03 3.54014E03 9.45960E03 5.15069E03 1.38915E03 1.28906E03 1.71869E02 8.19571E01 1.76734E03 4.01847E03 2.20647E03 3.16793E02 3.38198E02 1.68163E03 9.77016E01 3.36072E02 4.48078E02 1.28930E03 2.06940E03 9.90421E02 9.41173E02 4.16730E03 2.68345E03 5.10548E02 9.59758E03 2.30791E04 1.86346E04 5.56961E03 1.34665E03 1.59812E02 1.27579E03 1.95507E03 1.04427E03 6.56282E03 1.35756E04 8.02434E03 3.34881E03 2.64614E03 4.81426E02 2.12143E03 7.21780E03 1.29242E04 1.55335E04 6.37031E03 7.95190E03 2.88721E04 3.79105E04 5.67006E03 9.47491E03 1.26521E04 2.77066E03 1.19714E03 6.07926E03 1.16989E04 1.66737E04 8.00401E03 8.92268E02 4.11783E03 6.78347E03 5.69021E03 3.24420E03 1.78487E03 1.60216E03 2.86162E03 6.35564E03 8.69780E03 2.93524E03 1.58809E03 6.23138E03 2.71302E03 1.52668E03 4.12838E03 7.10777E03 9.75330E03 9.71215E03 1.63314E03 1.22002E03 3.66153E03 1.44811E04 1.12471E04 1.43865E03 8.71150E02 7.67126E03 6.30507E03 2.97444E02 2.43316E03 7.25599E02 2.18883E03 3.85577E03 4.18459E03 1.35224E03 3.87559E03 1.97417E03 8.58182E02 2.34780E02 4.16212E02 7.72423E01 1.94670E03 2.01597E03 4.25466E03 5.00000E03 4.64536E02 3.02057E03 4.13735E03 3.25838E03 8.66274E02 1.69159E02 8.95164E02 3.86734E03 9.65006E02 2.72007E02 3.38337E02 1.00514E03 2.45082E03 3.59643E03 3.04455E03 2.02670E02 3.09338E03 9.39488E02 3.46756E03 7.16793E03 2.83614E03 3.79068E03 2.93683E03 2.06135E03 1.94714E03 8.54486E02 1.04675E02 1.76349E03 1.05262E03 1.63997E02 1.78574E02 1.33550E03 1.38758E03 1.96520E03 2.37509E03 6.15112E02 3.80696E02 1.43661E03 1.68087E03 5.39441E02 1.42345E02 1.20595E03 2.08987E03 8.99245E02 2.57053E02 2.54225E03 4.40241E03 3.20603E03 6.06672E02 3.23282E02 5.76114E02 3.77179E02 9.94569E02 6.91897E02 -Frame 257 8.37456E00 7.70283E03 2.64063E04 6.41874E03 1.62242E03 2.41018E02 1.01058E02 1.38019E03 2.79606E03 1.23639E03 6.27495E02 4.19172E02 1.05866E02 5.87845E02 1.08010E03 9.96661E02 1.61803E03 1.77615E03 2.23452E02 1.49645E02 2.16940E02 2.27990E02 4.58727E02 4.29731E02 1.30514E03 6.94044E03 7.37046E03 1.42736E03 5.66329E02 1.87360E03 4.24259E03 4.17473E03 5.00018E03 3.30350E03 3.55080E03 7.71157E02 3.20731E02 4.18340E01 1.38223E03 1.46434E03 1.56794E03 2.32592E03 9.38909E02 2.96012E02 7.81638E02 9.13034E02 3.18949E02 6.76585E02 6.30083E02 5.00724E02 4.11293E02 4.10264E02 1.18974E03 2.42742E03 7.04534E03 6.10866E03 2.56561E03 2.17970E03 8.40205E02 1.45413E02 4.17230E01 7.00349E02 5.01054E02 1.83146E03 6.68049E03 2.29314E03 2.44965E03 1.41822E03 4.05209E02 1.90285E03 9.77095E02 4.39698E02 1.94285E03 2.60841E02 4.52973E02 4.80030E02 4.07559E02 2.98661E02 9.25369E02 2.47360E03 2.79286E03 5.34009E02 6.17853E02 3.85515E02 5.79191E03 5.27829E03 1.26429E03 1.30174E02 2.72267E03 2.08946E03 6.58297E02 9.30077E01 1.51825E03 3.04433E03 1.02160E03 4.53701E02 7.05393E03 6.06665E03 5.08288E02 1.41166E03 3.09404E02 2.32126E02 2.90731E02 3.08096E03 4.58434E03 3.80727E03 3.52409E03 3.96938E03 2.42020E03 1.34195E03 1.70968E02 1.67465E03 1.31114E03 1.54270E02 9.26965E02 3.49255E03 5.56093E03 4.87378E03 2.93803E03 2.24242E02 1.28747E03 5.75792E02 6.87487E02 2.97601E03 1.53458E03 3.26345E03 7.06053E03 3.49379E03 7.93828E03 1.33799E04 4.29889E03 6.15312E03 9.69670E03 8.87387E03 8.14508E03 1.23669E04 5.76179E03 4.92041E03 9.16585E03 1.94132E03 1.90133E03 5.19715E03 3.73727E03 2.27401E03 9.89331E03 3.07159E03 2.52610E03 2.06293E04 3.21958E04 1.01346E04 2.98324E03 5.64631E03 4.08667E03 5.64700E03 5.64438E03 9.21991E03 8.54437E03 1.88995E03 4.35405E02 1.89200E03 8.79546E03 2.20387E03 6.20921E03 4.41670E03 3.67130E03 6.83760E02 2.35743E03 4.53047E03 2.45924E02 2.53060E03 3.36784E03 1.26619E03 8.15698E02 4.34816E03 3.38995E03 4.91433E03 6.42901E03 1.23978E03 8.59564E02 1.96555E03 7.44538E03 1.13314E04 1.04044E04 3.52756E03 1.21293E03 8.57656E03 6.01512E03 2.14496E03 1.84275E03 4.06458E03 2.63377E03 6.58551E02 6.13733E03 1.80796E04 1.74707E04 6.69628E03 3.94209E03 4.57923E03 5.88827E03 4.85195E03 2.53126E03 2.98772E03 1.97383E03 4.05418E03 3.52116E03 3.32383E02 2.68801E02 9.36973E02 1.41698E03 2.27436E03 3.21475E03 1.21349E03 2.30986E02 7.80803E02 1.63269E03 8.54049E02 7.61950E02 1.93476E03 4.45044E03 7.42705E03 9.40958E03 7.36153E03 2.18696E03 7.80702E02 1.85769E02 1.21781E02 1.97221E02 6.54624E02 6.26121E01 3.47601E03 8.03240E03 7.37819E03 5.13741E03 5.01526E03 2.61149E03 2.34731E03 2.31203E03 7.09821E02 3.11365E02 7.54573E02 5.93781E02 1.31306E03 6.53855E02 3.88074E02 1.55058E03 8.46760E02 7.69376E02 2.76931E03 3.97401E03 2.31287E03 2.42738E03 1.36483E03 4.89418E02 2.57630E02 8.98636E02 1.77599E03 8.90385E02 -Frame 257 1.72934E03 1.50104E04 4.32666E04 2.26398E04 2.56697E03 1.08237E01 1.75191E00 5.40294E02 8.79914E02 4.05225E02 2.40922E02 1.26897E02 3.84211E02 7.03123E02 4.68094E02 1.40547E02 1.30662E03 2.44119E03 2.87156E03 2.31846E03 1.05620E03 3.22927E02 7.66049E02 2.64126E03 1.49479E03 2.56041E02 9.28246E02 6.67861E02 1.13116E03 6.03784E02 1.25426E02 2.95829E03 2.80906E03 3.40400E02 8.84118E02 3.02718E03 2.52529E03 1.11022E03 1.19048E03 8.80116E02 2.84083E02 1.44078E02 1.33636E03 1.44432E03 5.02202E02 1.44219E03 5.62440E01 7.27591E02 2.31733E02 3.63618E01 4.91449E02 3.30058E02 3.38648E02 5.21320E03 9.60804E03 1.64560E03 4.05666E02 6.52967E02 9.36065E01 6.89463E01 3.21830E02 1.44173E03 6.56636E02 2.46084E03 1.27900E04 5.48030E03 1.24029E03 2.78824E03 1.54136E03 7.18583E02 2.37951E03 3.49524E03 4.90113E03 2.30956E03 2.73781E02 2.86242E01 1.57682E02 1.66633E02 2.78897E02 3.51231E02 4.40466E02 3.85676E02 2.01085E03 1.56238E03 2.39887E03 3.64641E03 2.58475E03 4.16978E03 5.02638E03 3.18857E03 4.12036E03 4.41081E03 5.60559E03 3.64991E03 1.37921E03 2.51804E03 2.80000E03 1.34164E03 2.50480E03 3.88519E02 1.17683E02 9.45025E02 2.77710E02 1.55135E02 4.59798E02 1.55207E03 1.43210E03 1.72941E03 7.26468E03 3.79511E03 3.02956E02 5.82074E02 1.16274E03 1.46826E02 1.26417E03 2.92236E03 5.23388E02 1.26306E03 2.12869E03 2.70524E01 2.71931E03 4.55755E03 3.00886E03 1.46846E02 2.96661E03 2.95279E03 3.18895E03 1.14185E04 1.29879E04 3.28981E03 1.99423E03 1.94820E03 4.43072E03 4.21453E01 5.72211E03 5.24944E03 2.48291E02 3.88840E03 1.28559E04 5.89928E03 1.83546E03 9.78134E02 3.37106E03 3.58914E03 1.64263E03 5.67047E03 1.02089E04 4.23316E03 1.49093E04 3.21239E04 1.38777E04 3.22847E03 9.79142E02 3.45605E01 2.01937E03 7.47253E03 6.03306E03 1.28717E03 1.68319E02 6.55559E03 2.14853E04 2.52212E04 1.98033E04 9.83816E03 3.09766E03 9.16885E02 7.73041E02 8.58343E01 1.75352E03 2.23157E03 8.16596E02 1.14525E02 3.23268E03 1.01146E04 9.31289E03 3.88910E03 2.29463E03 4.75560E03 6.31987E03 8.46052E03 5.92313E03 6.24691E03 1.67477E03 2.13687E03 4.98266E03 2.52798E03 8.24257E02 2.41649E02 4.99081E02 3.86841E02 3.22019E03 1.77815E03 2.53650E03 5.00278E03 2.28638E03 6.12277E02 8.82510E01 1.41101E03 8.93572E02 1.29234E03 1.36643E03 1.61138E02 5.93613E02 2.23227E03 3.96633E03 8.80332E02 3.32497E01 6.67792E02 1.65312E03 5.28909E02 2.58385E03 2.28280E03 2.10396E02 9.82184E02 1.06579E03 7.92457E01 3.19085E02 6.69675E01 4.39454E02 2.53927E01 3.74193E03 2.27549E03 1.36400E01 3.56910E02 1.42998E03 1.69112E03 9.48169E02 9.45007E00 2.71425E03 7.76424E03 2.35928E03 2.74763E03 5.90427E03 8.30017E01 3.96042E03 3.40635E03 1.14484E03 1.70530E03 2.60733E03 9.44234E02 3.24196E01 4.65108E02 7.22841E02 2.34960E02 1.67954E03 1.14865E03 9.49898E02 1.17397E02 6.92691E02 3.03663E02 5.32688E02 1.78493E03 1.75923E03 1.10962E03 1.17399E03 1.47672E03 1.85389E03 -Frame 257 2.88428E04 1.28114E04 2.22431E04 5.22717E03 6.42244E02 4.41432E02 5.32815E00 6.39499E02 6.66186E02 4.26129E01 1.04309E02 1.62244E02 1.76617E02 9.59186E01 3.12121E02 6.46087E02 2.42073E02 3.79377E02 2.12576E01 7.66485E02 4.16918E02 1.93469E01 2.74563E02 4.55858E02 1.47274E03 2.28251E03 1.39406E03 5.51564E02 1.06522E03 9.48452E02 3.26426E01 2.97285E03 1.28646E04 1.00083E04 2.28535E03 3.44561E02 7.40305E02 1.74204E03 2.51335E03 2.98622E03 1.41826E03 5.23745E02 3.26971E02 2.10568E03 3.84197E03 2.70989E03 1.91761E03 1.78583E03 6.15079E02 1.72476E02 3.09610E02 6.81022E02 6.06289E02 4.06835E03 8.82261E03 3.79561E03 7.44453E02 1.43458E03 1.38433E03 1.98638E03 2.40165E03 4.61495E02 1.64841E03 6.27762E03 1.17271E04 8.10686E03 3.63304E03 6.44329E02 4.14416E03 3.70290E03 1.66920E03 1.44602E03 3.87288E03 4.74117E03 2.06334E03 1.11473E03 1.03604E02 5.25029E02 3.10694E02 5.25316E02 2.73614E03 4.73214E03 3.03463E03 7.96554E02 1.26831E02 8.79872E02 3.37206E03 4.04000E02 1.98937E03 2.47960E03 1.59869E03 5.37390E03 5.48836E03 4.62223E01 2.48874E03 6.24524E03 1.01057E04 5.31372E03 5.32249E02 2.73481E02 1.05187E02 1.31375E03 3.55835E03 5.18409E03 6.16351E03 9.17593E03 9.81429E03 2.14676E03 4.87584E03 4.28648E03 4.71328E02 3.50899E03 2.51013E03 6.38244E02 1.15135E03 2.09339E03 9.75309E01 1.43074E03 1.25629E03 4.51672E02 1.25013E03 3.40359E03 7.58509E02 6.10432E03 8.23884E03 1.22346E03 6.00428E02 1.44791E03 7.28160E03 2.76482E03 2.87386E03 4.17450E03 1.16819E03 1.64210E02 1.38998E03 6.95830E03 6.09777E03 3.61047E03 5.93820E03 1.68631E04 1.41741E04 4.45767E03 2.27309E03 8.44927E02 5.13790E02 3.09547E02 4.01535E03 6.61488E03 3.54529E04 3.66959E04 6.71518E03 1.18818E03 2.64879E03 6.92178E01 1.35750E02 1.20890E03 2.93585E03 3.09439E03 3.40373E03 1.63885E03 3.94222E03 4.04458E03 9.31846E02 4.36007E02 1.31057E01 5.63730E02 2.81544E03 4.38344E03 1.42000E03 3.31048E02 6.18247E02 1.02221E03 1.90943E03 4.30613E03 8.13582E02 7.35304E02 4.50695E03 1.49910E04 1.01326E04 1.79183E02 1.83152E04 2.68346E04 3.27859E03 4.56237E03 6.64836E03 4.40760E03 5.60375E03 5.68139E03 4.29384E03 8.49163E02 1.87280E03 9.43243E03 2.20244E03 9.43782E02 9.41480E02 7.37097E02 1.84586E03 3.98027E03 1.64759E03 4.53029E02 2.23443E03 2.68762E03 1.14295E03 1.72728E03 4.70030E03 2.97134E03 1.11907E03 6.75444E02 3.26562E01 9.86361E02 5.02293E03 3.48942E03 1.24840E03 5.25684E02 3.57162E02 6.61104E02 1.86495E02 1.47256E02 3.97251E02 3.80177E02 2.43956E03 1.97013E03 5.18076E02 7.12771E02 2.48933E03 1.33333E03 1.21082E01 7.07566E02 1.10306E03 1.35938E03 3.53060E03 2.74265E03 5.16395E03 4.80616E03 1.08599E03 3.52989E02 1.82700E03 9.14554E02 3.95875E02 8.97427E02 3.57176E02 9.16224E02 1.77518E03 9.65904E02 1.48810E02 1.11993E03 2.15788E03 2.16267E03 6.43736E02 1.56217E02 3.10189E01 3.91288E02 5.04816E02 5.32669E01 2.13354E02 1.05724E02 1.39182E02 -Frame 257 8.61166E04 6.82418E04 4.16936E04 1.25459E04 7.27919E02 1.60880E02 1.28211E03 2.70744E03 2.47373E03 1.13690E03 1.20868E02 2.12633E00 9.59185E01 1.34850E02 6.29271E02 5.78494E02 3.72127E02 1.32398E03 2.97668E03 2.08729E03 6.28215E02 3.77432E02 2.06253E02 5.29225E02 1.01595E03 1.82342E03 6.94931E02 1.27854E02 8.71067E01 6.74688E02 6.25050E00 5.86574E03 1.28843E04 1.97729E03 1.23150E03 1.59564E03 3.03451E03 9.76176E02 6.60107E01 7.79577E02 5.74591E02 4.41720E02 5.00358E02 4.09209E02 9.82934E02 1.65748E03 2.06048E03 2.37405E03 3.84035E02 9.69218E02 2.82907E02 8.66264E02 2.76292E03 2.26847E03 9.16843E03 4.17553E03 6.41904E02 1.51814E03 8.28121E01 2.95738E03 3.29404E03 1.79497E03 1.04678E03 2.16659E03 7.18335E03 5.14029E03 6.49207E03 4.35279E03 3.09773E03 8.07515E02 9.08005E02 2.22856E02 9.04371E02 6.52196E00 1.02582E03 2.87260E03 6.98994E03 4.24376E03 1.07814E03 1.02672E03 9.10268E02 6.61118E02 7.43362E02 2.84324E01 2.49743E02 1.90901E03 2.89695E03 2.42526E02 7.70439E02 7.99946E02 8.07795E02 4.59139E03 7.98898E03 5.31879E03 7.24597E03 7.45232E03 9.44891E03 4.35800E03 1.56669E03 4.32211E02 2.81202E03 2.43320E03 1.26900E03 5.05588E03 2.40139E03 2.27875E03 1.83624E03 3.57187E03 6.14281E03 8.87012E03 2.77515E03 1.18550E03 1.25446E03 3.22246E02 1.09978E03 1.16679E02 2.59211E03 3.31149E03 1.75478E03 7.97444E02 1.58351E03 7.56927E03 1.16617E04 3.96850E03 1.26973E03 7.53028E03 6.51611E03 1.43988E04 2.53299E04 1.54159E04 1.27717E04 4.77779E03 3.15081E02 6.04550E01 4.39591E02 5.39732E03 4.46778E03 8.93116E02 7.42263E02 6.04411E03 1.30548E04 6.51757E03 5.36971E03 5.40446E03 5.06154E03 6.44884E03 7.20636E03 1.01256E04 7.94885E03 9.32744E02 3.58389E03 1.18459E03 4.83187E03 8.99097E03 5.83858E03 1.14558E03 7.19626E02 9.46021E02 1.40520E03 1.97434E03 4.54284E02 3.56217E02 1.02912E03 9.39435E02 8.89435E02 1.70906E03 5.56406E02 3.26848E03 3.45411E03 3.17429E03 2.94903E03 1.77201E03 4.73861E02 1.57857E03 2.93600E03 1.90359E03 4.81044E03 4.29195E03 4.96681E03 1.80291E01 1.15936E04 2.20687E04 2.31839E04 1.84672E04 4.07942E03 3.95606E03 7.57251E03 8.03982E02 4.24758E03 4.87292E03 8.22941E03 9.45789E03 5.13345E03 8.92553E03 9.12193E03 6.07509E03 7.63025E03 3.98090E03 5.22146E02 1.85904E02 3.66487E02 2.06450E03 1.23883E03 4.40812E02 3.54820E03 3.96409E03 2.59498E03 3.37633E03 2.28665E03 2.99235E03 2.79622E03 6.29197E02 4.24928E02 1.99490E03 3.23974E03 1.79208E03 9.10215E02 1.51225E03 1.49348E03 8.83874E02 9.49608E01 6.73472E02 7.93153E02 3.62140E02 1.18749E03 2.20754E03 1.74941E03 6.94222E02 7.74714E02 1.21898E03 8.95889E02 1.03293E03 2.31636E03 1.69003E03 4.32146E02 5.07134E02 2.14307E03 3.57257E03 2.12854E03 2.36498E02 9.91688E01 7.64345E01 1.86614E02 5.25066E02 2.81188E03 5.54496E03 2.20387E03 8.03009E01 4.70979E02 2.29054E02 6.67400E02 1.00551E03 1.31903E03 7.95225E02 1.01315E03 1.58616E03 1.38859E03 -Frame 257 6.31581E04 4.55799E03 2.11760E04 8.31253E03 6.94088E02 1.19132E03 1.79039E02 6.90117E02 3.71819E02 4.58128E02 9.08580E02 6.14875E02 1.26224E03 3.12270E03 3.76662E03 3.25257E03 1.63094E03 4.84438E02 2.51906E03 5.41269E03 3.76349E03 2.08376E03 2.87181E03 6.94939E03 5.86882E03 5.49737E02 4.33498E02 1.07389E02 1.18157E02 9.76262E02 3.73888E03 6.60329E03 6.93682E03 3.81958E03 2.20026E03 4.68986E03 6.03002E03 4.83774E03 2.63617E03 2.85520E03 1.57245E03 7.65445E02 1.35501E03 2.63937E03 2.20745E03 5.51757E02 1.83228E03 8.68014E03 9.70853E03 4.58486E03 1.08431E03 1.10082E03 3.83046E03 4.66550E03 7.08726E03 5.03261E03 2.10163E03 6.25641E02 1.00280E03 1.45508E03 2.44421E02 4.43817E02 6.55441E01 3.28491E03 5.11753E03 9.93853E02 4.75410E03 3.95507E03 3.16685E03 2.38764E03 8.43578E02 4.13800E02 5.15414E02 4.51754E02 3.59117E03 8.52212E03 6.22856E03 1.58986E03 3.52170E02 1.09200E03 3.48405E03 2.46659E03 3.88067E02 4.20881E01 1.59627E02 1.22051E03 5.03877E03 2.13565E03 9.87348E01 4.01069E02 1.35985E03 3.65901E03 1.72751E03 6.98379E02 1.66537E03 3.64753E03 7.40881E03 6.58947E03 4.57427E03 7.47826E03 1.08269E04 7.40037E03 1.09111E03 9.01541E03 7.90011E03 8.88172E02 8.38245E02 9.22477E02 2.22679E03 5.07656E03 1.54024E03 1.65946E02 5.39138E02 4.20412E03 4.92316E03 3.33133E03 3.92368E02 1.77650E03 1.16368E03 1.03045E03 7.95029E02 2.96281E03 1.53916E03 1.43236E03 7.69962E02 2.26411E03 2.27973E03 7.33207E03 2.05827E04 1.26819E04 2.06692E03 2.40943E03 4.29583E03 3.98630E03 8.69716E03 8.92448E03 2.27034E03 2.89562E02 5.96983E02 2.09133E03 8.51715E02 2.55014E03 1.26208E03 2.30929E03 2.77194E03 5.22365E01 7.37951E02 2.02202E03 8.73483E02 5.89503E03 2.50990E03 1.25651E03 1.08838E03 5.97560E03 5.27919E02 5.58844E03 4.14059E03 1.28193E03 4.42552E03 2.59626E03 9.98362E03 8.75774E03 2.12559E03 4.48058E03 8.48146E03 7.48064E03 8.05255E03 5.49369E03 3.06550E03 3.15038E03 1.27509E03 1.50166E01 1.51813E02 3.33431E02 4.07498E02 1.62905E03 4.21149E03 2.60831E03 1.79629E03 1.00303E03 4.48432E03 2.69228E03 2.44440E03 5.84192E03 7.38085E02 3.69200E03 8.12907E03 5.19598E03 4.49626E02 3.60144E02 3.36202E03 3.91085E03 1.53478E02 2.61445E03 1.54438E04 1.97688E04 4.13794E03 2.43839E03 2.07616E03 1.05376E03 1.21804E03 1.10102E03 7.75274E01 1.03336E02 5.02032E02 1.96002E03 1.03156E02 1.90249E03 1.92818E03 1.04868E03 1.32990E02 2.19015E03 6.00541E03 8.81084E03 7.05611E03 6.00704E03 1.00462E03 1.99327E02 5.76214E02 7.55754E02 4.04341E02 7.71895E02 4.96788E03 4.94642E03 1.48466E03 1.29155E03 6.26692E02 2.83600E02 1.66330E02 1.10364E03 1.60237E03 2.40135E03 1.00653E03 5.17898E02 1.48683E03 1.30262E03 5.17606E02 2.34823E03 2.22002E03 2.01773E02 5.27923E02 9.94162E02 8.74046E02 3.76254E02 8.12294E02 2.87684E03 2.30192E03 1.29149E03 1.32579E02 1.23638E01 2.77618E02 4.98012E02 8.74282E02 1.87204E03 1.34258E03 1.69878E02 1.39665E03 -Frame 257 5.76791E04 5.85322E04 4.12540E04 1.01052E04 6.23457E01 8.30892E02 2.75138E01 1.04456E03 1.11468E03 7.63713E02 5.90036E02 2.58269E02 8.18996E02 2.19403E02 3.58756E02 8.78024E01 1.03708E03 3.09515E02 6.79362E02 8.31631E02 6.89716E01 2.32335E01 1.00788E03 4.12078E03 2.63342E03 2.38663E03 2.37593E03 1.03957E03 3.85960E02 3.06892E02 5.48845E02 1.82012E02 4.02846E02 1.22682E02 3.22803E02 1.07482E03 3.97912E02 1.26728E03 3.79832E03 6.19448E03 3.51607E03 1.76737E03 2.43145E02 2.91950E03 2.25367E03 2.20529E03 2.42787E03 1.55358E02 1.61888E03 2.44540E03 8.41653E02 5.74363E02 8.79615E02 3.17819E03 6.65208E03 6.84703E03 4.36487E03 3.12626E03 1.09610E03 6.56300E01 2.98018E02 1.49039E03 1.30300E03 1.93562E02 2.54873E03 3.08635E03 1.02169E03 9.16059E02 1.52483E03 2.95900E02 1.70365E02 5.28751E02 1.06586E03 1.43159E03 4.28868E02 4.41712E02 1.03103E03 1.22589E02 4.43528E02 1.88313E03 5.77334E03 6.75416E03 3.43040E03 1.51154E03 1.63356E03 3.03040E03 5.21058E03 3.49335E03 2.76229E02 3.75276E02 1.20376E03 2.60919E03 1.37258E03 7.11160E02 1.85625E02 3.85595E03 8.86071E03 4.60835E03 2.15140E02 3.61806E03 7.04724E02 1.75351E03 5.28614E03 6.37682E03 6.39163E03 3.31244E03 1.77745E03 4.43483E02 1.05021E03 5.34207E03 4.57708E03 3.99629E03 7.15563E03 4.10242E03 7.16899E02 3.83845E03 7.03718E03 5.40426E03 3.02043E03 1.45235E03 8.28889E02 1.07333E03 4.35676E02 1.36917E03 3.38857E03 5.77463E03 3.96507E03 7.23424E03 1.21532E04 4.94496E03 5.50878E03 7.20374E03 4.30368E03 3.98005E03 3.17419E03 2.65862E03 1.38605E03 1.20545E02 9.31907E02 4.01933E02 2.78362E03 4.27847E03 2.60706E03 1.07067E02 9.93814E02 2.84321E03 5.38704E03 1.54391E04 3.18346E04 2.53477E04 8.98799E03 5.31602E03 5.65157E03 9.36642E03 1.51679E04 1.33123E04 4.51775E03 3.63238E03 7.01266E03 1.17332E04 1.99221E04 1.25142E04 9.95543E02 2.88423E03 7.10644E02 3.67600E02 5.67682E02 7.17247E03 5.96151E03 1.65323E03 2.30943E03 1.28563E03 8.94569E02 1.23590E03 1.60406E03 1.85174E03 1.01229E03 6.38832E02 6.26284E02 3.95434E00 1.85942E03 4.25770E03 2.83803E03 7.20453E03 3.94737E03 2.69433E01 1.68296E03 6.02600E02 1.83172E03 3.48670E03 7.36747E03 1.26907E04 1.02995E04 2.86241E03 4.30643E03 8.66725E03 2.26225E03 4.06941E03 3.07855E03 2.53452E03 2.34952E03 3.40872E02 1.77177E03 2.02893E03 1.32061E03 5.04309E02 4.33502E03 4.98403E03 1.40695E03 1.25089E02 1.32631E03 6.29172E03 6.13353E03 4.73596E03 4.09767E03 7.35998E03 3.10128E03 1.54566E03 1.68591E03 1.72100E03 2.11951E03 4.10827E03 3.88018E03 8.94007E01 2.51500E03 2.15441E03 5.43649E02 2.57627E02 2.53627E02 6.69448E01 1.60929E03 2.71049E03 1.49985E03 5.05671E02 5.86320E02 2.75044E03 3.69034E03 1.61219E03 8.96611E01 5.01095E02 1.47817E03 1.18653E03 7.59497E02 2.33789E03 3.34846E03 1.79942E03 7.16654E02 1.92954E02 2.82147E02 8.37000E02 1.74512E03 7.95461E02 1.19689E02 2.16860E02 3.23616E02 2.32009E03 3.15767E03 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1422745326840, duration: 5235ms diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-mel.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-mel.dump deleted file mode 100755 index ab6420b7..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-mel.dump +++ /dev/null @@ -1,321 +0,0 @@ -Signal: DataStartSignal: creation time: 1422745326849 -Signal: SpeechStartSignal -Frame 40 2.29468E01 2.75997E01 4.82547E01 3.70051E01 5.53570E01 2.63290E01 8.29951E01 1.60334E02 6.52554E01 3.05997E01 3.48380E01 1.20349E02 1.72823E02 6.19980E01 2.72282E01 1.24413E01 2.18152E01 6.45479E01 1.28285E02 2.49309E02 8.58705E01 2.05119E02 9.37074E01 9.74660E01 6.30589E01 4.69776E01 6.25067E01 8.47647E01 1.52696E02 2.85306E02 1.59758E02 2.50474E02 3.97901E02 2.01596E02 1.31341E02 1.33400E02 1.41848E02 1.33579E02 1.31293E02 3.89525E01 -Frame 40 1.41197E02 4.74661E01 6.31284E01 3.41885E01 1.84778E01 1.36248E01 2.26614E01 4.82651E01 1.15192E02 3.16447E02 1.10123E02 1.70014E01 1.72118E02 1.18005E02 3.53404E01 1.48883E01 1.00338E02 1.69379E02 9.01381E01 1.21943E02 8.09687E01 2.00854E02 8.38461E01 1.25113E02 9.30848E01 4.88426E01 1.40455E02 2.72049E02 6.69514E01 6.78196E01 9.15709E01 9.83409E01 1.24876E02 2.06714E02 2.83060E02 1.64376E02 1.27718E02 1.24668E02 1.24388E02 4.61960E01 -Frame 40 8.09543E01 3.63000E01 8.06983E01 6.63013E01 1.19875E02 2.79674E01 2.20183E01 1.41659E01 2.21445E01 2.56527E02 9.35613E01 1.06708E01 4.62123E01 4.53524E01 2.51971E01 5.23865E01 1.11042E02 1.39796E02 4.50457E01 1.19094E02 2.36414E01 2.22247E02 4.77382E01 8.05045E01 2.82928E01 5.46551E01 5.95675E01 2.91980E02 7.73064E01 8.42805E01 1.40805E02 2.04712E02 7.40085E01 9.59810E01 2.52481E02 1.70625E02 7.78308E01 1.18437E02 1.16475E02 8.06060E01 -Frame 40 1.36578E02 3.64702E01 1.97970E01 3.82987E01 3.04263E01 9.04172E00 3.42135E01 3.22133E01 1.19559E02 1.05569E02 7.23215E01 3.36641E01 8.12839E01 7.36726E01 7.91339E01 1.08577E02 1.34595E01 6.28761E00 5.20007E01 1.29950E02 4.69102E01 1.02170E02 7.87861E01 6.36736E01 1.47972E01 2.01292E01 9.79449E01 1.26349E02 9.98528E01 1.18258E02 2.27389E02 2.70630E02 2.24306E02 1.89636E02 3.05425E02 1.92270E02 1.01223E02 1.06066E02 6.57495E01 8.34842E01 -Frame 40 1.39217E03 4.28948E01 2.64936E02 7.79908E01 4.98719E01 4.50918E01 1.22777E02 4.02979E01 6.63814E01 5.37295E01 3.13690E01 1.48270E01 3.66941E01 6.40491E01 6.70050E01 2.72595E01 6.06929E00 2.72033E01 2.90671E01 3.20514E01 5.95000E01 1.97250E02 2.08212E02 1.23171E02 8.03503E01 5.06059E01 1.02649E02 1.72824E02 1.60044E02 1.92018E02 1.99903E02 2.28974E02 3.03152E02 2.32903E02 2.60271E02 1.40844E02 1.78551E02 1.04829E02 5.45225E01 5.14963E01 -Frame 40 7.73972E03 1.91860E03 5.78308E03 1.38153E03 6.75999E03 5.47708E03 1.70006E03 2.64935E03 2.67657E03 1.59227E03 5.73166E02 1.99131E02 4.23805E01 8.38886E01 6.40944E01 4.94372E01 2.68000E01 2.74497E01 5.47397E01 1.08805E02 3.11008E01 7.76567E01 8.87472E01 1.27619E02 7.67013E01 9.05778E01 9.45406E01 1.34208E02 1.01435E02 5.18869E01 8.06410E01 1.94361E02 1.71727E02 1.78705E02 1.47907E02 7.74692E01 1.59751E02 1.24980E02 1.61680E02 1.31276E02 -Frame 40 2.15970E04 2.31139E04 1.17125E04 1.46576E04 1.80637E04 3.23353E04 1.29986E04 1.89062E04 2.97776E04 2.31062E04 7.64341E03 3.52529E03 1.67270E02 8.11377E01 2.72474E02 1.67970E02 4.41043E01 7.23199E01 1.19951E02 1.18183E02 1.08636E02 1.59695E02 2.39867E02 1.17076E02 2.35686E02 3.93950E02 2.09088E02 2.32958E02 2.50716E02 9.07701E01 8.55176E01 2.15500E02 1.54197E02 3.08860E02 4.06157E02 3.94141E02 1.76455E02 2.80982E02 3.02807E02 1.14815E02 -Frame 40 1.04605E04 8.10665E04 3.76581E04 8.28605E04 1.43781E05 8.91765E04 1.61438E05 1.30648E05 9.15071E04 1.48562E05 7.02294E04 3.78696E04 2.24400E03 2.01609E02 2.68683E02 2.84660E02 3.69872E02 5.29333E02 1.23778E02 7.14597E01 3.08571E02 3.49072E02 4.41207E02 9.39426E02 4.75314E02 2.13276E02 1.40744E02 4.32323E02 9.44993E02 1.79539E02 1.00886E02 2.86069E02 3.63151E02 7.21593E02 8.17812E02 6.53192E02 1.15960E02 6.85594E02 5.26264E02 1.43226E02 -Frame 40 1.69750E04 1.78508E05 7.82553E04 2.24457E05 2.52180E05 5.75120E05 1.33704E06 3.72883E05 3.90183E05 1.44181E06 7.41668E05 3.37248E05 2.56211E04 7.16441E03 4.37212E03 2.21659E03 3.25726E03 2.35404E03 1.52385E03 1.80512E03 2.08527E03 3.75266E03 3.93418E03 1.10965E04 2.71699E03 4.09606E02 3.66706E02 1.14713E03 7.80518E03 1.88555E03 1.47471E02 2.40772E02 4.87823E02 6.00041E02 4.02658E02 3.88688E02 3.62992E02 1.23185E03 1.24453E03 7.76197E01 -Frame 40 3.14763E04 2.25481E05 1.86053E05 1.68497E05 6.87616E05 4.91197E05 4.69060E06 1.72587E06 1.49214E06 4.36592E06 4.51752E06 2.88631E06 9.07333E05 4.78384E04 1.54055E04 5.85725E03 1.30214E04 8.22359E03 6.41335E03 5.26278E03 4.67959E03 9.80460E03 1.58474E04 5.47822E04 3.16195E04 3.83026E03 2.45006E03 6.33530E03 1.35194E04 5.37560E03 1.69024E02 3.43094E02 1.07425E03 3.52712E03 1.46136E03 4.55624E03 7.51941E03 7.53380E03 6.98560E03 1.67865E02 -Frame 40 5.94515E04 2.26966E05 3.28709E05 6.54923E04 8.99907E05 3.84664E05 5.60121E06 3.94346E06 4.82538E06 4.08121E06 7.56430E06 4.52782E06 4.88839E06 6.69648E05 1.27769E05 2.79633E04 3.08855E04 2.18003E04 2.21868E04 1.79554E04 1.38308E04 1.28518E04 1.78403E04 7.49776E04 1.67370E05 3.33770E04 6.45805E03 1.50145E04 3.01395E04 2.32393E04 6.96975E02 4.63804E02 2.14831E03 1.47335E04 6.27276E03 6.80294E03 9.86198E03 5.52294E03 6.88277E03 2.89141E02 -Frame 40 9.04067E04 1.88082E05 4.51758E05 3.58332E04 8.45379E05 5.98263E05 3.97292E06 6.02375E06 6.63764E06 4.11141E06 4.53803E06 2.72489E06 6.46176E06 3.84577E06 2.07982E06 9.22619E04 5.84878E04 3.58213E04 5.84391E04 3.98898E04 4.41964E04 1.98590E04 2.73337E04 1.30964E05 5.39849E05 1.40484E05 1.94197E04 1.42071E04 6.35157E04 7.27116E04 3.36188E03 2.08269E03 6.22382E03 2.60286E04 1.13461E04 1.70720E04 4.12660E04 1.05337E04 1.25420E04 5.25285E02 -Frame 40 1.02078E05 1.60902E05 4.43484E05 3.26432E04 6.64218E05 5.50065E05 2.74707E06 6.07964E06 5.85421E06 4.31728E06 3.04820E06 1.37978E06 3.49405E06 4.61580E06 5.51635E06 4.74746E05 2.03818E05 6.80519E04 1.28203E05 7.74201E04 7.38211E04 3.21207E04 4.29171E04 1.56959E05 7.31028E05 1.96513E05 4.88140E04 2.09879E04 1.01167E05 1.46422E05 7.67574E03 4.52106E03 1.13986E04 5.19245E04 5.71617E04 1.41477E04 2.01919E04 5.94342E04 2.96887E04 1.23866E03 -Frame 40 1.20865E05 1.20542E05 4.16876E05 4.00642E04 5.04426E05 5.38480E05 2.35078E06 5.90322E06 4.21753E06 3.95648E06 2.67149E06 1.13830E06 1.68611E06 1.39474E06 1.24439E06 1.99389E06 6.78171E05 1.37285E05 1.98606E05 1.84309E05 1.48976E05 7.54365E04 3.27227E04 6.25539E04 6.24602E05 6.01172E05 1.70648E05 3.21684E04 3.27782E04 5.66789E04 1.67191E04 1.62289E04 1.04274E04 2.82926E04 7.09239E04 3.97149E04 2.74053E04 6.49824E04 2.26640E04 2.42457E03 -Frame 40 1.08723E05 1.17448E05 3.81036E05 3.54201E04 4.54492E05 4.25378E05 2.41332E06 4.73124E06 2.91856E06 2.18742E06 2.36761E06 6.84455E05 6.78364E05 4.54406E05 3.06020E05 8.72600E05 1.78088E06 4.03702E05 3.66305E05 2.83472E05 1.71528E05 6.99188E04 2.06667E04 3.66573E04 2.84755E05 7.82052E05 2.64272E05 4.65778E04 2.44823E04 3.22103E04 4.37233E04 4.61611E04 3.09928E04 4.78512E04 1.56095E05 1.09680E05 8.19558E04 6.60567E04 2.82265E04 4.89981E03 -Frame 40 1.20293E05 1.04193E05 2.81916E05 5.52358E04 3.86247E05 3.85873E05 2.19959E06 3.37875E06 1.16533E06 1.04246E06 1.06852E06 4.64873E05 2.51154E05 1.60861E05 1.12497E05 1.76359E05 1.59960E06 5.21601E05 2.68948E05 2.45432E05 1.37133E05 6.44887E04 1.27358E04 1.68872E04 4.95251E04 1.62205E05 1.64552E05 4.68761E04 1.26779E04 9.02063E03 1.12256E04 1.37735E05 1.66050E05 5.17218E04 1.09143E05 1.67470E05 1.57423E05 6.59928E04 8.54079E03 1.49216E03 -Frame 40 4.01593E04 5.63170E04 6.96571E04 2.71134E04 1.54223E05 6.60725E04 4.83338E05 3.88782E05 1.37403E05 7.64130E04 1.84655E05 5.57410E04 2.62752E04 4.57696E04 1.89719E04 7.30851E04 2.21027E05 7.42263E04 7.30019E04 4.03887E04 2.86782E04 1.27883E04 2.84072E03 2.86129E03 7.13402E03 8.97200E03 2.11210E04 7.51754E03 8.08206E03 1.81884E04 1.12422E04 4.08715E04 7.40087E04 1.04458E05 1.28990E05 8.83148E04 8.14307E04 3.86929E04 7.64987E03 6.41089E03 -Frame 40 1.57279E04 8.33390E03 2.00748E04 2.14509E03 4.12987E04 2.26857E04 2.39198E03 1.91889E03 7.74769E03 5.78198E03 1.36849E04 1.12116E03 1.53402E03 1.53796E04 6.58420E03 4.56619E03 8.87621E03 2.46504E03 1.42082E04 8.12973E03 6.35854E03 8.78132E03 3.94343E03 1.31451E03 5.37800E03 1.11183E04 2.02006E04 4.43329E03 2.29235E03 3.92663E03 2.93993E03 3.72083E03 7.59284E03 2.34094E04 2.87991E04 2.22337E04 1.68193E04 8.50327E03 1.77825E03 1.99083E03 -Frame 40 1.06176E04 8.86316E03 1.92013E04 1.84802E03 3.97084E04 2.77131E04 9.55669E02 4.43144E02 4.64238E03 4.53735E03 9.19940E03 5.74224E02 1.51783E03 1.54102E04 4.99734E03 1.06618E03 5.47925E03 9.60828E02 6.43565E03 4.00203E03 6.57507E03 1.42088E04 3.42400E03 8.04867E02 3.02678E03 7.28908E03 2.43491E04 3.71430E03 9.13731E02 5.98612E02 1.82379E02 3.42851E02 6.58032E02 1.36178E03 1.18700E03 1.35942E03 5.27967E02 3.79496E02 2.45508E02 2.15406E02 -Frame 40 8.61562E03 7.99106E03 1.90169E04 1.62883E03 3.49715E04 2.02277E04 3.22614E03 3.04843E03 2.71148E03 3.45969E03 1.17634E04 1.34529E03 1.32091E03 7.84998E03 2.37102E03 1.82656E03 3.43810E03 2.20177E03 2.62361E03 3.96289E03 4.54387E03 1.79232E04 2.28464E03 8.34051E02 4.37537E03 7.92099E03 1.65982E04 4.13409E03 7.54147E02 4.41513E02 1.59566E02 2.04437E02 6.24839E02 5.97874E02 7.41914E02 1.16666E03 5.29007E02 3.17511E02 3.03010E02 1.97718E02 -Frame 40 7.41884E03 9.81929E03 1.88673E04 1.52374E03 2.61698E04 1.36001E04 5.12292E03 5.06299E03 2.25130E02 1.89879E03 6.82948E03 9.18088E02 7.90187E02 1.56674E04 4.88094E03 5.08781E02 2.60093E02 8.68221E02 3.08929E03 3.65785E03 3.69110E03 1.29188E04 1.68067E03 7.89274E02 4.30459E03 5.39789E03 9.78040E03 2.83631E03 4.72338E02 3.91020E02 4.90990E01 1.89845E02 5.82654E02 6.86919E02 7.28749E02 1.26196E03 5.04113E02 2.41504E02 2.36220E02 2.30317E02 -Frame 40 3.87994E03 6.18924E03 1.27625E04 1.28684E03 2.13898E04 9.02623E03 3.90332E03 4.19233E03 9.14829E02 1.12143E03 1.64290E03 7.52456E02 1.07716E03 6.63443E03 1.64075E03 2.83097E02 7.06681E02 1.61976E03 5.35309E03 2.03611E03 2.75131E03 4.05015E03 6.91014E02 1.09708E03 2.16997E03 2.08383E03 5.58232E03 2.86720E03 4.82758E02 5.39976E02 1.23012E02 2.06731E02 6.28403E02 1.14796E03 1.40001E03 8.28787E02 3.99466E02 2.36453E02 4.46109E02 4.75788E02 -Frame 40 5.15658E03 4.37277E03 7.15478E03 9.75306E02 1.82591E04 7.20726E03 4.28110E03 3.93884E03 4.18993E03 2.56195E03 1.28137E03 3.61123E02 9.35531E02 8.96407E02 2.72872E02 3.91115E02 7.39475E02 2.75270E03 2.82737E03 1.16375E03 1.58911E03 1.56060E03 1.30569E03 9.75934E02 1.82916E03 1.05055E03 1.09386E04 1.01190E04 5.45584E02 7.34917E02 1.62413E02 3.09401E02 3.49954E02 5.71040E02 6.25568E02 7.41801E02 1.01992E03 5.43703E02 5.57731E02 3.13376E02 -Frame 40 4.24575E03 3.96999E03 5.84018E03 8.65482E02 1.44658E04 4.56396E03 3.85739E03 2.28006E03 5.50351E03 1.93293E03 3.89954E02 5.73114E02 4.79094E02 8.36790E02 6.27850E02 2.66488E02 4.43902E02 1.44156E03 7.59208E02 8.70199E02 2.28326E02 9.73910E02 5.24071E02 4.70975E02 6.84156E02 9.96545E02 6.32292E03 4.30873E03 2.44481E02 6.43520E02 5.28472E02 1.88660E02 2.43656E02 7.25570E02 3.82182E02 5.09665E02 3.64091E02 4.15634E02 5.06428E02 3.44983E02 -Frame 40 3.80013E03 2.48155E03 3.67199E03 7.00347E02 1.17742E04 3.31056E03 5.51746E02 5.44801E02 3.78783E03 7.70766E02 4.19378E02 8.04185E02 8.99281E02 1.86031E02 4.60774E02 2.87679E02 5.55467E02 8.99594E02 6.70072E02 8.06802E02 7.83673E02 1.10168E03 1.10767E03 6.57327E02 8.59048E02 1.35251E03 2.68797E03 2.79950E03 8.95556E02 1.36789E03 1.56173E03 2.44109E03 2.71992E03 3.42754E03 3.28941E03 4.22188E03 4.16502E03 3.98121E03 2.98816E03 1.81716E03 -Frame 40 6.18185E03 1.18524E03 2.76172E03 1.53872E03 1.29591E04 6.62434E03 2.52066E03 2.10261E03 5.90735E03 7.15136E02 6.18678E02 2.50836E03 1.51619E03 7.64276E02 7.55639E02 3.10191E02 5.96735E02 1.08978E03 1.47873E03 2.34331E03 2.66405E03 2.55338E03 3.57426E03 3.12242E03 3.57266E03 5.25967E03 4.35669E03 2.36812E03 4.18228E03 6.84673E03 1.13313E04 1.42146E04 2.24881E04 2.87355E04 2.16159E04 2.95019E04 3.22070E04 4.33457E04 6.01350E04 4.07128E04 -Frame 40 2.30618E03 1.79863E03 9.10762E02 1.41670E03 7.94484E03 1.46336E03 1.21784E03 7.78815E02 2.49531E03 7.23381E02 1.28333E03 3.43197E02 1.98887E02 5.43095E02 3.61945E02 1.99822E02 2.31685E02 1.13662E03 3.29021E03 2.31190E03 7.75828E02 9.08960E02 3.56696E02 4.95957E02 7.55143E02 5.00129E02 4.49657E02 5.97251E02 6.76161E02 4.23509E03 7.38930E03 1.00218E04 2.12596E04 2.92737E04 8.86034E04 7.23105E04 6.68376E04 3.97829E05 9.61650E05 2.55629E05 -Frame 40 3.09975E03 3.99913E03 2.71350E03 2.28265E03 3.90293E03 7.59063E02 1.15473E03 7.99700E02 1.02889E03 3.79064E02 7.35254E02 6.77419E02 2.28487E02 1.05314E03 5.76025E02 4.16353E02 2.08741E02 1.16787E03 2.85800E03 1.94791E03 4.74339E02 1.53648E03 1.70864E03 8.32181E02 1.20098E03 1.25315E03 1.76480E03 1.12548E03 2.27356E03 8.34605E03 1.40729E04 3.30181E04 5.58142E04 1.62281E05 8.07690E05 3.98980E05 7.28534E05 1.44007E06 1.38853E06 9.83141E05 -Frame 40 2.47034E03 9.59619E02 1.01468E03 2.96255E02 5.53845E02 1.22913E02 2.14863E02 3.67817E02 6.59870E02 2.76399E02 4.37803E02 3.32490E02 4.74483E02 7.88682E02 4.55788E02 1.08611E02 6.79209E02 1.10471E03 7.60863E02 1.07632E03 1.27110E03 2.71030E03 2.40681E03 1.92819E03 2.80822E03 3.14908E03 2.62054E03 2.66245E03 2.62355E03 8.10216E03 3.84233E04 9.98730E04 1.12857E05 1.18899E05 7.49262E05 8.73620E05 1.36653E06 2.08079E06 3.80082E06 4.58755E06 -Frame 40 4.44096E02 1.19214E02 1.62386E02 5.73021E02 1.27522E02 1.35313E02 2.77047E02 4.21865E02 1.63192E02 1.63720E02 4.23672E02 3.54923E02 3.34218E02 2.48767E02 3.00436E02 2.06271E02 5.00787E02 3.17584E02 1.18229E03 1.66787E03 2.24279E03 4.29605E03 4.39694E03 1.87724E03 4.02257E03 7.26031E03 4.82495E03 5.31594E03 9.78866E03 2.22113E04 3.21840E04 1.38793E05 1.50885E05 5.07931E05 6.37170E05 1.39031E06 7.52226E06 7.26568E06 4.41770E06 4.59772E06 -Frame 40 3.49874E02 2.16566E02 9.43763E01 1.54038E02 8.38486E01 2.02584E02 2.32369E02 8.27308E02 1.97100E02 4.62363E02 1.53555E03 8.28481E02 5.53226E02 1.78764E03 9.39889E02 5.03694E02 3.48969E02 7.88783E02 1.13503E03 3.29484E03 8.43095E03 7.10459E03 5.29288E03 7.84564E03 5.98942E03 3.49076E03 8.97246E03 2.94317E03 1.57986E04 1.40387E04 4.10538E04 4.28778E04 2.72066E05 6.65111E05 7.57769E05 5.84340E05 3.67992E06 9.29566E06 8.69969E06 7.69066E06 -Frame 40 9.17533E01 1.79255E02 6.71533E01 2.06640E01 1.69790E02 2.42335E02 9.18152E02 4.63057E02 3.14630E02 3.08419E02 4.37641E02 1.82368E02 5.17629E02 7.85825E02 1.08285E03 8.25690E02 3.18454E02 4.54463E02 2.22056E03 5.17965E03 2.58546E03 2.17365E03 4.50214E03 5.32848E03 4.45215E03 5.17727E03 8.68113E03 8.34345E03 9.42033E03 1.69899E04 5.45759E04 4.34362E04 9.85939E04 4.24715E05 5.93625E05 3.86088E05 1.31143E06 2.24034E06 8.08440E06 8.44668E06 -Frame 40 1.01806E02 5.64543E01 5.31546E01 3.76926E01 1.07200E02 9.36156E01 1.82597E02 2.71898E02 4.10475E02 2.35753E02 7.88615E01 8.11447E01 2.22641E02 2.11283E02 4.71670E02 2.03893E03 1.08731E03 1.10118E03 2.24533E03 5.10768E03 1.71035E03 1.31214E03 2.92318E03 5.68799E03 8.22320E03 5.71930E03 3.11660E03 7.28570E03 1.01222E04 7.57981E03 1.98719E04 9.76661E04 1.36341E05 2.47493E05 5.92465E05 8.85737E05 1.53626E06 1.53757E06 2.31873E06 3.69954E06 -Frame 40 3.54086E01 1.10209E02 2.13794E01 4.25332E00 1.43007E02 1.46977E02 2.30503E02 1.08436E02 1.15890E02 2.31163E02 1.54103E02 7.99657E01 1.13595E02 9.55562E01 7.21718E02 6.61896E02 4.16228E02 5.46025E02 1.82478E03 4.32205E03 2.76961E03 4.82760E03 9.82959E03 6.46548E03 7.50579E03 2.54932E03 6.76381E03 1.03031E04 1.51492E04 1.68546E04 2.43519E04 2.50909E04 8.12429E04 1.68151E05 3.12660E05 9.18239E05 1.94979E06 1.23562E06 2.61193E06 2.47419E06 -Frame 40 3.26240E01 1.33740E01 2.06462E01 1.26870E01 1.27402E01 5.78420E01 4.44929E01 1.67879E02 8.31053E01 1.47680E02 3.33545E02 2.04258E02 2.47578E02 3.44537E02 9.71350E01 4.89205E02 9.96367E02 5.91002E02 2.48003E03 4.46809E03 4.83914E03 7.86406E03 8.90928E03 5.31497E03 7.04600E03 1.11999E04 1.53983E04 6.57574E03 1.09477E04 2.45682E04 1.44335E04 5.06065E04 4.64284E04 9.19995E04 2.10260E05 5.22946E05 5.27017E05 1.60148E06 6.55509E05 1.62451E06 -Frame 40 3.56800E01 3.85988E01 2.43890E01 1.09076E01 4.24893E01 3.06653E01 1.28301E02 3.76617E01 1.06973E02 5.18368E02 3.07263E02 7.02690E02 3.68011E02 2.79242E02 3.47247E02 1.15454E03 8.01406E02 5.86705E02 2.72726E03 6.59803E03 4.32325E03 8.64516E03 9.02576E03 6.52154E03 5.88220E03 1.92433E04 1.85053E04 7.33939E03 2.24012E03 9.87211E03 7.93138E03 1.70413E04 7.29863E04 7.50807E04 1.26947E05 3.53714E05 5.35080E05 1.18024E06 6.45833E05 1.49200E06 -Frame 40 2.98622E01 9.53305E01 5.40482E01 1.67837E01 1.26385E02 9.87296E01 1.17944E02 9.60846E01 1.56674E02 2.66407E02 1.55052E02 5.20996E02 8.16464E02 6.79371E02 3.50505E02 6.04458E02 5.08202E02 7.08414E02 1.31076E03 4.67302E03 3.59912E03 1.01349E04 1.08456E04 7.50122E03 1.48134E04 1.26870E04 6.21045E03 5.87679E03 7.59236E03 1.02966E04 8.75208E03 1.14342E04 3.89074E04 1.29709E05 2.10954E05 6.71059E05 8.08810E05 1.36380E06 1.26448E06 2.84342E06 -Frame 40 6.78941E01 3.90513E01 5.05910E01 3.57102E01 2.76298E01 3.72480E01 2.02593E02 1.48505E02 1.45726E02 6.49543E02 3.56713E02 9.35135E01 4.31454E02 7.86114E02 1.16562E02 7.82684E02 1.14544E03 8.90932E02 1.66182E03 6.10981E03 5.92760E03 6.92543E03 7.62454E03 3.92117E03 6.28916E03 9.15137E03 4.83817E03 1.02607E04 1.41818E04 7.62457E03 3.07245E04 3.41722E04 7.81591E04 2.24645E05 6.44269E05 2.10576E06 1.41268E06 1.47457E06 2.39224E06 6.05586E06 -Frame 40 5.53219E01 1.29592E02 8.22212E01 4.13049E01 3.13683E01 6.65228E01 4.00783E02 4.16929E02 3.44148E02 3.71756E02 4.88744E02 1.16966E02 4.39567E02 5.81745E02 4.82135E02 2.78939E02 6.10306E02 6.21980E02 7.39662E02 1.37145E03 1.77970E03 2.62240E03 4.51200E03 7.21428E03 1.21186E04 4.21847E04 3.29395E04 1.38919E04 1.35017E04 1.75172E04 2.72686E04 2.55986E05 4.40273E05 3.18815E05 5.33364E05 8.14978E05 1.44083E06 1.68972E06 3.27504E06 3.32812E06 -Frame 40 1.97875E02 2.00396E02 6.37393E01 1.47777E02 1.46290E02 4.40352E02 3.41518E02 3.15230E02 5.67962E02 4.51124E02 4.99432E02 9.38426E01 1.15033E03 7.52603E02 7.55941E02 7.08749E02 8.53160E02 1.13996E03 2.88002E03 1.25364E04 6.01961E03 8.65535E03 4.01462E03 2.77931E03 9.42775E03 5.07342E04 2.01609E04 1.51286E04 2.01901E04 3.41390E04 5.57833E04 7.63978E05 1.69682E06 4.61910E05 4.85280E05 1.05260E06 1.08305E06 1.76097E06 1.42716E06 1.94681E06 -Frame 40 1.67909E03 6.22810E02 5.59286E02 1.28635E03 2.69286E03 2.34992E03 1.67119E03 9.53548E02 1.04448E03 4.72128E03 3.11700E03 2.75713E02 1.32904E03 1.91630E03 1.69781E03 1.57939E03 5.84685E02 1.25595E03 1.61936E03 7.38653E03 2.20426E04 4.78893E04 2.00927E04 3.40459E03 2.27780E04 3.91478E05 2.47970E05 1.18389E04 1.58937E04 4.24738E04 5.45815E04 4.82823E05 1.68341E06 6.52314E05 3.35442E06 3.57123E06 1.13402E06 1.03692E06 9.10408E05 6.98943E05 -Frame 40 4.99005E04 1.36055E04 7.05842E04 7.78630E04 2.95788E04 1.14318E05 4.18505E04 5.78963E03 2.20908E03 1.41890E04 1.49480E04 2.08055E03 1.14410E03 1.90418E03 1.29369E03 1.31403E03 3.98027E03 3.02149E03 9.37417E03 6.27069E04 6.71527E04 2.82931E04 1.84772E04 1.86170E04 3.23812E04 2.74596E05 1.80607E05 2.42225E04 1.34423E04 3.71426E04 1.03486E05 6.72814E05 1.71960E06 3.64573E05 7.21088E05 1.05725E06 3.83546E05 3.00335E05 9.16923E04 1.11545E05 -Frame 40 2.27177E04 2.87100E05 2.51266E05 2.81094E05 6.37531E05 3.77038E05 4.78211E05 6.11241E04 3.37716E04 7.06347E04 4.12903E04 3.74531E04 6.65091E03 6.57879E03 6.29735E03 6.45789E03 1.98855E04 2.84117E04 8.46347E04 4.35892E05 2.63532E05 8.84505E04 4.68961E04 7.74798E04 9.79636E04 3.44760E05 1.73299E05 3.70828E04 4.90012E04 1.01965E05 1.31750E05 2.26829E05 8.59121E04 4.07091E04 5.81711E04 3.46944E04 1.59697E04 3.56771E04 1.57916E04 1.68596E04 -Frame 40 2.64215E04 3.89096E05 3.79232E05 2.57532E05 1.63770E06 3.83254E05 8.76209E05 1.95943E05 6.99110E04 9.53411E04 7.84328E04 7.57493E04 2.00286E04 1.04891E04 1.52978E04 4.26723E03 4.30390E04 4.67202E04 2.54415E05 8.28753E05 5.16184E05 1.64931E05 7.35100E04 1.86902E05 3.27971E05 4.96179E05 6.97094E04 2.97321E04 4.27143E04 7.98022E04 1.28187E05 1.52519E04 8.38539E03 2.68303E04 3.74180E04 8.76280E03 5.45002E03 1.34785E04 1.03004E04 9.20252E03 -Frame 40 2.93029E04 4.33657E05 3.64466E05 3.62648E05 1.67503E06 3.78345E05 1.39644E06 2.46363E05 7.73331E04 1.44256E05 1.11815E05 1.19896E05 2.74561E04 2.15744E04 2.74349E04 6.71291E03 9.26011E04 7.96085E04 6.07733E05 3.38551E06 1.33115E06 4.18225E05 1.43654E05 2.12030E05 6.79013E05 4.14976E05 5.80815E04 4.44295E04 9.24143E04 8.66445E04 2.23259E04 1.30926E03 1.96571E03 6.18759E03 7.19617E03 2.36126E03 2.38175E03 5.94959E03 6.02764E03 8.60573E03 -Frame 40 2.53966E04 4.55323E05 3.24249E05 5.07940E05 1.41944E06 4.31907E05 1.65690E06 1.92184E05 8.17172E04 1.79470E05 1.00692E05 1.40467E05 2.72790E04 3.02982E04 2.87938E04 1.42648E04 1.00969E05 1.76581E05 1.52838E06 5.07197E06 8.20925E05 5.75989E05 2.76234E05 2.57873E05 2.01840E05 1.65413E05 4.75954E04 6.65319E04 1.63280E05 6.19363E04 8.64010E03 8.67950E02 3.17083E03 4.04091E03 1.16563E03 1.26004E03 1.63842E03 8.45588E03 8.18353E03 2.68799E03 -Frame 40 2.20363E04 4.73967E05 2.75662E05 6.55261E05 1.21864E06 5.28398E05 1.50814E06 1.38538E05 8.41231E04 1.48993E05 1.10585E05 1.48723E05 1.94721E04 4.11683E04 2.98959E04 3.61244E04 1.55238E05 6.35003E05 2.28509E06 3.84675E06 5.46601E05 5.82349E05 3.65770E05 3.17066E05 4.97509E04 2.85531E04 1.95229E04 4.74683E04 6.69739E04 1.23572E04 1.28880E03 1.11265E03 3.09149E03 6.66770E03 1.27994E03 6.37673E02 1.07698E03 4.87774E03 5.50399E03 3.10816E03 -Frame 40 2.49631E04 4.70789E05 2.50465E05 7.19050E05 9.42949E05 5.56120E05 1.25886E06 9.99446E04 6.59301E04 1.44192E05 1.15291E05 1.28936E05 2.86705E04 4.94271E04 3.52039E04 9.41223E04 5.70593E05 1.47640E06 1.42911E06 1.43610E06 5.16371E05 5.87182E05 1.68516E05 9.71745E04 2.35360E04 2.02576E04 1.20315E04 1.99466E04 2.84864E04 2.46541E03 6.57026E02 5.40389E02 1.61336E03 3.15055E03 9.35681E02 9.43153E02 1.31684E03 4.88957E03 2.33957E03 1.27715E03 -Frame 40 3.10826E04 4.40138E05 2.08670E05 7.28261E05 6.95023E05 5.46589E05 9.10023E05 7.98634E04 5.79095E04 1.17234E05 1.47487E05 1.02880E05 2.83617E04 6.79732E04 4.55297E04 2.25525E05 1.74734E06 1.64576E06 5.20833E05 5.82731E05 4.91395E05 4.31403E05 1.14955E05 2.73547E04 2.07921E04 2.32483E04 1.96187E04 1.27581E03 2.46316E03 6.56130E02 2.71634E02 3.85991E02 1.11928E03 1.19286E03 9.13530E02 6.13979E02 4.74093E02 1.90005E03 1.65739E03 1.34131E03 -Frame 40 2.90634E04 3.72432E05 1.73489E05 6.45867E05 4.34525E05 4.95516E05 6.28719E05 6.39220E04 4.97103E04 9.47272E04 1.22759E05 6.40615E04 2.86586E04 8.95869E04 4.73597E04 3.60585E05 1.07956E06 6.24640E05 1.53253E05 1.76438E05 3.71250E05 1.77963E05 3.43615E04 1.59102E04 1.07984E04 1.83027E04 1.10803E04 3.89730E02 1.64153E02 2.45536E02 2.05077E02 3.26551E02 4.81410E02 5.51470E02 5.03890E02 4.08576E02 1.00316E03 1.62753E03 1.21096E03 6.94843E02 -Frame 40 2.49312E04 3.18993E05 1.44711E05 5.35765E05 3.36093E05 3.64672E05 4.24390E05 4.51613E04 3.60860E04 7.69600E04 1.35032E05 6.65063E04 3.18752E04 1.07929E05 8.39082E04 7.24717E05 4.97119E05 1.70799E05 8.54889E04 1.49681E05 2.98512E05 7.12292E04 1.73204E04 1.33797E04 8.42745E03 1.28578E04 5.94748E03 1.32727E02 2.17926E02 2.86265E02 1.42222E02 2.12920E02 4.04152E02 3.35412E02 4.77070E02 2.35404E02 7.23874E02 1.20407E03 1.28929E03 3.31857E02 -Frame 40 2.41238E04 2.53702E05 1.09428E05 4.46844E05 1.68111E05 4.13049E05 3.09174E05 3.72399E04 4.55622E04 6.38666E04 1.14629E05 3.02441E04 4.82189E04 1.20151E05 1.16279E05 4.56784E05 1.44593E05 5.92132E04 6.43866E04 1.50376E05 2.55923E05 1.43807E04 4.87317E03 4.82122E03 4.64333E03 1.41212E04 2.64862E03 2.01235E02 1.36344E02 1.36463E02 1.31237E02 3.98483E02 2.14193E02 3.99436E02 5.67754E02 3.44875E02 2.43573E02 4.96064E02 3.12655E02 1.80720E02 -Frame 40 2.42998E04 2.27704E05 9.27013E04 3.93850E05 1.45051E05 4.55133E05 3.20378E05 3.46450E04 5.28033E04 7.20666E04 1.06293E05 2.45174E04 7.50249E04 2.02409E05 1.48431E05 1.71638E05 6.38570E04 3.74991E04 8.34323E04 1.19378E05 2.42309E05 8.53888E03 2.89273E03 3.19005E03 3.88770E03 1.56533E04 1.48952E03 2.69722E02 1.58022E02 1.65803E02 2.40995E02 2.95921E02 2.76249E02 5.09095E02 6.16216E02 7.57336E02 2.92320E02 5.13152E02 3.80579E02 3.34500E02 -Frame 40 2.78502E04 2.22034E05 8.99342E04 4.05344E05 1.93802E05 4.58132E05 3.15727E05 3.55684E04 5.63498E04 8.16962E04 9.93831E04 3.00367E04 1.18139E05 3.08025E05 3.79272E05 9.00498E04 4.17187E04 1.93494E04 3.93159E04 9.68159E04 1.89009E05 1.87503E04 2.18377E03 4.14330E03 3.20555E03 1.12883E04 2.60984E03 2.85749E02 1.90166E02 2.76198E02 2.58932E02 4.39377E02 3.78196E02 3.90816E02 7.21209E02 3.75711E02 2.59621E02 5.55917E02 5.27445E02 2.37318E02 -Frame 40 3.19741E04 2.51446E05 1.00135E05 4.55409E05 1.89843E05 5.77687E05 4.10468E05 4.24010E04 6.74496E04 9.68613E04 1.58915E05 3.66241E04 1.63793E05 3.78147E05 3.72760E05 5.33184E04 4.55422E04 1.97851E04 2.62232E04 1.02628E05 1.58871E05 3.11373E04 4.41086E03 4.01987E03 4.12736E03 6.09082E03 2.63090E03 1.86293E02 1.96369E02 1.24744E02 1.22768E02 3.42672E02 4.28754E02 3.48516E02 2.94091E02 4.47151E02 1.89004E02 3.77707E02 1.97358E02 1.03094E02 -Frame 40 3.11167E04 2.73044E05 1.16131E05 4.92477E05 2.44797E05 7.47814E05 6.12643E05 5.38633E04 7.44612E04 1.12162E05 2.26762E05 6.10678E04 2.13359E05 5.55660E05 1.47033E05 4.08253E04 4.26461E04 2.11907E04 2.01022E04 6.14261E04 1.37748E05 6.36523E04 7.40207E03 7.91683E03 4.71251E03 1.29453E04 3.02170E03 3.39118E02 1.52040E02 8.56712E01 9.72461E01 1.95473E02 2.71318E02 2.43614E02 1.82088E02 2.10998E02 2.46069E02 1.44710E02 2.24107E02 3.63933E02 -Frame 40 2.34465E04 2.74611E05 1.11114E05 4.82504E05 2.65409E05 8.50093E05 9.06138E05 8.43575E04 7.91882E04 1.58989E05 3.50356E05 1.35753E05 3.16613E05 1.07081E06 1.44875E05 3.63522E04 2.81672E04 2.07039E04 1.46142E04 3.71587E04 8.70480E04 1.25281E05 4.23797E04 1.25563E04 9.38306E03 3.32821E04 8.12169E03 4.19306E02 7.96222E01 7.08845E01 1.16870E02 2.56751E02 3.37942E02 2.41582E02 2.87103E02 2.65950E02 1.50594E02 1.50046E02 3.08520E02 1.64857E03 -Frame 40 2.54276E04 2.98179E05 1.16985E05 4.97541E05 3.12278E05 1.12256E06 1.26442E06 1.15742E05 1.10910E05 1.76805E05 5.07119E05 1.74203E05 4.73477E05 1.49250E06 1.00842E05 3.28205E04 2.50677E04 1.72732E04 1.28849E04 1.80264E04 2.27301E04 8.26049E04 1.42443E05 2.28275E04 1.41097E04 2.54633E04 2.61771E04 1.75445E03 1.12528E02 7.35510E01 5.87679E01 9.54774E01 4.16821E02 4.21454E02 3.66589E02 3.34814E02 2.21246E02 2.89417E02 4.22279E02 2.96716E03 -Frame 40 2.93784E04 3.09206E05 1.27000E05 5.45516E05 3.00562E05 1.50239E06 1.54024E06 1.36570E05 1.29652E05 2.45271E05 6.67674E05 2.39689E05 6.37942E05 2.06061E06 8.97509E04 2.32089E04 1.94261E04 1.28286E04 1.26702E04 1.19838E04 1.21236E04 2.30483E04 8.51847E04 1.02816E05 3.72450E04 1.12009E04 3.19134E04 1.33179E04 2.68309E02 1.23921E02 1.32739E02 1.19956E02 2.69728E02 3.69440E02 1.51787E02 2.72919E02 2.77488E02 3.90533E02 1.61759E03 8.29729E03 -Frame 40 2.45975E04 3.23187E05 1.27616E05 5.52962E05 2.91970E05 1.72056E06 1.62433E06 1.15518E05 1.44069E05 3.20508E05 7.00368E05 2.89833E05 6.90151E05 2.26806E06 9.81128E04 2.05090E04 1.63626E04 8.50071E03 7.74615E03 9.00007E03 6.00166E03 6.36260E03 1.57781E04 1.34489E05 6.75562E04 8.11320E03 8.67624E03 1.16987E04 3.91161E03 2.12998E02 1.94281E02 3.55992E02 4.67653E02 5.16821E02 3.35724E02 1.25518E02 2.65209E02 4.32897E02 1.24995E03 5.25919E03 -Frame 40 2.82801E04 3.06440E05 1.31310E05 5.48440E05 2.87372E05 1.62218E06 1.51537E06 9.06027E04 1.38541E05 3.29610E05 6.64627E05 2.92139E05 5.29539E05 1.49329E06 7.77485E04 1.37534E04 9.63737E03 6.59935E03 4.47055E03 6.51480E03 4.25202E03 5.65816E03 7.10178E03 8.02655E04 6.20628E04 1.98733E04 4.71719E03 6.33824E03 1.15372E04 7.94555E02 3.43810E02 5.70447E02 2.50078E03 2.82671E03 4.94744E02 1.88845E02 7.52735E02 1.71480E03 1.13947E03 7.41786E03 -Frame 40 3.44063E04 2.74543E05 1.23148E05 5.24829E05 2.32124E05 1.42925E06 9.77388E05 7.87283E04 1.38449E05 2.39699E05 5.19984E05 2.37413E05 3.94152E05 7.37255E05 4.29667E04 8.28678E03 5.28452E03 5.88974E03 5.49146E03 5.22304E03 2.91155E03 3.45783E03 3.06383E03 1.87981E04 5.18684E04 2.02608E04 3.91212E03 4.86877E03 1.11191E04 4.06445E03 4.46454E02 2.24017E02 7.96326E02 1.81846E03 2.97659E02 1.74706E02 3.52299E02 8.65552E02 4.22191E02 4.72054E03 -Frame 40 3.25967E04 2.39738E05 1.22215E05 4.75066E05 1.59438E05 1.11975E06 5.60132E05 5.78913E04 1.08989E05 1.69830E05 3.24061E05 1.59770E05 2.85107E05 4.53381E05 2.80180E04 5.87762E03 5.44748E03 3.73621E03 3.12748E03 2.25316E03 1.62703E03 2.33392E03 2.08811E03 9.69567E03 4.95329E04 2.79999E04 1.89618E03 4.84258E03 1.01982E04 6.41939E03 4.80305E02 3.61985E02 1.79360E03 4.03379E03 7.56051E02 3.91155E02 3.75721E02 1.03013E03 3.76236E02 1.57035E03 -Frame 40 3.10778E04 2.03680E05 1.00703E05 3.81438E05 1.07478E05 7.24288E05 3.10702E05 3.44923E04 8.57750E04 9.53770E04 1.33002E05 1.32930E05 2.34111E05 3.02933E05 1.49211E04 2.67958E03 2.64981E03 2.93540E03 2.31630E03 1.75638E03 1.23045E03 1.19226E03 1.62654E03 5.50660E03 3.84126E04 1.93498E04 2.30990E03 1.91826E03 4.76439E03 7.85368E03 3.78785E02 1.67731E02 1.50569E03 3.10388E03 7.19137E02 3.55767E02 3.65906E02 6.95809E02 4.94655E02 2.99420E02 -Frame 40 3.03197E04 1.67565E05 8.31925E04 2.87277E05 7.68367E04 5.24255E05 1.74609E05 1.92715E04 6.45113E04 4.92406E04 4.68549E04 9.14979E04 2.16421E05 2.77402E05 6.23859E03 2.30276E03 3.06316E03 7.64830E02 1.30928E03 1.06693E03 2.00249E03 1.19587E03 2.20508E03 4.00330E03 1.74446E04 1.21716E04 2.13138E03 1.72759E03 4.41797E03 5.08935E03 1.84637E03 2.50378E02 4.15980E02 1.46792E03 3.86382E02 3.17412E02 4.17050E02 1.46664E03 5.40434E02 2.12573E02 -Frame 40 2.98750E04 1.39283E05 6.81886E04 2.22216E05 5.71060E04 4.07244E05 1.10066E05 1.26343E04 4.79334E04 2.77111E04 1.92889E04 4.07315E04 1.05014E05 2.03586E05 5.58617E04 6.44862E03 2.48028E03 2.81187E03 1.82940E03 9.83551E02 1.19058E03 1.43503E03 1.83092E03 4.44148E03 2.70358E04 1.41363E04 1.99349E03 1.07430E03 1.95490E03 4.72001E03 1.03164E04 4.70757E02 5.83693E02 1.61374E03 4.38132E02 1.85955E02 6.48552E02 2.26165E03 1.25872E03 3.14667E02 -Frame 40 2.91247E04 1.24175E05 5.98376E04 1.95151E05 4.54728E04 2.69568E05 7.99971E04 1.31510E04 2.95936E04 2.25330E04 1.48003E04 2.13501E04 1.87000E04 1.69101E04 5.42941E04 1.77107E04 1.41549E04 7.44098E03 1.76768E03 1.78378E03 1.23313E03 2.01265E03 3.04057E03 5.79752E03 1.90021E04 1.49306E04 8.21459E02 4.87445E02 7.45270E02 3.19565E03 9.00104E03 4.06445E02 6.94393E02 9.30063E03 8.84753E02 2.73085E02 1.46276E03 3.56313E03 1.49364E03 1.85568E02 -Frame 40 3.21957E04 1.18712E05 5.75467E04 1.83464E05 3.23087E04 1.67000E05 3.98345E04 1.37499E04 1.28465E04 1.02385E04 1.33325E04 9.83621E03 7.46877E03 7.59972E03 1.01479E04 2.46828E04 3.54548E04 2.06198E04 5.82562E03 1.28451E03 1.41860E03 1.60802E03 2.16470E03 3.72886E03 9.31727E03 4.83090E03 8.83402E02 3.55720E02 6.09287E02 2.83977E03 8.09786E03 1.00974E03 1.95211E03 6.43336E03 1.22347E03 8.70805E02 2.81325E03 3.80177E03 3.19858E02 1.27752E02 -Frame 40 3.37886E04 7.69711E04 6.10046E04 1.69058E05 2.27330E04 7.50618E04 1.30984E04 9.01314E03 3.43676E03 7.74023E03 1.39401E04 1.86562E03 2.10839E03 2.23794E03 2.66691E03 1.10704E04 2.56034E04 3.84013E04 5.89082E03 2.48367E03 4.31300E03 2.72811E03 1.29474E03 1.17703E03 7.59707E03 8.80808E03 1.75551E03 6.73044E02 1.40844E03 8.16269E03 3.74672E04 6.34850E04 4.12148E04 2.12068E04 6.11011E03 6.23957E03 1.08214E04 7.73198E03 1.73624E03 6.97972E02 -Frame 40 8.42734E03 1.10083E04 3.70674E04 4.50147E04 1.34622E04 1.35785E04 2.42902E03 1.38651E03 9.48481E02 1.61474E03 2.57609E03 5.48649E02 4.75214E02 1.07302E03 8.63144E02 2.49862E03 5.32867E03 4.05795E03 2.66860E03 9.70269E02 1.78664E03 7.84319E02 5.98837E02 9.57615E02 2.48423E03 2.26384E03 2.09273E03 7.53090E03 1.23887E04 2.24422E04 1.97100E05 1.72217E06 1.34180E06 2.56968E05 2.93435E05 2.28819E05 2.54098E05 1.81766E05 2.58002E04 8.77811E03 -Frame 40 3.00075E03 8.49211E02 5.17352E03 4.13737E03 2.38795E03 5.88207E02 1.94722E02 1.36576E02 6.70711E01 3.44407E02 6.90736E01 1.26035E02 7.73902E02 7.14538E02 8.53748E01 5.66957E02 7.59773E02 4.55780E02 6.32063E02 3.61446E02 3.16527E02 3.48467E02 3.73159E02 6.52985E02 9.36904E02 2.22485E03 7.49771E02 6.27648E03 2.15821E04 6.61564E04 9.46602E04 4.23975E05 4.78252E05 4.43101E05 2.19856E06 2.71656E06 7.22471E05 5.04804E05 2.06326E05 1.46246E05 -Frame 40 4.26950E02 3.58182E02 2.12588E02 2.38126E02 3.27286E02 2.45361E02 3.39892E02 2.79839E02 3.65895E02 4.70457E02 3.26319E02 2.96301E02 8.26389E02 1.15277E03 5.50768E02 1.05561E03 7.47555E02 1.52078E03 2.18172E03 2.82422E03 2.14316E03 1.14671E03 1.68316E03 2.06982E03 2.17319E03 2.54858E03 2.73082E03 1.38350E04 1.38369E04 3.57395E04 1.96322E05 1.94132E05 3.82552E05 8.09605E05 4.36841E06 5.03551E06 1.08543E06 1.34674E06 1.15763E06 8.40099E05 -Frame 40 1.55561E02 1.34926E02 3.66385E02 4.30136E02 1.95152E02 9.94854E01 3.69958E02 1.04794E02 3.65635E02 1.59888E02 1.32077E02 1.69879E02 5.42430E02 1.25497E03 2.61423E02 3.17075E02 2.54607E02 7.25344E02 3.67925E03 1.92799E03 7.51407E02 8.47247E02 1.75362E03 1.42358E03 3.91876E03 6.25215E03 1.50249E03 6.07742E03 1.26132E04 5.57283E04 1.45611E05 2.32459E05 6.18389E05 1.28633E06 5.00518E06 7.76526E06 1.15202E07 3.05577E06 9.12160E05 2.03990E06 -Frame 40 2.19581E02 9.65147E01 2.00690E02 4.99766E02 1.13378E02 1.15697E02 8.44136E01 1.00779E02 3.53206E02 1.20724E02 1.52779E02 4.26917E02 5.64590E02 6.41987E02 9.42928E02 6.82059E02 8.98745E02 2.09032E03 1.49154E03 6.19688E03 7.67291E03 2.37590E03 3.12309E03 2.94484E03 2.46005E03 2.52958E03 2.92457E03 4.37677E03 1.71890E04 7.19898E04 3.16419E05 2.86880E05 3.32183E05 3.14236E06 6.92563E06 6.52229E06 1.08143E07 9.75020E06 3.30379E06 2.39265E06 -Frame 40 8.09766E01 2.02403E01 5.25375E01 8.91399E01 4.67960E01 1.70378E02 1.45668E02 3.47224E02 4.49912E02 2.13164E02 3.20351E02 1.43272E03 1.59147E03 1.39380E03 3.66776E02 3.18231E02 8.97048E02 1.13565E03 1.05959E03 4.64145E03 6.93842E03 2.94928E03 1.45859E03 3.38616E03 3.30455E03 3.76817E03 5.80547E03 6.98215E03 2.49381E04 3.19292E04 8.65707E04 2.58174E05 8.11613E05 2.63572E06 2.93415E06 6.46580E06 1.80751E07 1.15757E07 6.00116E06 2.03272E06 -Frame 40 1.27208E02 9.84976E01 1.46515E02 2.36475E01 9.23211E01 2.27099E02 2.71586E02 1.89268E02 2.38047E02 2.90405E02 6.87000E02 7.01518E02 5.14603E02 1.15634E03 7.32949E02 3.28030E02 3.89132E02 1.88022E03 3.46243E03 4.12895E03 1.41482E03 1.99457E03 1.74300E03 5.15086E03 9.06524E03 7.13096E03 6.94142E03 4.55659E03 1.11305E04 3.71102E04 6.12252E04 1.47147E05 9.75613E05 1.11777E06 1.25424E06 1.78293E06 7.60870E06 7.78697E06 6.49487E06 2.75022E06 -Frame 40 1.82903E02 3.43950E02 2.34006E02 1.10171E02 1.81559E02 9.03920E01 1.56155E02 3.14397E02 1.62903E02 9.87572E01 2.65485E02 2.44628E02 2.77335E02 1.20990E03 6.87720E02 9.27907E02 7.51847E02 3.33476E03 4.40443E03 2.48949E03 3.42126E03 3.85605E03 3.24659E03 2.42593E03 4.15032E03 6.89430E03 4.05074E03 2.95512E03 2.20135E04 2.79114E04 3.34629E04 1.71067E05 5.14294E05 1.36838E06 1.66721E06 2.18364E06 2.82705E06 4.30526E06 2.83568E06 2.19880E06 -Frame 40 1.08599E02 1.59615E02 1.52069E02 7.63569E01 1.01656E01 3.87583E01 2.91015E01 1.95311E02 1.19261E02 1.99264E02 5.15548E02 6.13795E02 4.25606E02 3.89947E02 2.15228E02 6.01330E02 8.57159E02 1.16293E03 1.39639E03 1.70354E03 6.23064E03 3.63758E03 3.99096E03 7.26811E03 6.13977E03 7.70033E03 1.97496E03 5.39725E03 2.68536E04 1.76651E04 4.76931E04 8.74663E04 6.40532E05 7.27590E05 2.45168E06 2.64257E06 1.36822E06 7.80092E06 7.17137E06 2.64348E06 -Frame 40 5.39025E01 1.19882E02 2.02781E02 1.00282E02 2.90487E01 1.55830E02 2.14190E02 1.30180E02 3.66335E02 2.47402E02 2.55464E02 3.35963E02 1.20054E03 2.10774E02 4.67750E02 4.79782E02 1.29424E03 3.24822E03 2.83548E03 3.86564E03 4.72103E03 2.72808E03 5.85115E03 3.51337E03 5.65212E03 1.03504E04 6.81339E03 7.48879E03 4.04885E03 1.08156E04 7.47518E04 1.35567E05 4.03349E05 2.00924E05 7.17396E05 7.68398E05 2.16034E06 5.61532E06 1.98395E06 1.50872E06 -Frame 40 1.07276E02 6.28560E02 6.27001E02 4.03985E02 6.37120E02 1.40932E03 2.34382E03 1.30555E03 3.20825E03 4.31632E03 3.13783E03 1.62319E03 4.36953E02 8.80184E02 5.20368E02 3.71639E02 5.54028E02 3.75271E03 1.82507E04 7.47910E03 3.17445E03 4.31909E03 5.75877E03 4.97121E03 1.44152E04 1.98479E04 8.20161E03 6.65000E03 1.13209E04 1.63559E04 1.73168E05 1.50246E05 6.28786E05 1.65439E05 8.23967E05 2.37211E06 1.66601E06 1.22275E06 1.85780E06 1.48983E06 -Frame 40 4.86998E03 4.44305E02 8.86699E02 7.20626E02 1.42463E02 2.68300E03 2.82251E03 7.49867E02 1.66333E03 2.99554E03 3.76976E03 1.72716E03 4.96300E02 4.24747E02 6.82382E02 7.93105E02 4.92648E02 1.42483E03 5.73264E03 4.75289E03 6.62754E03 1.05868E04 5.70447E03 4.94039E03 5.56440E03 9.47010E03 5.85318E03 5.36344E03 1.08966E04 1.61855E04 2.45210E04 1.16148E05 2.99426E05 1.74094E05 3.03007E05 5.68874E05 5.32532E05 2.76400E05 2.24686E05 1.99538E05 -Frame 40 2.97849E04 3.97055E04 4.04617E04 7.24200E04 7.42052E04 1.13087E05 3.45596E04 1.04037E04 1.16086E04 5.11748E03 5.33082E03 1.66183E03 2.71274E03 4.56848E03 3.19918E03 2.77160E03 4.29436E03 1.18902E04 4.63811E04 5.22569E04 1.27343E04 7.97099E03 2.72730E03 2.76695E03 7.35987E03 2.24063E04 3.97663E03 6.06689E03 6.65123E03 1.27513E04 3.09894E04 6.06849E04 5.47719E05 1.68341E05 2.34584E05 2.72681E05 1.04137E05 5.87377E04 4.35789E04 2.87484E04 -Frame 40 6.18825E04 1.56779E05 8.78044E04 2.39974E05 2.16303E05 7.47917E05 1.37251E05 4.07577E04 5.91392E04 1.20751E04 1.74159E04 9.98216E03 3.05479E03 3.26018E03 1.26860E03 3.65439E03 8.19288E03 1.97944E04 7.55080E04 1.01095E05 2.23230E04 1.81417E03 1.66870E03 2.64577E03 3.77585E04 3.81089E04 1.00688E04 8.05830E03 3.56677E03 8.07282E03 4.43615E04 3.97912E04 4.33601E04 4.33066E04 6.16869E04 2.91504E04 9.58113E03 2.85909E04 9.16957E03 3.38120E03 -Frame 40 8.11994E04 2.56456E05 1.39861E05 3.88779E05 3.40652E05 1.95308E06 4.29614E05 7.61943E04 1.42745E05 5.11983E04 4.63466E04 8.21104E03 1.05458E04 6.45223E03 3.36944E03 7.64745E03 2.60031E04 2.20407E04 1.30391E05 1.31795E05 7.58425E04 1.69660E04 2.90835E04 6.17100E04 1.96064E05 1.68164E05 3.48504E04 2.62647E04 2.22660E04 1.35127E04 1.28361E04 3.57278E03 2.31292E03 7.91851E03 1.92229E04 9.16880E03 9.77897E03 2.29409E04 1.23887E04 2.79259E03 -Frame 40 9.57261E04 2.81659E05 1.63837E05 4.37677E05 3.92296E05 2.64951E06 6.61171E05 1.08031E05 1.67903E05 1.08387E05 7.94979E04 3.64328E03 1.51482E04 4.43499E03 5.02137E03 4.55781E03 2.99825E04 5.14710E04 3.07573E05 5.57710E05 1.78641E05 3.72266E04 7.68601E04 1.53079E05 4.73559E05 4.96056E05 5.29823E04 3.56216E04 3.00648E04 2.56917E04 4.92870E03 2.25721E03 2.16608E03 7.70756E03 2.08544E04 5.81560E03 9.05273E03 1.89423E04 1.75742E04 6.40826E03 -Frame 40 9.37971E04 2.69317E05 1.56206E05 3.68096E05 5.17335E05 2.37529E06 4.24817E05 1.69294E05 1.86373E05 1.15949E05 8.07390E04 8.26516E03 2.18364E04 4.52327E03 9.00045E03 6.53233E03 2.96006E04 5.36005E04 2.50514E05 3.14389E05 6.31468E04 3.63263E04 1.75922E04 1.45575E05 5.61529E05 2.35867E05 4.08781E04 3.30526E04 3.02189E04 1.02829E04 1.95635E03 2.08520E03 1.33592E03 2.56882E03 5.96855E03 2.36650E03 3.39551E03 3.57082E03 4.65434E03 3.88975E03 -Frame 40 9.70737E04 2.48884E05 1.54478E05 3.05014E05 6.08269E05 1.84048E06 3.09972E05 1.71291E05 1.82758E05 9.71132E04 5.85438E04 1.93784E04 2.59636E04 7.83933E03 7.81552E03 6.65465E03 4.06951E04 8.46967E04 4.96059E05 3.02044E05 4.59179E04 4.22887E04 3.62906E04 2.23035E04 1.76144E05 7.77629E04 3.54847E04 6.23868E04 3.97490E04 2.29333E03 2.84674E02 7.18194E02 9.54814E02 2.97644E03 6.82759E02 9.08179E02 3.66518E03 1.13805E04 3.40597E03 1.18875E03 -Frame 40 1.14766E05 2.17958E05 1.46196E05 2.47799E05 6.65696E05 1.37649E06 2.25662E05 1.59160E05 1.61117E05 6.67408E04 4.79845E04 3.22915E04 2.57187E04 1.38312E04 1.21502E04 1.45888E04 8.58229E04 2.26149E05 6.57021E05 4.14620E04 4.12853E04 1.35555E05 5.15714E04 1.84999E04 1.40152E04 1.50500E04 1.76038E04 1.75106E04 4.84596E03 2.64791E02 2.25263E02 2.43939E02 1.37132E03 1.91847E03 5.78524E02 9.42489E02 3.31718E03 5.50072E03 1.22113E03 4.43631E02 -Frame 40 1.25093E05 1.90134E05 1.35334E05 1.76978E05 7.15092E05 1.11028E06 2.64016E05 1.59834E05 1.55957E05 5.48459E04 6.09845E04 3.88174E04 2.64279E04 1.60068E04 1.86151E04 5.02551E04 2.51268E05 6.10458E05 5.28029E05 9.42410E04 9.08840E04 1.44513E05 1.24147E04 8.20970E03 1.10587E04 4.79401E03 3.27274E03 5.85277E03 1.58344E03 9.53905E01 1.94312E02 4.06441E02 7.84942E02 4.48249E02 5.82738E02 8.20965E02 1.84198E03 1.34234E03 4.98998E02 3.62963E02 -Frame 40 1.20186E05 1.61062E05 1.23832E05 1.25204E05 7.16980E05 8.34377E05 2.61104E05 1.54994E05 1.41113E05 5.56776E04 7.90028E04 4.28280E04 2.89085E04 2.51180E04 2.99682E04 1.39115E05 6.40045E05 8.29806E05 1.96936E05 1.65090E05 8.47856E04 4.70634E04 8.13508E03 7.86143E03 1.98504E04 1.43756E04 3.16675E02 8.52869E02 8.40073E02 1.33506E02 7.48954E01 2.41551E02 3.62560E02 3.45112E02 1.06868E03 7.52271E02 3.12507E03 2.99548E03 2.99715E02 2.77797E02 -Frame 40 1.24639E05 1.42029E05 1.12985E05 9.26112E04 7.11278E05 6.99106E05 2.88323E05 1.55450E05 1.25876E05 5.67580E04 1.07920E05 4.56990E04 3.55812E04 3.39924E04 4.75084E04 3.57560E05 1.08284E06 8.01494E05 1.79360E05 3.17226E05 1.79699E05 6.03832E04 8.47547E03 7.30984E03 2.17540E04 1.49297E04 5.49007E02 1.00444E02 8.49797E01 1.30628E02 8.36232E01 1.98503E02 5.28918E02 3.08063E02 4.64075E02 4.45902E02 1.77589E03 1.85459E03 5.27342E02 2.02535E02 -Frame 40 1.31950E05 1.30793E05 1.17994E05 8.62758E04 7.01965E05 5.76759E05 3.37373E05 1.62517E05 1.21803E05 6.16110E04 1.22979E05 4.59369E04 3.97983E04 4.47523E04 9.77041E04 7.05255E05 1.04902E06 4.76405E05 1.94829E05 3.10865E05 2.46679E05 4.74928E04 7.66508E03 5.82566E03 1.67947E04 1.44570E04 4.60227E02 1.83467E02 1.58336E02 1.54579E02 5.62800E01 3.54761E02 3.92413E02 6.24946E02 6.30519E02 3.52725E02 8.34486E02 6.87211E02 3.36140E02 2.39683E02 -Frame 40 1.33081E05 1.41894E05 1.16123E05 1.07099E05 6.67507E05 6.64812E05 3.48597E05 1.93086E05 1.46424E05 8.49111E04 1.38075E05 5.80351E04 5.32664E04 6.87465E04 2.05079E05 9.16935E05 7.69306E05 2.55684E05 1.64581E05 3.16785E05 4.19748E05 7.51723E04 1.38733E04 8.55217E03 2.07468E04 1.64096E04 5.82230E02 1.95390E02 1.49984E02 1.31498E02 1.51304E02 3.17195E02 2.69788E02 4.61582E02 4.87518E02 2.94991E02 7.59126E02 9.88961E02 2.45227E02 1.97985E02 -Frame 40 1.38956E05 1.45640E05 1.17016E05 9.64630E04 7.28584E05 6.93963E05 4.57873E05 2.34600E05 1.70229E05 1.24167E05 1.58075E05 8.09011E04 7.51277E04 1.15939E05 3.36820E05 5.93597E05 3.87981E05 1.14047E05 8.17279E04 2.06936E05 3.97834E05 2.36155E05 1.85624E04 8.91783E03 1.63867E04 1.96739E04 1.36888E03 7.13170E01 1.59673E02 6.41373E01 9.23059E01 2.64207E02 4.96170E02 5.73495E02 6.57929E02 2.55151E02 8.15081E02 1.13967E03 5.36722E02 2.00133E02 -Frame 40 1.31638E05 1.50725E05 1.19757E05 9.02392E04 7.28089E05 6.37625E05 6.36077E05 2.69184E05 1.79385E05 1.82783E05 1.43492E05 1.10637E05 9.64942E04 1.99211E05 4.48493E05 4.56878E05 2.13111E05 6.24667E04 5.96685E04 7.78999E04 2.07641E05 1.85956E05 1.75242E04 4.54592E03 6.22625E03 2.03767E04 2.02172E03 1.91755E02 3.60110E01 1.07691E02 2.68021E02 2.00750E02 5.11590E02 4.46806E02 3.86168E02 1.70590E02 7.45888E02 1.15321E03 3.95182E02 1.00188E02 -Frame 40 1.37477E05 1.45154E05 1.16904E05 7.91613E04 7.00790E05 5.69791E05 8.42102E05 2.92783E05 1.95095E05 2.05990E05 1.54725E05 1.50558E05 1.24793E05 3.98222E05 4.90270E05 2.02587E05 1.18790E05 3.91865E04 4.11327E04 3.95698E04 1.00307E05 2.14070E05 5.14834E04 9.82088E03 5.59465E03 1.47972E04 6.05694E03 3.56076E02 3.88515E01 6.92451E01 1.89325E02 1.36699E02 4.78993E02 5.79847E02 8.43140E02 3.84592E02 3.59000E02 3.53467E02 2.25332E02 1.01254E02 -Frame 40 1.37053E05 1.47327E05 1.14240E05 7.29400E04 6.82449E05 5.37550E05 8.98821E05 3.12625E05 2.13785E05 2.10643E05 1.97480E05 1.60406E05 2.17298E05 6.73368E05 6.06436E05 9.66390E04 7.53220E04 2.65917E04 2.26125E04 2.85876E04 4.30052E04 1.46488E05 9.45395E04 1.78533E04 5.52959E03 1.13154E04 1.31025E04 6.33878E02 1.15454E02 1.59273E02 1.61648E02 2.72076E02 3.07794E02 4.48487E02 3.03973E02 3.15251E02 4.21622E02 4.63383E02 2.29877E02 1.74452E02 -Frame 40 1.35247E05 1.45429E05 1.11086E05 7.83525E04 7.14178E05 5.97394E05 8.73791E05 3.33988E05 2.32306E05 1.92544E05 2.72689E05 1.95955E05 3.82850E05 8.09496E05 5.78879E05 5.53579E04 4.85562E04 1.64486E04 1.52119E04 1.67226E04 1.95736E04 4.43136E04 8.84207E04 2.81667E04 1.06979E04 5.91671E03 1.65227E04 5.16217E03 2.17844E02 1.34019E02 1.18978E02 3.06077E02 7.79810E02 8.41023E02 3.20031E02 2.01288E02 2.81022E02 3.88707E02 2.66656E02 2.48310E02 -Frame 40 1.33895E05 1.37165E05 1.08180E05 6.88416E04 7.81120E05 6.03891E05 8.77577E05 3.31981E05 2.30509E05 1.79429E05 3.56158E05 2.17403E05 6.61679E05 7.37257E05 2.60761E05 4.37274E04 3.14633E04 1.34721E04 9.35892E03 1.31605E04 1.44487E04 2.25842E04 9.44057E04 6.24722E04 1.67596E04 3.69856E03 1.62954E04 1.57362E04 1.29094E03 1.25491E02 1.07498E02 3.62969E02 1.01677E03 8.08425E02 3.37573E02 2.49887E02 3.55969E02 5.02048E02 1.38104E02 2.68235E02 -Frame 40 1.35054E05 1.30046E05 1.05759E05 6.81869E04 8.06621E05 5.85115E05 8.17940E05 3.10866E05 2.10665E05 1.82600E05 3.89038E05 2.54961E05 9.99230E05 7.65958E05 9.10732E04 3.88086E04 2.74789E04 1.30084E04 9.05786E03 1.07030E04 1.05460E04 1.38078E04 4.58422E04 1.20067E05 3.98683E04 4.40975E03 4.88535E03 2.26021E04 5.07106E03 4.41564E02 3.24545E02 1.06909E03 2.36597E03 1.82943E03 5.34162E02 2.25948E02 5.80044E02 1.02254E03 3.95198E02 5.44422E02 -Frame 40 1.39569E05 1.27276E05 1.08157E05 6.91627E04 8.45283E05 5.67229E05 6.82367E05 2.78849E05 1.97582E05 1.80735E05 3.47313E05 3.28089E05 1.33552E06 8.87251E05 5.35035E04 2.46636E04 1.83595E04 1.12917E04 8.27193E03 8.08567E03 7.97367E03 1.08112E04 2.25964E04 1.47695E05 4.85428E04 6.92891E03 4.49996E03 1.19871E04 1.08344E04 1.16387E03 9.37332E01 1.10114E03 4.35882E03 4.11887E03 6.15483E02 3.24856E02 1.07644E03 1.97676E03 3.03666E02 4.94662E02 -Frame 40 1.42188E05 1.30859E05 1.11600E05 6.53323E04 9.14414E05 5.61657E05 4.84685E05 2.30883E05 1.76028E05 1.69745E05 2.60812E05 4.63552E05 1.30286E06 7.66327E05 5.24290E04 1.45693E04 1.28702E04 8.58763E03 5.52328E03 6.40678E03 5.38317E03 6.44435E03 1.27518E04 9.16323E04 6.90285E04 7.45122E03 4.59153E03 1.00766E04 1.31717E04 2.07986E03 3.12213E02 2.75820E03 6.15903E03 5.02057E03 4.45981E02 2.56743E02 1.16894E03 2.51647E03 2.30449E02 2.69590E02 -Frame 40 1.36058E05 1.30058E05 1.13047E05 7.01080E04 9.27258E05 5.99838E05 2.95951E05 1.74696E05 1.51897E05 1.45259E05 1.80386E05 5.22525E05 9.02332E05 4.76867E05 5.00994E04 1.18784E04 1.22170E04 6.24953E03 4.73210E03 5.44107E03 3.35234E03 3.38449E03 7.24759E03 4.90179E04 9.02064E04 7.08583E03 2.90871E03 5.34649E03 7.21790E03 2.90594E03 1.92669E02 6.90112E02 3.95484E03 1.94829E03 2.06996E02 2.52984E02 1.06300E03 1.90941E03 2.00960E02 6.68118E01 -Frame 40 1.26891E05 1.15867E05 1.15151E05 6.53927E04 9.10474E05 5.32857E05 1.86600E05 1.21722E05 1.09542E05 1.08742E05 1.47476E05 3.31006E05 5.41998E05 2.91606E05 3.04639E04 1.12007E04 9.32634E03 4.92623E03 3.81110E03 4.25198E03 3.32379E03 2.61175E03 3.41726E03 2.45413E04 6.21616E04 1.03624E04 2.82554E03 4.09165E03 5.76272E03 4.77728E03 2.05103E02 7.07882E02 1.75616E03 1.14597E03 4.34458E02 2.04652E02 7.33472E02 1.46601E03 2.07966E02 5.89887E01 -Frame 40 1.22284E05 1.11826E05 1.07920E05 5.76234E04 8.73214E05 4.58878E05 1.10368E05 8.79258E04 7.71207E04 7.48244E04 1.22115E05 2.23123E05 3.71987E05 1.96617E05 2.19728E04 9.26335E03 6.40557E03 4.10971E03 2.80973E03 2.65405E03 2.86352E03 2.66575E03 1.66291E03 1.22997E04 3.95602E04 1.22216E04 3.27564E03 3.72714E03 5.28674E03 7.06577E03 5.60602E02 1.08118E03 2.89889E03 1.44954E03 3.86253E02 1.24761E02 4.30074E02 1.04726E03 2.17361E02 1.20919E02 -Frame 40 1.17429E05 1.02801E05 1.02353E05 5.43149E04 8.04059E05 4.33754E05 6.89148E04 6.86068E04 5.50127E04 4.84550E04 9.11302E04 1.40351E05 3.65481E05 2.16608E05 2.29389E04 7.09350E03 4.76741E03 4.51290E03 2.42489E03 1.50342E03 2.24305E03 1.78422E03 1.56193E03 1.09022E04 4.28453E04 1.27760E04 2.55684E03 3.21843E03 5.17014E03 6.66207E03 5.57521E02 6.76067E02 1.28428E03 8.62900E02 4.42956E02 3.46172E02 3.16150E02 5.62704E02 2.06292E02 1.43777E02 -Frame 40 1.16318E05 9.14507E04 9.09834E04 4.76228E04 7.39444E05 3.70884E05 6.41831E04 6.16818E04 4.34389E04 3.68715E04 7.39485E04 6.47988E04 3.18148E05 3.05137E05 2.57034E04 4.96899E03 5.54404E03 4.47891E03 2.47677E03 1.61404E03 1.27406E03 1.72813E03 2.93551E03 1.44965E04 7.36940E04 1.68094E04 3.97188E03 2.79943E03 4.72612E03 3.84517E03 1.07289E03 3.03502E02 6.39048E02 4.10010E02 2.34048E02 1.63391E02 2.34006E02 2.43316E02 2.06431E02 1.41710E02 -Frame 40 1.19149E05 8.39771E04 7.98311E04 4.10966E04 6.81472E05 2.85512E05 7.21862E04 5.33041E04 3.57746E04 2.98258E04 4.55330E04 3.00278E04 1.31113E05 2.03392E05 1.05690E05 2.43109E04 9.70009E03 4.92804E03 3.14399E03 2.12422E03 3.27063E03 1.89973E03 4.42320E03 1.93374E04 7.93197E04 1.06002E04 3.36861E03 2.55126E03 3.23296E03 4.04170E03 2.13908E03 2.72649E02 1.07406E03 9.85705E02 3.92497E02 2.36007E02 3.01979E02 4.40672E02 2.43129E02 1.46357E02 -Frame 40 1.20389E05 8.01493E04 6.70531E04 3.94068E04 6.17930E05 2.24830E05 7.60161E04 5.04743E04 2.96602E04 2.28298E04 3.76136E04 2.00847E04 4.02360E04 5.96152E04 1.41709E05 1.05120E05 4.15259E04 1.19094E04 6.70257E03 4.02668E03 4.11390E03 3.50318E03 8.69852E03 2.88152E04 6.34887E04 1.56403E04 6.34312E03 4.47735E03 5.49462E03 9.56554E03 5.08098E03 8.83964E02 2.72673E03 2.77703E03 4.15752E02 3.13041E02 1.67126E03 1.91888E03 2.59885E02 2.44196E02 -Frame 40 1.12720E05 6.69747E04 5.83179E04 4.90692E04 5.22437E05 1.68785E05 6.70607E04 3.65860E04 1.89729E04 2.02574E04 3.41167E04 9.21075E03 1.93817E04 1.55216E04 5.66281E04 7.98343E04 1.28867E05 4.38946E04 1.50019E04 1.00331E04 6.94876E03 3.51101E03 1.01526E04 2.81471E04 3.53950E04 3.66080E04 8.52193E03 4.17491E03 5.22334E03 1.16808E04 1.02532E04 3.43573E03 6.59560E03 2.71455E03 5.30624E02 1.88740E02 2.15934E03 2.78476E03 3.81715E02 4.71959E02 -Frame 40 5.00385E04 2.51451E04 3.21527E04 7.34595E04 2.07482E05 8.40744E04 3.03099E04 8.69892E03 1.13870E04 7.42987E03 9.39220E03 6.29877E03 5.09357E03 8.17587E03 4.77390E03 2.93449E04 1.38777E05 5.83318E04 9.78890E03 6.65702E03 5.43199E03 1.91934E03 2.56313E03 7.37937E03 4.09520E04 2.95769E04 5.05085E03 2.39306E03 7.17188E03 1.06309E04 5.30294E04 1.87491E05 2.39747E05 2.95229E05 3.87882E04 8.45718E04 5.89202E04 2.08217E04 1.40626E04 1.50286E04 -Frame 40 1.11262E04 1.00513E04 1.09010E04 2.40057E04 1.64771E04 7.07128E03 6.97916E03 2.06180E03 9.50427E02 2.02360E03 1.89350E03 1.02483E03 1.33721E03 1.03179E03 2.02169E03 3.69528E03 4.96155E03 4.91646E03 9.22953E02 7.43975E02 4.69023E02 4.84959E02 3.82736E02 1.83755E03 7.04993E03 5.63323E03 2.04265E03 1.37193E03 5.69839E03 9.91736E03 8.76777E04 3.55856E05 5.63526E05 2.92048E05 8.68258E05 2.37176E06 5.94475E05 8.66532E05 5.51188E05 8.31491E04 -Frame 40 1.91391E03 2.43011E03 2.43180E03 2.47841E03 3.15148E02 5.80410E02 5.84416E02 3.15553E02 1.11500E02 1.21210E02 2.05517E02 1.95498E02 1.52197E02 2.86737E02 4.12212E02 5.36127E02 4.43324E02 4.99265E02 2.63860E02 1.03247E03 4.04738E02 2.30620E02 3.56778E02 3.39448E02 4.26792E02 4.09796E02 6.68280E02 4.42163E02 6.40508E03 1.81565E04 3.76264E04 1.02985E05 1.14592E05 2.47421E05 1.16777E06 3.72112E06 8.29667E05 4.90271E05 5.66504E05 3.47387E05 -Frame 40 9.27508E01 2.04050E02 1.57253E02 8.06215E01 3.34316E02 1.42319E02 2.85606E02 1.59532E02 6.69471E01 1.92216E02 6.19739E02 8.65495E02 5.30596E02 6.16924E02 2.49647E02 1.62495E02 2.81580E02 4.04995E02 4.56038E02 6.41087E02 6.63795E02 4.14060E02 5.65681E02 5.53616E02 6.12409E02 3.90336E02 3.39727E02 3.09636E02 7.53596E03 1.85259E04 3.44442E04 1.39777E05 2.99868E05 5.35822E05 1.39513E06 7.34524E06 1.12231E07 2.87942E06 6.77915E05 4.92362E05 -Frame 40 5.40669E01 4.54946E01 6.30564E01 1.15374E02 2.02283E02 1.19243E02 3.26645E02 2.48123E02 2.53335E02 1.54911E02 3.77848E02 3.97863E02 6.31771E02 2.21298E02 8.76574E01 1.36828E02 2.98811E02 8.55619E02 1.35231E03 1.42374E03 1.06564E03 8.64333E02 1.28756E03 7.56249E02 1.91168E03 9.82154E02 1.42993E03 1.78485E03 4.90331E03 1.87686E04 1.36331E05 6.96890E05 8.43357E05 7.39457E05 2.14058E06 1.75702E07 3.15427E07 4.66732E06 1.35141E06 1.18218E06 -Frame 40 5.19728E01 2.83259E01 6.96470E01 7.11382E01 4.95657E01 7.05923E01 5.22316E02 3.95181E02 3.11437E02 1.79117E02 2.19150E02 2.59091E02 2.17175E02 8.25215E01 1.25688E02 2.60661E02 2.09836E02 3.84700E02 1.20638E03 1.07593E03 1.29402E03 3.05312E03 1.42773E03 1.12476E03 2.33569E03 2.48314E03 2.35755E03 2.76186E03 7.06826E03 1.64490E04 7.26577E04 3.85408E05 7.55649E05 7.10991E05 1.72953E06 6.72391E06 1.51741E07 5.41538E06 2.36904E06 1.86178E06 -Frame 40 4.10365E01 5.91029E01 8.21002E01 4.82992E01 1.13465E02 1.16883E02 2.50010E02 5.32600E02 3.05505E02 3.67367E02 2.37565E02 3.52757E02 3.58670E02 5.72343E02 6.04745E02 4.65691E02 3.81689E02 2.67570E02 5.81604E02 7.92185E02 7.30432E02 4.29787E03 3.68068E03 3.07279E03 5.45194E03 3.15322E03 1.83627E03 6.48966E03 1.07107E04 5.10287E04 1.92340E05 8.23179E05 1.17915E06 5.02846E05 2.84150E06 1.12604E07 8.04173E06 3.33141E06 2.53519E06 3.24657E06 -Frame 40 6.54249E01 1.66572E02 1.61579E02 1.30759E02 3.40253E02 3.24067E02 9.55390E02 5.31080E02 2.40819E02 1.07123E02 1.21272E02 9.85178E02 8.59346E02 5.92210E02 5.56889E02 4.60120E02 4.50001E02 1.22337E03 1.72254E03 8.73382E02 1.09330E03 1.49256E03 1.54468E03 6.24805E03 8.06518E03 5.46254E03 2.79696E03 2.87004E03 4.76970E03 5.65354E04 2.03870E05 3.59018E05 4.35293E05 5.95927E05 6.68251E06 9.81884E06 3.88066E06 2.54471E06 3.95662E06 3.23744E06 -Frame 40 4.01330E01 1.32189E02 8.65080E01 4.34091E01 1.39045E02 1.19232E02 2.43165E02 2.43147E02 7.27751E01 2.33096E02 5.73434E02 1.82310E02 3.85903E02 5.10324E02 1.18948E02 4.06870E02 3.94039E02 2.91829E03 4.95335E03 1.55089E03 2.94176E03 8.68646E03 2.39866E03 7.28749E03 8.09121E03 2.15687E03 4.25260E03 2.85552E03 1.56986E04 7.79208E04 1.07649E05 3.25660E05 5.91231E05 1.42936E06 3.82961E06 6.40968E06 2.53643E06 1.49933E06 3.23630E06 2.05346E06 -Frame 40 7.47818E02 5.82509E02 1.62439E03 2.59400E03 3.02566E03 4.66148E02 4.04293E02 4.84202E02 2.18254E02 4.57953E02 5.64762E02 2.10871E02 2.59795E02 3.94117E02 2.36170E02 2.02530E02 2.85530E02 1.76930E03 5.89942E03 4.19841E03 1.20497E03 3.23568E03 1.03987E03 5.69097E03 1.53830E04 6.05568E03 2.99134E03 3.42954E03 7.95745E03 1.83076E04 5.63560E04 6.05043E05 1.46463E06 6.37081E05 1.35402E06 1.39310E06 1.54404E06 8.31474E05 3.09098E05 3.74421E05 -Frame 40 1.10033E04 1.94969E04 1.42020E04 5.01138E04 2.39234E04 2.82947E04 1.60743E04 8.45405E03 3.62989E03 2.48186E03 3.70898E03 3.21818E03 1.88809E03 2.12770E03 1.63064E03 2.16382E03 3.96895E03 1.14002E04 1.24298E04 6.12128E03 2.58665E03 4.63542E03 4.14486E03 7.25641E03 1.97811E04 1.01485E04 1.26936E03 1.89722E03 2.80495E03 1.68866E04 6.58551E04 4.31484E05 7.23542E05 6.20146E04 1.50450E05 3.09381E05 2.02575E05 9.91300E04 3.36734E04 2.39220E04 -Frame 40 4.94356E04 2.13280E04 4.44275E04 6.13236E04 1.97805E05 7.35461E04 5.36191E04 2.90272E04 1.68655E04 6.95934E03 9.33899E03 5.41455E03 3.63199E03 2.77982E03 2.30687E03 2.43667E03 5.81499E03 2.06650E04 3.29790E04 1.57389E04 3.69149E03 3.41336E03 3.79384E03 6.69884E03 2.63324E04 9.43381E03 1.91157E03 1.41655E03 2.45938E03 6.95863E03 1.62764E04 7.33380E04 2.54968E04 1.81262E04 2.12827E04 1.44130E04 1.66677E04 1.69464E04 8.34679E03 4.69151E03 -Frame 40 9.25816E04 6.57867E04 8.74736E04 5.33898E04 4.74427E05 2.71283E05 1.70251E05 4.48082E04 4.30148E04 3.88884E04 1.10169E04 9.16429E03 5.93786E03 4.18888E03 3.84481E03 3.81229E03 9.79774E03 2.74822E04 3.76842E04 1.68871E04 4.55895E03 1.10324E03 5.24188E03 2.83377E04 1.55411E05 2.39352E04 5.19615E03 3.18888E03 5.42365E03 1.20697E04 1.08595E04 2.37477E03 4.59540E03 1.12783E04 4.17556E03 7.93566E03 1.68613E04 2.34039E04 7.24839E03 1.10890E03 -Frame 40 1.23903E05 6.77781E04 1.17227E05 6.94861E04 5.79644E05 3.26461E05 4.09687E05 5.17995E04 7.27031E04 5.72448E04 2.40403E04 8.22811E03 9.99070E03 5.30631E03 4.97662E03 4.43746E03 1.63187E04 6.91112E04 1.33101E05 4.33243E04 2.03102E04 4.65523E03 1.05342E04 8.05048E04 2.39403E05 1.94071E04 1.16198E04 1.24502E04 2.59581E04 2.11068E04 3.34231E03 1.67116E03 4.76937E03 8.47107E03 3.31265E03 5.64287E03 1.20244E04 2.57559E04 7.84350E03 2.24018E03 -Frame 40 1.21053E05 5.13868E04 9.82608E04 8.95933E04 4.19162E05 4.05946E05 5.33011E05 4.78625E04 1.10086E05 5.75768E04 3.84487E04 9.28330E03 1.51209E04 4.89265E03 7.00255E03 7.28995E03 4.08671E04 8.48937E04 2.83193E05 9.42198E04 7.45347E04 4.86233E04 1.13999E04 3.34382E04 1.31839E05 2.51773E04 2.13358E04 4.59716E04 2.42238E04 5.45116E03 6.66320E02 1.22265E03 3.25903E03 5.39008E03 1.96339E03 4.65001E03 9.12135E03 1.12053E04 2.48206E03 1.93612E03 -Frame 40 1.15621E05 4.84566E04 8.57742E04 9.32206E04 3.94269E05 4.57946E05 5.37533E05 5.09823E04 1.21635E05 6.09064E04 3.56854E04 1.63570E04 2.24781E04 3.73444E03 9.12050E03 1.19457E04 8.56202E04 1.32539E05 3.20708E05 9.43350E04 8.74069E04 9.98302E04 1.76588E04 7.51133E03 2.86060E04 1.70119E04 1.90204E04 4.01470E04 9.10712E03 1.17561E03 1.40826E02 9.24438E02 3.74451E03 2.50605E03 7.23006E02 2.23638E03 4.47934E03 8.48840E03 1.37876E03 1.97906E03 -Frame 40 1.19879E05 5.38155E04 7.65411E04 9.51807E04 4.01133E05 4.27007E05 5.43552E05 7.26384E04 1.27995E05 6.26254E04 3.20701E04 3.21203E04 2.27558E04 8.29464E03 1.26713E04 4.57428E04 1.72526E05 1.80843E05 1.80679E05 5.07276E04 7.31014E04 8.48189E04 1.16532E04 7.22577E03 9.99015E03 8.72882E03 3.08541E03 2.98836E03 2.34604E03 2.97192E02 1.66841E02 9.61550E02 4.53688E03 1.19298E03 3.64490E02 1.20170E03 3.07208E03 4.05551E03 9.98726E02 1.20569E03 -Frame 40 1.27604E05 4.95949E04 7.92604E04 9.15646E04 4.28871E05 4.41653E05 5.91920E05 1.00970E05 1.35367E05 6.61107E04 3.74980E04 4.27588E04 2.48190E04 1.51630E04 2.49743E04 1.74885E05 4.86234E05 1.51795E05 9.61370E04 4.72049E04 3.94462E04 1.89296E04 2.52219E03 1.45219E03 4.33338E03 5.09700E03 6.05445E02 4.12491E02 3.01715E02 1.52734E02 1.11872E02 4.65286E02 1.87229E03 5.39088E02 2.78368E02 1.58181E03 2.79655E03 3.11674E03 5.75047E02 1.01158E03 -Frame 40 1.26638E05 4.71193E04 7.64951E04 1.04719E05 3.89788E05 4.55643E05 5.63275E05 1.05707E05 1.60410E05 7.64363E04 5.88229E04 4.03341E04 3.19215E04 2.72798E04 5.75893E04 4.29340E05 5.04955E05 1.62542E05 6.39043E04 1.02321E05 7.57193E04 2.03205E04 5.14122E03 3.29588E03 8.26117E03 4.46364E03 2.58906E02 1.87560E02 2.10457E02 3.57547E02 3.23127E02 3.60143E02 7.52385E02 4.57694E02 4.69766E02 8.09007E02 2.87842E03 2.57257E03 8.76568E02 3.04329E02 -Frame 40 1.19658E05 5.20166E04 8.05599E04 1.22843E05 3.65829E05 5.35568E05 5.13095E05 1.00605E05 1.63300E05 8.43983E04 5.11144E04 4.29524E04 3.87827E04 3.90013E04 1.30767E05 5.80790E05 5.50668E05 1.21974E05 7.90089E04 1.78105E05 1.70583E05 1.22842E04 3.54016E03 2.56423E03 9.87842E03 2.87459E03 1.90438E02 1.74211E02 8.78891E01 2.92554E02 2.37137E02 2.30521E02 1.47261E03 6.60268E02 8.73648E02 8.99179E02 1.08568E03 1.41762E03 4.60183E02 1.82493E02 -Frame 40 1.18260E05 5.14082E04 8.22690E04 1.30343E05 3.52608E05 5.50015E05 5.04976E05 9.09210E04 1.63645E05 7.18655E04 6.00975E04 4.14540E04 4.35932E04 5.60117E04 1.88418E05 5.21704E05 2.90478E05 6.07528E04 8.57422E04 2.14234E05 1.06041E05 6.48931E03 1.08663E03 7.86755E02 3.51885E03 1.84635E03 1.28763E02 3.11601E02 2.85991E02 3.12503E02 1.15959E02 3.29141E02 8.28825E02 3.84583E02 6.35803E02 1.31375E03 8.76771E02 2.91818E02 5.16168E02 2.85964E02 -Frame 40 1.23197E05 6.00783E04 8.31937E04 1.19776E05 3.65408E05 5.68880E05 5.51816E05 9.16885E04 1.83338E05 9.53978E04 5.51057E04 4.76798E04 5.02728E04 8.70626E04 3.87748E05 4.05044E05 2.34361E05 7.64636E04 7.22358E04 1.35578E05 1.17384E05 9.06357E03 2.14078E03 1.29523E03 3.36686E03 2.00133E03 1.56372E02 1.69939E02 3.77904E01 2.06597E02 1.59602E02 2.46132E02 1.21852E03 4.41209E02 8.57447E02 6.48907E02 4.93806E02 1.83449E02 1.14528E02 3.53834E02 -Frame 40 1.25791E05 5.96517E04 8.58190E04 1.31491E05 3.47618E05 6.49219E05 6.53368E05 1.16032E05 1.94207E05 9.18710E04 7.66597E04 7.75438E04 6.76076E04 1.17065E05 3.85060E05 3.85711E05 1.19912E05 5.63675E04 6.29551E04 1.43368E05 1.06293E05 2.12394E04 4.29963E03 2.05113E03 3.38392E03 1.84582E03 1.93304E02 5.99164E01 4.15453E01 9.57694E01 2.09654E02 1.30960E02 4.00687E02 4.83950E02 7.22541E02 2.95697E02 5.36681E02 2.22563E02 1.98167E02 1.69336E02 -Frame 40 1.24234E05 6.51370E04 9.15573E04 1.24320E05 3.42087E05 7.74579E05 8.15472E05 1.30294E05 2.30993E05 1.27454E05 8.46083E04 8.59351E04 7.71630E04 1.65119E05 4.31649E05 2.63283E05 9.19094E04 3.56975E04 4.17576E04 6.48613E04 1.61966E05 3.56551E04 6.39332E03 2.61516E03 6.87495E03 3.19180E03 2.17575E02 8.59316E01 9.21950E01 1.99293E02 6.41198E01 1.69385E02 7.76786E02 3.72734E02 6.59214E02 5.43632E02 4.56022E02 2.53593E02 1.59297E02 1.51434E02 -Frame 40 1.25562E05 6.24396E04 8.40224E04 1.25192E05 3.55551E05 8.02575E05 8.98129E05 1.72813E05 2.66172E05 1.29100E05 1.01893E05 1.24991E05 1.08560E05 2.75519E05 3.56351E05 1.65213E05 6.77332E04 2.45516E04 2.75734E04 3.66158E04 7.34805E04 1.50145E05 2.23895E04 3.40307E03 3.94260E03 2.89955E03 4.05029E02 3.05204E02 3.26509E02 2.01423E02 1.35023E02 3.22176E02 4.74285E02 1.94302E02 3.59456E02 6.48655E02 6.75564E02 5.26140E02 2.97743E02 2.60441E02 -Frame 40 1.33390E05 6.65707E04 8.60517E04 1.08061E05 3.94659E05 7.69904E05 1.02153E06 2.08996E05 3.07534E05 1.52050E05 1.24617E05 1.57068E05 1.80722E05 4.40767E05 4.52500E05 7.01947E04 4.84906E04 2.38181E04 1.66031E04 1.90470E04 2.25820E04 1.03162E05 4.06187E04 1.00002E04 5.88697E03 7.04391E03 1.34946E03 4.04663E02 3.62208E02 4.28656E02 2.14980E02 1.81991E02 8.57831E02 1.72756E02 2.40694E02 4.34398E02 3.37208E02 2.22391E02 4.23800E02 4.46019E02 -Frame 40 1.35535E05 6.57531E04 8.98124E04 9.70757E04 4.24987E05 7.83143E05 1.12493E06 2.29694E05 3.54736E05 1.61125E05 1.59738E05 2.40610E05 2.67429E05 4.54409E05 3.50161E05 3.35417E04 2.83443E04 1.82978E04 1.19002E04 1.16898E04 7.63410E03 2.48432E04 4.73601E04 4.09887E04 1.42724E04 8.26376E03 8.45587E03 1.59087E03 1.28107E02 7.68357E02 3.72034E02 3.67183E02 2.43674E03 3.95417E02 1.81563E02 5.20119E02 7.05462E02 3.32266E02 4.13645E02 6.36708E02 -Frame 40 1.27278E05 6.29012E04 9.25016E04 9.59098E04 4.25010E05 8.40282E05 1.13805E06 2.09378E05 3.74862E05 1.71292E05 1.68641E05 3.04758E05 4.15745E05 5.54313E05 1.25389E05 2.08958E04 1.48266E04 1.07250E04 5.33321E03 3.95925E03 3.72592E03 6.12740E03 1.64873E04 2.45401E04 9.03423E03 1.35942E03 2.69830E03 2.27097E03 1.10513E03 1.11272E03 4.67147E02 4.61918E02 3.28456E03 1.84412E03 1.79839E02 6.01837E02 5.05922E02 2.78138E02 2.26952E02 4.02728E02 -Frame 40 1.18030E05 4.97696E04 8.91517E04 1.09266E05 3.79625E05 9.40247E05 9.63452E05 1.97248E05 3.23277E05 1.77405E05 1.97918E05 2.95400E05 5.26743E05 5.70953E05 4.39815E04 1.31943E04 8.54983E03 6.24826E03 2.64459E03 1.99935E03 1.49919E03 2.02759E03 5.04151E03 1.52358E04 1.20891E04 1.59565E03 1.00829E03 2.24397E03 2.84171E03 1.01309E03 7.86172E02 9.27633E02 2.86822E03 2.74330E03 2.68707E02 4.04813E02 4.40251E02 3.56144E02 3.38239E02 1.55862E02 -Frame 40 1.13475E05 4.12674E04 9.17165E04 1.03953E05 3.73642E05 9.98383E05 9.62365E05 1.56894E05 2.84425E05 1.85584E05 2.03939E05 3.52084E05 6.52011E05 3.67096E05 2.80447E04 6.40166E03 6.53490E03 3.24861E03 1.87075E03 1.40069E03 1.13760E03 1.19046E03 2.53304E03 1.01419E04 2.28749E04 3.42087E03 1.29380E03 1.66567E03 4.82251E03 3.26532E03 5.87377E02 6.07394E02 4.39445E03 5.32858E03 4.26355E02 2.05233E02 4.48002E02 7.92209E02 3.36814E02 1.66543E02 -Frame 40 1.00410E05 2.80837E04 7.35262E04 1.74040E05 2.60802E05 1.18224E06 6.34584E05 1.71190E05 2.07591E05 1.50364E05 2.48814E05 4.26878E05 4.80841E05 1.21800E05 1.63143E04 3.97894E03 4.26659E03 1.46218E03 1.25304E03 1.38745E03 7.36038E02 8.14808E02 1.65051E03 6.62295E03 2.60272E04 4.04050E03 8.01858E02 8.72861E02 8.05573E03 9.61367E03 1.53268E02 2.08473E02 1.53626E03 2.17597E03 4.81872E02 1.37152E02 5.64308E02 8.49056E02 3.36440E02 2.60824E02 -Frame 40 9.17355E04 2.81078E04 7.00247E04 2.05997E05 2.75216E05 1.17150E06 4.94474E05 1.51350E05 1.64824E05 1.46980E05 2.84014E05 6.32935E05 2.52958E05 4.48011E04 5.56369E03 2.77014E03 1.65303E03 1.04293E03 9.55663E02 8.94770E02 2.67030E02 3.52653E02 5.51708E02 1.85360E03 1.31454E04 3.37595E03 4.83326E02 4.38393E02 3.53771E03 5.52506E03 2.03202E02 1.82596E02 6.44266E02 7.89970E02 1.61683E02 1.07684E02 6.17820E02 5.56414E02 4.28972E02 1.73525E02 -Frame 40 8.69800E04 3.00027E04 7.13444E04 2.45375E05 3.30231E05 1.05743E06 3.94446E05 1.45977E05 1.62730E05 1.90567E05 6.62147E05 9.13785E05 1.58371E05 1.73022E04 2.63634E03 2.64873E03 1.58589E03 9.76447E02 4.86268E02 3.65366E02 2.70515E02 2.44551E02 3.85630E02 1.09291E03 6.31686E03 4.39766E03 7.62525E02 5.98741E02 3.33659E03 4.41224E03 2.49481E02 2.79891E02 1.03140E03 7.40635E02 2.93306E02 2.49312E02 8.87624E02 6.68650E02 4.76727E02 3.97355E02 -Frame 40 8.36260E04 3.34469E04 7.73452E04 2.72019E05 3.69534E05 9.37372E05 3.22378E05 1.38090E05 1.54458E05 3.58559E05 9.29469E05 4.05322E05 5.44692E04 6.99012E03 3.48106E03 1.69350E03 1.01666E03 1.08804E03 2.91516E02 4.42628E02 3.73397E02 6.35263E02 4.03143E02 5.80809E02 3.70175E03 3.88165E03 1.49605E03 1.24311E03 3.61497E03 4.89929E03 4.68315E02 5.24830E02 1.44419E03 4.02508E02 2.71991E02 2.58824E02 9.36744E02 3.87306E02 2.53303E02 2.55806E02 -Frame 40 8.52395E04 4.27414E04 8.12567E04 2.77776E05 3.54278E05 7.96758E05 2.94302E05 1.39066E05 1.72109E05 5.25359E05 1.15216E06 8.02047E04 2.60416E04 5.71086E03 1.36282E03 8.74898E02 1.29760E03 5.09179E02 2.53122E02 2.22652E02 3.69438E02 4.51767E02 5.87216E02 8.00762E02 5.54579E03 7.45406E03 1.89730E03 1.00352E03 3.68974E03 3.72099E03 2.67402E02 2.77270E02 1.29514E03 3.15554E02 2.42143E02 1.46583E02 4.95842E02 3.83230E02 1.55589E02 1.87251E02 -Frame 40 8.19111E04 4.62156E04 7.53213E04 2.94045E05 2.84815E05 5.98614E05 1.75347E05 1.20875E05 2.08026E05 5.17368E05 7.47340E05 2.03107E04 9.25004E03 3.16660E03 9.31033E02 1.05458E03 6.99090E02 5.09205E02 8.25416E01 6.22631E01 1.90410E02 3.08194E02 2.12372E02 3.36928E02 2.76180E03 4.43003E03 1.48488E03 1.04598E03 4.81130E03 3.37337E03 1.74490E02 2.33907E02 7.75728E02 3.05923E02 2.75386E02 2.30890E02 3.75043E02 1.96160E02 7.56582E01 1.04800E02 -Frame 40 6.19814E04 3.74630E04 6.22582E04 2.76463E05 1.70285E05 4.06131E05 9.84193E04 8.55305E04 1.84645E05 2.84877E05 3.09885E05 4.77444E03 1.63605E03 8.90767E02 3.47420E02 2.29102E02 1.58736E02 1.49092E02 5.91857E01 2.12094E02 2.19553E02 9.28613E01 1.50102E02 2.48272E02 9.26295E02 3.19218E03 4.86232E02 2.92454E02 2.92166E03 1.57701E03 1.46884E02 2.61417E02 4.49712E02 2.50501E02 2.24440E02 1.36405E02 2.36146E02 1.51513E02 1.35137E02 2.01924E02 -Frame 40 5.77554E04 3.24102E04 5.84277E04 3.02168E05 1.00086E05 2.15309E05 4.98673E04 6.04083E04 1.46225E05 1.62496E05 8.16514E04 1.71563E03 9.03732E02 2.36309E02 3.65745E02 1.73889E02 4.96070E02 8.06581E01 9.87760E01 1.19352E02 1.29416E02 1.79695E02 8.79983E01 1.09025E02 6.51882E02 1.66730E03 4.50853E02 7.08227E02 1.62208E03 8.24146E02 1.26069E02 2.08016E02 2.69745E02 1.40521E02 2.24686E02 1.98231E02 1.01319E02 1.41310E02 1.73689E02 1.32453E02 -Frame 40 4.91018E04 2.34696E04 5.49871E04 3.00933E05 8.16045E04 8.97342E04 4.29317E04 4.49687E04 1.20914E05 7.39786E04 2.87357E04 4.65761E02 4.71579E02 3.93989E02 3.00173E02 9.87946E01 3.23838E02 1.12078E02 7.19242E01 6.67023E01 1.29608E02 2.00961E02 9.25101E01 9.13690E01 1.16013E02 7.11517E02 3.48146E02 5.28173E02 1.36605E03 4.68763E02 1.25806E02 1.42804E02 3.20641E02 7.89545E01 1.44269E02 2.05694E02 1.22198E02 2.73254E02 2.20088E02 2.30813E02 -Frame 40 4.04948E04 1.69529E04 6.30072E04 2.32897E05 7.58346E04 6.24473E04 2.36053E04 2.92439E04 8.63812E04 3.82739E04 1.34132E04 4.06402E02 3.71641E02 2.43079E02 2.18416E02 8.22125E01 6.00182E01 9.89149E01 7.01356E01 5.11093E01 7.28693E01 2.73827E02 1.59570E02 1.82723E02 1.37573E02 5.01830E02 3.53948E02 3.56292E02 9.27293E02 3.96998E02 1.63037E02 1.89729E02 2.14160E02 2.03122E02 1.58056E02 2.05591E02 2.37539E02 2.36366E02 1.59858E02 1.79553E02 -Frame 40 3.70612E04 1.92500E04 5.85602E04 1.76451E05 7.03696E04 5.69328E04 1.90297E04 1.80389E04 5.93634E04 2.42208E04 2.45147E03 5.20000E02 4.25053E02 9.48285E01 1.09735E02 1.49000E02 1.23774E02 7.52232E01 9.81401E01 7.65665E01 7.47398E01 2.42867E02 6.59818E01 7.22337E01 3.25618E02 4.87904E02 3.52556E02 4.22352E02 1.25541E03 3.82513E02 1.90389E02 3.38149E02 3.27741E02 2.03430E02 2.42149E02 1.22828E02 2.18222E02 2.11406E02 5.47125E01 1.46462E02 -Frame 40 3.80548E04 2.04187E04 5.00415E04 1.55269E05 7.42659E04 7.05006E04 2.64470E04 1.18891E04 4.29031E04 2.42109E04 7.33516E03 2.07646E03 5.86837E02 2.96479E02 1.19510E02 1.08487E02 2.98206E01 3.90396E01 6.57331E01 2.54475E02 2.15308E02 1.54648E02 5.90107E01 5.78529E01 1.72249E02 3.68006E02 2.00555E02 4.75934E02 1.06437E03 2.88178E02 9.04128E01 3.98170E02 6.78543E02 1.25334E02 1.79687E02 9.93977E01 1.22295E02 1.46107E02 9.03051E01 1.09097E02 -Frame 40 3.91949E04 2.06592E04 4.33908E04 1.63558E05 1.06075E05 1.10638E05 3.34099E04 1.82658E04 4.95369E04 3.57536E04 4.98810E03 1.13883E03 1.03114E03 3.05840E02 2.26299E02 3.11089E02 8.25278E01 1.65237E02 1.67934E02 1.47849E02 1.13313E02 1.44450E02 1.19006E02 8.12123E01 1.63871E02 1.41416E02 1.14893E02 3.11165E02 4.73271E02 1.08239E02 2.28742E02 2.43761E02 1.85110E02 1.55554E02 1.50939E02 8.22655E01 2.21004E02 1.89640E02 1.61341E02 1.13849E02 -Frame 40 4.70078E04 2.24034E04 3.93511E04 1.79390E05 1.27763E05 2.45926E05 6.00623E04 4.71766E04 7.60819E04 1.02409E05 5.12402E04 2.94331E03 2.13510E03 1.31464E03 8.36991E02 2.23949E02 3.14753E02 4.80855E02 2.34166E02 2.32892E02 7.75192E01 8.75678E01 6.96774E01 7.56719E01 3.04909E02 4.26117E02 1.77819E02 1.97561E02 4.36199E02 1.39027E02 1.22535E02 3.03694E02 6.49679E02 1.34112E02 1.90854E02 2.18564E02 4.06139E02 4.92305E02 1.75885E02 1.22260E02 -Frame 40 3.92484E04 1.41166E04 3.01314E04 1.33254E05 1.54064E05 4.77326E05 8.47609E04 1.33677E05 1.57695E05 2.64357E05 2.02117E05 1.75468E04 4.73469E03 1.61065E03 7.00764E02 7.13972E02 5.70103E02 3.94997E02 2.46120E02 3.37292E02 7.52156E01 1.88828E02 1.28430E02 1.35171E02 5.20910E02 1.31115E03 5.29642E02 6.12025E02 2.50036E03 5.58669E02 9.46230E01 4.34658E02 5.28654E02 1.67614E02 2.75914E02 3.97151E02 2.34269E02 3.52988E02 1.64687E02 1.07793E02 -Frame 40 3.47420E04 1.10672E04 2.40051E04 6.20955E04 1.89099E05 3.82672E05 5.05807E05 2.03999E05 2.38413E05 5.23996E05 6.00128E05 2.02115E05 9.80246E03 6.03650E03 8.49312E02 1.20644E03 7.18796E02 7.58966E02 3.29980E02 5.38203E02 2.82432E02 1.79543E02 2.03622E02 4.00142E02 1.99324E03 1.69161E03 3.31665E02 1.85418E03 1.19063E04 3.52333E03 3.60810E02 1.51937E03 5.77024E03 1.63337E03 1.00223E03 3.30590E02 7.83029E02 2.09281E03 7.01821E02 2.29318E02 -Frame 40 3.35728E04 1.32469E04 2.50713E04 4.83867E04 1.15553E05 2.10934E05 8.54252E05 8.55843E05 3.63837E05 6.50672E05 2.31329E06 9.94837E05 4.66334E04 1.00873E04 1.58470E03 1.25445E03 1.02864E03 8.85595E02 6.53353E02 4.99643E02 6.75224E02 7.17477E02 2.38843E02 6.20080E02 1.77871E03 6.77390E02 2.42625E02 1.49125E03 2.19766E04 8.25840E03 3.15413E02 9.71842E02 2.82300E03 4.93102E02 4.63095E02 1.26974E02 4.72852E02 2.23513E03 4.44117E02 1.19308E02 -Frame 40 3.30874E04 1.38867E04 2.45203E04 4.59640E04 7.80914E04 1.44178E05 3.41042E05 7.34141E05 5.27250E05 5.90300E05 2.27572E06 1.10386E06 2.38101E05 2.25756E04 4.25115E03 2.38113E03 2.01683E03 1.82273E03 1.10404E03 7.15812E02 1.11649E03 1.13622E03 4.75756E02 6.71614E02 1.58976E03 3.98488E02 1.28249E03 1.68635E03 5.49189E03 6.33774E03 4.90920E02 2.53935E02 1.66408E02 1.99773E02 2.38720E02 5.81599E01 3.92302E02 2.31999E03 4.85663E02 8.00347E01 -Frame 40 3.02779E04 8.67386E03 1.71616E04 3.31362E04 4.09720E04 5.97525E04 1.33988E05 6.21336E05 3.37987E05 6.87815E05 9.02396E05 1.52582E06 4.85320E05 1.80723E04 6.25343E03 1.69027E03 1.37055E03 1.13651E03 1.16710E03 1.05783E03 1.21420E03 7.83573E02 1.53895E02 4.53155E02 4.65791E02 5.40015E01 9.64241E02 5.99677E02 1.40849E03 1.95416E03 1.70400E02 1.28666E02 2.75991E02 3.71205E02 2.41701E02 1.22016E02 3.52935E02 4.06328E03 9.91715E02 1.03054E02 -Frame 40 2.82534E04 5.44326E03 1.32298E04 2.47109E04 2.74757E04 3.42825E04 8.47851E04 4.93002E05 2.25660E05 4.57196E05 5.97769E05 1.17682E06 4.60494E05 4.03749E04 6.55091E03 1.93546E03 1.65464E03 8.01036E02 7.42363E02 5.17450E02 5.78430E02 6.32585E02 1.32727E02 2.23920E02 3.45544E02 1.60913E02 9.16491E02 8.61556E02 1.44945E03 1.33029E03 1.78288E02 2.15361E02 2.64118E02 1.78765E02 1.83413E02 2.36810E02 4.10243E02 3.75397E03 8.34506E02 1.08147E02 -Frame 40 2.56434E04 4.46629E03 1.01065E04 1.54887E04 2.47086E04 2.45637E04 8.86741E04 4.18515E05 2.20424E05 3.27519E05 3.43327E05 6.66192E05 9.91596E05 6.46736E04 6.21857E03 2.43039E03 1.83088E03 1.29214E03 4.77727E02 6.05486E02 3.62532E02 3.99786E02 2.26434E02 3.45897E02 4.08883E02 1.98556E02 2.19924E03 1.15612E03 2.72456E03 7.89741E03 1.81896E02 3.29077E02 3.04803E02 2.35538E02 7.88554E02 6.55291E02 8.26215E02 6.46470E03 1.14302E03 1.56915E02 -Frame 40 2.53406E04 9.11485E03 1.26937E04 1.66453E04 2.58287E04 2.62522E04 1.30700E05 4.41001E05 3.34271E05 3.61841E05 4.02089E05 5.60866E05 1.76167E06 3.78277E05 1.24237E04 3.12581E03 2.82099E03 1.42045E03 8.89315E02 6.27359E02 3.93193E02 6.62169E02 2.23930E02 5.97812E02 6.42489E02 2.10157E02 3.10638E03 1.97345E03 2.27055E03 7.47379E03 4.10990E02 2.92258E02 3.86218E02 3.32912E02 4.39787E02 1.98067E02 1.18176E03 5.34176E03 4.37982E02 1.12771E02 -Frame 40 3.50560E04 1.52614E04 1.98445E04 2.32517E04 3.42885E04 3.70829E04 1.40779E05 3.91366E05 3.87176E05 4.12258E05 3.64042E05 4.00202E05 5.15575E05 5.51220E05 6.94907E04 5.90711E03 3.25021E03 1.98021E03 6.74449E02 2.71349E02 4.02411E02 3.84055E02 9.86267E01 2.53619E02 7.65117E02 4.23883E02 1.93406E03 2.49106E03 2.53794E03 6.81878E03 9.47079E02 2.22372E02 3.12542E02 4.98029E02 4.48958E02 9.88828E01 2.31969E03 5.73819E03 4.97140E02 1.22402E02 -Frame 40 3.27357E04 1.82905E04 2.24298E04 2.27313E04 2.79289E04 2.98250E04 1.49039E05 2.69161E05 3.08961E05 3.24745E05 2.07510E05 2.76598E05 2.16851E05 2.45868E05 2.03059E05 1.49102E04 4.43880E03 3.22459E03 1.30273E03 2.67513E02 9.16703E01 1.57458E02 1.12342E02 3.87768E02 5.70303E02 5.90816E02 1.71260E03 1.83869E03 1.05746E03 3.52488E03 9.60815E02 5.89008E02 4.78284E02 1.89355E03 6.78923E02 4.88634E02 4.48800E03 3.17095E03 1.96802E02 6.76179E01 -Frame 40 1.65434E04 1.51648E04 1.40947E04 9.10605E03 2.32010E04 1.70379E04 9.48532E04 1.56191E05 1.96289E05 1.47674E05 1.39568E05 7.48635E04 6.02687E04 1.50585E05 1.28640E05 1.70745E04 5.35144E03 2.97788E03 1.41730E03 1.01303E03 6.34756E02 3.04344E02 1.76759E02 1.53997E02 3.40540E02 1.63994E02 1.75708E03 1.10775E03 8.04712E02 1.22657E03 6.71866E02 1.32736E03 2.95054E02 2.74146E03 1.52131E03 1.91622E03 9.65962E03 1.76800E03 2.66041E02 7.92772E01 -Frame 40 2.32814E04 1.43192E04 1.30277E04 1.22161E04 1.58580E04 1.86787E04 6.45451E04 2.16165E05 1.88772E05 1.40152E05 1.31232E05 6.90914E04 3.49329E04 5.18819E04 9.11677E04 4.62227E04 1.66248E04 5.00817E03 1.57162E03 1.10144E03 8.89240E02 3.76243E02 9.73846E01 4.51167E01 6.77568E01 1.34366E02 7.17896E02 7.05342E02 6.19897E02 1.58626E03 9.00875E02 5.82994E02 7.43437E02 2.35640E03 2.44241E03 1.86710E03 5.65581E03 6.10392E02 1.37030E02 1.10596E02 -Frame 40 3.02421E04 1.76427E04 1.49054E04 1.65044E04 1.60000E04 2.49098E04 7.03563E04 9.07036E04 1.20449E05 6.35795E04 7.19539E04 4.01621E04 2.72916E04 2.18314E04 4.84358E04 3.62520E04 1.99338E04 3.77959E03 2.00514E03 1.61446E03 7.29179E02 6.18976E02 3.92202E02 2.79336E02 9.76950E02 1.42308E03 1.95880E03 3.95982E03 3.05428E03 1.05425E04 1.28037E04 1.40529E04 2.59335E04 1.79666E04 6.30505E03 1.71320E03 1.19075E03 4.62016E02 5.67715E02 9.78923E02 -Frame 40 4.24091E03 5.07604E03 1.52362E03 1.52558E03 1.35775E03 2.56834E03 4.92161E03 6.39915E03 3.26168E03 2.32489E03 3.95491E03 5.55917E02 1.11007E03 1.14959E03 3.04305E03 2.68435E03 1.00720E03 4.55180E02 6.99105E02 5.26146E02 2.08596E02 3.01498E02 2.77415E02 5.93813E02 1.52971E03 1.41075E03 1.60063E03 2.37428E03 2.93605E03 7.49087E03 1.28873E04 2.16737E04 3.57549E04 1.55529E04 5.13168E03 2.19852E03 9.56726E02 3.60735E02 8.26597E02 9.22774E02 -Frame 40 3.20066E03 3.36042E03 5.67788E02 1.26519E03 7.61175E02 7.79400E02 3.81112E02 2.16835E02 4.77139E02 7.38816E02 5.12900E02 2.84694E02 2.41506E02 5.57911E02 6.72978E02 4.17292E02 3.62566E02 6.32602E01 1.12050E02 1.16018E02 3.56179E02 3.54233E02 2.68758E02 3.22862E02 6.62837E02 8.60151E02 2.39847E02 5.34056E02 5.10140E02 1.08244E03 1.68333E03 2.11184E03 1.12837E03 4.27970E02 8.05318E02 8.81715E02 1.45933E02 1.66803E02 4.60597E02 4.89742E02 -Frame 40 3.37422E03 2.66766E03 4.67993E02 1.22211E03 5.59640E02 4.77550E02 4.06938E02 9.26033E01 1.86527E02 4.42291E02 6.39637E02 2.56630E02 3.11603E02 6.30957E02 5.84227E02 2.33290E02 2.56242E02 1.40219E02 4.17085E01 1.17074E02 3.33402E02 5.59067E02 3.10070E02 1.99418E02 5.84386E02 1.08630E03 1.60343E02 1.25430E02 1.28420E02 1.79270E02 1.34890E02 1.19298E02 2.53701E02 5.82247E02 3.93269E02 1.92923E02 1.78724E02 2.74612E02 5.30840E02 1.31325E02 -Frame 40 2.36416E03 1.93928E03 2.60876E02 3.42715E02 7.03577E02 1.92002E02 2.54202E02 8.54975E01 1.04486E02 1.41720E02 1.77952E02 2.44976E02 2.53134E02 2.19828E02 1.40640E02 2.87361E02 4.32016E02 1.26437E02 1.03883E02 1.62980E02 1.87121E02 8.36145E02 3.60196E02 1.93396E02 2.51626E02 3.73421E02 1.03861E02 1.06649E02 1.71306E02 2.32257E02 1.51790E02 1.14058E02 2.05969E02 5.20098E02 6.46157E02 1.48346E02 1.41853E02 8.89880E01 1.43390E02 6.42797E01 -Frame 40 8.11880E02 1.21766E03 2.52449E02 6.16490E02 5.68359E02 1.09793E02 2.83298E02 8.65564E01 6.59413E01 3.44554E02 5.57076E02 1.16229E02 1.26250E02 7.95920E01 1.26817E02 2.11672E02 1.49288E02 1.33373E02 2.97183E02 1.97218E02 9.08446E01 4.69782E02 1.11437E02 1.08232E02 5.20404E02 8.42870E02 3.23335E02 1.81944E02 6.77106E01 1.13075E02 1.21560E02 1.03452E02 1.14356E02 5.49176E02 4.08186E02 1.98301E02 1.27484E02 5.39396E01 4.21803E01 4.75039E01 -Frame 40 1.21564E03 8.43869E02 1.88374E02 2.26017E02 1.14976E02 2.61763E02 1.44062E02 2.41636E02 9.48016E01 3.26205E01 2.13103E02 2.89707E02 6.79047E01 1.82097E02 1.21573E02 2.06946E02 8.79572E01 7.30783E01 6.74009E01 1.95768E02 6.46966E01 8.21699E01 1.45996E02 1.54468E02 4.15836E02 2.59704E02 1.29207E02 1.45466E02 1.46491E02 1.57404E02 2.45441E02 2.89012E02 2.09753E02 1.19594E02 2.81326E02 2.30159E02 1.08866E02 7.41648E01 8.21226E01 1.10072E02 -Frame 40 7.36043E02 8.83122E02 3.89260E02 4.52527E02 4.62198E02 2.50652E02 3.32959E02 2.03331E02 2.46461E02 2.55493E02 1.14614E02 6.02576E01 1.67378E02 1.33673E02 2.65742E02 3.43839E02 4.91771E02 2.55883E02 3.28541E02 3.88947E02 3.10420E02 6.30809E02 2.48451E02 9.77549E01 8.96467E02 1.21586E03 1.41139E02 8.97212E01 5.19039E01 7.78637E01 1.31362E02 3.48298E02 1.56517E02 2.74979E02 1.53168E02 2.34272E02 1.60326E02 8.78095E01 1.74345E02 8.33723E01 -Frame 40 3.74449E02 9.93047E00 2.86211E01 6.35187E01 2.66744E01 7.22884E01 5.30587E01 5.72544E01 1.89437E02 2.00324E02 1.61703E02 3.17144E01 1.34073E02 1.53061E02 2.23436E02 2.55743E02 5.22668E02 2.45578E02 2.93130E02 1.64160E02 3.60547E02 8.22287E02 2.25304E02 1.69344E02 6.30616E02 7.56006E02 1.02765E02 1.33118E02 1.06581E02 1.35581E02 4.05191E01 1.17762E02 2.26076E02 4.51401E02 2.58706E02 1.72516E02 1.45904E02 1.57938E02 1.16862E02 8.87655E01 -Frame 40 4.14544E02 5.73569E02 8.90153E01 1.03030E02 1.42054E02 8.95049E01 3.38588E01 1.75421E01 6.26489E01 7.77574E01 1.51442E02 6.02959E01 5.96237E01 6.93478E01 1.87986E02 7.62868E01 4.80017E01 6.09459E01 9.58162E01 1.86220E02 2.09336E02 2.13613E02 9.52410E01 2.28647E02 2.71303E02 3.37623E02 6.65760E01 1.29662E02 2.43036E02 1.46589E02 2.99227E01 1.32086E02 1.63640E02 2.72278E02 1.18329E02 3.16281E02 6.23346E01 8.52734E01 9.95145E01 9.26799E01 -Frame 40 1.09410E03 6.04514E02 1.56096E02 3.85196E02 1.96709E02 1.57319E02 1.19442E02 7.38474E01 4.93727E01 1.80189E01 3.56082E01 8.82912E01 1.58151E02 1.56328E02 6.21825E01 9.91497E01 1.14528E02 7.68628E01 7.29648E01 6.65561E01 1.49418E02 4.71756E02 1.43623E02 1.30754E02 7.96951E02 7.00813E02 1.21595E02 1.43577E02 1.39412E02 1.58026E02 1.14608E02 7.56518E01 2.81246E02 2.16913E02 1.40591E02 7.68291E01 7.17064E01 1.80081E02 2.61637E02 1.51840E02 -Frame 40 4.46536E01 9.06054E00 1.15048E02 2.09497E02 4.31677E01 3.24295E01 3.06413E01 1.24659E02 7.95515E01 6.00340E01 1.04353E02 1.71718E02 9.43406E01 1.07465E02 1.47602E02 1.88779E02 2.49018E02 9.26854E01 2.01720E02 7.75255E01 1.31162E02 2.05891E02 7.25474E01 9.29159E01 3.31173E02 4.32767E02 1.74621E02 2.13474E02 8.66464E01 1.78303E02 1.58215E02 2.20260E02 2.14320E02 2.14259E02 1.85102E02 2.10185E02 1.28711E02 2.47247E02 1.85223E02 1.05980E02 -Frame 40 5.34360E01 2.04479E01 6.50131E01 1.93743E01 9.19338E00 1.06958E01 2.46715E01 4.69185E01 1.19381E01 1.80790E01 3.85315E01 6.56279E01 5.14162E01 8.55645E01 4.16848E01 2.84857E01 4.21339E01 7.45334E01 2.32333E02 4.16148E02 1.06111E02 9.13018E01 5.99278E01 7.80844E01 7.56318E01 1.19522E02 1.46832E02 2.37582E02 1.57026E02 1.55063E02 1.54569E02 2.41325E02 1.65795E02 4.06988E02 4.37531E02 1.88266E02 1.24380E02 1.66922E02 8.33548E01 6.32301E01 -Frame 40 1.48105E01 3.59791E01 5.74444E01 2.97213E00 2.82736E01 2.02193E01 3.35636E01 2.23274E01 1.69535E01 3.31898E01 8.73254E01 5.99035E01 3.29176E01 1.79737E02 1.61778E02 1.08669E02 1.78497E02 9.26511E01 1.40051E02 1.13834E02 1.39474E02 2.01693E02 4.50623E01 4.98326E01 8.61190E01 1.25586E02 1.25118E02 1.04373E02 1.24563E02 6.22374E01 8.57597E01 1.88558E02 1.28332E02 2.24426E02 1.59121E02 9.92342E01 1.17680E02 2.04261E02 1.36519E02 9.49055E01 -Frame 40 4.35265E01 4.95220E00 1.76388E01 1.29678E01 8.91210E00 3.70806E01 5.78971E01 8.74110E00 2.22876E00 7.66194E00 1.46276E01 9.98987E00 1.62289E01 3.55492E01 1.25291E02 1.14112E02 5.66440E01 5.14062E01 9.83185E01 1.33374E02 1.17551E02 1.59439E02 4.80406E01 4.07142E01 8.22248E01 2.01119E02 1.00783E02 1.20995E02 8.86865E01 9.33685E01 1.32940E02 6.99900E01 1.29990E02 4.63831E02 4.17670E02 8.45039E01 1.23933E02 1.16178E02 8.34425E01 6.17054E01 -Frame 40 6.28512E00 1.71149E01 6.45554E00 3.65925E00 1.49599E01 1.79482E01 1.31071E01 5.70170E00 7.61756E00 5.66404E00 9.51240E00 7.15121E00 6.07028E01 1.32969E02 6.28418E01 6.85184E01 6.08363E01 4.50666E01 7.18953E01 1.37185E02 7.03312E01 7.51791E01 1.13297E02 1.03149E02 4.73679E01 8.75021E01 1.01729E02 1.26698E02 7.19881E01 8.39386E01 1.07971E02 1.43538E02 1.63702E02 2.88087E02 2.49644E02 6.77627E01 8.47155E01 7.34678E01 1.13145E02 5.58163E01 -Frame 40 2.79211E01 5.10622E01 3.57631E01 9.49390E00 3.07539E01 3.02453E01 5.83704E00 1.99505E01 1.78804E01 3.13869E01 6.91934E01 6.21743E01 7.17425E01 9.01008E01 1.68145E02 9.17737E01 4.94324E01 7.38729E01 1.15397E02 8.39541E01 7.71392E01 1.47206E02 1.25369E02 8.93792E01 8.82579E01 2.61549E02 2.81626E02 1.11080E02 1.17245E02 1.47491E02 1.46348E02 2.26002E02 1.85592E02 1.84897E02 2.23812E02 2.45802E02 7.26716E01 1.93536E02 1.05479E02 7.27934E01 -Frame 40 4.08599E-01 1.60574E01 4.64268E00 3.60456E00 2.79717E01 1.35240E01 1.15454E01 3.38993E01 6.13091E00 4.89519E01 4.70479E01 1.07472E02 7.35339E01 3.57658E01 3.82798E01 3.99948E01 6.33567E01 7.03868E01 1.08427E02 9.46656E01 4.24808E01 9.29675E01 8.63210E01 6.73973E01 4.59344E01 1.12208E02 1.16249E02 1.08188E02 1.25382E02 8.82661E01 6.05518E01 1.37047E02 9.46587E01 3.22842E02 2.04766E02 1.48893E02 1.48389E02 2.26577E02 9.40110E01 7.84933E01 -Frame 40 2.72642E01 1.45378E01 1.12214E01 1.70346E00 7.06687E00 6.86633E00 1.65572E01 2.30680E01 3.73959E01 3.05938E01 3.33560E01 8.22858E01 7.84808E01 7.11758E01 2.47672E01 6.79654E01 1.26826E02 7.11189E01 2.13467E02 1.60937E02 6.81818E01 1.03896E02 7.33440E01 2.29469E02 1.47775E02 4.18222E01 5.68712E01 8.31108E01 1.34170E02 7.71206E01 2.19401E02 9.76093E01 1.63775E02 2.73090E02 2.53863E02 2.10854E02 1.07593E02 1.00053E02 1.46421E02 7.76151E01 -Frame 40 1.25727E02 8.72312E01 7.85361E00 9.31410E00 1.96515E01 8.81019E00 1.96855E01 2.01665E01 4.11823E01 6.04314E01 2.30135E01 2.63915E01 5.76218E01 3.71913E01 2.60057E01 9.18795E01 2.13906E02 4.87755E01 8.77720E01 9.13166E01 1.48978E02 8.50986E01 5.04913E01 4.80048E01 4.21259E01 6.37759E01 5.23492E01 6.19251E01 7.34503E01 7.20826E01 8.84479E01 1.27479E02 1.38118E02 3.06429E02 6.32373E02 1.32819E02 6.87959E01 1.90014E02 2.81216E02 1.39150E02 -Frame 40 1.48741E02 1.78075E01 1.17634E01 6.77228E00 8.03595E00 1.43787E00 1.84025E01 1.09549E01 1.26703E01 4.40520E01 6.53172E00 3.03354E01 8.09984E01 5.01824E01 2.93873E01 4.05932E01 1.63353E02 2.89403E01 8.84745E01 1.29199E02 1.07042E02 6.05474E01 1.21553E02 1.78791E02 7.24977E01 8.61351E01 2.11686E02 7.70462E01 7.15239E01 4.57175E01 3.62369E01 1.11325E02 1.13373E02 1.51132E02 3.69345E02 2.14194E02 1.18975E02 1.71700E02 2.09746E02 6.02004E01 -Frame 40 2.83069E01 5.71393E01 2.94671E01 3.61273E01 2.22031E01 1.64918E01 8.79476E00 4.71774E00 6.82479E00 2.02779E01 3.20060E01 3.56857E01 4.29768E01 4.35314E01 5.45185E01 1.09691E02 1.22511E02 5.53380E01 4.59350E01 6.69919E01 7.43760E01 2.41494E02 1.47414E02 4.72377E01 3.88690E01 4.46375E01 1.25484E02 9.01566E01 4.54116E01 8.41252E01 1.76613E02 8.14940E01 1.27839E02 1.81747E02 3.26897E02 4.20219E02 1.89212E02 1.46017E02 1.00297E02 4.77746E01 -Frame 40 1.55709E01 2.21183E01 5.03597E00 5.83378E00 1.03807E01 2.80534E01 1.09412E01 8.04030E00 1.67926E01 1.48529E01 3.36144E01 3.89314E00 5.04420E01 2.10517E01 4.91619E01 1.03930E02 7.42315E01 2.94835E01 3.13980E01 6.92188E01 7.40510E01 1.23745E02 5.04027E01 6.79006E01 6.53207E01 6.26862E01 8.14364E01 6.82043E01 9.04101E01 6.64052E01 1.34941E02 1.15075E02 1.87816E02 2.29576E02 3.32633E02 1.54974E02 1.34028E02 7.88815E01 1.16643E02 6.66422E01 -Frame 40 9.55636E00 3.49591E00 1.20816E01 2.13431E01 2.79982E01 9.49171E00 1.34767E01 1.19462E01 1.29973E01 5.08345E00 1.66780E01 1.25001E01 4.30156E01 9.42075E01 4.82498E01 1.43366E02 7.29452E01 5.08135E01 6.60225E01 8.74366E01 1.04042E02 7.64433E01 8.05520E01 3.98759E01 4.37165E01 1.38849E02 1.09943E02 3.03495E02 1.03453E02 9.96441E01 6.27700E01 1.73811E02 1.63654E02 2.16084E02 3.92835E02 1.02646E02 7.12275E01 1.32449E02 1.03239E02 7.02810E01 -Frame 40 4.75190E00 4.93460E00 1.45331E00 1.21977E01 1.17890E01 2.29516E01 4.57268E01 1.00654E01 1.02661E01 3.78854E00 1.55493E01 2.08445E01 2.91549E01 4.53374E01 7.25720E01 6.05695E01 3.76128E01 3.18933E01 4.91157E01 1.51081E02 9.14841E01 3.58559E01 2.04171E02 3.31836E01 4.01892E01 7.23537E01 4.01879E02 4.95111E02 1.36633E02 8.17411E01 2.45396E01 6.71762E01 1.53457E02 2.34262E02 2.08679E02 1.52347E02 1.45768E02 2.52745E02 1.28439E02 8.25673E01 -Frame 40 3.66384E01 1.92266E01 7.25326E00 7.05319E00 2.94955E00 1.34712E01 2.15226E01 5.49158E01 2.51130E01 2.06018E01 1.16884E01 1.08887E01 1.64428E01 1.37294E02 1.01807E02 3.33945E01 5.71088E01 3.53476E01 1.11964E02 1.47354E02 3.29352E01 1.42696E02 1.37692E02 8.55564E01 4.13541E01 7.28007E01 1.47931E02 1.64332E02 1.10869E02 6.07973E01 7.77577E01 7.68952E01 5.22342E01 9.54355E01 9.90682E01 9.50901E01 1.11161E02 1.39064E02 5.90346E01 5.78600E01 -Frame 40 6.62786E01 2.36879E01 9.54986E01 1.06047E02 8.70213E01 9.38978E01 8.67483E01 4.78707E01 1.07953E02 4.29942E01 1.30682E02 9.02391E01 2.03830E02 8.56407E01 5.30310E01 7.72595E01 9.13143E01 2.43894E02 2.78070E02 1.79249E02 2.33381E02 3.51117E02 3.57901E02 3.42501E02 4.14047E02 4.36862E02 3.43898E02 3.02031E02 4.93826E02 5.31767E02 4.92701E02 2.06917E03 4.99619E03 5.12412E03 6.51618E03 5.74827E03 2.55083E03 1.04066E03 7.14432E02 5.71305E02 -Frame 40 2.17160E01 9.14028E01 1.21285E02 1.70817E02 1.86057E02 1.14930E02 1.94585E02 7.81854E01 2.20259E02 1.46611E02 1.42765E02 4.79312E02 4.24949E02 2.54981E02 9.92566E01 1.41258E02 2.78228E02 5.61835E02 5.39809E02 3.87983E02 3.36610E02 4.02330E02 8.67710E02 7.71898E02 1.00145E03 1.46464E03 1.48572E03 1.65173E03 3.56625E03 5.58017E03 1.69518E04 4.24324E04 3.23568E04 7.56247E04 2.12092E05 2.70997E05 1.22964E05 4.48528E04 1.38767E04 4.90392E04 -Frame 40 8.05898E01 5.80503E01 1.04358E01 1.84695E01 1.39678E01 1.50019E01 1.24831E01 1.64193E01 1.38561E01 9.03377E00 2.89457E01 4.89167E01 1.56982E02 8.91744E01 1.89084E01 1.44479E01 1.09196E02 4.65243E01 4.94680E01 2.27537E02 9.75282E01 1.55177E02 8.29955E01 8.36564E01 8.64873E01 1.74371E02 2.66474E02 3.40642E02 5.71415E02 1.08583E03 3.50940E03 1.26727E04 6.10591E03 1.55090E04 5.24269E04 7.03486E04 2.75051E04 1.01816E04 3.76714E03 1.31592E04 -Frame 40 9.40000E01 1.45138E02 1.60785E01 9.44996E00 1.57585E01 6.50838E01 1.15788E02 1.44523E01 1.26662E01 1.53939E01 3.16670E01 3.34991E01 9.35092E01 5.36946E01 2.25594E01 2.19873E01 6.05886E01 6.70392E01 1.75003E02 1.51950E02 5.94883E01 4.67188E01 1.51419E02 8.19618E01 3.31779E01 7.64021E01 1.32018E02 1.80744E02 1.15042E02 7.12706E01 1.15820E02 1.20161E02 1.71807E02 5.65110E02 4.40220E02 2.87490E02 2.12221E02 2.15603E02 2.95512E02 3.63929E02 -Frame 40 7.01820E01 1.10569E02 5.27459E01 3.71768E01 2.79786E01 9.01184E01 1.13739E02 1.92434E01 5.76840E01 4.57397E01 8.30991E01 8.23897E01 1.68892E02 5.01329E01 3.01263E01 3.52205E01 1.03158E02 3.37857E01 1.19003E02 2.85414E02 4.96048E01 8.76890E01 1.52227E02 1.42003E02 2.06078E02 7.30060E01 1.17347E02 1.27051E02 7.66286E01 5.83257E01 1.38103E02 1.71405E02 1.45410E02 1.92266E02 2.78304E02 3.26080E02 3.09559E02 3.41330E02 2.39802E02 1.46279E02 -Frame 40 1.34773E01 2.47672E01 1.14236E01 6.50999E00 1.00390E01 1.21484E01 9.67609E00 3.05871E01 1.83230E01 3.34196E01 2.54250E01 3.13769E01 1.26638E02 5.88806E01 2.37287E01 1.07048E01 3.46263E01 6.50493E01 7.63827E01 1.42659E02 8.03343E01 1.22258E02 4.53178E01 7.72312E01 6.65302E01 1.09708E02 1.58437E02 7.97464E01 1.27387E02 9.88289E01 6.61082E01 2.55522E02 2.81679E02 1.60131E02 1.85635E02 2.42593E02 1.11976E02 7.42982E01 6.79072E01 5.94451E01 -Frame 40 3.56848E01 3.04925E01 3.73933E01 5.81554E01 1.38371E01 2.38107E01 1.56695E01 6.58358E01 5.48891E01 1.33108E01 7.12130E00 1.25199E01 1.27996E02 6.90897E01 9.22156E00 3.40140E01 6.53036E01 5.50369E01 8.50191E01 1.24314E02 7.21644E01 1.44277E02 6.65842E01 4.73745E01 6.25092E01 7.10778E01 6.47021E01 1.85908E02 9.46863E01 1.53697E02 5.82078E01 3.02328E02 2.04808E02 9.28072E01 1.69581E02 1.38601E02 1.24620E02 8.13261E01 1.49343E02 9.27179E01 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -Frame 40 7.04329E00 7.53295E00 1.68106E01 1.47579E01 1.36525E01 2.40016E01 2.11091E01 2.15457E01 2.98493E01 2.62346E01 2.68470E01 1.19755E01 8.29643E01 7.85436E01 2.92601E01 1.47192E01 2.35577E01 5.56553E01 8.95958E01 5.99293E01 5.89195E01 1.29946E02 6.63422E01 7.32348E01 8.07516E01 5.00657E01 5.93722E01 5.36251E01 7.86157E01 1.25050E02 1.20189E02 1.20686E02 6.78934E01 1.03467E02 2.52276E02 1.37193E02 1.11203E02 1.00828E02 8.72405E01 8.01003E01 -Frame 40 1.72261E00 4.10876E01 5.09838E01 1.04036E01 5.16249E00 3.56623E01 2.87037E01 1.29436E01 8.68005E00 1.47929E01 6.42959E01 5.07177E01 3.07977E01 2.49922E01 4.11184E01 9.43553E01 1.10188E02 4.25490E01 6.83934E01 7.62266E01 1.05053E02 4.96235E01 4.05007E01 3.12898E01 7.02224E01 4.12980E01 8.10450E01 6.09685E01 9.03507E01 8.80108E01 9.17389E01 1.49904E02 8.48155E01 1.87372E02 4.02457E02 8.81252E01 6.87111E01 1.83754E02 2.25718E02 1.01355E02 -Frame 40 2.36313E01 3.88032E01 1.01771E01 4.68850E00 1.06556E01 2.73481E01 2.20209E01 5.40039E01 3.43511E01 1.95665E01 4.75859E01 3.52585E01 2.76318E01 7.87159E01 9.25148E01 6.76477E01 1.04791E02 1.59970E02 2.94537E01 3.25720E01 4.04835E01 6.24157E01 5.09948E01 5.18615E01 1.04625E02 1.15554E02 7.36424E01 1.30637E02 1.17558E02 1.00886E02 1.04862E02 2.58907E02 8.01185E01 1.01745E02 1.65332E02 1.22227E02 2.34747E02 1.45565E02 1.26150E02 9.81811E01 -Frame 40 9.35405E00 2.81161E01 7.00193E00 3.75049E-01 1.81265E01 1.18734E01 2.42342E00 1.19805E01 1.40339E01 2.07683E01 1.48259E01 1.94438E01 2.33696E01 6.24740E01 7.07432E01 4.29978E01 7.05171E01 3.61419E01 3.72825E01 5.47518E01 6.26713E01 5.69812E01 4.91384E01 3.38826E01 9.88571E01 7.62437E01 4.95192E01 5.34857E01 1.08308E02 1.10357E02 1.65847E02 1.94052E02 1.98945E02 1.17453E02 1.63228E02 1.37776E02 2.13902E02 1.64697E02 1.17620E02 1.28651E02 -Frame 40 3.60833E01 1.14342E02 4.35813E01 9.65398E00 1.68398E00 3.10589E00 4.23321E00 4.02343E01 1.48372E01 1.68762E01 2.31822E01 4.63179E01 4.70211E01 6.26404E01 4.24018E01 2.57419E01 5.16445E01 3.03049E01 3.20810E01 5.25041E01 1.81429E01 7.74931E01 1.53186E02 1.39080E01 3.54804E01 6.03778E01 5.05105E01 1.45337E02 6.72764E01 7.70552E01 8.28794E01 8.00393E01 6.60225E01 9.27868E01 1.91310E02 1.06715E02 1.74090E02 1.59819E02 1.13308E02 5.90309E01 -Frame 40 1.14462E01 2.95562E01 1.59397E01 1.14644E01 6.68347E00 3.11884E00 1.37768E01 2.78992E01 1.25437E01 1.62890E01 1.45322E01 1.43929E01 6.14873E01 3.98057E01 5.51580E01 4.30690E01 2.86995E01 1.75035E01 5.08472E01 1.15535E02 3.60171E01 4.50695E01 1.05153E02 6.01420E01 3.46541E01 2.04599E01 5.92669E01 1.50418E02 5.48155E01 1.06678E02 1.01792E02 1.80104E02 1.16316E02 1.36202E02 3.09851E02 1.65959E02 1.37155E02 1.43440E02 1.08826E02 5.10326E01 -Frame 40 1.02501E03 1.31114E02 1.85480E02 2.06998E02 2.90389E00 4.81710E01 6.39672E01 2.26134E01 1.53662E01 4.60615E00 5.22071E01 7.09427E01 9.36143E01 1.11081E02 8.29987E01 8.09306E01 5.20625E01 2.33847E01 2.08565E01 1.58157E02 9.01900E01 9.03896E01 7.30896E01 7.31068E01 5.14658E01 8.50106E01 1.38741E02 1.28211E02 4.88097E01 1.88085E02 1.09739E02 6.12654E01 9.30064E01 1.99314E02 2.00874E02 1.84333E02 1.03815E02 1.25140E02 2.40664E02 1.13106E02 -Frame 40 9.23386E03 2.14687E03 1.19087E03 2.87413E03 2.11964E03 2.12339E03 1.32183E03 2.91712E02 9.25145E01 1.43404E02 8.16955E01 1.29388E02 2.82836E02 6.99475E02 6.29040E02 5.15598E02 3.00200E02 1.15068E02 1.72534E02 2.08454E02 1.51459E02 4.56763E02 5.77061E02 3.82557E02 2.07167E03 2.74389E03 3.01311E02 2.23297E02 7.54250E01 1.30329E02 1.16154E02 7.43648E01 1.51789E02 1.87185E02 1.21041E02 7.29565E01 1.50272E02 1.42181E02 2.60511E02 1.15226E02 -Frame 40 9.63615E02 1.44984E03 5.17626E02 9.49050E02 2.17097E02 2.36755E02 1.33628E02 6.24629E01 3.41768E01 5.26551E01 8.59766E01 6.42925E01 1.58738E02 2.22948E02 1.85453E02 1.59556E02 1.28259E02 8.83211E01 8.99819E01 1.39592E02 5.44562E01 6.46853E01 8.51903E01 1.42536E02 6.09852E02 9.99782E02 1.05543E02 6.51107E01 7.03410E01 1.32541E02 1.29497E02 1.44849E02 1.23997E02 2.33057E02 3.23828E02 1.36434E02 1.63547E02 2.15957E02 2.23282E02 9.64986E01 -Frame 40 1.88598E03 5.16268E02 7.85097E02 1.10139E03 8.86746E02 2.15449E02 4.46676E02 2.08855E02 1.00909E02 8.74131E01 8.43604E01 3.30720E01 3.26798E02 1.20549E02 7.26408E01 1.04364E02 1.89127E02 4.12872E02 4.10647E02 1.72378E03 1.67299E03 1.03298E03 6.15261E02 6.00816E02 1.04791E03 8.30680E02 6.01967E02 6.21462E02 3.88450E02 4.75597E02 3.40641E02 4.36175E02 1.14308E03 1.49815E03 1.56313E03 2.16622E03 2.39235E03 7.50301E02 4.06443E02 1.98884E02 -Frame 40 2.81180E04 5.29122E04 3.72469E04 5.87563E04 4.10673E04 5.76966E04 1.20969E05 1.55321E05 8.59004E04 3.90541E04 1.70894E04 4.78193E03 1.20051E04 1.37471E04 5.34562E03 3.07419E03 8.07192E03 2.64297E04 7.66291E04 1.78271E05 1.02227E05 1.85206E04 3.42795E04 1.75098E04 7.76201E04 1.24688E05 9.73993E04 3.11362E04 2.47983E04 2.65907E04 1.74770E04 7.22500E03 3.14376E04 2.05855E04 1.11319E04 9.93514E03 8.20656E03 2.07432E03 1.21886E03 1.03498E03 -Frame 40 1.00531E05 1.07657E05 7.04253E04 3.98518E04 1.30227E05 1.23775E05 9.86092E05 5.18856E05 4.39629E05 1.98348E05 1.21566E05 4.76987E04 4.41853E04 3.30766E04 1.75438E04 1.19386E04 1.74235E04 6.88426E04 3.74722E05 7.78358E05 3.31024E05 5.64388E04 4.36003E04 4.30395E04 1.44098E05 4.40155E05 8.93785E04 2.05370E04 1.26934E04 1.49030E04 7.84736E03 2.92451E03 1.40357E04 8.60223E03 8.04218E03 3.75125E03 3.00753E03 3.65214E03 2.99743E03 6.88834E02 -Frame 40 1.24460E05 3.04602E05 1.01933E05 2.22753E05 7.16032E04 2.87016E05 8.24880E05 2.03975E06 1.85209E06 7.09112E05 4.29406E05 2.75409E05 1.54139E05 1.03734E05 7.01814E04 8.28916E04 1.65723E05 4.49952E05 1.58282E06 1.42699E06 4.96729E05 9.16845E04 4.01927E04 6.88188E04 1.88125E05 3.61853E05 1.21047E05 6.62805E04 5.27669E04 5.24901E04 1.54447E04 2.58430E03 2.05694E03 1.79545E04 5.46854E04 1.60426E04 1.44051E04 9.02326E03 4.36860E03 1.22949E03 -Frame 40 1.59322E05 4.14334E05 1.17681E05 2.23300E05 1.11958E05 3.07607E05 8.78930E05 1.90607E06 5.00747E06 1.56389E06 1.09774E06 8.16987E05 3.49481E05 2.91915E05 2.09991E05 2.01249E05 3.15336E05 1.15671E06 3.22278E06 1.99633E06 4.48964E05 2.29559E05 1.79539E05 2.76075E05 2.54957E05 2.92465E05 1.28427E05 8.62272E04 5.60616E04 5.00107E04 1.95503E04 1.77933E03 2.57470E03 3.77113E04 9.74156E04 1.80382E04 2.69219E04 3.70470E04 5.07121E03 1.18306E03 -Frame 40 1.95516E05 5.34558E05 1.35041E05 2.85357E05 8.51565E04 3.63141E05 6.86969E05 2.19582E06 5.74593E06 3.00238E06 2.39050E06 1.13920E06 7.45031E05 4.08345E05 3.39171E05 4.21389E05 1.20071E06 3.92162E06 3.46221E06 1.78356E06 6.70918E05 3.45228E05 1.54478E05 5.59492E05 1.65417E05 1.15298E05 1.75378E05 8.36665E04 5.95395E04 6.53364E04 2.84868E04 2.99037E03 7.38138E03 2.85853E04 8.17613E04 2.53266E04 4.39147E04 5.25428E04 9.78639E03 2.24762E03 -Frame 40 2.46258E05 6.29864E05 1.56372E05 2.49840E05 8.75210E04 3.08948E05 9.83871E05 1.94214E06 5.06392E06 4.70641E06 3.59063E06 1.49444E06 8.03320E05 5.87852E05 3.98938E05 9.26656E05 1.94548E06 8.60753E06 4.32116E06 8.55039E05 4.89774E05 1.82734E05 1.05488E05 3.49430E05 2.02202E05 2.66980E05 3.78341E05 8.00664E04 4.05160E04 6.37581E04 2.59998E04 1.99540E03 2.66004E03 1.90374E04 9.31457E04 5.48764E04 9.45468E04 8.34025E04 7.54922E03 1.98616E03 -Frame 40 2.57729E05 6.59529E05 1.68247E05 2.38875E05 9.89208E04 2.71140E05 1.02683E06 1.93244E06 4.00782E06 5.17565E06 4.13486E06 2.51950E06 5.96715E05 7.52218E05 4.30531E05 1.18616E06 3.49444E06 7.39513E06 5.46883E06 9.74784E05 4.69326E05 1.58157E05 7.16436E04 1.96629E05 1.90618E05 3.82804E05 3.31717E05 1.44056E05 4.88825E04 4.15591E04 1.33753E04 4.22195E03 1.21378E04 3.96045E04 1.73454E05 1.82500E05 1.66015E05 1.10341E05 1.76450E04 4.37267E03 -Frame 40 2.54136E05 6.98802E05 1.67353E05 2.49377E05 1.02749E05 2.75364E05 1.02525E06 2.02083E06 3.78689E06 4.74758E06 3.55839E06 2.20056E06 5.06240E05 7.05965E05 3.26646E05 9.91576E05 2.71483E06 6.30450E06 7.98228E06 1.48524E06 6.03217E05 1.76550E05 7.35409E04 2.88422E05 3.23410E05 5.36437E05 3.33711E05 1.21963E05 5.35650E04 5.35032E04 9.99372E03 5.24499E03 1.49345E04 6.57902E04 1.84016E05 1.36540E05 1.33076E05 1.16480E05 1.42158E04 1.95580E03 -Frame 40 2.20939E05 7.72984E05 1.72362E05 2.83512E05 7.88948E04 3.05392E05 9.24914E05 2.26786E06 3.52676E06 3.98439E06 3.89570E06 1.69778E06 4.58129E05 4.84216E05 3.10787E05 6.55547E05 1.85721E06 4.50750E06 9.52321E06 3.20158E06 7.23454E05 2.65006E05 7.96340E04 3.09796E05 4.28672E05 1.42955E05 1.56695E05 6.83136E04 4.63860E04 6.27348E04 1.10061E04 5.58112E03 1.66832E04 7.50124E04 2.45475E05 1.89497E05 1.29661E05 8.08178E04 1.73025E04 3.06690E03 -Frame 40 1.81069E05 7.91860E05 1.81120E05 3.35271E05 6.90066E04 3.07710E05 9.03869E05 2.80249E06 3.07859E06 3.24385E06 3.52133E06 1.10257E06 3.51463E05 2.67817E05 2.17641E05 3.75875E05 1.09971E06 2.54313E06 8.92909E06 9.49633E06 1.16286E06 4.92500E05 1.73045E05 3.54236E05 6.20458E05 2.39220E05 4.97904E04 3.59792E04 1.45702E04 2.45579E04 1.24527E04 7.37415E03 2.38871E04 9.96067E04 2.20943E05 2.02542E05 6.91648E04 4.04076E04 1.73345E04 4.07490E03 -Frame 40 1.44056E05 7.55618E05 1.76197E05 3.57215E05 7.41767E04 3.05241E05 8.87323E05 3.48868E06 2.16234E06 2.14813E06 3.07133E06 7.20449E05 2.97674E05 1.68856E05 1.62547E05 1.91520E05 5.89317E05 1.31276E06 7.61293E06 1.72838E07 1.45040E06 4.94631E05 1.71562E05 2.26105E05 3.69357E05 1.91598E05 1.03608E05 4.70902E04 2.47954E04 3.89555E04 1.19503E04 1.11014E04 2.76521E04 9.73089E04 3.05415E05 2.56225E05 6.46501E04 6.02487E04 3.99204E04 3.96695E03 -Frame 40 1.40910E05 6.84891E05 1.74806E05 3.32302E05 6.95427E04 3.34055E05 9.95657E05 3.33115E06 1.12689E06 1.19272E06 2.03350E06 3.69910E05 1.82660E05 1.16664E05 1.14631E05 7.43308E04 2.66273E05 7.56419E05 5.66525E06 1.34153E07 1.13486E06 3.79050E05 1.38694E05 1.65172E05 1.55303E05 2.33767E05 3.76982E05 8.91337E04 2.64360E04 3.09103E04 2.68981E04 2.64155E04 1.31854E05 3.56868E05 1.72412E05 7.82518E04 2.42607E04 3.12135E04 3.60706E04 4.22391E03 -Frame 40 1.07430E05 2.45490E05 7.88297E04 7.01047E04 7.46652E04 1.93404E05 6.70324E05 7.30926E05 3.17251E05 3.34263E05 3.42707E05 1.47163E05 3.81664E04 4.55231E04 3.08758E04 2.81256E04 8.73961E04 5.09154E05 2.73888E06 2.44751E06 1.88238E05 1.38719E05 2.92920E04 4.43186E04 4.38290E04 8.12309E04 1.83762E05 2.40225E04 4.27860E03 4.17857E03 5.12167E03 1.09955E04 4.75276E04 9.73944E04 2.72126E04 1.93358E04 5.00127E03 1.98725E04 1.69803E04 1.05013E03 -Frame 40 8.84895E03 7.01309E04 2.11679E04 5.11833E04 1.81896E04 1.51322E04 1.49114E04 1.52624E04 3.83284E03 3.58575E03 8.04875E03 1.30837E03 2.36106E03 4.06477E03 4.56494E03 1.27012E03 7.72485E03 4.60311E04 2.59580E04 1.24228E04 2.06996E04 3.25002E04 1.46702E04 7.24474E03 2.07546E04 2.79118E04 3.93504E04 5.37757E03 8.44658E02 2.53062E02 1.92596E02 2.71202E02 4.23488E02 9.12991E02 1.73343E03 1.89332E03 6.92083E02 3.52238E03 3.19933E03 2.88538E02 -Frame 40 6.03208E03 5.32926E04 1.81602E04 5.97405E04 1.18361E04 2.01397E04 1.08012E04 7.12622E03 1.52205E03 2.19004E03 5.50604E03 1.75361E03 2.09117E03 2.43721E03 1.70171E03 1.31146E03 4.38364E03 3.98898E04 2.82573E04 2.15207E04 1.83270E04 2.49252E04 1.22233E04 4.42424E03 1.53425E04 1.37689E04 2.69591E04 5.93850E03 4.12108E03 2.76220E03 1.19329E03 7.59381E02 1.19294E03 8.86848E02 8.44831E02 8.86952E02 5.01857E02 4.67903E03 4.75270E03 3.71352E02 -Frame 40 3.30917E03 8.44553E04 2.81605E04 9.81838E04 4.91646E04 8.46911E04 1.19610E05 4.90407E04 2.89196E04 1.72161E04 2.41138E04 6.98703E03 6.52819E03 8.00110E03 9.29071E03 1.13960E04 4.07704E04 3.96356E05 8.10922E05 2.02934E05 7.01861E04 7.81610E04 2.74635E04 1.54971E04 1.99911E04 7.70375E04 2.57001E05 1.07397E05 1.03160E05 6.75264E04 2.46377E04 9.56480E03 1.15836E04 2.61394E03 1.20546E03 1.50616E03 5.27526E02 4.09884E03 4.01601E03 1.58519E03 -Frame 40 4.35545E04 2.93866E05 1.13994E05 2.46911E05 1.17464E05 2.88004E05 3.78078E05 8.23097E05 4.09814E05 2.40371E05 2.91178E05 1.12154E05 9.90948E04 8.74535E04 4.42068E04 3.56982E04 1.19623E05 5.22031E05 6.73937E06 5.97265E06 6.77988E05 1.82435E05 7.81141E04 7.70678E04 8.27028E04 2.81750E05 8.32403E05 2.32253E05 1.67324E05 6.47968E04 5.09816E03 2.06619E03 8.99023E03 1.02100E04 1.68634E03 1.48217E03 7.66098E02 2.37969E03 2.16213E03 1.36026E03 -Frame 40 3.76250E04 3.92911E05 1.24454E05 2.66386E05 1.34174E05 2.81410E05 2.73851E05 1.67161E06 7.57661E05 4.29988E05 5.25043E05 1.80653E05 1.38549E05 1.02047E05 4.23411E04 4.38973E04 1.84029E05 8.43621E05 5.37590E06 3.48314E06 9.06368E05 2.72280E05 9.52741E04 1.65631E05 1.97087E05 2.73287E05 4.43072E05 1.83905E05 1.11427E05 1.41774E05 2.56488E04 1.23954E03 1.62083E03 1.21688E04 7.57921E03 5.31002E03 2.18409E03 1.60846E03 2.19584E03 8.48695E02 -Frame 40 3.99509E04 3.75715E05 1.16774E05 2.54764E05 1.24421E05 2.83152E05 2.64074E05 1.74818E06 6.93430E05 4.32243E05 5.84345E05 1.83251E05 1.60336E05 1.40667E05 6.53589E04 8.31597E04 4.19170E05 3.70474E06 4.94635E06 9.06340E05 2.77190E05 1.24445E05 4.30329E04 1.03481E05 2.12561E05 4.11490E05 1.84231E05 8.68676E04 3.24779E04 3.51685E04 2.24051E04 9.11866E02 4.51492E02 4.09976E03 3.39403E04 1.20300E04 4.77802E03 1.00147E03 1.11381E03 9.93820E02 -Frame 40 4.78093E04 3.61848E05 1.09363E05 2.33954E05 9.19659E04 3.24103E05 2.83809E05 1.77926E06 5.76211E05 3.62429E05 5.25972E05 1.47033E05 1.64745E05 1.84175E05 9.58844E04 2.99136E05 1.43546E06 2.46074E06 6.97227E05 2.17314E05 1.10823E05 5.34523E04 2.05601E04 3.65831E04 6.41320E04 2.54160E05 1.01656E05 2.46306E04 9.87483E03 2.14243E03 3.49555E03 9.38553E02 2.83523E03 1.41622E04 4.85707E04 1.05267E04 4.16365E03 1.03057E03 7.07752E02 7.99826E02 -Frame 40 5.48354E04 3.48646E05 1.01849E05 2.34322E05 6.87227E04 3.65354E05 3.32668E05 1.57234E06 3.99611E05 2.74790E05 3.92527E05 1.32150E05 1.58359E05 1.74710E05 2.23465E05 5.04691E05 6.80389E05 1.75128E05 1.68185E05 6.50817E04 4.77078E04 3.67700E04 1.12452E04 1.46612E04 2.67658E04 1.10235E05 6.51936E04 1.88267E04 1.24850E04 6.06020E03 5.29002E03 7.26398E02 7.91051E02 8.48846E03 1.83392E04 3.62551E03 2.46293E03 5.92325E02 3.56928E02 2.62867E02 -Frame 40 5.51930E04 3.10532E05 9.53303E04 2.30298E05 7.67930E04 4.51827E05 3.32447E05 1.14464E06 2.55330E05 1.85646E05 2.62812E05 1.19526E05 1.74531E05 2.81983E05 5.31774E05 6.14598E05 1.30681E05 4.13723E04 5.99945E04 2.50390E04 2.36052E04 1.89272E04 5.84043E03 6.90423E03 1.05449E04 4.31512E04 3.20049E04 1.15367E04 1.25959E04 1.38217E04 6.92796E03 1.33475E03 9.64076E02 5.46441E03 5.13274E03 1.79614E03 8.45484E02 2.97486E02 2.11706E02 1.44571E02 -Frame 40 5.07004E04 2.82356E05 9.21936E04 2.40329E05 9.42666E04 5.74266E05 2.85432E05 6.39765E05 1.63624E05 1.22827E05 1.78822E05 1.15361E05 2.14336E05 5.66119E05 5.37532E05 1.61265E05 2.52637E04 1.97792E04 2.20574E04 2.50945E04 9.93232E03 1.05548E04 4.34734E03 4.47282E03 8.78506E03 2.82911E04 1.67912E04 9.45989E03 1.14704E04 1.23374E04 3.67216E03 7.60664E02 9.96237E02 1.28966E03 8.78810E02 5.27315E02 5.71193E02 2.91817E02 1.48224E02 1.91534E02 -Frame 40 4.12568E04 2.63144E05 9.24230E04 2.70209E05 1.23659E05 8.08748E05 2.67193E05 2.89172E05 1.20469E05 1.04087E05 1.58348E05 1.03048E05 2.98781E05 6.81676E05 4.31627E05 3.16556E04 1.49207E04 9.52990E03 8.29442E03 2.30151E04 7.81008E03 7.15160E03 3.55742E03 4.40720E03 6.70559E03 1.46122E04 7.24791E03 4.12509E03 4.56911E03 1.09000E04 4.66716E03 1.06435E03 3.66389E03 3.42023E03 5.03528E02 2.92315E02 4.86896E02 2.06889E02 2.41952E02 3.75500E02 -Frame 40 3.37103E04 2.42860E05 1.03411E05 3.52301E05 1.83646E05 1.05256E06 2.49093E05 1.18547E05 9.15473E04 7.93620E04 1.27304E05 7.59192E04 3.41445E05 3.43023E05 1.17128E05 1.88125E04 5.86221E03 6.02877E03 7.55340E03 9.71006E03 5.81956E03 7.96479E03 3.65811E03 4.83162E03 1.22504E04 1.32689E04 7.32633E03 2.09521E03 4.05766E03 6.24163E03 4.95871E03 1.13302E03 3.22457E03 2.70589E03 3.32112E02 5.69655E02 6.82504E02 5.43325E02 1.97360E02 2.09065E02 -Frame 40 3.50342E04 2.34209E05 1.36507E05 5.02843E05 2.18952E05 1.04058E06 2.20728E05 5.52232E04 6.71330E04 5.55599E04 7.04811E04 4.87577E04 1.94203E05 3.12820E05 1.39512E05 1.99243E04 8.19537E03 7.43259E03 5.54507E03 9.09429E03 6.70669E03 6.37557E03 4.53097E03 8.75315E03 3.37045E04 2.65601E04 5.15304E03 2.49655E03 4.37451E03 6.38756E03 7.88291E03 8.14469E02 1.59022E03 1.01248E03 1.10455E02 5.91203E02 1.63751E03 1.30673E03 3.84008E02 2.72676E02 -Frame 40 3.69030E04 2.50446E05 1.76051E05 7.76512E05 2.03060E05 5.52628E05 1.45987E05 4.11322E04 5.36380E04 4.04597E04 3.37448E04 2.74772E04 4.31855E04 4.50174E04 1.65681E05 5.39349E04 5.24313E04 2.38368E04 7.25539E03 6.89803E03 7.26592E03 8.26295E03 9.38456E03 2.92910E04 9.88875E04 5.39408E04 8.17889E03 6.09171E03 6.95159E03 1.59167E04 2.44081E04 2.15137E03 3.93920E03 1.34194E03 1.95599E02 9.40453E02 3.63036E03 1.70308E03 2.11739E02 1.39102E02 -Frame 40 6.42992E04 2.20222E05 2.15231E05 8.40290E05 1.49678E05 2.29745E05 5.39223E04 2.43538E04 3.79626E04 2.54487E04 1.75220E04 1.08622E04 1.46366E04 1.19737E04 2.12687E04 6.04557E04 1.72303E05 1.09996E05 6.55124E04 1.37392E04 9.05209E03 1.06483E04 1.58225E04 4.35971E04 8.95537E04 3.64327E04 1.37768E04 6.11532E03 5.05670E03 2.37022E04 5.03054E04 5.28419E03 5.31810E03 1.85444E03 2.40125E02 2.77273E03 5.54987E03 4.58616E03 8.98339E02 5.82100E02 -Frame 40 2.68481E04 5.97053E04 1.07012E05 2.56541E05 1.22751E05 6.67830E04 1.02414E04 4.98480E03 1.02705E04 9.79953E03 4.54920E03 1.24703E03 4.97174E03 3.64120E03 2.33909E03 4.37136E03 4.48729E04 1.24620E05 4.75922E04 8.52865E03 5.15524E03 3.63005E03 5.70699E03 1.49035E04 7.12403E03 1.01559E04 6.45415E03 1.40102E03 7.73184E03 3.50735E04 7.44942E04 1.67986E04 2.30474E04 2.01807E04 4.83461E03 4.31963E03 1.57555E04 8.60298E03 8.50412E02 1.47141E03 -Frame 40 7.72547E03 1.88122E03 7.97117E03 1.06508E04 7.96945E02 8.02688E02 2.97858E03 1.78782E03 8.59814E03 1.15335E04 5.25997E03 4.20856E03 1.52535E03 2.31298E03 2.24601E03 1.59910E03 2.70010E03 2.64720E03 5.71679E03 8.82767E03 1.19801E04 1.15718E04 8.55430E03 8.34691E03 4.51408E03 9.96093E02 3.45357E02 2.67671E02 3.09232E03 8.82614E03 2.24326E04 1.50025E04 3.28148E04 3.62251E04 2.20911E04 2.93560E04 1.86418E04 5.76630E03 1.41567E03 4.42824E02 -Frame 40 6.40045E02 3.65921E02 7.20010E02 1.30122E03 1.23449E02 1.07412E02 9.87099E01 2.23028E02 1.92345E03 2.76638E03 1.20273E03 2.35864E02 7.50906E02 9.78206E02 5.67639E02 1.74636E02 2.12752E02 3.34105E02 3.03014E02 6.86785E02 5.55138E02 5.61309E02 4.80955E02 3.18556E02 4.69212E02 2.37836E02 1.83443E02 1.13502E02 2.43500E02 2.22058E02 3.64312E02 6.51550E02 1.29965E03 1.38292E03 9.56949E02 1.51815E03 6.92514E02 2.94528E02 2.20869E02 1.39143E02 -Frame 40 2.12572E01 1.72485E01 2.18500E01 2.73733E02 1.08440E02 1.08107E02 2.33643E01 7.05431E01 7.25772E02 4.17810E02 8.03969E02 1.97539E02 7.09615E02 8.37954E02 2.86544E02 1.17459E02 6.22339E02 2.52445E02 2.36603E02 1.08187E02 1.77285E02 3.09626E02 7.97915E01 4.88817E01 8.72810E01 1.69491E02 9.89330E01 5.62117E01 1.13201E02 1.33071E02 7.92847E01 1.07485E02 1.27489E02 1.93606E02 1.27730E02 3.39445E02 1.30027E02 2.65484E02 1.99340E02 1.08177E02 -Frame 40 1.79390E01 3.10640E01 5.26321E01 1.53620E02 6.07746E01 4.79156E01 4.45175E01 2.01327E02 3.61478E02 2.21726E02 3.04658E02 2.08988E02 2.99821E02 4.63553E02 2.33958E02 1.84817E02 4.20159E02 1.84355E02 2.66785E02 2.14754E02 1.62680E02 2.69777E02 6.41635E01 5.14397E01 1.04442E02 1.72089E02 8.93772E01 8.93701E01 9.26164E01 1.42975E02 8.88698E01 7.25617E01 1.26483E02 2.45176E02 2.47077E02 2.22291E02 1.04847E02 6.58240E01 9.70029E01 8.97652E01 -Frame 40 2.54439E01 4.87255E01 2.83124E01 2.70303E01 7.08080E01 1.86440E02 4.72222E01 4.23157E01 4.66936E01 1.45177E02 1.85165E02 1.17638E02 1.84299E02 2.85300E02 2.09886E02 3.76971E01 5.88291E01 2.40245E02 3.31998E02 2.28424E02 8.08148E01 9.32370E01 1.07466E02 1.64709E02 2.99371E02 6.28171E01 1.17562E02 2.27845E02 6.92746E01 1.18887E02 2.24527E02 2.58755E02 1.63986E02 1.76957E02 3.60856E02 1.19374E02 1.27779E02 6.78839E01 1.32606E02 6.12707E01 -Frame 40 3.13272E01 1.14141E02 7.53175E01 7.95420E01 9.99746E01 1.26244E02 4.86975E01 1.09115E02 1.84028E02 3.46338E02 2.51560E02 1.85680E02 3.70022E02 6.20387E02 2.33058E02 3.05922E02 2.81525E02 5.44284E02 8.20748E02 3.48084E02 4.41506E02 6.02011E02 5.90294E02 6.05510E02 6.53348E02 7.29916E02 9.17844E02 1.12694E03 1.52776E03 1.94956E03 2.65536E03 3.21650E03 5.37147E03 8.28402E03 9.25442E03 7.85133E03 5.24934E03 2.06658E03 1.29361E03 7.55522E02 -Frame 40 1.23029E01 1.14169E02 4.04538E02 8.25839E02 6.55938E02 6.51686E02 8.43466E02 6.98797E02 7.47394E02 1.35389E03 1.16987E03 1.49597E03 1.70535E03 1.74475E03 1.46945E03 2.98192E03 2.71788E03 2.57276E03 3.13509E03 3.13514E03 3.26512E03 6.94865E03 5.15321E03 5.50155E03 5.15589E03 7.17498E03 8.81331E03 1.16904E04 1.85621E04 2.99981E04 7.61964E04 6.05995E04 8.94781E04 2.70779E05 7.14047E05 1.52125E06 7.06403E05 1.95017E05 1.55121E05 2.22595E05 -Frame 40 9.80768E01 4.26430E01 3.77069E01 1.91170E02 8.24281E01 2.05292E02 3.05121E02 2.32084E02 2.46712E02 1.53103E02 4.80114E01 2.80435E02 1.99177E02 2.14892E02 2.32965E02 3.59817E02 7.60915E02 2.92348E02 4.89405E02 7.01356E02 8.57486E02 2.67478E03 2.33187E03 1.74531E03 2.34985E03 3.25107E03 3.11366E03 6.74952E03 1.08125E04 3.99737E04 1.34253E05 8.96693E05 9.04720E05 1.31085E06 5.14632E06 6.57339E06 2.32758E06 2.81292E06 2.59633E06 3.05628E06 -Frame 40 1.12758E02 8.16972E01 9.58649E01 1.29114E02 1.86783E02 2.05606E02 2.05263E02 9.33573E01 1.30165E02 9.71669E01 1.11205E02 6.49340E02 2.42808E02 2.17028E02 3.71156E02 6.87092E02 8.17082E02 7.24575E02 7.93433E02 6.65020E02 1.35196E03 2.15993E03 4.11290E03 2.76789E03 6.18449E03 2.35164E04 5.49876E03 3.08757E03 1.27743E04 9.76825E04 2.24506E05 2.80324E06 2.31749E06 4.20565E06 5.83692E06 4.43682E06 5.07047E06 3.39716E06 4.59166E06 3.66448E06 -Frame 40 2.36953E02 6.76669E02 5.71123E02 7.84536E01 6.74183E02 5.19776E02 5.60166E01 3.25823E02 5.91057E02 6.54900E02 2.95050E02 6.65533E02 9.33949E02 4.68577E02 4.73792E02 1.15113E03 3.04124E03 1.65032E03 3.47653E03 2.27992E03 1.80182E03 7.48814E03 1.99727E04 1.12579E04 1.48073E04 3.10317E04 2.05710E04 1.86428E04 1.64127E05 6.81572E05 1.25850E06 5.74940E06 4.91211E06 3.49982E06 4.67084E06 4.09032E06 2.47064E06 2.28226E06 2.29563E06 2.45789E06 -Frame 40 5.98870E02 2.00063E03 1.42889E03 2.66337E02 7.68393E02 2.25276E02 4.67983E02 1.11189E03 3.89088E02 2.89880E03 1.54339E03 2.39186E03 4.35829E03 3.06458E03 5.45754E03 1.10334E03 1.88979E03 1.47754E03 3.24521E03 4.74897E03 7.40520E03 1.25397E05 1.04212E05 4.94192E04 1.39061E05 6.66778E05 1.87207E05 6.16721E04 1.72886E05 9.41215E05 4.39189E06 2.28613E06 2.57169E06 3.14951E06 2.49208E06 2.78153E06 3.16384E06 2.08579E06 2.29179E06 3.89817E06 -Frame 40 1.89064E03 2.26463E03 8.70144E02 1.80426E03 5.01889E03 1.43679E03 3.36298E03 5.47194E03 2.65557E03 3.68747E03 5.16157E03 3.48425E03 1.37515E03 3.27496E03 5.06440E03 1.96870E03 2.73880E03 3.30889E03 3.15400E03 5.22829E03 8.30175E03 9.80143E04 9.72588E04 4.17267E04 2.11337E05 9.69363E05 4.76488E05 3.00651E05 9.86083E04 8.80350E05 7.01264E06 3.44181E06 1.67781E06 2.20289E06 2.02272E06 1.50035E06 2.40599E06 9.52584E05 7.72621E05 1.51406E06 -Frame 40 2.53201E03 3.16853E02 5.88525E02 6.33221E03 7.27707E03 6.89159E03 2.03122E03 3.65167E03 1.49511E03 1.45608E03 5.94460E03 5.45063E03 2.12399E03 2.42582E03 1.66667E03 1.22561E03 1.63678E03 1.66650E03 3.35820E03 1.84339E04 4.28188E04 2.63992E05 2.44447E05 1.38089E05 1.03268E06 1.14777E06 2.84962E05 2.59407E05 9.34827E04 7.19705E05 3.68765E06 2.31108E06 6.31981E05 1.68504E06 1.11021E06 8.40593E05 9.50327E05 7.04463E05 4.21307E05 8.17865E05 -Frame 40 4.98625E03 2.44961E03 5.56213E03 1.49988E04 6.69283E03 4.74678E03 1.81443E03 3.96752E03 1.23749E03 4.46469E03 1.63312E04 4.48006E03 5.08528E03 8.62419E03 2.09026E03 9.75447E02 6.50709E02 7.29933E02 2.45821E03 2.07444E04 5.01830E04 5.36639E05 4.44126E05 1.59649E05 3.46380E06 1.57208E06 2.83554E05 2.32253E05 1.65004E05 6.34428E05 1.12106E06 9.20656E05 4.20211E05 1.01757E06 8.90348E05 9.86038E05 1.02704E06 5.30857E05 3.66331E05 2.49482E05 -Frame 40 1.17802E04 7.08497E03 4.05831E03 6.71701E03 2.13601E03 1.53557E03 1.73352E03 3.49864E03 9.74612E02 2.88134E03 2.82473E03 9.59677E02 9.56252E02 6.70154E02 8.05151E02 7.42108E02 8.91239E02 2.70160E03 6.90688E03 2.25272E04 8.29363E04 4.51619E05 4.37031E05 7.11474E05 5.63371E06 7.03180E05 2.55276E05 3.55494E04 7.71976E04 1.98210E05 1.31273E05 1.82525E05 1.78180E05 2.60594E05 1.94723E05 1.09520E05 1.51158E05 2.42534E05 7.40631E04 9.59305E04 -Frame 40 9.98775E04 3.60693E04 3.86675E04 8.16496E04 2.58406E04 6.23165E03 5.58111E03 3.01155E03 2.27648E03 1.71219E03 9.65434E02 7.19976E02 2.14812E03 1.41769E03 2.30840E03 6.88639E03 1.96514E04 2.75354E04 1.45885E05 1.54521E05 8.11525E04 8.55839E04 1.26546E05 2.57256E05 6.14613E05 7.06349E04 3.42607E04 1.93448E04 1.64717E04 6.96811E04 7.61335E04 5.30637E04 3.40779E04 7.34867E04 6.12201E04 2.72023E04 2.51888E04 4.31238E04 1.19280E04 1.30217E04 -Frame 40 7.61880E04 3.41434E05 2.75567E05 1.08670E06 5.69997E05 1.10232E05 5.72508E04 2.24595E04 1.37932E04 1.82312E04 8.60059E03 5.07512E03 6.94690E03 7.37268E03 5.61410E03 1.35603E04 7.19494E04 1.68585E05 4.64973E05 2.10241E05 9.87513E04 2.56543E05 6.14711E05 7.20770E05 4.03278E05 7.34123E04 1.49353E04 8.47372E03 1.07969E04 3.06209E04 1.45320E04 2.51911E03 5.32830E03 1.95748E04 5.41533E03 3.82629E03 6.41082E03 3.22179E04 1.19660E04 1.14604E04 -Frame 40 5.25980E04 4.68580E05 2.79448E05 1.95652E06 9.95936E05 2.62668E05 1.23856E05 4.72635E04 3.25135E04 2.97721E04 2.41327E04 7.99234E03 8.24722E03 8.40915E03 7.85393E03 1.87887E04 1.01996E05 3.76811E05 3.91125E05 1.20169E05 5.56049E04 1.10263E05 2.53480E05 6.05616E05 6.61810E05 1.47959E05 3.53663E04 2.25239E04 2.77842E04 8.47642E04 2.83730E04 2.10107E03 1.99295E03 4.73438E03 3.58411E03 1.61937E03 1.89873E03 5.52547E03 6.05135E03 6.83910E03 -Frame 40 8.66572E04 3.86410E05 3.90951E05 2.22036E06 5.25808E05 6.00149E05 1.53086E05 6.99825E04 4.95786E04 3.06298E04 3.06584E04 1.92894E04 1.24556E04 1.43325E04 1.69656E04 6.31992E04 3.38022E05 4.45375E05 1.37714E05 5.82136E04 3.13097E04 4.81845E04 1.86224E05 1.06446E05 9.68012E04 6.82334E04 1.78720E04 1.26567E04 1.28940E04 3.65743E04 1.07581E04 1.61387E03 3.54850E03 5.12646E03 1.28826E03 7.45391E02 1.07389E03 2.22967E03 2.89605E03 3.34201E03 -Frame 40 1.14199E05 2.60885E05 5.71408E05 1.56086E06 3.49314E05 9.21309E05 1.31632E05 8.02743E04 5.34440E04 3.05477E04 2.78532E04 2.90510E04 2.37570E04 2.81609E04 8.03718E04 2.85997E05 3.36716E05 1.09132E05 2.06678E04 1.92436E04 1.36607E04 1.59671E04 5.80120E04 5.44181E04 1.13387E04 1.83433E04 8.41974E03 8.14580E03 9.25389E03 1.09549E04 3.51566E03 2.30768E03 2.00492E03 2.82502E03 1.55240E03 1.20293E03 1.69243E03 1.91497E03 1.49950E03 2.85550E03 -Frame 40 1.25079E05 2.04229E05 6.21810E05 9.62005E05 6.36514E05 1.07493E06 1.21044E05 7.47424E04 5.90280E04 3.44833E04 3.62191E04 3.91409E04 6.94913E04 9.21223E04 1.20654E05 1.41198E05 1.18676E04 9.95554E03 4.75442E03 4.96009E03 4.22683E03 6.40847E03 1.69241E04 2.97974E04 6.38943E03 3.29759E03 4.18849E03 4.26981E03 5.99440E03 7.69370E03 3.43705E03 1.56902E03 4.86289E03 7.31621E03 1.97288E03 9.65499E02 1.51434E03 2.00929E03 1.26655E03 1.76306E03 -Frame 40 1.28141E05 1.65628E05 5.58925E05 5.78282E05 9.82032E05 1.04030E06 9.87100E04 5.29491E04 4.45246E04 4.22276E04 8.08248E04 1.43164E05 2.07659E05 1.42456E05 3.52889E04 8.78770E03 4.82152E03 3.90170E03 1.93921E03 2.01757E03 2.07623E03 1.43081E03 1.08004E04 2.21275E04 4.19759E03 6.09055E02 1.01265E03 2.14344E03 2.36618E03 2.43450E03 1.13736E03 9.32655E02 1.15468E03 1.36439E03 1.39016E03 1.25559E03 6.55968E02 1.49609E03 9.65066E02 1.15249E03 -Frame 40 1.29917E05 1.31355E05 3.76338E05 2.45451E05 1.23616E06 7.86921E05 9.32942E04 4.60646E04 4.31638E04 9.59170E04 2.26217E05 3.32317E05 1.74127E05 2.60577E04 4.86343E03 1.98520E03 2.14673E03 1.61827E03 1.67811E03 1.18702E03 1.12310E03 8.04431E02 3.40716E03 9.74059E03 4.42985E03 4.53208E02 5.33381E02 9.58958E02 1.26160E03 1.60872E03 4.06828E02 4.74533E02 1.84041E03 7.23094E02 1.39126E03 1.10524E03 4.49954E02 8.92449E02 7.35497E02 7.37739E02 -Frame 40 1.44782E05 1.07449E05 2.86846E05 1.31174E05 1.01394E06 4.87071E05 7.87561E04 3.84933E04 5.86413E04 1.78186E05 3.23054E05 1.91446E05 2.31649E04 7.25623E03 1.20259E03 5.34396E02 1.11588E03 8.08247E02 6.11358E02 3.78396E02 6.73729E02 5.89541E02 1.22118E03 7.13281E03 6.16221E03 4.77124E02 8.98444E02 1.17424E03 1.09153E03 2.06260E03 5.36353E02 7.86313E02 1.11824E03 6.68630E02 4.23111E02 2.40408E02 6.29878E02 5.31626E02 2.09548E02 4.23999E02 -Frame 40 1.64492E05 1.01960E05 2.62823E05 1.21008E05 1.16556E06 3.63621E05 4.97629E04 4.56732E04 9.55535E04 2.86563E05 3.58292E05 7.22115E04 1.68349E04 4.83617E03 4.10090E02 5.55861E02 1.42921E03 6.74591E02 7.04314E02 2.94928E02 5.15060E02 5.65471E02 1.56704E03 5.84266E03 1.02247E04 1.50192E03 1.10672E03 1.31992E03 1.38063E03 1.58992E03 2.92948E02 7.24331E02 1.30704E03 3.70795E02 4.48218E02 5.07095E02 1.34906E03 8.80580E02 6.19135E02 3.45487E02 -Frame 40 1.84124E05 9.52892E04 2.23805E05 1.18162E05 1.54255E06 7.28057E05 7.39822E04 8.13698E04 1.91146E05 4.30177E05 5.88776E05 1.38049E05 2.83554E04 8.93019E03 2.88512E03 2.94775E03 2.15122E03 1.18263E03 8.57657E02 7.13118E02 4.56643E02 8.73303E02 1.38012E03 5.23076E03 1.13176E04 4.99426E03 1.26786E03 1.37631E03 3.26031E03 4.54183E03 3.02475E02 5.89442E02 1.52535E03 8.03280E02 1.46797E03 6.25106E02 5.26828E02 2.16834E03 6.14722E02 8.11225E02 -Frame 40 1.96365E05 1.06460E05 1.50397E05 7.30332E04 1.56838E06 9.49146E05 3.38234E05 2.60855E05 2.75484E05 5.78034E05 1.23969E06 4.21038E05 1.17782E05 1.89665E04 5.80313E03 6.21002E03 3.25243E03 2.59990E03 1.60058E03 1.42044E03 1.74910E03 2.11653E03 1.98064E03 4.33026E03 1.88108E04 1.81231E04 3.74534E03 3.19325E03 1.38961E04 1.46724E04 1.37766E03 1.25974E03 1.29002E03 6.76229E02 6.68335E02 3.25528E02 1.43081E03 3.38268E03 4.58820E02 6.67019E02 -Frame 40 2.10530E05 1.25701E05 9.84839E04 5.40061E04 9.64867E05 6.48965E05 1.64981E06 5.01224E05 4.71037E05 5.98450E05 1.01268E06 2.84011E06 1.22044E06 7.12151E04 1.24396E04 1.27507E04 8.32364E03 5.70812E03 4.69996E03 3.65675E03 3.79286E03 4.87643E03 2.73265E03 4.11063E03 1.43012E04 5.50921E04 1.33325E04 9.98837E03 4.67348E04 2.90028E04 9.03622E02 4.84321E03 6.98680E03 6.29346E02 4.75913E02 7.07127E02 3.22261E03 4.70885E03 1.23664E03 9.29908E02 -Frame 40 2.48277E05 1.29551E05 7.04999E04 3.42531E04 3.51372E05 3.68941E05 2.37591E06 7.92539E05 8.10469E05 6.02236E05 3.47957E05 3.19375E06 3.43505E06 1.57646E06 1.22562E05 2.47483E04 1.73836E04 1.01758E04 9.16823E03 9.90311E03 8.10520E03 1.12602E04 4.17236E03 4.85033E03 1.25795E04 6.29905E04 2.98539E04 2.10366E04 6.76864E04 3.16903E04 1.73716E03 2.11397E04 4.20242E04 1.33557E03 2.94790E02 1.25754E03 1.94189E04 3.01791E04 3.44282E03 2.64390E03 -Frame 40 2.84749E05 1.46258E05 6.93827E04 3.18525E04 2.04903E05 3.15525E05 1.50247E06 1.07439E06 1.06476E06 7.25344E05 2.50326E05 7.42292E05 1.92277E06 4.64417E06 2.57889E06 3.52107E05 8.85370E04 2.92063E04 2.34683E04 1.71580E04 1.64665E04 1.36934E04 6.30041E03 9.56064E03 1.69058E04 1.28371E05 1.10308E05 2.84522E04 4.07009E04 1.94429E04 1.68809E03 8.43777E03 1.60361E04 9.98302E02 3.37515E02 2.60418E03 1.02033E04 5.90118E03 1.65015E03 1.77124E03 -Frame 40 2.97043E05 1.24237E05 6.43614E04 3.50439E04 1.74169E05 2.52921E05 5.13325E05 1.22130E06 1.18442E06 5.43993E05 3.25852E05 4.19386E05 4.29616E05 7.11228E05 3.64459E06 1.63868E06 6.18413E05 1.15840E05 6.44807E04 4.01684E04 3.06189E04 2.41039E04 9.11157E03 2.07388E04 4.74650E04 1.54497E05 8.49577E04 3.11659E04 5.31045E04 3.83944E04 1.29751E03 1.88719E03 7.45397E03 4.07743E03 5.81308E02 2.53941E03 2.13364E04 1.10331E04 1.74376E03 1.49190E03 -Frame 40 2.84470E05 8.38253E04 6.35549E04 3.88914E04 1.54605E05 1.97646E05 3.20142E05 1.42766E06 1.19871E06 4.56028E05 3.61200E05 2.60625E05 2.07965E05 1.53062E05 2.66954E05 6.22004E05 1.63999E06 4.64453E05 2.97037E05 8.38899E04 5.28857E04 3.67583E04 1.77153E04 4.50221E04 1.01323E05 1.80675E05 6.04737E04 3.50742E04 1.52766E04 7.00844E03 2.20911E03 5.09304E03 1.34060E04 8.64488E03 1.25672E03 1.38361E03 2.48822E04 1.20052E04 1.45318E03 8.06935E02 -Frame 40 2.60448E05 8.90053E04 5.98766E04 4.02887E04 1.58426E05 1.76057E05 3.97686E05 1.27023E06 8.87051E05 3.25759E05 2.46978E05 1.72070E05 1.06477E05 5.57177E04 7.35795E04 2.30870E05 1.20011E06 2.34381E06 8.91693E05 1.66217E05 8.83653E04 7.22290E04 2.69220E04 6.85855E04 7.46458E04 5.42733E04 7.10256E04 4.42246E04 3.42318E04 9.39365E03 7.10471E02 5.45322E03 8.33926E03 6.34002E03 2.16189E03 2.65989E03 9.47082E03 3.42276E03 8.92567E02 5.47757E02 -Frame 40 1.26316E05 5.92853E04 4.60065E04 5.31532E04 5.62966E04 1.96542E05 2.64856E05 4.64404E05 3.45055E05 1.36613E05 7.80314E04 7.70287E04 5.36867E04 3.96080E04 2.33976E04 4.34575E04 4.23052E05 1.05764E06 9.44158E05 2.00191E05 1.18856E05 9.39259E04 2.64598E04 1.37498E04 2.23851E04 8.88720E04 1.28578E05 6.38336E04 4.04655E04 1.84632E04 2.50719E03 4.78329E03 2.48705E03 1.92361E03 5.01745E03 1.96101E03 7.65363E02 3.84077E02 5.02537E02 5.71681E02 -Frame 40 6.37140E04 1.84771E04 4.70019E03 1.47987E04 2.33641E04 1.01062E04 1.03204E04 4.26626E03 6.94682E03 7.58783E02 6.14791E02 9.26427E02 1.59802E03 2.00464E03 4.92810E03 2.77950E03 1.96630E04 4.64303E04 7.14836E03 3.61434E03 4.75701E03 5.48984E03 4.11085E03 3.33359E03 8.23201E03 7.36957E03 6.08777E03 1.54839E03 6.01584E02 7.01042E02 3.01951E02 3.06531E02 3.82835E02 5.52901E02 1.05241E03 2.55195E02 1.15350E02 3.51809E02 1.09801E03 1.54242E03 -Frame 40 5.20697E04 1.22687E04 1.95993E03 1.07038E04 1.09393E04 1.00062E04 4.22699E03 2.94892E03 1.22813E03 7.90399E02 1.11971E03 2.31191E02 4.08140E02 2.43875E03 1.53915E03 1.51460E03 1.22777E04 1.29960E04 2.92899E03 2.65090E03 2.61213E03 4.08304E03 3.01380E03 1.18523E03 5.68063E03 1.23600E04 9.90100E03 4.74170E02 1.17699E02 1.71525E02 2.50382E02 1.81471E02 3.71078E02 5.45394E02 3.94816E02 6.89527E01 8.27646E01 2.04848E02 3.03097E02 2.52048E02 -Frame 40 3.68267E04 3.63099E03 3.05107E03 1.62249E04 1.66155E04 8.05698E03 2.69977E03 2.00922E03 2.99553E03 3.66013E03 2.09396E03 6.94207E02 2.03104E03 1.22832E03 2.02562E03 2.78208E03 1.32295E04 1.19488E04 8.57495E03 2.94450E03 2.65639E03 4.81168E03 4.21036E03 1.67397E03 5.84961E03 8.68628E03 1.04936E04 4.29417E03 5.54053E03 2.83637E03 1.43657E03 7.00145E02 5.16311E02 9.71801E02 7.14785E02 1.22358E02 1.19927E02 2.10117E02 2.24033E02 1.41211E02 -Frame 40 8.50620E04 2.47566E04 1.33491E04 3.99531E04 4.43847E04 4.28921E04 6.61594E04 5.50933E04 3.58761E04 3.38984E04 3.51649E04 6.38284E03 2.87983E03 2.25970E03 1.07217E04 2.80967E04 1.13151E05 2.14134E05 3.35653E05 3.68999E04 2.11512E04 1.38715E04 6.74455E03 1.30763E04 1.95772E04 5.88386E04 9.73109E04 6.37296E04 1.08040E05 4.11007E04 1.95040E04 1.45827E04 5.05242E03 2.00449E03 1.96824E03 9.43802E02 2.76687E02 3.01975E02 1.12807E03 5.43335E02 -Frame 40 1.91445E05 5.92708E04 3.35266E04 8.50165E04 1.12224E05 1.43972E05 1.74327E05 6.46176E05 3.87353E05 1.59151E05 2.23705E05 8.62019E04 6.53779E04 3.48263E04 4.12493E04 5.36435E04 3.39465E05 7.02014E05 1.37911E06 4.00910E05 1.03746E05 5.24738E04 2.32867E04 2.35860E04 5.49356E04 2.03651E05 3.06210E05 4.00208E04 2.38037E04 4.32547E04 4.53752E03 1.10140E04 3.54159E04 6.68502E03 1.14711E03 2.25703E03 1.42391E03 1.19641E03 7.13387E02 9.08173E02 -Frame 40 1.89091E05 4.21851E04 3.69699E04 8.05870E04 9.18249E04 1.18097E05 3.21947E05 6.46203E05 5.33365E05 1.66609E05 2.80649E05 1.25246E05 6.62177E04 5.02200E04 3.67912E04 5.64149E04 4.08529E05 1.45974E06 1.84788E06 6.05010E05 9.49418E04 5.11133E04 2.31818E04 3.60102E04 4.70517E04 3.01896E05 3.94538E05 4.44599E04 2.69224E04 5.20766E04 3.66876E03 8.88979E03 3.74807E04 3.52762E04 2.07272E03 1.05986E03 1.13315E04 5.98888E03 3.56431E03 1.16761E03 -Frame 40 1.48488E05 2.07860E04 3.07472E04 8.25772E04 4.43539E04 8.25909E04 2.77453E05 6.13004E05 5.30039E05 2.09250E05 2.57351E05 1.21219E05 5.27602E04 5.89020E04 3.74303E04 1.19658E05 3.36678E05 1.30309E06 4.67992E05 1.72645E05 6.35188E04 2.63584E04 1.20920E04 1.53783E04 1.66363E04 1.39675E05 1.09964E05 1.05385E04 1.37197E04 3.43657E04 2.26557E03 4.35668E03 1.60444E04 1.92299E04 2.86641E03 2.41802E03 2.42281E04 5.40194E03 1.64570E03 6.36977E02 -Frame 40 1.15721E05 1.75754E04 2.78339E04 8.21387E04 2.72276E04 6.24555E04 1.86280E05 6.52042E05 4.38505E05 2.60767E05 2.42198E05 1.36818E05 4.96482E04 5.39847E04 4.23221E04 1.16478E05 8.62476E05 1.61037E06 2.01175E05 8.12195E04 3.70006E04 1.26922E04 7.05883E03 1.23852E04 3.16947E04 1.45646E04 3.07128E04 1.28075E04 1.41156E04 2.81115E04 2.55934E03 1.14259E03 3.01826E03 4.10497E03 1.62127E03 3.79075E03 3.16073E04 3.91519E03 1.37924E03 5.73517E02 -Frame 40 8.78297E04 2.86009E04 3.32148E04 7.35050E04 3.72319E04 6.46516E04 1.66188E05 7.35039E05 4.19966E05 2.93638E05 2.79360E05 1.21158E05 6.00526E04 4.87431E04 4.66830E04 1.72607E05 1.33131E06 9.93425E05 9.85290E04 4.44115E04 2.50928E04 1.07744E04 4.33789E03 1.04166E04 3.83481E04 1.83075E04 9.42359E03 6.67147E03 1.96678E04 3.01764E04 2.80592E03 1.51802E03 2.51280E03 1.56131E03 7.92004E02 4.50562E03 5.53006E04 5.31829E03 1.83032E03 7.49131E02 -Frame 40 7.96972E04 4.15258E04 3.93148E04 5.61051E04 6.65448E04 7.37533E04 1.89109E05 7.99073E05 4.01707E05 2.33331E05 2.83757E05 8.91900E04 6.54355E04 5.17821E04 5.92805E04 1.87280E05 5.55358E05 2.70097E05 2.74892E04 1.45166E04 1.57735E04 6.89255E03 2.56810E03 4.25296E03 1.70507E04 1.51043E04 2.95953E03 3.42210E03 3.43152E04 5.67603E04 3.23863E03 1.36669E03 3.22984E03 2.00890E03 7.84328E02 1.35068E03 2.28405E04 2.08260E03 1.87779E03 4.98776E02 -Frame 40 6.81932E04 3.89950E04 4.18052E04 5.54205E04 6.32589E04 8.22424E04 1.84585E05 7.53597E05 2.51462E05 1.65991E05 2.06667E05 4.96776E04 5.68956E04 3.12637E04 1.05947E05 2.54394E05 2.91272E05 6.42841E04 3.27945E04 1.10788E04 9.19141E03 5.44910E03 1.28721E03 3.28240E03 9.84694E03 1.51324E04 3.73172E03 1.72153E03 1.08272E04 2.56906E04 9.27805E02 6.63962E02 4.51642E03 3.83228E03 6.31132E02 2.02791E03 1.22932E04 1.97619E03 9.20262E02 3.06814E02 -Frame 40 4.82375E04 2.47126E04 3.17739E04 4.24104E04 5.16913E04 5.60485E04 1.36352E05 5.87231E05 1.37006E05 1.74489E05 1.21107E05 2.52780E04 4.91375E04 3.56723E04 9.62928E04 1.99266E05 1.27679E05 1.21820E04 9.76690E03 4.98761E03 3.37802E03 2.13388E03 2.91046E02 6.78674E02 4.49804E03 8.36029E03 2.30464E03 2.68745E03 2.97986E03 1.03112E04 2.59164E03 2.58038E03 2.22933E04 8.42546E03 7.94967E02 2.37387E03 3.34365E04 7.16250E03 5.72136E02 2.53719E02 -Frame 40 3.19515E04 1.93220E04 2.14640E04 2.59686E04 3.91223E04 3.64018E04 1.49054E05 4.61693E05 9.50235E04 1.50161E05 6.15388E04 3.20066E04 3.02882E04 3.20182E04 8.33450E04 2.46652E05 5.73173E04 1.25785E04 6.92091E03 3.41666E03 2.16284E03 1.46552E03 4.87113E02 1.45035E03 5.12128E03 7.40831E03 3.09694E03 2.96472E03 2.06789E03 7.27499E03 1.60943E03 2.97803E03 1.16756E04 2.78740E03 6.42625E02 3.78547E03 1.91844E04 3.96916E03 3.33649E02 2.42457E02 -Frame 40 3.36891E04 1.96402E04 2.13835E04 2.29847E04 4.15608E04 4.26422E04 2.23130E05 4.21313E05 1.26754E05 1.37882E05 6.41548E04 3.23334E04 2.93585E04 3.43561E04 8.05814E04 1.81645E05 3.85667E04 1.08128E04 7.31178E03 3.93750E03 1.91170E03 2.06721E03 7.11626E02 1.21143E03 7.41673E03 7.47553E03 2.20760E03 3.77038E03 2.16211E03 5.58266E03 1.50036E03 9.61778E02 4.01280E03 1.12857E03 4.61847E02 3.71847E03 2.10757E04 5.08658E03 6.39440E02 3.03653E02 -Frame 40 3.51816E04 2.24044E04 2.72499E04 3.31320E04 4.92877E04 5.88450E04 3.04471E05 3.78778E05 1.55365E05 1.22531E05 5.17873E04 3.93282E04 2.73768E04 5.71992E04 1.06558E05 1.77295E05 3.16039E04 9.64880E03 3.55639E03 1.49990E03 7.63479E02 9.43225E02 3.75726E02 1.75338E03 8.30514E03 4.88385E03 2.24406E03 1.80776E03 3.31372E03 4.69502E03 1.35551E03 4.79877E02 3.32579E03 1.03420E03 2.21237E02 1.96816E03 1.87609E04 4.21231E03 5.16906E02 1.60537E02 -Frame 40 2.78341E04 2.12476E04 2.58632E04 2.81774E04 4.23864E04 5.17052E04 3.05724E05 2.42514E05 9.82867E04 1.02512E05 3.16355E04 2.73818E04 1.54280E04 4.57840E04 6.82464E04 8.63812E04 8.63551E03 4.97982E03 2.77790E03 5.00578E02 2.71391E02 3.24184E02 1.95856E02 1.48105E03 5.36443E03 2.40939E03 1.10996E03 1.35763E03 1.27567E03 4.10376E03 7.04002E02 8.62234E02 5.20662E03 1.34438E03 1.42784E02 1.67968E03 7.78017E03 8.57558E02 1.58323E02 5.64842E01 -Frame 40 1.33318E04 1.67273E04 1.49650E04 1.12913E04 2.16071E04 2.81468E04 2.09194E05 1.11645E05 7.50973E04 2.55859E04 3.28114E04 1.36853E04 1.70371E04 2.29604E04 8.22116E04 4.09922E04 5.58601E03 3.05204E03 2.26442E03 5.42467E02 4.11295E02 3.93249E02 4.21497E02 9.47683E02 3.85215E03 1.00758E03 6.11714E02 5.84048E02 4.67687E02 2.28770E03 5.83942E02 3.08985E02 3.19325E03 6.60651E02 1.82287E02 6.37051E02 4.27827E03 1.63609E03 2.02462E02 1.77952E02 -Frame 40 1.62964E04 1.40269E04 1.16181E04 1.12106E04 2.03479E04 3.35290E04 1.81588E05 1.07011E05 6.76629E04 2.52425E04 3.99551E04 1.32587E04 1.64471E04 5.84915E04 1.14453E05 2.88539E04 4.97205E03 2.22362E03 1.15113E03 3.40780E02 5.59833E02 6.69217E02 2.66235E02 9.32038E02 4.37054E03 1.02204E03 4.00088E02 3.77459E02 4.83040E02 1.94167E03 5.54430E02 6.17144E02 6.51372E03 1.75494E03 3.04959E02 1.38604E03 4.31920E03 1.40652E03 2.27934E02 2.17964E02 -Frame 40 2.63244E04 1.41527E04 1.47724E04 1.81023E04 2.28349E04 4.96884E04 1.70523E05 9.09958E04 6.73243E04 2.08608E04 3.94540E04 1.81218E04 1.84200E04 5.77876E04 6.41627E04 1.01256E04 1.58334E03 5.52109E02 4.57965E02 2.76325E02 1.77319E02 6.56589E02 2.89620E02 1.05140E03 2.60299E03 6.51769E02 1.38178E02 2.36015E02 8.13361E02 1.56194E03 4.08158E02 7.68643E02 7.06446E03 1.08938E03 3.78908E02 9.93156E02 2.18879E03 8.64654E02 1.57953E02 2.08867E02 -Frame 40 1.70305E04 1.02916E04 1.17002E04 1.29951E04 1.98652E04 3.64533E04 1.16765E05 4.58361E04 4.71265E04 1.07626E04 3.03274E04 8.52168E03 1.67714E04 7.14844E04 5.53299E04 3.73505E03 2.03221E03 4.06210E02 2.52070E02 4.50182E02 2.53881E02 2.75141E02 2.04449E02 1.49792E03 2.21069E03 4.10933E02 1.51649E02 2.16048E02 4.89039E02 1.65623E03 2.78416E02 5.79681E02 2.87056E03 9.79287E02 3.12038E02 3.64913E02 1.55968E03 2.90390E02 1.02653E02 1.84954E02 -Frame 40 7.55110E03 5.94517E03 6.15722E03 7.49184E03 9.08398E03 1.79086E04 8.92072E04 2.88101E04 3.71207E04 7.28094E03 1.68593E04 8.24272E03 1.29444E04 6.16115E04 2.76422E04 2.81602E03 1.30261E03 5.32072E02 3.73602E02 3.20589E02 3.76690E02 1.53253E02 4.22061E02 1.01604E03 9.03766E02 9.57651E01 1.01149E02 1.30675E02 1.34449E02 5.19628E02 2.11245E02 4.30335E02 2.03438E03 1.05841E03 2.38895E02 1.53328E02 6.77201E02 1.81099E02 1.39027E02 1.04648E02 -Frame 40 1.27189E04 6.62937E03 6.76830E03 1.14765E04 1.54425E04 3.26146E04 1.01942E05 3.35275E04 3.30575E04 1.48075E04 1.52116E04 1.08274E04 2.23972E04 7.73204E04 2.46473E04 2.33889E03 1.32938E03 8.13721E02 5.22158E02 3.04367E02 2.91633E02 2.45872E02 2.22002E02 5.44792E02 3.87157E02 1.08499E02 6.63017E01 1.20504E02 2.81124E02 3.39564E02 2.92529E02 4.68066E02 4.57965E03 1.30751E03 2.98620E02 2.50369E02 1.09974E03 3.64931E02 1.91332E02 1.42459E02 -Frame 40 1.37276E04 7.81019E03 8.05812E03 1.19554E04 1.66873E04 3.84640E04 6.17971E04 2.23692E04 2.14701E04 1.08198E04 1.44753E04 6.19711E03 1.40454E04 3.40067E04 7.62762E03 1.62947E03 6.80977E02 4.77762E02 1.57022E02 7.48409E01 2.16860E02 2.99901E02 2.53948E02 5.64411E02 1.31714E03 2.14546E02 4.69365E01 7.23832E01 2.60141E02 4.61945E02 1.18880E02 4.34308E02 4.98610E03 1.21431E03 1.85277E02 2.85370E02 1.30000E03 6.13417E02 8.93745E01 1.30693E02 -Frame 40 2.74318E03 2.30555E03 2.95697E03 3.95948E03 5.07042E03 1.17035E04 1.92388E04 1.05448E04 4.22433E03 5.47716E03 5.92080E03 6.80498E03 1.99040E04 1.36092E04 2.67804E03 8.66768E02 7.32628E02 1.01024E02 3.79236E02 1.91915E02 1.12952E02 3.48973E02 1.45347E02 2.65761E02 5.45281E02 1.22468E02 7.67511E01 2.92404E01 1.09423E02 2.27487E02 7.97062E01 2.38031E02 5.66882E02 3.54795E02 3.33821E02 2.28849E02 9.14022E02 5.01803E02 1.34960E02 1.34447E02 -Frame 40 5.58906E03 1.32778E03 3.12783E03 3.51269E03 6.02996E03 9.51114E03 1.26576E04 5.76039E03 4.91444E03 2.90655E03 4.94077E03 4.82293E03 1.59109E04 2.08123E04 1.73721E03 6.40894E02 3.81972E02 1.26201E02 1.77744E02 2.17701E02 1.45403E02 5.54776E02 2.96374E02 3.16441E02 1.37643E02 2.98093E01 2.04555E02 1.22501E02 1.96985E02 3.63116E02 1.38977E02 3.61787E02 4.31311E02 2.76240E02 2.58958E02 1.64535E02 2.69041E02 2.86441E02 1.42815E02 1.20589E02 -Frame 40 3.27769E03 1.87597E03 1.32111E03 2.14718E03 1.44143E03 1.70672E03 5.11510E03 1.94291E03 4.23677E03 1.70167E03 3.03528E03 2.68877E03 1.12479E04 1.88413E04 1.42545E03 2.80266E02 4.27354E02 4.87143E01 1.07507E02 2.91018E02 1.68160E02 1.47292E02 9.65607E01 7.24578E02 3.38950E02 5.34176E01 8.93516E01 1.51113E02 9.61697E01 3.08276E02 2.56806E02 2.14234E02 3.46036E02 4.12532E02 3.84529E02 2.27232E02 2.36472E02 2.52561E02 7.28387E01 8.09897E01 -Frame 40 4.78498E03 1.96746E03 4.62086E03 3.37255E03 5.14371E03 1.01736E04 6.40914E03 4.97405E03 3.12560E03 3.44055E03 3.00902E03 4.74839E03 1.12149E04 7.63743E03 1.14967E03 3.01546E02 4.38006E02 4.33299E02 6.77732E01 8.99087E01 1.25135E02 3.08765E02 7.46051E01 7.26034E02 3.33124E02 7.27263E01 1.09053E02 1.24085E02 1.30121E02 4.73534E02 1.98571E02 4.97416E02 8.28675E02 4.55631E02 3.52869E02 1.60616E02 2.03347E02 2.38217E02 8.49301E01 8.22198E01 -Frame 40 2.43479E03 8.24551E02 7.67608E02 1.62344E03 2.85355E03 6.26373E03 4.52377E03 1.75913E03 1.47675E03 2.10830E03 2.10815E03 2.84117E03 1.44107E04 4.17100E03 3.49391E02 2.53483E02 7.97270E01 7.11774E01 4.61748E01 9.32973E01 1.07318E02 7.67471E01 3.94948E01 1.81616E02 1.05175E02 5.52669E01 1.55051E02 1.57971E02 6.98240E01 5.32867E02 1.96852E02 3.20809E02 2.38761E02 2.53535E02 2.76742E02 2.28321E02 8.52327E01 1.05110E02 1.20166E02 1.45968E02 -Frame 40 1.70782E02 2.84529E02 5.68488E01 5.78513E01 4.44685E01 6.55727E01 2.63178E02 1.41077E02 7.80519E01 2.57081E02 3.19806E02 5.11866E02 7.92579E02 2.26467E02 1.59497E02 1.08838E02 5.16841E01 1.26501E02 9.24279E01 1.59580E02 6.70862E01 8.29460E01 2.43402E01 8.69850E01 6.12258E01 4.71768E01 8.41961E01 7.54680E01 8.12429E01 1.31550E02 1.44509E02 4.41982E02 1.99242E02 1.36850E02 2.50209E02 2.01182E02 1.07877E02 7.19005E01 1.07778E02 4.91584E01 -Frame 40 2.59195E03 1.50425E03 1.19819E03 1.40451E03 1.43853E03 2.79516E03 1.79790E03 7.70125E02 4.50292E02 1.65836E03 7.56780E02 1.36191E03 1.48632E03 2.87571E02 2.30386E02 1.10996E02 1.59843E02 1.12770E02 3.47345E01 2.14584E01 3.00679E01 6.84312E01 3.98968E01 7.02851E01 1.51178E02 7.86555E01 9.46998E01 1.26251E02 2.17036E02 1.24763E02 7.72242E01 2.01519E02 1.55665E02 1.23563E02 2.41453E02 1.30333E02 1.48209E02 7.96801E01 1.02369E02 8.43163E01 -Frame 40 1.18993E03 3.41240E02 2.36608E02 3.72049E02 3.62624E02 1.97713E03 6.62110E02 1.70496E02 1.26641E02 7.24138E02 1.38221E03 2.78202E03 1.00059E03 1.96895E02 5.86577E01 2.48443E01 4.02154E01 3.41938E01 3.11143E01 6.34684E01 6.63172E01 1.12294E02 3.28451E01 2.72704E02 4.91993E02 6.12128E01 6.17309E01 1.08867E02 2.11854E02 3.96822E02 1.69821E02 1.57350E02 2.67328E02 3.53630E02 5.22106E02 2.27846E02 1.34535E02 9.63444E01 1.24888E02 1.49430E02 -Frame 40 3.01410E02 1.19387E02 9.83786E01 2.60227E01 6.54639E01 5.77406E01 6.26741E01 9.42218E01 1.96324E02 1.20832E02 2.30498E02 2.06417E02 4.29266E02 3.05427E02 6.63838E01 6.59183E00 1.92492E01 3.84378E01 6.07662E01 4.73292E01 7.91982E01 1.89469E01 2.78931E01 5.89882E01 2.72441E02 4.30452E01 6.08102E01 1.74093E02 1.46099E02 1.01198E02 1.27038E02 1.51376E02 4.00350E02 3.48971E02 2.98105E02 2.29842E02 1.65153E02 1.83471E02 8.69232E01 1.62573E02 -Frame 40 1.04233E03 2.28583E02 1.78394E02 1.62826E02 7.53957E01 1.15336E02 2.36876E02 7.44354E01 1.04337E02 2.72903E02 2.86822E02 3.13502E02 2.47169E02 2.11213E02 1.05814E02 1.05094E02 1.37396E02 1.10419E02 2.99215E02 2.44040E02 6.91535E01 5.40263E01 2.83229E01 1.06837E02 1.66827E02 3.38561E01 4.19761E01 1.01793E02 7.83332E01 7.83584E01 5.03434E01 5.65123E01 1.22415E02 2.47053E02 2.69005E02 6.30261E01 1.06402E02 1.34044E02 1.43925E02 1.21702E02 -Frame 40 2.18499E02 1.92312E02 3.23507E01 7.89259E00 3.13546E01 2.83799E01 6.19651E01 4.97377E01 7.21941E01 2.68740E02 2.12090E02 4.15846E02 1.44607E02 1.03818E02 9.17960E01 4.29574E01 1.07524E02 5.90354E01 1.42514E02 3.14766E02 1.74356E02 8.26983E01 3.68662E01 6.12675E01 7.61962E01 4.67851E01 8.09309E01 1.19684E02 5.09881E01 8.33696E01 1.47258E02 1.03916E02 1.33966E02 2.18793E02 2.95450E02 1.03541E02 1.45147E02 8.33932E01 1.47885E02 9.90613E01 -Frame 40 4.88662E01 1.06856E01 8.44532E00 8.21664E00 1.31656E01 1.74351E01 7.56352E01 6.92331E01 9.25310E01 1.98261E02 2.22996E02 3.00181E02 1.20165E02 3.93882E01 5.31660E01 2.28858E01 6.04741E01 3.23077E01 7.11894E01 1.54772E02 7.17675E01 1.20472E02 5.63286E01 1.17103E02 5.16542E01 5.20380E01 7.52611E01 1.53614E02 6.56674E01 6.48215E01 1.44340E02 1.21146E02 9.74606E01 1.55703E02 2.31329E02 1.68442E02 1.23367E02 8.63150E01 1.83430E02 8.87578E01 -Frame 40 4.02118E01 4.35848E01 1.07478E01 3.86882E01 2.34618E01 6.06079E01 9.73462E01 4.54401E01 8.35316E01 1.05110E02 1.25189E02 2.41016E02 9.07402E01 6.57945E01 9.01872E01 1.30128E02 1.46740E02 6.36495E01 7.16624E01 7.83267E01 5.78879E01 8.71543E01 6.38628E01 1.82049E02 1.70682E02 1.91889E02 1.21552E02 1.13249E02 8.86930E01 4.07911E01 8.61262E01 1.43532E02 1.17819E02 2.59393E02 3.53509E02 1.03175E02 1.98820E02 1.22730E02 8.28243E01 9.06150E01 -Frame 40 1.15147E01 1.51068E01 1.59656E01 5.19179E01 3.37057E01 3.12205E01 1.50470E01 3.93117E01 3.72860E01 1.13986E02 1.22839E02 1.87040E02 1.20592E02 1.01562E02 4.00413E01 5.52061E01 8.17561E01 3.12893E01 5.53557E01 5.86131E01 5.62591E01 1.37700E02 5.39355E01 6.23312E01 8.00287E01 1.56472E02 1.03873E02 2.39673E02 1.39167E02 4.79208E01 3.57748E01 2.20519E02 1.52435E02 3.11954E02 3.39396E02 1.63108E02 1.51249E02 1.59599E02 7.05762E01 6.62384E01 -Frame 40 4.72677E00 5.92687E01 4.71707E01 1.56356E01 8.52881E00 2.99577E01 4.80710E01 1.64301E01 8.34382E00 4.91861E01 1.68271E02 5.04739E01 1.28664E02 8.57693E01 2.05046E01 4.83915E01 2.53220E01 1.84623E01 3.99517E01 1.18253E02 2.33304E01 8.84077E01 4.09039E01 2.00432E01 4.50226E01 7.79850E01 4.68397E01 8.00960E01 8.07675E01 5.92469E01 7.46029E01 1.56800E02 2.45079E02 2.18169E02 2.52986E02 1.26639E02 9.28445E01 1.60276E02 2.02368E02 7.56743E01 -Frame 40 1.52827E-01 2.09120E01 1.54503E01 5.27697E00 1.56965E01 1.42389E01 4.15598E01 7.66702E01 2.79412E01 5.25589E01 2.47185E01 2.44406E01 5.57797E01 5.23444E01 5.21582E01 2.19883E01 2.98958E01 1.42689E01 4.82989E01 8.75409E01 1.99132E01 1.55565E02 7.44954E01 4.59267E01 1.91612E01 9.11521E01 1.24823E02 5.51011E01 4.31221E01 5.70613E01 5.79703E01 1.46460E02 1.34543E02 1.89688E02 2.33819E02 2.88866E02 1.20899E02 1.23382E02 5.58678E01 3.95717E01 -Frame 40 4.82227E00 2.07486E01 6.84577E00 4.57384E00 4.79096E00 1.09300E01 1.20769E01 1.10196E01 8.83288E00 2.98983E01 4.71352E01 2.53976E01 1.62381E02 1.46370E02 5.35617E01 4.87275E01 7.46190E01 4.19884E01 4.67823E01 1.06707E02 5.89071E01 1.92901E02 9.71505E01 6.60374E01 4.99905E01 5.45833E01 1.04882E02 1.13748E02 1.53519E02 8.77289E01 5.59957E01 1.01844E02 1.43223E02 2.41128E02 2.26220E02 6.67195E01 9.86793E01 2.47426E02 8.86226E01 6.12802E01 -Frame 40 2.90678E01 8.41451E01 3.89472E01 1.33462E00 3.48466E00 1.57751E01 2.11738E01 6.70670E01 2.04177E01 2.45434E01 2.96079E01 7.71724E00 1.63664E02 9.51438E01 4.09059E01 1.64579E01 3.14721E01 4.70268E01 5.72608E01 1.06139E02 6.29798E01 1.43279E02 6.87708E01 6.55973E01 5.48542E01 3.32915E01 1.31371E02 1.44314E02 9.80735E01 8.68055E01 9.57780E01 3.00791E02 1.57447E02 1.92880E02 1.37077E02 4.59235E01 8.66528E01 2.86983E02 1.75500E02 7.47352E01 -Frame 40 1.65269E01 1.86886E01 1.75732E01 2.28089E01 6.02365E01 1.11268E02 5.59911E01 9.75902E01 1.00261E02 1.59758E02 3.59675E01 2.64830E01 1.63403E02 1.30085E02 1.40056E02 5.72898E01 5.51721E01 1.82222E02 1.08888E02 1.16532E02 2.75030E01 9.66250E01 6.79311E01 1.01486E02 6.57800E01 4.80584E01 6.31955E01 1.81017E02 1.48928E02 6.95696E01 5.71319E01 1.64919E02 1.60286E02 5.71070E01 8.91429E01 1.73885E02 8.23164E01 9.63862E01 1.50022E02 6.88465E01 -Frame 40 9.44980E00 3.41738E01 2.58571E01 1.18035E01 1.98122E01 8.19774E00 1.97719E01 1.80676E01 1.08847E01 9.18513E01 6.86671E01 1.65541E01 1.02364E01 1.48059E01 6.92040E01 1.01383E02 6.66166E01 4.71434E01 5.39588E01 1.38413E02 3.51953E01 5.31306E01 2.72483E01 2.28413E01 8.50470E01 9.31364E01 5.60338E01 1.05678E02 1.14260E02 1.25292E02 9.48811E01 1.55955E02 1.12907E02 1.64908E02 3.56001E02 2.23402E02 6.23226E01 8.55531E01 1.50477E02 8.80822E01 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1422745326979, duration: 5235ms diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-preemp.dump b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-preemp.dump deleted file mode 100755 index b33d5f7a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-preemp.dump +++ /dev/null @@ -1,323 +0,0 @@ -Signal: DataStartSignal: creation time: 1422745323757 -Signal: SpeechStartSignal -Frame 160 8.50000E01 -3.45000E00 2.37000E00 5.37000E00 4.46000E00 -1.48000E00 1.40000E00 3.37000E00 -6.00000E-01 3.10000E-01 4.25000E00 3.10000E-01 2.25000E00 -2.75000E00 1.10000E00 -1.93000E00 -4.05000E00 4.77000E00 8.60000E-01 -3.17000E00 1.68000E00 6.80000E-01 -4.35000E00 1.47000E00 3.47000E00 -3.47000E00 3.38000E00 1.44000E00 7.44000E00 -1.38000E00 -4.70000E-01 7.47000E00 -4.35000E00 -5.53000E00 3.26000E00 -4.68000E00 -1.86000E00 9.05000E00 -7.10000E-01 -1.77000E00 1.14000E00 -3.86000E00 -4.01000E00 -1.16000E00 3.78000E00 3.87000E00 -2.04000E00 2.87000E00 4.93000E00 2.05000E00 -4.92000E00 -2.10000E00 5.81000E00 2.96000E00 -1.29800E01 -4.40000E00 -2.55000E00 -2.64000E00 -2.73000E00 1.18000E00 -3.79000E00 9.00000E-02 -1.91000E00 2.03000E00 -9.10000E-01 1.06000E00 1.09000E00 -8.80000E-01 -2.91000E00 -4.00000E00 -1.12000E00 1.85000E00 -5.09000E00 1.76000E00 3.82000E00 -6.06000E00 -3.24000E00 -3.33000E00 -1.42000E00 -5.45000E00 2.40000E00 3.49000E00 1.61000E00 2.67000E00 -1.24000E00 1.73000E00 -5.21000E00 -1.36000E00 -7.39000E00 -7.60000E00 -8.10000E-01 -1.08100E01 2.89000E00 3.01000E00 3.13000E00 3.25000E00 3.70000E-01 -5.60000E00 7.25000E00 5.49000E00 -4.33000E00 -2.45000E00 -5.10000E-01 -3.51000E00 3.40000E00 -6.48000E00 -1.36600E01 3.95000E00 -1.90000E00 -9.30000E-01 -4.93000E00 2.95000E00 -9.30000E-01 -2.93000E00 6.01000E00 -6.78000E00 4.00000E-02 3.07000E00 1.19000E00 2.50000E-01 -6.72000E00 1.00000E-01 8.13000E00 -6.00000E-01 4.00000E-01 -2.57000E00 3.70000E-01 2.40000E00 2.49000E00 -1.42000E00 -4.50000E-01 5.50000E-01 1.58000E00 -3.36000E00 -5.45000E00 7.40000E00 -6.36000E00 -6.54000E00 1.28000E00 1.34000E00 -3.60000E00 -6.90000E-01 3.10000E-01 -2.66000E00 2.80000E-01 -1.69000E00 -6.72000E00 -3.90000E00 5.01000E00 1.01900E01 -7.48000E00 3.10000E-01 -1.66000E00 -6.90000E-01 -1.69000E00 -7.72000E00 4.07000E00 7.22000E00 -5.54000E00 1.31000E00 -Frame 160 -2.63000E00 -2.69000E00 2.50000E-01 2.80000E-01 -7.69000E00 5.10000E00 -7.20000E-01 -4.72000E00 1.60000E-01 3.19000E00 3.10000E-01 3.40000E-01 -6.63000E00 -8.10000E-01 -1.81000E00 -2.84000E00 1.00000E-01 2.13000E00 1.22000E00 -1.72000E00 2.50000E-01 4.28000E00 -5.57000E00 -3.72000E00 6.19000E00 2.40000E00 -3.51000E00 -4.60000E00 2.80000E-01 6.31000E00 5.52000E00 2.70000E00 -4.21000E00 6.70000E-01 -3.30000E00 -5.39000E00 2.46000E00 7.55000E00 -4.21000E00 -1.33000E00 5.64000E00 -3.18000E00 -1.27000E00 -3.00000E-01 5.70000E00 3.88000E00 -2.00000E00 -6.00000E-02 8.94000E00 5.21000E00 -6.64000E00 1.50000E-01 5.15000E00 3.30000E00 -6.61000E00 -1.82000E00 2.12000E00 1.18000E00 2.21000E00 -2.73000E00 -2.82000E00 6.09000E00 2.70000E-01 -2.73000E00 6.18000E00 -7.64000E00 -2.88000E00 6.03000E00 3.21000E00 -1.70000E00 -1.07600E01 -6.09000E00 7.30000E-01 -1.24000E00 -7.27000E00 5.20000E-01 6.55000E00 8.76000E00 1.03000E00 -6.94000E00 6.85000E00 1.06000E00 -2.91000E00 9.00000E00 2.27000E00 9.33000E00 8.60000E00 7.84000E00 -1.49500E01 -1.04300E01 -2.76000E00 6.15000E00 -2.67000E00 -7.60000E-01 3.21000E00 5.30000E00 -5.55000E00 -6.73000E00 4.06000E00 5.18000E00 -1.36700E01 5.91000E00 3.09000E00 3.18000E00 -4.73000E00 -1.88000E00 2.06000E00 1.20000E-01 -3.88000E00 4.00000E00 -2.88000E00 -4.97000E00 1.88000E00 6.94000E00 1.15000E00 -8.20000E-01 1.50000E-01 4.15000E00 -7.30000E-01 -1.07600E01 -3.09000E00 -6.18000E00 -5.36000E00 -2.51000E00 6.43000E00 -8.36000E00 2.40000E00 4.90000E-01 -9.48000E00 3.25000E00 -6.30000E-01 3.70000E-01 4.40000E00 5.50000E-01 -5.42000E00 -2.57000E00 3.70000E-01 -4.60000E00 -1.72000E00 -7.50000E-01 4.25000E00 -3.60000E00 -3.69000E00 2.22000E00 1.31000E00 -2.63000E00 -2.69000E00 2.25000E00 -5.66000E00 -2.81000E00 1.30000E-01 -8.40000E-01 -1.84000E00 -1.87000E00 1.00000E-01 -9.87000E00 -5.14000E00 -3.26000E00 -5.32000E00 -3.44000E00 -Frame 160 -7.50000E00 1.33200E01 -6.23000E00 -7.38000E00 3.44000E00 4.59000E00 -2.02300E01 -1.80000E00 2.00000E-01 -5.74000E00 2.14000E00 -1.74000E00 -4.74000E00 -1.08300E01 -1.10000E00 -3.07000E00 -6.10000E00 -2.20000E-01 -3.16000E00 -7.19000E00 -4.34000E00 4.60000E00 -5.19000E00 -1.12800E01 -7.55000E00 -1.70000E00 -1.67000E00 -4.64000E00 -2.70000E00 -8.70000E00 -1.88000E00 1.50000E-01 -2.76000E00 -7.60000E-01 -5.70000E00 -2.79000E00 1.21000E00 -1.67000E00 -6.64000E00 -2.76000E00 -1.27600E01 -6.06000E00 -5.15000E00 -7.21000E00 -4.33000E00 -9.36000E00 -4.54000E00 5.43000E00 -1.30000E00 -1.02400E01 -2.45000E00 -1.42000E00 -3.36000E00 3.64000E00 -8.15000E00 -7.30000E00 -1.14200E01 -2.66000E00 -7.63000E00 -3.75000E00 6.25000E00 -1.45000E00 -9.39000E00 -8.57000E00 -5.72000E00 -8.78000E00 -1.93000E00 -1.87000E00 -6.81000E00 1.00000E-01 -3.78000E00 -1.78000E00 -6.72000E00 1.19000E00 -2.66000E00 -3.63000E00 -2.63000E00 2.40000E00 -3.42000E00 1.58000E00 6.73000E00 3.03000E00 -4.79000E00 -5.85000E00 -9.40000E-01 -8.80000E-01 -8.82000E00 -5.00000E00 -1.06000E00 -7.00000E00 -1.12000E00 -1.06000E00 -2.00000E00 6.03000E00 -7.00000E-01 -6.40000E-01 4.42000E00 -9.37000E00 -3.58000E00 8.39000E00 2.72000E00 6.87000E00 -1.86000E00 -4.86000E00 -5.95000E00 -4.07000E00 1.87000E00 -8.01000E00 -2.19000E00 -5.19000E00 -1.52800E01 2.33000E00 -1.52000E00 -1.49000E00 -4.46000E00 -5.20000E-01 6.54000E00 6.81000E00 -5.92000E00 -6.04000E00 -6.16000E00 -4.28000E00 2.66000E00 3.81000E00 -2.01000E00 -1.01000E00 -1.98000E00 -3.98000E00 -1.04000E00 -6.01000E00 -9.13000E00 -3.34000E00 -6.37000E00 5.10000E-01 -6.40000E00 -3.52000E00 -5.55000E00 -2.64000E00 -6.40000E-01 -3.58000E00 -3.61000E00 -6.40000E-01 -4.58000E00 1.36000E00 1.48000E00 -3.40000E00 -6.43000E00 1.45000E00 5.70000E-01 -1.34000E00 -1.31000E00 -1.22800E01 -6.58000E00 -7.00000E-01 3.60000E-01 -2.55000E00 -2.55000E00 4.50000E-01 5.40000E-01 4.63000E00 -Frame 160 -1.16000E00 8.70000E-01 -3.04000E00 1.93000E00 3.05000E00 -3.80000E00 -8.60000E-01 -2.83000E00 -7.86000E00 -6.04000E00 7.84000E00 -1.86000E00 -2.86000E00 -8.90000E-01 -6.86000E00 -1.00100E01 2.75000E00 -8.10000E00 -8.28000E00 6.54000E00 5.81000E00 3.05000E00 -3.80000E00 -2.86000E00 -5.89000E00 -7.01000E00 8.40000E-01 9.30000E-01 -7.98000E00 -1.16000E00 5.87000E00 -1.89000E00 -8.90000E-01 -8.60000E-01 -2.83000E00 1.40000E-01 1.20000E00 -4.71000E00 -1.08000E01 1.93000E00 2.05000E00 -4.83000E00 7.08000E00 -1.65000E00 3.50000E-01 -3.59000E00 4.35000E00 4.53000E00 7.10000E-01 -5.23000E00 -2.35000E00 2.62000E00 -2.26000E00 -2.90000E-01 -4.26000E00 -3.35000E00 2.59000E00 -6.29000E00 -4.40000E-01 -3.41000E00 5.30000E-01 2.59000E00 -8.29000E00 -6.50000E00 -6.50000E-01 -6.20000E-01 -5.59000E00 -1.71000E00 5.29000E00 -2.50000E00 -1.53000E00 -1.15300E01 1.17000E00 2.60000E-01 1.32000E00 -6.59000E00 -3.74000E00 2.20000E00 -6.80000E-01 -4.65000E00 -6.74000E00 -2.89000E00 4.08000E00 -4.74000E00 2.17000E00 6.29000E00 -1.04700E01 -1.74000E00 1.26000E00 -1.65000E00 6.35000E00 -9.41000E00 2.35000E00 6.47000E00 -4.29000E00 -1.38000E00 6.20000E-01 5.68000E00 -3.11000E00 -7.17000E00 -2.35000E00 6.20000E-01 -5.32000E00 -4.40000E-01 5.90000E-01 -7.35000E00 -1.53000E00 4.47000E00 -5.35000E00 -5.47000E00 4.10000E-01 -4.53000E00 -2.62000E00 1.35000E00 2.44000E00 -5.44000E00 -4.56000E00 8.35000E00 -7.35000E00 -8.53000E00 -7.40000E-01 -3.71000E00 -6.77000E00 2.08000E00 2.00000E-01 2.26000E00 -3.62000E00 -6.68000E00 -4.83000E00 -1.92000E00 -1.92000E00 -2.92000E00 1.05000E00 1.14000E00 -1.77000E00 -3.77000E00 -9.83000E00 -7.00000E-02 9.90000E-01 -7.92000E00 -5.10000E00 -1.19000E00 -4.16000E00 -1.02200E01 -5.46000E00 4.50000E-01 -4.46000E00 -1.05200E01 2.24000E00 -6.10000E-01 4.50000E-01 -1.46000E00 -1.43000E00 -2.40000E00 -1.40000E00 7.63000E00 -5.07000E00 -9.16000E00 6.30000E-01 2.72000E00 -Frame 160 -6.13000E00 -5.25000E00 6.66000E00 1.93000E00 4.05000E00 1.23000E00 -3.68000E00 -7.74000E00 3.08000E00 -5.77000E00 -8.89000E00 7.90000E00 2.20000E00 -2.68000E00 -5.71000E00 1.17000E00 4.26000E00 -3.56000E00 3.38000E00 5.53000E00 7.74000E00 -2.99000E00 9.50000E-01 4.01000E00 -6.84000E00 -5.02000E00 -1.14000E00 8.60000E-01 1.92000E00 -2.99000E00 1.95000E00 1.04000E00 -9.00000E-01 9.10000E00 1.40000E00 -9.54000E00 -8.10000E-01 3.19000E00 3.31000E00 -5.70000E-01 -3.57000E00 6.34000E00 -3.45000E00 4.60000E-01 1.49000E00 -2.45000E00 4.49000E00 7.64000E00 -2.12000E00 3.82000E00 7.94000E00 -8.20000E-01 -3.85000E00 2.03000E00 7.09000E00 -2.70000E00 -2.79000E00 1.12000E00 6.15000E00 -6.70000E-01 -3.70000E00 2.18000E00 2.24000E00 -4.70000E00 1.15000E00 -4.82000E00 8.03000E00 5.27000E00 2.42000E00 8.48000E00 7.20000E-01 -1.28000E00 -3.34000E00 6.54000E00 -2.80000E-01 -1.31000E00 -2.37000E00 5.40000E-01 2.54000E00 -4.40000E00 -5.55000E00 1.27000E00 9.30000E00 -1.43000E00 2.51000E00 2.57000E00 6.30000E-01 6.30000E-01 2.63000E00 6.69000E00 -2.13000E00 8.78000E00 5.02000E00 -4.86000E00 7.96000E00 1.01700E01 -3.56000E00 2.90000E-01 7.26000E00 -1.56000E00 3.50000E-01 5.32000E00 -6.56000E00 2.00000E-01 3.17000E00 5.23000E00 6.35000E00 1.50000E00 -2.50000E00 7.38000E00 8.56000E00 5.77000E00 -2.11000E00 -2.30000E-01 7.71000E00 7.89000E00 6.07000E00 3.19000E00 5.22000E00 -6.90000E-01 4.22000E00 1.42800E01 -3.60000E-01 -2.45000E00 2.40000E00 3.40000E00 4.43000E00 7.49000E00 -3.60000E-01 4.55000E00 4.61000E00 1.67000E00 1.64000E00 8.61000E00 1.47900E01 1.15000E00 1.09000E00 1.10300E01 1.42700E01 -4.40000E00 -3.64000E00 1.11500E01 6.39000E00 5.48000E00 7.54000E00 6.66000E00 9.75000E00 1.09300E01 6.14000E00 5.20000E00 8.23000E00 9.35000E00 3.50000E00 2.47000E00 5.41000E00 2.44000E00 9.38000E00 9.53000E00 -2.32000E00 1.47000E00 -Frame 160 1.43800E01 9.68000E00 -3.17000E00 4.59000E00 7.59000E00 1.26800E01 9.20000E-01 4.80000E00 4.80000E00 -3.20000E00 5.60000E-01 5.44000E00 1.04700E01 1.65000E00 2.56000E00 1.15000E01 -2.29000E00 5.50000E00 -4.70000E-01 5.38000E00 6.41000E00 1.44700E01 -2.23000E00 -7.44000E00 3.20000E00 2.17000E00 5.11000E00 -8.60000E-01 2.99000E00 4.96000E00 4.99000E00 -1.09800E01 -3.43000E00 7.36000E00 2.48000E00 -5.50000E-01 3.33000E00 5.33000E00 -4.61000E00 -8.50000E-01 -9.70000E-01 -9.00000E-02 4.82000E00 2.88000E00 1.88000E00 -2.15000E00 -2.30000E00 6.55000E00 2.67000E00 2.67000E00 -5.33000E00 -5.70000E-01 5.34000E00 4.43000E00 -5.51000E00 -4.75000E00 -3.96000E00 8.60000E-01 1.83000E00 3.83000E00 7.89000E00 -6.93000E00 -3.20000E00 2.65000E00 -1.32000E00 -3.41000E00 4.44000E00 1.53000E00 5.30000E-01 3.50000E00 -2.44000E00 -6.56000E00 6.20000E00 2.35000E00 -6.62000E00 4.14000E00 3.23000E00 -7.10000E-01 2.30000E-01 6.20000E00 3.35000E00 -1.59000E00 -6.80000E-01 6.26000E00 8.41000E00 4.62000E00 2.71000E00 1.87400E01 -7.50000E-01 -2.84000E00 1.30100E01 7.34000E00 2.49000E00 9.49000E00 6.70000E00 2.82000E00 6.82000E00 4.94000E00 4.00000E00 2.03000E00 6.00000E00 2.40900E01 8.72000E00 2.87000E00 8.84000E00 4.99000E00 1.00200E01 1.02000E01 1.03800E01 1.05600E01 8.74000E00 5.86000E00 4.89000E00 1.58900E01 8.22000E00 1.03100E01 8.46000E00 1.55500E01 8.85000E00 -5.06000E00 6.61000E00 1.26400E01 9.85000E00 3.97000E00 5.91000E00 3.91000E00 2.85000E00 3.76000E00 1.70000E00 8.58000E00 6.70000E-01 2.52000E00 1.14300E01 6.10000E-01 3.46000E00 4.00000E-01 6.25000E00 3.28000E00 1.22000E00 -9.00000E-01 -6.08000E00 6.59000E00 4.65000E00 4.65000E00 -3.50000E-01 2.50000E00 4.44000E00 -5.56000E00 2.14000E00 2.08000E00 -4.98000E00 2.75000E00 -7.28000E00 -2.61000E00 2.10000E-01 -1.88000E00 -1.03000E00 -3.15000E00 -3.33000E00 5.49000E00 -Frame 160 -3.42000E00 -1.60000E00 3.28000E00 2.31000E00 3.10000E-01 -2.75000E00 -9.00000E-01 4.01000E00 -7.93000E00 -3.23000E00 -4.38000E00 -1.56000E00 -1.65000E00 -5.74000E00 1.05000E00 -3.95000E00 -1.00000E-01 4.87000E00 -4.01000E00 -5.16000E00 6.60000E-01 -2.34000E00 -2.43000E00 1.48000E00 -1.49000E00 -5.55000E00 -1.73000E00 -1.79000E00 -8.50000E-01 -2.88000E00 -3.97000E00 -4.09000E00 -2.10000E-01 7.90000E-01 -5.18000E00 -5.33000E00 5.20000E-01 -4.45000E00 -1.57000E00 -1.60000E00 5.37000E00 3.55000E00 -1.33000E00 8.64000E00 1.29100E01 3.00000E-01 7.30000E00 1.45100E01 1.89300E01 2.24700E01 1.71000E01 2.05500E01 2.60900E01 2.87800E01 3.45300E01 2.74300E01 1.90900E01 2.34800E01 2.39900E01 2.45000E01 1.90100E01 2.93400E01 1.59700E01 7.18000E00 1.11200E01 8.18000E00 2.15000E00 2.94000E00 6.76000E00 2.70000E00 -4.80000E-01 -2.75000E00 3.92000E00 4.80000E00 7.10000E-01 3.50000E00 8.38000E00 5.41000E00 6.35000E00 1.43200E01 3.53000E00 3.41000E00 1.22900E01 -5.60000E-01 1.02000E01 3.29000E00 -3.83000E00 4.84000E00 7.80000E-01 7.60000E00 6.63000E00 -1.37000E00 7.39000E00 3.42000E00 -2.67000E00 1.00600E01 5.18000E00 6.15000E00 -8.50000E-01 1.09400E01 9.09000E00 -1.82000E00 3.94000E00 -9.12000E00 5.43000E00 -3.57000E00 -6.84000E00 -5.20000E00 3.50000E00 -4.53000E00 -1.38000E01 6.60000E-01 -1.04300E01 -1.08500E01 -5.27000E00 -1.45100E01 2.98000E00 -3.99000E00 -1.51700E01 -7.68000E00 -3.95000E00 -9.10000E00 -1.44000E01 1.50000E-01 -8.50000E-01 -9.88000E00 -6.18000E00 -6.36000E00 -9.54000E00 -1.38100E01 -9.20000E00 -1.04400E01 -8.71000E00 -1.49200E01 -1.43100E01 -5.67000E00 -1.57600E01 -2.15000E00 -1.20000E-01 -1.60300E01 -4.42000E00 -6.45000E00 -9.54000E00 -5.72000E00 -1.07800E01 -1.09900E01 -5.20000E00 -1.32300E01 -1.55000E01 -8.83000E00 -1.29500E01 -9.19000E00 -1.63100E01 -1.26400E01 -1.38500E01 -1.70900E01 -1.64200E01 -1.97200E01 -2.51100E01 -1.46500E01 -Frame 160 -6.86000E00 -1.48300E01 -1.50400E01 -3.25000E00 1.39000E01 3.35600E01 2.97900E01 2.78700E01 2.08600E01 3.66100E01 4.08100E01 5.51000E01 5.47800E01 5.04000E01 4.68400E01 4.91300E01 4.04500E01 2.54700E01 2.10100E01 1.14000E01 5.49000E00 -7.60000E00 -8.08000E00 -1.55600E01 -2.72500E01 -2.52700E01 -2.52000E01 -3.21000E01 -1.91800E01 -8.84000E00 -4.17000E00 -4.35000E00 -4.53000E00 1.62900E01 5.74000E00 1.58600E01 2.32800E01 1.39100E01 -7.60000E-01 1.20000E-01 -6.97000E00 -4.27000E00 -3.48000E00 -9.66000E00 -2.00200E01 -1.36800E01 -1.01300E01 -2.54600E01 -9.24000E00 -5.10000E-01 -7.51000E00 -7.72000E00 1.07000E00 1.01300E01 7.46000E00 1.67000E01 1.32100E01 9.60000E00 1.28700E01 1.52300E01 2.65000E00 1.06800E01 -3.05000E00 -1.22000E01 -6.62000E00 -6.86000E00 -1.41000E01 -1.25500E01 -1.69400E01 -2.14500E01 -1.50800E01 -5.50000E00 -7.62000E00 -7.80000E00 -4.98000E00 -1.07000E00 9.60000E-01 4.05000E00 8.23000E00 6.53000E00 1.27700E01 2.11900E01 1.68500E01 1.43600E01 9.78000E00 2.30500E01 1.57100E01 1.01300E01 1.43700E01 3.73000E00 3.76000E00 1.79000E00 -4.24000E00 1.55000E00 -1.14800E01 -1.49000E01 -4.41000E00 -8.59000E00 -1.38900E01 -4.34000E00 -4.90000E-01 -2.52000E00 -6.61000E00 1.80000E-01 -6.82000E00 1.29700E01 1.23600E01 -3.28000E00 6.00000E-01 -4.00000E-01 -3.43000E00 -2.55000E00 -2.64000E00 -7.73000E00 -1.19700E01 -2.13300E01 -1.19600E01 -4.29000E00 -2.13800E01 -1.49800E01 -2.73700E01 -1.21200E01 -3.90000E-01 -2.33000E01 -1.29000E01 -3.17000E00 -9.14000E00 -7.29000E00 -1.33800E01 -8.65000E00 -3.77000E00 -2.77400E01 -4.30000E-01 -9.28000E00 -3.44000E01 -1.02700E01 -7.39000E00 -3.34200E01 -2.02300E01 -1.76200E01 -3.19200E01 -2.76400E01 -1.62100E01 -1.44200E01 -3.05700E01 -3.02000E01 -1.28000E01 -3.58600E01 -4.16100E01 -1.95100E01 -3.97200E01 -4.25300E01 -3.34000E01 -3.99700E01 -3.27200E01 -1.92300E01 -1.53200E01 1.17100E01 2.45500E01 4.17500E01 -Frame 160 6.74300E01 6.88300E01 6.82000E01 9.74800E01 1.04570E02 1.03780E02 9.68700E01 8.96600E01 8.41500E01 5.44000E01 3.76900E01 5.04400E01 1.05500E01 -1.25700E01 -1.53800E01 -4.22500E01 -5.59000E01 -5.39100E01 -6.08000E01 -7.08400E01 -5.71200E01 -3.89200E01 -3.51200E01 -1.41700E01 1.44000E00 5.53000E00 1.77400E01 2.23100E01 3.70000E01 2.01100E01 3.36800E01 4.06400E01 1.87800E01 1.32300E01 5.50000E00 -6.47000E00 1.20000E00 -8.89000E00 -2.42800E01 -1.31200E01 -2.26000E01 -1.23500E01 2.23000E00 2.60000E-01 7.23000E00 9.41000E00 2.36500E01 3.53100E01 2.73000E01 2.60200E01 3.26800E01 2.65200E01 2.21500E01 2.26300E01 9.11000E00 3.17000E00 1.30500E01 1.62300E01 -1.75000E01 -1.22500E01 -4.82000E00 -8.15000E00 -9.57000E00 1.98000E00 1.18900E01 -1.90000E00 2.89000E00 1.48300E01 1.13000E00 -1.99000E00 1.08000E01 -2.02000E00 -6.23000E00 -1.15600E01 -1.90400E01 2.27000E00 -1.76000E00 -1.19100E01 -1.03600E01 -1.75000E00 5.13000E00 1.22000E00 8.19000E00 5.37000E00 -3.54000E00 5.28000E00 -1.63000E00 -1.75000E00 -1.58700E01 -1.24100E01 -2.08300E01 -2.54900E01 -3.32700E01 -4.02600E01 -3.04300E01 -2.92700E01 -2.70500E01 -2.17400E01 -2.22500E01 -2.07600E01 -1.62100E01 4.90000E-01 -1.33000E01 -2.45100E01 -1.60500E01 -1.43200E01 -2.95300E01 -4.11900E01 -3.41800E01 -3.49300E01 -4.06800E01 -4.35800E01 -4.85400E01 -4.96200E01 -4.17000E01 -4.25100E01 -3.63200E01 -3.09200E01 -3.73400E01 -4.69400E01 -4.68100E01 -3.46500E01 -4.91000E01 -6.79700E01 -5.43800E01 -5.63400E01 -7.43300E01 -8.68300E01 -8.16600E01 -4.72800E01 -6.82000E00 3.38700E01 8.37600E01 8.70900E01 9.54200E01 1.42900E02 1.72700E02 1.83250E02 2.03950E02 1.84100E02 1.75470E02 1.55420E02 1.14620E02 8.44700E01 3.83300E01 7.75000E00 -1.67600E01 -8.19900E01 -1.22140E02 -1.40400E02 -1.66080E02 -1.36390E02 -1.27650E02 -1.44520E02 -1.14780E02 -7.50200E01 -4.59700E01 -1.99000E00 8.34000E00 3.29700E01 -Frame 160 5.63200E01 6.83300E01 7.56400E01 6.41000E01 6.01400E01 8.20000E01 5.44600E01 2.80200E01 9.74000E00 -8.11000E00 -2.50000E00 -6.71000E00 -1.40400E01 -3.58000E00 -6.79000E00 -6.09000E00 2.26400E01 7.24000E00 3.63600E01 5.63500E01 5.69100E01 5.94400E01 3.90000E01 1.59000E01 2.50800E01 1.55300E01 -3.20000E-01 -2.96500E01 -5.38500E01 -5.77400E01 -5.76900E01 -6.75800E01 -6.87100E01 -5.88100E01 -2.85500E01 -2.23300E01 -1.59000E01 7.40000E-01 3.68900E01 6.51200E01 7.71600E01 7.55000E01 8.17200E01 7.90600E01 8.52500E01 7.75600E01 6.05700E01 4.70100E01 2.70000E01 1.03600E01 9.21000E00 -2.49700E01 -2.91700E01 -1.04600E01 -2.71500E01 -4.73200E01 -6.50600E01 -5.92800E01 -3.92600E01 -3.95800E01 -4.28700E01 -3.22200E01 -4.52100E01 -2.65600E01 -1.23100E01 -1.56100E01 -1.80000E01 -4.50000E-01 1.96400E01 1.13300E01 -1.42500E01 -2.61000E00 1.93900E01 1.10500E01 9.44000E00 -1.23000E00 -2.42300E01 -2.79200E01 -2.87000E01 -3.04800E01 -5.42900E01 -6.97900E01 -5.77100E01 -5.52100E01 -7.05900E01 -6.93900E01 -6.21000E01 -4.75400E01 -3.65000E01 -4.11000E01 -5.18200E01 -4.38400E01 -5.15900E01 -4.55500E01 -5.73000E01 -8.53800E01 -8.22700E01 -8.50100E01 -9.37800E01 -1.05760E02 -1.23040E02 -1.36770E02 -1.36830E02 -1.48800E02 -1.55040E02 -6.83700E01 3.50000E01 1.41490E02 2.36100E02 2.51380E02 2.46870E02 3.26970E02 3.70230E02 3.85480E02 3.73850E02 3.09530E02 2.56960E02 1.73560E02 4.54600E01 -5.86000E01 -1.46780E02 -1.92510E02 -2.37440E02 -3.24510E02 -3.75950E02 -3.97620E02 -3.42590E02 -2.27550E02 -1.85760E02 -1.41530E02 -3.98300E01 1.60200E01 1.00550E02 1.64570E02 1.78390E02 2.18450E02 2.30530E02 1.90760E02 1.52580E02 8.40800E01 4.43900E01 4.34400E01 4.30000E-01 -3.69000E01 -8.13400E01 -1.01070E02 -5.93100E01 -4.32000E01 -2.05500E01 3.38200E01 5.88400E01 7.55800E01 1.13770E02 8.40400E01 1.01320E02 1.24050E02 8.73800E01 6.15100E01 -1.22000E01 -8.91600E01 -Frame 160 -9.74000E01 -1.36790E02 -1.49260E02 -1.42970E02 -1.56350E02 -1.31000E02 -8.87500E01 -6.81200E01 -1.48000E01 5.21700E01 1.21150E02 1.76140E02 1.80660E02 1.84150E02 2.04580E02 1.82460E02 1.80500E02 1.48330E02 9.30500E01 6.60000E01 2.20800E01 -2.71900E01 -6.29300E01 -1.06690E02 -1.30680E02 -1.12270E02 -1.34170E02 -1.16610E02 -9.63900E01 -9.74500E01 -5.14500E01 -2.49800E01 -2.96700E01 1.35200E01 3.60300E01 4.52000E01 5.26100E01 4.22000E01 4.24300E01 2.96300E01 1.34100E01 3.86800E01 5.70000E00 -3.33000E01 -3.47000E00 -2.07100E01 -4.94600E01 -4.80500E01 -6.25500E01 -5.14400E01 -6.29400E01 -8.87400E01 -5.82600E01 -5.67900E01 -5.42300E01 -2.85500E01 -4.50600E01 -6.20500E01 -5.35200E01 -5.76900E01 -4.49500E01 -6.37900E01 -9.21700E01 -1.09360E02 -1.38000E02 -1.41420E02 -1.58840E02 -2.01680E02 -1.99690E02 -1.89490E02 -2.23840E02 -1.97090E02 -2.12380E02 -2.19000E02 -1.46800E01 1.54910E02 2.88540E02 5.24980E02 5.21200E02 4.36790E02 5.77350E02 5.73720E02 5.20460E02 5.02100E02 3.29750E02 1.15820E02 -4.27700E01 -2.21160E02 -3.65800E02 -4.72520E02 -5.34060E02 -5.43980E02 -5.71690E02 -5.72730E02 -5.22290E02 -3.25840E02 -5.20600E01 4.21800E01 1.39240E02 2.56120E02 2.52330E02 3.63150E02 4.45030E02 3.36010E02 2.88300E02 1.98850E02 5.04600E01 -1.15500E01 -1.15450E02 -1.58440E02 -9.66000E01 -1.27750E02 -1.44740E02 -1.12120E02 -5.83900E01 6.80500E01 1.47330E02 1.85920E02 2.09530E02 1.51680E02 1.52910E02 1.15050E02 -1.10700E01 -1.20600E01 -7.10500E01 -1.82780E02 -2.40780E02 -3.36340E02 -3.18540E02 -2.12900E02 -1.67810E02 -6.91900E01 -3.48000E00 2.42400E01 1.68770E02 2.81590E02 2.98620E02 3.56890E02 3.45630E02 3.07710E02 2.44350E02 1.38830E02 1.01950E02 3.78700E01 -5.19000E00 -3.85400E01 -1.92850E02 -2.29720E02 -1.82490E02 -1.99610E02 -1.50060E02 -9.78300E01 -9.78900E01 -5.38600E01 -5.04200E01 2.17000E00 7.63800E01 5.88100E01 9.76400E01 1.12580E02 -Frame 160 2.88800E01 1.65700E01 5.08700E01 7.61900E01 6.82300E01 -9.03000E00 -9.66000E00 -5.29000E00 -4.77700E01 -3.05100E01 -6.80000E-01 -5.89200E01 -8.69000E01 -9.46600E01 -9.75700E01 -1.06480E02 -1.18570E02 -3.69300E01 -3.17400E01 -7.13700E01 -2.61700E01 7.44000E00 5.07000E00 2.46100E01 -1.22800E01 -7.23100E01 -1.17140E02 -1.44260E02 -1.59100E02 -2.02270E02 -2.52610E02 -2.44300E02 -2.39540E02 -2.83450E02 -2.76500E02 -1.98130E02 -1.59210E02 -1.64000E02 -7.38500E01 1.47090E02 3.72660E02 6.36800E02 8.23470E02 6.96120E02 6.09180E02 6.61000E02 5.90840E02 4.73010E02 2.94160E02 2.65800E01 -2.18220E02 -4.31310E02 -5.91520E02 -6.83080E02 -7.15800E02 -6.40850E02 -5.47990E02 -5.17770E02 -4.25170E02 -2.04360E02 1.09410E02 3.21720E02 3.72240E02 4.00930E02 3.85100E02 3.42400E02 3.69050E02 3.14180E02 1.64330E02 3.97100E01 -7.57800E01 -1.63750E02 -2.13270E02 -1.50110E02 -1.68500E01 2.95500E01 1.43600E01 8.46900E01 1.30120E02 1.96840E02 2.45450E02 1.83350E02 9.01800E01 -2.49300E01 -1.19550E02 -1.89960E02 -3.01350E02 -3.20890E02 -2.57730E02 -2.61380E02 -2.63910E02 -1.70290E02 -4.96400E01 1.14760E02 2.99110E02 3.26860E02 2.74150E02 3.27550E02 3.50300E02 3.19440E02 2.71350E02 1.30550E02 3.10000E-01 -1.39200E01 -4.15400E01 -1.18940E02 -1.11590E02 -1.41880E02 -1.98950E02 -1.13580E02 -6.44500E01 -9.67300E01 -1.59100E01 5.94300E01 3.05000E00 -2.60700E01 1.94000E00 2.28200E01 2.43300E01 1.87000E00 5.72000E00 1.76900E01 -1.19800E01 4.64500E01 8.46500E01 5.19600E01 4.92200E01 5.93600E01 3.17700E01 -3.06900E01 -3.40400E01 -3.45000E00 -4.69000E01 -9.06400E01 -1.08640E02 -1.34090E02 -8.12000E01 -2.86000E01 -4.73500E01 -5.76400E01 -7.82000E01 -9.33300E01 -5.98500E01 -9.29000E00 -8.17000E00 -4.80200E01 -8.10700E01 -1.30080E02 -2.13500E02 -2.03320E02 -1.78660E02 -2.22100E02 -2.48710E02 -2.43950E02 -2.28860E02 -2.63140E02 -2.59290E02 -9.81400E01 -8.59800E01 -1.23430E02 -Frame 160 9.80100E01 4.11140E02 6.76510E02 9.95410E02 9.40220E02 6.50450E02 5.93140E02 5.13550E02 3.88080E02 2.96440E02 -8.72300E01 -4.46600E02 -5.87590E02 -8.09330E02 -8.87130E02 -6.82490E02 -5.67890E02 -5.05240E02 -3.64220E02 -2.25550E02 -4.14400E01 3.05340E02 5.54500E02 5.00800E02 3.79940E02 2.82970E02 2.19730E02 2.36330E02 1.39230E02 -1.19900E01 -8.60000E-01 -1.10370E02 -2.03150E02 -5.36000E01 5.06300E01 1.80040E02 3.29290E02 1.97860E02 3.92000E01 8.06200E01 9.62700E01 2.13400E01 -1.09900E02 -2.63070E02 -4.06710E02 -4.19400E02 -3.42090E02 -3.01080E02 -1.83540E02 7.80000E-01 4.77700E01 1.22140E02 2.36670E02 2.94500E02 4.67830E02 4.89080E02 2.55540E02 1.38560E02 7.68600E01 -7.79000E00 3.89800E01 1.71900E01 -9.22600E01 -1.15980E02 -1.27300E02 -9.18300E01 -3.41600E01 5.33400E01 8.25100E01 3.52000E00 -4.69000E01 -1.06820E02 -1.26480E02 1.53800E01 4.62000E00 -1.00470E02 -1.05710E02 -7.30100E01 -2.02300E01 8.52000E01 1.33810E02 1.66800E02 1.42660E02 6.96500E01 6.63300E01 5.18600E01 2.91000E00 1.24600E01 -4.76900E01 -1.74640E02 -2.22340E02 -1.41300E02 -3.36200E01 4.42000E00 -5.37000E00 -8.46000E00 -2.06400E01 -1.61800E01 -1.55700E01 -3.99300E01 -6.70100E01 -1.04870E02 -1.05810E02 -1.24690E02 -2.39050E02 -2.31740E02 -1.30010E02 -2.01040E02 -2.45110E02 -1.61350E02 -1.68890E02 -2.02550E02 -9.21100E01 -5.22200E01 -2.09100E02 -2.18690E02 -3.84300E01 -8.16200E01 -1.33130E02 1.74830E02 5.28090E02 9.52730E02 1.03658E03 7.61050E02 6.55310E02 5.14730E02 3.43380E02 3.76480E02 -1.66700E01 -5.40880E02 -7.02720E02 -8.21850E02 -8.93860E02 -7.59250E02 -5.66780E02 -3.25860E02 -2.45230E02 -1.25930E02 5.01200E01 2.87510E02 5.86920E02 6.00000E02 3.47900E02 1.56670E02 1.73800E01 9.37700E01 1.58440E02 -4.10300E01 -7.62000E00 8.84000E00 -6.51900E01 1.40560E02 2.31550E02 2.49150E02 3.79080E02 2.16700E02 -5.48700E01 -1.46750E02 -1.93300E02 -1.92080E02 -Frame 160 -2.72620E02 -4.60380E02 -4.53510E02 -3.66010E02 -2.29480E02 4.46000E00 1.01600E02 1.85620E02 3.10040E02 2.83000E02 2.67850E02 2.86980E02 2.69440E02 2.79120E02 1.59860E02 -1.19210E02 -2.03770E02 -2.27300E01 5.69500E01 3.30600E01 1.52420E02 2.01350E02 3.36300E01 -5.28000E00 6.96400E01 -6.21600E01 -1.67950E02 -9.58300E01 -1.78370E02 -3.64280E02 -2.57590E02 -2.93600E01 5.79500E01 6.79000E01 9.10900E01 1.61910E02 1.76770E02 1.62930E02 2.18520E02 1.49640E02 7.51000E00 -1.60000E01 -7.72000E01 -1.94200E02 -1.25620E02 -5.79000E00 -4.24000E00 -4.66300E01 -3.32800E01 2.55200E01 9.11200E01 9.46700E01 2.02500E01 -6.24800E01 -1.30700E02 -1.78900E02 -2.45420E02 -2.98770E02 -2.16500E02 -9.15000E01 -6.15700E01 -3.46800E01 -3.59500E01 -4.02500E01 -3.26700E01 -5.28500E01 -1.08630E02 -2.65060E02 -2.94110E02 -2.21820E02 -2.99130E02 -3.08600E02 -1.54130E02 -2.38800E02 -1.07930E02 9.70200E01 3.11500E01 3.36150E02 8.45210E02 1.16518E03 1.12794E03 6.18510E02 3.53790E02 3.07610E02 -2.32200E01 -8.41900E01 -2.90900E02 -8.13670E02 -7.93800E02 -6.86550E02 -6.83340E02 -3.55410E02 -1.51040E02 2.77500E01 7.10000E01 -7.95200E01 7.93400E01 2.94000E02 2.39990E02 2.83060E02 6.11800E01 -2.13630E02 4.82500E01 2.24170E02 1.97310E02 2.93430E02 2.72250E02 2.18170E02 2.25230E02 1.55320E02 1.33130E02 1.23160E02 -5.22000E01 -2.32900E02 -3.92940E02 -4.39540E02 -2.35160E02 -1.45240E02 -2.07410E02 -1.43320E02 -1.09130E02 1.42000E01 1.66310E02 1.01950E02 7.14900E01 1.62010E02 5.71700E01 -3.19700E01 1.71600E01 5.47900E01 1.71530E02 2.62720E02 2.10490E02 9.24600E01 7.57100E01 1.97390E02 2.75670E02 1.74140E02 6.93400E01 -8.67300E01 -2.65510E02 -3.23540E02 -2.48040E02 -1.51960E02 -1.34760E02 -1.27900E02 -9.67100E01 -5.34700E01 8.71500E01 2.17030E02 2.06720E02 5.89000E01 -6.15400E01 -1.66400E01 1.16700E01 -1.50000E-01 4.66700E01 4.90000E00 -3.01600E01 3.27300E01 -Frame 160 6.85400E01 1.01400E02 1.13190E02 5.62500E01 -3.74900E01 -1.42080E02 -1.43760E02 -4.73500E01 -8.79100E01 -1.01640E02 -4.87000E01 -1.30080E02 -1.09860E02 -6.29200E01 -2.00480E02 -1.71120E02 -4.07100E01 -7.82500E01 -1.89000E01 -1.97200E01 -1.93570E02 -2.14640E02 -1.87190E02 -2.51750E02 -2.59110E02 -2.27500E02 -2.58750E02 -1.86780E02 -8.94700E01 -6.81300E01 -4.31300E01 -3.53800E01 -1.24200E01 1.34200E02 4.80170E02 1.01334E03 1.23102E03 7.19280E02 4.06070E02 3.17840E02 -3.33600E01 -2.63300E01 -1.52000E02 -6.13360E02 -7.31370E02 -7.67320E02 -5.75660E02 -2.19550E02 -1.19250E02 -9.67700E01 -4.25400E01 -2.08630E02 -1.70000E00 1.77590E02 1.15220E02 1.95780E02 9.66200E01 -5.07200E01 7.84100E01 3.28440E02 4.09880E02 3.86450E02 3.62940E02 1.59380E02 6.04000E01 8.13300E01 7.48600E01 -5.78500E01 -1.68580E02 -3.29550E02 -3.14170E02 -1.94010E02 -7.39500E01 8.90000E-01 -7.99600E01 -7.62400E01 -1.83400E01 -6.96400E01 -3.04700E01 1.39300E01 -5.63200E01 -1.03700E02 -6.04600E01 4.16000E00 1.74760E02 2.83460E02 2.10250E02 2.04580E02 2.10550E02 2.36520E02 2.32090E02 1.76330E02 -1.32900E01 -8.73000E00 2.01000E00 -4.18900E01 -5.10800E01 -9.64800E01 -1.71170E02 -1.79990E02 -9.19000E01 -5.19900E01 -3.57900E01 -4.50500E01 -9.35500E01 -6.94600E01 -4.95600E01 5.60000E01 7.97700E01 -8.00000E-01 4.01400E01 1.21310E02 9.98800E01 1.18700E02 1.64000E02 2.95600E01 1.69500E01 3.49500E01 -4.45100E01 -1.16370E02 -2.13300E01 6.68000E00 -1.15440E02 -5.62200E01 3.98900E01 -2.00600E01 -2.18400E01 1.23500E01 -1.08410E02 -2.30800E02 -2.75760E02 -2.84860E02 -1.77990E02 -5.76700E01 3.74000E01 3.33500E01 -5.38800E01 -1.55780E02 -1.33710E02 -1.13860E02 -2.76320E02 -2.50580E02 -2.46850E02 -3.44820E02 -1.98550E02 2.03700E01 -9.70200E01 -1.90100E01 8.93700E01 1.20960E02 2.59360E02 7.33750E02 1.36409E03 8.72640E02 1.39200E02 2.47990E02 4.69600E01 -2.95280E02 2.22200E01 -2.96440E02 -Frame 160 -6.68640E02 -4.25700E02 -3.74840E02 -2.21060E02 2.76700E01 -6.95000E00 -2.97650E02 -4.71080E02 -2.45460E02 1.83300E01 4.12200E01 6.47400E01 1.14890E02 6.74500E01 2.66450E02 5.16330E02 5.25440E02 3.26340E02 2.37790E02 1.00300E02 -1.38510E02 2.54500E01 2.34800E01 -1.55550E02 -1.24950E02 -1.20270E02 -1.65320E02 7.34000E01 1.31440E02 -4.68400E01 -1.62580E02 -2.32740E02 -1.51850E02 -1.62320E02 -1.25970E02 -8.63900E01 -1.03520E02 -2.61000E01 7.67200E01 1.60630E02 2.49970E02 2.16830E02 1.28460E02 6.32400E01 9.50000E-01 5.47400E01 1.57150E02 1.47590E02 1.10610E02 3.54000E01 1.36850E02 1.43330E02 2.11900E02 1.72420E02 -1.42410E02 -3.03810E02 -2.73890E02 -2.47770E02 -1.29600E02 -7.66500E01 -1.58990E02 -8.37300E01 1.89300E01 9.87400E01 1.54920E02 1.26690E02 -2.55300E01 -1.08430E02 -1.17900E01 2.08500E01 1.01480E02 1.91510E02 7.51500E01 2.91300E01 1.08670E02 1.11580E02 2.24900E01 -2.73600E01 -1.01710E02 -1.92250E02 -1.80400E02 -2.50100E01 4.21000E00 -8.26700E01 -2.91600E01 -7.39700E01 -1.94100E02 -1.78770E02 -1.38810E02 -1.72500E02 -1.25090E02 1.78800E01 -2.47700E01 -1.20740E02 -9.95900E01 -1.06720E02 -2.81000E02 -1.98440E02 -1.74180E02 -2.95050E02 -1.84430E02 3.47300E01 -1.19420E02 -2.08280E02 2.32500E01 8.58600E01 -1.10730E02 3.50650E02 7.32920E02 9.29290E02 7.45850E02 3.39050E02 1.22380E02 2.19930E02 -1.97670E02 -1.44960E02 -1.91450E02 -5.25170E02 -3.33700E02 -6.59900E01 -1.81940E02 3.56900E01 -5.79900E01 -5.07520E02 -3.54490E02 -1.20420E02 -2.53030E02 -8.35400E01 9.82300E01 3.54900E01 2.03740E02 3.88970E02 4.03540E02 4.12170E02 2.85680E02 4.20200E01 6.08000E01 -6.88000E00 -5.16300E01 -3.70000E00 1.07300E01 -7.39000E00 5.49500E01 2.51800E01 1.40480E02 4.82300E01 -2.15900E02 -2.05980E02 -1.33550E02 -2.70750E02 -2.01940E02 -8.28200E01 -6.69500E01 1.24600E01 1.23300E02 8.84400E01 1.13410E02 1.78040E02 5.15000E01 -1.80000E01 -Frame 160 -1.63000E00 1.12500E01 8.35200E01 1.70950E02 2.16930E02 2.61140E02 6.44900E01 1.25720E02 2.96750E02 1.36820E02 -1.17150E02 -1.73830E02 -2.32070E02 -1.87870E02 -1.00110E02 -4.55300E01 1.27900E01 -1.40900E01 -9.37800E01 -1.68400E01 8.65000E01 -2.00400E01 -1.25850E02 -7.78100E01 -3.92100E01 -1.13800E01 8.33200E01 1.44870E02 1.66190E02 1.16020E02 9.82000E01 8.77500E01 1.29100E01 -7.32400E01 -8.79700E01 -1.01060E02 -1.74500E01 6.77000E00 -2.32600E01 -2.01900E01 -6.00000E00 -2.13600E01 -1.25170E02 -2.01070E02 -2.15130E02 -1.83430E02 -9.85900E01 -9.05000E00 4.62500E01 -1.22800E02 -1.82980E02 -1.87870E02 -2.00760E02 -2.23890E02 -1.69560E02 -2.14430E02 -1.52530E02 -9.26200E01 -1.44820E02 -6.55500E01 1.02180E02 2.95000E00 1.09600E02 4.14400E02 8.92200E02 6.83920E02 1.88560E02 3.83720E02 3.16580E02 -2.90900E02 -7.58600E01 2.02930E02 -3.36820E02 -2.47920E02 8.49800E01 -7.38900E01 -5.90000E-01 -6.50100E01 -4.45350E02 -2.91030E02 -8.76700E01 -3.45950E02 -2.36910E02 1.36700E02 -1.72900E01 -5.90500E01 2.65930E02 3.60690E02 1.93030E02 8.10000E01 6.44300E01 9.92900E01 7.11400E01 -3.19400E01 7.18300E01 1.43750E02 6.97700E01 8.54500E01 1.94550E02 1.97860E02 6.71100E01 -1.28720E02 -1.08460E02 -4.74500E01 -1.61490E02 -1.93890E02 -5.81000E01 -2.80500E01 -6.10400E01 -1.79900E01 2.04100E01 6.29800E01 8.81000E00 -4.70400E01 -3.35700E01 1.43500E01 -3.62600E01 -6.84000E01 9.95300E01 1.07560E02 1.09740E02 2.81890E02 1.13110E02 1.09020E02 2.11720E02 5.24200E01 -5.08300E01 1.20800E02 -5.33500E01 -2.23810E02 1.26900E01 2.35100E01 -3.73400E01 -1.50200E01 -3.59800E01 -3.15400E01 -4.92000E00 -9.94600E01 -1.23820E02 3.31900E01 -6.49700E01 -1.49100E02 8.23100E01 1.20800E02 -2.96300E01 3.33200E01 1.19190E02 2.56100E01 -2.98800E01 -2.60500E01 -2.80700E01 -3.61200E01 -5.43800E01 -3.01500E01 6.88600E01 3.98700E01 -3.10500E01 1.98700E01 4.63500E01 -6.03900E01 -Frame 160 -1.21370E02 -6.51200E01 -7.60700E01 -5.92900E01 1.00600E01 2.45400E01 -3.55600E01 -6.94900E01 -7.34100E01 -1.13390E02 -1.25510E02 -1.60900E02 -1.32250E02 -1.12610E02 -7.52800E01 -3.17500E01 -7.58700E01 -4.23100E01 1.03000E01 -5.35000E01 3.07500E01 1.82550E02 2.75850E02 1.75760E02 2.00400E02 2.09610E02 6.89100E01 -3.42000E01 2.85400E01 -3.38000E01 -2.30300E01 3.01000E01 5.48500E01 3.13200E01 3.50400E01 -4.15000E00 1.04600E01 4.95200E01 -4.52500E01 -7.89000E01 -4.55100E01 2.39600E01 -1.84400E01 -2.51300E01 4.90000E01 1.33800E01 8.65000E00 3.87700E01 4.07900E01 1.28400E01 -2.89800E01 -2.70600E01 -5.05000E00 1.46500E01 -1.30500E01 4.84100E01 6.47300E01 1.85000E01 3.68300E01 4.27000E01 2.47200E01 3.91700E01 1.04000E00 -2.72600E01 5.06000E01 1.08300E01 -5.31700E01 9.91000E00 5.09400E01 -3.80000E00 4.57800E01 7.08600E01 7.66000E00 -4.49000E00 2.40000E01 6.23600E01 -2.91400E01 -1.41430E02 1.61950E02 5.15700E01 -1.39260E02 1.01150E02 1.61910E02 -1.75900E01 -1.76100E01 8.94000E01 -5.53500E01 -7.35100E01 1.38500E01 6.39100E01 -8.35300E01 -3.51440E02 4.11700E02 6.20600E01 -2.53440E02 9.75500E01 2.04310E02 -1.18810E02 -6.08000E01 1.53070E02 -1.32580E02 1.40700E01 1.28250E02 -7.31500E01 1.03000E01 9.33300E01 -6.31500E01 9.60000E00 3.66000E01 -5.85900E01 -3.06600E01 -7.83000E00 -1.72800E01 2.10000E01 5.04500E01 3.27700E01 3.05200E01 3.41800E01 -6.07000E00 -2.95500E01 1.28000E00 -1.49300E01 -4.76200E01 -2.12700E01 -3.08000E00 -4.32000E00 8.41000E00 -2.04700E01 -4.92200E01 -3.88100E01 -4.00400E01 -4.12700E01 -2.65000E01 -3.32500E01 -2.71800E01 -4.89000E01 3.75000E00 -1.59800E01 -6.31000E00 -3.13400E01 -8.12000E00 2.58200E01 3.97800E01 7.11300E01 1.13380E02 2.28300E01 -5.45400E01 -2.92500E01 -3.15000E00 -7.24000E00 5.15500E01 4.41100E01 -5.60000E00 -2.48400E01 5.33500E01 5.09100E01 4.83500E01 2.66700E01 1.73000E01 9.63000E00 -Frame 160 6.97200E01 3.46100E01 3.23900E01 2.60800E01 -9.44000E00 1.79600E01 5.22000E01 2.94600E01 1.00000E01 -1.70600E01 -1.39300E01 -1.16800E01 1.36600E01 2.77800E01 1.13200E01 1.33500E01 7.44000E00 -1.65000E00 -9.01000E00 4.42000E00 4.27000E00 -1.88000E00 2.17900E01 4.11800E01 1.41400E01 8.26000E00 6.20000E00 2.08000E00 2.08400E01 4.01700E01 2.70700E01 1.65500E01 2.77000E01 2.41800E01 2.35400E01 2.68700E01 5.29000E00 -6.95000E00 3.45000E00 1.01800E01 9.12000E00 4.60300E01 3.70500E01 -7.23000E00 7.14000E00 2.79600E01 8.41000E00 -2.57400E01 -1.39100E01 -2.96900E01 -4.19200E01 1.52000E00 5.73100E01 2.78000E00 -1.74300E01 1.17600E01 4.85000E00 1.47300E01 1.99100E01 1.24000E00 -3.00000E00 -4.36000E00 -2.75000E00 1.69200E01 5.19000E00 -3.19000E01 -2.51000E01 -1.06000E00 8.73000E00 1.78200E01 1.21800E01 -3.64000E00 -4.94000E00 8.73000E00 1.98200E01 5.24000E00 -6.79000E00 -3.21800E01 -1.43200E01 -1.18900E01 -1.33700E01 4.12000E00 1.50000E-01 -5.94000E00 -1.32100E01 -2.36900E01 -4.94700E01 -5.20000E01 -4.05600E01 -3.37300E01 -2.26600E01 -3.02300E01 -2.70100E01 -4.16700E01 -3.67500E01 -2.86500E01 -4.42800E01 -3.83600E01 6.77000E00 2.42800E01 9.13000E01 1.02300E02 3.75400E01 -3.22600E01 -3.01900E01 -3.00300E01 1.16000E00 4.43100E01 3.67500E01 -1.10800E01 -3.33800E01 3.56600E01 5.18000E01 3.83900E01 2.85300E01 1.03400E01 2.58000E00 5.55800E01 6.21700E01 1.89100E01 9.30000E00 -2.66100E01 3.40000E00 4.13400E01 2.94200E01 1.31100E01 -5.71000E00 -2.01000E01 1.09000E00 1.29400E01 2.61500E01 -2.50000E-01 8.54000E00 -9.40000E00 -3.88000E00 -1.01800E01 -3.66000E00 -7.93000E00 -1.43200E01 1.41100E01 2.94100E01 1.61600E01 1.04900E01 6.40000E-01 1.14900E01 3.96700E01 4.56900E01 2.98600E01 1.45200E01 6.70000E00 2.06400E01 1.50000E01 1.01800E01 -4.79000E00 7.90000E-01 7.55000E00 2.85200E01 1.51200E01 3.73000E01 1.01400E01 -Frame 160 8.14000E00 1.60800E01 2.62600E01 -1.02600E01 -1.89000E00 -1.92500E01 -4.21200E01 -6.50000E-01 1.51100E01 1.33500E01 -1.14700E01 9.96000E00 5.00000E-02 1.18400E01 2.19900E01 2.44000E00 -2.27100E01 1.13900E01 1.35400E01 1.77500E01 2.00800E01 -5.30000E-01 -3.77000E00 -2.10000E00 1.36300E01 2.84000E00 1.07200E01 2.08400E01 2.60000E-01 1.10500E01 2.11700E01 2.45900E01 -1.90000E00 -7.20000E00 1.03500E01 1.24400E01 1.59000E00 -4.59000E00 -2.69500E01 -2.49700E01 -1.39000E01 2.05300E01 1.80100E01 1.40000E00 -2.27200E01 -3.75600E01 -4.08200E01 -4.01400E01 -2.84000E01 -3.42700E01 -2.92900E01 -3.51300E01 -2.01200E01 -3.46300E01 -3.15600E01 -3.13700E01 -1.21500E01 1.46700E01 5.23000E01 1.04040E02 7.62800E01 -4.10000E-01 -3.84700E01 -1.96700E01 -3.27000E00 3.26400E01 5.56300E01 2.82800E01 -3.94000E00 8.50000E-01 7.57900E01 4.39800E01 2.01500E01 3.57000E00 1.24800E01 3.66600E01 7.05600E01 4.74500E01 2.25900E01 9.50000E-01 6.50000E-01 4.23500E01 4.03100E01 2.41800E01 6.54000E00 -5.64000E00 -3.18000E00 1.93700E01 1.76100E01 6.79000E00 1.76400E01 1.48200E01 5.91000E00 7.73000E00 1.61000E00 -2.86900E01 -1.28900E01 1.42000E00 4.31800E01 3.62000E01 3.39800E01 1.76700E01 1.48500E01 4.19400E01 5.48400E01 5.01000E01 1.21800E01 5.09000E00 1.67900E01 2.18500E01 2.06000E00 5.67000E00 -6.60000E00 9.77000E00 1.86500E01 3.78000E01 1.25200E01 3.24600E01 7.00000E00 2.76000E00 1.24000E01 4.53400E01 1.27000E00 -8.15000E00 1.16000E00 2.77000E00 -5.60000E-01 2.80200E01 2.94700E01 -4.05000E00 1.41000E00 3.05000E00 7.75000E00 -7.40000E00 8.00000E00 -1.01200E01 1.02200E01 1.71900E01 3.13700E01 2.89700E01 1.14800E01 4.50000E-01 1.70900E01 9.24000E00 1.21500E01 -8.50000E-01 9.76000E00 -2.30000E00 1.52800E01 8.40000E00 5.31000E00 9.13000E00 8.07000E00 5.98000E00 1.88300E01 -3.93000E00 -7.38000E00 -1.69200E01 -2.67300E01 -3.81000E00 -Frame 160 1.68300E01 1.31000E01 -7.75000E00 -1.02300E01 -2.57700E01 -4.07600E01 -3.91700E01 -2.24900E01 -3.22700E01 -4.13200E01 -2.96100E01 -3.25100E01 -2.64700E01 -1.82200E01 -3.97000E01 -3.38100E01 -2.71000E00 2.23500E01 6.81600E01 8.83200E01 3.50200E01 -4.39600E01 -2.53400E01 -8.12000E00 3.06400E01 5.65700E01 5.42500E01 8.10000E-01 -1.82800E01 3.00600E01 3.88700E01 2.39200E01 -5.51000E00 -1.84000E00 2.19500E01 6.14600E01 5.01400E01 2.14300E01 1.08200E01 -1.11200E01 2.02800E01 2.36400E01 2.60900E01 -1.40000E00 -1.07300E01 -1.73300E01 -1.01100E01 9.35000E00 1.14100E01 -7.47000E00 1.10800E01 1.20000E00 -4.98000E00 2.66000E00 -2.14600E01 -2.13000E01 -1.01100E01 2.94400E01 3.91900E01 1.92100E01 8.60000E00 1.06600E01 2.07800E01 3.32000E01 3.29800E01 9.73000E00 6.76000E00 4.70000E00 1.35800E01 6.73000E00 -3.30000E-01 -2.60000E00 -1.09300E01 9.50000E00 1.75600E01 4.86000E00 -1.12300E01 -1.08000E01 -3.43400E01 -5.57000E00 1.31000E01 3.23400E01 3.71500E01 2.20800E01 -7.47000E00 2.08000E00 -2.20700E01 -5.94000E00 -9.30000E00 -9.75000E00 -2.20000E00 -5.41000E00 -1.07100E01 5.84000E00 -7.10000E00 -5.43000E00 1.43000E01 1.76300E01 5.05000E00 1.08000E00 -4.01000E00 -7.25000E00 -4.58000E00 -1.82000E00 -3.97000E00 -1.01800E01 -1.25700E01 7.98000E00 1.11600E01 -8.57000E00 -1.90000E00 -6.02000E00 -7.26000E00 1.04700E01 6.74000E00 -1.11100E01 -2.05000E01 -3.21600E01 -4.01500E01 -1.93500E01 6.11000E00 2.35000E00 -9.53000E00 -1.37700E01 -4.11300E01 -4.53000E01 -2.65600E01 -3.82200E01 -3.22100E01 -4.49900E01 -3.71300E01 -3.40000E01 -3.77500E01 -4.35900E01 -4.95800E01 -6.37200E01 -1.02500E01 1.48700E01 6.67400E01 6.31400E01 3.13600E01 -3.84400E01 -1.93700E01 -7.70000E00 2.43300E01 4.53200E01 1.79100E01 -2.63700E01 -7.00000E00 1.99700E01 1.97500E01 2.25000E01 7.31000E00 1.26400E01 2.31200E01 6.29000E01 2.58500E01 -2.37000E00 5.54000E00 -1.93100E01 -Frame 160 9.00000E-02 2.70900E01 -8.10000E00 -2.33700E01 -2.90900E01 -9.96000E00 -6.23000E00 1.62000E00 -1.29000E00 -4.29000E00 -1.38000E00 2.62000E00 8.74000E00 -1.19600E01 -2.22900E01 -3.59200E01 1.50600E01 2.46000E01 1.94100E01 -5.96000E00 3.89000E00 1.04000E00 2.81000E01 2.59700E01 2.57500E01 -2.50000E00 -1.62000E00 -6.71000E00 5.00000E-02 -1.89800E01 -1.65800E01 -1.50900E01 -1.55400E01 1.10100E01 1.23700E01 1.76000E00 -4.18000E00 -9.30000E00 -1.25700E01 3.07000E00 4.21900E01 3.14800E01 -2.59000E00 -1.97100E01 -1.53400E01 -1.68200E01 -2.03300E01 7.00000E-02 2.10000E00 -1.38100E01 -1.12000E01 7.50000E00 -9.23000E00 3.53000E00 -1.13200E01 3.80000E-01 -6.56000E00 3.29000E00 -2.56000E00 2.41000E00 -1.84700E01 -2.39800E01 -1.86400E01 -3.12000E00 -1.01200E01 -9.33000E00 -5.10000E-01 -4.42000E00 -7.45000E00 -7.57000E00 -6.69000E00 -9.78000E00 -1.59600E01 -1.23200E01 -1.75600E01 -3.29500E01 -4.87900E01 -4.30800E01 -3.01600E01 -4.82000E00 6.30000E00 -1.25000E00 -3.00400E01 -4.27000E01 -5.37200E01 -4.00400E01 -3.09100E01 -3.64800E01 -4.32000E01 -5.61000E01 -3.53600E01 -4.89600E01 -4.09500E01 -5.56700E01 -7.18100E01 -4.94000E01 -1.62700E01 -1.71200E01 3.50000E01 4.76800E01 6.90000E-01 -3.17700E01 -2.32200E01 -2.14000E01 -1.85200E01 3.54500E01 4.04000E00 -7.36000E00 -3.31200E01 3.23400E01 -6.22000E00 2.00200E01 -1.29600E01 8.04000E00 -1.73300E01 3.45200E01 -7.00000E-02 -5.74000E00 -1.55900E01 -3.97400E01 -1.46100E01 -2.27000E01 -6.03000E00 -3.08500E01 -9.42000E00 -3.33300E01 -1.59600E01 -1.90500E01 -1.52300E01 -1.52900E01 -5.35000E00 -2.11100E01 -2.53500E01 -3.17100E01 -3.92500E01 -4.00000E01 -2.57500E01 4.95000E00 2.58000E00 -8.80000E-01 -2.46000E00 -9.10000E00 -4.95000E00 -4.68000E00 -1.14100E01 -2.43500E01 -1.96800E01 -4.18600E01 -1.57000E01 -3.27300E01 -1.22700E01 -4.61800E01 -3.31100E01 -1.66200E01 -1.36200E01 -1.05300E01 -1.43500E01 -1.82900E01 -1.13500E01 -2.12000E01 -Frame 160 -9.35000E00 -1.61400E01 -3.51400E01 -2.47100E01 -1.79500E01 -2.49800E01 -4.22200E01 -2.39700E01 -2.31500E01 -3.30000E00 -2.68500E01 -1.11200E01 -4.09100E01 -2.36000E01 -2.87500E01 -1.30500E01 -2.28700E01 -2.29900E01 -2.71100E01 -3.53500E01 -2.08300E01 -3.58600E01 -3.03400E01 -2.66400E01 -1.68200E01 -2.07000E01 3.00000E-01 -3.07000E00 -1.65600E01 -2.24700E01 -2.55600E01 -1.77400E01 -1.86800E01 -3.86500E01 -4.32200E01 -4.29100E01 -3.65700E01 -3.40200E01 -3.53800E01 -2.87700E01 -2.69500E01 -2.80700E01 -3.52200E01 -5.75800E01 -4.96000E01 -5.23500E01 -4.61600E01 -2.57600E01 -4.37300E01 -3.52400E01 -4.64800E01 -6.30500E01 -4.71000E01 -5.26400E01 -7.53300E01 -5.76800E01 -2.74600E01 -2.03100E01 -1.19500E01 2.56500E01 -6.40000E-01 -5.47700E01 -4.75500E01 -1.70900E01 -2.67000E01 1.39000E00 2.73200E01 3.00000E00 -1.91000E01 -1.68900E01 1.93800E01 7.30000E-01 -9.52000E00 -1.51000E01 -2.18600E01 -1.08300E01 -4.70000E-01 -1.58100E01 -1.76300E01 -2.95100E01 -2.37500E01 -1.38100E01 -2.15700E01 -1.05700E01 -3.12400E01 -2.75400E01 -2.47200E01 -2.48100E01 -5.90000E00 -3.44200E01 -1.78100E01 -2.56900E01 -2.48100E01 -1.19000E01 -2.26000E01 -3.16300E01 -2.29300E01 -1.96000E00 4.64000E00 -6.58000E00 -6.16000E00 -2.07400E01 -1.27700E01 2.44000E00 -1.59000E01 -1.28100E01 -1.56300E01 -1.95400E01 -1.95700E01 -2.66000E01 -2.88400E01 -1.61400E01 -3.80500E01 -1.62000E00 -1.08000E00 -1.35400E01 -5.39000E00 -1.70000E01 -6.97000E00 -1.86400E01 3.23300E01 7.83000E00 -2.74500E01 -5.98100E01 -1.61300E01 -2.81000E01 1.35700E01 5.00000E-01 -1.59900E01 -3.79900E01 -1.76500E01 1.23200E01 -2.38100E01 -4.50500E01 -3.89200E01 -1.75800E01 -2.35800E01 1.32400E01 -3.48300E01 -1.63700E01 -3.03400E01 -2.07300E01 -8.20000E-01 -2.31000E00 -3.28600E01 -1.03400E01 -1.11300E01 -9.50000E-01 2.53000E00 -4.90000E00 -3.85700E01 -1.32600E01 -1.41700E01 -2.11000E00 -1.56900E01 -4.46900E01 -6.95600E01 -3.71500E01 -4.72000E00 1.47000E01 -Frame 160 -1.63100E01 -3.22800E01 -4.17300E01 -3.24500E01 -1.88700E01 -2.68700E01 -4.91100E01 -4.50100E01 -2.17600E01 -3.07900E01 -1.20900E01 -4.88200E01 -4.96600E01 -4.65000E01 -4.12200E01 -3.17600E01 -4.00000E01 -3.44800E01 -4.07800E01 -1.12600E01 1.91600E01 2.94800E01 -1.19300E01 -2.36300E01 -1.86900E01 -6.60000E00 1.48500E01 2.99300E01 1.74300E01 -1.84900E01 6.48000E00 3.92000E01 6.88000E00 -1.14600E01 -1.23700E01 -2.23100E01 -3.55000E00 4.97800E01 -1.33000E01 2.67000E00 -1.38800E01 -2.79400E01 5.80000E-01 9.70000E-01 -8.64000E00 -1.65500E01 -6.70000E00 -9.55000E00 5.51000E00 8.02000E00 -1.24100E01 -4.70000E-01 1.78300E01 2.16700E01 1.06000E01 -8.30000E-01 -1.46200E01 -1.48300E01 8.96000E00 1.84700E01 2.02500E01 6.00000E-02 -1.07600E01 1.00900E01 2.45700E01 -1.53000E00 -2.44000E00 -1.03800E01 4.44000E00 6.71000E00 1.00400E01 -4.54000E00 1.74300E01 8.06000E00 3.33900E01 2.14700E01 1.21600E01 5.50000E-01 1.65800E01 4.00900E01 1.92900E01 1.48300E01 -1.87800E01 6.59000E00 9.74000E00 5.59800E01 9.60000E00 1.77800E01 -2.28000E01 6.39000E00 4.48000E00 8.51000E00 -4.34000E00 -8.58000E00 4.06000E00 2.09000E00 3.10600E01 1.39000E01 7.20000E00 -2.71000E00 1.60800E01 1.14400E01 2.86500E01 9.37000E00 1.54900E01 1.87900E01 1.71800E01 2.15100E01 2.59600E01 1.15300E01 4.65000E00 1.15600E01 3.36800E01 2.14600E01 -1.50000E-01 -1.44200E01 1.89000E00 2.37100E01 2.01900E01 1.65500E01 1.87900E01 -1.91000E00 2.17600E01 1.31500E01 -2.73000E00 1.09100E01 -4.03000E00 5.80000E-01 2.34000E00 6.16000E00 2.10000E00 -1.00800E01 -2.36200E01 -8.55000E00 -2.60000E01 -9.96000E00 -1.14100E01 3.11000E00 1.80800E01 9.50000E00 2.46500E01 1.12500E01 5.94300E01 3.30500E01 6.38300E01 -5.49000E00 2.70600E01 -7.40000E00 6.20900E01 4.66800E01 4.97600E01 3.19000E01 3.54700E01 4.61300E01 1.90900E01 2.92100E01 1.46300E01 3.36000E01 1.01400E01 4.29600E01 -Frame 160 9.77000E00 3.85600E01 2.20000E-01 1.17100E01 1.45600E01 2.45000E01 2.47400E01 1.69800E01 2.09800E01 1.81000E01 4.11300E01 4.18500E01 2.35700E01 1.17200E01 2.25100E01 3.56300E01 3.41400E01 1.95900E01 1.35900E01 1.34100E01 3.42300E01 2.26800E01 3.57700E01 1.02500E01 1.09500E01 1.76800E01 2.96200E01 2.79200E01 1.21600E01 3.09200E01 2.32500E01 1.83400E01 3.52800E01 3.47300E01 8.15000E00 1.27600E01 3.25200E01 4.68800E01 4.46600E01 3.83500E01 1.58300E01 8.62000E00 1.22000E01 3.39000E01 2.82600E01 1.84400E01 1.83200E01 9.20000E00 1.88100E01 2.87200E01 2.59300E01 6.05000E00 1.55700E01 4.39000E00 5.48800E01 2.19000E01 7.90000E00 1.84800E01 -6.10000E-01 2.27300E01 2.97900E01 2.40600E01 6.15000E00 7.00000E-01 2.41000E01 3.62200E01 9.70000E00 3.13700E01 3.07000E01 1.00000E01 1.36700E01 2.44600E01 2.45800E01 9.70000E00 2.37000E00 3.83000E00 2.63500E01 1.75600E01 6.50000E00 1.11100E01 2.08700E01 2.99300E01 3.72600E01 9.80000E00 -7.50000E00 5.69000E00 1.93000E01 1.13300E01 1.11200E01 -1.00900E01 -9.93000E00 -4.74000E00 5.63000E00 1.33300E01 -1.37300E01 -7.60000E00 -2.72600E01 -2.49000E00 1.60600E01 1.41800E01 -3.76000E00 1.67600E01 3.91000E00 1.76700E01 6.28500E01 1.73800E01 2.55000E01 3.86000E00 4.45600E01 1.64900E01 6.25500E01 2.29900E01 3.82000E01 1.98600E01 5.19500E01 1.90000E01 3.70300E01 1.66000E01 8.54000E00 3.02400E01 2.26000E01 4.97200E01 1.46500E01 2.05000E01 1.65300E01 2.74400E01 2.66800E01 2.88900E01 1.01600E01 2.78600E01 2.41000E01 2.72200E01 3.94300E01 2.60000E01 1.51500E01 3.09700E01 2.42700E01 3.03600E01 1.96300E01 1.25700E01 -4.70000E00 1.35200E01 2.33100E01 2.54000E01 1.95500E01 4.52000E00 2.20400E01 2.51000E01 3.02500E01 1.65500E01 1.94300E01 5.40000E00 2.89500E01 2.12200E01 3.22500E01 1.96100E01 4.35800E01 1.52700E01 4.70900E01 3.28700E01 -Frame 160 2.72000E01 -5.65000E00 1.95100E01 -1.15500E01 1.94600E01 1.34300E01 2.62200E01 -1.60000E00 6.74000E00 2.83500E01 4.62000E00 9.17000E00 1.87000E00 4.36000E00 7.94000E00 2.36400E01 -1.80000E-01 2.12800E01 -6.00000E-01 -4.14000E00 1.22300E01 4.11000E00 -1.25000E00 2.40000E-01 1.79000E00 7.40000E00 -1.81000E00 6.71000E00 8.50000E00 7.35000E00 -9.83000E00 1.04800E01 1.44200E01 -1.55200E01 -2.36000E00 1.32200E01 -7.20000E-01 -5.08000E00 5.44000E00 -2.07100E01 -1.96400E01 1.84900E01 -1.21000E00 -7.51000E00 -8.99000E00 -1.25000E01 -6.10000E00 3.51000E00 -1.75800E01 -2.23000E01 -2.51400E01 -1.30400E01 -1.85500E01 -1.42100E01 -2.67200E01 -3.55900E01 -3.37000E01 -2.17200E01 -1.53500E01 -1.07700E01 -2.30400E01 -1.06700E01 -2.09100E01 -1.84500E01 -1.29000E01 -1.41700E01 1.45300E01 -5.90000E00 2.20400E01 -1.51800E01 6.46000E00 -2.62400E01 1.90700E01 -1.22400E01 2.84900E01 -2.75500E01 6.70000E00 0.00000E00 1.00900E01 -1.55200E01 3.09000E00 -2.73000E00 -7.30000E-01 1.73300E01 1.89300E01 1.55600E01 3.07000E00 -1.18100E01 1.86000E00 -5.00000E-02 7.98000E00 -1.75000E00 -1.78000E00 1.11900E01 -3.45000E00 1.84600E01 -4.97000E00 1.88000E00 -6.06000E00 2.76000E00 9.85000E00 8.15000E00 -2.66100E01 -1.04200E01 1.28000E00 1.33400E01 3.76000E00 1.88000E00 -5.06000E00 7.90000E-01 1.08200E01 1.15000E00 1.11800E01 2.05100E01 2.21100E01 1.37400E01 2.51000E01 2.37900E01 3.42000E00 5.42000E00 1.24800E01 2.47500E01 8.38000E00 5.00000E-01 5.38000E00 4.41000E00 4.41000E00 2.04100E01 1.28900E01 1.01300E01 1.12800E01 4.46000E00 4.43000E00 4.00000E-01 -4.75000E00 -4.05000E00 6.68000E00 1.74000E00 2.26500E01 7.19000E00 2.02500E01 -1.63000E01 -9.60000E-01 -2.14000E00 2.65000E00 -4.41000E00 3.20000E-01 -2.80000E00 2.09900E01 7.50000E00 3.59000E00 -2.44000E00 5.35000E00 3.80000E-01 -3.74000E00 4.02000E00 -4.98000E00 -1.32500E01 -5.76000E00 3.97000E00 -Frame 160 5.00000E00 -9.40000E-01 -1.50600E01 -4.60000E00 -1.68100E01 5.62000E00 -1.72600E01 -2.98300E01 3.00240E02 -8.67600E01 -3.29640E02 2.11280E02 -5.82700E01 -7.61000E01 2.05900E01 -2.67500E01 -4.35300E01 -3.67900E01 -8.28100E01 -1.71800E01 -4.05100E01 -3.55300E01 -3.03700E01 -2.30300E01 -2.44500E01 -2.90000E00 -2.69000E00 -1.84800E01 -2.97500E01 -9.35000E00 -6.32000E00 -5.20000E00 -5.05000E00 -1.29000E01 2.01000E00 -4.26300E01 2.43800E01 1.34300E01 1.20000E-01 -2.46100E01 1.59100E01 -1.13400E01 -1.74300E01 -1.97000E01 -1.03000E00 -2.17900E01 -1.81800E01 -8.45000E00 -9.42000E00 -1.64200E01 -1.16300E01 -2.46900E01 -1.11400E01 -3.61700E01 -1.49500E01 -6.07000E00 -2.19200E01 -1.32500E01 -3.31000E00 2.93000E00 -8.65000E00 -2.25900E01 -7.95000E00 -1.58600E01 2.99000E00 -3.75900E01 -2.74000E01 -1.98800E01 8.80000E-01 -1.67300E01 -8.80000E-01 -1.25500E01 -2.55800E01 -9.00000E00 1.70900E01 3.96000E00 -8.59000E00 -4.53000E00 2.65000E00 -1.39600E01 -6.08000E00 5.04000E00 3.44900E01 -9.19000E00 -1.42200E01 1.46000E01 -3.71000E00 -2.95900E01 -5.25000E00 -3.21600E01 8.12000E00 4.76300E01 -9.76900E01 3.95800E01 4.20500E01 -1.36450E02 7.06500E01 -4.92000E00 -4.18300E01 -3.85000E00 4.43000E01 -5.21100E01 3.05400E01 -2.82900E01 1.30800E01 2.57100E01 -1.05300E02 5.97300E01 2.18000E01 -6.53300E01 3.89000E01 -1.10690E02 2.02190E02 -1.93450E02 5.58500E01 3.28000E01 -4.70000E01 -3.23000E00 3.08900E01 -8.69700E01 1.11600E02 -7.08000E01 -8.07800E01 1.82000E02 -2.21270E02 1.31190E02 -8.25800E01 2.11100E01 5.98000E00 -4.26300E01 1.05290E02 -8.43200E01 1.12800E01 -3.61800E01 1.39920E02 -1.62670E02 -2.04700E01 1.61140E02 -1.91790E02 9.95400E01 7.80000E-01 -1.28040E02 1.50270E02 -1.32960E02 1.71700E01 -2.20800E01 4.47000E00 6.68300E01 -1.35950E02 1.45120E02 -1.92600E01 -6.77100E01 3.24000E01 -1.04300E01 3.34200E01 7.59000E00 1.99500E01 6.26700E01 -2.43500E01 3.99600E01 -Frame 160 3.32200E01 7.24000E00 2.14500E01 2.60800E01 1.08300E01 -1.19000E01 1.56800E01 1.41000E01 2.14600E01 6.03000E00 2.21200E01 1.06900E01 1.69000E01 2.52900E01 1.59200E01 3.02500E01 1.30000E01 7.21000E00 1.52400E01 4.55100E01 -4.32000E00 -2.68000E00 5.20200E01 2.23700E01 -3.02100E01 2.76200E01 2.52200E01 7.73000E00 1.37000E01 1.08500E01 1.09100E01 3.69700E01 -3.19000E00 3.74200E01 1.32600E01 3.03500E01 4.19500E01 8.88000E00 4.77900E01 -8.13000E00 5.12400E01 2.84100E01 -1.14000E00 5.64100E01 1.67000E01 5.57600E01 2.39900E01 1.22300E01 4.11000E00 3.37500E01 3.82900E01 -6.50500E01 7.74900E01 -1.62000E00 6.88400E01 -1.95700E01 3.23200E01 2.68000E01 -5.49000E01 1.08940E02 -3.12400E01 -1.97100E01 5.82100E01 3.45000E01 -6.96000E00 7.83200E01 -9.28200E01 6.38500E01 1.04320E02 -1.78040E02 1.43050E02 1.49500E01 -1.21110E02 3.03750E02 -3.48520E02 2.37380E02 1.64190E02 -4.39400E02 4.24770E02 -1.21720E02 -2.25980E02 4.11760E02 -2.48150E02 -1.04220E02 4.89270E02 -5.89330E02 5.23280E02 -2.19180E02 -1.20380E02 3.61600E02 -3.58840E02 1.05790E02 1.91700E02 -3.10900E02 3.39260E02 -1.62780E02 -7.18000E00 1.41250E02 -1.67850E02 3.86600E01 1.12530E02 -1.88410E02 1.59530E02 -8.79100E01 -3.29100E01 1.50830E02 -8.18800E01 -1.71700E02 1.51870E02 -2.56900E01 -1.49710E02 8.58000E00 1.55760E02 -9.66500E01 -1.54770E02 3.17460E02 -2.41000E02 2.05000E01 1.01070E02 2.20400E01 -1.41450E02 1.35140E02 -6.84000E00 -5.20000E00 -4.05000E01 9.91500E01 -5.59700E01 3.01700E01 -1.05000E00 6.77000E00 -1.91700E01 2.11100E01 3.06200E01 -2.86000E01 4.73800E01 6.67000E00 -3.73000E01 3.44100E01 1.03100E01 -2.55400E01 8.53000E00 1.66500E01 1.80100E01 -5.60000E00 -2.69300E01 2.71100E01 3.48000E01 -9.93000E01 2.25500E01 6.41500E01 -3.10200E01 -5.61000E01 3.71000E01 4.71500E01 -2.15300E01 -4.43100E01 8.02500E01 -4.84100E01 0.00000E00 2.49100E01 -Frame 160 -2.74300E01 -1.33600E01 1.31160E02 -1.80970E02 1.13420E02 2.88100E01 -7.44400E01 6.81900E01 -5.38300E01 5.43000E00 7.95200E01 -4.61700E01 -2.27000E01 1.03520E02 -5.24500E01 -3.61900E01 -1.13900E01 1.37190E02 -1.47760E02 -2.73800E01 2.11750E02 -1.36920E02 -1.58240E02 2.31930E02 -3.50500E01 -2.16250E02 1.44150E02 1.15600E01 -4.41400E01 3.14800E01 -9.35900E01 2.18560E02 -6.28400E01 -2.53880E02 4.09410E02 -2.24170E02 -2.43130E02 5.49550E02 -3.80770E02 -8.15000E01 3.63100E02 -1.32890E02 -4.19090E02 6.93250E02 -5.47660E02 3.13570E02 -2.30860E02 3.50900E01 3.68230E02 -5.34670E02 1.42010E02 4.02480E02 -5.86370E02 3.00750E02 1.08020E02 -2.69770E02 2.50100E01 1.25880E02 1.25750E02 -4.34500E02 4.12330E02 1.19600E01 -3.89800E02 2.96380E02 -4.65000E01 -2.29940E02 3.31160E02 -4.00700E02 2.43180E02 5.17400E01 -4.06670E02 4.84120E02 -2.05000E02 -2.77240E02 3.42540E02 -1.74840E02 -1.40060E02 3.59920E02 -4.77980E02 2.36650E02 -2.98500E01 8.43000E00 -2.55120E02 3.17410E02 -1.74660E02 -7.07900E01 7.13500E01 2.08100E01 -1.05320E02 -8.26000E00 2.36800E02 -2.17790E02 4.97600E01 3.45300E01 1.00790E02 -3.32000E02 3.18130E02 -1.01940E02 -1.30910E02 2.97340E02 -2.01450E02 -4.24800E01 2.14440E02 -2.13900E02 9.27100E01 2.57100E01 -8.43900E01 1.46180E02 -8.12600E01 -7.46600E01 1.98210E02 -1.32670E02 -5.46600E01 1.72810E02 -1.10850E02 8.68200E01 -6.14800E01 9.69000E00 9.40500E01 -1.22070E02 4.62400E01 1.19710E02 -1.38660E02 9.41100E01 -1.06010E02 1.81780E02 -2.07700E02 3.79700E01 1.68200E02 -2.04700E02 1.26060E02 -1.12070E02 1.49540E02 1.01000E01 -2.66660E02 4.54270E02 -3.77930E02 5.94900E01 3.93380E02 -6.28770E02 3.34060E02 1.75350E02 -3.14430E02 2.59400E01 2.65810E02 -1.37150E02 -2.01440E02 4.27470E02 -3.52570E02 -3.40000E00 3.55570E02 -4.19690E02 1.11470E02 2.37950E02 -4.06880E02 2.52730E02 1.85500E02 -5.81980E02 5.53350E02 7.32700E01 -Frame 160 -9.42720E02 1.28475E03 -8.26100E02 9.55500E01 3.59610E02 -4.79500E02 5.44890E02 -6.87550E02 4.61540E02 2.11730E02 -8.76000E02 1.02645E03 -7.86230E02 1.08770E02 4.22340E02 -6.10790E02 6.11700E02 -6.85580E02 7.55660E02 -5.63240E02 -1.26400E02 7.34060E02 -8.16560E02 4.99630E02 -5.00950E02 6.48990E02 -6.75120E02 3.24450E02 4.62000E00 -2.01110E02 5.29800E01 1.71870E02 -3.26730E02 2.17550E02 -1.39550E02 1.64430E02 -2.70350E02 6.36700E01 1.18950E02 -1.24180E02 -1.10720E02 1.92500E01 3.15210E02 -7.14980E02 7.41630E02 -5.01420E02 -1.51450E02 6.99470E02 -9.79960E02 6.96580E02 -3.07700E02 3.82400E01 1.98300E01 -1.46180E02 2.14800E02 -2.14270E02 -6.14200E01 3.07200E02 -3.56080E02 -1.65500E01 4.56480E02 -6.04300E02 3.58670E02 -1.68930E02 4.13000E01 3.89800E01 -1.34600E01 -2.77520E02 3.36500E02 -1.01820E02 -2.26610E02 2.40940E02 -1.37290E02 6.79000E01 -1.86400E01 -5.38500E01 -3.71100E01 1.67170E02 -2.09400E02 -1.14300E01 2.32660E02 -1.75930E02 -8.70000E01 1.10750E02 6.85000E01 -1.43130E02 -1.15180E02 3.44730E02 -3.46470E02 9.42700E01 1.19540E02 -1.11530E02 -1.44650E02 3.31330E02 -4.96290E02 4.46950E02 -1.92070E02 -1.14680E02 3.18200E02 -3.75840E02 1.35000E02 8.85000E01 -1.59530E02 1.17910E02 2.98100E01 -7.90500E01 -5.21000E00 1.68910E02 -4.02750E02 4.06280E02 -1.27060E02 -3.81780E02 8.62970E02 -9.01600E02 3.80100E02 3.74070E02 -8.69500E02 6.02280E02 2.98000E02 -1.25897E03 1.57808E03 -1.14762E03 5.35460E02 -1.67920E02 -7.19000E01 3.71150E02 -6.56450E02 4.45780E02 3.56700E01 -3.66160E02 4.88920E02 -4.81020E02 4.41490E02 -3.20890E02 2.32450E02 -3.32320E02 5.70750E02 -8.20790E02 1.08740E03 -1.30542E03 9.83980E02 -1.47750E02 -5.83340E02 8.37140E02 -7.75240E02 8.86240E02 -1.29173E03 1.49615E03 -1.48216E03 1.50181E03 -1.22935E03 3.95180E02 7.25570E02 -1.49350E03 1.53220E03 -1.13697E03 6.87380E02 -3.32500E02 2.05390E02 -7.92800E01 -Frame 160 -2.56800E01 -4.44000E01 4.06340E02 -9.09360E02 8.91100E02 -1.68600E02 -2.88910E02 2.88330E02 -1.66850E02 -5.19500E01 4.97550E02 -8.15420E02 6.33770E02 -1.34820E02 -1.13050E02 -5.95000E01 4.05760E02 -6.20970E02 5.47130E02 -1.31160E02 -3.38300E02 4.47470E02 -4.58800E01 -5.27440E02 9.03600E02 -8.31950E02 4.21610E02 -1.14460E02 2.13000E02 -4.70610E02 5.87080E02 -2.32070E02 -3.06330E02 4.51400E02 8.81400E01 -8.42430E02 1.23301E03 -9.47520E02 6.87410E02 -7.40740E02 6.92640E02 -2.72300E02 -1.37820E02 5.10950E02 -5.87690E02 3.41250E02 7.46000E01 -3.79360E02 4.40000E02 -1.27710E02 -1.03850E02 -1.04150E02 5.51640E02 -6.11800E02 2.34360E02 3.42470E02 -5.02390E02 1.41100E02 3.83360E02 -4.24240E02 -1.54100E01 4.93080E02 -6.16160E02 5.44880E02 -5.73680E02 7.13710E02 -6.93750E02 5.70920E02 -3.18830E02 6.52100E01 1.05070E02 -4.59300E01 -1.80550E02 4.43840E02 -5.23870E02 3.36990E02 1.17160E02 -3.10570E02 -4.23000E00 3.96590E02 -4.04560E02 -1.05100E02 6.62720E02 -6.26330E02 -3.66500E01 6.91300E02 -4.43880E02 -4.76740E02 9.53830E02 -5.43250E02 -2.85110E02 8.19280E02 -6.04940E02 -1.65630E02 8.69420E02 -8.45330E02 1.18690E02 4.81410E02 -4.27100E02 -3.42300E02 1.24944E03 -1.34576E03 4.44050E02 5.89790E02 -8.49510E02 1.71480E02 7.91880E02 -1.30527E03 1.08695E03 -3.61870E02 -5.39150E02 1.00059E03 -8.00990E02 7.64700E01 6.41990E02 -7.59600E02 1.41180E02 5.30680E02 -5.25270E02 -3.97380E02 1.26083E03 -1.14786E03 -2.09600E01 1.17380E03 -1.44259E03 1.06546E03 -5.07930E02 -1.58500E02 5.97880E02 -3.96910E02 -3.13090E02 7.32610E02 -5.17040E02 9.41500E01 -1.78850E02 4.85870E02 -4.13310E02 -9.99100E01 3.94270E02 -4.21640E02 3.41610E02 -2.65860E02 -1.94870E02 9.09490E02 -1.09885E03 2.51730E02 9.59830E02 -1.37707E03 7.57050E02 1.83450E02 -7.57060E02 7.38050E02 -4.98300E02 1.13580E02 6.01270E02 -1.27252E03 1.30393E03 -6.91170E02 -2.00320E02 5.22890E02 -Frame 160 -1.45030E02 -5.21470E02 7.98930E02 -4.44590E02 -3.53150E02 1.07544E03 -1.26380E03 7.63800E02 -8.96200E01 -3.19350E02 5.19110E02 -5.83990E02 4.45340E02 -1.48920E02 -1.48420E02 1.59230E02 -7.57600E01 1.80050E02 -4.32400E02 2.42610E02 3.47260E02 -6.57180E02 4.35930E02 1.98430E02 -7.56600E02 7.86540E02 -3.82340E02 -1.56010E02 5.04460E02 -4.22120E02 1.08040E02 1.28490E02 -1.01550E02 -1.81610E02 4.83020E02 -8.76250E02 9.46260E02 -6.47760E02 3.94530E02 -2.89320E02 1.84950E02 -5.52900E01 -1.44910E02 1.53830E02 1.66660E02 -3.68270E02 2.81600E02 2.83000E01 -2.19860E02 7.25100E01 -5.11500E01 1.78410E02 -2.11100E02 2.09540E02 -4.14010E02 8.35540E02 -1.04605E03 6.33150E02 -5.33200E01 -2.25970E02 1.79250E02 8.83000E00 -1.28870E02 2.69290E02 -5.79490E02 5.66020E02 -5.15800E01 -3.30230E02 7.78100E01 4.65390E02 -8.48480E02 8.16810E02 -2.77170E02 -2.28720E02 3.47440E02 -2.75910E02 1.52720E02 -1.26540E02 1.81680E02 -2.46740E02 4.04820E02 -4.63850E02 1.34050E02 3.42310E02 -9.27310E02 1.31267E03 -8.60310E02 9.32000E00 5.92830E02 -6.91170E02 3.99770E02 -2.46930E02 3.17600E02 -4.81710E02 4.96710E02 -1.50080E02 -2.83730E02 4.36750E02 -1.45900E02 -7.22430E02 1.67788E03 -2.03415E03 1.42993E03 -7.12100E01 -1.11170E03 1.62967E03 -1.36171E03 6.85680E02 -1.09260E02 -2.00680E02 -3.17400E01 6.66450E02 -1.16239E03 1.14830E03 -7.50630E02 3.83420E02 -1.39820E02 -1.02110E02 3.07860E02 -3.76780E02 2.94760E02 4.27900E01 -7.38010E02 1.20773E03 -1.07449E03 6.01720E02 -2.02800E02 -3.76010E02 8.88770E02 -6.90170E02 -2.35290E02 1.15887E03 -1.29194E03 8.59670E02 -3.17990E02 -2.24770E02 6.63540E02 -9.92300E02 1.01258E03 -6.96490E02 8.62400E01 5.61090E02 -6.39900E02 3.28570E02 -1.67320E02 1.07610E02 2.26940E02 -7.88250E02 1.06190E03 -7.22730E02 1.73130E02 7.65300E01 1.17870E02 -7.33620E02 1.18724E03 -1.22761E03 9.49010E02 -6.96950E02 6.96840E02 -6.71920E02 -Frame 160 4.14620E02 -1.23630E02 9.45900E01 -2.14530E02 3.39990E02 -3.00660E02 9.91600E01 8.92500E01 -1.80050E02 2.35490E02 -6.83400E01 -3.91500E02 9.78710E02 -1.28662E03 1.00920E03 -4.75930E02 1.24600E01 2.86940E02 -4.25360E02 3.90710E02 -8.03500E01 -3.17900E02 4.21500E02 -2.35630E02 1.91400E01 2.07770E02 -3.56960E02 1.78180E02 2.27700E02 -6.28460E02 7.52490E02 -3.12560E02 -4.86250E02 1.03414E03 -1.10342E03 7.60950E02 -2.77740E02 3.67100E01 -1.77150E02 5.09540E02 -6.29010E02 7.09820E02 -9.25610E02 1.16425E03 -1.22635E03 8.81270E02 -2.09760E02 -4.31330E02 6.61650E02 -3.52190E02 -7.70500E01 3.59670E02 -3.49440E02 5.58500E01 2.54620E02 -4.42700E02 3.75830E02 -2.85680E02 3.46620E02 -4.25850E02 3.42190E02 -8.93400E01 -1.94130E02 4.80020E02 -7.23430E02 6.70580E02 -2.36930E02 -2.01280E02 6.26660E02 -9.38380E02 1.01506E03 -9.39040E02 9.68310E02 -8.79260E02 6.61860E02 -4.87980E02 4.55080E02 -5.33120E02 4.50620E02 7.36000E00 -1.78610E02 -8.11600E01 3.09380E02 -4.23290E02 4.04780E02 -3.05920E02 2.04690E02 2.64900E02 -9.73270E02 1.27918E03 -7.86910E02 -1.71500E01 4.13430E02 -3.69060E02 2.00600E02 6.16900E01 -3.01570E02 5.79220E02 -5.86290E02 3.71000E00 7.18950E02 -8.41360E02 4.11870E02 1.84700E01 -2.03110E02 4.34650E02 -5.44270E02 2.47050E02 4.28610E02 -9.83610E02 1.03342E03 -5.78140E02 -9.69900E01 7.57130E02 -1.21504E03 1.43394E03 -1.30750E03 9.76510E02 -6.15760E02 3.10310E02 -8.72700E01 2.59400E01 -6.73700E01 1.65500E02 -1.58580E02 2.67470E02 -2.80550E02 2.15750E02 -3.39800E02 4.33790E02 -3.09100E02 2.27330E02 -3.86860E02 7.96320E02 -9.60650E02 4.65950E02 2.55230E02 -5.12240E02 2.72040E02 2.74320E02 -6.38580E02 7.05890E02 -5.89720E02 4.51160E02 -2.89190E02 8.98400E01 5.85100E01 -3.08400E01 2.00800E01 -2.73440E02 7.85220E02 -9.90110E02 6.12590E02 2.25280E02 -7.47210E02 4.46930E02 1.24580E02 -3.11850E02 1.95200E01 3.53120E02 -Frame 160 -3.49290E02 3.00910E02 -4.21060E02 5.44040E02 -4.05520E02 2.43940E02 -2.44740E02 2.52700E02 -1.01710E02 -1.02980E02 3.51810E02 -5.19660E02 4.41410E02 -5.72100E01 -2.30190E02 1.54700E02 2.43500E01 -3.50500E01 3.67500E01 1.74000E00 -1.21350E02 2.08870E02 -1.54890E02 -6.17500E01 4.13300E01 3.66560E02 -5.84490E02 3.16600E02 2.93260E02 -5.38070E02 2.83400E02 7.20100E01 -2.33980E02 3.18790E02 -3.60640E02 2.88260E02 -2.07040E02 2.36540E02 -2.66380E02 1.21400E02 1.86060E02 -3.07450E02 1.19070E02 1.13670E02 -1.17000E02 -2.96900E01 2.65350E02 -6.48730E02 9.04530E02 -6.70020E02 1.61370E02 9.03200E01 1.60990E02 -5.57300E02 7.42720E02 -6.36750E02 4.84720E02 -4.69580E02 6.66050E02 -8.77820E02 8.54390E02 -5.51630E02 2.57390E02 -1.15810E02 -1.54400E01 1.46050E02 -3.94600E02 6.78400E02 -7.04050E02 5.63410E02 -4.87460E02 4.30630E02 -2.87290E02 -2.01140E02 8.51860E02 -1.01337E03 5.75670E02 7.83100E01 -5.71500E02 7.24130E02 -6.55850E02 6.13110E02 -4.58260E02 -5.43300E01 6.94140E02 -1.02989E03 8.29730E02 -1.70920E02 -3.76350E02 3.96220E02 -1.07690E02 -2.35080E02 2.90810E02 1.15690E02 -5.32950E02 7.14850E02 -6.80430E02 5.00780E02 -3.86950E02 3.02230E02 -4.05600E01 -4.44910E02 6.94650E02 -7.26200E02 8.02690E02 -6.71890E02 3.69560E02 1.48870E02 -5.90780E02 6.30250E02 -5.21550E02 3.05520E02 -1.73120E02 3.56000E01 3.50740E02 -4.55700E02 2.07350E02 -3.52900E01 -2.54000E01 1.70820E02 -3.85050E02 4.74250E02 -4.54320E02 2.39820E02 3.12000E01 -2.22900E02 2.77350E02 -1.39190E02 -1.04480E02 2.16400E02 -1.93000E02 2.38120E02 -5.65650E02 7.94250E02 -5.75540E02 2.70850E02 -2.39840E02 2.67900E02 -2.78910E02 2.06630E02 -4.60100E01 -1.97420E02 4.69670E02 -5.23050E02 3.58020E02 -8.70000E01 -6.57000E01 -2.36800E01 9.86600E01 7.69000E00 -2.75100E02 5.38620E02 -6.23000E02 4.52040E02 -1.94100E02 4.96000E00 1.11170E02 -1.73440E02 8.43100E01 -9.20500E01 -Frame 160 3.02220E02 -5.48600E02 4.94780E02 -1.72040E02 2.16800E01 -2.29630E02 5.15500E02 -6.94810E02 5.79100E02 -1.90140E02 -2.89990E02 4.33340E02 8.63000E00 -4.51220E02 4.08130E02 -3.33000E00 -4.71510E02 4.97270E02 -8.04600E01 -3.09980E02 3.44690E02 -7.27200E01 1.15030E02 -6.56520E02 1.10868E03 -8.63570E02 -3.00000E01 8.10370E02 -9.38030E02 3.95380E02 4.11650E02 -7.89960E02 5.48010E02 -1.73160E02 -1.42470E02 2.98300E02 -2.35580E02 -3.77500E01 4.02230E02 -5.68560E02 4.67160E02 -3.33530E02 3.12330E02 -3.86130E02 3.62170E02 -2.92730E02 3.86390E02 -5.30850E02 5.40040E02 -3.22460E02 -5.33300E01 2.03170E02 -3.55900E01 -5.47000E01 -2.13500E01 -2.89500E01 1.50240E02 -1.76170E02 3.74900E01 2.93720E02 -8.56400E02 1.20771E03 -1.15048E03 9.76480E02 -6.40700E02 2.92710E02 -2.79290E02 4.87280E02 -6.19900E02 5.48260E02 -3.79970E02 3.44450E02 -4.74050E02 5.86580E02 -6.12540E02 2.92830E02 2.79920E02 -6.66650E02 8.16130E02 -7.35000E02 3.82590E02 -4.06200E01 -2.49880E02 3.57620E02 -9.54300E01 -1.77400E02 2.14260E02 -1.74170E02 1.07550E02 -1.43120E02 1.15590E02 5.61900E01 5.59000E01 -3.14450E02 4.36040E02 -3.02670E02 -9.99400E01 2.85150E02 -1.14120E02 -5.86300E01 1.52630E02 -3.71720E02 7.15060E02 -8.90220E02 6.80690E02 -2.59460E02 -9.24400E01 2.93830E02 -2.92230E02 8.38600E01 1.78500E02 -2.23100E02 1.29090E02 -1.62950E02 3.06130E02 -3.39570E02 1.96080E02 4.91100E01 -2.29450E02 9.25900E01 1.71500E02 -1.70310E02 8.47000E00 7.47700E01 -1.13950E02 7.26000E01 -1.50150E02 2.60350E02 -2.76700E02 2.84900E02 -1.91400E02 2.07750E02 -4.69950E02 4.87830E02 -1.32230E02 -5.13400E01 -1.12900E02 3.84740E02 -4.96590E02 3.55290E02 -2.26820E02 7.92800E01 1.17770E02 -2.36660E02 3.24170E02 -1.56960E02 -3.28820E02 6.54310E02 -6.57770E02 4.11190E02 -1.20180E02 9.91300E01 -3.49870E02 5.23570E02 -4.27470E02 1.59480E02 4.34300E01 -1.30250E02 -2.01800E01 3.09310E02 -Frame 160 -3.55300E02 9.48700E01 1.92870E02 -3.50280E02 4.62100E02 -5.33830E02 5.43940E02 -5.96470E02 6.89410E02 -6.87590E02 5.99470E02 -4.61230E02 3.17700E02 -1.38580E02 -1.97840E02 3.55250E02 -1.10890E02 -2.55340E02 3.00980E02 -4.77800E01 -2.01280E02 2.50660E02 -3.46600E01 -1.02770E02 -6.18900E01 4.54310E02 -9.14950E02 8.54300E02 -2.69540E02 -3.62880E02 7.10230E02 -6.55140E02 3.77880E02 -2.11510E02 2.03070E02 -2.05720E02 2.62040E02 -3.85980E02 3.84320E02 -2.57920E02 1.18220E02 -1.61200E01 1.14000E01 -1.36240E02 8.26800E01 1.88290E02 -5.13010E02 7.44480E02 -6.51840E02 2.90270E02 -8.37600E01 -4.32800E01 7.94900E01 1.25980E02 -3.61210E02 4.51870E02 -3.27330E02 1.76680E02 -5.58900E01 -2.96600E02 5.93520E02 -5.80390E02 4.47940E02 -4.26350E02 5.11720E02 -3.87680E02 -7.05300E01 4.54490E02 -6.25680E02 4.87330E02 -2.24700E02 1.79460E02 -2.27050E02 1.21080E02 -2.51400E01 -9.98600E01 2.78200E02 -4.74310E02 4.74350E02 -3.48100E02 3.89340E02 -3.18780E02 6.35000E01 5.35400E01 -1.45780E02 1.21870E02 5.66800E01 -2.44580E02 2.19070E02 2.68500E01 -1.98340E02 8.46900E01 7.73900E01 1.47900E01 -2.03760E02 1.06120E02 8.48000E00 2.88100E01 -1.69260E02 3.68700E02 -3.48050E02 5.63600E01 2.12220E02 -4.19300E02 4.51040E02 -4.35130E02 4.21700E02 -4.90370E02 5.89810E02 -6.27160E02 5.38820E02 -3.32650E02 3.92400E01 2.41590E02 -4.04030E02 4.35760E02 -4.28890E02 4.12120E02 -4.93250E02 4.51840E02 -9.52700E01 -2.72210E02 6.14630E02 -7.20680E02 2.48390E02 1.00190E02 -1.50690E02 2.28810E02 -1.39170E02 -1.24000E01 2.73000E01 -4.28000E01 -7.40300E01 1.19840E02 3.45900E01 -2.51330E02 1.92140E02 2.00140E02 -4.89800E02 7.43380E02 -8.93000E02 6.12850E02 -1.49310E02 -2.36900E02 3.75020E02 -2.07490E02 -8.82000E00 2.70000E01 -1.17100E02 4.17450E02 -6.13860E02 6.10510E02 -5.07830E02 2.00720E02 1.67990E02 -4.08910E02 5.50730E02 -6.68470E02 8.28250E02 -8.89520E02 -Frame 160 9.07420E02 -8.78920E02 7.92320E02 -7.75500E02 7.04920E02 -5.61540E02 4.33360E02 -3.11380E02 2.97140E02 -4.77800E02 5.41740E02 -7.16700E02 8.80610E02 -6.96510E02 5.66250E02 -4.39470E02 3.88120E02 -4.77060E02 2.66450E02 1.35700E02 -4.08220E02 5.22420E02 -4.81650E02 2.43680E02 3.02100E01 -2.13890E02 2.22660E02 -1.05000E01 -2.60860E02 2.75280E02 -1.30260E02 2.57800E01 8.56200E01 -2.39770E02 3.18000E02 -4.00280E02 4.24600E02 -3.24410E02 2.95720E02 -2.81250E02 2.18200E02 -2.97110E02 4.59920E02 -5.06070E02 3.93540E02 -3.72400E02 5.78320E02 -8.62100E02 1.00074E03 -9.28750E02 7.90960E02 -8.25890E02 8.25030E02 -6.03770E02 3.04810E02 -4.80000E00 -1.40980E02 -3.62400E01 3.06770E02 -4.68900E02 4.17880E02 -2.74310E02 2.13350E02 -2.71110E02 2.39700E02 -1.36920E02 3.89400E01 -1.98000E01 1.55660E02 -2.71600E02 3.06180E02 -3.84460E02 2.98900E02 -2.57890E02 2.95340E02 -3.88600E02 4.32670E02 -2.24070E02 -1.11910E02 7.48200E01 3.02250E02 -6.26570E02 5.59470E02 -2.15340E02 -7.59100E01 9.39000E01 7.68700E01 -1.34760E02 -2.81000E00 8.92200E01 -1.59990E02 2.26240E02 -4.03800E02 5.35050E02 -4.99570E02 3.47280E02 -3.39010E02 4.47790E02 -6.80500E02 8.54950E02 -9.21920E02 6.30120E02 -1.15440E02 -4.30950E02 8.29180E02 -8.17500E02 5.91660E02 -4.65160E02 3.37770E02 -3.96790E02 4.30300E02 -2.23440E02 -3.13190E02 8.33570E02 -8.67990E02 5.68640E02 -3.57840E02 2.60360E02 -3.47570E02 4.03020E02 -5.50560E02 5.88880E02 -4.16000E02 3.50430E02 -4.79770E02 5.46800E02 -5.39400E02 3.70310E02 -1.40200E02 -1.05370E02 2.33630E02 -2.46110E02 1.53540E02 3.04000E01 -2.49580E02 2.90100E01 4.16180E02 -7.89070E02 8.25140E02 -4.21510E02 -1.23320E02 5.05200E02 -7.16320E02 5.42050E02 -3.48180E02 4.55380E02 -5.39640E02 2.49070E02 9.89300E01 -5.55950E02 9.16430E02 -1.00652E03 8.29000E02 -4.41500E02 -1.13880E02 3.18970E02 -6.81000E01 -2.16080E02 2.21560E02 -3.34800E01 -Frame 160 -1.04380E02 -1.48380E02 2.85390E02 -2.37000E01 -5.44330E02 9.28440E02 -1.05712E03 9.29900E02 -8.07510E02 6.27100E02 -4.24520E02 2.53730E02 -3.22900E01 -2.79130E02 4.47650E02 -5.04520E02 3.81330E02 -6.37900E01 -2.93620E02 4.28710E02 -4.77030E02 3.05660E02 -3.67400E01 -3.40700E02 6.73250E02 -8.43080E02 7.16480E02 -5.60410E02 4.79730E02 -6.54420E02 7.04960E02 -4.67290E02 1.25640E02 1.34780E02 -3.18930E02 3.43620E02 -2.68670E02 -1.67650E02 5.95640E02 -7.22030E02 4.86220E02 -2.47630E02 4.50500E01 8.17300E01 -2.98540E02 5.64700E02 -6.62900E02 4.02150E02 -1.75250E02 8.16500E01 -7.65900E01 -5.66000E00 2.58460E02 -7.64500E02 1.01461E03 -9.29220E02 4.47700E02 1.11770E02 -4.34660E02 5.60410E02 -8.38280E02 9.69550E02 -9.44630E02 7.75870E02 -3.10160E02 -3.07490E02 5.37540E02 -6.05810E02 4.84040E02 -3.65870E02 3.36270E02 -3.75200E02 3.46670E02 -2.64470E02 1.01730E02 -3.88500E01 -1.09750E02 1.05250E02 -3.12100E01 -4.38700E01 1.28110E02 -5.47200E01 -2.91160E02 6.93350E02 -1.20435E03 1.30838E03 -1.04342E03 5.99020E02 -9.43200E01 -2.70200E01 -1.36620E02 8.35100E01 -3.36400E01 -1.84390E02 4.35360E02 -4.98140E02 3.68950E02 -1.47500E02 -8.67900E01 2.88700E01 2.20700E01 2.50300E01 -1.27950E02 1.20450E02 3.54100E01 -3.29300E02 3.83010E02 -2.81020E02 8.26700E01 2.30520E02 -4.60280E02 5.64980E02 -8.00590E02 8.89350E02 -7.82290E02 4.51100E02 -1.68000E01 -4.05160E02 5.84840E02 -3.68100E02 -4.17000E00 5.20100E01 1.27870E02 -3.28050E02 2.93230E02 -8.05600E01 -7.28400E01 -1.79820E02 4.82050E02 -4.57070E02 1.11900E01 4.72910E02 -5.55540E02 1.99720E02 1.95140E02 -2.08770E02 -1.89980E02 4.62560E02 -5.53160E02 6.55220E02 -8.35650E02 8.67150E02 -7.19210E02 3.44040E02 1.57840E02 -4.60270E02 4.92930E02 -4.46860E02 2.41700E02 -2.46800E01 -3.24280E02 7.09150E02 -8.46130E02 6.92280E02 -2.63390E02 -3.37370E02 8.18670E02 -9.71310E02 7.68260E02 -6.25100E02 -Frame 160 6.04030E02 -4.95400E02 3.21630E02 -4.33380E02 9.00660E02 -1.50989E03 1.51242E03 -6.45230E02 -4.33000E02 9.53190E02 -8.30650E02 4.88120E02 -4.53790E02 5.57590E02 -3.81280E02 -2.01830E02 8.40350E02 -1.20103E03 1.24858E03 -1.14923E03 7.91880E02 -2.37730E02 -2.26960E02 3.83350E02 -1.57830E02 -2.61600E02 6.65660E02 -8.84030E02 6.03180E02 -1.98190E02 8.40000E-01 -1.68980E02 6.09100E02 -1.01033E03 1.12810E03 -9.35400E02 7.24160E02 -7.20640E02 7.92550E02 -9.09210E02 8.40250E02 -5.85980E02 4.09230E02 -3.05170E02 3.09620E02 -3.95870E02 3.41190E02 -3.13280E02 3.39300E02 -5.34260E02 8.40660E02 -8.59690E02 5.13180E02 3.30200E01 -5.38020E02 5.63780E02 -3.09880E02 1.95730E02 -4.12210E02 6.49430E02 -3.37710E02 -3.04060E02 6.45910E02 -3.00350E02 -5.62590E02 9.80580E02 -6.01450E02 -3.48400E01 4.00320E02 -3.84440E02 5.30890E02 -8.78970E02 8.90390E02 -5.65370E02 1.16380E02 9.61000E01 -9.09000E01 -6.60000E00 1.71310E02 -1.95440E02 -2.77350E02 8.52460E02 -9.13590E02 7.99600E02 -7.39980E02 6.44520E02 -4.78770E02 6.65000E00 5.29070E02 -5.79850E02 1.24480E02 4.83470E02 -8.99890E02 8.24810E02 -4.75930E02 2.05550E02 -2.10090E02 2.16610E02 6.53000E01 -2.66750E02 1.23180E02 1.60500E01 1.10590E02 -3.15050E02 3.74440E02 -2.66100E02 -3.72000E01 3.53810E02 -3.07420E02 1.34190E02 -3.06670E02 2.58120E02 3.09130E02 -1.03457E03 1.39414E03 -1.11535E03 6.03600E02 -2.42860E02 1.87300E01 2.02390E02 -5.62460E02 1.06156E03 -1.47719E03 1.36593E03 -6.47310E02 -1.95200E02 7.10070E02 -6.26330E02 3.69530E02 -3.99160E02 5.75750E02 -4.79730E02 8.26000E01 4.03240E02 -6.82580E02 5.70660E02 -4.62880E02 4.02050E02 -1.90650E02 -1.35000E01 -2.68600E01 8.53900E01 -8.09700E01 1.47600E02 -2.81900E02 5.87580E02 -8.35600E02 8.09990E02 -4.19290E02 -2.19190E02 8.26300E02 -8.81650E02 4.83410E02 -1.63770E02 2.79190E02 -7.48410E02 1.03591E03 -8.65560E02 4.74980E02 -1.15470E02 -Frame 160 -6.60700E01 -1.14080E02 5.84530E02 -9.11800E02 8.56450E02 -6.28420E02 4.33380E02 -2.82390E02 2.35970E02 -1.16860E02 -6.34900E01 -2.74100E01 2.87810E02 -5.00490E02 6.98300E02 -6.59490E02 3.85350E02 -2.19860E02 2.01420E02 -1.14460E02 1.91000E02 -2.88270E02 2.36910E02 -2.08890E02 3.53720E02 -5.07600E02 5.51920E02 -3.04310E02 -1.75730E02 4.25990E02 -2.80800E01 -5.55160E02 9.55980E02 -1.13304E03 9.42400E02 -4.45860E02 5.03700E01 1.89900E02 -2.38430E02 1.01220E02 7.72800E01 -3.26470E02 6.17600E02 -4.49710E02 3.64000E01 2.63510E02 -2.54600E02 1.15100E01 1.66840E02 -1.18180E02 2.97100E02 -4.97050E02 3.40710E02 6.70600E01 -2.48110E02 1.07210E02 9.64200E01 -8.07900E01 -8.04000E01 3.66080E02 -5.83970E02 7.59150E02 -7.17900E02 3.69050E02 1.21270E02 -3.13280E02 1.34030E02 1.87050E02 -2.78460E02 -1.40100E02 7.99670E02 -9.21240E02 8.10500E02 -8.73960E02 8.83310E02 -6.05900E02 2.20410E02 1.07070E02 1.31300E01 -2.57720E02 4.19300E02 -7.78130E02 1.01414E03 -5.50110E02 3.27900E01 1.65690E02 -2.34450E02 4.68260E02 -6.88730E02 7.25150E02 -3.07920E02 1.79360E02 -8.24450E02 1.39247E03 -1.18935E03 8.63110E02 -6.79760E02 4.91300E02 -3.73880E02 6.40540E02 -9.41260E02 8.64910E02 -3.55870E02 1.47940E02 -4.73800E02 7.59680E02 -4.96400E02 1.61150E02 -7.11100E01 3.85200E01 4.13510E02 -1.04528E03 1.13880E03 -4.27640E02 -3.15110E02 5.74200E02 -3.47520E02 2.06590E02 -2.41350E02 3.06090E02 -1.66820E02 4.08100E01 1.18300E01 5.59500E01 -1.48610E02 3.42650E02 -5.65210E02 6.50390E02 -5.99020E02 2.98500E02 3.35500E02 -4.26660E02 -1.94980E02 8.10050E02 -8.17590E02 2.55210E02 3.91950E02 -6.10440E02 6.59750E02 -4.08390E02 -1.41700E01 2.53260E02 -2.59270E02 4.24600E02 -3.50770E02 -4.77800E01 3.41630E02 -2.80230E02 2.84950E02 -5.34650E02 8.09910E02 -6.66700E02 1.38660E02 2.06800E02 -1.24140E02 1.80810E02 -1.45970E02 -2.16710E02 6.78570E02 -7.37090E02 -Frame 160 1.06170E02 5.07410E02 -2.43410E02 -1.34210E02 1.05500E02 6.65300E01 3.19300E02 -5.64400E02 2.44110E02 5.54000E01 1.16810E02 -1.73980E02 -7.95900E01 1.73800E02 1.44870E02 -2.42080E02 1.20240E02 -1.22340E02 3.31700E02 -2.52520E02 -2.52560E02 8.64640E02 -8.68410E02 3.56770E02 1.56510E02 -2.25080E02 2.09750E02 8.98400E01 -3.94850E02 2.05850E02 2.72940E02 -3.41140E02 1.71200E01 1.95450E02 -1.88000E00 -2.26300E02 3.67560E02 -1.95550E02 1.05120E02 -1.85000E02 8.09000E00 1.73150E02 1.07160E02 -1.34960E02 -5.14300E01 1.62740E02 -9.96100E01 8.03000E00 -1.87000E02 4.21120E02 -1.09340E02 -3.35090E02 3.87500E02 -3.39200E01 -1.28330E02 3.00470E02 -3.76740E02 6.04700E01 3.49150E02 -4.26560E02 2.88150E02 1.97000E01 1.59400E01 -2.35940E02 3.17620E02 -2.35990E02 1.50510E02 -1.91700E01 5.69300E01 -1.99660E02 2.02010E02 5.39200E01 -2.14790E02 2.92400E02 -1.44990E02 -6.07600E01 1.38140E02 -8.29300E01 -6.37500E01 2.43090E02 -1.04800E02 5.66600E01 -2.37930E02 4.59600E02 -3.16720E02 -2.30740E02 6.39120E02 -3.33710E02 -2.36300E02 3.74350E02 1.78540E02 -3.22480E02 4.93200E01 -5.14200E01 9.07800E01 7.23000E01 -1.80810E02 -1.55570E02 7.39600E02 -4.67230E02 -3.70930E02 5.62700E02 -5.33200E01 -5.73300E01 -3.38400E02 5.16160E02 -8.63300E01 -1.09360E02 -1.87990E02 2.13130E02 3.40460E02 -6.99580E02 1.42880E02 4.88260E02 -3.38130E02 4.32500E01 -1.96610E02 4.32300E02 -1.73740E02 -3.51350E02 6.61880E02 -5.02170E02 2.46260E02 -6.63900E01 -1.91640E02 4.77420E02 -3.22270E02 -2.01380E02 4.50440E02 -9.20000E01 -2.64120E02 9.76900E01 2.33600E02 -1.34500E02 5.61500E01 -3.59350E02 5.15640E02 6.21000E00 -7.79970E02 6.94270E02 1.20450E02 -5.04220E02 4.92700E01 2.17830E02 1.13400E02 -2.29360E02 -1.30500E02 2.72540E02 1.07790E02 -4.87150E02 4.45970E02 -1.98470E02 2.04350E02 -2.87560E02 1.46590E02 8.30300E01 1.09430E02 -3.96450E02 3.45400E02 2.68700E01 -Frame 160 -2.29530E02 1.24360E02 -1.02920E02 3.99870E02 -4.51160E02 1.12920E02 2.57340E02 -3.56010E02 1.66010E02 2.04020E02 -3.18980E02 1.81150E02 -1.64420E02 2.49480E02 -1.52050E02 -1.26850E02 4.42250E02 -4.35460E02 -4.09000E01 4.08900E02 -3.09770E02 -4.43700E01 3.33280E02 -2.04700E02 -2.40120E02 4.31590E02 9.67000E00 -4.11300E02 3.06100E02 -2.56000E01 6.47000E00 -3.14700E01 1.94500E01 3.24930E02 -5.06440E02 1.06960E02 6.34230E02 -6.85780E02 4.80400E01 5.09510E02 -3.53220E02 -1.72290E02 3.96400E02 1.93100E01 -5.69450E02 3.98120E02 1.95240E02 -4.20090E02 3.41950E02 3.51240E02 -7.20500E02 9.33000E01 4.55180E02 -3.42170E02 2.51500E01 3.08810E02 -2.40400E01 -4.65150E02 1.80540E02 5.50030E02 -3.79560E02 -4.61530E02 1.02140E03 -7.04760E02 -3.15630E02 6.42830E02 1.32330E02 -6.50070E02 1.02950E02 3.61160E02 -3.17980E02 9.11800E01 3.09910E02 -3.01880E02 -1.43000E01 3.71900E01 -7.17600E01 2.00990E02 3.38990E02 -1.94050E02 -4.77380E02 1.70980E02 2.48230E02 -2.04360E02 2.07250E02 -3.36000E01 -1.90860E02 1.05200E02 7.03200E01 3.30000E00 -3.27900E01 1.22040E02 -3.61450E02 4.94500E01 6.58010E02 -2.82220E02 -3.65250E02 4.24500E02 -7.67200E01 -6.62360E02 6.59510E02 3.12640E02 -4.83240E02 1.17730E02 -4.82000E00 -4.64150E02 6.31750E02 1.40950E02 -8.13150E02 5.52010E02 5.48700E01 -3.57690E02 2.01330E02 2.46450E02 -2.56260E02 -1.65270E02 2.18690E02 -1.73680E02 2.84980E02 2.21560E02 -4.23020E02 2.67870E02 -1.07120E02 -1.71600E02 2.45090E02 2.04400E01 1.67830E02 -3.10370E02 -1.33060E02 4.78860E02 -6.87400E01 -4.48200E02 3.37030E02 1.47230E02 -3.36570E02 9.39900E01 1.91780E02 5.04200E01 -1.45350E02 -1.18030E02 3.02500E01 1.92090E02 7.57600E01 -1.57230E02 7.47300E01 1.82800E02 -2.87950E02 -1.32980E02 2.12910E02 3.50300E02 -2.79380E02 -2.85260E02 4.34950E02 1.01030E02 -3.18300E02 2.77100E01 3.14400E02 -1.78330E02 -5.21200E01 4.70500E01 -Frame 160 3.27250E02 -1.43180E02 -2.07010E02 1.90390E02 -2.60900E01 -1.54230E02 2.03820E02 1.91760E02 -2.11840E02 2.02900E01 -4.84100E01 1.82820E02 -1.09600E01 -1.85710E02 1.17320E02 9.36200E01 -1.39890E02 4.55200E01 -3.63700E01 4.00250E02 -2.96990E02 -3.89500E02 2.98500E02 2.55500E02 -2.65060E02 -2.25460E02 6.40580E02 -2.80190E02 -3.26160E02 3.88760E02 3.84300E01 -2.97760E02 -1.16060E02 3.01370E02 1.38430E02 -3.26700E01 -2.30200E01 -2.76040E02 1.69380E02 5.14200E01 -9.52300E01 -1.93200E01 2.35960E02 -1.09080E02 -3.66680E02 3.66100E02 8.72000E01 -3.03400E02 2.82100E01 -1.28950E02 6.11500E01 -7.99300E01 2.13700E02 -1.28790E02 -5.07500E01 -1.20250E02 3.22100E01 -4.65000E00 -2.39650E02 2.17300E02 -5.28300E01 -1.62270E02 -3.19500E01 1.44420E02 1.91100E02 -2.11960E02 -2.03290E02 1.02830E02 2.81310E02 -1.60960E02 -8.87600E01 4.31750E02 4.49500E01 -3.15850E02 4.90000E-01 3.49610E02 3.92000E01 -1.96840E02 1.33010E02 1.70940E02 -2.71100E01 -5.02500E01 1.02950E02 5.78000E01 -1.97900E01 -1.34750E02 -5.91300E01 1.88890E02 2.84100E01 -1.22050E02 -2.60400E01 2.11970E02 -1.50850E02 -1.65740E02 1.30070E02 6.49100E01 -1.16320E02 -1.02040E02 1.18780E02 6.93200E01 -9.57300E01 -5.87900E01 8.35000E00 6.85600E01 -5.14300E01 -5.50800E01 1.07210E02 6.14200E01 -3.28400E01 -2.19800E01 5.12400E01 2.06680E02 1.12740E02 -1.00200E02 1.53380E02 1.78670E02 -7.44100E01 1.87700E01 1.81830E02 1.84780E02 -4.33000E00 -1.51260E02 6.34300E01 1.14720E02 -7.34900E01 5.05700E01 9.64400E01 -1.07340E02 -1.73000E01 -3.14400E01 5.70300E01 1.22000E01 1.59900E01 -8.61000E01 -5.92500E01 5.35000E01 1.02700E02 -3.16600E01 -8.81300E01 2.37500E01 -9.69200E01 -9.92200E01 8.55100E01 7.68800E01 -1.11080E02 -1.43740E02 -6.27000E00 1.09460E02 -5.83300E01 -6.52500E01 -4.43200E01 -6.70000E00 6.30900E01 -8.90200E01 -8.07500E01 2.18500E01 3.46000E01 -1.54290E02 -7.48800E01 8.30500E01 -Frame 160 -6.22000E00 -1.14250E02 -1.90520E02 -1.12980E02 1.10500E01 -4.41100E01 -2.56950E02 -1.59150E02 -4.02000E01 -6.75600E01 -8.57300E01 1.37590E02 6.76600E01 3.40480E02 2.79400E02 -1.11840E02 -5.80800E01 -1.14610E02 2.72100E01 3.21380E02 3.95340E02 3.18220E02 -1.35700E01 -5.05900E01 1.24310E02 2.15200E01 -1.24450E02 2.12000E01 8.73500E01 5.64800E01 -2.38000E00 1.16960E02 1.01900E02 2.03000E01 -3.30820E02 -3.30470E02 -3.17900E01 1.38160E02 5.82400E01 -5.02000E01 -1.55940E02 -3.28000E01 -1.15820E02 -1.98300E02 -4.21500E01 -3.21400E01 -4.98000E01 -7.19700E01 5.22300E01 1.32210E02 1.13530E02 -1.16840E02 -1.37230E02 -6.21300E01 6.53400E01 1.40680E02 1.75210E02 1.10640E02 1.01970E02 -4.30600E01 2.34700E01 1.64040E02 4.28100E01 -2.20000E00 -3.25900E01 4.51200E01 1.54200E02 1.74520E02 -4.68000E00 -6.34000E01 -1.48860E02 -6.98100E01 -8.24000E00 6.22500E01 4.48700E01 1.19200E01 -9.10500E01 -1.39110E02 -1.29520E02 9.54900E01 4.53700E01 -4.23400E01 -1.38720E02 2.30500E01 1.92800E02 1.49620E02 1.37970E02 -1.47160E02 -2.99600E01 1.99900E02 9.26900E01 -6.19100E01 2.67800E01 2.08200E02 8.20500E01 4.29400E01 1.96000E01 -1.84600E01 -1.01660E02 -1.33200E01 3.57800E01 7.43800E01 1.01120E02 3.96100E01 -1.48200E01 -1.48900E02 -2.69700E01 -2.12300E01 -3.92800E01 -1.18400E01 3.24700E01 5.31300E01 -8.56100E01 -3.55500E01 -1.03900E02 -9.42600E01 -1.49230E02 -1.36760E02 -3.97800E01 5.72300E01 -2.82000E00 -3.37300E01 -1.16570E02 -6.78700E01 -6.86100E01 -1.90320E02 -1.40630E02 -2.42900E01 3.16500E01 -6.73000E00 -2.93100E01 -6.45800E01 -1.25900E02 -2.05020E02 -1.64420E02 -1.16440E02 -1.17900E02 -7.13300E01 -7.29000E00 -4.83000E01 8.14300E01 1.76060E02 2.21420E02 3.47950E02 2.39050E02 -2.04450E02 -8.24800E01 1.17330E02 3.39200E02 4.97610E02 2.58460E02 2.26900E01 -8.93700E01 -1.87900E01 1.30010E02 -5.86900E01 -7.01500E01 7.31200E01 2.27700E01 -1.48140E02 -Frame 160 -1.41800E01 8.09500E01 -2.04000E00 -3.03580E02 -2.66150E02 -2.29310E02 7.48800E01 1.06400E02 -3.12100E01 -1.91050E02 -1.25660E02 -2.61400E01 -1.47530E02 -1.62550E02 9.21000E01 3.52000E00 -3.88200E01 -1.24500E01 1.01730E02 1.41330E02 9.20100E01 -9.59300E01 -5.96000E01 4.79000E01 2.01670E02 1.71000E02 9.92200E01 6.31300E01 1.46870E02 1.07000E00 -4.32300E01 7.61500E01 7.21600E01 7.89900E01 -3.30300E01 -3.74700E01 9.00000E00 6.09100E01 -7.62000E00 -8.62500E01 -1.59220E02 -7.62900E01 -4.07200E01 -3.40100E01 -5.06000E00 -2.12100E01 -2.38400E01 -1.32530E02 -1.23460E02 1.31000E02 1.51200E02 6.68800E01 7.38900E01 6.70500E01 2.09400E01 1.39390E02 1.21380E02 2.67100E01 -5.39000E01 6.50600E01 1.97650E02 1.04170E02 9.07200E01 5.07900E01 -7.24000E01 -1.04310E02 -2.20900E01 5.47100E01 8.28500E01 3.58000E01 1.82800E01 -7.27800E01 -5.85700E01 -1.88500E01 -5.68700E01 5.00000E00 -1.09210E02 6.16000E00 -4.29000E01 -4.24300E01 -1.89000E01 -7.36200E01 -1.35960E02 -1.57100E02 -1.12750E02 -7.59300E01 -6.29100E01 -3.34400E01 -2.90400E01 -3.84900E01 -7.02100E01 -6.28600E01 -1.57240E02 -1.29410E02 -1.29620E02 3.26000E00 1.22000E00 -4.29100E01 -9.23900E01 -1.38340E02 -1.80610E02 -1.50050E02 -1.66440E02 -1.49220E02 -9.63700E01 9.16000E00 1.12900E02 2.65700E02 3.01940E02 5.05990E02 3.07860E02 -6.16900E01 -3.38610E02 -1.72780E02 1.89330E02 6.37450E02 5.99830E02 3.48500E02 -2.19000E01 -2.56700E02 -1.94490E02 -1.72150E02 -2.19400E01 3.29500E01 4.75200E01 -1.94900E01 -2.15400E01 1.83800E01 -8.47000E00 -2.01130E02 -3.80550E02 -3.87160E02 -2.15620E02 5.44100E01 2.42720E02 1.28610E02 -7.31600E01 -2.33110E02 -2.99800E02 -2.29290E02 -6.44100E01 1.36600E02 1.94670E02 9.63300E01 8.38400E01 4.78700E01 2.47300E01 1.88400E01 -1.42600E01 -5.03800E01 8.54200E01 1.62330E02 2.52460E02 2.54140E02 1.04640E02 -2.15700E01 -1.13650E02 -1.61460E02 1.54100E01 1.49740E02 -Frame 160 7.90900E01 3.81900E01 -3.80000E01 -9.55000E01 -8.76800E01 -7.85300E01 -1.14020E02 -1.62500E02 -7.93300E01 -6.15200E01 8.90000E-01 -6.57800E01 3.85400E01 -3.49600E01 -1.58710E02 -1.25150E02 -5.64500E01 1.83410E02 4.42500E02 2.92180E02 1.06940E02 -1.39120E02 -6.26500E01 -1.97500E01 1.75000E01 1.13890E02 1.04160E02 1.78040E02 1.92050E02 1.05330E02 -3.31500E01 -2.20860E02 -1.90150E02 -1.34300E02 -6.25900E01 9.74000E01 1.83250E02 1.24590E02 -2.49900E01 -1.88160E02 -1.85190E02 -2.08950E02 -7.22500E01 1.67400E01 -9.54000E00 4.53700E01 1.89300E01 -5.63500E01 -1.03910E02 -2.13850E02 -1.71000E02 -1.80680E02 -1.34510E02 -5.48100E01 3.03800E01 1.03150E02 5.00500E01 -5.37600E01 -2.14750E02 -2.56540E02 -2.18410E02 -8.49300E01 4.17200E01 5.32100E01 3.19700E01 -7.29900E01 -2.23160E02 -2.63800E02 -2.53490E02 -2.24670E02 -1.63800E02 -1.03950E02 1.97900E01 2.24280E02 3.92830E02 4.93180E02 4.57140E02 9.75400E01 -3.20280E02 -3.82730E02 -1.12770E02 4.85620E02 7.12040E02 5.78790E02 1.89890E02 -1.18190E02 -1.88660E02 -2.18110E02 -2.72250E02 -1.73800E02 1.38600E01 1.71310E02 1.76470E02 3.26300E01 -7.26800E01 -1.55170E02 -2.94060E02 -4.42970E02 -3.84080E02 -9.40300E01 2.43050E02 2.28300E02 3.68600E01 -2.21550E02 -2.30760E02 -2.34060E02 -1.38270E02 -2.94200E01 5.47900E01 1.02520E02 1.45600E02 8.78500E01 5.32100E01 9.04300E01 7.07000E01 -3.77200E01 -5.24700E01 -1.96400E01 1.21210E02 2.81290E02 2.46050E02 1.51490E02 4.08700E01 -8.52000E01 -1.49080E02 -7.67900E01 -3.61900E01 7.87000E01 9.80700E01 -7.05000E00 -1.54100E01 -1.18010E02 -5.06700E01 -1.61200E02 -1.63000E02 -1.15710E02 -7.38600E01 -2.36600E01 3.01000E01 2.34800E01 -1.13800E01 -8.53200E01 -5.84800E01 -6.37700E01 9.28200E01 1.75150E02 3.00850E02 1.67150E02 8.41600E01 9.75300E01 5.92300E01 -5.30000E00 -9.88100E01 -4.91100E01 1.36180E02 2.15080E02 2.03230E02 1.03840E02 -1.02700E02 -1.19510E02 -Frame 160 -1.72710E02 -1.57380E02 -7.04200E01 5.30000E00 1.36360E02 1.58350E02 -5.12000E00 -1.25630E02 -1.37740E02 -1.49090E02 -9.86500E01 -9.55600E01 -4.32900E01 5.96300E01 7.96700E01 6.25000E00 -6.14500E01 -1.84190E02 -1.39560E02 -1.23430E02 -1.41700E02 -1.19420E02 -5.83600E01 5.86200E01 1.35140E02 9.28800E01 -6.87900E01 -2.02410E02 -2.83990E02 -2.20850E02 -1.39580E02 6.30000E00 7.26500E01 8.89500E01 -3.13600E01 -1.95390E02 -3.35340E02 -3.59340E02 -2.39790E02 -1.04370E02 1.28000E00 1.39140E02 3.11080E02 5.48000E02 6.35700E02 3.58500E02 -1.28610E02 -4.58660E02 -3.20490E02 1.49240E02 4.99340E02 6.75790E02 4.72070E02 2.74630E02 4.18600E01 -2.30110E02 -5.14240E02 -4.04650E02 -2.08280E02 1.80360E02 3.21850E02 1.90420E02 4.27600E01 -8.94900E01 -2.64730E02 -3.47130E02 -4.02750E02 -2.78720E02 -2.16100E01 8.04500E01 9.25700E01 1.39600E01 -5.21100E01 1.18100E01 -8.83200E01 -1.72480E02 -2.28100E02 -1.10250E02 2.23200E01 2.36940E02 2.57950E02 2.36350E02 1.04850E02 3.11800E01 -9.68000E01 -4.46500E01 -6.58500E01 1.42350E02 2.01850E02 2.55000E02 1.88560E02 8.99000E01 -1.98800E01 -5.20200E01 -1.04090E02 -8.76600E01 -5.56300E01 -4.55500E01 6.88900E01 3.78100E01 9.74000E00 -3.62000E01 -1.19520E02 -1.57300E02 -1.44100E02 -1.58360E02 -4.89200E01 -2.30600E01 2.66100E01 4.97800E01 4.66100E01 -7.10000E-01 -2.75000E01 -9.71000E01 3.12300E01 2.85490E02 3.79340E02 2.94740E02 1.16260E02 -1.04830E02 -1.57640E02 -1.42920E02 3.44000E01 2.18180E02 2.23450E02 2.20690E02 1.61660E02 -1.03320E02 -2.41370E02 -2.39440E02 -1.46210E02 2.80500E01 1.16800E01 1.25800E02 1.05340E02 -7.84000E00 -5.35000E01 -1.12510E02 -1.70230E02 -1.22570E02 -8.73200E01 -5.89000E01 1.24500E01 -1.00100E01 4.48400E01 5.43400E01 -3.79200E01 -1.57000E02 -1.66620E02 -2.48390E02 -1.40470E02 -7.71000E01 7.42800E01 1.38250E02 1.22050E02 3.32200E01 -1.42400E02 -2.39330E02 -2.88050E02 -1.77030E02 -Frame 160 -6.74400E01 9.57000E00 4.89200E01 3.14100E01 -1.04700E02 -1.98950E02 -2.95960E02 -2.88730E02 -2.05050E02 -9.86400E01 6.81000E01 2.76880E02 4.93810E02 6.37950E02 5.13930E02 1.11590E02 -2.53290E02 -4.15210E02 -1.41750E02 1.52290E02 5.00270E02 6.12540E02 4.88720E02 2.78640E02 -6.01600E01 -3.84340E02 -4.70150E02 -3.83150E02 -4.10900E01 1.80590E02 1.94960E02 1.72600E02 2.34000E01 -8.94200E01 -1.89630E02 -2.61750E02 -3.10850E02 -2.80180E02 -1.68310E02 -1.88400E01 5.32500E01 6.25000E01 1.01960E02 6.05300E01 -6.52500E01 -1.40870E02 -1.95710E02 -1.56080E02 -2.21000E01 1.23020E02 1.89490E02 2.31820E02 2.04230E02 1.56590E02 7.73300E01 -2.84500E01 -5.14700E01 -2.71500E01 6.29500E01 1.39780E02 1.92860E02 1.67410E02 1.41030E02 2.77200E01 -1.81000E01 -1.08300E02 -1.62170E02 -1.01540E02 -5.19300E01 3.02700E01 6.59900E01 1.67600E01 -1.40000E01 -7.46900E01 -1.23180E02 -1.03050E02 -1.35200E02 -9.02200E01 -4.67700E01 2.40600E01 5.10500E01 2.18200E01 2.46600E01 6.55600E01 8.26600E01 7.82100E01 4.15500E01 9.47200E01 2.66450E02 3.54250E02 2.25450E02 -1.55200E01 -1.58900E02 -1.51540E02 -6.37900E01 1.59750E02 2.05070E02 2.00620E02 1.13870E02 1.23600E01 -1.40270E02 -3.05460E02 -2.47450E02 -9.04000E01 1.06600E02 1.10600E02 9.76300E01 1.21800E01 -5.59100E01 -9.10400E01 -8.01600E01 -1.03860E02 -1.01190E02 -7.73400E01 -1.66800E01 -4.13000E00 -3.21900E01 -9.09000E00 -5.27000E00 -1.83300E01 -5.97800E01 -1.75460E02 -1.96560E02 -1.46140E02 1.09600E01 1.23890E02 1.02180E02 2.06900E01 -6.03500E01 -1.42850E02 -1.98780E02 -2.16270E02 -1.18120E02 -3.98500E01 -9.15000E00 1.74800E01 -8.81100E01 -1.90910E02 -2.80740E02 -2.02120E02 -1.48920E02 -1.19800E01 1.95160E02 4.14480E02 6.34160E02 5.22020E02 3.12920E02 -9.49300E01 -3.39290E02 -2.46880E02 -1.73800E01 3.46230E02 4.83760E02 5.25100E02 3.84250E02 1.62720E02 -1.96770E02 -3.53150E02 -3.48000E02 -2.52340E02 -Frame 160 3.53000E00 8.43200E01 1.24540E02 6.79000E01 4.34600E01 -5.57600E01 -9.49800E01 -2.39310E02 -2.28870E02 -2.03890E02 -1.84950E02 -1.55260E02 -7.25200E01 8.30000E-01 1.22430E02 1.63660E02 6.70000E01 5.28000E00 -1.22360E02 -1.81840E02 -7.20000E01 -5.07100E01 3.82700E01 2.06950E02 2.60640E02 2.67740E02 2.00810E02 6.36300E01 -3.78400E01 -5.74000E01 -1.85000E01 5.56300E01 9.40100E01 1.08500E02 1.18350E02 8.64100E01 5.04200E01 -1.87100E01 -4.39400E01 -6.98900E01 -6.45600E01 -9.09900E01 -8.41400E01 -6.09900E01 -5.00600E01 -8.74000E00 8.70000E-01 1.67800E01 -4.88300E01 -3.14200E01 -9.84400E01 -7.84400E01 -7.07500E01 -2.47600E01 4.06700E01 9.10800E01 1.54960E02 1.83670E02 2.01100E02 1.59890E02 1.43270E02 6.60200E01 -6.60000E-01 -6.03800E01 -4.58700E01 -8.85000E00 8.93400E01 1.56500E02 1.62610E02 1.22780E02 -3.70000E-01 -5.03000E01 -1.70700E02 -1.74640E02 -1.52520E02 -6.15600E01 2.52800E01 5.47900E01 6.61700E01 4.28500E01 -1.62200E01 -7.30900E01 -7.06400E01 -1.19040E02 -1.20820E02 -1.09540E02 -6.78100E01 -2.57300E01 1.67000E00 1.59100E01 2.05700E01 -2.66500E01 -8.53100E01 -1.18710E02 -1.68040E02 -1.44750E02 -4.76200E01 3.25400E01 8.21300E01 7.41600E01 2.58600E01 -8.39700E01 -1.65130E02 -1.43660E02 -1.31410E02 -1.01680E02 -6.99600E01 -8.02200E01 -1.04750E02 -1.56970E02 -1.80690E02 -1.43010E02 -1.29070E02 -2.16200E01 1.68130E02 3.29550E02 5.56620E02 5.16170E02 2.84980E02 1.93800E01 -2.48440E02 -2.31300E02 -6.74100E01 1.88610E02 3.62370E02 4.60170E02 3.91580E02 2.61530E02 -1.67500E01 -2.27580E02 -2.79680E02 -2.88100E02 -1.46490E02 -9.35000E00 7.40500E01 8.59700E01 4.51900E01 -2.68800E01 -7.01400E01 -7.16600E01 -1.01150E02 -1.00450E02 -2.07630E02 -2.54930E02 -2.25460E02 -1.31880E02 6.70000E00 1.00540E02 1.60170E02 1.44480E02 8.11600E01 -1.92000E01 -8.86500E01 -1.59170E02 -1.56730E02 1.19200E01 1.10760E02 2.32540E02 2.28860E02 1.91850E02 -Frame 160 1.44520E02 8.16000E01 6.26700E01 3.71100E01 8.74000E00 -3.50000E00 -2.21000E01 1.76000E00 1.23700E01 3.83100E01 5.20300E01 7.71400E01 8.19700E01 3.18900E01 -4.37500E01 -1.11670E02 -1.91570E02 -1.90750E02 -1.26720E02 -2.85900E01 6.46000E01 7.46100E01 7.28600E01 -9.01000E00 -3.24000E01 -5.54800E01 -6.92200E01 -5.83200E01 -3.30300E01 1.90700E01 1.03760E02 2.10970E02 2.76300E02 3.08400E02 1.99220E02 7.75000E01 -2.40300E01 -1.56650E02 -1.30200E02 -7.17900E01 5.35100E01 1.48650E02 1.57610E02 1.52720E02 5.85600E01 -6.35400E01 -1.24330E02 -1.41860E02 -1.44780E02 -1.06640E02 -2.92100E01 1.46500E01 -3.14000E00 2.25300E01 2.79800E01 2.25800E01 -1.00000E00 -5.43000E01 -8.51900E01 -1.18950E02 -1.54640E02 -1.07290E02 -9.43800E01 -9.90000E-01 2.12800E01 3.72100E01 7.59000E00 -5.19600E01 -9.93100E01 -1.08040E02 -5.69500E01 -1.42400E01 1.87900E01 3.81000E00 -3.66500E01 -8.13400E01 -1.04350E02 -7.79900E01 -3.97600E01 -3.53300E01 -4.77500E01 -1.01530E02 -1.66900E02 -2.06160E02 -2.12470E02 -1.60810E02 -7.94400E01 8.94800E01 2.71500E02 4.71860E02 5.48950E02 4.55900E02 1.93550E02 -8.10800E01 -2.66110E02 -2.24600E02 -7.95900E01 1.91980E02 3.70770E02 3.91750E02 3.45030E02 2.04570E02 6.61000E00 -9.54400E01 -2.12520E02 -2.32990E02 -1.72850E02 -6.96700E01 -2.52200E01 2.86400E01 -8.85000E00 -7.48000E00 1.29500E01 3.60100E01 2.97600E01 -5.47000E01 -1.55710E02 -2.66690E02 -3.14850E02 -2.32210E02 -9.68100E01 2.88500E01 1.51350E02 2.15480E02 1.88380E02 8.72600E01 4.93000E00 -1.17950E02 -1.57520E02 -1.13170E02 -1.33500E01 1.15560E02 1.61340E02 1.94380E02 1.82260E02 1.53600E02 1.38920E02 1.24670E02 6.48800E01 1.20000E00 -5.14300E01 -8.06200E01 -7.36200E01 -4.73200E01 9.85000E00 4.17900E01 1.12690E02 1.32690E02 7.82000E01 7.97000E00 -1.03420E02 -1.90140E02 -1.96350E02 -1.37560E02 -7.58200E01 -7.10000E00 3.67500E01 3.49200E01 4.30000E01 4.52900E01 -Frame 160 6.61000E00 4.73000E00 -6.21000E00 -1.74800E01 6.29200E01 6.67500E01 1.23640E02 1.39180E02 1.25080E02 1.11440E02 1.18290E02 7.42600E01 3.48200E01 1.15000E00 -2.85400E01 -3.81000E01 4.10000E00 6.62000E00 3.12300E01 1.65900E01 2.45000E01 1.86500E01 -3.38000E00 -3.40700E01 -7.86600E01 -1.04540E02 -1.15110E02 -5.28900E01 -3.16900E01 3.20000E00 -1.18300E01 -1.43100E01 -2.18500E01 -5.26000E01 -5.32500E01 -6.78700E01 -6.18800E01 -7.66500E01 -6.08100E01 -3.54300E01 -3.12400E01 -5.59000E01 -4.92800E01 -3.94200E01 -6.23000E00 1.69800E01 4.68800E01 1.06500E01 -3.07200E01 -8.03500E01 -9.24500E01 -9.08500E01 -8.01300E01 -7.00200E01 -6.05500E01 -9.27500E01 -7.98800E01 -1.05560E02 -1.14960E02 -1.26570E02 -1.18450E02 -9.90000E01 2.51100E01 1.44000E02 3.44400E02 4.06650E02 4.05430E02 2.60790E02 4.44400E01 -8.26300E01 -1.45540E02 -8.22500E01 7.00800E01 1.63060E02 2.46770E02 2.62850E02 1.75200E02 8.97000E01 8.50000E00 -8.31900E01 -1.09610E02 -1.07720E02 -7.96500E01 -3.46200E01 -5.21500E01 -9.41600E01 -7.83700E01 -4.80100E01 6.34000E00 4.73700E01 2.16300E01 -2.39200E01 -1.23850E02 -1.98750E02 -2.08780E02 -1.78930E02 -1.13000E02 -1.89400E01 6.20300E01 1.15430E02 1.33360E02 9.07100E01 3.46500E01 -3.61800E01 -7.41700E01 -2.22700E01 -1.75000E00 8.54000E01 1.06160E02 9.24600E01 8.32500E01 9.16800E01 9.32900E01 1.25870E02 1.05350E02 6.21100E01 5.64900E01 -2.83400E01 -6.67500E01 -6.32700E01 -6.46100E01 -2.89200E01 2.89100E01 4.65100E01 7.26200E01 4.44800E01 -2.25600E01 -6.96400E01 -9.11000E01 -9.61300E01 -9.72200E01 -6.52500E01 -4.02300E01 -3.84000E01 -1.48000E00 3.45800E01 4.57200E01 5.51600E01 6.18400E01 6.96700E01 5.66800E01 1.23240E02 1.59750E02 1.66250E02 8.48100E01 -1.12100E01 -6.81700E01 -8.78100E01 -3.49600E01 5.65700E01 1.24890E02 1.22220E02 8.33700E01 3.02600E01 -3.75000E01 -6.93000E01 -6.60000E01 -8.15200E01 -7.54300E01 -4.20700E01 -Frame 160 -3.16300E01 2.71700E01 4.77000E00 1.68000E00 -8.50000E00 -9.98000E00 -2.49000E00 -2.77600E01 -8.47800E01 -1.02480E02 -1.28630E02 -1.05470E02 -5.55000E01 -1.09400E01 8.00000E00 5.10000E-01 -1.52200E01 -2.54300E01 -4.59400E01 -2.90500E01 -1.06200E01 -2.86200E01 -2.01600E01 -1.54300E01 -2.25500E01 -3.78800E01 -5.56600E01 -7.19500E01 -7.46900E01 -7.74600E01 -6.02600E01 -7.74900E01 -1.04200E02 -1.17660E02 -1.42450E02 -1.25900E02 -4.97500E01 4.07700E01 2.15020E02 3.50430E02 4.05680E02 3.83250E02 2.10770E02 2.67700E01 -1.01930E02 -1.57500E02 -8.66300E01 4.15200E01 1.08600E02 1.99660E02 2.08360E02 1.64150E02 1.35440E02 4.87400E01 -1.66600E01 -5.50400E01 -9.15300E01 -8.90400E01 -6.53700E01 -8.38900E01 -9.88900E01 -9.82500E01 -6.54900E01 -1.76500E01 5.56900E01 6.72500E01 3.21100E01 -5.41400E01 -1.39000E02 -1.97350E02 -1.94320E02 -1.53020E02 -9.83100E01 -1.08300E01 6.63500E01 1.20840E02 1.21890E02 9.78500E01 2.59700E01 5.84000E00 -2.19200E01 -1.05200E01 4.62400E01 4.27100E01 7.20300E01 4.61900E01 6.05100E01 7.72200E01 9.33800E01 8.79600E01 9.23000E01 5.87000E01 2.80200E01 9.38000E00 -1.58300E01 -4.77900E01 -4.26800E01 -5.63600E01 -2.94000E01 9.43000E00 2.44600E01 2.49400E01 3.42000E00 -2.27600E01 -4.77200E01 -5.84000E01 -5.43500E01 -6.31200E01 -6.21000E01 -4.99900E01 -3.94600E01 -1.15700E01 1.81900E01 8.28500E01 1.08430E02 1.58700E02 1.61380E02 1.52000E02 6.92000E01 4.79000E00 -3.06000E01 -6.10400E01 -5.13500E01 7.70000E00 4.65800E01 7.16300E01 7.94000E01 6.63500E01 2.68500E01 1.31200E01 -2.20300E01 -2.82300E01 -4.85800E01 -4.45000E01 -6.22400E01 -5.54600E01 -4.44100E01 -4.99700E01 -2.16500E01 5.70000E-01 2.14800E01 1.50200E01 -1.65000E00 -3.58300E01 -7.90300E01 -1.04490E02 -1.15640E02 -8.20300E01 -5.43100E01 -2.46900E01 6.86000E00 4.37000E00 -2.21000E00 -2.50000E01 -4.14800E01 -4.04400E01 -2.03400E01 -1.06100E01 -5.80000E-01 2.75000E00 -Frame 160 -2.18300E01 -5.31600E01 -7.74200E01 -8.23700E01 -6.54100E01 -7.88800E01 -6.47100E01 -6.90600E01 -6.55000E01 -9.17900E01 -1.07830E02 -1.24290E02 -1.11170E02 -7.85700E01 3.70800E01 1.74240E02 3.18450E02 3.66800E02 3.22290E02 1.82100E02 4.04100E01 -8.36900E01 -1.13540E02 -4.92000E01 1.51800E01 8.55400E01 1.20000E02 1.42420E02 1.30410E02 1.03920E02 4.25300E01 1.22000E00 -3.13500E01 -4.68800E01 -4.83000E00 -2.94600E01 -6.38100E01 -1.14150E02 -1.53930E02 -1.23790E02 -8.26000E01 -6.00000E-02 3.20300E01 4.20800E01 4.40000E00 -4.44500E01 -1.02770E02 -1.45800E02 -1.46030E02 -1.26140E02 -8.05300E01 3.55000E00 5.82100E01 9.34900E01 5.37600E01 4.07400E01 -5.73000E00 1.23600E01 3.89900E01 6.84000E01 8.26500E01 7.42600E01 3.45400E01 3.05600E01 2.64300E01 1.81500E01 4.46000E01 5.18300E01 6.42400E01 8.29800E01 7.62300E01 6.22100E01 -2.90000E-01 -3.47100E01 -6.51500E01 -6.74600E01 -3.77700E01 2.88000E00 -1.32100E01 -1.87800E01 -2.15000E01 -2.82800E01 -3.42400E01 -3.03500E01 -1.73100E01 -4.28500E01 -3.41400E01 -2.51300E01 -3.82000E00 -1.38500E01 7.82000E00 3.11500E01 4.41700E01 9.55500E01 1.48430E02 1.45810E02 1.26980E02 7.74600E01 1.33500E01 -3.67400E01 -2.63300E01 -5.65600E01 -1.36600E01 -6.41000E00 2.70800E01 3.75900E01 3.64000E01 3.61500E01 1.78700E01 -2.09800E01 -3.70000E01 -2.34700E01 -1.74900E01 -3.13000E01 -4.75000E01 -6.81500E01 -4.73700E01 -6.89000E01 -4.40300E01 -2.13500E01 -1.29500E01 -3.28000E00 9.69000E00 -1.69500E01 -3.14000E01 -2.52700E01 -5.39300E01 -6.14300E01 -6.01100E01 -3.37000E01 -3.54500E01 -2.32300E01 -2.76200E01 -2.31300E01 -2.34900E01 1.01500E01 3.98100E01 3.73400E01 6.75000E00 -1.28000E01 -6.09500E01 -9.15400E01 -1.15000E02 -1.35090E02 -1.12690E02 -1.15510E02 -7.73300E01 -6.69200E01 -5.31500E01 -6.89300E01 -9.51600E01 -7.01400E01 -4.83100E01 7.92100E01 1.84570E02 2.76990E02 3.18990E02 2.55980E02 1.33780E02 6.68000E00 -Frame 160 -5.93500E01 -7.03600E01 -7.64000E00 4.10300E01 1.05170E02 1.37200E02 1.40100E02 1.18970E02 8.10900E01 1.69800E01 -1.01100E01 -4.40100E01 -2.99000E01 -1.73100E01 -1.63000E01 -5.82300E01 -9.13900E01 -1.35480E02 -1.34800E02 -9.39700E01 -2.87900E01 -1.57000E00 1.34900E01 1.60000E01 -3.14300E01 -6.53000E01 -8.31600E01 -1.35500E02 -1.23340E02 -7.97000E01 -2.86500E01 2.79900E01 5.93400E01 8.35900E01 3.55000E01 2.38800E01 3.28700E01 3.41000E01 5.33300E01 7.01000E01 6.23200E01 5.02400E01 4.47400E01 2.50300E01 6.69000E00 3.27800E01 2.66500E01 4.43100E01 5.84800E01 6.80400E01 4.88400E01 2.00100E01 -1.17200E01 -5.24100E01 -5.63000E01 -3.12500E01 -2.43900E01 -1.12900E01 -2.57700E01 -4.06700E01 -4.49900E01 -5.14000E01 -3.19600E01 -3.18900E01 -2.47900E01 -1.94500E01 6.07000E00 1.23700E01 1.58500E01 4.42000E00 4.63000E00 3.88400E01 9.70700E01 1.47010E02 1.65360E02 1.48130E02 7.02400E01 -1.61100E01 -7.71000E01 -8.88900E01 -6.59500E01 -4.32300E01 -2.27600E01 4.63700E01 4.86000E01 4.28600E01 3.69100E01 -7.25000E00 -4.17600E01 -5.82900E01 -4.52700E01 -1.38000E01 1.66000E00 -1.14000E01 -4.38500E01 -7.72600E01 -9.16300E01 -5.13600E01 -2.68000E01 5.40000E-01 1.72000E00 -8.07000E00 -1.81600E01 -3.35500E01 -6.33900E01 -4.51000E01 -4.42100E01 -5.22600E01 -1.25200E01 -4.55000E00 -1.83400E01 -4.25500E01 -5.04800E01 -4.36200E01 -4.65200E01 7.52000E00 2.82100E01 1.15000E01 -1.37500E01 -5.27800E01 -7.39800E01 -1.14780E02 -1.34750E02 -1.27230E02 -1.23380E02 -1.09320E02 -9.07500E01 -7.25500E01 -8.97500E01 -9.74300E01 -8.02900E01 -1.85800E01 1.43020E02 2.52450E02 3.37000E02 3.24830E02 2.18970E02 9.26300E01 -1.77000E01 -8.24200E01 -6.20600E01 -3.10100E01 1.50300E01 8.04800E01 1.21880E02 1.38450E02 1.32410E02 6.60700E01 1.56300E01 -1.83700E01 -1.73900E01 -7.35000E00 4.02000E00 -4.82500E01 -1.22080E02 -1.79070E02 -1.79650E02 -1.32080E02 -9.49200E01 -2.05300E01 -Frame 160 2.17000E00 2.55600E01 3.26400E01 -8.10000E00 -5.51000E01 -9.35100E01 -1.09030E02 -1.07940E02 -7.17300E01 -1.13500E01 1.58900E01 1.09400E01 1.08100E01 7.65000E00 2.73700E01 6.56600E01 1.17060E02 1.15930E02 9.56500E01 7.96500E01 4.10800E01 1.72800E01 -9.27000E00 -2.06300E01 -1.53200E01 -4.83000E00 3.49900E01 7.30100E01 6.91400E01 5.80900E01 4.46500E01 -1.32400E01 -2.59000E01 -2.19200E01 -4.07900E01 -3.62000E01 -5.14300E01 -6.20800E01 -7.50000E01 -6.52500E01 -6.31400E01 -5.09100E01 -2.52600E01 2.42000E01 4.21600E01 4.16300E01 5.90400E01 3.99300E01 3.21900E01 2.01800E01 2.57800E01 5.55300E01 6.61500E01 5.80400E01 6.46300E01 4.73700E01 5.05400E01 1.37700E01 -5.14000E00 -2.46200E01 -1.16700E01 -1.13000E01 1.51000E01 3.03100E01 1.97000E00 -5.24000E00 -3.86600E01 -2.00700E01 -2.68800E01 -3.08700E01 5.00000E-02 -5.07000E00 -2.34000E00 -6.52000E00 -3.48200E01 -6.09600E01 -6.88500E01 -6.79200E01 -5.39000E01 -3.24000E01 -3.02100E01 -2.69300E01 -1.65300E01 -2.78000E01 -2.34000E01 -1.88500E01 -1.91500E01 -3.44500E01 -3.92000E01 -2.60700E01 -3.35200E01 -3.51800E01 -2.38700E01 -2.82000E01 -2.36500E01 -6.95000E00 -7.74000E00 -2.45600E01 -3.98900E01 -5.16700E01 -7.07800E01 -1.16430E02 -1.06400E02 -1.09980E02 -1.00590E02 -1.03840E02 -1.10120E02 -1.13520E02 -1.01950E02 -3.89600E01 8.79800E01 2.19730E02 3.12320E02 3.42460E02 2.80200E02 1.81750E02 7.60900E01 -2.29000E01 -4.59200E01 -4.60000E00 -2.09900E01 1.41400E01 5.03500E01 5.86400E01 6.71400E01 5.38500E01 4.91100E01 5.11900E01 6.93000E01 7.09200E01 5.35400E01 -7.41000E00 -9.42200E01 -1.87610E02 -2.31700E02 -2.18930E02 -1.50560E02 -7.69400E01 -9.80000E-01 1.93200E01 3.72200E01 2.36300E01 -8.41000E00 -4.64400E01 -5.06100E01 -6.18700E01 -4.54300E01 -8.45000E00 -5.33000E00 -1.81200E01 -3.13000E01 -2.98700E01 -1.73800E01 3.35000E01 1.01910E02 1.44330E02 1.70920E02 1.42170E02 1.09400E02 5.45200E01 -Frame 160 9.00000E-01 -2.13700E01 -4.73000E01 -3.19800E01 5.85000E00 2.08500E01 4.33000E01 3.04100E01 1.91000E01 -7.57000E00 -5.00000E-02 8.71000E00 2.47400E01 6.25000E00 -1.18100E01 -4.54100E01 -9.10000E01 -1.03910E02 -1.05120E02 -9.92700E01 -4.71500E01 -2.03800E01 1.62300E01 4.39500E01 6.74800E01 5.86700E01 5.95300E01 5.23600E01 6.79200E01 6.39000E01 6.47000E01 6.14700E01 6.80900E01 6.18600E01 4.33900E01 4.93200E01 2.64000E01 -4.24000E00 -1.48100E01 -1.68000E00 -2.13000E00 -3.58000E00 -1.30600E01 -1.48100E01 -2.45900E01 -3.46400E01 -1.59600E01 -2.16800E01 -3.85500E01 -2.59000E01 -2.58300E01 -1.27300E01 -2.02100E01 -2.69000E01 -3.67700E01 -3.59100E01 -4.99900E01 -4.14600E01 -3.36300E01 -4.25300E01 -3.96700E01 -3.56900E01 -4.15600E01 -2.45800E01 -2.50600E01 -2.85400E01 -3.81100E01 -3.09500E01 -3.35500E01 -2.72100E01 -1.06600E01 -6.60000E00 -1.24200E01 -3.04200E01 -2.59600E01 -4.23500E01 -5.92200E01 -6.55700E01 -7.30700E01 -8.27500E01 -8.46700E01 -8.35900E01 -9.44200E01 -1.01520E02 -1.09770E02 -1.35200E02 -1.27320E02 -1.04110E02 -4.01200E01 9.98500E01 2.42020E02 3.47330E02 3.75550E02 3.09280E02 1.83670E02 7.60100E01 8.96000E00 -1.81600E01 1.19100E01 2.49100E01 4.23000E01 2.82000E01 1.96500E01 3.08300E01 1.63400E01 2.64000E01 3.27600E01 4.63000E01 7.32300E01 5.99400E01 1.02000E01 -9.50700E01 -1.60490E02 -2.35770E02 -2.10150E02 -1.27540E02 -6.62600E01 -3.80300E01 -1.89000E01 -6.17000E00 -2.30500E01 -3.64400E01 -3.52200E01 -2.79400E01 5.80000E-01 1.19700E01 3.16900E01 1.79800E01 3.82000E00 -4.27900E01 -5.18100E01 -2.60700E01 3.94800E01 1.03010E02 1.54400E02 1.68230E02 1.40330E02 9.74400E01 6.91400E01 3.79100E01 1.76900E01 5.84000E00 8.63000E00 4.51000E00 -1.37300E01 -1.95100E01 -3.24400E01 -4.17300E01 -3.52600E01 -8.55000E00 2.60000E01 3.76000E01 2.35300E01 3.01000E00 -5.51400E01 -8.90300E01 -1.01880E02 -7.90300E01 -6.84000E01 -4.93800E01 -Frame 160 -2.67300E01 -9.36000E00 1.35500E01 4.41500E01 5.86500E01 7.05400E01 1.06730E02 1.33940E02 1.50870E02 1.30190E02 8.97600E01 4.60100E01 3.28800E01 2.53300E01 3.75400E01 4.01100E01 1.77400E01 -1.93200E01 -2.94900E01 -2.29300E01 -2.01300E01 -9.21000E00 6.07000E00 -2.17000E00 3.35000E00 -1.89500E01 -2.09100E01 -4.79000E01 -5.76700E01 -6.76800E01 -3.89300E01 -1.72500E01 -1.08800E01 2.70000E00 -1.63000E01 -2.08700E01 -2.45600E01 -2.53400E01 -1.51200E01 -1.05700E01 -1.58700E01 -2.83200E01 -3.31300E01 -3.80600E01 -4.71100E01 -5.54000E01 -5.99000E01 -5.04900E01 -9.75000E00 1.25000E00 1.95800E01 2.34500E01 -1.85900E01 -4.09200E01 -5.19100E01 -6.62000E01 -7.38800E01 -7.67400E01 -9.26300E01 -1.18940E02 -1.18970E02 -1.12910E02 -1.22580E02 -1.10460E02 -1.23890E02 -8.86500E01 -2.62700E01 9.00300E01 2.46810E02 3.51180E02 3.85430E02 3.29370E02 2.20270E02 1.11600E02 3.74800E01 2.30500E01 2.51700E01 4.43500E01 2.71000E01 1.33100E01 5.10000E00 -2.35000E00 2.59900E01 2.62000E01 5.14100E01 6.23700E01 6.86300E01 5.70400E01 -2.39400E01 -9.53800E01 -1.72920E02 -2.02680E02 -1.72160E02 -1.28530E02 -6.34300E01 -6.62600E01 -4.91200E01 -4.34100E01 -4.44900E01 -2.05700E01 2.10000E00 1.24600E01 4.51200E01 3.57400E01 5.00300E01 2.17100E01 -1.65100E01 -4.39000E01 -4.11000E01 -6.18000E00 6.48200E01 1.21950E02 1.39730E02 1.47930E02 1.02250E02 8.20700E01 8.12000E01 7.92400E01 7.51600E01 4.49000E01 2.76800E01 -2.00800E01 -5.32800E01 -6.24400E01 -7.28100E01 -6.14200E01 -2.66100E01 -2.69000E00 3.59800E01 2.78200E01 7.39000E00 -3.26700E01 -5.09300E01 -6.77000E01 -5.69200E01 -5.67500E01 -4.05200E01 -5.17500E01 -6.72800E01 -4.02300E01 -1.23100E01 2.44800E01 6.33800E01 1.07420E02 1.56720E02 1.83400E02 1.64740E02 1.38360E02 8.40500E01 4.90000E01 4.28400E01 5.34700E01 9.14000E01 6.74400E01 1.17000E01 -5.27500E01 -1.00120E02 -9.28400E01 -5.62300E01 -4.20000E-01 -Frame 160 1.31300E01 1.10000E00 -8.29000E00 -3.09500E01 -3.92700E01 -5.58000E01 -4.37800E01 -4.03400E01 -2.97500E01 -4.80000E00 -8.07000E00 -3.14300E01 -5.14800E01 -6.21000E01 -4.29900E01 5.75000E00 2.89900E01 2.79200E01 4.79000E00 -2.50600E01 -5.58100E01 -7.54600E01 -6.36500E01 -5.04200E01 -4.57400E01 -2.58800E01 -3.39000E00 -1.21000E00 -2.97000E00 -7.79000E00 -2.27600E01 -2.91800E01 -3.57800E01 -3.85600E01 -6.44000E01 -8.59900E01 -1.45180E02 -1.80080E02 -1.61910E02 -1.66050E02 -1.38190E02 -1.50370E02 -1.15820E02 -3.31300E01 8.51100E01 2.80890E02 3.99430E02 4.49240E02 3.68160E02 2.16230E02 1.26410E02 4.07100E01 6.23400E01 5.76000E01 3.16800E01 -3.05000E00 -7.18300E01 -5.96500E01 -6.40200E01 -2.45000E00 4.00400E01 6.08200E01 1.08200E02 9.49600E01 7.72400E01 -1.70800E01 -1.24280E02 -1.94660E02 -2.18020E02 -1.55890E02 -1.17690E02 -8.62000E01 -8.26600E01 -1.35940E02 -9.47500E01 -4.92100E01 1.97700E01 7.28500E01 8.64900E01 9.14600E01 5.34900E01 3.02900E01 1.73400E01 -2.90300E01 -2.18100E01 -2.73500E01 1.09600E01 7.04400E01 8.66900E01 1.03360E02 9.44500E01 9.11800E01 1.15730E02 1.33940E02 1.57600E02 1.10860E02 4.15900E01 -2.88400E01 -7.74000E01 -9.23700E01 -9.47000E01 -8.10000E01 -5.67900E01 -3.67700E01 -1.70900E01 -3.78000E00 3.95000E00 -4.08000E00 -1.73500E01 -7.01000E00 -3.34000E00 -6.55000E00 -2.68500E01 -6.67500E01 -1.05820E02 -8.20000E01 -3.63700E01 -4.30000E00 6.17600E01 9.48000E01 1.01770E02 1.36860E02 1.77910E02 1.93070E02 1.85530E02 1.27600E02 9.77800E01 5.09700E01 2.66900E01 4.26600E01 9.11000E00 -4.94600E01 -8.97700E01 -1.01220E02 -7.09100E01 -4.45800E01 1.36200E01 1.26200E01 -4.41000E00 -2.69500E01 -2.61500E01 -2.22900E01 -2.32800E01 -2.52700E01 -3.62900E01 -4.66100E01 -4.12000E01 -4.45800E01 -4.80200E01 -4.25200E01 -2.98100E01 1.53200E01 5.48300E01 4.45100E01 1.08300E01 -6.90000E00 -3.91700E01 -4.84000E01 -3.68700E01 -3.59500E01 -Frame 160 -5.59700E01 -6.75600E01 -8.04500E01 -4.66700E01 -1.08100E01 -2.84000E00 3.70000E-01 -1.83300E01 -2.86000E01 -6.41700E01 -5.57900E01 -7.21100E01 -1.19880E02 -1.39030E02 -1.66660E02 -1.60010E02 -1.69030E02 -1.53200E02 -1.55770E02 -1.21310E02 -1.57100E01 1.37130E02 3.30530E02 4.69570E02 4.64450E02 3.83730E02 2.23160E02 1.44430E02 1.09150E02 1.11700E02 1.13250E02 7.70000E-01 -7.61600E01 -1.45370E02 -1.54560E02 -7.48700E01 -2.16300E01 6.52900E01 7.78500E01 9.27400E01 7.60200E01 -6.27000E00 -5.90800E01 -1.38450E02 -1.48130E02 -1.05960E02 -1.23380E02 -1.27220E02 -2.00060E02 -2.11970E02 -1.66060E02 -8.45900E01 5.44600E01 1.00740E02 9.53400E01 7.56700E01 5.93100E01 5.73800E01 6.43300E01 7.64300E01 6.48300E01 2.18100E01 2.04400E01 -2.99000E00 2.86000E00 1.18900E01 4.61900E01 1.23510E02 1.46110E02 1.74280E02 1.41170E02 5.99200E01 1.91200E01 -1.99400E01 4.83000E00 -2.26200E01 -4.68800E01 -1.03830E02 -1.46430E02 -1.40200E02 -1.01640E02 -5.67900E01 -1.15000E01 9.20000E00 2.45300E01 2.03100E01 1.99400E01 -1.46000E00 -3.55200E01 -3.26000E01 -2.15600E01 -1.91600E01 -2.46700E01 -3.73300E01 -4.03500E01 -1.44300E01 5.73000E01 1.32190E02 1.68270E02 1.98310E02 1.89100E02 1.66440E02 1.67940E02 1.37350E02 1.15710E02 8.53200E01 -1.06000E00 -1.40800E01 -8.24600E01 -1.25850E02 -1.37440E02 -1.55240E02 -8.64300E01 -5.64000E01 -9.38000E00 -8.89000E00 -3.93700E01 -3.27500E01 -2.28900E01 2.33000E01 4.59000E01 -5.84000E00 -1.91700E01 -6.48900E01 -7.39600E01 -4.12400E01 -2.34700E01 2.87000E00 -1.98000E00 1.00200E01 1.03800E01 8.74000E00 -3.96000E00 -1.70500E01 -6.53000E00 -3.26800E01 -3.76100E01 -6.46600E01 -1.10490E02 -1.06640E02 -8.15800E01 -4.96800E01 -2.76000E00 -2.94000E01 -4.18500E01 -6.96600E01 -8.12800E01 -7.02000E01 -5.97300E01 -9.29000E01 -1.34030E02 -1.58330E02 -1.83260E02 -1.93820E02 -1.91560E02 -1.83090E02 -1.17230E02 3.77300E01 2.28400E02 4.34710E02 -Frame 160 4.52960E02 4.21330E02 3.06320E02 2.41470E02 2.60400E02 2.22690E02 1.92630E02 5.74900E01 -1.05850E02 -1.80110E02 -2.14470E02 -1.19670E02 -7.88100E01 -2.86000E01 8.20000E00 -5.86000E00 1.26600E01 1.75000E00 -2.14900E01 -9.42000E00 -4.29600E01 -2.74900E01 -1.14510E02 -1.97110E02 -2.59080E02 -2.78730E02 -1.59740E02 -7.59400E01 -8.50000E00 9.01000E00 -9.97000E00 3.54500E01 9.02200E01 1.70580E02 1.97250E02 1.42550E02 1.07020E02 2.72900E01 -2.93000E00 9.92000E00 -2.28400E01 1.34100E01 2.77700E01 6.75500E01 8.85000E01 5.90200E01 7.25800E01 8.05000E01 1.09600E02 1.19510E02 6.16300E01 9.20000E-01 -1.01650E02 -1.48280E02 -1.16200E02 -1.34010E02 -1.00240E02 -1.12330E02 -1.13690E02 -7.39900E01 -6.00000E01 2.74700E01 3.86100E01 4.20500E01 7.45500E01 2.39800E01 2.28200E01 -2.24000E01 -2.80000E01 -1.27500E01 -1.40200E01 6.68000E00 -1.89900E01 -1.04400E01 7.43800E01 1.34750E02 2.23860E02 2.59520E02 1.90050E02 2.01270E02 1.25670E02 1.11640E02 1.09100E02 -7.59000E00 -6.68500E01 -1.70850E02 -1.82880E02 -1.61090E02 -1.63460E02 -8.67400E01 -8.95600E01 -5.53800E01 -9.00000E-02 -5.09000E00 4.87600E01 4.12300E01 6.14300E01 9.02000E01 7.78000E00 -1.71900E01 -7.89100E01 -8.54600E01 -4.81300E01 -5.26000E01 -1.31600E01 -4.64900E01 -2.08100E01 -4.32000E00 2.86800E01 7.76700E01 4.21000E01 1.23900E01 -1.92500E01 -7.68500E01 -7.51600E01 -9.93500E01 -9.72000E01 -8.69000E01 -1.01210E02 -8.28800E01 -9.09200E01 -1.04140E02 -5.96900E01 -3.88300E01 -8.31000E00 -3.58600E01 -1.04250E02 -1.38680E02 -1.59070E02 -1.61970E02 -1.62840E02 -1.92620E02 -2.13180E02 -1.62220E02 1.14200E01 2.22370E02 4.17590E02 4.49420E02 4.17790E02 3.43780E02 3.13160E02 3.28310E02 2.90640E02 2.15560E02 4.79900E01 -9.57700E01 -1.81850E02 -2.10390E02 -1.70590E02 -1.49380E02 -8.63600E01 -3.83000E01 -3.77100E01 -2.10600E01 -1.88700E01 1.14100E01 7.06200E01 3.46000E01 -7.56000E00 -1.45010E02 -Frame 160 -2.35570E02 -2.38710E02 -2.08730E02 -1.26640E02 -1.28910E02 -1.17150E02 -9.49400E01 -4.89800E01 6.94200E01 1.32390E02 1.92160E02 2.03580E02 1.78150E02 1.47760E02 7.52900E01 4.75100E01 3.08300E01 7.61000E00 2.66700E01 -2.70000E00 -2.89700E01 -4.00200E01 6.63000E00 8.57200E01 1.25180E02 1.21750E02 7.51100E01 2.99700E01 -3.58000E00 -2.41500E01 -4.23200E01 -8.90000E01 -1.23030E02 -1.49990E02 -1.80640E02 -1.55070E02 -1.21570E02 -6.69300E01 -6.55000E00 2.66900E01 4.09200E01 3.65400E01 2.39800E01 4.40000E01 6.75900E01 4.78400E01 1.74300E01 -2.19400E01 -2.75100E01 -1.62300E01 2.44100E01 9.12800E01 1.31130E02 1.58090E02 1.71740E02 1.46660E02 1.75680E02 1.66450E02 1.54800E02 9.46700E01 -2.23800E01 -9.40000E01 -1.85720E02 -1.76080E02 -1.49960E02 -1.45880E02 -1.37530E02 -1.43790E02 -9.21100E01 -2.07500E01 6.83000E00 8.22500E01 7.59200E01 7.13200E01 5.55100E01 1.16000E00 -3.87000E00 -3.90500E01 -4.62800E01 -4.26900E01 -8.69500E01 -9.05000E01 -9.90800E01 -3.98400E01 1.42600E01 3.50100E01 6.23600E01 1.14900E01 -9.70000E-01 -2.82000E00 -3.57300E01 -2.86300E01 -7.62900E01 -9.43600E01 -1.09910E02 -1.25850E02 -1.18180E02 -1.12180E02 -7.89100E01 -3.75600E01 -6.19200E01 -6.20000E01 -9.20500E01 -1.14970E02 -9.75200E01 -1.32470E02 -1.37410E02 -2.14410E02 -2.28630E02 -1.75120E02 -7.08400E01 9.56800E01 2.67210E02 4.00750E02 3.51010E02 3.62380E02 3.20750E02 3.47530E02 3.68820E02 2.78440E02 1.66030E02 -2.19800E01 -1.36750E02 -1.56910E02 -1.52520E02 -1.42830E02 -1.19690E02 -1.34710E02 -8.60600E01 -1.14820E02 -6.36000E00 1.84600E01 7.40300E01 8.82500E01 -1.71700E01 -6.28300E01 -1.63840E02 -1.75820E02 -1.37010E02 -1.55880E02 -1.55200E02 -2.09370E02 -1.92040E02 -9.00200E01 -6.79000E00 1.02990E02 1.33040E02 1.65870E02 1.67540E02 1.20090E02 1.62050E02 1.12150E02 1.09600E02 9.78700E01 1.16900E01 -3.21600E01 -7.23300E01 -3.56700E01 4.31600E01 5.23900E01 -Frame 160 8.08600E01 5.61400E01 2.86100E01 6.62100E01 7.69200E01 6.59000E01 1.44900E01 -4.95100E01 -8.84300E01 -1.35460E02 -1.53810E02 -1.55580E02 -1.16260E02 -1.07620E02 -8.86200E01 -6.49600E01 -4.25200E01 6.64000E00 7.33000E01 9.59400E01 6.91800E01 4.65200E01 2.81100E01 2.61000E01 2.70000E01 1.19000E01 4.93200E01 1.16850E02 8.13600E01 7.57000E01 8.78000E01 1.00200E02 1.73900E02 1.75730E02 2.10470E02 1.16110E02 -8.25000E00 -3.34200E01 -4.93100E01 -7.56200E01 -1.47650E02 -1.57750E02 -1.46000E02 -1.75740E02 -1.32230E02 -7.62500E01 -1.94700E01 5.10800E01 3.17600E01 8.38100E01 5.53900E01 3.20400E01 7.99400E01 4.72500E01 4.51000E00 -6.55500E01 -1.01710E02 -8.28900E01 -8.44100E01 -3.99000E01 -2.79800E01 -2.86700E01 -1.83600E01 -7.20000E-01 4.14600E01 2.29000E01 1.67400E01 2.23700E01 -3.68500E01 -5.68700E01 -8.74600E01 -8.99200E01 -6.23800E01 -1.06940E02 -1.03790E02 -1.20460E02 -1.30550E02 -7.48500E01 -8.43800E01 -6.41500E01 -9.42600E01 -1.36240E02 -1.20420E02 -1.31030E02 -1.53880E02 -1.59330E02 -1.08840E02 3.52700E01 1.54760E02 3.38760E02 3.01100E02 2.72970E02 3.10700E02 3.17300E02 3.87810E02 3.05150E02 1.91670E02 9.05300E01 -2.77900E01 -9.07100E01 -9.74600E01 -1.12300E02 -1.11470E02 -1.28490E02 -1.01900E02 -1.47380E02 -8.01200E01 1.23000E01 5.85700E01 8.92200E01 -1.22600E01 -5.78600E01 -7.58100E01 -1.12240E02 -7.16900E01 -1.08820E02 -1.83000E02 -1.99310E02 -1.90950E02 -1.32170E02 -6.54700E01 7.33000E00 6.93500E01 9.22000E01 1.03650E02 1.26340E02 1.50600E02 1.58460E02 1.61410E02 1.30300E02 4.21100E01 -7.84000E00 -4.32000E00 -3.68000E00 2.89900E01 1.66500E01 8.92000E00 1.69500E01 3.72200E01 5.50900E01 7.94700E01 7.35400E01 4.33700E01 -2.76000E00 -3.23000E01 -7.47100E01 -8.53500E01 -8.92300E01 -1.03140E02 -1.29380E02 -1.42310E02 -1.11510E02 -5.66600E01 -1.60700E01 1.47800E01 3.25600E01 2.08500E01 3.87500E01 6.21600E01 7.52300E01 -Frame 160 4.86300E01 3.31600E01 3.11800E01 5.01100E01 6.65800E01 8.05000E01 8.37800E01 9.20900E01 8.15800E01 1.15680E02 1.10740E02 1.06560E02 1.09170E02 6.07800E01 1.38600E01 -4.65000E01 -6.66600E01 -8.13600E01 -1.16420E02 -1.11440E02 -1.09190E02 -1.31760E02 -8.79000E01 -5.16000E01 1.68700E01 1.14400E01 3.58300E01 5.89400E01 3.17100E01 4.16100E01 1.67800E01 8.17000E00 -2.07100E01 -6.54600E01 -6.55300E01 -7.75400E01 -7.08500E01 -4.78900E01 -2.51800E01 -1.17500E01 -2.49000E01 5.60000E-01 1.38000E01 4.43000E00 4.76000E00 -2.29100E01 -2.44200E01 -4.49600E01 -5.51000E01 -6.25100E01 -8.01000E01 -8.71700E01 -1.03390E02 -1.05030E02 -9.76400E01 -1.05950E02 -9.24400E01 -9.64500E01 -9.75200E01 -1.20560E02 -1.40230E02 -1.38410E02 -1.36440E02 -1.18320E02 -1.65700E01 8.13000E01 2.69080E02 2.84380E02 2.45860E02 2.50900E02 2.53850E02 3.50650E02 3.08120E02 2.19000E02 8.59400E01 2.71000E00 -8.07000E00 -4.01500E01 -5.81600E01 -9.96500E01 -1.18310E02 -7.64200E01 -1.03150E02 -7.56000E01 -4.12000E00 3.35800E01 8.44200E01 7.60000E-01 -4.54800E01 -4.91000E01 -6.97800E01 -3.70300E01 -1.08230E02 -1.67530E02 -1.91510E02 -1.87060E02 -1.09310E02 -7.90700E01 -3.28400E01 1.58300E01 2.99700E01 6.85000E01 8.21400E01 1.34110E02 1.66550E02 1.30830E02 1.18880E02 4.44500E01 2.16800E01 2.91900E01 2.19100E01 4.33900E01 4.50000E00 -5.59000E00 2.80200E01 3.66500E01 7.85200E01 9.36200E01 8.01100E01 4.21200E01 1.69300E01 1.59600E01 -1.04000E00 -2.35500E01 -5.47200E01 -8.77900E01 -1.10790E02 -1.29390E02 -9.44400E01 -7.33200E01 -6.14800E01 -1.62200E01 -2.85500E01 -1.52400E01 2.34900E01 4.13900E01 7.98000E01 5.83200E01 2.91200E01 1.09900E01 7.29000E00 3.74700E01 5.45500E01 9.71100E01 7.79000E01 6.40300E01 9.26800E01 1.13140E02 1.35140E02 1.27710E02 1.29950E02 8.81600E01 1.02000E00 -2.27900E01 -2.12900E01 -4.37000E01 -7.37400E01 -9.36200E01 -1.18010E02 -1.33030E02 -Frame 160 -9.33800E01 -1.84100E01 -2.10000E00 -2.80000E-01 1.66000E01 4.89900E01 3.43400E01 3.22100E01 5.89900E01 2.35500E01 -3.00000E01 -6.41700E01 -6.83300E01 -6.45500E01 -6.85900E01 -5.76900E01 -3.84000E01 -5.74800E01 -4.51000E01 1.47000E01 4.73300E01 2.99200E01 1.09400E01 9.36000E00 -3.28000E00 -1.13100E01 -2.35800E01 -5.22100E01 -6.66800E01 -8.45400E01 -9.78800E01 -9.85500E01 -9.71600E01 -7.86500E01 -7.95100E01 -7.43400E01 -9.59600E01 -1.02180E02 -8.55200E01 -8.72900E01 -1.08060E02 -1.24400E02 -1.18160E02 -2.06500E01 9.58600E01 2.36850E02 2.24950E02 1.66450E02 2.10970E02 2.38660E02 2.90980E02 2.80650E02 1.76750E02 9.54900E01 4.36500E01 1.31900E01 -1.82000E01 -3.95200E01 -5.84400E01 -3.88700E01 -6.46400E01 -8.91300E01 -6.42800E01 2.04100E01 5.37100E01 5.60000E01 -2.68000E00 -5.41600E01 -2.81700E01 -3.73400E01 -3.37500E01 -8.30100E01 -1.65710E02 -1.61810E02 -1.47640E02 -1.34900E02 -8.86500E01 -4.29000E01 2.29000E00 8.60000E-01 1.43700E01 6.82700E01 1.23760E02 1.26840E02 1.13890E02 7.64300E01 4.07400E01 3.79100E01 3.99600E01 3.30400E01 1.48800E01 2.11500E01 1.16000E01 2.17500E01 3.82000E01 7.71300E01 9.52000E01 8.37500E01 5.18800E01 3.49900E01 2.75600E01 2.88900E01 1.82500E01 -3.07200E01 -7.71600E01 -1.00950E02 -8.83700E01 -7.93100E01 -7.28900E01 -7.02000E01 -4.93600E01 -2.48300E01 -3.15200E01 -9.39000E00 2.34300E01 5.52400E01 4.79800E01 1.04500E01 6.75000E00 2.79300E01 4.37400E01 6.00000E01 7.57100E01 3.38400E01 1.46500E01 8.88600E01 8.62900E01 7.85700E01 8.95500E01 1.00800E02 5.53200E01 1.64000E01 2.22800E01 2.83400E01 -1.34200E01 -4.34400E01 -4.93300E01 -8.33400E01 -9.43100E01 -5.25200E01 2.62000E00 -2.95300E01 -3.96400E01 -5.02000E00 2.86800E01 2.84000E01 6.09000E00 2.90900E01 -2.20000E-01 -4.64300E01 -5.30200E01 -4.17600E01 -6.11100E01 -6.00000E01 -4.88000E01 -4.22100E01 -4.53800E01 -2.76100E01 2.27300E01 2.16000E01 -Frame 160 4.10000E-01 1.56000E00 1.47400E01 -7.69000E00 -2.18100E01 -1.33500E01 -3.76200E01 -6.86100E01 -7.05000E01 -7.03900E01 -7.32200E01 -6.80800E01 -5.57300E01 -7.29600E01 -8.16700E01 -6.65900E01 -5.90000E01 -6.91400E01 -8.15500E01 -9.22900E01 -9.33000E01 -1.29280E02 -1.01280E02 -1.03500E01 8.33700E01 1.83880E02 1.65300E02 1.47970E02 1.77950E02 2.16680E02 2.67400E02 2.39440E02 1.47400E02 7.33900E01 4.40400E01 2.07600E01 2.27600E01 -3.31800E01 -2.88000E01 -4.02400E01 -6.89800E01 -6.35300E01 -1.98400E01 5.42300E01 6.35500E01 4.91100E01 -6.81000E00 -1.74400E01 -1.23700E01 -1.20000E-01 -2.74800E01 -9.16500E01 -1.31710E02 -1.40880E02 -1.36200E02 -1.26250E02 -7.18800E01 -4.47700E01 -2.27900E01 6.88000E00 2.45000E00 5.78700E01 1.06940E02 1.11420E02 7.49300E01 4.52400E01 3.05900E01 4.04600E01 4.06000E01 2.57100E01 1.73400E01 -3.30000E00 1.44300E01 2.77000E01 5.63600E01 7.68600E01 8.39300E01 8.61500E01 5.53700E01 3.56000E01 5.02000E01 6.12200E01 1.85400E01 -2.64600E01 -5.58100E01 -7.90000E01 -6.78200E01 -5.42200E01 -5.91400E01 -5.31500E01 -3.99200E01 -3.32400E01 -1.53200E01 1.11700E01 3.44700E01 2.74600E01 2.62100E01 5.90000E00 1.09600E01 5.11700E01 6.75800E01 2.64400E01 5.01000E00 8.92000E00 3.19500E01 8.06700E01 7.58300E01 7.47800E01 8.26400E01 6.06800E01 4.20000E01 4.47200E01 2.95000E01 4.80000E00 -5.65000E00 -3.44000E01 -5.49900E01 -5.01500E01 -3.31000E01 -9.48000E00 -2.71100E01 -2.32500E01 -1.52400E01 8.04000E00 1.40400E01 2.22200E01 1.64000E00 -9.57000E00 -1.81100E01 -3.68900E01 -2.82100E01 -4.42300E01 -4.47000E01 -5.61400E01 -5.88800E01 -4.16500E01 -1.58500E01 -7.24000E00 9.64000E00 -9.70000E-01 -4.91000E00 -5.97000E00 -5.06000E00 -9.12000E00 -2.83000E01 -3.80500E01 -4.90700E01 -5.03900E01 -4.57100E01 -4.38500E01 -4.49000E01 -4.59500E01 -5.60000E01 -4.33200E01 -5.62200E01 -5.24800E01 -5.75900E01 -6.58200E01 -6.82600E01 -9.47300E01 -Frame 160 -8.19500E01 -8.87200E01 -1.13640E02 -9.12500E01 -2.41100E01 6.41000E01 1.75950E02 1.63070E02 1.26620E02 1.51910E02 1.94830E02 2.19890E02 1.99520E02 1.22340E02 7.06700E01 4.43500E01 -1.08100E01 -3.65000E00 -3.02500E01 -2.46300E01 -2.80000E00 -2.02800E01 -3.82700E01 1.23000E00 5.49600E01 6.93100E01 4.80500E01 -1.79000E01 -1.58600E01 -3.27300E01 -3.10800E01 -6.23400E01 -8.45000E01 -1.31260E02 -1.21340E02 -1.20000E02 -1.03510E02 -6.24200E01 -3.10100E01 -6.10000E-01 1.67200E01 6.56000E00 5.50700E01 7.60200E01 6.45400E01 5.36400E01 1.93500E01 -2.00000E-02 5.01000E00 6.19000E00 1.04000E01 8.73000E00 2.00000E00 2.70600E01 5.28700E01 5.64300E01 7.90500E01 9.83000E01 8.80600E01 5.84300E01 2.98400E01 2.53500E01 9.71000E00 -1.24100E01 -2.41900E01 -6.03000E01 -8.74600E01 -5.73700E01 -4.32900E01 -4.27300E01 -3.01100E01 -2.00700E01 -5.70000E00 9.12000E00 4.39000E00 2.35100E01 1.12000E01 -7.50000E00 -1.07700E01 2.78700E01 5.68000E00 -7.20000E00 1.45300E01 1.79200E01 1.84000E01 2.88800E01 5.46600E01 6.11900E01 7.38700E01 7.58800E01 6.48900E01 3.35100E01 2.01400E01 2.73500E01 -2.12300E01 -3.42800E01 -3.86900E01 -4.71900E01 -3.99000E01 -3.13400E01 -1.14800E01 -2.59900E01 -9.92000E00 1.66000E00 1.86000E01 8.05000E00 1.17000E00 -1.09200E01 -3.03700E01 -4.03900E01 -5.06800E01 -4.22400E01 -4.55000E01 -5.28200E01 -4.43200E01 -1.35200E01 -7.76000E00 -8.82000E00 6.09000E00 1.44500E01 -9.50000E-01 -1.48300E01 -6.13000E00 -2.01600E01 -3.86100E01 -4.56000E01 -4.97700E01 -6.30300E01 -5.96500E01 -4.71200E01 -3.81700E01 -3.99200E01 -1.77000E01 -1.87900E01 -1.19100E01 -2.98200E01 -3.52700E01 -3.48700E01 -7.54400E01 -8.12100E01 -7.91000E01 -8.88700E01 -1.10880E02 -8.64900E01 -7.42900E01 -1.03670E02 -5.48900E01 6.42000E00 1.04590E02 2.21670E02 1.52140E02 1.23300E02 1.25440E02 1.44520E02 1.96050E02 1.47990E02 6.03100E01 2.88700E01 1.04400E01 -3.05600E01 -Frame 160 6.21000E00 -8.80000E-01 4.18200E01 4.98100E01 -6.99000E00 6.47000E00 3.93500E01 9.92200E01 4.78600E01 8.80000E-01 -6.35400E01 -4.68800E01 -6.46500E01 -1.00900E02 -8.11700E01 -7.67500E01 -8.61200E01 -1.00700E02 -7.36400E01 -2.86800E01 2.86900E01 2.28000E01 1.67000E01 5.39000E00 4.72000E00 2.70200E01 1.39800E01 5.52000E00 3.79000E00 -2.00000E01 -3.35100E01 -1.94100E01 2.41400E01 8.00100E01 7.25300E01 5.07500E01 6.32500E01 8.30800E01 9.04500E01 8.49700E01 4.52500E01 2.52700E01 1.06600E01 -2.34000E01 -4.64800E01 -3.12200E01 5.50000E-01 -9.69000E00 -4.32300E01 -4.37600E01 1.67400E01 3.01000E01 2.28500E01 -1.64000E00 -9.88000E00 -1.43600E01 -3.79600E01 -4.52500E01 -3.17200E01 -7.74000E00 -1.01000E00 -7.00000E-02 -1.81000E01 2.23300E01 6.29900E01 5.08500E01 6.22900E01 6.50300E01 4.58000E01 5.19400E01 3.72300E01 3.00400E01 2.76100E01 -8.91000E00 -2.55400E01 -3.86500E01 -3.01200E01 2.71000E00 8.56000E00 -1.14100E01 4.02000E00 -1.07000E00 1.26900E01 2.08700E01 9.29000E00 -3.65000E00 -2.59800E01 -5.39700E01 -6.07700E01 -3.77200E01 -3.49200E01 -2.20000E01 -2.96600E01 -1.75300E01 -5.01000E00 5.90000E00 1.71400E01 6.71000E00 -1.40500E01 -2.64400E01 -3.61900E01 -3.92100E01 -2.32900E01 -2.18600E01 -2.93700E01 -4.10900E01 -4.61400E01 -2.13100E01 -2.47000E01 -1.91800E01 -1.94800E01 -1.77800E01 -2.30200E01 -4.54100E01 -1.94600E01 -2.77000E01 -4.31800E01 -6.31100E01 -6.66100E01 -6.21700E01 -6.15500E01 -6.48700E01 -5.42500E01 -6.22700E01 -6.75000E01 -5.08500E01 -4.86600E01 -5.73800E01 -6.03400E01 -8.43600E01 -2.60700E01 -1.39800E01 6.24700E01 1.96200E02 1.21860E02 1.08090E02 1.23780E02 1.32830E02 1.45030E02 1.21470E02 6.60700E01 4.99000E01 2.01900E01 -3.34500E01 2.92900E01 -4.05000E00 4.55900E01 6.47300E01 -4.59000E00 -8.04000E00 1.14200E01 6.14800E01 1.40400E01 -1.38700E01 -6.06200E01 -4.17500E01 -8.22500E01 -9.09200E01 -4.67700E01 -3.02100E01 -Frame 160 -4.41100E01 -6.54000E01 -4.62900E01 -2.95500E01 1.37300E01 1.23300E01 -1.01300E01 -2.72800E01 -3.59400E01 3.16000E00 -9.54000E00 -2.06300E01 3.09500E01 2.70900E01 1.08000E00 2.60000E-01 6.04100E01 9.03600E01 6.91500E01 3.92200E01 5.13300E01 4.27700E01 2.49100E01 3.54800E01 2.03500E01 1.27400E01 2.89000E00 -1.32600E01 -1.08900E01 -7.43000E00 2.61500E01 1.87500E01 -3.08900E01 -3.60300E01 -3.29000E00 3.47000E00 -2.35600E01 -2.64000E01 -1.83000E01 -2.69300E01 -3.68000E01 1.80600E01 6.56000E01 2.45500E01 1.32100E01 1.45100E01 8.40000E-01 2.87500E01 6.95000E01 3.14500E01 2.20000E00 5.00000E-02 -2.16000E00 1.35700E01 -1.42200E01 6.15000E00 3.91500E01 -1.58600E01 -3.95500E01 1.50700E01 3.53700E01 1.62700E01 6.57000E00 -3.04300E01 -2.15400E01 -2.83500E01 -2.93400E01 -2.33000E00 -2.24800E01 -2.02300E01 -4.89000E00 -2.80700E01 -2.69400E01 1.25000E00 1.33100E01 -2.62700E01 -4.30500E01 -3.03100E01 -6.15000E00 -1.82400E01 -2.96900E01 -1.54700E01 -1.38000E01 -2.00700E01 -1.45200E01 8.21000E00 -1.43700E01 -1.86400E01 -2.60300E01 -4.86300E01 -6.48900E01 -4.16000E01 -9.56000E00 -2.25300E01 -5.08900E01 -2.80900E01 -1.75700E01 -2.37200E01 -3.80500E01 -2.68000E01 -2.91900E01 -6.16400E01 -7.10500E01 -4.67000E01 -5.75700E01 -5.97400E01 -3.89400E01 -4.24800E01 -3.71100E01 -5.85600E01 -4.76400E01 -4.73600E01 -7.10500E01 -3.04300E01 4.84500E01 5.67000E01 1.66130E02 1.91770E02 8.50100E01 7.78600E01 9.54100E01 9.64100E01 9.83500E01 6.52600E01 1.90900E01 3.84800E01 -4.56000E00 2.40800E01 9.35900E01 5.51700E01 7.65200E01 8.54700E01 -3.70000E-01 -2.98500E01 1.38000E01 7.80000E00 -3.33800E01 -5.77900E01 -5.38900E01 -3.58100E01 -3.21300E01 -2.53000E01 2.07700E01 5.25000E00 -2.87500E01 -3.47700E01 -4.49400E01 -4.53800E01 -1.67900E01 -1.03000E01 -3.06000E01 -3.35000E01 -2.46000E00 3.05400E01 2.05300E01 1.91900E01 5.27900E01 5.53800E01 1.10000E01 1.12400E01 -Frame 160 3.44800E01 4.74100E01 3.37000E01 2.55400E01 3.61100E01 2.89800E01 4.66100E01 4.97500E01 3.89500E01 1.97900E01 1.80300E01 4.21000E00 -1.10300E01 -2.77200E01 6.11000E00 -1.00000E-02 -1.73100E01 -1.91200E01 -7.96000E00 1.05600E01 5.65000E00 1.25900E01 2.97400E01 2.44000E01 1.28800E01 4.00000E00 3.68500E01 1.56900E01 2.58700E01 4.73500E01 -3.54000E00 1.01000E00 1.87100E01 1.09500E01 -4.05000E00 1.55000E01 1.65000E00 1.03800E01 2.38000E00 -1.78600E01 2.43000E01 1.97500E01 -5.95000E00 -1.24300E01 -1.09000E00 -9.39000E00 7.00000E-02 -3.17000E00 -8.50000E00 -3.98000E00 -2.63100E01 -1.43000E01 -1.19000E01 -2.94100E01 -1.04300E01 -1.08500E01 -3.72700E01 -2.94700E01 2.60000E00 -2.03400E01 -2.19700E01 -1.66300E01 -1.41100E01 -6.50000E00 -2.16500E01 -1.72500E01 -5.70000E00 -2.07900E01 -3.03300E01 -1.31400E01 -3.14100E01 -3.72200E01 -2.91800E01 -4.58700E01 -3.40400E01 -2.38200E01 -2.02700E01 -1.76000E01 -2.58400E01 -5.63200E01 -4.37000E01 -3.66600E01 -5.33800E01 -4.95800E01 -4.26300E01 -3.34400E01 -4.19500E01 -4.37000E01 -3.44800E01 -3.29600E01 -3.53800E01 -5.68600E01 -7.69700E01 -6.16500E01 -5.18200E01 -8.46600E01 -2.24600E01 6.06600E01 5.62700E01 1.04670E02 1.71450E02 1.13120E02 5.58700E01 5.07900E01 3.35000E01 5.76400E01 5.44700E01 3.01500E01 4.30500E01 7.23100E01 8.04100E01 1.23690E02 7.42000E01 2.21200E01 5.24200E01 5.62000E00 -5.36200E01 -2.96300E01 1.31400E01 1.52300E01 -1.76200E01 -3.84600E01 6.10000E00 4.10400E01 -2.89700E01 -4.81100E01 -3.37900E01 -5.99900E01 -5.19400E01 -4.65900E01 -5.30300E01 -1.62000E00 1.33800E01 -1.51700E01 -3.15900E01 1.51000E00 1.56300E01 2.51700E01 -3.70200E01 -3.61000E01 3.88800E01 2.51400E01 -6.05000E00 3.68000E01 7.99400E01 5.13400E01 2.18100E01 2.23500E01 3.78900E01 4.88800E01 1.51700E01 -5.90000E-01 8.17000E00 7.20000E00 2.92000E01 1.98600E01 1.22000E00 3.30100E01 3.47600E01 -1.64600E01 -Frame 160 -2.52400E01 3.97400E01 2.27000E01 2.61200E01 2.26300E01 -3.09800E01 -1.02100E01 4.92200E01 4.44500E01 6.50000E00 -5.62000E00 -2.11000E01 -1.20300E01 -3.76600E01 -2.10400E01 6.71200E01 2.19500E01 -5.86300E01 -1.64000E00 3.81200E01 6.08000E00 -1.19500E01 4.80000E-01 -8.70000E00 -1.81500E01 -5.87000E00 2.38000E01 4.23700E01 -1.05200E01 -7.03000E00 3.58000E00 -3.34800E01 -1.76500E01 2.06900E01 -1.58000E01 -4.24000E01 -1.77800E01 -1.03800E01 2.60000E-01 -7.77000E00 -1.90400E01 -6.40000E-01 -2.16700E01 -3.63300E01 5.90000E-01 6.65000E00 -1.81100E01 -1.56200E01 -1.90400E01 -1.65500E01 5.03000E00 5.27000E00 -2.34900E01 -3.31200E01 -4.80200E01 -4.63400E01 -3.95700E01 -4.45600E01 -3.36700E01 8.58000E00 9.12000E00 -5.03400E01 -2.86000E01 1.58300E01 -2.63900E01 -9.19000E01 -6.43600E01 -1.92000E00 -2.75600E01 -4.79800E01 -4.20000E01 -1.81000E00 -6.39000E00 -5.61200E01 -8.23500E01 -2.23300E01 -2.84500E01 -4.57500E01 -5.65600E01 -9.66700E01 -5.39500E01 7.61200E01 4.51200E01 2.01000E01 1.00270E02 1.71810E02 6.53900E01 -5.53900E01 1.41400E01 9.08000E01 4.87400E01 6.33000E00 5.36000E01 1.11280E02 1.01640E02 4.96100E01 6.99300E01 4.78200E01 2.99000E00 1.37800E01 -1.51000E01 -2.08500E01 5.52500E01 4.86600E01 -2.91700E01 1.36300E01 2.97500E01 2.33500E01 -5.26000E00 -4.17400E01 -2.13000E01 4.80000E00 -7.42900E01 -5.97500E01 3.33000E01 -1.28000E01 -5.93100E01 -2.22000E01 1.00800E01 -1.86500E01 -2.32500E01 -1.89700E01 1.04600E01 -1.62100E01 -4.56900E01 2.09600E01 4.86500E01 -1.85000E00 2.09000E00 4.41500E01 1.44700E01 1.48600E01 2.72500E01 2.10000E01 2.65400E01 3.23000E00 -3.80000E00 2.69600E01 2.66500E01 2.33100E01 3.18500E01 1.56300E01 -3.10000E00 3.16000E01 3.13500E01 2.90700E01 2.67000E01 1.92400E01 2.05400E01 -5.13000E00 -9.58000E00 1.88500E01 1.21500E01 -1.17600E01 1.16100E01 -2.43000E01 -3.22900E01 3.75100E01 2.44400E01 -4.70500E01 -Frame 160 -4.67000E01 1.97100E01 5.16000E00 -1.78400E01 4.47000E00 9.47000E00 -1.73800E01 5.96000E00 3.20200E01 -4.81400E01 -3.87300E01 5.20100E01 -1.24900E01 7.03000E00 -8.38500E01 5.40000E-01 1.61540E02 -1.67630E02 -2.48200E01 1.39430E02 -9.83700E01 -2.34300E01 5.85000E00 5.20300E01 4.85900E01 -1.23000E02 -5.47800E01 1.59600E02 8.54600E01 -2.39050E02 -4.93700E01 1.75220E02 2.11590E02 -3.42110E02 -1.27610E02 3.08640E02 5.00900E01 -1.70500E02 -2.00750E02 1.89250E02 9.51300E01 3.50100E01 -5.22000E02 2.03250E02 5.68730E02 -4.75020E02 -5.02600E02 6.46430E02 2.62380E02 -5.49790E02 -1.65560E02 3.58700E02 1.10830E02 -2.30810E02 -3.58800E02 4.11580E02 1.54390E02 -4.24900E02 -1.23710E02 4.58900E02 -7.59100E01 -2.85190E02 -4.16800E01 1.35390E02 1.18800E02 -2.32420E02 -1.92290E02 2.43250E02 1.36020E02 -3.66660E02 -4.65500E01 2.20490E02 -1.44300E01 -1.69610E02 6.35600E01 1.46870E02 -4.53900E01 -1.20560E02 3.40500E01 1.32400E02 -2.83400E01 -9.30300E01 8.23600E01 7.10900E01 -1.60000E00 -1.95400E01 1.98000E00 1.03160E02 3.03700E01 -9.47000E01 2.44500E01 1.17260E02 -2.41700E01 -5.29500E01 5.24300E01 6.80200E01 -2.99700E01 -5.19600E01 5.84200E01 3.91600E01 -6.07300E01 -5.86500E01 5.45500E01 2.32000E01 -7.51400E01 -4.04500E01 8.43500E01 9.93000E00 -1.12800E02 1.07800E01 8.11700E01 -6.93400E01 -1.00440E02 7.05900E01 2.68400E01 -1.26290E02 1.09600E01 1.31440E02 -8.24800E01 -1.10940E02 1.01820E02 7.80600E01 -1.09510E02 -7.27800E01 1.32150E02 -3.77100E01 -1.87900E01 6.07300E01 -6.23500E01 -2.21800E01 9.92500E01 6.63400E01 -1.72650E02 -1.68700E01 2.31740E02 -3.31800E01 -3.13260E02 2.86290E02 1.35110E02 -3.22870E02 3.92900E01 3.43610E02 -2.11980E02 -1.67550E02 2.22410E02 1.10220E02 -2.56540E02 -1.44000E01 2.90240E02 -1.80970E02 -1.39580E02 2.90220E02 -1.56960E02 -2.10820E02 3.73850E02 -1.59750E02 -2.11700E02 3.30940E02 -1.68950E02 -1.13140E02 -Frame 160 3.22500E02 -2.53690E02 -7.14600E01 2.69470E02 -2.14310E02 2.81500E01 2.01080E02 -3.89830E02 2.26350E02 1.50370E02 -1.69100E02 -1.00290E02 5.27400E01 7.54500E01 1.60790E02 -3.42380E02 8.21000E00 3.85630E02 -2.90640E02 -8.55000E00 1.16270E02 -5.11600E01 -1.07200E01 9.09800E01 -8.12600E01 -1.35750E02 2.49200E02 -1.21800E01 -3.12630E02 2.44920E02 2.10480E02 -4.29220E02 1.33700E02 2.69900E02 -1.93940E02 -2.40940E02 3.27830E02 9.78800E01 -4.08270E02 1.34310E02 1.53540E02 -1.02780E02 1.60700E01 -1.59420E02 7.68100E01 1.66270E02 2.03400E01 -4.57120E02 2.57080E02 2.93120E02 -3.31000E02 -1.04110E02 2.05890E02 1.66280E02 -4.48710E02 1.55700E02 3.06650E02 -4.63020E02 1.46940E02 1.46620E02 -1.93850E02 -1.07670E02 3.39270E02 -1.36290E02 -3.70430E02 5.28530E02 -4.32100E01 -5.44590E02 3.47030E02 3.59890E02 -6.29190E02 1.55730E02 3.58770E02 -4.14250E02 8.21000E00 2.94720E02 -2.24190E02 -7.39400E01 1.72020E02 -4.85800E01 -6.29600E01 1.01270E02 -7.45200E01 2.03200E01 -1.19300E01 4.88300E01 -1.13580E02 7.10900E01 1.33400E02 -2.22490E02 7.28200E01 8.41900E01 1.28300E01 -1.27750E02 1.13440E02 8.19800E01 -1.56530E02 -2.12700E01 1.56190E02 -1.50100E01 -1.46490E02 1.03100E02 1.07310E02 -1.65450E02 -4.94900E01 2.80100E02 -2.14380E02 -1.40950E02 3.77880E02 -1.61600E02 -2.86610E02 3.68780E02 2.90900E01 -2.99130E02 2.08780E02 3.12000E01 -1.90900E02 2.16310E02 -7.50900E01 -4.54300E01 -5.88100E01 1.80450E02 -8.00600E01 -1.22550E02 1.37760E02 5.39900E01 -1.48420E02 -9.49500E01 4.48260E02 -3.60150E02 -1.45220E02 4.21490E02 -7.86700E01 -4.09220E02 4.27390E02 -1.09530E02 -1.78950E02 1.71650E02 -2.07000E00 -5.81600E01 -1.49300E01 3.50650E02 -6.14790E02 3.04490E02 5.41910E02 -9.32830E02 9.77000E01 8.72000E02 -6.88570E02 -3.18750E02 7.15800E02 -1.33330E02 -5.08590E02 5.00020E02 4.63500E01 -4.98390E02 3.08490E02 2.47030E02 -3.98560E02 -8.47400E01 -Frame 160 3.45860E02 2.42450E02 -8.48380E02 3.76850E02 7.44610E02 -1.22595E03 6.43700E02 2.67560E02 -6.64460E02 2.51320E02 3.56180E02 -3.25050E02 -3.42040E02 5.57760E02 1.09860E02 -6.02990E02 1.82680E02 5.79470E02 -7.40010E02 1.58400E02 3.08440E02 -9.01700E01 -3.71020E02 4.58790E02 -3.14170E02 1.08260E02 8.65000E00 1.94950E02 -4.11170E02 1.59350E02 3.17360E02 -3.64040E02 -1.59170E02 4.31180E02 -8.66200E01 -3.21350E02 2.77960E02 1.65540E02 -5.15510E02 2.87860E02 1.41800E02 -4.31910E02 5.34040E02 -4.00640E02 2.32150E02 -4.97100E01 -1.66240E02 3.51780E02 -3.17510E02 5.18000E01 9.24800E01 -8.56700E01 -7.25000E00 2.20600E02 -5.24710E02 4.49420E02 1.64250E02 -6.91890E02 3.88140E02 4.05200E02 -7.00590E02 3.45080E02 6.27600E01 -5.33500E01 -7.90000E01 -2.93700E01 1.25820E02 -1.36310E02 -8.42000E00 2.53430E02 -4.05860E02 2.21840E02 2.10740E02 -4.34900E02 2.44900E02 6.14900E01 -2.27650E02 1.09480E02 1.19930E02 -2.24410E02 1.10810E02 1.97290E02 -3.16740E02 -1.23700E01 2.89420E02 -2.06730E02 -3.80300E01 1.16920E02 8.45500E01 -2.53900E02 2.46420E02 -4.40200E01 1.66000E01 -4.02920E02 6.64960E02 -1.84760E02 -4.66580E02 3.98320E02 2.30590E02 -4.83540E02 3.03700E02 -2.10000E01 -1.88720E02 2.58550E02 -1.70590E02 -4.68400E01 1.35780E02 1.99200E01 -9.45400E01 -1.87450E02 5.69940E02 -3.88780E02 -1.59780E02 3.71450E02 5.87600E01 -5.60650E02 3.78310E02 3.98950E02 -8.41140E02 5.18210E02 2.90110E02 -6.33310E02 3.96310E02 -1.16600E02 2.35740E02 -3.28240E02 -4.35000E00 3.61560E02 -2.28550E02 6.13100E01 -3.00920E02 5.26930E02 -7.21100E01 -5.21600E02 3.34500E02 3.99760E02 -5.02330E02 6.41600E01 1.63110E02 -5.20300E01 -1.53770E02 5.42490E02 -5.50220E02 2.28000E01 4.44520E02 -3.47130E02 8.60700E01 -1.91410E02 4.56710E02 -4.63550E02 2.67170E02 1.54240E02 -5.01320E02 6.88320E02 -5.50890E02 5.11000E01 5.85660E02 -9.13790E02 5.02250E02 2.91610E02 -Frame 160 -4.23810E02 -7.89500E01 4.68650E02 -1.39250E02 -4.26810E02 4.45140E02 2.17640E02 -6.95090E02 6.59610E02 -4.25410E02 3.52420E02 -4.14020E02 6.13230E02 -5.69320E02 2.02100E02 3.11900E01 8.09700E01 -4.30780E02 6.66050E02 -5.40820E02 3.64500E02 -2.71520E02 2.36050E02 1.31000E01 -4.46750E02 6.05600E02 8.19300E01 -9.53000E02 7.86960E02 2.91990E02 -7.50550E02 1.14380E02 5.05950E02 -1.45840E02 -6.47640E02 8.47650E02 -2.99610E02 -2.20060E02 4.24160E02 -5.07090E02 6.85340E02 -7.31990E02 4.42540E02 1.10980E02 -2.63930E02 -3.19180E02 9.25160E02 -8.08880E02 5.42200E01 4.99960E02 -1.48980E02 -7.41840E02 1.22166E03 -5.95260E02 -5.55800E02 7.96400E02 3.01670E02 -1.19963E03 7.24770E02 3.82000E02 -7.40720E02 2.72540E02 2.21880E02 -2.03550E02 -1.51940E02 4.45410E02 -4.15180E02 8.90100E01 3.41710E02 -4.38090E02 2.51410E02 7.00000E00 -2.39700E01 -2.42870E02 5.38690E02 -4.07080E02 -3.76710E02 1.19395E03 -1.02693E03 -1.59520E02 1.35386E03 -1.35922E03 2.07080E02 9.55620E02 -1.05358E03 1.53080E02 7.36910E02 -6.67890E02 -4.25500E02 1.45978E03 -1.13300E03 -2.91890E02 1.40150E03 -1.24605E03 2.15700E02 3.76450E02 4.28200E01 -9.16160E02 1.18506E03 -2.63850E02 -8.54310E02 8.54770E02 1.08900E02 -5.97130E02 -9.84300E01 9.65780E02 -9.15000E02 1.19920E02 6.21730E02 -8.89520E02 7.23330E02 -2.02620E02 -3.57010E02 4.01160E02 1.38400E02 -5.09610E02 2.17820E02 3.88540E02 -5.28820E02 2.68950E02 -1.88860E02 3.69350E02 -2.27520E02 -1.61630E02 1.33450E02 2.55530E02 -2.52850E02 -7.17100E01 3.90100E02 -2.71170E02 -9.63000E00 1.13010E02 -9.46600E01 7.83400E01 -4.23800E01 6.42100E01 7.00400E01 -4.74010E02 7.87560E02 -4.92590E02 -2.64860E02 6.48160E02 -1.08190E02 -5.64820E02 4.19960E02 3.70800E02 -9.25220E02 7.29550E02 -8.31900E01 -4.19980E02 6.64210E02 -8.23690E02 7.33170E02 -1.22510E02 -4.78530E02 5.57890E02 -2.99160E02 1.42570E02 -8.11700E01 3.25000E00 -Frame 160 -2.67200E01 1.97410E02 3.22900E01 -7.10960E02 1.21647E03 -8.54630E02 -1.93970E02 1.26630E03 -1.37845E03 2.05310E02 1.15685E03 -1.27726E03 2.22560E02 5.13550E02 1.06000E00 -7.14270E02 5.63950E02 9.51700E01 -4.18190E02 3.58970E02 -3.55170E02 4.64940E02 -4.90200E01 -7.24820E02 9.52160E02 -8.90000E-01 -1.31940E03 1.34155E03 3.75530E02 -2.03170E03 1.71753E03 -4.19100E01 -9.96710E02 6.93900E02 8.61400E01 -4.46490E02 2.73830E02 1.46170E02 -1.20570E02 -4.19440E02 6.10840E02 -8.05900E01 -3.49320E02 2.08970E02 2.23330E02 -3.45070E02 8.28000E00 4.34550E02 -7.45400E02 3.93860E02 4.96980E02 -6.41170E02 -1.67910E02 7.71140E02 -1.93490E02 -6.70760E02 4.54840E02 4.86820E02 -1.05266E03 1.00124E03 -8.13280E02 7.38850E02 -4.60710E02 1.40070E02 -1.07000E01 1.08880E02 -3.42940E02 4.23590E02 6.64300E01 -5.89830E02 3.44170E02 2.67730E02 -2.29320E02 -2.62520E02 1.03500E02 7.67740E02 -1.16219E03 6.39290E02 2.19880E02 -4.98700E02 3.01970E02 -3.53880E02 6.21320E02 -6.42900E02 1.53390E02 4.05160E02 -2.23660E02 -3.48710E02 4.64700E02 2.54830E02 -7.98760E02 1.12820E02 1.17848E03 -1.56200E03 8.05240E02 4.19300E01 -1.30200E01 -4.15650E02 5.33660E02 -4.41700E01 -7.64820E02 1.02996E03 -6.90720E02 4.66040E02 -6.63860E02 8.55920E02 -3.90100E02 6.47200E01 -3.82450E02 7.51910E02 -6.31350E02 -1.12790E02 1.01591E03 -1.24443E03 6.42500E02 4.88180E02 -1.26436E03 9.17090E02 1.21140E02 -8.39530E02 8.57880E02 -4.18020E02 1.21020E02 -8.73800E01 1.93860E02 -4.26380E02 6.54600E02 -4.57600E02 -2.95760E02 8.37360E02 -6.18260E02 3.18690E02 -5.95680E02 9.28230E02 -7.97600E02 4.05950E02 -1.26660E02 -8.16200E01 4.90890E02 -5.39350E02 -1.17940E02 8.39610E02 -5.01010E02 -8.00610E02 1.62027E03 -1.20550E03 2.54800E01 8.45500E02 -7.02910E02 -4.31540E02 1.81962E03 -2.21830E03 1.31899E03 -1.33570E02 -4.07920E02 -2.63700E01 1.15200E03 -2.23726E03 2.42176E03 -1.31641E03 -Frame 160 -3.41940E02 1.38898E03 -1.28687E03 3.35740E02 6.81210E02 -1.05027E03 8.42690E02 -4.64600E02 2.73120E02 -4.23600E02 9.25530E02 -1.61348E03 1.78250E03 -1.04517E03 5.57000E01 -3.04400E01 1.30678E03 -2.37786E03 1.53878E03 5.24090E02 -1.51346E03 3.32400E02 1.46002E03 -1.50585E03 -1.75020E02 1.54912E03 -1.44187E03 1.71000E02 9.59580E02 -1.14835E03 4.16610E02 7.53570E02 -1.35775E03 8.31910E02 1.99500E02 -6.16650E02 9.54000E00 7.40080E02 -6.93480E02 9.72800E01 3.70400E02 -3.39380E02 -1.94790E02 5.11450E02 -1.85950E02 -3.30740E02 2.08300E02 1.98100E01 2.65470E02 -5.39520E02 5.32100E02 -5.77640E02 9.79840E02 -1.39743E03 1.18309E03 -3.76700E02 -1.74370E02 -6.26200E01 5.46640E02 -4.30770E02 -2.78000E02 5.93750E02 -9.31000E01 -6.77100E02 9.66470E02 -9.50040E02 9.73070E02 -8.21260E02 4.86900E01 9.42490E02 -1.22595E03 6.38700E02 3.54100E01 -1.99570E02 3.43700E01 1.42510E02 -4.83140E02 6.82310E02 -3.58840E02 -3.24850E02 4.46490E02 6.32600E01 -4.45880E02 2.95650E02 -1.26170E02 4.87080E02 -8.59160E02 7.78770E02 -2.45380E02 -2.76970E02 1.85720E02 2.39540E02 -5.14200E02 4.97230E02 -3.68530E02 2.53280E02 -2.21920E02 1.35390E02 -8.33800E01 1.49160E02 -4.89250E02 8.07050E02 -6.13320E02 3.69600E01 7.63100E01 5.23800E02 -8.01360E02 1.61250E02 5.40470E02 -5.84090E02 -1.16880E02 8.13880E02 -7.66340E02 3.02290E02 -3.33200E01 -3.82800E01 -6.93600E01 2.69660E02 -5.18090E02 5.28280E02 -8.14900E01 -4.78040E02 6.59590E02 -4.72220E02 3.05410E02 -3.49200E02 2.59270E02 -6.46900E01 -1.71610E02 4.50320E02 -4.95940E02 9.30000E01 4.28060E02 -4.52920E02 -1.12720E02 6.02100E02 -4.21540E02 -3.69440E02 7.47610E02 -2.55500E02 -6.13390E02 9.73220E02 -7.17020E02 2.78140E02 -3.81900E01 3.57300E01 -3.72100E02 8.52800E02 -8.20220E02 2.21790E02 1.65810E02 2.59400E01 -1.28280E02 -4.80150E02 1.16554E03 -9.06970E02 -1.58720E02 8.83810E02 -5.99250E02 -1.68610E02 -Frame 160 4.73500E02 -3.05980E02 1.27200E01 4.69260E02 -1.29152E03 1.57145E03 -5.33520E02 -1.06008E03 1.66606E03 -9.36060E02 -2.37700E01 4.17500E01 3.60250E02 -3.54740E02 -2.15100E01 3.36040E02 -2.33670E02 -7.67800E01 4.32030E02 -7.11830E02 4.65600E02 2.10000E02 -4.57700E02 -9.06200E01 6.99890E02 -7.25810E02 2.70080E02 1.46510E02 -2.71020E02 -7.02100E01 8.01870E02 -1.29283E03 9.58900E02 1.08360E02 -1.01958E03 1.08555E03 -3.61240E02 -5.58430E02 1.09080E03 -1.04099E03 3.86270E02 2.94300E02 -6.40790E02 5.44800E02 -9.94600E01 -2.73550E02 2.91230E02 -5.38000E01 -1.81450E02 4.51120E02 -9.08170E02 1.14435E03 -7.36730E02 8.87100E01 2.11590E02 -1.33930E02 -6.80100E01 1.54010E02 -2.17250E02 3.00210E02 -2.20610E02 -1.73330E02 4.72570E02 -1.99000E02 -3.20150E02 2.56250E02 4.10230E02 -8.90410E02 4.81560E02 5.18500E02 -1.40290E03 1.77259E03 -1.41438E03 5.33420E02 1.24950E02 -2.73270E02 5.94500E01 2.02400E02 -4.08420E02 4.98250E02 -1.61510E02 -6.25520E02 8.14700E02 -1.91310E02 -4.74250E02 6.37500E02 -3.31970E02 -1.01110E02 4.01980E02 -5.65750E02 4.81120E02 -9.10900E01 -2.81910E02 3.74630E02 -3.19880E02 6.43000E00 2.23820E02 -7.92800E01 -3.46800E01 1.83300E01 -1.59040E02 1.26250E02 1.31240E02 -2.54740E02 1.12580E02 -1.13850E02 4.59820E02 -8.53200E02 7.88970E02 -1.45820E02 -2.81380E02 -1.07870E02 7.79100E02 -1.07023E03 6.41250E02 7.20500E01 -4.75820E02 3.26810E02 1.38950E02 -4.57850E02 2.59320E02 3.03420E02 -9.37400E02 1.12228E03 -8.05400E02 1.51060E02 2.60950E02 -8.50100E01 -8.25900E01 -1.32020E02 4.26140E02 -4.38840E02 5.58400E01 2.41760E02 -6.96800E02 1.13726E03 -1.04203E03 3.71260E02 3.92900E02 -4.36160E02 -4.33450E02 9.45740E02 -2.46310E02 -1.02799E03 1.30811E03 -4.22780E02 -4.05800E02 3.49080E02 1.02970E02 -2.64850E02 1.47200E02 -1.77150E02 9.66300E01 8.97800E01 -2.91370E02 2.70960E02 -7.45800E01 -7.67400E01 3.31000E01 2.41300E02 -Frame 160 -4.53290E02 3.63060E02 -1.14690E02 -2.42110E02 4.37750E02 -5.31780E02 5.01200E02 -3.15350E02 8.71400E01 -6.60100E01 4.15160E02 -6.45180E02 2.55290E02 3.28360E02 -5.28620E02 3.47390E02 -3.15840E02 2.66710E02 -1.26980E02 1.14270E02 -4.56130E02 6.44250E02 -2.16950E02 -6.23580E02 1.10679E03 -9.55370E02 5.06590E02 -4.01720E02 4.26250E02 -3.22580E02 1.54730E02 7.65000E00 -1.67990E02 2.54090E02 -1.65020E02 -1.77940E02 1.83900E02 1.58750E02 -2.75330E02 -1.45800E01 2.90240E02 -3.36790E02 2.31100E02 -3.11670E02 4.58060E02 -3.34840E02 -1.73950E02 4.78070E02 -2.48200E02 -4.07700E02 7.47240E02 -2.57810E02 -7.56700E02 1.31768E03 -1.17303E03 6.54330E02 -2.46420E02 -2.88000E01 1.95570E02 -1.79310E02 3.80000E-01 1.37620E02 -3.07030E02 3.09850E02 -1.88490E02 3.69300E01 -6.57200E01 2.61510E02 -3.88390E02 4.32970E02 -3.65680E02 -1.04690E02 5.27460E02 -4.60340E02 6.17400E01 2.82900E02 -2.74370E02 -2.46620E02 5.98210E02 -2.84400E02 -4.49040E02 5.96640E02 5.09000E00 -3.92760E02 1.64450E02 1.00730E02 2.76940E02 -9.51660E02 1.17163E03 -9.93520E02 7.48300E02 -4.74720E02 1.78800E01 5.03690E02 -9.11950E02 9.15480E02 -7.09440E02 3.75050E02 1.07720E02 -4.22980E02 4.00300E02 -1.71340E02 -1.27500E02 3.63810E02 -6.37030E02 5.99770E02 -3.13750E02 2.24770E02 -3.79270E02 3.43360E02 -8.39900E01 -1.31480E02 1.54680E02 -2.21460E02 2.79970E02 -1.34360E02 -3.18380E02 6.08200E02 -1.57140E02 -7.85000E02 1.01545E03 -2.27380E02 -5.44430E02 3.81220E02 2.72130E02 -4.97590E02 3.34350E02 -6.09300E02 1.32343E03 -1.43031E03 3.96130E02 8.30670E02 -1.13313E03 4.18400E02 3.21510E02 -4.75680E02 2.83920E02 -5.26000E00 -2.86380E02 5.11070E02 -5.62300E02 2.13660E02 3.16410E02 -5.06960E02 9.26800E01 3.40770E02 -2.28790E02 -1.18750E02 5.50800E02 -7.73460E02 4.37050E02 5.55800E01 -1.13740E02 -2.63190E02 4.52980E02 -1.08130E02 -2.38490E02 -9.66000E00 3.80250E02 -1.01140E02 -Frame 160 -8.04320E02 1.29450E03 -6.00990E02 -5.54530E02 9.50880E02 -5.23050E02 1.64930E02 -3.48970E02 5.47560E02 -5.30700E02 3.08190E02 6.77300E01 -3.12300E01 -5.28220E02 9.59910E02 -8.76840E02 2.13430E02 4.57210E02 -4.04900E02 -1.36290E02 4.21750E02 -1.88350E02 -1.67140E02 5.58800E01 2.81740E02 -2.73680E02 -4.00200E01 1.21900E02 6.57100E01 -3.56280E02 4.45010E02 -5.34000E00 -4.01610E02 1.95240E02 3.10360E02 -5.87250E02 1.20930E02 8.59890E02 -1.30010E03 6.68330E02 3.84000E02 -8.35480E02 5.63110E02 -2.53580E02 -4.02900E01 4.99630E02 -5.33220E02 -1.91510E02 1.06694E03 -1.27569E03 6.75430E02 2.42500E01 -3.73090E02 5.15630E02 -4.23650E02 3.74200E01 4.59710E02 -7.50370E02 4.83830E02 3.77400E01 -5.03180E02 6.77640E02 -4.07660E02 3.18600E01 9.39400E01 1.24850E02 -5.07400E02 7.62270E02 -7.71510E02 3.54000E02 3.77980E02 -9.08650E02 9.51780E02 -3.89150E02 -4.91180E02 1.21309E03 -1.32307E03 6.90580E02 -3.81500E01 -1.45380E02 8.32100E01 -8.72100E01 -3.28200E01 3.03280E02 -3.74510E02 -4.29100E01 4.85980E02 -4.05230E02 8.38000E00 3.70770E02 -5.41980E02 4.97550E02 -3.65240E02 6.86300E01 4.54850E02 -8.52410E02 8.14700E02 -4.04400E02 -1.98820E02 6.14300E02 -7.26010E02 4.88910E02 1.94000E00 -3.92090E02 3.54060E02 -1.05050E02 8.97400E01 -2.77530E02 3.65100E02 -2.84740E02 1.81590E02 4.51700E01 -3.81510E02 4.95970E02 -2.65880E02 -1.87040E02 5.05410E02 -4.12200E02 -2.99800E02 1.01035E03 -1.00593E03 2.89380E02 7.26470E02 -1.16560E03 6.93910E02 6.42700E01 -4.62900E02 3.47060E02 -1.67260E02 2.98670E02 -3.43270E02 7.62600E01 1.32690E02 8.67400E01 -4.34710E02 3.71120E02 1.68520E02 -6.43500E02 4.23970E02 2.04050E02 -4.29860E02 1.52030E02 2.69770E02 -3.77100E02 1.99380E02 -6.50000E00 -1.28740E02 3.08360E02 -2.47310E02 -1.13930E02 3.35680E02 -2.67120E02 2.41690E02 -3.42990E02 2.64570E02 1.30670E02 -5.17490E02 5.04790E02 -8.67900E01 -6.58000E00 -Frame 160 -3.65880E02 7.26050E02 -7.77930E02 5.62310E02 -1.59530E02 -4.24540E02 7.76650E02 -5.87740E02 -2.17700E01 5.13720E02 -3.99710E02 -1.00010E02 6.56050E02 -7.99120E02 3.42460E02 4.02020E02 -9.62950E02 9.18770E02 -2.59180E02 -3.22310E02 4.66910E02 -8.79000E01 -5.02780E02 8.33980E02 -6.14700E02 -2.46000E01 5.67770E02 -5.57070E02 1.00830E02 4.25980E02 -5.19210E02 2.33860E02 1.78000E02 -3.62750E02 1.57120E02 2.28920E02 -1.69270E02 -2.17610E02 3.90760E02 -3.61420E02 2.86480E02 -1.82850E02 -1.55200E01 3.06000E02 -2.32820E02 1.29920E02 -3.67240E02 5.86570E02 -4.97670E02 2.04030E02 1.20240E02 -2.43250E02 2.41250E02 -3.54900E01 -1.45750E02 1.37720E02 -5.21700E01 1.32120E02 -3.62010E02 4.10920E02 -1.43630E02 -2.43190E02 4.71400E02 -3.17350E02 6.38100E01 1.18700E02 -3.88200E01 -1.65170E02 1.23730E02 1.67450E02 -2.04630E02 -9.30200E01 3.72130E02 -4.03680E02 4.03900E02 -4.26920E02 1.33970E02 3.48080E02 -5.49510E02 3.98660E02 3.27800E01 -2.68440E02 2.50280E02 -1.17190E02 -2.39910E02 6.18800E02 -4.35510E02 2.69900E01 1.46770E02 -9.18800E01 2.26180E02 -4.37130E02 4.22460E02 -1.13760E02 -1.37450E02 1.01260E02 1.38260E02 1.12800E01 -1.79630E02 7.27300E01 8.83000E00 4.29500E01 -2.32910E02 2.86920E02 -3.54400E01 -1.04730E02 -1.07060E02 4.41640E02 -4.61100E02 3.53680E02 -2.04670E02 5.09100E01 4.33500E01 1.47520E02 -5.14220E02 5.82060E02 -1.50300E02 -3.01600E01 -1.43270E02 3.76260E02 -2.96490E02 -4.87600E01 1.58680E02 2.63900E01 -1.61010E02 1.09950E02 6.19000E00 2.33220E02 -5.67940E02 5.12660E02 -3.88000E01 -4.02270E02 4.85400E02 -6.79300E01 -4.22300E02 5.15770E02 -2.08630E02 -1.72230E02 3.70460E02 -1.14100E01 -3.42070E02 1.83370E02 8.28900E01 -6.17700E01 -6.18400E01 4.51500E01 3.64100E01 2.58370E02 -6.10040E02 4.51270E02 9.59800E01 -2.74380E02 7.30700E01 -9.78000E01 2.95140E02 -1.77040E02 -2.76500E01 2.54390E02 -3.54080E02 2.14970E02 -Frame 160 -1.55800E01 -1.02240E02 5.35200E01 2.20050E02 -8.74700E01 -2.54410E02 2.77730E02 7.07000E00 -2.90960E02 4.12070E02 -2.45540E02 -1.42500E01 -1.37900E01 4.33700E02 -5.55370E02 6.85000E01 5.32600E02 -4.33440E02 -3.56940E02 8.90260E02 -6.08800E02 1.93360E02 6.15000E00 -3.58500E01 8.89000E00 3.70100E01 3.55970E02 -8.92530E02 8.75200E02 2.78000E00 -1.00861E03 9.80670E02 -8.84500E01 -5.83540E02 6.71610E02 -2.67050E02 -3.94800E01 1.11170E02 6.38000E00 -2.57650E02 3.50400E02 -1.51070E02 -2.35900E02 5.33870E02 -5.62050E02 4.67670E02 -2.36200E02 5.03900E01 2.14800E02 -4.87900E02 3.83130E02 1.56740E02 -5.83790E02 4.26330E02 -3.47100E01 2.04030E02 -3.48030E02 -1.07830E02 6.05900E02 -5.19860E02 1.06060E02 9.02400E01 -1.73150E02 2.22480E02 5.41400E01 -3.63450E02 3.19390E02 1.72050E02 -4.96000E02 2.87760E02 4.90000E-01 -7.76600E01 1.01850E02 -1.46180E02 2.08260E02 3.44700E01 -3.28720E02 4.79170E02 -2.87400E02 5.16000E01 -1.49600E01 -1.06560E02 1.57110E02 -1.05210E02 1.34600E01 1.61790E02 -4.64400E01 -1.02060E02 7.97000E01 -2.10990E02 3.77530E02 -3.86100E02 2.49020E02 3.80550E02 -5.66200E02 1.77310E02 3.76650E02 -4.51190E02 2.40800E02 -1.70300E01 -5.38100E01 -2.06670E02 3.69400E01 3.31050E02 -3.41050E02 5.63900E01 8.40700E01 -1.39470E02 4.21000E00 -7.67000E00 1.18090E02 -2.13370E02 1.22120E02 2.58870E02 -4.03390E02 2.14250E02 1.88790E02 -2.56630E02 1.04200E01 2.11720E02 -1.57950E02 -2.79000E01 2.26200E02 -8.20500E01 -1.07750E02 1.21860E02 7.44600E01 -2.56470E02 1.43610E02 1.95930E02 -4.01310E02 2.90360E02 -5.18500E01 -1.45900E01 8.38400E01 -1.57600E01 -1.25420E02 1.50650E02 3.81200E01 -1.60920E02 1.93040E02 -2.30000E-01 -2.49470E02 1.72820E02 1.30010E02 -3.35240E02 2.82440E02 8.49600E01 -2.92700E02 2.29240E02 2.81100E01 -2.55260E02 2.84850E02 -5.56000E01 -2.00520E02 2.82270E02 1.29730E02 -4.35640E02 3.60920E02 -1.00220E02 -Frame 160 1.64800E01 -1.18220E02 2.72030E02 -2.63900E02 1.92850E02 -1.57450E02 1.37570E02 4.59000E00 -1.00500E02 5.02600E01 1.03640E02 -9.44200E01 -5.85100E01 6.85700E01 1.65200E01 6.78500E01 -1.62290E02 1.56100E01 1.93000E02 -1.60300E02 4.26300E01 2.48000E01 -1.76000E01 -1.82900E01 6.00200E01 -4.30000E00 2.40000E00 -2.06900E01 2.55300E01 -1.98400E01 1.11410E02 -7.63800E01 -5.19000E01 1.05390E02 -4.65500E01 2.86000E00 6.80000E00 9.38600E01 1.45300E01 -1.97260E02 1.45590E02 1.52910E02 -3.52680E02 2.46430E02 1.38400E01 -3.99500E01 6.64000E00 -1.27330E02 1.60680E02 -1.01550E02 2.32100E01 -3.91900E01 7.15200E01 1.95900E01 -1.13960E02 1.15470E02 -3.21100E01 7.80000E-01 1.06690E02 -8.32200E01 -1.89200E01 1.43900E01 7.27200E01 -9.21000E00 -4.36600E01 1.32870E02 3.67400E01 -3.08390E02 2.51100E02 -1.93400E01 -2.40120E02 1.52500E02 2.91200E01 -8.31000E01 1.31290E02 -2.78100E01 -2.02800E02 1.89990E02 9.17500E01 -2.76610E02 3.59000E01 2.51040E02 -6.24000E01 -2.60470E02 1.73580E02 8.68900E01 -1.98560E02 -2.26500E01 1.08720E02 5.80500E01 -6.92400E01 -1.68400E02 1.27530E02 -3.51000E00 -7.86000E01 -7.94000E00 1.16910E02 -2.94900E01 -6.53900E01 -1.53400E01 8.02700E01 -7.32400E01 -5.64300E01 9.09500E01 6.78000E01 -9.81300E01 -6.51000E01 1.70100E01 8.76400E01 -1.82630E02 -2.60900E01 4.03100E01 -7.32800E01 1.47680E02 -7.67000E00 -2.47820E02 2.08830E02 5.64000E01 -3.17800E02 9.87200E01 1.93020E02 -1.55950E02 -8.65700E01 1.80030E02 -3.13000E01 -1.82140E02 1.23520E02 5.05100E01 -1.58810E02 -6.46000E00 2.12600E02 -5.37700E01 -8.73300E01 9.71500E01 -7.57600E01 -7.39500E01 1.31980E02 -5.38500E01 9.76200E01 -5.73200E01 -1.10000E02 1.85790E02 2.25500E01 -1.60760E02 1.41410E02 5.87900E01 -5.74400E01 -8.12100E01 3.03600E01 1.32350E02 -4.66300E01 -8.21000E01 5.44100E01 1.08090E02 -8.06700E01 -2.31900E01 6.80900E01 6.61300E01 -1.40950E02 6.07000E01 -Frame 160 4.05300E01 3.67000E01 3.47200E01 -6.23500E01 6.40000E-01 9.45800E01 -1.62660E02 3.73000E01 1.31410E02 6.43100E01 -1.96920E02 4.19600E01 1.49190E02 -8.64000E01 -1.26190E02 2.17910E02 -3.45500E01 -2.37800E01 -2.56500E01 1.57450E02 -2.29300E01 -3.18600E01 -7.30300E01 9.76000E01 2.24200E01 -9.21000E01 -4.80700E01 2.14370E02 7.27300E01 -3.39350E02 3.51500E01 2.21200E02 -1.24200E02 -6.41600E01 1.14800E02 4.41900E01 -1.18640E02 -7.23900E01 1.52360E02 4.89200E01 -1.41760E02 -1.31200E02 1.73810E02 5.09000E00 -1.55850E02 8.23800E01 2.59000E01 -2.08350E02 1.29350E02 -7.36300E01 -2.08200E01 1.24640E02 -1.22520E02 -5.21000E00 -3.27000E00 -7.27000E00 -1.68390E02 1.00660E02 5.59300E01 -2.22240E02 -7.78100E01 2.12150E02 -7.91300E01 -2.54350E02 1.26240E02 4.54700E01 -2.15850E02 -7.40600E01 4.21700E01 -8.30600E01 -4.51000E01 -2.99400E01 -1.63300E02 -1.66500E01 2.65300E01 -1.30000E02 -4.62700E01 2.23070E02 7.85100E01 -1.06610E02 3.23630E02 5.08600E01 -2.09400E02 1.44480E02 7.31600E01 -6.64400E01 6.37000E01 2.21800E02 1.06580E02 -8.23000E01 6.30600E01 1.35860E02 -1.02100E01 -2.36780E02 8.48700E01 2.03900E01 -5.51000E01 7.13000E00 7.32800E01 4.34100E01 -7.44200E01 -1.08820E02 -2.81800E01 -1.05020E02 -1.35140E02 -4.60700E01 4.57900E01 -2.25600E01 -2.10100E01 -1.64000E01 -1.86400E01 -9.94000E00 -1.19970E02 -7.63000E01 3.78000E00 7.32000E00 9.50000E-01 2.53700E01 9.65100E01 3.07500E01 -4.00800E01 -4.07000E00 4.30500E01 -3.64200E01 2.76800E01 6.37300E01 7.08300E01 -4.92000E00 1.35990E02 4.81300E01 -3.14900E01 -9.25400E01 1.48610E02 -8.79200E01 2.03200E01 -1.11100E01 7.15000E01 4.60000E00 -1.83700E01 2.39700E01 -7.24000E01 -2.56800E01 -1.49000E00 -3.15500E01 -1.31510E02 8.45600E01 6.62300E01 -9.67300E01 -1.36400E01 7.80300E01 -1.54000E00 -8.25700E01 -4.50300E01 1.44710E02 4.91800E01 5.65000E00 8.97700E01 1.10410E02 -7.41000E00 3.91400E01 -Frame 160 2.61000E01 -4.83600E01 5.09300E01 9.12500E01 1.47400E01 9.98600E01 4.55300E01 -1.65100E01 5.56000E00 -4.76800E01 3.14900E01 2.80900E01 -2.94300E01 1.13100E01 6.23100E01 1.38400E01 3.48700E01 -9.47000E00 -6.91600E01 4.13800E01 -6.26900E01 -7.89100E01 5.84500E01 3.30100E01 -2.02400E01 4.68900E01 -3.79400E01 -5.83500E01 5.67000E00 -2.33000E00 -8.45700E01 2.07300E01 3.62700E01 2.22600E01 -1.72000E01 -1.58600E01 8.54000E00 -6.53100E01 -7.23800E01 7.40000E00 -2.93600E01 2.57700E01 -1.44200E01 -5.08400E01 -6.34000E00 1.35400E01 -1.22980E02 -1.08610E02 3.00000E-01 2.35700E01 -1.09470E02 -8.85300E01 -3.18700E01 1.95600E01 -1.24450E02 -1.63810E02 -4.52500E01 -8.00000E00 -1.75610E02 -1.34260E02 -4.65300E01 -4.90700E01 -9.76700E01 -8.07100E01 7.78200E01 1.27150E02 7.48600E01 1.21860E02 5.21800E01 1.33280E02 2.23750E02 7.78000E01 -2.67400E01 1.26510E02 1.17380E02 2.02860E02 1.36800E02 2.03580E02 4.72500E01 -1.05940E02 -2.97500E01 2.28400E01 -9.59500E01 1.46900E01 3.75000E00 -8.35200E01 -5.64000E01 2.46200E01 -4.68700E01 -1.15520E02 -1.42180E02 -1.60530E02 -1.29300E02 -1.16990E02 2.08000E01 3.18200E01 -5.28600E01 -5.81200E01 -9.35000E01 -9.89000E01 -2.63900E01 1.53700E01 -1.06100E01 6.00000E-01 3.31400E01 2.86400E01 6.99600E01 9.44800E01 6.86600E01 1.19700E01 -1.74900E01 3.61500E01 9.64100E01 1.33440E02 9.24900E01 4.21900E01 2.23000E01 3.27800E01 -1.04400E01 -9.80000E-01 -3.22000E00 -3.75200E01 -3.28400E01 -1.99800E01 -3.87000E01 7.04000E00 2.19000E00 -6.88100E01 -1.41940E02 -1.09200E02 -5.83500E01 -3.78800E01 6.25000E00 -3.42700E01 -3.40200E01 9.26000E00 -4.51400E01 -1.16190E02 -6.93400E01 8.00100E01 5.38900E01 1.19000E01 4.55900E01 1.13270E02 6.79300E01 1.77120E02 8.65200E01 -2.89600E01 9.02000E00 1.81700E01 7.55900E01 2.18720E02 1.23080E02 7.43800E01 4.01200E01 -1.04220E02 -1.79100E01 8.21000E01 -6.28600E01 -4.02300E01 -Frame 160 -7.08500E01 -5.13400E01 2.68300E01 1.34000E01 -4.45000E00 6.16000E00 -1.17900E02 -1.24680E02 -4.15500E01 -7.81000E00 4.89800E01 6.34800E01 -3.36300E01 -3.47100E01 -2.77900E01 3.03700E01 -7.70000E00 -8.94000E00 -6.21000E00 -2.53900E01 -5.31400E01 3.30000E00 5.74800E01 2.52800E01 -4.19400E01 -1.11200E02 -6.55000E01 -4.43300E01 1.65300E01 1.32500E01 -1.91500E01 -3.55400E01 -3.14100E01 -1.05130E02 -1.08040E02 -3.89500E01 -1.06700E02 -9.54600E01 -8.18000E01 -1.64660E02 -1.00950E02 -5.02000E01 -1.11860E02 -7.93500E01 -1.46790E02 -1.52210E02 -1.61690E02 -1.43350E02 -3.53500E01 -1.18020E02 -5.01800E01 1.29760E02 1.43100E02 1.07680E02 1.93030E02 1.33810E02 1.51610E02 3.12800E02 2.08670E02 7.21200E01 1.82800E01 9.57600E01 2.37550E02 2.75510E02 1.25400E02 6.65500E01 -1.23160E02 -7.36000E01 -4.34200E01 -7.62500E01 -8.40100E01 -2.69200E01 -7.80300E01 -1.37640E02 -1.20960E02 -7.36500E01 -7.88100E01 -1.39060E02 -1.72050E02 -1.92910E02 -1.64250E02 -2.55700E01 3.54000E01 -3.68000E01 -3.92200E01 -3.77000E01 -6.31200E01 -3.32900E01 6.14700E01 7.60800E01 5.20500E01 8.42100E01 3.62700E01 7.28000E01 1.36380E02 1.21790E02 7.96300E01 2.40900E01 3.58100E01 1.00860E02 8.18300E01 9.61400E01 7.58100E01 5.79000E00 -3.53900E01 -5.28000E01 -8.69000E00 -3.22000E01 -2.24000E01 -4.32700E01 -9.07400E01 -8.55900E01 -6.72000E01 -8.41800E01 -1.36100E01 -7.48500E01 -1.24920E02 -8.74300E01 -5.77100E01 -1.60300E01 4.09400E01 -2.43800E01 -2.67100E01 -4.11000E01 1.00900E01 5.08400E01 4.87900E01 5.16200E01 6.24800E01 3.86100E01 4.99600E01 8.46100E01 3.32500E01 1.21270E02 2.44900E02 2.87130E02 3.80410E02 -5.76000E00 -3.17840E02 -1.50250E02 -3.53200E01 1.80210E02 3.41250E02 8.79700E01 -1.22200E02 -1.60730E02 -2.23280E02 -6.15400E01 -6.73000E00 -6.72100E01 -8.34900E01 -1.30190E02 -4.42100E01 1.33470E02 1.43520E02 5.67500E01 -4.17500E01 -2.21250E02 -2.09090E02 4.56400E01 -Frame 160 2.09200E02 2.03620E02 1.11680E02 -2.72000E01 -1.15340E02 -1.27090E02 -3.10800E01 4.69300E01 -7.56900E01 -1.40300E01 1.65500E01 -9.40000E-01 1.61030E02 -4.01400E01 -7.84900E01 -1.85950E02 -2.59560E02 -1.01210E02 6.12000E00 1.57750E02 1.34910E02 -1.04770E02 -2.21770E02 -3.01190E02 -2.68800E02 -8.51800E01 -9.08300E01 -1.11600E02 -5.69400E01 -8.75700E01 -6.21000E01 -8.08200E01 -1.39080E02 -1.15050E02 -2.33210E02 -1.09850E02 1.55380E02 2.30620E02 3.19930E02 2.56670E02 8.71900E01 1.14370E02 3.52270E02 3.40190E02 1.19420E02 2.17200E01 -3.00100E01 1.07700E02 2.55580E02 3.32810E02 1.63140E02 -8.49000E01 -1.73500E02 -1.82650E02 -2.16890E02 -1.30970E02 2.87400E01 -2.96300E01 -1.38770E02 -1.23150E02 -1.65930E02 -1.19880E02 -4.53000E01 -1.32380E02 -2.03040E02 -2.21710E02 -1.43770E02 5.36900E01 7.81800E01 7.93300E01 4.24200E01 -7.26900E01 -8.73100E01 -2.23200E01 7.16800E01 1.56500E02 2.00780E02 1.06230E02 4.96500E01 8.52700E01 1.24910E02 1.35660E02 8.66200E01 1.89900E01 5.26000E00 3.41100E01 1.15830E02 6.69800E01 4.85700E01 -1.34400E01 -8.53400E01 -8.33700E01 -1.54250E02 -1.08170E02 4.44000E00 -1.44700E01 -3.89500E01 -1.18150E02 -1.42690E02 -4.68600E01 -2.80300E01 -5.86000E01 -9.40700E01 -7.05600E01 -3.92700E01 2.00100E01 4.90900E01 5.50100E01 6.20500E01 4.92400E01 1.19800E01 5.50000E-01 2.17600E01 8.96000E01 7.44500E01 1.35760E02 4.88400E01 3.21900E01 3.90000E01 1.13990E02 2.40200E02 2.39100E02 1.31760E02 -7.70000E01 -1.18120E02 -7.43800E01 2.38000E01 7.40100E01 7.17200E01 2.03100E01 -5.96900E01 -9.00900E01 -6.53300E01 -4.87300E01 -8.75600E01 -9.05000E01 -8.74400E01 -1.07200E02 2.45300E01 1.17310E02 1.68850E02 7.28300E01 -3.32200E01 -7.85100E01 -1.03120E02 2.06100E01 1.11150E02 1.35390E02 1.24260E02 6.06800E01 -1.89100E01 -6.09300E01 -3.21800E01 -2.95000E01 -3.67000E01 -8.00800E01 -2.07200E01 -2.35000E01 2.96600E01 7.44000E00 -Frame 160 -4.54700E01 -8.49700E01 -1.60610E02 -1.05440E02 -7.94700E01 -4.86300E01 1.42000E01 -3.10500E01 -1.36680E02 -1.23460E02 -7.97300E01 -1.53590E02 -1.23610E02 -1.20610E02 -1.74430E02 -9.57800E01 -3.36400E01 -4.55800E01 -2.28800E01 -9.84900E01 -1.52380E02 -1.86830E02 -8.21000E00 2.18900E02 2.95790E02 2.58750E02 1.35300E02 9.48900E01 2.43130E02 4.14720E02 3.71230E02 1.19060E02 -1.05000E02 -7.48700E01 1.25280E02 2.79520E02 2.92290E02 1.30210E02 -1.05970E02 -1.99320E02 -2.00340E02 -2.45180E02 -3.21600E01 -2.75100E01 -7.56800E01 -1.10260E02 -2.08800E02 -4.31900E01 -1.04420E02 4.75500E01 -1.47830E02 -1.86120E02 -2.41430E02 -1.20240E02 7.07900E01 1.65640E02 1.53250E02 4.43200E01 -4.50300E01 -4.31100E01 -2.81000E01 1.31390E02 1.41680E02 1.89150E02 9.29100E01 4.36100E01 9.37500E01 1.37360E02 1.62200E02 1.19670E02 2.07300E01 -5.92700E01 -4.16700E01 9.53000E00 8.03200E01 9.32400E01 2.44900E01 -6.33900E01 -1.34910E02 -1.41500E02 -1.04150E02 -3.65400E01 -2.08000E01 -3.25500E01 -9.36300E01 -7.05100E01 -3.86100E01 -1.56900E01 -4.05000E00 -6.10500E01 -5.17600E01 -7.01400E01 2.89700E01 9.71100E01 1.25260E02 9.11600E01 4.09200E01 -1.69100E01 1.14900E01 3.47600E01 7.47200E01 1.19850E02 7.92700E01 6.63700E01 4.80200E01 1.40700E01 8.90700E01 1.31320E02 1.54770E02 1.02820E02 1.51900E01 7.58600E01 5.03600E01 -3.39500E01 -8.28100E01 -9.80800E01 -7.67100E01 4.10000E-01 8.19300E01 1.10910E02 9.70000E00 -1.40630E02 -1.21460E02 -1.46570E02 -9.83100E01 4.05400E01 9.26500E01 1.48290E02 1.24520E02 4.09100E01 -1.23100E01 -4.15000E00 -3.07200E01 4.09300E01 3.47700E01 9.40000E00 8.72500E01 5.84400E01 5.07000E01 1.69000E00 -7.08200E01 -9.04900E01 -8.46700E01 -7.65800E01 1.18400E01 -6.01000E00 -4.64000E01 -2.19900E01 -3.28000E01 -7.59100E01 -8.82800E01 -6.99500E01 -9.29900E01 -8.76600E01 -7.30900E01 -6.60100E01 -4.76600E01 -4.17100E01 -6.55500E01 -1.06080E02 -Frame 160 -1.77780E02 -1.87550E02 -1.55470E02 -6.92800E01 -2.23900E01 2.29400E01 -2.73800E01 -1.29260E02 -1.59200E02 -1.58950E02 5.42000E00 1.76830E02 2.64340E02 2.85280E02 2.07580E02 1.51270E02 2.80070E02 3.29590E02 2.43340E02 7.32100E01 -1.04230E02 -4.90400E01 1.62920E02 2.89300E02 2.77340E02 6.37800E01 -1.43410E02 -1.64840E02 -1.39750E02 -1.91730E02 -1.56120E02 -1.68250E02 -6.45900E01 4.63400E01 -1.83400E01 -3.00000E01 -1.12990E02 -1.70440E02 -1.15510E02 -1.76780E02 -1.84790E02 -4.88900E01 7.62400E01 1.39150E02 1.16860E02 1.57600E01 -5.04900E01 2.32500E01 7.42400E01 9.17300E01 7.16700E01 2.39200E01 8.26700E01 1.67160E02 1.82110E02 1.51360E02 9.45300E01 2.38700E01 -5.98000E00 -1.27300E01 -2.96600E01 2.59300E01 5.72300E01 4.94600E01 5.94200E01 -2.13500E01 -1.17580E02 -7.96600E01 -8.24800E01 -1.02300E02 -6.56300E01 -7.77600E01 -4.31900E01 9.49000E00 1.77900E01 -2.46700E01 -4.24200E01 -9.86800E01 -6.55900E01 1.35800E01 2.01800E01 6.19600E01 6.89700E01 3.21300E01 7.11200E01 6.92500E01 2.92600E01 5.90100E01 3.16300E01 2.43800E01 6.98900E01 4.57500E01 7.48300E01 1.58750E02 1.44130E02 1.62940E02 9.22000E01 -2.79000E00 -6.06900E01 -4.93000E01 -2.94900E01 2.69800E01 6.51900E01 4.85400E01 4.03500E01 4.89000E00 -6.36500E01 -6.02300E01 -9.66300E01 -1.00050E02 -1.44700E01 3.78000E00 5.16000E01 7.78600E01 7.48700E01 4.67300E01 2.96900E01 -2.18900E01 -1.30300E01 1.01300E01 7.01000E00 3.98000E01 9.95800E01 6.51300E01 5.75700E01 5.37400E01 -1.12400E01 -3.52000E01 -5.98500E01 -7.81900E01 -3.00100E01 -1.53000E01 2.98900E01 2.64600E01 -9.00000E-02 -6.04500E01 -8.36100E01 -1.15400E02 -9.30600E01 -5.69400E01 -5.56500E01 -2.32700E01 -4.87000E00 -4.19000E01 -4.90400E01 -8.83600E01 -1.23820E02 -1.13270E02 -9.83000E01 -1.11790E02 -8.56100E01 -4.35600E01 -3.01900E01 -3.34000E01 -6.17000E01 -9.78400E01 -1.36030E02 -1.40300E02 -1.40600E02 -5.98100E01 -Frame 160 7.95000E01 1.69010E02 2.52100E02 2.89500E02 2.01770E02 1.80130E02 1.80650E02 2.35020E02 2.21860E02 1.11100E02 9.83000E00 2.94400E01 3.46500E01 1.61010E02 2.19150E02 1.02910E02 -1.79900E01 -8.65800E01 -1.59180E02 -1.71850E02 -2.06730E02 -1.95480E02 -5.86900E01 3.23900E01 5.92600E01 6.39100E01 -8.23500E01 -1.94050E02 -1.91020E02 -1.46720E02 -1.10920E02 -3.99200E01 2.23000E01 4.94100E01 7.73000E01 8.09700E01 4.86700E01 3.93200E01 2.46400E01 3.24800E01 6.65300E01 3.05700E01 5.74700E01 9.31500E01 1.23850E02 1.50390E02 1.41620E02 8.34600E01 6.04400E01 1.67000E00 -5.39000E01 -8.12000E00 -2.29000E01 -1.41000E01 5.60000E01 4.72300E01 -4.84000E00 -1.15000E01 -9.93400E01 -1.18790E02 -1.26720E02 -1.06770E02 -3.61000E01 -6.21000E00 -2.43900E01 9.89000E00 -1.57800E01 -2.82300E01 -4.40400E01 -3.43000E01 -4.02300E01 4.69000E00 2.49900E01 3.78900E01 6.51500E01 4.61900E01 5.76000E01 5.63100E01 4.29300E01 4.81000E01 3.53900E01 3.32600E01 2.20400E01 6.24600E01 1.16080E02 1.72260E02 1.95030E02 1.22340E02 4.31000E00 -8.53500E01 -1.42680E02 -9.16300E01 1.51000E01 8.11300E01 9.91400E01 8.76300E01 7.00000E-01 -7.29000E01 -1.05690E02 -1.31380E02 -8.37300E01 -2.05200E01 4.16700E01 8.57500E01 7.01200E01 4.39500E01 2.49400E01 7.33000E00 -8.82000E00 1.15500E01 -3.45000E00 5.10000E00 2.19200E01 2.32500E01 3.86100E01 4.44200E01 3.93800E01 1.01600E01 5.04000E00 -3.62300E01 -7.37300E01 -7.13100E01 -8.97400E01 -4.76500E01 8.79000E00 3.39700E01 1.59000E01 -1.87400E01 -7.14300E01 -1.12680E02 -1.25100E02 -1.10790E02 -5.49400E01 -3.43200E01 -1.50400E01 -2.91600E01 -5.27000E01 -9.09300E01 -9.62700E01 -1.17700E02 -1.04700E02 -1.02220E02 -8.85900E01 -7.64800E01 -5.69500E01 -3.97900E01 -7.30900E01 -7.03800E01 -8.05500E01 -1.15990E02 -1.10450E02 -6.36700E01 -1.14200E01 7.94200E01 2.10960E02 2.61340E02 3.07010E02 2.95790E02 2.94940E02 2.40790E02 -Frame 160 1.23750E02 -4.90100E01 -8.50500E01 -6.91100E01 5.64000E01 2.06750E02 2.51570E02 1.98560E02 6.67500E01 -9.91700E01 -2.23100E02 -3.05630E02 -2.88410E02 -2.16380E02 -6.49200E01 4.32800E01 9.27800E01 6.17200E01 -2.23600E01 -1.00020E02 -1.43990E02 -1.65190E02 -1.72900E02 -1.15700E02 -2.96400E01 3.40900E01 8.07400E01 1.05740E02 8.34000E01 8.62800E01 9.21600E01 6.91300E01 3.13200E01 1.43100E01 -2.82400E01 4.92000E00 8.01000E01 1.16530E02 1.55980E02 1.59510E02 1.07010E02 5.88000E01 -1.29400E01 -7.28700E01 -9.45700E01 -7.78400E01 -4.95100E01 -1.02500E01 3.52400E01 2.21100E01 -1.44400E01 -4.31000E01 -9.76000E01 -8.66900E01 -1.03360E02 -9.34500E01 -3.91500E01 -4.91400E01 -2.54000E01 -2.19100E01 -1.53000E01 1.15200E01 3.61500E01 1.75000E01 3.62500E01 1.05400E01 -1.29800E01 -2.22000E00 2.48700E01 2.47700E01 5.96400E01 7.65300E01 8.98700E01 7.95400E01 5.48200E01 4.72900E01 5.94900E01 8.00200E01 1.12120E02 1.04120E02 6.47900E01 -3.80000E00 -6.64900E01 -5.90400E01 -2.62900E01 -8.49000E00 1.38800E01 4.49400E01 2.49300E01 -3.37100E01 -7.51200E01 -8.37300E01 -1.05520E02 -5.18800E01 1.14700E01 4.97700E01 8.12100E01 7.55500E01 4.46500E01 2.87600E01 -1.66400E01 -3.24200E01 -2.65000E00 -2.95000E00 3.17500E01 4.55000E01 3.06400E01 7.30000E00 1.92400E01 -7.46000E00 -1.29700E01 -1.63000E00 -2.59300E01 -5.49500E01 -3.78100E01 -3.81000E01 -5.53600E01 -4.71000E01 -2.35400E01 -3.32300E01 -2.51900E01 -2.78800E01 -5.36300E01 -7.21300E01 -8.31400E01 -9.94200E01 -8.41200E01 -6.02800E01 -4.96600E01 -3.86800E01 -3.63400E01 -6.09100E01 -6.42000E01 -8.85500E01 -8.25900E01 -9.63900E01 -9.45500E01 -8.65900E01 -5.43300E01 -4.70500E01 -3.65300E01 -3.66800E01 -1.06830E02 -1.30080E02 -1.29960E02 -1.07750E02 3.21000E00 1.39560E02 2.39960E02 2.97210E02 3.15930E02 2.93920E02 2.65950E02 1.76870E02 7.88800E01 -4.82000E01 -9.11500E01 -7.83300E01 3.69700E01 1.65810E02 -Frame 160 2.22490E02 1.75730E02 8.03800E01 -7.09700E01 -2.16910E02 -2.71140E02 -2.58780E02 -2.01790E02 -1.06850E02 -3.98800E01 1.19000E00 6.65200E01 4.78000E01 -9.55000E00 -4.06700E01 -1.35720E02 -1.84590E02 -1.15810E02 -5.48100E01 -3.58900E01 1.86300E01 4.98000E01 5.28700E01 1.33970E02 1.45440E02 1.18120E02 9.88400E01 1.28700E01 -3.57700E01 -4.48800E01 -4.22300E01 3.45400E01 9.96500E01 1.21680E02 1.47280E02 1.41540E02 6.15000E01 1.49400E01 -3.00600E01 -1.26410E02 -1.35610E02 -1.20960E02 -8.27400E01 -7.26000E00 2.55600E01 1.53700E01 8.50000E-01 -3.91200E01 -7.02900E01 -7.73600E01 -9.45800E01 -8.82500E01 -8.06500E01 -8.47500E01 -2.79100E01 1.97000E01 3.97500E01 6.63700E01 6.77400E01 2.70800E01 2.61300E01 1.21200E01 -1.03400E01 -1.24900E01 -3.70000E00 1.13600E01 3.68700E01 7.21300E01 9.14100E01 1.16200E02 1.20650E02 1.02130E02 1.20950E02 4.92500E01 -1.27000E01 -5.65400E01 -1.13670E02 -9.64500E01 -1.96000E01 3.76500E01 8.66400E01 1.00070E02 1.88300E01 -4.79300E01 -1.09700E02 -1.38270E02 -1.18590E02 -6.51900E01 -1.60800E01 4.95600E01 8.71800E01 8.28800E01 8.83700E01 3.79500E01 -1.90600E01 -2.48100E01 -5.37100E01 -3.84500E01 1.63200E01 1.97700E01 3.43100E01 4.22700E01 1.54400E01 9.77000E00 1.19200E01 -1.88700E01 -3.35900E01 -4.97300E01 -6.73200E01 -6.53900E01 -6.43400E01 -4.22000E01 -2.03400E01 -2.97900E01 -1.25100E01 -1.16900E01 -4.08400E01 -6.08600E01 -6.94500E01 -1.11250E02 -9.52500E01 -8.06800E01 -5.46000E01 -2.76800E01 -2.29200E01 -3.70100E01 -4.55200E01 -5.82700E01 -7.13800E01 -8.98500E01 -9.08300E01 -9.87800E01 -9.79100E01 -8.39500E01 -4.65100E01 -2.29000E01 -2.95700E01 -6.54500E01 -1.09410E02 -1.25660E02 -1.17330E02 -5.76700E01 4.08500E01 1.50340E02 2.47040E02 3.60470E02 4.01050E02 3.83500E02 2.79050E02 9.41200E01 -9.86000E01 -2.05170E02 -1.88830E02 -6.78000E01 1.14040E02 2.69400E02 2.54320E02 1.85550E02 2.45000E01 -1.58530E02 -Frame 160 -2.59050E02 -2.74420E02 -2.65000E02 -1.65040E02 -1.09840E02 -1.38400E01 6.71300E01 5.35300E01 3.64500E01 -4.20000E00 -8.31100E01 -1.03390E02 -8.12100E01 -7.62800E01 -6.71400E01 -6.26700E01 -6.70200E01 -7.46000E00 7.49300E01 1.42780E02 2.10580E02 1.89270E02 1.33120E02 3.51100E01 -4.19600E01 -7.33700E01 -7.06800E01 -3.28400E01 2.42000E01 9.99800E01 1.55010E02 1.66600E02 1.46400E02 6.54500E01 -4.50500E01 -1.22910E02 -1.74050E02 -1.59600E02 -1.02550E02 -6.46400E01 -1.45000E01 2.22000E01 5.01000E00 4.28000E00 2.52000E00 -2.83000E01 -5.10500E01 -7.04600E01 -9.74100E01 -7.31100E01 -5.20000E01 -1.42000E01 1.87700E01 5.17300E01 7.16500E01 9.41100E01 8.51700E01 7.38700E01 3.91500E01 -2.68000E00 -3.68000E01 -3.19400E01 -2.29000E01 2.64400E01 1.03280E02 1.27400E02 1.39150E02 1.80140E02 1.51240E02 8.63200E01 2.23300E01 -7.06400E01 -1.51400E02 -1.51500E02 -9.34500E01 -2.51000E00 9.42500E01 9.39200E01 5.85000E01 5.94000E00 -7.42400E01 -1.16820E02 -7.36000E01 -6.99700E01 -4.81600E01 1.63700E01 3.78800E01 6.60200E01 9.39700E01 5.67000E01 3.52300E01 1.20700E01 -1.18100E01 1.35900E01 2.77700E01 1.73700E01 1.06400E01 -3.33000E01 -3.95600E01 -2.69700E01 4.00000E-02 3.48900E01 4.97900E01 1.11100E01 -1.77700E01 -4.85200E01 -8.31700E01 -8.98100E01 -7.75700E01 -5.78800E01 -2.65300E01 -1.61900E01 -1.25200E01 -1.07300E01 -3.58800E01 -6.37800E01 -8.84900E01 -1.13890E02 -8.79800E01 -5.42000E01 -3.33400E01 -1.88200E01 -2.48500E01 -3.20600E01 -5.04800E01 -5.54400E01 -6.95200E01 -7.19900E01 -8.04900E01 -9.52000E01 -5.33000E01 -5.80800E01 -3.39800E01 -5.31300E01 -8.48500E01 -1.11500E02 -1.22900E02 -1.01570E02 -2.15200E01 9.39900E01 1.98950E02 3.20940E02 4.22380E02 4.28550E02 3.44510E02 1.82560E02 -2.75500E01 -1.77110E02 -2.27110E02 -1.40430E02 4.00700E01 1.84120E02 2.52460E02 2.33690E02 1.06140E02 -4.84300E01 -1.61710E02 -2.46320E02 -2.67300E02 -2.30670E02 -Frame 160 -1.70690E02 -9.27000E01 -9.22000E00 3.88400E01 4.13400E01 2.38700E01 -3.17000E00 -3.70500E01 -5.09500E01 -3.32400E01 -5.99600E01 -9.44600E01 -9.79500E01 -1.07470E02 -2.92000E01 8.85000E01 1.72740E02 2.29410E02 2.16610E02 1.50210E02 6.76200E01 -2.75800E01 -7.26900E01 -8.41200E01 -6.78200E01 -5.95000E00 7.78400E01 1.39150E02 1.61230E02 1.27850E02 5.23300E01 -3.85600E01 -1.02210E02 -1.19720E02 -1.19650E02 -8.94600E01 -8.22500E01 -6.97400E01 -4.57800E01 -2.20400E01 -4.55000E00 2.34800E01 2.63500E01 1.42800E01 -8.18000E00 -4.13300E01 -5.74700E01 -5.70600E01 -6.05900E01 -4.91800E01 2.62000E00 4.70100E01 9.87200E01 1.35930E02 1.13160E02 1.00580E02 2.85200E01 -3.17900E01 -2.39300E01 -2.68000E01 -1.87300E01 3.66100E01 9.96300E01 1.44510E02 1.55650E02 1.71000E02 9.86800E01 1.10500E01 -7.42800E01 -1.06160E02 -9.99100E01 -6.03600E01 -2.25200E01 1.15200E01 1.16100E01 1.77000E01 7.97000E00 2.39400E01 4.39000E00 -1.76000E00 -1.30900E01 -2.87500E01 -3.18600E01 2.97000E00 7.88000E00 7.94000E00 3.10000E01 3.97500E01 6.47400E01 9.14500E01 8.69100E01 3.61600E01 -2.61800E01 -5.64100E01 -6.25100E01 -5.67300E01 -1.27100E01 2.56900E01 2.82600E01 2.68900E01 1.04600E01 -1.74800E01 -2.72600E01 -4.43100E01 -5.28400E01 -7.45800E01 -7.59200E01 -5.32300E01 -4.67900E01 -4.31100E01 -2.62800E01 -3.39100E01 -3.47500E01 -1.95900E01 -5.95000E00 -2.48900E01 -6.04000E01 -7.49600E01 -6.99100E01 -7.26500E01 -4.84200E01 -2.64100E01 -3.67100E01 -5.13100E01 -7.03300E01 -8.08900E01 -7.07200E01 -5.01900E01 -3.60000E01 -3.33600E01 -3.86300E01 -7.90500E01 -9.36700E01 -1.30680E02 -1.42740E02 -7.80700E01 5.64000E00 1.44900E02 3.40300E02 5.16400E02 5.55450E02 4.65190E02 2.53720E02 -1.85000E01 -2.24090E02 -2.76800E02 -1.85860E02 -2.92000E00 1.53690E02 2.29010E02 2.43460E02 1.42150E02 2.26000E01 -7.46400E01 -1.78790E02 -2.23970E02 -2.12320E02 -1.78100E02 -1.16650E02 -5.01900E01 -Frame 160 -5.56300E01 -5.21900E01 -2.96000E01 -2.29000E00 5.68600E01 1.02780E02 8.60200E01 1.66600E01 -7.08600E01 -1.67020E02 -1.83000E02 -1.29310E02 -2.58500E01 1.25820E02 2.03050E02 2.47470E02 2.47030E02 1.79350E02 8.44200E01 5.49000E00 -7.48700E01 -9.26300E01 -5.08400E01 1.03000E01 6.53300E01 9.00100E01 5.93800E01 4.67600E01 1.47200E01 5.69000E00 1.73900E01 7.45000E00 -4.57900E01 -9.16200E01 -1.32770E02 -1.48060E02 -1.26680E02 -8.15200E01 -2.18900E01 4.36000E01 7.20700E01 8.13500E01 6.58400E01 2.07900E01 -3.66700E01 -8.68700E01 -9.05400E01 -5.92400E01 1.08000E00 5.62600E01 9.30900E01 9.29700E01 8.87600E01 7.63400E01 6.54700E01 6.02100E01 4.57400E01 2.37900E01 3.71500E01 4.79000E01 6.09500E01 8.23600E01 8.53700E01 5.24100E01 -6.00000E-01 -4.23000E00 -1.19500E01 -3.88000E00 1.74600E01 -8.54000E00 -1.83200E01 -5.53700E01 -6.35000E01 -3.78100E01 -1.62800E01 3.94000E00 1.77900E01 1.00600E01 2.20900E01 4.04800E01 2.74100E01 6.92000E00 1.48000E01 -7.08000E00 -1.62000E00 2.90200E01 4.05900E01 4.94900E01 3.76300E01 8.38000E00 -2.77000E00 -1.32500E01 6.97000E00 5.82000E00 -4.36000E00 -9.84000E00 -2.54700E01 -3.95500E01 -2.90200E01 -3.71300E01 -3.84500E01 -4.27700E01 -4.01800E01 -3.84700E01 -3.36700E01 -3.26900E01 -4.36500E01 -4.49100E01 -5.81700E01 -5.97900E01 -4.14100E01 -3.34300E01 -5.61800E01 -6.65900E01 -4.72700E01 -5.23200E01 -3.64900E01 -2.51500E01 -3.84500E01 -5.51400E01 -8.53100E01 -9.63500E01 -9.96600E01 -8.70000E01 -5.88900E01 -6.38800E01 -7.09900E01 -6.52800E01 -8.33600E01 -1.00950E02 -1.14020E02 -8.74200E01 -9.95000E00 1.34890E02 3.23050E02 5.24700E02 5.69080E02 4.67300E02 2.69950E02 -3.73000E00 -1.82840E02 -2.18290E02 -1.38610E02 1.46800E01 1.19710E02 1.42890E02 1.21670E02 3.87000E01 -3.98500E01 -7.77700E01 -1.06770E02 -1.41550E02 -1.26260E02 -1.06370E02 -1.28760E02 -1.04720E02 -1.61840E02 -1.80580E02 -9.97400E01 -7.32000E00 -Frame 160 1.03950E02 1.90550E02 1.64640E02 5.97700E01 -5.54000E01 -1.53080E02 -1.57640E02 -1.05200E02 -1.10500E01 9.20100E01 1.55160E02 1.86110E02 1.91840E02 1.53570E02 1.00980E02 6.16800E01 1.91200E01 1.22400E01 3.41500E01 4.57200E01 1.62000E00 -3.18300E01 -6.22700E01 -7.05800E01 -2.00700E01 3.60300E01 7.28400E01 6.17300E01 1.12300E01 -6.78300E01 -1.27260E02 -1.60400E02 -1.39410E02 -9.46400E01 -7.24000E01 5.90000E-01 3.48300E01 4.10900E01 4.35000E01 2.89400E01 -3.10000E00 -1.61300E01 2.45000E00 4.06000E01 3.68900E01 3.60300E01 2.51100E01 4.83000E00 9.92000E00 3.21600E01 8.10600E01 9.24000E01 8.60100E01 8.63500E01 4.26300E01 1.15300E01 3.47000E00 2.51700E01 7.65300E01 1.10420E02 9.52700E01 7.65800E01 -2.74000E00 -8.84900E01 -1.04790E02 -7.34800E01 -5.12000E00 5.43700E01 6.76600E01 2.43100E01 -9.39000E00 -6.41100E01 -5.34500E01 -2.74000E01 1.04900E01 4.45500E01 5.26300E01 7.19200E01 5.87500E01 2.31300E01 4.00000E-01 -2.02000E00 9.50000E00 3.83800E01 6.91300E01 7.67800E01 3.66100E01 -2.48200E01 -5.11100E01 -6.41500E01 -4.65200E01 7.10000E-01 3.04100E01 2.00100E01 7.28000E00 -3.18400E01 -4.91300E01 -6.69000E01 -6.41500E01 -4.52500E01 -3.67200E01 -2.98900E01 -1.78200E01 -2.73600E01 -5.21700E01 -5.27000E01 -5.82000E01 -3.78200E01 -3.47800E01 -1.56200E01 -2.98600E01 -5.15200E01 -6.68100E01 -7.95200E01 -6.95600E01 -5.42400E01 -6.54100E01 -5.18800E01 -6.59000E01 -8.73100E01 -8.53200E01 -7.42100E01 -7.47100E01 -6.81800E01 -9.44100E01 -9.93900E01 -1.04460E02 -1.19620E02 -3.91700E01 8.87700E01 2.19550E02 4.11140E02 5.36250E02 5.23720E02 4.20320E02 2.16350E02 -2.21000E01 -1.37870E02 -1.60060E02 -9.87600E01 -1.45000E00 4.18900E01 3.95500E01 1.81200E01 -1.69700E01 -3.11100E01 -2.36400E01 -3.19000E01 -5.83700E01 -7.85900E01 -1.18350E02 -1.50220E02 -1.82930E02 -2.21480E02 -1.91020E02 -9.04500E01 2.23000E01 1.28500E02 1.97850E02 1.54150E02 -Frame 160 5.39500E01 -2.64000E01 -7.22100E01 -4.93700E01 -6.78000E00 2.81300E01 6.60900E01 7.91600E01 7.95600E01 1.07900E02 1.10020E02 1.09110E02 1.32080E02 1.14650E02 9.85900E01 8.29600E01 1.67900E01 -5.44200E01 -9.77600E01 -1.20330E02 -1.05470E02 -2.20400E01 1.50000E01 3.81800E01 1.60500E01 -2.67700E01 -6.38800E01 -7.20700E01 -8.14400E01 -6.30200E01 -6.09700E01 -4.48000E01 -4.00900E01 -4.42000E01 -3.94000E01 -1.94200E01 3.19000E00 3.54900E01 6.97500E01 1.07000E02 1.10300E02 6.76000E01 2.65200E01 -2.85000E00 -2.51200E01 -1.05000E00 3.47700E01 4.86700E01 5.69600E01 4.34600E01 3.65100E01 1.33200E01 1.14100E01 1.54400E01 3.25900E01 4.12500E01 4.61500E01 7.21700E01 7.49400E01 3.67400E01 -3.66000E00 -4.92900E01 -7.12700E01 -5.68500E01 -2.99200E01 2.88000E00 3.47000E01 1.54800E01 -7.34000E00 1.21500E01 2.32400E01 2.16600E01 3.70200E01 1.48300E01 -2.05000E00 -1.44000E00 -1.28000E01 1.85100E01 1.37800E01 3.39000E01 5.36200E01 5.69100E01 4.82600E01 3.73100E01 -5.00000E00 -4.06000E01 -5.82500E01 -5.63800E01 -2.83900E01 -1.15000E01 -2.50700E01 -1.00300E01 -3.25100E01 -4.66500E01 -2.51800E01 -3.40200E01 -4.01000E01 -3.13300E01 -5.52600E01 -4.98800E01 -5.62900E01 -6.78500E01 -4.87100E01 -5.59400E01 -4.53500E01 -1.64000E01 4.50000E-01 -9.19000E00 -2.41300E01 -5.95200E01 -7.79600E01 -8.99100E01 -8.51600E01 -6.62000E01 -7.76100E01 -8.93200E01 -1.11330E02 -1.14940E02 -8.45800E01 -5.82300E01 -6.50400E01 -7.60300E01 -8.73200E01 -1.08910E02 -1.07100E02 -5.51700E01 6.83800E01 1.96650E02 3.69670E02 5.07670E02 5.35450E02 4.40590E02 2.52400E02 5.21800E01 -8.62500E01 -1.06850E02 -5.39600E01 -8.36000E00 -1.73200E01 -6.15200E01 -8.10100E01 -9.30100E01 -7.22800E01 -2.78300E01 8.03000E00 7.00000E00 -3.50600E01 -7.43800E01 -1.26840E02 -1.87800E02 -2.37470E02 -2.03460E02 -1.14220E02 -6.13000E00 7.22900E01 1.19050E02 8.11300E01 3.49500E01 1.63000E01 3.50500E01 -Frame 160 7.43400E01 1.01770E02 9.99500E01 6.39800E01 1.28400E01 -8.89000E00 2.27200E01 4.32900E01 8.74600E01 1.40920E02 1.47910E02 1.38990E02 1.00680E02 2.71100E01 -4.17400E01 -8.06600E01 -8.76900E01 -6.08400E01 -4.50900E01 -3.88000E01 -7.32700E01 -1.01730E02 -1.02970E02 -7.91500E01 -2.55200E01 3.79000E00 3.60000E01 2.11700E01 -1.91400E01 -3.96800E01 -6.48200E01 -7.46800E01 -6.07800E01 -3.40000E00 3.67500E01 6.61000E01 7.52900E01 7.46900E01 5.20000E01 5.15600E01 7.70600E01 9.82800E01 7.30700E01 6.20200E01 9.58000E00 -3.54800E01 -5.28900E01 -3.37800E01 -5.04000E00 5.60000E00 3.25700E01 3.53500E01 3.31900E01 2.99400E01 4.85700E01 7.37400E01 7.06300E01 7.63700E01 2.02300E01 -2.36500E01 -6.88500E01 -8.63700E01 -8.83400E01 -3.72800E01 1.84000E01 8.79000E00 3.98800E01 5.19000E01 3.42500E01 5.30300E01 6.53500E01 5.10000E01 2.51700E01 8.53000E00 -2.26200E01 -2.87000E01 -2.09300E01 -4.89000E00 1.76600E01 3.59000E01 4.46800E01 3.87000E01 1.45100E01 5.70000E-01 -3.57900E01 -4.82300E01 -5.00000E01 -5.07700E01 -5.05100E01 -5.81900E01 -5.60500E01 -5.97900E01 -4.35900E01 -3.08500E01 -2.46900E01 -2.23200E01 -1.28600E01 -2.51000E01 -4.57000E01 -4.39000E01 -4.90100E01 -5.62400E01 -4.66500E01 -4.07300E01 -5.06000E01 -5.27400E01 -5.29100E01 -5.30500E01 -5.41600E01 -5.42700E01 -4.53500E01 -7.21300E01 -8.06900E01 -9.74600E01 -1.04680E02 -1.02050E02 -9.02700E01 -7.60700E01 -9.43900E01 -1.10220E02 -1.23470E02 -1.22050E02 -1.04510E02 -2.23700E01 8.82900E01 2.20250E02 4.09050E02 5.11280E02 5.08180E02 3.90510E02 2.04850E02 3.42800E01 -4.45700E01 -5.77900E01 -2.34000E00 -1.11500E01 -7.82000E01 -1.51230E02 -1.76360E02 -1.52090E02 -6.99200E01 1.48600E01 3.22500E01 2.71500E01 -1.71300E01 -8.77600E01 -1.41490E02 -1.96750E02 -2.18540E02 -1.60810E02 -6.91600E01 -8.63000E00 1.57600E01 7.87000E00 -1.62900E01 1.28000E01 6.97600E01 1.35400E02 1.73930E02 1.31480E02 -Frame 160 6.55900E01 2.06000E01 -2.08000E01 -1.24600E01 1.51500E01 4.46000E01 6.69200E01 7.98700E01 8.91500E01 8.26400E01 4.28600E01 1.48200E01 1.49100E01 1.40000E01 8.06000E00 -9.06000E00 -8.06900E01 -1.56450E02 -1.81400E02 -1.53950E02 -1.08510E02 -5.05700E01 -3.80000E00 -3.59000E00 -1.03800E01 -8.38000E00 -2.32000E00 7.92000E00 -1.54000E00 -1.43000E01 -4.45000E00 7.00000E-01 -1.80000E01 -2.62700E01 -2.07800E01 5.89000E00 4.33700E01 1.04960E02 1.30350E02 1.04400E02 6.45500E01 2.74100E01 -2.90000E00 8.86000E00 1.98000E00 -1.31100E01 -3.06500E01 -5.47000E01 -4.24400E01 -1.17600E01 1.78800E01 7.44200E01 8.76400E01 1.11190E02 8.83700E01 1.57700E01 -3.80800E01 -8.15500E01 -7.02800E01 -3.65900E01 -1.88200E01 -2.64800E01 -4.03500E01 -3.76100E01 -3.47500E01 3.72300E01 9.24000E01 1.10190E02 9.44300E01 5.11000E01 -4.61000E00 -2.00300E01 -3.09000E01 -3.50700E01 -1.03300E01 1.21900E01 5.40000E00 4.40000E00 -1.63000E00 -1.28400E01 -3.38000E00 8.38000E00 2.85000E01 2.42200E01 -2.72100E01 -7.32000E01 -1.01540E02 -1.04660E02 -7.47800E01 -4.89100E01 -4.42000E01 -4.33100E01 -3.83600E01 -4.12300E01 -3.11600E01 -2.07600E01 -7.03000E00 -7.88000E00 -1.87600E01 -2.19700E01 -4.82700E01 -7.23500E01 -8.71200E01 -8.72800E01 -6.13800E01 -4.76400E01 -4.14500E01 -6.70500E01 -8.24000E01 -9.71700E01 -7.93300E01 -6.48900E01 -6.59700E01 -6.20500E01 -8.89800E01 -1.03690E02 -1.24790E02 -1.51460E02 -1.52850E02 -1.50180E02 -1.08330E02 -1.13000E00 1.47340E02 3.14220E02 4.71930E02 5.14050E02 4.41980E02 3.24270E02 2.01630E02 1.03030E02 4.73100E01 -9.15000E00 -3.73200E01 -1.26300E02 -2.06890E02 -2.17760E02 -1.77750E02 -1.24330E02 -3.31400E01 3.59000E01 5.10400E01 3.36000E01 -1.14100E01 -5.98000E01 -1.21630E02 -1.38260E02 -1.39280E02 -1.13210E02 -1.19240E02 -1.17360E02 -1.28330E02 -7.95400E01 -1.41900E01 9.61700E01 1.51830E02 1.80050E02 1.52960E02 1.31880E02 9.00200E01 6.27800E01 -Frame 160 5.56400E01 3.12300E01 7.04000E00 1.31000E01 -1.06600E01 -7.14000E00 -5.00000E-01 2.23500E01 5.58900E01 8.04200E01 1.05640E02 7.55500E01 1.24700E01 -2.95600E01 -9.08500E01 -1.14940E02 -1.17660E02 -1.37350E02 -1.27520E02 -1.24270E02 -1.10810E02 -7.48400E01 -2.97000E01 2.38500E01 5.70200E01 6.51500E01 6.04600E01 5.05600E01 2.43000E01 -1.38000E01 -3.10700E01 -3.08500E01 -1.06000E01 2.28000E00 1.55500E01 2.72100E01 2.72000E01 4.91600E01 8.67500E01 9.54200E01 8.92700E01 5.28500E01 2.72600E01 6.86000E00 -1.31700E01 -1.18000E01 -2.23700E01 -2.42400E01 5.86000E00 4.18900E01 6.50000E01 4.67700E01 1.19400E01 -1.29700E01 -1.86300E01 -9.44000E00 5.05000E00 -1.00000E-02 -6.02200E01 -8.42300E01 -6.89000E01 -1.30300E01 4.25800E01 3.18700E01 3.98000E01 3.79400E01 1.59900E01 3.53500E01 5.92800E01 5.79000E01 2.74300E01 2.00000E01 1.03300E01 -1.76400E01 -4.04500E01 -3.99200E01 -3.53300E01 -1.95600E01 -7.28000E00 1.39000E00 -2.66700E01 -3.95700E01 -3.88300E01 -1.40300E01 -7.45000E00 -8.66000E00 -4.39000E01 -6.71900E01 -8.41400E01 -7.05400E01 -4.64600E01 -5.16000E01 -5.78600E01 -4.52700E01 -3.12600E01 -2.08000E01 -1.30100E01 -2.29800E01 -3.22500E01 -4.77900E01 -4.57800E01 -5.06800E01 -7.57000E01 -9.74400E01 -1.10780E02 -1.02450E02 -7.27900E01 -6.51700E01 -7.72800E01 -8.77200E01 -8.14300E01 -7.09000E01 -8.30100E01 -8.74500E01 -1.17980E02 -1.41380E02 -1.65410E02 -1.21070E02 -4.92900E01 5.77100E01 2.19920E02 4.32900E02 5.00030E02 4.61750E02 3.40850E02 2.08900E02 1.42690E02 1.47320E02 1.25980E02 4.88900E01 -1.00600E02 -2.48590E02 -2.96900E02 -2.38410E02 -1.71880E02 -8.21300E01 -2.15300E01 -7.04000E00 6.90000E00 2.60000E-01 -3.15900E01 -5.24000E01 -4.98100E01 -4.91000E01 -4.33300E01 -1.15350E02 -1.90500E02 -2.00810E02 -1.58270E02 -5.82900E01 6.38100E01 1.06600E02 1.14590E02 9.67000E01 1.17150E02 1.64110E02 1.78360E02 1.46880E02 1.12290E02 5.05300E01 -Frame 160 -6.18000E00 -4.36300E01 -5.21900E01 -5.89600E01 -3.18800E01 2.60700E01 7.07900E01 6.78300E01 2.37200E01 1.72300E01 1.95300E01 2.48900E01 1.74000E01 -3.53300E01 -1.12650E02 -1.72250E02 -1.68530E02 -1.49540E02 -1.16830E02 -6.70100E01 -4.96000E01 -1.46200E01 1.84400E01 3.24900E01 5.09300E01 7.38800E01 7.44600E01 7.19800E01 5.53500E01 2.51500E01 -3.40100E01 -5.09700E01 -2.94100E01 8.40000E-01 4.50200E01 4.15200E01 3.58700E01 4.10100E01 5.32700E01 7.78600E01 8.31400E01 8.15100E01 6.07600E01 4.93200E01 5.44900E01 3.87800E01 5.56000E00 -4.36800E01 -4.33900E01 -4.30400E01 -4.16300E01 -3.21300E01 -3.03000E01 -2.13800E01 -2.41600E01 -1.90000E01 9.34000E00 1.95500E01 2.40600E01 3.26900E01 4.15600E01 3.26700E01 4.48000E00 -1.58000E00 1.31800E01 2.33900E01 2.89000E01 2.85600E01 2.11900E01 1.25800E01 1.97000E01 2.70300E01 2.65700E01 1.60800E01 2.60000E-01 -2.20400E01 -3.80000E01 -4.04100E01 -4.38500E01 -4.73500E01 -3.49100E01 -3.40500E01 -3.31300E01 -3.21500E01 -4.21100E01 -2.73400E01 -1.90900E01 -1.55700E01 -2.09300E01 -3.94400E01 -5.34900E01 -5.59300E01 -3.34000E01 -3.21500E01 -4.18400E01 -5.38000E01 -5.90900E01 -4.55000E01 -3.84600E01 -2.91800E01 -2.96000E01 -5.70200E01 -5.72500E01 -7.34500E01 -8.51000E01 -7.10500E01 -8.95200E01 -8.85000E01 -8.43900E01 -8.51000E01 -1.08780E02 -1.29120E02 -1.27000E02 -1.20730E02 -1.32190E02 -8.49200E01 -1.71500E01 1.09690E02 2.83310E02 4.67000E02 4.79910E02 3.89760E02 2.86460E02 2.02710E02 2.07200E02 1.79660E02 1.23130E02 -6.23000E00 -1.76550E02 -2.47940E02 -2.32280E02 -1.85900E02 -1.50900E02 -6.76700E01 -1.98000E01 -3.43000E00 -1.25500E01 -4.29400E01 -3.22300E01 7.84000E00 1.91400E01 1.07700E01 -7.58700E01 -1.89120E02 -2.01700E02 -1.43490E02 -7.23600E01 -1.69800E01 -8.89000E00 2.44000E00 5.31000E01 1.00260E02 1.55770E02 1.83840E02 1.96600E02 1.69570E02 1.52550E02 6.98700E01 -1.74200E01 -4.03800E01 -Frame 160 -2.70000E01 4.83000E00 -2.35000E00 -1.27400E01 -2.34300E01 -1.54200E01 2.08600E01 8.32500E01 8.35000E01 4.56900E01 -5.32000E00 -3.68900E01 -7.33900E01 -1.16940E02 -1.30720E02 -1.18800E02 -1.05400E02 -7.94900E01 -8.37100E01 -8.19900E01 -4.51500E01 1.88600E01 8.78200E01 1.04820E02 9.12400E01 6.61500E01 5.02200E01 3.17500E01 3.76800E01 1.97600E01 6.27000E00 -7.64000E00 -1.09700E01 -1.03900E01 1.32200E01 2.55500E01 4.62400E01 8.35300E01 1.10900E02 9.50200E01 7.65700E01 5.14900E01 8.86000E01 1.13790E02 3.66700E01 -5.85000E00 -6.26600E01 -1.05150E02 -9.48400E01 -6.21100E01 -3.53000E01 -4.26200E01 -7.61200E01 -1.85800E01 3.47600E01 5.77200E01 6.83400E01 7.42300E01 7.12400E01 4.01000E01 1.09700E01 -1.40600E01 -1.08400E01 5.00000E-01 -5.80000E00 8.72000E00 -1.31000E00 -1.56400E01 -2.39000E00 5.02800E01 7.15400E01 3.74000E01 1.81800E01 -3.64000E00 -1.11200E01 -2.48100E01 -3.88900E01 -3.03600E01 -5.35300E01 -7.23600E01 -5.37000E01 -6.54100E01 -5.44200E01 -2.10400E01 -5.61000E00 4.30000E00 -2.14900E01 -3.10600E01 -3.59000E01 -1.98600E01 -8.31000E00 -1.04000E01 -5.05500E01 -1.05900E02 -7.68700E01 -6.08800E01 -5.33500E01 -4.55500E01 -3.54800E01 -3.60800E01 -6.56800E01 -6.01500E01 -5.24100E01 -5.64000E01 -5.44800E01 -4.64700E01 -8.11900E01 -1.20930E02 -1.35810E02 -1.24050E02 -1.13840E02 -1.25240E02 -1.61910E02 -1.51600E02 -2.88700E01 1.30640E02 3.15920E02 5.02600E02 4.53560E02 3.58570E02 2.74310E02 2.41200E02 2.57860E02 2.16820E02 1.14340E02 -2.23800E01 -1.90270E02 -2.43140E02 -2.30390E02 -1.94010E02 -1.51310E02 -4.71400E01 -6.70000E00 -3.60000E01 -5.21700E01 -2.67900E01 3.34000E01 1.11420E02 6.87500E01 -1.43000E01 -1.29900E02 -2.06950E02 -1.63190E02 -1.06930E02 -9.68400E01 -8.83600E01 -4.85500E01 -2.34800E01 2.13700E01 9.55700E01 1.64960E02 2.24330E02 2.37320E02 1.91490E02 1.29070E02 5.06100E01 1.56900E01 4.66900E01 3.26200E01 -2.29000E01 -Frame 160 -6.51000E01 -8.05300E01 -4.43500E01 7.00000E00 6.29400E01 8.95600E01 8.09300E01 6.39700E01 3.04400E01 -1.01400E01 -4.59500E01 -5.38100E01 -5.68500E01 -8.79200E01 -1.31860E02 -1.67030E02 -1.46130E02 -8.24500E01 -2.07300E01 2.59100E01 4.99600E01 5.17000E01 5.84400E01 9.03300E01 9.81200E01 9.30600E01 7.77600E01 4.79200E01 9.12000E00 -2.38800E01 -3.18700E01 -1.50700E01 -4.73000E00 3.29400E01 3.27500E01 3.45300E01 5.43400E01 9.87200E01 1.10390E02 1.31330E02 1.52810E02 1.20830E02 4.17700E01 2.02500E01 -2.09300E01 -4.03400E01 -5.92900E01 -6.97500E01 -6.64500E01 -9.79700E01 -1.07360E02 -1.49300E01 4.83800E01 4.96100E01 5.88400E01 8.53100E01 5.75300E01 3.68500E01 3.65100E01 4.71400E01 3.80700E01 -2.23000E01 -2.35000E01 -1.37000E01 -3.15700E01 -1.19500E01 3.73000E01 5.30500E01 3.92500E01 2.70000E01 1.83600E01 3.44500E01 3.70200E01 2.06500E01 3.77000E00 -2.96200E01 -7.30000E01 -6.66400E01 -7.40100E01 -6.85300E01 -5.08100E01 -4.04900E01 -2.58100E01 -2.76500E01 -2.75200E01 2.64000E00 2.67300E01 1.85400E01 1.20800E01 -1.35900E01 -6.60400E01 -7.50500E01 -5.32700E01 -6.37700E01 -9.15400E01 -6.50900E01 -5.17700E01 -7.20000E01 -5.98000E01 -4.71800E01 -3.31400E01 -3.46500E01 -5.71900E01 -5.03900E01 -5.13500E01 -8.63100E01 -9.62900E01 -9.75100E01 -1.32700E02 -1.52880E02 -1.66570E02 -1.44560E02 -5.97700E01 7.56600E01 2.73170E02 4.72500E02 3.93530E02 3.21740E02 2.94430E02 2.90010E02 3.22200E02 2.81110E02 1.52520E02 -3.91500E01 -1.81670E02 -2.16390E02 -1.81950E02 -1.80250E02 -1.77310E02 -7.71000E01 -5.77100E01 -8.16600E01 -4.82700E01 1.42000E01 8.85900E01 1.54200E02 7.57000E01 -1.72900E01 -1.22130E02 -1.55090E02 -1.01920E02 -8.10100E01 -1.35380E02 -1.66310E02 -1.33050E02 -9.36500E01 -1.19600E01 8.12500E01 1.45250E02 2.19080E02 2.07980E02 1.74340E02 1.49500E02 1.03760E02 9.95200E01 1.18070E02 3.81000E01 -5.13600E01 -9.95200E01 -9.80600E01 -Frame 160 -4.04500E01 1.29900E01 4.20800E01 6.40400E01 5.16300E01 4.28000E01 6.06700E01 5.80500E01 3.83100E01 2.39400E01 -3.38800E01 -9.54400E01 -1.46800E02 -1.56600E02 -1.36550E02 -8.87500E01 -8.63900E01 -6.38800E01 -1.76200E01 -1.79200E01 3.17800E01 9.79800E01 1.17130E02 1.16760E02 8.12700E01 4.46100E01 2.87800E01 1.44400E01 5.65000E00 5.59000E00 -2.24700E01 -3.73700E01 -1.86900E01 -7.41000E00 2.82300E01 8.49500E01 8.83500E01 8.17800E01 1.04940E02 1.68730E02 1.58350E02 8.25200E01 4.32900E01 1.78300E01 -3.41000E00 -4.12800E01 -4.72600E01 -6.23600E01 -1.00850E02 -9.14200E01 -2.86000E01 2.20000E00 -2.20400E01 3.00000E00 7.48200E01 7.58000E01 1.97500E01 2.69600E01 4.93800E01 4.74600E01 1.14500E01 7.33000E00 -4.91000E00 -2.55100E01 -2.27100E01 -7.90000E-01 3.08200E01 1.63900E01 8.51000E00 2.53900E01 3.47800E01 2.04400E01 1.16500E01 1.25900E01 -1.44000E00 -2.08900E01 -4.89100E01 -7.37400E01 -5.62600E01 -4.01800E01 -4.45600E01 -5.10300E01 -3.36500E01 -2.87000E01 -9.57000E00 2.16000E00 1.22500E01 1.46400E01 -1.19100E01 -5.42700E01 -4.38900E01 -5.81500E01 -6.28000E01 -7.85400E01 -6.87000E01 -6.85000E01 -8.72400E01 -8.84900E01 -5.67100E01 -2.49100E01 -4.71200E01 -5.09900E01 -3.59500E01 -6.34300E01 -8.17200E01 -7.55200E01 -9.30800E01 -1.22120E02 -1.50970E02 -1.64600E02 -1.04530E02 7.46000E00 1.51870E02 3.60570E02 3.95360E02 2.98840E02 2.79050E02 2.92390E02 3.13880E02 3.06760E02 2.26160E02 5.78900E01 -7.26000E01 -1.66020E02 -1.51140E02 -1.36630E02 -1.59520E02 -1.09950E02 -7.67300E01 -1.00400E02 -8.17000E01 -4.34000E00 7.74200E01 1.46640E02 9.48700E01 -6.58000E00 -5.51500E01 -1.13160E02 -9.38500E01 -7.08500E01 -1.12070E02 -1.80460E02 -1.64800E02 -1.38510E02 -7.62900E01 4.91000E00 1.02600E02 1.72200E02 1.73780E02 1.35240E02 1.53380E02 1.57940E02 1.42500E02 1.30460E02 7.59400E01 -2.13200E01 -6.65500E01 -7.31000E01 -4.17700E01 8.58000E00 -Frame 160 1.14900E01 3.04900E01 3.60600E01 2.67800E01 5.12000E01 1.04340E02 9.00400E01 4.32300E01 -8.05000E00 -5.68900E01 -8.81700E01 -1.04320E02 -1.12860E02 -1.05550E02 -1.13910E02 -1.26420E02 -8.42000E01 -4.26000E01 5.32000E00 5.97100E01 7.57200E01 7.21500E01 5.94000E01 5.02000E01 6.86700E01 7.06500E01 3.16300E01 1.38000E00 -1.68000E01 -3.95200E01 -3.29000E01 -5.04000E00 6.69000E00 3.37800E01 4.96800E01 6.90300E01 1.06920E02 1.06890E02 1.12770E02 1.42740E02 1.37520E02 8.70300E01 4.09200E01 4.37000E00 -1.12900E01 -2.44000E01 -5.58700E01 -6.02400E01 -8.26700E01 -1.08700E02 -7.34200E01 -8.97000E00 1.49000E00 3.28000E00 2.61300E01 3.36700E01 3.74200E01 3.22600E01 4.19200E01 4.88500E01 3.29600E01 -1.34400E01 -1.42500E01 -2.20600E01 -1.90800E01 6.02000E00 1.49000E01 1.05000E00 -2.62200E01 -1.73000E01 3.92000E00 2.68000E01 2.63700E01 1.09100E01 -6.03000E00 -2.64800E01 -3.45300E01 -3.57900E01 -3.70500E01 -3.93100E01 -4.36000E01 -5.59800E01 -5.86900E01 -5.54300E01 -2.60200E01 -9.68000E00 -2.48300E01 -3.04300E01 -4.31800E01 -4.72900E01 -3.24900E01 -4.42100E01 -4.92600E01 -7.04300E01 -9.52000E01 -1.02660E02 -8.32700E01 -8.12200E01 -6.90500E01 -7.24600E01 -7.39300E01 -7.14000E01 -7.47500E01 -5.71600E01 -7.40000E01 -8.33200E01 -1.11880E02 -1.27250E02 -9.80100E01 5.19000E00 1.41540E02 3.13940E02 3.11350E02 2.18370E02 2.23300E02 2.54170E02 2.92760E02 2.68280E02 1.87810E02 3.37000E01 -3.91800E01 -9.62500E01 -8.99700E01 -8.63900E01 -1.24600E02 -1.00860E02 -1.02280E02 -1.02640E02 -1.00910E02 -3.00000E-02 7.49700E01 9.82200E01 2.91000E01 -4.91800E01 -6.28300E01 -6.38400E01 -6.08200E01 -5.96500E01 -1.12390E02 -1.74660E02 -1.63700E02 -1.43260E02 -8.00700E01 -8.70000E-01 4.77600E01 8.78300E01 1.07040E02 8.07300E01 1.17520E02 1.62330E02 1.49370E02 1.15870E02 6.32300E01 -8.09000E00 -2.46000E01 -2.35900E01 -1.15200E01 7.94000E00 -1.00000E00 2.79000E00 -Frame 160 7.00000E-01 2.75500E01 6.92100E01 1.05100E02 6.70100E01 9.69000E00 -1.04000E01 -3.70900E01 -4.55600E01 -6.02400E01 -7.33100E01 -1.05710E02 -1.20010E02 -1.25640E02 -1.04330E02 -6.22700E01 -1.78600E01 2.09300E01 2.28900E01 1.58800E01 3.16300E01 4.88300E01 5.75100E01 6.24000E01 1.13800E01 -1.02300E01 -1.15000E01 -1.38000E01 -1.11600E01 -3.43000E00 -7.46000E00 1.13900E01 2.18100E01 2.75300E01 1.02400E02 1.36490E02 1.18510E02 1.32870E02 1.03560E02 5.72600E01 5.04900E01 4.34800E01 1.02300E01 -3.20400E01 -7.25700E01 -5.72700E01 -6.34300E01 -7.57100E01 -3.32900E01 -4.52000E00 -1.58500E01 -1.25100E01 4.95000E00 2.79500E01 4.06400E01 4.06900E01 2.97100E01 1.53700E01 -2.14200E01 -2.53200E01 -9.31000E00 -1.27900E01 -2.83600E01 -2.73800E01 -2.93400E01 -1.43300E01 2.16000E00 5.16000E00 2.92500E01 4.00600E01 2.11700E01 2.68000E00 1.26200E01 3.86000E00 -1.31700E01 -3.07100E01 -4.87600E01 -5.23200E01 -6.19400E01 -6.38000E01 -4.96600E01 -4.60400E01 -4.22700E01 -2.83500E01 -2.69800E01 -2.15500E01 -1.09400E01 -2.70000E01 -3.65400E01 -4.03500E01 -5.92500E01 -7.36900E01 -7.15200E01 -8.42300E01 -9.92700E01 -1.02700E02 -9.71600E01 -8.43800E01 -8.21500E01 -7.38000E01 -5.71500E01 -6.59600E01 -7.70100E01 -7.63600E01 -7.66500E01 -1.09910E02 -1.08130E02 -2.12300E01 8.93400E01 2.17210E02 2.51800E02 2.12200E02 1.85160E02 2.06100E02 2.69490E02 2.58590E02 1.84120E02 6.81900E01 1.46300E01 -3.25800E01 -5.32000E01 -6.33900E01 -8.98200E01 -7.69700E01 -8.06400E01 -8.73400E01 -8.61600E01 -1.78600E01 3.35700E01 7.25600E01 2.06900E01 -3.48000E01 -4.89700E01 -4.85300E01 -3.20300E01 -6.19900E01 -1.10820E02 -1.46060E02 -1.36260E02 -1.41040E02 -1.02850E02 -4.24000E01 1.29400E01 4.59600E01 3.89400E01 4.46500E01 8.84800E01 1.28570E02 1.27770E02 9.88200E01 5.78800E01 1.76200E01 1.21000E01 -2.60000E00 -7.75000E00 8.95000E00 1.11600E01 1.43000E00 5.40000E00 1.94900E01 -Frame 160 6.30000E01 9.98000E01 6.36500E01 2.33300E01 3.75000E00 -1.74300E01 -9.24000E00 -3.47800E01 -6.90700E01 -7.23500E01 -9.96600E01 -1.13720E02 -9.31100E01 -7.77800E01 -4.79100E01 -1.40800E01 -1.82000E01 -1.24400E01 6.50000E00 2.50100E01 2.90600E01 4.02000E01 3.64000E00 -1.30600E01 -1.22700E01 -1.64500E01 -2.27500E01 -5.23000E00 -1.70000E-01 -9.60000E-01 -7.80000E-01 2.74000E01 8.64200E01 9.31800E01 1.14060E02 1.29480E02 9.32600E01 5.28400E01 7.11300E01 6.99300E01 3.36400E01 -1.77900E01 -4.57800E01 -4.85800E01 -5.54100E01 -6.43900E01 -2.55800E01 -1.35400E01 -4.21100E01 -3.95200E01 -5.81000E00 1.59500E01 2.13700E01 1.99400E01 1.94500E01 -8.07000E00 -3.74300E01 -1.96600E01 6.80000E-01 -2.53500E01 -5.11600E01 -4.87200E01 -2.81600E01 -3.79400E01 -3.19900E01 -5.83000E00 2.41400E01 1.10100E01 -5.54000E00 1.64000E01 1.70000E01 1.16000E01 -1.98000E00 -1.79800E01 -3.54600E01 -4.84500E01 -5.58000E01 -4.73300E01 -4.25600E01 -6.86100E01 -5.44100E01 -3.87300E01 -4.45400E01 -2.45000E01 -1.58300E01 -3.78900E01 -4.26100E01 -5.04500E01 -5.95000E01 -5.87900E01 -7.30200E01 -6.36400E01 -8.59300E01 -1.16850E02 -1.02640E02 -7.19200E01 -9.02100E01 -7.60100E01 -5.43300E01 -4.39600E01 -8.02600E01 -9.76400E01 -7.25000E01 -7.95500E01 -8.97800E01 -1.25280E02 -6.08000E01 4.86900E01 1.57480E02 2.36450E02 1.87610E02 1.54060E02 1.69310E02 2.38860E02 2.38330E02 2.08560E02 9.36800E01 2.51700E01 3.53000E00 -3.97700E01 -4.03600E01 -7.69200E01 -5.05300E01 -5.92700E01 -7.92200E01 -8.07100E01 -3.51700E01 3.88100E01 4.40400E01 3.13900E01 -3.26800E01 -4.27000E01 -2.99900E01 -2.58600E01 -7.15800E01 -9.26500E01 -1.24290E02 -1.49800E02 -1.42970E02 -1.26810E02 -5.10500E01 -3.92000E00 1.36500E01 2.27300E01 1.50500E01 5.41000E01 1.20290E02 1.15400E02 8.32400E01 4.80000E01 2.06200E01 1.63700E01 1.09700E01 -6.10000E-01 7.45000E00 1.17500E01 7.17000E00 4.44000E00 2.76200E01 5.54900E01 -Frame 160 8.01700E01 8.45400E01 4.79700E01 2.92300E01 1.08900E01 5.98000E00 -9.08000E00 -4.95900E01 -8.33000E01 -8.69700E01 -9.56700E01 -1.02550E02 -6.35500E01 -5.82900E01 -2.48200E01 -2.23000E01 -3.66900E01 -1.35000E01 2.34100E01 3.14300E01 1.36600E01 8.32000E00 -4.20000E00 -1.71100E01 -1.34100E01 -1.55900E01 -1.28300E01 -1.29800E01 -8.13000E00 -4.13000E00 1.79900E01 7.57700E01 1.08260E02 1.18650E02 1.16250E02 8.96700E01 6.91900E01 8.50200E01 9.72700E01 3.08200E01 -1.07000E01 -2.44800E01 -4.56500E01 -6.24200E01 -5.76400E01 -2.56500E01 -2.46400E01 -3.95700E01 -2.39200E01 7.24000E00 9.36000E00 1.85400E01 2.49900E01 1.66200E01 -6.02000E00 -3.33500E01 -3.49000E00 -1.57000E01 -3.62700E01 -6.24400E01 -4.63600E01 -5.57400E01 -4.73600E01 -3.06800E01 -3.46000E00 1.06000E01 2.90800E01 2.01000E01 2.28200E01 2.46000E01 2.14100E01 8.10000E00 -1.86300E01 -3.61700E01 -5.62200E01 -4.68400E01 -5.11300E01 -5.15100E01 -5.18600E01 -5.11800E01 -3.44400E01 -2.11600E01 -3.46000E00 -1.22200E01 -1.92500E01 -3.04900E01 -4.10600E01 -5.19300E01 -6.21000E01 -7.45400E01 -8.53100E01 -9.43500E01 -1.14600E02 -9.93900E01 -7.36400E01 -6.20500E01 -6.40700E01 -4.51200E01 -5.45700E01 -4.62900E01 -4.67400E01 -5.41900E01 -5.28500E01 -7.84500E01 -1.14800E02 -1.04200E02 -2.92100E01 8.50900E01 2.02810E02 1.88950E02 1.35460E02 1.52170E02 1.89240E02 2.48270E02 2.28890E02 1.53700E02 6.30500E01 2.25500E01 -7.21000E00 -3.08700E01 -3.82200E01 -4.37500E01 -3.54000E01 -6.67500E01 -7.90000E01 -6.45500E01 1.44100E01 6.18000E01 4.96000E01 9.80000E-01 -4.91400E01 -3.17600E01 -3.88100E01 -4.00400E01 -7.32700E01 -1.06460E02 -1.44580E02 -1.37750E02 -1.21590E02 -7.78300E01 -1.86600E01 7.34000E00 2.31200E01 2.03500E01 3.24600E01 7.89000E01 1.14690E02 9.74700E01 5.66200E01 1.24500E01 -7.10000E00 -1.42500E01 1.63900E01 2.09600E01 1.26500E01 7.07000E00 1.43100E01 4.07600E01 7.49900E01 7.52100E01 -Frame 160 9.33700E01 6.40100E01 2.66900E01 4.20000E00 -1.39800E01 -8.70000E00 -3.52400E01 -6.25600E01 -8.76600E01 -1.01450E02 -8.15700E01 -4.90000E01 -2.73800E01 -2.50700E01 -2.26700E01 -2.21800E01 -8.66000E00 -2.72000E00 2.24000E01 1.62700E01 4.93000E00 -3.17700E01 -4.25800E01 -3.36900E01 -2.25000E01 -1.19500E01 -5.07000E00 -1.39800E01 3.84000E00 3.42000E01 6.84600E01 1.24710E02 1.40580E02 9.78100E01 6.86300E01 7.24900E01 7.34100E01 6.63000E01 3.19200E01 -8.54000E00 -3.82300E01 -5.67900E01 -6.18600E01 -2.10200E01 3.11000E00 -7.01000E00 -1.54300E01 -1.50900E01 1.28000E00 1.01600E01 3.73100E01 3.22700E01 -8.95000E00 -4.64300E01 -4.20200E01 -4.24300E01 -3.88100E01 -3.70400E01 -3.91800E01 -4.43500E01 -5.16400E01 -2.71100E01 1.42000E01 3.07700E01 3.28200E01 1.09000E01 6.29000E00 1.25300E01 4.95000E00 1.13000E00 -2.38100E01 -4.15000E01 -5.47000E01 -5.72600E01 -4.58500E01 -1.50500E01 -1.32900E01 -1.34700E01 -1.66500E01 -1.19200E01 -4.04000E00 1.08000E00 -1.86500E01 -4.69800E01 -6.61500E01 -6.98600E01 -7.66300E01 -5.85500E01 -6.38700E01 -5.83100E01 -6.75400E01 -7.30100E01 -5.46000E01 -3.85900E01 -2.20700E01 -3.20400E01 -4.63100E01 -6.40000E01 -5.32000E01 -5.80400E01 -8.10000E01 -7.86200E01 -8.01200E01 -9.26200E01 -1.17450E02 -1.12970E02 -2.72800E01 9.90500E01 2.22160E02 2.57840E02 1.70360E02 1.39000E02 1.69530E02 2.27840E02 2.26740E02 1.54400E02 4.26900E01 -2.45000E01 -4.87300E01 -3.86500E01 -7.21000E00 2.22000E00 1.89500E01 -1.58100E01 -2.66200E01 -1.47300E01 5.45500E01 1.02930E02 5.77200E01 -1.49300E01 -8.48000E01 -9.17400E01 -8.88000E01 -8.26800E01 -8.92900E01 -9.20200E01 -1.22750E02 -1.18320E02 -6.06500E01 -7.15000E00 5.30000E01 6.99500E01 5.53500E01 1.82400E01 2.79600E01 4.49500E01 6.04200E01 2.63100E01 1.61200E01 -1.44000E01 -3.28500E01 -1.58400E01 4.57100E01 8.31200E01 9.26100E01 8.23100E01 6.56200E01 8.63600E01 9.96700E01 9.03100E01 -Frame 160 6.05900E01 1.59100E01 -1.61500E01 -5.31700E01 -6.82700E01 -4.57600E01 -2.55000E01 -2.65800E01 -4.46600E01 -4.42500E01 -3.47800E01 9.02000E00 3.51700E01 2.51000E01 -1.33000E01 -3.18700E01 -4.09800E01 -4.53300E01 -3.67700E01 -2.19100E01 -3.15700E01 -4.65000E01 -3.58500E01 -6.84000E00 1.60700E01 4.76700E01 7.22000E01 5.54200E01 4.40700E01 4.53300E01 5.15900E01 5.10000E01 7.83500E01 6.74800E01 5.22200E01 4.04500E01 8.29000E00 4.41400E01 6.20700E01 6.65100E01 3.80400E01 1.06700E01 1.44600E01 5.37000E00 7.01000E00 -5.29000E00 -9.50000E-01 -2.94600E01 -3.38100E01 -2.72500E01 -1.14500E01 -1.11400E01 -5.80000E00 -1.22800E01 -2.49400E01 -1.99600E01 -1.58000E01 1.55100E01 1.57800E01 -4.95000E00 -1.23100E01 -1.18800E01 -3.04200E01 -1.25000E01 1.69900E01 -2.62000E00 -9.83000E00 -1.52500E01 -1.18200E01 2.17300E01 5.30000E00 -6.64000E00 -3.94000E00 -2.81500E01 -2.10800E01 -2.37700E01 -1.55200E01 -1.00000E01 -2.23000E01 -3.89600E01 -4.21000E01 -3.93000E01 -2.33800E01 -1.19500E01 -2.81600E01 -5.88500E01 -4.94400E01 -3.17000E01 -4.83900E01 -4.75600E01 -3.16700E01 -5.42700E01 -5.95300E01 -6.29100E01 -4.63500E01 -3.42500E01 -4.17600E01 -4.84800E01 -3.03800E01 -5.37100E01 -6.07300E01 -4.59300E01 -3.96500E01 -6.21600E01 -7.33300E01 -7.28000E01 -9.52100E01 -9.92500E01 -2.93500E01 1.26710E02 2.27450E02 2.59070E02 1.92410E02 1.40500E02 1.35850E02 1.75930E02 1.74090E02 1.15040E02 2.50700E01 -3.66900E01 -2.33100E01 -2.54800E01 3.32000E00 5.40200E01 9.52500E01 4.86800E01 2.64000E00 -6.81000E00 2.64700E01 5.27700E01 1.78500E01 -5.51500E01 -1.18340E02 -1.43360E02 -1.13010E02 -6.66100E01 -4.77100E01 -1.41800E01 -1.96000E01 -3.01700E01 -3.20400E01 1.50600E01 6.26000E01 5.55500E01 8.23000E00 -3.45600E01 -1.76400E01 -2.81800E01 3.98000E00 3.11300E01 5.50900E01 4.87400E01 4.21500E01 4.63200E01 7.65800E01 1.17710E02 1.17010E02 8.31900E01 3.62600E01 2.48600E01 -Frame 160 2.81000E01 2.24300E01 1.15800E01 1.44000E01 7.31000E00 -2.29900E01 -3.51900E01 -9.72000E00 3.85600E01 4.13100E01 5.12000E00 -3.21800E01 -4.05900E01 -4.22100E01 -2.98300E01 -3.20300E01 -4.72600E01 -3.79100E01 -3.82300E01 -3.55200E01 -1.36900E01 2.68300E01 3.85800E01 2.76600E01 1.23800E01 5.62000E00 3.65000E00 3.26200E01 2.04600E01 1.09100E01 2.50600E01 2.26300E01 4.41100E01 1.01220E02 1.03010E02 9.97700E01 1.11350E02 6.02000E01 4.14300E01 3.20600E01 5.43900E01 2.83800E01 5.56000E00 -1.79500E01 4.85000E00 -1.63000E00 -3.12900E01 1.51800E01 5.30900E01 1.31400E01 -2.10400E01 -1.52400E01 -5.23000E00 -1.18900E01 -3.67300E01 -1.32900E01 -1.31000E01 -4.38800E01 -2.15600E01 2.04800E01 1.38100E01 1.09300E01 5.29600E01 1.12500E01 -6.75000E00 3.71000E00 2.50000E00 3.26000E00 -1.19500E01 -3.36100E01 -6.90000E00 -1.93500E01 -1.91600E01 1.70600E01 1.33900E01 -6.40000E00 2.21000E00 6.09000E00 -1.69100E01 -1.16000E01 -1.41100E01 -2.56800E01 -3.35800E01 -5.16900E01 -4.63100E01 -1.47200E01 -3.01400E01 -3.60100E01 -2.70300E01 -3.37500E01 -2.76500E01 -3.03400E01 -3.20900E01 -2.18700E01 -3.73200E01 -6.42200E01 -4.99000E01 -3.91000E01 -4.39400E01 -3.79000E01 -1.56500E01 -3.87100E01 -3.24600E01 -3.10000E01 -4.14800E01 -6.32600E01 -6.96700E01 -6.52300E01 -6.66100E01 -1.02990E02 -1.22420E02 5.16400E01 2.06010E02 3.18940E02 3.00050E02 1.33290E02 7.22500E01 1.08260E02 1.44290E02 1.36310E02 4.29700E01 -2.62800E01 -1.56300E01 2.43800E01 2.96200E01 9.30100E01 1.56290E02 1.28400E02 5.55500E01 -3.15800E01 -4.73500E01 -2.54000E00 -1.03200E01 -7.23100E01 -1.01130E02 -9.47300E01 -6.70300E01 -7.40000E00 -1.89100E01 1.25000E00 5.40400E01 9.42000E00 -3.35800E01 -4.38700E01 -5.54300E01 -2.62900E01 -2.32200E01 -5.30300E01 -9.71000E00 4.39600E01 3.62500E01 4.82700E01 4.96200E01 6.19700E01 9.86500E01 8.33800E01 2.75700E01 3.40200E01 3.56500E01 2.43100E01 -Frame 160 4.06100E01 4.73900E01 7.33500E01 9.30600E01 2.93100E01 -1.14200E01 3.66200E01 4.61300E01 2.39100E01 9.00000E00 -2.93600E01 -4.88600E01 -2.69000E01 -4.22200E01 -2.29600E01 9.93000E00 -7.16000E00 -1.87600E01 -3.26900E01 -4.80100E01 -1.75000E00 1.49500E01 -2.18400E01 -1.77400E01 -3.14900E01 -2.86300E01 1.33500E01 1.66200E01 1.09800E01 2.81600E01 2.98500E01 2.35700E01 3.20800E01 3.18300E01 8.85500E01 9.99500E01 4.36200E01 6.65200E01 1.01080E02 1.13630E02 4.14800E01 1.00800E01 4.17200E01 2.93200E01 9.53000E00 -2.68600E01 3.06700E01 1.09700E01 -2.83300E01 -5.80000E00 2.34500E01 1.56000E01 -2.44900E01 -3.97800E01 -3.14900E01 -4.29000E01 -3.56100E01 8.95000E00 3.08900E01 -1.15100E01 -1.22000E01 2.41100E01 3.53000E00 -7.68000E00 -1.32200E01 -3.91000E00 -4.30000E00 -4.16900E01 -2.21900E01 2.09400E01 8.39000E00 -1.05500E01 1.09400E01 6.09000E00 3.09000E00 1.00000E00 -1.91500E01 -1.49000E01 -1.15000E01 -1.89800E01 -1.66700E01 -4.27000E00 -4.80000E-01 -1.57000E00 -3.16900E01 -4.77100E01 -3.51800E01 -2.82300E01 -3.40400E01 -3.00000E01 -5.28100E01 -6.02800E01 -3.19300E01 -1.36800E01 -3.38600E01 -2.06400E01 -2.70000E01 -4.65400E01 -6.16500E01 -5.91800E01 -2.05900E01 -3.98000E01 -5.35800E01 -5.57500E01 -2.79500E01 -2.22800E01 -2.04300E01 -3.15200E01 -5.19400E01 -5.39600E01 -6.90100E01 -7.24800E01 -7.30100E01 -1.01510E02 -7.58200E01 3.77100E01 1.86690E02 3.22080E02 2.51340E02 8.31700E01 2.07200E01 3.73200E01 7.64000E01 5.86200E01 2.32400E01 2.27500E01 4.12300E01 8.72500E01 1.19620E02 1.33890E02 1.39490E02 4.51500E01 -4.11300E01 -1.09020E02 -7.58900E01 1.33500E01 2.23500E01 -1.03800E01 -4.91000E01 -1.69600E01 1.52000E01 2.63500E01 1.98300E01 3.10000E00 -5.01400E01 -1.28970E02 -1.31110E02 -6.21900E01 -7.08000E00 5.74000E00 -4.05000E00 4.86000E00 2.60400E01 2.58500E01 4.76300E01 2.80400E01 -9.18000E00 -3.95400E01 -4.98000E01 -2.63300E01 -Frame 160 2.28900E01 9.76100E01 1.07550E02 6.77000E01 4.75600E01 6.87600E01 7.25600E01 4.74200E01 1.14700E01 -4.59000E00 -3.11300E01 -4.04500E01 -8.01000E00 5.14500E01 6.07100E01 3.62100E01 1.89300E01 -5.89000E00 -1.04600E01 -7.15000E00 -1.97200E01 -2.56500E01 -5.17300E01 -8.45600E01 -3.63200E01 1.54500E01 1.38100E01 2.91100E01 2.38600E01 -1.65700E01 -1.92300E01 3.05000E00 -1.09800E01 -6.43000E00 -2.73000E00 3.70900E01 8.61100E01 -1.43000E00 5.93300E01 1.33920E02 2.67000E01 -2.58500E01 1.40100E01 3.01000E01 3.67000E00 -5.70000E-01 1.40700E01 6.01600E01 4.66300E01 -1.83500E01 4.96900E01 7.58000E01 -5.13400E01 -3.33500E01 1.72400E01 -1.96100E01 -2.15700E01 -5.56000E00 -1.10400E01 2.53300E01 -5.19000E00 -4.96400E01 1.35900E01 1.37700E01 -3.70500E01 -4.40000E00 -2.97300E01 -5.38100E01 -5.58000E00 -1.18500E01 7.70000E00 -1.41500E01 -2.06600E01 3.86500E01 2.27600E01 -4.26400E01 -3.60200E01 7.88400E01 7.18000E00 -1.92700E02 5.84200E01 1.29250E02 -5.78500E01 -1.17680E02 1.24750E02 1.26560E02 -2.05690E02 -9.80200E01 2.00070E02 -1.28100E01 -1.69260E02 -3.23900E01 1.41740E02 -7.98800E01 -5.32800E01 -5.08100E01 -1.42200E01 1.27510E02 -1.33500E02 -1.84600E01 9.15000E00 -9.34000E01 3.49600E01 1.08250E02 -1.45300E02 -2.37560E02 3.24540E02 1.42710E02 -5.10880E02 1.33790E02 3.60260E02 -3.02610E02 -1.65700E02 9.95900E01 1.94980E02 -2.16870E02 -2.32260E02 1.47080E02 1.43000E02 -1.94350E02 -2.36960E02 2.04320E02 4.20400E01 -2.45310E02 -2.43300E01 2.88490E02 9.37000E01 -1.77210E02 4.56600E01 9.53700E01 4.75200E01 2.31400E01 -3.40200E01 5.70800E01 4.19400E01 -3.67100E01 2.42400E01 8.70500E01 8.97200E01 2.33900E01 -1.50100E01 2.64200E01 1.81100E01 1.53000E00 -1.15600E01 -3.04000E00 4.67500E01 -3.96000E00 -6.52300E01 1.96700E01 1.15180E02 -2.34600E01 -1.09360E02 1.19000E00 1.11600E01 -7.35700E01 -5.88500E01 -2.26200E01 2.87500E01 -3.03200E01 -Frame 160 -8.21900E01 3.41000E00 7.86500E01 -2.28600E01 -5.94900E01 2.28000E01 1.76100E01 -5.07600E01 -5.32000E01 -4.67000E00 1.41360E02 -6.12300E01 -1.43030E02 1.23770E02 1.45700E02 -1.35830E02 -6.29400E01 1.27260E02 4.92200E01 -1.68280E02 3.16500E01 1.16730E02 -6.66700E01 -6.16800E01 9.05200E01 -2.26600E01 -7.13200E01 4.55800E01 -2.19500E01 3.84500E01 5.66800E01 -1.27580E02 -6.42000E00 1.64490E02 -5.34700E01 -1.55120E02 1.69230E02 5.94500E01 -2.56780E02 7.24500E01 2.22790E02 -2.59430E02 4.68000E00 1.91950E02 -2.13170E02 1.06380E02 4.27100E01 -1.70970E02 1.67900E02 5.50900E01 -1.76260E02 -8.16000E01 3.63060E02 -2.18870E02 -1.75590E02 3.15190E02 -1.44150E02 -5.60000E-01 -1.35300E01 -4.98900E01 2.04670E02 -9.50900E01 -1.94030E02 3.27150E02 -2.29860E02 1.38120E02 2.23500E01 -3.86020E02 5.29340E02 -7.04900E01 -6.05800E02 6.32900E02 5.23100E01 -6.99280E02 6.86540E02 -1.78430E02 -2.83980E02 3.68470E02 -2.21250E02 9.00000E00 2.83600E01 -4.47100E01 3.20000E01 -1.69500E01 1.26000E01 -1.07950E02 4.68700E01 1.12430E02 -5.20900E01 -2.51650E02 1.78850E02 2.57490E02 -4.56680E02 1.23490E02 5.24800E01 2.31220E02 -4.41730E02 1.15920E02 1.02700E02 -1.90300E01 -7.51000E00 -1.92630E02 1.27700E02 2.12810E02 -2.60650E02 -2.05510E02 5.18520E02 -3.71550E02 -9.58000E01 3.87560E02 -2.60500E02 -2.95360E02 7.82970E02 -7.19090E02 4.80700E01 3.17900E02 5.87700E01 -6.10430E02 2.57240E02 5.00490E02 -7.19210E02 1.08040E02 3.91760E02 -1.38120E02 -5.89260E02 7.68190E02 -2.18110E02 -5.35710E02 5.19360E02 1.43560E02 -7.01000E02 3.92970E02 3.05390E02 -5.21190E02 -1.29850E02 6.71700E02 -4.86600E02 -2.65270E02 6.64140E02 -4.70340E02 3.53000E00 1.33040E02 -8.25800E01 -5.58000E01 6.28500E01 -1.47900E02 3.29600E01 1.19370E02 -1.08670E02 -7.86700E01 1.62320E02 -3.40000E00 -1.64250E02 1.70700E01 1.53970E02 -7.20500E01 -1.35000E02 1.62220E02 -9.53000E00 -7.75900E01 -Frame 160 5.53100E01 4.42600E01 -5.01800E01 4.85000E01 -3.68200E01 3.02500E01 -1.06400E01 5.21000E00 5.54000E00 -8.31300E01 1.48530E02 -4.07900E01 -1.89930E02 2.68490E02 -6.11700E01 -2.42970E02 3.03830E02 -9.67500E01 -1.78630E02 2.04120E02 -8.84900E01 1.99300E01 -2.07320E02 2.31590E02 2.78500E01 -3.98220E02 4.38900E02 -9.15100E01 -4.47240E02 6.26440E02 -3.74270E02 -4.15800E01 1.43430E02 7.40200E01 -2.33610E02 7.14600E01 1.98890E02 -3.16930E02 1.17590E02 6.34300E01 -7.44700E01 -1.69570E02 3.70540E02 -2.67000E02 -2.27010E02 5.83420E02 -3.40640E02 -2.37960E02 3.28110E02 1.22370E02 -4.76850E02 2.68840E02 1.51330E02 -3.61960E02 2.17210E02 9.90800E01 -2.65800E02 -4.72000E00 2.98430E02 -2.25330E02 -1.24080E02 2.87410E02 -1.49650E02 -3.50900E01 7.50400E01 8.85000E01 -3.79710E02 4.16950E02 -1.22150E02 -1.89810E02 1.24610E02 1.18630E02 -2.45650E02 1.15030E02 1.40750E02 -3.01870E02 1.54100E02 4.20200E01 -5.45700E01 2.99000E01 -2.79050E02 4.61700E02 -3.26080E02 -3.49200E01 1.69270E02 -9.03900E01 -2.00000E00 1.81200E01 -1.51600E01 7.55400E01 -2.66030E02 3.71080E02 -2.38460E02 -8.96300E01 1.80880E02 -7.42000E00 -2.17540E02 1.53040E02 8.19300E01 -2.05460E02 1.28450E02 -4.44400E01 3.13600E01 -1.54530E02 2.53970E02 -2.92140E02 2.13130E02 -1.24180E02 6.91900E01 -5.95300E01 1.78200E01 -3.46000E00 8.96000E01 -2.53550E02 2.60920E02 -2.48950E02 2.83640E02 -2.84570E02 3.89100E01 2.18350E02 -2.20870E02 -2.19470E02 6.34170E02 -6.71390E02 2.33300E02 1.54740E02 -2.24400E02 3.79400E01 4.03500E01 -9.21000E00 -1.38300E02 2.33740E02 -2.85940E02 2.09570E02 -1.23800E02 8.06300E01 -8.77000E01 2.48400E01 6.78300E01 -9.09200E01 -1.25000E01 -1.26500E01 1.17200E02 -2.36050E02 2.90990E02 -3.24950E02 2.27360E02 3.95300E01 -3.70150E02 2.95840E02 3.81400E01 -1.79570E02 -1.00850E02 4.38390E02 -5.14110E02 2.65410E02 -1.32200E01 -1.57460E02 1.53980E02 -5.91000E01 -Frame 160 -1.26720E02 3.14680E02 -4.27570E02 2.93620E02 -4.71700E01 -1.43460E02 -8.16000E01 3.80240E02 -4.18000E02 -5.40000E-01 4.43820E02 -4.33500E02 2.45000E00 3.26870E02 -2.31990E02 -1.94920E02 4.28470E02 -2.18270E02 -2.55810E02 5.33720E02 -3.91840E02 -1.57660E02 5.00900E02 -2.22650E02 -5.91370E02 1.01105E03 -5.68930E02 -2.33240E02 3.28040E02 3.03360E02 -6.15370E02 3.80600E01 6.66650E02 -4.89950E02 -3.56860E02 8.72670E02 -5.72600E02 -1.60030E02 5.23440E02 -2.95450E02 -2.28390E02 4.55950E02 -2.49980E02 -1.33510E02 3.15680E02 -1.22540E02 -2.95200E02 5.32070E02 -2.00580E02 -3.43700E02 4.86070E02 -1.60960E02 -1.45850E02 6.28600E01 2.69960E02 -4.57790E02 2.45380E02 1.60060E02 -3.22050E02 1.18230E02 1.25010E02 -7.31200E01 -2.18310E02 4.90210E02 -5.19820E02 2.59400E02 5.94700E01 -9.07000E01 -1.84300E01 -6.19100E01 3.33320E02 -3.47540E02 -2.13000E00 3.34960E02 -1.57840E02 -4.30730E02 8.36340E02 -4.60190E02 -5.22380E02 1.14799E03 -7.57060E02 -3.25310E02 1.00209E03 -4.99400E02 -6.35850E02 1.07607E03 -3.76080E02 -6.57780E02 1.03342E03 -5.66050E02 -1.40450E02 4.50440E02 6.01800E01 -9.18200E02 1.10302E03 -4.13290E02 -3.09100E02 5.45600E02 -4.33780E02 1.59960E02 3.18910E02 -5.77520E02 7.18700E01 8.54270E02 -1.09793E03 4.23530E02 3.57640E02 -2.16620E02 -7.28430E02 1.48461E03 -1.19030E03 1.02190E02 7.43550E02 -7.00950E02 5.75400E01 3.08430E02 1.39790E02 -7.91190E02 7.52780E02 -1.42100E01 -4.31900E02 5.09000E01 4.90580E02 -5.08600E02 6.58000E01 4.75900E02 -8.29760E02 6.86980E02 2.19980E02 -1.22766E03 1.17808E03 -1.79890E02 -5.79680E02 5.02710E02 6.51000E01 -4.17100E02 4.82180E02 -2.60180E02 -2.28250E02 7.34880E02 -5.93890E02 -4.27190E02 1.50606E03 -1.49731E03 2.83850E02 8.05820E02 -5.58820E02 -4.19130E02 8.42270E02 -3.91110E02 -3.45260E02 9.02330E02 -1.25134E03 1.16356E03 -4.58950E02 -2.26200E02 1.78960E02 5.25480E02 -9.50770E02 5.68220E02 -Frame 160 2.76650E02 -6.98190E02 3.23480E02 2.91440E02 -4.07860E02 -3.01400E02 1.21763E03 -1.40250E03 5.12660E02 8.87560E02 -1.54277E03 7.95190E02 5.75700E02 -7.91110E02 -6.28440E02 1.80084E03 -1.07544E03 -6.18650E02 1.13684E03 1.64550E02 -1.58095E03 1.45805E03 -1.66340E02 -8.86800E02 7.50290E02 3.79300E02 -1.40151E03 1.12292E03 4.12360E02 -1.49155E03 9.51060E02 5.23310E02 -1.06415E03 1.25300E02 9.76410E02 -9.92070E02 3.05100E01 8.62680E02 -7.07220E02 -2.79000E02 8.82720E02 -2.87460E02 -9.22550E02 1.25958E03 -4.43990E02 -4.73820E02 7.93870E02 -6.24980E02 2.19880E02 3.29660E02 -4.38470E02 -2.98940E02 1.11718E03 -9.95950E02 1.40510E02 3.34980E02 -1.38500E01 -5.02450E02 8.17310E02 -9.34880E02 5.61620E02 3.85870E02 -1.10167E03 7.47820E02 3.06800E02 -7.91140E02 3.06710E02 4.74220E02 -8.44530E02 5.25730E02 3.74870E02 -1.03000E03 4.57650E02 9.72870E02 -1.57088E03 6.26180E02 7.98590E02 -1.03641E03 3.28200E01 9.68080E02 -8.35640E02 -1.99350E02 9.85800E02 -5.39320E02 -7.42090E02 1.52256E03 -1.04418E03 -2.15310E02 1.10439E03 -9.23130E02 4.15200E01 6.75960E02 -6.55610E02 6.82600E01 5.41450E02 -5.48230E02 -1.11090E02 7.92670E02 -6.90360E02 -8.60000E00 5.27250E02 -3.11820E02 -2.66540E02 7.06390E02 -7.14250E02 2.92850E02 3.02820E02 -4.42180E02 -3.80000E00 5.17140E02 -3.99290E02 -2.00680E02 6.02260E02 -4.83530E02 2.35560E02 1.96700E01 -2.95910E02 3.48030E02 1.15560E02 -7.40200E02 7.25270E02 -9.06200E01 -3.56650E02 4.51430E02 -4.66920E02 3.53770E02 2.49510E02 -7.71200E02 2.18250E02 8.57090E02 -9.88110E02 3.04560E02 3.42920E02 -5.17850E02 4.72250E02 -2.69470E02 -8.38700E01 3.47550E02 -1.99010E02 -9.28000E00 -8.66700E01 4.58630E02 -5.28630E02 -2.92000E00 5.11050E02 -3.55560E02 -1.06300E01 7.98000E00 4.47160E02 -8.72490E02 7.99870E02 -2.44800E02 -3.30540E02 6.92380E02 -5.82710E02 -7.76800E01 9.07040E02 -1.17763E03 6.82340E02 2.54190E02 -Frame 160 -8.39430E02 6.21920E02 5.38800E01 -4.72770E02 3.85740E02 -8.35600E01 -1.19290E02 4.26990E02 -7.54230E02 7.45730E02 -1.60620E02 -3.30840E02 1.68990E02 2.57120E02 -1.87260E02 -4.39200E02 1.01448E03 -9.95830E02 5.73630E02 4.80900E01 -6.08740E02 7.45690E02 -3.13690E02 -1.62530E02 5.44600E01 4.85110E02 -6.59370E02 3.95380E02 -1.39620E02 3.25970E02 -6.82340E02 8.71810E02 -7.30790E02 3.67740E02 6.19000E01 -2.16450E02 1.48000E01 4.26190E02 -5.72090E02 6.03000E01 7.09190E02 -9.59510E02 5.66090E02 6.03400E01 -5.07100E02 7.62390E02 -6.89570E02 2.55220E02 1.81990E02 2.33300E01 -5.84250E02 6.61930E02 1.56030E02 -1.09965E03 1.14887E03 -3.46150E02 -4.39070E02 4.66550E02 2.82740E02 -9.02010E02 8.15450E02 1.39260E02 -1.36896E03 1.55446E03 -2.28170E02 -1.26470E03 1.35390E03 -1.96790E02 -5.07240E02 4.81900E01 7.66750E02 -8.58180E02 1.95450E02 5.71480E02 -8.23390E02 5.19380E02 6.11900E01 -3.04220E02 3.08360E02 -3.36400E02 3.43220E02 -7.54600E01 -1.98010E02 -3.41600E01 7.29790E02 -9.80310E02 2.64630E02 6.68820E02 -7.20110E02 1.56900E01 3.62230E02 1.56150E02 -9.87440E02 1.17953E03 -4.58590E02 -3.95930E02 7.42040E02 -4.32490E02 -6.09300E01 3.11180E02 -6.94900E01 -5.38860E02 1.11376E03 -9.13550E02 2.33100E01 4.65120E02 1.28160E02 -1.01433E03 1.29580E03 -7.52840E02 1.18800E01 2.54240E02 7.98600E01 -5.87980E02 7.42080E02 -4.63420E02 4.86240E02 -1.05018E03 1.25287E03 -3.98030E02 -8.18600E02 1.15159E03 -4.31370E02 -2.83870E02 3.13460E02 1.64970E02 -6.03260E02 5.88320E02 -1.18800E02 -3.88670E02 5.44480E02 -5.60200E01 -4.30030E02 3.37800E02 2.21060E02 -5.01490E02 2.13090E02 2.84570E02 -4.50000E02 1.45140E02 4.02550E02 -6.80450E02 5.39700E02 -1.90920E02 -2.09950E02 4.05630E02 -2.35130E02 7.85200E01 -3.27200E02 9.13840E02 -1.07859E03 3.99380E02 2.12680E02 7.80100E01 -6.76890E02 7.37500E02 -2.10060E02 -1.92720E02 1.13400E01 6.66700E02 -Frame 160 -1.05729E03 5.31400E02 6.24720E02 -1.44665E03 1.05828E03 3.79680E02 -1.55825E03 1.43235E03 -4.10910E02 -3.15780E02 2.78590E02 1.08080E02 -4.39800E02 4.42790E02 1.51260E02 -8.68420E02 7.41180E02 6.48600E01 -4.23430E02 1.03580E02 1.20790E02 3.13420E02 -7.69280E02 3.85260E02 5.44140E02 -1.15857E03 1.08215E03 -5.30850E02 -4.62300E01 1.74420E02 2.86730E02 -6.54750E02 1.92270E02 6.17300E02 -5.74100E02 -3.19800E02 6.41660E02 3.23250E02 -1.37230E03 1.15700E03 -9.57000E00 -5.39200E02 3.73000E01 3.16590E02 6.82200E01 -5.09890E02 7.88600E02 -9.25490E02 5.84280E02 1.21190E02 -4.40330E02 -2.59800E02 1.13855E03 -8.94920E02 -1.94430E02 8.62900E02 -7.29880E02 2.43770E02 1.73300E02 -2.11510E02 7.59800E01 2.82900E01 1.02100E02 -4.76900E02 6.93640E02 -6.00270E02 1.77370E02 3.95890E02 -4.32200E02 -3.53490E02 1.12298E03 -9.23940E02 -5.42900E01 7.65300E02 -7.45480E02 2.62720E02 3.73850E02 -6.71930E02 2.91580E02 1.09610E02 1.87910E02 -8.23540E02 6.22500E02 6.95670E02 -1.59454E03 9.70920E02 3.21800E02 -9.31690E02 7.92930E02 -6.20860E02 6.32210E02 -5.57560E02 3.74400E02 -3.80170E02 5.24280E02 -5.00790E02 2.08910E02 3.53600E01 1.19410E02 -4.10050E02 5.69500E02 -6.69190E02 6.91440E02 -2.64500E02 -4.45750E02 7.23810E02 -4.99140E02 4.42560E02 -5.06030E02 1.60520E02 1.31530E02 2.98520E02 -8.46600E02 5.46660E02 3.36490E02 -5.83490E02 1.64630E02 1.73730E02 -3.02050E02 2.70740E02 1.39900E01 -3.66710E02 3.36160E02 6.94500E01 -2.78570E02 -1.64090E02 6.10080E02 -4.11380E02 -8.20400E01 1.37560E02 3.00820E02 -4.79150E02 2.17210E02 1.98900E02 -8.71600E01 -4.30980E02 4.68970E02 2.31310E02 -1.04091E03 1.18750E03 -4.93290E02 -2.37590E02 2.86240E02 2.00000E02 -4.95090E02 2.31790E02 2.62930E02 -2.62210E02 -4.94340E02 1.17081E03 -9.20640E02 1.33100E02 2.57300E02 -8.39000E01 8.43000E00 -3.09390E02 4.47250E02 -3.92130E02 4.75900E02 -5.68670E02 -Frame 160 3.82990E02 -1.28280E02 1.22760E02 -9.65500E01 -8.05500E01 1.39020E02 1.72250E02 -4.01650E02 1.97080E02 2.08140E02 -4.89650E02 7.62440E02 -8.52460E02 3.30500E02 4.77730E02 -8.22930E02 6.42960E02 -4.24420E02 3.92590E02 -5.82500E02 7.50800E02 -6.06370E02 2.80060E02 -2.26360E02 6.91770E02 -1.07735E03 7.85830E02 -2.20110E02 2.60050E02 -7.52180E02 8.20990E02 -5.89600E01 -1.00906E03 1.35740E03 -5.73230E02 -6.90020E02 1.27122E03 -7.29080E02 -1.12550E02 2.07150E02 5.14540E02 -8.13040E02 6.70900E01 6.74370E02 -3.56200E02 -5.70300E02 7.12510E02 3.13320E02 -1.30750E03 8.16780E02 4.93980E02 -1.05726E03 3.18520E02 7.15540E02 -7.70830E02 -6.34400E01 5.01880E02 8.42100E01 -9.33450E02 8.62290E02 2.74750E02 -1.37421E03 1.43712E03 -7.90960E02 2.63800E02 -2.30070E02 5.77000E02 -9.31510E02 9.62200E02 -3.50430E02 -6.51320E02 1.16209E03 -9.20510E02 4.51350E02 -1.21790E02 -1.97540E02 3.79550E02 -2.71870E02 1.08200E01 1.45240E02 -1.76320E02 3.57340E02 -7.43830E02 7.96640E02 -3.63000E02 -4.70160E02 1.03680E03 -6.84610E02 -2.03610E02 4.08450E02 3.75050E02 -1.25273E03 1.22532E03 -5.36150E02 8.41000E00 1.48800E02 -4.45610E02 6.50010E02 -3.88100E02 -6.95000E00 1.70990E02 -1.87300E01 -4.31300E02 7.77770E02 -9.29500E02 9.26300E02 -8.61380E02 7.22460E02 -5.79400E02 2.55020E02 1.85000E02 -2.88360E02 -2.25090E02 5.98340E02 -6.43300E01 -8.03430E02 4.94360E02 8.59810E02 -1.83024E03 1.51623E03 -4.81240E02 -4.10030E02 6.00760E02 -2.91760E02 -1.40610E02 5.03400E01 2.77140E02 -5.93100E01 -6.86110E02 8.78340E02 -2.03660E02 -6.32930E02 9.41110E02 -3.59060E02 -4.76100E02 4.29680E02 2.39060E02 -6.92680E02 3.94410E02 3.97400E01 1.43060E02 -3.88560E02 5.07400E01 3.31570E02 -4.34230E02 1.65690E02 1.64000E02 -3.23900E02 1.87410E02 2.07350E02 -3.99290E02 4.96800E01 3.43480E02 -2.93960E02 -7.28400E01 1.70180E02 3.05500E01 -3.82430E02 5.77170E02 -5.04100E02 -Frame 160 3.54660E02 -3.55360E02 4.82990E02 -3.98190E02 -3.35250E02 1.13294E03 -9.47530E02 -2.87450E02 1.28530E03 -1.03352E03 -8.08000E00 4.09070E02 -2.12700E01 -1.94900E02 -1.93720E02 7.19670E02 -8.25370E02 4.45580E02 -1.45900E01 -1.24980E02 -6.36700E01 2.97590E02 -1.99260E02 -3.09290E02 7.58560E02 -9.33280E02 7.68430E02 -5.78960E02 5.80520E02 -6.06690E02 4.40950E02 1.45700E01 -4.67010E02 5.04950E02 -4.45100E01 -4.70920E02 4.03920E02 7.24300E01 -5.17380E02 6.67050E02 -3.48520E02 -1.18170E02 1.34410E02 1.15670E02 -1.90760E02 1.45100E01 1.01100E01 2.36560E02 -2.80210E02 -2.60700E02 7.58650E02 -6.53190E02 2.44920E02 -1.84300E01 1.22090E02 -2.17160E02 2.33000E01 7.71700E01 1.44630E02 -6.24960E02 7.46230E02 -2.13880E02 -3.61480E02 7.25690E02 -7.31200E02 2.85400E01 9.32740E02 -1.00297E03 -1.26000E01 5.97400E02 1.18700E02 -8.90910E02 5.53090E02 2.91220E02 -4.76020E02 -8.15400E01 3.92210E02 -1.28760E02 -3.69720E02 5.50210E02 -5.39300E01 -5.61700E02 3.59350E02 3.40540E02 -5.67170E02 1.40580E02 3.13080E02 -1.85380E02 -2.35080E02 1.44900E02 2.99490E02 -5.08420E02 2.68160E02 1.82500E02 -3.48980E02 4.68430E02 -5.93320E02 1.86650E02 4.29560E02 -5.84420E02 8.07900E01 1.43490E02 3.82990E02 -7.64460E02 2.27320E02 7.53550E02 -1.05965E03 3.65070E02 2.63500E02 -1.85460E02 -2.06130E02 2.61750E02 2.68500E01 -2.41340E02 2.82400E02 -2.74930E02 1.56760E02 1.34650E02 -4.73270E02 5.82450E02 -5.26730E02 1.68280E02 2.43620E02 -2.48940E02 -1.01500E02 3.09590E02 -1.01900E02 -2.67020E02 3.49000E02 -2.72600E01 -3.44130E02 1.53520E02 4.83410E02 -6.77950E02 1.96410E02 2.47620E02 -3.24820E02 3.17340E02 -3.59940E02 5.61700E01 4.40090E02 -6.15530E02 1.93780E02 4.78930E02 -5.68550E02 -4.08900E01 5.80120E02 -5.46210E02 2.11400E01 4.04010E02 -1.77660E02 -2.87150E02 5.61240E02 -4.87660E02 1.32460E02 -5.23700E01 1.47130E02 -6.63400E01 -1.74350E02 1.13460E02 -Frame 160 2.68060E02 -5.33810E02 1.98020E02 3.40290E02 -3.10360E02 -2.81840E02 4.55820E02 -2.11400E01 -4.36830E02 3.66030E02 1.12370E02 -2.69240E02 -8.84000E01 3.65110E02 -2.78700E02 7.84000E00 8.72300E01 3.09900E01 -1.92020E02 2.79250E02 -1.38170E02 -1.75370E02 3.36440E02 -8.32400E01 -3.52820E02 3.97590E02 -5.17000E00 -4.09380E02 3.42290E02 6.08800E01 -2.30290E02 1.17750E02 2.24400E01 -1.98400E01 -6.41000E00 -7.25600E01 2.73100E01 1.24000E00 9.93600E01 -1.89580E02 1.40720E02 8.10000E00 -6.86300E01 -6.46700E01 1.11470E02 2.59500E01 -1.25240E02 -3.89900E01 8.49600E01 3.56600E01 1.18000E01 -4.78100E01 -1.28220E02 2.92000E02 -1.08060E02 -2.74390E02 2.39390E02 2.39830E02 -3.78940E02 -1.87490E02 5.02050E02 -8.15600E01 -2.73140E02 1.31610E02 1.20750E02 5.84400E01 -3.12850E02 -3.03300E01 3.02950E02 9.12500E01 -3.99080E02 3.28000E01 3.91000E02 -2.45090E02 -1.83620E02 2.08920E02 -1.03600E02 1.40310E02 -1.69370E02 -7.24700E01 1.91490E02 2.14300E01 -1.87910E02 -3.45500E01 2.44580E02 -2.23890E02 -6.86400E01 2.01470E02 -1.30260E02 7.58700E01 -7.57000E01 -7.38900E01 2.84040E02 -2.47230E02 -2.55700E02 5.15800E02 -1.05330E02 -3.72570E02 2.14270E02 1.61050E02 -1.58970E02 -1.26740E02 2.00600E02 4.88700E01 -1.76600E02 -3.58800E01 -7.80000E-01 2.37400E02 -1.79280E02 -2.36800E01 2.75000E00 1.56990E02 -1.43150E02 -2.65440E02 3.13730E02 8.35100E01 -3.73910E02 3.38700E01 2.96220E02 -2.14600E02 -1.30200E01 8.98000E01 -1.18290E02 1.08290E02 -2.62300E01 -3.88890E02 3.73590E02 2.75290E02 -5.88310E02 4.49300E01 3.67700E02 -1.78900E02 -3.36240E02 1.61860E02 1.92200E02 -1.07710E02 -1.48800E02 1.19700E01 1.23690E02 2.57400E01 -2.02270E02 -4.15000E00 2.21090E02 -6.89200E01 -2.65840E02 1.49390E02 2.14310E02 -1.60970E02 2.02900E01 5.21300E01 2.39000E01 4.27700E01 -1.42820E02 5.89800E01 2.29960E02 -1.18990E02 -9.56200E01 8.95600E01 8.03800E01 -7.41600E01 -Frame 160 -6.74100E01 1.04610E02 1.07850E02 -1.42910E02 -1.05290E02 2.01590E02 3.77000E00 -1.42170E02 6.45100E01 4.85200E01 -3.00100E01 -7.79400E01 1.17200E01 8.91400E01 1.58700E01 -1.14680E02 -8.16000E00 8.66600E01 -6.70000E-01 -1.01700E02 -3.76000E00 1.61210E02 -5.98700E01 -1.20730E02 9.86400E01 2.37000E01 9.42000E00 -3.23100E01 -3.63000E01 1.63620E02 -2.74300E01 -1.64360E02 1.40630E02 8.79200E01 -1.28500E02 -1.94900E01 1.88910E02 -2.04200E01 -1.58200E02 1.59910E02 5.17100E01 -1.14880E02 -1.65100E01 2.43920E02 -1.52820E02 -2.06800E01 5.95700E01 1.52500E01 -9.45000E00 2.81000E01 -6.21000E00 -4.55700E01 1.34900E02 -2.71700E01 -9.92200E01 8.46000E01 1.43030E02 -1.61860E02 -3.20200E01 7.78700E01 5.10900E01 -3.95600E01 -4.79700E01 7.14100E01 5.64200E01 -9.80800E01 1.17400E01 9.99500E01 -1.08200E02 9.83200E01 4.01400E01 -1.31870E02 8.19300E01 7.12700E01 -1.78000E00 2.92000E00 -3.72300E01 -4.65800E01 3.68300E01 1.30790E02 -1.51460E02 9.71000E00 1.09860E02 -2.19900E01 -1.29890E02 -7.00000E00 1.43700E02 -1.30700E01 -7.86700E01 -2.72200E01 -1.50000E-01 5.37600E01 1.29000E00 -7.28000E01 2.78900E01 8.56700E01 -1.09840E02 -1.04290E02 1.33530E02 -1.42000E00 -4.95400E01 -1.37100E02 9.37600E01 -1.33300E01 1.62800E01 -4.32100E01 -3.25000E01 2.05700E01 -1.80740E02 -3.51100E01 4.20500E01 5.85500E01 -7.65000E01 -1.11660E02 5.21900E01 -5.19500E01 -6.32700E01 -1.68890E02 4.43700E01 5.51700E01 -1.75760E02 -1.90680E02 -3.99000E01 1.18560E02 -4.52100E01 5.19800E01 1.09110E02 8.78900E01 1.25920E02 -1.25000E02 1.22430E02 6.83900E01 -7.03900E01 9.26000E01 5.85400E01 9.33700E01 1.28190E02 5.69700E01 -7.95000E01 8.88900E01 3.04100E01 -1.19900E02 -3.17400E01 1.01180E02 -6.88000E00 -5.02700E01 1.80500E01 3.94700E01 3.75200E01 -1.03520E02 -8.28200E01 8.60000E00 -9.61600E01 -1.11070E02 2.66600E01 1.36200E01 -1.58400E01 -1.82000E01 -1.36200E01 -1.48900E01 -Frame 160 -3.61900E01 -9.71200E01 2.51500E01 2.11700E01 -2.09600E01 1.62000E00 4.58900E01 5.14800E01 7.11900E01 -4.25600E01 -1.57900E01 6.98200E01 -2.79900E01 -2.58000E01 7.94800E01 6.69400E01 4.59500E01 4.27000E00 6.30000E00 3.23900E01 -6.74000E00 1.79300E01 1.33500E01 -5.93800E01 2.37000E01 5.93300E01 -8.99000E00 1.59000E00 1.05000E01 -3.63200E01 -3.75500E01 -4.07800E01 2.39300E01 -2.23800E01 9.00000E-01 5.19000E01 -6.45700E01 -2.95800E01 5.95200E01 -2.86800E01 -4.25800E01 1.81300E01 2.57000E01 -1.05200E01 -3.98500E01 7.69500E01 2.22900E01 -3.30800E01 3.48700E01 1.38900E01 5.25000E00 -1.66000E00 1.02200E01 2.84600E01 6.12400E01 -5.02000E00 6.68000E00 1.47400E01 -3.96000E00 1.57700E01 6.51000E01 2.39000E01 1.14100E01 3.35300E01 8.31000E00 1.13100E01 4.24000E01 4.74200E01 2.55600E01 -3.99000E00 3.05600E01 -7.84000E00 1.59000E00 1.73200E01 5.05300E01 2.67300E01 -2.28200E01 -4.87000E00 1.26500E01 -1.72900E01 2.28700E01 3.62600E01 2.70400E01 -5.48000E00 -1.69900E01 1.91700E01 5.14400E01 4.26700E01 -8.40000E00 9.70000E-01 -1.13600E01 1.89500E01 2.41900E01 2.85800E01 1.90900E01 7.30000E00 -2.68500E01 -3.02000E00 4.55600E01 -8.39000E00 2.50100E01 -9.57000E00 -3.12000E01 -1.14600E01 -7.09000E00 -1.45700E01 3.77400E01 2.06400E01 -7.30000E01 -1.54600E01 -2.11200E01 -1.39300E01 -5.50000E00 -5.80000E00 -1.71000E01 -3.47300E01 -6.87000E00 -2.61400E01 -1.29800E01 -1.54000E01 -6.48800E01 -4.83000E00 -3.89200E01 -5.80300E01 -9.68000E00 -2.58300E01 -6.84600E01 -4.53500E01 -6.64900E01 -8.62300E01 -5.65100E01 -3.78300E01 -5.05500E01 -1.34630E02 -1.02200E02 -4.69000E00 -1.81800E01 -3.10900E01 8.06100E01 1.12670E02 7.96000E01 1.42420E02 1.39040E02 1.42420E02 1.33770E02 2.57300E01 3.03300E01 5.40500E01 7.64600E01 1.80500E02 1.70600E02 3.82500E01 -1.21000E00 1.41300E01 -4.30500E01 -3.69400E01 -3.85900E01 4.17600E01 -5.64300E01 -1.02590E02 -Frame 160 -1.50700E01 8.18000E00 -1.58500E01 -2.60000E00 -9.59300E01 -1.65050E02 -6.61500E01 -6.61300E01 -3.30500E01 5.00800E01 -1.52700E01 -1.96300E01 -1.81100E01 -8.25300E01 -1.78700E01 1.11800E02 2.73700E01 -1.47000E01 2.69400E01 1.38400E01 7.13200E01 8.15100E01 6.69400E01 8.58600E01 3.92900E01 -7.50000E-01 1.59800E01 4.42200E01 8.83000E01 1.05670E02 1.64900E01 -5.14500E01 2.95700E01 -1.49200E01 8.24000E00 1.21200E01 -1.28800E01 -3.16300E01 -2.99200E01 -6.21200E01 -2.52500E01 1.27900E01 -2.30000E01 -2.28700E01 -4.47100E01 -9.91800E01 -7.24000E00 4.55500E01 -4.30700E01 3.86100E01 3.47800E01 -4.22000E01 8.48000E00 1.87200E01 7.26000E00 7.44400E01 2.56300E01 -2.27100E01 5.04800E01 4.78900E01 3.01800E01 6.89000E01 2.47600E01 3.52400E01 1.90200E01 -8.71000E00 4.87200E01 7.28900E01 2.57500E01 7.41400E01 2.29700E01 -4.07900E01 3.45300E01 1.37160E02 5.88500E01 -7.19200E01 9.35000E00 1.41400E01 2.60800E01 9.63800E01 2.47800E01 -1.30400E01 -1.50000E01 -9.89900E01 -2.34700E01 6.84200E01 3.51000E01 6.57300E01 -1.87400E01 -6.47900E01 -1.01900E01 3.31200E01 6.27500E01 3.92500E01 -2.40000E01 3.48300E01 -2.35400E01 6.32000E00 1.18110E02 3.42600E01 1.48000E01 4.17400E01 -6.35100E01 -6.69400E01 2.06000E01 2.58400E01 1.52300E01 -3.47100E01 -8.01500E01 -1.59100E01 -1.46600E01 -4.43500E01 1.80900E01 -1.35500E01 -7.41500E01 -4.85500E01 -7.21100E01 -1.43300E01 1.22500E01 -7.36000E00 -4.75700E01 -6.59800E01 -6.79000E01 -6.28200E01 -2.15300E01 -2.29500E01 -7.84000E01 -6.95000E01 -8.82700E01 -9.25500E01 -2.48900E01 -4.71300E01 -6.70300E01 -4.45000E01 -1.48250E02 -1.63090E02 -6.22600E01 -4.82800E01 6.71500E01 2.00060E02 8.98700E01 8.71700E01 9.22900E01 1.24470E02 2.99520E02 2.52700E02 9.02000E01 -9.40000E00 -4.90600E01 8.31100E01 2.19300E02 1.69510E02 1.45040E02 5.07000E01 -9.05800E01 -4.71200E01 -1.12250E02 -1.22270E02 4.75300E01 -4.64500E01 -Frame 160 -1.10280E02 -8.09700E01 -9.96700E01 1.81500E01 6.46000E01 -8.45700E01 -1.29270E02 -1.82230E02 -1.58660E02 -2.62200E01 1.93300E01 2.92600E01 8.44600E01 6.32800E01 -7.36200E01 -2.76900E01 -2.32000E00 1.98300E01 1.04640E02 5.99700E01 -3.14000E00 4.88000E01 1.05300E02 1.41450E02 1.22590E02 4.20400E01 4.29700E01 -4.10000E00 -1.06100E01 1.67000E01 8.38500E01 6.90100E01 5.66600E01 -6.11000E00 -8.18000E01 -3.77400E01 -3.32700E01 -3.86200E01 6.91000E00 -7.01500E01 -1.13520E02 -3.51200E01 -4.82600E01 -6.76000E00 -1.59700E01 -3.44500E01 -4.74700E01 -6.28500E01 -3.76500E01 -1.76400E01 6.70000E01 2.91900E01 4.11800E01 2.35000E01 -1.27500E01 1.68900E01 4.44300E01 4.77800E01 7.41900E01 4.43500E01 -8.45000E00 6.31300E01 3.08700E01 4.65900E01 5.47600E01 -3.86000E00 1.37200E01 2.18400E01 -3.08000E01 -5.03000E00 2.35500E01 2.00000E00 -1.22100E01 5.16000E00 -6.29300E01 -9.06000E00 1.87490E02 9.69500E01 -5.04700E01 -6.63900E01 -4.57300E01 1.96200E01 1.02980E02 8.48300E01 1.06050E02 7.48400E01 -4.43900E01 -7.25000E00 -2.29400E01 -5.00800E01 4.20000E01 9.29000E01 7.30000E00 -2.79400E01 1.37700E01 9.57700E01 3.82300E01 -4.31100E01 -2.09100E01 -3.99900E01 -8.06100E01 6.76000E01 4.63400E01 6.23900E01 1.03890E02 -2.14100E01 -9.55500E01 -9.38800E01 -1.27060E02 2.38600E01 2.04300E01 -2.71200E01 3.89000E00 -7.14000E00 -5.45000E01 -3.92700E01 -3.65300E01 -4.86700E01 -5.71400E01 -8.28200E01 -2.52200E01 8.18000E00 -2.34000E01 5.50600E01 -2.11000E00 -7.90500E01 -8.63000E01 -1.04700E02 -8.55800E01 -3.88000E01 -4.25500E01 -4.33900E01 -7.32300E01 -7.89400E01 -9.87700E01 -1.04140E02 -1.03600E02 -6.89700E01 -1.52230E02 -1.53950E02 -9.66100E01 1.15600E01 1.76030E02 2.32390E02 1.82250E02 6.63700E01 7.48300E01 1.48470E02 2.43240E02 2.00710E02 2.16800E01 -2.49000E01 4.11100E01 1.60130E02 1.88690E02 1.58970E02 3.12000E01 -6.65300E01 -4.62000E01 -1.49180E02 -Frame 160 -1.46190E02 -9.79600E01 -3.61400E01 6.30000E-01 -2.94600E01 -5.24500E01 -1.13100E02 -5.25200E01 -2.10200E01 -8.95300E01 -1.46080E02 -1.73250E02 -1.11110E02 1.80400E01 8.71500E01 6.93000E01 4.18200E01 3.44000E00 -4.31400E01 -3.11300E01 2.27000E00 1.66900E01 8.55300E01 8.64100E01 7.32300E01 8.15700E01 5.50900E01 7.17400E01 9.48400E01 4.65700E01 9.77000E00 -1.41700E01 4.17000E00 -9.20000E-01 5.88400E01 5.04000E01 -1.43400E01 -2.50600E01 -7.20800E01 -8.94800E01 -2.23300E01 -7.00800E01 -6.72400E01 -5.12500E01 -4.87200E01 -8.00700E01 -1.23200E01 -1.34700E01 -6.96500E01 -6.51000E00 -3.94200E01 -7.23200E01 -2.18000E00 -3.88000E00 2.63600E01 5.05000E01 3.33300E01 8.59000E00 2.70700E01 1.10900E01 3.76000E01 3.08900E01 3.59400E01 3.91100E01 4.63400E01 1.87500E01 3.22900E01 2.42200E01 -2.01200E01 5.19000E00 1.52800E01 -3.33300E01 -2.04100E01 1.59300E01 -2.06200E01 -1.92800E01 -2.28800E01 -4.35700E01 -4.68600E01 1.07900E01 -7.37900E01 3.20800E01 -4.98100E01 8.10000E-01 -2.10100E01 7.65100E01 9.89700E01 2.69030E02 1.77100E02 9.17000E00 -1.05950E02 -1.77520E02 -2.71300E01 5.39400E01 1.35470E02 1.71400E02 2.92900E01 -6.23000E00 6.01700E01 -4.14200E01 -1.56100E02 -1.54170E02 -6.50300E01 2.93000E00 1.08990E02 1.18230E02 7.36500E01 3.36300E01 -8.46500E01 -8.55000E01 -9.12900E01 -9.21700E01 -8.99000E00 8.67700E01 7.54100E01 2.56300E01 -6.67100E01 -8.78400E01 -4.45400E01 -5.28600E01 -3.23900E01 2.74000E00 -8.70500E01 -4.55400E01 4.92900E01 -1.70000E01 1.86700E01 -6.58000E00 -5.86100E01 -3.32000E01 -1.99800E01 -7.83400E01 -3.34400E01 -1.01300E01 -6.31000E01 1.63400E01 -1.87900E01 -9.40000E01 -7.14600E01 -1.07170E02 -1.26900E02 -1.26140E02 -1.45260E02 -8.18600E01 -4.64500E01 -6.49300E01 -6.49500E01 -1.20940E02 -1.68580E02 -1.00570E02 2.66000E01 1.31640E02 2.17770E02 1.94330E02 1.52960E02 1.64150E02 1.86520E02 1.80400E02 1.19920E02 -6.54000E00 -Frame 160 -1.29000E01 5.45600E01 1.56060E02 1.74560E02 1.14480E02 4.45000E00 -2.59700E01 -3.52900E01 -8.18500E01 -1.46760E02 -1.65530E02 -1.48720E02 -2.02500E01 1.62100E01 1.77800E01 -3.46200E01 -5.76100E01 -8.82600E01 -1.05780E02 -1.14750E02 -1.54900E02 -8.11600E01 -2.00800E01 2.78900E01 1.02300E02 1.19000E01 5.68000E00 3.92500E01 1.38100E01 2.35600E01 2.45800E01 -1.54000E01 3.83900E01 7.38000E01 1.26230E02 1.14160E02 8.96100E01 5.22200E01 5.16300E01 3.89800E01 -2.70900E01 -4.17000E00 -2.75300E01 -2.15800E01 3.05800E01 8.33000E00 -1.61000E00 -1.08500E01 -5.03600E01 -5.40400E01 -6.17800E01 -1.05700E02 -8.58800E01 -5.53700E01 -4.58700E01 -4.00000E-02 -1.98000E01 -4.01600E01 -1.01200E01 -2.11500E01 -2.95100E01 1.18900E01 -1.94500E01 -6.75000E00 2.33400E01 3.23300E01 4.75600E01 6.12100E01 1.22200E01 3.77000E01 4.59300E01 2.03700E01 2.70000E01 1.28100E01 1.11700E01 2.84700E01 4.02800E01 2.54200E01 -1.89200E01 2.63900E01 -6.92000E00 -3.42500E01 4.61000E00 -3.03300E01 -5.23200E01 -1.59400E01 -2.74200E01 -1.72300E01 -2.97100E01 -7.55000E00 -2.47000E01 -2.73600E01 6.92000E00 1.00250E02 2.15370E02 1.97850E02 6.06100E01 -4.29200E01 -1.34600E02 -1.08980E02 -4.24600E01 9.11600E01 1.53830E02 1.07300E02 9.42400E01 5.17000E01 -5.11900E01 -1.57200E02 -1.44330E02 -7.69200E01 -4.35000E00 8.64700E01 9.40200E01 9.77200E01 5.14500E01 -2.02900E01 -4.12200E01 -3.17500E01 -6.79500E01 -4.12000E01 -5.58000E00 -5.85000E00 -4.91200E01 -4.16800E01 -1.49700E01 1.65800E01 2.50900E01 7.84000E00 -1.49500E01 -9.04300E01 -1.03160E02 -9.11900E01 -5.57700E01 -4.21000E00 1.59400E01 6.76900E01 6.99700E01 2.50000E-01 -4.16300E01 -9.07700E01 -1.21350E02 -1.23770E02 -2.21600E01 -1.84000E01 2.24800E01 2.45900E01 -4.12700E01 -7.81400E01 -1.46090E02 -1.70020E02 -1.21550E02 -1.14490E02 -7.51300E01 -5.65100E01 -6.32900E01 -1.27250E02 -1.49100E02 -1.23520E02 -4.70700E01 5.87500E01 -Frame 160 1.57750E02 2.20630E02 2.19220E02 1.60540E02 1.61880E02 1.75100E02 1.69560E02 7.76900E01 3.49100E01 2.47800E01 2.13200E01 7.47400E01 1.11750E02 8.38100E01 8.89400E01 -2.84000E00 -5.24400E01 -9.55100E01 -1.67810E02 -1.83180E02 -1.31850E02 -8.68100E01 -4.63000E01 7.50000E00 3.19500E01 7.12000E00 -3.94900E01 -9.85100E01 -1.40270E02 -1.42200E02 -9.60700E01 -1.84400E01 -7.41000E00 4.59500E01 4.59000E01 5.77900E01 7.59800E01 4.46500E01 4.23000E01 9.83000E00 2.13400E01 2.51800E01 2.51100E01 5.60100E01 4.88100E01 7.23400E01 9.35300E01 1.02290E02 7.42300E01 3.02400E01 8.87000E00 -5.11600E01 -8.89900E01 -6.19000E01 -5.99100E01 -2.78000E01 -9.67000E00 -2.97000E00 2.94000E00 -3.99700E01 -6.51700E01 -8.20900E01 -9.24600E01 -7.00700E01 -6.59300E01 -2.06100E01 8.12000E00 -8.28000E00 1.81000E00 1.22000E01 1.88900E01 8.76000E00 1.13000E01 2.39000E01 1.48600E01 1.35200E01 2.11200E01 3.99300E01 4.32800E01 3.86900E01 3.79200E01 5.90900E01 5.18600E01 1.83600E01 2.08100E01 -1.36800E01 -2.52200E01 -1.90900E01 3.25000E00 4.28000E00 -5.66000E00 1.21000E01 -7.60000E00 -2.59000E01 -2.07400E01 -1.64000E01 -2.29100E01 -1.46000E01 -2.20200E01 3.03500E01 1.30310E02 1.30240E02 1.07050E02 7.90500E01 -3.38800E01 -5.72600E01 -5.83000E01 -2.03100E01 6.58800E01 8.86800E01 4.71100E01 9.12200E01 2.16200E01 -5.71400E01 -1.22700E01 -5.09900E01 -3.18500E01 2.92000E00 -1.23000E00 3.85000E01 7.04300E01 -1.37100E01 -4.30000E-01 4.12700E01 -3.17700E01 -3.03000E00 1.96100E01 -3.90600E01 -5.05000E01 -6.02400E01 -6.02200E01 -1.14000E00 2.77000E00 -9.20000E00 4.24700E01 1.77000E01 -4.68500E01 -3.33500E01 -7.34000E01 -7.16200E01 -3.87200E01 -2.07700E01 2.87500E01 3.37700E01 2.69100E01 -9.19000E00 -4.40000E00 -6.14600E01 -8.42300E01 -4.56300E01 -3.68000E01 -3.66700E01 -2.55100E01 -4.79900E01 -5.41300E01 -9.54200E01 -8.29100E01 -7.89500E01 -9.88100E01 -7.12100E01 -Frame 160 -9.17100E01 -9.07800E01 -9.07600E01 -1.16680E02 -1.22320E02 -1.08050E02 -6.52700E01 1.78600E01 1.42510E02 2.13850E02 2.49170E02 2.78330E02 2.55120E02 2.12950E02 1.71280E02 9.61700E01 -4.34000E00 -2.99400E01 -1.42900E01 1.38700E01 9.49000E01 1.43360E02 1.27200E02 8.64400E01 -4.64000E00 -1.08510E02 -1.75470E02 -1.99320E02 -1.90710E02 -1.58650E02 -6.84500E01 -2.34000E01 3.70600E01 5.03500E01 3.00000E01 -2.00100E01 -8.75500E01 -8.71000E01 -1.05560E02 -8.65000E01 -3.87800E01 -2.15600E01 1.42000E01 6.90400E01 7.65000E01 1.30110E02 1.25250E02 1.10120E02 6.14200E01 4.01600E01 8.21000E00 -4.37300E01 8.77000E00 2.18900E01 6.04000E01 9.30500E01 9.96300E01 1.01330E02 6.50000E01 1.25000E01 -4.36200E01 -7.94200E01 -1.10240E02 -1.00900E02 -7.11700E01 -4.34500E01 -1.88300E01 -1.34300E01 -3.85000E00 2.03000E00 -2.09100E01 -3.05400E01 -3.84400E01 -5.95500E01 -5.62600E01 -5.08200E01 -2.11700E01 -6.59000E00 2.84400E01 4.55200E01 7.60800E01 9.55100E01 6.54500E01 4.84000E01 2.87800E01 -9.47000E00 -2.78900E01 -5.85000E00 2.18800E01 1.84500E01 5.79000E01 7.95200E01 3.17400E01 5.24600E01 1.67800E01 -1.00100E01 -1.16100E01 -5.82400E01 -4.42500E01 -3.57800E01 -2.40100E01 -1.58500E01 5.58000E00 2.16700E01 3.12400E01 7.70800E01 7.82700E01 7.24300E01 5.93500E01 7.82000E00 -4.03000E01 -2.58600E01 -2.94000E00 3.37000E01 6.94500E01 7.42500E01 7.51400E01 5.50000E01 2.22000E01 -4.62000E00 -2.72500E01 -5.15400E01 -4.45200E01 -2.32300E01 1.37500E01 4.18700E01 3.68300E01 3.06100E01 6.18000E00 -2.80000E01 -1.22000E01 3.11000E00 -1.01000E01 1.53000E01 -6.52000E00 -3.20000E01 -4.62300E01 -3.88500E01 -2.02000E01 -1.49500E01 -6.52000E00 -2.82000E00 -2.00000E00 -1.91500E01 -1.98100E01 -5.44700E01 -5.01500E01 -5.06500E01 -2.91200E01 2.10000E00 1.52800E01 2.58500E01 -4.28000E00 -1.33400E01 -2.86700E01 -4.54500E01 -3.87100E01 -3.37300E01 -3.25700E01 -3.73500E01 -Frame 160 -5.82500E01 -6.27500E01 -7.53400E01 -9.52600E01 -8.67200E01 -7.28500E01 -9.15000E01 -6.66600E01 -7.80100E01 -9.36600E01 -9.47300E01 -1.21770E02 -1.51560E02 -9.71600E01 9.80000E-01 9.81200E01 2.00140E02 2.85100E02 3.34400E02 3.39900E02 2.79250E02 1.88470E02 8.87200E01 -3.81800E01 -1.01950E02 -8.45800E01 -2.05800E01 8.14300E01 1.62530E02 1.65000E02 1.26410E02 2.75300E01 -9.94100E01 -1.41160E02 -1.59050E02 -2.02330E02 -1.45750E02 -1.12280E02 -9.06700E01 -3.31000E00 5.75000E00 6.08000E00 6.54100E01 -1.44900E01 1.91500E01 -4.61900E01 -1.35100E01 -1.10810E02 -1.70200E01 -1.09320E02 -1.23800E01 1.56000E00 1.39920E02 1.42420E02 1.90860E02 1.48620E02 1.11940E02 5.10300E01 -2.18000E01 -3.18500E01 -3.41700E01 -5.52000E00 2.60300E01 8.95400E01 6.99400E01 1.13680E02 7.36800E01 1.53900E01 -1.67000E01 -5.27500E01 -9.78500E01 -6.92400E01 -7.76700E01 -8.52800E01 -4.00400E01 -4.53600E01 -2.88000E01 5.30000E00 1.64500E01 1.59300E01 1.83800E01 8.90000E-01 -2.81400E01 -2.70400E01 -6.08800E01 -2.97100E01 -1.35500E01 3.31200E01 4.32000E01 8.15500E01 1.01010E02 7.29800E01 6.20200E01 3.16700E01 1.13600E01 -4.58000E00 1.50000E01 -1.82000E00 2.18500E01 2.72400E01 2.97800E01 2.23800E01 3.07400E01 1.73400E01 1.75200E01 -3.30000E00 -1.87500E01 -1.86500E01 -4.25200E01 -3.40800E01 -2.03400E01 2.85000E00 2.76000E00 1.76700E01 4.50300E01 3.52000E01 8.40400E01 1.39320E02 1.25190E02 9.85200E01 3.69500E01 -6.15400E01 -7.80000E01 -5.48800E01 4.02000E00 1.03750E02 1.18480E02 8.55700E01 6.45800E01 -3.10000E00 -7.58500E01 -4.47600E01 -5.66500E01 -4.28400E01 1.14500E01 2.04200E01 4.06600E01 6.05000E01 -9.00000E-02 -1.25400E01 -1.93500E01 -2.93400E01 6.40000E00 3.02500E01 3.78200E01 -8.40000E00 -6.30300E01 -7.32800E01 -7.37700E01 -7.32000E01 4.46000E00 5.05200E01 2.69600E01 1.46500E01 -5.05000E00 -3.53500E01 -4.95500E01 -5.61400E01 -6.08800E01 -2.07100E01 -Frame 160 -2.80000E-01 2.97800E01 4.67400E01 2.91800E01 -1.29500E01 -4.93700E01 -5.68700E01 -7.05500E01 -7.65900E01 -5.17500E01 -5.31000E01 -7.44500E01 -9.44000E01 -9.48900E01 -8.03200E01 -9.12400E01 -6.84300E01 -5.08700E01 -7.67400E01 -1.03360E02 -1.17730E02 -1.35460E02 -1.06640E02 -3.48600E01 7.41400E01 2.06410E02 3.06550E02 3.95480E02 4.12780E02 3.29230E02 1.86800E02 1.68100E01 -1.19430E02 -1.45750E02 -1.08730E02 -2.54500E01 1.02440E02 1.85200E02 1.64360E02 1.14740E02 2.75000E01 -5.34400E01 -1.37810E02 -1.65640E02 -1.69160E02 -1.61620E02 -1.30690E02 -7.86800E01 -4.09900E01 -4.41000E01 5.73000E00 6.09000E00 4.50000E-01 3.16300E01 2.67400E01 1.56700E01 -3.37600E01 -1.00690E02 -1.20600E02 -8.70200E01 -3.43300E01 4.90100E01 1.44870E02 1.83550E02 1.86250E02 1.41860E02 8.49700E01 2.92500E01 -2.82100E01 -4.44100E01 -3.40600E01 -9.35000E00 2.81400E01 6.27700E01 7.64200E01 5.64300E01 3.47800E01 -4.56000E00 -2.51000E01 -3.52400E01 -3.16500E01 -7.09100E01 -7.43100E01 -9.57400E01 -9.77400E01 -8.97100E01 -4.83500E01 -2.16700E01 4.85000E00 3.81800E01 2.85000E01 2.54900E01 1.13600E01 -2.62200E01 -4.39400E01 -5.11700E01 -3.45800E01 -1.04500E01 4.34300E01 8.19300E01 7.45400E01 7.68500E01 6.61600E01 4.30800E01 3.12500E01 1.70300E01 7.36000E00 4.39000E00 -5.67000E00 -3.00300E01 -1.11000E00 -2.90000E-01 -1.44000E00 2.43800E01 1.99800E01 7.43000E00 4.49000E00 4.60000E-01 -2.66900E01 -4.56500E01 -4.21500E01 -5.75000E01 -2.32700E01 3.04000E00 4.51600E01 9.15400E01 1.17270E02 9.86900E01 7.04500E01 3.32800E01 -9.06000E00 -4.86900E01 -4.24900E01 3.95000E00 4.38300E01 6.29100E01 9.15300E01 9.79600E01 1.95100E01 -1.63700E01 -2.63300E01 -5.75600E01 -5.76900E01 -2.47600E01 -7.80000E-01 1.29500E01 2.11000E01 2.84900E01 7.09000E00 8.03000E00 -2.10000E01 -2.09000E01 -5.77000E00 -1.61600E01 -2.68500E01 -3.78400E01 -3.51300E01 -3.93000E01 -5.45600E01 -2.12400E01 -Frame 160 5.13000E00 2.23100E01 1.50000E01 2.45000E00 -2.14900E01 -4.61500E01 -6.45300E01 -6.04200E01 -2.31300E01 -2.36700E01 2.07900E01 3.66000E01 2.08600E01 1.66100E01 -1.17900E01 -4.10600E01 -5.62000E01 -7.37600E01 -6.58000E01 -5.35400E01 -5.58600E01 -4.72100E01 -5.62600E01 -7.05500E01 -8.42300E01 -1.03270E02 -1.09820E02 -1.03490E02 -8.98900E01 -7.28100E01 -1.09160E02 -1.16560E02 -1.04110E02 -7.72100E01 1.05600E01 1.17000E02 2.00590E02 3.20550E02 3.85900E02 3.63900E02 2.89880E02 1.51310E02 -6.67000E00 -1.04510E02 -1.41260E02 -1.13000E02 -2.75000E00 1.10920E02 1.67010E02 1.56690E02 1.26920E02 3.13000E00 -8.74700E01 -1.17770E02 -1.55880E02 -1.70010E02 -1.32410E02 -1.06520E02 -7.87300E01 -4.90100E01 -5.03300E01 -4.66500E01 -4.48200E01 5.10000E00 1.75500E01 3.83600E01 4.77700E01 -8.58000E00 -6.06700E01 -9.03200E01 -1.04810E02 -5.86600E01 8.96000E00 8.76500E01 1.33680E02 1.62000E02 1.68040E02 1.14110E02 6.94100E01 1.52700E01 -3.15500E01 -3.57800E01 -2.51000E01 1.09400E01 3.80900E01 5.00500E01 5.03400E01 1.86000E01 -8.13000E00 -2.46700E01 -2.36900E01 -2.76500E01 -3.27000E01 -5.78700E01 -7.57600E01 -9.11300E01 -9.88900E01 -8.08000E01 -5.70800E01 -3.45800E01 7.64000E00 2.01500E01 2.80200E01 2.71000E01 1.71200E01 -2.11900E01 -3.96700E01 -3.86900E01 -2.36500E01 8.87000E00 4.13800E01 5.58500E01 7.47100E01 6.00800E01 4.79400E01 3.43800E01 2.63700E01 1.90900E01 3.75700E01 1.05900E01 7.70000E-01 -1.73500E01 -2.00100E01 -3.07300E01 -2.77500E01 -1.96500E01 -1.02800E01 1.33900E01 3.78000E00 3.87000E00 -7.04000E00 -4.12800E01 -4.25400E01 -6.08000E01 -2.85700E01 2.56800E01 7.05800E01 8.38000E01 1.09350E02 1.11590E02 9.38000E01 5.13800E01 1.56100E01 -1.62700E01 -1.91100E01 -4.80100E01 4.25000E00 3.61300E01 2.49700E01 1.94500E01 1.87500E01 -1.98000E00 -3.43400E01 -4.66000E00 9.50000E-01 -2.60000E-01 -7.50000E00 -2.49500E01 -2.99100E01 -1.19900E01 -Frame 160 -2.25000E01 -1.63100E01 9.09000E00 -7.30000E-01 -1.58500E01 5.80000E-01 3.52000E00 -2.54500E01 -4.72900E01 -4.67600E01 -5.71700E01 -6.78500E01 -2.88000E01 -8.52000E00 -5.61000E00 -2.56100E01 -1.52100E01 -2.14800E01 -3.29300E01 -1.47100E01 -1.29200E01 -4.07000E00 -7.95000E00 -4.95000E00 -2.08600E01 -2.02500E01 -2.16100E01 -6.30000E01 -6.86200E01 -7.13600E01 -8.71300E01 -8.63200E01 -6.14200E01 -6.47100E01 -8.50600E01 -8.19800E01 -9.37500E01 -1.02820E02 -1.01100E02 -1.01260E02 -1.15360E02 -1.28820E02 -1.33610E02 -9.54600E01 -1.60800E01 8.87300E01 2.09660E02 3.13100E02 3.92420E02 3.90810E02 3.13780E02 1.72080E02 7.85000E00 -9.94500E01 -1.64960E02 -1.14330E02 -2.40200E01 6.41100E01 1.33910E02 1.29750E02 1.03350E02 1.60500E01 -4.69500E01 -8.28400E01 -1.42750E02 -1.42370E02 -1.29840E02 -1.25800E02 -1.24520E02 -1.09090E02 -8.60900E01 -8.13100E01 -4.63200E01 6.78000E00 4.85000E01 7.34500E01 6.20900E01 2.13100E01 -4.07600E01 -1.06720E02 -1.13630E02 -7.86600E01 -1.15500E01 5.86300E01 1.07910E02 1.43600E02 1.55250E02 1.24110E02 7.98900E01 4.72300E01 3.15200E01 -2.70000E00 9.03000E00 9.12000E00 8.21000E00 -1.73000E00 -2.19700E01 -2.28100E01 -5.26500E01 -1.93600E01 -2.02000E00 1.08600E01 2.13000E00 -1.88700E01 -6.35000E01 -9.54500E01 -1.25300E02 -1.23960E02 -9.44700E01 -5.29900E01 -2.51900E01 9.48000E00 3.12000E01 3.95500E01 2.61100E01 1.42200E01 5.94000E00 3.90000E-01 1.36600E01 1.73200E01 2.00700E01 2.48800E01 2.28100E01 1.26500E01 1.71600E01 4.17900E01 5.21400E01 6.77600E01 5.98000E01 5.75400E01 1.91600E01 -5.42000E00 -3.07500E01 -5.68300E01 -4.86600E01 -5.61900E01 -2.79000E01 -1.37100E01 2.93000E00 2.20800E01 9.80000E00 -9.87000E00 -2.41400E01 -1.88300E01 -1.93400E01 2.01500E01 5.48400E01 5.95500E01 8.53500E01 7.08700E01 3.58800E01 1.77800E01 1.21100E01 1.52600E01 3.45000E01 5.93100E01 5.38400E01 5.01600E01 4.33000E00 -3.29100E01 -Frame 160 -4.02600E01 -3.67900E01 -1.91700E01 8.02000E00 2.80500E01 3.16800E01 4.44000E01 4.48000E00 -4.67000E00 -1.90900E01 -4.29300E01 -3.44600E01 -1.26900E01 8.77000E00 -2.31100E01 -1.09500E01 -2.44000E01 -6.62400E01 -5.03100E01 -2.78400E01 -1.16500E01 1.30500E01 1.05000E01 9.86000E00 -2.18100E01 -4.84400E01 -5.28500E01 -4.63500E01 -4.66100E01 -1.18400E01 1.90100E01 1.57900E01 1.44500E01 1.05000E00 -2.37700E01 -4.63400E01 -5.55700E01 -5.00400E01 -3.63000E01 -3.21100E01 -4.77700E01 -7.58800E01 -7.88000E01 -1.08750E02 -1.09540E02 -1.06270E02 -8.18200E01 -8.25600E01 -8.22700E01 -8.99200E01 -9.17500E01 -1.24580E02 -1.43340E02 -1.23580E02 -9.91300E01 -1.88700E01 9.98500E01 2.24110E02 3.20970E02 4.14500E02 4.12520E02 3.27090E02 1.91720E02 4.00000E01 -8.24300E01 -1.40550E02 -1.09320E02 -3.90100E01 4.25200E01 8.15400E01 7.47000E01 4.35900E01 -3.51000E00 -3.30500E01 -5.94600E01 -7.86200E01 -9.52900E01 -1.14380E02 -1.26950E02 -1.48790E02 -1.47170E02 -1.39370E02 -1.11210E02 -5.90900E01 4.68000E00 8.04000E01 1.07370E02 8.50600E01 3.99700E01 -3.85600E01 -7.74900E01 -8.05600E01 -5.86600E01 9.60000E-01 6.14100E01 9.26600E01 1.03780E02 1.12140E02 1.14650E02 9.51300E01 8.09200E01 7.32000E01 5.91800E01 2.66800E01 1.81600E01 -1.66300E01 -5.54700E01 -7.24500E01 -7.98800E01 -6.14600E01 -2.54100E01 1.78000E00 3.38100E01 1.28000E01 -1.38700E01 -7.03500E01 -9.65100E01 -1.09390E02 -1.07570E02 -7.06000E01 -5.04300E01 -3.96000E01 -1.64100E01 1.05000E01 3.22000E00 1.67000E01 3.95700E01 5.01000E01 6.19000E01 6.70000E01 6.51900E01 2.72600E01 3.13000E00 -1.27500E01 -2.41100E01 -1.18000E01 2.69000E01 5.97700E01 6.86000E01 6.46400E01 4.95000E01 1.48500E01 -5.88000E00 -2.72400E01 -3.62300E01 -4.84600E01 -4.20200E01 -4.83400E01 -4.08100E01 -4.60100E01 -3.03300E01 -2.81400E01 -1.58600E01 -1.41900E01 1.35400E01 1.31100E01 1.46500E01 3.72200E01 3.84500E01 3.96800E01 -Frame 160 1.00910E02 1.27940E02 1.00690E02 7.65100E01 2.65200E01 -1.30300E01 -2.07800E01 -2.74000E00 3.78700E01 5.27100E01 3.89700E01 -8.22000E00 -1.68500E01 -4.77200E01 -3.74900E01 -1.29000E01 1.04700E01 1.55600E01 2.08000E01 2.19000E00 -8.99000E00 -1.95000E01 -5.93100E01 -5.72900E01 -3.21500E01 -2.72000E01 5.93000E00 2.50800E01 1.98000E01 -1.46600E01 -4.81700E01 -5.06700E01 -2.52000E01 -7.92000E00 7.90000E00 7.20000E00 -2.53000E00 -2.75600E01 -3.93400E01 -3.34500E01 -2.23500E01 -2.28900E01 -4.43000E00 1.86000E01 6.32000E00 -3.35000E00 -2.32000E00 -2.82600E01 -6.59800E01 -7.08100E01 -5.27300E01 -6.50500E01 -6.27000E01 -6.52300E01 -9.37900E01 -1.02160E02 -1.16710E02 -1.10620E02 -1.03260E02 -9.46000E01 -8.56100E01 -9.32900E01 -1.07150E02 -1.13370E02 -1.22710E02 -8.42600E01 -9.58000E00 9.83800E01 2.16550E02 3.48140E02 4.48450E02 4.29430E02 3.50420E02 2.10650E02 5.03800E01 -5.48700E01 -9.63000E01 -6.79000E01 -2.35400E01 2.22300E01 2.74100E01 1.37400E01 -1.93500E01 -3.64300E01 -2.49900E01 -2.21600E01 -2.92100E01 -5.34400E01 -8.63600E01 -1.39210E02 -1.77560E02 -1.96930E02 -1.77720E02 -1.24760E02 -4.90600E01 3.90100E01 9.57500E01 1.30140E02 9.74600E01 2.26700E01 -2.46000E00 -3.63700E01 -1.93000E01 1.23100E01 4.58800E01 5.04400E01 4.50900E01 6.15300E01 6.44200E01 7.43400E01 1.15500E02 1.30830E02 1.25520E02 1.06940E02 7.57000E01 1.44000E00 -3.21000E01 -7.46300E01 -9.93900E01 -9.18100E01 -6.29000E01 -2.60300E01 -1.79900E01 -1.16800E01 -2.91600E01 -4.51500E01 -4.45900E01 -4.19700E01 -3.02300E01 -2.31000E01 -2.77300E01 -5.54800E01 -7.00400E01 -6.79900E01 -3.48200E01 1.40000E00 5.07300E01 8.95300E01 9.74400E01 9.85000E01 8.65000E01 5.60500E01 4.06100E01 1.46600E01 -2.10000E00 6.63000E00 2.06300E01 2.40500E01 2.45600E01 2.40700E01 4.55000E00 9.43000E00 2.14600E01 3.18500E01 3.15400E01 2.92000E01 -2.72300E01 -6.53700E01 -7.86200E01 -7.92000E01 -Frame 160 -7.17200E01 -3.99400E01 -1.51400E01 -5.56000E00 1.63200E01 2.58600E01 3.96700E01 8.28700E01 9.93300E01 1.04210E02 1.33150E02 8.58700E01 3.40600E01 9.63000E00 -1.15500E01 -2.03600E01 1.55900E01 3.86500E01 4.24000E01 5.32400E01 4.03800E01 -1.90000E00 -2.47000E00 -4.04000E00 -1.76400E01 -1.26300E01 -1.34400E01 -2.02500E01 -2.02400E01 -3.32000E01 -2.65200E01 -1.46000E01 -3.29000E00 1.73800E01 3.16800E01 1.84000E01 -2.30000E00 -2.36300E01 -5.45900E01 -4.04500E01 -3.38300E01 -2.79700E01 -4.90000E00 1.38900E01 6.25000E00 -5.63000E00 -8.87000E00 -3.20000E00 -1.03500E01 -8.71000E00 1.39900E01 3.38000E00 -1.95600E01 -2.51900E01 -3.39700E01 -3.89900E01 -3.51300E01 -3.21200E01 -2.49900E01 -1.86200E01 -3.80400E01 -6.00300E01 -6.76500E01 -8.34500E01 -9.26700E01 -8.81000E01 -9.23200E01 -1.02600E02 -1.27120E02 -1.27300E02 -1.07390E02 -1.13790E02 -8.63100E01 -8.29300E01 -1.04400E02 -8.54700E01 -5.69100E01 1.35500E01 1.44140E02 2.55600E02 3.68240E02 4.62000E02 4.40220E02 3.44360E02 1.93230E02 4.82700E01 -5.71900E01 -8.78300E01 -5.33100E01 -7.65000E00 5.45000E00 -3.90300E01 -8.08300E01 -1.02830E02 -9.94000E01 -2.87600E01 2.51000E01 2.76100E01 1.80000E-01 -9.10900E01 -1.64090E02 -2.15190E02 -2.02670E02 -1.46580E02 -8.16300E01 -1.06100E01 3.26000E01 6.31000E01 6.04700E01 5.26900E01 3.96100E01 4.60800E01 7.77000E01 9.72200E01 1.01250E02 5.93100E01 -4.98000E00 -1.82500E01 -1.89100E01 3.54300E01 8.94200E01 1.25000E02 1.45570E02 1.09650E02 6.45300E01 2.79700E01 -1.67300E01 -2.37800E01 -1.80100E01 -2.50300E01 -5.72300E01 -8.83600E01 -1.32360E02 -1.10590E02 -1.04040E02 -6.21900E01 -2.79900E01 1.02900E01 5.47400E01 2.95100E01 -1.75300E01 -4.50100E01 -6.53000E01 -3.21600E01 -6.97000E00 4.00000E00 3.93000E01 2.66500E01 2.65800E01 1.74800E01 5.40800E01 7.57600E01 1.09040E02 1.20250E02 8.97000E01 4.91300E01 9.27000E00 -1.98200E01 -3.17800E01 -2.80700E01 -Frame 160 -1.22100E01 2.16000E00 2.09800E01 -1.63000E00 -1.09300E01 -2.50000E00 -1.38000E01 -1.24300E01 0.00000E00 -6.18000E00 -1.65400E01 -4.52000E01 -5.17000E01 -5.03500E01 -2.79100E01 2.12500E01 8.69100E01 1.27520E02 1.25270E02 1.27840E02 7.73800E01 4.33000E01 3.11400E01 3.05900E01 6.30100E01 5.73900E01 3.15600E01 -1.50800E01 -3.41300E01 -2.87200E01 -1.01000E01 3.01200E01 5.45700E01 3.47400E01 1.62800E01 -2.57500E01 -2.60400E01 -1.13000E01 -2.50800E01 -7.25000E00 -1.88500E01 -1.37800E01 -1.95300E01 -1.34300E01 8.80000E-01 -2.36000E00 9.31000E00 2.03400E01 1.97000E01 4.03000E00 -7.12000E00 -2.46000E01 -4.15900E01 -3.20600E01 -1.32000E01 7.26000E00 8.35000E00 -2.53000E00 -2.17400E01 -2.35200E01 1.67000E00 8.64000E00 9.82000E00 2.20300E01 -1.44000E01 -4.49400E01 -5.33800E01 -5.60300E01 -6.67100E01 -5.16600E01 -4.31000E01 -4.92400E01 -7.65300E01 -9.06000E01 -9.70300E01 -1.10580E02 -1.03460E02 -8.70400E01 -7.90500E01 -7.27600E01 -9.02300E01 -1.07180E02 -1.25580E02 -1.53460E02 -1.34090E02 -6.80300E01 1.01000E01 1.18600E02 2.22310E02 3.46990E02 4.42180E02 4.60890E02 4.10750E02 2.82690E02 1.46430E02 5.28500E01 -2.36400E01 -2.64400E01 -6.02700E01 -1.00060E02 -1.59960E02 -1.77540E02 -1.39480E02 -8.51000E01 4.05000E00 4.99600E01 2.32500E01 -2.73000E01 -5.93800E01 -1.10390E02 -1.32870E02 -1.39920E02 -1.20060E02 -1.09480E02 -7.64800E01 -7.34000E01 -4.81700E01 5.87000E00 4.05600E01 9.62700E01 1.53600E02 1.69550E02 1.55830E02 1.01540E02 5.04800E01 1.58000E01 3.04000E00 2.28900E01 3.23400E01 3.40600E01 1.18100E01 1.08700E01 3.69000E01 5.77100E01 7.91200E01 8.31300E01 6.92000E01 2.77900E01 -2.59100E01 -7.32300E01 -9.79300E01 -1.36290E02 -1.57700E02 -1.21620E02 -1.01310E02 -8.82800E01 -3.87700E01 -2.37000E01 -5.15000E00 4.69700E01 6.36500E01 6.47800E01 5.98800E01 9.77000E00 -1.49000E01 -1.33200E01 -1.76800E01 -7.16000E00 8.69000E00 3.40200E01 -Frame 160 4.01000E01 5.73300E01 8.40400E01 9.95000E01 8.93500E01 7.78100E01 5.78500E01 3.52300E01 -9.11000E00 -3.68000E01 -5.23000E01 -7.92200E01 -6.48900E01 -4.10500E01 -3.84300E01 -3.46900E01 -2.38000E01 -7.55000E00 4.21000E00 9.33000E00 2.26000E01 1.02600E01 5.53000E00 -3.13500E01 2.36600E01 1.05350E02 1.10470E02 1.01650E02 6.64700E01 1.01500E01 9.09000E00 4.40000E01 1.01960E02 1.18630E02 8.37200E01 -1.83300E01 -5.25000E01 -4.06600E01 -3.24000E01 3.16000E00 1.88300E01 -8.02000E00 -3.96800E01 -4.52700E01 -1.79800E01 8.18000E00 1.51500E01 3.33300E01 3.40500E01 6.77000E00 -2.83500E01 -4.15200E01 -3.10500E01 -2.12200E01 -1.70600E01 2.25000E00 -9.84000E00 -3.42900E01 -3.94600E01 -1.27500E01 2.58000E01 2.65200E01 2.42400E01 9.87000E00 -2.99500E01 -3.59700E01 -1.91400E01 4.23000E00 -1.68000E00 -1.77700E01 -3.83400E01 -3.35100E01 -3.75000E01 -3.15800E01 -3.14500E01 -3.42900E01 -3.41900E01 -4.90600E01 -4.43500E01 -6.24600E01 -8.40800E01 -8.63000E01 -9.95200E01 -1.02070E02 -1.13620E02 -1.30440E02 -1.18680E02 -1.01470E02 -9.06600E01 -7.44600E01 -8.57200E01 -1.12280E02 -1.51590E02 -1.15010E02 -2.22300E01 6.04000E01 1.78490E02 2.76030E02 3.96300E02 4.44900E02 4.01580E02 3.33550E02 2.15120E02 1.52850E02 1.17540E02 4.90600E01 -1.55500E01 -1.27110E02 -2.27970E02 -2.33710E02 -2.00390E02 -1.21840E02 -4.87400E01 -1.33300E01 -2.48100E01 -6.96200E01 -4.87500E01 -1.61900E01 -3.66100E01 -3.76300E01 -6.66500E01 -8.75100E01 -1.06940E02 -1.41880E02 -1.10780E02 -6.46300E01 8.99000E00 7.18600E01 1.09590E02 1.09370E02 1.07030E02 1.27510E02 1.61500E02 1.42390E02 1.22560E02 7.60100E01 1.89600E01 -1.88600E01 -3.28200E01 -1.01700E01 6.20000E00 1.40800E01 2.12000E01 2.55300E01 3.79800E01 3.77900E01 2.35700E01 1.79000E01 -1.79500E01 -5.18800E01 -7.68000E01 -1.35410E02 -1.54700E02 -1.36440E02 -1.07490E02 -7.75500E01 -4.66200E01 -2.37000E01 4.94000E00 4.04500E01 -Frame 160 6.60100E01 8.62900E01 1.03110E02 7.03500E01 4.15100E01 3.07400E01 1.16100E01 4.88000E00 -4.06000E00 1.17300E01 1.90000E01 1.84800E01 3.89300E01 5.99800E01 5.76300E01 5.71600E01 6.36300E01 4.32500E01 3.21000E00 -2.10600E01 -4.70500E01 -5.07900E01 -6.25900E01 -9.46900E01 -8.06900E01 -6.81800E01 -5.92200E01 -1.89300E01 -1.38000E00 1.87100E01 3.84000E01 6.56600E01 5.97000E01 5.95000E01 8.22400E01 8.76100E01 8.80700E01 6.04700E01 3.39700E01 3.96300E01 3.94400E01 3.72200E01 6.19100E01 5.83200E01 1.15800E01 -1.06000E01 9.56000E00 -1.46500E01 -2.85800E01 -1.09000E01 -2.36500E01 -5.17600E01 -5.46800E01 -2.36300E01 -3.59000E00 -1.29200E01 -4.52000E00 1.91500E01 1.55400E01 -8.19000E00 -1.16400E01 1.18200E01 1.70000E01 -8.67000E00 -2.01200E01 -2.09000E01 -3.56800E01 -4.28800E01 -6.26000E00 -1.50000E00 -1.05900E01 -1.95000E00 1.29600E01 2.32000E00 -6.50000E-01 6.29000E00 8.44000E00 -2.35000E00 -2.64700E01 -4.83100E01 -3.97800E01 -4.69500E01 -6.13000E01 -5.00400E01 -5.03900E01 -7.57100E01 -6.87500E01 -5.25200E01 -4.77500E01 -7.28000E01 -7.15700E01 -8.92500E01 -1.04410E02 -1.07960E02 -1.07540E02 -1.15030E02 -1.32670E02 -1.26760E02 -1.04580E02 -1.23650E02 -1.45230E02 -1.27380E02 -5.59000E01 2.98000E01 1.24080E02 2.29120E02 3.46160E02 4.28470E02 3.80910E02 3.48520E02 2.81810E02 2.14790E02 1.68520E02 1.02690E02 5.76000E00 -1.32140E02 -2.21150E02 -2.19680E02 -1.84940E02 -1.52940E02 -1.15800E02 -7.64000E01 -6.37100E01 -6.65700E01 -3.14600E01 6.76000E00 5.15000E00 -5.52000E00 -4.15200E01 -7.66000E01 -1.16700E02 -1.56940E02 -1.17290E02 -6.93200E01 -4.48200E01 -2.35400E01 1.40000E00 3.40900E01 9.97400E01 1.64310E02 1.87710E02 1.71650E02 1.35930E02 9.39800E01 7.06500E01 2.35400E01 -3.04000E00 -6.43000E00 -1.29100E01 -5.05700E01 -4.63400E01 -2.99300E01 -9.80000E-01 3.28700E01 5.07400E01 3.71200E01 2.05000E00 -2.11000E01 -4.39400E01 -7.64400E01 -Frame 160 -8.28700E01 -9.94200E01 -1.14390E02 -1.34720E02 -1.31560E02 -9.21900E01 -4.45300E01 -1.53700E01 5.69000E00 5.93800E01 8.36600E01 6.86000E01 7.60000E01 8.95500E01 7.04300E01 4.66500E01 1.60900E01 -8.43000E00 -1.37000E01 -9.12000E00 -3.90000E-01 1.86100E01 1.41800E01 2.06000E01 3.72000E01 3.92800E01 4.63900E01 4.06800E01 3.57600E01 1.16600E01 -2.71900E01 -5.62100E01 -6.30700E01 -7.60800E01 -8.44200E01 -7.89400E01 -7.02200E01 -6.31700E01 -3.08500E01 5.49000E00 3.19400E01 6.21700E01 1.00270E02 9.14500E01 8.22700E01 8.97300E01 7.23400E01 5.03500E01 3.26400E01 3.33600E01 4.30800E01 -7.93000E00 -5.00000E-01 3.11700E01 1.68000E01 1.09800E01 1.89800E01 3.22200E01 1.88500E01 -1.49400E01 -1.27500E01 1.53000E00 -2.27400E01 -4.67300E01 -2.34100E01 -2.53400E01 -5.13000E01 -5.00100E01 -9.63000E00 -4.99000E00 -1.52000E01 1.62900E01 1.87400E01 5.25000E00 1.03400E01 1.25800E01 9.88000E00 7.09000E00 6.21000E00 -6.70000E00 -2.00000E01 -3.06900E01 -2.56800E01 -1.64900E01 -1.00000E01 -2.03000E01 -8.90000E00 -8.14000E00 -2.13500E01 -1.39500E01 -6.31000E00 -1.64300E01 -2.48500E01 -3.85100E01 -4.35600E01 -6.17300E01 -7.24100E01 -6.23600E01 -6.59500E01 -8.96000E01 -9.29100E01 -8.32500E01 -9.52300E01 -1.05510E02 -1.00030E02 -9.03100E01 -1.04230E02 -1.13510E02 -1.16000E02 -1.30490E02 -1.41340E02 -1.06430E02 -5.23800E01 1.83500E01 9.12100E01 1.76200E02 3.09620E02 4.07850E02 3.67720E02 3.28000E02 2.87750E02 2.57000E02 2.31080E02 1.50170E02 1.06500E01 -1.05160E02 -1.78420E02 -1.88750E02 -1.69200E02 -1.93870E02 -1.63110E02 -1.21240E02 -9.79600E01 -7.28700E01 -4.09400E01 3.60100E01 3.23000E01 3.54400E01 -1.53600E01 -5.67200E01 -1.05310E02 -1.12310E02 -8.14300E01 -9.25300E01 -1.21900E02 -1.06080E02 -5.36900E01 3.35000E00 7.51300E01 1.22040E02 1.68270E02 1.73760E02 1.69250E02 1.56440E02 1.28090E02 9.27500E01 8.02400E01 3.52800E01 -4.30900E01 -8.18300E01 -Frame 160 -5.86800E01 -3.57500E01 -2.40700E01 -2.10000E01 -4.81000E00 -2.11000E00 4.68000E00 5.68000E00 5.71000E00 2.74000E00 -2.73200E01 -5.92800E01 -9.91700E01 -1.35200E02 -1.14220E02 -1.00490E02 -9.52500E01 -8.67700E01 -5.49600E01 -2.61300E01 2.36000E01 5.88300E01 1.00080E02 9.65000E01 8.57100E01 9.45000E01 7.94700E01 5.49000E01 3.25200E01 2.54200E01 9.08000E00 -1.87700E01 -4.74600E01 -2.59900E01 9.17000E00 1.44100E01 7.80000E00 2.09800E01 2.75500E01 3.03000E01 3.41100E01 2.30100E01 5.50000E-01 -3.36000E01 -4.97700E01 -6.83900E01 -9.95200E01 -8.85200E01 -6.41000E01 -5.98700E01 -4.14600E01 -2.54500E01 7.00000E-02 4.13700E01 5.59000E01 1.06820E02 1.36210E02 1.12380E02 1.05710E02 8.27400E01 6.59900E01 3.06700E01 2.22400E01 3.15400E01 9.11000E00 -5.80100E01 -3.81400E01 5.39000E00 2.70000E-01 -8.00000E00 1.64900E01 2.07300E01 -1.39100E01 -9.60000E00 1.68600E01 1.01300E01 -1.78100E01 -3.35900E01 -1.68200E01 -4.45100E01 -7.10100E01 -2.92600E01 2.81000E00 -3.01300E01 -3.70600E01 7.83000E00 1.41000E01 6.55000E00 1.57600E01 3.72400E01 1.93500E01 -1.01100E01 -5.47000E00 5.32000E00 -2.95600E01 -3.54900E01 -1.45700E01 -3.79900E01 -5.31000E01 -2.76300E01 -1.53500E01 -3.68000E00 -2.76500E01 -1.43400E01 -3.61000E00 -3.65500E01 -4.24800E01 -2.35600E01 -6.50400E01 -9.27500E01 -9.52400E01 -9.97300E01 -1.16280E02 -1.15250E02 -1.20100E02 -1.14010E02 -1.33650E02 -1.30800E02 -1.08770E02 -1.00990E02 -1.08910E02 -9.20100E01 -4.95400E01 -2.75000E00 5.24500E01 1.49270E02 2.45910E02 3.71280E02 3.38160E02 2.94690E02 2.63600E02 2.45310E02 2.42240E02 2.04870E02 9.91800E01 -4.88400E01 -1.10360E02 -1.45650E02 -1.44870E02 -1.51910E02 -1.75010E02 -1.27650E02 -1.26700E02 -1.29600E02 -1.03470E02 1.05600E01 2.81000E01 4.41500E01 5.65000E00 -6.00500E01 -5.67300E01 -5.12600E01 -3.65800E01 -7.34200E01 -1.16340E02 -1.26490E02 -7.08500E01 -5.84400E01 -2.26100E01 6.03300E01 -Frame 160 1.10760E02 1.29630E02 1.33950E02 1.35270E02 1.68500E02 1.78600E02 1.53850E02 1.01200E02 2.18400E01 -1.79800E01 4.00000E00 -1.53300E01 -4.52300E01 -5.80000E01 -4.51000E01 -4.97500E01 -4.14900E01 -1.59300E01 4.40000E-01 1.23200E01 8.56000E00 -2.23200E01 -5.41300E01 -6.38700E01 -4.38500E01 -4.21700E01 -8.24000E01 -1.07800E02 -9.58900E01 -6.65300E01 -4.32100E01 -1.61400E01 -4.23000E00 4.00400E01 5.96300E01 6.67600E01 8.30400E01 9.67400E01 1.12770E02 1.08190E02 6.83700E01 3.92600E01 2.22200E01 2.36400E01 8.09000E00 -1.89400E01 -3.37800E01 -2.30400E01 -6.94000E00 5.67000E00 3.67000E00 1.46100E01 2.48800E01 1.54500E01 4.72000E00 -1.53400E01 -2.10000E01 -1.28100E01 -1.13500E01 -5.38300E01 -8.85700E01 -7.23000E01 -4.64600E01 -2.57800E01 -1.04400E01 3.38000E00 3.66200E01 9.38500E01 8.37600E01 1.02280E02 9.02800E01 1.14830E02 1.32040E02 6.86700E01 5.02900E01 2.13100E01 4.30000E-01 3.92000E00 -7.47000E00 -4.21900E01 -5.39300E01 -1.59700E01 2.19000E00 -3.08000E00 -5.00000E-01 3.41700E01 4.78900E01 3.20000E01 1.36000E01 1.06300E01 1.55700E01 -6.34000E00 -7.91000E00 -3.65100E01 -5.39500E01 -4.28700E01 -2.34000E01 -1.53000E01 -2.49300E01 -2.28300E01 9.36000E00 2.75400E01 2.32600E01 2.88300E01 4.05500E01 4.36000E01 1.97100E01 4.07000E00 -1.50500E01 -9.74000E00 -6.25000E00 -2.46400E01 -4.05700E01 -4.29500E01 -2.53600E01 -1.42000E01 -2.96800E01 -2.76100E01 -2.34500E01 -2.21400E01 -2.37700E01 -2.74300E01 -4.41800E01 -5.14100E01 -4.48200E01 -7.59900E01 -9.70600E01 -1.05700E02 -1.15520E02 -1.01550E02 -1.26070E02 -1.31250E02 -1.10490E02 -1.07010E02 -1.02350E02 -8.24800E01 -7.59500E01 -4.81800E01 -5.40000E-01 4.75400E01 1.17030E02 1.80530E02 2.80800E02 3.08890E02 2.76550E02 2.61950E02 2.36660E02 2.48380E02 2.15250E02 1.22920E02 2.46500E01 -4.66500E01 -9.00800E01 -1.05740E02 -1.23760E02 -1.69200E02 -1.58870E02 -1.34060E02 -1.33350E02 -1.05490E02 -Frame 160 -6.36700E01 1.45000E01 2.10700E01 8.82000E00 -3.08200E01 -1.96600E01 -8.14000E00 -1.62600E01 -4.46200E01 -9.18200E01 -1.13400E02 -9.85500E01 -6.61600E01 -6.17200E01 -2.51000E01 2.26600E01 5.38600E01 7.89600E01 9.87500E01 1.44050E02 1.82610E02 1.87190E02 1.42740E02 1.10790E02 7.97600E01 5.47100E01 4.98500E01 -1.90000E-01 -5.27600E01 -6.28900E01 -7.32600E01 -8.08700E01 -6.86300E01 -6.19400E01 -2.99800E01 -1.20000E01 -3.34500E01 -2.45300E01 -1.31000E00 5.63000E00 -2.22000E00 -2.73100E01 -5.81500E01 -6.78900E01 -6.08700E01 -6.25800E01 -5.22900E01 -5.16400E01 -4.39300E01 -1.39500E01 5.96000E00 2.54700E01 6.95500E01 9.19200E01 9.08900E01 9.67400E01 8.36800E01 7.71400E01 8.03300E01 6.15500E01 3.61400E01 1.09200E01 -2.10800E01 -1.70400E01 -2.58500E01 -3.09000E01 -2.70700E01 -2.40900E01 -2.59900E01 -2.99200E01 -1.29400E01 -4.20000E-01 5.49000E00 -2.42000E00 -2.57000E00 -1.57200E01 -1.22600E01 -1.36800E01 -2.01300E01 -1.67600E01 -2.12700E01 -8.90000E00 -8.14000E00 2.65000E00 6.17700E01 6.96600E01 6.27300E01 7.95300E01 6.87800E01 8.06400E01 8.18000E01 7.19300E01 6.27000E01 4.31400E01 1.09500E01 5.77000E00 -5.60000E-01 -1.30700E01 -2.19400E01 -2.00500E01 -3.10700E01 -3.93900E01 -2.79200E01 -6.06000E00 3.49000E00 5.34000E00 4.25000E00 2.31300E01 2.75800E01 7.15000E00 1.90900E01 2.33900E01 -7.19000E00 -2.07000E01 -2.26000E01 -2.45300E01 -2.34900E01 -3.23900E01 -1.95300E01 -1.12500E01 -1.97000E01 6.10000E-01 2.35500E01 2.21800E01 1.87500E01 1.82000E01 2.56200E01 1.12500E01 1.54300E01 7.73000E00 -8.21000E00 -2.36300E01 -3.45000E01 -3.36700E01 -4.77800E01 -5.12800E01 -5.28400E01 -5.74000E01 -6.60500E01 -6.09100E01 -4.65600E01 -4.97300E01 -5.29600E01 -5.32500E01 -6.25100E01 -6.40100E01 -7.75100E01 -9.13700E01 -9.95900E01 -9.69900E01 -1.21240E02 -1.18150E02 -1.18880E02 -1.03550E02 -5.86800E01 -4.14000E01 2.54200E01 1.06250E02 1.59450E02 2.83120E02 -Frame 160 2.97330E02 2.73690E02 2.88060E02 2.81610E02 2.79710E02 2.30510E02 1.53600E02 4.22000E01 -2.26500E01 -5.84500E01 -9.42700E01 -1.49080E02 -1.87420E02 -1.68750E02 -1.73330E02 -1.56880E02 -1.37770E02 -4.39400E01 -1.01700E01 1.66500E01 2.02800E01 9.00000E00 4.43600E01 4.97700E01 3.43000E01 -2.16800E01 -6.73700E01 -1.03410E02 -8.54700E01 -9.09000E01 -1.11420E02 -8.34800E01 -3.46100E01 -1.82100E01 1.57000E01 7.06300E01 1.17180E02 1.72050E02 1.83450E02 1.52030E02 1.57500E02 1.40000E02 1.23840E02 1.04080E02 3.86300E01 -1.48600E01 -3.09700E01 -5.95300E01 -8.19000E01 -9.48700E01 -9.31400E01 -7.62600E01 -8.17800E01 -7.93900E01 -3.98500E01 -5.05000E00 1.08300E01 1.01900E01 1.75200E01 5.06000E00 5.21000E00 1.43600E01 -1.42200E01 -3.46700E01 -5.57200E01 -5.73700E01 -4.20200E01 -6.01600E01 -4.98100E01 -1.61000E01 -3.40000E-01 1.39000E01 3.65600E01 6.58800E01 9.20400E01 1.09920E02 1.07250E02 8.74000E01 8.18600E01 7.70800E01 4.90900E01 3.02000E01 -1.52900E01 -3.61600E01 -4.16300E01 -6.32200E01 -7.04100E01 -6.87500E01 -5.49700E01 -4.77100E01 -3.11800E01 -2.11100E01 -1.07100E01 2.00200E01 2.86800E01 4.75800E01 4.50200E01 1.93400E01 3.58500E01 3.78400E01 4.58600E01 2.80900E01 1.75000E00 1.36000E01 3.81000E00 1.72000E00 2.57000E00 1.04500E01 2.25700E01 1.40500E01 2.62600E01 4.28300E01 3.98800E01 3.58100E01 6.05900E01 2.00900E01 1.63300E01 1.34500E01 1.44800E01 8.54000E00 -1.05800E01 -3.22700E01 -3.55900E01 -8.97000E00 -2.15100E01 -2.54100E01 -2.04000E01 -2.12100E01 -2.60200E01 -8.95000E00 -5.34000E00 -2.61000E00 5.21000E00 -8.73000E00 -1.09000E00 3.79000E00 -5.18000E00 -3.42000E00 1.14000E01 -9.33000E00 -2.26900E01 1.56000E00 -5.44000E00 4.35000E00 -6.56000E00 -1.38000E01 -4.25000E00 -3.40000E00 -7.52000E00 -1.17600E01 -1.11200E01 -1.84500E01 -2.49900E01 -2.87100E01 -3.25200E01 -2.94200E01 -3.82000E01 -6.12200E01 -6.49000E01 -6.26400E01 -Frame 160 -7.52600E01 -7.52100E01 -6.21000E01 -8.75400E01 -1.03700E02 -9.62800E01 -7.75600E01 -1.01210E02 -1.03520E02 -8.48300E01 -9.15100E01 -7.83400E01 -7.77200E01 -4.50400E01 -1.73400E01 4.12000E01 9.24800E01 1.73230E02 2.60290E02 2.17780E02 2.36740E02 2.52060E02 2.67620E02 2.71420E02 1.92100E02 1.15170E02 6.17800E01 2.07100E01 -3.16200E01 -5.95100E01 -1.39180E02 -1.84160E02 -1.67340E02 -1.56830E02 -1.55840E02 -1.45670E02 -7.60500E01 -4.82100E01 -2.54700E01 -2.90100E01 1.43600E01 6.10500E01 6.61200E01 3.42800E01 -1.58000E00 -1.75500E01 -3.40000E01 -2.89300E01 -5.86800E01 -9.13000E01 -8.78500E01 -7.12200E01 -5.70200E01 -4.03400E01 2.88000E00 4.64200E01 9.72500E01 9.45500E01 1.15670E02 1.50330E02 1.74920E02 1.72110E02 1.34060E02 9.57200E01 8.21200E01 5.30400E01 5.03000E00 -3.94500E01 -7.32500E01 -1.05010E02 -1.09640E02 -1.12300E02 -1.13930E02 -1.03500E02 -6.96500E01 -4.96900E01 -4.00700E01 -1.91200E01 1.34900E01 3.90900E01 4.54400E01 3.69400E01 2.71400E01 1.30100E01 3.43000E00 1.55000E00 -2.23900E01 -4.20500E01 -4.52800E01 -3.95700E01 -4.06500E01 -2.47300E01 -7.30000E00 1.06700E01 4.01800E01 5.15600E01 6.12400E01 9.01600E01 9.38900E01 9.56500E01 7.63800E01 5.14500E01 3.57100E01 3.94600E01 1.13000E01 -3.17300E01 -4.50500E01 -4.77300E01 -6.34400E01 -6.55700E01 -6.67000E01 -6.28000E01 -4.47200E01 -1.70400E01 9.51000E00 1.28700E01 3.73200E01 4.54900E01 7.98700E01 8.02400E01 6.75500E01 6.94100E01 5.02700E01 5.05000E01 2.37000E01 3.06000E00 4.79000E00 -1.64200E01 -1.92600E01 -3.21600E01 -1.04200E01 -7.99000E00 -5.47000E00 1.21400E01 1.52900E01 2.55300E01 5.60700E01 5.45100E01 5.68600E01 4.52400E01 2.32300E01 2.95300E01 1.50100E01 -3.96000E00 -1.65000E01 -3.74000E01 -5.69000E01 -5.09400E01 -6.27400E01 -5.48400E01 -4.16400E01 -3.89900E01 -3.42200E01 -1.92700E01 1.16000E00 1.12200E01 2.15800E01 2.92400E01 2.91100E01 1.89500E01 -Frame 160 1.64600E01 2.58800E01 1.05700E01 -1.42200E01 -1.97600E01 -2.04500E01 -3.31400E01 -4.71900E01 -3.96300E01 -3.48000E01 -3.67900E01 -3.68100E01 -3.78000E01 -1.97900E01 -2.42100E01 -3.17500E01 -3.35000E01 -3.32800E01 -3.20300E01 -5.27200E01 -5.60100E01 -7.03600E01 -8.81000E01 -1.08320E02 -9.10800E01 -1.05240E02 -1.33760E02 -1.25060E02 -1.07000E02 -1.02310E02 -9.04100E01 -7.30900E01 -3.42000E01 8.89000E00 8.22700E01 1.65810E02 2.37750E02 1.92670E02 2.13000E02 2.34750E02 2.71950E02 2.77050E02 2.10060E02 1.37820E02 8.52400E01 3.99800E01 -1.69000E00 -4.36200E01 -9.77800E01 -1.51500E02 -1.52720E02 -1.77820E02 -1.78520E02 -1.50070E02 -8.56000E01 -7.40600E01 -5.11000E01 -5.43900E01 3.26000E00 5.96800E01 6.57800E01 4.60000E01 9.56000E00 -1.02000E00 -5.93000E00 -2.29900E01 -4.75600E01 -8.28500E01 -8.61600E01 -8.95000E01 -7.58700E01 -7.07600E01 -3.74400E01 -2.07000E00 3.33800E01 4.18800E01 5.75900E01 1.11720E02 1.50410E02 1.55150E02 1.38890E02 1.21000E02 1.01450E02 1.07210E02 6.60600E01 2.25900E01 -1.72300E01 -5.22500E01 -8.12900E01 -9.01400E01 -1.10170E02 -1.19710E02 -1.02430E02 -9.25200E01 -8.62200E01 -7.06500E01 -3.05400E01 9.83000E00 2.74300E01 1.65400E01 1.42900E01 3.09500E01 3.10900E01 2.52000E01 1.91000E01 -1.22100E01 -1.94800E01 -1.69600E01 -2.93500E01 -3.81000E01 -3.00900E01 -3.48100E01 -2.46500E01 -1.21600E01 1.47200E01 2.34100E01 4.63400E01 6.69300E01 4.80900E01 5.96200E01 8.04500E01 7.38500E01 6.39800E01 3.57500E01 1.36200E01 2.80000E00 -1.23500E01 -3.09500E01 -4.00900E01 -5.04700E01 -6.81200E01 -6.22500E01 -5.51400E01 -4.07600E01 -2.09000E01 -8.41000E00 7.47000E00 3.08300E01 5.18800E01 6.55300E01 8.25400E01 7.40000E01 6.81300E01 4.80200E01 4.92500E01 4.44800E01 2.05300E01 -1.91700E01 -2.30700E01 -1.70600E01 -3.78400E01 -2.22200E01 -2.00900E01 -2.08700E01 -1.46500E01 -2.22000E00 1.36000E01 2.79000E01 3.96200E01 2.96700E01 -Frame 160 3.83900E01 3.03500E01 2.10400E01 2.44300E01 1.19100E01 -1.00000E00 -1.93000E01 -3.31400E01 -3.63700E01 -4.16600E01 -4.50700E01 -4.45400E01 -4.79500E01 -4.04200E01 -2.66200E01 -1.83700E01 -1.85000E00 1.01800E01 -4.30000E-01 5.63000E00 2.58700E01 1.77100E01 1.92800E01 1.58800E01 6.36000E00 -8.46000E00 -1.17300E01 -1.70900E01 -2.16000E01 -3.72300E01 -4.23100E01 -4.55100E01 -5.37700E01 -4.62400E01 -4.84400E01 -5.16700E01 -4.99600E01 -4.71600E01 -5.12400E01 -4.74100E01 -4.04300E01 -4.22100E01 -5.70200E01 -6.62500E01 -6.67200E01 -7.51600E01 -8.58100E01 -8.87300E01 -8.86800E01 -8.55700E01 -9.13100E01 -6.21700E01 -4.51000E01 -7.49000E00 4.42600E01 1.39540E02 1.57610E02 1.49070E02 1.82110E02 2.09990E02 2.58530E02 2.50330E02 1.98650E02 1.39200E02 1.14800E02 9.45600E01 6.06300E01 -1.38000E00 -7.12800E01 -1.07250E02 -1.14210E02 -1.29260E02 -1.58640E02 -1.53770E02 -1.32600E02 -1.03650E02 -9.97100E01 -8.55600E01 -2.39000E01 2.96800E01 4.08800E01 2.83800E01 3.14600E01 3.56000E01 4.88300E01 3.94200E01 5.68000E00 -3.91100E01 -4.32500E01 -4.14800E01 -5.06200E01 -6.40000E01 -8.07400E01 -4.89300E01 -3.11000E01 -2.77000E01 -1.80000E-01 4.51800E01 7.58900E01 9.74700E01 1.04620E02 1.11890E02 1.20280E02 1.40820E02 1.29870E02 8.84700E01 5.57200E01 2.59200E01 9.19000E00 -1.00500E01 -4.88600E01 -8.18100E01 -1.00690E02 -1.00050E02 -1.09290E02 -1.13710E02 -9.41600E01 -7.69200E01 -6.00800E01 -4.86700E01 -1.98700E01 1.83000E00 1.81900E01 4.30300E01 5.05900E01 3.73300E01 3.16200E01 5.37000E01 3.64100E01 9.55000E00 -1.51500E01 -1.16000E01 -1.99300E01 -2.15000E01 -3.31000E01 -2.90300E01 -1.68100E01 -1.32000E01 -7.47000E00 1.14400E01 2.19200E01 4.17000E01 4.80500E01 4.75500E01 3.89900E01 5.01300E01 5.65700E01 4.71600E01 3.44200E01 1.92600E01 -3.80000E-01 -6.20000E-01 -1.48600E01 -4.65200E01 -4.31100E01 -3.85500E01 -4.48100E01 -3.52200E01 -2.23000E01 -2.09600E01 -Frame 160 5.44000E00 8.65000E00 1.49500E01 3.34300E01 4.24500E01 5.87100E01 6.14200E01 4.51600E01 3.03600E01 3.20800E01 2.58300E01 1.93700E01 5.70000E00 -2.13900E01 -2.12900E01 -6.16000E00 -2.15500E01 -2.63900E01 -1.63500E01 -9.98000E00 -3.40000E00 -5.61000E00 1.01200E01 1.63300E01 1.97200E01 2.02000E01 9.68000E00 7.83000E00 1.92000E00 5.83000E00 -4.14000E00 -1.64100E01 -3.70400E01 -2.42700E01 -2.20800E01 -3.68000E01 -4.09400E01 -4.21700E01 -3.04000E01 -2.92400E01 -1.90200E01 -8.47000E00 1.41000E00 7.59000E00 9.50000E-01 9.10000E00 9.49000E00 6.88000E00 2.18000E00 1.23300E01 -8.22000E00 -2.14000E01 -1.99700E01 -2.44800E01 -2.71100E01 -4.18000E01 -5.39100E01 -5.13500E01 -4.46700E01 -5.07500E01 -5.59800E01 -5.03300E01 -5.34700E01 -5.16700E01 -5.07800E01 -5.58300E01 -6.00000E01 -6.62600E01 -5.66700E01 -6.87500E01 -6.51600E01 -6.14200E01 -6.45300E01 -5.47000E01 -4.35400E01 -2.40200E01 8.10000E00 5.11800E01 9.75200E01 9.11800E01 1.02540E02 1.38140E02 1.71700E02 1.95130E02 1.72100E02 1.60200E02 1.23790E02 1.15150E02 1.16150E02 6.90900E01 2.15300E01 -2.85000E01 -4.70300E01 -6.40700E01 -9.65600E01 -1.01950E02 -1.05400E02 -1.09850E02 -9.63300E01 -1.12300E02 -8.66600E01 -4.91500E01 -2.44400E01 -1.59500E01 -2.01900E01 -4.55000E00 2.85700E01 3.66800E01 2.90000E01 1.90500E01 -2.30000E-01 -2.11000E00 -2.05000E00 -1.19900E01 -2.42300E01 -4.98300E01 -4.51800E01 -3.83500E01 -2.42800E01 -2.17600E01 -2.15000E00 1.70600E01 2.98400E01 4.49800E01 5.65400E01 8.44000E01 9.30400E01 9.58600E01 9.06800E01 8.52600E01 7.36000E01 7.35200E01 5.83800E01 1.17300E01 -4.36000E00 -2.49300E01 -2.81000E01 -5.33300E01 -7.42800E01 -7.38000E01 -8.82300E01 -8.80200E01 -6.87200E01 -6.57600E01 -5.66500E01 -2.92100E01 -1.99000E01 -4.29000E00 1.08000E01 2.03400E01 4.41500E01 4.06500E01 3.20000E01 2.20500E01 3.37700E01 3.58200E01 2.09000E01 7.50000E00 -5.32000E00 -4.53000E00 -Frame 160 -9.71000E00 -8.04000E00 -1.03100E01 -1.36400E01 -8.06000E00 3.70000E00 1.08200E01 2.01500E01 3.07500E01 2.66500E01 3.64000E01 3.84200E01 2.54700E01 2.51000E01 3.87000E01 3.66900E01 2.35900E01 1.40700E01 1.92500E01 1.45800E01 2.76000E00 2.58000E00 4.40000E00 3.28000E00 2.13000E00 -7.05000E00 -6.50000E00 6.08000E00 1.00500E01 9.14000E00 3.20000E00 1.08000E00 1.59000E01 2.31700E01 2.76500E01 1.12500E01 7.34000E00 3.31000E00 1.41600E01 1.33400E01 -5.10000E-01 -1.78000E00 4.92000E00 1.83000E00 -4.35000E00 -1.71000E00 1.20200E01 1.70000E-01 -4.00000E-02 1.47500E01 -3.01000E00 -2.31000E00 6.42000E00 1.42000E00 -2.73000E00 -7.00000E00 -5.39000E00 -5.72000E00 -5.00000E-02 -8.20000E00 -1.95900E01 -1.23100E01 -7.79000E00 -1.31200E01 -1.46000E01 -3.11000E00 -6.26000E00 -1.50000E00 -1.45900E01 -6.07000E00 7.20000E-01 -1.28000E00 -1.23400E01 -1.27300E01 -2.71200E01 -2.59300E01 -1.76800E01 -2.81600E01 -3.79400E01 -3.89900E01 -3.70400E01 -3.20000E01 -4.07800E01 -4.18000E01 -4.48200E01 -5.09000E01 -3.91300E01 -4.79700E01 -5.50500E01 -4.83100E01 -5.83300E01 -5.76200E01 -5.58500E01 -6.29900E01 -6.63100E01 -6.46900E01 -6.09800E01 -6.61200E01 -5.73800E01 -4.53400E01 -2.19100E01 1.62400E01 5.45300E01 6.09300E01 6.34500E01 8.69700E01 1.16120E02 1.54050E02 1.44000E02 1.26500E02 1.19340E02 1.23850E02 1.17390E02 9.76300E01 6.41800E01 3.46500E01 7.19000E00 8.90000E-01 -2.05900E01 -5.27000E01 -5.97400E01 -7.99300E01 -7.56600E01 -9.01800E01 -9.00600E01 -6.18500E01 -4.97100E01 -4.21500E01 -4.03200E01 -2.84000E01 -1.00900E01 5.79000E00 4.15000E00 1.14500E01 -2.04000E00 -1.95000E00 7.14000E00 -4.50000E00 -1.45000E01 -2.58000E01 -2.24300E01 -2.19400E01 -2.34200E01 -2.39300E01 -2.84400E01 -1.80700E01 -9.37000E00 2.60000E00 1.59300E01 3.16500E01 5.48200E01 5.96500E01 6.25700E01 6.55200E01 6.35000E01 7.13600E01 7.34000E01 5.44400E01 3.68500E01 4.26900E01 -Frame 160 2.46800E01 1.61000E01 -4.75000E00 -2.72300E01 -1.93700E01 -4.12400E01 -4.77400E01 -4.73900E01 -5.29800E01 -5.16900E01 -5.13100E01 -4.08700E01 -3.70700E01 -2.51200E01 -6.78000E00 -5.87000E00 6.07000E00 3.70000E-01 1.34900E01 1.30000E01 1.14800E01 1.69000E01 -5.30000E-01 1.50000E00 1.15900E01 3.98000E00 2.13000E00 1.22000E00 -2.72000E00 -1.78000E00 5.19000E00 -6.30000E-01 -1.63000E00 2.13400E01 1.60000E01 7.48000E00 1.86900E01 1.62300E01 2.86800E01 2.84900E01 2.82700E01 2.20200E01 2.15600E01 3.10700E01 4.98500E01 1.91700E01 2.55300E01 3.40700E01 2.58500E01 3.73600E01 2.32000E01 6.59000E00 7.47000E00 5.38000E00 1.23000E00 -2.04000E00 -1.04000E01 -1.70000E01 -2.27800E01 -1.27100E01 -1.63100E01 -2.10000E01 -1.58100E01 -1.34400E01 1.02000E00 -9.07000E00 -8.46000E00 8.18000E00 5.33000E00 1.23900E01 9.66000E00 1.48400E01 2.11700E01 1.46800E01 2.19800E01 1.74900E01 8.85000E00 1.49400E01 1.52100E01 9.48000E00 2.57000E00 -1.35500E01 -3.15000E00 -4.20000E-01 -1.66000E01 -1.42600E01 -8.83000E00 -2.22000E00 -3.40000E00 -1.16100E01 -5.06000E00 1.70000E00 -1.33000E00 3.55000E00 -5.42000E00 -6.66000E00 -6.93000E00 -1.02000E01 -6.56000E00 -1.78000E01 -2.63700E01 -2.91800E01 -2.60500E01 -2.68000E01 -3.45500E01 -3.65100E01 -3.35000E01 -2.23700E01 -3.08800E01 -3.36300E01 -3.24400E01 -2.01900E01 -3.35500E01 -1.93000E01 -2.46000E01 -4.20500E01 -4.00100E01 -3.98800E01 -3.87200E01 -4.55000E01 -5.74600E01 -5.27500E01 -5.08600E01 -5.28800E01 -6.09300E01 -5.41900E01 -3.82100E01 -3.07200E01 -7.99000E00 2.44300E01 4.18100E01 4.46700E01 6.05600E01 8.78700E01 1.10930E02 1.18590E02 1.06370E02 1.04670E02 1.14820E02 1.14180E02 1.05420E02 8.43000E01 5.34600E01 3.96300E01 4.03500E01 1.80700E01 -5.90000E00 -2.25900E01 -2.57600E01 -3.39900E01 -4.44300E01 -4.31400E01 -5.07600E01 -2.95600E01 -2.96700E01 -3.27500E01 -2.28900E01 -1.67000E01 -4.30000E00 -2.51000E00 -Frame 160 -3.66000E00 -6.84000E00 8.89000E00 4.10000E00 -4.84000E00 -1.70500E01 -3.16200E01 -3.46100E01 -1.96600E01 -1.52300E01 -2.66500E01 -2.74000E01 -1.51500E01 -1.25100E01 -1.17800E01 1.69800E01 1.36100E01 2.61200E01 4.79900E01 3.44900E01 3.95400E01 4.97100E01 4.81500E01 5.95000E01 5.61500E01 4.76500E01 3.78500E01 4.07200E01 3.16500E01 2.82800E01 1.37900E01 -4.15000E00 -4.63000E00 -4.11000E00 -1.35600E01 -2.62800E01 -3.53600E01 -2.86800E01 -2.67600E01 -3.17500E01 -2.78600E01 -3.18200E01 -2.38700E01 -1.46500E01 -2.01300E01 -1.17600E01 -7.12000E00 6.70000E-01 2.70000E00 -3.21000E00 7.00000E-01 6.73000E00 7.94000E00 2.18000E00 8.24000E00 4.80000E-01 1.04800E01 7.80000E-01 -1.22000E00 7.72000E00 2.93000E00 -1.01000E00 9.93000E00 7.20000E00 6.38000E00 1.25300E01 1.58600E01 1.12800E01 1.35500E01 1.58800E01 2.02700E01 2.17800E01 2.33200E01 4.08900E01 2.19700E01 2.54500E01 2.80200E01 2.86500E01 3.02800E01 2.29400E01 1.33600E01 1.94800E01 2.78000E00 5.70000E-01 3.00000E-01 -4.97000E00 -2.03900E01 -2.62600E01 -7.28000E00 -1.67000E01 -2.63900E01 -1.63500E01 -1.59800E01 -4.58000E00 -3.82000E00 -6.03000E00 1.37000E01 8.03000E00 1.11800E01 1.04200E01 7.63000E00 1.47500E01 2.10800E01 6.59000E00 -4.35000E00 -2.62000E00 -8.30000E-01 -2.98000E00 -1.90000E-01 -1.73100E01 -1.59400E01 -2.05100E01 -1.42000E01 4.32000E00 -9.59000E00 -1.89200E01 2.48000E00 -6.46000E00 -2.67000E00 1.32400E01 8.63000E00 1.87000E00 4.90000E00 -9.80000E-01 -1.04000E00 -2.10000E00 8.10000E-01 -1.61900E01 -1.17000E01 -1.00600E01 -2.13600E01 -2.29900E01 -2.56500E01 -1.63700E01 -2.47900E01 -2.84500E01 -1.42000E01 -1.45000E01 -1.78000E01 -2.11900E01 -1.66700E01 -1.60000E01 -2.33000E01 -1.88100E01 -2.81700E01 -3.38000E01 -2.85800E01 -3.91800E01 -4.40800E01 -3.81000E01 -4.39100E01 -4.38700E01 -5.08000E01 -4.09100E01 -4.06900E01 -5.04400E01 -4.34600E01 -3.32400E01 -1.66900E01 3.37000E00 -Frame 160 3.10300E01 4.35000E01 3.93000E01 4.79200E01 7.47500E01 9.03300E01 9.23000E01 8.82400E01 9.29700E01 8.77600E01 8.93100E01 8.68300E01 6.62000E01 4.88800E01 4.69900E01 3.60100E01 2.66700E01 1.03000E00 -7.39000E00 -2.05000E00 -1.05300E01 -2.52500E01 -3.13900E01 -2.36800E01 -1.27000E01 -1.73600E01 -1.71400E01 -1.78900E01 -1.06400E01 -7.15000E00 -5.54000E00 -4.87000E00 -1.71700E01 -3.83000E00 -1.00700E01 -1.84900E01 -1.71500E01 -2.27500E01 -2.05000E01 -1.21600E01 -1.25500E01 -2.09400E01 -1.65700E01 -1.50500E01 -6.47000E00 9.38000E00 -4.29000E00 5.62000E00 2.98300E01 2.97600E01 2.16600E01 3.72900E01 3.63700E01 4.53900E01 4.66500E01 3.79100E01 3.88700E01 3.68300E01 4.17000E01 2.16900E01 2.00500E01 1.53500E01 5.50000E00 3.35000E00 -4.86000E00 -8.31000E00 -1.98500E01 -2.77200E01 -2.88000E01 -2.18800E01 -2.17200E01 -2.55300E01 -2.24300E01 -1.92100E01 -1.08700E01 -7.26000E00 -9.53000E00 1.40000E-01 9.11000E00 1.13500E01 3.65000E00 5.71000E00 1.08300E01 7.10000E00 5.25000E00 7.34000E00 4.90000E-01 -2.57000E00 7.28000E00 -4.57000E00 -5.78000E00 2.98000E00 -1.99000E00 -6.11000E00 1.65000E00 7.65000E00 1.08300E01 1.11000E01 8.37000E00 1.25500E01 1.08500E01 2.10900E01 3.36300E01 3.35300E01 1.54000E01 2.07000E01 1.91500E01 3.65400E01 3.94400E01 1.34000E01 4.55000E00 1.54300E01 1.06400E01 1.87000E01 1.20000E01 -8.91000E00 -1.44500E01 -1.51400E01 -5.83000E00 -1.22000E00 -1.84600E01 -1.72100E01 -9.00000E-01 9.92000E00 -1.29300E01 -5.47000E00 6.23000E00 8.29000E00 1.04100E01 -7.41000E00 2.30000E-01 3.11000E00 7.08000E00 1.01700E01 2.35000E00 -1.07100E01 -1.51600E01 2.70000E-01 8.18000E00 -1.16700E01 -2.71200E01 -9.02000E00 6.50000E-01 -1.03800E01 -1.97400E01 -6.37000E00 -2.58000E00 -4.67000E00 -2.82000E00 -6.91000E00 -6.12000E00 7.00000E-01 -3.27000E00 -3.36000E00 -1.45000E00 -4.80000E-01 -9.48000E00 -1.37500E01 -6.14000E00 -1.42900E01 -Frame 160 -1.66800E01 -1.01300E01 -5.37000E00 -1.94600E01 -2.59700E01 -9.66000E00 -1.18400E01 -2.20800E01 -1.96200E01 -2.10700E01 -2.45500E01 -2.61200E01 -2.57200E01 -1.72900E01 -3.25900E01 -3.73400E01 -3.62100E01 -2.80200E01 -3.75600E01 -3.93700E01 -4.42100E01 -3.61700E01 -4.68600E01 -5.08500E01 -4.39300E01 -5.17700E01 -5.18200E01 -4.88400E01 -4.07400E01 -1.83700E01 -5.31000E00 6.14000E00 2.29200E01 3.51800E01 3.87700E01 5.04200E01 7.33700E01 9.59500E01 8.01300E01 8.77400E01 8.65000E01 8.81400E01 7.17500E01 5.97900E01 5.04100E01 3.77000E01 2.55700E01 1.80500E01 8.29000E00 1.23000E00 -1.50400E01 -1.77900E01 -1.86000E01 -2.64100E01 -3.04300E01 -1.65400E01 -1.12000E01 -1.26800E01 -2.01900E01 -1.79100E01 -2.54000E00 -5.69000E00 -1.59300E01 -1.94700E01 -2.01000E01 -1.57300E01 -1.32100E01 -2.36000E01 -3.32900E01 -3.42500E01 -1.72100E01 -2.06300E01 -2.21400E01 -1.46800E01 -1.09800E01 -2.16000E00 1.19300E01 1.14400E01 1.19200E01 2.54000E01 3.52700E01 3.44100E01 4.54900E01 3.78700E01 3.19800E01 3.48800E01 4.08400E01 3.19500E01 1.97600E01 9.18000E00 1.22700E01 5.45000E00 -4.58000E00 -6.91000E00 -1.23000E01 -1.18400E01 -1.83500E01 -1.50400E01 -1.46100E01 -3.51500E01 -2.02900E01 -1.89500E01 -1.65500E01 -1.00600E01 -2.23600E01 -9.02000E00 -2.26000E00 -5.29000E00 -2.41000E00 1.56000E00 5.65000E00 4.86000E00 1.20400E01 1.34300E01 1.28500E01 2.24000E00 -2.70000E00 2.10000E-01 -4.79000E00 -9.40000E-01 5.03000E00 -4.82000E00 1.03000E00 -3.94000E00 -3.06000E00 7.85000E00 9.00000E-02 -3.91000E00 1.09700E01 1.53000E01 1.57500E01 9.20000E00 8.44000E00 1.96500E01 2.81900E01 2.19700E01 2.45400E01 2.51700E01 2.18000E01 2.33100E01 2.48500E01 1.04200E01 2.15400E01 1.09900E01 2.11000E00 7.96000E00 3.99000E00 -4.10000E00 -2.43000E00 -6.70000E00 -1.00900E01 -1.05700E01 -5.05000E00 -1.23500E01 4.14000E00 1.14000E00 -1.95000E00 1.08700E01 -2.92000E00 1.28700E01 -Frame 160 1.51400E01 5.47000E00 1.50000E00 8.41000E00 -2.47000E00 -4.68000E00 -9.95000E00 -1.13700E01 -1.58200E01 -1.43900E01 -1.19000E01 -8.32000E00 -1.36200E01 -1.20700E01 -1.04600E01 -2.79000E00 -8.88000E00 -1.15000E00 1.82000E00 -5.12000E00 -7.27000E00 1.52000E00 3.58000E00 4.70000E00 -4.15000E00 -3.27000E00 -7.36000E00 -1.05700E01 -1.87000E00 -1.09000E01 -1.32000E01 -4.56000E00 -7.65000E00 -1.28300E01 -1.71600E01 -1.86100E01 -1.60900E01 -1.04800E01 -1.66900E01 -1.50800E01 -1.74100E01 -2.18000E01 -1.63100E01 -2.56400E01 -3.02400E01 -3.69600E01 -2.88600E01 -3.34900E01 -4.42400E01 -3.22900E01 -3.99500E01 -5.28200E01 -4.80500E01 -5.11000E01 -5.02100E01 -5.52600E01 -5.44300E01 -4.65400E01 -4.03800E01 -2.90100E01 -1.42800E01 7.90000E00 3.87400E01 4.14800E01 4.72500E01 6.21400E01 8.74200E01 1.01390E02 8.96900E01 8.95400E01 1.01300E02 8.83300E01 7.68800E01 7.60100E01 5.90500E01 3.85200E01 3.63300E01 2.00500E01 8.26000E00 -4.89000E00 -2.14300E01 -2.44500E01 -2.55300E01 -3.76100E01 -3.60200E01 -4.03400E01 -3.27500E01 -1.88900E01 -2.75800E01 -3.25100E01 -3.15600E01 -1.35500E01 -7.97000E00 -9.21000E00 -9.48000E00 -1.87500E01 -2.32900E01 -1.09500E01 -1.82200E01 -3.07000E01 -2.45400E01 -1.51700E01 -1.45000E01 -1.18000E01 -1.30100E01 3.75000E00 1.10200E01 8.50000E00 1.58900E01 2.24900E01 2.92700E01 4.72300E01 4.37000E01 6.00200E01 5.37900E01 4.33200E01 4.14900E01 3.75700E01 2.75000E01 1.71000E01 5.37000E00 2.28000E00 -1.09000E01 -1.64700E01 -3.01900E01 -3.93000E01 -4.26500E01 -4.40600E01 -4.64700E01 -3.89100E01 -4.20800E01 -4.13100E01 -3.34800E01 -2.33800E01 -1.79500E01 -3.34000E00 6.72000E00 -1.92000E00 -8.30000E-01 1.72900E01 9.95000E00 1.43700E01 8.91000E00 7.27000E00 1.15700E01 9.90000E-01 1.08000E00 1.17000E00 -2.74000E00 -2.77000E00 -8.00000E-01 -7.70000E-01 3.26000E00 2.41000E00 -4.70000E-01 1.05600E01 9.92000E00 4.25000E00 1.34000E01 1.58200E01 -Frame 160 1.53000E01 9.75000E00 9.02000E00 2.26000E00 1.29000E00 2.90000E-01 -9.74000E00 -1.07000E00 1.58700E01 2.32000E00 6.35000E00 1.25000E01 5.83000E00 2.09500E01 1.25200E01 1.82000E00 1.97900E01 2.30000E00 1.32700E01 1.45700E01 1.19000E01 -8.60000E-01 9.90000E-01 -1.00000E-01 2.78000E00 -4.25000E00 -7.49000E00 -5.82000E00 6.91000E00 -1.29700E01 -1.14500E01 1.21300E01 -9.57000E00 -5.93000E00 -2.17000E00 -7.29000E00 -6.56000E00 -4.80000E00 -3.98000E00 8.87000E00 -1.08900E01 -1.42500E01 -4.70000E00 -7.85000E00 -1.30900E01 -2.14800E01 -2.41100E01 -1.08000E01 -2.07000E00 -1.40700E01 -1.14300E01 -6.70000E00 -1.82000E00 1.21000E00 -3.67000E00 6.30000E00 4.57000E00 -8.22000E00 -1.40000E00 4.63000E00 -1.81600E01 -8.64000E00 1.80000E-01 -1.37300E01 -2.70600E01 -1.67800E01 -1.61700E01 -3.15300E01 -2.93400E01 -3.40600E01 -3.19000E01 -3.46500E01 -3.24600E01 -3.51800E01 -3.09600E01 -3.95900E01 -5.04600E01 -4.36300E01 -4.15600E01 -4.84000E01 -5.24200E01 -4.75300E01 -5.04600E01 -5.64500E01 -5.45900E01 -5.76400E01 -6.07500E01 -5.89200E01 -5.90000E01 -4.90500E01 -2.37700E01 -6.71000E00 2.78600E01 7.84500E01 7.85100E01 1.00480E02 1.20020E02 1.46040E02 1.56720E02 1.58580E02 1.34350E02 1.29250E02 1.08880E02 8.37900E01 7.38600E01 4.45700E01 -6.65000E00 -1.84300E01 -4.45400E01 -5.64000E01 -6.75600E01 -8.19900E01 -8.97800E01 -7.47200E01 -8.41200E01 -7.57300E01 -4.60100E01 -3.73300E01 -2.53500E01 -1.29800E01 -4.22000E00 -6.19000E00 9.78000E00 1.72300E01 1.48900E01 6.46000E00 -3.24000E00 -2.40000E-01 8.50000E-01 -4.03000E00 -1.20600E01 -1.73300E01 -7.50000E-01 1.34000E00 -4.51000E00 1.44600E01 3.00000E01 2.29900E01 4.97400E01 5.92700E01 6.80400E01 8.10200E01 7.03300E01 7.22500E01 7.11700E01 4.00000E01 3.68400E01 2.25600E01 1.83000E00 -2.05300E01 -3.65500E01 -5.50200E01 -6.40000E01 -6.81900E01 -8.04400E01 -7.69900E01 -7.03600E01 -6.94600E01 -6.04700E01 -3.91500E01 -Frame 160 -2.81400E01 -3.77000E00 4.35000E00 9.71000E00 2.32200E01 2.51200E01 3.70500E01 3.93100E01 3.16000E01 2.86200E01 3.35200E01 2.15400E01 1.71700E01 1.76500E01 5.13000E00 1.22000E00 4.19000E00 2.50000E-01 -2.81000E00 1.00400E01 8.28000E00 7.46000E00 1.46100E01 1.69700E01 2.33900E01 1.39900E01 1.62900E01 1.26500E01 6.89000E00 -1.05000E00 -2.30000E-01 -9.38000E00 -1.78000E01 -2.54600E01 -2.93300E01 -3.62900E01 -3.34300E01 -2.64500E01 -2.72300E01 -3.30100E01 -2.19400E01 9.49000E00 2.38800E01 1.56900E01 1.72300E01 3.58000E01 6.39100E01 8.88300E01 8.14400E01 6.27500E01 6.44300E01 4.81100E01 5.52500E01 5.35700E01 2.08000E01 -4.99000E00 -1.95600E01 -1.45500E01 -2.73600E01 -4.95300E01 -4.93300E01 -4.00700E01 -4.14800E01 -5.28900E01 -4.76000E01 -3.51000E01 -1.61800E01 -1.56600E01 -1.51100E01 -1.25300E01 -1.86000E00 1.01400E01 2.35000E01 1.12500E01 -8.39000E00 4.37000E00 8.52000E00 1.67900E01 1.63000E01 -7.22000E00 -5.46000E00 2.73600E01 1.01700E01 -1.25600E01 2.00000E-02 1.29900E01 1.03500E01 5.62000E00 7.74000E00 4.92000E00 1.01000E00 1.98000E00 -2.02000E00 -2.31400E01 -2.58900E01 -2.27000E01 -2.83900E01 -3.12300E01 -4.41300E01 -6.83900E01 -5.33400E01 -5.07800E01 -5.21000E01 -5.54200E01 -4.68000E01 -5.08800E01 -3.70500E01 -3.67700E01 -4.34600E01 -3.93300E01 -3.90500E01 -3.97400E01 -4.24300E01 -3.71800E01 -3.97500E01 -5.73800E01 -5.95200E01 -5.36900E01 -7.56500E01 -6.62400E01 -6.05000E01 -6.05500E01 -3.45700E01 -7.80000E-01 3.90300E01 7.90100E01 1.38130E02 1.82930E02 1.72930E02 1.87450E02 2.02240E02 2.01300E02 1.95150E02 1.45640E02 1.03480E02 6.69400E01 1.42300E01 -1.91000E01 -7.74200E01 -1.24450E02 -1.58800E02 -1.77050E02 -1.79690E02 -1.83240E02 -1.75730E02 -1.43830E02 -1.02820E02 -8.54600E01 -4.45000E01 -6.25000E00 3.61700E01 8.48500E01 8.29400E01 9.08800E01 9.59700E01 9.71200E01 9.12100E01 7.20300E01 4.11900E01 1.03600E01 -Frame 160 5.57000E00 8.63000E00 -1.52200E01 -3.27900E01 -1.48700E01 -1.43800E01 -1.86000E00 1.80500E01 2.35600E01 4.72200E01 6.35700E01 7.43700E01 7.54400E01 5.54800E01 5.58600E01 4.22100E01 1.71100E01 -8.77000E00 -4.84300E01 -7.42600E01 -8.88100E01 -9.47200E01 -1.15720E02 -1.37260E02 -1.00340E02 -9.61900E01 -8.18300E01 -4.69600E01 -1.79800E01 2.09000E01 5.09500E01 7.68700E01 9.65100E01 1.04660E02 1.07960E02 1.21260E02 1.06860E02 8.29200E01 5.61700E01 4.95500E01 1.96900E01 -4.10000E00 -2.46100E01 -4.97200E01 -6.55500E01 -4.48000E01 -5.73600E01 -5.82500E01 -5.21100E01 -2.87300E01 -1.66000E01 -8.08000E00 1.71000E00 1.18000E01 2.51900E01 2.19700E01 1.46300E01 1.90500E01 3.59000E00 1.65000E00 -2.35000E00 -1.94700E01 -2.81000E01 -1.39700E01 -1.23900E01 -1.27500E01 -1.11000E00 5.89000E00 2.61000E01 3.39100E01 4.49300E01 6.52500E01 5.91400E01 5.47900E01 7.22600E01 5.32100E01 4.05300E01 2.74300E01 1.89100E01 1.31200E01 -7.85000E00 -3.64500E01 -2.68900E01 5.60000E01 5.14100E01 -3.53600E01 -1.97700E01 1.93300E01 2.46300E01 2.40800E01 1.50000E00 -1.17700E01 -2.14300E01 -4.53600E01 9.02000E00 -3.92000E00 -9.22500E01 -3.42200E01 2.06400E01 -3.18200E01 -4.08700E01 -2.51600E01 4.30600E01 7.73500E01 2.16300E01 2.31700E01 6.67400E01 4.36000E01 7.67100E01 7.07800E01 1.36100E01 -6.33000E00 -9.87000E00 -4.50000E00 3.05000E00 -5.81600E01 -9.92000E01 -3.24100E01 -2.75200E01 -7.44500E01 -6.77600E01 -2.58000E01 -2.52000E00 -7.52000E00 -2.06700E01 3.79000E00 2.70000E01 1.69000E01 3.24700E01 2.14900E01 -1.48500E01 -2.30000E00 1.36400E01 -7.94000E00 -2.71800E01 -3.99900E01 -3.51600E01 -1.81500E01 -3.96000E01 -6.36800E01 -3.44500E01 -1.92900E01 -3.26500E01 -4.44000E01 -5.64800E01 -4.48900E01 -3.49100E01 -6.46000E01 -6.81600E01 -7.97800E01 -1.08700E02 -8.24300E01 -7.52900E01 -1.09880E02 -1.24460E02 -1.04400E02 -5.46500E01 5.66000E00 2.08000E01 9.23600E01 -Frame 160 1.80020E02 2.59200E02 2.98570E02 2.73870E02 2.66150E02 2.83950E02 2.73050E02 2.11580E02 1.19040E02 1.45600E01 -5.71300E01 -1.05950E02 -1.84150E02 -2.72570E02 -3.21450E02 -3.07530E02 -2.73890E02 -2.58960E02 -2.32340E02 -1.67700E02 -6.29300E01 4.21100E01 7.83300E01 1.12570E02 1.62740E02 2.20290E02 2.44400E02 2.06020E02 1.39260E02 1.00310E02 9.10700E01 4.54700E01 -2.05700E01 -7.66200E01 -9.23200E01 -7.04100E01 -9.07500E01 -9.36300E01 -6.35100E01 -1.84000E01 3.71200E01 5.93200E01 5.31500E01 6.57400E01 9.86600E01 9.95100E01 6.33000E01 1.19200E01 -2.60500E01 -3.31600E01 -6.74500E01 -1.19730E02 -1.62510E02 -1.64460E02 -1.45320E02 -1.08460E02 -1.09370E02 -8.12200E01 -6.14000E00 5.62500E01 1.07500E02 1.21220E02 1.37240E02 1.71620E02 1.87900E02 1.75510E02 1.22580E02 7.29100E01 4.36500E01 6.46000E00 -4.38700E01 -1.04700E02 -1.13300E02 -1.25050E02 -1.42040E02 -1.34420E02 -1.27440E02 -9.71300E01 -4.28000E01 -2.76000E00 2.15100E01 3.45000E01 5.88500E01 8.18900E01 8.35600E01 6.72000E01 4.52700E01 2.66200E01 1.63700E01 -2.10000E-01 -3.63000E01 -5.04700E01 -4.60300E01 -3.34100E01 -2.03700E01 -1.89100E01 4.61000E00 3.88500E01 6.41100E01 6.50900E01 7.40400E01 8.62000E01 7.56600E01 6.97300E01 3.85600E01 1.84000E01 -7.39000E00 -3.59600E01 -5.73700E01 -8.13800E01 -9.10500E01 -9.29300E01 -8.47800E01 -6.13000E01 -2.20400E01 -2.55000E00 1.95400E01 4.92900E01 7.09100E01 1.08130E02 1.38400E02 1.27480E02 1.28110E02 1.02650E02 5.93200E01 5.56100E01 1.77500E01 -3.62800E01 -5.09300E01 -7.79700E01 -9.27600E01 -7.39100E01 -1.07400E02 -8.48200E01 -2.94600E01 -3.53600E01 -1.14100E01 1.12900E01 2.76800E01 7.75500E01 7.48900E01 4.60800E01 6.23400E01 2.80500E01 1.06800E01 2.57700E01 -1.76900E01 -3.34700E01 -1.97000E01 -5.14800E01 -4.71900E01 -3.47200E01 -4.28300E01 7.85000E00 1.10900E01 4.20000E-01 3.34200E01 2.74100E01 3.21900E01 5.00900E01 -Frame 160 2.25000E01 8.04000E00 1.11300E01 -1.66900E01 -2.33500E01 -3.01900E01 -5.22100E01 -4.68600E01 -5.53000E01 -5.19500E01 -4.34500E01 -5.26500E01 -3.80900E01 -1.20500E01 -1.62000E01 -1.04700E01 -1.56000E00 4.62000E00 6.98000E00 -4.60000E00 -2.15400E01 -2.89900E01 -1.96500E01 -4.80100E01 -7.12100E01 -8.60700E01 -8.43200E01 -8.84500E01 -1.01640E02 -1.10160E02 -1.00860E02 -9.72000E01 -7.43600E01 -4.57700E01 -1.92800E01 3.60200E01 9.79700E01 1.64720E02 2.45360E02 2.96250E02 3.08430E02 2.65700E02 2.30410E02 1.96830E02 1.57050E02 7.09200E01 -2.69100E01 -1.22710E02 -1.86330E02 -2.29720E02 -2.72220E02 -3.06770E02 -3.20100E02 -2.46550E02 -1.71510E02 -1.27010E02 -6.80400E01 1.57900E01 1.16170E02 1.94520E02 2.09090E02 2.03900E02 2.21350E02 2.11130E02 1.85400E02 1.14710E02 3.27400E01 -1.17800E01 -5.06500E01 -1.00660E02 -1.22110E02 -1.29100E02 -1.07180E02 -7.74800E01 -6.97900E01 -5.28000E01 1.27600E01 6.53300E01 8.94600E01 9.22500E01 5.90400E01 7.77500E01 6.69700E01 1.08000E01 -2.21100E01 -7.30100E01 -9.34100E01 -9.43500E01 -1.13230E02 -1.35590E02 -1.10520E02 -7.05800E01 -1.83500E01 1.95000E01 4.24900E01 9.11400E01 1.42200E02 1.52700E02 1.50380E02 1.29850E02 9.65700E01 8.31800E01 3.83100E01 -2.59700E01 -7.12000E01 -8.67500E01 -1.26690E02 -1.42740E02 -1.60150E02 -1.40950E02 -9.70300E01 -6.56700E01 -2.52900E01 -4.65000E00 2.56200E01 6.77900E01 9.31900E01 9.02800E01 7.71900E01 7.06200E01 5.47800E01 3.34000E01 -1.46700E01 -4.12100E01 -5.75300E01 -6.03000E01 -6.11000E01 -6.18700E01 -4.96100E01 -1.29300E01 1.38900E01 2.95200E01 4.26000E01 7.20400E01 7.23200E01 8.25400E01 6.50000E01 3.98600E01 2.19100E01 2.39000E00 -3.27300E01 -6.39000E01 -8.49700E01 -8.56100E01 -7.91900E01 -8.15000E01 -7.58100E01 -3.28800E01 -1.56000E01 2.12200E01 6.91500E01 9.04900E01 9.34000E01 1.01310E02 1.14370E02 1.18730E02 1.04120E02 7.49700E01 2.88600E01 -1.69000E00 -Frame 160 -3.21700E01 -6.15500E01 -8.67700E01 -1.13680E02 -1.04310E02 -8.25500E01 -7.20400E01 -5.61400E01 -3.47000E01 -2.57000E00 2.75500E01 5.55700E01 6.44000E01 6.64400E01 7.44800E01 6.27000E01 5.95000E01 2.51500E01 -3.28000E00 -1.55800E01 -4.62400E01 -6.18000E01 -5.67800E01 -6.05500E01 -4.93800E01 -3.38200E01 -2.37500E01 -6.35000E00 1.15900E01 4.30700E01 4.04800E01 2.97700E01 4.47000E01 3.70500E01 3.31300E01 1.80600E01 -2.34900E01 -2.23000E01 -3.30500E01 -5.81000E01 -5.98700E01 -6.66400E01 -6.65600E01 -3.94200E01 -3.64100E01 -2.22800E01 -5.70000E00 -1.06100E01 1.33300E01 2.59900E01 1.50100E01 2.86700E01 1.27200E01 8.26000E00 -4.35000E00 -3.13500E01 -2.01600E01 -2.36100E01 -5.51500E01 -4.96200E01 -4.78800E01 -5.90500E01 -5.35200E01 -6.27800E01 -7.32800E01 -5.80500E01 -7.23100E01 -5.69600E01 -6.61000E01 -8.84800E01 -6.74900E01 -4.58100E01 -7.54400E01 -2.39400E01 3.15000E00 4.60500E01 1.22210E02 1.66590E02 2.42170E02 2.80850E02 2.50460E02 2.35900E02 2.11680E02 1.29530E02 9.37400E01 3.78000E00 -1.08940E02 -1.47020E02 -2.16120E02 -2.71140E02 -2.73600E02 -2.94880E02 -2.58550E02 -1.67870E02 -1.19250E02 -2.70400E01 5.60200E01 1.13570E02 2.03770E02 2.34550E02 2.18050E02 2.38830E02 1.93030E02 1.45640E02 1.16660E02 1.56900E01 -4.74000E01 -7.23800E01 -1.52050E02 -1.49030E02 -1.39770E02 -1.26090E02 -7.28700E01 -4.29400E01 -2.40500E01 4.44400E01 7.30000E01 8.93700E01 1.25160E02 9.39400E01 6.46700E01 4.94400E01 -8.30000E00 -4.88100E01 -7.85200E01 -1.15070E02 -1.07640E02 -1.06880E02 -1.16000E02 -6.13000E01 -2.88600E01 6.60000E00 7.11400E01 9.36000E01 1.29660E02 1.57710E02 1.38480E02 1.31530E02 1.14250E02 4.93400E01 3.39000E00 -4.49700E01 -8.67700E01 -1.23770E02 -1.42790E02 -1.37260E02 -1.39430E02 -1.23540E02 -7.80500E01 -3.10900E01 2.34000E00 4.27900E01 7.14400E01 8.19000E01 9.36000E01 9.35700E01 6.94500E01 5.15200E01 1.89900E01 -1.65600E01 -Frame 160 -3.41900E01 -6.23300E01 -7.32800E01 -6.35000E01 -5.83600E01 -4.10100E01 -6.09000E00 2.19100E01 5.07500E01 6.54300E01 7.45000E01 7.97800E01 7.41500E01 6.02800E01 2.99300E01 2.62000E00 -2.85300E01 -5.36100E01 -8.14100E01 -8.79900E01 -7.96900E01 -7.30600E01 -6.31600E01 -3.09000E01 7.38000E00 2.78300E01 4.98800E01 7.15600E01 1.01840E02 1.12960E02 1.01320E02 7.92300E01 7.13900E01 3.92500E01 1.50900E01 1.21800E01 -2.18200E01 -3.98400E01 -4.73700E01 -5.00800E01 -4.58200E01 -5.83800E01 -5.72700E01 -2.70700E01 -8.91000E00 -3.18000E00 1.47300E01 8.18000E00 2.34200E01 3.21100E01 1.70400E01 1.94900E01 1.90000E01 -1.52000E00 1.33300E01 9.63000E00 -3.19000E00 6.00000E-01 -2.49000E00 -1.86700E01 -3.33000E00 -1.51000E00 3.70000E-01 6.31000E00 -7.57000E00 -1.18700E01 -1.12900E01 -7.68000E00 4.05000E00 -6.86000E00 -1.81000E01 -3.67000E00 -4.79000E00 -1.29400E01 -1.33000E00 -1.53600E01 -8.81000E00 -1.05000E00 -6.05000E00 -1.42000E01 -2.35900E01 -2.42500E01 -2.19100E01 -2.74800E01 -3.52000E01 -3.91300E01 -2.11500E01 -2.26000E01 -1.30800E01 -1.62600E01 -1.53000E00 1.16500E01 8.22000E00 3.67000E00 4.97000E00 1.30000E00 -2.49000E00 -2.04000E01 -4.58500E01 -5.70500E01 -6.05500E01 -7.21100E01 -9.79700E01 -1.06550E02 -9.53100E01 -1.00650E02 -7.80800E01 -8.07600E01 -8.94700E01 -5.83900E01 -4.53200E01 3.17000E00 5.51300E01 7.46200E01 1.49620E02 1.83780E02 2.26810E02 2.90950E02 2.46800E02 1.92060E02 1.70460E02 9.00500E01 3.60900E01 -2.75500E01 -1.55110E02 -1.88450E02 -2.12630E02 -2.57350E02 -2.37210E02 -2.47230E02 -2.09340E02 -9.91000E01 -4.63800E01 2.49900E01 1.00520E02 1.29270E02 1.97770E02 2.37190E02 1.88600E02 1.72330E02 1.42400E02 6.74200E01 3.70700E01 -2.12400E01 -8.83200E01 -7.83800E01 -1.14050E02 -1.22710E02 -8.95200E01 -6.92200E01 -1.02300E01 4.75900E01 3.71500E01 6.03500E01 8.22100E01 6.76700E01 8.36200E01 3.39900E01 -3.42000E01 -2.64600E01 -Frame 160 -4.84500E01 -9.20700E01 -7.99500E01 -1.08380E02 -8.55900E01 -3.50200E01 -1.98600E01 2.78000E00 5.71100E01 9.50600E01 1.34090E02 1.21200E02 1.05800E02 1.07830E02 8.88300E01 3.21700E01 7.40000E-01 -5.16500E01 -7.46000E01 -7.91800E01 -1.14820E02 -1.18450E02 -8.10800E01 -6.64800E01 -1.83700E01 -1.76000E00 4.36000E00 4.86600E01 6.92800E01 6.94700E01 5.46000E01 2.82200E01 1.90000E01 1.44800E01 -2.31900E01 -5.00000E01 -4.55900E01 -4.70000E01 -2.44100E01 -2.11000E01 -7.67000E00 2.01800E01 4.68700E01 7.13400E01 6.15000E01 6.13000E01 7.90400E01 6.22600E01 1.99100E01 -6.76000E00 -2.32400E01 -4.22000E01 -5.87000E01 -6.86500E01 -7.28400E01 -5.30900E01 -2.56800E01 -3.40000E00 4.57000E00 2.17800E01 5.15000E01 7.80900E01 7.74300E01 6.56800E01 6.05100E01 4.61300E01 1.72700E01 3.35100E01 -5.17700E01 1.43700E01 9.55000E00 -4.44200E01 -3.10100E01 1.68500E01 1.51800E01 5.24500E01 5.28300E01 3.21800E01 7.08700E01 5.47000E01 4.19900E01 3.86000E00 -4.74400E01 -2.42700E01 -3.43500E01 -6.17000E01 -5.98300E01 -6.08400E01 -6.38200E01 8.17000E00 6.38000E00 1.45300E01 5.49200E01 6.45100E01 7.53400E01 8.44400E01 4.87500E01 5.29200E01 3.01800E01 -1.42800E01 -3.70900E01 -3.95600E01 -4.00600E01 -4.25300E01 -6.20300E01 -6.20700E01 -1.30500E01 -1.15000E01 1.81100E01 3.16200E01 2.05200E01 4.50600E01 5.53200E01 2.58500E01 5.45000E00 -2.05800E01 -2.63900E01 -2.23500E01 -5.51600E01 -7.09300E01 -4.81200E01 -3.25600E01 -3.14900E01 -1.23600E01 4.37000E00 2.46100E01 2.14500E01 2.21700E01 2.88900E01 3.07900E01 1.47200E01 1.40000E-01 -2.68900E01 -4.67300E01 -3.71400E01 -4.72200E01 -5.75700E01 -6.31900E01 -5.89300E01 -5.64900E01 -4.19300E01 -4.18900E01 -5.18200E01 -3.20200E01 -4.35900E01 -3.74900E01 -4.21800E01 -7.89900E01 -7.28800E01 -7.75300E01 -9.92700E01 -5.76100E01 -1.56300E01 1.86400E01 7.79300E01 1.23960E02 1.79280E02 2.94130E02 3.28250E02 2.63120E02 -Frame 160 2.28740E02 1.65100E02 8.83600E01 3.11900E01 -1.06750E02 -2.11830E02 -2.37940E02 -2.73620E02 -2.73140E02 -2.68390E02 -2.67250E02 -1.55840E02 -2.98600E01 2.10200E01 1.29430E02 1.78050E02 2.06990E02 2.70620E02 2.41960E02 1.86190E02 1.43530E02 6.74300E01 -7.07000E00 -4.98500E01 -1.12890E02 -1.19760E02 -1.13720E02 -1.32380E02 -9.14900E01 -3.32500E01 1.28200E01 8.93000E01 8.90600E01 6.47300E01 9.35900E01 8.02600E01 4.14500E01 -4.59000E00 -6.80400E01 -9.13800E01 -8.73500E01 -1.21110E02 -1.30800E02 -8.86700E01 -4.41600E01 2.37600E01 4.77500E01 7.94300E01 1.32010E02 1.39090E02 1.34260E02 1.21160E02 7.75500E01 4.45300E01 1.64600E01 -4.74800E01 -8.63400E01 -9.83100E01 -9.75500E01 -7.86700E01 -8.51300E01 -7.97100E01 -1.30500E01 3.16800E01 4.07600E01 6.00800E01 5.59400E01 4.56200E01 5.79400E01 2.59000E00 -1.64700E01 -3.21000E01 -6.11800E01 -7.11000E01 -6.92600E01 -6.43000E01 -2.31300E01 3.30000E-01 2.75100E01 7.25000E01 7.38100E01 9.50900E01 1.10940E02 7.81800E01 5.03400E01 3.36000E01 -1.68000E00 -3.10400E01 -5.42700E01 -8.81600E01 -8.20100E01 -6.75900E01 -6.16600E01 -2.34900E01 8.80000E-01 3.10000E01 6.40200E01 7.00000E01 7.31000E01 7.42300E01 5.63300E01 4.68300E01 1.40000E01 -1.08500E01 -2.64500E01 -3.95000E01 -4.99100E01 -5.65900E01 -2.54200E01 -5.26000E00 9.53000E00 5.07700E01 8.52400E01 8.27000E01 9.10100E01 1.03500E02 7.22900E01 4.70600E01 1.70200E01 -7.95000E00 -2.56700E01 -6.39000E01 -7.52400E01 -6.28500E01 -6.90100E01 -5.02900E01 -1.94000E00 3.91000E00 2.49400E01 5.46000E01 6.41300E01 8.19000E01 7.21500E01 4.20400E01 4.09700E01 1.38400E01 -1.01300E01 -3.82000E00 -3.03000E01 -4.05600E01 -2.60900E01 -2.61400E01 -1.21600E01 1.22700E01 1.64500E01 3.47500E01 4.35900E01 3.16700E01 3.43600E01 2.41100E01 -4.70000E-01 -2.80000E00 -1.71900E01 -3.80000E01 -1.84100E01 -3.51900E01 -3.74500E01 -1.27400E01 -4.25000E00 7.51000E00 -Frame 160 2.56300E01 1.42900E01 1.85900E01 3.20100E01 7.82000E00 9.88000E00 -3.00000E00 -2.12700E01 -2.00800E01 -3.08300E01 -3.68800E01 -1.70800E01 -1.16500E01 -2.90400E01 -1.39400E01 -9.36000E00 1.03700E01 9.70000E00 -5.00000E00 -6.15000E00 -1.53300E01 -3.27800E01 -3.57400E01 -5.07600E01 -6.42000E01 -6.40000E01 -6.77400E01 -7.15400E01 -8.14000E01 -5.65000E01 -7.77900E01 -6.26800E01 -6.80600E01 -5.85600E01 -5.17300E01 -5.06600E01 4.47000E00 4.12800E01 7.91700E01 1.26140E02 1.74430E02 2.05040E02 2.96400E02 2.87310E02 1.87680E02 1.59810E02 7.09500E01 2.73000E01 -5.47000E01 -1.93160E02 -2.37700E02 -2.37380E02 -2.49820E02 -2.21410E02 -1.76920E02 -1.60900E02 -1.82500E01 6.58100E01 8.33900E01 1.65420E02 1.86820E02 1.85700E02 2.10370E02 1.38610E02 8.05100E01 6.95500E01 -4.80000E00 -4.84300E01 -5.23500E01 -8.53300E01 -5.02400E01 -3.50100E01 -5.32700E01 -8.04000E00 4.66000E01 5.88900E01 6.95100E01 2.74000E01 -1.50300E01 4.25000E00 -2.58700E01 -6.08900E01 -8.89300E01 -8.67500E01 -7.54200E01 -3.16700E01 -2.45400E01 -6.17000E00 5.57700E01 8.15700E01 9.10900E01 1.00820E02 8.47600E01 7.81300E01 5.32300E01 2.52000E00 -1.77500E01 -2.56200E01 -5.77000E01 -5.87100E01 -6.36900E01 -4.67600E01 -7.26000E00 1.04700E01 1.07400E01 1.30100E01 3.43400E01 4.03000E01 3.14100E01 -2.78000E00 -3.80200E01 -3.83100E01 -4.55700E01 -5.40100E01 -6.56600E01 -7.06100E01 -2.26500E01 4.81000E00 1.31100E01 3.86500E01 5.99400E01 7.78300E01 8.22000E01 7.66300E01 4.18200E01 3.89000E01 1.28600E01 -8.99000E00 -3.15000E01 -5.06700E01 -4.63800E01 -3.09100E01 -3.69300E01 -4.01000E01 -1.33000E00 1.36400E01 2.50600E01 3.28100E01 1.37700E01 2.11300E01 3.77000E01 1.27500E01 -6.98000E00 -9.31000E00 -1.07000E01 1.18800E01 8.15000E00 -1.57000E01 1.07300E01 3.09700E01 2.98100E01 4.05900E01 2.26700E01 1.51800E01 3.24500E01 5.23000E00 -3.83000E00 3.88400E01 -2.00000E-01 -2.04400E01 -Frame 160 4.17200E01 3.17700E01 1.44900E01 4.66700E01 1.78100E01 9.05000E00 -2.98000E00 -1.63700E01 -1.50000E-01 -3.14200E01 -8.46200E01 -3.33800E01 -1.05200E01 -3.89400E01 -5.20000E00 2.45900E01 2.12800E01 6.38500E01 6.46800E01 4.84800E01 5.87400E01 4.82700E01 2.94400E01 2.10100E01 -1.76900E01 -2.85600E01 -1.47300E01 -5.14500E01 -3.62500E01 -1.54000E00 -3.07500E01 -1.78300E01 1.05100E01 1.47200E01 2.40500E01 4.26500E01 1.87900E01 1.81800E01 9.54000E00 -1.43700E01 9.00000E00 -1.79100E01 -3.66300E01 -3.18900E01 -1.99700E01 -2.06600E01 1.65000E00 8.65000E00 1.86000E00 1.48600E01 1.22500E01 2.55000E00 2.55000E00 -6.45000E00 -5.72000E00 -1.79600E01 -3.65600E01 -1.87000E01 -7.27000E00 -1.04800E01 -2.97800E01 -1.86500E01 -1.01600E01 -1.04000E01 -1.66400E01 -1.00600E01 -3.22700E01 -2.61400E01 -1.08000E01 -4.19800E01 -6.60900E01 -4.68900E01 -7.30600E01 -6.69800E01 -6.46600E01 -8.82200E01 -6.34400E01 -5.98500E01 -9.41100E01 -8.03600E01 -6.51300E01 -7.63900E01 -3.29500E01 2.78400E01 5.84600E01 1.23950E02 1.80330E02 2.12270E02 2.50990E02 3.08670E02 2.50850E02 1.60020E02 8.12500E01 -1.00000E-02 -6.27600E01 -1.49370E02 -2.30500E02 -2.49910E02 -2.20680E02 -2.05340E02 -1.40340E02 -8.32100E01 -3.42500E01 5.02400E01 1.25280E02 1.14510E02 1.32290E02 1.48490E02 1.16050E02 8.65000E01 6.79600E01 2.17900E01 7.18000E00 1.11200E01 -2.08200E01 7.28000E00 3.32500E01 2.40000E01 2.64500E01 2.39600E01 3.80000E-01 1.60800E01 2.60000E-01 -4.40400E01 -7.66600E01 -8.72100E01 -8.10000E01 -7.75200E01 -6.18600E01 -3.96600E01 -8.74000E00 3.11400E01 5.72200E01 7.30500E01 7.73000E01 6.26100E01 5.14100E01 2.68200E01 1.45000E00 -4.70000E00 -1.50300E01 -4.26600E01 -3.31000E01 -2.21000E00 6.64000E00 2.47600E01 3.24200E01 3.12900E01 4.01000E01 1.91500E01 1.05400E01 8.66000E00 -4.22800E01 -6.77500E01 -5.39400E01 -6.76500E01 -6.37200E01 -6.06100E01 -5.23500E01 -1.27900E01 -Frame 160 2.90000E01 2.40500E01 2.09200E01 4.26700E01 3.40500E01 2.01300E01 2.87600E01 2.63000E00 -2.31000E00 9.60000E00 -9.13000E00 -8.43000E00 2.53000E01 1.40500E01 8.44000E00 2.76500E01 2.14300E01 9.00000E00 5.18000E00 -2.77600E01 -1.76900E01 -1.82900E01 -3.78900E01 -3.80600E01 -1.20000E00 -1.72000E01 -4.68000E00 2.22300E01 2.69500E01 2.77900E01 4.06300E01 2.68300E01 1.75800E01 2.70300E01 4.75000E00 -2.22000E00 -9.40000E00 -1.97900E01 -1.24800E01 -7.93000E00 -7.23000E00 6.50000E00 7.65000E00 1.83000E00 -1.70000E-01 5.27700E01 7.33000E01 8.40000E00 2.54900E01 5.70900E01 -4.38000E00 -2.17400E01 3.13900E01 -3.08600E01 -4.80000E01 1.38000E00 -1.97100E01 -1.94300E01 -7.12000E00 -2.74200E01 -1.23200E01 1.52600E01 -9.32000E00 1.03500E01 2.26200E01 3.25000E00 3.62800E01 3.83000E01 -1.65000E00 1.31700E01 2.94400E01 -1.38100E01 2.62000E00 3.75600E01 -6.45000E00 -4.81000E00 8.90000E-01 -1.62300E01 1.40000E-01 -1.39800E01 -4.55200E01 -3.99000E00 -2.71700E01 -4.60400E01 6.55000E00 2.76000E00 -3.11500E01 6.92000E00 2.31600E01 -6.12000E00 2.17000E01 1.93600E01 -1.20700E01 -1.46000E00 1.48000E00 -1.49000E00 -1.55000E00 -2.61000E00 -1.47000E01 -9.15000E00 -1.94200E01 -2.69900E01 -7.77000E00 -2.69500E01 -1.87000E01 3.82000E00 -1.89700E01 -2.54500E01 -1.10000E-01 -1.09900E01 -2.92000E01 -9.95000E00 -1.81000E01 -2.44900E01 -1.50600E01 -4.53300E01 -3.15000E01 -1.32200E01 -3.53700E01 -5.81800E01 -3.66500E01 -4.04300E01 -5.73000E01 -5.36500E01 -6.28500E01 -8.22900E01 -4.62700E01 -7.71100E01 -9.68500E01 -6.21300E01 -5.53000E01 -6.42300E01 -3.24000E01 -5.25800E01 -2.73600E01 6.06400E01 7.12800E01 1.04160E02 1.73940E02 1.96700E02 1.96970E02 2.63060E02 1.46950E02 4.81200E01 2.62000E01 -3.24100E01 -1.34790E02 -1.39200E02 -1.74610E02 -1.70950E02 -1.16020E02 -8.62900E01 -7.25700E01 -1.13700E01 1.17200E01 2.25000E01 6.15800E01 4.98000E01 4.76000E01 6.52800E01 -Frame 160 3.24400E01 2.45500E01 6.73900E01 4.54900E01 4.28700E01 6.61300E01 6.80500E01 4.69700E01 5.32000E01 1.75800E01 -1.81500E01 -3.99600E01 -4.74000E01 -8.10200E01 -7.46000E01 -6.69100E01 -7.69200E01 -3.41700E01 -1.60700E01 -1.24000E01 1.23900E01 2.39300E01 2.78000E01 2.57600E01 2.26300E01 -6.20000E-01 1.14100E01 -5.20000E00 -2.83200E01 -1.31300E01 1.45400E01 5.00000E-02 6.11000E00 3.23500E01 1.53700E01 3.98500E01 3.90500E01 8.19000E00 6.37000E00 1.54900E01 -1.61200E01 -3.56900E01 -3.98300E01 -5.00600E01 -4.95600E01 -3.80000E01 -4.00500E01 -1.71300E01 -7.49000E00 -5.55000E00 -1.55500E01 -1.28500E01 -7.06000E00 -8.09000E00 -1.51500E01 -1.64200E01 -6.72000E00 1.52800E01 2.19400E01 1.77800E01 2.44700E01 4.23400E01 2.87200E01 3.16500E01 1.26400E01 -4.97000E00 -1.91200E01 -1.26900E01 -3.20500E01 -3.99800E01 -1.41200E01 -5.45000E00 -2.05100E01 -8.02000E00 1.58600E01 -5.40000E-01 3.55000E00 1.76000E00 -6.09000E00 -1.80000E-01 1.29100E01 2.39000E00 2.54000E00 2.16900E01 6.41000E00 1.06500E01 1.50100E01 -5.51000E00 -2.66000E00 6.28000E00 1.14900E01 -5.15000E00 1.47000E01 5.61500E01 3.48300E01 2.68200E01 5.45400E01 6.30700E01 -1.01900E01 -3.37000E01 -1.09000E01 -3.33800E01 -8.15200E01 -4.30700E01 -3.13900E01 -4.13200E01 -2.65200E01 1.47600E01 1.43000E01 -1.41900E01 1.24500E01 2.69000E01 8.77000E00 1.00700E01 3.14000E01 3.36000E00 4.50000E-01 2.84500E01 2.02900E01 1.38600E01 1.42200E01 8.58000E00 -9.24000E00 -1.76000E01 -2.22000E01 -1.59200E01 -3.44300E01 -3.44800E01 -3.15000E01 -2.74000E01 -2.01500E01 -9.66000E00 -1.18400E01 -1.00800E01 3.74000E00 -1.02000E00 3.07000E00 -1.72000E00 -1.66000E00 -2.60000E00 -1.57000E00 -8.51000E00 -6.66000E00 -1.67500E01 -7.14000E00 -1.72300E01 -1.36200E01 -1.78900E01 -1.92800E01 -1.37000E01 -7.94000E00 -1.10000E01 -1.91500E01 -1.45400E01 -1.17800E01 -1.29300E01 -2.81100E01 -2.27400E01 -2.11900E01 -2.25800E01 -Frame 160 -2.80000E01 -3.55700E01 -3.43500E01 -3.20700E01 -1.87000E01 -3.59100E01 -3.26300E01 -2.92300E01 -2.57100E01 -4.80700E01 -3.90900E01 -4.98100E01 -5.08300E01 -5.38500E01 -4.19300E01 -5.26200E01 -4.46100E01 -5.63300E01 -4.33800E01 -6.20100E01 -6.31800E01 -5.23500E01 -5.11600E01 -5.79100E01 -5.88400E01 -2.17700E01 2.04400E01 3.79100E01 6.78600E01 1.35650E02 1.60390E02 1.37730E02 1.83230E02 1.08960E02 4.22900E01 -9.48000E00 -2.48400E01 -8.36500E01 -1.18200E02 -9.47100E01 -7.44100E01 -6.04200E01 -5.59500E01 -2.63000E01 -1.07200E01 -4.66000E00 5.80000E-01 3.97000E00 -7.55000E00 4.57000E00 1.70500E01 -1.10000E-01 8.19000E00 4.87300E01 3.94700E01 4.58800E01 4.54400E01 5.79400E01 4.97700E01 1.53000E01 1.75000E00 -8.22000E00 -1.14900E01 -3.98500E01 -4.10500E01 -3.62500E01 -3.62700E01 -1.52600E01 -1.45900E01 -1.28900E01 -1.13000E00 -1.50100E01 -1.23100E01 -5.52000E00 -4.52000E00 -2.24900E01 -2.60000E01 -5.60000E00 2.43000E00 -3.00000E-01 -8.12000E00 -3.61800E01 4.49200E01 2.34800E01 -1.26500E01 -7.89000E00 -5.98000E00 1.69900E01 -4.35000E00 -3.35000E00 -2.93200E01 -2.50700E01 2.63300E01 -8.71000E00 -3.78300E01 -5.82000E00 1.31800E01 2.75000E00 -3.00100E01 -1.87600E01 -9.15000E00 -3.22400E01 -3.10200E01 -9.74000E00 -2.48000E01 -2.33100E01 -1.17600E01 -1.78500E01 3.88000E00 -1.17300E01 -6.82000E00 2.32400E01 -4.80000E00 -5.37100E01 8.59100E01 1.27760E02 -7.52200E01 -1.37410E02 8.60000E00 1.85110E02 -2.81000E01 -1.49880E02 2.37100E01 9.86400E01 -1.92100E01 -9.16900E01 9.06700E01 4.35800E01 -8.40100E01 3.53000E00 3.17700E01 -3.81500E01 -1.52000E01 4.54700E01 2.97000E00 -3.28500E01 1.62500E01 2.98500E01 -2.81600E01 -2.69400E01 1.34000E00 1.64900E01 -1.19100E01 -2.11800E01 3.12800E01 5.73300E01 -2.98700E01 -1.57400E01 5.78400E01 3.56400E01 -3.82800E01 -5.45000E00 5.04000E01 3.89300E01 -4.69300E01 -2.84000E01 2.87300E01 1.56000E01 -5.49500E01 -4.46300E01 -Frame 160 4.20500E01 2.03700E01 -6.50000E01 -1.99500E01 5.45100E01 1.02200E01 -4.54500E01 -6.80000E00 3.30500E01 9.10000E00 -4.06000E01 1.12000E01 3.85900E01 -1.21000E00 -1.92400E01 2.19000E00 2.72800E01 1.91200E01 -1.93100E01 5.09000E00 7.24000E00 -1.25500E01 -2.69400E01 5.25000E00 1.14300E01 -9.21000E00 -1.24800E01 -5.84000E00 -9.90000E-01 3.01000E00 2.13000E00 2.02200E01 -5.15000E00 -3.00000E-01 -4.30000E00 -6.42000E00 1.40000E00 -5.54000E00 -4.69000E00 -2.81000E00 -6.87000E00 -3.05000E00 -4.11000E00 -1.12000E01 1.50000E00 5.59000E00 -1.82000E01 -2.47100E01 2.60000E00 6.75000E00 -1.09800E01 -1.72500E01 -1.07000E01 7.06000E00 1.36000E00 -2.15200E01 -6.09000E00 1.82000E00 1.09700E01 -1.46100E01 -3.09700E01 6.19000E00 6.49000E00 -1.12100E01 -2.24500E01 -1.30200E01 -7.29000E00 -1.63800E01 -1.47400E01 -1.10400E01 -1.62200E01 -1.55500E01 -7.85000E00 -1.39100E01 -1.71500E01 -1.14800E01 -2.06300E01 -1.50500E01 -2.32900E01 -7.77000E00 -1.87700E01 -1.41000E01 -2.52800E01 -2.47900E01 -1.62700E01 -4.48000E00 -3.30000E-01 -2.06000E00 1.11500E01 1.37500E01 2.74100E01 1.44600E01 1.50900E01 1.07200E01 3.20000E00 -9.56000E00 -8.71000E00 5.17000E00 5.47000E00 7.77000E00 1.91300E01 1.48200E01 5.36000E00 4.60000E00 1.18100E01 -8.77000E00 1.00200E01 -9.62000E00 -8.86000E00 -6.07000E00 -6.19000E00 -5.31000E00 6.60000E00 3.87000E00 3.05000E00 9.20000E00 -1.47000E00 4.53000E00 1.37100E01 3.16000E00 -1.72000E00 -1.57500E01 -4.20000E00 4.71000E00 -4.11000E00 -2.20000E00 -3.23000E00 -1.29000E00 6.07100E01 -5.84300E01 -3.02000E01 3.19300E01 3.89500E01 6.15000E00 -5.16700E01 -4.23000E00 6.80000E-01 6.74000E00 -4.02000E00 -1.21100E01 2.56000E00 2.96800E01 -3.33900E01 -1.53800E01 1.82000E01 1.80000E00 -3.41100E01 -1.11000E01 1.36300E01 -1.48900E01 -2.02800E01 -2.82000E00 -2.82000E00 -1.28200E01 -9.12000E00 -1.30000E00 -2.40000E-01 -1.01500E01 -3.36000E00 -2.36000E00 -Frame 160 -4.33000E00 -7.36000E00 -7.48000E00 -4.60000E00 -6.63000E00 -1.17200E01 -1.19600E01 -9.20000E00 -4.35000E00 -8.35000E00 -1.47000E00 -1.33800E01 -9.65000E00 1.20000E00 1.13800E01 2.86000E00 1.07000E00 6.22000E00 -1.14800E01 2.80000E-01 1.40000E00 -4.45000E00 3.52000E00 -1.27000E00 -2.10000E-01 8.80000E-01 4.00000E00 -3.79000E00 -2.82000E00 1.80000E-01 8.27000E00 6.60000E00 1.18700E01 2.12900E01 4.98000E00 1.60000E-01 6.19000E00 5.40000E00 1.35800E01 2.10000E01 1.66300E01 7.11000E00 3.29000E00 5.35000E00 1.47000E00 1.34700E01 2.83000E00 2.86000E00 -2.11000E00 8.77000E00 2.98000E00 1.00000E-02 5.95000E00 5.07000E00 -7.84000E00 -3.14000E00 -1.29000E00 6.62000E00 1.07700E01 -1.96000E00 -2.08000E00 9.80000E00 2.04000E00 4.04000E00 1.11000E01 1.73700E01 1.82000E00 -7.21000E00 4.49000E00 -1.45000E00 -5.70000E-01 5.34000E00 7.43000E00 -2.42000E00 -8.57000E00 1.00000E-01 6.04000E00 6.16000E00 1.12800E01 1.55000E00 4.52000E00 7.58000E00 5.73000E00 1.38200E01 -8.50000E-01 4.03000E00 4.06000E00 6.09000E00 5.18000E00 5.24000E00 2.30000E00 -4.73000E00 -3.97000E00 6.82000E00 -5.06000E00 -3.00000E-01 4.61000E00 4.67000E00 5.73000E00 -4.18000E00 6.61000E00 2.73000E00 7.30000E-01 1.67000E00 -1.36000E00 1.52000E00 4.49000E00 5.55000E00 4.64000E00 8.70000E00 6.88000E00 0.00000E00 1.91000E00 1.68800E01 4.30000E00 -1.06700E01 -8.09000E00 8.58000E00 3.76000E00 3.79000E00 -1.18000E00 3.70000E00 7.73000E00 -1.20000E-01 6.79000E00 -9.00000E-02 -8.18000E00 3.49000E00 -1.04800E01 -4.87000E00 -4.08000E00 -7.26000E00 -9.53000E00 -6.86000E00 3.90000E00 -1.00000E-02 3.96000E00 1.05000E00 -8.95000E00 -7.25000E00 -1.49000E00 -2.55000E00 -2.64000E00 -5.73000E00 -1.49100E01 -1.33600E01 -9.75000E00 -1.50200E01 -7.44000E00 -3.62000E00 3.20000E-01 -6.62000E00 3.23000E00 1.03800E01 3.74000E00 9.89000E00 9.22000E00 1.55200E01 2.60000E01 8.78000E00 -Frame 160 -2.98000E00 6.90000E00 -5.92000E00 -3.13000E00 2.27500E01 1.04100E01 1.46800E01 8.07000E00 8.25000E00 -3.57000E00 8.25000E00 1.44300E01 1.77900E01 -1.76000E00 1.09000E00 8.03000E00 3.18000E00 1.31800E01 4.48000E00 8.51000E00 -1.34000E00 6.51000E00 1.56000E01 1.49600E01 5.29000E00 2.32000E00 -1.17400E01 -9.22000E00 2.39000E00 7.36000E00 7.48000E00 6.60000E00 5.69000E00 5.75000E00 7.81000E00 4.93000E00 1.39600E01 1.12600E01 -1.53000E00 6.29000E00 3.35000E00 3.32000E00 1.12900E01 5.00000E-01 1.38000E00 -4.71000E00 4.02000E00 7.02000E00 6.11000E00 -2.83000E00 -8.04000E00 -9.40000E00 9.21000E00 1.39000E00 3.30000E-01 4.24000E00 -7.30000E-01 -1.85000E00 -2.00000E00 7.85000E00 3.00000E00 8.00000E00 -8.50000E-01 1.90300E01 -2.44900E01 4.67000E00 2.47300E01 -9.61000E00 1.00000E00 1.94000E00 -3.09000E00 1.73000E00 7.00000E-01 3.64000E00 1.06700E01 -8.09000E00 1.58000E00 1.35500E01 3.88000E00 1.69100E01 1.33000E00 9.27000E00 3.45000E00 5.45000E00 9.51000E00 6.69000E00 -8.22000E00 8.42000E00 9.57000E00 9.75000E00 1.79300E01 9.35000E00 1.35000E01 7.70000E-01 1.56500E01 1.49800E01 1.42800E01 2.15500E01 2.80300E01 8.69000E00 4.75000E00 2.69000E00 9.57000E00 5.66000E00 1.86300E01 2.89900E01 1.66500E01 6.92000E00 1.98900E01 2.02500E01 1.36100E01 1.47600E01 2.59400E01 2.45000E00 2.40000E-01 7.97000E00 1.09400E01 9.00000E00 0.00000E00 1.47300E01 9.91000E00 1.19400E01 2.20300E01 1.04200E01 1.14500E01 6.51000E00 4.42000E00 7.27000E00 8.21000E00 1.21800E01 1.52700E01 1.64500E01 2.66000E00 7.45000E00 3.39000E00 2.12100E01 2.25700E01 6.96000E00 1.18700E01 2.39300E01 1.63500E01 9.53000E00 5.50000E00 2.03500E01 1.56500E01 8.00000E-01 8.50000E00 1.44400E01 6.56000E00 1.14400E01 9.47000E00 6.44000E00 8.32000E00 2.42600E01 1.46800E01 1.08000E01 8.80000E00 1.07400E01 1.17400E01 1.87700E01 -Frame 160 7.01000E00 1.68900E01 1.70700E01 1.02500E01 1.22200E01 1.32500E01 7.31000E00 1.11900E01 1.11900E01 1.11900E01 6.19000E00 4.04000E00 1.08300E01 5.83000E00 1.46800E01 1.38000E01 1.18900E01 1.29200E01 1.09800E01 6.98000E00 1.38600E01 6.95000E00 6.83000E00 1.67100E01 1.68900E01 2.07000E00 1.18000E01 1.28300E01 1.18900E01 2.92000E00 4.68000E00 1.05000E01 7.50000E00 7.41000E00 1.13200E01 1.63500E01 1.05300E01 6.53000E00 1.04100E01 1.14100E01 -2.56000E00 1.30500E01 8.14000E00 2.08000E00 -1.16000E00 -4.90000E-01 5.21000E00 6.09000E00 1.40000E01 1.11500E01 1.21000E00 6.97000E00 1.09100E01 8.97000E00 5.97000E00 2.28800E01 1.03000E01 5.33000E00 9.21000E00 1.42100E01 9.36000E00 8.36000E00 2.23300E01 2.07200E01 2.60500E01 2.55300E01 9.98000E00 -4.05000E00 1.65000E01 2.26800E01 2.30400E01 2.54000E01 3.18200E01 1.94200E01 1.26300E01 1.66300E01 1.47500E01 2.81000E00 2.35100E01 2.38400E01 1.31700E01 3.17000E00 1.58700E01 2.09600E01 1.52000E01 1.52600E01 1.83200E01 1.84700E01 1.46200E01 2.16500E01 1.68900E01 1.98000E00 9.62000E00 1.65000E01 9.59000E00 1.24700E01 2.24400E01 1.97100E01 7.89000E00 1.07100E01 1.76200E01 1.27400E01 1.67100E01 1.48000E01 7.83000E00 6.65000E00 5.44000E00 1.12000E01 1.01400E01 1.50500E01 2.01100E01 8.32000E00 5.17000E00 1.49300E01 7.99000E00 2.84000E00 2.54000E00 1.24000E00 1.09100E01 1.28800E01 1.59100E01 9.03000E00 1.09400E01 9.91000E00 -2.15000E00 6.43000E00 9.28000E00 -7.80000E-01 -2.14000E00 -5.30000E-01 -1.86000E00 4.78000E00 8.63000E00 7.60000E00 1.25400E01 8.63000E00 5.60000E00 1.84800E01 1.07500E01 1.78000E00 1.75400E01 4.78000E00 4.63000E00 1.24800E01 1.25700E01 1.66000E00 4.42000E00 1.27000E00 8.03000E00 8.00000E00 3.97000E00 7.82000E00 8.79000E00 9.79000E00 1.48200E01 2.20000E01 6.39000E00 4.30000E00 1.81500E01 1.94200E01 -Frame 160 6.72000E00 2.56300E01 2.21100E01 -5.30000E-01 5.14000E00 2.39900E01 2.14100E01 7.74000E00 1.16500E01 1.06800E01 6.80000E-01 1.23800E01 1.64400E01 1.36200E01 3.71000E00 1.15000E01 1.25300E01 1.45900E01 8.71000E00 1.56500E01 1.08000E01 5.80000E00 3.65000E00 1.04400E01 1.94400E01 1.37100E01 1.48000E01 6.92000E00 -2.00000E-01 1.47000E00 1.02000E01 1.52000E01 8.35000E00 1.22900E01 6.35000E00 1.23000E00 1.29600E01 2.40500E01 1.14700E01 6.50000E00 6.38000E00 1.22600E01 1.33200E01 1.64100E01 1.75900E01 6.80000E00 1.68000E00 1.04100E01 1.04100E01 7.41000E00 4.32000E00 3.14000E00 -4.07000E00 -2.49000E00 1.71500E01 1.13900E01 7.45000E00 6.39000E00 4.30000E00 -4.85000E00 -4.27000E00 5.34000E00 1.02500E01 4.31000E00 9.19000E00 1.42200E01 4.40000E00 1.28000E00 2.07000E00 -2.11000E00 4.59000E00 8.50000E00 5.53000E00 3.47000E00 6.35000E00 1.03200E01 5.41000E00 2.35000E00 1.20000E00 9.02000E00 8.08000E00 9.11000E00 4.17000E00 6.08000E00 4.05000E00 3.96000E00 5.87000E00 8.84000E00 9.00000E-01 2.72000E00 6.00000E-01 -4.58000E00 4.09000E00 1.10300E01 -8.20000E-01 -8.03000E00 5.55000E00 9.55000E00 1.67000E00 -2.45000E00 -3.69000E00 -5.96000E00 -2.90000E-01 8.56000E00 8.68000E00 1.80000E00 -1.29000E00 -9.47000E00 1.10000E-01 -1.00000E-02 -5.13000E00 -1.40000E00 -1.55000E00 -7.00000E-01 -1.48200E01 -1.13600E01 -7.80000E-01 2.13000E00 1.13000E00 3.10000E00 1.21300E01 6.43000E00 7.55000E00 5.70000E00 7.79000E00 6.94000E00 1.06000E00 -2.00000E00 2.85000E00 -1.50000E-01 7.76000E00 1.59100E01 7.30000E00 1.94200E01 9.00000E-01 5.81000E00 5.87000E00 1.79300E01 1.03500E01 1.53000E00 9.44000E00 1.59000E00 7.50000E00 1.05900E01 1.07700E01 1.95000E00 -1.40000E-01 1.71000E00 6.62000E00 1.16800E01 4.89000E00 1.89000E00 -2.20000E00 5.90000E-01 8.47000E00 1.59000E00 8.50000E00 9.62000E00 1.17700E01 3.98000E00 -Frame 160 8.95000E00 7.07000E00 5.13000E00 1.91300E01 4.55000E00 -7.48000E00 4.13000E00 5.10000E00 8.10000E00 1.90000E-01 5.04000E00 4.00000E-02 4.89000E00 -1.10000E-01 -1.26000E00 4.56000E00 1.35600E01 -2.17000E00 -1.03800E01 4.17000E00 6.17000E00 6.23000E00 4.29000E00 -1.71000E00 -5.89000E00 -1.19000E00 9.66000E00 1.84000E00 -7.22000E00 8.45000E00 -2.40000E00 -1.58000E00 1.27000E00 6.21000E00 4.30000E00 5.33000E00 9.39000E00 5.57000E00 1.63000E00 -4.30000E-01 3.45000E00 4.50000E-01 7.36000E00 -5.20000E-01 -1.16400E01 -9.00000E-02 7.82000E00 -4.03000E00 7.76000E00 5.91000E00 6.00000E00 -2.91000E00 4.91000E00 9.70000E-01 2.91000E00 5.91000E00 7.00000E00 1.01200E01 -1.67000E00 -8.20000E-01 7.06000E00 -4.82000E00 2.94000E00 5.94000E00 4.03000E00 3.06000E00 4.06000E00 3.09000E00 5.09000E00 -4.85000E00 5.91000E00 4.00000E00 1.03000E00 -3.00000E-02 2.88000E00 6.88000E00 8.00000E00 2.15000E00 8.12000E00 2.70000E-01 9.18000E00 -6.40000E-01 -1.17600E01 6.79000E00 1.09100E01 5.15000E00 -3.79000E00 1.00000E00 -6.00000E-02 -8.15000E00 6.52000E00 -4.36000E00 4.30000E-01 -2.63000E00 -5.78000E00 9.80000E-01 -1.05000E00 -4.14000E00 -9.32000E00 -1.16500E01 -5.04000E00 7.80000E-01 -7.22000E00 -7.46000E00 -3.70000E00 -5.82000E00 -8.00000E00 -9.24000E00 -5.10000E-01 6.49000E00 1.70000E00 -5.24000E00 -4.39000E00 3.49000E00 -5.39000E00 -1.75400E01 -7.05000E00 2.77000E00 -1.91100E01 -1.66500E01 -4.10000E00 -3.16000E00 -3.19000E00 -8.22000E00 -8.40000E00 -7.58000E00 -4.73000E00 -1.47900E01 -6.15000E00 -5.24000E00 -1.83000E01 -1.47500E01 -5.08000E00 -4.11000E00 -1.11100E01 -5.32000E00 -6.35000E00 -1.34100E01 -8.68000E00 -5.80000E00 -6.83000E00 -9.89000E00 -1.20400E01 -8.25000E00 -1.33400E01 -7.58000E00 -1.16400E01 -8.82000E00 -1.59100E01 -8.21000E00 -1.22700E01 -1.34500E01 -3.66000E00 -9.57000E00 -1.56600E01 -4.93000E00 -1.48700E01 -6.11000E00 -1.00800E01 -1.01700E01 -Frame 160 -6.26000E00 -1.42300E01 -1.34400E01 -1.86200E01 -1.09500E01 -1.50400E01 -2.12500E01 -9.64000E00 -9.67000E00 -1.67000E01 -1.19400E01 -2.00300E01 -1.93600E01 -1.06600E01 -1.06900E01 -1.87200E01 -9.99000E00 -8.99000E00 -1.09600E01 -2.49900E01 -2.14400E01 -1.37700E01 -2.38600E01 -1.92500E01 -2.14900E01 -1.97900E01 -2.00300E01 -1.92700E01 -1.44800E01 -2.45400E01 -2.09000E01 -2.11400E01 -1.33800E01 -1.23800E01 -1.83500E01 -2.25000E01 -3.77000E00 5.30000E-01 6.95000E00 -2.45000E00 -1.71500E01 -2.43000E01 -2.26600E01 -2.09600E01 1.80000E00 2.25000E00 5.70000E00 -1.37600E01 -1.68200E01 3.00000E-02 -1.16100E01 -9.61000E00 -1.15500E01 -1.95500E01 -1.67900E01 -1.09400E01 -1.89100E01 -1.01200E01 -9.06000E00 -1.69700E01 -2.31200E01 -7.45000E00 -2.30000E00 3.00000E00 -1.05500E01 -1.75200E01 -2.37000E01 -1.90600E01 -1.62700E01 -8.39000E00 -4.27000E00 -1.30300E01 -2.00600E01 -1.73000E01 -7.45000E00 -2.30000E00 -8.00000E00 -1.58800E01 -1.30000E01 -1.40300E01 -2.70900E01 -3.54000E00 -6.27000E00 -2.10900E01 -1.43600E01 -1.34200E01 -1.04500E01 -8.39000E00 -8.27000E00 -1.61500E01 -1.62700E01 -2.33900E01 -1.57200E01 -9.81000E00 -6.72000E00 -5.54000E00 -1.23300E01 -1.43300E01 -2.53900E01 -1.17800E01 -1.17500E01 -2.37200E01 -1.70500E01 -7.17000E00 -1.59900E01 -1.60800E01 -9.17000E00 -7.05000E00 -1.38700E01 -1.99000E01 -6.11000E00 -1.09000E01 -1.78400E01 -2.99000E00 -1.26900E01 -1.66900E01 -1.18100E01 -1.07800E01 -1.47200E01 -1.17800E01 -1.57500E01 -1.28400E01 -1.48400E01 -2.09000E01 -1.01400E01 -1.10500E01 -8.99000E00 -1.38700E01 -7.90000E00 -5.75000E00 -1.45400E01 -6.60000E00 -3.42000E00 -5.15000E00 -1.09400E01 -1.19100E01 -7.91000E00 -1.57900E01 -5.91000E00 -9.73000E00 -1.16700E01 -8.67000E00 -3.58000E00 -1.63400E01 -8.49000E00 -1.04000E01 -1.73700E01 -1.25500E01 -8.58000E00 -7.49000E00 -1.03700E01 -5.34000E00 -1.51600E01 -1.72800E01 -9.46000E00 -5.40000E00 -1.22000E00 -2.92000E00 7.32000E00 -4.14000E00 -Frame 160 -1.29600E01 -2.20500E01 -2.34100E01 -1.88000E01 -1.10400E01 9.60000E-01 -3.68000E00 -1.34700E01 -1.45600E01 3.20000E-01 -5.35000E00 -2.52000E01 -1.86500E01 -1.08900E01 -2.58900E01 -1.43400E01 -4.30000E-01 -4.10000E00 -1.88900E01 -1.21300E01 -1.01600E01 -1.21300E01 -8.16000E00 -3.07000E00 -4.83000E00 -2.56500E01 -2.61000E01 -1.65500E01 -7.70000E00 -8.58000E00 3.51000E00 -1.30400E01 -1.21000E01 -1.61300E01 -1.82800E01 -1.24900E01 -1.15200E01 -9.52000E00 -1.44600E01 -2.05500E01 -1.48200E01 -9.91000E00 -2.48500E01 -8.24000E00 -1.41200E01 -1.51800E01 -9.27000E00 -5.18000E00 -9.97000E00 -1.79100E01 -1.50900E01 -2.51800E01 -1.65700E01 -6.69000E00 -1.55100E01 -1.36000E01 -1.86300E01 -2.78100E01 -1.92600E01 -1.14400E01 -1.93800E01 -1.35600E01 -1.25600E01 -1.55300E01 -1.25900E01 -1.15600E01 -1.35000E01 -7.50000E00 -1.93200E01 -1.15000E01 -6.44000E00 -1.82300E01 -1.73800E01 -2.05000E01 -1.17100E01 -1.46500E01 -1.86800E01 -7.83000E00 -7.65000E00 -1.14700E01 -1.04100E01 -2.23200E01 -1.95900E01 -2.17700E01 -1.20100E01 -1.19500E01 -1.68900E01 -1.49800E01 -1.70100E01 -1.31000E01 -1.20700E01 -7.01000E00 -1.18000E01 -1.67400E01 -1.98300E01 -1.00100E01 -2.08900E01 -8.10000E00 -1.92000E00 -2.25600E01 -2.78300E01 -1.72500E01 -1.03400E01 -9.22000E00 -2.00700E01 -1.92500E01 -9.40000E00 -1.02500E01 -1.81300E01 -4.25000E00 -1.59500E01 -1.40100E01 -1.00100E01 -5.89000E00 -1.76500E01 -1.87700E01 -1.49200E01 -2.19500E01 -1.91900E01 -2.13400E01 -9.55000E00 -9.40000E00 -1.02500E01 -1.31300E01 -2.01000E01 -2.32800E01 -1.25500E01 -1.14900E01 -9.40000E00 -8.25000E00 -1.30700E01 -1.90400E01 -8.19000E00 -1.30100E01 -7.98000E00 -1.08000E01 -1.57100E01 -1.97700E01 -1.39500E01 -1.19500E01 -7.89000E00 -1.37100E01 -1.07100E01 -1.96200E01 -1.18000E01 -5.74000E00 -2.05000E01 -7.71000E00 -7.53000E00 -8.35000E00 -1.62000E01 -1.52900E01 -5.35000E00 -9.11000E00 -1.29900E01 -6.99000E00 -1.58100E01 -7.90000E00 -1.27500E01 -6.75000E00 -Frame 160 -8.57000E00 -1.04500E01 -7.39000E00 -9.24000E00 -1.15000E00 -1.28200E01 -1.58500E01 -4.97000E00 1.24000E00 -1.63700E01 -1.05200E01 -8.49000E00 -5.40000E00 -1.02200E01 -7.19000E00 -3.07000E00 -6.83000E00 -5.71000E00 -1.35600E01 -1.06500E01 -5.65000E00 -5.50000E00 -2.35000E00 1.89000E00 -1.47500E01 -1.69000E01 -6.11000E00 -4.99000E00 -6.84000E00 -7.50000E-01 -1.14800E01 -8.54000E00 1.49000E00 2.82000E00 -1.28200E01 -1.49400E01 -4.12000E00 -1.29700E01 -1.60900E01 1.70000E00 -3.97000E00 -9.82000E00 -1.18500E01 -7.94000E00 -1.39100E01 -1.10600E01 -4.12000E00 -9.70000E-01 -7.30000E-01 -3.49000E00 -1.03400E01 -6.40000E00 -1.53400E01 -6.55000E00 -7.49000E00 -6.46000E00 -1.04000E01 -6.46000E00 -2.40000E00 -4.22000E00 -1.41000E01 -2.28000E00 -7.10000E00 -1.20700E01 -4.19000E00 -1.00700E01 -1.51300E01 -2.34000E00 -5.16000E00 -3.07000E00 -3.92000E00 -8.00000E-01 -2.59000E00 -4.44000E00 -4.35000E00 -1.26000E00 -5.08000E00 -2.00000E-02 -5.81000E00 -1.47800E01 -1.10200E01 -3.14000E00 -5.02000E00 -2.96000E00 -1.18400E01 -1.19900E01 1.86000E00 2.13000E00 -5.60000E00 1.43000E00 -8.33000E00 -9.39000E00 -9.48000E00 -2.57000E00 -1.04500E01 -4.57000E00 -5.10000E-01 3.67000E00 -1.40300E01 -7.27000E00 -9.30000E00 -5.39000E00 -7.36000E00 -8.39000E00 -7.45000E00 -2.48000E00 -5.36000E00 -3.33000E00 -9.24000E00 -5.33000E00 -1.43000E01 -3.54000E00 -3.45000E00 2.64000E00 -1.00900E01 -1.22100E01 -3.90000E-01 -8.21000E00 -1.02700E01 -6.39000E00 -1.03900E01 -9.51000E00 -7.60000E00 -1.26300E01 -9.81000E00 -8.90000E00 -8.96000E00 -7.02000E00 -1.10200E01 -1.31400E01 -5.32000E00 -7.26000E00 -1.12600E01 -1.03800E01 -1.24700E01 -9.62000E00 -2.06800E01 -5.07000E00 -2.98000E00 -1.83000E00 3.50000E-01 -4.41000E00 -1.43200E01 -9.53000E00 -5.90000E-01 6.62000E00 -9.60000E-01 -1.78000E00 -1.63000E00 5.20000E-01 -1.27000E00 -3.12000E00 -3.00000E-02 2.15000E00 -3.61000E00 4.50000E-01 2.63000E00 -3.13000E00 -2.07000E00 7.02000E00 -Frame 160 3.38000E00 2.62000E00 8.30000E-01 8.98000E00 -6.30000E-01 -9.54000E00 -4.72000E00 -4.75000E00 -6.78000E00 4.13000E00 -3.63000E00 7.37000E00 -3.00000E-01 -1.22100E01 -4.48000E00 -5.51000E00 8.43000E00 7.79000E00 -6.88000E00 -4.00000E00 -8.03000E00 2.82000E00 0.00000E00 6.09000E00 -6.40000E-01 -9.58000E00 -2.79000E00 1.21000E00 5.33000E00 2.57000E00 1.72000E00 -1.60000E-01 -1.11000E01 1.63000E00 3.75000E00 6.93000E00 4.20000E00 -5.62000E00 -7.74000E00 -3.92000E00 -6.98000E00 9.87000E00 -7.70000E-01 -6.74000E00 -8.89000E00 -1.21000E01 1.60000E00 9.72000E00 1.08000E00 3.17000E00 -4.68000E00 -3.77000E00 9.17000E00 -5.00000E-01 -2.47000E00 3.50000E00 -3.50000E-01 -3.20000E-01 4.71000E00 -3.11000E00 2.83000E00 -5.05000E00 2.83000E00 -5.05000E00 2.83000E00 1.19500E01 1.34000E00 8.40000E00 6.70000E-01 7.00000E-01 -6.27000E00 5.50000E-01 1.45800E01 8.03000E00 -4.73000E00 1.01200E01 3.42000E00 -2.49000E00 8.42000E00 1.06600E01 1.09600E01 1.02600E01 1.35300E01 1.18900E01 -2.81000E00 -9.60000E-01 1.19500E01 7.25000E00 7.40000E00 6.55000E00 1.26700E01 1.69700E01 4.39000E00 9.42000E00 1.36000E01 8.90000E00 8.05000E00 8.17000E00 5.29000E00 9.32000E00 7.47000E00 3.56000E00 8.53000E00 7.65000E00 8.74000E00 7.86000E00 1.59500E01 4.28000E00 1.22500E01 1.44600E01 1.73000E00 3.61000E00 1.75500E01 1.49100E01 2.11800E01 -4.37000E00 7.30000E00 1.53300E01 4.60000E00 1.54000E00 1.13900E01 1.45400E01 1.47800E01 3.02000E00 1.29000E01 1.20800E01 6.23000E00 1.92000E01 1.95600E01 6.92000E00 1.08900E01 1.69800E01 1.72500E01 2.15200E01 7.91000E00 2.88000E00 8.70000E00 4.70000E00 1.45800E01 2.87600E01 1.63600E01 2.15700E01 3.93000E00 4.75000E00 1.96000E01 1.79000E01 9.14000E00 1.51100E01 3.26000E00 1.00500E01 1.10500E01 1.00800E01 1.90800E01 1.63500E01 1.45300E01 1.26500E01 8.71000E00 1.16500E01 1.46800E01 9.80000E00 -Frame 160 1.07700E01 1.57700E01 1.49200E01 1.50400E01 2.51600E01 1.35800E01 1.36400E01 1.17000E01 5.70000E00 1.35200E01 1.65800E01 1.27300E01 1.47600E01 1.08500E01 8.82000E00 1.67300E01 2.18800E01 2.11800E01 1.44500E01 7.51000E00 4.36000E00 1.91200E01 2.63300E01 8.75000E00 1.16300E01 1.46000E01 2.16600E01 1.99300E01 1.11400E01 2.20800E01 2.53500E01 7.71000E00 1.75300E01 2.36500E01 9.95000E00 1.88300E01 1.79800E01 1.01000E01 1.29800E01 1.59500E01 1.80100E01 1.41300E01 1.51300E01 1.81600E01 7.28000E00 7.07000E00 1.68600E01 1.09500E01 9.86000E00 8.74000E00 1.15900E01 1.65300E01 1.16200E01 1.85600E01 2.17100E01 2.09500E01 1.81600E01 1.22800E01 2.42200E01 1.05200E01 4.40000E00 2.01000E01 4.28000E00 7.98000E00 1.98000E01 1.79800E01 1.31000E01 1.80700E01 1.41900E01 1.21900E01 1.01300E01 1.70100E01 1.41000E01 2.51000E01 2.64300E01 1.47900E01 1.17900E01 1.47000E01 1.17000E01 8.61000E00 1.94300E01 1.45800E01 9.58000E00 1.44300E01 2.04300E01 1.96100E01 9.76000E00 1.26100E01 1.65500E01 1.46100E01 1.96100E01 8.76000E00 1.65800E01 5.64000E00 1.73700E01 1.74600E01 1.65500E01 1.76100E01 6.70000E00 1.44600E01 1.74600E01 1.75500E01 7.64000E00 1.34300E01 1.34000E01 8.37000E00 1.41900E01 2.11900E01 1.94000E01 9.55000E00 1.64000E01 1.44600E01 2.34600E01 1.97300E01 7.88000E00 1.46700E01 1.36700E01 1.86400E01 7.76000E00 1.15500E01 1.84600E01 1.45800E01 1.15800E01 1.74900E01 1.95800E01 1.77300E01 1.18200E01 1.73000E00 1.53400E01 2.23700E01 1.56100E01 8.64000E00 1.34600E01 1.44300E01 1.64300E01 1.64900E01 1.45500E01 1.65500E01 1.76100E01 9.70000E00 1.45500E01 1.35500E01 8.52000E00 1.83400E01 2.74600E01 8.50000E-01 1.04300E01 1.13100E01 1.92200E01 1.33700E01 1.03400E01 9.22000E00 1.30700E01 1.40400E01 1.40400E01 1.60400E01 1.31000E01 9.07000E00 1.09200E01 8.83000E00 -Frame 160 1.26800E01 1.96500E01 1.38300E01 7.83000E00 1.26500E01 2.16200E01 1.38600E01 1.18600E01 2.80000E00 1.84700E01 4.62000E00 2.43500E01 1.56800E01 1.07400E01 1.46500E01 1.96800E01 6.86000E00 1.46500E01 1.06800E01 4.59000E00 1.43200E01 2.03500E01 1.25600E01 1.65300E01 1.56200E01 1.06800E01 1.25900E01 5.56000E00 1.03200E01 7.23000E00 1.10500E01 1.59900E01 2.00800E01 1.62900E01 1.43800E01 1.34100E01 8.41000E00 6.26000E00 1.10500E01 1.49900E01 1.40500E01 1.90800E01 1.52600E01 6.32000E00 1.11100E01 1.30500E01 9.05000E00 3.93000E00 1.96600E01 2.08700E01 8.11000E00 9.96000E00 1.88700E01 1.10500E01 4.99000E00 1.77500E01 1.59000E01 2.99000E00 6.69000E00 2.35100E01 1.28400E01 3.84000E00 1.55700E01 1.46600E01 9.72000E00 8.63000E00 1.85100E01 5.69000E00 1.14800E01 1.54500E01 1.75400E01 1.46900E01 2.75000E00 1.44500E01 1.05100E01 1.24500E01 1.74500E01 6.60000E00 7.42000E00 1.22700E01 1.92700E01 1.44800E01 1.54000E00 4.21000E00 1.69700E01 1.12000E00 8.79000E00 1.47000E01 7.79000E00 1.06700E01 1.36400E01 8.70000E00 4.61000E00 1.24000E01 1.04300E01 9.40000E00 1.63400E01 1.64900E01 3.64000E00 2.40000E00 1.31300E01 7.19000E00 2.07000E00 1.08000E01 1.08000E01 -2.00000E-01 9.47000E00 1.44000E00 1.31700E01 1.62600E01 3.44000E00 1.23000E00 1.19600E01 1.40200E01 9.14000E00 5.11000E00 2.96000E00 1.27500E01 7.84000E00 -4.22000E00 5.36000E00 8.24000E00 1.32100E01 1.03300E01 6.36000E00 2.12700E01 8.63000E00 2.60000E00 1.43900E01 1.05400E01 -2.43000E00 4.21000E00 1.10600E01 1.71200E01 6.36000E00 8.27000E00 1.24000E00 4.00000E00 -1.15000E00 9.55000E00 1.05800E01 2.64000E00 9.46000E00 1.34900E01 1.64000E00 8.43000E00 9.43000E00 6.46000E00 4.40000E00 -1.72000E00 -5.02000E00 9.59000E00 8.65000E00 -3.20000E-01 1.24400E01 3.59000E00 4.47000E00 4.38000E00 7.29000E00 2.29000E00 -Frame 160 1.14000E00 9.60000E-01 3.78000E00 1.06900E01 6.81000E00 5.81000E00 7.80000E-01 3.60000E00 6.51000E00 5.51000E00 -5.20000E-01 -1.73000E00 4.03000E00 4.97000E00 3.94000E00 6.88000E00 5.91000E00 2.91000E00 -3.18000E00 3.55000E00 7.49000E00 -2.45000E00 6.31000E00 5.34000E00 7.34000E00 4.00000E-01 1.25000E00 4.13000E00 4.10000E00 6.07000E00 6.10000E00 4.13000E00 1.10000E00 9.80000E-01 -1.11400E01 2.38000E00 -1.68000E00 2.14000E00 4.08000E00 -9.20000E-01 9.93000E00 8.11000E00 2.23000E00 6.17000E00 -1.77000E00 5.00000E-02 4.93000E00 -7.04000E00 5.63000E00 2.69000E00 -3.34000E00 -3.55000E00 3.24000E00 2.40000E-01 5.15000E00 3.21000E00 5.21000E00 -7.30000E-01 -9.85000E00 -8.24000E00 6.43000E00 -2.45000E00 -5.60000E00 4.16000E00 -7.80000E-01 7.13000E00 -7.20000E-01 -8.10000E-01 -6.90000E00 6.83000E00 -1.02000E00 -1.11000E00 -1.20000E00 -4.29000E00 -3.47000E00 -1.62000E00 -3.71000E00 -8.86000E00 1.84000E00 -5.13000E00 4.69000E00 1.81000E00 -3.16000E00 -1.28000E00 -3.34000E00 -2.46000E00 5.45000E00 -8.40000E00 1.33000E00 3.36000E00 -1.05500E01 -8.80000E-01 -2.91000E00 3.00000E00 -9.91000E00 1.79000E00 2.85000E00 -2.06000E00 8.80000E-01 1.91000E00 -3.03000E00 -3.12000E00 -6.21000E00 5.61000E00 -2.10000E-01 -4.21000E00 6.70000E-01 -1.03000E01 -9.60000E00 -3.87000E00 -9.60000E-01 -3.96000E00 4.95000E00 -1.87000E00 1.10000E00 -7.84000E00 -1.05000E00 -6.05000E00 -6.20000E00 -3.35000E00 -2.41000E00 -4.40000E-01 -3.41000E00 5.30000E-01 -2.41000E00 6.56000E00 -9.20000E00 -5.44000E00 4.44000E00 -7.38000E00 1.44000E00 -4.70000E-01 -7.44000E00 -5.62000E00 2.60000E-01 3.20000E-01 1.38000E00 -4.53000E00 -1.46200E01 -3.01000E00 4.96000E00 2.17000E00 -5.71000E00 -3.83000E00 -8.90000E-01 -6.86000E00 -6.01000E00 5.87000E00 -7.89000E00 -1.10700E01 -1.34000E00 1.69000E00 -2.19000E00 -4.19000E00 1.75000E00 -4.13000E00 -6.19000E00 -3.31000E00 2.66000E00 -3.19000E00 -Frame 160 -3.22000E00 4.75000E00 -2.04000E00 -1.00400E01 -1.28000E00 2.75000E00 -2.10000E00 -5.10000E00 -2.19000E00 -3.19000E00 -5.22000E00 1.69000E00 -1.71900E01 -9.64000E00 -1.85000E00 4.18000E00 -5.61000E00 -6.70000E00 -8.20000E-01 -5.76000E00 -4.85000E00 -8.91000E00 -4.09000E00 1.88000E00 -8.97000E00 -8.15000E00 1.70000E00 -5.15000E00 -7.21000E00 -3.30000E-01 -1.52400E01 -5.60000E00 2.34000E00 4.52000E00 -2.24000E00 -4.21000E00 -7.24000E00 -6.36000E00 -1.54500E01 -1.81000E00 2.50000E-01 -4.63000E00 -4.66000E00 -6.90000E-01 -2.60000E00 -5.57000E00 -2.63000E00 -3.60000E00 -1.16000E01 -6.84000E00 -5.93000E00 -6.99000E00 -6.08000E00 -2.14000E00 9.20000E-01 -1.09300E01 -4.14000E00 -2.14000E00 -9.08000E00 -5.23000E00 -1.26000E00 -1.11700E01 -7.38000E00 4.53000E00 -8.20000E00 -9.32000E00 -3.47000E00 -6.44000E00 -8.50000E00 -1.26200E01 3.14000E00 1.38000E00 -6.44000E00 -3.50000E00 -7.47000E00 -4.56000E00 -1.45600E01 1.40000E-01 -4.71000E00 -1.27100E01 -8.95000E00 1.93000E00 -8.86000E00 -1.49800E01 1.72000E00 -1.07000E00 -8.95000E00 -3.07000E00 -5.01000E00 -4.01000E00 -1.09800E01 -8.16000E00 -8.25000E00 -1.13400E01 -8.52000E00 3.39000E00 -6.34000E00 -1.03700E01 -1.52000E00 -6.40000E00 -1.14300E01 -4.61000E00 -4.58000E00 -7.55000E00 -1.06100E01 -1.27600E01 -6.97000E00 -9.00000E00 -5.09000E00 -2.06000E00 -1.09400E01 -1.20900E01 -5.27000E00 3.76000E00 -1.49400E01 -1.52100E01 -1.14800E01 -8.63000E00 -1.16900E01 -6.84000E00 -6.84000E00 -8.84000E00 -1.19000E01 -8.05000E00 -7.08000E00 -1.20800E01 -9.23000E00 -1.52900E01 -3.53000E00 -3.41000E00 -1.62900E01 -1.25600E01 -1.47100E01 -1.92000E00 -1.27400E01 -1.08900E01 -6.98000E00 -1.29500E01 -1.11000E01 -1.11900E01 -6.28000E00 -1.22200E01 -1.43400E01 -6.52000E00 -8.46000E00 -1.34600E01 -1.06100E01 -1.16700E01 -1.47600E01 -5.94000E00 -7.85000E00 -1.88200E01 -1.51200E01 -8.30000E00 -8.27000E00 -8.24000E00 -5.21000E00 -1.10900E01 -1.11500E01 -9.21000E00 -Frame 160 -1.52100E01 -8.39000E00 -1.73600E01 -1.06000E01 -8.63000E00 -1.26000E01 -1.36900E01 -5.81000E00 -1.56900E01 -1.18700E01 -5.93000E00 -1.08100E01 -7.84000E00 -1.57800E01 -1.89600E01 -1.02300E01 -1.02300E01 -1.02300E01 -7.23000E00 -1.61400E01 -1.43200E01 -1.54400E01 -1.45900E01 -8.71000E00 -1.36500E01 -6.74000E00 -1.16200E01 -9.65000E00 -7.62000E00 -1.35300E01 -1.36200E01 -9.71000E00 -1.06800E01 -1.16800E01 -1.07100E01 -1.67100E01 -7.89000E00 -1.08000E01 -1.48000E01 -1.49200E01 -1.10400E01 -6.04000E00 -1.18900E01 -1.19200E01 -1.29500E01 -5.01000E00 -9.83000E00 -1.38000E01 -1.38900E01 -9.98000E00 -1.89500E01 -1.51900E01 -1.03100E01 -6.28000E00 -1.21300E01 -8.16000E00 -1.00700E01 -1.10400E01 -1.20400E01 -1.10700E01 -9.07000E00 -4.01000E00 -1.58000E01 -1.29500E01 -1.00100E01 -3.98000E00 -1.47700E01 -1.48900E01 -1.00100E01 -1.39800E01 -7.07000E00 -6.95000E00 -8.30000E-01 -5.53000E00 -1.13800E01 -8.41000E00 -7.35000E00 -1.82600E01 -1.25000E01 -3.56000E00 -1.23500E01 -7.41000E00 -1.03200E01 -3.32000E00 -1.21100E01 -1.51700E01 -5.32000E00 -7.17000E00 -9.08000E00 -8.05000E00 -9.99000E00 -1.19900E01 -7.05000E00 -7.96000E00 -1.19000E01 -1.09600E01 1.00000E-02 -3.69000E00 -1.75100E01 -9.75000E00 3.25000E00 -1.53600E01 -8.54000E00 -1.51000E00 -1.12700E01 -1.33300E01 -6.45000E00 -4.36000E00 -9.21000E00 -1.12100E01 -2.27000E00 -6.00000E-02 -1.07900E01 -5.85000E00 -1.67600E01 -9.00000E00 -8.00000E00 -1.97000E00 -1.76000E00 -1.15500E01 -1.06400E01 -7.00000E-01 -8.46000E00 -1.34600E01 -3.61000E00 -1.46000E00 -1.22500E01 -1.23700E01 -6.49000E00 -1.43000E00 -6.22000E00 -6.16000E00 -9.10000E00 -4.13000E00 -3.01000E00 -4.86000E00 -1.17700E01 -1.48900E01 -1.10000E00 -7.89000E00 -1.28900E01 -4.04000E00 1.08000E00 -4.65000E00 -5.56000E00 -2.50000E00 -6.35000E00 -1.03200E01 -1.24100E01 -4.56000E00 -4.47000E00 -4.38000E00 -3.29000E00 -5.17000E00 -1.01100E01 -3.20000E00 -3.08000E00 -1.96000E00 -1.08100E01 -9.93000E00 -Frame 160 -1.02000E00 -8.40000E-01 3.40000E-01 4.55000E00 -1.21200E01 -2.23000E01 -1.57800E01 -6.05000E00 -5.02000E00 -6.96000E00 -1.96000E00 -1.48100E01 -5.00000E-02 -2.84000E00 -4.72000E00 -1.06600E01 -4.78000E00 2.28000E00 -1.14500E01 -1.06000E01 6.28000E00 -1.33300E01 -1.35400E01 -2.75000E00 -3.63000E00 -5.40000E-01 -6.36000E00 -7.36000E00 -1.23900E01 -4.57000E00 -8.51000E00 -9.57000E00 3.34000E00 -2.36000E00 -1.52400E01 -4.51000E00 -5.45000E00 -1.42000E00 -3.27000E00 -2.18000E00 -8.06000E00 -1.12000E00 -9.97000E00 -6.09000E00 -1.09000E00 -8.94000E00 -8.03000E00 -8.09000E00 -4.15000E00 -9.00000E-02 -1.19100E01 -1.09000E00 2.06000E00 -1.07000E01 -3.85000E00 4.21000E00 -7.49000E00 -7.55000E00 -7.61000E00 -8.67000E00 1.24000E00 -4.55000E00 -1.25200E01 -4.73000E00 1.30000E00 3.51000E00 -7.22000E00 -6.28000E00 -6.31000E00 -8.34000E00 -4.43000E00 -4.00000E-01 -8.25000E00 -1.03400E01 5.10000E-01 -5.31000E00 -7.31000E00 -6.37000E00 -3.40000E00 -1.34000E00 -7.22000E00 -6.28000E00 -5.31000E00 -2.31000E00 -1.02200E01 -9.37000E00 -9.49000E00 -9.61000E00 -1.73000E00 -6.10000E-01 -1.24600E01 -6.67000E00 -7.00000E-01 -7.55000E00 -3.61000E00 -4.55000E00 -1.52000E00 -4.40000E00 -9.37000E00 -6.49000E00 -7.52000E00 -4.58000E00 -5.50000E-01 -1.04000E01 -8.55000E00 -1.64000E00 -7.52000E00 4.20000E-01 6.00000E-01 -2.22000E00 -1.11300E01 -3.10000E-01 1.84000E00 8.05000E00 -8.56000E00 -1.56800E01 -6.01000E00 -8.04000E00 -6.13000E00 -3.16000E00 -5.10000E00 -1.10000E00 -2.98000E00 -1.09200E01 -2.10000E00 -3.01000E00 -5.95000E00 -2.98000E00 8.00000E-02 -9.77000E00 -9.20000E-01 -8.80000E00 -1.92000E00 -4.83000E00 -5.83000E00 -8.60000E-01 -1.74000E00 5.35000E00 -5.35000E00 -5.38000E00 -8.41000E00 2.47000E00 -4.32000E00 -2.32000E00 7.40000E-01 -9.11000E00 -7.26000E00 1.65000E00 2.83000E00 -4.96000E00 -3.99000E00 -8.99000E00 -2.14000E00 2.92000E00 -7.87000E00 -9.90000E-01 -1.90000E00 3.16000E00 3.37000E00 -1.42000E00 -Frame 160 1.64000E00 -1.21000E00 -8.15000E00 -8.30000E00 -4.50000E-01 -3.36000E00 -3.36000E00 2.64000E00 2.82000E00 -8.00000E00 3.85000E00 -2.94000E00 6.00000E-02 4.15000E00 -4.64000E00 3.30000E00 -6.52000E00 4.36000E00 6.57000E00 -1.60000E-01 -2.10000E00 -3.10000E00 8.70000E-01 -1.04000E00 2.99000E00 -3.86000E00 1.08000E00 -5.83000E00 6.05000E00 1.02900E01 -5.35000E00 -5.47000E00 5.41000E00 1.36200E01 7.00000E-02 4.10000E00 4.25000E00 -6.00000E-01 4.00000E-01 3.43000E00 -1.45000E00 5.52000E00 7.00000E-01 -3.27000E00 2.64000E00 -3.27000E00 5.64000E00 5.82000E00 -3.00000E00 4.91000E00 5.06000E00 -1.79000E00 1.15000E00 2.18000E00 2.24000E00 7.30000E00 3.51000E00 6.00000E-01 1.60000E00 1.63000E00 1.66000E00 3.69000E00 7.78000E00 -2.01000E00 5.90000E00 7.05000E00 1.23000E00 1.02300E01 -1.50000E00 4.10000E-01 8.38000E00 5.90000E-01 -2.44000E00 7.44000E00 5.62000E00 4.74000E00 3.83000E00 8.90000E-01 1.86000E00 2.86000E00 8.90000E-01 4.86000E00 -1.05000E00 -1.14000E00 1.47700E01 1.16000E00 -8.70000E-01 1.20400E01 2.34000E00 -3.66000E00 1.01600E01 7.40000E00 -3.45000E00 -6.30000E-01 1.12800E01 1.55000E00 3.52000E00 1.55000E00 5.52000E00 4.61000E00 -8.33000E00 4.34000E00 6.40000E00 3.52000E00 3.55000E00 1.55800E01 9.97000E00 -2.82000E00 1.00000E00 2.94000E00 -2.06000E00 -5.21000E00 1.15500E01 6.82000E00 -1.06000E00 6.82000E00 3.94000E00 -3.03000E00 7.90000E-01 1.47300E01 -2.91000E00 3.91000E00 5.94000E00 3.03000E00 5.03000E00 2.09000E00 3.06000E00 5.06000E00 2.12000E00 8.09000E00 1.24000E00 4.18000E00 1.21000E00 -2.85000E00 9.70000E-01 9.10000E-01 3.85000E00 4.88000E00 9.40000E-01 4.88000E00 2.94000E00 9.40000E-01 7.88000E00 2.03000E00 6.00000E00 9.00000E-02 -1.00000E00 4.88000E00 8.94000E00 3.12000E00 2.12000E00 5.09000E00 1.50000E-01 8.06000E00 -2.79000E00 -1.97000E00 9.88000E00 6.09000E00 6.18000E00 -4.73000E00 -Frame 160 5.03000E00 2.09000E00 -7.94000E00 6.73000E00 8.85000E00 6.03000E00 1.20000E-01 8.03000E00 3.18000E00 4.18000E00 6.21000E00 7.30000E00 -2.58000E00 2.40000E-01 5.15000E00 3.21000E00 9.21000E00 8.39000E00 5.54000E00 7.60000E00 1.72000E00 -1.34000E00 5.10000E-01 1.04200E01 -3.70000E-01 2.51000E00 4.48000E00 6.51000E00 4.60000E00 2.63000E00 4.60000E00 8.63000E00 5.78000E00 7.84000E00 -3.04000E00 3.75000E00 7.50000E-01 9.66000E00 1.28400E01 -1.89000E00 2.93000E00 6.90000E00 4.99000E00 -1.98000E00 3.84000E00 4.84000E00 9.87000E00 -9.50000E-01 8.90000E00 1.05000E00 -2.04000E00 4.78000E00 1.08100E01 -3.98000E00 6.78000E00 9.87000E00 -1.95000E00 1.08700E01 1.10800E01 5.29000E00 -9.68000E00 -1.10000E00 2.75000E00 1.37200E01 7.02000E00 5.11000E00 7.14000E00 5.23000E00 -7.40000E-01 -2.89000E00 7.90000E00 1.02000E00 3.93000E00 4.93000E00 3.96000E00 3.96000E00 8.96000E00 1.11100E01 5.32000E00 1.03500E01 -2.47000E00 4.32000E00 -4.68000E00 2.05000E00 7.99000E00 5.11000E00 3.14000E00 8.11000E00 7.23000E00 1.32000E00 7.23000E00 3.20000E-01 1.02000E01 1.13800E01 6.59000E00 -5.35000E00 6.35000E00 2.04100E01 -2.11000E00 -4.32000E00 1.41000E00 4.32000E00 -6.80000E-01 1.70000E-01 5.05000E00 6.08000E00 6.14000E00 7.20000E00 3.29000E00 4.26000E00 6.26000E00 1.03200E01 5.50000E00 1.45300E01 -2.17000E00 6.62000E00 2.68000E00 1.62000E00 5.53000E00 7.56000E00 6.50000E-01 9.53000E00 3.68000E00 9.65000E00 5.80000E00 1.83000E00 1.17400E01 1.95000E00 4.86000E00 7.86000E00 4.95000E00 3.95000E00 1.92000E00 -1.70000E-01 9.68000E00 4.83000E00 9.83000E00 5.98000E00 1.01000E00 9.89000E00 1.00400E01 2.19000E00 8.10000E00 9.19000E00 6.31000E00 3.40000E-01 7.19000E00 5.25000E00 4.25000E00 2.02200E01 6.70000E-01 1.65200E01 -5.15000E00 1.15200E01 -3.00000E-01 4.52000E00 1.14900E01 -2.33000E00 4.43000E00 1.84000E01 -Frame 160 9.79000E00 -2.09000E00 1.16700E01 5.85000E00 -3.15000E00 1.35800E01 3.82000E00 1.17600E01 -2.06000E00 7.00000E-01 2.25500E01 -8.94000E00 5.61000E00 1.36100E01 4.85000E00 3.82000E00 9.76000E00 1.08800E01 3.00000E-02 -2.15000E00 6.61000E00 4.64000E00 3.61000E00 1.05500E01 1.07000E01 5.85000E00 1.18500E01 9.03000E00 9.12000E00 -5.79000E00 6.85000E00 9.88000E00 0.00000E00 1.18200E01 1.20000E01 3.18000E00 1.40900E01 3.33000E00 4.24000E00 1.80000E-01 1.30000E01 1.32100E01 4.42000E00 3.60000E-01 1.21800E01 9.36000E00 2.45000E00 1.43300E01 9.57000E00 8.66000E00 8.72000E00 1.17800E01 6.93000E00 6.93000E00 5.93000E00 9.90000E00 4.99000E00 6.93000E00 1.59300E01 3.20000E00 2.08000E00 1.19300E01 3.08000E00 5.96000E00 1.29300E01 8.11000E00 6.14000E00 6.11000E00 1.10800E01 3.20000E00 3.08000E00 1.59600E01 8.23000E00 7.26000E00 1.22600E01 9.41000E00 1.64700E01 6.74000E00 4.71000E00 2.62000E00 8.47000E00 6.50000E00 5.47000E00 8.41000E00 7.44000E00 9.44000E00 4.50000E00 5.41000E00 6.35000E00 3.20000E-01 7.11000E00 2.11000E00 1.29600E01 6.14000E00 7.11000E00 9.11000E00 7.17000E00 7.17000E00 3.17000E00 6.05000E00 3.02000E00 5.90000E00 1.87000E00 7.20000E-01 5.54000E00 7.51000E00 9.54000E00 5.63000E00 4.60000E00 9.54000E00 2.63000E00 4.51000E00 1.14500E01 -4.00000E-01 -6.10000E-01 1.01800E01 3.30000E00 1.02100E01 -1.67000E00 4.09000E00 1.20300E01 1.12100E01 1.36000E00 5.21000E00 1.41800E01 4.20000E-01 -8.76000E00 1.27900E01 6.00000E00 4.00000E00 4.94000E00 4.91000E00 5.88000E00 1.88000E00 1.07600E01 6.91000E00 -1.06000E00 8.73000E00 3.82000E00 -4.24000E00 7.46000E00 1.35200E01 -1.24000E00 5.55000E00 1.55500E01 2.85000E00 -5.24000E00 2.43000E00 1.13400E01 -2.48000E00 -7.20000E-01 5.10000E00 1.00000E-01 -3.05000E00 6.71000E00 6.77000E00 3.83000E00 4.80000E00 1.80000E00 -1.29000E00 -Frame 160 2.53000E00 9.47000E00 -2.38000E00 4.10000E-01 -7.10000E-01 2.14000E00 -9.20000E-01 2.93000E00 2.90000E00 -4.13000E00 2.63000E00 3.60000E00 -3.40000E00 -2.61000E00 7.21000E00 -7.67000E00 0.00000E00 9.91000E00 -2.88000E00 7.94000E00 -6.91000E00 -5.21000E00 -3.45000E00 -5.63000E00 2.13000E00 5.13000E00 -2.78000E00 -2.93000E00 -8.00000E-02 -1.40000E-01 1.80000E00 -2.00000E-01 -2.26000E00 4.62000E00 -8.29000E00 4.10000E-01 -6.62000E00 -5.86000E00 2.93000E00 9.90000E-01 -1.01000E00 3.93000E00 -3.98000E00 -2.13000E00 -4.22000E00 4.63000E00 1.75000E00 -1.22000E00 2.72000E00 1.78000E00 -1.51900E01 9.33000E00 4.60000E00 -3.28000E00 1.60000E00 -3.37000E00 -6.49000E00 2.30000E00 1.36000E00 4.39000E00 -2.49000E00 -9.58000E00 -2.88000E00 1.03000E00 3.06000E00 -8.50000E-01 4.12000E00 3.24000E00 3.33000E00 -1.58000E00 -6.40000E-01 -8.67000E00 6.00000E-02 6.00000E-02 7.06000E00 1.27000E00 7.30000E00 2.51000E00 -1.43000E00 3.51000E00 -3.40000E00 -5.20000E-01 -5.55000E00 4.27000E00 3.90000E-01 3.90000E-01 2.39000E00 -1.55000E00 4.39000E00 5.10000E-01 4.51000E00 -3.70000E-01 -3.40000E00 4.48000E00 6.60000E00 1.78000E00 9.81000E00 8.00000E-02 -5.95000E00 -1.16000E00 7.80000E-01 1.78000E00 1.81000E00 1.84000E00 8.87000E00 1.10000E-01 -6.92000E00 7.84000E00 4.05000E00 -1.86000E00 2.05000E00 3.08000E00 -8.60000E-01 1.30800E01 -4.56000E00 -7.74000E00 -2.01000E00 9.00000E-01 9.00000E-01 4.90000E00 -2.98000E00 -3.10000E00 -2.20000E-01 3.75000E00 3.84000E00 -7.00000E-02 -2.10000E00 -1.19000E00 3.75000E00 -3.16000E00 -1.28000E00 6.60000E-01 -4.34000E00 -4.49000E00 4.36000E00 5.48000E00 -1.37000E00 -5.43000E00 2.39000E00 4.50000E-01 2.45000E00 -6.49000E00 6.30000E00 -3.52000E00 -4.64000E00 6.21000E00 1.39000E00 -8.58000E00 -2.85000E00 -2.94000E00 -6.03000E00 -2.21000E00 1.73000E00 -3.21000E00 1.70000E00 -4.24000E00 -5.36000E00 4.90000E-01 -4.48000E00 -2.60000E00 -Frame 160 1.34000E00 -6.00000E-01 -1.60000E00 3.37000E00 -5.51000E00 -6.66000E00 -6.84000E00 3.98000E00 -4.87000E00 -4.99000E00 8.90000E-01 -9.05000E00 -8.29000E00 5.00000E-01 -4.44000E00 -9.53000E00 9.23000E00 -4.40000E-01 -7.41000E00 1.41000E00 -7.50000E00 -8.68000E00 -3.89000E00 -2.95000E00 2.00000E-02 1.08000E00 -4.83000E00 -4.92000E00 -3.01000E00 -7.04000E00 -8.19000E00 -3.70000E-01 3.69000E00 -5.13000E00 -1.72200E01 -2.67000E00 -4.67000E00 -2.73000E00 -8.73000E00 2.09000E00 -7.60000E-01 -7.70000E00 -6.85000E00 -9.97000E00 -7.18000E00 -5.30000E00 -2.36000E00 -1.13300E01 -5.70000E-01 3.52000E00 -1.32700E01 -9.57000E00 -7.75000E00 -1.28700E01 -8.14000E00 -2.26000E00 -7.20000E00 -1.12900E01 5.00000E-01 3.65000E00 -1.51100E01 -5.44000E00 2.53000E00 -1.62600E01 -3.62000E00 -3.59000E00 -7.56000E00 -1.06500E01 -5.83000E00 -8.86000E00 -2.98000E00 -1.92000E00 -6.83000E00 -8.90000E-01 -8.77000E00 -8.90000E-01 3.23000E00 -8.53000E00 -8.65000E00 -1.07700E01 -9.50000E-01 -3.83000E00 -1.48000E01 -4.10000E00 -1.07000E00 -6.95000E00 -7.01000E00 -1.07000E00 -4.95000E00 -7.95000E00 -4.00000E-02 -1.28900E01 -1.11300E01 -2.31000E00 -3.22000E00 -1.81600E01 4.45000E00 -5.25000E00 -6.25000E00 -5.28000E00 -7.28000E00 -7.34000E00 -8.40000E00 -3.49000E00 -9.43000E00 -1.05500E01 -4.70000E00 -6.70000E-01 -1.15200E01 -7.70000E00 -2.76000E00 -5.67000E00 -4.67000E00 3.60000E-01 -4.46000E00 -1.04300E01 -1.45800E01 -6.85000E00 -4.88000E00 -8.85000E00 -1.94000E00 -2.82000E00 -8.73000E00 -5.82000E00 -8.20000E-01 -8.67000E00 -7.76000E00 -9.82000E00 -5.94000E00 -8.94000E00 -9.03000E00 -7.12000E00 -1.11500E01 -1.30000E00 -2.15000E00 -2.03000E00 -8.91000E00 0.00000E00 -8.82000E00 -1.19100E01 -3.09000E00 2.00000E00 -3.76000E00 -9.70000E00 -1.48200E01 -9.00000E-02 -8.91000E00 -2.00000E00 -8.80000E-01 -5.73000E00 -5.73000E00 -7.73000E00 -2.79000E00 -9.70000E00 -2.82000E00 1.27000E00 -6.52000E00 -5.55000E00 -3.55000E00 -3.49000E00 -Frame 160 -5.43000E00 -4.30000E-01 -1.52800E01 -8.58000E00 -2.67000E00 -5.58000E00 -4.58000E00 -5.50000E-01 -3.40000E00 -9.34000E00 -7.46000E00 -5.20000E-01 1.63000E00 -7.16000E00 -9.22000E00 6.60000E-01 -2.16000E00 -8.07000E00 -8.16000E00 7.50000E-01 -3.07000E00 -3.01000E00 5.00000E-02 -7.80000E00 -5.89000E00 -9.20000E-01 -3.80000E00 -9.77000E00 -6.92000E00 -3.98000E00 1.05000E00 -3.77000E00 -2.74000E00 1.32000E00 -9.50000E00 -2.65000E00 -4.59000E00 -6.59000E00 -8.65000E00 3.23000E00 -2.53000E00 -6.47000E00 -5.53000E00 -1.56000E00 -1.24700E01 -1.71000E00 -1.62000E00 -3.53000E00 5.00000E-01 -6.35000E00 -6.41000E00 5.30000E-01 -5.32000E00 -8.35000E00 -4.70000E-01 6.50000E-01 -6.20000E00 -2.26000E00 -1.20000E00 1.89000E00 7.00000E-02 -3.81000E00 6.19000E00 -8.51000E00 -5.66000E00 1.28000E00 -1.15700E01 -1.81000E00 -4.75000E00 1.22000E00 -3.63000E00 -4.63000E00 -6.60000E-01 -7.57000E00 2.31000E00 -4.51000E00 -4.54000E00 -5.70000E-01 3.52000E00 -7.27000E00 -5.39000E00 4.55000E00 -1.22100E01 -6.48000E00 3.43000E00 -1.36000E00 -2.30000E00 -4.27000E00 -2.30000E00 3.73000E00 -8.06000E00 -5.21000E00 -2.27000E00 -8.24000E00 -5.39000E00 2.55000E00 6.73000E00 -9.97000E00 -2.18000E00 -1.15000E00 -7.09000E00 -6.21000E00 -3.00000E-01 -2.21000E00 -8.18000E00 6.70000E-01 -6.21000E00 -2.30000E00 -4.27000E00 7.00000E-01 -3.18000E00 -7.18000E00 6.70000E00 5.00000E00 -1.37600E01 -1.30900E01 2.61000E00 1.79000E00 -8.06000E00 -1.21000E00 -8.15000E00 7.00000E-01 -6.18000E00 -8.27000E00 5.80000E-01 -4.30000E00 3.67000E00 -6.12000E00 -3.21000E00 3.79000E00 -7.00000E00 -8.12000E00 -2.27000E00 -2.24000E00 -6.21000E00 -1.30000E00 1.76000E00 -1.09000E00 -9.03000E00 -2.21000E00 3.82000E00 -2.97000E00 -3.97000E00 -7.00000E00 -1.12000E00 9.40000E-01 -4.94000E00 -5.00000E00 -6.06000E00 -8.15000E00 -2.30000E00 3.73000E00 2.94000E00 -9.88000E00 -6.09000E00 2.82000E00 -3.00000E00 -1.00000E01 1.79000E00 -3.06000E00 -Frame 160 -1.06000E00 8.00000E00 -6.67000E00 -3.79000E00 -4.82000E00 -1.88000E00 -9.85000E00 -5.06000E00 8.80000E-01 -5.00000E00 -6.06000E00 1.85000E00 -1.00000E00 -3.94000E00 1.03000E00 -2.85000E00 2.15000E00 -5.70000E00 -3.79000E00 -4.82000E00 -4.88000E00 -3.94000E00 1.03000E00 -6.85000E00 -6.97000E00 4.91000E00 -6.85000E00 3.00000E-02 8.12000E00 -2.55000E00 -1.15500E01 -3.82000E00 6.15000E00 2.42000E00 -1.24300E01 -4.73000E00 -4.79000E00 -7.85000E00 -1.00000E00 2.06000E00 -7.90000E-01 -1.73000E00 2.30000E00 -3.55000E00 -5.58000E00 -6.70000E-01 -9.61000E00 -1.08200E01 -1.06000E00 3.00000E00 -2.82000E00 -6.82000E00 1.06000E00 -1.82000E00 -5.79000E00 -3.88000E00 1.09000E00 -5.79000E00 -4.88000E00 6.00000E-02 -5.85000E00 -4.94000E00 -1.00000E00 -9.40000E-01 -1.88000E00 -2.85000E00 -2.85000E00 -3.85000E00 -1.88000E00 -2.85000E00 4.15000E00 -5.64000E00 -9.73000E00 -9.40000E-01 1.12000E00 2.24000E00 4.39000E00 -4.40000E00 -5.46000E00 2.45000E00 -1.40000E00 6.30000E-01 -5.28000E00 -8.37000E00 -3.55000E00 1.42000E00 2.54000E00 -1.31000E00 -4.28000E00 -6.34000E00 -4.60000E-01 -6.40000E00 -5.52000E00 2.39000E00 -1.46000E00 -6.43000E00 2.45000E00 -3.40000E00 -5.43000E00 -2.52000E00 3.48000E00 3.66000E00 -9.16000E00 -2.37000E00 5.63000E00 -5.13000E00 -3.22000E00 3.75000E00 1.93000E00 -2.95000E00 -3.98000E00 -4.04000E00 9.00000E-01 -1.00000E-02 -6.95000E00 4.90000E00 -1.89000E00 -1.89000E00 1.11100E01 5.00000E-01 -5.44000E00 -1.56000E00 4.40000E-01 3.50000E00 -4.35000E00 5.60000E-01 -4.38000E00 -1.47000E00 6.53000E00 -2.30000E-01 -4.20000E00 7.10000E-01 4.77000E00 1.95000E00 -3.96000E00 2.95000E00 2.07000E00 8.16000E00 1.44300E01 -8.12000E00 -5.36000E00 -4.51000E00 -5.63000E00 5.22000E00 -1.60000E00 7.37000E00 5.61000E00 -2.21000E00 4.73000E00 2.88000E00 -3.03000E00 -3.12000E00 3.79000E00 9.10000E-01 6.94000E00 1.15000E00 7.18000E00 -7.61000E00 1.15000E00 4.18000E00 -Frame 160 5.30000E00 3.45000E00 7.54000E00 -7.25000E00 3.51000E00 9.60000E00 3.87000E00 1.96000E00 -1.00000E-02 -2.04000E00 5.87000E00 5.02000E00 6.14000E00 3.29000E00 -6.50000E-01 5.29000E00 4.41000E00 5.50000E00 -3.38000E00 -4.53000E00 2.29000E00 8.32000E00 9.53000E00 3.77000E00 1.83000E00 -2.17000E00 1.71000E00 5.71000E00 -2.17000E00 7.71000E00 5.89000E00 -9.90000E-01 7.92000E00 1.01000E01 -2.66000E00 1.19000E00 1.16000E00 1.51300E01 8.52000E00 -1.30000E00 7.58000E00 -1.27000E00 6.10000E-01 1.25500E01 1.08500E01 2.09000E00 -3.94000E00 4.85000E00 8.91000E00 1.10900E01 -6.67000E00 9.03000E00 8.21000E00 -1.64000E00 1.02100E01 9.42000E00 -4.40000E00 -2.64000E00 1.11800E01 4.42000E00 5.45000E00 7.51000E00 2.63000E00 -4.00000E-01 1.04800E01 9.69000E00 8.70000E-01 7.80000E-01 3.69000E00 4.69000E00 5.72000E00 6.78000E00 4.87000E00 6.90000E00 5.99000E00 9.05000E00 4.20000E00 7.20000E00 1.29000E00 9.20000E00 -6.50000E-01 4.20000E00 7.20000E00 2.29000E00 7.23000E00 4.32000E00 -6.80000E-01 5.17000E00 8.20000E00 1.13200E01 8.53000E00 -7.35000E00 7.29000E00 9.38000E00 1.53000E00 2.44000E00 8.38000E00 5.00000E-01 7.38000E00 7.47000E00 4.56000E00 1.25600E01 -2.20000E00 -2.41000E00 1.23800E01 2.62000E00 2.56000E00 1.25000E01 7.40000E-01 1.62000E00 9.53000E00 6.68000E00 7.74000E00 8.83000E00 -5.00000E-02 2.80000E00 6.74000E00 6.80000E00 2.86000E00 8.80000E00 4.92000E00 2.92000E00 -2.14000E00 1.16500E01 -1.14000E00 1.68000E00 7.59000E00 1.16800E01 7.89000E00 5.98000E00 4.01000E00 -2.00000E-02 1.83000E00 1.17400E01 6.95000E00 1.01000E00 1.89000E00 -2.00000E-01 1.06500E01 6.83000E00 5.89000E00 2.92000E00 5.86000E00 1.38900E01 1.61600E01 4.49000E00 4.60000E-01 7.31000E00 4.37000E00 7.34000E00 -2.60000E00 -8.40000E-01 4.98000E00 6.98000E00 2.04000E00 7.95000E00 4.04000E00 4.01000E00 8.98000E00 6.10000E00 -Frame 160 2.13000E00 2.04000E00 -3.05000E00 4.71000E00 6.71000E00 8.77000E00 9.89000E00 4.04000E00 1.01000E00 8.89000E00 6.01000E00 8.04000E00 1.21300E01 3.34000E00 5.28000E00 4.28000E00 2.25000E00 5.16000E00 5.16000E00 1.60000E-01 4.01000E00 7.98000E00 6.07000E00 1.21000E01 3.10000E-01 7.16000E00 2.22000E00 5.13000E00 7.13000E00 1.01900E01 -6.60000E-01 2.16000E00 9.07000E00 1.51900E01 2.49000E00 4.00000E-01 8.25000E00 -1.66000E00 5.13000E00 4.13000E00 1.01000E01 1.02500E01 9.40000E00 5.52000E00 -1.48000E00 7.31000E00 3.70000E-01 2.22000E00 4.13000E00 5.10000E00 6.10000E00 9.13000E00 -1.75000E00 9.04000E00 9.16000E00 4.28000E00 3.25000E00 3.19000E00 5.13000E00 5.13000E00 1.13000E00 3.01000E00 7.95000E00 8.04000E00 3.13000E00 1.00700E01 -2.78000E00 9.80000E-01 4.86000E00 6.86000E00 4.92000E00 1.59200E01 4.25000E00 2.22000E00 6.13000E00 1.16000E00 4.00000E-02 4.89000E00 7.89000E00 5.98000E00 3.01000E00 5.95000E00 -1.02000E00 5.80000E00 6.83000E00 5.89000E00 2.92000E00 7.86000E00 6.95000E00 3.01000E00 8.95000E00 5.07000E00 6.07000E00 -9.00000E-01 3.92000E00 9.89000E00 3.04000E00 4.98000E00 2.98000E00 1.09200E01 9.10000E00 2.22000E00 6.13000E00 4.16000E00 5.13000E00 1.01300E01 5.28000E00 2.80000E-01 -1.87000E00 4.92000E00 5.92000E00 6.95000E00 1.00100E01 5.16000E00 1.16000E00 3.04000E00 4.98000E00 6.98000E00 3.04000E00 1.09800E01 6.16000E00 7.19000E00 6.25000E00 4.28000E00 2.25000E00 2.16000E00 7.07000E00 1.01300E01 1.28000E00 8.16000E00 5.25000E00 6.25000E00 3.28000E00 -1.78000E00 9.01000E00 5.13000E00 -8.70000E-01 5.95000E00 -2.00000E-02 8.30000E-01 5.71000E00 5.74000E00 -2.30000E-01 8.62000E00 4.74000E00 1.74000E00 6.65000E00 -2.90000E-01 -1.44000E00 3.38000E00 7.35000E00 5.44000E00 -5.30000E-01 4.32000E00 2.32000E00 3.26000E00 -7.70000E-01 1.08000E00 4.99000E00 2.02000E00 -Frame 160 3.96000E00 7.96000E00 -6.92000E00 3.75000E00 1.75000E00 -1.31000E00 5.40000E-01 3.45000E00 6.45000E00 -6.46000E00 6.24000E00 3.30000E-01 -3.76000E00 1.03000E00 5.97000E00 3.06000E00 2.06000E00 7.03000E00 -8.50000E-01 -1.97000E00 -4.12000E00 1.67000E00 5.64000E00 -1.27000E00 3.61000E00 1.06400E01 -1.20000E-01 -2.21000E00 1.64000E00 1.61000E00 -4.42000E00 -3.63000E00 6.19000E00 5.31000E00 -2.60000E00 5.25000E00 1.34000E00 -5.69000E00 7.00000E-02 -1.99000E00 4.89000E00 6.98000E00 -2.87000E00 9.80000E-01 -4.05000E00 -2.30000E-01 2.71000E00 1.74000E00 -2.60000E-01 -4.32000E00 -4.50000E00 2.32000E00 -2.65000E00 -8.77000E00 1.93000E00 3.96000E00 -3.95000E00 -8.10000E00 -3.70000E-01 -4.00000E-01 -1.43000E00 3.51000E00 -1.40000E00 -9.46000E00 7.24000E00 -4.55000E00 -7.70000E00 3.06000E00 -5.85000E00 -3.03000E00 -1.12000E00 -5.15000E00 -3.00000E-01 7.00000E-01 -2.70000E-01 -5.27000E00 -6.42000E00 1.40000E00 -4.54000E00 3.40000E-01 4.37000E00 -1.84800E01 -2.02000E00 3.95000E00 -9.00000E-01 -3.90000E00 -4.99000E00 8.90000E-01 -2.05000E00 -3.08000E00 -6.14000E00 -2.90000E-01 3.74000E00 -5.11000E00 -8.23000E00 -3.44000E00 -1.50000E00 -5.00000E-01 2.53000E00 -4.35000E00 -4.40000E-01 5.90000E-01 -5.35000E00 -5.47000E00 -3.59000E00 -2.65000E00 -3.68000E00 -4.74000E00 -1.83000E00 2.17000E00 -6.71000E00 5.14000E00 -5.65000E00 2.30000E-01 -1.17100E01 -7.01000E00 -1.16000E00 -3.13000E00 -8.16000E00 -3.40000E-01 -8.28000E00 -4.46000E00 4.80000E-01 -8.43000E00 -2.61000E00 -6.10000E-01 -3.55000E00 -2.58000E00 -1.58000E00 -7.55000E00 -1.70000E00 -6.70000E-01 -2.61000E00 -7.61000E00 -4.76000E00 2.18000E00 -1.67000E00 -1.06400E01 -1.88000E00 9.15000E00 -2.24900E01 4.49100E01 1.42350E02 -1.19330E02 -8.49900E01 1.07490E02 -2.18000E00 -1.12240E02 7.04000E01 7.06200E01 -9.72200E01 -2.51600E01 6.41500E01 -2.68400E01 -4.16200E01 1.61800E01 1.75000E00 -1.21300E01 -9.43000E00 -1.64000E00 -Frame 160 1.43900E01 2.69000E01 -1.52300E01 -2.26500E01 2.87200E01 4.65000E00 -4.01700E01 -1.13400E01 1.63900E01 -1.04000E00 -3.00100E01 1.21500E01 1.86000E01 -5.77000E00 -1.08900E01 1.84000E00 2.09600E01 7.65000E00 -2.70800E01 2.14000E00 2.12600E01 -1.00500E01 -2.43200E01 7.99000E00 2.32900E01 -6.96000E00 -1.31400E01 8.50000E00 1.18000E01 3.19000E00 -2.26900E01 6.50000E-01 2.97100E01 -2.36000E00 -1.14200E01 -7.50000E-01 2.02500E01 -1.11200E01 -3.24500E01 2.55900E01 2.54000E01 -3.38200E01 -1.28400E01 3.18000E01 5.79000E00 -2.10300E01 7.34000E00 9.58000E00 -2.12000E00 -1.18000E00 -9.21000E00 5.52000E00 1.07000E01 3.00000E-02 3.00000E-02 -2.97000E00 6.94000E00 -5.85000E00 2.97000E00 6.00000E-02 -5.94000E00 -4.12000E00 2.76000E00 1.85000E00 -3.09000E00 1.82000E00 -2.12000E00 8.20000E-01 -2.15000E00 -7.21000E00 1.05800E01 3.91000E00 -4.97000E00 8.88000E00 1.15000E00 -8.20000E-01 -8.50000E-01 -5.88000E00 4.94000E00 1.09000E00 1.12000E00 1.91500E01 -1.89280E02 2.76020E02 1.65450E02 -6.72690E02 4.82880E02 7.87300E01 -2.34990E02 -6.11900E01 2.94040E02 -1.54020E02 -2.04790E02 4.10060E02 -3.02460E02 -6.73000E00 1.89150E02 -6.10900E01 -1.47010E02 1.23550E02 6.13600E01 -1.01810E02 -4.99300E01 1.31600E02 -1.83800E01 -8.89800E01 7.93200E01 -1.72500E01 8.21000E00 -2.55000E00 -1.86400E01 1.37900E01 3.22100E01 -1.48300E01 -5.53100E01 4.00100E01 3.72400E01 -6.76500E01 -3.72000E00 5.81900E01 -3.00400E01 -1.59700E01 -7.45000E00 4.63400E01 -1.52500E01 -3.87300E01 3.41000E01 -1.58500E01 1.16700E01 -9.70000E-01 -2.40000E01 2.92800E01 4.18000E00 -3.67000E01 8.19000E00 1.44600E01 2.91000E00 -3.70000E01 1.89000E00 2.69800E01 -1.21800E01 -8.54000E00 2.20000E-01 1.42500E01 -3.00000E-01 -2.43000E01 8.98000E00 1.42800E01 -1.82700E01 -2.81000E00 -5.87000E00 5.98000E00 -2.81000E00 -1.28700E01 -1.23000E00 1.07700E01 -1.08700E01 -4.17000E00 3.74000E00 1.08900E01 -Frame 160 -5.75000E00 -1.59000E01 2.65000E00 2.77000E00 -1.21100E01 -8.44000E00 1.33500E01 -3.20000E00 -2.60000E-01 -5.23000E00 -3.35000E00 -8.41000E00 -6.20000E-01 -6.59000E00 -4.74000E00 1.01700E01 -9.47000E00 -4.71000E00 6.20000E00 -1.25600E01 -3.89000E00 -2.95000E00 -1.39800E01 6.60000E-01 -6.25000E00 -3.70000E-01 4.69000E00 -1.21000E01 1.60000E00 -4.28000E00 -8.34000E00 -6.52000E00 -1.64000E00 -7.61000E00 -6.76000E00 -6.88000E00 -4.00000E00 -4.03000E00 -8.06000E00 6.79000E00 -1.99100E01 -7.42000E00 2.14600E01 -2.47900E01 -6.45000E00 1.04600E01 -1.61200E01 -3.51000E00 -4.51000E00 -8.54000E00 -1.26900E01 -2.96000E00 -2.93000E00 -1.39000E01 -5.20000E00 1.77000E00 -1.70500E01 -5.44000E00 -1.47000E00 -1.73800E01 -3.77000E00 2.26000E00 -1.25300E01 -6.77000E00 7.17000E00 -1.44700E01 -6.77000E00 -1.78300E01 -6.22000E00 -6.25000E00 -1.92800E01 1.43000E01 -1.91000E01 -8.52000E00 8.39000E00 -1.91900E01 -8.61000E00 -6.70000E00 -6.73000E00 -2.76000E00 -8.67000E00 1.24000E00 -8.55000E00 -1.36400E01 -9.88000E00 -7.00000E00 -4.03000E00 -1.97000E00 -1.08500E01 -4.00000E00 -3.94000E00 -4.88000E00 -2.85000E00 -1.27600E01 -4.97000E00 2.06000E00 -6.70000E00 -8.73000E00 -2.82000E00 -1.17300E01 -1.39100E01 8.50000E-01 -5.94000E00 -1.49400E01 -8.21000E00 -4.27000E00 -1.21000E00 -1.20600E01 -6.24000E00 4.76000E00 -1.39100E01 -6.15000E00 1.85000E00 -1.91000E00 -1.37900E01 -1.60300E01 -8.33000E00 -1.63900E01 -1.69000E00 -1.54000E00 6.10000E-01 -2.01800E01 -4.60000E00 4.46000E00 -9.21000E00 -1.53000E01 -2.57000E00 -2.45000E00 -1.13300E01 -5.48000E00 -6.45000E00 -9.45000E00 -3.54000E00 -9.45000E00 -4.54000E00 -1.14800E01 -1.06300E01 -5.75000E00 -1.27200E01 -6.90000E00 4.10000E00 -9.57000E00 -1.36600E01 3.13000E00 -7.57000E00 -1.16000E01 -3.75000E00 -6.66000E00 -5.66000E00 -7.63000E00 -1.06600E01 -9.78000E00 -1.28700E01 -5.05000E00 3.01000E00 -5.69000E00 -4.66000E00 -6.60000E00 -5.60000E00 -2.57000E00 -Frame 160 -1.14500E01 2.40000E00 -1.13300E01 -5.48000E00 -2.45000E00 -1.03300E01 1.55000E00 -1.12100E01 -3.60000E-01 1.82000E00 -7.94000E00 1.00000E00 -1.27900E01 -5.00000E00 -9.70000E-01 -1.08200E01 1.03000E00 -2.76000E00 -7.67000E00 -6.73000E00 -8.76000E00 -7.85000E00 -3.91000E00 -2.85000E00 -7.76000E00 -2.82000E00 5.27000E00 -1.14000E01 -3.58000E00 4.80000E-01 -5.34000E00 -9.34000E00 1.54000E00 1.75000E00 -1.50400E01 -1.34000E00 -2.20000E-01 -1.07000E00 3.05000E00 -1.37100E01 -9.98000E00 -2.13000E00 -6.04000E00 -1.07000E00 -3.95000E00 2.08000E00 -6.71000E00 -8.77000E00 7.11000E00 -1.45300E01 -7.83000E00 -3.92000E00 -7.89000E00 -2.98000E00 -5.92000E00 -1.95000E00 -2.86000E00 -1.38000E01 -4.07000E00 -4.04000E00 -1.80100E01 4.60000E00 -1.00000E-01 -1.29500E01 -7.19000E00 8.75000E00 -8.30000E-01 -9.71000E00 2.14000E00 -3.65000E00 -1.16200E01 -5.83000E00 -8.60000E-01 2.60000E-01 -7.59000E00 -3.68000E00 4.35000E00 -5.38000E00 -7.41000E00 -2.50000E00 -3.44000E00 -7.41000E00 -1.35000E01 6.23000E00 -6.44000E00 -6.50000E00 -2.56000E00 5.00000E-01 -6.35000E00 -9.41000E00 2.44000E00 -8.35000E00 -8.47000E00 -5.59000E00 -5.62000E00 4.35000E00 1.62000E00 8.00000E-01 -1.40500E01 -1.03500E01 6.47000E00 -2.20000E00 -8.14000E00 -2.26000E00 -5.20000E00 4.77000E00 -1.96000E00 -8.90000E00 -4.05000E00 -4.05000E00 -1.00500E01 1.77000E00 1.95000E00 -9.87000E00 -4.05000E00 -1.10500E01 -4.26000E00 -7.26000E00 -1.03500E01 -5.30000E-01 -6.41000E00 -4.70000E-01 6.50000E-01 -1.02000E01 -9.38000E00 -4.53000E00 -5.53000E00 -5.56000E00 -1.59000E00 -1.25000E01 -5.74000E00 -5.77000E00 -4.80000E00 -8.80000E00 -9.20000E-01 -4.80000E00 -8.80000E00 -4.92000E00 -3.92000E00 -1.89000E00 -9.80000E00 -4.95000E00 5.00000E-02 -4.80000E00 -8.80000E00 -1.69200E01 -2.28000E00 -4.19000E00 -5.16000E00 -2.16000E00 -7.07000E00 -3.13000E00 1.93000E00 -6.86000E00 -5.92000E00 -4.95000E00 -3.95000E00 -4.92000E00 -2.92000E00 -1.38600E01 -Frame 160 1.08700E01 -7.65000E00 -1.97400E01 1.38100E01 -1.06200E01 -3.80000E00 1.22300E01 -1.22600E01 -2.50000E00 7.56000E00 4.92000E00 3.19000E00 -2.60000E00 -6.57000E00 -1.66000E00 -1.16000E01 -6.84000E00 -1.93000E00 1.30000E-01 -2.75000E00 -3.72000E00 -3.72000E00 -9.72000E00 -1.39000E01 -9.20000E00 -8.35000E00 2.53000E00 7.74000E00 -2.90000E00 -6.87000E00 3.04000E00 -4.75000E00 -8.78000E00 4.07000E00 1.31000E00 -1.25400E01 -1.18100E01 9.50000E-01 -5.90000E00 -9.60000E-01 4.13000E00 -4.63000E00 -8.66000E00 2.19000E00 -5.63000E00 -2.69000E00 5.34000E00 -4.39000E00 5.80000E-01 -3.30000E00 -8.30000E00 -3.45000E00 -2.45000E00 -1.42000E00 -5.36000E00 2.58000E00 -5.24000E00 -7.30000E00 4.58000E00 -1.80000E-01 -4.09000E00 -7.12000E00 -3.24000E00 -7.24000E00 -3.60000E-01 9.73000E00 -3.88000E00 -2.91000E00 3.09000E00 -1.17300E01 -2.00000E00 -9.70000E-01 -9.10000E-01 1.50000E-01 -5.76000E00 3.15000E00 1.33000E00 -5.50000E-01 3.51000E00 6.90000E-01 -1.22000E00 -1.19000E00 2.84000E00 -8.01000E00 -1.90000E-01 3.87000E00 -2.95000E00 6.02000E00 -4.74000E00 -8.30000E-01 2.20000E00 -4.68000E00 1.23000E00 5.32000E00 -6.47000E00 -3.62000E00 9.32000E00 2.65000E00 -7.23000E00 -4.41000E00 5.50000E00 -4.29000E00 1.62000E00 1.71000E00 6.80000E00 -2.96000E00 -1.02000E00 9.80000E-01 3.04000E00 6.16000E00 -1.63000E00 2.34000E00 1.04300E01 8.76000E00 -5.97000E00 -1.15000E00 3.82000E00 -2.06000E00 -4.12000E00 7.60000E-01 1.79000E00 4.85000E00 -1.00000E00 3.97000E00 7.09000E00 -7.00000E-01 2.27000E00 4.33000E00 4.45000E00 -4.30000E-01 2.54000E00 6.00000E-01 -4.00000E-01 7.57000E00 1.78000E00 -2.19000E00 7.72000E00 9.93000E00 -3.80000E00 2.05000E00 4.08000E00 3.17000E00 8.23000E00 6.44000E00 2.59000E00 -3.80000E-01 5.60000E-01 1.05300E01 1.80000E00 1.80000E00 -2.00000E-01 1.07400E01 1.20100E01 3.10000E-01 3.25000E00 3.28000E00 5.31000E00 5.40000E00 7.49000E00 6.40000E-01 -Frame 160 3.58000E00 2.61000E00 1.61000E00 4.58000E00 9.64000E00 -3.15000E00 -1.33000E00 9.55000E00 5.76000E00 7.85000E00 1.50000E01 7.36000E00 -2.52000E00 1.30000E00 -2.76000E00 9.06000E00 1.22400E01 5.51000E00 -4.30000E-01 2.45000E00 9.42000E00 6.60000E00 -1.31000E00 -1.46000E00 5.39000E00 9.45000E00 4.63000E00 3.66000E00 5.66000E00 9.72000E00 1.90000E00 -1.16000E00 1.16900E01 6.93000E00 -5.98000E00 5.72000E00 8.78000E00 1.93000E00 2.87000E00 1.08400E01 5.05000E00 3.08000E00 4.05000E00 -9.50000E-01 8.90000E00 1.20500E01 1.29000E00 -8.00000E-01 9.05000E00 3.20000E00 1.17000E00 8.00000E-02 7.96000E00 3.08000E00 2.05000E00 6.99000E00 9.08000E00 -7.70000E-01 3.08000E00 9.05000E00 6.20000E00 4.26000E00 1.26000E00 1.31700E01 6.44000E00 -5.00000E-01 3.35000E00 1.13200E01 5.30000E-01 4.10000E-01 3.29000E00 6.26000E00 5.32000E00 4.35000E00 1.43500E01 5.65000E00 6.80000E-01 7.56000E00 2.65000E00 9.59000E00 2.74000E00 3.68000E00 2.65000E00 -2.41000E00 6.38000E00 4.44000E00 6.44000E00 4.50000E00 2.50000E00 -5.60000E-01 3.29000E00 3.26000E00 8.23000E00 7.35000E00 3.44000E00 1.24100E01 9.65000E00 3.80000E00 1.77000E00 1.68000E00 5.90000E-01 -5.30000E-01 5.32000E00 2.35000E00 5.29000E00 4.32000E00 7.32000E00 4.41000E00 -5.90000E-01 3.26000E00 1.23000E00 5.14000E00 1.31700E01 2.44000E00 -6.20000E-01 3.23000E00 8.20000E00 3.20000E-01 5.20000E00 1.82300E01 6.50000E-01 1.53000E00 6.44000E00 7.50000E00 3.59000E00 7.56000E00 7.65000E00 -2.60000E-01 1.05900E01 9.77000E00 -3.08000E00 -3.20000E-01 1.05300E01 -1.29000E00 1.55300E01 4.86000E00 3.86000E00 6.83000E00 1.89000E00 4.80000E00 3.80000E00 1.77000E00 1.16800E01 9.89000E00 7.04000E00 7.10000E00 1.16000E00 4.04000E00 5.01000E00 3.01000E00 2.95000E00 5.89000E00 8.92000E00 9.04000E00 7.16000E00 4.22000E00 5.19000E00 7.19000E00 2.50000E-01 5.10000E00 -Frame 160 1.11000E01 9.28000E00 6.40000E00 7.43000E00 4.49000E00 4.46000E00 9.43000E00 3.55000E00 -5.10000E-01 7.31000E00 1.23700E01 9.58000E00 6.70000E00 4.73000E00 7.00000E-01 5.55000E00 1.55500E01 5.85000E00 -1.50000E-01 6.67000E00 6.70000E00 8.73000E00 1.82000E00 7.70000E00 7.76000E00 1.82000E00 4.70000E00 8.67000E00 4.76000E00 6.73000E00 9.76000E00 9.88000E00 9.00000E00 3.09000E00 4.00000E00 1.29400E01 4.15000E00 9.00000E-02 3.91000E00 1.08500E01 9.00000E00 7.09000E00 3.12000E00 2.00300E01 5.45000E00 -5.80000E-01 1.12100E01 1.03600E01 1.04800E01 1.26000E01 5.78000E00 7.50000E-01 7.57000E00 8.60000E00 7.66000E00 1.16900E01 6.84000E00 8.40000E-01 5.66000E00 9.63000E00 5.72000E00 8.69000E00 7.75000E00 6.78000E00 1.07800E01 6.90000E00 1.90000E00 9.75000E00 6.84000E00 1.28400E01 8.02000E00 2.05000E00 7.90000E00 7.93000E00 -4.00000E-02 1.27500E01 1.19300E01 1.60800E01 3.35000E00 1.12300E01 2.13500E01 4.77000E00 6.80000E-01 4.47000E00 7.38000E00 1.73800E01 -3.20000E-01 1.44000E00 9.26000E00 4.32000E00 1.32300E01 6.41000E00 6.38000E00 1.13500E01 1.04700E01 9.56000E00 1.16200E01 1.07400E01 3.83000E00 1.71000E00 1.25300E01 1.46800E01 6.89000E00 1.08600E01 1.39500E01 6.13000E00 8.07000E00 5.07000E00 7.98000E00 8.98000E00 5.01000E00 4.92000E00 1.58300E01 1.40700E01 2.50000E-01 5.01000E00 5.92000E00 1.08600E01 9.50000E-01 5.74000E00 5.68000E00 6.62000E00 6.59000E00 6.56000E00 1.35300E01 1.67100E01 -2.00000E-02 7.74000E00 1.47400E01 -1.05000E00 6.68000E00 9.65000E00 1.07100E01 2.80000E00 1.16500E01 1.37700E01 -5.00000E-02 8.71000E00 2.74000E00 9.59000E00 6.50000E-01 1.04400E01 1.15300E01 8.65000E00 1.16800E01 5.80000E00 2.74000E00 5.59000E00 7.53000E00 4.53000E00 4.44000E00 7.35000E00 6.35000E00 4.32000E00 3.23000E00 1.11100E01 8.23000E00 5.26000E00 4.20000E00 8.11000E00 -Signal: SpeechEndSignal -Signal: SpeechStartSignal -Frame 160 -9.00000E00 4.73000E00 3.88000E00 -2.00000E00 -3.06000E00 -2.15000E00 -6.21000E00 6.10000E-01 7.64000E00 8.80000E-01 2.91000E00 -4.00000E00 1.88000E00 -2.06000E00 -1.12000E00 -4.15000E00 -2.70000E-01 5.73000E00 -4.09000E00 -2.10000E-01 6.79000E00 -2.00000E00 -5.06000E00 -2.10000E-01 -6.21000E00 3.61000E00 -2.27000E00 -2.33000E00 1.61000E00 2.67000E00 -1.24000E00 -1.27000E00 -1.03000E01 5.40000E00 -2.42000E00 -4.48000E00 1.40000E00 4.60000E-01 1.49000E00 -7.45000E00 -6.60000E-01 -3.66000E00 -1.75000E00 5.22000E00 -4.60000E00 3.28000E00 -1.60000E00 -1.63000E00 -6.60000E-01 -1.66000E00 -2.69000E00 -2.75000E00 1.90000E-01 1.22000E00 3.28000E00 -4.60000E00 2.80000E-01 1.31000E00 -1.63000E00 5.34000E00 -1.48000E00 -5.10000E-01 1.49000E00 -6.45000E00 -6.30000E-01 -1.06300E01 3.07000E00 4.19000E00 -4.66000E00 1.22000E00 -7.20000E-01 -7.20000E-01 -1.72000E00 -6.75000E00 7.00000E-02 2.10000E00 3.19000E00 3.31000E00 -5.57000E00 -2.72000E00 1.22000E00 -4.72000E00 1.60000E-01 4.19000E00 -7.66000E00 -3.87000E00 7.04000E00 -5.72000E00 -2.87000E00 2.07000E00 2.16000E00 -8.75000E00 -2.99000E00 1.69500E01 -1.51000E00 -1.35400E01 2.07000E00 1.60000E-01 -5.81000E00 1.04000E00 5.10000E00 -7.20000E-01 -5.72000E00 1.13000E00 1.90000E-01 -2.78000E00 -3.84000E00 -3.93000E00 -3.02000E00 8.92000E00 2.20000E-01 -2.75000E00 2.19000E00 3.28000E00 1.40000E00 -2.54000E00 -1.60000E00 6.37000E00 -2.42000E00 -1.48000E00 4.90000E-01 1.52000E00 -4.20000E-01 8.58000E00 5.85000E00 -9.70000E-01 5.00000E00 3.15000E00 -6.76000E00 3.00000E-02 -3.97000E00 1.91000E00 4.97000E00 -6.88000E00 2.91000E00 4.00000E00 1.20000E-01 3.12000E00 3.21000E00 -7.00000E-01 -7.30000E-01 9.24000E00 3.51000E00 3.60000E00 6.90000E-01 2.69000E00 -3.25000E00 -2.37000E00 3.54000E00 8.63000E00 3.87000E00 -2.04000E00 6.87000E00 3.05000E00 1.10000E-01 1.08000E00 1.00800E01 5.35000E00 4.47000E00 2.56000E00 -Frame 160 -1.41000E00 5.00000E-01 -2.53000E00 4.35000E00 5.44000E00 -4.40000E-01 4.50000E00 -4.41000E00 5.41000E00 3.53000E00 7.59000E00 7.77000E00 -5.00000E-02 6.89000E00 3.04000E00 -2.93000E00 9.20000E-01 3.89000E00 9.95000E00 -8.10000E-01 3.10000E00 2.13000E00 2.13000E00 7.13000E00 -1.72000E00 1.16000E00 2.13000E00 5.13000E00 2.22000E00 6.22000E00 2.34000E00 2.34000E00 4.34000E00 2.40000E00 4.40000E00 1.46000E00 2.43000E00 8.43000E00 5.61000E00 7.00000E-01 8.64000E00 -1.80000E-01 4.73000E00 9.79000E00 -2.00000E00 2.85000E00 -1.50000E-01 -2.40000E-01 1.67000E00 5.64000E00 1.73000E00 3.70000E00 7.30000E-01 3.67000E00 2.70000E00 7.70000E00 -1.15000E00 -1.27000E00 3.61000E00 5.64000E00 5.73000E00 8.82000E00 5.00000E00 -9.40000E-01 2.94000E00 -6.00000E-02 -1.15000E00 2.73000E00 9.73000E00 -1.06000E00 3.82000E00 1.08500E01 1.09000E00 3.00000E-02 4.94000E00 4.00000E00 1.03000E00 8.97000E00 4.15000E00 1.80000E-01 6.09000E00 -2.82000E00 5.00000E00 1.06000E00 6.00000E00 3.09000E00 -6.91000E00 2.79000E00 1.17900E01 3.06000E00 -1.94000E00 3.91000E00 6.94000E00 -1.94000E00 2.91000E00 -4.09000E00 -1.30000E00 1.15800E01 3.85000E00 -7.12000E00 1.58000E00 9.55000E00 7.60000E-01 2.70000E00 -1.30000E00 3.58000E00 2.61000E00 8.61000E00 2.79000E00 1.79000E00 -4.24000E00 6.55000E00 -3.30000E-01 -1.42000E00 8.46000E00 -3.60000E-01 5.50000E-01 1.49000E00 -5.54000E00 -2.78000E00 6.07000E00 6.19000E00 3.31000E00 2.34000E00 8.34000E00 5.52000E00 -6.39000E00 4.34000E00 2.40000E00 -1.60000E00 2.28000E00 1.28000E00 4.25000E00 6.31000E00 3.43000E00 4.46000E00 2.52000E00 2.52000E00 -4.48000E00 2.31000E00 7.31000E00 3.46000E00 -5.51000E00 2.25000E00 3.25000E00 -1.72000E00 -8.40000E-01 -4.93000E00 4.86000E00 -5.00000E-02 4.89000E00 -2.00000E-02 -8.00000E-02 8.60000E-01 -1.17000E00 3.74000E00 1.80000E00 2.80000E00 -1.70000E-01 -9.23000E00 -Frame 160 -3.56000E00 1.12900E01 -2.41000E00 -2.53000E00 7.35000E00 3.53000E00 -1.41000E00 -5.50000E00 4.29000E00 5.38000E00 -7.50000E00 1.02300E01 -2.50000E00 2.38000E00 1.04100E01 6.80000E-01 6.50000E-01 -4.38000E00 -3.56000E00 1.29000E00 -7.10000E-01 2.23000E00 -1.74000E00 2.17000E00 4.20000E00 2.29000E00 -3.68000E00 -1.83000E00 2.08000E00 2.11000E00 -1.86000E00 6.05000E00 7.20000E00 -5.62000E00 3.17000E00 4.23000E00 -8.68000E00 5.02000E00 -8.60000E-01 1.08000E00 2.08000E00 -1.89000E00 5.02000E00 -3.86000E00 -2.01000E00 4.90000E00 -1.98000E00 -7.00000E-02 6.90000E00 5.08000E00 -1.08000E01 1.84000E00 8.70000E-01 8.70000E-01 -1.13000E00 -3.19000E00 5.69000E00 -7.16000E00 6.00000E-01 2.60000E00 -4.34000E00 -3.49000E00 5.39000E00 -5.46000E00 -2.64000E00 2.27000E00 6.33000E00 -3.49000E00 -6.10000E-01 8.36000E00 6.60000E00 -2.22000E00 -1.31000E00 4.63000E00 -4.25000E00 6.00000E-01 -2.40000E00 2.51000E00 1.57000E00 1.60000E00 3.63000E00 2.72000E00 7.80000E-01 3.78000E00 1.87000E00 3.90000E00 9.90000E-01 -2.01000E00 1.90000E00 1.93000E00 -4.00000E-02 9.30000E-01 1.09300E01 1.23000E00 -7.70000E-01 7.17000E00 -1.65000E00 -1.74000E00 1.01700E01 4.40000E-01 -3.59000E00 -2.74000E00 -4.86000E00 7.96000E00 4.17000E00 1.26000E00 6.26000E00 -5.90000E-01 9.35000E00 1.55900E01 -8.99000E00 6.80000E-01 4.65000E00 -6.26000E00 2.50000E00 4.53000E00 2.62000E00 6.65000E00 -1.20000E00 7.71000E00 1.89000E00 -1.10000E-01 2.83000E00 4.86000E00 3.95000E00 5.01000E00 1.10000E00 1.07000E00 7.04000E00 4.19000E00 3.25000E00 5.28000E00 5.37000E00 -5.40000E-01 3.37000E00 2.40000E00 7.40000E00 3.55000E00 -3.42000E00 -6.00000E-01 6.31000E00 9.43000E00 5.64000E00 6.73000E00 6.85000E00 -3.03000E00 2.79000E00 5.79000E00 1.88000E00 4.85000E00 6.91000E00 5.03000E00 8.09000E00 5.24000E00 3.00000E-01 6.21000E00 9.30000E00 7.48000E00 -2.40000E00 1.34200E01 -Frame 160 -2.80000E-01 6.00000E-01 1.15100E01 8.75000E00 6.90000E00 -2.01000E00 2.81000E00 7.78000E00 3.90000E00 -1.00000E-01 -3.22000E00 2.57000E00 4.54000E00 9.57000E00 3.75000E00 7.50000E-01 7.66000E00 9.78000E00 1.96000E00 -6.10000E00 1.06000E01 7.81000E00 1.93000E00 7.87000E00 6.99000E00 1.08000E00 2.99000E00 4.96000E00 8.99000E00 5.14000E00 -2.83000E00 1.96000E00 -1.00000E-01 4.78000E00 2.81000E00 2.78000E00 1.75000E00 -1.31000E00 8.54000E00 -3.31000E00 1.48000E00 3.42000E00 4.20000E-01 -1.67000E00 7.18000E00 1.03000E01 -3.49000E00 6.30000E00 7.39000E00 -3.49000E00 6.30000E00 5.39000E00 2.45000E00 -5.80000E-01 -1.70000E00 2.15000E00 3.12000E00 3.12000E00 1.20000E-01 3.03000E00 8.03000E00 8.18000E00 2.33000E00 6.30000E00 3.90000E-01 -3.70000E00 9.00000E-02 1.00000E00 4.94000E00 2.00000E00 -3.00000E-02 4.88000E00 4.94000E00 2.00000E00 -3.03000E00 2.79000E00 1.07900E01 -4.97000E00 -1.21000E00 4.67000E00 -2.27000E00 7.58000E00 1.73000E00 -7.30000E00 6.40000E00 1.52000E00 -5.10000E-01 4.40000E00 -1.54000E00 3.40000E-01 3.28000E00 3.31000E00 3.40000E-01 6.28000E00 -1.26000E01 -3.05000E00 4.80000E00 -2.11000E00 -3.23000E00 7.62000E00 1.80000E00 1.80000E00 -2.00000E-01 7.40000E-01 6.71000E00 1.08600E01 -8.70000E-01 -1.29600E01 -3.41000E00 4.40000E-01 -5.90000E-01 -6.50000E-01 1.29000E00 2.29000E00 -6.80000E-01 -7.40000E-01 -2.80000E00 5.08000E00 3.20000E00 -4.74000E00 8.00000E-02 -4.95000E00 1.87000E00 5.90000E00 -7.95000E00 7.80000E-01 1.78000E00 -8.19000E00 6.54000E00 7.20000E-01 -6.28000E00 -3.49000E00 -2.61000E00 3.30000E00 1.39000E00 3.42000E00 5.10000E-01 3.51000E00 4.60000E00 -6.28000E00 -4.90000E-01 -3.52000E00 -3.64000E00 -4.76000E00 3.09000E00 3.18000E00 -1.73000E00 -3.79000E00 1.09000E00 -2.88000E00 3.00000E-02 -9.70000E-01 0.00000E00 2.00000E00 -3.94000E00 9.40000E-01 9.70000E-01 1.00000E00 -9.70000E-01 -7.00000E00 -Frame 160 4.79000E00 -1.06000E00 -1.09000E00 -8.12000E00 1.64000E00 5.70000E00 -1.12000E00 -5.15000E00 -5.30000E00 -1.45000E00 5.20000E-01 2.55000E00 -4.36000E00 1.52000E00 6.58000E00 -7.21000E00 -6.42000E00 3.40000E00 5.20000E-01 1.55000E00 1.61000E00 -1.33000E00 2.64000E00 -3.27000E00 1.64000E00 4.70000E00 4.85000E00 -7.00000E00 -8.21000E00 9.55000E00 -6.15000E00 -2.33000E00 -2.39000E00 -4.45000E00 1.43000E00 2.49000E00 2.58000E00 4.67000E00 -3.18000E00 -2.27000E00 -2.33000E00 6.10000E-01 -7.36000E00 3.43000E00 5.55000E00 -2.27000E00 2.67000E00 -6.24000E00 -4.20000E-01 5.58000E00 -1.24000E00 3.73000E00 5.85000E00 -3.97000E00 -1.09000E00 -4.12000E00 1.76000E00 8.20000E-01 -5.15000E00 -5.30000E00 7.55000E00 8.79000E00 -8.94000E00 3.79000E00 3.91000E00 3.03000E00 -9.88000E00 3.82000E00 -6.00000E-02 -1.06000E00 2.91000E00 -3.00000E00 9.10000E-01 -5.06000E00 1.79000E00 8.50000E-01 -4.12000E00 -2.40000E-01 -2.24000E00 4.70000E00 8.50000E-01 -6.12000E00 7.00000E-01 3.73000E00 -1.15000E00 -4.18000E00 -3.00000E-01 -4.30000E00 -2.42000E00 4.52000E00 -2.33000E00 -3.39000E00 5.20000E-01 2.55000E00 -1.23600E01 9.28000E00 -3.42000E00 -3.51000E00 4.00000E-01 -5.70000E-01 -3.57000E00 3.40000E-01 3.70000E-01 -3.60000E00 -2.69000E00 2.50000E-01 -2.72000E00 -1.78000E00 -2.81000E00 8.13000E00 -1.60000E00 -1.06300E01 4.07000E00 -2.78000E00 -5.84000E00 -1.99000E00 -6.02000E00 2.83000E00 -7.05000E00 1.77000E00 8.60000E-01 -9.08000E00 2.68000E00 2.80000E00 -1.40800E01 -1.47000E00 8.53000E00 -1.11700E01 -7.47000E00 3.50000E-01 -5.59000E00 5.29000E00 -1.05000E01 1.23000E00 -6.80000E-01 -1.65000E00 3.50000E-01 -9.59000E00 -5.83000E00 -1.95000E00 -1.95000E00 -3.95000E00 -1.40100E01 -3.37000E00 2.60000E00 -4.25000E00 -1.31000E00 -6.28000E00 -6.40000E00 -6.52000E00 -4.64000E00 -6.70000E00 -4.82000E00 -5.88000E00 -5.97000E00 -7.06000E00 -6.18000E00 -3.27000E00 -4.27000E00 -1.13000E01 -Frame 160 -6.54000E00 -7.63000E00 -6.75000E00 -1.84000E00 -7.78000E00 -8.90000E00 -4.05000E00 -4.05000E00 -9.05000E00 -1.20000E00 -1.31100E01 -6.38000E00 -2.44000E00 -1.03800E01 -1.56000E00 -6.47000E00 -6.53000E00 -5.59000E00 -8.62000E00 -9.74000E00 -5.89000E00 -6.92000E00 -6.98000E00 9.60000E-01 -6.86000E00 -9.92000E00 -7.07000E00 -5.13000E00 -6.13000E00 1.84000E00 -4.95000E00 -8.95000E00 -8.07000E00 -6.16000E00 -7.19000E00 -5.25000E00 -7.25000E00 -6.31000E00 -2.34000E00 -1.12500E01 -4.43000E00 -2.40000E00 -1.03100E01 -5.46000E00 -3.46000E00 -3.40000E00 -7.34000E00 -7.40000E00 -9.46000E00 -1.35800E01 -1.68200E01 -2.15000E00 -5.03000E00 -8.00000E00 -5.06000E00 -6.03000E00 -1.10300E01 -7.18000E00 -2.21000E00 -6.09000E00 -6.09000E00 -5.09000E00 -9.06000E00 -9.15000E00 -9.24000E00 -9.33000E00 -1.14200E01 -2.57000E00 -9.45000E00 -1.05400E01 -9.66000E00 -8.75000E00 -1.18100E01 -4.96000E00 -8.90000E00 -9.96000E00 -7.05000E00 9.50000E-01 -8.81000E00 -6.87000E00 -1.08700E01 -2.99000E00 -1.87000E00 -1.37200E01 -6.93000E00 -7.93000E00 -1.29600E01 -4.14000E00 -3.05000E00 -2.93000E00 -5.81000E00 -2.78000E00 -1.16600E01 -1.81000E00 -5.66000E00 -1.66300E01 -8.93000E00 1.00000E-02 -7.80000E-01 -1.06000E01 -2.72000E00 -1.06000E01 -8.72000E00 -5.78000E00 -2.75000E00 -6.63000E00 -5.63000E00 -9.60000E00 -5.69000E00 1.34000E00 -1.04200E01 -8.54000E00 -5.60000E00 -5.57000E00 -3.54000E00 -2.45000E00 -1.13300E01 -4.48000E00 2.58000E00 -7.15000E00 -2.18000E00 -6.06000E00 -6.06000E00 -7.06000E00 -3.09000E00 -8.00000E00 -7.06000E00 -1.20900E01 7.30000E-01 -4.06000E00 -1.00000E01 -5.12000E00 -6.09000E00 -1.00900E01 7.90000E-01 -6.00000E00 1.00000E00 -4.79000E00 -2.76000E00 -8.67000E00 -5.76000E00 -2.76000E00 -6.67000E00 -5.70000E00 -2.70000E00 -3.61000E00 2.45000E00 -5.31000E00 -1.23100E01 3.48000E00 -5.25000E00 -3.25000E00 1.81000E00 -5.98000E00 -1.20100E01 -6.22000E00 7.50000E-01 -5.07000E00 -5.07000E00 -4.07000E00 -Frame 160 -6.04000E00 2.93000E00 1.70000E-01 -6.68000E00 -3.74000E00 9.29000E00 -2.29000E00 -7.23000E00 -4.32000E00 -3.20000E-01 1.80000E00 -8.02000E00 -3.14000E00 3.89000E00 -8.70000E-01 -6.78000E00 7.13000E00 -2.54000E00 -5.10000E-01 -3.42000E00 -6.42000E00 -4.51000E00 3.46000E00 -4.33000E00 -3.36000E00 2.64000E00 8.20000E-01 2.94000E00 -3.88000E00 1.09000E00 2.10000E-01 -9.70000E00 -2.91000E00 2.09000E00 -7.60000E-01 2.30000E00 3.45000E00 -6.37000E00 2.51000E00 -3.34000E00 -3.37000E00 2.60000E00 2.75000E00 -2.10000E00 5.90000E00 1.40000E-01 -3.80000E00 -5.86000E00 2.00000E-02 -9.20000E-01 -4.89000E00 4.02000E00 3.20000E00 -7.65000E00 -2.83000E00 5.14000E00 3.50000E-01 -4.59000E00 -2.68000E00 5.29000E00 -3.50000E00 -5.60000E-01 -4.53000E00 1.38000E00 -3.53000E00 -1.59000E00 6.41000E00 -5.35000E00 -4.47000E00 -1.56000E00 -3.56000E00 4.38000E00 5.56000E00 3.77000E00 -6.08000E00 7.70000E-01 8.30000E-01 -3.11000E00 -3.17000E00 7.70000E-01 1.83000E00 -4.08000E00 1.83000E00 -3.08000E00 -1.40000E-01 -4.11000E00 2.80000E00 -8.00000E-02 -4.05000E00 8.60000E-01 -1.08000E00 -7.08000E00 5.74000E00 5.95000E00 -8.84000E00 -2.08000E00 -1.10000E-01 -8.00000E-02 -9.05000E00 4.71000E00 -2.11000E00 -2.14000E00 -1.70000E-01 2.86000E00 -9.02000E00 -4.26000E00 8.65000E00 -5.05000E00 -7.17000E00 1.65000E00 -7.26000E00 -1.44000E00 2.56000E00 -6.32000E00 -3.47000E00 -1.53000E00 -4.53000E00 3.80000E-01 -5.60000E-01 -5.30000E-01 4.50000E00 6.80000E-01 -4.26000E00 -4.35000E00 2.56000E00 -2.32000E00 -8.35000E00 -6.56000E00 7.29000E00 5.60000E-01 -1.38000E00 -7.38000E00 -2.56000E00 5.41000E00 -2.38000E00 -3.41000E00 3.53000E00 -2.32000E00 1.65000E00 3.74000E00 1.89000E00 2.98000E00 -1.09000E01 5.80000E00 -1.99000E00 -2.00000E-02 -2.99000E00 2.95000E00 7.00000E-02 -5.90000E00 1.95000E00 2.04000E00 -6.87000E00 2.95000E00 7.00000E-02 -2.90000E00 6.04000E00 7.25000E00 2.49000E00 -1.42000E00 -Frame 160 -8.45000E00 3.10000E-01 8.34000E00 -9.39000E00 -3.66000E00 -7.50000E-01 5.25000E00 8.43000E00 -5.30000E00 1.55000E00 3.61000E00 7.30000E-01 1.27600E01 1.50000E-01 -1.85000E00 5.09000E00 -2.76000E00 -3.85000E00 3.03000E00 2.12000E00 -8.20000E-01 -1.85000E00 5.09000E00 1.02400E01 1.54000E00 5.57000E00 4.72000E00 -7.16000E00 6.00000E-01 7.60000E00 1.81000E00 -4.16000E00 1.69000E00 1.07200E01 2.02000E00 -9.50000E-01 6.99000E00 1.70000E-01 2.14000E00 -8.30000E-01 -1.89000E00 5.02000E00 -1.86000E00 3.05000E00 9.11000E00 -3.65000E00 1.20000E00 1.20000E00 -8.80000E00 1.90000E00 4.93000E00 4.05000E00 3.14000E00 2.20000E00 1.23000E00 2.23000E00 2.60000E-01 2.30000E-01 1.20000E00 4.20000E00 1.02900E01 4.56000E00 6.50000E-01 -4.38000E00 -2.56000E00 5.32000E00 -5.60000E-01 8.38000E00 -3.41000E00 5.44000E00 3.56000E00 -1.38000E00 6.53000E00 5.68000E00 1.80000E00 -2.20000E00 2.68000E00 6.71000E00 -5.14000E00 9.65000E00 -1.11000E00 -7.20000E00 1.53000E00 5.30000E-01 1.50000E00 4.50000E00 6.59000E00 -4.26000E00 4.56000E00 9.65000E00 1.89000E00 -1.11000E00 6.80000E00 9.50000E-01 2.92000E00 -5.00000E-02 8.90000E-01 -4.14000E00 1.68000E00 6.80000E-01 -2.35000E00 6.53000E00 5.68000E00 3.80000E00 1.86000E00 -1.40000E-01 4.80000E00 8.90000E-01 6.86000E00 1.10100E01 -1.72000E00 8.16000E00 6.34000E00 6.46000E00 3.58000E00 1.16100E01 1.28800E01 7.18000E00 8.30000E00 1.04500E01 9.66000E00 8.84000E00 9.99000E00 1.31700E01 1.14400E01 1.46500E01 7.95000E00 1.30400E01 1.12800E01 1.24600E01 1.96700E01 1.50900E01 4.36000E00 1.83000E01 1.36600E01 5.87000E00 1.38400E01 9.05000E00 1.11100E01 1.62300E01 5.00000E-01 1.02900E01 6.38000E00 1.33500E01 1.75300E01 8.83000E00 9.86000E00 2.09200E01 1.03100E01 7.37000E00 8.34000E00 3.34000E00 1.21900E01 1.13100E01 4.40000E00 1.62800E01 4.52000E00 9.40000E00 7.43000E00 9.40000E00 -Frame 160 1.14300E01 6.52000E00 1.24600E01 6.58000E00 6.52000E00 5.46000E00 7.37000E00 1.33400E01 3.49000E00 3.40000E-01 7.10000E00 2.07000E00 7.89000E00 1.38900E01 4.07000E00 -5.05000E00 -2.44000E00 -7.40000E-01 5.02000E00 -2.04000E00 -3.10000E-01 5.48000E00 -2.55000E00 4.18000E00 -1.88000E00 1.08800E01 -9.70000E-01 -5.18000E00 3.49000E00 -3.57000E00 3.16000E00 -1.90000E00 -6.11000E00 -4.40000E-01 2.41000E00 -3.65000E00 -3.89000E00 -1.13000E00 -9.28000E00 -5.67000E00 -9.40000E-01 -5.06000E00 -5.30000E00 -7.54000E00 -3.84000E00 2.98000E00 -1.59900E01 -9.53000E00 -7.86000E00 -1.01300E01 -7.46000E00 -8.70000E00 -4.97000E00 -9.12000E00 -1.03900E01 3.10000E-01 2.34000E00 1.84300E01 2.80000E01 2.88400E01 2.26800E01 5.31000E00 -8.60000E00 4.07000E00 7.13000E00 2.52800E01 4.09700E01 1.11100E01 -4.68000E00 5.05000E00 2.40800E01 3.36800E01 2.95500E01 1.52700E01 8.54000E00 6.00000E-01 4.42000E00 2.03600E01 1.17800E01 2.93000E00 -5.19000E00 -6.55000E00 6.06000E00 9.06000E00 2.11500E01 8.60000E00 -3.34000E00 4.36000E00 4.30000E00 9.24000E00 1.83300E01 -1.31000E00 -6.55000E00 -9.94000E00 -5.42000E00 1.12500E01 2.44300E01 1.30000E01 8.21000E00 1.27000E00 6.12000E00 8.12000E00 1.81800E01 1.65400E01 7.84000E00 -2.13000E00 -4.00000E-01 1.23900E01 1.65700E01 1.48700E01 -3.89000E00 -5.22000E00 4.20000E-01 -3.76000E00 5.94000E00 6.94000E00 -4.03000E00 -6.33000E00 -3.69000E00 -3.96000E00 7.70000E-01 1.06500E01 1.83000E00 -1.02600E01 -1.37100E01 -1.25000E00 4.60000E00 -2.37000E00 -1.55000E00 -1.70000E00 -3.85000E00 -4.06000E00 2.73000E00 6.73000E00 -6.15000E00 -4.42000E00 -5.63000E00 -4.87000E00 -7.08000E00 1.06500E01 -2.08000E00 -3.20000E00 1.65000E00 -1.35000E00 1.56000E00 8.56000E00 2.77000E00 -2.20000E00 4.68000E00 8.77000E00 9.98000E00 1.22000E00 1.21900E01 -2.51000E00 5.34000E00 3.43000E00 4.60000E-01 1.64000E01 3.82000E00 1.08500E01 -Frame 160 1.09000E00 1.03000E00 1.09700E01 6.21000E00 -2.70000E00 5.12000E00 6.18000E00 8.27000E00 5.42000E00 3.48000E00 8.48000E00 5.63000E00 -3.10000E-01 7.57000E00 6.90000E-01 -1.40000E00 1.24500E01 -1.28000E00 -4.43000E00 -1.67000E00 2.18000E00 4.15000E00 -8.20000E-01 -3.94000E00 3.85000E00 -2.12000E00 4.73000E00 5.79000E00 1.88000E00 8.50000E-01 -1.21000E00 -2.33000E00 -8.48000E00 1.90000E-01 1.01300E01 -3.63000E00 -8.10000E-01 -9.00000E-01 -9.90000E-01 -4.08000E00 2.74000E00 8.77000E00 7.98000E00 -2.84000E00 7.01000E00 6.16000E00 5.28000E00 9.37000E00 4.58000E00 6.40000E-01 5.80000E-01 -1.48000E00 1.40000E00 3.37000E00 1.40000E00 1.43700E01 6.73000E00 4.85000E00 1.29100E01 1.21000E00 -8.50000E-01 1.30300E01 -3.67000E00 -8.80000E-01 2.00000E00 9.97000E00 2.18000E00 -8.50000E-01 1.00300E01 1.02400E01 4.45000E00 -1.52000E00 1.33000E00 1.12700E01 2.51000E00 5.48000E00 5.54000E00 -4.40000E00 -1.64000E00 2.21000E00 7.18000E00 7.30000E00 1.04200E01 1.63000E00 4.57000E00 3.60000E00 1.26000E01 2.87000E00 1.84000E00 8.78000E00 -8.07000E00 5.70000E-01 1.34800E01 2.78000E00 7.50000E-01 9.66000E00 -3.16000E00 -2.37000E00 3.45000E00 1.45000E00 5.39000E00 4.45000E00 4.80000E-01 7.39000E00 8.51000E00 -4.34000E00 1.14200E01 6.60000E-01 2.57000E00 1.54000E00 2.48000E00 -1.55000E00 7.30000E00 -4.58000E00 1.18000E00 -8.80000E-01 0.00000E00 7.91000E00 1.06000E00 -3.00000E00 6.82000E00 2.94000E00 1.94000E00 -4.09000E00 5.70000E00 4.79000E00 -7.15000E00 2.55000E00 6.55000E00 -7.33000E00 1.37000E00 3.34000E00 -6.30000E-01 7.28000E00 -4.57000E00 -7.80000E-01 1.11300E01 1.64000E01 -6.18000E00 -9.45000E00 1.01900E01 4.43000E00 1.49000E00 2.46000E00 4.60000E-01 4.00000E-01 2.34000E00 5.34000E00 -5.70000E-01 2.34000E00 2.34000E00 4.34000E00 8.40000E00 3.58000E00 2.61000E00 1.61000E00 -2.42000E00 1.24300E01 1.47300E01 9.00000E-02 -Frame 160 -7.00000E00 -5.30000E00 -7.54000E00 -5.84000E00 6.92000E00 9.07000E00 -1.72000E00 -2.84000E00 8.01000E00 4.19000E00 -8.75000E00 1.29200E01 6.25000E00 -7.63000E00 -3.93000E00 5.89000E00 -4.99000E00 4.80000E00 6.89000E00 1.04000E00 -8.99000E00 1.68000E00 1.26800E01 2.01000E00 3.01000E00 6.04000E00 -6.84000E00 -1.11000E00 1.18000E01 8.10000E00 -2.72000E00 5.13000E00 1.22000E00 5.19000E00 -4.72000E00 -2.93000E00 1.29200E01 1.25000E00 2.20000E-01 7.16000E00 9.31000E00 9.52000E00 6.73000E00 -1.50000E-01 4.76000E00 4.82000E00 6.88000E00 3.00000E00 -1.00000E00 4.88000E00 8.94000E00 4.12000E00 1.11500E01 9.39000E00 6.57000E00 8.66000E00 5.81000E00 8.87000E00 5.02000E00 5.05000E00 4.08000E00 6.08000E00 1.14000E00 7.05000E00 6.14000E00 2.20000E00 4.14000E00 2.14000E00 -1.92000E00 -1.10000E00 1.75000E00 -4.31000E00 1.45000E00 1.39000E00 -6.70000E-01 2.21000E00 6.18000E00 1.27000E00 -7.90000E-01 -1.91000E00 -5.06000E00 -2.30000E00 2.55000E00 5.50000E-01 -1.51000E00 3.70000E-01 -2.69000E00 -5.84000E00 2.92000E00 9.50000E-01 -4.08000E00 7.40000E-01 7.10000E-01 4.68000E00 -7.23000E00 -2.50000E00 3.80000E-01 -5.65000E00 -4.86000E00 -3.04000E00 -6.16000E00 -6.37000E00 4.20000E-01 -2.58000E00 -4.67000E00 -1.82000E00 -5.88000E00 -1.10600E01 -6.39000E00 4.43000E00 -1.24200E01 -1.17800E01 -3.11000E00 -8.17000E00 -4.38000E00 5.30000E-01 -9.41000E00 -1.06500E01 1.08000E00 -1.38300E01 -6.19000E00 -4.31000E00 -1.23700E01 -1.36700E01 -8.00000E00 -1.50000E-01 -1.70600E01 -2.34800E01 -6.08000E00 -1.11400E01 -1.53500E01 -1.66800E01 -5.04000E00 -9.04000E00 -2.01600E01 -4.36100E01 6.32500E01 -4.65000E00 -8.86500E01 6.78300E01 2.30800E01 -2.10800E01 6.24100E01 3.24200E01 -7.65300E01 -3.67800E01 2.32300E01 8.07000E00 5.24300E01 4.41100E01 1.24900E01 1.18800E01 1.24000E00 -7.07300E01 7.14000E00 3.04100E01 -6.30000E-01 2.13700E01 2.20300E01 7.69000E00 -Frame 160 -6.10000E00 -3.31000E00 -2.54300E01 -1.52100E01 -1.06600E01 -1.09600E01 1.07400E01 1.91000E01 1.17000E01 -3.94000E00 -2.10600E01 -2.76900E01 -1.75000E01 8.02000E00 5.32000E00 3.53000E00 5.68000E00 -3.11000E00 -8.17000E00 -1.53800E01 -6.80000E00 -2.95000E00 -1.98000E00 -1.98000E00 7.02000E00 3.29000E00 6.44000E00 1.66800E01 -7.80000E-01 -1.27800E01 -1.01400E01 -3.41000E00 4.53000E00 1.17100E01 8.10000E00 3.37000E00 -5.51000E00 -1.26600E01 -5.02000E00 1.86000E00 2.95000E00 1.07000E00 5.13000E00 -2.69000E00 -4.75000E00 4.13000E00 -5.72000E00 -3.87000E00 -5.96000E00 -1.21100E01 2.56000E00 6.68000E00 9.92000E00 1.02500E01 -6.42000E00 -1.16000E01 -2.93000E00 1.00000E-02 5.04000E00 -1.17800E01 1.48900E01 3.37000E00 -1.85100E01 -5.05000E00 5.78300E01 1.67600E02 -6.23900E01 -1.96430E02 5.70000E-01 1.82660E02 2.10000E-01 -1.56880E02 3.33200E01 7.43700E01 4.86200E01 1.22030E02 -2.94000E01 -1.48480E02 -3.81000E01 1.26730E02 1.46540E02 9.28300E01 5.38000E00 5.23000E00 -4.19200E01 -1.01480E02 -1.57800E01 4.05900E01 -3.33000E00 -7.26000E01 -2.59400E01 3.01900E01 -2.97000E00 -7.71500E01 -7.05500E01 -3.36800E01 -1.96400E01 -3.21500E01 2.98000E00 2.21900E01 -1.60300E01 -3.14200E01 -1.62600E01 -2.06200E01 -4.21000E01 -8.62100E01 -5.86100E01 -1.31100E01 -2.92000E01 -4.17700E01 -2.17000E01 -4.90000E01 -1.35110E02 -1.48770E02 -1.18730E02 -1.13670E02 -1.35370E02 -1.39640E02 -9.09400E01 -4.06800E01 -4.88600E01 -1.04280E02 -9.73500E01 1.18500E01 2.32380E02 4.33480E02 4.10370E02 7.31500E01 -1.97570E02 -1.56480E02 4.30200E01 2.22640E02 2.42600E02 1.45950E02 8.18000E00 -2.78500E01 1.70400E01 2.83100E01 -1.19090E02 -2.60930E02 -2.67910E02 -1.58860E02 1.07000E01 1.65480E02 1.65880E02 8.13000E00 -2.46510E02 -3.20800E02 -1.77100E02 -2.78100E01 3.41000E01 4.98700E01 7.00600E01 8.37900E01 1.01850E02 1.13360E02 9.31100E01 -3.38600E01 -1.32730E02 -9.55400E01 -Frame 160 5.28800E01 2.13830E02 2.32550E02 1.30630E02 -1.15600E01 -1.25130E02 -1.21090E02 -5.58100E01 -6.04600E01 -7.72000E01 -5.13900E01 -1.27400E01 3.31100E01 2.33400E01 -4.67600E01 -1.25990E02 -2.30560E02 -2.11160E02 -9.99800E01 3.27100E01 1.22450E02 1.06830E02 3.66100E01 -3.28300E01 -5.24000E01 -2.25400E01 4.12500E01 7.69600E01 6.66900E01 6.20300E01 5.91600E01 9.01400E01 1.08990E02 4.03200E01 -5.05100E01 -1.19100E02 -8.57000E01 -1.21900E01 2.86000E01 3.06200E01 -6.33000E00 -7.54200E01 -9.45800E01 -7.22500E01 -4.31700E01 -3.41600E01 -5.08500E01 -5.20200E01 1.81000E00 2.32900E01 6.34000E01 8.16800E01 3.54400E01 -5.92700E01 -4.08600E01 3.91500E01 8.85900E01 1.09470E02 1.31890E02 6.68800E01 -5.02000E01 -6.85000E00 5.88500E01 3.85300E01 1.75500E01 1.09100E01 5.06000E00 2.80300E01 -7.31000E00 -6.73000E00 -2.71200E01 -8.91100E01 -8.99300E01 -3.26900E01 6.35000E00 8.59000E00 8.90000E-01 -2.00500E01 -5.26200E01 -4.41500E01 -6.38000E00 2.65600E01 4.90000E-01 -3.39000E00 1.16100E01 2.80600E01 5.79900E01 2.97900E01 -1.23100E01 -1.67000E01 -5.32100E01 -2.58000E01 3.74800E01 2.76800E01 -2.34500E01 -5.31400E01 -5.57000E01 -2.32900E01 -3.38600E01 -2.37300E01 -3.32700E01 -9.60800E01 -1.08750E02 -4.87200E01 -6.78000E01 -7.64200E01 -6.82500E01 -7.77800E01 -1.18550E02 -1.05490E02 -4.69500E01 -5.55800E01 -3.74500E01 -8.87500E01 -1.91580E02 -1.62440E02 -1.23280E02 -9.98300E01 -8.96000E01 -6.20100E01 -3.65500E01 2.56900E01 -2.52100E01 -1.67000E01 8.60500E01 1.03860E02 3.25090E02 4.69830E02 4.89590E02 6.33500E02 2.91280E02 -2.48770E02 -3.51260E02 -1.79570E02 2.56100E01 1.87120E02 1.41460E02 -4.37300E01 -2.30590E02 -1.91000E02 -1.72000E02 -3.18250E02 -3.73730E02 -2.79590E02 -1.51300E02 7.10700E01 3.16220E02 3.52630E02 2.03820E02 -4.17900E01 -1.79960E02 -1.03240E02 6.89400E01 2.63370E02 3.30560E02 2.31520E02 2.23210E02 1.74450E02 5.20400E01 -4.21800E01 -Frame 160 -1.46250E02 -1.95380E02 -1.36830E02 -7.83300E01 6.40600E01 8.28000E01 1.00500E01 -1.19950E02 -2.38850E02 -2.70200E02 -1.67270E02 -6.50100E01 1.54600E01 5.23900E01 6.74000E01 9.78000E01 1.10040E02 7.55500E01 2.69200E01 -2.42400E01 -1.99600E01 7.64700E01 1.53810E02 1.90400E02 2.02950E02 6.17100E01 8.06000E00 1.07600E01 -3.24500E01 -7.09500E01 -6.65600E01 -4.49600E01 -1.86400E01 -1.74800E01 -1.52600E01 -5.95000E00 -2.23400E01 -6.12100E01 -8.42200E01 -1.44860E02 -6.62400E01 4.88700E01 6.14900E01 1.10440E02 1.30800E02 7.86700E01 4.58600E01 3.40000E01 2.97500E01 4.73500E01 5.94600E01 8.29000E01 8.90000E01 1.08220E02 6.89500E01 3.84200E01 -9.07000E00 -6.20000E01 -6.54900E01 -4.60100E01 3.13000E00 5.98000E01 1.51800E01 -1.18200E01 7.37000E00 -8.40000E-01 -5.62900E01 -2.39000E00 2.31900E01 -1.04500E01 -1.81100E01 3.10200E01 3.26500E01 2.73100E01 2.37900E01 8.15000E00 -6.29700E01 -5.82200E01 9.74000E00 1.80000E00 4.62000E00 1.65300E01 2.80000E00 -4.93500E01 -4.20600E01 -1.05000E01 -6.69500E01 -1.13080E02 -8.55300E01 -3.50500E01 -1.00980E02 -9.88600E01 1.54100E01 -9.18100E01 -1.55270E02 -9.55600E01 -1.57930E02 -2.32100E02 -1.86370E02 -1.19080E02 -8.26300E01 -1.09010E02 -3.91400E01 -8.61100E01 -1.69490E02 -1.29330E02 -2.38500E01 -2.68130E02 -3.54760E02 2.72100E01 2.37910E02 3.53850E02 5.70000E02 6.01270E02 4.97930E02 7.85930E02 6.87120E02 -1.26350E02 -5.55810E02 -4.99990E02 -2.71950E02 1.47410E02 3.02610E02 6.13400E01 -1.61430E02 -2.99920E02 -4.16400E02 -5.07090E02 -5.15120E02 -3.09940E02 -1.23160E02 -1.65300E01 2.75370E02 5.66000E02 5.61060E02 3.29430E02 1.63300E01 -2.17460E02 -1.23270E02 1.25950E02 3.47760E02 3.50110E02 3.19220E02 2.08100E02 2.13800E01 -1.30100E02 -1.61110E02 -2.44900E02 -3.14030E02 -3.38990E02 -2.40400E02 -3.35400E01 1.06740E02 9.82500E01 -5.36000E01 -1.85100E02 -1.88500E02 -1.30840E02 -5.52900E01 3.46300E01 -Frame 160 1.34280E02 1.95870E02 2.06170E02 2.10590E02 1.92950E02 1.07590E02 -1.50000E00 -7.69500E01 -1.15650E02 -3.24300E01 9.64000E01 1.26130E02 1.24670E02 4.80600E01 -9.49500E01 -1.70280E02 -2.15770E02 -1.84460E02 -9.20100E01 -5.36200E01 -5.10000E01 -1.62600E01 4.55600E01 6.42400E01 5.04300E01 -1.48600E01 -8.21600E01 -6.74700E01 2.67300E01 1.70810E02 2.47180E02 2.70680E02 1.73660E02 3.24900E01 -1.00600E01 -4.19000E01 -1.16700E01 4.85200E01 -1.44600E01 -2.73600E01 -2.62000E00 2.69000E01 3.53200E01 -2.00000E-02 -9.04400E01 -1.27560E02 -1.30700E02 -6.08100E01 4.33000E01 8.55900E01 1.29110E02 1.03860E02 5.77400E01 1.21500E01 3.71500E01 3.49000E01 -2.14400E01 6.51000E00 4.73300E01 7.43800E01 1.03210E02 7.58500E01 -1.04100E01 -6.13100E01 -6.67100E01 -8.82000E01 -5.82600E01 -6.03300E01 -7.74000E01 -5.29200E01 -6.76300E01 -6.57300E01 -4.71000E00 -2.68000E01 -3.75500E01 -5.76000E01 -2.62200E01 2.91500E01 4.20000E00 -1.02530E02 -7.44700E01 -8.14800E01 -1.86640E02 -8.08900E01 2.31900E01 -3.75500E01 -1.61150E02 -1.53440E02 -9.73700E01 -1.60500E02 -1.60460E02 -8.53000E01 -2.47770E02 -4.08070E02 -1.62990E02 -1.24230E02 -3.06210E02 -8.05900E01 8.50200E01 -6.03900E01 1.29700E02 3.56490E02 4.11910E02 7.01620E02 9.83610E02 1.14340E03 6.82090E02 -2.21070E02 -5.73890E02 -7.16030E02 -6.31860E02 -2.14800E01 1.56800E02 -1.52550E02 -2.93200E01 -6.22500E01 -4.19140E02 -4.92680E02 -5.10050E02 -5.18510E02 -1.68790E02 1.26850E02 3.80460E02 5.94510E02 6.35590E02 5.90330E02 3.51120E02 3.72000E01 -4.14400E01 -5.14500E01 -1.54700E02 1.70200E01 2.21050E02 2.20200E02 1.84140E02 6.08200E01 -2.83340E02 -3.78850E02 -3.57940E02 -4.23040E02 -3.07760E02 -1.29640E02 -4.39100E01 4.94900E01 9.57100E01 1.41250E02 1.59050E02 1.07240E02 3.37200E01 -6.81100E01 -1.10030E02 2.18500E01 1.73780E02 2.57240E02 3.35040E02 2.51940E02 4.50500E01 -1.02260E02 -1.83010E02 -1.45070E02 -Frame 160 -7.28100E01 -3.72400E01 -4.25300E01 -5.79400E01 -6.77000E00 9.90000E-01 -5.10100E01 -6.05700E01 -1.02370E02 -1.45370E02 -1.09570E02 -5.85700E01 1.10500E01 8.18000E01 1.41650E02 1.35210E02 1.10440E02 1.14800E02 -7.81000E00 6.48000E01 9.06000E01 3.21200E01 2.44810E02 1.84860E02 9.69000E01 6.31500E01 5.23200E01 6.71300E01 -1.76400E01 -1.46990E02 -1.10180E02 -1.22110E02 -1.55280E02 1.05680E02 1.79620E02 7.56900E01 7.14900E01 -8.90000E-01 -1.36490E02 -9.51400E01 9.59000E00 7.85600E01 1.83600E02 1.81730E02 1.85650E02 1.44540E02 3.30500E01 -4.78900E01 -4.42600E01 -8.24500E01 -7.27200E01 -3.26000E01 -3.81900E01 3.41000E01 7.46100E01 6.32000E00 -1.20700E01 -6.10000E01 -1.59370E02 -1.26620E02 -7.37300E01 -6.21300E01 -2.51100E01 2.00800E01 -1.23500E01 2.23000E00 6.26000E00 -1.31590E02 -1.47580E02 -4.99300E01 -1.39220E02 -1.17150E02 -4.13000E01 -1.65080E02 -1.30550E02 -1.18850E02 -2.24700E02 -1.75640E02 -2.34930E02 -2.60870E02 -1.97410E02 -2.43850E02 -1.49550E02 4.17500E01 1.18700E01 1.16000E02 4.22190E02 5.66410E02 8.41530E02 1.20736E03 1.28039E03 5.58530E02 -3.65100E02 -7.15870E02 -8.53750E02 -6.41050E02 -1.63150E02 -8.83100E01 -1.91070E02 1.43170E02 1.29610E02 -2.60490E02 -4.21410E02 -5.02920E02 -4.41500E02 -1.52800E02 6.49300E01 3.26290E02 6.19390E02 7.70950E02 7.97470E02 5.61080E02 1.89890E02 3.20900E01 -1.84570E02 -4.06710E02 -1.57300E02 1.32000E02 1.02150E02 9.33100E01 -5.48600E01 -2.17530E02 -8.10000E01 -4.71500E01 -2.77190E02 -3.54070E02 -3.84990E02 -2.82510E02 -1.36100E01 1.81600E02 3.81660E02 4.37540E02 2.54740E02 1.16060E02 4.00000E00 -8.75100E01 2.25000E00 3.58000E01 4.37000E00 1.13980E02 1.82890E02 1.44780E02 1.05380E02 4.69000E00 -6.60900E01 -9.09700E01 -1.78510E02 -2.08570E02 -1.71350E02 -1.17810E02 3.50000E00 1.05560E02 1.06680E02 8.67400E01 -1.89000E00 -1.05250E02 -9.07000E01 -4.56100E01 -3.90800E01 -5.31000E00 -Frame 160 -6.49000E00 4.83000E01 1.75740E02 2.16960E02 1.69260E02 1.04940E02 5.50000E-01 -4.60500E01 -1.80300E01 6.38900E01 1.48300E02 1.22200E02 1.69200E02 2.79520E02 2.58020E02 1.96650E02 8.82400E01 -1.64560E02 -3.09980E02 -1.87570E02 -1.63170E02 -1.04840E02 1.36410E02 1.32010E02 1.72370E02 2.54840E02 5.96500E01 -7.46000E01 -5.19000E01 -8.94200E01 -4.29900E01 9.39400E01 1.71040E02 2.27390E02 2.37300E02 1.89330E02 1.27740E02 5.17000E00 -1.36150E02 -2.00670E02 -2.37960E02 -1.98150E02 -4.09000E01 5.22700E01 4.52900E01 4.60700E01 4.58500E01 -4.64000E01 -6.54400E01 -6.79900E01 -1.52540E02 -1.17550E02 -7.73600E01 -2.78500E01 1.25220E02 5.89100E01 -1.05000E01 4.39600E01 -1.92930E02 -2.89960E02 -1.20720E02 -3.21140E02 -3.75470E02 -1.50150E02 -1.71750E02 -2.32890E02 -3.67400E01 -7.85300E01 -2.60580E02 -1.78060E02 -8.88700E01 -3.48900E01 2.34740E02 4.30440E02 6.18750E02 9.44280E02 1.19799E03 1.34745E03 7.48330E02 -3.74930E02 -8.15480E02 -9.75810E02 -8.95130E02 -3.59090E02 -1.96130E02 -3.34950E02 3.52400E01 2.19830E02 4.91000E00 4.33000E00 -1.91280E02 -4.94770E02 -3.81200E02 -1.41790E02 2.61120E02 7.08210E02 8.08440E02 7.66010E02 6.35570E02 3.66540E02 2.43900E02 -5.17000E01 -4.42330E02 -4.52570E02 -3.01660E02 -2.10770E02 -1.48500E01 2.71600E01 -5.75400E01 4.22100E01 4.20200E01 -8.12000E01 -1.82140E02 -3.19020E02 -3.57830E02 -2.38510E02 -8.29000E00 3.22040E02 5.10270E02 4.25840E02 2.96410E02 1.37720E02 -2.09800E01 -3.95400E01 -6.76100E01 -1.45460E02 -1.03560E02 -5.42500E01 1.76500E01 1.29770E02 1.74250E02 1.40960E02 3.45300E01 -1.51200E02 -2.37510E02 -2.19250E02 -1.87210E02 -7.50000E01 -2.25000E00 8.75000E00 1.17080E02 1.52650E02 7.01800E01 6.81000E01 -2.01000E01 -1.50000E02 -1.28770E02 -1.12760E02 -5.51500E01 7.92900E01 1.40810E02 1.97100E02 2.18950E02 1.37280E02 7.89700E01 3.80000E00 -8.16800E01 -7.47100E01 -4.14400E01 -2.40900E01 -Frame 160 2.78300E01 3.43400E01 2.40300E01 4.03390E02 6.50120E02 1.32900E02 1.49600E02 2.24720E02 -5.70000E02 -4.04720E02 8.30800E01 -3.89090E02 -9.24800E01 4.61400E02 1.16990E02 1.47840E02 3.18530E02 -4.47700E01 -1.88230E02 -1.58920E02 -1.99530E02 -6.51900E01 8.83800E01 2.47630E02 3.55590E02 2.87580E02 2.47230E02 1.24440E02 -1.67220E02 -2.63700E02 -2.28880E02 -3.11740E02 -2.09850E02 4.54000E01 1.15100E01 1.45700E01 1.66720E02 1.54300E01 -9.65400E01 -3.18700E01 -1.76160E02 -2.40740E02 -1.39090E02 -6.01700E01 -5.76000E00 7.93300E01 1.46970E02 -4.64400E01 -1.26790E02 -1.66510E02 -4.13310E02 -4.19370E02 -2.94250E02 -2.80020E02 -2.29130E02 -9.85000E01 -8.17900E01 -1.71540E02 -9.89600E01 2.90000E00 1.12850E02 3.89040E02 5.78360E02 7.80960E02 1.04008E03 1.29425E03 9.92110E02 8.77000E00 -6.64900E02 -9.25700E02 -9.56640E02 -5.51610E02 -2.29530E02 -3.64280E02 -2.22870E02 1.48100E02 1.82380E02 9.75300E01 -9.40500E01 -4.19480E02 -4.51600E02 -1.86320E02 1.87300E02 5.43260E02 6.98690E02 7.43260E02 6.77520E02 4.62140E02 3.18710E02 8.36000E01 -3.07800E02 -4.83960E02 -4.08070E02 -3.25420E02 -1.37890E02 3.65800E01 8.42000E00 4.53900E01 6.24700E01 -7.29700E01 -1.67520E02 -2.24830E02 -2.73700E02 -2.23830E02 -1.15220E02 1.07840E02 3.74680E02 4.69410E02 3.87630E02 2.16970E02 8.85000E00 -8.36900E01 -7.79900E01 -1.02020E02 -1.16680E02 -7.16700E01 -2.41900E01 7.57900E01 1.46800E02 1.43880E02 8.17500E01 -5.13600E01 -1.61520E02 -2.15920E02 -2.10790E02 -1.48300E02 -5.47400E01 2.17600E01 7.36000E01 8.79700E01 6.17000E01 2.85600E01 -4.63000E00 -6.38400E01 -1.26820E02 -1.32630E02 -8.15000E01 8.28000E00 1.37820E02 2.01230E02 1.99410E02 1.77350E02 1.06450E02 1.62700E01 -1.77000E01 -5.96900E01 -1.00910E02 -5.33000E01 -1.16000E00 3.26000E01 3.73800E01 1.27280E02 6.24850E02 6.89240E02 7.80100E01 -4.91500E01 -2.71150E02 -6.78720E02 -3.26230E02 5.48000E00 -Frame 160 -7.45500E01 1.12020E02 3.34260E02 3.72070E02 2.80720E02 7.63100E01 -1.12460E02 -3.27930E02 -3.96730E02 -1.14270E02 1.37040E02 2.42000E02 3.64990E02 3.86460E02 2.48260E02 1.05590E02 -5.55500E01 -3.10580E02 -4.41170E02 -3.63360E02 -2.05790E02 3.85000E00 1.46970E02 1.25380E02 1.21010E02 5.34000E01 -1.00340E02 -1.05730E02 -1.73180E02 -2.60550E02 -1.78380E02 -1.60510E02 -4.69500E01 1.61150E02 1.98520E02 4.88500E01 -9.85000E01 -2.93320E02 -5.10900E02 -4.19750E02 -3.11420E02 -3.17490E02 -1.62500E02 -6.06200E01 -1.33590E02 -1.21750E02 -9.74900E01 -4.14500E01 1.03300E02 2.54370E02 4.73820E02 6.86570E02 8.94230E02 1.31947E03 1.14765E03 9.65000E01 -5.45170E02 -8.69100E02 -1.10118E03 -5.54380E02 -9.21500E01 -3.52550E02 -1.15690E02 1.76580E02 -4.43000E01 6.01000E00 -7.51500E01 -4.78770E02 -4.61450E02 -2.42200E02 5.00100E01 5.65160E02 7.87670E02 7.66300E02 6.72550E02 3.46290E02 2.06650E02 6.15400E01 -3.43070E02 -4.35830E02 -2.85020E02 -2.44260E02 2.30000E01 1.71510E02 -4.35400E01 -4.01900E01 -2.36900E01 -2.18650E02 -2.37430E02 -2.58570E02 -3.52130E02 -2.03270E02 -3.96400E01 1.61060E02 4.35790E02 4.53590E02 2.98510E02 8.53600E01 -1.68450E02 -1.58940E02 -6.69800E01 -6.61100E01 3.58500E01 4.99300E01 1.64000E01 1.42820E02 1.56020E02 6.44900E01 8.00000E-02 -1.75310E02 -3.34950E02 -2.54210E02 -1.37740E02 -1.85500E01 8.83300E01 5.34200E01 1.83700E01 3.21000E00 -4.04300E01 -6.53900E01 -1.13070E02 -1.79130E02 -1.43080E02 -8.58000E01 1.33100E01 1.65450E02 1.88120E02 1.76300E02 1.46940E02 4.15300E01 -2.31800E01 -3.18700E01 -6.68000E01 -4.57500E01 2.79900E01 6.79800E01 9.61400E01 7.90800E01 -2.58000E00 2.52400E01 5.85900E02 4.90360E02 -1.68570E02 1.13310E02 -9.11700E01 -7.54860E02 -1.78350E02 2.08160E02 -3.02570E02 3.11900E01 4.27240E02 3.21400E01 -4.42000E01 1.99150E02 -1.51500E01 -3.01050E02 -1.70500E02 -1.47500E01 4.48300E01 2.59210E02 -Frame 160 4.28980E02 2.96610E02 1.09890E02 9.32000E00 -1.39340E02 -3.40440E02 -3.41420E02 -1.31100E02 -1.19150E02 -7.07200E01 6.52700E01 -5.96000E01 -6.62800E01 2.08900E01 -1.09270E02 -1.87360E02 -1.58700E02 -1.64020E02 -1.22370E02 -1.73400E01 8.89300E01 1.42380E02 2.33000E00 -1.40070E02 -2.36760E02 -3.72240E02 -3.62590E02 -2.77340E02 -2.58240E02 -2.39360E02 -1.63730E02 -1.17670E02 -1.30140E02 -2.09940E02 -2.43080E02 -1.94090E02 6.75200E01 3.83080E02 6.83970E02 1.01147E03 1.12312E03 1.24417E03 6.28830E02 -4.41070E02 -7.99580E02 -9.75380E02 -8.07680E02 -1.41040E02 3.83300E01 -8.98100E01 1.55150E02 6.85200E01 -2.50870E02 -3.14920E02 -5.36680E02 -6.49830E02 -3.30920E02 -1.29000E01 4.16900E02 8.41540E02 9.30480E02 7.78280E02 4.11650E02 -2.66800E01 -1.82510E02 -2.89960E02 -3.29440E02 -1.20820E02 5.23700E01 1.44870E02 1.93100E02 6.06500E01 -1.34940E02 -1.75440E02 -2.78020E02 -4.51510E02 -4.59950E02 -3.56240E02 -1.30020E02 1.82280E02 3.49030E02 3.96580E02 2.81210E02 4.70000E01 -1.45500E02 -2.15820E02 -1.65120E02 1.29000E00 8.88300E01 1.15980E02 2.02850E02 2.27210E02 1.72110E02 6.71500E01 -1.50110E02 -2.97940E02 -2.99060E02 -2.37940E02 -6.17200E01 9.69900E01 1.17500E02 9.15200E01 1.36400E01 -1.18670E02 -1.54970E02 -1.77260E02 -2.29090E02 -1.82330E02 -9.89800E01 -2.79900E01 1.14190E02 1.63630E02 9.44200E01 6.49600E01 7.51000E00 -5.07400E01 -4.97600E01 -1.37200E01 3.04300E01 1.21900E02 1.82070E02 1.60920E02 1.21960E02 5.36800E01 1.47240E02 1.17560E02 -4.21400E01 1.45270E02 2.79350E02 -6.66700E01 -2.05310E02 -1.29030E02 -3.38260E02 -3.38640E02 2.72800E01 7.54800E01 -6.79100E01 1.02320E02 1.75710E02 4.20000E00 -2.46200E01 3.16900E01 -2.32900E01 -3.89500E01 1.11940E02 1.74390E02 1.72610E02 2.19620E02 1.56890E02 -3.09100E01 -1.56470E02 -2.14750E02 -2.67620E02 -2.66870E02 -1.43850E02 -6.19000E01 -7.13700E01 -2.50800E01 -8.83500E01 -1.45510E02 -Frame 160 -8.53200E01 -1.35210E02 -1.76540E02 -3.10100E01 -2.29800E01 -3.17100E01 5.52900E01 -5.21000E01 -2.05790E02 -1.92070E02 -2.75780E02 -3.48860E02 -2.88920E02 -2.83910E02 -1.48540E02 -1.53910E02 -1.69370E02 -1.57220E02 -2.15620E02 -2.39700E02 -2.62380E02 -9.06000E01 3.39490E02 8.19480E02 1.15148E03 1.28063E03 1.07857E03 2.02280E02 -6.70250E02 -8.81090E02 -9.12600E02 -3.96230E02 2.10460E02 2.51690E02 8.89400E01 5.20600E01 -2.21020E02 -5.06350E02 -5.99050E02 -7.42090E02 -6.01910E02 -2.17900E02 2.74110E02 7.10000E02 9.98640E02 8.34230E02 4.36940E02 -6.50400E01 -4.00470E02 -3.41890E02 -1.14180E02 1.68670E02 3.37100E02 3.27420E02 2.02140E02 3.18100E01 -1.94800E02 -3.37220E02 -4.27720E02 -4.70620E02 -4.65420E02 -2.59650E02 3.76900E01 2.42150E02 3.08670E02 1.88930E02 -6.37100E01 -2.31120E02 -2.53510E02 -1.89380E02 -3.41200E01 1.23940E02 2.67740E02 2.90710E02 2.64100E02 2.00410E02 4.15600E01 -1.77240E02 -2.73640E02 -2.68770E02 -1.72510E02 4.28700E01 1.80850E02 1.82910E02 1.22850E02 -3.91900E01 -2.18210E02 -3.14570E02 -3.28630E02 -2.15840E02 -8.33900E01 7.20000E00 8.75500E01 1.05270E02 3.84100E01 4.20000E-01 -1.05770E02 -1.72170E02 -1.02490E02 -5.65900E01 5.67500E01 2.16510E02 2.21980E02 1.92390E02 1.07690E02 -2.07400E01 -2.01300E01 -5.49000E00 -3.74000E01 -3.82700E01 3.24860E02 6.28910E02 8.07800E01 1.46400E01 2.91460E02 -6.27410E02 -6.46090E02 1.42600E01 -2.41990E02 -3.10950E02 4.12230E02 3.35370E02 -8.61900E01 4.72900E01 1.14850E02 -2.42610E02 -3.60900E02 2.14800E01 7.66500E01 1.44440E02 4.66180E02 4.35430E02 8.43300E01 1.93100E01 -1.53720E02 -3.30940E02 -3.05320E02 -1.55620E02 -2.21500E01 -3.85400E01 -2.41000E00 2.38300E01 -1.70150E02 -2.13980E02 -2.40980E02 -3.85610E02 -1.84380E02 1.04210E02 5.55900E01 1.44380E02 1.38750E02 -2.11210E02 -3.19820E02 -2.56520E02 -3.45060E02 -3.57060E02 -1.13150E02 -1.05650E02 -1.02880E02 7.90100E01 -Frame 160 -8.96100E01 -2.93420E02 -4.13320E02 -4.18610E02 -4.19750E02 -3.36200E01 7.11390E02 1.06969E03 1.09901E03 1.26318E03 7.91250E02 -3.93980E02 -8.23450E02 -7.25400E02 -6.48630E02 1.09110E02 5.79160E02 2.53190E02 4.89000E01 -4.77500E01 -4.84340E02 -7.80980E02 -8.56080E02 -7.06740E02 -4.07180E02 1.81950E02 7.43050E02 8.43740E02 6.92710E02 4.02340E02 -1.17390E02 -4.80080E02 -2.68540E02 3.78000E00 2.98500E02 5.42040E02 5.30600E02 3.19320E02 1.03230E02 -2.07610E02 -4.79840E02 -6.07020E02 -4.83560E02 -2.56840E02 -1.98900E01 1.98380E02 3.00190E02 1.44850E02 -8.04400E01 -3.02630E02 -3.77420E02 -3.24190E02 -1.48040E02 6.16600E01 2.55750E02 3.77570E02 4.05780E02 2.46470E02 -2.10000E01 -1.70720E02 -2.22910E02 -2.32510E02 -6.82000E01 1.44240E02 1.92100E02 2.67250E02 2.00470E02 6.44000E00 -2.06590E02 -3.22010E02 -3.65700E02 -2.52410E02 -8.14000E01 1.25950E02 1.77570E02 1.02600E02 -2.80000E00 -1.51470E02 -2.98610E02 -2.47040E02 -1.61670E02 -5.85400E01 1.17800E02 1.70450E02 1.92540E02 2.19110E02 1.08280E02 2.29100E01 -3.71300E01 -9.80000E01 2.03300E01 9.52900E01 1.77470E02 6.73020E02 4.39270E02 3.59000E01 1.42050E02 -2.16620E02 -5.73150E02 -2.77150E02 -1.83730E02 -1.25250E02 4.21500E01 2.45680E02 1.72270E02 -1.25570E02 -1.07500E02 -1.72770E02 -3.05900E02 -1.12870E02 1.39220E02 2.09960E02 4.11680E02 3.54250E02 2.20720E02 3.88700E01 -1.64620E02 -1.99230E02 -1.74710E02 -1.40260E02 1.04390E02 9.25100E01 5.01800E01 1.65000E01 -2.20230E02 -3.25070E02 -3.72850E02 -3.66770E02 -1.79180E02 -4.86500E01 1.61930E02 2.41840E02 2.39700E01 -3.16800E01 -1.88040E02 -4.75080E02 -3.54580E02 -2.20060E02 -1.78220E02 -4.69700E01 6.73300E01 -3.99500E01 -1.19560E02 -2.17570E02 -3.30460E02 -4.72590E02 -3.71740E02 -1.93500E02 3.00350E02 8.10110E02 1.08881E03 9.83070E02 9.90130E02 1.83500E02 -7.75210E02 -7.03810E02 -3.42530E02 -3.87600E01 4.81430E02 4.72250E02 -Frame 160 1.52350E02 -4.95700E01 -3.02670E02 -5.82300E02 -9.12030E02 -7.76120E02 -4.14320E02 -1.30000E01 4.59680E02 8.33490E02 5.50040E02 1.75290E02 -1.46220E02 -3.63540E02 -2.44250E02 5.29400E01 2.76250E02 4.59190E02 5.04350E02 5.18440E02 3.44500E02 -1.22110E02 -4.17000E02 -5.08590E02 -4.46520E02 -1.28110E02 1.38260E02 2.40730E02 2.21140E02 -6.26000E00 -1.95680E02 -2.78770E02 -3.37170E02 -2.87070E02 -1.87170E02 -6.00300E01 2.22070E02 3.72660E02 3.16540E02 1.83380E02 -5.40700E01 -2.12810E02 -2.22260E02 -1.54800E02 5.28800E01 1.93920E02 2.52130E02 2.80900E02 1.92300E02 5.57900E01 -9.29800E01 -2.79250E02 -2.90010E02 -1.45830E02 2.94000E00 1.65300E02 1.77520E02 2.19500E01 -8.24500E01 -1.59000E02 -2.24770E02 -2.13370E02 -1.82430E02 -1.14380E02 -1.91400E01 1.21040E02 2.25420E02 1.49800E02 5.56900E01 -6.39000E00 -7.73900E01 1.94800E01 1.23320E02 1.36250E02 1.49450E02 4.54920E02 8.31420E02 2.35810E02 -2.76400E02 -1.05150E02 -2.17470E02 -4.34030E02 -4.78600E01 2.92310E02 1.47400E01 -1.92410E02 2.17230E02 1.73350E02 -3.97030E02 -3.66660E02 -9.20000E01 -1.65760E02 -3.76500E01 3.99450E02 5.24690E02 1.89320E02 -4.35800E01 7.43800E01 1.29400E01 -2.24390E02 -1.11830E02 1.01330E02 6.00000E01 1.07350E02 2.16080E02 1.16990E02 -2.47250E02 -4.08500E02 -2.49340E02 -2.27020E02 -2.32800E02 6.74500E01 2.47910E02 2.37100E01 -4.84500E01 -3.28000E01 -1.80640E02 -3.81890E02 -3.24020E02 -1.38080E02 -1.04290E02 -7.23900E01 1.06530E02 5.28500E01 -1.70570E02 -2.58770E02 -2.69490E02 -3.03330E02 -2.59980E02 -1.97100E02 1.09850E02 5.75130E02 7.56210E02 7.70150E02 8.53790E02 2.01230E02 -3.40670E02 -3.78980E02 -1.79100E02 3.31400E01 2.38920E02 2.49850E02 2.91900E02 1.97000E02 2.50100E01 -2.52290E02 -5.48900E02 -6.10150E02 -5.29720E02 -2.29320E02 2.84560E02 4.27040E02 2.75510E02 2.57030E02 -2.60000E-01 -1.65500E02 -1.07690E02 -1.53990E02 -6.55800E01 1.37620E02 -Frame 160 2.73970E02 5.07280E02 4.00340E02 1.63740E02 2.17000E01 -1.86720E02 -1.98380E02 -6.81900E01 -6.68900E01 2.65300E01 7.78300E01 6.86600E01 1.41160E02 6.67900E01 -7.59200E01 -1.14950E02 -2.52060E02 -2.08160E02 -5.57000E01 1.95300E01 1.06070E02 1.04190E02 4.91600E01 8.63900E01 -8.30000E00 -7.79000E01 -7.55700E01 -1.02090E02 -2.93300E01 7.57100E01 1.13930E02 1.74230E02 1.02240E02 6.94000E00 2.17000E01 -3.50900E01 -7.35900E01 -3.82000E01 -4.46700E01 2.47100E01 7.92200E01 9.63500E01 8.19300E01 -3.50000E01 -9.15000E01 -4.46500E01 3.70000E00 5.45500E01 8.09300E01 5.40600E01 1.93200E01 -4.50000E00 -1.70400E01 4.90600E01 9.01700E01 1.04800E01 -6.67000E00 2.16700E01 4.78800E01 2.98700E01 1.62900E01 7.62900E01 7.00900E01 5.96500E01 5.78500E01 4.29600E01 2.55900E01 3.66800E01 1.81000E01 1.49500E01 -7.29000E00 2.68100E01 7.29600E01 4.24900E01 4.80600E01 2.77800E01 8.70000E-01 -1.68500E01 -9.08000E00 -4.00000E-02 8.30000E00 9.91000E00 3.95800E01 3.41500E01 2.85400E01 4.47500E01 1.24400E01 -1.08600E01 -2.18500E01 -1.51400E01 -1.81900E01 -1.03000E01 1.58600E01 1.38300E01 3.74000E00 2.03500E01 -2.53000E00 -1.01000E01 -1.88800E01 -1.89000E01 -1.48900E01 -1.37300E01 -1.51000E00 4.10000E00 1.28900E01 -1.40500E01 6.20000E00 -2.69200E01 -5.90300E01 -5.20700E01 -3.88400E01 -5.01600E01 -3.37800E01 -4.18600E01 -5.71500E01 -5.38600E01 5.35800E01 1.01290E02 1.44380E02 1.13670E02 1.39100E01 -9.59400E01 -4.00900E01 2.65300E01 1.12190E02 1.71400E02 1.14290E02 2.83200E01 -1.32000E00 6.01400E01 5.14600E01 2.54800E01 -1.73100E01 -4.39000E00 -1.90500E01 8.38700E01 1.14910E02 1.58200E01 -3.33000E00 -4.30500E01 -5.09400E01 6.99900E01 6.06100E01 3.89000E01 3.50000E00 -2.49800E01 1.07000E01 7.94900E01 7.43500E01 7.90000E01 2.47400E01 1.08000E01 2.44000E00 -1.81600E01 -1.23600E01 4.65000E00 -6.80000E00 6.14200E01 8.37100E01 6.46300E01 -Frame 160 5.59200E01 1.39100E01 -8.39000E00 2.56500E01 2.47400E01 3.48000E01 2.51600E01 -8.78000E00 2.12600E01 3.62300E01 5.46500E01 3.56100E01 6.97000E00 -2.54000E00 1.96800E01 6.59000E00 2.91100E01 -4.68000E00 -2.54900E01 2.31000E01 5.91900E01 7.23600E01 5.38900E01 8.82000E00 -2.66300E01 -1.91300E01 7.64000E00 4.22500E01 3.89100E01 7.45000E00 1.40300E01 1.68200E01 7.00000E-01 1.91000E01 -2.93000E00 -2.62000E00 1.37200E01 3.65700E01 3.11100E01 5.47000E00 6.05000E00 1.46600E01 2.45400E01 5.87200E01 7.29200E01 2.85100E01 1.67200E01 3.45700E01 1.79600E01 3.48400E01 3.62300E01 3.46500E01 2.10100E01 2.09500E01 5.18900E01 5.67600E01 2.47500E01 1.47500E01 9.45000E00 2.20000E01 4.29400E01 4.25100E01 2.80500E01 2.61400E01 7.17000E00 2.36300E01 3.86000E01 2.90200E01 2.01400E01 1.59900E01 7.20000E-01 1.60000E01 1.37600E01 -8.54000E00 -8.50000E00 -1.34300E01 -3.48000E00 9.80000E00 6.50000E00 -6.89000E00 -8.67000E00 -2.34800E01 -1.07100E01 1.04800E01 -7.67000E00 -2.53600E01 -3.95600E01 -3.11500E01 -2.04400E01 -2.43700E01 -1.13900E01 -4.39900E01 -4.55500E01 -3.21100E01 -7.22000E00 5.34500E01 8.79500E01 9.34400E01 6.60200E01 -3.30000E00 -8.97500E01 -2.07800E01 3.03500E01 1.09040E02 1.31070E02 8.76700E01 4.28600E01 3.64000E00 6.02200E01 6.75100E01 2.89800E01 -6.75000E00 4.64400E01 2.02500E01 1.09250E02 1.06920E02 1.14400E01 -5.98000E00 -2.59100E01 -3.64100E01 4.68200E01 9.60000E00 2.92400E01 -1.35200E01 -3.25700E01 3.38400E01 6.12900E01 1.95500E01 7.85200E01 1.82600E01 3.14000E00 -4.43000E00 3.79000E00 -3.07200E01 3.77500E01 5.32000E00 7.19000E01 8.24900E01 5.03500E01 2.81900E01 1.43400E01 -7.93000E00 2.41400E01 2.62000E01 2.73200E01 2.74700E01 -1.38000E00 2.79000E01 5.30800E01 2.20100E01 2.99800E01 -1.18100E01 -2.68600E01 1.16700E01 -2.60000E00 -2.29000E00 8.05000E00 -4.28000E00 3.30300E01 6.44800E01 -Frame 160 4.48600E01 4.06100E01 -2.37900E01 -3.21400E01 -7.70000E00 9.52000E00 3.02800E01 4.96700E01 2.56300E01 2.18400E01 1.49300E01 3.38100E01 1.82600E01 -2.07700E01 -2.69700E01 6.68000E00 -1.62000E00 4.38400E01 4.16800E01 2.64300E01 2.37000E01 1.98800E01 4.94000E00 1.15500E01 -1.26300E01 3.47000E00 1.50800E01 1.10500E01 3.89000E01 4.35900E01 3.34000E01 3.18800E01 2.13000E01 1.43900E01 3.22700E01 1.66900E01 6.63000E00 1.82700E01 4.32700E01 6.00200E01 4.92500E01 3.11200E01 2.44200E01 -4.90000E-01 1.58500E01 2.07000E01 6.70000E00 -3.72000E00 1.56000E00 2.02000E00 1.05100E01 6.27000E00 1.09100E01 -1.93000E01 -2.84100E01 -6.76000E00 2.58000E00 -7.78000E00 3.56000E00 -1.27400E01 -1.45200E01 -1.73300E01 1.80000E00 4.53000E00 -1.76500E01 -3.84900E01 -1.99300E01 -2.47700E01 -2.27300E01 -1.76000E01 -2.12900E01 -3.80700E01 -6.43300E01 -5.63400E01 -2.20500E01 -9.68000E00 6.80800E01 1.06180E02 8.63600E01 3.68500E01 -3.12200E01 -7.53600E01 -1.67900E01 2.16100E01 1.07180E02 1.22300E02 5.87800E01 2.72500E01 -1.27000E00 2.33400E01 4.07000E01 -1.04300E01 1.28800E01 3.19100E01 2.55100E01 1.17900E02 7.00500E01 1.86700E01 -4.30000E00 -4.79600E01 -2.09100E01 6.50100E01 -4.60000E-01 1.20600E01 -1.40300E01 -2.39000E01 -4.00000E-02 2.75700E01 2.90200E01 3.25000E01 -3.29300E01 -2.43400E01 -7.45000E00 -1.00200E01 4.35000E00 1.71700E01 -1.56200E01 6.06000E01 3.91300E01 1.59700E01 4.20900E01 3.99000E00 -6.28000E00 4.31500E01 2.70800E01 4.45000E01 -1.57000E00 -1.30500E01 2.61400E01 7.53000E00 1.73500E01 2.54700E01 -1.31700E01 6.02000E00 4.81000E00 5.70000E-01 2.22100E01 -1.44900E01 -3.53000E01 2.90000E-01 4.99000E00 3.88400E01 4.17100E01 3.64000E00 -4.60000E00 -1.80800E01 -1.29500E01 2.73600E01 6.90000E00 -1.19000E00 -3.52000E00 -1.39100E01 1.14000E01 4.44900E01 1.65700E01 1.47800E01 1.59300E01 1.11100E01 4.14000E00 2.96000E00 -Frame 160 5.75000E00 1.46300E01 1.77800E01 3.00200E01 3.06200E01 3.22200E01 7.85000E00 -9.27000E00 -7.90000E00 -6.47000E00 2.00000E-02 2.57200E01 1.92000E01 1.64700E01 3.06500E01 3.92500E01 2.50900E01 1.84800E01 3.66000E00 1.23900E01 5.39000E00 2.71800E01 3.46300E01 2.52900E01 1.86500E01 3.38000E01 2.14000E01 2.46100E01 2.29100E01 -9.85000E00 -2.36000E01 -1.07400E01 3.54000E00 3.27000E00 -2.50000E01 1.14890E02 2.64010E02 1.55100E01 -2.32670E02 -3.31290E02 -4.66400E01 1.95860E02 4.56800E01 -1.84180E02 -2.06970E02 1.07300E01 9.71500E01 -1.85000E00 -1.22910E02 -1.53600E02 -8.41000E01 3.56200E01 8.00000E00 -1.32490E02 -1.90210E02 -1.85500E01 9.24200E01 1.69720E02 1.99240E02 1.66480E02 9.75500E01 -3.86000E01 -5.49200E01 -4.86900E01 3.78000E00 -7.13000E00 6.96300E01 1.22700E02 2.16300E02 1.25600E02 2.79900E01 -8.86500E01 -1.39800E02 -1.51390E02 -5.41900E01 3.00700E01 1.89100E01 3.83900E01 6.24400E01 8.51800E01 9.45500E01 -4.28700E01 -1.29490E02 -1.34660E02 -1.22860E02 -1.65800E01 3.30000E01 4.80800E01 9.45800E01 3.84300E01 9.45100E01 1.39240E02 3.72300E01 -7.49600E01 -1.60540E02 -1.74610E02 -1.79500E01 1.29570E02 1.83530E02 1.63990E02 4.87000E01 -1.19000E00 2.03900E01 2.26300E01 -8.50700E01 -1.89010E02 -1.82980E02 2.94100E01 1.70340E02 1.70470E02 5.94500E01 -7.00500E01 -1.00480E02 -8.47500E01 -8.74500E01 -6.51500E01 -7.91000E01 -7.34100E01 4.85200E01 1.37170E02 1.58430E02 1.24200E02 1.08000E01 -7.51100E01 -1.48600E02 -1.38220E02 5.61000E00 9.38800E01 8.67900E01 7.04000E01 7.94400E01 7.56900E01 1.47600E01 -1.10060E02 -1.68630E02 -1.72850E02 -1.03040E02 7.20200E01 1.72420E02 1.24760E02 4.65100E01 -3.42000E01 -4.83700E01 -5.39300E01 -8.76100E01 -8.42500E01 -4.37100E01 3.31200E01 1.38290E02 1.97580E02 1.15520E02 -2.71800E01 -1.38260E02 -1.12640E02 -2.51200E01 3.01300E01 3.90600E01 5.62300E01 7.48800E01 1.11040E02 -Frame 160 9.42200E01 1.38000E01 -9.71100E01 -1.77350E02 -1.24900E02 -1.37100E01 4.09300E01 8.52200E01 6.58000E01 1.37200E01 -3.19800E01 -6.50600E01 -1.53100E02 -2.26720E02 -2.63410E02 -1.36000E02 -3.75400E01 9.09800E01 1.38370E02 6.00800E01 -1.25700E02 -2.26120E02 -2.39450E02 -2.18990E02 -1.54720E02 -1.01350E02 -4.72700E01 -3.75100E01 4.55500E01 8.10000E00 -8.55500E01 -3.12050E02 -4.23300E02 -3.84640E02 -2.07480E02 -3.97100E01 1.52220E02 4.99880E02 6.60770E02 8.72980E02 4.37920E02 -1.04000E02 -6.90570E02 -5.50630E02 -3.38600E01 4.16900E02 3.65190E02 2.25530E02 1.61340E02 1.99020E02 2.46900E01 -4.06040E02 -7.69700E02 -8.18890E02 -3.73860E02 2.61240E02 5.67690E02 4.45050E02 1.75180E02 -1.02100E01 -2.62330E02 -3.69010E02 -2.94660E02 -1.95760E02 2.43500E01 1.99210E02 4.66260E02 5.31110E02 3.93460E02 3.11900E01 -3.12300E02 -4.55110E02 -2.88910E02 -1.63100E01 1.68720E02 2.05300E02 1.42810E02 1.49250E02 1.48750E02 -7.59000E01 -3.28420E02 -4.84440E02 -4.35840E02 -1.36350E02 1.57500E02 3.19260E02 2.62700E02 6.81300E01 -7.55300E01 -1.72570E02 -2.74460E02 -2.55260E02 -1.51250E02 -8.91000E00 1.62810E02 3.11660E02 3.33800E02 2.06300E02 -5.63400E01 -2.04050E02 -2.53140E02 -1.34520E02 -1.01200E01 9.01200E01 1.28360E02 1.44650E02 1.67300E02 5.94900E01 -1.07710E02 -3.14980E02 -3.09370E02 -1.76310E02 -2.29900E01 1.00070E02 1.09820E02 9.67500E01 3.41700E01 1.36100E01 -6.16100E01 -1.27110E02 -1.36530E02 -3.41300E01 7.64500E01 1.60360E02 2.10700E02 1.66390E02 8.15500E01 -3.09900E01 -7.59800E01 -6.82900E01 -5.23000E01 -1.67700E01 7.38700E01 9.32400E01 8.01200E01 9.85200E01 -1.16000E01 -1.25110E02 -1.75010E02 -1.19290E02 -4.77400E01 3.30600E01 6.13200E01 6.53900E01 2.45200E01 -2.46400E01 -5.73000E01 -1.00920E02 -1.50800E02 -1.29090E02 -6.26000E01 -1.30100E01 1.11100E01 2.09500E01 -4.39400E01 -1.30810E02 -1.59260E02 -7.84600E01 -6.11100E01 -2.31900E01 -Frame 160 -3.71000E01 -8.54300E01 -1.24200E02 -1.24080E02 -9.28700E01 -2.04640E02 -2.23710E02 -1.97200E02 -1.66730E02 -8.52100E01 -1.43140E02 -1.40780E02 -2.27270E02 -2.31280E02 -1.73260E02 6.16500E01 5.60700E02 8.21600E02 1.01876E03 3.96050E02 -2.27280E02 -5.93660E02 -1.70810E02 8.52700E01 1.93180E02 1.27240E02 1.37140E02 2.77220E02 2.21380E02 -8.03800E01 -5.79380E02 -7.27260E02 -5.62040E02 -1.61210E02 3.01300E01 2.46320E02 3.33930E02 3.29910E02 9.64400E01 -8.23500E01 -1.77600E02 -2.12640E02 -2.20580E02 -2.45800E01 2.20480E02 4.85890E02 5.24040E02 3.01880E02 -6.14200E01 -1.53880E02 -1.56040E02 -4.91100E01 -1.66820E02 -1.53010E02 -8.63000E00 1.55220E02 2.39990E02 1.66160E02 -5.41000E01 -2.36110E02 -3.24520E02 -3.35360E02 -1.60230E02 -4.65500E01 1.52670E02 1.73890E02 1.45590E02 8.02700E01 5.58500E01 -9.03800E01 -1.60050E02 -2.05730E02 -5.86400E01 1.29040E02 2.17390E02 2.42260E02 2.05670E02 1.06760E02 4.27000E01 -3.53700E01 -1.52810E02 -2.04730E02 -1.08060E02 1.97000E01 1.02390E02 1.04540E02 7.86600E01 -3.10900E01 -1.19200E02 -1.23920E02 -1.18670E02 -1.08150E02 -4.52100E01 -6.29000E00 5.98300E01 1.48930E02 1.75640E02 1.28010E02 2.47900E01 -1.66400E01 -3.13300E01 -1.14400E01 4.10800E01 9.31900E01 1.06830E02 1.13800E02 1.11890E02 4.18300E01 1.55800E01 -3.34800E01 -7.90100E01 -8.28600E01 -1.67400E01 3.44500E01 8.22000E01 7.73600E01 4.83100E01 1.43300E01 -3.97000E01 -7.73500E01 -8.30800E01 -6.29000E01 -1.70300E01 2.32800E01 4.98200E01 3.31400E01 -7.08000E00 -1.25300E01 -9.21300E01 -1.64100E02 -1.86140E02 -1.36690E02 -1.02590E02 1.06500E01 6.33700E01 1.09650E02 1.11250E02 -1.12100E01 -1.28450E02 -2.71200E02 -1.91120E02 -2.34400E02 -1.68820E02 -1.08080E02 -4.03900E01 -3.36000E01 -4.86000E01 -8.10500E01 -1.97460E02 -2.63320E02 -2.09010E02 -2.76870E02 -1.94620E02 2.39300E02 7.78360E02 9.82320E02 9.90650E02 3.15320E02 -2.90160E02 -4.77060E02 -Frame 160 -1.57270E02 -8.14300E01 -1.21600E01 7.82700E01 8.54300E01 2.35740E02 2.87490E02 1.08590E02 -3.39920E02 -5.25960E02 -6.62250E02 -4.82140E02 -1.60030E02 2.92160E02 3.84030E02 3.22360E02 2.07470E02 1.60830E02 5.36000E01 -4.99900E01 -1.83730E02 -1.78430E02 -6.68000E01 1.58340E02 3.14290E02 3.40770E02 3.50760E02 2.87750E02 4.65500E01 -2.02120E02 -2.60260E02 -2.49930E02 -1.92030E02 -9.21500E01 1.89100E01 1.05390E02 1.95450E02 1.75120E02 3.01000E00 -1.69410E02 -2.30990E02 -2.87250E02 -2.03980E02 -6.59500E01 9.74000E01 1.63700E02 1.78890E02 1.49380E02 1.41820E02 4.49000E01 -5.05000E00 -1.01530E02 -1.02890E02 -2.61900E01 6.79100E01 1.08860E02 2.00980E02 2.55770E02 1.45030E02 -3.12500E01 -1.41930E02 -1.75880E02 -1.67700E02 -1.12100E02 -1.17670E02 -8.43000E01 5.91800E01 1.94040E02 1.32890E02 3.57300E01 -8.14600E01 -8.81900E01 -1.09040E02 -4.04300E01 4.63400E01 4.77500E01 1.16160E02 1.57580E02 1.77140E02 1.34150E02 1.10720E02 2.94800E01 -7.02800E01 -8.30400E01 -8.10000E00 1.81800E01 4.52700E01 7.21700E01 8.08500E01 4.67400E01 4.65500E01 5.33000E00 -1.11500E01 -6.81100E01 -8.17500E01 -8.67200E01 -3.57500E01 2.58400E01 6.83200E01 6.10600E01 2.25300E01 2.80000E00 -3.55300E01 -3.80000E01 -5.65000E01 -5.95100E01 -8.95500E01 -1.04430E02 -8.46700E01 -6.82200E01 -5.92000E01 -2.18500E01 -4.53300E01 -5.65000E01 3.10300E01 -1.97700E01 -8.81300E01 -1.42530E02 -1.44490E02 -1.85390E02 -1.34400E02 -8.47300E01 -1.38470E02 -1.13770E02 -8.92300E01 -1.44880E02 -1.64150E02 -1.30900E02 -2.09540E02 -2.33460E02 -1.61950E02 2.10870E02 5.47970E02 7.36940E02 8.48040E02 4.53780E02 1.99200E01 -2.08350E02 -8.94600E01 -2.22790E02 -1.13020E02 -1.14740E02 -8.94000E01 4.81000E00 3.01930E02 2.33960E02 -4.43200E01 -2.57150E02 -4.67310E02 -4.81530E02 -3.21750E02 -6.47500E01 7.23000E00 6.94000E01 1.55400E02 2.82890E02 2.75040E02 2.55680E02 1.05480E02 -8.44600E01 -Frame 160 -2.09190E02 -1.01580E02 -2.15500E01 8.09700E01 1.85580E02 2.88250E02 1.92830E02 1.76290E02 1.35090E02 2.51000E00 -1.91150E02 -2.78600E02 -3.49480E02 -2.47220E02 -6.75700E01 7.96900E01 5.14200E01 6.52200E01 4.93800E01 1.80000E01 -3.63700E01 -9.13900E01 -1.58030E02 -2.03590E02 -1.57380E02 -2.76100E01 1.08180E02 1.68050E02 2.10600E02 1.53260E02 8.80000E01 5.36400E01 1.61700E01 -5.44700E01 -1.16240E02 -7.68100E01 -1.60900E01 4.35200E01 9.49300E01 8.98400E01 3.05100E01 -5.66800E01 -9.05100E01 -1.20300E02 -1.16900E02 -1.27290E02 -1.19890E02 -9.51600E01 -3.35900E01 4.49000E01 9.17600E01 7.49700E01 1.17580E02 2.04390E02 5.96900E01 -1.95400E01 -2.00000E-01 -5.26000E00 -9.44700E01 3.06500E01 9.86100E01 4.15800E01 3.87500E01 1.69800E02 9.07500E01 -1.58200E01 4.34000E00 -5.38700E01 -1.36820E02 -8.52000E01 3.10000E00 -2.87000E00 6.98000E00 5.41300E01 5.76900E01 3.63100E01 2.22400E01 3.72000E00 -8.13700E01 -1.22010E02 -1.09790E02 -9.50900E01 -5.48500E01 1.06800E01 3.12200E01 1.73600E01 9.05000E00 -8.53000E00 -7.46500E01 -1.49750E02 -1.52040E02 -1.55270E02 -1.35470E02 -4.69500E01 4.53300E01 2.40000E00 -2.88000E00 -2.93400E01 -6.66100E01 -1.63990E02 -1.66250E02 -2.21450E02 -2.59180E02 -2.18870E02 -1.20150E02 -1.57310E02 -6.75200E01 -7.89400E01 -1.08690E02 -1.22310E02 3.87100E01 3.11620E02 4.79630E02 6.31350E02 5.37150E02 2.00530E02 3.43200E01 5.29500E01 1.81200E01 -1.33790E02 -1.23260E02 -1.78280E02 -1.51830E02 3.35800E01 1.73690E02 1.69700E01 -1.22610E02 -2.01390E02 -2.31420E02 -2.07170E02 -1.27990E02 -1.31260E02 -1.40530E02 -9.99800E01 8.88900E01 1.88490E02 2.03970E02 2.11720E02 1.59500E02 5.45100E01 5.22000E00 2.34000E01 -9.88000E00 9.82000E00 5.81200E01 8.58600E01 9.13800E01 1.53990E02 1.74400E02 5.22900E01 -5.76300E01 -9.68800E01 -1.20240E02 -1.21200E02 -1.02070E02 -1.19250E02 -1.50850E02 -1.06290E02 -2.92600E01 3.61700E01 -Frame 160 5.35800E01 4.04700E01 -6.09000E00 -6.00900E01 -7.57100E01 -3.67500E01 -2.15600E01 -2.78900E01 4.60000E00 3.60800E01 8.64900E01 1.54370E02 1.62200E02 1.05120E02 6.21800E01 5.86000E00 1.80000E00 -1.93800E01 -2.01900E01 -4.70000E01 -8.75900E01 -9.63500E01 -3.72900E01 6.63000E00 2.39000E01 1.26800E01 5.10000E00 -5.67200E01 -4.14000E01 -4.15700E01 -2.47100E01 -6.33100E01 -3.05000E00 2.40700E01 1.14000E02 1.41600E02 1.48920E02 1.22330E02 9.98100E01 3.15100E01 2.10800E01 3.23200E01 -2.71100E01 -2.43400E01 2.95500E01 2.60900E01 2.95100E01 6.90200E01 7.47000E01 1.65000E01 2.25000E01 1.36800E01 -1.34100E01 -3.13100E01 -1.37200E01 -3.45600E01 -5.40000E01 -2.89800E01 -8.15000E00 9.34000E00 1.53700E01 1.25800E01 2.70000E00 -3.14800E01 -3.76800E01 -2.00300E01 -4.78100E01 -9.14000E01 -8.62500E01 -8.58600E01 -7.33800E01 -3.44500E01 -4.22900E01 -1.13400E01 -1.64300E01 -3.36700E01 -2.24200E01 -4.68100E01 -7.69200E01 -1.56900E02 -1.16220E02 -1.59190E02 -1.36360E02 -1.38720E02 -8.60500E01 -1.02700E02 -1.13800E02 -1.19170E02 -1.06630E02 -1.53640E02 -7.30000E01 4.91600E01 2.10010E02 3.93600E02 6.45470E02 5.15510E02 2.56050E02 1.07340E02 1.02950E02 4.53500E01 -2.50500E01 -1.13580E02 -2.49720E02 -1.77820E02 -6.52000E00 5.70900E01 -2.13800E01 -1.72500E01 -6.99700E01 -6.52500E01 -1.01320E02 -5.44100E01 -1.09000E02 -1.49180E02 -2.12470E02 -8.25300E01 -8.51000E00 1.25790E02 1.69110E02 1.78600E02 1.34210E02 1.68320E02 1.47330E02 1.09560E02 6.65300E01 4.81200E01 -2.38900E01 -2.20900E01 3.08000E01 8.33100E01 4.23800E01 2.11600E01 1.82800E01 4.03100E01 5.20000E01 3.02000E00 -7.64600E01 -1.27310E02 -1.52600E02 -1.39520E02 -1.22900E02 -6.66500E01 -2.56000E01 1.07400E01 -8.81000E00 2.30400E01 7.38500E01 9.21600E01 3.99500E01 -2.49100E01 -4.67500E01 -1.92200E01 9.18000E00 2.04500E01 3.20500E01 7.49800E01 1.01170E02 1.30080E02 1.21770E02 8.01000E01 -Frame 160 2.30800E01 -9.71000E00 -5.04900E01 -7.64700E01 -8.01700E01 -5.69000E01 -4.48500E01 -4.93800E01 -4.70000E01 -1.45000E01 2.20200E01 4.46500E01 3.59400E01 1.69300E01 2.23200E01 3.48600E01 4.17600E01 3.88400E01 3.08000E01 2.24900E01 3.99100E01 7.58400E01 6.98200E01 7.85600E01 9.35100E01 7.58500E01 5.15900E01 3.65500E01 1.20300E01 -9.24000E00 -2.11400E01 -1.93700E01 -1.45100E01 1.35300E01 3.34400E01 4.79500E01 2.28800E01 6.03000E00 -4.33000E00 -1.59900E01 -2.19800E01 -3.81200E01 -5.27100E01 -3.76900E01 -4.31600E01 -1.67500E01 -1.75000E01 -2.72500E01 -3.92700E01 -4.06200E01 -4.29700E01 -5.53500E01 -6.90600E01 -7.31300E01 -5.72600E01 -5.28500E01 -6.92600E01 -5.71200E01 -3.35600E01 -5.82500E01 -6.76600E01 -8.33100E01 -6.43800E01 -7.88200E01 -1.04650E02 -9.42000E01 -1.14360E02 -1.37060E02 -1.24360E02 -1.55180E02 -1.84840E02 -7.22800E01 5.97900E01 9.78500E01 2.98960E02 4.79980E02 5.55130E02 3.03080E02 2.33960E02 9.55000E01 1.21690E02 1.66000E01 -2.57300E01 -2.03320E02 -1.88190E02 -1.02400E02 -1.58500E01 -2.06000E01 -5.34700E01 -2.13000E01 1.48900E01 1.31900E01 -1.25700E01 -4.31100E01 -9.35500E01 -1.57460E02 -1.60200E02 -1.26880E02 -6.84200E01 1.29000E01 7.77100E01 1.21440E02 1.37400E02 2.10720E02 2.06110E02 1.74170E02 1.01090E02 6.26700E01 3.20200E01 1.04100E01 -1.68600E01 -1.29400E01 -4.58700E01 -1.07600E01 2.64600E01 7.08200E01 5.75000E01 5.37300E01 8.10000E-01 -2.27300E01 -7.19600E01 -7.26300E01 -8.72400E01 -9.62100E01 -1.07360E02 -1.11750E02 -6.91700E01 -1.52100E01 2.94300E01 4.64200E01 4.68900E01 4.73300E01 6.17400E01 5.55400E01 2.81000E01 8.79000E00 1.88000E00 -2.24000E00 4.52000E00 2.74900E01 3.91500E01 7.91400E01 1.04300E02 5.11500E01 5.83200E01 5.36700E01 4.88400E01 3.83000E00 -4.45600E01 -7.63900E01 -8.31200E01 -6.39700E01 -4.81600E01 -2.78100E01 -7.80000E00 2.68400E01 4.75300E01 7.58200E01 6.49200E01 6.36300E01 -Frame 160 4.62500E01 5.43000E01 3.25600E01 2.01300E01 3.23100E01 3.78500E01 1.35400E01 2.24800E01 5.16900E01 5.57700E01 5.39400E01 6.80200E01 5.34900E01 4.94800E01 3.93200E01 2.68300E01 1.29500E01 -1.23500E01 -7.40000E00 -1.12700E01 -2.42300E01 -3.05500E01 -2.90200E01 -2.84000E01 -2.37200E01 -1.28600E01 8.36000E00 -2.76000E00 -1.42100E01 -3.59900E01 -6.34000E01 -7.85900E01 -7.91700E01 -8.76900E01 -9.23900E01 -9.81500E01 -7.80000E01 -2.61600E01 -2.97000E01 -3.73300E01 -2.71700E01 -2.06800E01 -4.69800E01 -3.80600E01 -6.68400E01 -8.44600E01 -9.55600E01 -1.15930E02 -1.30840E02 -1.23110E02 -1.33050E02 -1.39200E02 -8.54400E01 -3.69700E01 2.00000E00 1.57140E02 3.33900E02 4.48790E02 4.00800E02 2.40950E02 1.61940E02 1.25350E02 1.48530E02 2.43100E01 -6.97500E01 -1.74630E02 -1.08570E02 -6.63500E01 -2.67500E01 -6.78900E01 -3.72300E01 -2.55800E01 3.44600E01 6.33000E00 1.33300E01 -1.74600E01 -3.81800E01 -1.32500E02 -1.51610E02 -1.50170E02 -6.25500E01 -4.51700E01 -2.02200E01 2.45100E01 8.75900E01 1.58530E02 1.69510E02 1.61670E02 1.17440E02 1.19740E02 7.70100E01 4.39000E01 1.27400E01 -3.80000E-01 -1.78900E01 -2.89100E01 -2.02300E01 1.97500E01 2.89600E01 3.34400E01 6.04000E00 6.80000E00 -1.41000E00 3.81400E01 1.18900E01 -2.91700E01 -8.84600E01 -1.05490E02 -1.10940E02 -1.08450E02 -9.57800E01 -6.66300E01 -3.95200E01 8.46000E00 3.99100E01 6.52900E01 7.03900E01 6.25800E01 2.34700E01 5.13000E00 8.22000E00 1.14000E01 2.36700E01 3.03000E01 4.61100E01 1.23700E01 2.85800E01 5.22700E01 6.66500E01 3.44200E01 3.11700E01 1.78000E01 6.01000E00 -1.40000E-01 -7.47000E00 -2.70100E01 -5.91200E01 -4.71600E01 -2.37800E01 7.35000E00 1.44000E00 1.43500E01 4.16500E01 5.17600E01 6.81400E01 7.59700E01 1.79800E01 9.19000E00 7.13000E00 -9.90000E-01 -3.35000E00 8.23000E00 4.17000E00 1.69900E01 3.22000E01 4.98600E01 6.70300E01 6.46800E01 4.82100E01 4.52000E01 -Frame 160 3.90700E01 1.47300E01 -8.36000E00 -9.14000E00 -4.69200E01 -6.98100E01 -6.43300E01 -4.76100E01 -4.53200E01 -4.69100E01 -3.95000E01 -2.38200E01 -3.46300E01 -6.17400E01 -6.06300E01 -7.54300E01 -7.86200E01 -9.08400E01 -8.73600E01 -8.17000E01 -9.18000E01 -7.11400E01 -7.17900E01 -5.64100E01 -5.15200E01 -4.74500E01 -4.72300E01 -3.89800E01 -7.34600E01 -7.19600E01 -9.13700E01 -9.53200E01 -1.36330E02 -1.51510E02 -8.40500E01 -2.74600E01 2.98700E01 1.80910E02 3.37420E02 4.11430E02 2.78330E02 2.30850E02 1.91690E02 2.03150E02 1.19790E02 2.97600E01 -8.60600E01 -1.12360E02 -1.21350E02 -1.05490E02 -1.22030E02 -1.12960E02 -5.45000E01 8.20000E-01 2.68500E01 1.86600E01 6.42000E01 5.20900E01 -2.44400E01 -1.15310E02 -1.24880E02 -1.14630E02 -9.99600E01 -1.00750E02 -7.64800E01 -3.44000E01 3.50000E01 5.35000E01 1.29510E02 1.22740E02 1.44640E02 1.48080E02 1.24490E02 8.00600E01 6.21900E01 4.47200E01 9.68000E00 -4.04400E01 -3.50600E01 -2.24700E01 -1.44600E01 -2.91800E01 2.68000E00 3.05300E01 6.72200E01 7.39900E01 6.89100E01 1.36200E01 -3.73800E01 -5.69100E01 -9.99800E01 -1.16280E02 -1.26970E02 -1.14870E02 -1.06290E02 -8.93500E01 -4.38100E01 5.17000E00 3.06500E01 4.78800E01 4.35900E01 7.41200E01 6.65200E01 6.16200E01 7.55100E01 4.67600E01 -1.09200E01 -9.37000E00 1.24000E00 -1.38200E01 -1.03300E01 1.82800E01 3.77600E01 4.18100E01 4.99500E01 7.03000E01 8.02200E01 4.63800E01 7.46000E00 8.34000E00 -2.27500E01 -2.57700E01 -2.18500E01 -2.27800E01 -5.17100E01 -4.24800E01 -4.92000E00 2.28100E01 3.38000E00 2.83500E01 4.80700E01 3.13600E01 1.11100E01 2.72300E01 5.18300E01 1.15000E00 -2.00900E01 -6.96000E00 1.65900E01 9.86000E00 2.69200E01 4.24900E01 1.95100E01 5.81000E00 3.66900E01 3.75000E01 1.23100E01 -1.86600E01 -2.95600E01 -2.07600E01 -4.36600E01 -6.92200E01 -5.45000E01 -6.92700E01 -1.08430E02 -9.47000E01 -7.44600E01 -7.85300E01 -8.76600E01 -6.40000E01 -Frame 160 -4.05600E01 -6.33700E01 -6.78400E01 -4.34000E01 -6.11800E01 -9.54700E01 -8.57500E01 -9.16700E01 -9.67100E01 -1.06840E02 -1.07210E02 -1.01520E02 -7.55900E01 -9.88200E01 -8.97100E01 -7.02700E01 -5.02000E01 4.50000E00 1.34850E02 2.81070E02 3.37520E02 2.55380E02 1.96450E02 1.73510E02 2.04700E02 1.75670E02 7.75900E01 -5.58000E00 -3.23000E01 -6.08000E01 -6.71100E01 -7.55400E01 -7.11500E01 -4.85500E01 -2.12000E01 -1.49800E01 -2.85500E01 2.94900E01 2.73000E01 -1.59800E01 -1.06580E02 -1.13880E02 -1.06300E02 -9.13900E01 -1.21940E02 -1.16330E02 -7.54500E01 -4.92500E01 -2.62100E01 3.05500E01 8.10200E01 8.99600E01 1.04080E02 9.35300E01 7.35600E01 7.09000E01 5.70900E01 3.68000E01 1.28500E01 1.11500E01 1.83900E01 9.84000E00 3.02000E00 1.99900E01 4.64700E01 4.27300E01 5.88400E01 7.14000E01 6.62900E01 8.97000E00 -1.41200E01 -4.49000E01 -6.45800E01 -1.02800E02 -1.09100E02 -1.03490E02 -1.13610E02 -9.99400E01 -6.27600E01 -4.63800E01 -1.34600E01 -7.52000E00 7.60000E00 2.71700E01 4.33100E01 4.59000E01 1.75200E01 1.32400E01 4.81000E00 -5.89000E00 -8.92000E00 4.96000E00 8.26000E00 2.26500E01 1.64600E01 3.60600E01 6.52300E01 7.22400E01 7.74000E01 7.46500E01 5.97500E01 4.03400E01 4.13000E01 -9.74000E00 -2.23400E01 -2.13000E01 -3.72000E01 -4.85500E01 -1.82000E01 -4.18900E01 -1.22700E01 -6.72000E00 -1.09900E01 -6.38000E00 1.23800E01 -2.90000E-01 1.36500E01 1.30100E01 2.34000E00 5.34000E00 -1.25700E01 -7.02000E00 -9.29000E00 -1.62000E00 -6.71000E00 6.05000E00 2.20000E00 1.12300E01 3.05300E01 1.04000E01 5.64000E00 4.73000E00 -1.12100E01 -3.16300E01 -5.66500E01 -6.43900E01 -7.23100E01 -7.84100E01 -8.76300E01 -8.90600E01 -7.74600E01 -6.44400E01 -6.19700E01 -4.63800E01 -5.12800E01 -6.63000E01 -7.37400E01 -8.43600E01 -8.32500E01 -1.06050E02 -1.12480E02 -1.28030E02 -1.20970E02 -1.07610E02 -1.06770E02 -9.98400E01 -1.05640E02 -9.65600E01 -5.41500E01 4.35800E01 -Frame 160 1.67250E02 3.18550E02 3.06200E02 1.98160E02 1.70580E02 1.72980E02 2.11290E02 1.70590E02 5.94800E01 6.89000E00 -1.32000E00 -3.37700E01 -2.81800E01 9.62000E00 -2.41000E00 1.02000E01 2.62000E01 -1.03200E01 2.30500E01 5.64400E01 3.38200E01 -5.15200E01 -1.27440E02 -1.54580E02 -1.38410E02 -1.12610E02 -1.47910E02 -1.15170E02 -7.23200E01 -7.50900E01 -4.68900E01 2.22100E01 6.94100E01 6.39900E01 4.13300E01 2.59200E01 3.10000E01 2.52000E01 2.71900E01 1.82100E01 4.93000E00 1.32300E01 1.37700E01 4.63100E01 5.98100E01 9.56700E01 1.09550E02 1.02760E02 9.56700E01 9.42800E01 9.67700E01 4.62600E01 -1.88400E01 -3.89200E01 -5.85700E01 -8.07600E01 -6.45500E01 -6.77700E01 -5.60200E01 -2.78500E01 -5.17800E01 -3.34000E01 -1.42000E00 5.55000E00 1.17300E01 -3.19100E01 -4.08700E01 -2.60700E01 -2.37900E01 -3.44200E01 -3.83500E01 -4.13700E01 -1.04500E01 7.43000E00 1.88500E01 4.66000E01 7.61600E01 7.95600E01 9.59900E01 9.88400E01 5.66900E01 6.71900E01 4.69600E01 5.07000E00 -3.11000E00 4.70000E-01 9.17000E00 2.01400E01 1.34400E01 9.53000E00 3.05000E01 2.61000E01 9.55000E00 3.24900E01 1.11200E01 -1.69100E01 -2.57800E01 -1.48900E01 -2.56400E01 -2.66900E01 -2.97400E01 -2.18500E01 -1.96900E01 -2.64400E01 -8.37000E00 1.02700E01 6.48000E00 7.57000E00 6.69000E00 2.78000E00 -1.42500E01 -2.67900E01 -2.46900E01 -2.65000E01 -3.83400E01 -4.55100E01 -3.38600E01 -2.38200E01 -1.84500E01 -4.39000E01 -4.41000E01 -4.62700E01 -3.04700E01 -6.01600E01 -5.37200E01 -5.10400E01 -8.12400E01 -7.43100E01 -8.51100E01 -9.71800E01 -7.55500E01 -1.15200E02 -1.15990E02 -1.09720E02 -1.01180E02 -8.63100E01 -8.49300E01 -8.34600E01 -1.04900E02 -1.21940E02 -1.13430E02 2.04100E01 1.85330E02 3.03140E02 2.38280E02 1.28170E02 1.14520E02 1.89330E02 2.08270E02 1.74600E02 6.67300E01 3.14700E01 1.00000E-01 -2.23000E00 1.33800E01 9.84700E01 9.81100E01 7.36600E01 3.44000E01 -4.40900E01 -Frame 160 5.30500E01 6.51600E01 3.76000E01 -1.07830E02 -1.24640E02 -1.46840E02 -1.09580E02 -8.30600E01 -7.66400E01 -2.39500E01 -6.36100E01 -1.05440E02 -8.14700E01 1.43100E01 3.80300E01 -1.45600E01 -2.47700E01 -7.12800E01 -4.51700E01 -2.82200E01 -1.97300E01 1.50300E01 9.84000E00 2.54700E01 3.55000E00 6.69400E01 8.92200E01 1.43100E02 1.20510E02 5.01100E01 5.24900E01 6.59000E01 6.86700E01 3.64700E01 3.02500E01 2.68200E01 1.22700E01 -7.30000E-01 2.88000E00 6.76100E01 7.82900E01 3.62400E01 -1.81300E01 -4.21500E01 -1.28600E01 -2.26400E01 -4.36900E01 -6.63400E01 -5.96200E01 -6.96300E01 -1.48800E01 -3.42000E00 1.64000E01 3.68200E01 1.18400E01 -1.89200E01 -6.61000E00 1.80900E01 1.75400E01 1.29600E01 -1.37700E01 -1.43100E01 1.11500E01 2.13900E01 4.39300E01 6.21300E01 4.98400E01 3.01300E01 2.77900E01 5.03600E01 5.45900E01 4.99100E01 -6.95000E00 -1.05500E01 -1.12400E01 -1.93000E00 2.46800E01 2.71000E01 1.25800E01 7.61000E00 9.49000E00 2.43000E00 2.21600E01 1.64900E01 -8.36000E00 -2.79600E01 -5.81300E01 -3.41700E01 -1.74300E01 -1.41500E01 -3.17500E01 -1.88600E01 -1.75500E01 -3.01800E01 -2.51700E01 -3.39800E01 -2.10300E01 -3.16600E01 -6.75900E01 -9.15700E01 -5.52100E01 -3.76800E01 -4.25800E01 -4.46000E01 -5.86500E01 -5.10900E01 -4.42600E01 -6.11900E01 -5.16000E01 -4.46800E01 -7.55200E01 -1.02260E02 -9.27500E01 -1.13880E02 -9.15800E01 -6.75300E01 -7.87000E01 -7.21700E01 -5.64000E01 -1.04120E02 -1.03250E02 -1.20290E02 -2.37800E01 2.28700E02 3.93740E02 2.08490E02 6.43000E01 6.45800E01 1.31800E02 1.66970E02 1.18070E02 4.65500E01 5.47800E01 4.42200E01 -7.00000E-01 1.06000E02 1.98910E02 1.79520E02 1.41380E02 3.29500E01 -1.20840E02 -1.92500E01 2.45200E01 -3.36000E00 -7.60800E01 -8.09600E01 -7.29000E01 -1.65100E01 -1.03500E01 1.50200E01 9.41700E01 -1.31000E00 -1.54730E02 -1.75740E02 -8.42300E01 -1.08100E01 -6.51100E01 -8.20300E01 -5.04000E01 -1.27500E01 -Frame 160 -1.29300E01 2.08900E01 4.67300E01 6.83200E01 5.15100E01 -6.18700E01 -6.07000E01 -1.44000E00 7.46500E01 6.10200E01 5.79100E01 4.36500E01 1.06910E02 1.36030E02 8.39300E01 9.71500E01 1.28700E02 8.61200E01 6.16000E00 -8.26000E00 3.90000E00 4.84500E01 7.63500E01 -1.69400E01 -2.08000E00 5.12600E01 2.92200E01 2.34900E01 1.85800E01 -2.24800E01 -3.17700E01 -2.63000E01 -8.26200E01 -3.05900E01 2.00900E01 -9.67000E00 -1.33000E00 -1.77200E01 -3.59000E00 5.99000E00 -1.01300E01 -3.47300E01 -1.30500E01 -2.66800E01 -1.57000E01 -1.36000E00 2.84300E01 5.61200E01 3.16200E01 2.33400E01 4.07900E01 9.75000E00 9.75000E00 2.37500E01 1.01700E01 1.11700E01 1.52000E01 6.35000E00 1.52300E01 4.63800E01 2.64600E01 2.19100E01 -2.79000E00 -7.24000E00 -4.81000E00 1.07100E01 -1.12900E01 -2.09500E01 -1.58800E01 -1.96300E01 -3.24700E01 -2.66700E01 -2.66600E01 -3.46200E01 -4.07900E01 -6.41100E01 -5.90900E01 -4.48600E01 -3.71500E01 -5.11700E01 -8.05800E01 -6.28300E01 -4.44800E01 -5.35300E01 -2.28200E01 -3.51500E01 -6.08400E01 -6.32800E01 -9.87500E01 -8.62400E01 -4.62800E01 -7.10600E01 -6.25600E01 -6.17600E01 -6.09000E01 -4.29800E01 -4.74900E01 -5.71200E01 -7.90200E01 -6.45500E01 -1.13600E02 -9.50900E01 -1.17950E02 -1.17440E02 5.16000E00 1.17510E02 3.13190E02 2.93600E02 5.91100E01 1.83000E01 -2.98000E01 6.36300E01 6.98800E01 8.62500E01 9.80400E01 1.61100E02 1.38960E02 6.80100E01 2.02810E02 1.38600E02 7.72900E01 -5.89700E01 -1.00370E02 -5.19400E01 3.90500E01 6.68300E01 3.24200E01 6.19300E01 1.06310E02 4.29800E01 -1.53300E01 -1.21410E02 -5.06400E01 -7.76200E01 -7.13500E01 -1.55810E02 -3.37300E01 7.11600E01 -1.67700E01 -2.54000E01 -2.32700E01 6.29500E01 -3.82200E01 -1.25480E02 -1.58320E02 -5.20300E01 1.45900E01 -1.27500E01 4.00700E01 5.64800E01 1.23340E02 5.51500E01 -5.20000E00 5.75900E01 6.12700E01 7.80100E01 -7.80000E00 2.07500E01 6.31700E01 1.58850E02 -Frame 160 1.01350E02 3.79900E01 7.26500E01 4.63300E01 4.51700E01 -3.60500E01 -2.57300E01 1.29500E01 2.68300E01 2.31300E01 3.10000E-01 6.48000E01 4.32400E01 1.39900E01 -4.41600E01 -2.10500E01 -6.19000E00 -4.58500E01 -7.68000E00 -5.23100E01 4.74000E00 9.56000E00 -5.47000E00 -2.09500E01 -1.28800E01 -3.05400E01 -7.07100E01 -1.60500E01 -1.96800E01 3.60000E00 -4.40000E00 -1.46400E01 1.38200E01 -1.18500E01 6.70000E00 -1.71800E01 9.22000E00 7.43000E00 -3.42000E00 -4.60000E00 -5.81000E00 3.69500E01 -1.00000E00 7.88000E00 -4.97000E00 1.27900E01 1.90900E01 -1.24300E01 -2.91000E00 -1.10900E01 -1.35100E01 -3.19900E01 -2.90100E01 -7.91000E00 -1.31500E01 -3.15400E01 -5.04700E01 -2.19400E01 -5.95100E01 -3.71900E01 1.38500E01 -5.35500E01 -8.39900E01 7.00000E-01 -1.20000E01 -1.60900E01 -3.73000E01 -6.11400E01 9.33000E00 -2.10400E01 -4.03400E01 -9.52100E01 4.73000E01 -8.08400E01 1.81200E01 4.41100E01 -1.34150E02 -1.18100E01 1.28310E02 2.06300E01 -1.45410E02 -5.64600E01 7.82800E01 4.91000E01 -1.43040E02 -1.15000E02 1.21000E02 3.61700E01 -6.53300E01 -2.69200E01 5.76900E01 -1.71500E01 6.87000E01 -2.78700E01 -1.44100E01 6.44700E01 4.87200E01 2.74300E01 5.64500E01 -3.69000E00 3.03100E01 6.13300E01 -3.57500E01 -7.80000E00 1.12020E02 7.14400E01 3.54000E00 3.35400E01 4.04400E01 4.55200E01 -1.12800E01 -2.98200E01 4.01000E01 7.61500E01 -1.07500E01 -1.83200E01 5.89000E01 3.84600E01 -1.06400E01 -2.32400E01 -1.62000E01 2.80800E01 6.27100E01 -2.36400E01 -5.56300E01 5.34500E01 3.08600E01 -4.04500E01 -1.99200E01 8.27000E00 3.30000E-01 1.21500E01 -1.76700E01 -4.39000E00 4.13100E01 1.93900E01 7.80000E-01 3.06000E01 8.32000E00 -4.65000E00 2.09900E01 -1.65900E01 6.69000E00 2.56900E01 -8.74000E00 -5.22000E00 3.14200E01 -5.83000E00 -5.22000E00 2.14200E01 3.87000E00 1.27800E01 1.89600E01 -7.68000E00 1.28700E01 3.70500E01 4.95000E00 -1.01400E01 2.73200E01 1.89200E01 -Frame 160 -4.75000E00 -8.14000E00 8.38000E00 1.74100E01 1.77100E01 -4.99000E00 -4.38000E00 8.26000E00 -5.71000E00 -2.31000E01 -8.00000E00 1.05800E01 3.73000E00 -7.33000E00 -7.20000E-01 1.00000E-01 -4.05000E00 -8.32000E00 -2.71000E00 -2.92000E00 -5.13000E00 6.60000E00 -3.13100E01 -1.73600E01 1.00400E01 -3.72000E00 -2.09000E01 2.54100E01 2.13000E00 -2.58700E01 7.29000E00 -2.53000E00 -8.65000E00 -1.79500E01 1.54800E01 -1.50700E01 -7.55000E00 1.72100E01 9.07200E01 7.54200E01 -1.65420E02 -7.05500E01 1.25320E02 -1.17870E02 -1.51470E02 2.33030E02 1.64200E02 -7.69100E01 2.56000E01 1.62600E01 -3.53800E01 -3.65800E01 5.32200E01 -1.12500E01 3.03000E01 -3.28900E01 -1.40000E01 -7.95100E01 -4.97000E00 -7.01200E01 -2.22000E00 1.67800E01 -3.06500E01 -4.45200E01 3.22200E01 4.30000E00 -4.54900E01 1.22200E01 3.07000E01 -2.32800E01 9.09000E00 2.74500E01 -1.65000E00 -6.50000E-01 1.33800E01 -1.01700E01 -1.84400E01 -1.29500E01 -2.62800E01 -2.90000E01 -1.17800E01 -2.70200E01 -2.67100E01 -1.93700E01 -1.97900E01 7.90000E-01 -1.00000E01 -8.12000E00 -5.18000E00 2.85000E00 -6.88000E00 1.60900E01 9.75000E00 1.12000E01 -7.32000E00 -8.41000E00 -2.53000E00 -9.47000E00 -1.36200E01 -2.89000E00 -1.88300E01 -1.72500E01 -1.66100E01 -1.99400E01 -1.63600E01 -1.36600E01 -1.08700E01 -1.99900E01 -6.38000E00 -4.35000E00 -1.42600E01 -7.47000E00 -4.70000E-01 -8.26000E00 -1.22900E01 -8.44000E00 -3.47000E00 6.50000E-01 5.89000E00 9.28000E00 2.76000E00 -3.97000E00 -1.19100E01 -3.09000E00 -7.00000E00 -2.80300E01 -2.06900E01 -1.91100E01 -1.54700E01 -1.77100E01 -1.00000E-02 -1.77000E00 -4.59000E00 -1.50000E00 -1.32000E00 1.86000E00 1.31300E01 1.07300E01 1.24000E00 -1.55000E00 -9.43000E00 -7.55000E00 -1.61000E00 -1.24900E01 -2.70000E00 -4.61000E00 -1.15800E01 -1.57600E01 -7.06000E00 -9.09000E00 -1.01800E01 -1.13000E01 -8.45000E00 -8.51000E00 -1.25700E01 -2.97500E01 -8.44000E00 -1.47000E00 -1.72900E01 -2.35900E01 -Frame 160 -2.07000E00 -9.89000E00 -1.79500E01 -7.25000E00 -1.82200E01 -1.45200E01 -7.70000E00 -1.86700E01 -1.59700E01 -1.81800E01 -2.44500E01 -1.09000E01 -1.49300E01 -1.40800E01 -2.42000E01 -1.26200E01 -7.68000E00 -1.75900E01 -1.18000E01 -9.83000E00 -1.28000E01 -1.88600E01 -1.51000E01 -4.22000E00 -1.20100E01 -6.04000E00 -3.89000E00 -2.06800E01 -1.19800E01 -9.01000E00 -1.79500E01 -1.81600E01 -9.37000E00 -9.31000E00 -6.25000E00 -5.10000E00 -2.92000E00 -9.68000E00 -2.66500E01 -1.71300E01 -1.33100E01 -7.37000E00 -1.02500E01 -1.32200E01 -4.28000E00 -1.00700E01 -1.70400E01 -2.12200E01 -2.55200E01 -8.94000E00 -1.58500E01 -1.89700E01 -1.71800E01 -7.33000E00 -1.91800E01 -1.23900E01 6.10000E-01 -1.70000E01 -2.31500E01 -1.54800E01 -8.57000E00 -1.34500E01 -2.14800E01 -1.57500E01 -1.48400E01 -1.69000E01 -9.02000E00 -9.90000E00 -8.81000E00 -1.16900E01 -1.06600E01 -1.26000E01 -7.60000E00 -2.45000E00 -3.15000E00 -9.88000E00 -8.82000E00 -1.67300E01 -1.18800E01 -6.88000E00 -1.57300E01 -3.85000E00 -2.06100E01 -1.68800E01 -3.00000E-02 -1.06700E01 -1.16400E01 -1.56400E01 -1.17600E01 -1.17600E01 -9.76000E00 -1.47000E01 -1.07900E01 -1.17600E01 -1.57600E01 -1.08800E01 -4.85000E00 -4.64000E00 -1.24300E01 -5.46000E00 -4.28000E00 -1.07000E00 -3.77000E00 -1.45600E01 -9.68000E00 -4.65000E00 -2.14700E01 -2.18000E01 -5.13000E00 -2.19500E01 -2.32800E01 -6.40000E-01 -1.33100E01 -7.37000E00 -4.25000E00 -1.10400E01 9.60000E-01 -2.68000E00 1.25600E01 8.25000E00 -3.21000E00 -6.03000E00 -9.40000E-01 -1.87000E01 -1.60000E01 -1.02100E01 -1.72400E01 -1.34800E01 -9.60000E00 -2.60000E00 -1.39000E00 -5.15000E00 1.97000E00 -7.00000E-01 -7.46000E00 -1.14300E01 -6.52000E00 5.54000E00 -4.00000E-02 -4.80000E00 2.90000E-01 -2.47000E00 -1.03200E01 1.59000E00 1.86000E00 -8.70000E-01 -9.69000E00 3.22000E00 -6.48000E00 -8.48000E00 -5.40000E-01 6.40000E-01 -9.15000E00 -5.24000E00 -7.21000E00 -3.24000E00 8.50000E-01 -1.29400E01 -8.15000E00 -5.21000E00 -Frame 160 -1.80000E-01 -5.00000E00 8.03000E00 9.45000E00 2.90000E00 1.14000E00 1.32000E00 -3.50000E00 -4.47000E00 3.53000E00 -6.23000E00 -5.29000E00 2.68000E00 -1.11000E00 6.98000E00 -2.69000E00 2.34000E00 5.20000E-01 1.06400E01 6.06000E00 -6.70000E-01 -1.61000E00 6.42000E00 -5.31000E00 -2.40000E00 1.60000E00 -1.28000E00 4.75000E00 9.96000E00 -7.68000E00 -1.86000E00 6.14000E00 2.38000E00 1.15000E01 -4.11000E00 2.80000E00 2.92000E00 -9.60000E-01 4.00000E-02 5.07000E00 2.50000E-01 6.28000E00 3.49000E00 1.61000E00 3.67000E00 -4.21000E00 -1.33300E01 2.80000E-01 3.31000E00 -1.57000E00 5.40000E00 6.58000E00 3.79000E00 1.69100E01 1.42000E00 9.45000E00 6.72000E00 2.90000E00 8.96000E00 -8.00000E-01 6.14000E00 9.29000E00 -5.47000E00 7.32000E00 1.25000E01 -1.70000E-01 9.77000E00 1.20100E01 -3.69000E00 -6.87000E00 -3.14000E00 4.71000E00 -3.20000E00 1.16500E01 3.95000E00 1.00000E-02 8.95000E00 1.16000E00 2.13000E00 1.13000E00 7.10000E00 7.25000E00 7.40000E00 9.55000E00 1.17600E01 7.03000E00 8.15000E00 3.00000E-01 1.21000E00 9.15000E00 -6.67000E00 -7.97000E00 -2.30000E00 -5.45000E00 5.31000E00 8.40000E00 1.45800E01 1.39400E01 1.32700E01 6.57000E00 1.46600E01 8.99000E00 7.14000E00 4.23000E00 4.23000E00 6.23000E00 5.29000E00 3.20000E-01 1.20000E00 4.11000E00 -4.89000E00 8.40000E-01 2.75000E00 8.72000E00 1.18700E01 9.11000E00 1.02600E01 -1.56000E00 4.26000E00 8.26000E00 9.38000E00 2.53000E00 4.70000E-01 9.35000E00 1.05000E01 6.68000E00 -2.60000E-01 6.59000E00 -1.35000E00 7.47000E00 9.56000E00 7.71000E00 3.80000E00 1.27700E01 1.00100E01 -2.84000E00 1.92000E00 5.83000E00 1.86000E00 6.77000E00 6.83000E00 5.89000E00 9.92000E00 9.07000E00 7.19000E00 1.02500E01 1.04000E01 1.05500E01 1.57000E01 9.00000E00 8.09000E00 2.15000E00 1.40300E01 3.27000E00 -3.82000E00 2.08800E01 1.63300E01 1.56300E01 2.09000E01 9.32000E00 -Frame 160 -3.62000E00 7.05000E00 2.05000E00 2.90000E00 2.78000E00 4.66000E00 6.60000E00 3.60000E00 1.05100E01 7.63000E00 8.66000E00 1.47200E01 1.29600E01 8.14000E00 9.17000E00 1.62300E01 1.15000E01 4.62000E00 8.53000E00 1.05600E01 6.65000E00 9.62000E00 1.06800E01 5.77000E00 3.71000E00 3.59000E00 6.47000E00 2.44000E00 7.29000E00 6.29000E00 5.26000E00 5.20000E00 7.14000E00 1.51400E01 2.13800E01 1.08000E01 1.58900E01 1.11300E01 4.22000E00 3.10000E00 1.49500E01 1.16000E00 5.95000E00 2.08900E01 1.92800E01 1.16100E01 1.17000E01 1.57900E01 7.00000E00 1.94000E00 9.73000E00 6.76000E00 7.70000E00 5.67000E00 8.58000E00 1.65800E01 8.20000E-01 7.58000E00 2.55000E00 1.43700E01 9.55000E00 8.58000E00 1.65800E01 4.82000E00 1.37000E01 1.38500E01 9.00000E00 1.20000E01 8.09000E00 2.06000E00 2.85000E00 1.06700E01 3.73000E00 5.58000E00 1.24900E01 1.26100E01 1.17300E01 1.48200E01 1.80000E01 1.12700E01 5.33000E00 1.32100E01 1.73300E01 1.25700E01 5.66000E00 5.54000E00 4.42000E00 3.27000E00 1.40900E01 1.12400E01 1.03000E01 3.30000E-01 1.60600E01 8.27000E00 8.24000E00 1.62100E01 9.42000E00 7.42000E00 8.36000E00 1.13300E01 1.03900E01 -5.80000E-01 1.91200E01 1.14200E01 -5.20000E-01 9.18000E00 1.31800E01 1.53000E01 1.74800E01 3.72000E00 5.40000E-01 5.27000E00 1.31500E01 1.02700E01 9.30000E00 1.23000E01 1.23900E01 6.48000E00 1.23900E01 1.24800E01 7.57000E00 1.45100E01 1.06600E01 9.69000E00 4.69000E00 1.35400E01 7.66000E00 9.60000E00 6.60000E00 1.55100E01 1.66900E01 1.19000E01 2.96000E00 1.17500E01 1.08100E01 2.84000E00 1.46300E01 1.27800E01 1.88700E01 1.21400E01 1.52000E01 5.35000E00 7.20000E00 8.11000E00 6.05000E00 2.93000E00 5.72000E00 1.66000E01 1.58100E01 7.99000E00 1.39300E01 1.50500E01 1.12000E01 3.23000E00 8.02000E00 1.19600E01 2.10200E01 7.35000E00 1.12600E01 9.29000E00 -Frame 160 1.52600E01 1.84100E01 7.65000E00 7.56000E00 9.47000E00 1.44400E01 1.56000E00 7.29000E00 9.20000E00 1.11700E01 1.02000E01 1.32000E01 7.29000E00 3.20000E00 8.99000E00 8.96000E00 1.79300E01 1.61700E01 1.23500E01 1.44100E01 9.53000E00 1.15000E01 1.45300E01 6.65000E00 7.53000E00 5.44000E00 8.29000E00 1.62300E01 1.34100E01 1.55000E01 1.86500E01 1.38900E01 7.98000E00 7.89000E00 9.80000E00 8.77000E00 1.71000E00 1.34400E01 1.65300E01 5.71000E00 5.56000E00 6.41000E00 1.82900E01 9.53000E00 6.50000E00 1.13800E01 1.04100E01 8.41000E00 1.43500E01 6.47000E00 9.35000E00 9.32000E00 -4.71000E00 1.84000E00 1.26000E01 1.16900E01 7.75000E00 6.69000E00 1.46000E01 1.47500E01 6.90000E00 1.28100E01 1.39000E01 1.40200E01 1.91400E01 1.14100E01 1.34400E01 2.53000E00 4.29000E00 1.01100E01 7.11000E00 7.02000E00 5.93000E00 1.81000E00 1.25700E01 2.26600E01 1.60500E01 4.23000E00 1.20500E01 1.11100E01 2.14000E00 1.69000E01 8.11000E00 5.05000E00 1.49000E01 1.00500E01 3.05000E00 1.28400E01 9.93000E00 4.93000E00 5.78000E00 9.66000E00 7.66000E00 6.60000E00 1.05100E01 9.54000E00 1.25400E01 1.06300E01 8.66000E00 2.63000E00 1.14200E01 1.54800E01 1.06600E01 7.69000E00 1.56300E01 8.81000E00 -2.22000E00 1.64200E01 3.06300E01 3.26000E00 -5.95000E00 8.57000E00 3.54000E00 3.36000E00 1.01800E01 1.22100E01 7.30000E00 4.24000E00 3.09000E00 6.91000E00 2.85000E00 1.06700E01 1.37300E01 1.88000E00 5.67000E00 3.58000E00 2.43000E00 -7.50000E-01 1.19800E01 1.21000E01 7.22000E00 7.19000E00 7.16000E00 1.13000E00 -1.08000E00 1.46500E01 5.86000E00 3.80000E00 1.06800E01 8.77000E00 1.18000E01 9.20000E-01 4.71000E00 7.62000E00 3.62000E00 5.00000E-01 3.29000E00 1.11700E01 8.29000E00 5.32000E00 2.60000E-01 5.05000E00 5.99000E00 6.96000E00 -4.04000E00 6.30000E-01 9.45000E00 1.54000E00 1.43900E01 1.06300E01 -Frame 160 4.75000E00 7.69000E00 2.72000E00 -3.40000E00 -3.70000E00 1.00000E00 3.85000E00 7.79000E00 1.85000E00 8.73000E00 1.08200E01 -1.03000E00 1.07600E01 -7.09000E00 6.52000E00 -6.45000E00 -6.81000E00 9.83000E00 2.98000E00 -3.08000E00 9.68000E00 6.83000E00 3.89000E00 -1.14000E00 -2.32000E00 4.70000E-01 -1.65000E00 1.21700E01 9.41000E00 2.56000E00 2.50000E00 -3.56000E00 -5.80000E00 -5.10000E00 -3.37000E00 -2.58000E00 -9.76000E00 -7.15000E00 -1.45000E00 4.43000E00 -5.51000E00 4.25000E00 2.31000E00 8.31000E00 9.49000E00 -8.30000E00 1.37000E00 4.34000E00 2.40000E00 -6.00000E-01 -5.69000E00 1.07000E00 6.04000E00 -4.84000E00 -2.05000E00 -1.17000E00 -6.26000E00 -2.50000E00 -6.20000E-01 5.32000E00 3.44000E00 2.50000E00 5.30000E-01 -3.50000E00 -1.65000E00 1.26000E00 4.26000E00 -5.65000E00 -8.60000E-01 -3.92000E00 4.93000E00 -1.95000E00 -1.04000E00 3.90000E00 1.99000E00 2.02000E00 5.00000E-02 -9.80000E-01 -4.04000E00 -4.19000E00 -3.40000E-01 -5.37000E00 3.45000E00 -8.46000E00 -5.73000E00 -1.91000E00 -2.97000E00 4.94000E00 -2.91000E00 2.00000E00 4.06000E00 1.80000E-01 5.18000E00 -4.67000E00 -7.82000E00 -6.06000E00 -5.24000E00 9.61000E00 -1.20900E01 -1.45000E00 -2.48000E00 -6.54000E00 -3.72000E00 3.19000E00 2.31000E00 1.40000E00 -5.54000E00 -9.69000E00 6.04000E00 -1.75000E00 -4.78000E00 -4.90000E00 -3.02000E00 -8.00000E-02 -4.05000E00 -7.14000E00 2.68000E00 -7.20000E00 6.20000E-01 -5.32000E00 -2.44000E00 8.53000E00 -4.17000E00 7.40000E-01 -2.20000E00 -4.23000E00 -3.32000E00 -1.38000E00 4.62000E00 -1.20000E00 -4.20000E00 -2.29000E00 1.68000E00 -6.23000E00 -3.80000E-01 6.50000E-01 -9.29000E00 5.47000E00 1.68000E00 -3.23000E00 1.71000E00 1.80000E00 -6.11000E00 -5.26000E00 -1.03800E01 -9.65000E00 1.11000E00 -8.00000E-01 -4.77000E00 -2.86000E00 -7.89000E00 -1.07000E00 1.96000E00 -2.92000E00 5.00000E-02 -8.90000E-01 1.40000E-01 -1.08000E01 -5.07000E00 8.40000E-01 -Frame 160 -7.07000E00 -5.22000E00 -1.31000E00 -1.28000E00 -6.25000E00 -3.37000E00 6.00000E-01 -9.31000E00 2.48000E00 6.63000E00 2.90000E00 5.00000E-02 1.11000E00 -1.08000E01 -1.60700E01 -7.49000E00 -1.16400E01 -8.91000E00 1.91000E00 4.06000E00 9.27000E00 -2.13700E01 3.69060E02 -3.47800E01 -5.23070E02 1.65030E02 2.37250E02 -2.41520E02 -9.58700E01 2.17370E02 -1.11910E02 -7.92700E01 5.44500E01 1.32500E01 -8.42400E01 2.63300E01 4.32900E01 -2.02700E01 -3.07800E01 3.41000E00 7.65000E00 2.01000E00 -3.38100E01 3.42900E01 7.46000E00 -2.42100E01 1.21600E01 6.40000E-01 -5.72400E01 2.91400E01 5.16000E00 -2.35700E01 4.83000E00 1.41000E01 3.64000E00 -1.41500E01 -9.04800E01 1.52910E02 -2.13200E01 -1.47920E02 1.00700E02 5.49100E01 -9.83500E01 3.74000E00 6.29800E01 -1.63010E02 1.01160E02 7.40000E00 -5.42700E01 1.72000E01 8.38600E01 -1.94500E02 1.28710E02 5.47900E01 -2.55470E02 2.20910E02 -3.51900E01 -1.21180E02 2.32800E01 1.32180E02 -1.16680E02 -1.53130E02 2.78430E02 -9.59300E01 -2.40780E02 3.48110E02 -1.86120E02 -5.67000E01 1.43770E02 -9.77000E01 -1.35550E02 2.55550E02 -1.80500E02 -3.78700E01 1.41200E02 -1.21330E02 -8.58700E01 3.77760E02 -5.00630E02 1.61280E02 6.75000E01 2.57750E02 -8.39360E02 8.65380E02 -4.45980E02 2.27520E02 -3.99370E02 6.11720E02 -7.08500E02 5.15110E02 -1.04930E02 -8.10500E01 -3.48360E02 7.54380E02 -4.50490E02 -3.64200E02 6.46090E02 -1.46990E02 -4.09460E02 2.50330E02 3.63280E02 -7.96620E02 5.99350E02 -1.93080E02 2.34160E02 -8.84610E02 1.26084E03 -8.80550E02 1.34660E02 4.81300E01 3.33870E02 -8.00870E02 9.15040E02 -7.64850E02 3.69020E02 7.96000E01 -3.62850E02 1.86350E02 1.31350E02 -2.60480E02 1.98100E01 1.34740E02 -3.69100E01 -1.73840E02 2.69150E02 -2.75420E02 6.04200E01 1.29580E02 -2.12250E02 1.28540E02 2.74000E00 -2.69960E02 4.35150E02 -3.49350E02 1.19210E02 -1.47860E02 2.36940E02 -9.25900E01 -3.77230E02 5.72670E02 -Frame 160 -3.02600E02 -2.93660E02 4.73820E02 -1.01420E02 -1.99360E02 -1.88150E02 7.12570E02 -7.13530E02 1.46930E02 2.56850E02 -9.10800E01 -4.70690E02 7.41390E02 -5.17750E02 -5.23500E01 4.03480E02 -3.54980E02 -8.57000E00 -2.04500E01 5.32310E02 -9.80340E02 7.41140E02 -2.23850E02 -1.33480E02 1.21800E02 -6.91500E01 1.61050E02 -5.51790E02 8.03830E02 -5.41390E02 6.52900E01 -2.38340E02 8.60850E02 -1.10578E03 5.43800E02 -4.01300E01 1.02910E02 -4.54730E02 4.94800E02 -3.48780E02 4.96870E02 -1.01980E03 1.32557E03 -1.12778E03 5.63050E02 -1.75370E02 -2.54700E01 -3.29200E01 1.91420E02 -2.62490E02 2.78000E01 -2.79700E01 4.20550E02 -7.53460E02 3.77920E02 5.47920E02 -1.35534E03 1.22580E03 -3.28400E02 -6.89360E02 8.84150E02 -2.25520E02 -2.06300E02 -3.30300E02 1.06016E03 -1.08538E03 2.70740E02 4.31530E02 -3.00120E02 -3.13120E02 3.32760E02 3.47290E02 -9.23060E02 5.24160E02 2.71630E02 -6.65970E02 9.40500E01 6.89470E02 -4.17350E02 -8.14010E02 1.37581E03 -7.75950E02 -3.53000E00 -2.59230E02 8.85390E02 -8.38430E02 3.60220E02 -3.30410E02 4.95900E02 -2.86710E02 -3.38260E02 9.34900E02 -1.43045E03 1.31938E03 -1.39000E02 -1.46935E03 1.84352E03 -9.51900E02 2.50120E02 -5.28930E02 9.65410E02 -8.84950E02 4.83290E02 -2.76620E02 2.25220E02 -1.91640E02 9.77800E01 -3.13950E02 8.94870E02 -1.48777E03 1.47029E03 -8.70560E02 2.62010E02 -2.17650E02 3.57050E02 -2.90820E02 -1.35460E02 4.88820E02 -4.82060E02 2.94480E02 -2.88250E02 7.82600E01 3.83020E02 -6.45160E02 2.81460E02 3.27460E02 -5.99430E02 2.92570E02 -2.44130E02 6.37790E02 -8.67620E02 6.95220E02 -1.95270E02 -3.02120E02 1.97000E02 7.19360E02 -1.44480E03 5.26460E02 1.25817E03 -1.78367E03 7.83090E02 -4.05200E01 2.43000E00 3.78700E02 -1.27375E03 1.06688E03 5.20880E02 -1.33649E03 3.52950E02 5.56290E02 -3.96610E02 2.42390E02 -7.29080E02 7.71080E02 6.90000E00 -4.57920E02 -1.57690E02 4.52960E02 4.14060E02 -9.95430E02 -Frame 160 1.64420E02 5.50970E02 1.75950E02 -1.32883E03 9.69090E02 6.41150E02 -1.64953E03 1.12549E03 -8.57400E01 -3.93350E02 1.34890E02 3.74330E02 -6.10180E02 2.99430E02 -1.05120E02 5.26910E02 -9.61010E02 5.41950E02 1.90870E02 -4.19250E02 1.09150E02 -2.17220E02 9.54510E02 -1.26342E03 5.22240E02 2.95620E02 -5.67290E02 3.90640E02 -1.58180E02 2.01700E01 -1.49900E01 2.91770E02 -6.93260E02 3.82890E02 5.07950E02 -7.38600E02 -2.62010E02 1.14055E03 -9.63590E02 3.31100E02 -2.51490E02 5.51130E02 -5.93950E02 1.93110E02 2.23320E02 -6.56750E02 9.83570E02 -8.42310E02 1.64130E02 5.19530E02 -9.09570E02 7.94980E02 -3.94510E02 -5.84200E01 2.24110E02 -3.84000E00 -4.84840E02 5.45730E02 -2.08350E02 -5.85600E01 -4.60900E01 2.12800E02 -1.99510E02 -8.39000E00 8.06400E01 8.83400E01 -9.98100E01 -4.00690E02 8.46490E02 -6.55560E02 -5.74500E01 3.22200E02 1.63280E02 -5.01710E02 -1.01800E02 7.45560E02 -4.82580E02 -5.82250E02 1.43853E03 -1.25655E03 1.84200E02 6.00320E02 -6.92260E02 5.58830E02 -3.63920E02 -2.45870E02 7.26050E02 -3.61660E02 -4.32670E02 2.98520E02 7.22030E02 -1.29404E03 7.96750E02 -1.25560E02 2.17200E01 -6.23470E02 1.22696E03 -9.95540E02 -2.09840E02 1.02034E03 -4.23400E02 -3.83390E02 5.21000E00 7.38810E02 -5.71600E02 -2.80000E02 5.24870E02 -1.02870E02 -1.79300E01 -4.63350E02 6.19880E02 -1.67980E02 -2.63050E02 1.06180E02 3.09720E02 -3.16740E02 -3.94280E02 7.82140E02 -9.48000E01 -6.59770E02 3.13400E02 6.19360E02 -1.01080E03 2.19570E02 8.77770E02 -1.21150E03 5.66750E02 7.64500E01 8.79100E01 -5.92360E02 5.36880E02 -8.47000E00 -1.42680E02 -3.12910E02 3.67880E02 1.62370E02 -7.22650E02 1.10663E03 -1.18156E03 5.02590E02 4.74340E02 -8.60230E02 3.75730E02 2.01550E02 1.34790E02 -7.69160E02 4.76650E02 -1.34470E02 4.03630E02 -6.25010E02 1.93120E02 1.07360E02 4.41840E02 -7.66750E02 1.31000E02 4.07380E02 -1.01080E02 -2.31700E01 -8.73830E02 1.15801E03 -Frame 160 1.18590E02 -1.10308E03 1.44500E02 9.41510E02 -3.72720E02 -5.37240E02 1.08650E02 5.83400E02 6.92800E01 -1.14580E03 7.28610E02 3.28290E02 -3.86720E02 3.75200E01 -1.66160E02 3.40010E02 -4.44900E01 -1.37840E02 -1.57950E02 8.24600E01 3.96220E02 -9.86900E01 -7.85810E02 8.44550E02 -1.67470E02 -1.08630E02 -9.98700E01 9.62500E01 4.15340E02 -8.90090E02 4.88940E02 3.02150E02 -3.69700E02 -1.19980E02 2.25700E01 3.59500E02 -2.91490E02 -5.03400E01 4.31000E00 -6.73600E01 6.38810E02 -6.60780E02 -4.55940E02 9.11650E02 3.68670E02 -1.17044E03 7.39500E01 8.78740E02 -4.63410E02 -4.45630E02 5.85110E02 -9.38300E01 -1.90680E02 3.18650E02 -6.50570E02 6.65840E02 -1.40670E02 -3.86990E02 8.34300E01 5.01310E02 -2.52360E02 -4.27100E02 3.43150E02 2.07890E02 -1.50750E02 -4.60340E02 6.71920E02 -1.76440E02 -2.46870E02 1.03750E02 -1.15890E02 4.86780E02 -7.76370E02 5.34140E02 1.16670E02 -5.58200E01 -5.99590E02 5.34380E02 -1.70900E01 -4.76000E01 -2.37010E02 1.77940E02 1.16550E02 -4.19850E02 6.46550E02 -4.91680E02 -1.90650E02 3.49860E02 1.45750E02 -1.06810E02 -1.45080E02 -1.42400E02 -7.55100E01 1.23051E03 -1.33723E03 -3.24120E02 1.22361E03 2.04050E02 -1.42722E03 2.16400E02 1.18763E03 -6.10220E02 -3.07090E02 -3.32300E02 1.36701E03 -1.41341E03 8.89510E02 -4.35190E02 3.95500E01 -3.60700E01 5.60000E02 -8.43020E02 5.42360E02 -2.59930E02 6.62100E01 4.61370E02 -8.51680E02 1.58460E02 1.00168E03 -1.23596E03 2.35360E02 9.07950E02 -1.11551E03 5.90500E02 -1.75290E02 -1.58600E02 5.35750E02 -6.63930E02 4.65910E02 -5.17750E02 9.90650E02 -7.48230E02 -4.07180E02 1.17579E03 -3.52390E02 -1.00849E03 8.18060E02 3.71320E02 -4.87580E02 -2.42580E02 5.18220E02 -6.94000E00 -6.98330E02 6.99550E02 1.60000E01 -4.51700E02 -2.34400E01 5.60080E02 -1.88000E00 -8.75210E02 8.76270E02 -4.33910E02 2.76800E02 2.35230E02 -1.28084E03 1.03740E03 2.62350E02 -4.17910E02 -1.71810E02 -1.62940E02 -Frame 160 6.60350E02 -2.30520E02 -2.45720E02 -1.01600E01 -7.93100E01 6.59470E02 -7.00520E02 1.88090E02 -2.96000E02 3.58210E02 4.02310E02 -9.66600E02 5.88060E02 7.32400E01 -6.49570E02 6.87870E02 -6.16980E02 5.82390E02 2.53000E01 -8.33040E02 9.72850E02 -7.80330E02 4.30000E02 -1.63650E02 2.96490E02 -2.08420E02 -2.78750E02 2.59000E02 -8.87000E00 4.39800E01 -5.11580E02 6.36150E02 -5.20230E02 6.50110E02 -1.07297E03 9.06660E02 9.86500E01 -1.00744E03 6.54200E02 1.99600E02 -1.59250E02 -1.96050E02 3.43190E02 -3.38220E02 -3.31390E02 7.15950E02 -3.59000E02 5.91400E01 -6.28500E01 3.29440E02 -7.10450E02 3.72160E02 -6.63110E02 1.35621E03 -5.67300E02 -3.74760E02 -1.77920E02 1.01916E03 -1.40470E03 1.06279E03 -3.68420E02 1.52450E02 -2.69720E02 9.93000E01 1.06300E01 5.02000E01 1.37940E02 -5.78740E02 2.68950E02 -1.46410E02 4.30510E02 -2.61140E02 2.17060E02 -3.48160E02 -1.25540E02 -3.09300E01 2.24620E02 3.16850E02 -6.58370E02 5.74860E02 -4.37320E02 -4.34000E01 -2.52700E01 4.12430E02 -3.43730E02 2.15040E02 -5.69120E02 3.60990E02 1.50510E02 -2.60630E02 -2.94250E02 9.78350E02 -1.16762E03 5.52130E02 -2.47470E02 4.89420E02 -1.10370E02 -1.72610E02 -3.71620E02 -1.98450E02 8.26240E02 -9.31700E01 -2.95930E02 -2.10690E02 1.89370E02 4.78610E02 -6.70660E02 -9.58500E01 7.08100E01 1.35954E03 -1.15815E03 -9.51610E02 1.43519E03 -1.27560E02 -5.18520E02 -2.13090E02 -9.50300E01 8.96750E02 -3.51650E02 -3.83330E02 3.73600E01 3.87010E02 4.31000E01 -9.98490E02 1.22063E03 -2.40780E02 -3.87160E02 3.46290E02 -8.09100E01 -8.34250E02 8.23880E02 2.98500E02 -5.74410E02 -2.53780E02 7.16990E02 -4.74900E02 1.19790E02 -1.87250E02 1.16380E02 -1.84720E02 8.50030E02 -9.63020E02 2.72760E02 -1.60510E02 7.55960E02 -6.73940E02 -7.58430E02 9.84160E02 8.01700E02 -1.22215E03 -2.53440E02 5.06450E02 4.27350E02 -6.76000E01 -5.53790E02 2.18500E02 1.12460E02 1.21030E02 -3.65250E02 -1.19230E02 -Frame 160 5.90500E02 -1.83800E01 -7.30700E01 -9.50380E02 4.57060E02 1.22558E03 -3.94280E02 -1.05385E03 2.14170E02 3.70190E02 2.25680E02 -2.17510E02 2.80000E00 -1.03080E02 2.62860E02 -3.67130E02 -7.72600E01 3.95640E02 4.10790E02 -4.53970E02 -3.41040E02 2.33700E02 1.50990E02 1.56580E02 2.27200E02 -1.01620E03 4.89900E02 9.22110E02 -8.77170E02 -7.22600E01 4.94610E02 1.16550E02 -4.06300E02 -2.61930E02 3.94150E02 6.26150E02 -5.70250E02 -3.16100E02 2.82210E02 4.25760E02 -7.00640E02 2.26790E02 3.87690E02 -3.53790E02 3.17140E02 -7.28470E02 4.48270E02 1.82980E02 -1.42680E02 1.65730E02 -1.71470E02 -1.79300E01 5.93800E01 8.70300E01 6.94600E01 -2.66710E02 5.87980E02 -3.32440E02 -2.51000E02 4.26200E02 5.49950E02 -9.06970E02 -1.86080E02 5.29280E02 2.52270E02 -4.85300E01 -2.21570E02 -1.05740E02 1.20780E02 6.12000E01 -2.92700E01 1.92500E02 -2.42040E02 4.38220E02 -3.89880E02 -5.21000E00 4.33370E02 1.07120E02 -5.28300E02 3.51140E02 9.04600E01 2.86500E01 -2.12080E02 4.15960E02 -1.03950E02 -3.83820E02 2.88030E02 1.59400E02 -1.38340E02 2.41860E02 -1.53390E02 8.33000E01 1.00250E02 -4.22350E02 4.16300E02 -4.94900E01 2.86380E02 -3.38610E02 2.64410E02 -2.87150E02 1.25200E01 5.11460E02 -5.61630E02 5.27640E02 2.41120E02 -1.21946E03 7.41950E02 6.47330E02 -4.54800E02 -3.90560E02 2.65050E02 5.05700E02 -6.29660E02 4.20480E02 2.67200E01 1.39780E02 -3.07770E02 -1.06850E02 3.40400E02 2.37180E02 5.65700E01 -4.28650E02 -4.44500E01 2.21690E02 1.28700E01 2.76600E02 -4.97750E02 2.20440E02 3.75650E02 -2.80670E02 -2.54000E02 2.12750E02 1.72750E02 -4.76300E01 9.02400E01 -1.64690E02 2.58670E02 1.69000E01 -3.87340E02 2.12300E02 1.93000E01 8.33300E01 2.06280E02 -4.42140E02 3.53820E02 -3.97920E02 2.13480E02 5.40600E02 -5.43650E02 -7.90000E00 2.97440E02 -1.60040E02 3.32500E02 -2.57020E02 1.85490E02 -1.47470E02 3.58430E02 -2.28340E02 -3.01020E02 6.06350E02 -Frame 160 -3.87700E01 2.12200E01 -3.81930E02 3.29830E02 1.50310E02 -2.42880E02 -1.28980E02 1.57580E02 4.37870E02 -4.15600E01 -6.26750E02 1.79570E02 8.08670E02 -3.65510E02 -4.86300E01 -6.28880E02 5.82530E02 4.55870E02 -4.00110E02 -2.97160E02 3.75270E02 8.61600E01 -2.15950E02 -2.80180E02 2.17880E02 1.80150E02 5.04100E02 -4.07380E02 -5.22640E02 5.17040E02 4.94400E02 -5.64380E02 -2.43350E02 6.37850E02 5.17720E02 -5.21580E02 -6.11500E02 4.43390E02 3.75500E02 -4.58200E01 7.19000E01 -1.38780E02 6.21800E01 -2.86800E01 1.26700E02 -4.20210E02 6.68380E02 -4.97000E00 -7.21100E01 -2.50230E02 8.24000E01 1.19260E02 2.21170E02 -6.56950E02 4.22410E02 4.26770E02 -1.31110E02 -6.40090E02 6.31810E02 -1.85530E02 8.20500E01 -1.23150E02 2.42440E02 -1.15870E02 2.78700E01 -2.69500E01 2.41580E02 3.52100E01 -2.28550E02 1.53770E02 -1.18210E02 4.75300E01 2.84370E02 1.45290E02 -7.05200E02 4.15690E02 -8.61300E01 5.96300E01 1.50860E02 4.49790E02 -2.34430E02 -7.29560E02 1.13700E02 4.59940E02 2.83470E02 -3.22700E02 1.68710E02 1.95180E02 -6.08690E02 4.11700E01 1.53100E02 4.67360E02 1.88920E02 -7.85280E02 5.70150E02 -4.80020E02 1.63800E02 4.88390E02 3.58000E00 -4.75200E02 -2.66320E02 1.84280E02 5.34650E02 1.07370E02 -5.20000E00 -4.60220E02 -1.06860E02 -9.54600E01 4.38390E02 -1.56500E01 2.83300E02 3.01250E02 -8.94500E02 -3.27370E02 8.51610E02 1.52600E01 -2.98950E02 1.27420E02 2.41870E02 -1.67350E02 3.29500E01 -1.73570E02 2.87000E01 3.43210E02 -1.91860E02 -1.15280E02 1.62790E02 2.81320E02 -4.23730E02 1.29830E02 1.59400E02 -5.73250E02 5.64990E02 2.00910E02 -2.47600E02 -1.54730E02 2.88170E02 -3.84900E01 -2.50200E02 -8.72100E01 6.13910E02 -7.68500E01 -4.47880E02 2.35050E02 1.57890E02 -2.34790E02 2.82620E02 -9.12200E01 -3.93520E02 3.13210E02 5.80510E02 -4.79450E02 -1.92720E02 1.20070E02 -2.15570E02 -7.53800E01 1.78220E02 2.49500E02 1.24760E02 -3.79940E02 -Frame 160 -5.81880E02 5.61480E02 3.86700E01 -3.18340E02 7.57910E02 -1.99260E02 -3.75830E02 -2.37500E02 5.58330E02 -3.26750E02 3.68110E02 1.96120E02 -5.12360E02 -3.64260E02 4.12760E02 5.34200E01 2.65920E02 -1.99250E02 -2.38610E02 -9.09600E01 1.79340E02 2.60830E02 1.56000E01 8.57800E01 -2.32940E02 -4.27290E02 -8.62500E01 5.51410E02 2.69270E02 -5.18400E01 -3.43820E02 -4.54500E02 -2.49180E02 4.36710E02 4.03390E02 6.60000E-01 -5.12520E02 1.26910E02 -5.10100E01 -1.04390E02 -1.02330E02 4.68800E01 2.36650E02 1.49060E02 -2.87380E02 -3.34050E02 1.22140E02 2.75310E02 -8.00500E01 -1.72330E02 1.57690E02 -2.80240E02 2.48540E02 1.34300E01 -4.27970E02 4.73370E02 1.96130E02 -6.60870E02 -2.04760E02 4.57630E02 2.13060E02 -8.22800E01 -2.13680E02 -2.30950E02 3.41450E02 8.22200E01 -1.82110E02 7.45500E01 2.14070E02 -2.47300E02 -6.27100E01 -2.41360E02 1.20680E02 4.18790E02 -2.78280E02 -1.24650E02 2.15840E02 -4.78350E02 -2.39570E02 3.67800E02 1.97590E02 4.65920E02 -6.78890E02 -3.01470E02 3.50890E02 -1.60920E02 -1.96420E02 2.68150E02 2.01820E02 -1.12760E02 -3.36970E02 -1.36810E02 -1.32350E02 6.33500E01 6.17020E02 -3.81780E02 -3.85120E02 2.95780E02 -6.55600E01 -3.09030E02 2.99240E02 -9.98000E00 9.42300E01 -3.16440E02 -1.95300E01 2.71560E02 -5.06200E01 -5.57300E01 -7.49600E01 -1.47730E02 -2.38630E02 1.41860E02 2.86960E02 5.02600E01 -1.61820E02 -2.89320E02 -3.93510E02 1.51420E02 3.00030E02 2.03930E02 2.71650E02 -4.38800E02 -4.60820E02 -2.51110E02 4.35290E02 3.10480E02 1.52500E02 -1.45520E02 -3.14630E02 -1.09690E02 -9.03300E01 1.31690E02 3.20430E02 -2.09310E02 -9.02500E01 -3.14400E01 -1.94800E02 2.49950E02 1.45200E02 -2.14940E02 -3.79030E02 -1.20860E02 4.70380E02 8.44000E00 4.31900E01 1.32960E02 -3.63630E02 -3.11250E02 -8.29800E01 2.46400E02 1.87710E02 1.82010E02 9.19500E01 -2.25990E02 -4.74560E02 -3.27390E02 4.96610E02 4.85600E02 -3.12200E01 -2.49000E02 -Frame 160 -1.57290E02 -2.52610E02 1.35340E02 3.81400E01 2.54880E02 2.88070E02 -4.45990E02 -2.98340E02 1.31400E01 1.38220E02 2.77020E02 1.89840E02 -2.95220E02 -4.37010E02 -1.02790E02 3.94840E02 2.23470E02 -8.34200E01 -1.43730E02 -2.26780E02 -3.52200E02 1.31810E02 5.95640E02 2.22400E01 -1.57920E02 -3.33510E02 -3.85230E02 1.11790E02 3.17050E02 2.03340E02 1.25910E02 -1.98040E02 -5.13830E02 -1.27920E02 1.73020E02 1.07080E02 3.07980E02 3.77900E01 -3.00800E02 -1.93590E02 -3.06900E02 1.79550E02 2.81850E02 9.30300E01 4.12700E01 -2.08140E02 -4.05080E02 -8.17500E01 2.24630E02 7.72500E01 2.21220E02 3.74200E01 -3.86110E02 -2.88390E02 2.56000E01 9.72500E01 3.61000E02 5.85500E01 -2.86320E02 -3.36600E02 -1.15140E02 2.39250E02 2.33500E01 3.07300E01 -8.67100E01 -1.02720E02 -3.00150E02 3.65700E01 1.64640E02 2.04900E01 -7.21600E01 -2.20630E02 -2.27510E02 6.75800E01 1.17700E02 1.93230E02 5.18900E01 -4.23890E02 -2.16010E02 -5.53000E00 1.37430E02 8.86500E01 1.53250E02 -8.53200E01 -2.56210E02 -2.56170E02 -4.79200E01 1.34780E02 1.62970E02 6.98500E01 -1.02240E02 -2.63580E02 -1.94690E02 9.44800E01 1.45470E02 7.88700E01 6.71100E01 -2.23100E02 -1.36100E02 6.36900E01 1.12570E02 -7.61700E01 -2.67000E01 1.43000E01 -1.33470E02 4.42900E01 9.74800E01 1.17200E02 -1.03600E02 -1.11150E02 -1.15850E02 -6.76100E01 3.11600E01 8.29300E01 9.62000E01 1.00770E02 -6.56300E01 -1.86130E02 -3.08200E02 3.22000E00 1.84240E02 2.27660E02 -5.38100E01 -6.89500E01 -1.64510E02 -1.61890E02 3.99400E01 1.63950E02 1.16200E01 -5.14500E01 -1.62440E02 -1.73000E00 7.29300E01 -2.41900E01 3.36900E01 -1.76900E01 3.23400E01 -1.93130E02 -2.64100E01 2.05470E02 1.73310E02 -1.43020E02 -2.30010E02 -2.94900E01 2.52400E01 1.66200E01 6.77000E01 -3.37200E01 -4.62600E01 -6.16000E00 -6.88300E01 -1.51390E02 8.46200E01 1.85830E02 -4.30200E01 -1.24920E02 -3.12500E01 2.43300E01 -4.14100E01 3.38400E01 -Frame 160 7.13700E01 4.89800E01 5.08400E01 -1.29300E02 -6.59000E01 8.55100E01 5.75100E01 7.95800E01 -2.67500E01 -1.35000E00 9.18300E01 2.48000E01 -3.33000E00 3.06700E01 9.16900E01 -4.90000E-01 4.48000E00 1.66000E01 -7.69200E01 1.21740E02 1.42430E02 5.36300E01 -2.79600E01 7.29600E01 1.09400E01 -6.90000E01 -5.93400E01 2.03680E02 1.42650E02 4.06100E01 2.16390E02 8.44200E01 -3.19690E02 -5.89800E01 6.88600E01 9.60000E00 2.36510E02 2.67230E02 1.37670E02 -1.50000E01 -1.93350E02 6.99000E00 1.85540E02 4.94600E01 -5.98500E01 3.45400E01 1.15840E02 8.15700E01 1.19190E02 1.27890E02 1.03770E02 6.78400E01 -9.22300E01 -1.23130E02 2.16000E00 1.20350E02 1.89110E02 1.09850E02 6.07000E00 8.11100E01 -2.85700E01 -4.35800E01 5.70200E01 1.07710E02 -4.11000E01 5.56000E00 -4.31000E00 3.95500E01 1.25760E02 7.55500E01 7.07500E01 -6.22300E01 -1.02230E02 6.66600E01 6.27400E01 5.86700E01 2.00450E02 1.07460E02 -5.24700E01 -6.12600E01 2.07700E01 -6.50000E-01 1.74300E02 7.45300E01 4.56400E01 5.85000E00 3.68600E01 2.00830E02 1.24720E02 -7.82000E00 9.55900E01 3.15000E00 9.89000E00 9.98700E01 1.67580E02 2.22270E02 1.11490E02 8.12300E01 2.01000E00 3.90000E-01 9.97700E01 2.15180E02 1.67010E02 5.72500E01 4.81000E01 1.47680E02 7.22600E01 4.75000E01 1.49990E02 1.01570E02 1.25620E02 -4.26400E01 -3.70000E01 1.17910E02 5.65600E01 1.73320E02 1.11590E02 5.49100E01 -5.51000E00 2.32700E01 2.19800E01 3.46900E01 4.38200E01 1.30250E02 8.42900E01 -6.11000E00 2.37600E01 8.95900E01 8.04300E01 2.79700E01 7.19200E01 -1.07800E01 -3.99700E01 9.40300E01 1.15140E02 7.58500E01 8.13300E01 6.49600E01 7.20800E01 1.74100E01 -3.91000E00 6.11700E01 1.06260E02 6.97000E01 2.20000E01 5.78600E01 1.00830E02 1.20900E01 8.06500E01 4.63100E01 -2.00800E01 2.15500E01 5.65000E01 5.53000E00 3.50300E01 9.04600E01 1.13570E02 -9.86600E01 -3.53100E01 -3.29200E01 -Frame 160 4.06200E01 1.24400E01 1.42000E00 1.00000E-01 -6.32200E01 1.46000E01 -1.50000E-01 6.80000E-01 -6.84300E01 -3.15800E01 -7.45300E01 -1.14710E02 -9.90000E01 7.23100E01 9.08700E01 4.69400E01 -6.73700E01 -5.11300E01 -1.68320E02 -1.83960E02 -2.17900E02 -6.96800E01 -3.48100E01 3.31170E02 3.40160E02 3.96120E02 2.48460E02 -2.80970E02 -1.13480E02 -2.44680E02 1.71310E02 4.15020E02 4.78900E02 2.94340E02 1.54840E02 -6.60700E01 -3.87000E01 1.88600E02 2.19800E02 2.84810E02 1.51620E02 -1.43770E02 -6.01000E01 -4.97300E01 2.10060E02 3.40740E02 2.67200E02 2.22000E01 -1.08330E02 -3.15730E02 -2.37190E02 5.10500E01 9.92000E01 1.87790E02 5.19900E01 -6.30100E01 -1.70460E02 -1.34030E02 -8.43100E01 7.06000E00 6.28000E00 -7.45000E01 -3.06800E01 -7.84500E01 -2.56000E01 8.79300E01 2.19100E01 8.18500E01 -4.24100E01 5.50000E-01 -3.41400E01 4.41500E01 7.08400E01 2.11310E02 1.36950E02 8.21900E01 4.16900E01 6.99300E01 8.80100E01 9.16000E01 7.82500E01 8.84500E01 1.63920E02 8.86100E01 1.14930E02 8.70000E01 6.21700E01 8.45600E01 2.86100E01 7.95000E00 4.16900E01 6.84800E01 1.04080E02 1.97300E01 2.80000E00 -1.76100E01 7.14100E01 -4.48400E01 3.84000E01 -1.37800E01 5.74800E01 2.59300E01 -5.65800E01 -7.25500E01 4.70900E01 6.14200E01 9.11700E01 2.37900E01 -5.96600E01 -3.26000E01 -1.96400E01 9.77000E00 4.41100E01 1.03500E02 1.02660E02 4.77300E01 -1.99100E01 4.10000E-01 6.33900E01 5.02900E01 7.97700E01 6.11200E01 2.87000E00 5.98500E01 1.85700E01 5.00300E01 -1.45500E01 7.19200E01 6.50300E01 -1.81000E01 -4.67500E01 -1.82100E01 -7.40000E-01 1.30000E00 -2.75700E01 -2.82800E01 -2.09600E01 1.36300E01 -5.77000E01 -3.31600E01 -2.38100E01 -9.21300E01 -4.64600E01 -7.83200E01 -7.80800E01 6.25000E00 -1.25810E02 -1.88300E01 -1.31520E02 -1.01570E02 -4.76000E01 -1.27920E02 -6.66100E01 -1.14350E02 -7.54700E01 -1.63330E02 -6.47700E01 -1.03120E02 -1.55580E02 -1.57540E02 -Frame 160 -1.93440E02 1.38700E02 3.99950E02 5.49880E02 2.82920E02 -1.81560E02 -3.13230E02 -2.01680E02 2.28500E02 4.01760E02 4.25000E02 2.43570E02 1.05320E02 7.72000E00 8.91200E01 1.35980E02 1.64190E02 2.32150E02 -5.29700E01 -1.97820E02 -1.96930E02 7.02000E01 3.21550E02 2.80400E02 8.77500E01 -1.53900E02 -2.50840E02 -2.68510E02 -1.87450E02 -1.04690E02 1.07400E01 1.87400E01 -9.80200E01 -1.86290E02 -1.52110E02 -7.30000E-01 -4.67000E00 -1.27730E02 -2.80480E02 -2.16700E02 -1.01760E02 -5.71900E01 6.47900E01 6.54600E01 9.60700E01 1.35200E01 -1.10610E02 -4.44900E01 -5.30000E00 1.12090E02 1.01990E02 4.70000E-01 1.98000E01 9.87000E01 1.40940E02 1.70350E02 1.09510E02 9.36900E01 4.63000E01 -1.65900E01 -2.54000E01 1.95500E01 9.78800E01 1.26550E02 7.10000E01 -2.13200E01 -5.14600E01 4.85300E01 4.05800E01 -8.16400E01 -3.45500E01 -1.01960E02 -4.03500E01 -7.17900E01 5.87000E00 -2.30700E01 1.91200E01 -1.64000E01 -8.90000E01 -1.39760E02 -5.89600E01 2.73900E01 -4.56200E01 -1.38500E01 2.89100E01 1.29600E01 3.85000E01 -3.12100E01 3.99500E01 -5.73000E00 3.18000E00 -3.26400E01 3.94600E01 3.27500E01 8.58000E01 9.14100E01 -1.88900E01 9.42000E00 2.36000E01 4.92000E01 3.55500E01 -4.55000E00 -8.80000E-01 4.91000E00 2.88000E00 -1.32100E01 1.62200E01 3.55000E00 -4.51000E00 -5.98100E01 -1.22760E02 -8.35400E01 -5.40300E01 -1.65600E01 -6.59200E01 -8.07500E01 -6.89700E01 -5.97700E01 -1.03240E02 -8.69700E01 -7.61300E01 -5.79000E01 -1.07070E02 -6.66800E01 -8.20000E01 -9.87400E01 -6.19300E01 -8.99500E01 -9.57800E01 -1.27730E02 -1.10580E02 -7.28300E01 -1.58880E02 -1.01480E02 -1.66250E02 -9.29100E01 -1.21260E02 -1.52420E02 -1.13450E02 -1.37220E02 -9.36500E01 9.73000E01 3.48010E02 4.24100E02 3.30110E02 -5.51200E01 -1.27230E02 -1.92470E02 9.84300E01 2.49210E02 2.74400E02 2.13100E02 1.38700E02 1.73870E02 1.13970E02 7.81200E01 4.11000E01 5.89100E01 -7.37700E01 -1.24470E02 -Frame 160 -1.87610E02 -4.65200E01 1.02980E02 6.30100E01 5.87500E01 -7.96900E01 -8.53300E01 -1.95060E02 -2.38000E02 -3.06050E02 -2.28930E02 -1.46230E02 -8.08600E01 -8.64200E01 -6.11000E01 -5.59700E01 -9.26600E01 -1.81430E02 -1.74810E02 -1.36860E02 -7.66500E01 -7.85500E01 -9.54800E01 -9.68900E01 -5.30000E00 8.00800E01 1.04980E02 1.39510E02 9.39400E01 3.28400E01 -4.02100E01 -6.45100E01 -3.05300E01 9.45000E01 1.41280E02 1.54350E02 5.26600E01 3.97600E01 4.04100E01 7.80300E01 1.87300E01 1.95700E01 -5.35900E01 -6.09700E01 -5.95300E01 -9.70000E01 -4.85500E01 5.43000E00 4.06000E00 -4.63700E01 -8.93300E01 -1.20550E02 -9.76400E01 -1.28950E02 -1.80130E02 -1.02750E02 -8.19100E01 -1.23800E01 -6.97200E01 -6.38000E01 -3.56700E01 -4.66700E01 -3.60000E01 -5.00000E01 -3.54200E01 -7.83900E01 9.35000E00 -4.24000E00 1.87200E01 -1.26600E01 7.59700E01 1.14240E02 6.05600E01 1.51400E01 1.12800E01 -2.07300E01 -3.47300E01 -3.31500E01 4.34900E01 2.14400E01 5.76700E01 -2.20500E01 2.17700E01 -2.50900E01 -3.03900E01 -2.28400E01 -5.00500E01 -1.26070E02 -9.43400E01 -9.85600E01 -7.38400E01 -6.03100E01 -6.23300E01 -1.53800E01 -8.89900E01 -1.18820E02 -1.24490E02 -1.07250E02 -1.22410E02 -1.30960E02 -1.17690E02 -9.19400E01 -9.43500E01 -3.97900E01 -8.45500E01 -9.66600E01 -6.21000E01 -7.34600E01 -8.21500E01 -1.48080E02 -7.89600E01 -1.36680E02 -1.09110E02 -1.34640E02 -8.08900E01 -8.64600E01 -1.27180E02 -1.30100E02 -1.46050E02 -1.83420E02 -1.94840E02 -1.17500E02 -1.36730E02 -1.25500E02 -8.88800E01 2.88800E01 2.17180E02 3.51030E02 3.82630E02 8.58000E01 -6.33000E00 -1.42340E02 1.65400E01 7.92800E01 1.00850E02 1.53960E02 1.32540E02 1.81310E02 1.21400E02 1.50510E02 3.03700E01 9.34800E01 -2.75500E01 -7.83000E01 -1.49550E02 -1.80870E02 -1.17000E02 -5.90600E01 -1.32900E01 -1.51100E01 1.00000E-02 -4.24200E01 -1.26140E02 -2.13350E02 -2.30080E02 -2.11140E02 -1.79450E02 -1.80650E02 -1.61760E02 -1.65180E02 -Frame 160 -7.46000E01 -5.22000E01 -2.21100E01 4.98800E01 -2.50000E01 -3.82200E01 -1.17860E02 -1.57900E02 -1.06080E02 2.93900E01 4.69700E01 9.30000E01 1.18320E02 1.12270E02 1.22890E02 1.22690E02 9.83400E01 8.41200E01 4.73600E01 -1.16000E01 -1.43900E01 -7.27000E00 1.30600E01 9.99900E01 8.15000E01 9.33500E01 4.84700E01 2.41500E01 -1.39500E01 -8.22200E01 -8.25300E01 -1.00780E02 -8.15100E01 -8.65800E01 -1.07740E02 -8.24700E01 -5.03600E01 -4.42300E01 -4.88900E01 -6.86700E01 -6.50200E01 -2.42200E01 -1.15160E02 -8.88300E01 -8.96300E01 -6.04000E01 -3.02400E01 -3.15000E00 3.27500E01 -2.30000E00 4.95400E01 3.99100E01 5.69200E01 8.03800E01 4.44700E01 4.73900E01 -2.16600E01 5.41600E01 1.02600E01 2.29800E01 6.10600E01 8.02500E01 1.11950E02 9.35200E01 8.44300E01 5.89800E01 5.69000E00 -2.62500E01 -2.81500E01 -3.60800E01 -4.82200E01 -6.96900E01 -3.67600E01 -2.47800E01 -2.34100E01 -2.09800E01 -8.46000E00 -3.05500E01 -8.13000E01 -8.45500E01 -1.12830E02 -8.78900E01 -8.61100E01 -9.92100E01 -6.46400E01 -4.89600E01 -3.87700E01 -2.62500E01 -2.53400E01 -2.24000E01 -4.23700E01 -4.79400E01 -5.76600E01 -1.06650E02 -5.80800E01 -9.99800E01 -4.61100E01 -4.55600E01 -1.49800E01 -3.84700E01 -5.36800E01 -3.13400E01 -9.83100E01 -9.72900E01 -1.13180E02 -1.46490E02 -1.64730E02 -1.61420E02 -1.61900E02 -1.38290E02 -1.27870E02 -7.50600E01 -3.06000E01 1.02100E01 7.22200E01 1.60030E02 2.58360E02 3.41450E02 1.41760E02 6.67400E01 -1.56800E01 1.11350E02 8.61900E01 7.31600E01 1.06650E02 8.80700E01 1.57830E02 8.96000E01 1.78180E02 4.63400E01 1.17390E02 9.65400E01 2.99700E01 -6.76700E01 -1.45250E02 -1.13080E02 -1.15800E02 -1.10490E02 -1.05910E02 -1.40900E01 -7.94200E01 -7.17000E01 -1.07680E02 -1.05680E02 -9.25300E01 -1.00900E02 -1.30450E02 -1.73810E02 -2.11370E02 -1.63920E02 -1.17880E02 -8.13400E01 -3.76300E01 2.43000E00 4.16900E01 3.30900E01 1.91600E01 3.17500E01 5.86700E01 1.83400E01 -Frame 160 2.97200E01 3.64000E01 4.82300E01 5.43600E01 4.76100E01 9.95900E01 1.20070E02 1.34060E02 1.15350E02 1.17950E02 6.05200E01 4.42600E01 4.44600E01 1.36300E01 1.28400E01 -1.69800E01 -2.07000E01 -2.05100E01 -4.12900E01 -2.76700E01 -6.60000E00 -1.48700E01 -2.13800E01 -7.20700E01 -7.72600E01 -7.95400E01 -1.21820E02 -9.43000E01 -1.06850E02 -1.17700E02 -8.87900E01 -6.59200E01 -8.73000E01 -2.12800E01 6.97800E01 -3.43000E00 -3.92000E00 1.85600E01 8.70000E00 1.75100E01 1.56000E00 2.11000E01 5.42100E01 3.92800E01 6.88400E01 8.92400E01 2.31800E01 8.40500E01 9.57200E01 1.12660E02 4.40200E01 4.62200E01 4.64500E01 2.96500E01 1.23100E01 3.74300E01 6.33000E01 3.49200E01 -1.83600E01 -8.26000E00 1.51700E01 -5.68000E00 8.40000E-01 -1.54300E01 -5.31800E01 -9.10400E01 -6.69800E01 -5.91100E01 -9.79400E01 -7.38800E01 -6.20100E01 -4.27200E01 -8.08000E01 -7.89900E01 -2.00600E01 -3.00000E-01 -5.79400E01 -4.93200E01 -4.40000E00 -3.11000E01 -6.06100E01 -3.19900E01 -2.94700E01 -2.58600E01 -4.01300E01 -3.48200E01 -2.63300E01 -5.65700E01 2.29000E00 -1.90500E01 -1.90500E01 -4.20500E01 -5.77400E01 -6.58800E01 -1.17230E02 -9.30800E01 -1.15120E02 -1.30760E02 -1.17790E02 -1.40340E02 -1.27490E02 -1.79160E02 -8.93000E01 -8.16200E01 -6.66700E01 -4.02400E01 -3.10000E01 1.17510E02 2.14460E02 2.71170E02 2.04350E02 2.20250E02 1.21420E02 1.34410E02 1.19670E02 1.06360E02 9.95400E01 5.34200E01 6.78300E01 3.06300E01 6.72600E01 1.99700E01 1.29210E02 1.44720E02 1.23590E02 7.07100E01 -2.85000E00 -5.56600E01 -5.50300E01 -3.53100E01 -7.69300E01 -1.30750E02 -1.69100E02 -1.45470E02 -1.62970E02 -1.32860E02 -8.37000E01 -6.39500E01 -6.95400E01 -5.72500E01 -1.03540E02 -8.41800E01 -6.91600E01 -5.06300E01 -6.25000E01 -7.77000E01 -4.93200E01 -7.10400E01 -4.93900E01 -3.20500E01 3.68300E01 6.97800E01 1.07660E02 1.15590E02 1.21640E02 1.13750E02 1.40500E02 1.18940E02 9.46000E01 1.16420E02 -Frame 160 5.98100E01 5.04000E01 2.06600E01 3.89900E01 3.48600E01 5.35800E01 5.98400E01 6.52500E01 4.77800E01 4.97400E01 2.87300E01 8.06000E00 -4.24000E00 -3.79000E01 -5.45500E01 -7.26500E01 -1.14230E02 -1.21980E02 -9.28500E01 -8.97300E01 -7.24300E01 -7.75300E01 -5.87200E01 -6.72800E01 -2.60500E01 -3.25300E01 -1.81900E01 2.36000E01 9.65000E00 3.62500E01 -3.23700E01 8.91000E00 3.14500E01 2.36500E01 6.25800E01 4.06500E01 6.90000E01 7.31600E01 1.04380E02 7.54700E01 1.10600E02 1.01720E02 1.16480E02 8.16000E01 6.05800E01 5.58700E01 4.29800E01 4.66700E01 2.64500E01 5.16000E01 -6.50000E00 3.36300E01 -9.01000E00 1.40600E01 1.48500E01 1.06700E01 -1.63000E00 -3.02900E01 -5.97900E01 -6.21300E01 -4.44700E01 -6.32100E01 -7.94600E01 -5.61300E01 -6.30200E01 -6.40600E01 -5.70700E01 -3.28100E01 -2.77000E00 -1.68000E01 7.50000E-01 -8.16000E00 5.66000E00 -1.51000E01 -1.84900E01 7.03000E00 -1.96700E01 -2.51800E01 -2.28400E01 -3.84100E01 -6.04300E01 -1.60800E01 -2.43500E01 -8.86000E00 -9.89000E00 -7.95000E00 -2.09500E01 -2.63400E01 -3.78800E01 -4.47500E01 -7.68000E01 -9.87800E01 -1.00360E02 -1.31910E02 -1.35330E02 -1.29750E02 -1.33900E02 -1.08080E02 -1.10390E02 -9.97000E01 -7.56200E01 -2.76000E00 6.73200E01 1.17470E02 2.65030E02 2.23880E02 1.90230E02 2.02350E02 1.89650E02 2.01380E02 1.41290E02 1.19220E02 7.83700E01 2.72000E01 1.04400E01 -6.83000E00 -1.61000E00 3.47900E01 8.13000E01 5.71900E01 7.13000E01 5.78000E01 2.18500E01 8.17900E01 5.85300E01 4.52000E00 -4.11400E01 -1.05150E02 -1.15020E02 -1.52070E02 -1.78110E02 -1.63780E02 -1.53850E02 -1.47470E02 -1.30760E02 -1.25420E02 -9.68100E01 -4.22400E01 -2.96000E00 9.52000E00 2.03600E01 5.00000E-01 2.20100E01 8.15000E00 -1.21600E01 1.39000E01 3.07400E01 -3.94000E00 3.00000E-01 1.66600E01 4.65000E01 5.92100E01 1.02250E02 1.02520E02 1.34700E02 1.45750E02 1.31010E02 1.28700E02 1.11210E02 9.20900E01 -Frame 160 6.43100E01 4.56300E01 4.35000E00 -4.19000E00 -9.97000E00 -2.99000E01 -5.74000E01 -5.66800E01 -3.18700E01 -5.22500E01 -3.32000E01 -3.55200E01 -3.18700E01 -2.90700E01 -2.71500E01 -3.61400E01 -4.03700E01 -5.16900E01 -5.83100E01 -8.00800E01 -7.64500E01 -6.06400E01 -9.02900E01 -2.37800E01 -9.20000E00 -2.51700E01 1.63800E01 5.61900E01 7.11700E01 6.15400E01 6.95500E01 1.03740E02 9.48900E01 9.06800E01 1.02260E02 8.61100E01 6.63900E01 6.00100E01 5.63900E01 3.76200E01 3.42500E01 4.07600E01 4.14500E01 5.91400E01 4.83400E01 5.21800E01 4.51100E01 4.78000E01 4.05500E01 5.06000E00 1.24900E01 -3.84000E00 -3.66500E01 -7.34200E01 -5.02400E01 -8.02800E01 -7.91600E01 -7.69200E01 -6.75300E01 -8.57800E01 -6.55100E01 -3.65500E01 -2.46600E01 -2.13800E01 -1.59800E01 3.60000E00 -1.22200E01 1.24800E01 1.19300E01 -6.50000E-01 3.38000E00 -2.34700E01 -2.41300E01 -1.67900E01 -1.02100E01 -1.84200E01 -7.87000E00 -1.69900E01 -3.13800E01 -1.19000E00 1.93000E00 3.31400E01 2.28000E00 2.46000E00 6.64000E00 -3.20600E01 -2.39300E01 -5.45300E01 -6.00300E01 -7.46500E01 -1.10660E02 -1.17690E02 -1.20840E02 -1.24990E02 -1.34170E02 -1.15530E02 -1.01230E02 -1.13420E02 -9.39100E01 -5.17400E01 9.75000E00 1.07100E02 1.64330E02 1.87150E02 1.86480E02 1.77600E02 2.00270E02 2.21450E02 1.98080E02 1.58810E02 1.31190E02 9.56100E01 3.28600E01 1.11600E01 4.80000E00 -7.74000E00 1.83600E01 2.70000E-01 -8.36000E00 -2.02300E01 1.05700E01 5.93300E01 6.15600E01 6.18200E01 3.20500E01 2.33500E01 2.38000E00 -2.52200E01 -3.46300E01 -5.92800E01 -9.86200E01 -1.31070E02 -1.64390E02 -1.68580E02 -1.47740E02 -1.27120E02 -1.09750E02 -8.17500E01 -4.48200E01 -3.57200E01 1.36800E01 4.55800E01 5.54100E01 7.54800E01 1.00090E02 9.13600E01 6.32700E01 5.92500E01 6.40500E01 5.79400E01 3.15900E01 1.54000E01 2.87000E01 2.13900E01 1.08400E01 4.49600E01 6.11000E01 5.26900E01 7.19800E01 6.08100E01 -Frame 160 8.42500E01 8.63500E01 9.14500E01 7.76400E01 5.13500E01 2.62200E01 1.31000E00 -3.35000E00 -3.11300E01 -5.27200E01 -5.39100E01 -6.30700E01 -8.14400E01 -9.42900E01 -7.54400E01 -6.39300E01 -5.90000E01 -2.68600E01 -1.97000E01 -1.93000E01 9.13000E00 -5.70000E-01 2.44300E01 4.21800E01 4.94400E01 2.28800E01 2.64800E01 2.31700E01 2.47400E01 1.83400E01 1.17300E01 2.89100E01 3.66000E01 4.15000E01 4.65200E01 5.46600E01 5.90100E01 7.74500E01 8.64000E01 6.55600E01 9.60300E01 6.43700E01 8.26900E01 6.65200E01 4.58100E01 3.54400E01 1.74000E00 -5.98000E00 -2.79100E01 -3.34700E01 -4.41500E01 -5.41000E01 -5.72900E01 -6.65100E01 -5.99400E01 -4.31000E01 -2.66900E01 -2.97400E01 -1.18500E01 -1.13900E01 -1.79000E01 -7.59000E00 -2.95000E00 -6.16000E00 -2.04600E01 -2.31800E01 -2.89600E01 -3.68900E01 -4.40300E01 -3.73500E01 -7.43000E00 -3.15800E01 -3.14500E01 -1.52900E01 1.63800E01 1.00000E-02 5.13000E00 1.40000E00 -2.45000E00 1.58000E00 -1.32700E01 -1.45700E01 -1.39000E01 -2.92000E01 -3.49500E01 -5.58500E01 -6.53500E01 -7.40900E01 -7.10400E01 -8.18400E01 -8.99100E01 -8.21600E01 -9.31100E01 -1.13330E02 -1.04090E02 -1.02490E02 -8.47700E01 -9.44500E01 -6.73700E01 -7.84200E01 -4.97700E01 4.37800E01 1.14150E02 1.11560E02 1.01760E02 1.26540E02 1.73950E02 2.07650E02 1.98190E02 1.81250E02 1.78620E02 1.27750E02 1.00200E02 7.37200E01 4.33700E01 5.70600E01 2.81400E01 -6.68000E00 -1.65500E01 -5.36900E01 -5.19100E01 -6.01000E00 1.43300E01 -7.00000E-01 -3.18000E00 2.12800E01 1.44900E01 1.64900E01 8.55000E00 7.37000E00 9.16000E00 -5.69900E01 -8.51200E01 -9.30300E01 -9.70900E01 -9.41800E01 -9.20900E01 -1.12850E02 -1.19150E02 -9.85400E01 -9.32100E01 -5.66400E01 -1.99000E01 6.98000E00 4.06700E01 3.03500E01 6.36700E01 8.09500E01 1.21680E02 1.18550E02 8.92100E01 8.28800E01 6.32800E01 6.20200E01 4.96700E01 3.99000E01 2.68000E01 2.02800E01 1.55000E00 -3.75000E00 -Frame 160 1.58000E01 1.39500E01 2.70400E01 4.15200E01 3.44200E01 4.50800E01 4.80400E01 3.60600E01 5.46900E01 3.18600E01 1.53100E01 -7.50000E-01 -1.72900E01 -4.83100E01 -4.62300E01 -6.40300E01 -6.93100E01 -7.96800E01 -8.32900E01 -8.19300E01 -6.64500E01 -5.84300E01 -4.51100E01 -7.34000E00 -1.14000E01 1.42000E00 3.26300E01 4.67700E01 6.23000E01 8.22500E01 4.87400E01 5.61500E01 7.97400E01 4.89900E01 6.82500E01 6.40500E01 4.76700E01 4.57500E01 3.37400E01 4.13400E01 2.91500E01 4.55700E01 4.24700E01 4.62500E01 3.41200E01 1.66000E01 3.55400E01 6.50500E01 4.34300E01 2.91200E01 1.53600E01 1.01800E01 -2.71500E01 -2.25900E01 -1.58500E01 -3.38700E01 -5.04000E01 -8.23800E01 -5.72600E01 -4.53000E01 -5.39200E01 -4.57500E01 -2.02800E01 -3.20000E01 -1.30500E01 -2.50000E00 7.38000E00 6.56000E00 -6.29000E00 -2.53000E00 7.35000E00 1.53000E00 -9.47000E00 -2.80000E00 -5.92000E00 -1.91300E01 -3.57300E01 -2.18100E01 -1.64400E01 -2.88900E01 -1.67000E01 -2.01200E01 -4.06300E01 -1.97400E01 -1.71900E01 -3.55500E01 -6.45000E00 -3.24500E01 -5.12300E01 -3.15500E01 -6.22400E01 -5.48300E01 -4.71500E01 -8.12000E01 -7.42400E01 -8.80100E01 -1.05140E02 -9.67200E01 -9.09700E01 -1.05980E02 -1.10380E02 -8.68400E01 -1.07520E02 -1.14770E02 -8.71700E01 -5.67000E00 4.93200E01 1.24930E02 1.29730E02 1.12530E02 1.57670E02 1.98040E02 2.51460E02 2.44290E02 2.17670E02 1.73030E02 1.28860E02 1.30220E02 9.35200E01 5.36200E01 2.74600E01 1.04900E01 -5.29900E01 -7.03600E01 -6.41800E01 -5.97300E01 -2.10700E01 -8.18000E00 -1.08700E01 -1.06200E01 1.46600E01 4.27200E01 4.46200E01 3.45500E01 1.21500E01 -1.49400E01 -4.48400E01 -6.96100E01 -9.40700E01 -9.51900E01 -1.23250E02 -1.36060E02 -1.61140E02 -1.47850E02 -1.20020E02 -6.82300E01 -4.57900E01 -1.56300E01 6.46000E00 3.42100E01 6.87700E01 1.15320E02 1.20190E02 1.22090E02 1.37930E02 1.34130E02 1.18090E02 1.03450E02 8.62700E01 5.34900E01 -Frame 160 3.26600E01 4.17000E00 -2.01900E01 -1.52700E01 -3.17000E00 -6.80000E-01 -2.10000E00 -1.55500E01 2.36100E01 2.39700E01 2.33300E01 4.16600E01 4.45300E01 3.24600E01 3.00000E01 4.45000E00 -2.68800E01 -1.71400E01 -2.70700E01 -6.92700E01 -8.37000E01 -1.10490E02 -1.03000E02 -9.91800E01 -9.11500E01 -7.57900E01 -7.48900E01 -3.49000E01 -2.26500E01 -1.00100E01 2.40200E01 4.40700E01 5.46900E01 8.05800E01 9.31900E01 8.51000E01 9.06800E01 1.34350E02 9.82500E01 4.49500E01 7.49700E01 6.68600E01 7.94500E01 2.13700E01 2.84900E01 4.98200E01 7.78000E00 3.04500E01 3.78100E01 8.38000E00 1.80500E01 1.80200E01 1.99000E00 -1.52000E00 -2.12000E00 -1.87200E01 -1.08000E01 -3.16100E01 -6.50200E01 -5.93900E01 -6.45200E01 -5.67400E01 -6.36600E01 -8.27300E01 -4.23100E01 -3.26000E01 -5.25600E01 -3.60900E01 -2.08000E00 1.98000E00 6.16000E00 1.14600E01 1.59100E01 6.48000E00 1.47500E01 2.42600E01 1.60400E01 -5.45000E00 -2.56000E01 -4.35000E00 -1.44400E01 -3.88300E01 -1.99400E01 -3.24500E01 -3.63200E01 -3.62800E01 -3.32100E01 -3.80200E01 -3.79500E01 -4.18500E01 -3.68400E01 -4.06500E01 -5.65500E01 -5.19000E01 -8.90700E01 -7.73200E01 -1.07150E02 -1.03820E02 -8.63100E01 -9.12000E01 -1.14180E02 -1.09790E02 -1.23190E02 -1.16920E02 -1.09380E02 -1.02540E02 -1.12430E02 -8.75600E01 -1.23880E02 -1.05250E02 -2.29900E01 7.57900E01 1.75510E02 2.00110E02 1.63250E02 2.26070E02 2.44600E02 3.18460E02 3.15300E02 2.39750E02 1.98650E02 1.51110E02 9.49800E01 6.90500E01 1.82800E01 -5.70500E01 -6.76300E01 -1.00450E02 -1.62170E02 -1.53630E02 -1.03670E02 -7.70600E01 -5.45500E01 -8.42900E01 -6.68700E01 7.15000E00 1.74500E01 5.90500E01 4.18800E01 -1.08600E01 -2.20000E-01 -2.02500E01 -5.38800E01 -7.75000E01 -8.97800E01 -9.73600E01 -1.10090E02 -1.40120E02 -1.23960E02 -6.22000E01 -1.74900E01 1.46000E01 2.66500E01 5.10300E01 1.20100E02 1.70180E02 1.74640E02 1.86070E02 1.80680E02 1.67960E02 -Frame 160 1.67700E02 1.13290E02 7.51100E01 5.57000E01 1.06600E01 -3.07600E01 -8.94100E01 -1.02770E02 -7.84300E01 -7.22500E01 -9.58000E01 -8.19800E01 -6.56500E01 -3.87500E01 2.00000E-02 6.99000E00 4.17000E00 2.82600E01 2.90700E01 -2.12000E00 7.30000E-01 -2.43300E01 -2.41400E01 -3.19200E01 -8.59100E01 -7.64900E01 -5.97100E01 -5.73600E01 -3.98900E01 -3.38500E01 -2.06000E01 2.70700E01 4.71800E01 7.68600E01 9.23800E01 1.14290E02 1.23770E02 1.08430E02 1.09520E02 1.41550E02 1.60450E02 9.78000E01 6.31400E01 3.73700E01 3.97900E01 4.22700E01 -1.91900E01 -2.55100E01 -3.89800E01 -4.68100E01 -3.98200E01 -3.95600E01 -2.12400E01 -4.13200E01 -2.97000E00 -1.94200E01 -8.35000E00 -1.92000E00 -2.80000E-01 4.14200E01 1.83800E01 -3.43800E01 -1.67300E01 1.24900E01 2.16100E01 5.00000E00 -1.71200E01 -5.90000E00 1.06800E01 2.77000E00 5.62000E00 1.85600E01 1.48900E01 2.01000E01 1.84600E01 -2.24000E00 2.34300E01 2.38800E01 1.53300E01 -1.44900E01 -1.72100E01 -3.49900E01 -2.22800E01 -2.31500E01 -3.90200E01 -5.43400E01 -5.80800E01 -5.58800E01 -5.55600E01 -6.01800E01 -5.98900E01 -4.45400E01 -5.86800E01 -7.62100E01 -4.82200E01 -7.03300E01 -6.40700E01 -6.35700E01 -8.40100E01 -1.01020E02 -7.94800E01 -7.42200E01 -8.97500E01 -1.06700E02 -1.11100E02 -1.09560E02 -1.15900E02 -1.04360E02 -1.01400E02 -1.37290E02 -1.45200E02 -1.26260E02 -9.76600E01 -8.91300E01 6.67000E01 2.30240E02 2.98580E02 2.70720E02 2.45720E02 2.93700E02 3.86880E02 4.49580E02 2.86810E02 1.98760E02 1.13830E02 3.62000E01 4.21700E01 -5.66800E01 -1.90500E02 -2.31250E02 -2.46020E02 -2.75000E02 -2.46610E02 -2.20110E02 -1.52590E02 -6.08500E01 -7.32300E01 -8.69400E01 2.19900E01 9.32500E01 1.48610E02 1.06530E02 -1.59600E01 -6.23000E00 1.58000E01 -1.15100E01 -5.76600E01 -1.19190E02 -1.48520E02 -1.10630E02 -5.44800E01 -5.05600E01 -4.49000E00 5.19900E01 1.22150E02 1.76350E02 1.82050E02 2.20750E02 2.83440E02 2.59810E02 -Frame 160 1.87220E02 1.35230E02 7.65300E01 4.69700E01 2.34800E01 -9.47300E01 -1.75480E02 -2.05540E02 -2.18320E02 -1.87280E02 -1.89100E02 -1.80800E02 -1.33080E02 -8.07700E01 -2.87800E01 5.83000E00 2.14900E01 7.66000E01 8.93300E01 5.93600E01 2.74000E01 2.04200E01 2.72000E01 1.71600E01 -3.82100E01 -7.62600E01 -6.94200E01 -3.43100E01 6.91000E00 2.43900E01 1.63800E01 5.91000E01 1.01080E02 1.32260E02 1.42280E02 1.35480E02 1.32350E02 1.04010E02 6.77100E01 1.22400E01 -2.49400E01 -5.62300E01 -8.24200E01 -1.21330E02 -1.53320E02 -7.81500E01 1.64200E01 1.59000E01 -1.76500E01 -1.52200E01 6.43000E01 1.38220E02 1.10300E02 8.44200E01 8.16700E01 8.57700E01 5.59300E01 5.11300E01 1.91500E01 -4.98200E01 -4.48600E01 -5.76900E01 -5.28500E01 -3.78000E01 -3.52400E01 2.44400E01 6.79500E01 3.67500E01 2.65600E01 1.20040E02 1.52310E02 7.54500E01 2.91600E01 4.30000E-01 1.38300E01 -4.35000E00 -8.70700E01 -1.18250E02 -1.00270E02 -1.32630E02 -9.98600E01 -7.29800E01 -6.12000E01 -5.10000E01 -2.14400E01 2.60500E01 2.89800E01 4.29700E01 4.93500E01 7.38800E01 1.71000E01 -2.64500E01 -3.63200E01 -2.34600E01 -1.80000E-01 -1.00180E02 -1.35180E02 -6.51400E01 -8.08800E01 -7.30400E01 -8.09000E01 -8.39400E01 -4.90100E01 -5.09700E01 -3.89600E01 -3.35600E01 -9.79800E01 -1.17320E02 -9.31700E01 -1.12210E02 -1.71760E02 -2.01020E02 -1.76030E02 -1.34140E02 -2.02870E02 -1.84580E02 -5.36000E01 1.39430E02 3.82250E02 4.52180E02 4.03820E02 4.08570E02 4.44080E02 5.10280E02 5.09070E02 2.96380E02 2.88800E01 -2.08700E01 -1.11090E02 -1.58950E02 -2.74100E02 -4.41520E02 -4.19680E02 -3.65760E02 -3.14830E02 -2.21040E02 -1.11160E02 1.02000E01 6.82800E01 1.34070E02 1.17750E02 1.91800E02 2.55950E02 1.72840E02 9.90000E01 -7.32100E01 -9.56700E01 -5.07300E01 -7.13500E01 -1.34540E02 -1.82560E02 -9.59000E01 5.55200E01 1.45560E02 1.68240E02 2.05460E02 2.75640E02 2.78740E02 2.83690E02 2.40550E02 -Frame 160 1.26880E02 6.86100E01 -4.24900E01 -1.60950E02 -2.46890E02 -2.67230E02 -2.52930E02 -2.50940E02 -2.63650E02 -2.34510E02 -1.37260E02 1.11100E01 9.00400E01 9.73100E01 9.77000E01 1.49000E02 1.51740E02 1.49420E02 1.01890E02 8.00000E-01 -4.54100E01 -6.20000E01 -1.04040E02 -8.82800E01 -7.19500E01 -6.70500E01 1.00600E01 4.65400E01 9.11000E01 1.60950E02 2.07810E02 1.96930E02 1.71540E02 9.62200E01 3.85000E01 2.89800E01 -6.88400E01 -1.59600E02 -2.05000E02 -2.62600E02 -2.15730E02 -1.63210E02 -1.71920E02 -1.17750E02 -1.88100E01 4.81900E01 1.15200E02 1.63160E02 1.69440E02 3.05750E02 3.93990E02 1.72600E02 1.11220E02 1.19860E02 3.16800E01 7.47700E01 -5.48500E01 -1.70400E02 -5.34000E00 -8.41500E01 -6.13000E01 9.33300E01 -2.13300E01 -6.25000E01 1.15130E02 9.01600E01 7.63500E01 1.70600E01 -6.30600E01 3.24200E01 8.84000E00 -1.84460E02 -1.04550E02 1.94000E00 -7.12700E01 -6.56700E01 -2.48300E01 2.43000E01 1.24930E02 6.85600E01 4.43900E01 1.39440E02 4.83100E01 3.33000E00 7.59700E01 -6.20000E00 -1.05890E02 -1.23550E02 -8.96300E01 -3.05700E01 -7.76500E01 -1.24110E02 -2.89000E00 6.90800E01 -2.27900E01 5.20000E-01 8.05500E01 5.69800E01 -1.37000E00 -7.65200E01 -6.19200E01 -8.78100E01 -1.55420E02 -1.84980E02 -1.78290E02 -1.84240E02 -1.98220E02 -1.22470E02 -7.29000E00 -9.65700E01 -9.05500E01 -2.32900E01 6.10400E01 -5.11000E00 -6.83300E01 -6.54700E01 -7.44900E01 -1.00750E02 -1.97760E02 -1.70620E02 1.74800E01 1.43340E02 3.78920E02 5.80400E02 4.44550E02 4.06080E02 3.99050E02 4.56450E02 3.82230E02 1.21400E02 -1.75560E02 -2.35490E02 -2.86010E02 -3.61790E02 -4.61550E02 -4.55950E02 -4.81750E02 -3.13910E02 -1.21610E02 2.67200E01 1.33580E02 2.02590E02 2.37520E02 2.89290E02 2.34380E02 1.64550E02 1.46410E02 6.95800E01 -5.86800E01 -1.67840E02 -1.33210E02 -2.93800E01 6.90000E-01 -2.23100E01 5.20000E01 1.78560E02 2.65870E02 2.77640E02 2.36530E02 1.27950E02 -Frame 160 7.79200E01 -2.07000E01 -8.33200E01 -1.45770E02 -2.67990E02 -3.35720E02 -3.07220E02 -2.60550E02 -1.54200E02 -3.54300E01 5.40300E01 1.14190E02 1.51090E02 1.63980E02 2.02110E02 1.86230E02 7.66900E01 -2.73000E01 -7.54700E01 -1.02050E02 -1.17350E02 -9.50100E01 -7.58900E01 -5.11100E01 1.44800E01 1.09080E02 1.74500E02 2.42780E02 2.05950E02 1.42800E02 9.45800E01 3.88000E01 -5.77200E01 -1.09150E02 -1.75050E02 -2.58810E02 -2.50910E02 -1.93530E02 -1.50200E02 -6.14000E01 1.71900E01 5.91800E01 1.20400E02 1.70390E02 1.41760E02 1.63110E02 1.23970E02 1.05100E01 -2.74600E01 -5.55700E01 -7.24900E01 -2.68600E01 -5.07900E01 -3.24100E01 6.35700E01 1.71460E02 3.13530E02 4.17710E02 3.37740E02 1.83010E02 1.21360E02 9.27300E01 1.71700E01 -8.87000E01 -2.47720E02 -3.49390E02 -3.05850E02 -2.26660E02 -1.02800E02 -1.90100E01 -5.61000E00 1.52100E01 1.50660E02 2.44160E02 2.41330E02 1.99200E02 9.86000E01 -1.41800E01 -3.64100E01 -3.72700E01 -1.31000E01 -3.81500E01 -8.49200E01 -7.80400E01 2.51400E01 1.10500E02 1.11410E02 1.06260E02 5.48700E01 -5.14000E00 -8.98000E00 -2.09100E01 -7.31700E01 -1.55960E02 -2.00150E02 -1.86510E02 -1.29270E02 -4.11400E01 1.87500E01 -5.30000E-01 3.15900E01 5.66700E01 5.54700E01 6.71800E01 4.71900E01 -4.64600E01 -1.25960E02 -1.90800E02 -1.98470E02 -1.29200E02 -1.60680E02 -1.41000E02 -1.21600E02 -6.45100E01 1.23800E01 4.56100E01 1.18000E01 -2.00900E01 -1.20970E02 -1.06880E02 -1.61280E02 -1.97240E02 -1.70160E02 -1.36120E02 8.40600E01 3.89930E02 6.71860E02 7.50860E02 5.22600E02 3.86810E02 3.00490E02 2.31260E02 1.07720E02 -2.36690E02 -5.37480E02 -5.16030E02 -4.20410E02 -2.91430E02 -2.22190E02 -1.88610E02 -1.35830E02 1.30690E02 2.39310E02 2.22050E02 2.20040E02 1.63760E02 4.59000E00 -3.15000E01 -1.61670E02 -1.42710E02 -3.03000E00 4.89700E01 -1.04700E01 8.82600E01 1.92960E02 3.32720E02 4.01500E02 2.26050E02 4.79900E01 4.84100E01 -Frame 160 9.83000E00 -8.69200E01 -2.12550E02 -3.50840E02 -3.06060E02 -1.71600E02 -8.88200E01 -6.40000E00 6.45700E01 1.15670E02 1.39240E02 1.10410E02 6.35900E01 1.82700E01 -1.64600E01 -8.82400E01 -1.78150E02 -2.00670E02 -1.20700E02 9.85000E00 7.74200E01 1.17000E02 1.33690E02 2.05770E02 2.52890E02 1.85240E02 7.63400E01 1.80200E01 -1.01100E02 -1.39790E02 -1.34530E02 -1.68970E02 -1.11310E02 -4.07600E01 -3.29900E01 1.40500E01 6.05300E01 7.43900E01 1.06610E02 2.27300E01 -1.00760E02 -1.28970E02 -1.27930E02 -1.01740E02 -6.36500E01 -6.83300E01 -2.01000E01 8.46300E01 1.73510E02 2.00970E02 2.04090E02 1.52120E02 8.94100E01 2.86900E01 -2.59200E01 -5.51800E01 -6.62800E01 -8.66500E01 -7.25600E01 4.00000E-02 9.28900E01 2.07530E02 2.85530E02 2.38690E02 1.01200E02 8.73900E01 3.01000E01 -1.00960E02 -1.31950E02 -1.60750E02 -1.89270E02 -1.05480E02 -1.79900E01 3.52300E01 8.70700E01 6.84400E01 1.04180E02 1.36940E02 6.36000E01 -4.10500E01 -3.88000E00 -1.65400E01 -9.05600E01 -5.37700E01 3.72200E01 6.20000E01 1.27500E02 1.09920E02 1.27710E02 9.69500E01 2.81700E01 -2.37400E01 -6.12100E01 -1.45760E02 -2.09770E02 -1.69550E02 -9.29200E01 -8.88300E01 -4.45300E01 2.91800E01 5.61400E01 4.48800E01 5.82300E01 2.79400E01 -3.23100E01 -7.43900E01 -1.08700E02 -8.49700E01 -5.44300E01 -1.26900E02 -4.95000E01 3.23300E01 -4.43500E01 7.16300E01 2.51200E01 -8.08600E01 -5.50500E01 -7.74000E01 -1.92380E02 -1.44750E02 -2.49530E02 -2.19340E02 -1.43040E02 -1.22280E02 -1.28800E02 4.56000E00 -9.10000E01 -8.64700E01 -5.47600E01 -5.10600E01 3.97600E01 3.69310E02 5.99670E02 7.63570E02 6.87820E02 2.43100E02 7.14300E01 4.04200E01 -3.35500E01 -1.01740E02 -2.94910E02 -4.97750E02 -3.37380E02 -1.37730E02 6.42200E01 1.07350E02 -2.29000E00 -2.10320E02 -7.75900E01 -7.46900E01 -7.66400E01 -6.15900E01 -4.20300E01 -1.16840E02 -3.87000E00 1.29580E02 2.88020E02 3.82080E02 3.36690E02 1.65590E02 -Frame 160 1.01060E02 4.14600E01 1.00000E01 -3.64200E01 -8.92200E01 -1.73550E02 -8.93100E01 5.63000E00 1.95100E01 7.88100E01 8.48800E01 1.07000E00 -8.13200E01 -1.02170E02 -1.55560E02 -1.20450E02 -1.33140E02 -1.74100E02 -1.07170E02 2.09200E01 6.49400E01 1.82250E02 1.81010E02 9.65600E01 4.64100E01 1.26700E01 -4.61200E01 1.03200E01 -1.65000E01 -4.01300E01 -2.45000E00 5.04000E01 8.58400E01 1.57300E02 1.20830E02 4.31300E01 7.00000E00 -5.82400E01 -1.17430E02 -1.08330E02 -1.41840E02 -1.43250E02 -9.15700E01 -7.02100E01 -2.71300E01 6.23000E01 7.44300E01 3.78600E01 1.41200E01 -3.53700E01 -3.63600E01 1.65000E00 -4.17000E00 1.98300E01 6.65500E01 5.76500E01 9.04200E01 1.30120E02 1.28930E02 1.16590E02 5.97700E01 -1.58500E01 -4.87800E01 -5.56700E01 -2.27100E01 -1.37000E01 -3.43900E01 -1.26800E01 4.07200E01 1.26740E02 1.37310E02 1.67090E02 1.13650E02 -6.55300E01 -6.11700E01 -2.56000E01 -2.38900E01 -2.60900E01 4.56800E01 4.06400E01 8.24200E01 3.34300E01 9.59100E01 6.72500E01 -1.03340E02 -1.42090E02 -5.28900E01 -2.58700E01 -4.98000E00 6.95700E01 9.23700E01 1.04800E02 6.95300E01 6.21200E01 1.11440E02 3.82000E01 -9.13200E01 -6.57400E01 -4.32900E01 -8.50900E01 -4.70900E01 1.71400E01 -1.66500E01 -2.04600E01 -3.13600E01 -4.45600E01 -1.41200E01 -4.77200E01 -9.53100E01 -5.42800E01 -5.29300E01 -6.74900E01 1.15600E01 2.40400E01 -1.20000E-01 4.89700E01 1.15300E01 -5.70800E01 -1.27600E01 -8.90600E01 -4.26400E01 -4.17500E01 -7.28000E01 -1.19750E02 -9.30500E01 -1.45450E02 -1.27350E02 -5.85900E01 -1.23670E02 -1.34670E02 -1.64910E02 -1.32960E02 -1.54930E02 -7.64700E01 -1.35550E02 -8.53700E01 -1.03600E02 -1.55340E02 -4.95800E01 1.67450E02 3.21990E02 6.22970E02 7.38650E02 7.50210E02 2.44440E02 -4.21700E01 -2.49570E02 -1.92120E02 -2.23690E02 -1.11010E02 -1.47730E02 -8.44400E01 -1.11000E00 1.21800E02 1.60400E02 -8.29500E01 -3.47740E02 -4.20390E02 -3.55900E02 -2.63100E02 -Frame 160 -9.32100E01 8.99900E01 1.86740E02 3.35280E02 3.87080E02 2.68110E02 1.78210E02 5.53700E01 -2.73100E01 -8.05100E01 -1.03270E02 -1.05630E02 4.30400E01 1.10270E02 2.11480E02 2.45630E02 1.48620E02 -3.55100E01 -1.12280E02 -2.72300E02 -2.96000E02 -2.30150E02 -1.04050E02 -5.19600E01 3.17800E01 4.50700E01 8.27200E01 1.20450E02 5.92300E01 -5.49400E01 -1.45590E02 -1.90910E02 -1.28460E02 -4.97000E00 4.83300E01 1.19220E02 2.06180E02 2.02630E02 1.53780E02 1.00280E02 -1.69600E01 -7.98000E01 -9.75000E01 -9.86500E01 -1.01740E02 -1.78300E01 3.26900E01 9.17400E01 8.05300E01 9.90000E00 -4.19200E01 -1.06300E02 -1.67570E02 -1.89580E02 -1.82100E02 -8.82300E01 8.61000E00 5.94200E01 7.67300E01 8.54900E01 9.24300E01 9.04900E01 2.94000E01 -4.06100E01 -6.07500E01 -2.94600E01 4.08200E01 6.72300E01 7.03900E01 1.17580E02 9.71200E01 7.49400E01 5.90100E01 -3.74600E01 -7.88700E01 -5.54800E01 -5.93100E01 -5.20000E00 7.75900E01 1.19870E02 1.66350E02 2.13120E02 4.61500E01 -1.21010E02 -1.06210E02 -6.38400E01 -1.70900E01 1.71300E01 5.04000E01 4.66000E00 4.65100E01 6.56200E01 2.92700E01 -5.32200E01 -1.12200E02 -9.68900E01 1.99900E01 5.34700E01 4.79400E01 3.62000E01 8.80700E01 8.64700E01 6.87500E01 1.84300E01 1.25500E01 -3.75100E01 -6.90700E01 -5.15300E01 -7.39000E00 -1.78700E01 -1.26500E01 -3.12500E01 -4.83900E01 -5.80100E01 -5.78700E01 -4.16700E01 -4.79300E01 -8.93400E01 -7.39500E01 1.09800E01 6.52000E00 1.39100E01 -5.14900E01 -3.78700E01 -3.58000E01 -1.26400E01 -2.97600E01 -6.83900E01 -5.01600E01 -1.13300E01 -2.53000E01 -2.06900E01 -9.79300E01 -9.04800E01 -1.41730E02 -1.05450E02 -1.30970E02 -1.05180E02 -1.24520E02 -1.12370E02 -9.97700E01 -1.13720E02 -9.30300E01 -9.06500E01 -9.21500E01 -1.01650E02 -1.68390E02 -7.20800E01 6.52300E01 3.54680E02 5.14710E02 6.48180E02 5.48160E02 1.97540E02 -1.56090E02 -3.13490E02 -1.52450E02 -3.52800E01 4.35500E01 -3.82200E01 -Frame 160 9.05200E01 2.02160E02 2.42070E02 -2.70000E01 -3.21350E02 -5.16490E02 -3.78180E02 -1.64250E02 7.24300E01 7.13400E01 8.01300E01 8.81000E01 1.99220E02 1.67580E02 5.18000E01 -7.96100E01 -1.49010E02 -1.21420E02 -5.68700E01 4.27200E01 1.45340E02 2.18990E02 1.89710E02 1.33350E02 8.81300E01 3.64400E01 -7.68700E01 -1.62600E02 -2.17820E02 -1.49540E02 -3.20100E01 9.21800E01 1.33120E02 8.22000E01 -3.03700E01 -6.13900E01 -8.33100E01 -8.68300E01 -1.17380E02 -1.15770E02 -1.04010E02 2.00000E-01 6.36200E01 9.29300E01 4.50500E01 2.76400E01 1.16600E01 -7.83000E00 7.08000E00 -2.05600E01 -6.50400E01 -3.08400E01 6.54400E01 9.26300E01 2.35700E01 -4.26500E01 -5.88000E00 -2.19700E01 6.24600E01 -2.35600E01 -9.02200E01 -7.98600E01 3.58900E01 -3.82000E00 3.24000E00 2.45100E01 8.41000E00 -3.82000E01 1.57800E01 4.24100E01 2.82000E00 -2.00000E01 -1.75100E01 -3.09300E01 -3.37400E01 1.23900E01 4.59300E01 4.60000E-01 2.58000E00 1.97600E01 4.24500E01 -5.20000E00 -4.63200E01 -3.26700E01 -3.65700E01 6.44000E00 5.77000E00 -5.93000E00 1.40100E01 2.35500E01 4.33600E01 3.37400E01 6.79000E00 1.40000E01 1.42000E00 -3.55000E00 8.33000E00 -2.43000E00 -9.52000E00 1.61800E01 4.26600E01 2.39200E01 2.15800E01 -5.85000E00 -3.11200E01 -3.91400E01 -9.37000E00 -5.67000E00 -2.78500E01 -6.69000E00 1.71300E01 9.67000E00 2.39700E01 2.86900E01 1.35300E01 -2.61100E01 -2.49500E01 -3.27300E01 -3.37200E01 -1.57100E01 -9.13000E00 -9.34000E00 -4.55000E00 1.93900E01 1.40500E01 -5.47000E00 -2.65900E01 -2.83400E01 -3.71200E01 -4.91400E01 -2.94900E01 -6.21000E00 -6.21000E00 1.07900E01 -7.00000E-01 -8.55000E00 -7.64000E00 -1.07000E01 -1.28500E01 -1.70600E01 -2.43900E01 -2.59300E01 -2.15000E01 -1.79200E01 -1.42200E01 -2.14000E01 -1.87900E01 -1.10900E01 -3.71500E01 -4.09900E01 -5.19200E01 -3.71500E01 -3.69000E01 -4.96200E01 -5.27000E01 -5.58400E01 -4.20400E01 -4.97900E01 -3.67500E01 -4.62900E01 -Frame 160 -5.01000E01 -5.40000E01 -5.49900E01 -5.79800E01 -2.03000E00 2.66300E01 6.21300E01 4.76500E01 3.76600E01 -3.26900E01 -4.72000E01 -3.21300E01 -1.58000E00 1.69000E01 5.59200E01 2.80800E01 3.13400E01 -6.34000E00 2.88100E01 3.80100E01 4.14500E01 -2.50500E01 3.44100E01 -6.43300E01 5.39300E01 -1.72100E01 1.84600E01 1.12100E01 -3.92800E01 3.07000E01 -1.51900E01 4.45100E01 1.01000E00 -1.38400E01 -3.61400E01 -3.01000E01 -2.18500E01 9.67000E00 3.11500E01 2.22600E01 -1.93000E00 -3.87000E00 -1.78700E01 -3.29000E00 -1.82600E01 -7.68000E00 -2.37700E01 -2.33400E01 -4.88000E00 1.81500E01 1.28700E01 2.44100E01 1.02800E01 1.17000E01 -1.38500E01 -2.21800E01 -2.57500E01 -3.34100E01 -2.12800E01 -3.76000E00 6.30000E00 2.16600E01 9.47000E00 -1.11000E00 -1.50200E01 -2.23500E01 -3.18900E01 -5.17000E01 -4.10800E01 -3.71000E01 -2.19700E01 -3.60000E-01 1.09100E01 1.15100E01 4.11000E00 -7.53000E00 -7.53000E00 -1.75300E01 -1.68300E01 -2.61000E01 -3.96400E01 -2.55700E01 -8.05000E00 -2.99000E00 9.22000E00 7.79000E00 -1.67000E01 -2.89400E01 -2.45400E01 -2.39900E01 -1.94100E01 -2.96800E01 -2.02500E01 -9.52000E00 -1.44600E01 2.45000E00 2.87000E00 -3.71000E00 3.50000E00 -1.08000E00 1.19000E00 -4.80000E-01 2.79000E00 2.71500E01 3.62300E01 4.65500E01 4.81400E01 2.47300E01 -1.24300E01 -2.77300E01 -4.80000E-01 2.06100E01 2.63300E01 3.02000E01 -1.58400E01 -8.29000E00 6.50000E00 3.27400E01 1.67600E01 1.62700E01 -1.32500E01 -1.86700E01 -1.42400E01 2.53400E01 2.41200E01 -1.61600E01 -2.56700E01 -1.14500E01 -1.78000E00 1.01900E01 1.55200E01 -1.00000E01 -2.13000E01 -2.09300E01 -6.53000E00 2.13200E01 1.10100E01 -1.46300E01 -2.90500E01 -3.78900E01 -1.29700E01 -1.22700E01 4.60000E-01 -2.14200E01 -7.96000E00 -9.08000E00 -7.23000E00 -1.63200E01 -1.68000E00 -2.15900E01 -1.51000E01 -1.74000E01 -1.07600E01 -9.10000E-01 -1.67600E01 -1.60900E01 -1.43900E01 -2.06300E01 -2.05000E00 -3.90000E00 -Frame 160 -1.08100E01 -2.79300E01 -3.75600E01 -2.44600E01 -2.79400E01 -3.15100E01 -3.61700E01 -3.09500E01 -3.15500E01 -2.91500E01 -2.26600E01 -2.89600E01 -4.14400E01 -4.82800E01 -2.93000E01 -3.77200E01 -3.53800E01 -1.69500E01 1.20500E01 3.99200E01 4.86000E01 5.24900E01 4.40000E-01 -3.22300E01 -5.98900E01 -1.23600E01 1.46400E01 6.54500E01 3.27600E01 2.20200E01 1.92000E00 1.71900E01 5.49100E01 2.97400E01 2.07600E01 -4.52000E00 -2.15800E01 8.85000E00 3.72100E01 2.54100E01 1.52200E01 -1.83000E01 7.16000E00 1.44000E01 3.58500E01 1.09300E01 -2.77000E00 -5.58900E01 -2.46000E01 -1.83200E01 2.61700E01 2.40100E01 2.87600E01 -1.03700E01 -1.37000E01 -4.12000E00 1.77600E01 1.30000E00 -5.67000E00 -1.28500E01 -2.24000E00 2.70000E00 2.17900E01 2.04500E01 1.60500E01 1.35000E01 8.86000E00 4.07000E00 7.13000E00 -5.72000E00 -2.39600E01 -3.37400E01 -2.17900E01 4.55000E00 1.70000E00 1.57600E01 -4.76000E00 5.09000E00 -7.76000E00 3.00000E00 -4.91000E00 -1.80600E01 -2.16000E01 -6.23000E00 -1.03800E01 3.50000E-01 4.41000E00 -1.41000E00 -1.54100E01 -8.30000E-01 6.20000E00 9.44000E00 8.77000E00 -1.39300E01 -1.63200E01 -1.47700E01 3.84000E00 1.00200E01 -1.62000E00 -5.62000E00 1.26000E00 -6.65000E00 3.20000E00 8.35000E00 4.65000E00 -1.21700E01 -1.15000E01 1.42000E01 1.76800E01 2.25000E00 9.34000E00 7.64000E00 8.80000E-01 3.91000E00 5.03000E00 1.11800E01 -4.90000E-01 8.48000E00 1.67200E01 2.72000E01 2.89800E01 3.27900E01 3.96900E01 2.57700E01 6.40000E00 1.14300E01 7.61000E00 1.16700E01 -3.15000E00 2.15800E01 3.30600E01 4.08700E01 3.18900E01 3.66100E01 3.14500E01 1.61100E01 7.29000E00 1.02000E01 3.20000E00 1.39900E01 1.01100E01 2.51100E01 2.25600E01 -2.08000E00 1.45300E01 8.65000E00 2.59000E00 -2.65000E00 9.60000E-01 -7.31000E00 -8.20000E-01 -2.12000E00 2.35500E01 9.00000E00 -5.00000E00 8.58000E00 2.05800E01 -3.06000E00 6.58000E00 -3.48000E00 -Frame 160 -4.84000E00 -7.23000E00 4.32000E00 1.62300E01 1.75000E01 1.28000E01 6.95000E00 -2.08000E00 -4.38000E00 1.12600E01 4.38000E00 2.29000E00 -4.86000E00 1.67800E01 1.10800E01 1.22000E01 7.35000E00 4.35000E00 1.02600E01 7.35000E00 4.35000E00 -4.74000E00 -1.31000E01 -1.57000E01 -1.53600E01 -1.19900E01 -4.50000E00 -4.77000E00 -1.10400E01 -2.34900E01 -2.53000E01 -5.14000E00 -1.63500E01 -3.48900E01 -3.19700E01 -2.49300E01 -3.26500E01 -2.65800E01 -3.30000E00 9.70000E00 3.40900E01 7.42000E01 7.64800E01 5.57600E01 -9.65000E00 -3.20700E01 -2.91500E01 6.89000E00 3.80400E01 8.31200E01 3.05200E01 2.22700E01 1.87500E01 3.61100E01 3.89800E01 3.19100E01 1.26000E01 -1.63100E01 -8.09000E00 4.14000E01 5.63900E01 3.48000E01 8.52000E00 1.14300E01 8.43000E00 3.13400E01 3.39400E01 1.06000E01 -2.14600E01 -2.84800E01 -4.68000E00 2.38700E01 4.92900E01 3.24600E01 2.00900E01 2.33000E00 -1.97000E00 -7.39000E00 2.04000E00 3.77000E00 3.56000E00 -3.65000E00 2.93000E00 1.17200E01 9.78000E00 8.78000E00 1.97500E01 2.30500E01 9.44000E00 1.14100E01 1.54400E01 5.90000E-01 1.29000E00 1.00200E01 1.50200E01 2.41700E01 1.65900E01 6.77000E00 -4.35000E00 2.00000E-01 7.90000E00 4.84000E00 -2.31000E00 -6.70000E-01 4.03000E00 1.28800E01 1.50000E01 1.61800E01 1.39000E00 -8.85000E00 2.61000E00 8.43000E00 3.43000E00 5.28000E00 3.19000E00 -6.96000E00 -1.41000E00 1.43200E01 1.45300E01 1.27400E01 5.89000E00 -1.17000E00 3.56000E00 1.74400E01 1.07400E01 -3.17000E00 2.50000E00 2.35000E00 5.20000E00 9.14000E00 1.22000E01 1.43500E01 1.55600E01 1.28000E01 1.29500E01 1.01000E01 1.61600E01 1.44000E01 1.85800E01 2.98800E01 3.05100E01 3.71400E01 3.39500E01 2.76400E01 2.71200E01 3.45700E01 3.02300E01 2.17400E01 1.69800E01 1.60700E01 1.01300E01 1.80100E01 3.01300E01 3.76100E01 3.63000E01 1.79300E01 3.09900E01 1.34400E01 6.35000E00 2.60500E01 -Frame 160 1.93500E01 4.44000E00 2.10800E01 3.02300E01 2.16500E01 1.58000E01 3.77000E00 1.83800E01 -1.35600E01 -1.24600E01 1.47000E01 -3.00000E-01 -3.75000E00 1.87100E01 1.68600E01 1.79500E01 2.20700E01 5.31000E00 2.04000E00 -2.32000E00 -1.28000E01 -6.58000E00 1.08500E01 2.47820E02 1.69900E02 -4.05700E01 -2.00490E02 -3.91500E01 1.47230E02 1.18250E02 -8.67200E01 -1.74930E02 -9.46900E01 7.71300E01 7.22000E01 -5.49400E01 -7.99500E01 -4.65000E00 6.19900E01 5.06400E01 -2.81000E01 -4.92400E01 -1.49800E01 4.93600E01 3.46500E01 -2.15400E01 -6.84400E01 -1.17200E01 7.70000E-01 -1.33500E01 -6.18900E01 -6.08700E01 -2.57600E01 -3.25400E01 -5.95000E01 -6.12400E01 -6.19800E01 -7.06900E01 -9.56100E01 -7.52200E01 -5.31400E01 3.36600E01 1.12100E02 2.48850E02 2.25590E02 9.54000E01 -5.29000E01 -5.57300E01 4.64100E01 4.36700E01 -3.31900E01 -7.03900E01 1.42330E02 2.35500E02 2.49340E02 8.63900E01 -3.96600E01 -1.40550E02 -1.13410E02 -4.83100E01 -4.11400E01 -1.77000E01 2.49000E00 5.63100E01 1.21750E02 1.16110E02 5.62000E01 -4.26000E01 -8.54000E01 -1.49430E02 -1.10290E02 -1.28300E01 4.66600E01 7.49500E01 5.30500E01 9.04300E01 1.23890E02 1.20280E02 -4.54000E00 -9.42000E01 -1.26530E02 -3.97300E01 1.18000E01 9.99200E01 1.53680E02 1.19970E02 2.81200E01 -2.15800E01 -8.78000E00 1.44400E01 -5.16200E01 -1.12660E02 -8.54700E01 -1.03500E01 4.71100E01 6.33100E01 2.89600E01 -6.47000E00 -5.19800E01 -6.68400E01 -4.20900E01 -1.85300E01 -2.82200E01 -1.11800E01 -5.60000E00 4.11600E01 7.33300E01 4.24300E01 2.75400E01 -3.68300E01 -4.41500E01 -1.46500E01 1.87800E01 5.22300E01 1.86700E01 4.06000E00 1.30000E01 3.52100E01 1.20800E01 1.23000E00 -4.29500E01 -4.24500E01 -4.58900E01 1.96100E01 3.71200E01 3.01400E01 -1.50800E01 -3.16800E01 -1.97600E01 -1.34500E01 7.07000E00 -3.07800E01 9.23000E00 4.70000E-01 7.44000E00 2.66200E01 5.23700E01 4.28700E01 1.04000E00 -1.08000E00 -Frame 160 3.37400E01 4.96100E01 4.39300E01 4.80400E01 2.05240E02 2.30120E02 1.73570E02 -2.58700E01 -3.04300E01 -2.70800E01 -5.45800E01 -3.18600E01 -6.39000E00 6.89000E00 1.25900E01 1.05470E02 1.43140E02 6.88600E01 -1.56760E02 -1.59190E02 -1.17530E02 -5.34600E01 -7.23500E01 5.52500E01 1.01750E02 7.46000E01 2.15500E01 1.28850E02 1.17360E02 -4.45800E01 -1.57470E02 -5.86900E01 6.21000E00 5.51200E01 6.75000E01 9.02100E01 3.65500E01 -7.79000E00 9.52000E00 -6.30000E-01 -7.00800E01 -1.56600E02 -1.18640E02 -2.83900E01 3.86800E01 2.97900E01 5.06000E01 1.50100E01 -4.96900E01 -8.13400E01 -3.48900E01 -2.49700E01 -5.17200E01 -1.03250E02 -2.92800E01 4.10000E01 5.34100E01 1.81500E01 -3.42200E01 -8.21800E01 -7.85500E01 -6.77400E01 -1.15400E01 -7.86000E01 -9.26700E01 -6.91000E01 -1.07500E01 -4.46000E01 -8.94700E01 -9.26600E01 -1.16880E02 -9.17600E01 -9.38000E01 -7.88400E01 -9.83700E01 -8.54400E01 -1.57060E02 -1.25780E02 -1.71450E02 -1.37410E02 -7.62300E01 1.26870E02 3.85090E02 5.81900E02 6.73230E02 4.07750E02 -6.83100E01 -2.78010E02 -1.50920E02 7.02500E01 7.12000E01 3.71200E01 -5.00400E01 8.61600E01 2.25500E02 8.29500E01 -1.56070E02 -4.30320E02 -5.23640E02 -3.65360E02 -8.08600E01 1.01490E02 1.79360E02 2.07450E02 1.46200E02 8.79100E01 9.07300E01 6.85500E01 -1.23800E01 -1.93800E02 -1.79650E02 4.61000E01 2.72780E02 3.16210E02 1.98690E02 5.73600E01 -3.13800E01 -2.88200E01 -7.21400E01 -1.53720E02 -2.00670E02 -1.71880E02 -2.30400E01 1.05420E02 1.34750E02 9.98600E01 -2.00000E-01 -1.38350E02 -2.04640E02 -1.54790E02 -6.42600E01 -8.88000E00 -7.79000E00 1.13300E01 7.60200E01 1.43630E02 1.30190E02 3.42100E01 -1.03770E02 -1.22920E02 -5.95500E01 4.88300E01 6.75100E01 7.47000E01 7.60400E01 8.63500E01 6.29000E01 2.66700E01 -5.70000E00 -5.90600E01 -1.27010E02 -1.66940E02 -8.19500E01 1.07400E01 8.42800E01 4.70100E01 -5.74600E01 -8.21100E01 -7.34500E01 -5.04600E01 -Frame 160 -4.47200E01 -5.87700E01 -5.12100E01 3.62000E00 1.06130E02 1.38700E02 1.18140E02 5.68300E01 -4.34300E01 -5.67500E01 -2.94300E01 3.77600E01 5.09900E01 5.55800E01 -7.40000E-01 2.72000E01 1.16980E02 7.14300E01 1.24100E01 -1.17440E02 -1.29190E02 -3.51800E01 3.37700E01 9.82000E00 2.01200E01 -1.62800E01 1.56210E02 4.62890E02 1.70630E02 -1.14810E02 -2.64950E02 -1.79470E02 -8.81700E01 2.50400E01 1.36730E02 2.00750E02 1.12570E02 6.35700E01 1.35010E02 1.55000E00 -2.23020E02 -3.03310E02 -1.81790E02 -1.05340E02 3.65700E01 3.21830E02 3.40610E02 1.56660E02 -2.81100E01 -6.25500E01 -4.98000E00 -1.30610E02 -2.44990E02 -1.17670E02 2.37000E01 9.74200E01 2.44330E02 1.95560E02 1.51100E01 -1.15920E02 -1.73880E02 -1.72460E02 -1.54830E02 -1.12510E02 2.20000E-01 5.14300E01 8.11700E01 1.54750E02 1.83460E02 4.58900E01 -1.21970E02 -1.83900E02 -1.51570E02 -6.11000E01 3.02200E01 7.13300E01 9.64000E00 1.03000E00 3.81500E01 3.73800E01 -1.20450E02 -9.40500E01 -2.31750E02 -1.38500E02 -1.37250E02 -1.78500E01 2.24000E00 -9.07000E00 -8.27400E01 -8.76300E01 -6.06100E01 -1.37720E02 -8.11100E01 -1.20700E02 -1.55430E02 -1.41120E02 -1.32700E01 -4.14900E01 -8.75800E01 -1.56050E02 6.44700E01 3.10710E02 5.86240E02 5.31720E02 5.54010E02 9.14800E01 -1.08420E02 -1.01380E02 9.99000E00 -1.31900E01 -9.90600E01 -1.05480E02 -4.79900E01 1.35330E02 1.20200E02 -1.25000E01 -2.89280E02 -4.19340E02 -4.06030E02 -1.65940E02 -3.22900E01 8.15000E01 1.85710E02 1.99950E02 1.84430E02 2.35250E02 1.73420E02 8.35200E01 -6.22300E01 -1.60420E02 -7.74900E01 1.21080E02 2.19680E02 2.15130E02 1.22250E02 4.40000E00 1.29200E01 5.37100E01 -1.24270E02 -2.38620E02 -2.62270E02 -1.99400E02 -6.44000E01 9.78300E01 1.08980E02 8.03700E01 -4.20000E00 -8.63800E01 -9.60200E01 -5.78700E01 -5.64900E01 -5.00200E01 -1.63100E01 -1.55000E00 1.44660E02 2.36250E02 1.29450E02 3.22300E01 -2.90200E01 -8.61300E01 -Frame 160 3.08000E00 3.60500E01 -3.49900E01 -2.61900E01 2.59100E01 5.76000E01 6.02200E01 2.68700E01 -5.85300E01 -9.05100E01 -1.44390E02 -1.61800E02 -7.66000E01 1.30000E00 -1.54000E01 -1.26100E01 2.72700E01 -8.65000E00 1.33200E01 2.69500E01 -5.10300E01 -3.43800E01 -6.19000E00 -2.11300E01 6.84800E01 1.34790E02 9.50200E01 9.09300E01 6.06300E01 -5.26600E01 -4.54000E01 -8.87000E00 -1.92000E01 -3.08300E01 -5.17900E01 -4.35000E00 7.95600E01 6.39900E01 -2.11200E01 -5.98400E01 -6.47000E01 -4.86500E01 -1.80600E01 -1.55100E01 -5.38700E01 1.63000E00 5.88400E01 3.57600E01 2.99300E01 1.75890E02 2.59200E02 6.78500E01 6.65300E01 -3.78800E01 -8.94700E01 -9.55600E01 -3.87400E01 -3.21200E01 7.40000E-01 -1.13800E01 7.71400E01 1.27330E02 -5.80400E01 -1.03080E02 -3.54100E01 -4.36100E01 -1.34020E02 -6.10000E00 5.57800E01 3.05200E01 3.04500E01 5.33500E01 2.79100E01 6.16600E01 -3.76000E01 -4.08900E01 -4.24000E00 -6.74500E01 -5.05500E01 4.99200E01 -3.45500E01 -6.56000E01 2.04500E01 2.51400E01 6.95000E00 -3.28100E01 -5.87700E01 -4.34800E01 -3.06800E01 -6.14600E01 -1.51400E01 4.26200E01 1.20000E-01 -1.97000E01 3.88000E00 -5.28200E01 -6.72300E01 -4.30300E01 -6.50500E01 -8.97000E01 -3.20400E01 -2.25800E01 -3.18200E01 -2.53300E01 -7.96300E01 -2.35500E01 -6.97300E01 -7.02900E01 -9.08200E01 -1.00920E02 -1.33260E02 -6.85000E01 -4.97000E01 -9.13000E01 -5.91300E01 -4.39400E01 -7.42700E01 -8.25000E01 -1.16940E02 -1.64370E02 -1.62150E02 -1.70750E02 -1.45500E02 -3.23800E01 1.31220E02 2.62710E02 4.51980E02 4.82650E02 5.01800E02 3.04070E02 -1.60500E01 -2.29040E02 -1.66390E02 -1.28640E02 -6.96000E01 -4.06700E01 -4.48100E01 3.39600E01 1.09130E02 4.52000E00 -1.45330E02 -2.98680E02 -3.47500E02 -2.46520E02 -1.55210E02 -8.59600E01 1.01480E02 2.49590E02 2.61020E02 2.54540E02 1.78610E02 8.11600E01 3.46200E01 -2.93900E01 -1.44350E02 -8.17300E01 2.49000E01 7.08000E01 1.12050E02 1.08470E02 -Frame 160 8.36800E01 9.30500E01 -2.03700E01 -1.80270E02 -2.56940E02 -2.27740E02 -1.68430E02 -4.81400E01 -2.81000E01 2.15700E01 8.17400E01 1.01680E02 4.51300E01 3.37800E01 -6.96000E00 -9.09600E01 -1.12480E02 -1.08570E02 -4.54500E01 7.36500E01 1.44350E02 1.10090E02 7.56600E01 6.30900E01 8.00700E01 4.65000E01 -6.01500E01 -1.41040E02 -1.24300E02 -8.49300E01 -9.27000E00 4.67300E01 4.74100E01 1.10600E01 2.85700E01 -1.24100E01 -8.46500E01 -1.03050E02 -1.32930E02 -1.28620E02 -7.90700E01 -2.69300E01 1.28300E01 8.57900E01 7.39100E01 5.65800E01 5.76500E01 1.36900E01 -9.65000E00 -5.71000E00 -4.96500E01 -4.89100E01 3.98900E01 8.93900E01 5.13300E01 6.10400E01 2.49900E01 3.38000E01 3.58500E01 -5.90700E01 -9.18700E01 -9.16000E01 -8.22400E01 -1.05200E01 2.84200E01 2.53000E00 2.28300E01 3.37300E01 -1.20700E01 2.72000E00 9.60000E-01 -4.88600E01 -2.61800E01 -2.47800E01 -2.23200E01 3.82300E01 1.60610E02 1.65620E02 2.07630E02 2.42750E02 -2.60000E-01 -7.47700E01 -1.06500E02 -1.69100E02 -1.49470E02 -2.60900E01 -6.28700E01 -1.73000E00 6.53000E01 6.83400E01 6.94100E01 1.94500E01 -1.14070E02 -9.96100E01 -3.86100E01 -8.46900E01 -4.31200E01 1.10770E02 7.63100E01 8.17100E01 1.41200E02 3.14000E01 -2.82000E00 7.91000E00 -8.60300E01 -8.97900E01 -4.85800E01 -1.00050E02 -1.40200E01 2.36800E01 3.45200E01 5.66600E01 7.54300E01 -2.72900E01 -6.11600E01 -5.70200E01 -7.57000E01 -6.98900E01 -1.98400E01 -8.12300E01 -1.84500E01 4.92800E01 2.50500E01 7.04000E00 -1.75400E01 -8.18700E01 -7.91200E01 -5.52200E01 -6.85400E01 -6.82200E01 -4.18400E01 -2.86200E01 -1.89800E01 -2.00400E01 -2.31300E01 -2.63100E01 -2.05800E01 -1.03670E02 -1.00250E02 -1.18650E02 -1.60530E02 -1.30580E02 -8.66100E01 -8.52300E01 -5.97600E01 -5.24800E01 -8.29600E01 -9.63400E01 -1.34080E02 -1.19900E02 -1.56210E02 -2.95400E01 4.90300E01 2.10940E02 3.98620E02 4.63700E02 5.36340E02 4.19720E02 5.01100E01 -1.37960E02 -Frame 160 -1.61700E02 -1.87010E02 -1.27920E02 -1.29880E02 -2.02780E02 -3.67500E01 7.44400E01 4.99900E01 -9.27000E00 -8.13600E01 -2.38610E02 -1.88510E02 -1.65700E02 -2.26050E02 -5.20800E01 1.81290E02 1.57680E02 2.37170E02 2.44880E02 1.49590E02 2.02210E02 1.37270E02 -1.08800E02 -1.30370E02 -1.04480E02 -1.34690E02 7.29000E00 6.16500E01 5.96300E01 1.32490E02 1.23480E02 -5.29200E01 -8.17200E01 -9.83300E01 -1.69360E02 -1.48430E02 -1.42720E02 -1.68710E02 8.64000E00 1.12450E02 8.03500E01 1.22170E02 1.06160E02 8.55000E00 1.29100E01 -5.26100E01 -1.25110E02 -5.47400E01 -2.41500E01 -2.96000E01 6.28000E01 1.14990E02 1.39680E02 1.56000E02 7.66800E01 -4.21600E01 -5.56300E01 -6.94600E01 -1.02650E02 -8.27700E01 -7.22000E01 -6.22400E01 2.80800E01 5.11600E01 2.79000E01 1.68900E01 8.52000E00 -4.81200E01 -8.04700E01 -1.21750E02 -1.12200E02 -3.62600E01 2.60500E01 2.62500E01 8.44200E01 1.00300E02 9.25700E01 9.85100E01 5.05400E01 -1.09600E01 -1.13500E01 -2.57400E01 -2.25500E01 -7.24000E00 1.55500E01 4.00300E01 5.22300E01 5.27600E01 9.26000E00 -5.90000E-01 -1.74000E00 -2.29200E01 -6.07300E01 -7.76500E01 -6.70200E01 1.30000E01 1.24800E01 1.69300E01 5.35000E01 3.11500E01 3.20800E01 4.40100E01 1.32700E01 -8.43000E00 1.21000E00 -3.38500E01 1.30400E01 1.61370E02 1.82140E02 1.23390E02 1.25720E02 6.70200E01 -3.45400E01 -5.61900E01 -8.84400E01 -1.09590E02 -5.42800E01 -6.82000E01 -2.74800E01 5.85300E01 4.15000E00 2.70900E01 7.07200E01 -8.36000E00 -9.08700E01 -1.98400E01 -4.59000E00 6.14000E00 3.92000E01 4.02500E01 5.13000E01 1.37650E02 9.35500E01 4.60100E01 7.69700E01 -6.17000E00 -8.18600E01 -3.78000E01 -8.23300E01 -7.71500E01 1.82700E01 1.46300E01 1.38700E01 7.00800E01 3.39700E01 1.47200E01 3.28700E01 -5.74400E01 -1.05480E02 -4.29000E01 -5.13400E01 -4.39900E01 1.16300E01 2.96000E00 2.10200E01 5.76200E01 5.30000E00 -2.76400E01 2.43000E00 -5.45700E01 -Frame 160 -6.52800E01 -3.82600E01 -6.03700E01 -5.01100E01 2.75100E01 -6.50000E00 -2.65600E01 -3.22000E00 -5.51600E01 -4.96600E01 -7.89500E01 -1.23080E02 -1.43470E02 -1.06370E02 -1.10040E02 -6.37400E01 -7.39700E01 -7.04700E01 -5.38200E01 -3.36300E01 -6.08100E01 -7.58000E01 -2.22100E01 4.80300E01 1.60370E02 2.79010E02 2.87040E02 3.98040E02 4.66100E02 2.43840E02 6.55000E01 -9.13900E01 -1.10020E02 -7.81000E01 -9.21000E01 -2.11430E02 -1.58240E02 -8.12500E01 1.22000E01 1.65300E01 -3.80200E01 -1.07220E02 -4.34600E01 -4.96900E01 -1.19070E02 -1.11490E02 2.74200E01 6.85900E01 1.29960E02 1.26100E02 1.07000E02 2.18210E02 2.34660E02 1.24410E02 2.96500E01 -6.30500E01 -7.05400E01 -4.18000E00 -3.77500E01 -4.73100E01 8.90000E-01 7.95900E01 5.26600E01 1.86000E00 -2.35000E01 -1.16100E01 -1.33300E01 -6.40800E01 -1.68330E02 -1.25640E02 -2.55100E01 -6.26000E00 1.45900E01 3.20700E01 4.90600E01 1.00530E02 9.35000E01 2.91700E01 1.38300E01 -6.99000E00 -1.24400E01 -1.00400E01 -2.15500E01 -1.39000E00 7.44000E01 1.08470E02 5.75000E01 2.69100E01 4.23600E01 1.82600E01 2.14100E01 -3.93500E01 -1.04940E02 -7.94500E01 -4.50900E01 -6.06200E01 -2.95700E01 -2.95300E01 -3.46000E00 2.74200E01 2.52300E01 -3.40500E01 -5.13000E00 2.69000E00 -5.25000E00 -3.43000E00 -5.55000E00 3.27000E00 7.73600E01 8.86700E01 5.62500E01 6.07800E01 6.64000E01 5.81400E01 5.25800E01 2.81000E00 -3.54900E01 1.40700E01 -1.18400E01 -3.15300E01 -1.17900E01 -8.42000E00 1.40700E01 5.02500E01 6.51000E00 -2.95800E01 2.12500E01 2.26400E01 -2.19400E01 -2.88700E01 -4.59800E01 -1.95700E01 4.96800E01 2.00300E01 -5.50000E-01 5.12400E01 4.75900E01 4.17900E01 5.57800E01 1.31600E01 -4.78000E00 6.77400E01 8.64500E01 3.96700E01 6.84200E01 1.47010E02 1.36910E02 2.53900E01 -5.75800E01 -7.00400E01 -6.18000E01 -6.82300E01 -4.97800E01 -4.47000E01 -5.44100E01 -1.83600E01 4.38300E01 6.79100E01 -1.32000E00 1.03200E01 -Frame 160 4.43200E01 8.34000E00 -3.67500E01 1.28100E01 4.99000E01 4.61000E01 4.11500E01 3.40200E01 4.56500E01 7.86100E01 6.55300E01 5.60000E01 2.21400E01 -3.07700E01 -2.92700E01 -8.68000E00 -3.14300E01 -3.18400E01 -2.22000E00 2.33000E00 -2.09700E01 -1.96000E00 9.65000E00 2.16200E01 1.19500E01 -1.80200E01 -3.18900E01 -1.51500E01 -2.28700E01 2.00000E-01 -3.01000E00 -1.23100E01 -2.88000E00 1.58500E01 4.15000E00 9.09000E00 -5.82000E00 -7.18000E00 -1.95700E01 -3.93200E01 -2.56400E01 -8.51000E00 -1.48400E01 -3.83500E01 -5.95500E01 -4.23500E01 -5.15800E01 -6.70500E01 -7.79400E01 -1.13100E02 -1.28250E02 -8.17600E01 -8.37700E01 -6.07800E01 -5.10400E01 -5.89700E01 -3.71100E01 -2.45600E01 -4.46200E01 -1.02800E01 6.31100E01 9.26900E01 1.85080E02 2.91140E02 3.65200E02 4.13210E02 2.45330E02 9.80500E01 6.15000E00 -4.85700E01 -8.69100E01 -1.23330E02 -1.85740E02 -1.70890E02 -7.04100E01 -2.17500E01 1.44000E00 3.50000E-01 -1.67700E01 -4.64000E01 -2.69000E01 -9.87700E01 -1.04770E02 7.14000E00 2.50000E00 7.71000E00 8.40700E01 9.07100E01 1.76470E02 2.39720E02 1.46710E02 8.37000E01 6.76800E01 -2.88000E00 -2.86000E01 -3.50700E01 -6.46900E01 -3.71500E01 3.12900E01 9.83000E00 -1.12900E01 4.59600E01 3.59500E01 2.06100E01 -7.21000E00 -9.18700E01 -9.80500E01 -3.33200E01 -8.45500E01 -9.42800E01 -2.52200E01 3.00000E00 4.20900E01 9.73500E01 4.92300E01 5.55800E01 8.20800E01 3.03300E01 -2.50400E01 -9.00000E-02 -3.36000E00 4.28000E00 3.51600E01 2.59700E01 2.44800E01 8.59300E01 7.62100E01 3.11300E01 1.76400E01 -3.22700E01 -4.36800E01 -5.03900E01 -9.22500E01 -9.03100E01 -4.42200E01 -3.56600E01 -4.08000E01 1.09400E01 3.32700E01 2.42600E01 2.69500E01 7.70000E00 -1.81500E01 5.22000E00 1.93100E01 -3.18000E00 1.96400E01 3.21500E01 4.50200E01 6.62500E01 5.90800E01 4.16400E01 5.56300E01 4.90100E01 1.71500E01 3.30000E00 3.03000E00 -2.12400E01 -3.42300E01 -2.25800E01 -Frame 160 -1.35400E01 -2.20000E00 1.85000E01 9.83000E00 8.89000E00 2.59200E01 5.46000E00 -1.63000E00 -1.59300E01 -4.16500E01 -2.51200E01 5.95000E00 1.09800E01 -1.68400E01 1.65000E01 3.88600E01 6.28800E01 6.45900E01 3.03000E01 1.13930E02 1.76050E02 2.29400E01 3.30900E01 8.25400E01 2.24600E01 -3.24800E01 -2.40700E01 -7.23600E01 -6.80600E01 -7.65500E01 -3.92200E01 3.33100E01 -1.79400E01 -7.57500E01 4.57300E01 4.79300E01 -5.98400E01 -1.08800E01 7.36100E01 -2.33500E01 -1.42800E01 1.10900E01 2.92400E01 7.69300E01 2.50300E01 -2.49000E00 8.91500E01 4.25500E01 -4.45200E01 3.27700E01 1.54300E01 -7.14500E01 -4.94000E00 -4.36000E00 -3.87500E01 -6.16000E00 1.64500E01 1.87500E01 3.71100E01 -2.39900E01 -4.39500E01 3.85200E01 -1.24900E01 -7.30600E01 5.70000E-01 -9.52000E00 -6.39100E01 1.00800E01 3.50000E-01 -2.56800E01 1.15100E01 -2.21600E01 -3.48500E01 1.41000E01 -2.74500E01 -3.12600E01 2.28400E01 -2.74100E01 -4.11900E01 1.96400E01 -1.67000E00 -2.36400E01 -1.92700E01 -5.87500E01 -7.84000E01 -6.05900E01 -1.06180E02 -7.80900E01 -6.50700E01 -1.22600E02 -1.13810E02 -6.96600E01 -9.21000E01 -7.21700E01 -1.85800E01 -5.93400E01 -4.53300E01 -5.78700E01 -4.27700E01 2.78100E01 3.55200E01 6.94100E01 1.89260E02 2.14620E02 2.48550E02 3.39290E02 3.10520E02 1.16580E02 3.95500E01 -6.18800E01 -6.53700E01 -9.98900E01 -1.62370E02 -2.28620E02 -9.37000E01 -9.65200E01 -4.53400E01 9.46000E00 2.94000E00 -5.97900E01 2.25900E01 -4.75100E01 -6.67400E01 -1.65100E01 3.28000E00 -2.73300E01 4.61300E01 4.08100E01 9.52800E01 1.81340E02 1.51890E02 8.53900E01 1.15760E02 4.69700E01 -1.29800E01 6.24000E00 -4.49400E01 -5.06500E01 -2.24800E01 -6.44100E01 -5.95700E01 1.04800E01 4.69000E00 -7.28000E00 5.39000E00 -3.35500E01 -4.76600E01 -8.16000E00 -5.94300E01 -7.52300E01 -3.64500E01 -3.34400E01 -1.33100E01 2.94500E01 1.05000E01 6.39500E01 8.19900E01 6.15100E01 2.23400E01 3.59400E01 -Frame 160 1.59300E01 1.62900E01 -5.35000E00 -3.36500E01 -2.79000E00 2.60300E01 -3.28000E00 1.95100E01 3.39900E01 9.89000E00 4.04000E00 -2.99000E00 -6.52300E01 -6.03300E01 -5.72200E01 -8.19600E01 -5.33900E01 -4.98900E01 -3.62400E01 1.98600E01 2.56700E01 3.63000E00 4.19000E01 4.33100E01 1.87200E01 2.83500E01 1.02500E01 6.58000E00 6.79000E00 8.00000E00 4.24000E00 2.13600E01 4.99900E01 4.74600E01 2.98100E01 2.35900E01 2.91600E01 2.78800E01 7.54000E00 -2.44300E01 -2.83600E01 -3.63800E01 -3.66100E01 -2.98100E01 -1.47700E01 -9.25000E00 -5.55000E00 1.62700E01 1.27500E01 -8.90000E-01 1.20500E01 4.38000E00 3.47000E00 -7.47000E00 -1.07400E01 -1.41000E01 1.64500E01 1.29300E01 1.72900E01 5.77700E01 1.79450E02 1.30730E02 3.93900E01 5.02000E01 4.73100E01 -7.70000E00 -3.63900E01 -8.09200E01 -1.04740E02 -7.61900E01 -9.66800E01 -3.57100E01 4.71800E01 -1.41000E00 -2.75000E01 7.46300E01 1.98500E01 -2.86400E01 1.24000E01 3.27000E01 -4.14000E01 -8.75000E00 -4.40800E01 1.45400E01 6.79600E01 2.39700E01 1.86000E01 1.06050E02 1.71100E01 -2.65900E01 2.63900E01 1.39900E01 -6.78000E01 -4.30500E01 -4.54900E01 -2.89600E01 -1.08900E01 1.17500E01 9.08000E00 3.43200E01 2.31000E00 2.31000E00 3.43100E01 -2.87300E01 -6.36900E01 -2.26700E01 -3.23600E01 -4.23200E01 -2.05500E01 -3.90900E01 -1.01700E01 9.65000E00 -1.29300E01 -2.12000E01 2.12900E01 -1.29300E01 -1.72000E01 2.41000E00 -2.33800E01 -4.99500E01 -2.43000E01 -3.78400E01 -2.17700E01 -2.61900E01 -4.07300E01 -2.86900E01 -2.92600E01 -7.58300E01 -6.97800E01 -6.94900E01 -9.91400E01 -1.01630E02 -9.01200E01 -1.13190E02 -9.68900E01 -6.70200E01 -6.41900E01 -3.72400E01 -3.04500E01 -5.24500E01 -3.71100E01 -1.32900E01 2.52500E01 7.29300E01 1.12990E02 1.53160E02 1.73410E02 2.57110E02 3.20150E02 1.98840E02 7.46000E01 -7.54000E00 -6.52000E01 -5.95700E01 -1.04700E02 -1.43120E02 -1.44590E02 -9.89700E01 -1.07850E02 -6.49100E01 -Frame 160 -1.59000E00 -3.63200E01 -4.31000E01 4.94000E00 -6.95500E01 -4.82900E01 1.66600E01 -4.41000E00 -1.01400E01 3.79500E01 2.34800E01 8.65300E01 1.29440E02 9.45500E01 1.05490E02 1.04670E02 1.87300E01 -1.58800E01 1.44600E01 -1.92700E01 -4.20200E01 -4.04300E01 -8.47500E01 -6.63600E01 1.76600E01 4.26000E00 -1.35600E01 1.50800E01 -2.74100E01 -3.41900E01 -1.51500E01 -6.55100E01 -6.93700E01 -3.82900E01 -3.32200E01 -3.99700E01 1.00000E-01 1.74000E01 3.42100E01 5.55000E01 3.23900E01 2.95300E01 4.15500E01 2.69000E01 3.77000E00 7.92000E00 -1.48100E01 -2.52300E01 -2.95000E00 -1.49800E01 7.63000E00 1.59300E01 4.47000E00 -9.35000E00 -1.75900E01 -1.70700E01 -3.05200E01 -4.53600E01 -6.76200E01 -6.05100E01 -5.21300E01 -4.44500E01 -2.95000E01 -2.70700E01 -5.50000E-01 2.07800E01 2.97400E01 1.89400E01 1.07800E01 2.23500E01 4.72500E01 3.08700E01 -8.05000E00 -3.17000E00 2.28600E01 2.76700E01 1.26000E01 2.30500E01 1.68000E01 3.13400E01 2.53000E01 -4.95000E00 -1.13000E00 1.48100E01 -2.47700E01 -2.75500E01 -2.53900E01 -3.81400E01 -1.32500E01 2.42000E00 -1.54300E01 -1.68200E01 5.76000E00 8.03000E00 2.13600E01 6.08000E00 -1.06800E01 1.00500E01 1.94100E01 -2.69600E01 -1.67400E01 1.88100E01 1.34400E01 1.15890E02 1.34400E02 4.73600E01 1.06590E02 6.45600E01 -3.38200E01 8.00000E-01 -1.75000E01 -1.13340E02 -6.80300E01 -9.12500E01 -7.91000E01 6.50000E00 -2.26000E00 -1.92900E01 8.51700E01 1.47800E01 -1.48000E01 4.47200E01 1.60400E01 -5.95400E01 2.06000E01 -2.38000E01 -3.35500E01 2.34300E01 -1.85000E00 2.30900E01 9.27800E01 4.54000E00 -4.30000E-01 6.34500E01 -7.75000E00 -2.61400E01 2.09300E01 -5.65600E01 -5.13900E01 1.99000E00 -3.89800E01 -1.11800E01 3.54900E01 -1.44300E01 2.61200E01 7.09000E01 -1.70000E01 -1.16000E01 2.39800E01 -4.73600E01 -4.78600E01 -2.53300E01 -6.60800E01 -4.20300E01 -2.20000E00 -2.11400E01 -4.65000E00 2.33500E01 -1.28100E01 1.79200E01 -Frame 160 3.05800E01 -2.14000E01 -2.79700E01 -1.17200E01 -4.69600E01 -3.02500E01 -1.60000E01 -2.33000E01 -1.88100E01 1.83000E00 -2.59000E01 -1.94700E01 -2.98300E01 -8.54900E01 -8.48000E01 -7.30200E01 -1.17820E02 -1.07910E02 -9.86100E01 -9.79500E01 -6.52000E01 -4.64000E01 -2.20000E01 -1.18500E01 -2.34000E01 -3.63100E01 -3.56100E01 -7.88000E00 3.66900E01 7.15800E01 1.06460E02 1.15300E02 1.59290E02 2.75480E02 2.72000E02 1.57160E02 9.06300E01 7.97000E00 -1.82400E01 -6.22300E01 -1.02510E02 -1.56930E02 -1.20880E02 -1.36600E02 -1.19680E02 -6.61300E01 -1.78700E01 -2.11100E01 3.15600E01 6.82000E00 -5.27000E01 -1.60200E01 1.58000E01 -1.74200E01 1.43400E01 -1.79400E01 9.79000E00 6.73600E01 7.06400E01 7.89500E01 1.23440E02 9.81900E01 4.80700E01 4.53600E01 2.05300E01 -4.08000E00 -1.84400E01 -4.82200E01 -6.58700E01 -5.10000E01 -3.96200E01 -2.88500E01 -4.72000E00 2.16000E00 2.50000E-01 7.28000E00 -3.34800E01 -4.14700E01 -2.56700E01 -1.73600E01 -4.27800E01 -6.69500E01 -3.28100E01 -5.90000E-01 1.16200E01 3.01900E01 2.43000E01 3.12000E01 4.12800E01 6.06300E01 2.75200E01 2.83600E01 1.92000E01 1.74000E00 -9.26000E00 -1.95900E01 -2.62200E01 -1.40300E01 1.05500E01 -1.11200E01 -1.74500E01 -8.96000E00 -1.12000E01 -2.35000E01 -1.81600E01 -3.76400E01 -4.96900E01 -4.40700E01 -6.12400E01 -5.08900E01 -1.81800E01 -2.04500E01 7.22000E00 3.07300E01 1.99300E01 2.67700E01 5.37900E01 3.05900E01 2.06400E01 3.53600E01 9.50000E00 -2.17000E00 2.18000E01 -1.51000E00 3.46000E00 2.85800E01 2.44500E01 1.11700E01 1.74700E01 -5.00000E-02 9.89000E00 6.13000E00 -2.87500E01 -2.96800E01 -2.26100E01 -3.73000E01 -4.14100E01 -1.66100E01 -2.10300E01 -3.57000E00 1.94300E01 5.12000E00 3.36000E00 2.75400E01 1.04400E01 2.80000E00 -8.00000E-02 -1.40500E01 -2.44000E00 1.55300E01 -1.89600E01 5.35000E01 1.08150E02 7.43900E01 7.75200E01 7.76800E01 5.37800E01 5.10000E00 1.29200E01 -5.90200E01 -Frame 160 -5.01200E01 -9.28900E01 -7.58900E01 -6.22900E01 -2.42100E01 -7.19300E01 1.69400E01 4.45400E01 2.95000E00 -1.19300E01 4.37400E01 2.20900E01 7.75000E00 -1.60400E01 -1.65500E01 3.94000E00 -1.94000E00 -4.00000E00 5.08800E01 7.24100E01 1.15400E01 3.07800E01 5.55900E01 8.12000E00 -1.08200E01 1.66700E01 -3.30000E01 -5.11700E01 -3.88500E01 -4.51100E01 -2.45200E01 -2.70000E-01 -2.42700E01 2.20100E01 3.57000E01 -5.22000E00 6.00000E-01 2.26000E01 -1.27400E01 -2.31600E01 -2.58800E01 -4.36600E01 -2.19500E01 -7.55000E00 -1.77000E01 -8.15000E00 2.70000E00 -1.20000E-01 5.97000E00 3.02400E01 -2.77000E00 2.20000E00 7.32000E00 -5.41000E00 -2.55300E01 -2.22500E01 -2.68500E01 -1.65700E01 -2.89600E01 -3.27100E01 -2.85500E01 -1.52400E01 -3.45100E01 -3.73500E01 -5.42500E01 -6.86300E01 -8.94000E01 -1.02740E02 -9.04100E01 -9.26300E01 -8.48500E01 -6.07700E01 -3.89100E01 -2.73600E01 -1.44500E01 -1.21500E01 1.21000E00 2.09600E01 4.82800E01 6.83800E01 1.06020E02 1.01710E02 1.15160E02 1.94910E02 2.31940E02 1.60900E02 1.02520E02 4.72500E01 2.24000E00 -6.15000E00 -4.57800E01 -1.10580E02 -1.17270E02 -1.12050E02 -1.10560E02 -6.39200E01 -3.97800E01 -3.88600E01 5.12000E00 1.14500E01 -3.00400E01 -1.17900E01 3.00300E01 1.31100E01 1.46500E01 -7.80000E-01 -8.69000E00 3.51600E01 7.43300E01 5.36400E01 8.02600E01 9.76300E01 5.44500E01 5.18900E01 4.82100E01 2.43800E01 1.08000E01 8.80000E00 -4.92600E01 -5.50600E01 -4.29800E01 -3.14800E01 -1.65900E01 -2.22000E00 -2.94000E01 5.61000E00 1.17000E01 -2.90300E01 -1.19900E01 6.59000E00 -1.42600E01 -2.47400E01 -5.15200E01 -4.90800E01 -4.52000E00 8.42000E00 9.75000E00 1.91100E01 3.97400E01 3.79700E01 5.81100E01 4.68200E01 3.11400E01 3.59500E01 1.98800E01 -4.70000E00 -1.60300E01 -1.56900E01 -8.32000E00 2.90000E-01 -1.48300E01 -2.24000E01 1.82000E00 -9.21000E00 -1.57000E00 -8.69000E00 -3.00200E01 -3.09800E01 -2.99400E01 -4.08400E01 -Frame 160 -3.90400E01 -3.31500E01 -1.80500E01 -2.47000E00 1.95900E01 8.31000E00 2.66700E01 5.45700E01 3.62800E01 1.93900E01 3.99600E01 3.11300E01 1.80000E01 7.45000E00 -4.30000E-01 1.34500E01 2.67500E01 4.40000E-01 1.63200E01 1.16800E01 1.58900E01 1.42200E01 1.04900E01 -1.03600E01 -6.84000E00 -1.32000E01 -1.97400E01 -2.54600E01 -2.73300E01 -3.02300E01 -6.19000E00 -1.40000E00 -1.84600E01 8.97000E00 2.42400E01 1.19600E01 1.82900E01 2.88000E01 -3.39000E00 6.43000E00 7.55000E00 2.77000E01 7.54500E01 7.76100E01 4.97700E01 6.80300E01 4.28000E01 -1.24000E00 1.73700E01 -1.44500E01 -4.82300E01 -4.90000E01 -5.27400E01 -6.55400E01 -2.16700E01 -3.54200E01 -1.15600E01 2.00500E01 9.62000E00 -3.14000E00 3.37100E01 1.86700E01 8.15000E00 1.03000E01 1.55100E01 -3.13000E00 5.66000E00 -8.28000E00 3.53600E01 3.13200E01 -5.87000E00 2.88000E01 3.55200E01 1.44200E01 1.46600E01 9.90000E00 4.99000E00 -2.20700E01 -4.49400E01 -2.64700E01 -2.34000E01 -2.92100E01 -1.61700E01 1.42900E01 5.68000E00 4.80000E00 1.88900E01 1.94000E01 1.69100E01 -2.67000E00 -2.88500E01 -2.58100E01 -3.06500E01 -4.86100E01 -2.08000E00 -1.21100E01 -2.54400E01 8.40000E-01 1.93000E00 -1.95000E00 1.30500E01 4.50000E00 4.68000E00 1.78600E01 -1.15700E01 -2.99000E01 1.23000E00 -1.68000E00 -4.16800E01 -2.68800E01 -1.56000E01 -2.69600E01 -5.65000E00 -1.96800E01 -2.11300E01 -2.36100E01 -4.21500E01 -4.92300E01 -4.94900E01 -8.77200E01 -8.50600E01 -6.52500E01 -6.87800E01 -7.63700E01 -3.91400E01 -3.67400E01 -1.92500E01 -1.52200E01 -1.10700E01 -1.28000E01 -1.55900E01 -3.44700E01 3.08000E00 2.17700E01 2.20000E01 6.62000E01 1.01690E02 1.12170E02 1.60860E02 2.11900E02 1.75320E02 1.13450E02 6.75700E01 1.12200E01 -1.38700E01 -4.97100E01 -1.15600E02 -1.02410E02 -9.37100E01 -1.07650E02 -7.09200E01 -1.69900E01 -8.38000E00 1.05000E01 2.19500E01 1.97300E01 9.42000E00 1.37800E01 6.26000E00 1.05000E01 -Frame 160 -3.14000E00 -2.52000E01 9.08000E00 3.34100E01 3.24600E01 5.54500E01 8.51000E01 6.65900E01 5.04500E01 5.27700E01 4.51200E01 2.92000E01 1.27700E01 -2.91700E01 -4.53700E01 -5.00200E01 -4.87600E01 -2.94100E01 -5.43000E00 -8.70000E00 -6.00000E-02 2.78500E01 1.06000E01 -4.19000E00 1.05700E01 9.78000E00 -1.70400E01 -3.86700E01 -5.09300E01 -2.85200E01 -1.03900E01 -7.69000E00 -5.90000E00 2.79500E01 2.48200E01 3.95700E01 5.77400E01 6.14200E01 3.91600E01 3.51800E01 1.20500E01 -1.18000E01 -2.33700E01 -1.62700E01 -6.93000E00 -1.52900E01 -2.78900E01 -1.78500E01 5.52000E00 1.56100E01 1.30000E01 3.30000E00 -6.70000E00 -1.90000E01 -2.16600E01 -3.03800E01 -3.13400E01 -2.53000E01 -1.50500E01 -1.44700E01 -1.86000E00 6.14000E00 2.73800E01 4.12500E01 3.85100E01 2.26500E01 3.62800E01 2.53000E01 1.29600E01 6.23000E00 7.29000E00 1.03800E01 2.56000E00 8.50000E00 5.62000E00 2.56500E01 1.12800E01 2.14600E01 1.39400E01 9.18000E00 1.27000E00 -1.88000E00 -1.51200E01 -3.07500E01 -2.28300E01 -1.66400E01 -3.12400E01 -2.22600E01 -1.29800E01 9.60000E00 1.68700E01 1.23500E01 1.46800E01 1.80700E01 1.65500E01 1.39700E01 1.93000E01 1.09780E02 7.29600E01 1.19400E01 5.30300E01 4.43500E01 -1.06300E01 1.17100E01 4.74000E00 -3.34400E01 -2.67600E01 -4.68400E01 -3.04900E01 -1.96000E01 -3.23500E01 -3.74600E01 5.33100E01 -1.31600E01 -4.66700E01 4.08300E01 5.20000E01 -2.65300E01 2.25400E01 6.11000E00 1.31700E01 2.44400E01 -1.96000E00 1.78300E01 4.82200E01 -7.49000E00 9.00000E-02 1.79100E01 3.27000E00 -1.58200E01 1.25200E01 1.73000E00 -2.73900E01 -3.93800E01 -4.70000E00 1.06000E00 -6.00000E00 -2.52700E01 1.28900E01 2.02200E01 7.60000E-01 -7.30000E00 9.40000E00 1.26100E01 -1.60900E01 -3.36600E01 -5.74000E00 -1.69500E01 -3.54900E01 -3.05700E01 -1.24700E01 -2.98000E01 -3.06400E01 -6.48000E00 2.43000E00 -5.39000E00 -3.45000E00 -5.45000E00 1.14900E01 -2.20600E01 -Frame 160 -2.46300E01 -2.26000E00 1.08000E01 -3.37500E01 -2.76500E01 -7.34000E00 -4.40000E00 -2.33700E01 -1.19100E01 -2.20900E01 -1.45700E01 -3.78100E01 -2.97400E01 -4.84000E01 -5.06000E01 -6.98300E01 -5.56000E01 -4.68900E01 -5.78800E01 -6.01700E01 -3.44900E01 -3.10000E01 -3.03900E01 -5.27500E01 -3.17700E01 -2.11300E01 -4.51600E01 -2.19100E01 -5.94000E00 6.51000E00 8.32000E00 6.11600E01 8.05600E01 9.24700E01 1.24650E02 1.56700E02 1.48590E02 1.19090E02 5.05700E01 2.88900E01 2.05200E01 -2.71200E01 -5.82000E01 -7.31800E01 -8.85500E01 -8.63100E01 -6.79200E01 -4.79000E01 -2.32200E01 8.24000E00 -3.34000E00 -2.28000E00 1.81000E00 1.02000E00 -3.80000E00 1.02300E01 -1.32000E00 -2.52300E01 -7.86000E00 1.40500E01 1.46200E01 3.01900E01 5.02100E01 5.38000E01 5.24500E01 4.40100E01 4.12700E01 4.24100E01 2.05500E01 -1.40000E01 -1.56000E01 -3.32300E01 -3.73700E01 -3.06000E01 -1.35900E01 -1.40400E01 -1.14900E01 1.50000E-01 8.15000E00 7.39000E00 -4.40000E00 -4.55000E00 -6.70000E00 -2.99100E01 -3.88100E01 -3.29500E01 -2.98800E01 -1.56900E01 -2.10500E01 -4.56000E00 1.54400E01 2.60400E01 2.69400E01 4.68400E01 4.23100E01 2.16000E01 1.22300E01 1.95600E01 7.10000E00 -9.75000E00 -2.01100E01 -6.77000E00 -1.60100E01 -2.35200E01 -1.72400E01 4.25000E00 4.40000E00 4.55000E00 -5.30000E00 -9.45000E00 -2.07200E01 -1.83200E01 -1.58300E01 -2.02500E01 -2.37900E01 -2.14200E01 -1.69600E01 -5.35000E00 3.62000E00 2.86000E00 1.20700E01 3.45500E01 3.16900E01 1.17100E01 2.41000E01 3.88500E01 1.80200E01 -1.47000E00 3.44000E00 2.50000E00 1.53000E00 -3.47000E00 1.03800E01 1.56500E01 2.20700E01 1.26700E01 5.97000E00 5.06000E00 2.21200E01 1.69000E00 -9.37000E00 -2.67600E01 -1.66600E01 -2.22300E01 -2.49500E01 -1.77300E01 -9.27000E00 -7.54000E00 5.25000E00 1.44300E01 9.88000E00 1.51800E01 6.96300E01 1.02700E02 5.47000E01 2.41700E01 4.26800E01 2.27300E01 1.15000E00 3.91000E00 -Frame 160 -2.12400E01 -2.01400E01 -3.79800E01 -3.33300E01 -1.45000E01 -5.07000E00 -1.23400E01 1.51800E01 2.65400E01 -1.87700E01 -5.46000E00 4.62700E01 1.75600E01 -5.00000E-02 -6.20000E00 -2.15300E01 -5.31000E00 -1.58000E00 -8.73000E00 2.29100E01 3.45100E01 8.44000E00 6.56000E00 2.06200E01 6.10000E00 3.13000E00 8.07000E00 -1.38400E01 -1.84100E01 -2.31000E01 -2.09100E01 -6.63000E00 -9.00000E-01 -4.99000E00 1.48000E01 2.51900E01 -2.12000E00 -8.27000E00 1.54000E01 5.79000E00 -1.51200E01 -3.66600E01 -2.98300E01 -2.37600E01 -3.74800E01 -3.15900E01 -9.49000E00 -1.47000E01 -1.50600E01 1.58000E00 1.27300E01 3.21000E00 -6.10000E-01 3.45000E00 -1.13700E01 -1.56400E01 -2.90300E01 -1.38100E01 -6.11000E00 -2.31700E01 -2.07400E01 -1.32200E01 -1.34600E01 -8.70000E00 -3.79000E00 -7.30000E-01 -8.58000E00 -1.36700E01 -1.69100E01 -3.62400E01 -3.01400E01 -5.68300E01 -5.33000E01 -4.96200E01 -6.27900E01 -5.93200E01 -3.87000E01 -4.44200E01 -4.02900E01 -3.00100E01 -2.74000E01 -2.47000E01 -3.59100E01 -4.44500E01 -4.42300E01 -3.19800E01 -3.23400E01 -7.00000E-01 1.39000E01 3.59200E01 6.25700E01 1.02970E02 1.13510E02 1.31260E02 1.29430E02 1.14420E02 6.18400E01 3.25800E01 9.39000E00 -2.25200E01 -5.63900E01 -7.32500E01 -6.95600E01 -5.66900E01 -6.93700E01 -4.63800E01 -6.64000E00 1.33000E00 -3.46000E00 9.60000E00 5.05000E00 -8.65000E00 -1.77000E00 -1.36800E01 -2.29500E01 -2.74900E01 -1.21500E01 -1.23300E01 1.94900E01 1.52700E01 4.29000E01 5.83400E01 4.62000E01 4.86400E01 4.51100E01 3.54300E01 2.84200E01 1.61700E01 -5.47000E00 -3.37700E01 -3.29100E01 -3.69900E01 -4.01600E01 -1.73900E01 -1.59000E01 -1.03500E01 1.03800E01 -2.60000E-01 1.77000E00 1.58600E01 2.37000E00 -1.05400E01 -2.18400E01 -3.24700E01 -3.14000E01 -2.02700E01 -2.47800E01 -1.34100E01 6.32000E00 1.06500E01 4.10000E00 2.73400E01 2.72700E01 2.51700E01 4.79800E01 1.64500E01 -1.10700E01 -8.43000E00 -7.00000E-01 -2.37300E01 -Frame 160 -2.24500E01 -2.81100E01 -1.19200E01 -2.20000E-01 2.84000E00 9.90000E-01 1.30800E01 4.53000E00 -3.29000E00 -1.03500E01 -1.46200E01 -2.20100E01 -2.66100E01 -3.33300E01 -2.52300E01 -1.48600E01 -1.41600E01 -1.04300E01 6.42000E00 2.17800E01 1.55900E01 3.11900E01 3.12400E01 2.12600E01 1.19500E01 1.73400E01 1.58800E01 3.36000E00 -1.15500E01 1.09000E00 1.20000E-01 2.12000E00 3.18000E00 2.02700E01 2.68700E01 1.26500E01 8.98000E00 1.21900E01 8.49000E00 3.67000E00 1.70000E00 -2.33300E01 -1.31100E01 -2.35600E01 -2.83100E01 -2.31800E01 -8.87000E00 1.89000E00 4.98000E00 6.16000E00 4.37000E00 1.95200E01 2.31200E01 4.98100E01 6.82800E01 6.32600E01 3.70300E01 5.29600E01 3.53400E01 2.15000E00 1.94000E00 -3.27000E00 -6.63000E00 -2.80800E01 -3.81600E01 -2.35100E01 -1.23800E01 -2.28900E01 5.30000E00 7.36000E00 4.48000E00 -6.49000E00 2.02100E01 1.47200E01 1.00500E01 -5.77000E00 1.19300E01 1.70000E-01 -5.95000E00 -4.25000E00 3.55100E01 1.84700E01 8.89000E00 1.90100E01 2.54300E01 9.03000E00 -2.88000E00 9.85000E00 6.97000E00 -2.00000E01 -1.27800E01 -2.32000E00 -1.35300E01 -1.70700E01 -7.00000E-01 2.18000E00 -2.85000E00 -6.03000E00 4.70000E00 1.57600E01 5.15000E00 -4.79000E00 -1.03000E00 -7.15000E00 -1.74500E01 -1.90500E01 -1.56800E01 -6.19000E00 -1.44000E01 -1.28500E01 -1.32400E01 -1.63000E00 3.40000E-01 -1.63000E00 4.34000E00 1.04900E01 -1.41800E01 -1.06000E01 -9.00000E-01 -9.90000E00 -1.41700E01 -1.05600E01 -6.83000E00 -1.29800E01 -1.53100E01 -8.70000E00 1.21200E01 3.57000E00 -1.02500E01 -7.49000E00 -1.56400E01 -3.50300E01 -3.09900E01 -3.78000E01 -4.07900E01 -5.08400E01 -5.01600E01 -6.14200E01 -5.09800E01 -3.91800E01 -3.29900E01 -3.25900E01 -2.11600E01 -2.73700E01 -2.17600E01 -1.59700E01 -2.00000E01 -1.71500E01 -3.21000E00 -1.18500E01 5.24000E00 1.88400E01 7.48300E01 7.94700E01 9.21700E01 1.25170E02 1.35070E02 1.01150E02 6.00900E01 4.37100E01 -Frame 160 2.57900E01 -1.27000E01 -5.23600E01 -4.91900E01 -6.68700E01 -6.20300E01 -6.29800E01 -3.69000E01 -2.59800E01 -1.27000E01 -1.30000E01 3.67000E01 7.90000E00 1.42000E01 1.46800E01 1.61600E01 -6.33000E00 -8.51000E00 -1.97500E01 -3.20000E-01 -3.29000E00 1.65000E00 1.37400E01 3.01900E01 3.21200E01 2.70800E01 5.28600E01 4.63900E01 3.06800E01 2.24600E01 1.29700E01 -9.82000E00 -2.03000E01 -1.90800E01 -1.48000E01 -2.73700E01 -2.33000E01 -1.10800E01 1.15300E01 -2.17000E00 5.71000E00 1.78300E01 2.53100E01 -1.10000E01 -5.42000E00 -6.60000E-01 -2.27500E01 -3.35000E01 -3.55500E01 -2.86300E01 -2.04700E01 -1.80400E01 -6.52000E00 1.73600E01 1.89600E01 2.35900E01 3.03400E01 3.62700E01 2.13500E01 2.49500E01 7.64000E00 2.79000E00 -7.21000E00 -1.55100E01 -2.10500E01 -9.74000E00 -1.40700E01 -1.25200E01 4.09000E00 1.42100E01 -3.70000E-01 3.60000E00 1.69000E00 -1.02800E01 -1.66100E01 -1.51200E01 -7.57000E00 -2.97800E01 -3.06500E01 -1.45200E01 -9.88000E00 -1.00900E01 6.70000E00 2.20000E01 2.87500E01 2.76800E01 3.35500E01 2.45700E01 3.22900E01 3.12200E01 1.10900E01 1.03300E01 3.54000E00 -7.46000E00 -2.79000E00 -2.97000E00 7.85000E00 9.00000E00 8.18000E00 2.33000E00 1.83000E01 7.75000E00 -1.30000E-01 1.77500E01 4.17000E00 -2.68300E01 -1.27600E01 -1.32400E01 -1.47200E01 -1.52300E01 -4.74000E00 3.08000E00 -8.86000E00 5.84000E00 1.49900E01 2.14100E01 1.30100E01 1.63400E01 7.97600E01 8.30700E01 2.04100E01 4.98000E01 6.20600E01 1.46500E01 -1.12300E01 1.21100E01 -1.48300E01 -2.05800E01 -3.54800E01 -1.98000E01 -1.06100E01 -2.21200E01 -2.69600E01 3.50800E01 2.30100E01 -2.14500E01 1.37400E01 4.00100E01 -9.40000E-01 8.85000E00 1.94000E00 7.82000E00 1.28800E01 -1.19100E01 2.55000E00 2.94600E01 7.18000E00 6.21000E00 3.12100E01 1.39600E01 -1.83000E00 2.89000E01 2.25600E01 6.01000E00 -7.05000E00 -1.05000E01 -4.00000E-02 -7.25000E00 -2.46700E01 -6.60000E00 -Frame 160 1.60400E01 -4.63000E00 -5.93000E00 2.74000E00 1.76800E01 9.07000E00 7.19000E00 3.25000E00 2.19000E00 -2.09000E01 -1.46800E01 3.75000E00 -5.25000E00 -2.25200E01 -7.30000E00 4.00000E-01 -4.66000E00 -5.87000E00 -1.11000E00 1.88000E01 2.13100E01 -1.31200E01 -3.60000E00 1.22200E01 -1.48000E00 -5.60000E00 4.16000E00 2.22000E00 -1.57800E01 -1.13200E01 -1.71000E00 1.20000E00 -7.80000E00 -8.07000E00 -2.34000E00 -8.43000E00 -1.97000E01 -1.03000E01 -6.60000E00 -1.47800E01 -2.82000E01 -3.60100E01 -2.50300E01 -2.66900E01 -4.53800E01 -3.56100E01 -1.95100E01 -3.09000E01 -3.36200E01 -1.14000E01 -1.54900E01 -1.07000E01 -2.87600E01 -1.93600E01 -9.66000E00 -6.66000E00 1.54300E01 2.91800E01 4.43200E01 4.28800E01 6.53500E01 8.34500E01 8.40300E01 9.65500E01 9.33700E01 6.50100E01 3.97200E01 8.62000E00 2.56000E00 -1.06800E01 -3.63100E01 -2.96900E01 -2.58300E01 -4.28200E01 -3.72900E01 -2.55000E00 -1.73000E00 -4.88000E00 8.88000E00 1.70600E01 1.04800E01 1.16900E01 -7.00000E-02 5.81000E00 3.87000E00 -8.13000E00 -6.49000E00 5.21000E00 3.27000E00 1.12700E01 2.85100E01 3.72600E01 3.12500E01 3.00300E01 3.67500E01 2.76500E01 3.02500E01 1.09100E01 1.39700E01 -8.80000E-01 -1.81800E01 -2.29900E01 -1.92000E00 -3.19000E00 5.10000E-01 6.33000E00 7.33000E00 7.36000E00 -6.10000E-01 1.01800E01 1.03000E01 -2.58000E00 -1.28500E01 -1.34200E01 -3.19900E01 -1.81000E01 -1.77600E01 -9.39000E00 -1.27500E01 -3.20000E00 -3.50000E-01 1.25900E01 2.69200E01 2.56700E01 2.03600E01 2.38700E01 1.04700E01 1.36500E01 4.92000E00 5.92000E00 3.95000E00 -1.08000E00 -1.52600E01 -1.38600E01 -1.40000E00 -1.45500E01 5.91000E00 8.00000E00 -1.85000E00 -8.00000E00 5.67000E00 4.76000E00 -9.18000E00 -5.54000E00 -1.07800E01 -9.17000E00 -1.55000E01 -2.00100E01 -3.64000E00 3.24000E00 3.33000E00 1.14200E01 1.87500E01 1.52900E01 2.07100E01 2.62800E01 2.30000E01 2.36000E01 1.62000E01 7.56000E00 -Frame 160 -2.35000E00 9.44000E00 -4.10000E-01 -4.56000E00 1.41700E01 -5.30000E-01 -6.80000E-01 1.51700E01 1.65000E01 6.86000E00 1.92000E00 1.28300E01 -8.93000E00 -5.35000E00 -5.65000E00 -7.95000E00 -7.31000E00 -1.86400E01 -8.30000E00 -5.63000E00 -1.87000E00 -2.99000E00 1.78600E01 1.03400E01 -2.42000E00 3.24300E01 4.23300E01 2.95000E01 4.62500E01 5.24800E01 3.08600E01 2.75500E01 1.01200E01 -6.85000E00 9.67000E00 -9.30000E00 -1.88400E01 -1.86500E01 -1.54300E01 -2.40900E01 3.01000E00 -5.05000E00 -5.35000E00 1.93500E01 3.80000E00 5.77000E00 1.98000E01 5.25000E00 6.25000E00 7.28000E00 -4.66000E00 -4.96000E00 -1.02600E01 1.29000E00 -8.00000E-01 3.05000E00 -2.98000E00 1.78100E01 1.92300E01 3.68000E00 8.65000E00 1.27700E01 -2.99000E00 6.77000E00 -4.17000E00 5.60000E-01 -3.56000E00 -8.00000E-01 -5.95000E00 -2.50000E-01 -3.37000E00 -1.15800E01 -6.03000E00 -2.30000E00 2.55000E00 1.55000E00 -2.48000E00 6.37000E00 -1.51000E00 -2.16300E01 -1.03500E01 -3.71000E00 -1.48600E01 -2.03400E01 -9.97000E00 -1.32700E01 -5.66000E00 1.19000E00 4.25000E00 1.04000E01 1.27300E01 7.12000E00 1.43300E01 5.75000E00 -6.10000E00 -1.03100E01 -5.64000E00 -1.78200E01 -1.23600E01 -1.27200E01 -7.08000E00 4.74000E00 -1.30800E01 -8.44000E00 1.03500E01 -1.29000E00 4.71000E00 9.89000E00 -1.47800E01 -2.00000E-01 -1.17000E00 -2.31700E01 -1.98300E01 -2.63700E01 -2.70900E01 -1.98100E01 -2.12900E01 -1.08000E01 -1.59800E01 -1.83100E01 -5.70000E00 -1.17000E01 -1.28800E01 -9.00000E-02 -1.91000E00 -7.79000E00 -9.85000E00 -7.97000E00 -1.50300E01 -2.53000E01 -1.48700E01 -2.01100E01 -1.55000E01 -1.97400E01 -2.21000E01 -7.52000E00 1.45100E01 3.32000E01 4.14300E01 6.68700E01 7.60300E01 6.44000E01 5.23500E01 4.78800E01 3.32300E01 2.71000E01 1.67600E01 -1.91000E00 -1.31500E01 -1.67200E01 -2.83800E01 -2.13700E01 -9.12000E00 -1.04800E01 -4.87000E00 1.39200E01 2.52800E01 5.97000E00 -9.40000E-01 1.29400E01 -Frame 160 3.24000E00 -1.17600E01 -1.12100E01 -1.36300E01 -6.11000E00 -8.35000E00 -4.65000E00 3.17000E00 -7.70000E-01 7.17000E00 2.13500E01 1.49500E01 2.83400E01 3.21200E01 2.29900E01 1.65600E01 8.92000E00 -1.96000E00 3.83000E00 -5.20000E00 -3.50000E00 -3.74000E00 -7.98000E00 -1.03400E01 6.24000E00 1.53300E01 3.69000E00 1.26900E01 1.09600E01 4.17000E00 -2.83000E00 -1.30400E01 -1.15500E01 -1.70000E01 -1.46000E01 -1.91100E01 -8.74000E00 -1.60400E01 -6.55000E00 -6.76000E00 6.03000E00 1.82100E01 1.97500E01 1.03200E01 8.59000E00 1.38000E01 8.16000E00 3.34000E00 -8.63000E00 -1.19600E01 -1.03800E01 -3.74000E00 -8.90000E-01 -7.95000E00 -4.22000E00 7.63000E00 8.40000E-01 2.84000E00 2.90000E00 1.69600E01 -1.56000E00 -8.65000E00 -1.09500E01 -1.93100E01 -8.91000E00 -1.71800E01 -1.76900E01 -7.20000E00 -7.38000E00 -6.56000E00 4.29000E00 -1.53000E00 1.44700E01 8.95000E00 1.72500E01 1.67900E01 9.30000E00 -2.43000E00 1.48000E00 1.75100E01 3.02000E00 -3.92000E00 9.93000E00 3.20000E00 -5.74000E00 -9.50000E-01 6.99000E00 1.11700E01 9.47000E00 -2.90000E-01 3.65000E00 3.71000E00 -1.52300E01 -3.74000E00 -1.38900E01 -9.34000E00 -1.64000E00 6.30000E00 2.48000E00 -2.46000E00 8.45000E00 9.69000E00 2.39600E01 2.66500E01 1.74000E01 1.38500E01 2.71800E01 2.39000E01 -2.50000E00 -7.71000E00 2.93000E00 -1.31000E01 -1.46100E01 -1.81500E01 -2.07800E01 -7.47000E00 -1.77400E01 6.90000E-01 1.76900E01 6.20000E00 1.35000E00 1.53500E01 9.77000E00 -4.99000E00 1.80000E00 -9.20000E00 -6.53000E00 -4.77000E00 -1.39500E01 -5.40000E00 6.42000E00 -1.40000E00 5.40000E-01 2.54000E00 6.00000E-01 -4.00000E-01 -4.30000E-01 5.40000E-01 -1.46000E00 -1.05200E01 -3.85000E00 -5.97000E00 -1.51500E01 -1.86000E01 1.86000E00 -1.20500E01 -8.38000E00 -6.59000E00 -7.74000E00 2.08000E00 2.20000E00 -2.68000E00 -1.71000E00 -7.71000E00 -1.28900E01 -2.20000E-01 -1.71600E01 -1.06100E01 -7.85000E00 -1.10000E01 -Frame 160 -2.12400E01 -1.37800E01 -2.08000E00 -3.02000E00 -6.99000E00 9.20000E-01 -1.93000E00 1.30000E-01 -3.75000E00 5.25000E00 -4.48000E00 -5.10000E-01 -1.04200E01 -1.36300E01 -1.79300E01 -2.43500E01 -7.95000E00 -2.04000E00 -4.95000E00 -1.09500E01 -8.13000E00 -1.22000E00 -1.01000E01 -2.25000E00 -6.16000E00 -1.31900E01 -6.43000E00 -7.46000E00 -2.15200E01 -2.10000E01 -7.45000E00 -8.48000E00 -2.25400E01 -1.30200E01 -6.20000E00 -2.17000E00 -1.02000E00 1.60000E-01 3.70000E-01 6.58000E00 -3.03000E00 -1.19400E01 -1.41200E01 -5.36000E00 -1.33300E01 -1.65400E01 -5.84000E00 -1.18100E01 -6.96000E00 -1.29600E01 -8.14000E00 -2.17000E00 -2.00000E-02 -8.10000E-01 -7.63000E00 -1.46600E01 -1.29000E01 -5.08000E00 -1.60200E01 -1.42900E01 -2.15000E01 -6.92000E00 2.11000E00 2.44100E01 2.53700E01 5.03300E01 4.10100E01 3.73600E01 3.55600E01 2.26700E01 1.93600E01 1.69300E01 4.41000E00 -1.05000E01 -9.86000E00 -2.11900E01 -3.18500E01 -1.68100E01 -2.90000E-01 -2.26000E00 6.71000E00 1.19500E01 1.73400E01 8.88000E00 2.01500E01 1.97500E01 7.32000E00 -1.55000E01 -2.01000E00 -6.10000E00 -2.33100E01 -1.00300E01 -2.33000E00 -1.53900E01 -1.18400E01 3.83000E00 3.98000E00 1.81300E01 1.47000E01 1.71500E01 1.96600E01 1.32300E01 4.59000E00 6.80000E-01 -1.13500E01 -3.74000E00 -6.89000E00 -1.11300E01 -2.34900E01 -6.21000E00 5.61000E00 3.79000E00 1.99100E01 1.25100E01 7.87000E00 1.70800E01 7.56000E00 -5.26000E00 -2.47000E00 -8.59000E00 -1.28900E01 -2.73100E01 -1.91500E01 -6.72000E00 -1.89000E01 -1.64400E01 7.11000E00 1.13800E01 -1.23000E00 5.77000E00 7.98000E00 4.25000E00 5.40000E00 8.58000E00 -5.15000E00 -2.30000E00 -1.03600E01 -9.66000E00 -5.93000E00 -1.08000E00 -4.08000E00 8.30000E-01 -1.11000E00 -4.11000E00 3.80000E00 -5.00000E-02 1.09800E01 1.23400E01 -2.70000E-01 -7.27000E00 -5.48000E00 -3.63000E00 -1.37200E01 -5.11000E00 -1.12300E01 -7.53000E00 -5.71000E00 -8.83000E00 9.60000E-01 1.00500E01 -Frame 160 2.44100E01 3.41900E01 1.92400E01 3.81000E00 2.59000E01 1.36500E01 -5.99000E00 1.07700E01 1.60400E01 1.46000E00 4.43000E00 4.90000E-01 2.43000E00 -1.57000E00 -6.90000E-01 6.22000E00 3.34000E00 -1.36300E01 -1.21100E01 1.47000E00 -4.53000E00 -2.71000E00 -1.68300E01 -4.37000E00 2.48000E00 -2.46000E00 -4.55000E00 4.30000E00 1.42000E00 -3.55000E00 -5.67000E00 -7.85000E00 -3.09000E00 -1.18000E00 1.79000E00 3.85000E00 2.97000E00 -1.29400E01 -5.33000E00 -5.48000E00 -5.63000E00 -1.97800E01 1.65000E00 -2.60000E-01 -2.02300E01 -1.68000E01 -6.25000E00 -1.37000E00 5.66000E00 -1.21000E01 -9.40000E00 -5.61000E00 -1.37000E01 -1.20300E01 -8.30000E00 -4.50000E-01 -3.36000E00 -1.53600E01 -1.17200E01 -8.96000E00 -1.31100E01 -1.83800E01 -6.80000E00 -7.86000E00 -1.89500E01 -1.03700E01 -5.20000E-01 -6.37000E00 -8.40000E00 -6.49000E00 -5.52000E00 -1.25200E01 -2.37300E01 -7.27000E00 7.00000E-01 -8.09000E00 -1.91500E01 -8.54000E00 -6.60000E00 -9.60000E00 -6.90000E-01 -5.51000E00 -1.14800E01 -9.63000E00 -1.57200E01 -1.99900E01 -2.13800E01 -2.48000E01 -1.83100E01 -2.16100E01 -2.10000E01 -1.53600E01 -2.75400E01 -3.50800E01 -1.98300E01 -1.41000E01 -2.51900E01 -1.56100E01 -9.73000E00 -1.26700E01 -2.07000E01 -1.99700E01 -1.12100E01 -2.41800E01 -2.65400E01 -1.79600E01 -5.11000E00 -1.87000E00 1.34600E01 2.22400E01 2.52600E01 3.93400E01 5.68100E01 5.67600E01 4.66500E01 4.01800E01 4.34700E01 1.78200E01 1.36000E00 -1.06100E01 -6.94000E00 -1.71500E01 -2.96600E01 -3.45300E01 -2.75200E01 -9.27000E00 -8.45000E00 -1.26000E01 6.13000E00 1.34300E01 9.94000E00 1.03300E01 1.77200E01 9.32000E00 -7.35000E00 2.47000E00 -5.41000E00 -1.15300E01 -1.68300E01 -7.28000E00 1.57000E00 -4.31000E00 2.63000E00 1.57800E01 1.83200E01 2.19200E01 7.61000E00 1.48500E01 2.33000E01 1.89900E01 2.53000E00 -1.04400E01 7.20000E00 -4.62000E00 2.20000E00 -1.27700E01 -1.41900E01 5.36000E00 -4.90000E-01 -2.52000E00 -Frame 160 9.39000E00 7.66000E00 -3.13000E00 -1.25000E00 4.69000E00 -4.19000E00 -1.03400E01 1.33000E00 -7.64000E00 -1.88800E01 -8.45000E00 -1.16900E01 -1.60200E01 -1.24700E01 -4.80000E00 5.11000E00 5.32000E00 1.45300E01 1.10100E01 1.53700E01 1.08500E01 1.31800E01 5.70000E-01 5.70000E-01 -4.43000E00 -8.58000E00 -6.85000E00 -7.06000E00 -1.42700E01 -2.69000E00 -7.75000E00 4.00000E-02 4.07000E00 6.22000E00 1.64300E01 1.09400E01 3.27000E00 3.36000E00 5.45000E00 -8.40000E00 -1.67000E00 -3.73000E00 -4.85000E00 -1.00000E01 -1.03000E01 -4.60000E00 -2.72000E00 4.22000E00 1.23700E01 2.76000E00 8.50000E-01 1.88800E01 6.45000E00 7.63000E00 5.84000E00 8.99000E00 8.23000E00 -4.56000E00 1.26000E00 -5.74000E00 -7.95000E00 -2.20000E-01 -2.50000E-01 7.20000E-01 -6.28000E00 1.05100E01 3.81000E00 7.90000E00 9.11000E00 4.35000E00 1.04400E01 3.71000E00 -7.23000E00 3.50000E00 4.56000E00 -5.35000E00 -4.56000E00 -9.74000E00 1.93000E00 2.96000E00 2.00000E-02 -2.01000E00 -3.10000E00 1.97800E01 1.13500E01 1.65000E00 4.65000E00 -2.60000E-01 -3.32000E00 3.53000E00 2.59000E00 -3.38000E00 -7.53000E00 -1.80000E00 1.10000E-01 -4.92000E00 -1.00000E-01 5.87000E00 -9.80000E-01 4.96000E00 1.08000E00 6.08000E00 6.23000E00 4.38000E00 -6.53000E00 -1.07700E01 -2.13000E00 -5.22000E00 -1.14000E01 -9.76000E00 9.40000E-01 9.70000E-01 -7.00000E00 -9.21000E00 -8.48000E00 -3.72000E00 1.19000E00 3.25000E00 -8.63000E00 -1.87000E00 -8.90000E00 -2.14000E00 -4.17000E00 -1.02600E01 -4.53000E00 1.38000E00 -1.65300E01 -9.98000E00 -8.22000E00 -7.40000E00 -1.55000E00 -3.52000E00 -1.25500E01 -2.85000E00 -1.85000E00 -4.82000E00 -1.28800E01 -2.18000E00 2.85000E00 -4.97000E00 -1.20300E01 -7.30000E00 5.80000E-01 -8.30000E00 -1.14500E01 -1.16900E01 -1.09300E01 -1.81400E01 -1.05600E01 -4.74000E00 -5.74000E00 -7.77000E00 -4.86000E00 -3.86000E00 -3.83000E00 -2.80000E00 -9.74000E00 -4.89000E00 -8.90000E-01 -2.77000E00 -Frame 160 -9.71000E00 -8.86000E00 -8.98000E00 -2.10000E00 -6.01000E00 -7.04000E00 -1.41000E01 1.63000E00 -8.16000E00 -1.42500E01 1.48000E00 -1.31000E00 -1.31900E01 -9.43000E00 -1.05500E01 -9.70000E00 -1.82000E00 -2.70000E00 -5.61000E00 -6.10000E-01 3.54000E00 -1.51900E01 -2.49000E00 -3.40000E00 -4.34000E00 -1.43100E01 -8.58000E00 7.33000E00 -1.28000E00 -4.16000E00 -1.13000E00 -1.00000E-02 -8.60000E-01 4.26000E00 -5.47000E00 -3.50000E00 4.53000E00 -4.20000E00 -4.20000E00 2.80000E00 5.01000E00 -1.37200E01 -1.00200E01 8.00000E-01 -5.05000E00 -9.08000E00 -4.23000E00 7.70000E-01 1.92000E00 -9.00000E-01 -4.81000E00 8.16000E00 -3.48000E00 -4.48000E00 -5.10000E-01 5.80000E-01 1.70000E00 5.85000E00 3.12000E00 2.30000E00 4.50000E-01 -1.46000E00 -4.30000E-01 6.30000E-01 4.72000E00 2.93000E00 2.08000E00 7.20000E00 4.70000E-01 5.30000E-01 5.59000E00 1.28000E01 1.22000E00 1.28000E00 7.34000E00 1.25800E01 -5.03000E00 8.20000E-01 1.85000E00 -9.00000E-02 6.91000E00 2.12000E00 1.41800E01 7.60000E00 1.08100E01 4.11000E00 6.20000E00 4.35000E00 7.44000E00 -3.38000E00 7.47000E00 5.65000E00 2.77000E00 4.80000E00 3.89000E00 7.95000E00 1.11300E01 5.40000E00 1.14900E01 1.47600E01 9.12000E00 4.30000E00 9.33000E00 9.51000E00 2.69000E00 2.66000E00 2.63000E00 -2.40000E00 -9.58000E00 3.00000E-02 -3.06000E00 -6.24000E00 3.49000E00 4.52000E00 1.05800E01 5.82000E00 1.09100E01 6.15000E00 5.24000E00 3.30000E00 8.30000E00 1.45000E00 4.39000E00 2.42000E00 -1.61000E00 2.24000E00 -2.79000E00 5.03000E00 -5.91000E00 1.82000E00 -1.21000E00 -3.33000E00 3.49000E00 8.52000E00 -2.30000E00 -4.45000E00 8.34000E00 7.52000E00 3.67000E00 -1.30000E00 -4.42000E00 6.37000E00 -3.51000E00 1.31000E00 3.28000E00 -6.69000E00 -2.96000E00 6.89000E00 5.04000E00 2.13000E00 1.13000E00 5.10000E00 2.19000E00 2.19000E00 7.19000E00 -5.66000E00 -7.90000E00 5.80000E00 2.92000E00 -7.05000E00 -Frame 160 6.80000E-01 1.65000E00 6.50000E-01 -3.80000E-01 -2.44000E00 3.44000E00 -3.50000E00 -6.50000E-01 8.29000E00 -3.50000E00 -1.65000E00 8.26000E00 -5.30000E-01 2.41000E00 -3.56000E00 -7.71000E00 -9.98000E00 -7.31000E00 -5.55000E00 -1.17300E01 -1.09000E00 -1.20000E-01 -1.12000E00 -4.15000E00 4.73000E00 3.88000E00 5.00000E00 8.15000E00 -6.10000E-01 -6.64000E00 -7.85000E00 -6.09000E00 -6.27000E00 -9.45000E00 -6.72000E00 -8.90000E00 -3.14000E00 -4.20000E00 -9.29000E00 4.70000E-01 -1.47000E00 -5.47000E00 -5.59000E00 -9.71000E00 -3.95000E00 -4.01000E00 -6.07000E00 -4.19000E00 -1.02500E01 -6.49000E00 -3.61000E00 3.60000E-01 -8.55000E00 -8.73000E00 -8.91000E00 -8.09000E00 -7.24000E00 -3.36000E00 -5.36000E00 -1.14200E01 -4.66000E00 -9.69000E00 1.30000E-01 6.25000E00 2.55000E00 5.73000E00 1.40000E01 1.75100E01 1.01100E01 2.34700E01 2.62200E01 2.40300E01 2.17500E01 1.03800E01 1.96500E01 1.91900E01 7.00000E-01 2.64000E00 6.64000E00 4.76000E00 -6.18000E00 4.55000E00 -6.39000E00 -4.66000E00 2.13000E00 -2.87000E00 4.98000E00 1.07000E00 2.04000E00 2.04000E00 7.04000E00 1.51900E01 -2.42000E00 -3.57000E00 1.25000E00 -7.80000E-01 3.13000E00 -1.84000E00 1.04000E00 2.01000E00 2.01000E00 3.01000E00 8.04000E00 6.22000E00 4.34000E00 1.54000E01 1.67900E01 9.21000E00 -6.10000E-01 4.27000E00 9.30000E00 1.74800E01 -1.10000E00 7.50000E-01 4.66000E00 -7.31000E00 -3.64000E00 -8.85000E00 7.90000E-01 6.73000E00 -7.15000E00 -4.50000E-01 8.46000E00 8.64000E00 1.82000E00 6.79000E00 -3.09000E00 -9.27000E00 2.37000E00 -6.30000E-01 -1.07200E01 -1.11000E00 2.80000E00 1.83000E00 8.30000E-01 5.80000E00 5.92000E00 7.04000E00 1.71900E01 9.64000E00 8.50000E-01 4.79000E00 5.85000E00 8.94000E00 6.12000E00 -7.90000E-01 -7.91000E00 7.60000E-01 -3.30000E00 -5.48000E00 -3.72000E00 -4.90000E00 -1.11000E00 7.80000E00 -1.02000E00 3.89000E00 4.95000E00 1.10400E01 -6.90000E-01 6.22000E00 -Frame 160 7.34000E00 -5.10000E-01 7.40000E00 1.15500E01 -6.18000E00 -2.45000E00 3.40000E00 4.43000E00 -2.51000E00 -1.66000E00 1.62200E01 1.06400E01 6.88000E00 6.00000E00 1.00900E01 1.63000E01 9.69000E00 2.78700E01 1.35900E01 1.08600E01 1.90400E01 6.46000E00 5.49000E00 1.14900E01 8.67000E00 7.60000E-01 -1.33900E01 -2.96000E00 2.80000E00 7.40000E-01 6.20000E-01 -5.00000E-01 -5.65000E00 9.05000E00 1.52000E01 1.53000E00 9.44000E00 1.75900E01 1.39800E01 -6.75000E00 -9.11000E00 1.04700E01 7.65000E00 -2.26000E00 5.30000E-01 -9.59000E00 -8.01000E00 -9.37000E00 6.24000E00 8.33000E00 -3.52000E00 9.27000E00 1.24500E01 2.72000E00 3.69000E00 1.16900E01 5.93000E00 1.19900E01 8.23000E00 4.35000E00 -5.65000E00 -9.50000E-01 1.90000E00 -8.16000E00 -3.52000E00 -1.73000E00 -6.88000E00 -7.18000E00 1.52000E00 -1.51000E00 1.37000E00 1.34000E00 -5.69000E00 -5.93000E00 -1.70000E-01 2.77000E00 1.80000E00 -1.20000E00 -3.29000E00 -5.44000E00 -6.50000E-01 -7.71000E00 -9.80000E-01 8.96000E00 -8.00000E-01 -8.60000E-01 5.08000E00 9.20000E00 9.44000E00 -4.32000E00 1.25000E01 4.83000E00 -3.08000E00 -2.30000E-01 3.71000E00 -3.23000E00 1.62000E00 6.62000E00 -1.23000E00 -8.32000E00 2.38000E00 -1.59000E00 1.32000E00 7.32000E00 -1.50000E00 -5.59000E00 6.20000E00 3.35000E00 -3.59000E00 -4.74000E00 3.08000E00 2.14000E00 -3.83000E00 -5.98000E00 3.81000E00 1.90000E00 2.93000E00 6.99000E00 -4.83000E00 -5.01000E00 4.81000E00 1.93000E00 -4.00000E-02 9.93000E00 -3.80000E00 -4.95000E00 6.87000E00 -2.95000E00 -9.07000E00 3.63000E00 -1.28000E00 -3.40000E-01 -8.37000E00 -1.64000E00 7.30000E00 -1.49000E00 8.45000E00 6.90000E-01 4.69000E00 -1.19000E00 7.50000E-01 1.37500E01 -5.86000E00 6.93000E00 5.11000E00 1.23000E00 -9.77000E00 -4.10000E00 1.37500E01 -1.86000E00 -3.95000E00 9.90000E00 6.17000E00 -1.68000E00 1.23000E00 1.02300E01 5.50000E00 -3.80000E-01 5.56000E00 8.68000E00 -Frame 160 6.89000E00 2.04000E00 7.04000E00 3.19000E00 3.22000E00 4.25000E00 3.10000E-01 6.25000E00 1.53700E01 6.76000E00 3.88000E00 5.91000E00 1.30000E01 4.30000E00 -6.70000E-01 1.92100E01 6.90000E-01 -2.40000E00 4.20000E-01 3.33000E00 -6.70000E-01 8.21000E00 3.60000E-01 -7.30000E-01 3.15000E00 1.15000E00 1.50900E01 1.74500E01 -6.13000E00 1.45700E01 1.19000E01 1.14000E00 5.05000E00 1.30800E01 8.35000E00 -4.53000E00 2.00000E-01 4.08000E00 1.08000E00 -4.01000E00 -2.50000E-01 7.63000E00 6.75000E00 4.84000E00 -3.13000E00 5.66000E00 9.72000E00 2.90000E00 6.87000E00 7.96000E00 -9.20000E-01 1.93000E00 3.87000E00 5.87000E00 4.93000E00 2.96000E00 -3.07000E00 7.20000E-01 9.63000E00 6.81000E00 2.90000E00 1.87000E00 -4.19000E00 5.70000E-01 3.48000E00 -2.52000E00 -7.70000E00 2.97000E00 4.97000E00 -3.97000E00 -1.18000E00 3.70000E00 -1.27000E00 -4.39000E00 1.04000E01 6.40000E-01 -8.42000E00 2.25000E00 3.25000E00 5.28000E00 2.37000E00 -1.46300E01 -1.14000E00 -2.23000E00 1.65000E00 -3.50000E-01 1.59000E00 -1.41000E00 4.50000E00 3.59000E00 -1.35000E00 -3.44000E00 2.41000E00 4.40000E-01 -1.59000E00 -6.80000E-01 -9.74000E00 5.93000E00 -2.92000E00 -4.04000E00 -4.19000E00 -5.34000E00 9.48000E00 -8.25000E00 4.48000E00 1.60000E00 -1.37000E00 -6.43000E00 3.36000E00 -2.55000E00 -1.64000E00 -2.70000E00 1.21000E00 -8.76000E00 -2.03000E00 -9.00000E-02 1.91000E00 2.97000E00 -9.40000E-01 9.03000E00 -8.70000E00 -3.97000E00 1.91000E00 -9.03000E00 -7.30000E00 -2.51000E00 -1.57000E00 -1.60000E00 -2.63000E00 1.31000E00 -3.63000E00 -7.20000E-01 -4.72000E00 3.16000E00 2.80000E-01 -4.69000E00 -3.81000E00 4.10000E00 -3.75000E00 -1.84000E00 -4.87000E00 -7.99000E00 -5.20000E00 -1.53200E01 1.26000E00 -2.65000E00 -5.68000E00 2.00000E-01 -7.40000E-01 2.90000E-01 3.35000E00 2.50000E00 -1.38000E00 -3.80000E-01 4.65000E00 -1.17000E00 -6.17000E00 -6.32000E00 -4.70000E-01 -3.44000E00 -Frame 160 3.50000E00 1.65000E00 -5.26000E00 -5.38000E00 5.00000E-01 6.56000E00 -9.20000E00 6.56000E00 6.80000E00 2.04000E00 1.31300E01 6.55000E00 1.57600E01 9.24000E00 -4.90000E-01 4.48000E00 7.60000E00 1.81000E00 5.84000E00 1.29900E01 4.35000E00 7.44000E00 6.62000E00 2.77000E00 1.08000E01 6.07000E00 1.21900E01 -1.51000E00 8.37000E00 3.55000E00 5.58000E00 1.36700E01 4.00000E00 4.03000E00 2.06000E00 -2.97000E00 8.50000E-01 -3.21000E00 6.10000E-01 1.35500E01 1.88000E00 4.85000E00 1.19100E01 2.18000E00 2.15000E00 1.51200E01 1.48000E00 -5.80000E-01 7.30000E00 7.42000E00 4.54000E00 3.57000E00 4.57000E00 1.26000E01 2.87000E00 5.84000E00 2.90000E00 -2.13000E00 1.06900E01 6.90000E00 4.99000E00 -5.98000E00 1.72000E00 2.66000E00 -5.37000E00 3.60000E-01 4.27000E00 3.00000E-01 -7.90000E-01 1.00900E01 7.30000E00 5.42000E00 5.48000E00 4.54000E00 1.57000E00 -8.49000E00 -3.85000E00 1.94000E00 5.91000E00 4.00000E00 7.03000E00 2.15000E00 -8.80000E-01 -3.00000E00 8.20000E-01 -1.24000E00 6.40000E-01 4.58000E00 -2.36000E00 -5.10000E-01 5.40000E00 6.49000E00 -1.39000E00 -2.51000E00 -1.66000E00 2.20000E-01 3.16000E00 2.19000E00 4.19000E00 1.25000E00 -7.80000E-01 1.13000E00 -9.00000E-01 -3.99000E00 8.30000E-01 -3.20000E00 6.65000E00 5.80000E00 -4.08000E00 -1.26000E00 -4.35000E00 3.47000E00 -5.47000E00 2.32000E00 6.35000E00 5.00000E-01 4.47000E00 1.85600E01 9.07000E00 3.28000E00 3.10000E-01 7.25000E00 -6.00000E-01 -1.06900E01 1.92000E00 -4.08000E00 -1.02600E01 -6.62000E00 -8.60000E-01 1.08000E00 -6.92000E00 8.40000E-01 2.84000E00 -8.10000E00 3.63000E00 1.72000E00 -1.25000E00 6.90000E-01 5.69000E00 1.84000E00 -4.13000E00 -7.28000E00 -7.52000E00 -3.76000E00 1.12000E00 -1.08500E01 -8.18000E00 -3.42000E00 -8.51000E00 -3.75000E00 -8.84000E00 -1.08000E00 -1.08000E00 -6.08000E00 -2.30000E-01 3.80000E00 -9.05000E00 -7.29000E00 -5.47000E00 -1.15900E01 -Frame 160 -3.89000E00 -3.95000E00 -4.01000E00 1.93000E00 -5.95000E00 -1.07000E00 -7.04000E00 -1.41900E01 -1.05500E01 -2.79000E00 -4.79000E00 -1.28500E01 -1.50000E-01 -3.06000E00 -5.06000E00 -8.12000E00 -1.27000E00 2.79000E00 -3.03000E00 -6.03000E00 -4.12000E00 -7.15000E00 -1.27000E00 -1.12100E01 -4.50000E-01 -1.36000E00 -6.30000E00 -2.39000E00 -4.36000E00 -5.39000E00 -1.45000E00 -4.39000E00 -3.42000E00 -3.42000E00 -2.42000E00 -3.39000E00 -6.39000E00 2.52000E00 -3.30000E00 -1.03000E01 3.49000E00 -9.30000E00 -6.48000E00 4.43000E00 6.67000E00 9.70000E-01 -6.91000E00 -2.03000E00 0.00000E00 -1.91000E00 -8.88000E00 -3.06000E00 -2.06000E00 -1.03000E00 -2.97000E00 -3.97000E00 -4.00000E00 -7.03000E00 -1.15000E00 -9.09000E00 -9.27000E00 2.55000E00 1.73000E00 -5.12000E00 -5.18000E00 4.76000E00 -1.00000E01 -3.21000E00 -6.21000E00 2.70000E00 -1.12000E00 9.40000E-01 4.06000E00 2.27000E00 5.42000E00 -6.34000E00 -5.46000E00 -8.55000E00 -3.73000E00 2.24000E00 2.39000E00 -9.46000E00 2.33000E00 7.48000E00 -8.22000E00 2.60000E00 -4.25000E00 -9.31000E00 1.48000E00 7.60000E00 6.90000E00 -8.30000E-01 -8.00000E-01 2.30000E-01 -7.71000E00 -2.89000E00 2.08000E00 -1.80000E00 -2.80000E00 -2.83000E00 1.14000E00 -2.77000E00 7.20000E00 4.47000E00 6.50000E-01 -7.29000E00 1.25300E01 8.95000E00 -7.75000E00 9.04000E00 2.34000E00 1.43000E00 -1.51000E00 -1.54000E00 -1.57000E00 -4.60000E00 2.28000E00 4.37000E00 5.20000E-01 -1.45000E00 3.52000E00 6.40000E-01 6.70000E-01 8.70000E00 2.97000E00 -1.94000E00 5.00000E00 4.15000E00 -3.73000E00 6.15000E00 1.33000E00 -1.64000E00 1.30000E00 -2.67000E00 -8.76000E00 3.97000E00 1.09000E00 -4.88000E00 7.97000E00 9.21000E00 4.80000E-01 -5.20000E-01 2.45000E00 1.51000E00 6.54000E00 -2.80000E-01 2.69000E00 -1.25000E00 6.90000E-01 2.69000E00 -1.22500E01 -2.64000E00 -3.73000E00 -4.85000E00 1.00000E01 -1.70000E00 -2.76000E00 -8.50000E-01 -3.88000E00 1.00000E01 -Frame 160 3.30000E00 4.39000E00 2.51000E00 4.57000E00 1.69000E00 1.72000E00 -2.50000E-01 -3.28000E00 -4.40000E00 -5.55000E00 2.27000E00 3.33000E00 -5.58000E00 -2.76000E00 -3.85000E00 4.03000E00 -8.50000E-01 -6.88000E00 -2.09000E00 2.85000E00 9.40000E-01 -4.03000E00 -2.15000E00 1.79000E00 5.85000E00 -2.97000E00 4.94000E00 1.09000E00 -8.88000E00 -4.15000E00 3.73000E00 -6.15000E00 1.67000E00 -3.27000E00 -3.60000E-01 -3.60000E-01 -6.36000E00 -2.54000E00 -5.60000E00 -1.75000E00 2.20000E-01 -1.75000E00 1.22000E00 -7.20000E-01 -2.72000E00 5.22000E00 -7.60000E00 -4.81000E00 -2.93000E00 -5.99000E00 -3.14000E00 -2.00000E-01 -7.17000E00 1.65000E00 -4.26000E00 -9.35000E00 -7.59000E00 -3.77000E00 1.70000E-01 -1.77000E00 -7.77000E00 -9.50000E-01 1.08000E00 -5.83000E00 -3.95000E00 -7.01000E00 -2.16000E00 1.84000E00 -4.04000E00 -8.10000E00 3.72000E00 -1.10000E00 9.30000E-01 -6.98000E00 1.87000E00 -3.01000E00 -1.70400E01 -4.49000E00 -5.55000E00 -7.64000E00 -3.79000E00 -3.82000E00 -9.85000E00 -7.06000E00 -1.80000E-01 -1.10900E01 -7.33000E00 1.55000E00 -2.30000E00 -7.27000E00 6.10000E-01 -6.27000E00 -7.36000E00 -4.48000E00 -5.10000E-01 -4.20000E-01 -1.33000E00 7.30000E-01 -1.11500E01 -6.39000E00 -1.24800E01 2.25000E00 -3.57000E00 -1.05700E01 -7.78000E00 -9.00000E-01 -8.10000E-01 2.80000E-01 -7.60000E00 -3.72000E00 -6.72000E00 -3.81000E00 -4.81000E00 -5.84000E00 -2.90000E00 -2.87000E00 -6.84000E00 -7.93000E00 -2.05000E00 -2.99000E00 -6.96000E00 -7.05000E00 7.86000E00 -3.78000E00 -1.07800E01 2.01000E00 4.19000E00 -5.57000E00 -6.30000E-01 7.46000E00 -4.21000E00 -1.02400E01 -3.45000E00 -5.45000E00 -7.51000E00 -9.63000E00 4.19000E00 -1.57000E00 -6.51000E00 2.40000E00 1.58000E00 -5.27000E00 2.67000E00 2.85000E00 5.03000E00 -2.73000E00 -7.30000E-01 2.33000E00 -3.52000E00 4.45000E00 -9.34000E00 -4.55000E00 -6.10000E-01 -6.55000E00 6.33000E00 5.60000E00 3.84000E00 4.02000E00 3.20000E00 -9.65000E00 -Frame 160 -6.89000E00 9.60000E-01 1.05000E00 1.14000E00 6.23000E00 -2.53000E00 -1.25600E01 -8.90000E-01 3.14000E00 5.29000E00 -5.00000E-01 -1.44700E01 -3.86000E00 -2.92000E00 -3.95000E00 6.99000E00 -2.74000E00 -2.77000E00 4.20000E00 3.38000E00 -3.47000E00 4.47000E00 1.65000E00 -7.26000E00 -3.44000E00 3.50000E00 1.65000E00 -8.26000E00 -4.70000E-01 -5.44000E00 -6.56000E00 7.29000E00 -2.44000E00 5.30000E-01 2.59000E00 1.71000E00 8.00000E-01 -1.14000E00 -2.14000E00 2.83000E00 1.95000E00 -1.96000E00 1.00000E-02 -1.96000E00 -1.99000E00 3.98000E00 1.30000E-01 -7.84000E00 9.50000E-01 -5.99000E00 -1.31400E01 4.50000E00 -4.32000E00 -3.41000E00 -3.47000E00 4.47000E00 -2.35000E00 -1.38000E00 3.62000E00 5.77000E00 -1.02000E00 1.98000E00 3.07000E00 -8.10000E-01 -7.81000E00 9.98000E00 2.31000E00 -7.60000E00 -5.81000E00 -2.96000E00 7.98000E00 -2.75000E00 -1.81000E00 5.16000E00 -2.66000E00 -5.72000E00 1.13000E00 -2.81000E00 -7.87000E00 9.20000E-01 -2.02000E00 1.95000E00 3.04000E00 -4.84000E00 -7.96000E00 -1.70000E-01 -2.14000E00 -2.17000E00 1.80000E00 5.89000E00 4.10000E00 -6.75000E00 -2.93000E00 1.01000E00 5.07000E00 -2.75000E00 -6.81000E00 -3.99000E00 -8.08000E00 -3.29000E00 3.65000E00 8.00000E-01 -1.40000E-01 1.89000E00 -2.02000E00 -2.05000E00 4.92000E00 -9.00000E-01 -6.90000E00 -2.08000E00 -3.11000E00 -4.17000E00 -4.26000E00 -2.35000E00 4.62000E00 2.80000E00 -8.08000E00 -4.29000E00 -3.80000E-01 1.65000E00 -3.26000E00 -4.32000E00 2.59000E00 -2.29000E00 6.80000E-01 1.74000E00 2.83000E00 3.95000E00 2.10000E00 1.90000E-01 -5.78000E00 2.07000E00 -8.40000E-01 -1.18400E01 6.83000E00 -6.93000E00 -1.10000E-01 -2.08000E00 3.89000E00 4.04000E00 -2.81000E00 1.30000E-01 -4.84000E00 -4.96000E00 -7.08000E00 4.74000E00 -1.08000E00 -2.08000E00 2.89000E00 -2.99000E00 -3.05000E00 8.90000E-01 -1.05000E00 -1.30500E01 5.90000E-01 5.65000E00 -7.14000E00 -2.32000E00 -3.35000E00 5.90000E-01 -Frame 160 -7.35000E00 6.47000E00 5.71000E00 -8.08000E00 5.71000E00 2.92000E00 -3.96000E00 -2.05000E00 9.20000E-01 -2.02000E00 -3.05000E00 -2.11000E00 2.86000E00 -9.02000E00 -7.26000E00 4.56000E00 7.40000E-01 -5.20000E00 6.68000E00 2.92000E00 -5.96000E00 -6.11000E00 6.74000E00 -2.02000E00 -4.05000E00 -6.14000E00 2.71000E00 6.83000E00 -5.93000E00 -7.08000E00 3.74000E00 -6.11000E00 -1.02600E01 4.70000E-01 -2.47000E00 -2.50000E00 4.70000E-01 -4.70000E-01 -2.44000E00 -6.47000E00 -4.62000E00 -7.10000E-01 4.32000E00 -6.50000E00 -3.65000E00 -6.71000E00 -4.86000E00 9.05000E00 2.38000E00 -7.50000E00 2.32000E00 -1.56000E00 -3.56000E00 2.38000E00 3.50000E00 -3.35000E00 -2.41000E00 4.56000E00 -2.60000E-01 -1.23000E00 -1.22300E01 -7.56000E00 -5.74000E00 -1.86000E00 -1.86000E00 -3.86000E00 -2.92000E00 -1.95000E00 5.00000E-02 -8.90000E-01 -6.86000E00 1.99000E00 7.11000E00 3.80000E-01 4.40000E-01 -1.50000E00 -6.50000E00 -1.06500E01 1.08000E00 3.17000E00 -9.68000E00 -8.92000E00 -5.13000E00 5.78000E00 -1.98000E00 -2.98000E00 -5.01000E00 9.00000E-01 -2.01000E00 -4.01000E00 5.93000E00 9.17000E00 -7.50000E00 -8.68000E00 -8.90000E-01 -6.86000E00 4.99000E00 2.00000E-01 -4.74000E00 -3.83000E00 -1.89000E00 -1.89000E00 2.11000E00 2.30000E-01 2.90000E-01 -7.65000E00 6.17000E00 5.41000E00 -7.38000E00 -3.56000E00 3.38000E00 -6.47000E00 8.38000E00 4.68000E00 -3.14000E00 -2.00000E-01 5.83000E00 -1.96000E00 -2.99000E00 -3.05000E00 -1.10000E-01 -1.08000E00 -6.08000E00 -1.23000E00 -2.30000E-01 -7.20000E00 2.62000E00 8.74000E00 -2.96000E00 -2.02000E00 4.95000E00 1.30000E-01 -8.40000E-01 5.16000E00 -1.66000E00 -2.69000E00 -4.75000E00 1.30000E-01 -8.40000E-01 -8.40000E-01 -5.84000E00 5.01000E00 1.19000E00 -3.75000E00 3.16000E00 -3.72000E00 -2.81000E00 7.13000E00 -1.63000E00 1.34000E00 -6.00000E-01 1.40000E00 4.46000E00 -1.03900E01 3.10000E-01 9.34000E00 -3.36000E00 -4.45000E00 3.43000E00 -4.45000E00 -Frame 160 -1.57000E00 9.40000E00 -1.30000E00 -3.33000E00 -1.42000E00 3.55000E00 1.67000E00 -5.27000E00 4.58000E00 -2.70000E-01 -1.27000E00 -3.00000E-01 3.70000E00 -4.18000E00 1.70000E00 1.76000E00 3.82000E00 9.40000E-01 9.70000E-01 8.00000E00 2.40000E-01 1.24000E00 1.27000E00 -8.70000E00 1.03000E00 -1.94000E00 5.00000E00 1.50000E-01 -8.50000E-01 4.12000E00 2.24000E00 -2.70000E00 5.21000E00 7.36000E00 -1.43000E00 9.51000E00 1.78000E00 -1.19000E00 -2.50000E-01 -1.28000E00 3.66000E00 -5.25000E00 -2.43000E00 1.48000E00 -2.49000E00 9.42000E00 -3.31000E00 2.57000E00 4.63000E00 -2.25000E00 2.66000E00 -1.28000E00 4.66000E00 1.78000E00 -3.19000E00 3.69000E00 -6.22000E00 4.57000E00 3.69000E00 -4.22000E00 -7.37000E00 3.39000E00 -3.52000E00 4.36000E00 1.48000E00 5.10000E-01 5.51000E00 -2.34000E00 6.57000E00 -2.50000E-01 7.20000E-01 8.72000E00 9.60000E-01 -4.00000E-02 1.19300E01 6.26000E00 -9.59000E00 -1.92000E00 -1.01000E00 3.93000E00 -1.98000E00 -7.00000E-02 8.90000E00 3.14000E00 -2.80000E00 5.08000E00 2.20000E00 -2.77000E00 -8.90000E-01 -1.95000E00 6.96000E00 1.14000E00 1.40000E-01 2.11000E00 1.01400E01 -2.59000E00 -6.71000E00 8.05000E00 1.26000E00 -1.74000E00 -5.83000E00 9.96000E00 -7.70000E-01 -1.83000E00 -5.92000E00 1.28700E01 4.23000E00 -7.68000E00 -2.95000E00 2.93000E00 9.90000E-01 -1.01000E00 4.93000E00 -4.95000E00 2.87000E00 9.30000E-01 -7.00000E-02 -2.10000E00 -4.19000E00 -2.34000E00 -2.43000E00 -5.20000E-01 -1.55000E00 -1.61000E00 -6.70000E-01 -7.70000E00 -3.94000E00 9.40000E-01 -4.03000E00 -1.50000E-01 1.08500E01 -2.82000E00 -2.91000E00 4.00000E00 -5.88000E00 -1.06000E00 4.91000E00 1.06000E00 3.09000E00 1.80000E-01 -3.82000E00 2.06000E00 -4.88000E00 -3.00000E-02 -2.03000E00 9.10000E-01 -5.06000E00 -1.21000E00 7.60000E-01 -4.21000E00 -1.33000E00 -1.36000E00 -1.39000E00 1.58000E00 -3.60000E-01 -2.36000E00 -8.42000E00 -6.60000E-01 1.34000E00 -6.60000E00 -Frame 160 -6.78000E00 6.04000E00 -1.75000E00 -7.78000E00 -1.99000E00 1.98000E00 -3.93000E00 -2.00000E-02 6.01000E00 -7.80000E-01 -4.78000E00 1.00000E-01 -6.87000E00 -1.05000E00 -5.00000E-02 -6.02000E00 -1.01700E01 3.56000E00 -3.29000E00 -3.35000E00 3.59000E00 -1.26000E00 -4.26000E00 -1.35000E00 -5.35000E00 -1.47000E00 1.53000E00 -1.38000E00 -5.38000E00 -1.50000E00 -5.00000E-01 1.53000E00 -1.03800E01 3.50000E-01 4.10000E-01 4.70000E-01 2.53000E00 6.50000E-01 -1.29000E00 -2.29000E00 -2.32000E00 -1.35000E00 -3.50000E-01 1.68000E00 -4.23000E00 -2.32000E00 4.65000E00 -9.17000E00 -1.41000E00 4.59000E00 -1.23000E00 -3.23000E00 1.71000E00 -6.20000E00 -5.35000E00 3.53000E00 1.68000E00 -2.30000E-01 3.80000E00 -5.00000E-02 -3.02000E00 9.20000E-01 2.98000E00 2.10000E00 -8.10000E-01 1.19000E00 4.25000E00 4.40000E00 2.55000E00 -3.36000E00 -1.45000E00 -4.48000E00 -1.60000E00 1.37000E00 2.43000E00 5.20000E-01 -2.45000E00 -1.51000E00 3.46000E00 5.80000E-01 6.10000E-01 -3.36000E00 -1.45000E00 4.52000E00 6.70000E-01 7.00000E-01 6.73000E00 2.94000E00 -8.97000E00 5.76000E00 7.94000E00 1.18000E00 -1.79000E00 5.15000E00 4.30000E00 -5.58000E00 2.24000E00 9.30000E00 -1.43000E00 -1.04900E01 7.18000E00 -1.61000E00 2.33000E00 7.39000E00 6.00000E-01 -3.40000E00 1.24800E01 7.84000E00 -2.95000E00 -1.07000E00 -5.13000E00 4.69000E00 1.81000E00 5.84000E00 3.99000E00 5.08000E00 2.00000E-01 -1.83000E00 8.00000E-02 1.05000E00 9.05000E00 2.29000E00 -6.80000E-01 2.60000E-01 7.23000E00 -1.59000E00 3.20000E-01 1.29000E00 1.29000E00 1.12900E01 -6.41000E00 9.35000E00 2.59000E00 -9.38000E00 6.29000E00 8.44000E00 1.65000E00 1.65000E00 9.65000E00 8.90000E-01 -1.40000E-01 2.80000E00 -1.70000E-01 -2.30000E-01 -2.90000E-01 4.65000E00 -1.26000E00 -6.35000E00 4.41000E00 9.50000E00 -3.26000E00 5.59000E00 7.71000E00 4.89000E00 3.98000E00 4.04000E00 -2.90000E00 -6.05000E00 7.10000E-01 1.68000E00 -Frame 160 -1.32000E00 -3.41000E00 4.44000E00 6.53000E00 6.80000E-01 -4.35000E00 -5.30000E-01 -5.90000E-01 5.35000E00 8.47000E00 6.68000E00 1.83000E00 -3.17000E00 -3.20000E-01 6.20000E-01 2.59000E00 -2.38000E00 1.50000E00 4.50000E00 -5.41000E00 2.38000E00 -2.59000E00 5.29000E00 3.41000E00 -1.53000E00 3.80000E-01 5.35000E00 4.70000E-01 -1.56000E00 2.35000E00 -2.62000E00 1.26000E00 -1.74000E00 8.17000E00 2.38000E00 -3.59000E00 3.26000E00 7.32000E00 -5.00000E-01 2.44000E00 -2.53000E00 1.35000E00 -6.50000E-01 1.29000E00 3.29000E00 -6.65000E00 -8.90000E-01 7.05000E00 4.23000E00 -3.68000E00 1.70000E-01 5.14000E00 -1.74000E00 -2.83000E00 3.05000E00 -2.89000E00 -4.01000E00 1.84000E00 1.18700E01 4.20000E00 -6.71000E00 1.05000E00 -9.50000E-01 -6.01000E00 -3.22000E00 -5.34000E00 4.48000E00 4.60000E00 -1.28000E00 -3.40000E-01 1.63000E00 6.60000E-01 6.60000E-01 4.66000E00 2.78000E00 -2.16000E00 -3.25000E00 -3.37000E00 -4.90000E-01 3.48000E00 -3.43000E00 2.45000E00 -1.49000E00 -4.55000E00 -1.70000E00 7.24000E00 1.45000E00 -5.20000E-01 8.45000E00 -3.10000E-01 -3.34000E00 5.40000E-01 -6.46000E00 -2.67000E00 -1.76000E00 -3.82000E00 4.06000E00 3.18000E00 -4.73000E00 4.12000E00 -4.76000E00 -5.91000E00 3.91000E00 3.03000E00 -1.88000E00 5.06000E00 -7.90000E-01 -2.82000E00 -9.10000E-01 -2.94000E00 -4.03000E00 1.85000E00 1.91000E00 1.97000E00 -1.97000E00 -5.03000E00 1.08200E01 4.15000E00 -7.73000E00 3.00000E-02 3.00000E-02 -2.97000E00 1.19400E01 -9.70000E00 -5.00000E00 1.85000E00 -6.09000E00 1.73000E00 -3.21000E00 -5.30000E00 2.55000E00 -4.36000E00 -2.48000E00 1.04600E01 7.90000E-01 -4.18000E00 -1.30000E00 -2.33000E00 2.61000E00 1.70000E00 -3.24000E00 6.70000E-01 -2.30000E00 1.64000E00 -3.00000E-01 -4.30000E00 -1.42000E00 5.50000E-01 -3.42000E00 4.49000E00 9.64000E00 -6.06000E00 -7.24000E00 3.55000E00 9.67000E00 -1.03000E00 -1.06000E00 -2.09000E00 -1.15000E00 1.82000E00 -Frame 160 -1.12000E00 -3.15000E00 -2.40000E-01 -2.40000E-01 5.76000E00 4.94000E00 -9.10000E-01 3.06000E00 5.15000E00 -2.70000E00 5.21000E00 5.36000E00 -1.49000E00 1.45000E00 3.48000E00 -4.30000E-01 4.54000E00 -4.34000E00 2.51000E00 5.57000E00 7.20000E-01 3.72000E00 2.81000E00 5.87000E00 -1.98000E00 -5.07000E00 5.75000E00 1.39000E01 -4.71000E00 -8.90000E-01 -4.95000E00 1.87000E00 7.90000E00 1.10000E-01 -9.20000E-01 8.02000E00 -1.77000E00 1.14000E00 7.14000E00 1.32000E00 5.32000E00 4.40000E-01 4.41000E00 1.50000E00 -2.50000E00 -3.62000E00 4.23000E00 3.32000E00 -1.62000E00 5.29000E00 5.41000E00 5.30000E-01 -1.50000E00 3.41000E00 4.70000E-01 3.44000E00 3.50000E00 4.56000E00 4.65000E00 -1.26000E00 5.65000E00 7.70000E-01 -2.26000E00 1.62000E00 3.62000E00 -3.32000E00 9.53000E00 1.27700E01 -4.90000E00 3.89000E00 2.95000E00 8.98000E00 6.19000E00 -5.69000E00 1.50700E01 8.46000E00 -6.36000E00 2.37000E00 3.37000E00 2.40000E00 1.40000E00 3.37000E00 8.40000E00 2.58000E00 2.58000E00 -2.42000E00 4.43000E00 7.49000E00 2.64000E00 2.64000E00 1.64000E00 1.61000E00 6.58000E00 -3.30000E00 8.52000E00 5.70000E00 9.79000E00 2.00000E00 4.97000E00 4.03000E00 5.06000E00 -3.88000E00 -1.09000E00 2.79000E00 -2.10000E-01 2.70000E00 8.70000E00 7.88000E00 -9.70000E-01 -1.00900E01 1.52000E00 1.49000E00 -6.54000E00 3.19000E00 6.22000E00 -1.66000E00 3.22000E00 8.25000E00 -1.57000E00 2.31000E00 -1.69000E00 4.19000E00 9.25000E00 4.60000E-01 1.40000E00 -3.63000E00 8.19000E00 5.37000E00 -3.54000E00 3.28000E00 -6.90000E-01 -3.78000E00 1.04000E00 2.01000E00 5.01000E00 3.10000E00 7.13000E00 4.28000E00 -6.60000E-01 -2.75000E00 3.10000E00 3.13000E00 1.60000E-01 -2.90000E00 -2.05000E00 -2.17000E00 4.71000E00 -3.20000E00 -1.35000E00 -1.44000E00 8.47000E00 2.68000E00 2.71000E00 5.74000E00 6.86000E00 3.01000E00 -4.96000E00 -1.17000E00 2.74000E00 -8.23000E00 -Frame 160 -1.53000E00 7.38000E00 5.60000E-01 8.53000E00 -3.26000E00 -6.41000E00 1.35000E00 1.35000E00 3.50000E-01 4.32000E00 4.41000E00 3.50000E00 -1.44000E00 -4.53000E00 1.29000E00 -7.10000E-01 -5.77000E00 4.02000E00 -2.89000E00 -2.01000E00 9.00000E-01 -1.00000E-01 9.87000E00 3.14000E00 2.00000E-01 -1.83000E00 1.08000E00 -2.92000E00 -6.04000E00 -1.25000E00 6.90000E-01 -3.10000E-01 -2.34000E00 -3.43000E00 -5.50000E-01 1.42000E00 4.50000E-01 -1.55000E00 5.39000E00 5.40000E-01 2.54000E00 1.26000E01 1.96000E00 2.99000E00 5.00000E-02 -2.98000E00 9.00000E-01 -1.10000E00 -1.16000E00 1.78000E00 -1.90000E-01 -1.22000E00 -2.28000E00 3.63000E00 7.20000E-01 -4.28000E00 -6.43000E00 -2.64000E00 -5.73000E00 -2.91000E00 -5.00000E00 -3.15000E00 2.76000E00 5.85000E00 1.03000E00 4.06000E00 -2.82000E00 -2.91000E00 0.00000E00 5.00000E00 1.15000E00 -4.82000E00 3.03000E00 -6.88000E00 5.91000E00 1.20900E01 -5.55000E00 -7.30000E-01 -1.76000E00 6.18000E00 -6.40000E-01 -8.67000E00 -2.94000E00 -2.03000E00 4.91000E00 6.00000E-02 -1.94000E00 1.00000E00 2.03000E00 -1.91000E00 6.03000E00 2.21000E00 -8.73000E00 5.00000E00 3.15000E00 -2.76000E00 -8.50000E-01 -3.88000E00 -1.00000E00 3.97000E00 9.00000E-02 -7.91000E00 -1.15000E00 -2.18000E00 -1.24000E00 1.73000E00 1.37900E01 2.10000E-01 -3.79000E00 1.09000E00 4.12000E00 5.24000E00 -4.61000E00 1.24000E00 1.27000E00 3.00000E-01 5.30000E00 1.45000E00 -5.20000E-01 3.45000E00 -3.46000E00 5.42000E00 5.57000E00 -5.28000E00 3.54000E00 6.63000E00 -1.19000E00 -5.25000E00 4.57000E00 2.69000E00 1.17500E01 1.08000E00 9.08000E00 -2.68000E00 1.20000E00 5.20000E00 -1.68000E00 3.23000E00 6.29000E00 1.44000E00 -2.56000E00 5.32000E00 -2.56000E00 -6.80000E-01 2.26000E00 7.29000E00 4.70000E-01 -5.60000E-01 1.03800E01 -3.50000E-01 -1.41000E00 8.50000E00 1.71000E00 -2.29000E00 1.05900E01 3.86000E00 -3.08000E00 3.77000E00 1.83000E00 3.83000E00 -Frame 160 5.89000E00 2.01000E00 -1.99000E00 -3.11000E00 1.07400E01 1.00000E-02 -7.05000E00 6.80000E-01 1.65000E00 4.65000E00 3.74000E00 7.80000E00 9.80000E-01 -5.00000E-02 7.89000E00 1.07000E00 5.04000E00 1.13000E00 -9.00000E-01 4.01000E00 1.07000E00 4.04000E00 1.10000E00 8.07000E00 1.25000E00 -2.78000E00 4.07000E00 2.13000E00 -8.70000E-01 5.04000E00 2.13000E00 -8.70000E-01 4.00000E-02 3.98000E00 8.04000E00 5.22000E00 3.31000E00 3.34000E00 4.37000E00 4.30000E-01 9.37000E00 2.58000E00 2.58000E00 2.58000E00 -4.20000E-01 -3.51000E00 1.31000E00 4.28000E00 7.34000E00 -5.51000E00 9.25000E00 3.46000E00 -1.51000E00 7.37000E00 4.52000E00 -2.42000E00 -1.57000E00 -6.90000E-01 5.22000E00 2.31000E00 -2.69000E00 5.16000E00 1.25000E00 -4.78000E00 3.01000E00 3.04000E00 -1.93000E00 4.95000E00 1.04000E00 -1.99000E00 4.89000E00 4.98000E00 -1.93000E00 -7.05000E00 1.36800E01 1.04000E00 -9.99000E00 2.65000E00 1.16800E01 7.98000E00 -4.84000E00 9.50000E-01 -3.08000E00 1.77000E00 4.77000E00 -1.14000E00 -2.23000E00 -3.50000E-01 8.59000E00 -4.20000E00 6.20000E-01 2.59000E00 6.20000E-01 5.90000E-01 -4.40000E-01 6.50000E00 1.65000E00 -5.35000E00 6.44000E00 -1.41000E00 -6.50000E00 -7.40000E-01 4.20000E00 -1.71000E00 -8.00000E-01 8.14000E00 1.03500E01 4.62000E00 -1.22900E01 -3.71000E00 1.14000E00 -4.86000E00 1.96000E00 -1.00000E-02 -2.04000E00 5.87000E00 2.00000E-02 9.90000E-01 -3.01000E00 -6.13000E00 1.66000E00 -8.31000E00 -1.58000E00 3.36000E00 -3.55000E00 -1.67000E00 4.27000E00 3.90000E-01 1.39000E00 -3.58000E00 3.30000E00 -3.61000E00 -7.30000E-01 -1.76000E00 -8.20000E-01 6.15000E00 -6.70000E-01 -8.70000E00 5.03000E00 -7.82000E00 2.94000E00 -9.70000E-01 -6.00000E00 4.82000E00 -3.03000E00 -4.12000E00 -2.24000E00 -1.30000E00 -2.33000E00 -7.39000E00 2.40000E00 4.90000E-01 1.52000E00 4.58000E00 2.73000E00 -5.18000E00 -8.33000E00 5.43000E00 -1.03900E01 -7.69000E00 -Signal: SpeechEndSignal -Signal: DataEndSignal: creation time: 1422745324687, duration: 5235ms diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-window.dump.REMOVED.git-id b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-window.dump.REMOVED.git-id deleted file mode 100644 index 5d81f95e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/after-window.dump.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -4b091263b283fa8fc19c849e6da1276c1c267f6a \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/frontend.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/frontend.xml deleted file mode 100755 index eceb3aee..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/frontend.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - melFilterBank - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - melFilterBank - dct - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - melFilterBank - dct - liveCMN - - - - - - audioFileDataSource - dataBlocker - speechClassifier - speechMarker - preemphasizer - windower - fft - melFilterBank - dct - liveCMN - featureExtraction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test-feat.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test-feat.wav deleted file mode 100755 index 450b42cb..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test-feat.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.aiff b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.aiff deleted file mode 100755 index da5a0d1b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.aiff and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.au b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.au deleted file mode 100755 index 3b2cea1b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.au and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.ogg b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.ogg deleted file mode 100755 index ef39a655..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.ogg and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.wav deleted file mode 100755 index 18945490..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test8k.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test8k.wav deleted file mode 100755 index 1dbc03a9..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/frontend/test8k.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst deleted file mode 100755 index de6cd3cc..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst.txt deleted file mode 100755 index 9ae01e89..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.fst.txt +++ /dev/null @@ -1,10 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 0.7 -0 1 a b 0.1 -1 0 a b 0.2 -1 2 b b 0.3 -1 3 b b 0.4 -2 3 a b 0.5 -3 3 a a 0.6 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.input.syms deleted file mode 100755 index 432ef116..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.input.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.output.syms deleted file mode 100755 index 432ef116..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/A.output.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst deleted file mode 100755 index 4e12001b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst.txt deleted file mode 100755 index 7b556528..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.fst.txt +++ /dev/null @@ -1,9 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 0.6 -0 1 b b 0.1 -1 1 b a 0.2 -1 2 a b 0.3 -1 3 a b 0.4 -2 3 b a 0.5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.input.syms deleted file mode 100755 index 432ef116..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.input.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.output.syms deleted file mode 100755 index 432ef116..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/B.output.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst deleted file mode 100755 index 4b21383b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.ser deleted file mode 100755 index cd45f89b..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.txt deleted file mode 100755 index 37070276..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.fst.txt +++ /dev/null @@ -1,15 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 Infinity -4 Infinity -5 Infinity -6 1.3 -0 1 a b 0.2 -1 2 a a 0.4 -1 3 b a 0.5 -1 4 b a 0.6 -2 1 a a 0.3 -3 4 a a 0.7 -4 5 a b 0.9 -4 6 a b 1.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.input.syms deleted file mode 100755 index 9cfd66f0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.input.syms +++ /dev/null @@ -1,7 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 - 5 - 6 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.output.syms deleted file mode 100755 index 9cfd66f0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.output.syms +++ /dev/null @@ -1,7 +0,0 @@ - 0 -b 1 -a 2 -e1 3 -e2 4 - 5 - 6 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.states.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.states.syms deleted file mode 100755 index 097aaa4a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/compose/fstcompose.states.syms +++ /dev/null @@ -1,7 +0,0 @@ -0 0 -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/A.fst.txt deleted file mode 100755 index 1e4dad73..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/A.fst.txt +++ /dev/null @@ -1,9 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 Infinity -4 0.0 -0 1 a a 0.0 -1 2 b 0.0 -2 3 c 0.0 -3 4 d d 0.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/B.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/B.fst.txt deleted file mode 100755 index 69da17e0..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/B.fst.txt +++ /dev/null @@ -1,7 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 0.0 -0 1 a d 0.0 -1 2 e 0.0 -2 3 d a 0.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps deleted file mode 100755 index a5c837e9..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.fst.txt deleted file mode 100755 index e203f41c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.fst.txt +++ /dev/null @@ -1,15 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 Infinity -4 Infinity -5 Infinity -6 Infinity -7 0.0 -0 1 a d 0.0 -1 2 b e 0.0 -1 3 b 0.0 -1 4 e 0.0 -2 5 c 0.0 -3 6 c 0.0 -5 7 d a 0.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.input.syms deleted file mode 100755 index 6ccf1957..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.input.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.output.syms deleted file mode 100755 index d8fb1706..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.output.syms +++ /dev/null @@ -1,4 +0,0 @@ - 0 -d 1 -e 2 -a 3 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.states.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.states.syms deleted file mode 100755 index 7498392e..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/composeeps/fstcomposeeps.states.syms +++ /dev/null @@ -1,8 +0,0 @@ -0 0 -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 -7 7 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst deleted file mode 100755 index bebd83a7..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst.txt deleted file mode 100755 index cf3cbbff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.fst.txt +++ /dev/null @@ -1,32 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 Infinity -4 Infinity -5 Infinity -6 1. -7 Infinity -8 Infinity -9 Infinity -10 Infinity -11 Infinity -12 Infinity -13 Infinity -0 1 a a 1. -1 2 b b 2. -2 3 a b 3. -3 1 c a 1. -3 4 c c 1. -2 5 a b 5. -5 6 b a 1. -4 8 a c 1. -7 3 c c 1. -7 1 a c 2. -8 9 c c 2. -9 4 b a 1. -6 10 a a 1. -10 11 b b 1. -11 1 a a 1. -11 12 a c 2. -12 11 c b 1. -12 13 a a 1. diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.input.syms deleted file mode 100755 index 0cedd174..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.input.syms +++ /dev/null @@ -1,4 +0,0 @@ - 0 -a 1 -b 2 -c 3 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.output.syms deleted file mode 100755 index 0cedd174..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/A.output.syms +++ /dev/null @@ -1,4 +0,0 @@ - 0 -a 1 -b 2 -c 3 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/fstconnect.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/fstconnect.fst.ser deleted file mode 100755 index ea94bd34..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/connect/fstconnect.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst deleted file mode 100755 index cd7b4e1c..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst.txt deleted file mode 100755 index 653f5b5d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.fst.txt +++ /dev/null @@ -1,14 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 0. -0 1 a a .1 -0 1 b b .3 -0 2 a a .2 -0 2 a a .4 -0 2 b b .1 -0 2 b b .4 -1 3 c c .5 -1 3 d d .2 -2 3 c c .3 -2 3 d d .2 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.input.syms deleted file mode 100755 index 6ccf1957..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.input.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.output.syms deleted file mode 100755 index 6ccf1957..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/A.output.syms +++ /dev/null @@ -1,5 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/fstdeterminize.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/fstdeterminize.fst.ser deleted file mode 100755 index b4859887..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/determinize/fstdeterminize.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst deleted file mode 100755 index 7afc0f99..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst.txt deleted file mode 100755 index 1eed8311..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.fst.txt +++ /dev/null @@ -1,11 +0,0 @@ -0 Infinity -1 3. -2 Infinity -3 2. -0 0 a a 2. -0 1 a a 1. -1 2 b b 3. -1 2 c c 4. -2 2 d d 5. -2 3 d d 6. -3 3 f f 2. diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.input.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.input.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.output.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.output.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.states.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.states.syms deleted file mode 100755 index 39cbb7ff..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/A.states.syms +++ /dev/null @@ -1,4 +0,0 @@ -0 0 -1 1 -2 2 -3 3 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst deleted file mode 100755 index a319ced8..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst.ser deleted file mode 100755 index f0949103..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/reverse/fstreverse.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/A.fst.txt deleted file mode 100755 index 63dcbce5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/A.fst.txt +++ /dev/null @@ -1,15 +0,0 @@ -0 0.0 -1 0.0 -2 0.0 -3 0.0 -4 0.2 -0 1 a b 0.1 -1 2 0.2 -1 4 b a 0.2 -2 0 b a 0.1 -2 1 a b 0.4 -2 3 0.5 -2 4 a b 0.4 -2 4 0.25 -3 0 0.4 -3 4 1.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/fstrmepsilon.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/fstrmepsilon.fst.ser deleted file mode 100755 index fbf0ea11..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/rmepsilon/fstrmepsilon.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst deleted file mode 100755 index e968c653..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst.txt deleted file mode 100755 index d1eb24cc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.fst.txt +++ /dev/null @@ -1,9 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 3. -0 1 a a 3. -0 2 d d 5. -1 1 b b 2. -1 3 c c 4. -2 3 f f 4. \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.input.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.input.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.output.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/A.output.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst deleted file mode 100755 index 6001d050..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst.txt deleted file mode 100755 index 1ece722d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.fst.txt +++ /dev/null @@ -1,37 +0,0 @@ -0 Infinity -1 Infinity -2 Infinity -3 0.0 -4 Infinity -5 Infinity -6 Infinity -7 Infinity -8 0.0 -9 0.0 -10 Infinity -11 Infinity -12 0.0 -13 Infinity -14 Infinity -15 0.0 -16 Infinity -17 Infinity -18 0.0 -0 1 a a 3.0 -0 4 d d 5.0 -1 2 c c 4.0 -1 5 b b 2.0 -2 3 3.0 -5 6 c c 4.0 -5 7 c c 4.0 -5 10 b b 2.0 -7 8 3.0 -7 9 3.0 -10 11 c c 4.0 -10 13 b b 2.0 -11 12 3.0 -13 14 c c 4.0 -13 16 b b 2.0 -14 15 3.0 -16 17 c c 4.0 -17 18 3.0 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.input.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.input.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.output.syms deleted file mode 100755 index 7e677534..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.output.syms +++ /dev/null @@ -1,6 +0,0 @@ - 0 -a 1 -b 2 -c 3 -d 4 -f 5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.states.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.states.syms deleted file mode 100755 index 9a3d0105..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/algorithms/shortestpath/nsp.states.syms +++ /dev/null @@ -1,19 +0,0 @@ -0 0 -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 -7 7 -8 8 -9 9 -10 10 -11 11 -12 12 -13 13 -14 14 -15 15 -16 16 -17 17 -18 18 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst deleted file mode 100755 index db621c61..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.ser b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.ser deleted file mode 100755 index d085191e..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.ser and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.txt deleted file mode 100755 index 6bf2ea79..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.fst.txt +++ /dev/null @@ -1,4 +0,0 @@ -0 1 a x 0.5 -0 1 b y 1.5 -1 2 c z 2.5 -2 3.5 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.input.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.input.syms deleted file mode 100755 index 57f99e63..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.input.syms +++ /dev/null @@ -1,3 +0,0 @@ -a 0 -b 1 -c 2 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.output.syms b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.output.syms deleted file mode 100755 index 64848e0a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/fst/openfst/basic.output.syms +++ /dev/null @@ -1,3 +0,0 @@ -x 0 -y 1 -z 2 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/digits.grxml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/digits.grxml deleted file mode 100755 index 525c3382..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/digits.grxml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - one - two - three - four - five - six - seven - eight - nine - zero - oh - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/input.txt b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/input.txt deleted file mode 100755 index 5189da20..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/input.txt +++ /dev/null @@ -1,186 +0,0 @@ -could you -could you go go -could you go go thanks -could you go thanks -could you go thank you -could you stop -could you stop please -could you stop stop -could you stop stop stop -could you stop stop stop stop stop thank you -could you stop stop thanks -could you stop thanks -could you stop thank you -could you thank you -don't crash -go -go go -go go go -go go go go go go go go -go go go go go please -go go go go go thanks -go go go go please -go go go go thank you -go go go please -go go please -go go thanks -go go thank you -go please -go thanks -go thank you -kindly -kindly don't crash -kindly go -kindly go go -kindly go go thanks -kindly go thanks -kindly go thank you -kindly kindly don't crash -kindly kindly kindly don't crash -kindly kindly oh mighty computer don't crash -kindly kindly oh mighty computer kindly don't crash -kindly kindly please don't crash -kindly oh mighty computer don't crash -kindly oh mighty computer oh mighty computer don't crash -kindly oh mighty computer oh mighty computer please don't crash -kindly oh mighty computer please oh mighty computer don't crash -kindly oh mighty computer please oh mighty computer please don't crash -kindly please -kindly please don't crash -kindly please kindly don't crash -kindly please please kindly don't crash -kindly stop -kindly stop please -kindly stop stop stop -kindly stop stop stop stop stop -kindly stop stop stop stop thanks -kindly stop stop stop thank you -kindly stop stop thanks -kindly stop stop thank you -kindly stop thanks -kindly stop thank you -kindly thanks -kindly thank you -oh mighty computer -oh mighty computer don't crash -oh mighty computer go -oh mighty computer go go -oh mighty computer go go thank you -oh mighty computer kindly don't crash -oh mighty computer kindly kindly don't crash -oh mighty computer kindly kindly kindly don't crash -oh mighty computer kindly kindly oh mighty computer don't crash -oh mighty computer kindly oh mighty computer don't crash -oh mighty computer kindly oh mighty computer kindly don't crash -oh mighty computer kindly oh mighty computer please don't crash -oh mighty computer kindly oh mighty computer please kindly don't crash -oh mighty computer kindly please don't crash -oh mighty computer oh mighty computer don't crash -oh mighty computer oh mighty computer kindly don't crash -oh mighty computer oh mighty computer oh mighty computer don't crash -oh mighty computer oh mighty computer oh mighty computer please kindly don't crash -oh mighty computer oh mighty computer please don't crash -oh mighty computer oh mighty computer please oh mighty computer don't crash -oh mighty computer please don't crash -oh mighty computer please kindly oh mighty computer oh mighty computer kindly don't crash -oh mighty computer please oh mighty computer don't crash -oh mighty computer please oh mighty computer please don't crash -oh mighty computer stop -oh mighty computer stop please -oh mighty computer stop stop -oh mighty computer stop stop stop -oh mighty computer stop stop stop stop -oh mighty computer stop stop stop stop please -oh mighty computer stop stop stop thanks -oh mighty computer stop stop thank you -oh mighty computer stop thank you -oh mighty computer thanks -oh mighty computer thank you -one and one two and two three and three -one and one two and two three three -one and one two two three and three -one and one two two three three -one one two and two three and three -one one two and two three three -one one two two three and three -one one two two three three -please -please don't crash -please go -please go go go -please go go go please -please go go go thanks -please go go thank you -please go thank you -please kindly don't crash -please kindly oh mighty computer don't crash -please oh mighty computer don't crash -please please -please please don't crash -please please kindly kindly please please oh mighty computer don't crash -please please oh mighty computer don't crash -please please please kindly don't crash -please stop -please stop please -please stop stop -please stop stop please -please stop stop stop -please stop stop thanks -please stop stop thank you -please stop thank you -please thanks -please thank you -start -start and start -start and start and start -start and start and start and start -start and start and start and start and start -start and start and start and stop -start and start and stop -start and start and stop and start -start and start and stop and start and start and start -start and start and stop and start and stop and start and stop -start and start and stop and stop and start and start and stop and start -start and stop -start and stop and start -start and stop and start and start -start and stop and start and stop -start and stop and start and stop and start and stop -start and stop and stop -start and stop and stop and start and stop and stop -start and stop and stop and stop -stop -stop and start -stop and start and start -stop and start and start and start and start -stop and start and start and stop -stop and start and start and stop and start and start -stop and start and stop -stop and start and stop and stop -stop and start and stop and stop and start -stop and start and stop and stop and stop and start and start -stop and stop -stop and stop and start -stop and stop and start and start and start and stop and start and stop and start -stop and stop and stop -stop and stop and stop and start and start -stop and stop and stop and stop and stop -stop and stop and stop and stop and stop and stop -stop please -stop stop -stop stop please -stop stop stop -stop stop stop please -stop stop stop stop -stop stop stop stop please -stop stop stop stop stop -stop stop stop stop stop please -stop stop stop stop stop stop -stop stop stop stop thank you -stop stop stop thank you -stop stop thanks -stop stop thank you -stop thanks -stop thank you -thanks -thank you diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/jsgftest.config.xml b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/jsgftest.config.xml deleted file mode 100755 index e596885d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/jsgftest.config.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/polite.gram b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/polite.gram deleted file mode 100755 index a91c93ef..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/polite.gram +++ /dev/null @@ -1,6 +0,0 @@ -#JSGF V1.0; - -grammar polite; - -public = [please | kindly | could you | oh mighty computer]; -public = [please | thanks | thank you]; diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/test.gram b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/test.gram deleted file mode 100755 index 66a47fcb..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/jsgf/test/test.gram +++ /dev/null @@ -1,46 +0,0 @@ -#JSGF V1.0; - -/** - * JSGF Grammar for Hello World example - */ - -grammar test; - -import ; -import ; - - -/* Test right recursion */ - -public = | ( and ) ; - = stop | start; - - -/* - * TODO: - * This is valid JSGF, but the ruleGrammar.parse - * method generates a stack overflow (although the - * decoder and the JSGF grammar deal with it just fine - * - * public = something | ; - * = another | ; - */ - -/* Repeat test */ -public = * don't crash; - - -/* Test grammar with NULL */ - -public = ; - - = (one [and] one); - = (two [and] two); - = (three [and] three); - - -/* Counters */ - -public = ; - = go* | stop+; - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/dictionary/bad.dict b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/dictionary/bad.dict deleted file mode 100755 index dad501dc..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/dictionary/bad.dict +++ /dev/null @@ -1 +0,0 @@ -something_bad diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.utts b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.utts deleted file mode 100755 index c87e5e06..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/BatchForcedAlignerGrammarTest.utts +++ /dev/null @@ -1,4 +0,0 @@ -#comment -one (uttid_1) -two (uttid_2) -three (uttid_3) diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.dic b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.dic deleted file mode 100755 index f531b142..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.dic +++ /dev/null @@ -1,5 +0,0 @@ - SIL -wood SIL -cindy SIL -pittsburgh SIL -jean SIL diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.gram b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.gram deleted file mode 100755 index d7ca08b4..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/grammar/FSTGrammarTest.gram +++ /dev/null @@ -1,27 +0,0 @@ -I 2 -F 0 2.30259 -T 0 1 2.30259 -T 0 4 wood wood 1.60951 -T 0 5 cindy cindy 1.60951 -T 0 6 pittsburgh pittsburgh 1.60951 -T 0 7 jean jean 1.60951 -F 1 2.89031 -T 1 0 , , 0.587725 -T 1 4 wood wood 0.58785 -F 2 3.00808 -T 2 0 , , 0.705491 -T 2 1 0.58785 -F 3 2.30259 -T 3 0 -F 4 2.89031 -T 4 0 , , 0.587725 -T 4 6 pittsburgh pittsburgh 0.58785 -F 5 2.89031 -T 5 0 , , 0.587725 -T 5 7 jean jean 0.58785 -F 6 2.89031 -T 6 0 , , 0.587725 -T 6 5 cindy cindy 0.58785 -F 7 1.28093 -T 7 0 , , 0.454282 -T 7 4 wood wood 1.28093 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.arpa.dmp b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.arpa.dmp deleted file mode 100755 index 837512b5..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.arpa.dmp and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.dict b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.dict deleted file mode 100755 index 326ba310..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/linguist/language/ngram/large/100.dict +++ /dev/null @@ -1,7 +0,0 @@ -daines SIL -huggins SIL -david SIL -result SIL -following SIL -some SIL -case SIL diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/correct.slf b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/correct.slf deleted file mode 100755 index e3961b14..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/correct.slf +++ /dev/null @@ -1,166 +0,0 @@ -VERSION=1.1 -UTTERANCE=test -base=1.0001 -lmscale=9.5 -start=0 -end=1 -# -# Size line. -# -NODES=54 LINKS=96 -# -# Node definitions. -# -I=2 t=0.14 W=!NULL -I=3 t=0.77 W=right -I=1 t=1.87 W=!NULL -I=4 t=0.07 W=front -I=5 t=0.69 W=on -I=6 t=1.03 W=in -I=7 t=0.13 W=!NULL -I=8 t=0.64 W=non -I=9 t=0.66 W=one -I=10 t=0.26 W=back -I=11 t=0.64 W=cone -I=12 t=0.39 W=green -I=13 t=0.41 W=green -I=14 t=0.39 W=green -I=15 t=0.27 W=the -I=16 t=1.07 W=of -I=17 t=0.78 W=right -I=18 t=0.41 W=green -I=19 t=0.36 W=green -I=20 t=0.41 W=green -I=21 t=1.03 W=in -I=0 t=0.0 W=!NULL -I=22 t=0.18 W=third -I=23 t=0.14 W=!NULL -I=24 t=0.39 W=green -I=25 t=0.27 W=that -I=26 t=1.16 W=the -I=27 t=1.18 W=the -I=28 t=0.13 W=!NULL -I=29 t=0.07 W=the -I=30 t=0.13 W=!NULL -I=31 t=0.78 W=right -I=32 t=0.42 W=green -I=33 t=0.41 W=green -I=34 t=0.07 W=!NULL -I=35 t=0.42 W=green -I=36 t=1.13 W=the -I=37 t=0.27 W=that -I=38 t=1.04 W=a -I=39 t=0.07 W=third -I=40 t=0.36 W=green -I=41 t=0.78 W=right -I=42 t=0.43 W=green -I=43 t=1.53 W=[SPEECH] -I=44 t=1.14 W=a -I=45 t=0.64 W=not -I=46 t=1.27 W=middle -I=47 t=0.39 W=green -I=48 t=0.4 W=green -I=49 t=0.4 W=green -I=50 t=0.07 W=face -I=51 t=0.78 W=on -I=52 t=0.41 W=green -I=53 t=1.63 W=!NULL -# -# Link definitions. -# -J=0 S=29 E=23 a=-5582302.5 l=0.0 -J=1 S=13 E=41 a=-3.7377644E7 l=-65569.63815789473 -J=2 S=0 E=34 a=-9106835.0 l=0.0 -J=3 S=51 E=31 a=-3.4824984E7 l=-41736.04276315789 -J=4 S=17 E=38 a=-1.323478E7 l=-50945.69407894737 -J=5 S=28 E=37 a=-2.2914394E7 l=-68171.22368421052 -J=6 S=39 E=52 a=-3.064111E7 l=-28778.246710526317 -J=7 S=9 E=51 a=-9211947.0 l=-10213.569078947368 -J=8 S=4 E=32 a=-4.097098E7 l=-887.9671052631579 -J=9 S=0 E=4 a=-5.17289E7 l=-37794.85526315789 -J=10 S=41 E=21 a=-2.1853634E7 l=-8881.615131578947 -J=11 S=48 E=45 a=-1.9704208E7 l=-81679.83552631579 -J=12 S=4 E=35 a=-3.3571268E7 l=-887.9671052631579 -J=13 S=16 E=26 a=-1.9118938E7 l=-25281.878289473683 -J=14 S=42 E=5 a=-1.3620688E7 l=-31199.075657894737 -J=15 S=39 E=20 a=-3.5068096E7 l=-28778.246710526317 -J=16 S=34 E=28 a=-1.9533874E7 l=0.0 -J=17 S=8 E=41 a=-3.7377644E7 l=-40621.23684210526 -J=18 S=18 E=9 a=-1.9840484E7 l=-9472.947368421053 -J=19 S=23 E=22 a=-3.365228E7 l=-67150.13815789473 -J=20 S=19 E=8 a=-2.1019564E7 l=-81679.83552631579 -J=21 S=33 E=5 a=-1.3620688E7 l=-31199.075657894737 -J=22 S=6 E=44 a=-4390902.5 l=-25281.878289473683 -J=23 S=5 E=17 a=-3.8926484E7 l=-41736.04276315789 -J=24 S=0 E=29 a=-1.0546125E7 l=-12280.323190789473 -J=25 S=37 E=35 a=-3.3571268E7 l=-18866.407894736843 -J=26 S=13 E=17 a=-3.8926484E7 l=-65569.63815789473 -J=27 S=9 E=41 a=-3.7377644E7 l=-30033.861842105263 -J=28 S=28 E=15 a=-1.8001838E7 l=-12280.323190789473 -J=29 S=10 E=42 a=-3.9469696E7 l=-5199.8453947368425 -J=30 S=11 E=41 a=-3.7377644E7 l=-39656.09539473684 -J=31 S=39 E=33 a=-4.2467808E7 l=-28778.246710526317 -J=32 S=22 E=20 a=-3.5068096E7 l=-28778.246710526317 -J=33 S=30 E=10 a=-2.6547606E7 l=-18240.177631578947 -J=34 S=52 E=11 a=-2.6460092E7 l=-4523.207236842105 -J=35 S=46 E=43 a=-1.4821458E7 l=0.0 -J=36 S=15 E=24 a=-5.9972912E7 l=-10015.810855263158 -J=37 S=22 E=18 a=-3.6442664E7 l=-28778.246710526317 -J=38 S=43 E=53 a=-3.396028E7 l=0.0 -J=39 S=14 E=11 a=-2.175507E7 l=-4523.207236842105 -J=40 S=9 E=31 a=-4.3484776E7 l=-30033.861842105263 -J=41 S=34 E=30 a=-1.8124994E7 l=0.0 -J=42 S=0 E=50 a=-4.8209336E7 l=-74465.44736842105 -J=43 S=22 E=52 a=-3.064111E7 l=-28778.246710526317 -J=44 S=25 E=35 a=-3.2069994E7 l=-18866.407894736843 -J=45 S=14 E=8 a=-2.1019564E7 l=-81679.83552631579 -J=46 S=15 E=47 a=-4.5721256E7 l=-10015.810855263158 -J=47 S=3 E=21 a=-1.7406556E7 l=-8881.615131578947 -J=48 S=9 E=17 a=-3.8926484E7 l=-30033.861842105263 -J=49 S=39 E=18 a=-3.6442664E7 l=-28778.246710526317 -J=50 S=37 E=32 a=-4.097098E7 l=-18866.407894736843 -J=51 S=27 E=46 a=-3.8394996E7 l=-10103.055921052632 -J=52 S=5 E=31 a=-4.3484776E7 l=-41736.04276315789 -J=53 S=36 E=46 a=-3.5417044E7 l=-10103.055921052632 -J=54 S=11 E=17 a=-3.8926484E7 l=-39656.09539473684 -J=55 S=8 E=17 a=-3.8926484E7 l=-40621.23684210526 -J=56 S=34 E=7 a=-3.3347204E7 l=0.0 -J=57 S=51 E=17 a=-3.026669E7 l=-41736.04276315789 -J=58 S=15 E=14 a=-3.8321544E7 l=-10015.810855263158 -J=59 S=50 E=48 a=-3.669222E7 l=-27423.029605263157 -J=60 S=50 E=49 a=-4.4091932E7 l=-27423.029605263157 -J=61 S=7 E=19 a=-4.3234004E7 l=-32845.11513157895 -J=62 S=20 E=45 a=-1.9704208E7 l=-81679.83552631579 -J=63 S=0 E=39 a=-4.9315732E7 l=-74956.09210526316 -J=64 S=44 E=36 a=-1.7738628E7 l=-42805.40460526316 -J=65 S=35 E=8 a=-2.1019564E7 l=-81679.83552631579 -J=66 S=15 E=12 a=-4.1200616E7 l=-10015.810855263158 -J=67 S=20 E=8 a=-2.1019564E7 l=-81679.83552631579 -J=68 S=7 E=40 a=-5.0633716E7 l=-32845.11513157895 -J=69 S=21 E=27 a=-1.3288838E7 l=-1535.5246710526317 -J=70 S=38 E=36 a=-2.3394154E7 l=-42805.40460526316 -J=71 S=5 E=41 a=-3.7377644E7 l=-41736.04276315789 -J=72 S=48 E=8 a=-2.1019564E7 l=-81679.83552631579 -J=73 S=35 E=45 a=-1.9704208E7 l=-81679.83552631579 -J=74 S=51 E=41 a=-2.8717852E7 l=-41736.04276315789 -J=75 S=43 E=1 a=-3.396028E7 l=-11405.925986842105 -J=76 S=45 E=3 a=-4.3556548E7 l=-39725.51315789474 -J=77 S=24 E=17 a=-3.8926484E7 l=-65569.63815789473 -J=78 S=40 E=5 a=-1.3620688E7 l=-31199.075657894737 -J=79 S=14 E=45 a=-1.9704208E7 l=-81679.83552631579 -J=80 S=22 E=13 a=-5.6719464E7 l=-28778.246710526317 -J=81 S=41 E=6 a=-1.6397137E7 l=-8881.615131578947 -J=82 S=47 E=5 a=-1.3620688E7 l=-31199.075657894737 -J=83 S=22 E=33 a=-4.2467808E7 l=-28778.246710526317 -J=84 S=2 E=25 a=-2.4550686E7 l=-67403.46710526316 -J=85 S=31 E=16 a=-1.3312766E7 l=-28234.657894736843 -J=86 S=39 E=13 a=-5.6719464E7 l=-28778.246710526317 -J=87 S=3 E=6 a=-1.1950058E7 l=-8881.615131578947 -J=88 S=49 E=5 a=-1.3620688E7 l=-31199.075657894737 -J=89 S=25 E=32 a=-3.9469696E7 l=-18866.407894736843 -J=90 S=29 E=2 a=-1.8155592E7 l=0.0 -J=91 S=26 E=46 a=-3.5417044E7 l=-10103.055921052632 -J=92 S=53 E=1 a=0.0 l=-11405.925986842105 -J=93 S=12 E=9 a=-1.8292914E7 l=-9472.947368421053 -J=94 S=24 E=41 a=-3.7377644E7 l=-65569.63815789473 -J=95 S=32 E=5 a=-1.3620688E7 l=-31199.075657894737 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/green.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/green.wav deleted file mode 100755 index 9cb07ec4..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/green.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/hellongram.trigram.lm b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/hellongram.trigram.lm deleted file mode 100755 index 09ae650c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/result/hellongram.trigram.lm +++ /dev/null @@ -1,2365 +0,0 @@ - -\data\ -ngram 1=161 -ngram 2=746 -ngram 3=1444 - - -\1-grams: --0.8280 -2.6692 --0.8285 -1.1650 --1.9630 a -1.0814 --3.7839 about -0.2242 --3.2988 above -0.1737 --3.7839 adjoining -0.1932 --3.7839 after -0.1788 --3.2988 all -0.6117 --3.4749 almost -0.2162 --3.1738 alone -0.2880 --3.2988 also -0.1777 --3.7839 am -0.2250 --2.1738 and -0.5033 --2.8728 another -0.7396 --2.7345 are -0.9268 --2.5998 at -1.1579 --3.4749 away -0.4007 --1.5998 back -1.0947 --2.3780 behind -0.8834 --3.7839 being -0.2169 --3.4749 below -0.1781 --2.8217 between -0.2170 --3.0769 bit -0.2779 --3.7839 blocking -0.1788 --3.7839 board -0.1552 --2.5998 bottom -0.3207 --3.7839 bunch -0.2174 --3.4749 but -0.2107 --2.8728 by -0.5307 --3.4749 centered -0.1876 --2.4537 centre -0.3162 --3.2988 close -0.3187 --3.7839 closer -0.2169 --2.5998 closest -0.7439 --3.7839 cluster -0.2174 --3.0769 color -0.3519 --3.7839 colors -0.2228 --3.2988 column -0.6503 --1.3461 cone -1.0214 --2.0200 cones -0.7466 --2.3609 corner -0.8793 --3.7839 deleted -0.1552 --3.4749 diagonal -0.1850 --3.0769 directly -0.2681 --3.7839 down -0.1552 --3.4749 east -0.1146 --2.8728 edge -1.0545 --3.7839 either -0.2212 --3.7839 entire -0.2250 --3.7839 extreme -0.1907 --3.4749 face -0.1548 --3.4749 facing -0.2196 --2.8728 far -0.4784 --3.4749 farthest -0.1457 --3.7839 first -0.2232 --3.7839 four -0.1907 --3.7839 frame -0.2228 --3.0769 from -0.3849 --1.9434 front -0.6385 --3.0769 further -0.1669 --2.4335 furthest -0.8257 --1.1198 green -1.6012 --3.4749 greens -0.1449 --3.0769 group -0.3123 --3.7839 half -0.2247 --2.2845 hand -1.6759 --3.7839 hard -0.1907 --3.2988 hardest -0.1467 --3.1738 has -0.2513 --3.4749 highest -0.3950 --3.7839 i -0.2250 --1.7004 in -99.9990 --1.9835 is -0.5430 --3.4749 isolated -0.1562 --2.1738 it -0.8542 --2.2988 it's -0.5733 --3.4749 just -0.2247 --3.2988 kinda -0.3247 --2.9308 last -0.3544 --1.7425 left -0.5647 --3.7839 line -0.1907 --3.0769 little -0.3196 --3.7839 lone -0.1907 --3.4749 lonely -0.1146 --3.2988 lot -0.6503 --2.6298 lower -0.3920 --2.3445 lowest -0.4657 --2.2574 middle -0.2326 --2.8728 midline -0.6836 --3.2988 most -0.2158 --2.7759 near -0.8693 --2.5718 next -0.7179 --3.7839 no -0.2250 --3.7839 non -0.2250 --3.7839 north -0.2249 --3.7839 not -0.1788 --1.7589 of -1.0816 --3.7839 off -0.2235 --1.8516 on -1.2188 --1.7385 one -0.4928 --3.1738 ones -0.1678 --2.8728 only -0.2801 --3.2988 opposite -0.3236 --3.4749 other -0.1562 --3.2988 pair -0.6503 --3.7839 part -0.2174 --3.7839 previous -0.2170 --3.7839 probably -0.2178 --1.1506 purple -1.6658 --3.4749 purples -0.3312 --3.7839 rather -0.2249 --3.2988 rear -0.6503 --3.7839 rectangle -0.2239 --1.7803 right -0.4896 --2.5998 row -0.6423 --2.5718 screen -0.7337 --3.7839 second -0.2247 --3.4749 see -0.1458 --3.7839 shade -0.2228 --3.0769 shades -0.2073 --3.7839 shading -0.1552 --3.4749 shadow -0.1786 --3.1738 showing -0.2242 --2.0599 side -0.4692 --3.4749 sitting -0.4008 --3.7839 slightly -0.2169 --3.7839 somewhat -0.2163 --3.7839 south -0.2249 --3.7839 still -0.2189 --2.8728 surrounded -0.9537 --3.7839 surrounding -0.2221 --3.7839 table -0.1552 --3.7839 talking -0.2250 --3.7839 than -0.1788 --2.4335 that -0.6779 --2.7759 that's -0.3807 --0.9956 the -0.8362 --3.7839 then -0.2203 --2.7345 there -1.1361 --2.6298 there's -0.7167 --3.7839 third -0.2247 --2.4749 this -0.7790 --3.7839 those -0.2247 --2.5455 three -0.9116 --1.7345 to -1.6863 --2.6620 top -0.1657 --3.7839 touching -0.2223 --2.8217 towards -0.9537 --2.1961 two -0.7746 --3.4749 up -0.1547 --3.0769 upper -0.5212 --3.2988 uppermost -0.2941 --3.0769 us -0.2952 --3.2988 very -0.2228 --3.4749 was -0.2174 --3.1738 way -0.1954 --3.7839 we -0.2249 --3.7839 west -0.1907 --2.6620 which -1.3344 --2.7345 with -0.4459 --3.7839 you -0.1552 - -\2-grams: --3.3411 2.4933 --0.0010 0.0323 --3.3411 green 0.1929 --0.9494 0.5914 --3.3426 a 0.0032 --2.5801 another 0.2823 --0.9408 back -1.0588 --3.3426 blocking 0.0714 --3.3426 centered -0.0555 --2.5333 centre -0.1714 --3.3426 cone -0.1033 --1.9494 front -1.0582 --3.3426 further -0.1170 --3.3426 furthest -0.0223 --1.6941 green 0.5160 --3.3426 hard 0.0714 --2.8681 hardest -0.0172 --3.3426 has 0.0022 --2.3473 in 0.2256 --3.3426 isolated -0.0555 --2.8681 it's -0.1425 --1.9951 left -1.0060 --3.3426 lonely -0.0555 --2.5801 lower -0.1756 --3.3426 middle -0.1379 --3.3426 most -0.0907 --1.9494 next -0.4538 --3.3426 non 0.0714 --3.3426 off 0.0714 --2.1712 on 0.2430 --3.3426 one -0.1443 --1.4053 purple -0.8458 --3.3426 right -0.1485 --3.3426 south 0.0714 --0.6334 the -0.2892 --2.8681 there's -0.1006 --1.7453 this -0.0129 --2.8681 top -0.0588 --3.3426 two 0.0460 --3.3426 west 0.0714 --2.2128 a another 0.3235 --2.2128 a bunch 0.0714 --2.2128 a cluster 0.0714 --2.2128 a diagonal -0.0555 --0.4973 a green -1.0994 --1.7383 a group -0.0010 --1.0414 a little -0.4582 --1.4502 a lot 0.2247 --1.7383 a pair 0.3370 --0.5185 a purple -0.9570 --0.9165 a row 0.0828 --0.3932 about there -0.1032 --0.8703 above it -0.1413 --0.8703 above that -0.1291 --0.8703 above the -0.1533 --0.3932 adjoining purple -0.1261 --0.3932 after the -0.1519 --0.1078 all the -0.4316 --0.6942 almost in 0.3656 --0.9953 alone at 1.0505 --0.5208 alone in 0.1983 --0.9953 alone on 0.8676 --0.8703 also facing -0.0555 --0.8703 also the -0.1360 --0.8703 also with -0.0497 --0.3932 am talking 0.0714 --1.0212 and a 0.0768 --2.0165 and above -0.0907 --2.0165 and also -0.0907 --2.0165 and behind -0.0344 --2.0165 and closer 0.0714 --1.5420 and closest 0.4667 --1.5420 and green 0.5580 --0.7782 and in -0.7518 --2.0165 and it's -0.0634 --2.0165 and kinda -0.0907 --2.0165 and one -0.1520 --2.0165 and the -0.1486 --2.0165 and there's -0.1409 --0.4771 and to -0.1839 --2.0165 and towards 0.8464 --2.0165 and two 0.0460 --0.1761 another green -0.6497 --1.3475 another middle -0.1484 --0.8730 another purple 0.5707 --1.4346 are green -0.1269 --1.4346 are three 0.1474 --0.0872 are two -0.1504 --0.0280 at the -0.3405 --0.2198 away from -0.0770 --1.1405 back 1.6055 --2.5751 back and 0.0225 --2.5751 back at 1.0505 --2.5751 back but -0.0555 --1.8125 back centre 0.0055 --1.3367 back corner -0.1127 --0.4337 back green -0.6522 --1.4037 back in 0.8427 --2.1006 back it -0.3086 --1.3367 back left -0.5572 --1.5798 back of -0.0521 --2.5751 back on 0.8676 --2.1006 back one -0.0586 --2.5751 back part 0.0714 --0.5191 back purple -0.4973 --2.5751 back right -0.0258 --2.5751 back top -0.1145 --1.0286 behind a -0.0180 --1.3167 behind and 0.1474 --1.7912 behind another 0.3235 --0.3565 behind it -0.1121 --1.3167 behind that -0.0060 --0.6198 behind the -0.0770 --0.3932 being to 0.8086 --0.6942 below another -0.0911 --0.6942 below the -0.0944 --1.3475 between a -0.1379 --1.3475 between it -0.0642 --1.3475 between purples 0.2475 --1.3475 between the -0.1486 --0.5382 between two -0.3520 --1.0922 bit further -0.1170 --0.6177 bit to 0.6412 --1.0922 bit towards 0.8464 --1.0922 bit up -0.0555 --0.3932 blocking the -0.1533 --0.3932 board 2.4933 --0.4260 bottom 1.8687 --1.1228 bottom a -0.2796 --1.5973 bottom and -0.1410 --1.5973 bottom it's -0.0287 --1.5973 bottom of 0.0641 --1.1228 bottom right -0.1932 --1.5973 bottom the -0.1360 --1.5973 bottom to 0.8086 --1.5973 bottom touching 0.0714 --0.3932 bunch of -0.1366 --0.6942 but on 0.8676 --0.6942 but to 0.8086 --1.2963 by a -0.1509 --1.2963 by four 0.0714 --0.8218 by green 0.2545 --0.3010 by purple 0.0371 --0.6942 centered and 0.0225 --0.6942 centered green -0.0251 --0.5643 centre 1.8687 --1.2611 centre and -0.1366 --1.7356 centre behind -0.1321 --1.7356 centre cone -0.0851 --1.7356 centre front -0.1369 --1.7356 centre green 0.1929 --1.7356 centre line 0.0714 --1.2611 centre near 0.3780 --1.7356 centre of 0.0641 --0.7404 centre purple -0.0219 --1.7356 centre that's -0.0978 --1.7356 centre to 0.8086 --0.8703 close right -0.0641 --0.3958 close to 0.8235 --0.3932 closer to 0.8086 --1.0948 closest green -0.2840 --1.5693 closest purple -0.1195 --1.5693 closest the -0.1427 --0.1347 closest to 0.2443 --0.3932 cluster of -0.1437 --0.3296 color 2.2137 --1.0922 color one -0.1443 --1.0922 color shades -0.1170 --0.3932 colors it's -0.0287 --0.1078 column of -0.1802 --0.5744 cone 0.7836 --2.8310 cone i 0.0714 --2.3565 cone all 0.3370 --2.3565 cone alone 0.0701 --1.5347 cone and 0.1528 --1.4835 cone at 0.2499 --1.4835 cone behind 0.4717 --2.8310 cone being 0.0714 --2.8310 cone below -0.0555 --2.3565 cone between -0.1725 --2.8310 cone but -0.0555 --2.0684 cone directly -0.0890 --2.8310 cone further -0.1170 --1.5927 cone furthest -0.5626 --2.8310 cone greens -0.0555 --0.8357 cone in -99.9990 --0.9606 cone is -0.0941 --2.0684 cone it's -0.0536 --2.8310 cone kinda 0.0696 --2.8310 cone most -0.0907 --2.3565 cone near 0.6435 --2.8310 cone next -0.0813 --1.2073 cone on -0.2093 --2.3565 cone right -0.1255 --2.8310 cone second 0.0714 --2.3565 cone sitting 0.0801 --2.8310 cone somewhat 0.0714 --2.0217 cone surrounded 0.2553 --2.8310 cone that 0.0749 --2.8310 cone then 0.0714 --2.0684 cone there 0.3071 --2.8310 cone there's -0.1409 --0.9606 cone to -0.6225 --2.8310 cone towards 0.8464 --2.3565 cone which 0.7930 --1.5347 cone with 0.2677 --0.3158 cones 1.1845 --2.1714 cones and -0.0744 --1.3621 cones behind -0.4472 --0.8751 cones in -99.9990 --2.1714 cones near 0.5454 --1.1761 cones on 0.6989 --2.1714 cones purple -0.0063 --2.1714 cones surrounding 0.0714 --2.1714 cones the -0.1533 --2.1714 cones there's -0.1145 --0.9331 cones to 0.1171 --2.1714 cones with -0.0497 --0.0889 corner 1.3045 --1.8246 corner far -0.0033 --1.8246 corner in -0.0603 --1.8246 corner it's -0.1369 --1.3501 corner the -0.0835 --0.3932 deleted 2.4933 --0.6942 diagonal of -0.1519 --0.6942 diagonal purple 0.1684 --0.6177 directly behind 0.0227 --1.0922 directly in -0.0603 --1.0922 directly opposite -0.0907 --1.0922 directly to 0.8086 --0.3932 down 2.4933 --0.6942 east 2.4933 --0.6942 east green 0.1929 --0.0512 edge 1.7438 --1.3475 edge the -0.1360 --0.3932 either side 0.0266 --0.3932 entire frame 0.0714 --0.3932 extreme green 0.1929 --0.6942 face 2.4933 --0.6942 face showing -0.1073 --0.6942 facing a -0.1122 --0.6942 facing towards 0.8464 --1.2963 far edge 0.8006 --1.2963 far in -0.0603 --0.5338 far left 0.1474 --0.5338 far right 0.0050 --0.6942 farthest 2.4933 --0.6942 farthest to 0.8086 --0.3932 first behind -0.0344 --0.3932 four green -0.1269 --0.3932 frame it's -0.0287 --0.3296 from the -0.0200 --1.0922 from us 0.1206 --1.0922 from you 0.0714 --0.8388 front 1.6469 --1.2368 front and -0.1624 --2.2321 front corner 0.5788 --2.2321 front far -0.1311 --0.7975 front green -0.2859 --1.4695 front in 0.7039 --2.2321 front left -0.0467 --0.4964 front of -0.2720 --2.2321 front on 0.8676 --1.2368 front one -0.1323 --2.2321 front pair 0.5043 --1.4228 front purple 0.3395 --2.2321 front right -0.1424 --2.2321 front row 0.2724 --2.2321 front to 0.8086 --1.0922 further back -0.1420 --1.0922 further behind 0.0982 --1.0922 further green -0.1269 --1.0922 further in -0.0603 --1.0922 further than 0.0714 --1.2804 furthest away 0.0801 --0.5836 furthest back 0.3920 --1.7549 furthest green -0.1469 --1.7549 furthest most -0.0907 --1.2804 furthest purple -0.3148 --0.3203 furthest to -0.0792 --0.2599 green 0.1952 --3.0493 green and -0.1494 --2.5748 green between 0.0233 --0.5916 green cone 0.0830 --1.2247 green cones 0.2252 --3.0493 green furthest 0.1289 --2.0540 green it's -0.0163 --3.0493 green lowest -0.1473 --3.0493 green near 0.5454 --1.8110 green on 0.9363 --1.0879 green one -0.3104 --3.0493 green ones -0.1073 --3.0493 green that's -0.0978 --3.0493 green the -0.1486 --3.0493 green to 0.8086 --2.5748 green two -0.1001 --3.0493 green upper 0.1206 --0.6942 greens 2.4933 --0.6942 greens in -0.1195 --0.2829 group of -0.3073 --0.3932 half way -0.1073 --0.6463 hand corner 0.6510 --1.8846 hand green 0.1929 --0.1296 hand side -0.0096 --0.3932 hard green -0.0251 --0.8703 hardest green 0.1929 --0.8703 hardest purple 0.1684 --0.8703 hardest to -0.1488 --0.9953 has a 0.0127 --0.9953 has the -0.1527 --0.5208 has three -0.1449 --0.2198 highest on 0.7002 --1.1213 in a -0.5037 --1.4735 in between -0.0220 --0.7138 in front -0.9389 --0.1565 in the -0.5244 --0.6301 is a -0.9010 --2.1994 is another -0.0911 --2.1994 is at 1.0505 --2.1994 is centered -0.0555 --2.1994 is close 0.0696 --1.4369 is closest 0.1408 --2.1994 is furthest -0.1302 --0.9611 is green -0.5101 --2.1994 is highest 0.2475 --0.8519 is in -0.4350 --2.1994 is lowest -0.1157 --1.7249 is on 0.7002 --2.1994 is one -0.1375 --1.4369 is purple -0.1087 --2.1994 is rather 0.0714 --2.1994 is slightly 0.0714 --1.7249 is surrounded 0.6333 --1.4369 is the -0.1439 --1.0280 is to 0.1841 --2.1994 is towards 0.8464 --2.1994 is very -0.0907 --0.6942 isolated green 0.1929 --0.6942 isolated purple -0.0063 --0.7304 it 1.7438 --2.0267 it a 0.0127 --0.7304 it and -0.1278 --1.5522 it are 0.4194 --2.0267 it behind 0.0982 --1.5522 it has 0.0701 --0.7884 it is -0.7291 --1.2641 it there 0.8837 --0.7304 it there's -0.4559 --1.5522 it this 0.0499 --2.0267 it two -0.1053 --1.8984 it's a 0.0127 --1.8984 it's almost -0.0555 --1.4239 it's also -0.0172 --1.8984 it's below -0.0555 --0.7270 it's in -0.2589 --1.4239 it's near 0.6435 --1.8984 it's not 0.0714 --0.7270 it's on 0.2430 --1.8984 it's one -0.1375 --1.8984 it's purple 0.1684 --0.6021 it's the -0.1556 --1.8984 it's to 0.8086 --0.6942 just above -0.0907 --0.6942 just deleted 0.0714 --0.3958 kinda in 0.1983 --0.8703 kinda towards 0.8464 --1.2383 last cone -0.0191 --0.4758 last green -0.3962 --0.7638 last one 0.0304 --1.2383 last two -0.1490 --0.6612 left 1.2667 --2.4346 left a -0.1122 --1.9601 left and 0.0894 --1.9601 left back -0.3005 --2.4346 left bottom 0.0505 --1.2632 left corner -0.1627 --1.9601 left edge 0.6333 --1.9601 left front -0.1250 --2.4346 left further -0.1170 --2.4346 left green 0.1929 --0.9274 left hand 0.8597 --1.9601 left in 0.1983 --2.4346 left left -0.1293 --0.8953 left of -0.9121 --1.9601 left on 0.7002 --1.0872 left purple -0.6322 --2.4346 left rear 0.5043 --2.4346 left showing -0.1073 --0.8109 left side -0.0388 --1.9601 left the -0.1106 --2.4346 left there 0.5867 --1.9601 left there's 0.1262 --2.4346 left to 0.8086 --2.4346 left top -0.1145 --0.3932 line green -0.1525 --0.2829 little bit 0.0741 --0.3932 lone green -0.0251 --0.6942 lonely 2.4933 --0.6942 lonely green 0.1929 --0.1078 lot of -0.2366 --1.5393 lower bottom 0.0505 --1.0648 lower green -0.0246 --1.0648 lower left -0.2664 --1.5393 lower lowest -0.0489 --0.7768 lower purple 0.4665 --0.5441 lower right -0.0620 --1.5393 lower the -0.1464 --1.0311 lowest 1.9479 --1.8404 lowest at 1.0505 --0.6690 lowest green -0.4415 --1.8404 lowest it's -0.1481 --1.8404 lowest left -0.0990 --1.8404 lowest of 0.0641 --1.0778 lowest on 0.5879 --1.8404 lowest one -0.1520 --0.4929 lowest purple 0.4496 --0.5772 middle 1.6927 --1.9247 middle all 0.5043 --1.9247 middle bottom -0.1196 --1.9247 middle column 0.5043 --1.4502 middle cone 0.0773 --1.9247 middle diagonal -0.0555 --1.9247 middle directly -0.1170 --1.9247 middle front -0.0856 --1.9247 middle group 0.1663 --1.9247 middle in 0.3656 --1.9247 middle it's -0.0287 --1.1154 middle of -0.5837 --1.4502 middle purple -0.0029 --1.9247 middle right -0.1519 --1.9247 middle showing 0.0022 --1.9247 middle still 0.0714 --1.4502 middle to 0.6412 --1.4502 middle towards 0.6790 --0.1761 midline 1.8687 --0.8730 midline it's -0.1312 --1.3475 midline the -0.1442 --0.8703 most lower -0.0075 --0.8703 most north 0.0714 --0.8703 most to 0.8086 --1.3932 near a -0.1379 --0.0969 near the -0.2685 --1.3932 near two -0.1396 --0.1891 next cone -0.9910 --1.6237 next one -0.1520 --0.8144 next to 0.8616 --0.3932 no shading 0.0714 --0.3932 non extreme 0.0714 --0.3932 north east -0.0555 --0.3932 not the -0.1360 --1.1719 of a 0.3157 --1.6477 of cones 0.0347 --1.4150 of green -0.1800 --0.7160 of it 0.2067 --2.4103 of only -0.1311 --1.6010 of purple -0.8185 --2.4103 of purples 0.2475 --1.6477 of that -0.1101 --0.4042 of the -0.2221 --2.4103 of this 0.0620 --2.4103 of those 0.0714 --1.0170 of three 0.3143 --1.1719 of two 0.0093 --0.3932 off centre -0.1456 --2.3175 on either 0.0714 --2.3175 on it -0.0642 --2.3175 on it's -0.0287 --2.3175 on next -0.0813 --2.3175 on that 0.0749 --1.8430 on that's -0.0143 --0.0435 on the -0.7546 --2.3175 on to 0.8086 --0.7626 one 1.3681 --2.4346 one almost -0.0555 --2.4346 one and -0.1494 --1.6721 one closest 0.1408 --1.4393 one color 0.0010 --2.4346 one down 0.0714 --1.9601 one face 0.0714 --2.4346 one green -0.0251 --1.0872 one in -0.5375 --1.9601 one it's -0.0566 --2.4346 one just -0.0555 --2.4346 one next -0.0813 --1.6253 one of 0.0276 --0.7626 one on -0.3887 --1.9601 one opposite -0.0977 --1.9601 one purple -0.1736 --1.6721 one right -0.2259 --2.4346 one shade 0.0714 --1.0414 one that -0.4947 --1.6253 one that's 0.1803 --1.6721 one the -0.1290 --2.4346 one this -0.1070 --2.4346 one to 0.8086 --2.4346 one towards 0.8464 --2.4346 one up -0.0555 --1.0414 one which 0.1854 --2.4346 one with -0.0497 --0.5208 ones 2.3259 --0.9953 ones in -0.1195 --0.9953 ones the -0.1360 --0.8218 only cone -0.1864 --1.2963 only green -0.1269 --1.2963 only left -0.1488 --0.5338 only one -0.2367 --1.2963 only purple -0.1195 --0.3958 opposite it -0.2316 --0.8703 opposite of -0.1437 --0.6942 other green -0.1269 --0.6942 other purple -0.1261 --0.1078 pair of -0.2092 --0.3932 part of 0.0641 --0.3932 previous one -0.0713 --0.3932 probably right -0.1273 --0.2810 purple 0.3005 --3.0206 purple and -0.1102 --0.5410 purple cone 0.1347 --1.2124 purple cones -0.1046 --3.0206 purple farthest -0.0555 --3.0206 purple furthest 0.1289 --2.2580 purple in -0.1217 --2.5461 purple it's -0.0428 --3.0206 purple no 0.0714 --1.8492 purple on 0.2430 --1.1222 purple one -0.1372 --2.2580 purple ones -0.0341 --3.0206 purple rectangle 0.0714 --3.0206 purple surrounded 0.8006 --2.5461 purple to 0.6412 --0.2198 purples 2.3259 --0.3932 rather lonely -0.0555 --0.1078 rear of -0.2156 --0.3932 rectangle at 1.0505 --0.5936 right 1.2319 --2.4018 right a 0.0127 --2.4018 right above -0.0907 --2.4018 right after 0.0714 --2.4018 right and -0.1102 --1.9273 right back -0.3005 --1.9273 right behind 0.1373 --2.4018 right between -0.1337 --2.4018 right bottom 0.0505 --2.4018 right cone -0.1517 --1.5925 right corner 0.0334 --1.4065 right edge 0.8345 --1.9273 right front -0.1099 --0.7298 right hand 0.2126 --1.2304 right in -0.2876 --2.4018 right it's -0.0634 --2.4018 right next -0.0813 --1.2304 right of -0.1700 --2.4018 right on 0.8676 --1.9273 right purple -0.0045 --1.9273 right row 0.1050 --2.4018 right showing 0.0022 --0.9672 right side 0.2823 --2.4018 right the -0.0944 --2.4018 right there 0.5867 --2.4018 right to 0.8086 --2.4018 right two -0.1053 --0.7881 row 1.9479 --0.2041 row of -0.4247 --1.5973 row on 0.8676 --0.1513 screen 1.5677 --1.1492 screen and -0.1452 --1.6237 screen in 0.3656 --1.6237 screen kinda 0.0696 --1.6237 screen there 0.5867 --0.3932 second from 0.1206 --0.6942 see 2.4933 --0.6942 see left -0.1520 --0.3932 shade it's -0.1481 --0.6177 shades 2.3259 --1.0922 shades furthest 0.1289 --1.0922 shades on -0.1515 --1.0922 shades that's -0.0978 --0.3932 shading 2.4933 --0.6942 shadow facing -0.0555 --0.6942 shadow the -0.1486 --0.9953 showing 2.4933 --0.9953 showing one -0.1488 --0.5208 showing only -0.1707 --0.4690 side 1.3916 --2.1175 side a -0.1122 --1.6430 side and -0.1452 --1.6430 side back -0.3005 --2.1175 side front -0.0856 --2.1175 side green -0.1525 --2.1175 side half 0.0714 --2.1175 side in -0.0603 --1.1222 side it's -0.0742 --2.1175 side near 0.5454 --0.6451 side of -0.8492 --2.1175 side surrounded 0.8006 --1.3082 side the -0.1911 --2.1175 side there 0.5867 --2.1175 side to 0.8086 --2.1175 side which 0.9603 --0.2198 sitting alone 0.0701 --0.3932 slightly to 0.8086 --0.3932 somewhat in 0.3656 --0.3932 south east -0.0555 --0.3932 still on 0.8676 --0.0512 surrounded by 0.0749 --0.3932 surrounding it -0.0642 --0.3932 table 2.4933 --0.3932 talking about 0.0714 --0.3932 than the -0.1442 --1.2611 that 2.3259 --1.7356 that far -0.1311 --0.9731 that green -0.3048 --1.7356 that has -0.1073 --0.3882 that is -0.0099 --0.7404 that one -0.2566 --1.2611 that was 0.0714 --0.6307 that's closest 0.1408 --0.9187 that's furthest 0.4300 --1.3932 that's highest 0.2475 --0.9187 that's the -0.3034 --0.9187 that's to 0.6412 --2.6998 the 2.3259 --1.2496 the back -0.5178 --2.6998 the behind 0.1373 --3.1743 the board 0.0714 --1.7810 the bottom 0.2455 --1.7019 the centre 0.0591 --3.1743 the close -0.0907 --2.1790 the closest 0.5684 --2.6998 the column 0.3370 --1.9359 the cone 0.1116 --3.1743 the edge 0.8006 --3.1743 the entire 0.0714 --2.3650 the far -0.0027 --3.1743 the farthest -0.0555 --3.1743 the first 0.0714 --1.3497 the front 0.4151 --1.8268 the furthest -0.2458 --0.8945 the green 0.0894 --2.6998 the group -0.0010 --3.1743 the hardest -0.0907 --3.1743 the in -0.0603 --3.1743 the isolated -0.0555 --3.1743 the it's -0.0287 --1.9359 the last 0.1174 --0.8889 the left -0.2126 --3.1743 the lone 0.0714 --1.7810 the lower 0.1275 --1.4008 the lowest -0.1660 --1.2897 the middle -0.0252 --1.8779 the midline 0.1276 --3.1743 the near 0.5454 --2.6998 the next 0.3290 --2.4117 the on 0.5879 --1.6671 the one -0.0637 --2.1790 the only -0.1033 --3.1743 the previous 0.0714 --3.1743 the probably 0.0714 --1.0821 the purple -0.2933 --2.6998 the rear 0.3370 --0.9237 the right -0.0115 --2.3650 the row -0.2730 --1.5769 the screen 0.1004 --2.6998 the shadow 0.0714 --3.1743 the table 0.0714 --2.4117 the the -0.1696 --3.1743 the third 0.0714 --2.4117 the three -0.1322 --1.8779 the top -0.0314 --2.4117 the two 0.2429 --2.1790 the upper 0.2155 --2.4117 the uppermost 0.0764 --2.6998 the very -0.0172 --2.4117 the way 0.0033 --0.3932 then a 0.0127 --0.0872 there are 0.1586 --0.9601 there is -0.2050 --0.1919 there's a -0.2683 --1.5393 there's another 0.3235 --1.5393 there's one -0.1488 --1.5393 there's three -0.1437 --1.0648 there's two 0.0533 --0.3932 third from 0.1206 --0.9457 this cone -0.6486 --0.4075 this green -0.8258 --0.9924 this is -0.1205 --0.5836 this purple -0.6308 --0.3932 those further -0.1170 --1.6485 three cones -0.0997 --0.4771 three green -0.7515 --1.6485 three in -0.1195 --1.6485 three on 0.8676 --0.3010 three purple -0.3472 --2.4346 to a 0.0127 --2.4346 to it -0.1495 --1.9601 to see 0.0714 --1.4393 to that -0.1014 --0.0502 to the -0.6877 --1.4393 to us 0.2024 --0.7301 top 1.9479 --1.0648 top corner 0.4114 --1.5393 top green -0.0251 --1.5393 top left -0.0467 --1.5393 top on 0.8676 --1.5393 top purple 0.1684 --0.7768 top right -0.2412 --0.3932 touching two 0.0112 --0.0458 towards the -0.0257 --1.9730 two 2.4933 --1.9730 two adjoining 0.0714 --1.9730 two color -0.1170 --1.9730 two colors 0.0714 --0.5006 two green -0.9043 --1.9730 two greens -0.0555 --1.9730 two left -0.1488 --1.4985 two other 0.0714 --0.4337 two purple -0.5391 --0.9777 two shades -0.0053 --0.6942 up 2.4933 --0.6942 up from 0.1206 --0.6177 upper left -0.2664 --0.3296 upper right -0.3437 --0.8703 uppermost of -0.1097 --0.3958 uppermost purple -0.1736 --0.3296 us 2.2137 --1.0922 us in 0.3656 --1.0922 us the -0.1486 --0.8703 very bottom -0.1425 --0.8703 very close 0.0696 --0.8703 very top -0.0641 --0.6942 was directly -0.1170 --0.6942 was right -0.1519 --0.9953 way at 1.0505 --0.9953 way back -0.1525 --0.9953 way in 0.3656 --0.9953 way to 0.8086 --0.3932 we just -0.0555 --0.3932 west green 0.1929 --0.0348 which is -0.0700 --1.5072 which we 0.0714 --0.6721 with a -0.0682 --1.4346 with green -0.1269 --1.4346 with only -0.0033 --0.6721 with the -0.0500 --0.6721 with two 0.0918 --0.3932 you 2.4933 - -\3-grams: --0.5259 --0.9469 --3.4728 a --2.6696 another --0.9383 back --3.4728 blocking --3.4728 centered --2.2480 centre --3.4728 cone --1.9469 front --3.4728 further --3.4728 furthest --1.6917 green --3.4728 hard --2.9279 hardest --3.4728 has --2.3449 in --3.4728 isolated --2.9279 it's --1.9927 left --3.4728 lonely --2.6696 lower --3.4728 middle --3.4728 most --1.9469 next --3.4728 non --3.4728 off --2.2480 on --3.4728 one --1.4029 purple --3.4728 right --3.4728 south --0.6331 the --2.9279 there's --1.7428 this --2.9279 top --3.4728 two --3.4728 west --0.5259 green --2.5259 --0.0044 --0.5259 a purple --0.4581 another green --1.0030 another middle --1.9895 back centre --0.2682 back green --2.5345 back left --0.3751 back purple --0.5259 blocking the --0.5259 centered green --1.2249 centre and --1.2249 centre green --0.4217 centre purple --0.5259 cone to --0.0458 front green --1.5259 front purple --0.5259 further back --0.5259 furthest back --1.2362 green --1.2362 green between --0.3010 green cone --1.7812 green furthest --1.7812 green lowest --1.7812 green on --1.7812 green one --1.7812 green upper --0.5259 hard green --0.8269 hardest purple --0.8269 hardest to --0.5259 has three --1.1280 in between --0.3248 in the --0.5259 isolated green --0.8269 it's a --0.8269 it's below --1.4801 left of --0.0512 left purple --0.5259 lonely green --1.0030 lower green --0.4581 lower left --0.5259 middle purple --0.5259 most north --0.0458 next cone --1.5259 next to --0.5259 non extreme --0.5259 off centre --0.0792 on the --0.5259 one the --0.1639 purple cone --1.5250 purple in --2.0700 purple on --0.7659 purple one --2.0700 purple surrounded --2.0700 purple to --0.5259 right front --0.5259 south east --2.2969 the back --2.2969 the centre --2.0387 the closest --1.5378 the cone --1.4709 the front --1.5378 the furthest --0.5166 the green --2.8419 the isolated --2.8419 the last --2.2969 the left --2.8419 the lone --1.6170 the lower --1.3160 the lowest --2.0387 the middle --2.2969 the next --2.8419 the on --1.5378 the one --2.0387 the only --0.6825 the purple --2.8419 the right --2.2969 the the --2.8419 the top --2.2969 the uppermost --0.8269 there's three --0.8269 there's two --0.9268 this cone --0.3590 this green --1.1850 this is --0.6021 this purple --0.8269 top purple --0.8269 top right --0.5259 two purple --0.5259 west green --0.5259 i am talking --0.5259 a another green --0.5259 a bunch of --0.5259 a cluster of --0.5259 a diagonal of --0.0669 a green cone --1.0449 a green one --0.2820 a group of --0.0792 a little bit --0.1998 a lot of --0.2820 a pair of --1.8269 a purple and --0.0458 a purple cone --1.8269 a purple one --0.3010 a row --0.6258 a row of --1.4290 a row on --0.5259 about there is --0.5259 above it are --0.5259 above that --0.5259 above the previous --0.5259 adjoining purple cones --0.5259 after the two --0.1998 all the way --0.5259 almost in the --0.5259 alone at the --0.2820 alone in the --0.5259 alone on the --0.5259 also facing a --0.5259 also the lowest --0.5259 also with a --0.5259 am talking about --1.1280 and a green --0.3248 and a purple --0.5259 and above it --0.5259 and also with --0.5259 and behind the --0.5259 and closer to --0.8269 and closest the --0.8269 and closest to --0.8269 and green --0.8269 and green cone --0.0669 and in front --0.5259 and it's on --0.5259 and kinda towards --0.5259 and one green --0.5259 and the last --0.5259 and there's one --0.0322 and to the --0.5259 and towards the --0.5259 and two purple --0.0792 another green cone --0.5259 another middle diagonal --0.8269 another purple --0.8269 another purple cone --0.5259 are green cones --0.5259 are three purple --0.6769 are two green --1.4801 are two other --0.2553 are two purple --0.8988 at the back --0.4771 at the bottom --1.1570 at the centre --1.7020 at the left --1.7020 at the top --1.1570 at the very --0.8269 away from us --0.8269 away from you --0.0414 back --0.5259 back and to --0.5259 back at the --0.5259 back but on --0.4581 back centre --1.0030 back centre purple --0.0669 back corner --0.0158 back green --2.2741 back green cone --2.2741 back green one --1.3040 back in a --1.3040 back in front --0.1761 back in the --0.2820 back it has --1.3710 back left --0.1461 back left corner --1.3710 back left there --0.5830 back of the --0.5830 back of two --0.5259 back on the --0.8269 back one --0.8269 back one of --0.5259 back part of --0.0293 back purple --1.6437 back purple cone --2.1887 back purple one --0.5259 back right --0.5259 back top corner --0.4581 behind a purple --1.0030 behind a row --0.8269 behind and in --0.8269 behind and to --0.5259 behind another green --1.5673 behind it --1.5673 behind it a --0.3424 behind it and --1.5673 behind it there --0.7641 behind it there's --0.8269 behind that green --0.8269 behind that one --1.3040 behind the green --1.3040 behind the one --0.7591 behind the purple --1.3040 behind the row --0.5259 being to the --0.5259 below another purple --0.5259 below the green --0.5259 between a lot --0.5259 between it --0.5259 between purples --0.5259 between the last --1.2249 between two green --0.0969 between two purple --0.5259 bit further than --0.2820 bit to the --0.5259 bit towards the --0.5259 bit up from --0.5259 blocking the hardest --0.5259 board --0.0792 bottom --0.2820 bottom a little --0.5259 bottom and closest --0.5259 bottom it's the --0.5259 bottom of the --0.2820 bottom right --0.5259 bottom the lowest --0.5259 bottom to the --0.5259 bottom touching two --0.5259 bunch of green --0.5259 but on the --0.5259 but to the --0.5259 by a cluster --0.5259 by four green --0.8269 by green --0.8269 by green cones --1.1280 by purple --0.3248 by purple cones --0.5259 centered and to --0.5259 centered green cone --0.0792 centre --0.8269 centre and green --0.8269 centre and kinda --0.5259 centre behind and --0.5259 centre cone in --0.5259 centre front purple --0.5259 centre green --0.5259 centre line green --0.2820 centre near the --0.5259 centre of the --0.3248 centre purple --1.1280 centre purple no --0.5259 centre that's the --0.5259 centre to the --0.5259 close right hand --0.8269 close to a --0.8269 close to the --0.5259 closer to the --0.2820 closest green one --0.5259 closest purple one --1.5673 closest to that --0.2632 closest to the --0.4393 closest to us --0.5259 cluster of cones --0.1998 color --0.5259 color one the --0.5259 color shades furthest --0.5259 colors it's the --1.0030 column of three --0.4581 column of two --0.0060 cone --0.5259 cone i am --0.2820 cone all the --0.8269 cone alone in --0.8269 cone alone on --1.4290 cone and a --1.4290 cone and behind --1.4290 cone and green --0.6258 cone and in --0.8840 cone and to --0.0512 cone at the --1.4801 cone behind a --1.4801 cone behind another --0.6769 cone behind it --1.4801 cone behind that --0.6769 cone behind the --0.5259 cone being to --0.5259 cone below the --0.2820 cone between two --0.5259 cone but to --0.4581 cone directly behind --1.0030 cone directly in --0.5259 cone further behind --0.0669 cone furthest to --0.5259 cone greens --1.5830 cone in a --2.1280 cone in between --1.0000 cone in front --0.0835 cone in the --0.7782 cone is a --2.0030 cone is another --2.0030 cone is centered --0.6990 cone is green --0.8751 cone is in --1.4581 cone is on --1.1998 cone is purple --2.0030 cone is rather --1.4581 cone is surrounded --1.1998 cone is to --2.0030 cone is towards --2.0030 cone is very --1.0030 cone it's in --0.4581 cone it's on --0.5259 cone kinda in --0.5259 cone most to --0.8269 cone near a --0.8269 cone near the --0.5259 cone next to --0.0263 cone on the --0.8269 cone right in --0.8269 cone right next --0.5259 cone second from --0.2820 cone sitting alone --0.5259 cone somewhat in --0.0969 cone surrounded by --0.5259 cone that is --0.5259 cone then a --0.1998 cone there are --0.5259 cone there's another --2.0030 cone to see --0.0147 cone to the --0.5259 cone towards the --0.2820 cone which is --0.8840 cone with a --1.4290 cone with green --1.4290 cone with only --0.8840 cone with the --0.8840 cone with two --0.0152 cones --0.5259 cones and in --0.0969 cones behind it --1.4290 cones in a --1.4290 cones in between --0.8840 cones in front --0.3010 cones in the --0.5259 cones near the --1.1280 cones on either --0.3248 cones on the --0.5259 cones purple cone --0.5259 cones surrounding it --0.5259 cones the third --0.5259 cones there's two --0.0669 cones to the --0.5259 cones with two --0.0202 corner --0.5259 corner far left --0.5259 corner in front --0.5259 corner it's also --0.8269 corner the green --0.8269 corner the one --0.5259 deleted --0.5259 diagonal of purples --0.5259 diagonal purple --0.8269 directly behind a --0.8269 directly behind the --0.5259 directly in front --0.5259 directly opposite of --0.5259 directly to the --0.5259 down --0.5259 east --0.5259 east green --0.0580 edge --0.5259 edge the lowest --0.5259 either side --0.5259 entire frame it's --0.5259 extreme green --0.5259 face --0.5259 face showing --0.5259 facing a little --0.5259 facing towards the --0.5259 far edge --0.5259 far in front --1.0030 far left --1.0030 far left of --1.0030 far left side --1.0030 far right back --1.0030 far right hand --1.0030 far right side --0.5259 farthest --0.5259 farthest to the --0.5259 first behind the --0.5259 four green cones --0.5259 frame it's the --1.0030 from the bottom --1.0030 from the left --1.0030 from the right --0.5259 from us --0.5259 from you --0.0458 front --0.3248 front and to --0.5259 front corner --0.5259 front far in --0.1383 front green --0.7641 front green cone --0.4581 front in front --1.0030 front in the --0.5259 front left --1.0651 front of a --0.3424 front of it --1.8683 front of purple --1.3234 front of that --0.6435 front of the --1.8683 front of those --0.5259 front on the --1.1280 front one --1.1280 front one and --0.5830 front one of --0.5259 front pair of --0.6799 front purple --0.4217 front purple cone --0.5259 front right corner --0.5259 front row of --0.5259 front to the --0.5259 further back of --0.5259 further behind it --0.5259 further green cones --0.5259 further in front --0.5259 further than the --0.2820 furthest away from --1.3040 furthest back --1.3040 furthest back green --1.3040 furthest back in --0.5008 furthest back purple --0.5259 furthest green on --0.5259 furthest most lower --0.2820 furthest purple on --0.0414 furthest to the --0.0017 green --2.9221 green green --0.5259 green and it's --0.8269 green between purples --0.8269 green between two --0.6665 green cone --2.5904 green cone all --2.0454 green cone alone --1.3655 green cone and --1.3655 green cone at --1.2863 green cone behind --2.5904 green cone below --2.5904 green cone between --2.0454 green cone directly --1.7871 green cone furthest --0.8340 green cone in --1.1102 green cone is --2.5904 green cone it's --2.5904 green cone kinda --2.5904 green cone near --1.2863 green cone on --2.0454 green cone right --2.5904 green cone second --2.5904 green cone sitting --1.4624 green cone surrounded --2.0454 green cone there --2.5904 green cone there's --0.9183 green cone to --2.5904 green cone which --1.4624 green cone with --0.4771 green cones --1.9573 green cones and --1.1541 green cones behind --0.8293 green cones in --1.9573 green cones near --1.4123 green cones on --1.9573 green cones purple --1.9573 green cones the --1.9573 green cones there's --0.8293 green cones to --0.5259 green furthest to --0.5830 green it's in --1.1280 green it's on --1.1280 green it's to --0.5259 green lowest at --0.5259 green near the --1.3710 green on next --1.3710 green on that --0.8260 green on that's --0.8260 green on the --1.3710 green on to --0.7901 green one --1.2909 green one in --2.0941 green one it's --0.5268 green one on --1.5491 green one right --2.0941 green one shade --0.6651 green one that --2.0941 green one the --2.0941 green one this --1.2909 green one which --0.5259 green ones in --0.5259 green that's to --0.5259 green the last --0.5259 green to the --0.8269 green two colors --0.8269 green two shades --0.5259 green upper right --0.5259 greens --0.5259 greens in a --0.4217 group of three --0.6799 group of two --0.5259 half way back --0.5678 hand corner --1.3710 hand corner far --1.3710 hand corner it's --0.8260 hand corner the --0.5259 hand green --0.5166 hand side --1.8876 hand side a --1.8876 hand side and --1.3427 hand side back --1.8876 hand side green --1.3427 hand side it's --0.5166 hand side of --1.8876 hand side the --1.8876 hand side to --0.5259 hard green cone --0.5259 hardest green --0.5259 hardest purple --0.5259 hardest to see --0.5259 has a green --0.5259 has the shadow --0.2820 has three green --0.2820 highest on the --1.4801 in a diagonal --0.9352 in a group --1.4801 in a pair --0.2553 in a row --1.1280 in between it --1.1280 in between the --0.5830 in between two --1.8876 in front --1.8876 in front far --0.0395 in front of --0.7150 in the back --2.4450 in the behind --2.4450 in the bottom --1.3170 in the centre --1.9000 in the column --1.9000 in the far --1.0160 in the front --1.9000 in the furthest --1.9000 in the group --1.2201 in the left --2.4450 in the lowest --0.5211 in the middle --2.4450 in the on --2.4450 in the probably --2.4450 in the rear --1.6418 in the right --1.9000 in the row --2.4450 in the the --2.4450 in the top --1.3170 in the upper --1.7020 is a another --0.2730 is a green --0.3979 is a purple --0.5259 is another purple --0.5259 is at the --0.5259 is centered and --0.5259 is close to --0.1998 is closest to --0.5259 is furthest away --0.2430 is green it's --1.3710 is green near --1.3710 is green on --1.3710 is green to --0.5259 is highest on --0.0512 is in the --0.5259 is lowest on --0.2820 is on the --0.5259 is one color --1.0030 is purple cone --0.4581 is purple it's --0.5259 is rather lonely --0.5259 is slightly to --0.2820 is surrounded by --1.0030 is the closest --1.0030 is the first --1.0030 is the furthest --0.0792 is to the --0.5259 is towards the --0.5259 is very close --0.5259 isolated green --0.5259 isolated purple cone --0.0580 it --0.5259 it a green --1.4290 it and also --1.4290 it and in --1.4290 it and one --0.3010 it and to --1.4290 it and two --0.2820 it are two --0.5259 it behind it --0.8269 it has a --0.8269 it has three --0.0669 it is a --0.4581 it there are --1.0030 it there is --0.0580 it there's a --0.8269 it this cone --0.8269 it this purple --0.5259 it two shades --0.5259 it's a green --0.8269 it's also facing --0.8269 it's also the --0.5259 it's below another --0.0792 it's in the --0.8269 it's near the --0.8269 it's near two --0.5259 it's not the --0.0792 it's on the --0.5259 it's one color --0.5259 it's purple --1.4290 it's the farthest --1.4290 it's the green --0.6258 it's the lowest --0.8840 it's the purple --1.4290 it's the uppermost --0.5259 it's to the --0.5259 just above the --0.5259 just deleted --0.2820 kinda in the --0.5259 kinda towards the --0.5259 last cone --0.1998 last green one --0.8269 last one --0.8269 last one on --0.5259 last two --0.0185 left --0.5259 left a little --0.8269 left and a --0.8269 left and to --0.2820 left back corner --0.5259 left bottom --0.0792 left corner --1.3040 left corner in --0.2820 left edge --0.8269 left front corner --0.8269 left front one --0.5259 left further in --0.5259 left green --0.8366 left hand corner --1.6398 left hand green --0.1597 left hand side --0.2820 left in the --0.5259 left left corner --0.4472 left of it --0.2430 left of the --1.6720 left of this --0.2820 left on the --0.0512 left purple --0.5259 left rear of --0.5259 left showing one --0.3854 left side --1.2114 left side it's --0.9531 left side of --0.9531 left side the --1.7563 left side there --1.7563 left side which --0.8269 left the last --0.8269 left the purple --0.5259 left there are --0.2820 left there's a --0.5259 left to the --0.5259 left top corner --0.5259 line green two --1.2249 little bit further --0.6799 little bit to --1.2249 little bit towards --1.2249 little bit up --0.5259 lone green cone --0.5259 lonely --0.5259 lonely green --1.0030 lot of cones --0.4581 lot of purple --0.5259 lower bottom --0.8269 lower green and --0.8269 lower green cone --0.2820 lower left hand --0.5259 lower lowest green --1.0030 lower purple --0.4581 lower purple cone --1.1280 lower right corner --1.1280 lower right hand --0.5830 lower right side --0.5259 lower the lower --0.0969 lowest --0.5259 lowest at the --0.1761 lowest green cone --1.3040 lowest green on --1.3040 lowest green one --0.5259 lowest it's almost --0.5259 lowest left hand --0.5259 lowest of the --0.1998 lowest on the --0.5259 lowest one down --1.4801 lowest purple --0.6769 lowest purple cone --1.4801 lowest purple on --0.3522 lowest purple one --0.0512 middle --0.5259 middle all the --0.5259 middle bottom a --0.5259 middle column of --0.8269 middle cone --0.8269 middle cone in --0.5259 middle diagonal purple --0.5259 middle directly to --0.5259 middle front --0.5259 middle group of --0.5259 middle in the --0.5259 middle it's the --1.2249 middle of a --0.0969 middle of the --0.8269 middle purple cone --0.8269 middle purple in --0.5259 middle right after --0.5259 middle showing only --0.5259 middle still on --0.2820 middle to the --0.2820 middle towards the --0.0792 midline --0.8269 midline it's also --0.8269 midline it's not --0.5259 midline the one --0.5259 most lower right --0.5259 most north east --0.5259 most to the --0.5259 near a lot --0.8840 near the back --1.4290 near the bottom --0.6258 near the centre --0.8840 near the front --0.5259 near two other --0.0414 next cone is --0.5259 next one up --1.2249 next to it --0.4217 next to that --1.2249 next to the --0.5259 no shading --0.5259 non extreme green --0.5259 north east --0.5259 not the lowest --1.3710 of a green --1.3710 of a pair --0.5678 of a purple --0.8260 of a row --0.4581 of cones --1.0030 of cones surrounding --1.1280 of green cone --0.3248 of green cones --1.8269 of it --1.0237 of it and --1.8269 of it are --1.8269 of it behind --0.5229 of it is --1.2820 of it there --0.6990 of it there's --1.2820 of it this --0.5259 of only green --0.0969 of purple cones --1.2249 of purple on --0.5259 of purples --0.4581 of that green --1.0030 of that one --2.1387 of the --2.1387 of the board --2.1387 of the cone --2.1387 of the front --1.0107 of the green --2.1387 of the in --2.1387 of the left --1.0107 of the midline --2.1387 of the purple --1.3355 of the right --2.1387 of the row --0.4367 of the screen --2.1387 of the table --1.3355 of the three --1.5937 of the two --0.5259 of this green --0.5259 of those further --1.5259 of three cones --0.7227 of three green --1.5259 of three in --0.3010 of three purple --1.3710 of two adjoining --0.2430 of two green --1.3710 of two greens --1.3710 of two purple --0.5259 off centre front --0.5259 on either side --0.5259 on it --0.5259 on it's the --0.5259 on next to --0.5259 on that is --0.8269 on that's closest --0.8269 on that's highest --1.8617 on the bottom --2.4067 on the close --2.4067 on the edge --1.6035 on the far --0.4494 on the left --1.6035 on the lower --2.4067 on the lowest --2.4067 on the middle --0.3623 on the right --2.4067 on the screen --1.6035 on the top --0.5259 on to the --0.0235 one --0.5259 one almost in --0.5259 one and there's --0.1998 one closest to --0.3248 one color --1.1280 one color one --0.5259 one down --0.8269 one face --0.8269 one face showing --0.5259 one green cone --1.4801 one in between --0.0512 one in the --0.8269 one it's in --0.8269 one it's one --0.5259 one just above --0.5259 one next to --1.2249 one of a --0.4217 one of the --1.2249 one of two --1.8046 one on it's --0.0235 one on the --0.2820 one opposite it --0.2820 one purple cone --1.0030 one right behind --0.4581 one right in --0.5259 one shade it's --1.5259 one that has --0.1549 one that is --0.9809 one that was --0.6799 one that's closest --1.2249 one that's furthest --1.2249 one that's the --1.2249 one that's to --1.0030 one the green --0.4581 one the left --0.5259 one this is --0.5259 one to the --0.5259 one towards the --0.5259 one up --0.0458 one which is --1.5259 one which we --0.5259 one with the --0.2820 ones --0.5259 ones in a --0.5259 ones the lowest --0.2820 only cone --0.5259 only green cones --0.5259 only left on --0.4581 only one color --1.0030 only one face --0.5259 only purple one --0.2820 opposite it --0.5259 opposite of that --0.5259 other green cones --0.5259 other purple cones --1.0030 pair of a --0.4581 pair of green --0.5259 part of the --0.5259 previous one --0.5259 probably right in --0.0020 purple --0.5259 purple and a --0.4953 purple cone --2.6123 purple cone i --2.6123 purple cone all --1.8091 purple cone and --2.0673 purple cone at --1.8091 purple cone behind --2.6123 purple cone being --2.6123 purple cone between --2.6123 purple cone but --2.6123 purple cone directly --2.6123 purple cone further --1.8091 purple cone furthest --0.8076 purple cone in --1.2413 purple cone is --2.0673 purple cone it's --2.6123 purple cone most --2.6123 purple cone near --2.6123 purple cone next --1.0864 purple cone on --2.6123 purple cone sitting --2.6123 purple cone somewhat --2.6123 purple cone that --2.6123 purple cone then --2.6123 purple cone there --0.9402 purple cone to --2.6123 purple cone towards --1.4843 purple cone with --0.1845 purple cones --1.9409 purple cones behind --0.8129 purple cones in --1.3959 purple cones on --1.9409 purple cones to --1.9409 purple cones with --0.5259 purple farthest to --0.5259 purple furthest to --1.0030 purple in a --0.4581 purple in front --0.8269 purple it's in --0.8269 purple it's near --0.5259 purple no shading --0.0792 purple on the --0.8062 purple one --2.0310 purple one almost --2.0310 purple one closest --1.2278 purple one in --2.0310 purple one next --0.8062 purple one on --2.0310 purple one opposite --2.0310 purple one right --1.4861 purple one that --0.8062 purple one that's --2.0310 purple one towards --0.8062 purple one which --2.0310 purple one with --0.4581 purple ones --1.0030 purple ones the --0.5259 purple rectangle at --0.5259 purple surrounded by --0.2820 purple to the --0.2820 purples --0.5259 rather lonely --0.1998 rear of the --0.5259 rectangle at the --0.0170 right --0.5259 right a green --0.5259 right above that --0.5259 right after the --0.5259 right and a --0.2820 right back corner --0.8269 right behind it --0.8269 right behind that --0.5259 right between a --0.5259 right bottom --0.5259 right cone which --0.0969 right corner --0.3248 right edge --1.1280 right edge the --0.8269 right front one --0.8269 right front purple --0.6767 right hand corner --0.1326 right hand side --1.3040 right in a --0.0792 right in the --0.5259 right it's on --0.5259 right next to --1.3040 right of a --0.1761 right of it --1.3040 right of the --0.5259 right on the --0.8269 right purple cone --0.8269 right purple to --0.2820 right row of --0.5259 right showing only --1.0223 right side --1.5673 right side and --1.5673 right side front --1.5673 right side half --1.5673 right side in --1.5673 right side near --1.0223 right side of --1.5673 right side surrounded --1.5673 right side the --0.5259 right the green --0.5259 right there are --0.5259 right to the --0.5259 right two shades --0.0969 row --1.5259 row of cones --1.5259 row of green --1.5259 row of only --0.9809 row of purple --0.3010 row of three --0.5259 row on the --0.0378 screen --0.8269 screen and closer --0.8269 screen and towards --0.5259 screen in the --0.5259 screen kinda in --0.5259 screen there are --0.5259 second from the --0.5259 see --0.5259 see left green --0.2820 shades --0.5259 shades furthest to --0.5259 shades on it --0.5259 shades that's furthest --0.5259 shading --0.5259 shadow facing towards --0.5259 shadow the last --0.5259 showing --0.5259 showing one face --0.2820 showing only one --0.0248 side --0.5259 side a little --0.8269 side and above --0.8269 side and the --0.2820 side back corner --0.5259 side front --0.5259 side green two --0.5259 side half way --0.5259 side in front --1.1280 side it's near --1.1280 side it's purple --0.5830 side it's the --0.5259 side near the --1.6051 side of it --0.0378 side of the --0.5259 side surrounded by --1.2249 side the green --0.6799 side the lowest --0.6799 side the one --0.5259 side there are --0.5259 side to the --0.5259 side which is --0.8269 sitting alone at --0.8269 sitting alone in --0.5259 slightly to the --0.5259 somewhat in the --0.5259 south east green --0.5259 still on the --1.4290 surrounded by a --1.4290 surrounded by four --0.8840 surrounded by green --0.3010 surrounded by purple --0.5259 surrounding it --0.5259 table --0.5259 talking about there --0.5259 than the one --0.2820 that --0.5259 that far edge --0.1998 that green cone --0.5259 that has the --1.4801 that is at --1.4801 that is closest --1.4801 that is highest --1.4801 that is in --1.4801 that is lowest --1.4801 that is one --1.4801 that is the --0.9352 that is to --0.3248 that one --1.1280 that one it's --0.8269 that was directly --0.8269 that was right --0.1998 that's closest to --0.8269 that's furthest back --0.8269 that's furthest to --0.5259 that's highest on --0.2820 that's the lowest --0.2820 that's to the --0.2820 the --0.5772 the back --2.0574 the back and --2.0574 the back at --2.0574 the back centre --0.8325 the back in --1.5124 the back it --0.7533 the back left --1.2542 the back of --2.0574 the back on --1.5124 the back one --2.0574 the back part --2.0574 the back right --2.0574 the back top --0.8269 the behind and --0.8269 the behind it --0.5259 the board --0.9809 the bottom --1.5259 the bottom a --1.5259 the bottom and --1.5259 the bottom it's --0.9809 the bottom right --1.5259 the bottom the --1.5259 the bottom to --1.5259 the bottom touching --0.8019 the centre --1.6051 the centre and --1.6051 the centre behind --1.6051 the centre cone --1.6051 the centre line --1.0601 the centre near --1.6051 the centre of --1.6051 the centre that's --1.6051 the centre to --0.5259 the close right --0.5830 the closest green --1.1280 the closest purple --1.1280 the closest to --0.2820 the column of --0.8260 the cone --1.3710 the cone at --1.3710 the cone greens --0.8260 the cone in --1.3710 the cone to --0.5259 the edge --0.5259 the entire frame --0.6799 the far left --0.4217 the far right --0.5259 the farthest --0.5259 the first behind --0.6532 the front --0.8293 the front and --1.4123 the front green --1.1541 the front in --1.9573 the front left --1.9573 the front of --1.9573 the front on --1.4123 the front one --1.9573 the front pair --1.9573 the front purple --1.9573 the front right --1.9573 the front row --1.9573 the front to --1.4801 the furthest away --0.3522 the furthest back --1.4801 the furthest green --1.4801 the furthest most --0.9352 the furthest purple --2.4124 the green --0.2333 the green cone --1.8674 the green cones --1.6092 the green on --0.4886 the green one --2.4124 the green that's --0.2820 the group of --0.5259 the hardest green --0.5259 the in front --0.5259 the isolated purple --0.5259 the it's the --1.3710 the last cone --0.5678 the last green --0.8260 the last one --1.3710 the last two --0.6133 the left --2.4180 the left a --1.8730 the left and --1.8730 the left back --2.4180 the left bottom --1.8730 the left edge --1.8730 the left front --2.4180 the left further --0.9890 the left hand --1.8730 the left in --2.4180 the left left --0.8129 the left of --2.4180 the left rear --2.4180 the left showing --0.6880 the left side --1.8730 the left the --1.8730 the left there's --2.4180 the left to --2.4180 the left top --0.5259 the lone green --1.5259 the lower bottom --1.5259 the lower green --1.5259 the lower lowest --0.7227 the lower purple --0.7227 the lower right --1.5259 the lower the --0.7782 the lowest --0.6812 the lowest green --1.9061 the lowest it's --1.9061 the lowest left --1.9061 the lowest of --1.3611 the lowest on --1.9061 the lowest one --0.4260 the lowest purple --0.5883 the middle --2.0173 the middle all --2.0173 the middle bottom --2.0173 the middle column --1.4723 the middle cone --2.0173 the middle directly --2.0173 the middle front --2.0173 the middle group --2.0173 the middle in --2.0173 the middle it's --0.7924 the middle of --2.0173 the middle purple --2.0173 the middle right --2.0173 the middle showing --2.0173 the middle still --1.4723 the middle to --1.4723 the middle towards --0.2041 the midline --0.8840 the midline it's --1.4290 the midline the --0.5259 the near the --0.8269 the next cone --0.8269 the next one --0.1998 the on the --1.0949 the one closest --0.8366 the one in --1.6398 the one just --1.0949 the one on --1.6398 the one opposite --1.6398 the one purple --1.6398 the one to --1.0949 the one which --0.5830 the only cone --1.1280 the only left --1.1280 the only purple --0.5259 the previous one --0.5259 the probably right --2.2249 the purple --0.2518 the purple cone --2.2249 the purple farthest --2.2249 the purple furthest --0.4437 the purple one --2.2249 the purple rectangle --0.2820 the rear of --0.5149 the right --2.3832 the right a --2.3832 the right and --2.3832 the right back --2.3832 the right behind --2.3832 the right between --2.3832 the right bottom --2.3832 the right cone --1.2553 the right edge --2.3832 the right front --0.7782 the right hand --1.8383 the right in --2.3832 the right it's --1.0792 the right of --2.3832 the right on --2.3832 the right purple --1.8383 the right row --2.3832 the right showing --0.9542 the right side --2.3832 the right the --2.3832 the right there --2.3832 the right to --2.3832 the right two --0.0969 the row of --0.1627 the screen --1.1850 the screen and --1.7300 the screen in --1.7300 the screen kinda --1.7300 the screen there --0.8269 the shadow facing --0.8269 the shadow the --0.5259 the table --1.0030 the the back --0.4581 the the green --0.5259 the third from --0.1998 the three purple --0.6258 the top --1.4290 the top green --1.4290 the top left --1.4290 the top on --0.8840 the top right --0.4581 the two green --1.0030 the two purple --0.5830 the upper left --0.5830 the upper right --1.0030 the uppermost of --0.4581 the uppermost purple --0.8269 the very bottom --0.8269 the very top --1.0030 the way at --1.0030 the way in --1.0030 the way to --0.5259 then a green --1.4801 there are green --1.4801 there are three --0.1091 there are two --0.2820 there is a --1.4801 there's a bunch --0.6769 there's a green --0.2553 there's a purple --0.5259 there's another green --0.5259 there's one purple --0.5259 there's three on --0.8269 there's two left --0.8269 there's two purple --0.5259 third from the --0.0969 this cone is --0.0512 this green cone --0.4581 this is a --1.0030 this is the --0.0792 this purple cone --0.5259 those further green --0.5259 three cones to --0.0792 three green cones --0.5259 three in a --0.5259 three on the --1.4801 three purple --0.1761 three purple cones --0.9352 three purple ones --0.5259 to a green --0.5259 to it two --0.8269 to see --0.8269 to see left --1.1280 to that --1.1280 to that far --0.5830 to that one --2.5171 to the --1.0370 to the back --2.5171 to the behind --2.5171 to the centre --1.1461 to the front --2.5171 to the it's --0.4114 to the left --2.5171 to the lower --2.5171 to the middle --1.9722 to the midline --2.5171 to the near --2.5171 to the on --2.5171 to the one --2.5171 to the rear --0.5288 to the right --1.9722 to the top --0.5830 to us --1.1280 to us in --1.1280 to us the --0.0969 top --0.2820 top corner --0.5259 top green cone --0.5259 top left --0.5259 top on the --0.5259 top purple --0.4581 top right corner --1.0030 top right purple --0.5259 touching two green --1.4801 towards the back --0.9352 towards the front --1.4801 towards the left --1.4801 towards the middle --0.9352 towards the midline --0.9352 towards the right --0.5259 two --0.5259 two adjoining purple --0.5259 two color shades --0.5259 two colors it's --0.0792 two green cones --1.6051 two green ones --1.6051 two green the --0.5259 two greens in --0.5259 two left on --0.8269 two other green --0.8269 two other purple --1.1271 two purple --0.1047 two purple cones --1.6720 two purple ones --0.5830 two shades --1.1280 two shades on --1.1280 two shades that's --0.5259 up --0.5259 up from the --0.2820 upper left hand --0.1998 upper right hand --0.5259 uppermost of three --0.2820 uppermost purple cone --0.1998 us --0.5259 us in the --0.5259 us the last --0.5259 very bottom of --0.5259 very close to --0.5259 very top --0.5259 was directly opposite --0.5259 was right above --0.5259 way at the --0.5259 way back but --0.5259 way in the --0.5259 way to the --0.5259 we just deleted --0.5259 west green --1.6051 which is close --1.0601 which is closest --1.6051 which is furthest --1.6051 which is green --0.8019 which is in --1.6051 which is slightly --1.6051 which is the --0.5259 which we just --0.4581 with a green --1.0030 with a lot --0.5259 with green cones --0.5259 with only one --1.0030 with the green --1.0030 with the purple --1.0030 with the shadow --1.0030 with two color --1.0030 with two green --1.0030 with two shades --0.5259 you - -\end\ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803-8khz.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803-8khz.wav deleted file mode 100755 index 30f27aaa..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803-8khz.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav deleted file mode 100755 index c41144a2..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/tools/bandwidth/10001-90210-01803.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.sxl b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.sxl deleted file mode 100755 index 5c1bd8ef..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.sxl +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl b/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl deleted file mode 100755 index f8bb938c..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-core/src/test/resources/edu/cmu/sphinx/util/props/ConfigurationManagerTest.testconfig.sxl +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - processor - ${anotherDataProc} - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/pom.xml b/lib/sphinx4-5prealpha-src/sphinx4-data/pom.xml deleted file mode 100755 index 733f5310..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - 4.0.0 - - - edu.cmu.sphinx - sphinx4-parent - 1.0-SNAPSHOT - - - sphinx4-data - jar - - Sphinx4 models - - - true - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/README b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/README deleted file mode 100755 index 53ee8b32..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/README +++ /dev/null @@ -1,34 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015 Alpha Cephei Inc. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY ALPHA CEPHEI INC. ``AS IS'' AND. - * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,. - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ALPHA CEPHEI INC. - * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT. - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,. - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY. - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT. - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE. - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ==================================================================== - * - */ - -This directory contains generic US english acoustic model trained with -latest sphinxtrain. diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/feat.params b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/feat.params deleted file mode 100755 index 7c4063ea..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/feat.params +++ /dev/null @@ -1,12 +0,0 @@ --lowerf 130 --upperf 6800 --nfilt 25 --transform dct --lifter 22 --feat 1s_c_d_dd --svspec 0-12/13-25/26-38 --agc none --cmn current --varnorm no --model ptm --cmninit 40,3,-1 diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mdef.REMOVED.git-id b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mdef.REMOVED.git-id deleted file mode 100644 index fa88caf2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mdef.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -fe0086479ae0ca7380201b61eee38898f6b390b7 \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/means b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/means deleted file mode 100755 index 0f6c1861..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/means and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mixture_weights.REMOVED.git-id b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mixture_weights.REMOVED.git-id deleted file mode 100644 index c573f80b..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/mixture_weights.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -725aa0074513b00b8f13962002aa4183dfa22f70 \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/noisedict b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/noisedict deleted file mode 100755 index 620e140a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/noisedict +++ /dev/null @@ -1,5 +0,0 @@ - SIL - SIL - SIL -[NOISE] +NSN+ -[SPEECH] +SPN+ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/sendump.REMOVED.git-id b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/sendump.REMOVED.git-id deleted file mode 100644 index 1f45139a..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/sendump.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -4b1ff8019137b574db4d85bd2701aa996cc2e239 \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/transition_matrices b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/transition_matrices deleted file mode 100755 index e028aff3..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/transition_matrices and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/variances b/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/variances deleted file mode 100755 index 8b2bf2f1..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us_old/variances and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/pom.xml b/lib/sphinx4-5prealpha-src/sphinx4-samples/pom.xml deleted file mode 100755 index fedbb367..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - 4.0.0 - - - edu.cmu.sphinx - sphinx4-parent - 1.0-SNAPSHOT - - - sphinx4-samples - jar - - Sphinx4 demo applications - - - - edu.cmu.sphinx - sphinx4-core - 1.0-SNAPSHOT - - - edu.cmu.sphinx - sphinx4-data - 1.0-SNAPSHOT - - - - - - - maven-assembly-plugin - - - - true - edu.cmu.sphinx.demo.DemoRunner - - - - jar-with-dependencies - - - - - package - - single - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/DemoRunner.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/DemoRunner.java deleted file mode 100755 index 535514dd..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/DemoRunner.java +++ /dev/null @@ -1,49 +0,0 @@ -package edu.cmu.sphinx.demo; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Map; -import java.util.TreeMap; - -import edu.cmu.sphinx.demo.aligner.AlignerDemo; -import edu.cmu.sphinx.demo.dialog.DialogDemo; -import edu.cmu.sphinx.demo.speakerid.SpeakerIdentificationDemo; -import edu.cmu.sphinx.demo.transcriber.TranscriberDemo; - -import static java.util.Arrays.copyOfRange; - -public class DemoRunner { - - static final Class[] paramTypes = new Class[] {String[].class}; - private static final Map> classes = - new TreeMap>(); - - static { - classes.put("aligner", AlignerDemo.class); - classes.put("dialog", DialogDemo.class); - classes.put("speakerid", SpeakerIdentificationDemo.class); - classes.put("transcriber", TranscriberDemo.class); - } - - public static void printUsage() { - System.err.println("Usage: DemoRunner [ ...]\n"); - System.err.println("Demo names:"); - - for (String name : classes.keySet()) - System.err.println(" " + name); - } - - public static void main(String[] args) throws Throwable { - if (0 == args.length || !classes.containsKey(args[0])) { - printUsage(); - System.exit(1); - } - - try { - Method main = classes.get(args[0]).getMethod("main", paramTypes); - main.invoke(null, new Object[]{copyOfRange(args, 1, args.length)}); - } catch (InvocationTargetException e) { - throw e.getCause(); - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/aligner/AlignerDemo.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/aligner/AlignerDemo.java deleted file mode 100755 index 6959915d..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/aligner/AlignerDemo.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - * - */ -package edu.cmu.sphinx.demo.aligner; - -import java.io.File; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -import edu.cmu.sphinx.alignment.LongTextAligner; -import edu.cmu.sphinx.api.SpeechAligner; -import edu.cmu.sphinx.result.WordResult; - -/** - * This class demonstrates how to align audio to existing transcription and - * receive word timestamps. - *
- * In order to initialize the aligner you need to specify several data files - * which might be available on the CMUSphinx website. There should be an - * acoustic model for your language, a dictionary, an optional G2P model to - * convert word strings to pronunciation. - *
- * Currently the audio must have specific format (16khz, 16bit, mono), but in - * the future other formats will be supported. - *
- * Text should be a clean text in lower case. It should be cleaned from - * punctuation marks, numbers and other non-speakable things. In the future - * automatic cleanup will be supported. - */ -public class AlignerDemo { - private static final String ACOUSTIC_MODEL_PATH = - "resource:/edu/cmu/sphinx/models/en-us/en-us"; - private static final String DICTIONARY_PATH = - "resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"; - private static final String TEXT = "one zero zero zero one nine oh two " - + "one oh zero one eight zero three"; - - public static void main(String args[]) throws Exception { - URL audioUrl; - String transcript; - if (args.length > 1) { - audioUrl = new File(args[0]).toURI().toURL(); - Scanner scanner = new Scanner(new File(args[1])); - scanner.useDelimiter("\\Z"); - transcript = scanner.next(); - scanner.close(); - } else { - audioUrl = AlignerDemo.class.getResource("10001-90210-01803.wav"); - transcript = TEXT; - } - String acousticModelPath = - (args.length > 2) ? args[2] : ACOUSTIC_MODEL_PATH; - String dictionaryPath = (args.length > 3) ? args[3] : DICTIONARY_PATH; - String g2pPath = (args.length > 4) ? args[4] : null; - SpeechAligner aligner = - new SpeechAligner(acousticModelPath, dictionaryPath, g2pPath); - - List results = aligner.align(audioUrl, transcript); - List stringResults = new ArrayList(); - for (WordResult wr : results) { - stringResults.add(wr.getWord().getSpelling()); - } - - LongTextAligner textAligner = - new LongTextAligner(stringResults, 2); - List sentences = aligner.getTokenizer().expand(transcript); - List words = aligner.sentenceToWords(sentences); - - int[] aid = textAligner.align(words); - - int lastId = -1; - for (int i = 0; i < aid.length; ++i) { - if (aid[i] == -1) { - System.out.format("- %s\n", words.get(i)); - } else { - if (aid[i] - lastId > 1) { - for (WordResult result : results.subList(lastId + 1, - aid[i])) { - System.out.format("+ %-25s [%s]\n", result.getWord() - .getSpelling(), result.getTimeFrame()); - } - } - System.out.format(" %-25s [%s]\n", results.get(aid[i]) - .getWord().getSpelling(), results.get(aid[i]) - .getTimeFrame()); - lastId = aid[i]; - } - } - - if (lastId >= 0 && results.size() - lastId > 1) { - for (WordResult result : results.subList(lastId + 1, - results.size())) { - System.out.format("+ %-25s [%s]\n", result.getWord() - .getSpelling(), result.getTimeFrame()); - } - } - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/allphone/AllphoneDemo.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/allphone/AllphoneDemo.java deleted file mode 100755 index c672eb89..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/allphone/AllphoneDemo.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2014 Carnegie Mellon University. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.demo.allphone; - -import java.io.InputStream; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.Context; -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.recognizer.Recognizer; -import edu.cmu.sphinx.result.Result; -import edu.cmu.sphinx.result.WordResult; -import edu.cmu.sphinx.util.TimeFrame; - -/** - * A simple example that shows how to transcribe a continuous audio file that - * has multiple utterances in it. - */ -public class AllphoneDemo { - - public static void main(String[] args) throws Exception { - System.out.println("Loading models..."); - - Configuration configuration = new Configuration(); - - // Load model from the jar - configuration - .setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - - // You can also load model from folder - // configuration.setAcousticModelPath("file:en-us"); - - configuration - .setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - Context context = new Context(configuration); - context.setLocalProperty("decoder->searchManager", "allphoneSearchManager"); - Recognizer recognizer = context.getInstance(Recognizer.class); - InputStream stream = AllphoneDemo.class - .getResourceAsStream("/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.allocate(); - context.setSpeechSource(stream, TimeFrame.INFINITE); - Result result; - while ((result = recognizer.recognize()) != null) { - SpeechResult speechResult = new SpeechResult(result); - System.out.format("Hypothesis: %s\n", speechResult.getHypothesis()); - - System.out.println("List of recognized words and their times:"); - for (WordResult r : speechResult.getWords()) { - System.out.println(r); - } - - System.out.println("Lattice contains " - + speechResult.getLattice().getNodes().size() + " nodes"); - } - recognizer.deallocate(); - - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/dialog/DialogDemo.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/dialog/DialogDemo.java deleted file mode 100755 index 21df22ab..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/dialog/DialogDemo.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright 2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.demo.dialog; - -import java.util.HashMap; -import java.util.Map; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.LiveSpeechRecognizer; - - -public class DialogDemo { - - private static final String ACOUSTIC_MODEL = - "resource:/edu/cmu/sphinx/models/en-us/en-us"; - private static final String DICTIONARY_PATH = - "resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"; - private static final String GRAMMAR_PATH = - "resource:/edu/cmu/sphinx/demo/dialog/"; - private static final String LANGUAGE_MODEL = - "resource:/edu/cmu/sphinx/demo/dialog/weather.lm"; - - private static final Map DIGITS = - new HashMap(); - - static { - DIGITS.put("oh", 0); - DIGITS.put("zero", 0); - DIGITS.put("one", 1); - DIGITS.put("two", 2); - DIGITS.put("three", 3); - DIGITS.put("four", 4); - DIGITS.put("five", 5); - DIGITS.put("six", 6); - DIGITS.put("seven", 7); - DIGITS.put("eight", 8); - DIGITS.put("nine", 9); - } - - private static double parseNumber(String[] tokens) { - StringBuilder sb = new StringBuilder(); - - for (int i = 1; i < tokens.length; ++i) { - if (tokens[i].equals("point")) - sb.append("."); - else - sb.append(DIGITS.get(tokens[i])); - } - - return Double.parseDouble(sb.toString()); - } - private static void recognizeDigits(LiveSpeechRecognizer recognizer) { - System.out.println("Digits recognition (using GrXML)"); - System.out.println("--------------------------------"); - System.out.println("Example: one two three"); - System.out.println("Say \"101\" to exit"); - System.out.println("--------------------------------"); - - recognizer.startRecognition(true); - while (true) { - String utterance = recognizer.getResult().getHypothesis(); - if (utterance.equals("one zero one") - || utterance.equals("one oh one")) - break; - else - System.out.println(utterance); - } - recognizer.stopRecognition(); - } - - private static void recognizerBankAccount(LiveSpeechRecognizer recognizer) { - System.out.println("This is bank account voice menu"); - System.out.println("-------------------------------"); - System.out.println("Example: balance"); - System.out.println("Example: withdraw zero point five"); - System.out.println("Example: deposit one two three"); - System.out.println("Example: back"); - System.out.println("-------------------------------"); - - double savings = .0; - recognizer.startRecognition(true); - - while (true) { - String utterance = recognizer.getResult().getHypothesis(); - if (utterance.endsWith("back")) { - break; - } else if (utterance.startsWith("deposit")) { - double deposit = parseNumber(utterance.split("\\s")); - savings += deposit; - System.out.format("Deposited: $%.2f\n", deposit); - } else if (utterance.startsWith("withdraw")) { - double withdraw = parseNumber(utterance.split("\\s")); - savings -= withdraw; - System.out.format("Withdrawn: $%.2f\n", withdraw); - } else if (!utterance.endsWith("balance")) { - System.out.println("Unrecognized command: " + utterance); - } - - System.out.format("Your savings: $%.2f\n", savings); - } - - recognizer.stopRecognition(); - } - - private static void recognizeWeather(LiveSpeechRecognizer recognizer) { - System.out.println("Try some forecast. End with \"the end\""); - System.out.println("-------------------------------------"); - System.out.println("Example: mostly dry some fog patches tonight"); - System.out.println("Example: sunny spells on wednesday"); - System.out.println("-------------------------------------"); - - recognizer.startRecognition(true); - while (true) { - String utterance = recognizer.getResult().getHypothesis(); - if (utterance.equals("the end")) - break; - else - System.out.println(utterance); - } - recognizer.stopRecognition(); - } - - public static void main(String[] args) throws Exception { - Configuration configuration = new Configuration(); - configuration.setAcousticModelPath(ACOUSTIC_MODEL); - configuration.setDictionaryPath(DICTIONARY_PATH); - configuration.setGrammarPath(GRAMMAR_PATH); - configuration.setUseGrammar(true); - - configuration.setGrammarName("dialog"); - LiveSpeechRecognizer jsgfRecognizer = - new LiveSpeechRecognizer(configuration); - - configuration.setGrammarName("digits.grxml"); - LiveSpeechRecognizer grxmlRecognizer = - new LiveSpeechRecognizer(configuration); - - configuration.setUseGrammar(false); - configuration.setLanguageModelPath(LANGUAGE_MODEL); - LiveSpeechRecognizer lmRecognizer = - new LiveSpeechRecognizer(configuration); - - jsgfRecognizer.startRecognition(true); - while (true) { - System.out.println("Choose menu item:"); - System.out.println("Example: go to the bank account"); - System.out.println("Example: exit the program"); - System.out.println("Example: weather forecast"); - System.out.println("Example: digits\n"); - - String utterance = jsgfRecognizer.getResult().getHypothesis(); - - if (utterance.startsWith("exit")) - break; - - if (utterance.equals("digits")) { - jsgfRecognizer.stopRecognition(); - recognizeDigits(grxmlRecognizer); - jsgfRecognizer.startRecognition(true); - } - - if (utterance.equals("bank account")) { - jsgfRecognizer.stopRecognition(); - recognizerBankAccount(jsgfRecognizer); - jsgfRecognizer.startRecognition(true); - } - - if (utterance.endsWith("weather forecast")) { - jsgfRecognizer.stopRecognition(); - recognizeWeather(lmRecognizer); - jsgfRecognizer.startRecognition(true); - } - } - - jsgfRecognizer.stopRecognition(); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/speakerid/SpeakerIdentificationDemo.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/speakerid/SpeakerIdentificationDemo.java deleted file mode 100755 index c82031c5..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/speakerid/SpeakerIdentificationDemo.java +++ /dev/null @@ -1,123 +0,0 @@ -package edu.cmu.sphinx.demo.speakerid; - -import java.net.URL; -import java.util.ArrayList; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.api.StreamSpeechRecognizer; -import edu.cmu.sphinx.decoder.adaptation.Stats; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.speakerid.Segment; -import edu.cmu.sphinx.speakerid.SpeakerCluster; -import edu.cmu.sphinx.speakerid.SpeakerIdentification; -import edu.cmu.sphinx.util.TimeFrame; - -public class SpeakerIdentificationDemo { - - /** - * Returns string version of the given time in milliseconds - * - * @param milliseconds time in milliseconds - * @return time in format mm:ss - */ - public static String time(int milliseconds) { - return (milliseconds / 60000) + ":" - + (Math.round((double) (milliseconds % 60000) / 1000)); - } - - /** - * - * @param speakers - * An array of clusters for which it is needed to be printed the - * speakers intervals - * @param fileName - * THe name of file we are processing - */ - public static void printSpeakerIntervals( - ArrayList speakers, String fileName) { - int idx = 0; - for (SpeakerCluster spk : speakers) { - idx++; - ArrayList segments = spk.getSpeakerIntervals(); - for (Segment seg : segments) - System.out.println(fileName + " " + " " - + time(seg.getStartTime()) + " " - + time(seg.getLength()) + " Speaker" + idx); - } - } - - /** - * @param speakers - * An array of clusters for which it is needed to get the - * speakers intervals for decoding with per-speaker adaptation - * with diarization. - * @param url - * Url for the audio - * @throws Exception if something went wrong - */ - public static void speakerAdaptiveDecoding(ArrayList speakers, - URL url) throws Exception { - - Configuration configuration = new Configuration(); - - // Load model from the jar - configuration - .setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - configuration - .setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration - .setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.dmp"); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer( - configuration); - - TimeFrame t; - SpeechResult result; - - for (SpeakerCluster spk : speakers) { - Stats stats = recognizer.createStats(1); - ArrayList segments = spk.getSpeakerIntervals(); - - for (Segment s : segments) { - long startTime = s.getStartTime(); - long endTime = s.getStartTime() + s.getLength(); - t = new TimeFrame(startTime, endTime); - - recognizer.startRecognition(url.openStream(), t); - while ((result = recognizer.getResult()) != null) { - stats.collect(result); - } - recognizer.stopRecognition(); - } - - Transform profile; - // Create the Transformation - profile = stats.createTransform(); - recognizer.setTransform(profile); - - for (Segment seg : segments) { - long startTime = seg.getStartTime(); - long endTime = seg.getStartTime() + seg.getLength(); - t = new TimeFrame(startTime, endTime); - - // Decode again with updated SpeakerProfile - recognizer.startRecognition(url.openStream(), t); - while ((result = recognizer.getResult()) != null) { - System.out.format("Hypothesis: %s\n", - result.getHypothesis()); - } - recognizer.stopRecognition(); - } - } - } - - public static void main(String[] args) throws Exception { - SpeakerIdentification sd = new SpeakerIdentification(); - URL url = SpeakerIdentificationDemo.class.getResource("test.wav"); - ArrayList clusters = sd.cluster(url.openStream()); - - printSpeakerIntervals(clusters, url.getPath()); - speakerAdaptiveDecoding(clusters, url); - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/transcriber/TranscriberDemo.java b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/transcriber/TranscriberDemo.java deleted file mode 100755 index 2b19ac11..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/java/edu/cmu/sphinx/demo/transcriber/TranscriberDemo.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 1999-2013 Carnegie Mellon University. - * Portions Copyright 2004 Sun Microsystems, Inc. - * Portions Copyright 2004 Mitsubishi Electric Research Laboratories. - * All Rights Reserved. Use is subject to license terms. - * - * See the file "license.terms" for information on usage and - * redistribution of this file, and for a DISCLAIMER OF ALL - * WARRANTIES. - */ - -package edu.cmu.sphinx.demo.transcriber; - -import java.io.InputStream; - -import edu.cmu.sphinx.api.Configuration; -import edu.cmu.sphinx.api.SpeechResult; -import edu.cmu.sphinx.api.StreamSpeechRecognizer; -import edu.cmu.sphinx.decoder.adaptation.Stats; -import edu.cmu.sphinx.decoder.adaptation.Transform; -import edu.cmu.sphinx.result.WordResult; - -/** - * A simple example that shows how to transcribe a continuous audio file that - * has multiple utterances in it. - */ -public class TranscriberDemo { - - public static void main(String[] args) throws Exception { - System.out.println("Loading models..."); - - Configuration configuration = new Configuration(); - - // Load model from the jar - configuration - .setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); - - // You can also load model from folder - // configuration.setAcousticModelPath("file:en-us"); - - configuration - .setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); - configuration - .setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.dmp"); - - StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer( - configuration); - InputStream stream = TranscriberDemo.class - .getResourceAsStream("/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav"); - stream.skip(44); - - // Simple recognition with generic model - recognizer.startRecognition(stream); - SpeechResult result; - while ((result = recognizer.getResult()) != null) { - - System.out.format("Hypothesis: %s\n", result.getHypothesis()); - - System.out.println("List of recognized words and their times:"); - for (WordResult r : result.getWords()) { - System.out.println(r); - } - - System.out.println("Best 3 hypothesis:"); - for (String s : result.getNbest(3)) - System.out.println(s); - - } - recognizer.stopRecognition(); - - // Live adaptation to speaker with speaker profiles - - stream = TranscriberDemo.class - .getResourceAsStream("/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav"); - stream.skip(44); - - // Stats class is used to collect speaker-specific data - Stats stats = recognizer.createStats(1); - recognizer.startRecognition(stream); - while ((result = recognizer.getResult()) != null) { - stats.collect(result); - } - recognizer.stopRecognition(); - - // Transform represents the speech profile - Transform transform = stats.createTransform(); - recognizer.setTransform(transform); - - // Decode again with updated transform - stream = TranscriberDemo.class - .getResourceAsStream("/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav"); - stream.skip(44); - recognizer.startRecognition(stream); - while ((result = recognizer.getResult()) != null) { - System.out.format("Hypothesis: %s\n", result.getHypothesis()); - } - recognizer.stopRecognition(); - - } -} diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav deleted file mode 100755 index c41144a2..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/10001-90210-01803.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/README.html b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/README.html deleted file mode 100755 index 6d2bf1d2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/aligner/README.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - Sphinx-4 Aligner Demo - - - -

- - - - -
-

Sphinx-4 Aligner Demo

-
-
- - - Aligns audio file to transcription and get times of - words. Can be useful for closed captioning. - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/dialog.gram b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/dialog.gram deleted file mode 100755 index 44342381..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/dialog.gram +++ /dev/null @@ -1,29 +0,0 @@ -#JSGF V1.0; - -grammar dialog; - - = oh | - zero | - one | - two | - three | - four | - five | - six | - seven | - eight | - nine ; - - = + [point +]; - - = digits | - [go to [the]] bank account | - weather forecast | - exit [[the] program] ; - - = [show | check] balance | - deposit | - withdraw | - back ; - -public = | ; diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/digits.grxml b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/digits.grxml deleted file mode 100755 index 525c3382..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/digits.grxml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - one - two - three - four - five - six - seven - eight - nine - zero - oh - - - - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.lm.REMOVED.git-id b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.lm.REMOVED.git-id deleted file mode 100644 index 3fdcc563..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.lm.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ec4cda3a0b3a0fcaa4d8685188f1f79f6d7f5bcf \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.samples b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.samples deleted file mode 100755 index 532952e2..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/dialog/weather.samples +++ /dev/null @@ -1,80 +0,0 @@ -Will remain dry apart from perhaps a little drizzle near the northwest -coast. - -Extensive mist and fog patches expected also. - -Some fog also. - -Frost likely in many places. - -Any rain or drizzle will die out tomorrow and sunny spells will develop. - -Cloudy tonight in the north and northeast with some light rain or drizzle -in places. - -Fresh or strong gusty southwest to west winds gradually veering -northwesterly. - -Mostly dry calm and clear overnight with little or no wind. - -Severe ground frost developing. - -Rain or drizzle in the north and northeast will clear tomorrow leaving -a dry day with sunny spells in most areas. - -Scattered blustery showers largely dying out later. - -Fair weather in all areas, rain in the south and west later. - -Showers will slowly become more isolated tonight. - -A very cold night. - -Continuing mild with a moderate to fresh southerly breeze. - -Scattered showers with a risk of thunder later. - -Becoming windy overnight but very mild. - -Widespread haze and mist with scattered outbreaks of rain. - -A few sunny breaks will develop by afternoon principally in the western -half of the country. - -A second low pressure centre will move in across northern areas tomorrow. - -Cold and windy with occasional showers. - -Continuing rather cloudy over most parts of the country. - -Tomorrow any fog, low cloud and drizzle will clear with most places dry -and sunny. - -It will be cold overnight in most parts of the country with some clear -spells. - -A weak ridge of high pressure will cross the country tonight. - -Rain spreading to all areas from the west followed later by heavy showers. - -Weather mainly fair if rather hazy. - -The rest of the night will be dry in most areas though a few showers -are still possibly across northern and northeastern counties. - -Windy with rain extending to all parts during the morning. - -The rain becoming heavy in many areas. - -Very windy with strong southerly winds gusting up to fifty or sixty mph. - -Rain in the south and west will spread to remaining north east areas -overnight, heavy and persistent in places. - -Clouds will increase from the west as the day goes on. - -Misty in the south and southeast with patchy drizzle and a risk of fog. - -The rest of the country will be overcast with outbreaks of rain heaviest -and most persistent in the south and southwest. - diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/speakerid/test.wav b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/speakerid/test.wav deleted file mode 100755 index 248f524a..00000000 Binary files a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/speakerid/test.wav and /dev/null differ diff --git a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/transcriber/README.html b/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/transcriber/README.html deleted file mode 100755 index d2d83d11..00000000 --- a/lib/sphinx4-5prealpha-src/sphinx4-samples/src/main/resources/edu/cmu/sphinx/demo/transcriber/README.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - Sphinx-4 Transcriber Demo - - - -
- - - - -
-

Sphinx-4 Transcriber Demo

-
-
-
- - -

- A simple Sphinx-4 application that transcribes a continuous audio file - that has multiple utterances. The audio file should contain connected - digits data. The default file, called "10001-90210-01803.wav", contains - three utterances, separated by silences. - People who want to transcribe non-digits data should - modify the config.xml file to use the correct grammar, - language model, and linguist to do so. Please refer to the - Programmer's Guide - on how to modify the configuration file for your purposes. -

- -

Building

-

- Check if the bin directory already has the - Transcriber.jar file. If not, type the following in the top - level directory: -

- ant -find demo.xml -

Running

-

- To run the demo, type: -

- sphinx4 > java -jar bin/Transcriber.jar -

- You will see the following result, with each utterance on its own line: -

-one zero zero zero one
-nine oh two one oh
-zero one eight zero three
-      
-

- NOTE: -

    -
  1. - Make sure that you are using JavaTM 2 SDK, Standard Edition, - v1.4 or higher. -
  2. -
  3. - If you have the source distribution, make sure that the JAR file - lib/sphinx4.jar is built. If not, go to the top level - directory and type: ant -
  4. -
  5. - You can supply your own test files, but they must be digits data. - Just make sure that the audio format is the same as in the - config.xml file, which is 16-bit signed PCM-linear, 16kHz, little-endian. - The audio file format can be any format readable by Java Sound, - e.g., .wav, .au. To test your own file, supply it as an argument. - Suppose your test file is called test.wav, then: -

    java -jar bin/Transcriber.jar test.wav -

  6. -
-

-
-
-Copyright 1999-2004 Carnegie Mellon University. -
-Portions Copyright 2002-2004 Sun Microsystems, Inc. -
-Portions Copyright 2002-2004 Mitsubishi Electric Research Laboratories. -
-All Rights Reserved. Usage is subject to license terms. - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4.config.xml b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4.config.xml deleted file mode 100755 index bbf3cb3d..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4.config.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - - - - - - - - - - - - - - - - - - - - - accuracyTracker - speedTracker - memoryTracker - recognizerMonitor - - - - - - - - - - - accuracyTracker - rejectionTracker - speedTracker - memoryTracker - recognizerMonitor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - preemphasizer - windower - fft - melFilterBank - dct - batchCMN - featureExtraction - - - - - - - - - - concatDataSource - speechClassifier - speechMarker - nonSpeechDataFilter - preemphasizer - windower - fft - melFilterBank - dct - liveCMN - featureExtraction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - linguistStats - configMonitor - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.batch b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.batch deleted file mode 100755 index 0aae78d9..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.batch +++ /dev/null @@ -1,948 +0,0 @@ -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an251-fash-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an253-fash-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an254-fash-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an255-fash-b.raw u m n y h six -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen1-fash-b.raw h i n i c h -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen2-fash-b.raw a m y -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen4-fash-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen5-fash-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen7-fash-b.raw two six eight four four one eight -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an86-fbbh-b.raw c z d z w eight -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an87-fbbh-b.raw enter six two four -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an88-fbbh-b.raw erase o t h f i five zero -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an89-fbbh-b.raw rubout t g j w b seventy nine fifty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an90-fbbh-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen1-fbbh-b.raw h o w e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen2-fbbh-b.raw b e v e r l y -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen3-fbbh-b.raw fifty one fifty six -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen4-fbbh-b.raw p r i n c e -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen5-fbbh-b.raw g i b s o n i a -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen6-fbbh-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen7-fbbh-b.raw four four three six three one two -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen8-fbbh-b.raw march third nineteen twenty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an146-fclc-b.raw n l n s one seventy five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an147-fclc-b.raw q e e a six -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an148-fclc-b.raw erase o j t k s thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an149-fclc-b.raw enter nine eighty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an150-fclc-b.raw erase c k c w fourteen eighty five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen1-fclc-b.raw c o n n e l l y -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen2-fclc-b.raw c i n d y -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen3-fclc-b.raw five five three five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen4-fclc-b.raw a y l e s b o r o -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen5-fclc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen6-fclc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen7-fclc-b.raw six eight seven five eight oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen8-fclc-b.raw june eleventh nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an36-fejs-b.raw rubout c y r b seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an37-fejs-b.raw erase j g q y eight six one -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an38-fejs-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an39-fejs-b.raw g c d o four -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an40-fejs-b.raw z i r k six four four -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen1-fejs-b.raw s c a v i n c k y -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen2-fejs-b.raw j e a n -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen3-fejs-b.raw one zero six five -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen4-fejs-b.raw f i n d l e y d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen5-fejs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen6-fejs-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen7-fejs-b.raw two six eight three eight zero two -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen8-fejs-b.raw two fifteen sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an291-ffmm-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an292-ffmm-b.raw enter seventy eight -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an293-ffmm-b.raw k l m u five two seven four -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an294-ffmm-b.raw h b g l seventy seven -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an295-ffmm-b.raw v a d r thirty one oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen1-ffmm-b.raw m o d u g n o -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen2-ffmm-b.raw f r a n c e s m a r y -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen3-ffmm-b.raw fifty six thirty two -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen4-ffmm-b.raw p h i l l i p s -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen5-ffmm-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen6-ffmm-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen7-ffmm-b.raw four one two four two one eight eight nine six -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen8-ffmm-b.raw september fifteenth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an76-fjam-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an77-fjam-b.raw erase v x s x two four nine nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an78-fjam-b.raw r q z h four -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an79-fjam-b.raw rubout j u i p three two eight -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an80-fjam-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen1-fjam-b.raw m a r n e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen2-fjam-b.raw j u l i e -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen3-fjam-b.raw seven fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen4-fjam-b.raw m e m o r y l a n e -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen5-fjam-b.raw m c k e e s p o r t -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen6-fjam-b.raw one five one three three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen7-fjam-b.raw six six four seven two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen8-fjam-b.raw may twenty first nineteen sixty -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an121-fjdn-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an122-fjdn-b.raw enter eight two four two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an123-fjdn-b.raw enter fifty four -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an124-fjdn-b.raw rubout o q i m i thirty two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an125-fjdn-b.raw enter fifteen -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen1-fjdn-b.raw n e l s o n -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen2-fjdn-b.raw j e n n i f e r -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen3-fjdn-b.raw thirty three -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen4-fjdn-b.raw k u n t z -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen5-fjdn-b.raw b e r k e l e y -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen6-fjdn-b.raw oh seven nine two two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen7-fjdn-b.raw two oh one four six four six oh eight three -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen8-fjdn-b.raw march twentieth nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an10-fjmd-b.raw g two eighty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an6-fjmd-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an7-fjmd-b.raw o u four seven twenty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an8-fjmd-b.raw b seven twenty five -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an9-fjmd-b.raw j four thirty three -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen1-fjmd-b.raw d r a v k -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen2-fjmd-b.raw j e a n e t t e -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen3-fjmd-b.raw one ten -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen4-fjmd-b.raw s p r i n g h o u s e -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen5-fjmd-b.raw w r i g h t s v i l l e -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen6-fjmd-b.raw one seven three six eight -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen7-fjmd-b.raw two five two two oh two nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen8-fjmd-b.raw eleven nine sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an311-fkai-b.raw erase i s l f thirty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an312-fkai-b.raw erase z y g n p eight hundred and twenty three -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an313-fkai-b.raw erase t m a z x two thousand five hundred and fifty two -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an314-fkai-b.raw a m s j seven thousand one hundred and eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an315-fkai-b.raw enter fifty one -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen1-fkai-b.raw i v a r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen2-fkai-b.raw k a r l a -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen3-fkai-b.raw one thousand -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen4-fkai-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen5-fkai-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen6-fkai-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen7-fkai-b.raw four four four seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen8-fkai-b.raw october first nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an131-fkdo-b.raw rubout w l f x y seven oh six nine -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an132-fkdo-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an133-fkdo-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an134-fkdo-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an135-fkdo-b.raw rubout u t f f eight -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen1-fkdo-b.raw o l a c k -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen2-fkdo-b.raw k a r e n -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen3-fkdo-b.raw two two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen4-fkdo-b.raw a l m o n t -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen5-fkdo-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen6-fkdo-b.raw one five two one oh -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen7-fkdo-b.raw eight eight two eight one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen8-fkdo-b.raw five twenty six forty five -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an61-flmm2-b.raw enter seven oh three eight -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an62-flmm2-b.raw enter five zero -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an63-flmm2-b.raw enter five three four three -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an64-flmm2-b.raw enter four -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an65-flmm2-b.raw x g i c two -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen1-flmm2-b.raw m a c a l u s o -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen2-flmm2-b.raw l i n d a -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen3-flmm2-b.raw three four eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen4-flmm2-b.raw m e a d o w g a t e d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen6-flmm2-b.raw one five six six eight -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen7-flmm2-b.raw three two seven one six nine five -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen8-flmm2-b.raw thirty one j a n u a r y one nine seven zero -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an21-flrp-b.raw s z k w w two thirty seven -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an2121-flrp-b.raw z c b e g seventy nine -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an22-flrp-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an23-flrp-b.raw rubout z y t l fifty one -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an24-flrp-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an25-flrp-b.raw rubout o g d e four seven five seven -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen1-flrp-b.raw p o m e r a n t z -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen2-flrp-b.raw l i n d a -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen3-flrp-b.raw fifty one fifteen -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen4-flrp-b.raw m a r g a r e t -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen5-flrp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen6-flrp-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen7-flrp-b.raw two six eight five nine five two -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen8-flrp-b.raw three twenty seven sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an116-fmjc-b.raw o a m j one five three -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an117-fmjc-b.raw rubout m n z l three seven seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an118-fmjc-b.raw rubout j l y z two -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an119-fmjc-b.raw enter thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an120-fmjc-b.raw rubout y y f x zero -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen1-fmjc-b.raw c e l l i o -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen2-fmjc-b.raw m o n i c a -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen3-fmjc-b.raw five six one five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen4-fmjc-b.raw h o b a r t -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen5-fmjc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen6-fmjc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen7-fmjc-b.raw four two one oh four five one -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen8-fmjc-b.raw nine twenty three sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an191-fmjd-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an192-fmjd-b.raw erase e o a c u three -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an193-fmjd-b.raw erase y b e j q five oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an194-fmjd-b.raw p t q d q one -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an195-fmjd-b.raw i d m h seven eight five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen1-fmjd-b.raw d o w l i n g -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen2-fmjd-b.raw m a r y j o -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen3-fmjd-b.raw six five three four -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen4-fmjd-b.raw d a l z e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen5-fmjd-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen6-fmjd-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen7-fmjd-b.raw four two one oh one nine six -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen8-fmjd-b.raw seven fourteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an181-fnsv-b.raw a v m u four forty two -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an182-fnsv-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an183-fnsv-b.raw o l k f five forty five -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an184-fnsv-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an185-fnsv-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen1-fnsv-b.raw v e c c h i -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen2-fnsv-b.raw n i c o l e -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen3-fnsv-b.raw fifty six oh five -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen4-fnsv-b.raw e l l s w o r t h -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen5-fnsv-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen6-fnsv-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen7-fnsv-b.raw six six one five zero six four -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen8-fnsv-b.raw january fifteenth nineteen sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an91-fplp-b.raw erase m y a m seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an92-fplp-b.raw rubout n x f e eight nine six -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an93-fplp-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an94-fplp-b.raw erase r b d k t fifty -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an95-fplp-b.raw rubout f m q n h three seventy -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen1-fplp-b.raw p o m e r a n t z -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen2-fplp-b.raw p h y l l i s -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen3-fplp-b.raw one two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen4-fplp-b.raw e a r l f o r d -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen5-fplp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen6-fplp-b.raw one five two two seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen7-fplp-b.raw eight eight four one zero five seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen8-fplp-b.raw six seventeen thirty six -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an296-fsaf2-b.raw v q d b forty nine hundred -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an297-fsaf2-b.raw w c v y h seventy seven forty four -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an298-fsaf2-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an299-fsaf2-b.raw erase n t d i c five nine one -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an300-fsaf2-b.raw rubout s h k j five seven six -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen1-fsaf2-b.raw f a r r e l l y -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen2-fsaf2-b.raw s h e i l a -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen3-fsaf2-b.raw one twenty -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen4-fsaf2-b.raw t a n g l e w y l d e -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen5-fsaf2-b.raw b r o n x v i l l e -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen6-fsaf2-b.raw one oh seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen7-fsaf2-b.raw nine one four three three seven one eight six nine -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen8-fsaf2-b.raw five sixteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an166-fsrb-b.raw a a i l zero -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an167-fsrb-b.raw enter forty seven forty seven -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an168-fsrb-b.raw rubout l d r w twenty six -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an169-fsrb-b.raw enter sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an170-fsrb-b.raw enter four fifty six -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen1-fsrb-b.raw b u r k s -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen2-fsrb-b.raw s h a r o n -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen3-fsrb-b.raw thirty two thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen4-fsrb-b.raw a r a p a h o e -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen5-fsrb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen6-fsrb-b.raw one five two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen7-fsrb-b.raw four one two eight three one nine five one three -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen8-fsrb-b.raw december eighteenth nineteen forty four -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an326-ftal-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an327-ftal-b.raw enter seven seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an328-ftal-b.raw j s p s z nine six nine -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an329-ftal-b.raw b y v m eight four -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an330-ftal-b.raw enter two six -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen1-ftal-b.raw l e w i s -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen2-ftal-b.raw t r a c y -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen3-ftal-b.raw four oh three -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen4-ftal-b.raw v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen5-ftal-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen6-ftal-b.raw one five two three nine -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen7-ftal-b.raw two six eight three zero two seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen8-ftal-b.raw ten one sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an211-ftmj-b.raw enter sixty six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an212-ftmj-b.raw l z r v fifty five thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an213-ftmj-b.raw rubout p n a m x seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an214-ftmj-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an215-ftmj-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen1-ftmj-b.raw j e t t -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen2-ftmj-b.raw t e r i n a -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen3-ftmj-b.raw twenty two twenty six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen4-ftmj-b.raw h a w t h o r n e -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen5-ftmj-b.raw s w i s s v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen6-ftmj-b.raw one five two one eight -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen7-ftmj-b.raw two seven one zero eight two six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen8-ftmj-b.raw july thirtieth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an221-fwxs-b.raw g l l k h one -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an222-fwxs-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an223-fwxs-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an224-fwxs-b.raw j v p e eight seven zero -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an225-fwxs-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen1-fwxs-b.raw s a t t e r f i e l d -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen2-fwxs-b.raw w h i t n e y -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen3-fwxs-b.raw two ten -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen4-fwxs-b.raw o r c h a r d p l a c e -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen5-fwxs-b.raw s e w i c k l e y -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen6-fwxs-b.raw one five one four three -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen7-fwxs-b.raw seven four one oh five nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an371-mblb-b.raw erase i g n m forty three seventeen -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an372-mblb-b.raw rubout e u j o ninety five -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an373-mblb-b.raw k w z a g two hundred and sixty six -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an374-mblb-b.raw enter thirty eight sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an375-mblb-b.raw enter forty three forty five -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen1-mblb-b.raw b r u m i t t -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen2-mblb-b.raw b a r r y -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen3-mblb-b.raw one ten -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen4-mblb-b.raw m i d w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen5-mblb-b.raw w a t e r b u r y -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen6-mblb-b.raw oh six seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen7-mblb-b.raw two oh three seven five seven eight eight nine nine -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen8-mblb-b.raw july twelfth nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an1-mblw-b.raw x i sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an2-mblw-b.raw z eight oh two -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an3-mblw-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an4-mblw-b.raw enter seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an5-mblw-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen1-mblw-b.raw w e i d e -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen2-mblw-b.raw r o b e r t -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen3-mblw-b.raw forty three twenty three -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen4-mblw-b.raw l u d w i c k -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen5-mblw-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen6-mblw-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen7-mblw-b.raw four two two oh eight one six -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen8-mblw-b.raw one sixteen forty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an266-mbmg-b.raw enter fifty four -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an267-mbmg-b.raw s u o u eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an268-mbmg-b.raw erase s v n y ten ten -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an269-mbmg-b.raw rubout c h y d d oh -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an270-mbmg-b.raw enter one forty two -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen1-mbmg-b.raw g o t t i e r -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen2-mbmg-b.raw b r i a n -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen3-mbmg-b.raw three oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen4-mbmg-b.raw p a r k r o a d -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen5-mbmg-b.raw d o w n i n g t o w n -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen6-mbmg-b.raw one nine three three five -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen7-mbmg-b.raw two one five four five eight five four six nine -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen8-mbmg-b.raw september twenty seventh nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an201-mcel-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an202-mcel-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an203-mcel-b.raw enter eight one nine six -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an204-mcel-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an205-mcel-b.raw rubout f y n p ninety seven -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen1-mcel-b.raw l a m p s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen2-mcel-b.raw c l a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen3-mcel-b.raw six three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen4-mcel-b.raw g a r l a n d -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen5-mcel-b.raw s u n n y v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen6-mcel-b.raw nine four oh eight six -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen8-mcel-b.raw twelve nine of sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an126-mcen-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an127-mcen-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an128-mcen-b.raw rubout i t d k m four seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an129-mcen-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an130-mcen-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen1-mcen-b.raw n e w e l l -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen2-mcen-b.raw c h r i s -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen3-mcen-b.raw fifty eight oh nine and a half -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen4-mcen-b.raw h o b a r t -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen5-mcen-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen6-mcen-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen7-mcen-b.raw five two one sixty fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen8-mcen-b.raw three fourteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an261-mcfl-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an262-mcfl-b.raw i p a c f two five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an263-mcfl-b.raw rubout i r d d j one -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an264-mcfl-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an265-mcfl-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen1-mcfl-b.raw f e d o r -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen2-mcfl-b.raw c h r i s t o p h e r -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen3-mcfl-b.raw one four eight two three -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen4-mcfl-b.raw l o n g v i e w -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen5-mcfl-b.raw n e w b u r y -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen6-mcfl-b.raw four four oh six five -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen7-mcfl-b.raw six four five three three six four -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen8-mcfl-b.raw eight fourteen sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an141-mcrt-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an142-mcrt-b.raw enter ninety four -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an143-mcrt-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an144-mcrt-b.raw rubout f b m j seven ten -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an145-mcrt-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen1-mcrt-b.raw t a y l o r -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen2-mcrt-b.raw r o y -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen3-mcrt-b.raw three oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen4-mcrt-b.raw h a s t i n g s -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen5-mcrt-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen6-mcrt-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen7-mcrt-b.raw three six three oh nine six two -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen8-mcrt-b.raw seven may nineteen forty four -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an231-mcsc-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an232-mcsc-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an233-mcsc-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an234-mcsc-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an235-mcsc-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen1-mcsc-b.raw c a l i g i u r i -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen2-mcsc-b.raw c h a r l e s -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen3-mcsc-b.raw one zero zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen4-mcsc-b.raw t r e n t o n -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen5-mcsc-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen6-mcsc-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen7-mcsc-b.raw seven three one one three three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen8-mcsc-b.raw three twelve fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an241-mdcs-b.raw enter fifty sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an242-mdcs-b.raw v w a b w two fourteen -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an243-mdcs-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an244-mdcs-b.raw l r r k i four -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an245-mdcs-b.raw rubout u f z z sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen1-mdcs-b.raw s t e e r e -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen2-mdcs-b.raw d a v i d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen3-mdcs-b.raw sixty three sixty four and a half -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen4-mdcs-b.raw f o r w a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen5-mdcs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen6-mdcs-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen7-mdcs-b.raw four one two four two two three five seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen8-mdcs-b.raw august sixteenth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/an111-mdcs2-b.raw p u x p i five -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/an112-mdcs2-b.raw f y z o two two two -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/an113-mdcs2-b.raw rubout h a x x n six seven nine one -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/an114-mdcs2-b.raw l r l y u seven three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/an115-mdcs2-b.raw rubout o k t l e two eight one -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen1-mdcs2-b.raw s n o w -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen2-mdcs2-b.raw d o n a l d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen3-mdcs2-b.raw fourteen fourteen -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen4-mdcs2-b.raw s o u t h -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen5-mdcs2-b.raw p i t t s b u r g -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen6-mdcs2-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen7-mdcs2-b.raw four two one six two eight three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen8-mdcs2-b.raw september first nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/an206-mdmc-b.raw rubout z o t f two -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/an207-mdmc-b.raw rubout h f d w q six two two -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/an208-mdmc-b.raw rubout n b a k ninety six -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/an209-mdmc-b.raw r g c s seven sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/an210-mdmc-b.raw rubout z g d r g nine nine four six -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen1-mdmc-b.raw c a r r e l -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen2-mdmc-b.raw d a v i d -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen3-mdmc-b.raw five ten -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen4-mdmc-b.raw h i g h l a n d -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen5-mdmc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen6-mdmc-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen7-mdmc-b.raw three six one zero one five five -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen8-mdmc-b.raw ninth of september nineteen sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an106-mdxn-b.raw enter zero -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an107-mdxn-b.raw t v a h fifty two fifty three -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an108-mdxn-b.raw enter forty one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an109-mdxn-b.raw b v i q g eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an110-mdxn-b.raw enter sixty two thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen1-mdxn-b.raw n o o n b u r g -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen2-mdxn-b.raw d e r e k -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen3-mdxn-b.raw one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen4-mdxn-b.raw c o n c o r d -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen5-mdxn-b.raw i t h a c a -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen6-mdxn-b.raw one four eight five oh -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen7-mdxn-b.raw two six eight four one six one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen8-mdxn-b.raw seven fifteen nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an26-mdxs-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an27-mdxs-b.raw x h b a c five three four four -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an28-mdxs-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an29-mdxs-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an30-mdxs-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen1-mdxs-b.raw s t o d o l s k y -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen2-mdxs-b.raw d a n i e l -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen3-mdxs-b.raw three seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen4-mdxs-b.raw b o u q u e t -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen5-mdxs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen6-mdxs-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen7-mdxs-b.raw four one two six eight seven eight eight seven one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen8-mdxs-b.raw july twenty nine nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an136-meab-b.raw erase w e s f twenty four oh three -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an137-meab-b.raw rubout g u k e v nine -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an138-meab-b.raw j z a p seventeen -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an139-meab-b.raw enter eight thirty two -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an140-meab-b.raw rubout r e f v s one five three three -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen1-meab-b.raw b l a c k w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen2-meab-b.raw e d w i n -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen3-meab-b.raw three one two -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen4-meab-b.raw b r a d d o c k -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen5-meab-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen6-meab-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen7-meab-b.raw four one two two four two six six two six -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen8-meab-b.raw six sixteen sixty -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an66-meht-b.raw enter four thousand eight hundred eighty three -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an67-meht-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an68-meht-b.raw f e g b forty eight -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an69-meht-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an70-meht-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen1-meht-b.raw t h a y e r -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen2-meht-b.raw e r i c -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen3-meht-b.raw fifty six sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen4-meht-b.raw b e a c o n -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen5-meht-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen6-meht-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen7-meht-b.raw four one two five two one two eight two four -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen8-meht-b.raw four seven sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an286-mema-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an287-mema-b.raw r h h u f two -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an288-mema-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an289-mema-b.raw enter nine eight nine -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an290-mema-b.raw n g n n three nine nine -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen1-mema-b.raw a l t m a n n -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen2-mema-b.raw e r i k -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen3-mema-b.raw seven three zero -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen4-mema-b.raw e a s t e n d a v e -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen5-mema-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen6-mema-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen7-mema-b.raw two four three eight three two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen8-mema-b.raw f e b one eight one nine six four -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an256-mewl-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an257-mewl-b.raw rubout h w o n j four thousand seven hundred twenty three -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an258-mewl-b.raw enter fourteen -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an259-mewl-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an260-mewl-b.raw b a i q w eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen1-mewl-b.raw l e u l i e t t e -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen2-mewl-b.raw e r i c -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen3-mewl-b.raw b o x eight oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen4-mewl-b.raw five one one five m a r g a r e t -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen5-mewl-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen6-mewl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen7-mewl-b.raw two six eight four six five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen8-mewl-b.raw twelve four sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an161-mfaa-b.raw h p d f t sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an162-mfaa-b.raw erase j n r g forty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an163-mfaa-b.raw enter ninety eight twenty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an164-mfaa-b.raw x e d v seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an165-mfaa-b.raw y f j k two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen1-mfaa-b.raw a l l e v a -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen2-mfaa-b.raw f i l -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen3-mfaa-b.raw five six three one -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen4-mfaa-b.raw w i l k i n s -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen5-mfaa-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen6-mfaa-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen7-mfaa-b.raw five two one oh two six eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen8-mfaa-b.raw ten thirty one fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an196-mgah-b.raw enter seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an197-mgah-b.raw enter four twenty one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an198-mgah-b.raw enter one ninety six -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an199-mgah-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an200-mgah-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen1-mgah-b.raw h o y -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen2-mgah-b.raw g l e n n -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen3-mgah-b.raw one two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen4-mgah-b.raw r u s k i n -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen5-mgah-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen6-mgah-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen7-mgah-b.raw six eight three five zero four one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen8-mgah-b.raw august twenty second nineteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an246-mjbh-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an247-mjbh-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an248-mjbh-b.raw x z i v y one -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an249-mjbh-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an250-mjbh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen1-mjbh-b.raw h a m p s h i r e -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen2-mjbh-b.raw j o h n -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen3-mjbh-b.raw five six four zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen4-mjbh-b.raw e l g i n -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen5-mjbh-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen6-mjbh-b.raw one five two zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen7-mjbh-b.raw two six eight three zero six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen8-mjbh-b.raw seven twenty nine fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an171-mjda-b.raw rubout u g a m thirty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an172-mjda-b.raw enter eight seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an173-mjda-b.raw rubout c t l e seventy six twelve -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an174-mjda-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an175-mjda-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen1-mjda-b.raw a s p n e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen2-mjda-b.raw j a m e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen3-mjda-b.raw seven thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen4-mjda-b.raw e a s t e n d a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen5-mjda-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen6-mjda-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen7-mjda-b.raw two six eight three oh five four -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen8-mjda-b.raw january twelfth nineteen sixty six -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an16-mjdr-b.raw e m b z six eight six -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an18-mjdr-b.raw enter four fifty one -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an19-mjdr-b.raw rubout o h g p d two nine seven six -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an20-mjdr-b.raw a t t g k eighty four -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen1-mjdr-b.raw r o s e n f e l d -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen2-mjdr-b.raw j e f f -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen3-mjdr-b.raw four seven two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen4-mjdr-b.raw c e n t r e a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen5-mjdr-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen6-mjdr-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen7-mjdr-b.raw four one two six eight one one eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen8-mjdr-b.raw oh six oh seven six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an156-mjes-b.raw erase q k x y u one sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an157-mjes-b.raw enter thirty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an158-mjes-b.raw rubout v e w z seven seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an159-mjes-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an160-mjes-b.raw j c h e q fifty eight thousand nine thirty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen1-mjes-b.raw s w a r t z -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen2-mjes-b.raw j o n a t h a n -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen3-mjes-b.raw thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen4-mjes-b.raw e a s t eighty fifth s t r e e t -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen5-mjes-b.raw n e w y o r k -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen6-mjes-b.raw one oh oh two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen7-mjes-b.raw two one two five seven oh two seven eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen8-mjes-b.raw august twenty second nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an216-mjgk-b.raw v e r k e thirty five thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an217-mjgk-b.raw enter eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an218-mjgk-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an219-mjgk-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an220-mjgk-b.raw enter three eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen1-mjgk-b.raw k e a n e -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen2-mjgk-b.raw j o s e p h -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen4-mjgk-b.raw s p r i n g h o u s e l a n e -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen5-mjgk-b.raw o apostrophe h a r a -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen6-mjgk-b.raw one five two three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen7-mjgk-b.raw four two two two oh eight nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen8-mjgk-b.raw june twenty third nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an56-mjhp-b.raw erase x b m n t four one oh nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an57-mjhp-b.raw f k a u two four -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an58-mjhp-b.raw erase e x x s zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an59-mjhp-b.raw a g l g a six four nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an60-mjhp-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen1-mjhp-b.raw p o l i f r o n i -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen2-mjhp-b.raw j o s e p h -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen3-mjhp-b.raw one five three two -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen4-mjhp-b.raw a s b u r y p l a c e -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen5-mjhp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen6-mjhp-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen7-mjhp-b.raw four one two five two one eight two six oh -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen8-mjhp-b.raw seven seventeen fifty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an176-mjjs2-b.raw v l c z twenty six -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an177-mjjs2-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an178-mjjs2-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an179-mjjs2-b.raw erase q e j q t seventy seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an180-mjjs2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen1-mjjs2-b.raw s k e e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen2-mjjs2-b.raw j a m e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen4-mjjs2-b.raw a m p e r e -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen5-mjjs2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen6-mjjs2-b.raw one five two zero seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen7-mjjs2-b.raw four two two zero seven nine one -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen8-mjjs2-b.raw february eighth nineteen fifty two -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an316-mkdb-b.raw d s k u four five oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an317-mkdb-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an318-mkdb-b.raw enter four -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an319-mkdb-b.raw rubout r z r v z ninety eight -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an320-mkdb-b.raw e z a k o eight -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen1-mkdb-b.raw b e c h t e l -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen2-mkdb-b.raw k a r l -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen3-mkdb-b.raw fifty seven fourteen a -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen4-mkdb-b.raw b e a c o n -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen5-mkdb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen6-mkdb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen7-mkdb-b.raw five two one four nine five four -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen8-mkdb-b.raw march twenty fifth nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an186-mkem-b.raw erase v r f o five -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an187-mkem-b.raw enter one thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an188-mkem-b.raw u s i q n seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an189-mkem-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an190-mkem-b.raw rubout u j m k nine -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen1-mkem-b.raw m o h n k e r n -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen2-mkem-b.raw k e n -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen4-mkem-b.raw c m u -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen5-mkem-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen6-mkem-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen7-mkem-b.raw three oh eight five -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen8-mkem-b.raw may ninth sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an51-mmaf-b.raw v f o f h nine four -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an52-mmaf-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an53-mmaf-b.raw erase b m e e three five two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an54-mmaf-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an55-mmaf-b.raw enter ninety five -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen1-mmaf-b.raw f r a n z i n i -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen2-mmaf-b.raw m i c h a e l -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen3-mmaf-b.raw five two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen4-mmaf-b.raw s u m m e r l e a -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen5-mmaf-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen6-mmaf-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen7-mmaf-b.raw four four one one seven two four -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen8-mmaf-b.raw september sixth nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an321-mmal-b.raw m m v q d one eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an322-mmal-b.raw rubout t b p b six -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an323-mmal-b.raw enter two oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an324-mmal-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an325-mmal-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen1-mmal-b.raw l u b i n s k i -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen2-mmal-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen3-mmal-b.raw fifty three forty two -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen4-mmal-b.raw b e e l e r -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen5-mmal-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen6-mmal-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen7-mmal-b.raw six eight one seven seven five two -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen8-mmal-b.raw ten twelve sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an46-mmap-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an47-mmap-b.raw enter seven two one six -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an48-mmap-b.raw enter one nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an49-mmap-b.raw n h o t q two eight three -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an50-mmap-b.raw p t k x zero -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen1-mmap-b.raw p u s k a r -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen2-mmap-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen3-mmap-b.raw six thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen4-mmap-b.raw b r o a d h e a d r o a d -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen5-mmap-b.raw c r a f t o n -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen6-mmap-b.raw one five two oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen7-mmap-b.raw nine two two seven two two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen8-mmap-b.raw twelve twenty one fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an336-mmdg-b.raw g a b h two -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an337-mmdg-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an338-mmdg-b.raw enter six one two five -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an339-mmdg-b.raw enter two five four six -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an340-mmdg-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen1-mmdg-b.raw g r o s s m a n -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen2-mmdg-b.raw m i c h a e l -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen3-mmdg-b.raw six three two three -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen4-mmdg-b.raw d o u g l a s -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen5-mmdg-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen6-mmdg-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen7-mmdg-b.raw four one two five two one five three three nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen8-mmdg-b.raw two twenty four forty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an361-mmkw-b.raw o a w f five nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an362-mmkw-b.raw v k z o sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an363-mmkw-b.raw rubout d q t w x five hundred eighty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an364-mmkw-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an365-mmkw-b.raw b j x k twenty three -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an59-mmkw-b.raw a g l g a six hundred forty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen1-mmkw-b.raw w i l l i a m s -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen2-mmkw-b.raw m a t t h e w -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen3-mmkw-b.raw three two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen4-mmkw-b.raw p i n e h u r s t -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen5-mmkw-b.raw m a u l d i n -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen6-mmkw-b.raw two nine six six two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen7-mmkw-b.raw eight oh three two three four five nine seven two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen8-mmkw-b.raw eighteen february nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an381-mmsh-b.raw rubout f x c w n four -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an382-mmsh-b.raw rubout e z u a i fifteen -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an383-mmsh-b.raw enter sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an384-mmsh-b.raw rubout n z x l thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an385-mmsh-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen1-mmsh-b.raw h o f f r i c h t e r -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen2-mmsh-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen3-mmsh-b.raw three four four -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen4-mmsh-b.raw f i f t h a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen5-mmsh-b.raw b r o o m a l l -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen6-mmsh-b.raw one nine oh oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen7-mmsh-b.raw six eight three one five five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen8-mmsh-b.raw april thirtieth nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an386-mmtm-b.raw enter six four five one -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an387-mmtm-b.raw y w a a m two -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an388-mmtm-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an389-mmtm-b.raw rubout x c z t p four -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an390-mmtm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen1-mmtm-b.raw m a s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen2-mmtm-b.raw m a t t h e w -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen3-mmtm-b.raw one eleven -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen4-mmtm-b.raw o l d b a r n d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen5-mmtm-b.raw v e r o n a -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen6-mmtm-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen7-mmtm-b.raw seven nine three five four two nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen8-mmtm-b.raw august twenty fourth nineteen fifty two -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an346-mnfe-b.raw erase o t e b seventy nine -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an347-mnfe-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an348-mnfe-b.raw enter eight twenty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an349-mnfe-b.raw rubout r r n a a ninety four -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an350-mnfe-b.raw enter three -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen1-mnfe-b.raw e f r o m -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen2-mnfe-b.raw n e i l -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen3-mnfe-b.raw ten seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen4-mnfe-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen5-mnfe-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen6-mnfe-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen7-mnfe-b.raw two six eight five five two four -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen8-mnfe-b.raw four twenty eight seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an81-mnjl-b.raw enter eighty nine forty three -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an82-mnjl-b.raw rubout t j j c l two -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an83-mnjl-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an84-mnjl-b.raw enter seven thirty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an85-mnjl-b.raw rubout a d e u y three sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen1-mnjl-b.raw l o o f b o u r r o w -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen2-mnjl-b.raw n a t h a n -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen3-mnjl-b.raw one thousand -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen5-mnjl-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen6-mnjl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen7-mnjl-b.raw four one two two six eight four four seven four -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen8-mnjl-b.raw twelve nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an71-mrab-b.raw g e e p c seven one oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an72-mrab-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an73-mrab-b.raw enter two oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an74-mrab-b.raw rubout q q q p forty five -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an75-mrab-b.raw erase c b j v c thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen1-mrab-b.raw b r e n n a n -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen2-mrab-b.raw r o b e r t -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen3-mrab-b.raw one twenty two -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen4-mrab-b.raw o a k d a l e d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen5-mrab-b.raw z e l i e n o p l e -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen6-mrab-b.raw one six oh six three -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen7-mrab-b.raw four five two eight five one eight -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen8-mrab-b.raw three twenty eight sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an101-mrcb-b.raw r e w y eight five six -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an102-mrcb-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an103-mrcb-b.raw erase g h x w five zero four eight two -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an104-mrcb-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an105-mrcb-b.raw enter eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen1-mrcb-b.raw b r o s t -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen2-mrcb-b.raw r a n d y -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen3-mrcb-b.raw one two five two -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen4-mrcb-b.raw n e g l e y -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen5-mrcb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen6-mrcb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen7-mrcb-b.raw area code four one two four two two one two two five -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen8-mrcb-b.raw october thirtieth nineteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an236-mrjc2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an237-mrjc2-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an238-mrjc2-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an239-mrjc2-b.raw d y m h r sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an240-mrjc2-b.raw enter nine seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen1-mrjc2-b.raw c l o u t i e r -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen2-mrjc2-b.raw r i c h a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen3-mrjc2-b.raw sixty seven ten -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen4-mrjc2-b.raw f e n n i m o r e -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen5-mrjc2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen6-mrjc2-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen7-mrjc2-b.raw six six five nine six six five -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen8-mrjc2-b.raw five two five five five -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an281-mrmg-b.raw enter two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an282-mrmg-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an283-mrmg-b.raw rubout m d m t g nine six seven oh -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an284-mrmg-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an285-mrmg-b.raw rubout n a f k v thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen1-mrmg-b.raw g r e e n -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen2-mrmg-b.raw r i c h a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen3-mrmg-b.raw one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen4-mrmg-b.raw e a s t e n d -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen5-mrmg-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen6-mrmg-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen7-mrmg-b.raw two four two two nine one two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen8-mrmg-b.raw one seven forty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an356-mscg2-b.raw enter fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an357-mscg2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an358-mscg2-b.raw rubout v a n b x nine -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an359-mscg2-b.raw p o u n b five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an360-mscg2-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen1-mscg2-b.raw g i b b s -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen2-mscg2-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen3-mscg2-b.raw five one one five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen4-mscg2-b.raw m a r g a r e t -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen5-mscg2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen6-mscg2-b.raw one five two two six -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen7-mscg2-b.raw two six eight four six seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen8-mscg2-b.raw three eleven sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an341-msct-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an342-msct-b.raw erase w f s o l eight four four -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an343-msct-b.raw enter twenty nine -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an344-msct-b.raw erase a l h n c thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an345-msct-b.raw erase v y w l r seven zero one one -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen1-msct-b.raw t i m m -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen2-msct-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen3-msct-b.raw five one nine -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen4-msct-b.raw s e m p l e -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen5-msct-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen6-msct-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen7-msct-b.raw six eight three three seven eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen8-msct-b.raw nine thirty sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an226-msjm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an227-msjm-b.raw f i y q fifty six -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an228-msjm-b.raw erase g w d k f six eighty eight -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an229-msjm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an230-msjm-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen1-msjm-b.raw m a h o n e y -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen2-msjm-b.raw s t e p h e n -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen3-msjm-b.raw one two two two -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen4-msjm-b.raw m a p l e -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen5-msjm-b.raw g l e n s h a w -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen6-msjm-b.raw one five one one six -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen7-msjm-b.raw four eight six three nine five oh -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen8-msjm-b.raw twelve twenty four sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an351-msjr-b.raw j h b x three zero -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an352-msjr-b.raw enter two -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an353-msjr-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an354-msjr-b.raw rubout w p f j d two six -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an355-msjr-b.raw enter six seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen1-msjr-b.raw r o z e v e l d -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen2-msjr-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen3-msjr-b.raw eight forty one -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen4-msjr-b.raw f i f t h -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen5-msjr-b.raw v e r o n a -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen6-msjr-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen7-msjr-b.raw eight two six eight six eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen8-msjr-b.raw one thirty one sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an100-mskh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an96-mskh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an97-mskh-b.raw enter seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an98-mskh-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an99-mskh-b.raw h k t e d one seventy -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen1-mskh-b.raw h a n d e r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen2-mskh-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen3-mskh-b.raw six zero one five -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen4-mskh-b.raw five t h a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen5-mskh-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen6-mskh-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen7-mskh-b.raw six six one nine eight eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen8-mskh-b.raw six twenty six sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an276-msmn-b.raw g w n l l nine four -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an277-msmn-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an278-msmn-b.raw rubout q n r a j seven four eight -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an279-msmn-b.raw q c j k eight five eight -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen4-msmn-b.raw b u r c h f e i l d a v e -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen5-msmn-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen6-msmn-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen7-msmn-b.raw four one two four two two nine eight two eight -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen8-msmn-b.raw s e p t e m b e r one two one nine five nine -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an331-msrb-b.raw enter nine -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an332-msrb-b.raw rubout g j h g v seven -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an333-msrb-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an334-msrb-b.raw n n p u five -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an335-msrb-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen1-msrb-b.raw b r o w n -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen2-msrb-b.raw s t e v e -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen3-msrb-b.raw one three six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen4-msrb-b.raw p a t t e r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen5-msrb-b.raw c a r n e g i e -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen6-msrb-b.raw one five one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen7-msrb-b.raw two seven nine two three two four -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen8-msrb-b.raw six three sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an301-mtcv-b.raw rubout u t d a two -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an302-mtcv-b.raw rubout m v o o forty six -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an303-mtcv-b.raw erase k j z f m fifty four -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an304-mtcv-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an305-mtcv-b.raw enter eight zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen1-mtcv-b.raw v a n d e r l a a n -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen2-mtcv-b.raw t o m -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen3-mtcv-b.raw eight four six seven -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen4-mtcv-b.raw s l e e p y h o l l o w -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen5-mtcv-b.raw w a r r e n -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen6-mtcv-b.raw four four four eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen7-mtcv-b.raw eight five six one four nine zero -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen8-mtcv-b.raw one two seven six three -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an31-mtje-b.raw erase s s w z nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an32-mtje-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an33-mtje-b.raw erase f h b k z sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an34-mtje-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an35-mtje-b.raw h z a e three seven five one -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen1-mtje-b.raw e w a l d -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen2-mtje-b.raw t i m o t h y -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen3-mtje-b.raw four oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen4-mtje-b.raw c e n t r e a v e -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen5-mtje-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen6-mtje-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen7-mtje-b.raw four one two six eight seven nine five two six -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen8-mtje-b.raw ten twenty eight sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an366-mtos-b.raw m f g i k two sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an367-mtos-b.raw s f q q k six thousand eight hundred and eighty one -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an368-mtos-b.raw h q f x four thousand three hundred and eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an369-mtos-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an370-mtos-b.raw rubout n a g k k three thirty six -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen1-mtos-b.raw s m i t h -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen2-mtos-b.raw t h o m a s -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen3-mtos-b.raw m g e four oh two -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen4-mtos-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen5-mtos-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen6-mtos-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen7-mtos-b.raw four eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen8-mtos-b.raw twelve ten sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an376-mtxj-b.raw enter five two four -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an377-mtxj-b.raw rubout j b x r z nine twenty -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an378-mtxj-b.raw enter sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an379-mtxj-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an380-mtxj-b.raw enter six oh eight oh -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen1-mtxj-b.raw j o h n s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen2-mtxj-b.raw t h a d -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen3-mtxj-b.raw one hundred -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen4-mtxj-b.raw s a y b r o o k h a r b o r -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen5-mtxj-b.raw b r a d f o r d w o o d s -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen6-mtxj-b.raw one five oh one five -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen7-mtxj-b.raw nine three five oh six nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen8-mtxj-b.raw october twenty third nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an151-mwhw-b.raw h a h l e four ninety one -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an152-mwhw-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an153-mwhw-b.raw y d n e d forty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an154-mwhw-b.raw rubout p o o b eight -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an155-mwhw-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen1-mwhw-b.raw w a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen2-mwhw-b.raw w a y n e -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen3-mwhw-b.raw one fifty -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen4-mwhw-b.raw b u c k w h e a t -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen5-mwhw-b.raw g i b s o n i a -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen6-mwhw-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen7-mwhw-b.raw six two five one five six four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen8-mwhw-b.raw eleven seventeen fifty one diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.fst deleted file mode 100755 index 24b4d7f4..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.fst +++ /dev/null @@ -1,1606 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 8.7268 -T 0 1 8.7268 -T 0 4 a a 3.2547 -T 0 5 and and 6.5223 -T 0 6 apostrophe apostrophe 8.7268 -T 0 7 april april 8.7268 -T 0 8 area area 8.7268 -T 0 9 august august 7.21538 -T 0 10 b b 3.82252 -T 0 11 c c 4.28419 -T 0 12 code code 8.7268 -T 0 13 d d 3.9867 -T 0 14 december december 8.7268 -T 0 15 e e 3.08431 -T 0 16 eight eight 3.57131 -T 0 17 eighteen eighteen 8.7268 -T 0 18 eighteenth eighteenth 8.7268 -T 0 19 eighth eighth 8.7268 -T 0 20 eighty eighty 5.8937 -T 0 21 eleven eleven 7.21538 -T 0 22 eleventh eleventh 8.7268 -T 0 23 enter enter 4.1709 -T 0 24 erase erase 5.10529 -T 0 25 f f 4.42741 -T 0 26 february february 7.90869 -T 0 27 fifteen fifteen 6.99226 -T 0 28 fifteenth fifteenth 7.90869 -T 0 29 fifth fifth 7.90869 -T 0 30 fifty fifty 4.99085 -T 0 31 first first 7.5032 -T 0 32 five five 3.29339 -T 0 33 forty forty 5.30585 -T 0 34 four four 3.4898 -T 0 35 fourteen fourteen 6.40441 -T 0 36 fourth fourth 8.7268 -T 0 37 g g 3.85683 -T 0 38 go go 6.29918 -T 0 39 h h 3.61137 -T 0 40 half half 7.90869 -T 0 41 help help 6.11682 -T 0 42 hundred hundred 6.11682 -T 0 43 i i 3.49578 -T 0 44 j j 4.73043 -T 0 45 january january 7.90869 -T 0 46 july july 7.5032 -T 0 47 june june 7.90869 -T 0 48 k k 4.35327 -T 0 49 l l 3.66733 -T 0 50 m m 4.11311 -T 0 51 march march 7.5032 -T 0 52 may may 7.5032 -T 0 53 n n 3.48381 -T 0 54 nine nine 3.89229 -T 0 55 nineteen nineteen 5.20062 -T 0 56 ninety ninety 6.29918 -T 0 57 ninth ninth 7.90869 -T 0 58 no no 5.82922 -T 0 59 o o 3.53907 -T 0 60 october october 7.5032 -T 0 61 of of 7.90869 -T 0 62 oh oh 4.36754 -T 0 63 one one 2.9777 -T 0 64 p p 3.9966 -T 0 65 q q 5.20062 -T 0 66 r r 3.19461 -T 0 67 repeat repeat 5.76844 -T 0 68 rubout rubout 4.52412 -T 0 69 s s 3.58443 -T 0 70 second second 7.90869 -T 0 71 september september 6.99226 -T 0 72 seven seven 3.63901 -T 0 73 seventeen seventeen 6.99226 -T 0 74 seventh seventh 8.7268 -T 0 75 seventy seventy 5.34361 -T 0 76 six six 3.50177 -T 0 77 sixteen sixteen 7.5032 -T 0 78 sixteenth sixteenth 8.7268 -T 0 79 sixth sixth 8.7268 -T 0 80 sixty sixty 4.32518 -T 0 81 start start 6.20386 -T 0 82 stop stop 5.82922 -T 0 83 t t 3.27382 -T 0 84 ten ten 5.96277 -T 0 85 third third 7.5032 -T 0 86 thirtieth thirtieth 7.5032 -T 0 87 thirty thirty 5.04635 -T 0 88 thousand thousand 6.40441 -T 0 89 three three 3.71131 -T 0 90 twelfth twelfth 7.90869 -T 0 91 twelve twelve 6.40441 -T 0 92 twentieth twentieth 8.7268 -T 0 93 twenty twenty 4.93812 -T 0 94 two two 3.02583 -T 0 95 u u 3.9289 -T 0 96 v v 4.44284 -T 0 97 w w 4.32518 -T 0 98 x x 5.13592 -T 0 99 y y 4.44284 -T 0 100 yes yes 5.55729 -T 0 101 z z 4.79513 -T 0 102 zero zero 5.01825 -F 1 10.1033 -T 1 0 , , 1.3765 -T 1 100 yes yes 0.289665 -F 2 8.7268 -T 2 0 -F 3 8.7268 -T 3 0 -F 4 10.0755 -T 4 0 , , 1.34866 -T 4 4 a a 4.38481 -T 4 10 b b 4.99224 -T 4 11 c c 2.86211 -T 4 13 d d 3.04448 -T 4 25 f f 4.99224 -T 4 30 fifty fifty 5.63673 -T 4 37 g g 4.38481 -T 4 39 h h 4.38481 -T 4 40 half half 5.08227 -T 4 44 j j 5.63673 -T 4 48 k k 4.99224 -T 4 49 l l 2.70807 -T 4 50 m m 2.78221 -T 4 53 n n 2.12828 -T 4 56 ninety ninety 5.63673 -T 4 63 one one 3.2676 -T 4 64 p p 4.38481 -T 4 66 r r 1.63345 -T 4 69 s s 3.04448 -T 4 83 t t 3.04448 -T 4 93 twenty twenty 5.63673 -T 4 95 u u 5.08227 -T 4 96 v v 2.86211 -T 4 97 w w 4.99224 -T 4 98 x x 5.63673 -T 4 99 y y 3.73756 -T 4 101 z z 5.63673 -F 5 9.62816 -T 5 0 , , 0.901364 -T 5 4 a a 1.81467 -T 5 20 eighty eighty 1.72464 -T 5 30 fifty fifty 2.36913 -T 5 80 sixty sixty 2.36913 -T 5 93 twenty twenty 2.36913 -F 6 10.0798 -T 6 0 , , 1.35298 -T 6 39 h h 0.289665 -F 7 10.1066 -T 7 0 , , 1.37982 -T 7 86 thirtieth thirtieth 0.289665 -F 8 10.107 -T 8 0 , , 1.38021 -T 8 12 code code 0.289665 -F 9 9.50374 -T 9 0 , , 0.776946 -T 9 78 sixteenth sixteenth 1.67605 -T 9 93 twenty twenty 1.03156 -F 10 10.1659 -T 10 0 , , 1.43912 -T 10 4 a a 2.8331 -T 10 10 b b 5.06868 -T 10 13 d d 5.06868 -T 10 15 e e 2.38133 -T 10 33 forty forty 4.51445 -T 10 37 g g 5.06868 -T 10 44 j j 4.51445 -T 10 48 k k 5.06868 -T 10 49 l l 5.06868 -T 10 50 m m 4.42442 -T 10 59 o o 3.16974 -T 10 64 p p 5.06868 -T 10 66 r r 2.38133 -T 10 69 s s 4.42442 -T 10 72 seven seven 4.51445 -T 10 75 seventy seventy 4.51445 -T 10 95 u u 0.827779 -T 10 96 v v 5.06868 -T 10 97 w w 5.06868 -T 10 98 x x 4.42442 -T 10 99 y y 5.06868 -T 10 101 z z 5.06868 -F 11 9.82479 -T 11 0 , , 1.09799 -T 11 4 a a 2.37166 -T 11 10 b b 3.96275 -T 11 11 c c 4.60724 -T 11 13 d d 4.60724 -T 11 15 e e 2.37166 -T 11 25 f f 4.60724 -T 11 30 fifty fifty 4.60724 -T 11 32 five five 4.05278 -T 11 39 h h 1.60951 -T 11 44 j j 4.60724 -T 11 48 k k 2.12022 -T 11 49 l l 3.96275 -T 11 50 m m 4.60724 -T 11 59 o o 2.52571 -T 11 69 s s 4.60724 -T 11 72 seven seven 4.60724 -T 11 87 thirty thirty 4.05278 -T 11 95 u u 4.60724 -T 11 96 v v 4.60724 -T 11 97 w w 4.05278 -T 11 99 y y 4.05278 -T 11 101 z z 3.96275 -F 12 10.0762 -T 12 0 , , 1.34939 -T 12 34 four four 0.289665 -F 13 9.59282 -T 13 0 , , 0.86602 -T 13 4 a a 2.21716 -T 13 10 b b 4.35027 -T 13 11 c c 4.90474 -T 13 13 d d 3.65282 -T 13 15 e e 2.53561 -T 13 25 f f 4.35027 -T 13 33 forty forty 4.90474 -T 13 35 fourteen fourteen 4.90474 -T 13 43 i i 4.26024 -T 13 44 j j 4.35027 -T 13 48 k k 4.26024 -T 13 50 m m 4.35027 -T 13 59 o o 2.41794 -T 13 62 oh oh 4.90474 -T 13 63 one one 3.65282 -T 13 64 p p 2.41794 -T 13 65 q q 4.35027 -T 13 66 r r 2.41794 -T 13 69 s s 3.65282 -T 13 80 sixty sixty 4.35027 -T 13 96 v v 4.90474 -T 13 97 w w 2.53561 -T 13 99 y y 4.26024 -T 13 101 z z 4.90474 -F 14 10.107 -T 14 0 , , 1.38021 -T 14 18 eighteenth eighteenth 0.289665 -F 15 10.228 -T 15 0 , , 1.50116 -T 15 4 a a 2.68435 -T 15 10 b b 4.5552 -T 15 11 c c 5.25266 -T 15 13 d d 3.43799 -T 15 15 e e 3.11954 -T 15 25 f f 5.16263 -T 15 30 fifty fifty 5.80712 -T 15 37 g g 3.72558 -T 15 43 i i 4.5552 -T 15 44 j j 4.5552 -T 15 48 k k 5.80712 -T 15 49 l l 2.42646 -T 15 50 m m 3.90795 -T 15 53 n n 2.2593 -T 15 63 one one 3.32033 -T 15 64 p p 2.57291 -T 15 65 q q 5.80712 -T 15 66 r r 2.0516 -T 15 69 s s 3.11954 -T 15 75 seventy seventy 5.80712 -T 15 83 t t 3.43799 -T 15 87 thirty thirty 5.80712 -T 15 95 u u 5.16263 -T 15 96 v v 3.21487 -T 15 97 w w 2.68435 -T 15 98 x x 5.80712 -T 15 99 y y 3.72558 -T 15 101 z z 5.16263 -F 16 9.96694 -T 16 0 , , 1.24014 -T 16 7 april april 5.32012 -T 16 9 august august 5.32012 -T 16 10 b b 4.76566 -T 16 11 c c 5.32012 -T 16 16 eight eight 3.23859 -T 16 23 enter enter 2.95099 -T 16 24 erase erase 4.67563 -T 16 25 f f 5.32012 -T 16 32 five five 2.72787 -T 16 33 forty forty 5.32012 -T 16 34 four four 2.25792 -T 16 35 fourteen fourteen 5.32012 -T 16 37 g g 4.76566 -T 16 42 hundred hundred 4.67563 -T 16 44 j j 5.32012 -T 16 47 june june 5.32012 -T 16 48 k k 5.32012 -T 16 54 nine nine 3.23859 -T 16 59 o o 4.76566 -T 16 62 oh oh 3.23859 -T 16 63 one one 3.08454 -T 16 65 q q 5.32012 -T 16 67 repeat repeat 4.76566 -T 16 68 rubout rubout 4.06821 -T 16 72 seven seven 2.95099 -T 16 75 seventy seventy 4.76566 -T 16 76 six six 3.08454 -T 16 80 sixty sixty 4.67563 -T 16 82 stop stop 5.32012 -T 16 84 ten ten 5.32012 -T 16 87 thirty thirty 5.32012 -T 16 88 thousand thousand 5.32012 -T 16 89 three three 2.25792 -T 16 91 twelve twelve 5.32012 -T 16 93 twenty twenty 4.76566 -T 16 94 two two 2.46538 -T 16 98 x x 5.32012 -T 16 102 zero zero 4.06821 -F 17 10.1068 -T 17 0 , , 1.38 -T 17 26 february february 0.289665 -F 18 10.1016 -T 18 0 , , 1.37484 -T 18 55 nineteen nineteen 0.289665 -F 19 10.1016 -T 19 0 , , 1.37484 -T 19 55 nineteen nineteen 0.289665 -F 20 9.94515 -T 20 0 , , 1.21836 -T 20 16 eight eight 2.99774 -T 20 29 fifth fifth 2.99774 -T 20 32 five five 2.99774 -T 20 34 four four 2.99774 -T 20 54 nine nine 2.35324 -T 20 63 one one 2.99774 -T 20 72 seven seven 2.99774 -T 20 76 six six 1.09856 -T 20 89 three three 2.99774 -F 21 10.0412 -T 21 0 , , 1.31439 -T 21 54 nine nine 1.67605 -T 21 59 o o 1.67605 -T 21 73 seventeen seventeen 1.67605 -T 21 80 sixty sixty 1.67605 -F 22 10.1016 -T 22 0 , , 1.37484 -T 22 55 nineteen nineteen 0.289665 -F 23 10.3396 -T 23 0 , , 1.61279 -T 23 16 eight eight 2.3514 -T 23 20 eighty eighty 4.72053 -T 23 27 fifteen fifteen 4.72053 -T 23 30 fifty fifty 2.82136 -T 23 32 five five 2.63899 -T 23 33 forty forty 4.07604 -T 23 34 four four 2.63899 -T 23 35 fourteen fourteen 4.72053 -T 23 54 nine nine 3.46861 -T 23 56 ninety ninety 4.07604 -T 23 63 one one 3.46861 -T 23 72 seven seven 2.23351 -T 23 75 seventy seventy 3.46861 -T 23 76 six six 2.3514 -T 23 80 sixty sixty 2.3514 -T 23 87 thirty thirty 4.07604 -T 23 89 three three 4.16607 -T 23 93 twenty twenty 4.72053 -T 23 94 two two 2.63899 -T 23 102 zero zero 4.72053 -F 24 9.20775 -T 24 0 , , 0.480957 -T 24 10 b b 3.78614 -T 24 11 c c 3.23168 -T 24 15 e e 3.23168 -T 24 25 f f 3.78614 -T 24 37 g g 3.23168 -T 24 43 i i 3.23168 -T 24 44 j j 3.23168 -T 24 48 k k 3.78614 -T 24 50 m m 3.78614 -T 24 53 n n 3.78614 -T 24 59 o o 3.14165 -T 24 65 q q 3.23168 -T 24 69 s s 3.23168 -T 24 96 v v 3.14165 -T 24 97 w w 3.23168 -T 24 98 x x 3.78614 -T 24 99 y y 3.78614 -T 24 101 z z 3.78614 -F 25 9.41943 -T 25 0 , , 0.692629 -T 25 10 b b 3.90956 -T 25 13 d d 4.46402 -T 25 15 e e 2.09489 -T 25 25 f f 3.81953 -T 25 32 five five 3.90956 -T 25 37 g g 4.46402 -T 25 39 h h 3.90956 -T 25 43 i i 2.22844 -T 25 44 j j 3.90956 -T 25 48 k k 3.90956 -T 25 50 m m 3.90956 -T 25 59 o o 2.56485 -T 25 65 q q 4.46402 -T 25 66 r r 2.56485 -T 25 83 t t 3.21211 -T 25 87 thirty thirty 4.46402 -T 25 93 twenty twenty 4.46402 -T 25 96 v v 4.46402 -T 25 98 x x 3.21211 -T 25 99 y y 3.90956 -T 25 101 z z 4.46402 -F 26 10.1017 -T 26 0 , , 1.37488 -T 26 19 eighth eighth 0.982743 -T 26 55 nineteen nineteen 0.982743 -F 27 10.0222 -T 27 0 , , 1.29544 -T 27 23 enter enter 1.89917 -T 27 50 m m 1.89917 -T 27 53 n n 1.89917 -T 27 55 nineteen nineteen 1.89917 -T 27 80 sixty sixty 1.89917 -F 28 9.77575 -T 28 0 , , 1.04896 -T 28 55 nineteen nineteen 0.428281 -F 29 10.0735 -T 29 0 , , 1.34674 -T 29 55 nineteen nineteen 0.982743 -T 29 69 s s 0.982743 -F 30 10.0104 -T 30 0 , , 1.28363 -T 30 10 b b 3.90058 -T 30 16 eight eight 1.81927 -T 30 32 five five 2.64866 -T 30 34 four four 3.25609 -T 30 54 nine nine 3.90058 -T 30 63 one one 1.81927 -T 30 68 rubout rubout 3.90058 -T 30 72 seven seven 3.34612 -T 30 76 six six 1.81927 -T 30 80 sixty sixty 3.90058 -T 30 89 three three 3.34612 -T 30 94 two two 2.64866 -F 31 9.36626 -T 31 0 , , 0.639467 -T 31 55 nineteen nineteen 0.743735 -F 32 10.3696 -T 32 0 , , 1.6428 -T 32 10 b b 5.04358 -T 32 11 c c 5.59781 -T 32 13 d d 5.59781 -T 32 16 eight eight 3.51651 -T 32 23 enter enter 3.11102 -T 32 24 erase erase 5.04358 -T 32 25 f f 4.95355 -T 32 32 five five 3.22891 -T 32 33 forty forty 5.59781 -T 32 34 four four 3.51651 -T 32 41 help help 5.04358 -T 32 42 hundred hundred 5.04358 -T 32 44 j j 5.59781 -T 32 48 k k 5.59781 -T 32 50 m m 4.95355 -T 32 52 may may 5.59781 -T 32 54 nine nine 3.11102 -T 32 57 ninth ninth 5.59781 -T 32 58 no no 5.59781 -T 32 60 october october 5.59781 -T 32 62 oh oh 3.22891 -T 32 63 one one 2.60031 -T 32 64 p p 5.59781 -T 32 65 q q 5.59781 -T 32 67 repeat repeat 5.04358 -T 32 68 rubout rubout 5.04358 -T 32 72 seven seven 3.51651 -T 32 76 six six 3.22891 -T 32 77 sixteen sixteen 5.59781 -T 32 84 ten ten 5.59781 -T 32 87 thirty thirty 4.95355 -T 32 89 three three 3.00579 -T 32 93 twenty twenty 5.59781 -T 32 94 two two 1.07416 -T 32 100 yes yes 4.95355 -T 32 102 zero zero 3.69887 -F 33 9.23817 -T 33 0 , , 0.511371 -T 33 16 eight eight 2.94109 -T 33 32 five five 2.33344 -T 33 34 four four 2.94109 -T 33 54 nine nine 2.94109 -T 33 63 one one 3.03112 -T 33 72 seven seven 2.33344 -T 33 76 six six 3.58559 -T 33 89 three three 2.33344 -T 33 94 two two 2.94109 -F 34 10.1469 -T 34 0 , , 1.42009 -T 34 5 and and 5.40163 -T 34 9 august august 5.40163 -T 34 13 d d 5.40163 -T 34 16 eight eight 2.80938 -T 34 21 eleven eleven 5.40163 -T 34 23 enter enter 3.32033 -T 34 24 erase erase 4.84717 -T 34 25 f f 5.40163 -T 34 30 fifty fifty 4.84717 -T 34 32 five five 3.16605 -T 34 33 forty forty 4.84717 -T 34 34 four four 2.22153 -T 34 41 help help 5.40163 -T 34 45 january january 4.84717 -T 34 51 march march 5.40163 -T 34 54 nine nine 4.14972 -T 34 56 ninety ninety 5.40163 -T 34 58 no no 4.75714 -T 34 62 oh oh 3.32033 -T 34 63 one one 2.02098 -T 34 67 repeat repeat 4.75714 -T 34 68 rubout rubout 3.32033 -T 34 69 s s 4.84717 -T 34 71 september september 5.40163 -T 34 72 seven seven 2.91484 -T 34 75 seventy seventy 5.40163 -T 34 76 six six 2.71406 -T 34 80 sixty sixty 4.84717 -T 34 81 start start 5.40163 -T 34 82 stop stop 4.75714 -T 34 87 thirty thirty 5.40163 -T 34 88 thousand thousand 4.75714 -T 34 89 three three 3.50246 -T 34 91 twelve twelve 5.40163 -T 34 93 twenty twenty 4.84717 -T 34 94 two two 2.33943 -T 34 98 x x 5.40163 -T 34 101 z z 5.40163 -T 34 102 zero zero 5.40163 -F 35 9.64598 -T 35 0 , , 0.919182 -T 35 4 a a 2.48679 -T 35 20 eighty eighty 2.48679 -T 35 35 fourteen fourteen 2.48679 -T 35 67 repeat repeat 1.93256 -T 35 69 s s 2.48679 -T 35 80 sixty sixty 1.84253 -F 36 10.1016 -T 36 0 , , 1.37484 -T 36 55 nineteen nineteen 0.289665 -F 37 10.1006 -T 37 0 , , 1.37384 -T 37 4 a a 2.54781 -T 37 10 b b 5.0346 -T 37 11 c c 4.48014 -T 37 13 d d 4.39011 -T 37 20 eighty eighty 5.0346 -T 37 33 forty forty 5.0346 -T 37 39 h h 0.793701 -T 37 43 i i 2.66547 -T 37 44 j j 4.48014 -T 37 48 k k 4.48014 -T 37 49 l l 2.54781 -T 37 50 m m 5.0346 -T 37 53 n n 3.78269 -T 37 54 nine nine 4.48014 -T 37 64 p p 5.0346 -T 37 65 q q 5.0346 -T 37 66 r r 4.48014 -T 37 75 seventy seventy 5.0346 -T 37 95 u u 5.0346 -T 37 96 v v 4.48014 -T 37 97 w w 4.48014 -F 38 9.84405 -T 38 0 , , 1.11725 -T 38 23 enter enter 2.59225 -T 38 37 g g 2.59225 -T 38 39 h h 2.59225 -T 38 49 l l 2.59225 -T 38 67 repeat repeat 2.03779 -T 38 68 rubout rubout 2.59225 -T 38 98 x x 2.59225 -T 38 100 yes yes 2.03779 -F 39 9.86073 -T 39 0 , , 1.13394 -T 39 4 a a 1.81236 -T 39 10 b b 4.02814 -T 39 15 e e 2.91093 -T 39 25 f f 4.63556 -T 39 30 fifty fifty 5.28006 -T 39 37 g g 4.7256 -T 39 43 i i 3.19875 -T 39 48 k k 4.7256 -T 39 49 l l 4.7256 -T 39 53 n n 4.02814 -T 39 59 o o 2.42554 -T 39 63 one one 1.11929 -T 39 64 p p 4.63556 -T 39 65 q q 5.28006 -T 39 75 seventy seventy 5.28006 -T 39 83 t t 4.02814 -T 39 95 u u 4.7256 -T 39 96 v v 5.28006 -T 39 97 w w 5.28006 -T 39 98 x x 5.28006 -T 39 99 y y 4.63556 -T 39 101 z z 5.28006 -F 40 10.0676 -T 40 0 , , 1.34083 -T 40 25 f f 0.982743 -T 40 39 h h 0.982743 -F 41 9.6643 -T 41 0 , , 0.937505 -T 41 4 a a 2.77462 -T 41 10 b b 2.77462 -T 41 23 enter enter 2.13012 -T 41 38 go go 2.22015 -T 41 41 help help 2.77462 -T 41 44 j j 2.77462 -T 41 53 n n 2.77462 -T 41 68 rubout rubout 2.77462 -T 41 96 v v 2.77462 -F 42 10.6205 -T 42 0 , , 1.89373 -T 42 5 and and 0.693078 -T 42 20 eighty eighty 2.22015 -T 42 33 forty forty 2.77462 -T 42 69 s s 2.77462 -T 42 93 twenty twenty 2.77462 -T 42 97 w w 2.77462 -F 43 10.4141 -T 43 0 , , 1.68732 -T 43 4 a a 4.14373 -T 43 10 b b 4.75115 -T 43 11 c c 2.39791 -T 43 13 d d 3.49648 -T 43 15 e e 2.90863 -T 43 25 f f 4.14373 -T 43 27 fifteen fifteen 5.39565 -T 43 32 five five 4.84119 -T 43 37 g g 4.14373 -T 43 44 j j 5.39565 -T 43 48 k k 4.84119 -T 43 49 l l 2.8034 -T 43 50 m m 3.31411 -T 43 53 n n 2.01499 -T 43 64 p p 4.75115 -T 43 65 q q 4.75115 -T 43 66 r r 4.75115 -T 43 69 s s 3.31411 -T 43 80 sixty sixty 5.39565 -T 43 83 t t 1.19389 -T 43 87 thirty thirty 5.39565 -T 43 95 u u 5.39565 -T 43 96 v v 3.31411 -T 43 99 y y 5.39565 -F 44 9.26887 -T 44 0 , , 0.542074 -T 44 4 a a 3.51651 -T 44 10 b b 4.16077 -T 44 11 c c 3.60654 -T 44 13 d d 4.16077 -T 44 15 e e 2.26183 -T 44 34 four four 3.60654 -T 44 37 g g 4.16077 -T 44 39 h h 3.60654 -T 44 44 j j 4.16077 -T 44 48 k k 3.60654 -T 44 49 l l 4.16077 -T 44 50 m m 4.16077 -T 44 59 o o 1.92519 -T 44 65 q q 3.60654 -T 44 72 seven seven 3.51651 -T 44 95 u u 3.60654 -T 44 96 v v 3.60654 -T 44 97 w w 4.16077 -T 44 98 x x 4.16077 -T 44 101 z z 3.60654 -F 45 10.1066 -T 45 0 , , 1.37984 -T 45 28 fifteenth fifteenth 0.982743 -T 45 90 twelfth twelfth 0.982743 -F 46 10.0992 -T 46 0 , , 1.37239 -T 46 86 thirtieth thirtieth 1.38823 -T 46 90 twelfth twelfth 1.38823 -T 46 93 twenty twenty 1.38823 -F 47 10.1 -T 47 0 , , 1.37322 -T 47 22 eleventh eleventh 0.982743 -T 47 93 twenty twenty 0.982743 -F 48 9.09487 -T 48 0 , , 0.368075 -T 48 4 a a 2.63899 -T 48 11 c c 4.53817 -T 48 15 e e 2.16904 -T 48 20 eighty eighty 4.53817 -T 48 25 f f 3.9837 -T 48 30 fifty fifty 4.53817 -T 48 43 i i 3.28625 -T 48 44 j j 3.89367 -T 48 48 k k 3.9837 -T 48 49 l l 3.9837 -T 48 56 ninety ninety 4.53817 -T 48 64 p p 3.9837 -T 48 76 six six 3.28625 -T 48 89 three three 3.9837 -T 48 93 twenty twenty 4.53817 -T 48 95 u u 3.9837 -T 48 96 v v 4.53817 -T 48 97 w w 3.28625 -T 48 98 x x 3.9837 -T 48 99 y y 3.9837 -T 48 101 z z 3.9837 -F 49 9.85275 -T 49 0 , , 1.12595 -T 49 4 a a 2.29545 -T 49 11 c c 4.66964 -T 49 13 d d 2.53653 -T 49 15 e e 1.60237 -T 49 25 f f 4.57961 -T 49 30 fifty fifty 4.66964 -T 49 37 g g 4.57961 -T 49 43 i i 2.44949 -T 49 44 j j 5.2241 -T 49 48 k k 3.97219 -T 49 49 l l 2.044 -T 49 50 m m 4.66964 -T 49 59 o o 3.32493 -T 49 69 s s 4.57961 -T 49 75 seventy seventy 5.2241 -T 49 84 ten ten 5.2241 -T 49 87 thirty thirty 5.2241 -T 49 89 three three 4.66964 -T 49 95 u u 4.57961 -T 49 99 y y 3.32493 -T 49 101 z z 4.66964 -T 49 102 zero zero 5.2241 -F 50 9.6728 -T 50 0 , , 0.946005 -T 50 4 a a 1.44418 -T 50 10 b b 4.22386 -T 50 11 c c 4.77832 -T 50 13 d d 4.77832 -T 50 15 e e 2.40919 -T 50 16 eight eight 4.22386 -T 50 25 f f 4.77832 -T 50 30 fifty fifty 4.77832 -T 50 33 forty forty 4.77832 -T 50 37 g g 4.77832 -T 50 39 h h 4.22386 -T 50 43 i i 2.69679 -T 50 44 j j 4.22386 -T 50 48 k k 4.77832 -T 50 50 m m 4.13383 -T 50 53 n n 3.52641 -T 50 59 o o 2.09075 -T 50 64 p p 3.52641 -T 50 65 q q 4.77832 -T 50 69 s s 4.13383 -T 50 87 thirty thirty 4.77832 -T 50 95 u u 4.13383 -T 50 96 v v 4.22386 -T 50 98 x x 4.77832 -T 50 99 y y 4.22386 -F 51 10.0994 -T 51 0 , , 1.3726 -T 51 85 third third 1.38823 -T 51 92 twentieth twentieth 1.38823 -T 51 93 twenty twenty 1.38823 -F 52 10.0942 -T 52 0 , , 1.36738 -T 52 55 nineteen nineteen 1.38823 -T 52 57 ninth ninth 1.38823 -T 52 93 twenty twenty 1.38823 -F 53 9.68326 -T 53 0 , , 0.956464 -T 53 4 a a 2.72004 -T 53 10 b b 4.15571 -T 53 11 c c 3.03849 -T 53 13 d d 2.55311 -T 53 15 e e 2.07348 -T 53 37 g g 3.03849 -T 53 43 i i 2.72004 -T 53 44 j j 4.85316 -T 53 48 k k 4.76313 -T 53 50 m m 4.76313 -T 53 53 n n 2.92083 -T 53 59 o o 4.15571 -T 53 63 one one 3.32631 -T 53 64 p p 3.03849 -T 53 69 s s 3.17204 -T 53 75 seventy seventy 5.40762 -T 53 83 t t 2.72004 -T 53 87 thirty thirty 4.85316 -T 53 95 u u 3.50845 -T 53 98 x x 4.85316 -T 53 99 y y 4.76313 -T 53 101 z z 4.76313 -F 54 9.21969 -T 54 0 , , 0.492894 -T 54 5 and and 4.99914 -T 54 9 august august 4.99914 -T 54 20 eighty eighty 4.99914 -T 54 21 eleven eleven 4.99914 -T 54 23 enter enter 3.74723 -T 54 24 erase erase 3.74723 -T 54 30 fifty fifty 4.44468 -T 54 32 five five 2.63001 -T 54 33 forty forty 4.99914 -T 54 34 four four 3.74723 -T 54 38 go go 4.99914 -T 54 41 help help 4.99914 -T 54 42 hundred hundred 4.99914 -T 54 44 j j 4.99914 -T 54 46 july july 4.99914 -T 54 47 june june 4.99914 -T 54 50 m m 4.44468 -T 54 54 nine nine 3.74723 -T 54 55 nineteen nineteen 4.99914 -T 54 58 no no 4.35465 -T 54 61 of of 4.99914 -T 54 63 one one 3.1002 -T 54 68 rubout rubout 4.35465 -T 54 71 september september 4.99914 -T 54 75 seventy seventy 4.99914 -T 54 76 six six 2.40689 -T 54 87 thirty thirty 4.44468 -T 54 89 three three 3.1002 -T 54 93 twenty twenty 4.44468 -T 54 94 two two 2.76356 -T 54 96 v v 4.44468 -T 54 98 x x 4.99914 -T 54 100 yes yes 4.35465 -T 54 102 zero zero 4.99914 -F 55 10.9213 -T 55 0 , , 2.19447 -T 55 30 fifty fifty 3.13635 -T 55 33 forty forty 3.13635 -T 55 75 seventy seventy 3.04632 -T 55 80 sixty sixty 0.310158 -T 55 93 twenty twenty 3.69081 -F 56 9.61139 -T 56 0 , , 0.884597 -T 56 16 eight eight 2.03779 -T 56 32 five five 2.03779 -T 56 34 four four 2.03779 -T 56 63 one one 2.59225 -T 56 72 seven seven 2.59225 -T 56 76 six six 2.03779 -F 57 10.0937 -T 57 0 , , 1.36688 -T 57 61 of of 0.982743 -T 57 80 sixty sixty 0.982743 -F 58 9.53943 -T 58 0 , , 0.812634 -T 58 11 c c 3.06221 -T 58 23 enter enter 3.06221 -T 58 24 erase erase 2.41771 -T 58 25 f f 3.06221 -T 58 39 h h 3.06221 -T 58 41 help help 3.06221 -T 58 59 o o 3.06221 -T 58 64 p p 3.06221 -T 58 68 rubout rubout 2.41771 -T 58 69 s s 3.06221 -T 58 81 start start 3.06221 -T 58 83 t t 3.06221 -F 59 10.4678 -T 59 0 , , 1.74105 -T 59 4 a a 3.11678 -T 59 6 apostrophe apostrophe 5.35213 -T 59 10 b b 3.45319 -T 59 11 c c 5.35213 -T 59 13 d d 2.86534 -T 59 25 f f 4.10021 -T 59 33 forty forty 5.35213 -T 59 37 g g 5.35213 -T 59 39 h h 4.10021 -T 59 44 j j 5.35213 -T 59 48 k k 4.7979 -T 59 49 l l 2.86534 -T 59 50 m m 3.11678 -T 59 53 n n 1.73039 -T 59 56 ninety ninety 5.35213 -T 59 59 o o 2.49761 -T 59 64 p p 4.70787 -T 59 65 q q 5.35213 -T 59 66 r r 2.11815 -T 59 69 s s 3.45319 -T 59 80 sixty sixty 5.35213 -T 59 83 t t 3.27082 -T 59 95 u u 2.76011 -T 59 97 w w 2.86534 -T 59 98 x x 5.35213 -T 59 99 y y 4.7979 -T 59 101 z z 5.35213 -F 60 10.099 -T 60 0 , , 1.37221 -T 60 31 first first 1.38823 -T 60 86 thirtieth thirtieth 1.38823 -T 60 93 twenty twenty 1.38823 -F 61 10.0931 -T 61 0 , , 1.36632 -T 61 71 september september 0.982743 -T 61 80 sixty sixty 0.982743 -F 62 10.934 -T 62 0 , , 2.20718 -T 62 16 eight eight 1.83631 -T 62 23 enter enter 3.96943 -T 62 32 five five 2.44235 -T 62 34 four four 3.8794 -T 62 44 j j 4.52366 -T 62 54 nine nine 3.8794 -T 62 62 oh oh 3.96943 -T 62 63 one one 2.62472 -T 62 72 seven seven 2.03687 -T 62 76 six six 1.74927 -T 62 89 three three 2.62472 -T 62 91 twelve twelve 4.52366 -T 62 94 two two 2.03687 -F 63 10.2039 -T 63 0 , , 1.47711 -T 63 9 august august 5.91373 -T 63 16 eight eight 3.42671 -T 63 21 eleven eleven 5.91373 -T 63 23 enter enter 3.83219 -T 63 26 february february 5.91373 -T 63 27 fifteen fifteen 5.91373 -T 63 30 fifty fifty 4.66181 -T 63 32 five five 1.31984 -T 63 33 forty forty 5.91373 -T 63 34 four four 3.22615 -T 63 38 go go 5.26924 -T 63 41 help help 5.35927 -T 63 42 hundred hundred 5.35927 -T 63 44 j j 5.91373 -T 63 46 july july 5.91373 -T 63 54 nine nine 3.13911 -T 63 56 ninety ninety 5.91373 -T 63 62 oh oh 2.98507 -T 63 63 one one 3.67815 -T 63 67 repeat repeat 5.91373 -T 63 68 rubout rubout 4.66181 -T 63 72 seven seven 2.53307 -T 63 75 seventy seventy 5.35927 -T 63 76 six six 3.67815 -T 63 77 sixteen sixteen 5.91373 -T 63 80 sixty sixty 4.66181 -T 63 81 start start 5.35927 -T 63 82 stop stop 5.35927 -T 63 84 ten ten 5.35927 -T 63 87 thirty thirty 5.35927 -T 63 88 thousand thousand 5.35927 -T 63 89 three three 2.98507 -T 63 93 twenty twenty 5.35927 -T 63 94 two two 2.22292 -T 63 99 y y 5.91373 -T 63 100 yes yes 5.91373 -T 63 101 z z 5.91373 -T 63 102 zero zero 4.01456 -F 64 9.95326 -T 64 0 , , 1.22646 -T 64 4 a a 3.64292 -T 64 10 b b 4.89483 -T 64 11 c c 4.89483 -T 64 13 d d 4.34037 -T 64 25 f f 4.89483 -T 64 33 forty forty 4.89483 -T 64 37 g g 4.25034 -T 64 39 h h 2.8133 -T 64 43 i i 0.755018 -T 64 49 l l 2.99566 -T 64 53 n n 4.34037 -T 64 56 ninety ninety 4.89483 -T 64 59 o o 2.8133 -T 64 66 r r 4.25034 -T 64 69 s s 3.64292 -T 64 73 seventeen seventeen 4.89483 -T 64 83 t t 4.25034 -T 64 89 three three 4.89483 -T 64 95 u u 4.25034 -T 64 99 y y 4.89483 -F 65 9.15231 -T 65 0 , , 0.425514 -T 65 11 c c 3.69081 -T 65 13 d d 3.04632 -T 65 15 e e 3.13635 -T 65 25 f f 3.69081 -T 65 30 fifty fifty 3.13635 -T 65 32 five five 3.69081 -T 65 37 g g 3.69081 -T 65 43 i i 3.69081 -T 65 48 k k 3.13635 -T 65 53 n n 3.04632 -T 65 64 p p 3.69081 -T 65 65 q q 3.04632 -T 65 76 six six 3.69081 -T 65 83 t t 3.13635 -T 65 95 u u 3.69081 -T 65 97 w w 3.69081 -T 65 99 y y 3.69081 -T 65 101 z z 3.69081 -F 66 10.8485 -T 66 0 , , 2.12166 -T 66 4 a a 2.84231 -T 66 10 b b 3.61552 -T 66 11 c c 5.05233 -T 66 13 d d 3.21003 -T 66 15 e e 2.18838 -T 66 25 f f 5.14236 -T 66 37 g g 1.45592 -T 66 39 h h 5.69683 -T 66 43 i i 2.46285 -T 66 48 k k 3.00925 -T 66 49 l l 3.21003 -T 66 50 m m 5.14236 -T 66 53 n n 3.61552 -T 66 59 o o 2.36268 -T 66 64 p p 5.69683 -T 66 65 q q 5.69683 -T 66 66 r r 3.21003 -T 66 69 s s 4.44491 -T 66 72 seven seven 5.69683 -T 66 80 sixty sixty 5.69683 -T 66 83 t t 3.46125 -T 66 87 thirty thirty 5.14236 -T 66 95 u u 5.14236 -T 66 96 v v 5.14236 -T 66 97 w w 5.14236 -T 66 99 y y 3.3277 -T 66 101 z z 5.14236 -F 67 9.61217 -T 67 0 , , 0.885373 -T 67 10 b b 3.12277 -T 67 23 enter enter 3.12277 -T 67 24 erase erase 3.12277 -T 67 25 f f 3.12277 -T 67 37 g g 3.12277 -T 67 49 l l 3.12277 -T 67 50 m m 3.12277 -T 67 58 no no 2.4785 -T 67 59 o o 3.12277 -T 67 66 r r 3.12277 -T 67 68 rubout rubout 2.56853 -T 67 82 stop stop 2.56853 -T 67 97 w w 3.12277 -F 68 9.16475 -T 68 0 , , 0.437951 -T 68 11 c c 3.72282 -T 68 13 d d 4.36708 -T 68 25 f f 3.11517 -T 68 37 g g 3.81285 -T 68 39 h h 3.72282 -T 68 43 i i 3.81285 -T 68 44 j j 3.72282 -T 68 50 m m 3.72282 -T 68 53 n n 2.46814 -T 68 59 o o 3.11517 -T 68 64 p p 3.81285 -T 68 65 q q 3.81285 -T 68 95 u u 2.46814 -T 68 96 v v 3.81285 -T 68 97 w w 3.81285 -T 68 98 x x 4.36708 -T 68 99 y y 4.36708 -T 68 101 z z 3.72282 -F 69 10.4487 -T 69 0 , , 1.72186 -T 69 4 a a 4.6625 -T 69 10 b b 1.16718 -T 69 11 c c 5.307 -T 69 15 e e 2.93787 -T 69 25 f f 4.75254 -T 69 30 fifty fifty 5.307 -T 69 39 h h 3.40783 -T 69 44 j j 4.6625 -T 69 48 k k 3.22546 -T 69 49 l l 4.75254 -T 69 50 m m 3.40783 -T 69 59 o o 2.53238 -T 69 63 one one 3.40783 -T 69 64 p p 2.81998 -T 69 69 s s 3.40783 -T 69 72 seven seven 4.75254 -T 69 83 t t 2.1269 -T 69 87 thirty thirty 5.307 -T 69 95 u u 4.6625 -T 69 96 v v 4.6625 -T 69 97 w w 4.05508 -T 69 98 x x 5.307 -T 69 101 z z 4.75254 -T 69 102 zero zero 5.307 -F 70 9.77575 -T 70 0 , , 1.04896 -T 70 55 nineteen nineteen 0.428281 -F 71 10.0931 -T 71 0 , , 1.36631 -T 71 28 fifteenth fifteenth 1.89917 -T 71 31 first first 1.89917 -T 71 55 nineteen nineteen 1.89917 -T 71 79 sixth sixth 1.89917 -T 71 93 twenty twenty 1.89917 -F 72 9.67561 -T 72 0 , , 0.948816 -T 72 8 area area 5.25243 -T 72 16 eight eight 2.66018 -T 72 23 enter enter 4.69819 -T 72 24 erase erase 4.69819 -T 72 27 fifteen fifteen 5.25243 -T 72 30 fifty fifty 5.25243 -T 72 32 five five 2.8833 -T 72 33 forty forty 4.60816 -T 72 34 four four 2.19022 -T 72 35 fourteen fourteen 4.69819 -T 72 41 help help 5.25243 -T 72 42 hundred hundred 5.25243 -T 72 44 j j 5.25243 -T 72 50 m m 4.69819 -T 72 52 may may 5.25243 -T 72 54 nine nine 3.17112 -T 72 60 october october 5.25243 -T 72 62 oh oh 3.17112 -T 72 63 one one 3.17112 -T 72 64 p p 4.60816 -T 72 68 rubout rubout 2.66018 -T 72 72 seven seven 4.00051 -T 72 73 seventeen seventeen 5.25243 -T 72 75 seventy seventy 5.25243 -T 72 76 six six 3.01685 -T 72 80 sixty sixty 4.60816 -T 72 81 start start 5.25243 -T 72 82 stop stop 3.35349 -T 72 84 ten ten 4.60816 -T 72 87 thirty thirty 4.69819 -T 72 88 thousand thousand 5.25243 -T 72 89 three three 4.00051 -T 72 93 twenty twenty 4.60816 -T 72 94 two two 3.17112 -T 72 96 v v 4.69819 -T 72 99 y y 5.25243 -T 72 100 yes yes 4.00051 -T 72 101 z z 5.25243 -T 72 102 zero zero 4.60816 -F 73 9.9233 -T 73 0 , , 1.1965 -T 73 23 enter enter 1.89917 -T 73 30 fifty fifty 1.34471 -T 73 68 rubout rubout 1.89917 -T 73 87 thirty thirty 1.89917 -F 74 10.1016 -T 74 0 , , 1.37484 -T 74 55 nineteen nineteen 0.289665 -F 75 9.71675 -T 75 0 , , 0.989953 -T 75 16 eight eight 3.54782 -T 75 32 five five 3.54782 -T 75 37 g g 3.54782 -T 75 39 h h 3.54782 -T 75 54 nine nine 2.90333 -T 75 63 one one 1.17869 -T 75 64 p p 3.54782 -T 75 68 rubout rubout 3.54782 -T 75 72 seven seven 2.90333 -T 75 76 six six 3.54782 -T 75 94 two two 2.29591 -T 75 100 yes yes 3.54782 -F 76 10.1175 -T 76 0 , , 1.3907 -T 76 11 c c 4.8352 -T 76 16 eight eight 1.88098 -T 76 20 eighty eighty 5.38943 -T 76 23 enter enter 2.90264 -T 76 24 erase erase 3.49049 -T 76 25 f f 5.38943 -T 76 32 five five 3.30812 -T 76 33 forty forty 5.38943 -T 76 34 four four 2.61505 -T 76 39 h h 4.74517 -T 76 42 hundred hundred 5.38943 -T 76 46 july july 5.38943 -T 76 48 k k 5.38943 -T 76 49 l l 4.8352 -T 76 54 nine nine 3.30812 -T 76 58 no no 4.8352 -T 76 62 oh oh 3.30812 -T 76 63 one one 2.90264 -T 76 64 p p 4.8352 -T 76 68 rubout rubout 5.38943 -T 76 71 september september 5.38943 -T 76 72 seven seven 3.02053 -T 76 73 seventeen seventeen 5.38943 -T 76 76 six six 2.61505 -T 76 77 sixteen sixteen 5.38943 -T 76 80 sixty sixty 4.8352 -T 76 81 start start 4.8352 -T 76 82 stop stop 5.38943 -T 76 84 ten ten 5.38943 -T 76 87 thirty thirty 4.8352 -T 76 88 thousand thousand 5.38943 -T 76 89 three three 2.70208 -T 76 91 twelve twelve 4.8352 -T 76 93 twenty twenty 5.38943 -T 76 94 two two 2.79718 -T 76 96 v v 4.8352 -T 76 100 yes yes 4.8352 -T 76 102 zero zero 5.38943 -F 77 9.86022 -T 77 0 , , 1.13342 -T 77 33 forty forty 1.38823 -T 77 80 sixty sixty 0.833766 -F 78 10.1016 -T 78 0 , , 1.37484 -T 78 55 nineteen nineteen 0.289665 -F 79 10.1016 -T 79 0 , , 1.37484 -T 79 55 nineteen nineteen 0.289665 -F 80 11.1717 -T 80 0 , , 2.44495 -T 80 16 eight eight 2.66731 -T 80 23 enter enter 4.01179 -T 80 30 fifty fifty 4.56626 -T 80 32 five five 2.66731 -T 80 34 four four 2.48495 -T 80 41 help help 4.01179 -T 80 54 nine nine 1.6376 -T 80 63 one one 2.19713 -T 80 69 s s 4.56626 -T 80 72 seven seven 1.87868 -T 80 76 six six 3.92176 -T 80 81 start start 4.56626 -T 80 89 three three 2.33068 -T 80 94 two two 2.66731 -T 80 97 w w 4.56626 -F 81 9.75305 -T 81 0 , , 1.02625 -T 81 23 enter enter 2.13311 -T 81 39 h h 2.13311 -T 81 43 i i 2.68758 -T 81 58 no no 2.68758 -T 81 67 repeat repeat 2.13311 -T 81 68 rubout rubout 2.13311 -T 81 99 y y 2.68758 -F 82 10.345 -T 82 0 , , 1.61822 -T 82 13 d d 3.06221 -T 82 23 enter enter 0.980901 -T 82 24 erase erase 3.06221 -T 82 38 go go 3.06221 -T 82 44 j j 3.06221 -T 82 50 m m 2.50775 -T 82 67 repeat repeat 3.06221 -T 82 68 rubout rubout 2.50775 -T 82 100 yes yes 3.06221 -F 83 10.4796 -T 83 0 , , 1.75282 -T 83 10 b b 5.06315 -T 83 13 d d 4.97312 -T 83 15 e e 2.23673 -T 83 20 eighty eighty 5.61762 -T 83 25 f f 5.06315 -T 83 30 fifty fifty 5.61762 -T 83 33 forty forty 5.61762 -T 83 37 g g 4.3657 -T 83 39 h h 2.49462 -T 83 43 i i 3.71844 -T 83 44 j j 5.61762 -T 83 48 k k 5.06315 -T 83 49 l l 4.97312 -T 83 50 m m 4.97312 -T 83 53 n n 5.06315 -T 83 59 o o 3.53608 -T 83 64 p p 3.24849 -T 83 65 q q 5.06315 -T 83 66 r r 3.53608 -T 83 69 s s 1.49921 -T 83 75 seventy seventy 5.61762 -T 83 80 sixty sixty 5.61762 -T 83 83 t t 1.30257 -T 83 96 v v 5.61762 -T 83 97 w w 5.61762 -T 83 101 z z 4.3657 -F 84 9.85229 -T 84 0 , , 1.12549 -T 84 23 enter enter 2.92866 -T 84 25 f f 2.92866 -T 84 39 h h 2.92866 -T 84 50 m m 2.92866 -T 84 59 o o 2.92866 -T 84 63 one one 2.92866 -T 84 68 rubout rubout 2.92866 -T 84 69 s s 2.92866 -T 84 75 seventy seventy 2.92866 -T 84 80 sixty sixty 2.92866 -T 84 84 ten ten 2.92866 -T 84 87 thirty thirty 2.92866 -T 84 91 twelve twelve 2.92866 -T 84 93 twenty twenty 2.92866 -F 85 9.36626 -T 85 0 , , 0.639467 -T 85 55 nineteen nineteen 0.743735 -F 86 9.36626 -T 86 0 , , 0.639467 -T 86 55 nineteen nineteen 0.743735 -F 87 9.79073 -T 87 0 , , 1.06393 -T 87 10 b b 3.84509 -T 87 15 e e 3.29062 -T 87 16 eight eight 3.20059 -T 87 23 enter enter 3.84509 -T 87 32 five five 1.76355 -T 87 37 g g 3.84509 -T 87 54 nine nine 3.29062 -T 87 63 one one 1.47596 -T 87 72 seven seven 3.29062 -T 87 76 six six 3.29062 -T 87 80 sixty sixty 3.84509 -T 87 89 three three 3.29062 -T 87 94 two two 2.59317 -F 88 9.77408 -T 88 0 , , 1.04728 -T 88 16 eight eight 1.93256 -T 88 32 five five 2.48679 -T 88 50 m m 2.48679 -T 88 54 nine nine 2.48679 -T 88 63 one one 2.48679 -T 88 64 p p 2.48679 -T 88 72 seven seven 2.48679 -T 88 89 three three 2.48679 -F 89 9.88108 -T 89 0 , , 1.15428 -T 89 13 d d 4.62566 -T 89 14 december december 5.1799 -T 89 16 eight eight 3.09859 -T 89 20 eighty eighty 5.1799 -T 89 21 eleven eleven 5.1799 -T 89 23 enter enter 4.53563 -T 89 24 erase erase 3.28095 -T 89 32 five five 2.94455 -T 89 33 forty forty 4.62566 -T 89 34 four four 2.49255 -T 89 35 fourteen fourteen 5.1799 -T 89 42 hundred hundred 5.1799 -T 89 48 k k 5.1799 -T 89 49 l l 4.62566 -T 89 51 march march 5.1799 -T 89 52 may may 5.1799 -T 89 54 nine nine 3.92798 -T 89 58 no no 4.62566 -T 89 62 oh oh 3.28095 -T 89 63 one one 3.09859 -T 89 68 rubout rubout 3.92798 -T 89 71 september september 5.1799 -T 89 72 seven seven 3.09859 -T 89 73 seventeen seventeen 5.1799 -T 89 75 seventy seventy 4.62566 -T 89 76 six six 2.6931 -T 89 80 sixty sixty 3.92798 -T 89 87 thirty thirty 5.1799 -T 89 89 three three 2.6931 -T 89 91 twelve twelve 5.1799 -T 89 93 twenty twenty 4.53563 -T 89 94 two two 2.11769 -T 89 96 v v 4.62566 -T 89 100 yes yes 5.1799 -T 89 102 zero zero 3.92798 -F 90 9.77575 -T 90 0 , , 1.04896 -T 90 55 nineteen nineteen 0.428281 -F 91 9.91795 -T 91 0 , , 1.19115 -T 91 23 enter enter 2.48679 -T 91 30 fifty fifty 2.48679 -T 91 34 four four 2.48679 -T 91 54 nine nine 2.48679 -T 91 55 nineteen nineteen 2.48679 -T 91 80 sixty sixty 2.48679 -T 91 84 ten ten 2.48679 -T 91 93 twenty twenty 1.93256 -F 92 10.1016 -T 92 0 , , 1.37484 -T 92 55 nineteen nineteen 0.289665 -F 93 9.85227 -T 93 0 , , 1.12547 -T 93 16 eight eight 2.05414 -T 93 23 enter enter 3.95331 -T 93 29 fifth fifth 3.95331 -T 93 31 first first 3.95331 -T 93 32 five five 3.95331 -T 93 34 four four 3.30881 -T 93 36 fourth fourth 3.95331 -T 93 54 nine nine 2.70116 -T 93 63 one one 3.39885 -T 93 70 second second 3.39885 -T 93 72 seven seven 3.39885 -T 93 74 seventh seventh 3.95331 -T 93 76 six six 2.05414 -T 93 83 t t 3.95331 -T 93 85 third third 3.39885 -T 93 89 three three 2.05414 -T 93 94 two two 3.39885 -F 94 10.6184 -T 94 0 , , 1.89156 -T 94 10 b b 5.31114 -T 94 11 c c 5.86561 -T 94 13 d d 5.86561 -T 94 16 eight eight 3.01109 -T 94 17 eighteen eighteen 5.86561 -T 94 20 eighty eighty 5.86561 -T 94 23 enter enter 3.49648 -T 94 24 erase erase 5.31114 -T 94 27 fifteen fifteen 5.86561 -T 94 30 fifty fifty 5.86561 -T 94 32 five five 2.93695 -T 94 34 four four 2.58028 -T 94 35 fourteen fourteen 5.86561 -T 94 38 go go 5.86561 -T 94 41 help help 5.86561 -T 94 42 hundred hundred 5.86561 -T 94 50 m m 5.22111 -T 94 51 march march 5.86561 -T 94 54 nine nine 3.49648 -T 94 58 no no 5.86561 -T 94 60 october october 5.86561 -T 94 62 oh oh 3.09099 -T 94 63 one one 1.66385 -T 94 64 p p 5.86561 -T 94 67 repeat repeat 5.31114 -T 94 68 rubout rubout 3.7843 -T 94 72 seven seven 3.09099 -T 94 76 six six 2.31778 -T 94 80 sixty sixty 5.86561 -T 94 81 start start 5.22111 -T 94 82 stop stop 5.31114 -T 94 84 ten ten 5.31114 -T 94 87 thirty thirty 5.22111 -T 94 88 thousand thousand 5.86561 -T 94 89 three three 3.01109 -T 94 91 twelve twelve 5.86561 -T 94 93 twenty twenty 5.31114 -T 94 94 two two 2.14186 -T 94 96 v v 5.86561 -T 94 102 zero zero 3.7843 -F 95 9.74669 -T 95 0 , , 1.01989 -T 95 11 c c 4.96253 -T 95 13 d d 4.96253 -T 95 15 e e 3.06336 -T 95 20 eighty eighty 4.96253 -T 95 25 f f 4.40807 -T 95 34 four four 4.31804 -T 95 37 g g 4.31804 -T 95 44 j j 4.40807 -T 95 48 k k 4.96253 -T 95 49 l l 4.31804 -T 95 50 m m 4.31804 -T 95 53 n n 4.31804 -T 95 64 p p 4.96253 -T 95 65 q q 4.96253 -T 95 66 r r 0.683868 -T 95 69 s s 2.88099 -T 95 83 t t 3.71062 -T 95 98 x x 4.96253 -T 95 99 y y 4.96253 -F 96 10.2291 -T 96 0 , , 1.50227 -T 96 4 a a 1.96157 -T 96 11 c c 4.44859 -T 96 15 e e 1.0235 -T 96 25 f f 4.44859 -T 96 30 fifty fifty 4.44859 -T 96 43 i i 2.21301 -T 96 48 k k 3.89413 -T 96 49 l l 4.44859 -T 96 50 m m 3.89413 -T 96 53 n n 4.44859 -T 96 54 nine nine 4.44859 -T 96 59 o o 4.44859 -T 96 64 p p 4.44859 -T 96 65 q q 3.89413 -T 96 66 r r 4.44859 -T 96 69 s s 4.44859 -T 96 72 seven seven 3.89413 -T 96 87 thirty thirty 4.44859 -T 96 97 w w 4.44859 -T 96 98 x x 4.44859 -T 96 99 y y 3.8041 -T 96 101 z z 4.44859 -F 97 9.47069 -T 97 0 , , 0.743892 -T 97 4 a a 2.07946 -T 97 10 b b 4.01179 -T 97 11 c c 4.56626 -T 97 13 d d 4.01179 -T 97 15 e e 3.31434 -T 97 16 eight eight 4.01179 -T 97 25 f f 4.01179 -T 97 35 fourteen fourteen 4.56626 -T 97 37 g g 4.56626 -T 97 39 h h 4.01179 -T 97 43 i i 2.33068 -T 97 49 l l 3.92176 -T 97 53 n n 2.33068 -T 97 59 o o 2.07946 -T 97 64 p p 4.56626 -T 97 65 q q 4.56626 -T 97 93 twenty twenty 4.56626 -T 97 97 w w 4.01179 -T 97 98 x x 4.56626 -T 97 99 y y 3.92176 -T 97 101 z z 3.92176 -F 98 9.14598 -T 98 0 , , 0.419182 -T 98 10 b b 3.75529 -T 98 11 c c 3.20105 -T 98 16 eight eight 3.75529 -T 98 25 f f 3.75529 -T 98 34 four four 3.75529 -T 98 37 g g 3.75529 -T 98 39 h h 3.75529 -T 98 43 i i 3.75529 -T 98 48 k k 3.75529 -T 98 49 l l 3.75529 -T 98 53 n n 3.75529 -T 98 54 nine nine 3.75529 -T 98 64 p p 3.75529 -T 98 69 s s 3.20105 -T 98 75 seventy seventy 3.75529 -T 98 89 three three 3.75529 -T 98 94 two two 3.20105 -T 98 96 v v 3.75529 -T 98 97 w w 3.75529 -T 98 98 x x 3.20105 -T 98 99 y y 3.20105 -T 98 101 z z 3.75529 -T 98 102 zero zero 3.20105 -F 99 9.05276 -T 99 0 , , 0.325967 -T 99 10 b b 3.89413 -T 99 11 c c 4.44859 -T 99 13 d d 3.19668 -T 99 16 eight eight 3.89413 -T 99 25 f f 3.89413 -T 99 30 fifty fifty 3.89413 -T 99 34 four four 3.8041 -T 99 37 g g 3.89413 -T 99 39 h h 3.8041 -T 99 44 j j 3.89413 -T 99 49 l l 2.54942 -T 99 50 m m 3.89413 -T 99 62 oh oh 3.89413 -T 99 63 one one 2.54942 -T 99 64 p p 3.89413 -T 99 65 q q 4.44859 -T 99 69 s s 3.89413 -T 99 84 ten ten 4.44859 -T 99 89 three three 3.89413 -T 99 95 u u 3.89413 -T 99 96 v v 3.89413 -T 99 97 w w 3.89413 -T 99 99 y y 4.44859 -T 99 101 z z 3.89413 -F 100 9.51882 -T 100 0 , , 0.79202 -T 100 23 enter enter 2.77968 -T 100 24 erase erase 2.68965 -T 100 25 f f 3.33414 -T 100 37 g g 3.33414 -T 100 38 go go 2.77968 -T 100 39 h h 2.77968 -T 100 44 j j 3.33414 -T 100 53 n n 3.33414 -T 100 68 rubout rubout 2.68965 -T 100 69 s s 2.77968 -T 100 95 u u 3.33414 -T 100 98 x x 3.33414 -T 100 100 yes yes 3.33414 -F 101 8.95831 -T 101 0 , , 0.231516 -T 101 4 a a 2.84438 -T 101 11 c c 4.0963 -T 101 13 d d 4.0963 -T 101 25 f f 4.0963 -T 101 43 i i 3.45181 -T 101 44 j j 4.0963 -T 101 48 k k 4.0963 -T 101 49 l l 3.54184 -T 101 54 nine nine 3.45181 -T 101 56 ninety ninety 4.0963 -T 101 59 o o 3.45181 -T 101 64 p p 4.0963 -T 101 80 sixty sixty 3.54184 -T 101 93 twenty twenty 4.0963 -T 101 95 u u 4.0963 -T 101 97 w w 4.0963 -T 101 98 x x 3.54184 -T 101 99 y y 3.54184 -T 101 101 z z 4.0963 -F 102 9.2653 -T 102 0 , , 0.538499 -T 102 11 c c 3.31872 -T 102 15 e e 3.31872 -T 102 16 eight eight 3.87318 -T 102 23 enter enter 3.22868 -T 102 34 four four 3.31872 -T 102 50 m m 3.87318 -T 102 54 nine nine 3.87318 -T 102 63 one one 2.62126 -T 102 64 p p 3.87318 -T 102 68 rubout rubout 3.87318 -T 102 69 s s 3.87318 -T 102 72 seven seven 3.31872 -T 102 76 six six 1.79187 -T 102 91 twelve twelve 3.87318 -T 102 94 two two 3.31872 -T 102 100 yes yes 3.87318 -T 102 102 zero zero 3.87318 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.lm deleted file mode 100755 index 35a79e56..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.bigram.lm +++ /dev/null @@ -1,1680 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 2-gram language model, based on a vocabulary of 101 words, - which begins "", "a", "and"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 15 -2-gram frequency of frequency : 724 298 150 71 43 52 21 -1-gram discounting ratios : 0.88 -2-gram discounting ratios : 0.75 0.65 0.48 0.65 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 - -end of data mark: \end\ - -\data\ -ngram 1=102 -ngram 2=1528 - -\1-grams: --3.7900 -0.5978 --98.9999 0.0000 --1.4135 a -0.4543 --2.8326 and -0.3915 --3.7900 apostrophe -0.5876 --3.7900 april -0.5993 --3.7900 area -0.5994 --3.1336 august -0.3375 --1.6601 b -0.5748 --1.8606 c -0.4378 --3.7900 code -0.5861 --1.7314 d -0.2636 --3.7900 december -0.5994 --1.3395 e -0.4988 --1.5510 eight -0.4313 --3.7900 eighteen -0.5993 --3.7900 eighteenth -0.5971 --3.7900 eighth -0.5971 --2.5596 eighty -0.5291 --3.1336 eleven -0.5710 --3.7900 eleventh -0.5971 --1.8114 enter -0.7004 --2.2172 erase -0.2031 --1.9228 f -0.2524 --3.4347 february -0.5970 --3.0367 fifteen -0.5627 --3.4347 fifteenth -0.4555 --3.4347 fifth -0.5848 --2.1675 fifty -0.5576 --3.2586 first -0.2777 --1.4303 five -0.6215 --2.3043 forty -0.2221 --1.5156 four -0.5743 --2.7814 fourteen -0.3992 --3.7900 fourth -0.5971 --1.6750 g -0.5447 --2.7357 go -0.4852 --1.5684 h -0.3428 --3.4347 half -0.5822 --2.6565 help -0.4072 --2.6565 hundred -0.8224 --1.5182 i -0.7226 --2.0544 j -0.2047 --3.4347 january -0.5992 --3.2586 july -0.5960 --3.4347 june -0.5963 --1.8906 k 0.0029 --1.5927 l -0.2421 --1.7863 m -0.3511 --3.2586 march -0.5961 --3.2586 may -0.5938 --1.5130 n -0.2582 --1.6904 nine -0.0584 --2.2586 nineteen -0.9530 --2.7357 ninety -0.3842 --3.4347 ninth -0.5936 --2.5316 no -0.3529 --1.5370 o -0.6779 --3.2586 october -0.5959 --3.4347 of -0.5933 --1.8968 oh -0.9588 --1.2932 one -0.2583 --1.7357 p -0.5242 --2.2586 q -0.1661 --1.3874 r -0.9192 --2.5052 repeat -0.3845 --1.9648 rubout -0.1486 --1.5567 s -0.7425 --3.4347 second -0.4555 --3.0367 september -0.5935 --1.5804 seven -0.3510 --3.0367 seventeen -0.5197 --3.7900 seventh -0.5971 --2.3207 seventy -0.4300 --1.5208 six -0.4762 --3.2586 sixteen -0.4922 --3.7900 sixteenth -0.5971 --3.7900 sixth -0.5971 --1.8784 sixty -1.0617 --2.6943 start -0.4457 --2.5316 stop -0.7028 --1.4218 t -0.7327 --2.5896 ten -0.4887 --3.2586 third -0.2777 --3.2586 thirtieth -0.2777 --2.1916 thirty -0.4621 --2.7814 thousand -0.4548 --1.6118 three -0.4547 --3.4347 twelfth -0.4555 --2.7814 twelve -0.5173 --3.7900 twentieth -0.5971 --2.1446 twenty -0.4888 --1.3141 two -0.7503 --1.7063 u -0.3161 --1.9295 v -0.6526 --1.8784 w -0.2365 --2.2305 x -0.1646 --1.9295 y 0.1082 --2.4135 yes -0.3439 --2.0825 z -0.0106 --2.1794 zero -0.2224 --3.7900 0.0000 - -\2-grams: --0.1258 yes --1.9043 a a --2.1681 a b --1.2430 a c --1.3222 a d --2.1681 a e --2.1681 a f --2.4480 a fifty --2.4480 a five --1.9043 a g --1.9043 a h --2.2072 a half --2.1681 a i --2.4480 a j --2.1681 a k --1.1761 a l --1.2083 a m --0.9243 a n --2.4480 a ninety --1.4191 a one --1.9043 a p --0.7094 a r --1.3222 a s --2.1681 a six --1.3222 a t --2.4480 a three --2.4480 a twenty --2.4480 a two --2.2072 a u --1.2430 a v --2.1681 a w --2.4480 a x --1.6232 a y --2.4480 a z --0.7881 and a --0.7490 and eighty --1.0289 and fifty --1.0289 and sixty --1.0289 and twenty --0.1258 apostrophe h --0.1258 april thirtieth --0.1258 area code --0.7279 august sixteenth --0.4480 august twenty --1.2304 b a --2.2013 b b --2.2013 b d --1.0342 b e --2.2013 b eight --2.2013 b five --1.9606 b forty --2.2013 b g --2.2013 b h --2.2013 b i --1.9606 b j --2.2013 b k --2.2013 b l --1.9215 b m --1.3766 b o --2.2013 b one --2.2013 b p --1.0342 b r --1.9215 b s --1.9606 b seven --1.9606 b seventy --2.2013 b six --0.3595 b u --2.2013 b v --2.2013 b w --1.9215 b x --2.2013 b y --2.2013 b z --1.0300 c a --1.7210 c b --2.0009 c c --2.0009 c d --1.0300 c e --2.0009 c f --2.0009 c fifty --1.7601 c five --0.6990 c h --2.0009 c i --2.0009 c j --0.9208 c k --1.7210 c l --2.0009 c m --1.0969 c o --2.0009 c r --2.0009 c s --2.0009 c seven --2.0009 c t --1.7601 c thirty --2.0009 c two --2.0009 c u --2.0009 c v --1.7601 c w --1.7601 c y --1.7210 c z --0.1258 code four --0.9629 d a --1.8893 d b --2.1301 d c --1.5864 d d --1.1012 d e --1.8893 d f --2.1301 d five --2.1301 d forty --2.1301 d fourteen --2.1301 d h --1.8502 d i --1.8893 d j --1.8502 d k --2.1301 d l --1.8893 d m --2.1301 d n --1.0501 d o --2.1301 d oh --1.5864 d one --1.0501 d p --1.8893 d q --1.0501 d r --1.5864 d s --1.8893 d sixty --2.1301 d t --1.8893 d two --2.1301 d u --2.1301 d v --1.1012 d w --1.8502 d y --2.1301 d z --0.1258 december eighteenth --1.1658 e a --1.9783 e b --2.2812 e c --1.4931 e d --1.3548 e e --2.2812 e eight --2.2421 e f --2.5220 e fifty --2.2421 e four --1.6180 e g --2.5220 e h --1.9783 e i --1.9783 e j --2.5220 e k --1.0538 e l --1.6972 e m --0.9812 e n --2.5220 e nine --2.2812 e o --1.4420 e one --1.1174 e p --2.5220 e q --0.8910 e r --1.3548 e s --2.5220 e seven --2.5220 e seventy --1.4931 e t --2.5220 e thirty --2.2812 e three --2.5220 e two --2.2421 e u --1.3962 e v --1.1658 e w --2.5220 e x --1.6180 e y --2.2421 e z --2.3105 eight a --2.3105 eight april --2.3105 eight august --2.0697 eight b --2.3105 eight c --2.3105 eight e --1.4065 eight eight --1.2816 eight enter --2.0306 eight erase --2.3105 eight f --1.1847 eight five --2.3105 eight forty --0.9806 eight four --2.3105 eight fourteen --2.0697 eight g --2.0306 eight hundred --2.3105 eight j --2.3105 eight june --2.3105 eight k --2.3105 eight l --2.3105 eight n --1.4065 eight nine --2.0697 eight o --1.4065 eight oh --1.3396 eight one --2.3105 eight q --2.0697 eight repeat --1.7668 eight rubout --2.3105 eight s --1.2816 eight seven --2.0697 eight seventy --1.3396 eight six --2.0306 eight sixty --2.3105 eight stop --2.3105 eight ten --2.3105 eight thirty --2.3105 eight thousand --0.9806 eight three --2.3105 eight twelve --2.0697 eight twenty --1.0707 eight two --2.3105 eight x --1.7668 eight zero --0.1258 eighteen february --0.1258 eighteenth nineteen --0.1258 eighth nineteen --1.3019 eighty eight --1.3019 eighty fifth --1.3019 eighty five --1.3019 eighty four --1.0220 eighty nine --1.3019 eighty one --1.3019 eighty seven --0.4771 eighty six --1.3019 eighty three --0.7279 eleven nine --0.7279 eleven o --0.7279 eleven seventeen --0.7279 eleven sixty --0.1258 eleventh nineteen --1.0212 enter eight --2.0501 enter eighty --2.0501 enter fifteen --1.2253 enter fifty --1.1461 enter five --1.7702 enter forty --1.1461 enter four --2.0501 enter fourteen --1.5064 enter nine --1.7702 enter ninety --1.5064 enter one --0.9700 enter seven --1.5064 enter seventy --1.0212 enter six --1.0212 enter sixty --1.7702 enter thirty --1.8093 enter three --2.0501 enter twenty --1.1461 enter two --2.0501 enter zero --1.6443 erase a --1.6443 erase b --1.4035 erase c --1.4035 erase e --1.6443 erase f --1.4035 erase g --1.4035 erase i --1.4035 erase j --1.6443 erase k --1.6443 erase m --1.6443 erase n --1.3644 erase o --1.4035 erase q --1.6443 erase r --1.4035 erase s --1.6443 erase t --1.3644 erase v --1.4035 erase w --1.6443 erase x --1.6443 erase y --1.6443 erase z --1.9387 f a --1.6979 f b --1.9387 f d --0.9098 f e --1.9387 f eight --1.6588 f f --1.6979 f five --1.9387 f four --1.9387 f g --1.6979 f h --0.9678 f i --1.6979 f j --1.6979 f k --1.6979 f m --1.1139 f o --1.9387 f q --1.1139 f r --1.9387 f s --1.9387 f six --1.3950 f t --1.9387 f thirty --1.9387 f twenty --1.6588 f two --1.9387 f v --1.3950 f x --1.6979 f y --1.9387 f z --0.4268 february eighth --0.4268 february nineteen --0.8248 fifteen enter --0.8248 fifteen m --0.8248 fifteen n --0.8248 fifteen nineteen --0.8248 fifteen sixty --0.1860 fifteenth nineteen --0.4268 fifth nineteen --0.4268 fifth s --1.6940 fifty b --0.7901 fifty eight --1.1503 fifty five --1.4141 fifty four --1.6940 fifty nine --0.7901 fifty one --1.6940 fifty rubout --1.4532 fifty seven --0.7901 fifty six --1.6940 fifty sixty --1.4532 fifty three --1.1503 fifty two --0.3230 first nineteen --2.4311 five a --2.1904 five b --2.4311 five c --2.4311 five d --2.4311 five e --1.5272 five eight --1.3511 five enter --2.1904 five erase --2.1513 five f --1.4023 five five --2.4311 five forty --1.5272 five four --2.4311 five g --2.4311 five h --2.1904 five help --2.1904 five hundred --2.4311 five j --2.4311 five k --2.1513 five m --2.4311 five may --1.3511 five nine --2.4311 five ninth --2.4311 five no --2.4311 five october --1.4023 five oh --1.1293 five one --2.4311 five p --2.4311 five q --2.1904 five repeat --2.1904 five rubout --1.5272 five seven --1.4023 five six --2.4311 five sixteen --2.4311 five t --2.4311 five ten --2.1513 five thirty --1.3054 five three --2.4311 five twenty --0.4665 five two --2.1513 five yes --1.6064 five zero --1.2773 forty eight --1.0134 forty five --1.2773 forty four --1.2773 forty nine --1.3164 forty one --1.0134 forty seven --1.5572 forty six --1.0134 forty three --1.2773 forty two --2.3459 four and --2.3459 four august --2.3459 four b --2.3459 four d --1.2201 four eight --2.3459 four eleven --1.4420 four enter --2.1051 four erase --2.3459 four f --2.1051 four fifty --1.3750 four five --2.1051 four forty --0.9648 four four --2.3459 four h --2.3459 four help --2.1051 four january --2.3459 four l --2.3459 four march --1.8022 four nine --2.3459 four ninety --2.0660 four no --1.4420 four oh --0.8777 four one --2.3459 four r --2.0660 four repeat --1.4420 four rubout --2.1051 four s --2.3459 four september --1.2659 four seven --2.3459 four seventy --1.1787 four six --2.1051 four sixty --2.3459 four start --2.0660 four stop --2.3459 four thirty --2.0660 four thousand --1.5211 four three --2.3459 four twelve --2.1051 four twenty --1.0160 four two --2.3459 four x --2.3459 four z --2.3459 four zero --1.0800 fourteen a --1.0800 fourteen eighty --1.0800 fourteen fourteen --0.8393 fourteen repeat --1.0800 fourteen s --0.8002 fourteen sixty --0.1258 fourth nineteen --1.1065 g a --2.1865 g b --1.9457 g c --1.9066 g d --1.9457 g e --2.1865 g eighty --2.1865 g forty --0.3447 g h --1.1576 g i --1.9457 g j --1.9457 g k --1.1065 g l --2.1865 g m --1.6428 g n --1.9457 g nine --2.1865 g o --2.1865 g one --2.1865 g p --2.1865 g q --1.9457 g r --2.1865 g s --2.1865 g seventy --2.1865 g t --1.9457 g two --2.1865 g u --1.9457 g v --1.9457 g w --1.1258 go enter --1.1258 go g --1.1258 go h --1.1258 go l --0.8850 go repeat --1.1258 go rubout --1.1258 go x --0.8850 go yes --0.7871 h a --1.7494 h b --1.2642 h e --2.0132 h f --2.2931 h fifty --2.2931 h four --2.0523 h g --2.2931 h h --1.3892 h i --2.0523 h k --2.0523 h l --1.7494 h n --2.2931 h nine --1.0534 h o --0.4861 h one --2.0132 h p --2.2931 h q --2.0132 h r --2.2931 h s --2.2931 h seven --2.2931 h seventy --2.2931 h six --1.7494 h t --2.2931 h three --2.0523 h two --2.0523 h u --2.2931 h v --2.2931 h w --2.2931 h x --2.0132 h y --2.2931 h z --0.4268 half f --0.4268 half h --1.2050 help a --1.2050 help b --0.9251 help enter --0.9642 help go --1.2050 help help --1.2050 help j --1.2050 help n --1.2050 help rubout --1.2050 help v --0.3010 hundred and --0.9642 hundred eighty --1.2050 hundred forty --1.2050 hundred s --1.2050 hundred twenty --1.2050 hundred w --1.7996 i a --2.0634 i b --1.0414 i c --1.5185 i d --1.2632 i e --1.7996 i f --2.3433 i fifteen --2.1025 i five --2.3433 i four --1.7996 i g --2.3433 i j --2.1025 i k --1.2175 i l --1.4393 i m --0.8751 i n --2.3433 i o --2.0634 i p --2.0634 i q --2.0634 i r --1.4393 i s --2.3433 i sixty --0.5185 i t --2.3433 i thirty --2.3433 i u --1.4393 i v --2.3433 i y --1.5272 j a --1.8070 j b --1.5663 j c --1.8070 j d --0.9823 j e --1.8070 j five --1.5663 j four --1.8070 j g --1.5663 j h --1.8070 j j --1.5663 j k --1.8070 j l --1.8070 j m --1.8070 j n --0.8361 j o --1.5663 j one --1.5663 j q --1.8070 j s --1.5272 j seven --1.8070 j t --1.5663 j u --1.5663 j v --1.8070 j w --1.8070 j x --1.5663 j z --0.4268 january fifteenth --0.4268 january twelfth --0.6029 july thirtieth --0.6029 july twelfth --0.6029 july twenty --0.4268 june eleventh --0.4268 june twenty --1.1461 k a --1.9709 k c --1.9709 k d --0.9420 k e --1.9709 k eight --1.9709 k eighty --1.7301 k f --1.9709 k fifty --1.7301 k h --1.4272 k i --1.6910 k j --1.7301 k k --1.7301 k l --1.9709 k m --1.9709 k nine --1.9709 k ninety --1.9709 k o --1.7301 k one --1.7301 k p --1.9709 k r --1.7301 k s --1.9709 k seven --1.4272 k six --1.6910 k t --1.7301 k three --1.9709 k twenty --1.7301 k two --1.7301 k u --1.9709 k v --1.4272 k w --1.7301 k x --1.7301 k y --1.7301 k z --0.9969 l a --2.2688 l b --2.0280 l c --1.1016 l d --0.6959 l e --2.2688 l eight --1.9889 l f --2.0280 l fifty --2.0280 l five --1.9889 l g --2.2688 l h --1.0638 l i --2.2688 l j --1.7251 l k --0.8877 l l --2.0280 l m --2.2688 l n --2.2688 l nine --1.4440 l o --2.2688 l one --2.2688 l p --1.9889 l r --1.9889 l s --2.2688 l seventy --2.2688 l six --2.2688 l t --2.2688 l ten --2.2688 l thirty --2.0280 l three --2.2688 l two --1.9889 l u --1.4440 l y --2.0280 l z --2.2688 l zero --0.6272 m a --1.8344 m b --2.0752 m c --2.0752 m d --1.0463 m e --1.8344 m eight --2.0752 m f --2.0752 m fifty --2.0752 m forty --2.0752 m four --2.0752 m g --1.8344 m h --1.1712 m i --1.8344 m j --2.0752 m k --1.7953 m m --1.5315 m n --0.9080 m o --1.5315 m p --2.0752 m q --1.7953 m s --2.0752 m seven --2.0752 m t --2.0752 m thirty --2.0752 m two --1.7953 m u --1.8344 m v --2.0752 m x --1.8344 m y --0.6029 march third --0.6029 march twentieth --0.6029 march twenty --0.6029 may nineteen --0.6029 may ninth --0.6029 may twenty --1.1813 n a --1.8048 n b --1.3196 n c --1.1088 n d --0.9005 n e --2.3485 n eight --2.3485 n f --2.0686 n five --2.1077 n four --1.3196 n g --2.1077 n h --1.1813 n i --2.1077 n j --2.0686 n k --2.1077 n l --2.0686 n m --1.2685 n n --1.8048 n o --1.4446 n one --1.3196 n p --1.8048 n r --1.3776 n s --2.3485 n seventy --2.1077 n six --1.1813 n t --2.1077 n thirty --2.0686 n three --2.1077 n two --1.5237 n u --2.1077 n x --2.0686 n y --2.0686 n z --1.9303 nine a --2.1711 nine and --2.1711 nine august --1.8912 nine b --1.8912 nine eight --2.1711 nine eighty --2.1711 nine eleven --1.6274 nine enter --1.6274 nine erase --2.1711 nine f --1.9303 nine fifty --1.1422 nine five --2.1711 nine forty --1.6274 nine four --2.1711 nine g --2.1711 nine go --2.1711 nine help --2.1711 nine hundred --2.1711 nine j --2.1711 nine july --2.1711 nine june --1.9303 nine m --1.9303 nine n --1.6274 nine nine --2.1711 nine nineteen --1.8912 nine no --2.1711 nine o --2.1711 nine of --2.1711 nine oh --1.3464 nine one --2.1711 nine p --2.1711 nine r --1.8912 nine rubout --1.8912 nine s --2.1711 nine september --1.8912 nine seven --2.1711 nine seventy --1.0453 nine six --2.1711 nine sixty --1.9303 nine thirty --1.3464 nine three --1.9303 nine twenty --1.2002 nine two --1.9303 nine v --2.1711 nine w --2.1711 nine x --1.8912 nine yes --2.1711 nine zero --1.3621 nineteen fifty --1.3621 nineteen forty --1.3230 nineteen seventy --0.1347 nineteen sixty --1.6029 nineteen twenty --0.8850 ninety eight --0.8850 ninety five --0.8850 ninety four --1.1258 ninety one --1.1258 ninety seven --0.8850 ninety six --0.4268 ninth of --0.4268 ninth sixty --1.3299 no c --1.3299 no enter --1.0500 no erase --1.3299 no f --1.3299 no h --1.3299 no help --1.3299 no o --1.3299 no p --1.0500 no rubout --1.3299 no s --1.3299 no start --1.3299 no t --1.3536 o a --2.3244 o apostrophe --1.4997 o b --2.3244 o c --1.2444 o d --2.3244 o e --2.3244 o eight --1.7807 o f --2.3244 o five --2.3244 o forty --2.3244 o four --2.3244 o g --1.7807 o h --2.3244 o j --2.0837 o k --1.2444 o l --1.3536 o m --0.7515 o n --2.3244 o ninety --1.0847 o o --2.0446 o p --2.3244 o q --0.9199 o r --1.4997 o s --2.3244 o six --2.3244 o sixty --1.4205 o t --2.3244 o two --1.1987 o u --1.2444 o w --2.3244 o x --2.0837 o y --2.3244 o z --0.6029 october first --0.6029 october thirtieth --0.6029 october twenty --0.4268 of september --0.4268 of sixty --0.7975 oh eight --1.7239 oh enter --1.0607 oh five --1.6848 oh four --1.9646 oh j --1.6848 oh nine --1.7239 oh oh --1.1399 oh one --0.8846 oh seven --0.7597 oh six --1.1399 oh three --1.9646 oh twelve --0.8846 oh two --2.3275 one a --2.5683 one august --2.3275 one b --2.5683 one c --2.3275 one e --1.4882 one eight --2.5683 one eleven --1.6643 one enter --2.5683 one f --2.5683 one february --2.5683 one fifteen --2.0246 one fifty --0.5732 one five --2.5683 one forty --1.4011 one four --2.2884 one go --2.5683 one h --2.3275 one help --2.3275 one hundred --2.3275 one i --2.5683 one j --2.5683 one july --2.5683 one l --2.5683 one m --2.5683 one n --1.3633 one nine --2.5683 one ninety --1.2964 one oh --1.5974 one one --2.5683 one p --2.5683 one r --2.5683 one repeat --2.0246 one rubout --2.5683 one s --1.1001 one seven --2.3275 one seventy --1.5974 one six --2.5683 one sixteen --2.0246 one sixty --2.3275 one start --2.3275 one stop --2.5683 one t --2.3275 one ten --2.3275 one thirty --2.3275 one thousand --1.2964 one three --2.3275 one twenty --0.9654 one two --2.5683 one u --2.5683 one w --2.5683 one y --2.5683 one yes --2.5683 one z --1.7435 one zero --1.5821 p a --2.1258 p b --2.1258 p c --1.8850 p d --1.8850 p e --2.1258 p eight --2.1258 p f --2.1258 p forty --2.1258 p four --1.8459 p g --1.2218 p h --0.3279 p i --1.3010 p l --1.8850 p n --2.1258 p ninety --1.2218 p o --1.8459 p r --1.5821 p s --2.1258 p seventeen --1.8459 p t --2.1258 p three --1.8459 p u --2.1258 p y --1.6029 q c --1.3230 q d --1.3621 q e --1.6029 q f --1.3621 q fifty --1.6029 q five --1.6029 q g --1.6029 q i --1.3621 q k --1.3230 q n --1.6029 q one --1.6029 q p --1.3230 q q --1.6029 q six --1.3621 q t --1.6029 q two --1.6029 q u --1.6029 q w --1.6029 q y --1.6029 q z --1.2344 r a --1.5702 r b --2.1942 r c --1.3941 r d --0.9504 r e --2.2333 r f --0.6323 r g --2.4741 r h --1.0696 r i --1.3069 r k --1.3941 r l --2.2333 r m --1.5702 r n --1.0261 r o --2.2333 r one --2.4741 r p --2.4741 r q --1.3941 r r --1.9304 r s --2.4741 r seven --2.4741 r sixty --1.5032 r t --2.2333 r thirty --2.2333 r u --2.2333 r v --2.2333 r w --1.4452 r y --2.2333 r z --1.3562 repeat b --1.3562 repeat enter --1.3562 repeat erase --1.3562 repeat f --1.3562 repeat g --1.3562 repeat l --1.3562 repeat m --1.0764 repeat no --1.3562 repeat o --1.3562 repeat r --1.1155 repeat rubout --1.1155 repeat stop --1.3562 repeat w --1.8966 rubout a --1.6168 rubout c --1.8966 rubout d --1.6559 rubout e --1.3529 rubout f --1.6559 rubout g --1.6168 rubout h --1.6559 rubout i --1.6168 rubout j --1.8966 rubout l --1.6168 rubout m --1.0719 rubout n --1.3529 rubout o --1.6559 rubout p --1.6559 rubout q --1.6168 rubout r --1.8966 rubout s --1.6168 rubout t --1.0719 rubout u --1.6559 rubout v --1.6559 rubout w --1.8966 rubout x --1.8966 rubout y --1.6168 rubout z --2.0249 s a --0.5069 s b --2.3048 s c --1.2759 s e --2.0640 s f --2.3048 s fifty --1.4800 s h --2.3048 s i --2.0249 s j --1.4008 s k --2.0640 s l --1.4800 s m --2.3048 s n --1.0998 s o --1.4800 s one --1.2247 s p --1.4800 s s --2.0640 s seven --0.9237 s t --2.3048 s thirty --2.0249 s u --2.0249 s v --1.7611 s w --2.3048 s x --2.0640 s z --2.3048 s zero --0.1860 second nineteen --0.8248 september fifteenth --0.8248 september first --0.8248 september nineteen --0.8248 september sixth --0.8248 september twenty --2.2811 seven area --2.2811 seven b --1.1553 seven eight --2.0404 seven enter --2.0404 seven erase --2.2811 seven fifteen --2.2811 seven fifty --1.2522 seven five --2.0013 seven forty --0.9512 seven four --2.0404 seven fourteen --2.0404 seven h --2.2811 seven help --2.2811 seven hundred --2.2811 seven j --2.2811 seven l --2.0404 seven m --2.2811 seven may --1.3772 seven nine --2.2811 seven october --1.3772 seven oh --1.3772 seven one --2.0013 seven p --2.2811 seven r --1.1553 seven rubout --2.0404 seven s --1.7374 seven seven --2.2811 seven seventeen --2.2811 seven seventy --1.3102 seven six --2.0013 seven sixty --2.2811 seven start --1.4564 seven stop --2.0013 seven ten --2.0404 seven thirty --2.2811 seven thousand --1.7374 seven three --2.0013 seven twenty --1.3772 seven two --2.0404 seven v --2.2811 seven y --1.7374 seven yes --2.2811 seven z --2.0013 seven zero --0.8248 seventeen enter --0.5840 seventeen fifty --0.8248 seventeen rubout --0.8248 seventeen thirty --0.1258 seventh nineteen --1.5408 seventy eight --1.5408 seventy five --1.5408 seventy g --1.5408 seventy h --1.2609 seventy nine --0.5119 seventy one --1.5408 seventy p --1.5408 seventy rubout --1.2609 seventy seven --1.5408 seventy six --0.9971 seventy two --1.5408 seventy yes --2.3406 six a --2.3406 six b --2.0999 six c --2.3406 six e --0.8169 six eight --2.3406 six eighty --1.2606 six enter --1.5159 six erase --2.3406 six f --1.4367 six five --2.3406 six forty --1.1357 six four --2.0608 six h --2.3406 six hundred --2.3406 six july --2.3406 six k --2.0999 six l --1.4367 six nine --2.0999 six no --1.4367 six oh --1.2606 six one --2.0999 six p --2.3406 six r --2.3406 six rubout --2.3406 six s --2.3406 six september --1.3118 six seven --2.3406 six seventeen --1.1357 six six --2.3406 six sixteen --2.0999 six sixty --2.0999 six start --2.3406 six stop --2.0999 six t --2.3406 six ten --2.0999 six thirty --2.3406 six thousand --1.1735 six three --2.0999 six twelve --2.3406 six twenty --1.2148 six two --2.0999 six v --2.0999 six yes --2.3406 six zero --0.6029 sixteen forty --0.3621 sixteen sixty --0.1258 sixteenth nineteen --0.1258 sixth nineteen --1.1584 sixty eight --1.7423 sixty enter --1.9831 sixty fifty --1.1584 sixty five --1.0792 sixty four --1.7423 sixty help --0.7112 sixty nine --0.9542 sixty one --1.9831 sixty s --0.8159 sixty seven --1.7032 sixty six --1.9831 sixty start --1.0122 sixty three --1.1584 sixty two --1.9831 sixty w --0.9264 start enter --0.9264 start h --1.1672 start i --1.1672 start no --0.9264 start repeat --0.9264 start rubout --1.1672 start y --1.3299 stop d --0.4260 stop enter --1.3299 stop erase --1.3299 stop go --1.3299 stop j --1.0891 stop m --1.3299 stop repeat --1.0891 stop rubout --1.3299 stop yes --2.1989 t a --2.1989 t b --2.1598 t d --0.9714 t e --2.4397 t eighty --2.1989 t f --2.4397 t fifty --2.4397 t forty --2.4397 t four --1.8960 t g --1.0834 t h --1.6149 t i --2.4397 t j --2.1989 t k --2.1598 t l --2.1598 t m --2.1989 t n --1.5357 t o --2.1989 t one --1.4108 t p --2.1989 t q --1.5357 t r --0.6511 t s --2.4397 t seventy --2.4397 t sixty --0.5657 t t --2.4397 t v --2.4397 t w --1.8960 t z --1.2719 ten enter --1.2719 ten f --1.2719 ten h --1.2719 ten m --1.2719 ten o --1.2719 ten one --1.2719 ten rubout --1.2719 ten s --1.2719 ten seventy --1.2719 ten sixty --1.2719 ten ten --1.2719 ten thirty --1.2719 ten twelve --1.2719 ten twenty --0.3230 third nineteen --0.3230 thirtieth nineteen --1.6699 thirty b --1.4291 thirty e --1.3900 thirty eight --1.6699 thirty enter --0.7659 thirty five --1.6699 thirty g --1.4291 thirty nine --0.6410 thirty one --1.4291 thirty seven --1.4291 thirty six --1.6699 thirty sixty --1.4291 thirty three --1.1262 thirty two --0.8393 thousand eight --1.0800 thousand five --1.0800 thousand m --1.0800 thousand nine --1.0800 thousand one --1.0800 thousand p --1.0800 thousand seven --1.0800 thousand three --2.0089 three a --2.2496 three b --2.0089 three d --2.2496 three december --2.2496 three e --1.3457 three eight --2.2496 three eighty --2.2496 three eleven --1.9698 three enter --1.4249 three erase --1.2788 three five --2.0089 three forty --1.0825 three four --2.2496 three fourteen --2.2496 three g --2.2496 three hundred --2.2496 three k --2.0089 three l --2.2496 three march --2.2496 three may --1.7059 three nine --2.0089 three no --1.4249 three oh --1.3457 three one --2.2496 three p --1.7059 three rubout --2.2496 three september --1.3457 three seven --2.2496 three seventeen --2.0089 three seventy --1.1696 three six --1.7059 three sixty --2.2496 three thirty --1.1696 three three --2.2496 three twelve --1.9698 three twenty --0.9197 three two --2.0089 three v --2.2496 three yes --1.7059 three zero --0.1860 twelfth nineteen --1.0800 twelve enter --1.0800 twelve fifty --1.0800 twelve four --1.0800 twelve nine --1.0800 twelve nineteen --1.0800 twelve sixty --1.0800 twelve ten --0.8393 twelve twenty --0.1258 twentieth nineteen --0.8921 twenty eight --1.7169 twenty enter --1.7169 twenty fifth --1.7169 twenty first --1.7169 twenty five --1.4370 twenty four --1.7169 twenty fourth --1.1731 twenty nine --1.4761 twenty one --1.4761 twenty second --1.4761 twenty seven --1.7169 twenty seventh --0.8921 twenty six --1.7169 twenty t --1.4761 twenty third --0.8921 twenty three --1.4761 twenty two --2.3066 two a --2.3066 two b --2.5474 two c --2.5474 two d --2.5474 two e --1.3077 two eight --2.5474 two eighteen --2.5474 two eighty --1.5185 two enter --2.3066 two erase --2.5474 two fifteen --2.5474 two fifty --1.2755 two five --1.1206 two four --2.5474 two fourteen --2.5474 two g --2.5474 two go --2.5474 two help --2.5474 two hundred --2.2675 two m --2.5474 two march --2.5474 two n --1.5185 two nine --2.5474 two no --2.5474 two o --2.5474 two october --1.3424 two oh --0.7226 two one --2.5474 two p --2.3066 two repeat --1.6435 two rubout --1.3424 two seven --1.0066 two six --2.5474 two sixty --2.2675 two start --2.3066 two stop --2.3066 two ten --2.2675 two thirty --2.5474 two thousand --1.3077 two three --2.5474 two twelve --2.3066 two twenty --0.9302 two two --2.5474 two v --1.6435 two zero --1.9144 u a --2.1552 u b --2.1552 u c --2.1552 u d --1.3304 u e --2.1552 u eighty --1.9144 u f --1.9144 u five --1.8753 u four --1.8753 u g --2.1552 u i --1.9144 u j --2.1552 u k --1.8753 u l --1.8753 u m --1.8753 u n --2.1552 u o --2.1552 u one --2.1552 u p --2.1552 u q --0.2970 u r --1.2512 u s --2.1552 u seven --1.6115 u t --2.1552 u three --2.1552 u two --2.1552 u x --2.1552 u y --0.8519 v a --1.9320 v c --0.4445 v e --1.9320 v f --1.9320 v fifty --0.9611 v i --1.6912 v k --1.9320 v l --1.6912 v m --1.9320 v n --1.9320 v nine --1.9320 v o --1.9320 v p --1.6912 v q --1.9320 v r --1.9320 v s --1.6912 v seven --1.9320 v thirty --1.9320 v w --1.9320 v x --1.6521 v y --1.9320 v z --0.9031 w a --1.7423 w b --1.9831 w c --1.7423 w d --1.4394 w e --1.7423 w eight --1.7423 w f --1.9831 w five --1.9831 w fourteen --1.9831 w g --1.7423 w h --1.0122 w i --1.7032 w l --1.0122 w n --0.9031 w o --1.7423 w one --1.9831 w p --1.9831 w q --1.9831 w r --1.9831 w t --1.9831 w three --1.9831 w twenty --1.7423 w two --1.7423 w w --1.9831 w x --1.7032 w y --1.7032 w z --1.6309 x b --1.3902 x c --1.6309 x e --1.6309 x eight --1.6309 x f --1.6309 x five --1.6309 x four --1.6309 x g --1.6309 x h --1.6309 x i --1.6309 x k --1.6309 x l --1.6309 x n --1.6309 x nine --1.6309 x p --1.6309 x r --1.3902 x s --1.6309 x seventy --1.6309 x three --1.3902 x two --1.6309 x v --1.6309 x w --1.3902 x x --1.3902 x y --1.6309 x z --1.3902 x zero --1.9320 y a --1.6912 y b --1.9320 y c --1.3883 y d --1.9320 y e --1.6912 y eight --1.6912 y f --1.6912 y fifty --1.9320 y five --1.6521 y four --1.6912 y g --1.6521 y h --1.6912 y j --1.1072 y l --1.6912 y m --1.6912 y n --1.9320 y o --1.6912 y oh --1.1072 y one --1.6912 y p --1.9320 y q --1.9320 y r --1.6912 y s --1.9320 y seven --1.9320 y t --1.9320 y ten --1.6912 y three --1.9320 y two --1.6912 y u --1.6912 y v --1.6912 y w --1.9320 y y --1.6912 y z --1.2072 yes enter --1.1681 yes erase --1.4480 yes f --1.4480 yes g --1.2072 yes go --1.2072 yes h --1.4480 yes j --1.4480 yes n --1.1681 yes rubout --1.2072 yes s --1.4480 yes u --1.4480 yes x --1.4480 yes yes --1.2353 z a --1.7790 z b --1.7790 z c --1.7790 z d --1.4991 z e --1.7790 z eight --1.7790 z f --1.7790 z g --1.7790 z h --1.4991 z i --1.7790 z j --1.7790 z k --1.5382 z l --1.4991 z nine --1.7790 z ninety --1.4991 z o --1.7790 z p --1.5382 z r --1.7790 z seven --1.7790 z six --1.5382 z sixty --1.7790 z t --1.7790 z twenty --1.7790 z two --1.7790 z u --1.7790 z w --1.5382 z x --1.5382 z y --1.7790 z z --1.6821 zero a --1.4413 zero c --1.4413 zero e --1.6821 zero eight --1.4022 zero enter --1.6821 zero five --1.4413 zero four --1.6821 zero m --1.6821 zero nine --1.1384 zero one --1.6821 zero p --1.6821 zero r --1.6821 zero rubout --1.6821 zero s --1.4413 zero seven --0.7782 zero six --1.6821 zero t --1.6821 zero twelve --1.4413 zero two --1.6821 zero yes --1.6821 zero zero - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.fst deleted file mode 100755 index 93524305..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.fst +++ /dev/null @@ -1,307 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 4.6351 -T 0 1 4.61484 -T 0 4 a a 4.61484 -T 0 5 and and 4.61484 -T 0 6 apostrophe apostrophe 4.61484 -T 0 7 april april 4.61484 -T 0 8 area area 4.61484 -T 0 9 august august 4.61484 -T 0 10 b b 4.61484 -T 0 11 c c 4.61484 -T 0 12 code code 4.61484 -T 0 13 d d 4.61484 -T 0 14 december december 4.61484 -T 0 15 e e 4.61484 -T 0 16 eight eight 4.61484 -T 0 17 eighteen eighteen 4.61484 -T 0 18 eighteenth eighteenth 4.61484 -T 0 19 eighth eighth 4.61484 -T 0 20 eighty eighty 4.61484 -T 0 21 eleven eleven 4.61484 -T 0 22 eleventh eleventh 4.61484 -T 0 23 enter enter 4.61484 -T 0 24 erase erase 4.61484 -T 0 25 f f 4.61484 -T 0 26 february february 4.61484 -T 0 27 fifteen fifteen 4.61484 -T 0 28 fifteenth fifteenth 4.61484 -T 0 29 fifth fifth 4.61484 -T 0 30 fifty fifty 4.61484 -T 0 31 first first 4.61484 -T 0 32 five five 4.61484 -T 0 33 forty forty 4.61484 -T 0 34 four four 4.61484 -T 0 35 fourteen fourteen 4.61484 -T 0 36 fourth fourth 4.61484 -T 0 37 g g 4.61484 -T 0 38 go go 4.61484 -T 0 39 h h 4.61484 -T 0 40 half half 4.61484 -T 0 41 help help 4.61484 -T 0 42 hundred hundred 4.61484 -T 0 43 i i 4.61484 -T 0 44 j j 4.61484 -T 0 45 january january 4.61484 -T 0 46 july july 4.61484 -T 0 47 june june 4.61484 -T 0 48 k k 4.61484 -T 0 49 l l 4.61484 -T 0 50 m m 4.61484 -T 0 51 march march 4.61484 -T 0 52 may may 4.61484 -T 0 53 n n 4.61484 -T 0 54 nine nine 4.61484 -T 0 55 nineteen nineteen 4.61484 -T 0 56 ninety ninety 4.61484 -T 0 57 ninth ninth 4.61484 -T 0 58 no no 4.61484 -T 0 59 o o 4.61484 -T 0 60 october october 4.61484 -T 0 61 of of 4.61484 -T 0 62 oh oh 4.61484 -T 0 63 one one 4.61484 -T 0 64 p p 4.61484 -T 0 65 q q 4.61484 -T 0 66 r r 4.61484 -T 0 67 repeat repeat 4.61484 -T 0 68 rubout rubout 4.61484 -T 0 69 s s 4.61484 -T 0 70 second second 4.61484 -T 0 71 september september 4.61484 -T 0 72 seven seven 4.61484 -T 0 73 seventeen seventeen 4.61484 -T 0 74 seventh seventh 4.61484 -T 0 75 seventy seventy 4.61484 -T 0 76 six six 4.61484 -T 0 77 sixteen sixteen 4.61484 -T 0 78 sixteenth sixteenth 4.61484 -T 0 79 sixth sixth 4.61484 -T 0 80 sixty sixty 4.61484 -T 0 81 start start 4.61484 -T 0 82 stop stop 4.61484 -T 0 83 t t 4.61484 -T 0 84 ten ten 4.61484 -T 0 85 third third 4.61484 -T 0 86 thirtieth thirtieth 4.61484 -T 0 87 thirty thirty 4.61484 -T 0 88 thousand thousand 4.61484 -T 0 89 three three 4.61484 -T 0 90 twelfth twelfth 4.61484 -T 0 91 twelve twelve 4.61484 -T 0 92 twentieth twentieth 4.61484 -T 0 93 twenty twenty 4.61484 -T 0 94 two two 4.61484 -T 0 95 u u 4.61484 -T 0 96 v v 4.61484 -T 0 97 w w 4.61484 -T 0 98 x x 4.61484 -T 0 99 y y 4.61484 -T 0 100 yes yes 4.61484 -T 0 101 z z 4.61484 -T 0 102 zero zero 4.61484 -F 1 4.6351 -T 1 0 -F 2 4.6351 -T 2 0 -F 3 4.6351 -T 3 0 -F 4 4.6351 -T 4 0 -F 5 4.6351 -T 5 0 -F 6 4.6351 -T 6 0 -F 7 4.6351 -T 7 0 -F 8 4.6351 -T 8 0 -F 9 4.6351 -T 9 0 -F 10 4.6351 -T 10 0 -F 11 4.6351 -T 11 0 -F 12 4.6351 -T 12 0 -F 13 4.6351 -T 13 0 -F 14 4.6351 -T 14 0 -F 15 4.6351 -T 15 0 -F 16 4.6351 -T 16 0 -F 17 4.6351 -T 17 0 -F 18 4.6351 -T 18 0 -F 19 4.6351 -T 19 0 -F 20 4.6351 -T 20 0 -F 21 4.6351 -T 21 0 -F 22 4.6351 -T 22 0 -F 23 4.6351 -T 23 0 -F 24 4.6351 -T 24 0 -F 25 4.6351 -T 25 0 -F 26 4.6351 -T 26 0 -F 27 4.6351 -T 27 0 -F 28 4.6351 -T 28 0 -F 29 4.6351 -T 29 0 -F 30 4.6351 -T 30 0 -F 31 4.6351 -T 31 0 -F 32 4.6351 -T 32 0 -F 33 4.6351 -T 33 0 -F 34 4.6351 -T 34 0 -F 35 4.6351 -T 35 0 -F 36 4.6351 -T 36 0 -F 37 4.6351 -T 37 0 -F 38 4.6351 -T 38 0 -F 39 4.6351 -T 39 0 -F 40 4.6351 -T 40 0 -F 41 4.6351 -T 41 0 -F 42 4.6351 -T 42 0 -F 43 4.6351 -T 43 0 -F 44 4.6351 -T 44 0 -F 45 4.6351 -T 45 0 -F 46 4.6351 -T 46 0 -F 47 4.6351 -T 47 0 -F 48 4.6351 -T 48 0 -F 49 4.6351 -T 49 0 -F 50 4.6351 -T 50 0 -F 51 4.6351 -T 51 0 -F 52 4.6351 -T 52 0 -F 53 4.6351 -T 53 0 -F 54 4.6351 -T 54 0 -F 55 4.6351 -T 55 0 -F 56 4.6351 -T 56 0 -F 57 4.6351 -T 57 0 -F 58 4.6351 -T 58 0 -F 59 4.6351 -T 59 0 -F 60 4.6351 -T 60 0 -F 61 4.6351 -T 61 0 -F 62 4.6351 -T 62 0 -F 63 4.6351 -T 63 0 -F 64 4.6351 -T 64 0 -F 65 4.6351 -T 65 0 -F 66 4.6351 -T 66 0 -F 67 4.6351 -T 67 0 -F 68 4.6351 -T 68 0 -F 69 4.6351 -T 69 0 -F 70 4.6351 -T 70 0 -F 71 4.6351 -T 71 0 -F 72 4.6351 -T 72 0 -F 73 4.6351 -T 73 0 -F 74 4.6351 -T 74 0 -F 75 4.6351 -T 75 0 -F 76 4.6351 -T 76 0 -F 77 4.6351 -T 77 0 -F 78 4.6351 -T 78 0 -F 79 4.6351 -T 79 0 -F 80 4.6351 -T 80 0 -F 81 4.6351 -T 81 0 -F 82 4.6351 -T 82 0 -F 83 4.6351 -T 83 0 -F 84 4.6351 -T 84 0 -F 85 4.6351 -T 85 0 -F 86 4.6351 -T 86 0 -F 87 4.6351 -T 87 0 -F 88 4.6351 -T 88 0 -F 89 4.6351 -T 89 0 -F 90 4.6351 -T 90 0 -F 91 4.6351 -T 91 0 -F 92 4.6351 -T 92 0 -F 93 4.6351 -T 93 0 -F 94 4.6351 -T 94 0 -F 95 4.6351 -T 95 0 -F 96 4.6351 -T 96 0 -F 97 4.6351 -T 97 0 -F 98 4.6351 -T 98 0 -F 99 4.6351 -T 99 0 -F 100 4.6351 -T 100 0 -F 101 4.6351 -T 101 0 -F 102 4.6351 -T 102 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.lm deleted file mode 100755 index 3f70d45e..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.flat_unigram.lm +++ /dev/null @@ -1,144 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 101 words, - which begins "", "a", "and"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 100 -1-gram discounting ratios : 0.98 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=102 - -\1-grams: --2.0042 0.0000 --99.0000 0.0000 --2.0042 a 0.0000 --2.0042 and 0.0000 --2.0042 apostrophe 0.0000 --2.0042 april 0.0000 --2.0042 area 0.0000 --2.0042 august 0.0000 --2.0042 b 0.0000 --2.0042 c 0.0000 --2.0042 code 0.0000 --2.0042 d 0.0000 --2.0042 december 0.0000 --2.0042 e 0.0000 --2.0042 eight 0.0000 --2.0042 eighteen 0.0000 --2.0042 eighteenth 0.0000 --2.0042 eighth 0.0000 --2.0042 eighty 0.0000 --2.0042 eleven 0.0000 --2.0042 eleventh 0.0000 --2.0042 enter 0.0000 --2.0042 erase 0.0000 --2.0042 f 0.0000 --2.0042 february 0.0000 --2.0042 fifteen 0.0000 --2.0042 fifteenth 0.0000 --2.0042 fifth 0.0000 --2.0042 fifty 0.0000 --2.0042 first 0.0000 --2.0042 five 0.0000 --2.0042 forty 0.0000 --2.0042 four 0.0000 --2.0042 fourteen 0.0000 --2.0042 fourth 0.0000 --2.0042 g 0.0000 --2.0042 go 0.0000 --2.0042 h 0.0000 --2.0042 half 0.0000 --2.0042 help 0.0000 --2.0042 hundred 0.0000 --2.0042 i 0.0000 --2.0042 j 0.0000 --2.0042 january 0.0000 --2.0042 july 0.0000 --2.0042 june 0.0000 --2.0042 k 0.0000 --2.0042 l 0.0000 --2.0042 m 0.0000 --2.0042 march 0.0000 --2.0042 may 0.0000 --2.0042 n 0.0000 --2.0042 nine 0.0000 --2.0042 nineteen 0.0000 --2.0042 ninety 0.0000 --2.0042 ninth 0.0000 --2.0042 no 0.0000 --2.0042 o 0.0000 --2.0042 october 0.0000 --2.0042 of 0.0000 --2.0042 oh 0.0000 --2.0042 one 0.0000 --2.0042 p 0.0000 --2.0042 q 0.0000 --2.0042 r 0.0000 --2.0042 repeat 0.0000 --2.0042 rubout 0.0000 --2.0042 s 0.0000 --2.0042 second 0.0000 --2.0042 september 0.0000 --2.0042 seven 0.0000 --2.0042 seventeen 0.0000 --2.0042 seventh 0.0000 --2.0042 seventy 0.0000 --2.0042 six 0.0000 --2.0042 sixteen 0.0000 --2.0042 sixteenth 0.0000 --2.0042 sixth 0.0000 --2.0042 sixty 0.0000 --2.0042 start 0.0000 --2.0042 stop 0.0000 --2.0042 t 0.0000 --2.0042 ten 0.0000 --2.0042 third 0.0000 --2.0042 thirtieth 0.0000 --2.0042 thirty 0.0000 --2.0042 thousand 0.0000 --2.0042 three 0.0000 --2.0042 twelfth 0.0000 --2.0042 twelve 0.0000 --2.0042 twentieth 0.0000 --2.0042 twenty 0.0000 --2.0042 two 0.0000 --2.0042 u 0.0000 --2.0042 v 0.0000 --2.0042 w 0.0000 --2.0042 x 0.0000 --2.0042 y 0.0000 --2.0042 yes 0.0000 --2.0042 z 0.0000 --2.0042 zero 0.0000 --2.0130 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.fst deleted file mode 100755 index bdd5b789..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.fst +++ /dev/null @@ -1,7633 +0,0 @@ -#FSTBasic MinPlus -I 3 -F 0 9.15347 -T 0 1 9.15347 -T 0 5 a a 3.24895 -T 0 39 and and 6.56951 -T 0 45 apostrophe apostrophe 9.15347 -T 0 47 april april 9.15347 -T 0 49 area area 9.15347 -T 0 51 august august 7.32084 -T 0 54 b b 3.81838 -T 0 83 c c 4.28212 -T 0 110 code code 9.15347 -T 0 112 d d 3.98301 -T 0 144 december december 9.15347 -T 0 146 e e 3.0781 -T 0 183 eight eight 3.56624 -T 0 227 eighteen eighteen 9.15347 -T 0 229 eighteenth eighteenth 9.15347 -T 0 231 eighth eighth 9.15347 -T 0 233 eighty eighty 5.91488 -T 0 243 eleven eleven 7.32084 -T 0 248 eleventh eleventh 9.15347 -T 0 250 enter enter 4.16814 -T 0 271 erase erase 5.11059 -T 0 293 f f 4.42603 -T 0 321 february february 8.14194 -T 0 324 fifteen fifteen 7.074 -T 0 330 fifteenth fifteenth 8.14194 -T 0 332 fifth fifth 8.14194 -T 0 335 fifty fifty 5.0224 -T 0 348 first first 7.64942 -T 0 350 five five 3.28786 -T 0 392 forty forty 5.31414 -T 0 402 four four 3.4845 -T 0 446 fourteen fourteen 6.4454 -T 0 453 fourth fourth 9.15347 -T 0 455 g g 3.85269 -T 0 483 go go 6.3351 -T 0 492 h h 3.60631 -T 0 524 half half 8.14194 -T 0 527 help help 6.14537 -T 0 537 hundred hundred 6.14537 -T 0 544 i i 3.49049 -T 0 571 j j 4.73158 -T 0 597 january january 8.14194 -T 0 600 july july 7.64942 -T 0 604 june june 8.14194 -T 0 607 k k 4.35166 -T 0 641 l l 3.66249 -T 0 676 m m 4.11011 -T 0 706 march march 7.64942 -T 0 710 may may 7.64942 -T 0 714 n n 3.47852 -T 0 747 nine nine 3.88814 -T 0 796 nineteen nineteen 5.20707 -T 0 802 ninety ninety 6.3351 -T 0 809 ninth ninth 8.14194 -T 0 812 no no 5.84857 -T 0 825 o o 3.53401 -T 0 859 october october 7.64942 -T 0 863 of of 8.14194 -T 0 866 oh oh 4.36593 -T 0 880 one one 2.97149 -T 0 935 p p 3.99314 -T 0 959 q q 5.20707 -T 0 980 r r 3.18862 -T 0 1009 repeat repeat 5.78617 -T 0 1023 rubout rubout 4.52366 -T 0 1048 s s 3.57937 -T 0 1075 second second 8.14194 -T 0 1077 september september 7.074 -T 0 1083 seven seven 3.63417 -T 0 1128 seventeen seventeen 7.074 -T 0 1133 seventh seventh 9.15347 -T 0 1135 seventy seventy 5.35236 -T 0 1148 six six 3.49671 -T 0 1193 sixteen sixteen 7.64942 -T 0 1196 sixteenth sixteenth 9.15347 -T 0 1198 sixth sixth 9.15347 -T 0 1200 sixty sixty 4.32333 -T 0 1216 start start 6.23586 -T 0 1224 stop stop 5.84857 -T 0 1234 t t 3.26806 -T 0 1264 ten ten 5.98603 -T 0 1279 third third 7.64942 -T 0 1281 thirtieth thirtieth 7.64942 -T 0 1283 thirty thirty 5.05095 -T 0 1297 thousand thousand 6.4454 -T 0 1306 three three 3.7067 -T 0 1347 twelfth twelfth 8.14194 -T 0 1349 twelve twelve 6.4454 -T 0 1358 twentieth twentieth 9.15347 -T 0 1360 twenty twenty 4.94135 -T 0 1378 two two 3.01961 -T 0 1424 u u 3.92499 -T 0 1453 v v 4.44169 -T 0 1476 w w 4.32333 -T 0 1504 x x 5.14167 -T 0 1531 y y 4.44169 -T 0 1565 yes yes 5.56995 -T 0 1579 z z 4.79675 -T 0 1609 zero zero 5.0224 -F 1 9.7503 -T 1 0 , , 0.59683 -T 1 2 yes yes 0.795083 -F 2 10.1709 -T 2 1565 , , 0.149783 -T 2 1570 go go 1.61641 -F 3 9.15347 -T 3 0 -F 4 9.15347 -T 4 0 -F 5 10.5692 -T 5 0 , , 1.41577 -T 5 6 a a 4.10827 -T 5 7 b b 4.45044 -T 5 8 c c 2.90909 -T 5 9 d d 3.10089 -T 5 10 e e 4.45044 -T 5 11 f f 4.45044 -T 5 12 fifty fifty 6.14215 -T 5 13 five five 4.70363 -T 5 14 g g 4.10827 -T 5 15 h h 4.10827 -T 5 16 half half 4.9745 -T 5 17 i i 4.45044 -T 5 18 j j 6.14215 -T 5 19 k k 4.45044 -T 5 20 l l 2.74791 -T 5 21 m m 2.82527 -T 5 22 n n 2.15038 -T 5 23 ninety ninety 6.14215 -T 5 24 one one 3.33875 -T 5 25 p p 4.10827 -T 5 26 r r 1.64704 -T 5 27 s s 3.10089 -T 5 28 six six 4.45044 -T 5 29 t t 3.10089 -T 5 30 three three 5.12247 -T 5 31 twenty twenty 6.14215 -T 5 32 two two 4.43538 -T 5 33 u u 4.9745 -T 5 34 v v 2.90909 -T 5 35 w w 4.45044 -T 5 36 x x 6.14215 -T 5 37 y y 3.85384 -T 5 38 z z 6.14215 -F 6 10.6599 -T 6 5 , , 0.0906579 -T 6 17 i i 3.0028 -T 6 23 ninety ninety 3.0028 -F 7 10.6548 -T 7 54 , , 0.131253 -T 7 63 h h 2.71521 -T 7 79 w w 2.71521 -F 8 10.2662 -T 8 83 , , 0.106232 -T 8 84 a a 2.30374 -T 8 88 e e 2.30374 -T 8 89 f f 4.10136 -T 8 98 o o 2.30374 -T 8 105 u u 4.10136 -F 9 10.2829 -T 9 112 , , 0.19516 -T 9 115 c c 3.919 -T 9 116 d d 2.12137 -T 9 118 f f 3.919 -T 9 122 h h 3.919 -T 9 134 r r 2.12137 -F 10 11.0466 -T 10 146 , , 0.529756 -T 10 161 l l 0.91758 -T 10 175 three three 2.71521 -F 11 9.94572 -T 11 293 , , 0.0635762 -T 11 306 k k 2.71521 -T 11 313 t t 2.71521 -F 12 10.5202 -T 12 335 , , 0.0894153 -T 12 341 one one 1.61641 -F 13 10.7667 -T 13 350 , , 0.18382 -T 13 382 six six 1.61641 -F 14 10.8707 -T 14 455 , , 0.404532 -T 14 466 k k 3.0028 -T 14 467 l l 1.20517 -T 14 479 two two 3.0028 -F 15 10.7809 -T 15 492 , , 0.406301 -T 15 497 fifty fifty 3.0028 -T 15 503 l l 3.0028 -T 15 506 o o 1.20517 -F 16 9.71408 -T 16 524 , , -2.44923e-10 -F 17 11.0016 -T 17 544 , , 0.143535 -T 17 551 fifteen fifteen 2.71521 -T 17 557 l l 2.71521 -T 17 562 q q 2.71521 -F 18 9.88622 -T 18 571 , , 0.168982 -T 18 590 seven seven 1.61641 -F 19 9.82355 -T 19 607 , , 0.184819 -T 19 610 d d 2.71521 -T 19 623 ninety ninety 2.71521 -T 19 624 o o 2.71521 -F 20 10.4016 -T 20 641 , , 0.0864051 -T 20 645 d d 2.45801 -T 20 646 e e 1.47642 -T 20 652 h h 4.25564 -T 20 657 m m 4.25564 -T 20 667 t t 4.25564 -T 20 674 z z 4.25564 -F 21 10.4861 -T 21 676 , , 0.339735 -T 21 681 e e 2.38387 -T 21 690 j j 4.18149 -T 21 695 p p 1.77714 -T 21 697 s s 2.38387 -T 21 698 seven seven 4.18149 -T 21 700 thirty thirty 4.18149 -T 21 701 two two 4.18149 -T 21 704 x x 4.18149 -T 21 705 y y 4.18149 -F 22 10.3671 -T 22 714 , , 0.221296 -T 22 718 d d 1.78404 -T 22 719 e e 2.05621 -T 22 733 one one 3.0378 -T 22 739 t t 2.43107 -T 22 740 thirty thirty 4.83543 -F 23 10.101 -T 23 802 , , 0.0645843 -T 23 805 four four 1.61641 -F 24 11.0395 -T 24 880 , , 0.53855 -T 24 893 five five 0.644724 -T 24 895 four four 3.69588 -T 24 925 thousand thousand 3.69588 -T 24 927 twenty twenty 3.69588 -F 25 10.5839 -T 25 935 , , 0.0740352 -T 25 936 a a 3.0028 -T 25 948 l l 3.0028 -T 25 954 seventeen seventeen 3.0028 -F 26 11.4793 -T 26 980 , , 0.539687 -T 26 984 d d 2.27887 -T 26 985 e e 2.5508 -T 26 990 k k 2.27887 -T 26 991 l l 2.27887 -T 26 992 m m 5.33002 -T 26 993 n n 2.92566 -T 26 998 r r 2.5508 -T 26 1002 t t 2.92566 -T 26 1007 y y 2.92566 -F 27 11.3677 -T 27 1048 , , 0.595592 -T 27 1060 m m 3.919 -T 27 1064 p p 2.12137 -T 27 1067 t t 0.867844 -F 28 10.3189 -T 28 1148 , , 0.11631 -T 28 1156 erase erase 2.71521 -T 28 1160 four four 2.71521 -T 28 1162 hundred hundred 2.71521 -F 29 11.3429 -T 29 1234 , , 0.503035 -T 29 1238 e e 2.12137 -T 29 1244 g g 3.919 -T 29 1245 h h 2.12137 -T 29 1260 t t 0.867844 -F 30 10.3221 -T 30 1306 , , 0.13957 -T 30 1319 four four 1.61641 -F 31 10.3497 -T 31 1360 , , 0.183474 -T 31 1377 two two 1.61641 -F 32 10.9478 -T 32 1378 , , 0.200542 -T 32 1409 rubout rubout 1.61641 -F 33 10.4854 -T 33 1424 , , 0.182235 -T 33 1438 l l 2.30972 -T 33 1450 two two 2.30972 -F 34 10.9362 -T 34 1453 , , 0.632848 -T 34 1456 e e 0.660612 -T 34 1459 i i 1.69701 -T 34 1460 k k 4.10136 -T 34 1462 m m 4.10136 -F 35 10.1003 -T 35 1476 , , 0.158672 -T 35 1483 f f 2.71521 -T 35 1492 one one 2.71521 -T 35 1496 t t 2.71521 -F 36 9.57425 -T 36 1504 , , 0.174983 -T 36 1527 x x 1.61641 -F 37 9.89541 -T 37 1531 , , 0.288841 -T 37 1533 b b 3.22592 -T 37 1536 e e 3.22592 -T 37 1545 l l 1.42829 -T 37 1547 n n 3.22592 -F 38 9.69372 -T 38 1579 , , 0.18862 -T 38 1606 x x 1.61641 -F 39 10.153 -T 39 0 , , 0.999526 -T 39 40 a a 1.70691 -T 39 41 eighty eighty 1.18284 -T 39 42 fifty fifty 2.87455 -T 39 43 sixty sixty 2.87455 -T 39 44 twenty twenty 2.87455 -F 40 11.4767 -T 40 5 , , 0.907454 -T 40 16 half half 0.512095 -F 41 10.2087 -T 41 233 , , 0.230952 -T 41 239 one one 2.71521 -T 41 241 six six 0.91758 -F 42 10.5514 -T 42 335 , , 0.120621 -T 42 347 two two 1.61641 -F 43 11.0545 -T 43 1200 , , 0.186765 -T 43 1211 six six 1.61641 -F 44 10.2664 -T 44 1360 , , 0.100222 -T 44 1376 three three 1.61641 -F 45 9.72659 -T 45 0 , , 0.573121 -T 45 46 h h 0.795083 -F 46 10.4222 -T 46 492 , , 0.0475877 -T 46 493 a a 1.61641 -F 47 9.75364 -T 47 0 , , 0.600172 -T 47 48 thirtieth thirtieth 0.795083 -F 48 10.847 -T 48 1281 , , 1.05209e-08 -F 49 9.75401 -T 49 0 , , 0.600542 -T 49 50 code code 0.795083 -F 50 9.72297 -T 50 110 , , -1.21669e-10 -F 51 10.4401 -T 51 0 , , 1.28658 -T 51 52 sixteenth sixteenth 2.18147 -T 51 53 twenty twenty 0.48953 -F 52 9.74862 -T 52 1196 , , -1.21669e-10 -F 53 10.7429 -T 53 1360 , , 0.576722 -T 53 1367 fourth fourth 2.71521 -T 53 1370 second second 0.91758 -F 54 10.5235 -T 54 0 , , 1.37006 -T 54 55 a a 2.91484 -T 54 56 b b 5.18843 -T 54 57 d d 5.35307 -T 54 58 e e 2.43245 -T 54 59 eight eight 4.9363 -T 54 60 five five 4.65792 -T 54 61 forty forty 4.40646 -T 54 62 g g 5.22274 -T 54 63 h h 4.97637 -T 54 64 i i 4.86055 -T 54 65 j j 4.40646 -T 54 66 k k 5.57433 -T 54 67 l l 5.03255 -T 54 68 m m 3.88239 -T 54 69 o o 3.28579 -T 54 70 one one 4.34154 -T 54 71 p p 5.3632 -T 54 72 r r 2.43245 -T 54 73 s s 3.88239 -T 54 74 seven seven 4.40646 -T 54 75 seventy seventy 4.40646 -T 54 76 six six 4.86676 -T 54 77 u u 0.838371 -T 54 78 v v 5.57433 -T 54 79 w w 5.57433 -T 54 80 x x 3.88239 -T 54 81 y y 5.57433 -T 54 82 z z 5.57433 -F 55 11.0469 -T 55 5 , , 0.477684 -T 55 17 i i 3.56233 -T 55 19 k k 3.56233 -T 55 26 r r 0.783109 -F 56 10.7241 -T 56 54 , , 0.20059 -T 56 73 s s 1.61641 -F 57 10.2845 -T 57 112 , , 0.196836 -T 57 125 k k 1.61641 -F 58 10.8553 -T 58 146 , , 0.338512 -T 58 147 a a 2.2167 -T 58 149 c c 4.01433 -T 58 156 g g 4.01433 -T 58 159 j j 4.01433 -T 58 169 r r 1.23511 -F 59 10.3738 -T 59 183 , , 0.171473 -T 59 191 enter enter 1.61641 -F 60 10.7971 -T 60 350 , , 0.214195 -T 60 379 repeat repeat 1.61641 -F 61 10.5197 -T 61 392 , , 0.0209557 -T 61 393 eight eight 2.30972 -T 61 396 nine nine 2.30972 -F 62 10.6112 -T 62 455 , , 0.145082 -T 62 467 l l 1.61641 -F 63 10.5815 -T 63 492 , , 0.206906 -T 63 517 two two 1.61641 -F 64 10.9402 -T 64 544 , , 0.0821253 -T 64 559 n n 1.61641 -F 65 9.89815 -T 65 571 , , 0.180912 -T 65 593 v v 2.30972 -T 65 595 x x 2.30972 -F 66 9.83918 -T 66 607 , , 0.200454 -T 66 640 z z 1.61641 -F 67 10.4348 -T 67 641 , , 0.119614 -T 67 642 a a 1.61641 -F 68 10.2317 -T 68 676 , , 0.0853414 -T 68 690 j j 2.71521 -T 68 693 n n 2.71521 -F 69 11.0739 -T 69 825 , , 0.534417 -T 69 848 r r 1.42829 -T 69 854 u u 1.42829 -T 69 856 x x 3.22592 -F 70 10.6914 -T 70 880 , , 0.190418 -T 70 886 eight eight 1.61641 -F 71 10.7256 -T 71 935 , , 0.215733 -T 71 937 b b 1.61641 -F 72 11.6877 -T 72 980 , , 0.748072 -T 72 981 a a 2.2167 -T 72 994 o o 0.749491 -T 72 1004 u u 4.01433 -F 73 11.2876 -T 73 1048 , , 0.515465 -T 73 1062 o o 0.91758 -T 73 1065 s s 2.71521 -F 74 10.2405 -T 74 1083 , , 0.134454 -T 74 1086 eight eight 2.30972 -T 74 1121 twenty twenty 2.30972 -F 75 10.9507 -T 75 1135 , , 0.815345 -T 75 1140 nine nine 0.512095 -F 76 10.3711 -T 76 1148 , , 0.168497 -T 76 1155 enter enter 1.61641 -F 77 13.0825 -T 77 1424 , , 2.77927 -T 77 1427 c c 5.56765 -T 77 1445 r r 0.0352296 -F 78 10.4185 -T 78 1453 , , 0.115147 -T 78 1459 i i 1.61641 -F 79 10.1406 -T 79 1476 , , 0.19896 -T 79 1499 two two 1.61641 -F 80 9.55078 -T 80 1504 , , 0.151508 -T 80 1518 nine nine 2.71521 -T 80 1520 r r 2.71521 -T 80 1523 three three 2.71521 -F 81 9.80504 -T 81 1531 , , 0.198468 -T 81 1561 v v 1.61641 -F 82 9.70496 -T 82 1579 , , 0.199861 -T 82 1599 six six 1.61641 -F 83 10.16 -T 83 0 , , 1.00654 -T 83 84 a a 2.45317 -T 83 85 b b 3.42072 -T 83 86 c c 5.11266 -T 83 87 d d 4.98956 -T 83 88 e e 2.45317 -T 83 89 f f 5.11266 -T 83 90 fifty fifty 5.11266 -T 83 91 five five 3.94479 -T 83 92 h h 1.64658 -T 83 93 i i 4.49703 -T 83 94 j j 5.11266 -T 83 95 k k 2.18308 -T 83 96 l l 3.42072 -T 83 97 m m 5.11266 -T 83 98 o o 2.62149 -T 83 99 r r 4.19516 -T 83 100 s s 4.58591 -T 83 101 seven seven 4.64071 -T 83 102 t t 4.2746 -T 83 103 thirty thirty 3.94479 -T 83 104 two two 4.02615 -T 83 105 u u 4.93153 -T 83 106 v v 5.11266 -T 83 107 w w 3.94479 -T 83 108 y y 3.94479 -T 83 109 z z 3.42072 -F 84 10.7237 -T 84 5 , , 0.154486 -T 84 13 five five 3.56233 -T 84 20 l l 1.7647 -T 84 26 r r 1.7647 -F 85 10.6146 -T 85 54 , , 0.0911219 -T 85 65 j j 2.71521 -T 85 69 o o 2.71521 -F 86 10.1673 -T 86 83 , , 0.00733692 -T 86 92 h h 1.61641 -F 87 10.2217 -T 87 112 , , 0.134022 -T 87 129 o o 1.61641 -F 88 10.7986 -T 88 146 , , 0.281765 -T 88 156 g g 3.56233 -T 88 163 n n 1.7647 -T 88 170 s s 1.7647 -F 89 10.0651 -T 89 293 , , 0.182964 -T 89 316 two two 1.61641 -F 90 10.488 -T 90 335 , , 0.0572091 -T 90 344 six six 1.61641 -F 91 10.7114 -T 91 350 , , 0.128554 -T 91 371 nine nine 2.30972 -T 91 387 three three 2.30972 -F 92 11.0244 -T 92 492 , , 0.64979 -T 92 493 a a 0.883732 -T 92 496 f f 4.32449 -T 92 510 r r 2.52686 -T 92 515 t t 2.52686 -T 92 522 y y 4.32449 -F 93 10.9402 -T 93 544 , , 0.0821253 -T 93 559 n n 1.61641 -F 94 9.90794 -T 94 571 , , 0.190699 -T 94 582 k k 1.61641 -F 95 9.92491 -T 95 607 , , 0.286185 -T 95 609 c c 3.81377 -T 95 619 k k 3.81377 -T 95 620 l l 3.81377 -T 95 626 p p 2.01614 -T 95 637 w w 2.01614 -T 95 639 y y 3.81377 -F 96 10.4087 -T 96 641 , , 0.0935441 -T 96 660 o o 2.71521 -T 96 671 two two 2.71521 -F 97 10.3398 -T 97 676 , , 0.193478 -T 97 702 u u 1.61641 -F 98 11.1169 -T 98 825 , , 0.577364 -T 98 841 l l 3.40829 -T 98 843 n n 0.629066 -F 99 11.1036 -T 99 980 , , 0.163953 -T 99 981 a a 1.61641 -F 100 10.9839 -T 100 1048 , , 0.211749 -T 100 1066 seven seven 1.61641 -F 101 10.2886 -T 101 1083 , , 0.182537 -T 101 1105 one one 1.61641 -F 102 11.0493 -T 102 1234 , , 0.209434 -T 102 1249 l l 1.61641 -F 103 11.0029 -T 103 1283 , , 0.745095 -T 103 1288 five five 0.512095 -F 104 10.9593 -T 104 1378 , , 0.212078 -T 104 1398 m m 1.61641 -F 105 10.5168 -T 105 1424 , , 0.213598 -T 105 1449 three three 1.61641 -F 106 10.4857 -T 106 1453 , , 0.182345 -T 106 1474 y y 1.61641 -F 107 10.0622 -T 107 1476 , , 0.120586 -T 107 1485 fourteen fourteen 2.30972 -T 107 1490 n n 2.30972 -F 108 9.76125 -T 108 1531 , , 0.154676 -T 108 1541 four four 2.30972 -T 108 1553 r r 2.30972 -F 109 9.67524 -T 109 1579 , , 0.17014 -T 109 1583 d d 2.71521 -T 109 1601 t t 2.71521 -T 109 1602 twenty twenty 2.71521 -F 110 9.72297 -T 110 0 , , 0.569499 -T 110 111 four four 0.795083 -F 111 10.4685 -T 111 402 , , 0.0830511 -T 111 425 one one 1.61641 -F 112 10.0877 -T 112 0 , , 0.934239 -T 112 113 a a 2.26828 -T 112 114 b b 4.24251 -T 112 115 c c 5.21636 -T 112 116 d d 3.37628 -T 112 117 e e 2.60676 -T 112 118 f f 4.24251 -T 112 119 five five 4.2221 -T 112 120 forty forty 5.41015 -T 112 121 fourteen fourteen 5.41015 -T 112 122 h h 4.54055 -T 112 123 i i 3.71844 -T 112 124 j j 4.24251 -T 112 125 k k 3.71844 -T 112 126 l l 4.59673 -T 112 127 m m 4.24251 -T 112 128 n n 4.41275 -T 112 129 o o 2.48081 -T 112 130 oh oh 5.30017 -T 112 131 one one 3.37628 -T 112 132 p p 2.48081 -T 112 133 q q 4.24251 -T 112 134 r r 2.48081 -T 112 135 s s 3.37628 -T 112 136 sixty sixty 4.24251 -T 112 137 t t 4.2023 -T 112 138 two two 3.95385 -T 112 139 u u 4.85923 -T 112 140 v v 5.37593 -T 112 141 w w 2.60676 -T 112 142 y y 3.71844 -T 112 143 z z 5.41015 -F 113 11.2072 -T 113 5 , , 0.637912 -T 113 12 fifty fifty 4.01433 -T 113 20 l l 2.2167 -T 113 30 three three 4.01433 -T 113 32 two two 4.01433 -T 113 34 v v 0.963171 -F 114 10.6762 -T 114 54 , , 0.152648 -T 114 55 a a 2.30972 -T 114 61 forty forty 2.30972 -F 115 10.3662 -T 115 83 , , 0.206224 -T 115 99 r r 1.61641 -F 116 10.488 -T 116 112 , , 0.400312 -T 116 124 j j 3.0028 -T 116 129 o o 1.20517 -T 116 130 oh oh 3.0028 -F 117 10.9979 -T 117 146 , , 0.481019 -T 117 148 b b 3.69588 -T 117 150 d d 3.69588 -T 117 155 four four 3.69588 -T 117 169 r r 0.916659 -T 117 177 u u 3.69588 -F 118 9.97387 -T 118 293 , , 0.0917293 -T 118 308 o o 2.30972 -T 118 313 t t 2.30972 -F 119 10.802 -T 119 350 , , 0.219169 -T 119 385 ten ten 1.61641 -F 120 10.5834 -T 120 392 , , 0.0846471 -T 120 398 seven seven 1.61641 -F 121 10.2381 -T 121 446 , , 0.16994 -T 121 449 fourteen fourteen 1.61641 -F 122 10.544 -T 122 492 , , 0.16939 -T 122 495 e e 1.61641 -F 123 10.858 -T 123 544 , , 1.00871e-08 -F 124 9.80737 -T 124 571 , , 0.090132 -T 124 576 e e 2.30972 -T 124 587 one one 2.30972 -F 125 9.79197 -T 125 607 , , 0.153242 -T 125 614 f f 2.71521 -T 125 621 m m 2.71521 -T 125 631 t t 2.71521 -F 126 10.3165 -T 126 641 , , 0.00136485 -T 126 646 e e 1.61641 -F 127 10.3368 -T 127 676 , , 0.190478 -T 127 688 h h 2.30972 -T 127 699 t t 2.30972 -F 128 10.2366 -T 128 714 , , 0.0907723 -T 128 719 e e 1.61641 -F 129 10.813 -T 129 825 , , 0.273464 -T 129 829 c c 3.81377 -T 129 836 four four 3.81377 -T 129 855 w w 1.40941 -F 130 11.2131 -T 130 866 , , 0.200145 -T 130 868 enter enter 1.61641 -F 131 10.6285 -T 131 880 , , 0.127561 -T 131 886 eight eight 3.0028 -T 131 899 hundred hundred 3.0028 -T 131 908 oh oh 3.0028 -T 131 916 seventy seventy 3.0028 -F 132 11.5239 -T 132 935 , , 1.01403 -T 132 947 i i 0.223351 -T 132 948 l l 3.81377 -F 133 9.7864 -T 133 959 , , 0.138393 -T 133 970 one one 2.30972 -T 133 974 t t 2.30972 -F 134 11.349 -T 134 980 , , 0.409364 -T 134 989 i i 1.03455 -T 134 1003 thirty thirty 3.81377 -T 134 1006 w w 3.81377 -F 135 10.848 -T 135 1048 , , 0.075921 -T 135 1058 k k 3.0028 -T 135 1063 one one 3.0028 -T 135 1069 u u 3.0028 -F 136 10.8784 -T 136 1200 , , 0.0107012 -T 136 1213 three three 2.30972 -F 137 11.0394 -T 137 1234 , , 0.199563 -T 137 1246 i i 1.61641 -F 138 10.8355 -T 138 1378 , , 0.0882608 -T 138 1401 nine nine 2.30972 -T 138 1411 six six 2.30972 -F 139 10.5014 -T 139 1424 , , 0.198226 -T 139 1434 g g 1.61641 -F 140 10.5018 -T 140 1453 , , 0.198468 -T 140 1470 seven seven 1.61641 -F 141 10.2011 -T 141 1476 , , 0.259431 -T 141 1477 a a 1.89825 -T 141 1487 h h 3.69588 -T 141 1488 i i 1.89825 -T 141 1491 o o 1.89825 -T 141 1494 q q 3.69588 -F 142 9.70468 -T 142 1531 , , 0.0981096 -T 142 1540 five five 2.71521 -T 142 1546 m m 2.71521 -T 142 1550 one one 2.71521 -F 143 9.71642 -T 143 1579 , , 0.211322 -T 143 1605 w w 1.61641 -F 144 9.75401 -T 144 0 , , 0.600542 -T 144 145 eighteenth eighteenth 0.795083 -F 145 9.74862 -T 145 229 , , -1.21669e-10 -F 146 10.5168 -T 146 0 , , 1.36337 -T 146 147 a a 2.71705 -T 146 148 b b 4.27866 -T 146 149 c c 5.1449 -T 146 150 d d 3.50914 -T 146 151 e e 3.17066 -T 146 152 eight eight 4.92961 -T 146 153 f f 4.62083 -T 146 154 fifty fifty 6.31254 -T 146 155 four four 4.62083 -T 146 156 g g 3.8216 -T 146 157 h h 4.96967 -T 146 158 i i 4.27866 -T 146 159 j j 4.27866 -T 146 160 k k 5.71502 -T 146 161 l l 2.45156 -T 146 162 m m 4.02423 -T 146 163 n n 2.28071 -T 146 164 nine nine 5.25151 -T 146 165 o o 4.89737 -T 146 166 one one 3.38319 -T 146 167 p p 2.60238 -T 146 168 q q 6.31254 -T 146 169 r r 2.0691 -T 146 170 s s 3.17066 -T 146 171 seven seven 4.99754 -T 146 172 seventy seventy 6.31254 -T 146 173 t t 3.50914 -T 146 174 thirty thirty 6.31254 -T 146 175 three three 5.07007 -T 146 176 two two 4.38298 -T 146 177 u u 4.62083 -T 146 178 v v 3.27128 -T 146 179 w w 2.71705 -T 146 180 x x 6.31254 -T 146 181 y y 3.8216 -T 146 182 z z 4.62083 -F 147 10.952 -T 147 5 , , 0.382724 -T 147 8 c c 2.65212 -T 147 9 d d 2.65212 -T 147 22 n n 2.04539 -T 147 25 p p 4.44975 -T 147 27 s s 1.67053 -T 147 28 six six 4.44975 -T 147 34 v v 2.65212 -F 148 10.9126 -T 148 54 , , 0.389102 -T 148 70 one one 3.0028 -T 148 72 r r 1.20517 -T 148 75 seventy seventy 3.0028 -F 149 10.2585 -T 149 83 , , 0.0985323 -T 149 86 c c 2.30972 -F 150 10.2128 -T 150 112 , , 0.125133 -T 150 120 forty forty 3.69588 -T 150 134 r r 1.89825 -T 150 140 v v 3.69588 -F 151 10.6555 -T 151 146 , , 0.138664 -T 151 167 p p 2.2167 -T 151 170 s s 2.2167 -T 151 175 three three 4.01433 -F 152 10.3356 -T 152 183 , , 0.13326 -T 152 205 nine nine 2.30972 -T 152 213 seven seven 2.30972 -F 153 9.98343 -T 153 293 , , 0.101286 -T 153 299 f f 2.71521 -T 153 310 r r 2.71521 -T 153 317 v v 2.71521 -F 154 10.488 -T 154 335 , , 0.0572091 -T 154 344 six six 1.61641 -F 155 10.5163 -T 155 402 , , 0.130923 -T 155 422 ninety ninety 2.71521 -T 155 424 oh oh 2.71521 -T 155 431 seven seven 2.71521 -F 156 10.9326 -T 156 455 , , 0.466514 -T 156 457 b b 3.40829 -T 156 464 i i 1.61066 -T 156 467 l l 1.61066 -T 156 477 seventy seventy 3.40829 -F 157 10.5861 -T 157 492 , , 0.211484 -T 157 518 u u 1.61641 -F 158 11.6846 -T 158 544 , , 0.826561 -T 158 548 d d 3.0028 -T 158 557 l l 0.598442 -F 159 10.4518 -T 159 571 , , 0.734599 -T 159 586 o o 1.20517 -T 159 588 q q 1.20517 -F 160 9.8281 -T 160 607 , , 0.189367 -T 160 625 one one 1.61641 -F 161 10.7432 -T 161 641 , , 0.428019 -T 161 645 d d 1.92841 -T 161 650 five five 4.70764 -T 161 656 l l 1.11721 -T 161 666 six six 4.70764 -T 161 670 three three 4.70764 -F 162 10.4687 -T 162 676 , , 0.322328 -T 162 678 b b 1.42829 -T 162 679 c c 3.22592 -T 162 695 p p 3.22592 -F 163 10.5135 -T 163 714 , , 0.367626 -T 163 718 d d 2.47021 -T 163 720 eight eight 4.87457 -T 163 721 f f 4.87457 -T 163 722 five five 3.07694 -T 163 731 n n 2.09535 -T 163 739 t t 2.47021 -T 163 743 u u 2.09535 -F 164 9.90066 -T 164 747 , , 0.189818 -T 164 761 four four 1.61641 -F 165 10.7162 -T 165 825 , , 0.176694 -T 165 826 a a 2.30972 -T 165 827 apostrophe apostrophe 2.30972 -F 166 10.5282 -T 166 880 , , 0.0272753 -T 166 892 fifty fifty 3.81377 -T 166 923 ten ten 3.81377 -F 167 11.0536 -T 167 935 , , 0.543755 -T 167 938 c c 4.56096 -T 167 946 h h 2.1566 -T 167 947 i i 0.528674 -T 167 958 y y 4.56096 -F 168 9.81982 -T 168 959 , , 0.171813 -T 168 964 fifty fifty 1.61641 -F 169 11.1243 -T 169 980 , , 0.184661 -T 169 982 b b 3.28464 -T 169 985 e e 2.30305 -T 169 986 f f 5.08227 -T 169 989 i i 2.30305 -T 169 991 l l 2.67791 -T 169 992 m m 5.08227 -T 169 995 one one 3.28464 -T 169 996 p p 5.08227 -T 169 999 s s 3.28464 -T 169 1002 t t 3.28464 -T 169 1003 thirty thirty 5.08227 -F 170 10.8971 -T 170 1048 , , 0.12501 -T 170 1049 a a 4.01433 -T 170 1053 f f 4.01433 -T 170 1057 j j 2.2167 -T 170 1066 seven seven 4.01433 -F 171 10.3243 -T 171 1083 , , 0.218245 -T 171 1090 fifty fifty 1.61641 -F 172 10.3392 -T 172 1135 , , 0.203888 -T 172 1145 six six 1.61641 -F 173 11.6677 -T 173 1234 , , 0.8279 -T 173 1251 n n 3.69588 -T 173 1254 p p 0.916659 -T 173 1260 t t 1.29152 -F 174 10.3099 -T 174 1283 , , 0.0521122 -T 174 1288 five five 1.61641 -F 175 10.3102 -T 175 1306 , , 0.127607 -T 175 1317 five five 2.30972 -T 175 1334 seven seven 2.30972 -F 176 10.9204 -T 176 1378 , , 0.173096 -T 176 1384 eight eight 1.61641 -F 177 10.483 -T 177 1424 , , 0.179812 -T 177 1436 j j 2.71521 -T 177 1438 l l 2.71521 -T 177 1452 y y 2.71521 -F 178 11.2061 -T 178 1453 , , 0.902703 -T 178 1456 e e 0.328809 -T 178 1464 nine nine 3.919 -F 179 10.1634 -T 179 1476 , , 0.221776 -T 179 1491 o o 1.67053 -T 179 1497 three three 4.44975 -T 179 1502 y y 2.04539 -F 180 9.57425 -T 180 1504 , , 0.174983 -T 180 1527 x x 1.61641 -F 181 9.64426 -T 181 1531 , , 0.0376914 -T 181 1549 oh oh 3.40829 -T 181 1551 p p 3.40829 -T 181 1554 s s 3.40829 -T 181 1559 two two 3.40829 -F 182 9.57629 -T 182 1579 , , 0.07119 -T 182 1584 e e 2.71521 -T 182 1604 u u 2.71521 -F 183 10.2023 -T 183 0 , , 1.04886 -T 183 184 a a 4.2978 -T 183 185 april april 5.82554 -T 183 186 august august 5.82554 -T 183 187 b b 4.6579 -T 183 188 c c 5.33097 -T 183 189 e e 4.12695 -T 183 190 eight eight 3.3346 -T 183 191 enter enter 3.02191 -T 183 192 erase erase 4.13383 -T 183 193 f f 5.47489 -T 183 194 five five 2.78429 -T 183 195 forty forty 5.82554 -T 183 196 four four 2.29268 -T 183 197 fourteen fourteen 5.82554 -T 183 198 g g 4.6579 -T 183 199 hundred hundred 4.13383 -T 183 200 j j 5.78044 -T 183 201 june june 5.82554 -T 183 202 k k 5.40051 -T 183 203 l l 4.71135 -T 183 204 n n 4.52737 -T 183 205 nine nine 3.3346 -T 183 206 o o 4.58286 -T 183 207 oh oh 3.3346 -T 183 208 one one 3.16605 -T 183 209 q q 5.82554 -T 183 210 repeat repeat 4.6579 -T 183 211 rubout rubout 3.79167 -T 183 212 s s 4.62823 -T 183 213 seven seven 3.02191 -T 183 214 seventy seventy 4.6579 -T 183 215 six six 3.16605 -T 183 216 sixty sixty 4.13383 -T 183 217 stop stop 5.82554 -T 183 218 ten ten 5.82554 -T 183 219 thirty thirty 5.82554 -T 183 220 thousand thousand 5.82554 -T 183 221 three three 2.29268 -T 183 222 twelve twelve 5.82554 -T 183 223 twenty twenty 4.6579 -T 183 224 two two 2.50867 -T 183 225 x x 5.82554 -T 183 226 zero zero 3.79167 -F 184 10.7244 -T 184 5 , , 0.155201 -T 184 20 l l 1.61641 -F 185 9.75364 -T 185 47 , , -1.21669e-10 -F 186 10.5417 -T 186 51 , , 0.101637 -T 186 52 sixteenth sixteenth 1.61641 -F 187 10.5362 -T 187 54 , , 0.0126511 -T 187 58 e e 2.30972 -F 188 10.3482 -T 188 83 , , 0.188172 -T 188 109 z z 1.61641 -F 189 10.7283 -T 189 146 , , 0.211513 -T 189 182 z z 1.61641 -F 190 10.5654 -T 190 183 , , 0.363108 -T 190 196 four four 1.61066 -T 190 205 nine nine 1.61066 -F 191 10.9562 -T 191 250 , , 0.204875 -T 191 254 fifty fifty 1.89825 -T 191 260 ninety ninety 3.69588 -T 191 265 sixty sixty 1.89825 -F 192 9.82205 -T 192 271 , , 0.114163 -T 192 278 i i 2.71521 -T 192 279 j j 2.71521 -T 192 292 z z 2.71521 -F 193 9.9818 -T 193 293 , , 0.0996568 -T 193 297 e e 1.61641 -F 194 10.7122 -T 194 350 , , 0.129301 -T 194 354 d d 3.919 -T 194 370 may may 3.919 -T 194 382 six six 2.12137 -F 195 10.6649 -T 195 392 , , 0.166143 -T 195 397 one one 1.61641 -F 196 10.7625 -T 196 402 , , 0.377067 -T 196 404 august august 4.38919 -T 196 405 b b 4.38919 -T 196 415 four four 1.98483 -T 196 433 six six 1.60997 -T 196 442 two two 1.98483 -F 197 10.0682 -T 197 446 , , -2.3906e-09 -F 198 11.3042 -T 198 455 , , 0.838065 -T 198 456 a a 0.512095 -F 199 10.388 -T 199 537 , , -1.31522e-09 -F 200 9.90794 -T 200 571 , , 0.190699 -T 200 580 h h 1.61641 -F 201 9.7467 -T 201 604 , , -9.30224e-10 -F 202 9.83918 -T 202 607 , , 0.200454 -T 202 620 l l 1.61641 -F 203 10.3165 -T 203 641 , , 0.00136485 -T 203 646 e e 1.61641 -F 204 10.3577 -T 204 714 , , 0.211846 -T 204 729 l l 1.61641 -F 205 9.91841 -T 205 747 , , 0.207562 -T 205 768 june june 3.40829 -T 205 770 n n 3.40829 -T 205 771 nine nine 3.40829 -T 205 777 one one 3.40829 -T 205 785 six six 1.61066 -F 206 10.6618 -T 206 825 , , 0.122292 -T 206 826 a a 2.30972 -T 206 841 l l 2.30972 -F 207 11.04 -T 207 866 , , 0.0270931 -T 207 871 j j 3.40829 -F 208 10.6971 -T 208 880 , , 0.196179 -T 208 906 nine nine 1.7647 -T 208 909 one one 3.56233 -T 208 914 s s 3.56233 -T 208 917 six six 3.56233 -F 209 9.85425 -T 209 959 , , 0.20624 -T 209 960 c c 1.61641 -F 210 9.79043 -T 210 1009 , , 0.0153145 -T 210 1021 stop stop 2.30972 -F 211 10.3827 -T 211 1023 , , 0.384913 -T 211 1024 a a 3.0028 -T 211 1031 i i 3.0028 -T 211 1042 u u 1.20517 -F 212 10.9429 -T 212 1048 , , 0.170796 -T 212 1052 e e 1.61641 -F 213 10.2412 -T 213 1083 , , 0.135101 -T 213 1105 one one 1.89825 -T 213 1127 zero zero 3.69588 -F 214 10.712 -T 214 1135 , , 0.576655 -T 214 1141 one one 0.512095 -F 215 10.2533 -T 215 1148 , , 0.0507306 -T 215 1153 eight eight 1.7647 -T 215 1187 twelve twelve 3.56233 -F 216 10.8724 -T 216 1200 , , 0.00465929 -T 216 1204 five five 2.71521 -F 217 10.3671 -T 217 1224 , , 0.126305 -T 217 1230 m m 1.61641 -F 218 9.69362 -T 218 1264 , , 0.188628 -T 218 1276 thirty thirty 1.61641 -F 219 10.3754 -T 219 1283 , , 0.117595 -T 219 1296 two two 1.61641 -F 220 9.78928 -T 220 1297 , , 0.16994 -T 220 1301 nine nine 1.61641 -F 221 10.3296 -T 221 1306 , , 0.146979 -T 221 1314 eleven eleven 4.38919 -T 221 1325 march march 4.38919 -T 221 1330 one one 2.59133 -T 221 1331 p p 4.38919 -T 221 1333 september september 4.38919 -T 221 1341 twelve twelve 4.38919 -T 221 1346 zero zero 2.59133 -F 222 9.9346 -T 222 1349 , , 0.16994 -T 222 1352 four four 1.61641 -F 223 10.2329 -T 223 1360 , , 0.0666381 -T 223 1371 seven seven 2.30972 -F 224 10.9505 -T 224 1378 , , 0.203246 -T 224 1384 eight eight 2.38387 -T 224 1392 four four 2.38387 -T 224 1411 six six 1.77714 -T 224 1413 start start 4.18149 -F 225 9.584 -T 225 1504 , , 0.18473 -T 225 1507 e e 1.61641 -F 226 9.7585 -T 226 1609 , , 0.0936357 -T 226 1617 m m 3.0028 -T 226 1618 nine nine 3.0028 -T 226 1628 two two 3.0028 -F 227 9.75382 -T 227 0 , , 0.600357 -T 227 228 february february 0.795083 -F 228 9.74838 -T 228 321 , , -9.30224e-10 -F 229 9.74862 -T 229 0 , , 0.595155 -T 229 230 nineteen nineteen 0.795083 -F 230 11.6796 -T 230 796 , , 0.171813 -T 230 798 forty forty 1.61641 -F 231 9.74862 -T 231 0 , , 0.595155 -T 231 232 nineteen nineteen 0.795083 -F 232 11.6796 -T 232 796 , , 0.171813 -T 232 797 fifty fifty 1.61641 -F 233 9.97778 -T 233 0 , , 0.824313 -T 233 234 eight eight 3.50315 -T 233 235 fifth fifth 3.50315 -T 233 236 five five 3.50315 -T 233 237 four four 3.50315 -T 233 238 nine nine 1.81144 -T 233 239 one one 3.50315 -T 233 240 seven seven 3.50315 -T 233 241 six six 1.21484 -T 233 242 three three 3.50315 -F 234 10.4142 -T 234 183 , , 0.211875 -T 234 210 repeat repeat 1.61641 -F 235 9.72004 -T 235 332 , , -9.30224e-10 -F 236 10.801 -T 236 350 , , 0.218094 -T 236 353 c c 1.61641 -F 237 10.5947 -T 237 402 , , 0.209307 -T 237 426 r r 1.61641 -F 238 9.87326 -T 238 747 , , 0.16241 -T 238 756 erase erase 2.71521 -T 238 760 forty forty 2.71521 -T 238 773 no no 2.71521 -F 239 10.7153 -T 239 880 , , 0.214325 -T 239 897 h h 1.61641 -F 240 10.3243 -T 240 1083 , , 0.218245 -T 240 1096 help help 1.61641 -F 241 10.5506 -T 241 1148 , , 0.347971 -T 241 1155 enter enter 1.42829 -T 241 1156 erase erase 3.22592 -T 241 1164 k k 3.22592 -T 241 1191 yes yes 3.22592 -F 242 10.393 -T 242 1306 , , 0.210433 -T 242 1328 no no 1.61641 -F 243 9.68814 -T 243 0 , , 0.534675 -T 243 244 nine nine 2.18147 -T 243 245 o o 2.18147 -T 243 246 seventeen seventeen 2.18147 -T 243 247 sixty sixty 2.18147 -F 244 9.92463 -T 244 747 , , 0.213786 -T 244 786 sixty sixty 1.61641 -F 245 10.706 -T 245 825 , , 0.16643 -T 245 841 l l 1.61641 -F 246 9.93716 -T 246 1128 , , -2.04146e-09 -F 247 10.9323 -T 247 1200 , , 0.0645843 -T 247 1210 seven seven 1.61641 -F 248 9.74862 -T 248 0 , , 0.595155 -T 248 249 nineteen nineteen 0.795083 -F 249 11.5078 -T 249 796 , , -1.28024e-08 -F 250 10.7513 -T 250 0 , , 1.59787 -T 250 251 eight eight 2.42232 -T 250 252 eighty eighty 5.22595 -T 250 253 fifteen fifteen 5.22595 -T 250 254 fifty fifty 2.93764 -T 250 255 five five 2.73501 -T 250 256 forty forty 3.53401 -T 250 257 four four 2.73501 -T 250 258 fourteen fourteen 5.22595 -T 250 259 nine nine 3.19207 -T 250 260 ninety ninety 3.53401 -T 250 261 one one 3.19207 -T 250 262 seven seven 2.29637 -T 250 263 seventy seventy 3.19207 -T 250 264 six six 2.42232 -T 250 265 sixty sixty 2.42232 -T 250 266 thirty thirty 3.53401 -T 250 267 three three 4.05831 -T 250 268 twenty twenty 5.22595 -T 250 269 two two 2.73501 -T 250 270 zero zero 5.22595 -F 251 10.2614 -T 251 183 , , 0.0590842 -T 251 214 seventy seventy 3.69588 -T 251 219 thirty thirty 3.69588 -T 251 223 twenty twenty 3.69588 -T 251 226 zero zero 3.69588 -F 252 10.0208 -T 252 233 , , 0.0429761 -T 252 238 nine nine 1.61641 -F 253 9.79584 -T 253 324 , , 0.126764 -T 253 327 n n 1.61641 -F 254 10.6744 -T 254 335 , , 0.243649 -T 254 339 four four 1.42829 -T 254 345 sixty sixty 3.22592 -F 255 10.8183 -T 255 350 , , 0.235463 -T 255 357 enter enter 3.40829 -T 255 365 help help 1.61066 -T 255 391 zero zero 3.40829 -F 256 10.5119 -T 256 392 , , 0.0132191 -T 256 397 one one 2.71521 -F 257 10.7189 -T 257 402 , , 0.333464 -T 257 412 fifty fifty 1.61066 -T 257 428 rubout rubout 3.40829 -T 257 438 thousand thousand 3.40829 -T 257 441 twenty twenty 3.40829 -T 257 443 x x 3.40829 -F 258 10.1137 -T 258 446 , , 0.0455199 -T 258 450 repeat repeat 1.61641 -F 259 9.87851 -T 259 747 , , 0.167662 -T 259 752 eight eight 3.0028 -T 259 753 eighty eighty 3.0028 -T 259 780 rubout rubout 3.0028 -T 259 784 seventy seventy 3.0028 -F 260 10.0364 -T 260 802 , , -5.24449e-09 -F 261 10.6712 -T 261 880 , , 0.170257 -T 261 894 forty forty 3.0028 -T 261 906 nine nine 3.0028 -T 261 907 ninety ninety 3.0028 -T 261 924 thirty thirty 3.0028 -F 262 10.1588 -T 262 1083 , , 0.0526974 -T 262 1085 b b 3.81377 -T 262 1087 enter enter 3.81377 -T 262 1088 erase erase 3.81377 -T 262 1118 thirty thirty 3.81377 -F 263 10.2026 -T 263 1135 , , 0.0673087 -T 263 1136 eight eight 3.0028 -T 263 1141 one one 1.20517 -F 264 10.2362 -T 264 1148 , , 0.0336404 -T 264 1172 rubout rubout 3.69588 -T 264 1182 t t 3.69588 -F 265 10.9591 -T 265 1200 , , 0.0913837 -T 265 1202 enter enter 3.69588 -T 265 1206 help help 3.69588 -T 265 1208 one one 1.89825 -T 265 1215 w w 3.69588 -F 266 10.2839 -T 266 1283 , , 0.0261225 -T 266 1292 seven seven 2.71521 -F 267 10.3839 -T 267 1306 , , 0.201319 -T 267 1311 e e 2.30972 -T 267 1313 eighty eighty 2.30972 -F 268 10.295 -T 268 1360 , , 0.128753 -T 268 1368 nine nine 1.61641 -F 269 11.0085 -T 269 1378 , , 0.261248 -T 269 1395 go go 3.40829 -T 269 1402 no no 3.40829 -T 269 1405 oh oh 1.61066 -F 270 9.86317 -T 270 1609 , , 0.198307 -T 270 1626 t t 1.61641 -F 271 9.70788 -T 271 0 , , 0.554416 -T 271 272 a a 3.80336 -T 271 273 b b 4.29156 -T 271 274 c c 3.12392 -T 271 275 e e 3.12392 -T 271 276 f f 4.29156 -T 271 277 g g 3.12392 -T 271 278 i i 3.12392 -T 271 279 j j 3.12392 -T 271 280 k k 4.29156 -T 271 281 m m 4.29156 -T 271 282 n n 4.03293 -T 271 283 o o 2.59985 -T 271 284 q q 3.12392 -T 271 285 r r 3.74304 -T 271 286 s s 3.12392 -T 271 287 t t 3.82247 -T 271 288 v v 2.59985 -T 271 289 w w 3.12392 -T 271 290 x x 4.29156 -T 271 291 y y 4.29156 -T 271 292 z z 4.29156 -F 272 10.7244 -T 272 5 , , 0.155201 -T 272 20 l l 1.61641 -F 273 10.7241 -T 273 54 , , 0.20059 -T 273 68 m m 1.61641 -F 274 10.2313 -T 274 83 , , 0.0713354 -T 274 85 b b 2.30972 -F 275 10.7289 -T 275 146 , , 0.212044 -T 275 165 o o 2.30972 -T 275 180 x x 2.30972 -F 276 10.081 -T 276 293 , , 0.198823 -T 276 303 h h 1.61641 -F 277 10.558 -T 277 455 , , 0.0918691 -T 277 482 w w 2.30972 -F 278 11.0239 -T 278 544 , , 0.165903 -T 278 554 g g 2.30972 -T 278 564 s s 2.30972 -F 279 9.90852 -T 279 571 , , 0.191285 -T 279 579 g g 2.30972 -T 279 585 n n 2.30972 -F 280 9.82449 -T 280 607 , , 0.18576 -T 280 618 j j 1.61641 -F 281 10.3513 -T 281 676 , , 0.204965 -T 281 705 y y 1.61641 -F 282 10.3026 -T 282 714 , , 0.156773 -T 282 739 t t 1.61641 -F 283 11.1282 -T 283 825 , , 0.588672 -T 283 839 j j 2.71521 -T 283 852 t t 0.91758 -F 284 9.7676 -T 284 959 , , 0.119592 -T 284 962 e e 2.30972 -T 284 968 k k 2.30972 -F 285 11.1363 -T 285 980 , , 0.196658 -T 285 982 b b 1.61641 -F 286 10.9467 -T 286 1048 , , 0.174574 -T 286 1065 s s 2.30972 -T 286 1070 v v 2.30972 -F 287 11.0493 -T 287 1234 , , 0.209434 -T 287 1250 m m 1.61641 -F 288 10.4645 -T 288 1453 , , 0.161166 -T 288 1468 r r 2.71521 -T 288 1473 x x 2.71521 -T 288 1474 y y 2.71521 -F 289 10.0925 -T 289 1476 , , 0.150836 -T 289 1481 e e 2.30972 -T 289 1483 f f 2.30972 -F 290 9.60335 -T 290 1504 , , 0.204081 -T 290 1505 b b 1.61641 -F 291 9.80504 -T 291 1531 , , 0.198468 -T 291 1533 b b 1.61641 -F 292 9.69372 -T 292 1579 , , 0.18862 -T 292 1607 y y 1.61641 -F 293 9.88214 -T 293 0 , , 0.728676 -T 293 294 a a 3.97762 -T 293 295 b b 3.8018 -T 293 296 d d 4.71169 -T 293 297 e e 2.16604 -T 293 298 eight eight 4.29492 -T 293 299 f f 3.27773 -T 293 300 five five 3.8018 -T 293 301 four four 4.21318 -T 293 302 g g 4.58136 -T 293 303 h h 3.8018 -T 293 304 i i 2.31018 -T 293 305 j j 3.8018 -T 293 306 k k 3.8018 -T 293 307 m m 3.8018 -T 293 308 o o 2.68113 -T 293 309 q q 4.96944 -T 293 310 r r 2.68113 -T 293 311 s s 4.30804 -T 293 312 six six 4.22538 -T 293 313 t t 2.93557 -T 293 314 thirty thirty 4.96944 -T 293 315 twenty twenty 4.96944 -T 293 316 two two 3.27773 -T 293 317 v v 4.96944 -T 293 318 x x 2.93557 -T 293 319 y y 3.8018 -T 293 320 z z 4.96944 -F 294 10.5767 -T 294 5 , , 0.00744684 -T 294 26 r r 1.61641 -F 295 10.6851 -T 295 54 , , 0.161604 -T 295 68 m m 2.30972 -T 295 69 o o 2.30972 -F 296 10.2325 -T 296 112 , , 0.144771 -T 296 141 w w 1.61641 -F 297 10.5629 -T 297 146 , , 0.0460617 -T 297 148 b b 3.69588 -T 297 152 eight eight 3.69588 -T 297 156 g g 3.69588 -T 297 158 i i 3.69588 -F 298 10.4135 -T 298 183 , , 0.211129 -T 298 206 o o 1.61641 -F 299 10.0016 -T 299 293 , , 0.119415 -T 299 298 eight eight 2.71521 -T 299 301 four four 2.71521 -T 299 310 r r 2.71521 -F 300 10.7592 -T 300 350 , , 0.17629 -T 300 361 forty forty 2.30972 -T 300 371 nine nine 2.30972 -F 301 10.5546 -T 301 402 , , 0.169156 -T 301 431 seven seven 1.61641 -F 302 10.6206 -T 302 455 , , 0.154424 -T 302 464 i i 1.61641 -F 303 10.566 -T 303 492 , , 0.191402 -T 303 494 b b 2.30972 -T 303 505 nine nine 2.30972 -F 304 11.0838 -T 304 544 , , 0.225761 -T 304 550 f f 1.7647 -T 304 552 five five 3.56233 -T 304 570 y y 3.56233 -F 305 9.89691 -T 305 571 , , 0.179667 -T 305 575 d d 2.30972 -T 305 582 k k 2.30972 -F 306 9.78662 -T 306 607 , , 0.147892 -T 306 608 a a 2.30972 -T 306 636 v v 2.30972 -F 307 10.3575 -T 307 676 , , 0.211168 -T 307 684 fifty fifty 2.30972 -T 307 696 q q 2.30972 -F 308 11.1117 -T 308 825 , , 0.572132 -T 308 833 f f 3.22592 -T 308 834 five five 3.22592 -T 308 848 r r 0.821562 -F 309 9.78417 -T 309 959 , , 0.13616 -T 309 972 q q 1.61641 -F 310 11.4329 -T 310 980 , , 0.493211 -T 310 981 a a 1.42829 -T 310 994 o o 1.42829 -F 311 10.9147 -T 311 1048 , , 0.142537 -T 311 1062 o o 1.61641 -F 312 10.4212 -T 312 1148 , , 0.21865 -T 312 1154 eighty eighty 1.61641 -F 313 11.2337 -T 313 1234 , , 0.393894 -T 313 1245 h h 1.20517 -T 313 1252 o o 3.0028 -T 313 1259 sixty sixty 3.0028 -F 314 10.4066 -T 314 1283 , , 0.148784 -T 314 1286 eight eight 1.61641 -F 315 10.3227 -T 315 1360 , , 0.15648 -T 315 1366 four four 1.61641 -F 316 10.8884 -T 316 1378 , , 0.141124 -T 316 1391 five five 2.71521 -T 316 1409 rubout rubout 2.71521 -T 316 1414 stop stop 2.71521 -F 317 10.5159 -T 317 1453 , , 0.212535 -T 317 1469 s s 1.61641 -F 318 9.44621 -T 318 1504 , , 0.0469427 -T 318 1506 c c 3.0028 -T 318 1511 four four 3.0028 -T 318 1528 y y 3.0028 -T 318 1530 zero zero 3.0028 -F 319 9.78152 -T 319 1531 , , 0.174951 -T 319 1547 n n 2.30972 -T 319 1564 z z 2.30972 -F 320 9.71642 -T 320 1579 , , 0.211322 -T 320 1608 z z 1.61641 -F 321 9.74838 -T 321 0 , , 0.594916 -T 321 322 eighth eighth 1.48839 -T 321 323 nineteen nineteen 1.48839 -F 322 9.74862 -T 322 231 , , -1.21669e-10 -F 323 11.644 -T 323 796 , , 0.13616 -T 323 799 seventy seventy 1.61641 -F 324 9.66907 -T 324 0 , , 0.515607 -T 324 325 enter enter 2.40459 -T 324 326 m m 2.40459 -T 324 327 n n 2.40459 -T 324 328 nineteen nineteen 2.40459 -T 324 329 sixty sixty 2.40459 -F 325 10.8798 -T 325 250 , , 0.128507 -T 325 265 sixty sixty 1.61641 -F 326 10.1464 -T 326 676 , , -3.41483e-10 -F 327 10.2366 -T 327 714 , , 0.0907723 -T 327 719 e e 1.61641 -F 328 11.644 -T 328 796 , , 0.13616 -T 328 799 seventy seventy 1.61641 -F 329 11.0253 -T 329 1200 , , 0.157583 -T 329 1214 two two 1.61641 -F 330 10.4418 -T 330 0 , , 1.2883 -T 330 331 nineteen nineteen 0.32052 -F 331 11.5078 -T 331 796 , , 3.88138e-09 -F 332 9.72004 -T 332 0 , , 0.566575 -T 332 333 nineteen nineteen 1.48839 -T 332 334 s s 1.48839 -F 333 11.5078 -T 333 796 , , -1.28024e-08 -F 334 10.8707 -T 334 1048 , , 0.0985785 -T 334 1067 t t 1.61641 -F 335 10.4308 -T 335 0 , , 1.27731 -T 335 336 b b 4.3786 -T 335 337 eight eight 1.88766 -T 335 338 five five 2.34472 -T 335 339 four four 2.68689 -T 335 340 nine nine 4.3786 -T 335 341 one one 2.09029 -T 335 342 rubout rubout 4.3786 -T 335 343 seven seven 3.21095 -T 335 344 six six 1.88766 -T 335 345 sixty sixty 4.3786 -T 335 346 three three 3.21095 -T 335 347 two two 2.34472 -F 336 10.5235 -T 336 54 , , 5.93077e-09 -F 337 10.4789 -T 337 183 , , 0.276613 -T 337 191 enter enter 1.61066 -T 337 198 g g 3.40829 -T 337 207 oh oh 3.40829 -T 337 211 rubout rubout 3.40829 -T 337 220 thousand thousand 3.40829 -F 338 10.7174 -T 338 350 , , 0.134513 -T 338 369 m m 3.0028 -T 338 386 thirty thirty 3.0028 -T 338 387 three three 3.0028 -T 338 390 yes yes 3.0028 -F 339 10.5488 -T 339 402 , , 0.163361 -T 339 428 rubout rubout 2.71521 -T 339 429 s s 2.71521 -T 339 436 stop stop 2.71521 -F 340 9.90992 -T 340 747 , , 0.199074 -T 340 773 no no 1.61641 -F 341 10.6856 -T 341 880 , , 0.18462 -T 341 891 fifteen fifteen 3.22592 -T 341 892 fifty fifty 3.22592 -T 341 900 i i 3.22592 -T 341 912 repeat repeat 3.22592 -T 341 913 rubout rubout 3.22592 -F 342 10.159 -T 342 1023 , , 0.16112 -T 342 1028 f f 1.61641 -F 343 10.3069 -T 343 1083 , , 0.200856 -T 343 1094 fourteen fourteen 2.30972 -T 343 1123 v v 2.30972 -F 344 10.3246 -T 344 1148 , , 0.121962 -T 344 1150 b b 3.40829 -T 344 1156 erase erase 3.40829 -T 344 1168 oh oh 3.40829 -T 344 1170 p p 3.40829 -T 344 1179 sixty sixty 3.40829 -T 344 1184 thirty thirty 3.40829 -F 345 10.9952 -T 345 1200 , , 0.127538 -T 345 1213 three three 1.61641 -F 346 10.3742 -T 346 1306 , , 0.19158 -T 346 1315 enter enter 2.30972 -T 346 1318 forty forty 2.30972 -F 347 10.9496 -T 347 1378 , , 0.202325 -T 347 1379 a a 3.0028 -T 347 1382 d d 3.0028 -T 347 1388 erase erase 3.0028 -T 347 1390 fifty fifty 3.0028 -F 348 10.847 -T 348 0 , , 1.69358 -T 348 349 nineteen nineteen 0.201937 -F 349 11.5724 -T 349 796 , , 0.0646183 -T 349 800 sixty sixty 0.310849 -F 350 10.5829 -T 350 0 , , 1.4294 -T 350 351 a a 4.67835 -T 350 352 b b 4.93559 -T 350 353 c c 5.71152 -T 350 354 d d 5.41241 -T 350 355 e e 4.50749 -T 350 356 eight eight 3.6123 -T 350 357 enter enter 3.17388 -T 350 358 erase erase 4.93559 -T 350 359 f f 4.41152 -T 350 360 five five 3.29983 -T 350 361 forty forty 6.10346 -T 350 362 four four 3.6123 -T 350 363 g g 5.28208 -T 350 364 h h 5.03571 -T 350 365 help help 4.93559 -T 350 366 hundred hundred 4.93559 -T 350 367 j j 6.10346 -T 350 368 k k 5.78105 -T 350 369 m m 4.41152 -T 350 370 may may 6.10346 -T 350 371 nine nine 3.17388 -T 350 372 ninth ninth 6.10346 -T 350 373 no no 6.10346 -T 350 374 october october 6.10346 -T 350 375 oh oh 3.29983 -T 350 376 one one 2.63738 -T 350 377 p p 5.42254 -T 350 378 q q 6.10346 -T 350 379 repeat repeat 4.93559 -T 350 380 rubout rubout 4.93559 -T 350 381 seven seven 3.6123 -T 350 382 six six 3.29983 -T 350 383 sixteen sixteen 6.10346 -T 350 384 t t 4.69746 -T 350 385 ten ten 6.10346 -T 350 386 thirty thirty 4.41152 -T 350 387 three three 3.06198 -T 350 388 twenty twenty 6.10346 -T 350 389 two two 1.08221 -T 350 390 yes yes 4.41152 -T 350 391 zero zero 3.81492 -F 351 10.7692 -T 351 5 , , 0.199981 -T 351 37 y y 1.61641 -F 352 11.346 -T 352 54 , , 0.82247 -T 352 72 r r 0.512095 -F 353 10.3059 -T 353 83 , , 0.145935 -T 353 98 o o 1.61641 -F 354 10.2217 -T 354 112 , , 0.134022 -T 354 129 o o 1.61641 -F 355 10.6481 -T 355 146 , , 0.131308 -T 355 161 l l 1.61641 -F 356 10.3068 -T 356 183 , , 0.104487 -T 356 185 april april 3.40829 -T 356 187 b b 3.40829 -T 356 207 oh oh 3.40829 -T 356 211 rubout rubout 3.40829 -T 356 222 twelve twelve 3.40829 -F 357 11.0448 -T 357 250 , , 0.293479 -T 357 256 forty forty 3.81377 -T 357 262 seven seven 1.40941 -T 357 269 two two 2.01614 -F 358 9.80338 -T 358 271 , , 0.0954983 -T 358 274 c c 2.30972 -T 358 288 v v 2.30972 -F 359 9.92894 -T 359 293 , , 0.046796 -T 359 310 r r 2.71521 -T 359 319 y y 2.71521 -F 360 10.6224 -T 360 350 , , 0.0395077 -T 360 372 ninth ninth 3.69588 -T 360 384 t t 3.69588 -F 361 10.5834 -T 361 392 , , 0.0846471 -T 361 394 five five 1.61641 -F 362 10.6205 -T 362 402 , , 0.235072 -T 362 413 five five 3.40829 -T 362 418 january january 3.40829 -T 362 420 march march 3.40829 -T 362 433 six six 1.61066 -F 363 10.6112 -T 363 455 , , 0.145082 -T 363 467 l l 1.61641 -F 364 10.5075 -T 364 492 , , 0.1329 -T 364 506 o o 1.61641 -F 365 9.9543 -T 365 527 , , 0.0662173 -T 365 528 a a 2.30972 -F 366 10.388 -T 366 537 , , 3.24519e-08 -F 367 9.90794 -T 367 571 , , 0.190699 -T 367 578 four four 1.61641 -F 368 9.80957 -T 368 607 , , 0.170844 -T 368 637 w w 1.61641 -F 369 10.397 -T 369 676 , , 0.250593 -T 369 677 a a 0.91758 -T 369 681 e e 2.71521 -F 370 9.79943 -T 370 710 , , 0.0582737 -T 370 712 ninth ninth 1.61641 -F 371 9.80809 -T 371 747 , , 0.0972409 -T 371 783 seven seven 3.81377 -T 371 790 two two 2.01614 -T 371 791 v v 3.81377 -F 372 9.74034 -T 372 809 , , -9.30224e-10 -F 373 10.0077 -T 373 812 , , 0.192778 -T 373 818 help help 1.61641 -F 374 9.8043 -T 374 859 , , 0.0582737 -T 374 861 thirtieth thirtieth 1.61641 -F 375 11.1619 -T 375 866 , , 0.148971 -T 375 870 four four 1.89825 -T 375 878 twelve twelve 3.69588 -F 376 10.9724 -T 376 880 , , 0.471453 -T 376 885 e e 4.32449 -T 376 895 four four 1.92013 -T 376 906 nine nine 2.52686 -T 376 909 one one 1.92013 -T 376 926 three three 2.52686 -T 376 931 y y 4.32449 -F 377 10.7064 -T 377 935 , , 0.196588 -T 377 957 u u 1.61641 -F 378 9.81982 -T 378 959 , , 0.171813 -T 378 962 e e 1.61641 -F 379 9.9419 -T 379 1009 , , 0.166788 -T 379 1013 f f 2.30972 -T 379 1014 g g 2.30972 -F 380 10.1864 -T 380 1023 , , 0.188579 -T 380 1037 p p 2.30972 -T 380 1046 y y 2.30972 -F 381 10.5508 -T 381 1083 , , 0.444715 -T 381 1086 eight eight 1.61066 -T 381 1104 oh oh 3.40829 -T 381 1106 p p 3.40829 -T 381 1113 six six 1.61066 -F 382 10.66 -T 382 1148 , , 0.457442 -T 382 1160 four four 1.29152 -T 382 1167 no no 3.69588 -T 382 1169 one one 1.89825 -F 383 10.1412 -T 383 1193 , , -1.06528e-09 -F 384 10.978 -T 384 1234 , , 0.138183 -T 384 1245 h h 1.61641 -F 385 9.69362 -T 385 1264 , , 0.188628 -T 385 1267 h h 1.61641 -F 386 10.3133 -T 386 1283 , , 0.0554993 -T 386 1287 enter enter 2.71521 -F 387 10.6472 -T 387 1306 , , 0.464657 -T 387 1319 four four 1.51487 -T 387 1320 fourteen fourteen 3.919 -T 387 1332 rubout rubout 3.919 -T 387 1340 three three 1.51487 -F 388 10.2664 -T 388 1360 , , 0.100222 -T 388 1373 six six 1.61641 -F 389 11.7822 -T 389 1378 , , 1.03497 -T 389 1392 four four 3.44628 -T 389 1400 n n 5.85064 -T 389 1405 oh oh 3.07142 -T 389 1406 one one 0.701828 -T 389 1410 seven seven 4.05301 -T 389 1415 ten ten 5.85064 -T 389 1418 three three 2.26022 -T 389 1421 two two 2.13012 -T 389 1423 zero zero 4.05301 -F 390 10.0212 -T 390 1565 , , -1.92814e-09 -F 391 9.93828 -T 391 1609 , , 0.273413 -T 391 1616 four four 1.42829 -T 391 1622 rubout rubout 3.22592 -F 392 10.4987 -T 392 0 , , 1.34524 -T 392 393 eight eight 2.39906 -T 392 394 five five 2.05713 -T 392 395 four four 2.39906 -T 392 396 nine nine 2.39906 -T 392 397 one one 2.92313 -T 392 398 seven seven 2.05713 -T 392 399 six six 4.091 -T 392 400 three three 2.05713 -T 392 401 two two 2.39906 -F 393 10.7691 -T 393 183 , , 0.566796 -T 393 191 enter enter 0.91758 -T 393 210 repeat repeat 2.71521 -F 394 10.744 -T 394 350 , , 0.161158 -T 394 352 b b 3.0028 -T 394 357 enter enter 3.0028 -T 394 358 erase erase 3.0028 -T 394 373 no no 3.0028 -F 395 10.5424 -T 395 402 , , 0.156958 -T 395 409 enter enter 2.71521 -T 395 427 repeat repeat 2.71521 -T 395 436 stop stop 2.71521 -F 396 9.90342 -T 396 747 , , 0.192577 -T 396 765 hundred hundred 2.71521 -T 396 774 o o 2.71521 -T 396 792 w w 2.71521 -F 397 10.7134 -T 397 880 , , 0.212511 -T 397 883 b b 2.30972 -T 397 889 f f 2.30972 -F 398 10.5171 -T 398 1083 , , 0.411006 -T 398 1087 enter enter 3.0028 -T 398 1092 forty forty 3.0028 -T 398 1108 rubout rubout 1.20517 -F 399 10.3965 -T 399 1148 , , 0.193886 -T 399 1156 erase erase 1.61641 -F 400 10.3435 -T 400 1306 , , 0.160895 -T 400 1318 forty forty 3.0028 -T 400 1332 rubout rubout 3.0028 -T 400 1335 seventeen seventeen 3.0028 -T 400 1342 twenty twenty 3.0028 -F 401 10.9532 -T 401 1378 , , 0.205936 -T 401 1380 b b 2.71521 -T 401 1394 g g 2.71521 -T 401 1408 repeat repeat 2.71521 -F 402 10.3854 -T 402 0 , , 1.23196 -T 402 403 and and 5.90705 -T 402 404 august august 5.90705 -T 402 405 b b 5.05033 -T 402 406 d d 5.21497 -T 402 407 eight eight 2.8658 -T 402 408 eleven eleven 5.90705 -T 402 409 enter enter 3.41612 -T 402 410 erase erase 4.73941 -T 402 411 f f 5.65798 -T 402 412 fifty fifty 4.73941 -T 402 413 five five 3.24757 -T 402 414 forty forty 4.73941 -T 402 415 four four 2.25262 -T 402 416 h h 4.83826 -T 402 417 help help 5.90705 -T 402 418 january january 4.73941 -T 402 419 l l 4.89445 -T 402 420 march march 5.90705 -T 402 421 nine nine 3.87318 -T 402 422 ninety ninety 5.90705 -T 402 423 no no 4.21534 -T 402 424 oh oh 3.41612 -T 402 425 one one 2.04631 -T 402 426 r r 4.42058 -T 402 427 repeat repeat 4.21534 -T 402 428 rubout rubout 3.41612 -T 402 429 s s 4.73941 -T 402 430 september september 5.90705 -T 402 431 seven seven 2.9777 -T 402 432 seventy seventy 5.90705 -T 402 433 six six 2.76517 -T 402 434 sixty sixty 4.73941 -T 402 435 start start 5.90705 -T 402 436 stop stop 4.21534 -T 402 437 thirty thirty 5.90705 -T 402 438 thousand thousand 4.21534 -T 402 439 three three 3.61874 -T 402 440 twelve twelve 5.90705 -T 402 441 twenty twenty 4.73941 -T 402 442 two two 2.3742 -T 402 443 x x 5.90705 -T 402 444 z z 5.90705 -T 402 445 zero zero 5.90705 -F 403 10.1742 -T 403 39 , , 0.0212152 -T 403 40 a a 1.61641 -F 404 10.4401 -T 404 51 , , -1.40497e-08 -F 405 10.653 -T 405 54 , , 0.129487 -T 405 72 r r 1.61641 -F 406 10.1999 -T 406 112 , , 0.112161 -T 406 113 a a 1.61641 -F 407 10.4274 -T 407 183 , , 0.225035 -T 407 194 five five 2.12137 -T 407 196 four four 2.12137 -T 407 197 fourteen fourteen 3.919 -T 407 209 q q 3.919 -T 407 224 two two 2.12137 -T 407 226 zero zero 3.919 -F 408 9.78978 -T 408 243 , , 0.101637 -T 408 246 seventeen seventeen 1.61641 -F 409 10.8275 -T 409 250 , , 0.0761468 -T 409 267 three three 3.40829 -T 409 268 twenty twenty 3.40829 -T 409 270 zero zero 3.40829 -F 410 9.80338 -T 410 271 , , 0.0954983 -T 410 275 e e 2.30972 -T 410 283 o o 2.30972 -F 411 9.99903 -T 411 293 , , 0.116887 -T 411 304 i i 1.61641 -F 412 10.4308 -T 412 335 , , 2.50939e-09 -F 413 10.7018 -T 413 350 , , 0.118919 -T 413 356 eight eight 3.56233 -T 413 376 one one 1.7647 -F 414 10.5197 -T 414 392 , , 0.0209557 -T 414 396 nine nine 2.30972 -T 414 401 two two 2.30972 -F 415 10.6089 -T 415 402 , , 0.223456 -T 415 411 f f 4.50685 -T 415 415 four four 1.72763 -T 415 429 s s 4.50685 -T 415 431 seven seven 2.10249 -T 415 435 start start 4.50685 -T 415 441 twenty twenty 4.50685 -F 416 10.5723 -T 416 492 , , 0.197647 -T 416 494 b b 1.61641 -F 417 10.0711 -T 417 527 , , 0.183054 -T 417 535 rubout rubout 1.61641 -F 418 9.7534 -T 418 597 , , -2.44923e-10 -F 419 10.504 -T 419 641 , , 0.188857 -T 419 660 o o 1.61641 -F 420 9.80467 -T 420 706 , , 0.0582737 -T 420 709 twenty twenty 1.61641 -F 421 9.81317 -T 421 747 , , 0.102325 -T 421 771 nine nine 3.0028 -T 421 773 no no 3.0028 -T 421 795 zero zero 3.0028 -F 422 10.2116 -T 422 802 , , 0.175201 -T 422 806 one one 1.61641 -F 423 10.2414 -T 423 812 , , 0.426547 -T 423 814 enter enter 2.71521 -T 423 821 rubout rubout 0.91758 -F 424 11.1691 -T 424 866 , , 0.156142 -T 424 877 three three 1.61066 -F 425 11.3077 -T 425 880 , , 0.806734 -T 425 882 august august 4.70764 -T 425 885 e e 4.70764 -T 425 908 oh oh 2.91001 -T 425 928 two two 0.589692 -T 425 934 zero zero 4.70764 -F 426 11.0649 -T 426 980 , , 0.125219 -T 426 994 o o 1.61641 -F 427 9.91345 -T 427 1009 , , 0.138334 -T 427 1012 erase erase 2.71521 -T 427 1016 m m 2.71521 -T 427 1019 r r 2.71521 -F 428 10.1945 -T 428 1023 , , 0.196632 -T 428 1027 e e 3.40829 -T 428 1032 j j 1.61066 -F 429 10.9741 -T 429 1048 , , 0.201953 -T 429 1051 c c 2.30972 -T 429 1069 u u 2.30972 -F 430 9.86723 -T 430 1077 , , 0.126764 -T 430 1081 sixth sixth 1.61641 -F 431 10.2513 -T 431 1083 , , 0.145259 -T 431 1103 october october 3.81377 -T 431 1110 seven seven 3.81377 -T 431 1114 sixty sixty 3.81377 -T 431 1121 twenty twenty 3.81377 -T 431 1122 two two 2.01614 -F 432 10.1353 -T 432 1135 , , -2.41107e-09 -F 433 10.3125 -T 433 1148 , , 0.109928 -T 433 1151 c c 4.01433 -T 433 1175 seven seven 2.2167 -T 433 1188 twenty twenty 4.01433 -T 433 1191 yes yes 4.01433 -F 434 10.9084 -T 434 1200 , , 0.0407463 -T 434 1201 eight eight 2.30972 -F 435 10.1786 -T 435 1216 , , 0.0799043 -T 435 1221 repeat repeat 1.61641 -F 436 11.144 -T 436 1224 , , 0.90324 -T 436 1226 enter enter 0.310849 -F 437 10.4368 -T 437 1283 , , 0.179046 -T 437 1295 three three 1.61641 -F 438 9.65562 -T 438 1297 , , 0.036277 -T 438 1304 seven seven 2.71521 -T 438 1305 three three 2.71521 -F 439 10.2045 -T 439 1306 , , 0.0219243 -T 439 1315 enter enter 3.22592 -F 440 9.9346 -T 440 1349 , , 0.16994 -T 440 1354 nineteen nineteen 1.61641 -F 441 10.2329 -T 441 1360 , , 0.0666381 -T 441 1369 one one 2.30972 -F 442 11.3 -T 442 1378 , , 0.552688 -T 442 1406 one one 1.60997 -T 442 1419 twelve twelve 4.38919 -T 442 1421 two two 0.948205 -F 443 9.60394 -T 443 1504 , , 0.20467 -T 443 1512 g g 1.61641 -F 444 9.67049 -T 444 1579 , , 0.165392 -T 444 1589 i i 1.61641 -F 445 9.84512 -T 445 1609 , , 0.180254 -T 445 1612 e e 1.61641 -F 446 10.0682 -T 446 0 , , 0.914687 -T 446 447 a a 2.99244 -T 446 448 eighty eighty 2.99244 -T 446 449 fourteen fourteen 2.99244 -T 446 450 repeat repeat 1.82457 -T 446 451 s s 2.99244 -T 446 452 sixty sixty 1.3005 -F 447 10.7789 -T 447 5 , , 0.209665 -T 447 7 b b 1.61641 -F 448 10.1686 -T 448 233 , , 0.190842 -T 448 236 five five 1.61641 -F 449 10.2381 -T 449 446 , , 0.16994 -T 449 451 s s 1.61641 -F 450 9.9419 -T 450 1009 , , 0.166788 -T 450 1010 b b 2.30972 -T 450 1015 l l 2.30972 -F 451 10.9147 -T 451 1048 , , 0.142537 -T 451 1062 o o 1.61641 -F 452 10.8677 -T 452 1200 , , -1.421e-09 -F 453 9.74862 -T 453 0 , , 0.595155 -T 453 454 nineteen nineteen 0.795083 -F 454 11.6796 -T 454 796 , , 0.171813 -T 454 797 fifty fifty 1.61641 -F 455 10.4661 -T 455 0 , , 1.31266 -T 455 456 a a 2.61067 -T 455 457 b b 5.13104 -T 455 458 c c 4.37238 -T 455 459 d d 3.84831 -T 455 460 e e 4.37238 -T 455 461 eighty eighty 5.54002 -T 455 462 forty forty 5.54002 -T 455 463 h h 0.804293 -T 455 464 i i 2.73662 -T 455 465 j j 4.37238 -T 455 466 k k 4.37238 -T 455 467 l l 2.61067 -T 455 468 m m 5.42278 -T 455 469 n n 3.50615 -T 455 470 nine nine 4.37238 -T 455 471 o o 4.84667 -T 455 472 one one 4.28415 -T 455 473 p p 5.30581 -T 455 474 q q 5.54002 -T 455 475 r r 4.37238 -T 455 476 s s 4.89203 -T 455 477 seventy seventy 5.54002 -T 455 478 t t 4.58072 -T 455 479 two two 4.33227 -T 455 480 u u 5.23765 -T 455 481 v v 4.37238 -T 455 482 w w 4.37238 -F 456 11.0405 -T 456 5 , , 0.47131 -T 456 7 b b 3.81377 -T 456 26 r r 1.03455 -T 456 28 six six 2.01614 -F 457 10.7327 -T 457 54 , , 0.209134 -T 457 61 forty forty 1.61641 -F 458 10.3642 -T 458 83 , , 0.204218 -T 458 87 d d 2.30972 -T 458 100 s s 2.30972 -F 459 10.5431 -T 459 112 , , 0.455431 -T 459 117 e e 0.91758 -T 459 134 r r 2.71521 -F 460 10.685 -T 460 146 , , 0.168155 -T 460 151 e e 2.30972 -T 460 155 four four 2.30972 -F 461 9.97778 -T 461 233 , , 5.00856e-09 -F 462 10.6249 -T 462 392 , , 0.126213 -T 462 393 eight eight 1.61641 -F 463 12.144 -T 463 492 , , 1.76937 -T 463 503 l l 5.56765 -T 463 506 o o 3.77002 -T 463 507 one one 0.140227 -T 463 517 two two 5.56765 -T 463 521 x x 5.56765 -F 464 11.2227 -T 464 544 , , 0.364684 -T 464 546 b b 1.29152 -T 464 556 k k 3.69588 -T 464 568 u u 3.69588 -F 465 9.89815 -T 465 571 , , 0.180912 -T 465 580 h h 2.30972 -T 465 594 w w 2.30972 -F 466 9.83253 -T 466 607 , , 0.193805 -T 466 613 eighty eighty 2.30972 -T 466 619 k k 2.30972 -F 467 10.7833 -T 467 641 , , 0.468201 -T 467 646 e e 1.03455 -T 467 651 g g 2.01614 -T 467 665 seventy seventy 3.81377 -F 468 10.1464 -T 468 676 , , -3.41483e-10 -F 469 10.2273 -T 469 714 , , 0.0814667 -T 469 730 m m 3.0028 -T 469 731 n n 3.0028 -T 469 732 o o 3.0028 -T 469 734 p p 3.0028 -F 470 9.80863 -T 470 747 , , 0.0977874 -T 470 771 nine nine 2.30972 -T 470 785 six six 2.30972 -F 471 10.7258 -T 471 825 , , 0.186291 -T 471 852 t t 1.61641 -F 472 10.5009 -T 472 880 , , 2.16335e-09 -F 473 10.7166 -T 473 935 , , 0.206786 -T 473 939 d d 1.61641 -F 474 9.85425 -T 474 959 , , 0.20624 -T 474 978 y y 1.61641 -F 475 10.948 -T 475 980 , , 0.00838285 -T 475 994 o o 2.30972 -F 476 10.9359 -T 476 1048 , , 0.163803 -T 476 1064 p p 1.61641 -F 477 10.2577 -T 477 1135 , , 0.122363 -T 477 1140 nine nine 1.61641 -F 478 11.0344 -T 478 1234 , , 0.194584 -T 478 1252 o o 1.61641 -F 479 10.9652 -T 479 1378 , , 0.21794 -T 479 1386 eighty eighty 2.30972 -T 479 1397 hundred hundred 2.30972 -F 480 10.5204 -T 480 1424 , , 0.217178 -T 480 1437 k k 1.61641 -F 481 10.3929 -T 481 1453 , , 0.0895633 -T 481 1459 i i 2.30972 -T 481 1470 seven seven 2.30972 -F 482 10.0468 -T 482 1476 , , 0.105104 -T 482 1480 d d 2.30972 -T 482 1490 n n 2.30972 -F 483 9.85719 -T 483 0 , , 0.703721 -T 483 484 enter enter 3.09767 -T 483 485 g g 3.09767 -T 483 486 h h 3.09767 -T 483 487 l l 3.09767 -T 483 488 repeat repeat 1.93003 -T 483 489 rubout rubout 3.09767 -T 483 490 x x 3.09767 -T 483 491 yes yes 1.93003 -F 484 10.9553 -T 484 250 , , 0.203978 -T 484 267 three three 1.61641 -F 485 10.6748 -T 485 455 , , 0.208705 -T 485 458 c c 1.61641 -F 486 10.5075 -T 486 492 , , 0.1329 -T 486 506 o o 1.61641 -F 487 10.5188 -T 487 641 , , 0.203614 -T 487 672 u u 1.61641 -F 488 9.79043 -T 488 1009 , , 0.0153145 -T 488 1021 stop stop 2.30972 -F 489 10.1768 -T 489 1023 , , 0.178966 -T 489 1034 m m 1.61641 -F 490 9.60647 -T 490 1504 , , 0.207197 -T 490 1529 z z 1.61641 -F 491 10.1986 -T 491 1565 , , 0.177409 -T 491 1568 f f 2.30972 -T 491 1576 u u 2.30972 -F 492 10.3746 -T 492 0 , , 1.22116 -T 492 493 a a 1.83539 -T 492 494 b b 3.7516 -T 492 495 e e 2.98208 -T 492 496 f f 4.09377 -T 492 497 fifty fifty 5.78548 -T 492 498 four four 4.70566 -T 492 499 g g 4.61783 -T 492 500 h h 4.82746 -T 492 501 i i 3.29454 -T 492 502 k k 4.61783 -T 492 503 l l 4.61783 -T 492 504 n n 3.7516 -T 492 505 nine nine 5.1093 -T 492 506 o o 2.4686 -T 492 507 one one 1.1308 -T 492 508 p p 4.09377 -T 492 509 q q 5.78548 -T 492 510 r r 4.09377 -T 492 511 s s 4.80052 -T 492 512 seven seven 4.85533 -T 492 513 seventy seventy 5.78548 -T 492 514 six six 4.71786 -T 492 515 t t 3.7516 -T 492 516 three three 4.92786 -T 492 517 two two 4.24077 -T 492 518 u u 4.61783 -T 492 519 v v 5.66284 -T 492 520 w w 5.54449 -T 492 521 x x 5.78548 -T 492 522 y y 4.09377 -T 492 523 z z 5.78548 -F 493 10.7939 -T 493 5 , , 0.224632 -T 493 10 e e 2.99681 -T 493 21 m m 2.99681 -T 493 26 r r 1.35369 -T 493 34 v v 2.99681 -T 493 35 w w 2.99681 -T 493 36 x x 4.79467 -F 494 10.6572 -T 494 54 , , 0.133644 -T 494 55 a a 3.0028 -T 494 62 g g 3.0028 -T 494 66 k k 3.0028 -T 494 80 x x 3.0028 -F 495 10.7866 -T 495 146 , , 0.269775 -T 495 147 a a 1.89825 -T 495 158 i i 3.69588 -T 495 168 q q 3.69588 -T 495 179 w w 1.89825 -F 496 9.9416 -T 496 293 , , 0.0594533 -T 496 296 d d 2.71521 -F 497 10.5514 -T 497 335 , , 0.120621 -T 497 347 two two 1.61641 -F 498 10.5734 -T 498 402 , , 0.188016 -T 498 428 rubout rubout 1.61641 -F 499 10.6698 -T 499 455 , , 0.203627 -T 499 473 p p 2.30972 -T 499 481 v v 2.30972 -F 500 10.5861 -T 500 492 , , 0.211484 -T 500 518 u u 1.61641 -F 501 10.9859 -T 501 544 , , 0.127906 -T 501 554 g g 3.40829 -T 501 559 n n 1.61066 -T 501 563 r r 3.40829 -F 502 9.78749 -T 502 607 , , 0.148756 -T 502 618 j j 2.30972 -T 502 631 t t 2.30972 -F 503 10.3179 -T 503 641 , , 0.00277787 -T 503 642 a a 2.30972 -F 504 10.2478 -T 504 714 , , 0.101921 -T 504 717 c c 3.0028 -T 504 722 five five 3.0028 -T 504 728 k k 3.0028 -T 504 736 s s 3.0028 -F 505 9.90066 -T 505 747 , , 0.189818 -T 505 761 four four 1.61641 -F 506 10.6664 -T 506 825 , , 0.126926 -T 506 828 b b 2.38387 -T 506 831 e e 4.18149 -T 506 854 u u 2.38387 -T 506 857 y y 4.18149 -F 507 13.5859 -T 507 880 , , 3.08501 -T 507 893 five five 0.0382229 -T 507 898 help help 5.48775 -F 508 10.5637 -T 508 935 , , 0.0538627 -T 508 939 d d 2.71521 -F 509 9.85425 -T 509 959 , , 0.20624 -T 509 963 f f 1.61641 -F 510 11.4776 -T 510 980 , , 0.537966 -T 510 989 i i 0.91758 -T 510 1001 sixty sixty 2.71521 -F 511 10.9359 -T 511 1048 , , 0.163803 -T 511 1064 p p 1.61641 -F 512 10.2591 -T 512 1083 , , 0.153021 -T 512 1086 eight eight 1.61641 -F 513 10.2577 -T 513 1135 , , 0.122363 -T 513 1144 seven seven 1.61641 -F 514 10.4089 -T 514 1148 , , 0.206345 -T 514 1161 h h 1.61641 -F 515 11.086 -T 515 1234 , , 0.246195 -T 515 1238 e e 1.20517 -F 516 10.393 -T 516 1306 , , 0.210433 -T 516 1336 seventy seventy 1.61641 -F 517 10.8654 -T 517 1378 , , 0.118098 -T 517 1396 help help 2.30972 -T 517 1411 six six 2.30972 -F 518 10.3941 -T 518 1424 , , 0.0909133 -T 518 1431 f f 2.30972 -F 519 10.3034 -T 519 1453 , , 3.6048e-09 -F 520 10.0382 -T 520 1476 , , 0.0965446 -T 520 1491 o o 1.61641 -F 521 9.60647 -T 521 1504 , , 0.207197 -T 521 1526 w w 1.61641 -F 522 9.6518 -T 522 1531 , , 0.0452342 -T 522 1535 d d 2.71521 -T 522 1541 four four 2.71521 -F 523 9.6467 -T 523 1579 , , 0.141605 -T 523 1580 a a 1.61641 -F 524 9.71408 -T 524 0 , , 0.560616 -T 524 525 f f 1.48839 -T 524 526 h h 1.48839 -F 525 10.0326 -T 525 293 , , 0.150463 -T 525 308 o o 1.61641 -F 526 10.5075 -T 526 492 , , 0.1329 -T 526 506 o o 1.61641 -F 527 9.88809 -T 527 0 , , 0.734622 -T 527 528 a a 3.28003 -T 527 529 b b 3.28003 -T 527 530 enter enter 1.58809 -T 527 531 go go 2.11239 -T 527 532 help help 3.28003 -T 527 533 j j 3.28003 -T 527 534 n n 3.28003 -T 527 535 rubout rubout 3.28003 -T 527 536 v v 3.28003 -F 528 10.7446 -T 528 5 , , 0.175353 -T 528 27 s s 1.61641 -F 529 10.7327 -T 529 54 , , 0.209134 -T 529 65 j j 1.61641 -F 530 11.1828 -T 530 250 , , 0.431429 -T 530 251 eight eight 0.91758 -T 530 264 six six 2.71521 -F 531 9.91555 -T 531 483 , , 0.0583649 -T 531 490 x x 2.30972 -F 532 10.0711 -T 532 527 , , 0.183054 -T 532 533 j j 1.61641 -F 533 9.90794 -T 533 571 , , 0.190699 -T 533 593 v v 1.61641 -F 534 10.2366 -T 534 714 , , 0.0907723 -T 534 719 e e 1.61641 -F 535 10.159 -T 535 1023 , , 0.16112 -T 535 1028 f f 1.61641 -F 536 10.3034 -T 536 1453 , , 3.6048e-09 -F 537 10.388 -T 537 0 , , 1.23455 -T 537 538 and and 0.789096 -T 537 539 eighty eighty 2.11239 -T 537 540 forty forty 3.28003 -T 537 541 s s 3.28003 -T 537 542 twenty twenty 3.28003 -T 537 543 w w 3.28003 -F 538 10.2435 -T 538 39 , , 0.0905255 -T 538 41 eighty eighty 1.00393 -F 539 10.1371 -T 539 233 , , 0.159274 -T 539 240 seven seven 2.30972 -T 539 242 three three 2.30972 -F 540 10.6249 -T 540 392 , , 0.126213 -T 540 396 nine nine 1.61641 -F 541 10.9772 -T 541 1048 , , 0.205037 -T 541 1049 a a 1.61641 -F 542 10.2664 -T 542 1360 , , 0.100222 -T 542 1376 three three 1.61641 -F 543 10.1568 -T 543 1476 , , 0.215107 -T 543 1479 c c 1.61641 -F 544 10.858 -T 544 0 , , 1.70458 -T 544 545 a a 3.86719 -T 544 546 b b 4.20913 -T 544 547 c c 2.43521 -T 544 548 d d 3.61276 -T 544 549 e e 2.97149 -T 544 550 f f 3.86719 -T 544 551 fifteen fifteen 5.90106 -T 544 552 five five 4.73342 -T 544 553 four four 5.18908 -T 544 554 g g 3.86719 -T 544 555 j j 5.90106 -T 544 556 k k 4.73342 -T 544 557 l l 2.85981 -T 544 558 m m 3.41013 -T 544 559 n n 2.04009 -T 544 560 o o 5.23858 -T 544 561 p p 4.20913 -T 544 562 q q 4.20913 -T 544 563 r r 4.20913 -T 544 564 s s 3.41013 -T 544 565 sixty sixty 5.90106 -T 544 566 t t 1.20494 -T 544 567 thirty thirty 5.90106 -T 544 568 u u 5.62956 -T 544 569 v v 3.41013 -T 544 570 y y 5.90106 -F 545 10.8994 -T 545 5 , , 0.330118 -T 545 21 m m 3.0028 -T 545 24 one one 1.20517 -F 546 11.1237 -T 546 54 , , 0.600221 -T 546 56 b b 2.71521 -T 546 73 s s 0.91758 -F 547 10.4953 -T 547 83 , , 0.335241 -T 547 90 fifty fifty 4.32449 -T 547 92 h h 0.883732 -T 547 104 two two 4.32449 -F 548 10.1702 -T 548 112 , , 0.0824953 -T 548 119 five five 3.22592 -T 548 127 m m 3.22592 -T 548 136 sixty sixty 3.22592 -F 549 10.6096 -T 549 146 , , 0.0927883 -T 549 161 l l 2.01614 -T 549 169 r r 2.01614 -T 549 171 seven seven 3.81377 -F 550 10.1837 -T 550 293 , , 0.301599 -T 550 313 t t 1.20517 -F 551 9.79584 -T 551 324 , , 0.126764 -T 551 325 enter enter 1.61641 -F 552 10.7695 -T 552 350 , , 0.186593 -T 552 359 f f 2.30972 -T 552 391 zero zero 2.30972 -F 553 10.5734 -T 553 402 , , 0.188016 -T 553 428 rubout rubout 1.61641 -F 554 10.4866 -T 554 455 , , 0.0204507 -T 554 469 n n 3.0028 -F 555 9.79431 -T 555 571 , , 0.0770743 -T 555 586 o o 1.61641 -F 556 9.81269 -T 556 607 , , 0.173956 -T 556 629 seven seven 2.30972 -T 556 634 two two 2.30972 -F 557 10.6403 -T 557 641 , , 0.325122 -T 557 650 five five 3.919 -T 557 655 k k 3.919 -T 557 656 l l 1.13978 -T 557 668 ten ten 3.919 -T 557 675 zero zero 3.919 -F 558 10.4821 -T 558 676 , , 0.335751 -T 558 689 i i 1.61066 -T 558 692 m m 3.40829 -T 558 694 o o 1.61066 -F 559 10.6919 -T 559 714 , , 0.546048 -T 559 717 c c 2.91001 -T 559 718 d d 1.92841 -T 559 724 g g 1.65625 -T 559 726 i i 2.30328 -T 559 734 p p 2.91001 -T 559 736 s s 2.91001 -T 559 741 three three 4.70764 -F 560 10.7192 -T 560 825 , , 0.179718 -T 560 842 m m 1.61641 -F 561 10.6529 -T 561 935 , , 0.143017 -T 561 936 a a 2.71521 -T 561 953 s s 2.71521 -T 561 956 three three 2.71521 -F 562 9.75944 -T 562 959 , , 0.111437 -T 562 966 g g 2.71521 -T 562 977 w w 2.71521 -F 563 10.9931 -T 563 980 , , 0.0534274 -T 563 984 d d 2.71521 -T 563 990 k k 2.71521 -F 564 10.9686 -T 564 1048 , , 0.196488 -T 564 1054 fifty fifty 3.40829 -T 564 1059 l l 3.40829 -T 564 1063 one one 3.40829 -T 564 1065 s s 3.40829 -T 564 1067 t t 1.61066 -F 565 10.9799 -T 565 1200 , , 0.112161 -T 565 1208 one one 1.61641 -F 566 13.1296 -T 566 1234 , , 2.28978 -T 566 1237 d d 5.52851 -T 566 1245 h h 3.73088 -T 566 1251 n n 5.52851 -T 566 1260 t t 0.100853 -F 567 10.3754 -T 567 1283 , , 0.117595 -T 567 1296 two two 1.61641 -F 568 10.3032 -T 568 1424 , , 3.36567e-10 -F 569 10.6456 -T 569 1453 , , 0.342252 -T 569 1456 e e 0.629066 -T 569 1474 y y 3.40829 -F 570 9.8209 -T 570 1531 , , 0.214327 -T 570 1552 q q 1.61641 -F 571 9.71724 -T 571 0 , , 0.563773 -T 571 572 a a 2.97448 -T 571 573 b b 4.38215 -T 571 574 c c 3.49855 -T 571 575 d d 4.54678 -T 571 576 e e 2.37788 -T 571 577 five five 3.85163 -T 571 578 four four 3.49855 -T 571 579 g g 4.41646 -T 571 580 h h 3.49855 -T 571 581 j j 4.66642 -T 571 582 k k 3.49855 -T 571 583 l l 4.22626 -T 571 584 m m 4.66642 -T 571 585 n n 4.04229 -T 571 586 o o 2.00693 -T 571 587 one one 3.49855 -T 571 588 q q 3.49855 -T 571 589 s s 4.14314 -T 571 590 seven seven 2.97448 -T 571 591 t t 3.83183 -T 571 592 u u 3.49855 -T 571 593 v v 3.49855 -T 571 594 w w 4.66642 -T 571 595 x x 4.66642 -T 571 596 z z 3.49855 -F 572 11.0181 -T 572 5 , , 0.448844 -T 572 21 m m 0.91758 -F 573 10.7241 -T 573 54 , , 0.20059 -T 573 80 x x 1.61641 -F 574 10.2313 -T 574 83 , , 0.0713354 -T 574 96 l l 2.30972 -F 575 10.2897 -T 575 112 , , 0.20204 -T 575 138 two two 1.61641 -F 576 10.7894 -T 576 146 , , 0.272555 -T 576 147 a a 1.42829 -T 576 153 f f 3.22592 -T 576 173 t t 3.22592 -F 577 10.7769 -T 577 350 , , 0.194046 -T 577 381 seven seven 1.61641 -F 578 10.5891 -T 578 402 , , 0.203725 -T 578 437 thirty thirty 2.30972 -T 578 438 thousand thousand 2.30972 -F 579 10.6836 -T 579 455 , , 0.217473 -T 579 474 q q 1.61641 -F 580 10.5621 -T 580 492 , , 0.187444 -T 580 494 b b 2.30972 -T 580 499 g g 2.30972 -F 581 9.90794 -T 581 571 , , 0.190699 -T 581 574 c c 1.61641 -F 582 9.81149 -T 582 607 , , 0.172758 -T 582 612 eight eight 2.30972 -T 582 634 two two 2.30972 -F 583 10.504 -T 583 641 , , 0.188857 -T 583 673 y y 1.61641 -F 584 10.3627 -T 584 676 , , 0.216321 -T 584 691 k k 1.61641 -F 585 10.3464 -T 585 714 , , 0.200522 -T 585 735 r r 1.61641 -F 586 10.9867 -T 586 825 , , 0.447165 -T 586 838 h h 1.7647 -T 586 844 ninety ninety 3.56233 -T 586 849 s s 1.7647 -T 586 850 six six 3.56233 -F 587 10.5966 -T 587 880 , , 0.09568 -T 587 896 go go 2.30972 -F 588 9.79556 -T 588 959 , , 0.147557 -T 588 965 five five 2.30972 -T 588 974 t t 2.30972 -F 589 10.9359 -T 589 1048 , , 0.163803 -T 589 1064 p p 1.61641 -F 590 10.2276 -T 590 1083 , , 0.121494 -T 590 1117 ten ten 2.71521 -T 590 1119 thousand thousand 2.71521 -F 591 11.0542 -T 591 1234 , , 0.214335 -T 591 1248 k k 1.61641 -F 592 10.4915 -T 592 1424 , , 0.188255 -T 592 1435 i i 2.30972 -T 592 1438 l l 2.30972 -F 593 10.5105 -T 593 1453 , , 0.207156 -T 593 1455 c c 2.30972 -T 593 1466 p p 2.30972 -F 594 10.1427 -T 594 1476 , , 0.20104 -T 594 1478 b b 1.61641 -F 595 9.60647 -T 595 1504 , , 0.207197 -T 595 1515 k k 1.61641 -F 596 9.63573 -T 596 1579 , , 0.130637 -T 596 1580 a a 2.30972 -T 596 1586 f f 2.30972 -F 597 9.7534 -T 597 0 , , 0.599933 -T 597 598 fifteenth fifteenth 1.48839 -T 597 599 twelfth twelfth 1.48839 -F 598 10.4418 -T 598 330 , , 2.78275e-08 -F 599 10.4418 -T 599 1347 , , 2.78275e-08 -F 600 9.74621 -T 600 0 , , 0.592745 -T 600 601 thirtieth thirtieth 1.89365 -T 600 602 twelfth twelfth 1.89365 -T 600 603 twenty twenty 1.89365 -F 601 10.847 -T 601 1281 , , 1.05209e-08 -F 602 10.4418 -T 602 1347 , , 2.78275e-08 -F 603 10.295 -T 603 1360 , , 0.128753 -T 603 1368 nine nine 1.61641 -F 604 9.7467 -T 604 0 , , 0.593238 -T 604 605 eleventh eleventh 1.48839 -T 604 606 twenty twenty 1.48839 -F 605 9.74862 -T 605 248 , , -1.21669e-10 -F 606 10.3497 -T 606 1360 , , 0.183474 -T 606 1375 third third 1.61641 -F 607 9.63873 -T 607 0 , , 0.485263 -T 607 608 a a 2.75527 -T 607 609 c c 4.76738 -T 607 610 d d 4.46828 -T 607 611 e e 2.24019 -T 607 612 eight eight 4.05151 -T 607 613 eighty eighty 5.04358 -T 607 614 f f 3.87594 -T 607 615 fifty fifty 5.04358 -T 607 616 h h 3.87594 -T 607 617 i i 3.00971 -T 607 618 j j 3.35187 -T 607 619 k k 3.87594 -T 607 620 l l 3.87594 -T 607 621 m m 4.59538 -T 607 622 nine nine 4.37341 -T 607 623 ninety ninety 5.04358 -T 607 624 o o 4.01927 -T 607 625 one one 3.45675 -T 607 626 p p 3.87594 -T 607 627 r r 3.67388 -T 607 628 s s 3.87594 -T 607 629 seven seven 4.11943 -T 607 630 six six 3.00971 -T 607 631 t t 3.35187 -T 607 632 three three 3.87594 -T 607 633 twenty twenty 5.04358 -T 607 634 two two 3.50487 -T 607 635 u u 3.87594 -T 607 636 v v 4.92695 -T 607 637 w w 3.00971 -T 607 638 x x 3.87594 -T 607 639 y y 3.87594 -T 607 640 z z 3.87594 -F 608 11.4844 -T 608 5 , , 0.915172 -T 608 26 r r 0.446702 -T 608 33 u u 3.22592 -F 609 10.3619 -T 609 83 , , 0.201862 -T 609 107 w w 1.61641 -F 610 10.1999 -T 610 112 , , 0.112161 -T 610 113 a a 1.61641 -F 611 10.664 -T 611 146 , , 0.147178 -T 611 151 e e 1.89825 -T 611 174 thirty thirty 3.69588 -F 612 10.36 -T 612 183 , , 0.157643 -T 612 194 five five 1.61641 -F 613 10.1686 -T 613 233 , , 0.190842 -T 613 237 four four 1.61641 -F 614 10.0659 -T 614 293 , , 0.183717 -T 614 300 five five 2.30972 -T 614 312 six six 2.30972 -F 615 10.611 -T 615 335 , , 0.180254 -T 615 346 three three 1.61641 -F 616 10.3746 -T 616 492 , , 2.10761e-09 -F 617 11.1824 -T 617 544 , , 0.324372 -T 617 553 four four 3.0028 -T 617 558 m m 3.0028 -T 617 559 n n 1.20517 -F 618 9.80638 -T 618 571 , , 0.0891451 -T 618 577 five five 2.71521 -T 618 596 z z 2.71521 -F 619 9.772 -T 619 607 , , 0.133272 -T 619 608 a a 2.30972 -T 619 632 three three 2.30972 -F 620 10.4092 -T 620 641 , , 0.0940732 -T 620 657 m m 2.30972 -F 621 10.3563 -T 621 676 , , 0.209979 -T 621 686 four four 1.61641 -F 622 9.91909 -T 622 747 , , 0.208244 -T 622 769 m m 1.61641 -F 623 10.101 -T 623 802 , , 0.0645843 -T 623 808 six six 1.61641 -F 624 10.7538 -T 624 825 , , 0.214315 -T 624 832 eight eight 1.61641 -F 625 11.3655 -T 625 880 , , 0.864609 -T 625 908 oh oh 0.512095 -F 626 10.5896 -T 626 935 , , 0.0797519 -T 626 945 g g 2.30972 -F 627 11.0649 -T 627 980 , , 0.125219 -T 627 994 o o 1.61641 -F 628 10.9605 -T 628 1048 , , 0.18836 -T 628 1065 s s 2.30972 -T 628 1068 thirty thirty 2.30972 -F 629 10.3031 -T 629 1083 , , 0.196973 -T 629 1120 three three 1.61641 -F 630 10.2955 -T 630 1148 , , 0.0929062 -T 630 1184 thirty thirty 3.0028 -T 630 1185 thousand thousand 3.0028 -F 631 10.9676 -T 631 1234 , , 0.127811 -T 631 1241 fifty fifty 2.71521 -T 631 1249 l l 2.71521 -F 632 10.3184 -T 632 1306 , , 0.135839 -T 632 1319 four four 2.30972 -T 632 1339 thirty thirty 2.30972 -F 633 10.2664 -T 633 1360 , , 0.100222 -T 633 1376 three three 1.61641 -F 634 10.9175 -T 634 1378 , , 0.170226 -T 634 1384 eight eight 2.30972 -T 634 1412 sixty sixty 2.30972 -F 635 10.4777 -T 635 1424 , , 0.174456 -T 635 1433 four four 2.30972 -T 635 1440 n n 2.30972 -F 636 10.5177 -T 636 1453 , , 0.214327 -T 636 1471 thirty thirty 1.61641 -F 637 10.0256 -T 637 1476 , , 0.0839964 -T 637 1487 h h 3.0028 -T 637 1500 w w 3.0028 -T 637 1503 z z 3.0028 -F 638 9.52553 -T 638 1504 , , 0.126259 -T 638 1528 y y 2.30972 -T 638 1530 zero zero 2.30972 -F 639 9.74824 -T 639 1531 , , 0.14167 -T 639 1535 d d 2.30972 -T 639 1544 j j 2.30972 -F 640 9.63574 -T 640 1579 , , 0.130643 -T 640 1595 o o 2.30972 -T 640 1600 sixty sixty 2.30972 -F 641 10.3151 -T 641 0 , , 1.16168 -T 641 642 a a 2.33528 -T 641 643 b b 4.98006 -T 641 644 c c 4.56188 -T 641 645 d d 2.58765 -T 641 646 e e 1.62194 -T 641 647 eight eight 4.72792 -T 641 648 f f 4.03781 -T 641 649 fifty fifty 4.56188 -T 641 650 five five 4.44954 -T 641 651 g g 4.03781 -T 641 652 h h 4.76799 -T 641 653 i i 2.49646 -T 641 654 j j 5.72952 -T 641 655 k k 3.69565 -T 641 656 l l 2.07509 -T 641 657 m m 4.56188 -T 641 658 n n 4.64019 -T 641 659 nine nine 5.04982 -T 641 660 o o 3.44121 -T 641 661 one one 4.13317 -T 641 662 p p 5.15482 -T 641 663 r r 4.03781 -T 641 664 s s 4.03781 -T 641 665 seventy seventy 5.72952 -T 641 666 six six 4.65839 -T 641 667 t t 4.42974 -T 641 668 ten ten 5.72952 -T 641 669 thirty thirty 5.72952 -T 641 670 three three 4.56188 -T 641 671 two two 4.18129 -T 641 672 u u 4.03781 -T 641 673 y y 3.44121 -T 641 674 z z 4.56188 -T 641 675 zero zero 5.72952 -F 642 11.1306 -T 642 5 , , 0.561342 -T 642 6 a a 4.25564 -T 642 8 c c 1.47642 -T 642 22 n n 1.47642 -T 642 24 one one 2.45801 -F 643 10.653 -T 643 54 , , 0.129487 -T 643 58 e e 1.61641 -F 644 10.2313 -T 644 83 , , 0.0713354 -T 644 109 z z 2.30972 -F 645 10.1231 -T 645 112 , , 0.0354215 -T 645 113 a a 2.2167 -T 645 114 b b 4.01433 -T 645 121 fourteen fourteen 4.01433 -T 645 124 j j 4.01433 -T 645 137 t t 4.01433 -F 646 10.7501 -T 646 146 , , 0.233289 -T 646 154 fifty fifty 4.94872 -T 646 164 nine nine 4.94872 -T 646 166 one one 2.1695 -T 646 170 s s 3.15109 -T 646 172 seventy seventy 4.94872 -T 646 181 y y 2.1695 -F 647 10.3173 -T 647 183 , , 0.11494 -T 647 196 four four 1.61641 -F 648 9.96593 -T 648 293 , , 0.0837842 -T 648 308 o o 2.71521 -T 648 314 thirty thirty 2.71521 -T 648 318 x x 2.71521 -F 649 10.4942 -T 649 335 , , 0.0634171 -T 649 343 seven seven 2.30972 -F 650 10.6498 -T 650 350 , , 0.0669836 -T 650 382 six six 2.30972 -F 651 10.9441 -T 651 455 , , 0.477934 -T 651 456 a a 0.91758 -T 651 464 i i 2.71521 -F 652 10.5723 -T 652 492 , , 0.197647 -T 652 504 n n 1.61641 -F 653 11.1477 -T 653 544 , , 0.289662 -T 653 545 a a 4.10136 -T 653 549 e e 1.69701 -T 653 550 f f 4.10136 -T 653 554 g g 4.10136 -T 653 559 n n 1.69701 -T 653 560 o o 4.10136 -T 653 561 p p 4.10136 -F 654 9.90794 -T 654 571 , , 0.190699 -T 654 592 u u 1.61641 -F 655 9.70484 -T 655 607 , , 0.0661132 -T 655 614 f f 3.0028 -T 655 616 h h 3.0028 -T 655 617 i i 3.0028 -F 656 10.5119 -T 656 641 , , 0.196734 -T 656 643 b b 4.50685 -T 656 644 c c 4.50685 -T 656 653 i i 1.72763 -T 656 654 j j 4.50685 -T 656 659 nine nine 4.50685 -T 656 662 p p 4.50685 -T 656 673 y y 2.70922 -F 657 10.223 -T 657 676 , , 0.0766419 -T 657 702 u u 2.30972 -F 658 10.3279 -T 658 714 , , 0.182013 -T 658 736 s s 1.61641 -F 659 9.90066 -T 659 747 , , 0.189818 -T 659 761 four four 1.61641 -F 660 10.5395 -T 660 825 , , 2.28372e-09 -F 661 10.6801 -T 661 880 , , 0.179185 -T 661 906 nine nine 1.61641 -F 662 10.5098 -T 662 935 , , 6.31573e-10 -F 663 11.0774 -T 663 980 , , 0.137742 -T 663 991 l l 2.71521 -T 663 998 r r 2.71521 -T 663 1000 seven seven 2.71521 -F 664 10.8534 -T 664 1048 , , 0.0812394 -T 664 1058 k k 2.71521 -T 664 1071 w w 2.71521 -F 665 10.2577 -T 665 1135 , , 0.122363 -T 665 1144 seven seven 1.61641 -F 666 10.3582 -T 666 1148 , , 0.155562 -T 666 1186 three three 1.61641 -F 667 11.0493 -T 667 1234 , , 0.209434 -T 667 1250 m m 1.61641 -F 668 9.69362 -T 668 1264 , , 0.188628 -T 668 1273 seventy seventy 1.61641 -F 669 10.2578 -T 669 1283 , , 3.84471e-10 -F 670 10.3506 -T 670 1306 , , 0.168065 -T 670 1334 seven seven 2.30972 -T 670 1336 seventy seventy 2.30972 -F 671 10.94 -T 671 1378 , , 0.192778 -T 671 1387 enter enter 1.61641 -F 672 10.4586 -T 672 1424 , , 0.155434 -T 672 1426 b b 2.71521 -T 672 1428 d d 2.71521 -T 672 1446 s s 2.71521 -F 673 9.72316 -T 673 1531 , , 0.116594 -T 673 1534 c c 3.22592 -T 673 1539 fifty fifty 3.22592 -T 673 1554 s s 3.22592 -T 673 1560 u u 3.22592 -T 673 1564 z z 3.22592 -F 674 9.63574 -T 674 1579 , , 0.130643 -T 674 1584 e e 2.30972 -T 674 1597 r r 2.30972 -F 675 9.81575 -T 675 1609 , , 0.150885 -T 675 1614 enter enter 1.61641 -F 676 10.1464 -T 676 0 , , 0.992898 -T 676 677 a a 1.47066 -T 676 678 b b 4.1161 -T 676 679 c c 5.27502 -T 676 680 d d 4.97591 -T 676 681 e e 2.48011 -T 676 682 eight eight 4.1161 -T 676 683 f f 5.28374 -T 676 684 fifty fifty 5.28374 -T 676 685 forty forty 5.28374 -T 676 686 four four 4.4774 -T 676 687 g g 4.84558 -T 676 688 h h 4.1161 -T 676 689 i i 2.79281 -T 676 690 j j 4.1161 -T 676 691 k k 5.28374 -T 676 692 m m 3.59203 -T 676 693 n n 3.24987 -T 676 694 o o 2.14186 -T 676 695 p p 3.24987 -T 676 696 q q 5.28374 -T 676 697 s s 3.59203 -T 676 698 seven seven 4.62707 -T 676 699 t t 4.26096 -T 676 700 thirty thirty 5.28374 -T 676 701 two two 4.01251 -T 676 702 u u 3.59203 -T 676 703 v v 4.1161 -T 676 704 x x 5.28374 -T 676 705 y y 4.1161 -F 677 10.9656 -T 677 5 , , 0.396331 -T 677 26 r r 0.940606 -T 677 27 s s 2.86326 -T 677 29 t t 2.86326 -T 677 33 u u 4.66112 -T 677 38 z z 4.66112 -F 678 10.6488 -T 678 54 , , 0.12528 -T 678 58 e e 2.30972 -T 678 82 z z 2.30972 -F 679 10.2619 -T 679 83 , , 0.101842 -T 679 95 k k 1.61641 -F 680 10.2946 -T 680 112 , , 0.206931 -T 680 127 m m 1.61641 -F 681 10.9078 -T 681 146 , , 0.390962 -T 681 162 m m 3.69588 -T 681 169 r r 1.29152 -T 681 170 s s 1.89825 -F 682 11.0102 -T 682 183 , , 0.807923 -T 682 196 four four 0.512095 -F 683 10.0933 -T 683 293 , , 0.211113 -T 683 302 g g 1.61641 -F 684 10.5817 -T 684 335 , , 0.150885 -T 684 339 four four 1.61641 -F 685 10.5834 -T 685 392 , , 0.0846471 -T 685 400 three three 1.61641 -F 686 10.6041 -T 686 402 , , 0.218683 -T 686 432 seventy seventy 1.61641 -F 687 10.6748 -T 687 455 , , 0.208705 -T 687 460 e e 1.61641 -F 688 10.5712 -T 688 492 , , 0.1966 -T 688 510 r r 2.30972 -T 688 512 seven seven 2.30972 -F 689 11.0425 -T 689 544 , , 0.184419 -T 689 547 c c 1.61066 -T 689 548 d d 3.40829 -T 689 567 thirty thirty 3.40829 -F 690 9.85379 -T 690 571 , , 0.136555 -T 690 587 one one 2.30972 -T 690 590 seven seven 2.30972 -F 691 9.84745 -T 691 607 , , 0.208719 -T 691 622 nine nine 1.61641 -F 692 10.2435 -T 692 676 , , 0.0971633 -T 692 697 s s 2.71521 -T 692 703 v v 2.71521 -F 693 10.2206 -T 693 714 , , 0.0747803 -T 693 745 y y 3.0028 -T 693 746 z z 3.0028 -F 694 11.0804 -T 694 825 , , 0.540854 -T 694 838 h h 4.01433 -T 694 843 n n 2.2167 -T 694 848 r r 0.749491 -F 695 10.9207 -T 695 935 , , 0.410842 -T 695 940 e e 3.0028 -T 695 948 l l 3.0028 -T 695 953 s s 1.20517 -F 696 9.78417 -T 696 959 , , 0.13616 -T 696 969 n n 1.61641 -F 697 10.8673 -T 697 1048 , , 0.0952113 -T 697 1057 j j 2.71521 -T 697 1060 m m 2.71521 -F 698 10.2591 -T 698 1083 , , 0.153021 -T 698 1108 rubout rubout 1.61641 -F 699 11.0443 -T 699 1234 , , 0.204512 -T 699 1244 g g 1.61641 -F 700 10.4368 -T 700 1283 , , 0.179046 -T 700 1290 nine nine 1.61641 -F 701 10.9593 -T 701 1378 , , 0.212078 -T 701 1413 start start 1.61641 -F 702 10.4813 -T 702 1424 , , 0.178121 -T 702 1432 five five 2.71521 -T 702 1433 four four 2.71521 -T 702 1443 p p 2.71521 -F 703 10.4923 -T 703 1453 , , 0.188926 -T 703 1465 o o 2.30972 -T 703 1467 q q 2.30972 -F 704 9.60647 -T 704 1504 , , 0.207197 -T 704 1522 seventy seventy 1.61641 -F 705 9.77943 -T 705 1531 , , 0.172859 -T 705 1532 a a 2.30972 -T 705 1546 m m 2.30972 -F 706 9.7464 -T 706 0 , , 0.592931 -T 706 707 third third 1.89365 -T 706 708 twentieth twentieth 1.89365 -T 706 709 twenty twenty 1.89365 -F 707 10.847 -T 707 1279 , , 1.05209e-08 -F 708 9.74862 -T 708 1358 , , -1.21669e-10 -F 709 10.376 -T 709 1360 , , 0.209762 -T 709 1363 fifth fifth 1.61641 -F 710 9.74116 -T 710 0 , , 0.587691 -T 710 711 nineteen nineteen 1.89365 -T 710 712 ninth ninth 1.89365 -T 710 713 twenty twenty 1.89365 -F 711 11.6796 -T 711 796 , , 0.171813 -T 711 798 forty forty 1.61641 -F 712 9.74034 -T 712 809 , , -9.30224e-10 -F 713 10.376 -T 713 1360 , , 0.209762 -T 713 1364 first first 1.61641 -F 714 10.1458 -T 714 0 , , 0.992373 -T 714 715 a a 2.77116 -T 714 716 b b 3.87917 -T 714 717 c c 3.10964 -T 714 718 d d 2.59616 -T 714 719 e e 2.09996 -T 714 720 eight eight 4.55862 -T 714 721 f f 5.4184 -T 714 722 five five 4.22133 -T 714 723 four four 4.47687 -T 714 724 g g 3.10964 -T 714 725 h h 4.59868 -T 714 726 i i 2.77116 -T 714 727 j j 4.7454 -T 714 728 k k 4.22133 -T 714 729 l l 4.65486 -T 714 730 m m 4.22133 -T 714 731 n n 2.98369 -T 714 732 o o 3.87917 -T 714 733 one one 3.4221 -T 714 734 p p 3.10964 -T 714 735 r r 3.87917 -T 714 736 s s 3.25378 -T 714 737 seventy seventy 5.91304 -T 714 738 six six 4.48908 -T 714 739 t t 2.77116 -T 714 740 thirty thirty 4.7454 -T 714 741 three three 4.22133 -T 714 742 two two 4.01198 -T 714 743 u u 3.62473 -T 714 744 x x 4.7454 -T 714 745 y y 4.22133 -T 714 746 z z 4.22133 -F 715 10.7759 -T 715 5 , , 0.206678 -T 715 6 a a 4.01433 -T 715 11 f f 4.01433 -T 715 14 g g 4.01433 -T 715 24 one one 2.2167 -T 715 29 t t 2.2167 -T 715 31 twenty twenty 4.01433 -F 716 10.5976 -T 716 54 , , 0.0740285 -T 716 60 five five 3.0028 -T 716 80 x x 3.0028 -F 717 10.2644 -T 717 83 , , 0.104393 -T 717 88 e e 1.89825 -T 717 97 m m 3.69588 -T 717 103 thirty thirty 3.69588 -F 718 10.5097 -T 718 112 , , 0.421981 -T 718 113 a a 1.40227 -T 718 117 e e 2.38387 -T 718 126 l l 4.18149 -T 718 132 p p 2.38387 -T 718 142 y y 2.38387 -F 719 10.736 -T 719 146 , , 0.219163 -T 719 156 g g 2.86326 -T 719 157 h h 4.66112 -T 719 161 l l 2.25676 -T 719 165 o o 4.66112 -T 719 170 s s 2.86326 -T 719 179 w w 2.25676 -T 719 181 y y 2.86326 -F 720 10.4208 -T 720 183 , , 0.218451 -T 720 195 forty forty 1.61641 -F 721 9.9818 -T 721 293 , , 0.0996568 -T 721 297 e e 1.61641 -F 722 11.0948 -T 722 350 , , 0.511972 -T 722 376 one one 0.91758 -T 722 382 six six 2.71521 -F 723 10.4583 -T 723 402 , , 0.0729095 -T 723 415 four four 2.30972 -T 723 428 rubout rubout 2.30972 -F 724 10.5353 -T 724 455 , , 0.0691765 -T 724 468 m m 3.69588 -T 724 476 s s 3.69588 -T 724 478 t t 3.69588 -T 724 481 v v 3.69588 -F 725 10.4995 -T 725 492 , , 0.124916 -T 725 506 o o 2.30972 -T 725 516 three three 2.30972 -F 726 11.2825 -T 726 544 , , 0.424481 -T 726 545 a a 2.2167 -T 726 547 c c 1.60997 -T 726 550 f f 4.01433 -T 726 555 j j 4.01433 -T 726 558 m m 2.2167 -F 727 9.80737 -T 727 571 , , 0.090132 -T 727 576 e e 2.30972 -T 727 578 four four 2.30972 -F 728 10.0791 -T 728 607 , , 0.440386 -T 728 608 a a 2.71521 -T 728 611 e e 0.91758 -F 729 10.41 -T 729 641 , , 0.0948678 -T 729 658 n n 2.30972 -F 730 10.2197 -T 730 676 , , 0.0733799 -T 730 685 forty forty 2.71521 -T 730 689 i i 2.71521 -F 731 10.2763 -T 731 714 , , 0.13042 -T 731 719 e e 2.01614 -T 731 726 i i 2.01614 -T 731 741 three three 3.81377 -T 731 745 y y 3.81377 -F 732 10.606 -T 732 825 , , 0.0664981 -T 732 833 f f 3.0028 -T 732 846 p p 3.0028 -F 733 10.6736 -T 733 880 , , 0.172644 -T 733 925 thousand thousand 3.40829 -T 733 928 two two 1.61066 -T 733 934 zero zero 3.40829 -F 734 10.5517 -T 734 935 , , 0.0418356 -T 734 941 eight eight 3.69588 -T 734 945 g g 3.69588 -T 734 950 ninety ninety 3.69588 -T 734 957 u u 3.69588 -F 735 10.9396 -T 735 980 , , -2.92366e-09 -F 736 10.8391 -T 736 1048 , , 0.0669335 -T 736 1055 h h 3.56233 -T 736 1063 one one 3.56233 -T 736 1067 t t 1.7647 -F 737 10.1353 -T 737 1135 , , -2.41107e-09 -F 738 10.3746 -T 738 1148 , , 0.171978 -T 738 1175 seven seven 2.30972 -T 738 1192 zero zero 2.30972 -F 739 11.3535 -T 739 1234 , , 0.513715 -T 739 1237 d d 4.01433 -T 739 1243 four four 4.01433 -T 739 1252 o o 2.2167 -T 739 1256 r r 2.2167 -T 739 1263 z z 1.60997 -F 740 10.3283 -T 740 1283 , , 0.0704493 -T 740 1285 e e 2.30972 -T 740 1296 two two 2.30972 -F 741 10.2981 -T 741 1306 , , 0.115535 -T 741 1327 nine nine 2.71521 -T 741 1329 oh oh 2.71521 -T 741 1330 one one 2.71521 -F 742 10.8232 -T 742 1378 , , 0.0759418 -T 742 1401 nine nine 2.30972 -F 743 11.3842 -T 743 1424 , , 1.08098 -T 743 1425 a a 3.22592 -T 743 1429 e e 0.446702 -F 744 9.59201 -T 744 1504 , , 0.192743 -T 744 1509 f f 2.30972 -T 744 1525 v v 2.30972 -F 745 9.75746 -T 745 1531 , , 0.150895 -T 745 1543 h h 2.71521 -T 745 1557 ten ten 2.71521 -T 745 1561 v v 2.71521 -F 746 9.59978 -T 746 1579 , , 0.0946804 -T 746 1589 i i 2.71521 -T 746 1592 l l 2.71521 -T 746 1606 x x 2.71521 -F 747 9.71085 -T 747 0 , , 0.55738 -T 747 748 a a 3.80633 -T 747 749 and and 5.50479 -T 747 750 august august 5.50479 -T 747 751 b b 3.81285 -T 747 752 eight eight 3.81285 -T 747 753 eighty eighty 5.50479 -T 747 754 eleven eleven 5.50479 -T 747 755 enter enter 3.47069 -T 747 756 erase erase 3.47069 -T 747 757 f f 4.98341 -T 747 758 fifty fifty 4.33692 -T 747 759 five five 2.70116 -T 747 760 forty forty 5.50479 -T 747 761 four four 3.47069 -T 747 762 g g 4.41007 -T 747 763 go go 5.50479 -T 747 764 help help 5.50479 -T 747 765 hundred hundred 5.50479 -T 747 766 j j 5.28896 -T 747 767 july july 5.50479 -T 747 768 june june 5.50479 -T 747 769 m m 4.33692 -T 747 770 n n 4.0359 -T 747 771 nine nine 3.47069 -T 747 772 nineteen nineteen 5.50479 -T 747 773 no no 3.81285 -T 747 774 o o 4.09139 -T 747 775 of of 5.50479 -T 747 776 oh oh 4.92331 -T 747 777 one one 3.21625 -T 747 778 p p 4.55052 -T 747 779 r r 3.746 -T 747 780 rubout rubout 3.81285 -T 747 781 s s 3.81285 -T 747 782 september september 5.50479 -T 747 783 seven seven 3.81285 -T 747 784 seventy seventy 5.50479 -T 747 785 six six 2.46331 -T 747 786 sixty sixty 4.88071 -T 747 787 thirty thirty 4.33692 -T 747 788 three three 3.21625 -T 747 789 twenty twenty 4.33692 -T 747 790 two two 2.8453 -T 747 791 v v 4.33692 -T 747 792 w w 4.88071 -T 747 793 x x 5.50479 -T 747 794 yes yes 3.81285 -T 747 795 zero zero 5.50479 -F 748 10.7067 -T 748 5 , , 0.137444 -T 748 6 a a 2.30972 -T 748 20 l l 2.30972 -F 749 10.1742 -T 749 39 , , 0.0212152 -T 749 40 a a 1.61641 -F 750 10.4401 -T 750 51 , , -1.40497e-08 -F 751 10.6494 -T 751 54 , , 0.125882 -T 751 74 seven seven 2.71521 -T 751 81 y y 2.71521 -F 752 10.2704 -T 752 183 , , 0.0680804 -T 752 190 eight eight 2.71521 -T 752 205 nine nine 2.71521 -F 753 10.0208 -T 753 233 , , 0.0429761 -T 753 238 nine nine 1.61641 -F 754 9.78978 -T 754 243 , , 0.101637 -T 754 244 nine nine 1.61641 -F 755 10.7603 -T 755 250 , , 0.00896812 -T 755 259 nine nine 3.0028 -F 756 9.79694 -T 756 271 , , 0.0890539 -T 756 272 a a 3.0028 -T 756 274 c c 3.0028 -T 756 289 w w 3.0028 -T 756 290 x x 3.0028 -F 757 10.081 -T 757 293 , , 0.198823 -T 757 306 k k 1.61641 -F 758 10.5227 -T 758 335 , , 0.0919482 -T 758 340 nine nine 2.30972 -F 759 10.6193 -T 759 350 , , 0.0364502 -T 759 383 sixteen sixteen 3.69588 -T 759 386 thirty thirty 3.69588 -F 760 10.5834 -T 760 392 , , 0.0846471 -T 760 400 three three 1.61641 -F 761 10.4628 -T 761 402 , , 0.0774092 -T 761 409 enter enter 3.0028 -T 761 423 no no 3.0028 -T 761 424 oh oh 3.0028 -F 762 10.6748 -T 762 455 , , 0.208705 -T 762 460 e e 1.61641 -F 763 9.92177 -T 763 483 , , 0.0645843 -T 763 488 repeat repeat 1.61641 -F 764 9.88809 -T 764 527 , , -4.12084e-11 -F 765 10.5711 -T 765 537 , , 0.183054 -T 765 543 w w 1.61641 -F 766 9.90794 -T 766 571 , , 0.190699 -T 766 596 z z 1.61641 -F 767 9.80448 -T 767 600 , , 0.0582737 -T 767 602 twelfth twelfth 1.61641 -F 768 9.7467 -T 768 604 , , -9.30224e-10 -F 769 10.2458 -T 769 676 , , 0.0994842 -T 769 683 f f 2.30972 -F 770 10.311 -T 770 714 , , 0.165133 -T 770 724 g g 2.30972 -T 770 725 h h 2.30972 -F 771 9.84776 -T 771 747 , , 0.13691 -T 771 748 a a 3.0028 -T 771 761 four four 3.0028 -T 771 767 july july 3.0028 -T 771 779 r r 3.0028 -F 772 11.5078 -T 772 796 , , -1.28024e-08 -F 773 9.94779 -T 773 812 , , 0.132893 -T 773 817 h h 2.71521 -T 773 819 o o 2.71521 -T 773 820 p p 2.71521 -F 774 10.7192 -T 774 825 , , 0.179718 -T 774 826 a a 1.61641 -F 775 9.73978 -T 775 863 , , -9.30224e-10 -F 776 11.2131 -T 776 866 , , 0.200145 -T 776 873 oh oh 1.61641 -F 777 10.6137 -T 777 880 , , 0.112745 -T 777 890 february february 3.22592 -T 777 895 four four 3.22592 -T 777 903 l l 3.22592 -T 777 913 rubout rubout 3.22592 -F 778 10.6752 -T 778 935 , , 0.165352 -T 778 951 o o 1.61641 -F 779 11.159 -T 779 980 , , 0.21938 -T 779 997 q q 1.61641 -F 780 10.1241 -T 780 1023 , , 0.126216 -T 780 1029 g g 2.71521 -T 780 1044 w w 2.71521 -T 780 1047 z z 2.71521 -F 781 10.8392 -T 781 1048 , , 0.067057 -T 781 1052 e e 2.71521 -T 781 1071 w w 2.71521 -F 782 9.86723 -T 782 1077 , , 0.126764 -T 782 1082 twenty twenty 1.61641 -F 783 10.2217 -T 783 1083 , , 0.115579 -T 783 1113 six six 2.71521 -T 783 1122 two two 2.71521 -T 783 1127 zero zero 2.71521 -F 784 10.2143 -T 784 1135 , , 0.0789911 -T 784 1146 two two 1.61641 -F 785 10.4195 -T 785 1148 , , 0.216879 -T 785 1174 september september 3.919 -T 785 1175 seven seven 2.12137 -T 785 1177 six six 2.12137 -T 785 1180 start start 3.919 -T 785 1181 stop stop 3.919 -F 786 11.0253 -T 786 1200 , , 0.157583 -T 786 1201 eight eight 1.61641 -F 787 10.4233 -T 787 1283 , , 0.165456 -T 787 1290 nine nine 2.30972 -T 787 1294 sixty sixty 2.30972 -F 788 10.499 -T 788 1306 , , 0.316389 -T 788 1307 a a 3.22592 -T 788 1317 five five 1.42829 -T 788 1326 may may 3.22592 -F 789 10.2592 -T 789 1360 , , 0.0929259 -T 789 1362 enter enter 2.30972 -F 790 10.9064 -T 790 1378 , , 0.159168 -T 790 1388 erase erase 3.56233 -T 790 1404 october october 3.56233 -T 790 1420 twenty twenty 3.56233 -T 790 1421 two two 1.7647 -F 791 10.385 -T 791 1453 , , 0.0816317 -T 791 1460 k k 2.30972 -F 792 10.0692 -T 792 1476 , , 0.127538 -T 792 1488 i i 1.61641 -F 793 9.59655 -T 793 1504 , , 0.197276 -T 793 1514 i i 1.61641 -F 794 10.0212 -T 794 1565 , , -1.92814e-09 -F 795 9.78549 -T 795 1609 , , 0.120621 -T 795 1619 one one 1.61641 -F 796 11.5078 -T 796 0 , , 2.35435 -T 796 797 fifty fifty 3.02859 -T 796 798 forty forty 3.02859 -T 796 799 seventy seventy 2.50452 -T 796 800 sixty sixty 0.335487 -T 796 801 twenty twenty 4.19623 -F 797 11.2444 -T 797 335 , , 0.813603 -T 797 347 two two 0.512095 -F 798 11.3179 -T 798 392 , , 0.819196 -T 798 395 four four 0.512095 -F 799 10.3032 -T 799 1135 , , 0.167858 -T 799 1138 g g 2.71521 -T 799 1143 rubout rubout 2.71521 -T 799 1147 yes yes 2.71521 -F 800 11.3294 -T 800 1200 , , 0.461748 -T 800 1204 five five 2.30328 -T 800 1207 nine nine 1.11721 -T 800 1210 seven seven 1.65625 -F 801 10.2664 -T 801 1360 , , 0.100222 -T 801 1361 eight eight 1.61641 -F 802 10.0364 -T 802 0 , , 0.882951 -T 802 803 eight eight 1.93003 -T 802 804 five five 1.93003 -T 802 805 four four 1.93003 -T 802 806 one one 3.09767 -T 802 807 seven seven 3.09767 -T 802 808 six six 1.93003 -F 803 10.3977 -T 803 183 , , 0.195415 -T 803 189 e e 2.30972 -T 803 223 twenty twenty 2.30972 -F 804 10.7889 -T 804 350 , , 0.206028 -T 804 359 f f 2.30972 -T 804 368 k k 2.30972 -F 805 10.5706 -T 805 402 , , 0.185159 -T 805 409 enter enter 2.30972 -T 805 417 help help 2.30972 -F 806 10.7171 -T 806 880 , , 0.216154 -T 806 920 start start 1.61641 -F 807 10.3175 -T 807 1083 , , 0.211456 -T 807 1099 l l 1.61641 -F 808 10.4004 -T 808 1148 , , 0.1978 -T 808 1167 no no 2.30972 -T 808 1171 r r 2.30972 -F 809 9.74034 -T 809 0 , , 0.586876 -T 809 810 of of 1.48839 -T 809 811 sixty sixty 1.48839 -F 810 9.73978 -T 810 863 , , -9.30224e-10 -F 811 11.0253 -T 811 1200 , , 0.157583 -T 811 1214 two two 1.61641 -F 812 9.8149 -T 812 0 , , 0.661435 -T 812 813 c c 3.56763 -T 812 814 enter enter 3.56763 -T 812 815 erase erase 1.87592 -T 812 816 f f 3.56763 -T 812 817 h h 3.56763 -T 812 818 help help 3.56763 -T 812 819 o o 3.56763 -T 812 820 p p 3.56763 -T 812 821 rubout rubout 1.87592 -T 812 822 s s 3.56763 -T 812 823 start start 3.56763 -T 812 824 t t 3.56763 -F 813 10.2915 -T 813 83 , , 0.13146 -T 813 84 a a 1.61641 -F 814 10.9431 -T 814 250 , , 0.191785 -T 814 260 ninety ninety 1.61641 -F 815 9.78773 -T 815 271 , , 0.0798518 -T 815 275 e e 2.71521 -T 815 277 g g 2.71521 -T 815 284 q q 2.71521 -F 816 9.9818 -T 816 293 , , 0.0996568 -T 816 297 e e 1.61641 -F 817 10.5075 -T 817 492 , , 0.1329 -T 817 506 o o 1.61641 -F 818 10.0711 -T 818 527 , , 0.183054 -T 818 536 v v 1.61641 -F 819 10.6993 -T 819 825 , , 0.15973 -T 819 854 u u 1.61641 -F 820 10.6752 -T 820 935 , , 0.165352 -T 820 951 o o 1.61641 -F 821 10.1241 -T 821 1023 , , 0.126216 -T 821 1030 h h 2.71521 -T 821 1038 q q 2.71521 -T 821 1044 w w 2.71521 -F 822 10.8707 -T 822 1048 , , 0.0985785 -T 822 1067 t t 1.61641 -F 823 10.1786 -T 823 1216 , , 0.0799043 -T 823 1218 h h 1.61641 -F 824 10.978 -T 824 1234 , , 0.138183 -T 824 1245 h h 1.61641 -F 825 10.5395 -T 825 0 , , 1.38606 -T 825 826 a a 3.19829 -T 825 827 apostrophe apostrophe 5.85778 -T 825 828 b b 3.56924 -T 825 829 c c 5.66817 -T 825 830 d d 2.9282 -T 825 831 e e 4.46415 -T 825 832 eight eight 4.9523 -T 825 833 f f 3.82367 -T 825 834 five five 4.67392 -T 825 835 forty forty 5.85778 -T 825 836 four four 4.87056 -T 825 837 g g 5.23874 -T 825 838 h h 3.82367 -T 825 839 j j 5.85778 -T 825 840 k k 4.68991 -T 825 841 l l 2.9282 -T 825 842 m m 3.19829 -T 825 843 n n 1.75019 -T 825 844 ninety ninety 5.85778 -T 825 845 o o 2.54067 -T 825 846 p p 4.16584 -T 825 847 q q 5.85778 -T 825 848 r r 2.14739 -T 825 849 s s 3.56924 -T 825 850 six six 4.88276 -T 825 851 sixty sixty 5.70939 -T 825 852 t t 3.36661 -T 825 853 two two 4.40567 -T 825 854 u u 2.81652 -T 825 855 w w 2.9282 -T 825 856 x x 5.85778 -T 825 857 y y 4.68991 -T 825 858 z z 5.85778 -F 826 10.9617 -T 826 5 , , 0.392495 -T 826 9 d d 1.1582 -T 826 19 k k 3.56233 -T 826 35 w w 3.56233 -F 827 9.72659 -T 827 45 , , -1.21669e-10 -F 828 11.0941 -T 828 54 , , 0.570613 -T 828 55 a a 1.42829 -T 828 58 e e 1.42829 -T 828 59 eight eight 3.22592 -F 829 10.2619 -T 829 83 , , 0.101842 -T 829 95 k k 1.61641 -F 830 10.4658 -T 830 112 , , 0.378046 -T 830 132 p p 1.03455 -T 830 139 u u 3.81377 -F 831 10.6613 -T 831 146 , , 0.144421 -T 831 167 p p 1.61641 -F 832 10.4142 -T 832 183 , , 0.211875 -T 832 187 b b 1.61641 -F 833 9.95745 -T 833 293 , , 0.0753102 -T 833 295 b b 3.0028 -T 833 299 f f 3.0028 -T 833 303 h h 3.0028 -F 834 10.7615 -T 834 350 , , 0.178666 -T 834 357 enter enter 1.61641 -F 835 10.7033 -T 835 392 , , 0.204543 -T 835 399 six six 1.61641 -F 836 10.6041 -T 836 402 , , 0.218683 -T 836 444 z z 1.61641 -F 837 10.666 -T 837 455 , , 0.199861 -T 837 459 d d 1.61641 -F 838 11.2553 -T 838 492 , , 0.880657 -T 838 499 g g 3.0028 -T 838 504 n n 0.598442 -F 839 9.91674 -T 839 571 , , 0.199499 -T 839 591 t t 1.61641 -F 840 9.80273 -T 840 607 , , 0.163999 -T 840 616 h h 2.30972 -T 840 631 t t 2.30972 -F 841 10.3951 -T 841 641 , , 0.0799108 -T 841 647 eight eight 3.81377 -T 841 653 i i 2.01614 -T 841 664 s s 3.81377 -F 842 10.2636 -T 842 676 , , 0.11725 -T 842 681 e e 1.7647 -T 842 682 eight eight 3.56233 -F 843 10.4551 -T 843 714 , , 0.309229 -T 843 715 a a 2.1695 -T 843 717 c c 2.54436 -T 843 726 i i 2.1695 -T 843 727 j j 3.15109 -T 843 734 p p 2.54436 -T 843 740 thirty thirty 4.94872 -T 843 744 x x 4.94872 -F 844 10.101 -T 844 802 , , 0.0645843 -T 844 804 five five 1.61641 -F 845 11.1886 -T 845 825 , , 0.649089 -T 845 828 b b 4.18149 -T 845 830 d d 0.740742 -T 845 833 f f 4.18149 -T 845 835 forty forty 4.18149 -T 845 840 k k 4.18149 -F 846 10.5476 -T 846 935 , , 0.0377237 -T 846 946 h h 2.71521 -T 846 948 l l 2.71521 -F 847 9.85065 -T 847 959 , , 0.20264 -T 847 967 i i 1.61641 -F 848 11.3651 -T 848 980 , , 0.42545 -T 848 983 c c 2.76333 -T 848 984 d d 2.1566 -T 848 985 e e 1.50981 -T 848 1002 t t 2.76333 -T 848 1006 w w 4.56096 -F 849 11.3429 -T 849 1048 , , 0.570785 -T 849 1052 e e 0.821562 -T 849 1065 s s 3.22592 -F 850 10.3902 -T 850 1148 , , 0.187599 -T 850 1158 five five 1.61641 -F 851 11.0253 -T 851 1200 , , 0.157583 -T 851 1214 two two 1.61641 -F 852 11.0504 -T 852 1234 , , 0.210521 -T 852 1240 f f 3.40829 -T 852 1245 h h 1.61066 -T 852 1255 q q 3.40829 -F 853 10.8461 -T 853 1378 , , 0.098849 -T 853 1421 two two 1.61641 -F 854 10.5425 -T 854 1424 , , 0.239253 -T 854 1430 eighty eighty 3.919 -T 854 1433 four four 3.919 -T 854 1434 g g 3.919 -T 854 1440 n n 3.919 -T 854 1444 q q 3.919 -T 854 1446 s s 2.12137 -T 854 1448 t t 2.12137 -F 855 10.3388 -T 855 1476 , , 0.397134 -T 855 1480 d d 3.81377 -T 855 1486 g g 3.81377 -T 855 1490 n n 1.03455 -T 855 1500 w w 3.81377 -F 856 9.59833 -T 856 1504 , , 0.199056 -T 856 1508 eight eight 1.61641 -F 857 9.78152 -T 857 1531 , , 0.174951 -T 857 1542 g g 2.30972 -T 857 1558 three three 2.30972 -F 858 9.67049 -T 858 1579 , , 0.165392 -T 858 1584 e e 1.61641 -F 859 9.74602 -T 859 0 , , 0.592558 -T 859 860 first first 1.89365 -T 859 861 thirtieth thirtieth 1.89365 -T 859 862 twenty twenty 1.89365 -F 860 10.847 -T 860 348 , , 1.05209e-08 -F 861 10.847 -T 861 1281 , , 1.05209e-08 -F 862 10.3497 -T 862 1360 , , 0.183474 -T 862 1375 third third 1.61641 -F 863 9.73978 -T 863 0 , , 0.586313 -T 863 864 september september 1.48839 -T 863 865 sixty sixty 1.48839 -F 864 9.86723 -T 864 1077 , , 0.126764 -T 864 1080 nineteen nineteen 1.61641 -F 865 11.0828 -T 865 1200 , , 0.215117 -T 865 1212 start start 1.61641 -F 866 11.0129 -T 866 0 , , 1.85946 -T 866 867 eight eight 1.88743 -T 866 868 enter enter 3.86144 -T 866 869 five five 2.53814 -T 866 870 four four 3.33737 -T 866 871 j j 5.02931 -T 866 872 nine nine 3.33737 -T 866 873 oh oh 3.86144 -T 866 874 one one 2.74077 -T 866 875 seven seven 2.09973 -T 866 876 six six 1.79602 -T 866 877 three three 2.74077 -T 866 878 twelve twelve 5.02931 -T 866 879 two two 2.09973 -F 867 10.3873 -T 867 183 , , 0.18498 -T 867 201 june june 4.01433 -T 867 205 nine nine 2.2167 -T 867 215 six six 2.2167 -F 868 10.8337 -T 868 250 , , 0.0823323 -T 868 261 one one 2.30972 -T 868 264 six six 2.30972 -F 869 10.8429 -T 869 350 , , 0.260009 -T 869 355 e e 3.40829 -T 869 357 enter enter 3.40829 -T 869 362 four four 3.40829 -T 869 371 nine nine 1.61066 -T 869 390 yes yes 3.40829 -F 870 10.8567 -T 870 402 , , 0.471277 -T 870 413 five five 2.71521 -T 870 415 four four 0.91758 -F 871 9.79431 -T 871 571 , , 0.0770743 -T 871 586 o o 1.61641 -F 872 9.84187 -T 872 747 , , 0.131026 -T 872 749 and and 2.71521 -T 872 757 f f 2.71521 -F 873 11.0129 -T 873 866 , , -2.64996e-09 -F 874 10.5824 -T 874 880 , , 0.0814969 -T 874 884 c c 3.22592 -T 874 895 four four 3.22592 -T 874 906 nine nine 3.22592 -T 874 910 p p 3.22592 -F 875 10.1436 -T 875 1083 , , 0.0375622 -T 875 1100 m m 3.81377 -T 875 1106 p p 3.81377 -T 875 1111 seventeen seventeen 3.81377 -F 876 10.454 -T 876 1148 , , 0.25141 -T 876 1151 c c 4.10136 -T 876 1161 h h 4.10136 -T 876 1166 nine nine 2.30374 -T 876 1186 three three 1.69701 -F 877 10.2291 -T 877 1306 , , 0.0464869 -T 877 1312 eight eight 3.22592 -T 877 1332 rubout rubout 3.22592 -T 877 1334 seven seven 3.22592 -T 877 1344 v v 3.22592 -F 878 9.81018 -T 878 1349 , , 0.0455199 -T 878 1357 twenty twenty 1.61641 -F 879 10.8202 -T 879 1378 , , 0.0729423 -T 879 1383 e e 3.81377 -T 879 1398 m m 3.81377 -T 879 1411 six six 2.01614 -F 880 10.5009 -T 880 0 , , 1.34747 -T 880 881 a a 4.59642 -T 880 882 august august 6.41915 -T 880 883 b b 5.16585 -T 880 884 c c 5.62959 -T 880 885 e e 4.42557 -T 880 886 eight eight 3.48957 -T 880 887 eleven eleven 6.41915 -T 880 888 enter enter 3.92821 -T 880 889 f f 5.7735 -T 880 890 february february 6.41915 -T 880 891 fifteen fifteen 6.41915 -T 880 892 fifty fifty 4.38527 -T 880 893 five five 1.32744 -T 880 894 forty forty 6.41915 -T 880 895 four four 3.27727 -T 880 896 go go 4.72721 -T 880 897 h h 4.95378 -T 880 898 help help 5.25151 -T 880 899 hundred hundred 5.25151 -T 880 900 i i 4.83796 -T 880 901 j j 6.07905 -T 880 902 july july 6.41915 -T 880 903 l l 5.00996 -T 880 904 m m 5.45759 -T 880 905 n n 4.82599 -T 880 906 nine nine 3.18586 -T 880 907 ninety ninety 6.41915 -T 880 908 oh oh 3.02491 -T 880 909 one one 3.75966 -T 880 910 p p 5.34062 -T 880 911 r r 4.53609 -T 880 912 repeat repeat 6.41915 -T 880 913 rubout rubout 4.38527 -T 880 914 s s 4.92684 -T 880 915 seven seven 2.55817 -T 880 916 seventy seventy 5.25151 -T 880 917 six six 3.75966 -T 880 918 sixteen sixteen 6.41915 -T 880 919 sixty sixty 4.38527 -T 880 920 start start 5.25151 -T 880 921 stop stop 5.25151 -T 880 922 t t 4.61553 -T 880 923 ten ten 5.25151 -T 880 924 thirty thirty 5.25151 -T 880 925 thousand thousand 5.25151 -T 880 926 three three 3.02491 -T 880 927 twenty twenty 5.25151 -T 880 928 two two 2.24134 -T 880 929 u u 5.27246 -T 880 930 w w 5.67081 -T 880 931 y y 5.78916 -T 880 932 yes yes 6.41915 -T 880 933 z z 6.14422 -T 880 934 zero zero 4.13084 -F 881 10.6177 -T 881 5 , , 0.0485021 -T 881 34 v v 2.30972 -F 882 10.4401 -T 882 51 , , -1.40497e-08 -F 883 10.7028 -T 883 54 , , 0.179289 -T 883 69 o o 2.30972 -T 883 78 v v 2.30972 -F 884 10.2915 -T 884 83 , , 0.13146 -T 884 88 e e 1.61641 -F 885 10.5965 -T 885 146 , , 0.0796436 -T 885 147 a a 2.30972 -T 885 179 w w 2.30972 -F 886 10.2809 -T 886 183 , , 0.0785331 -T 886 188 c c 3.81377 -T 886 224 two two 2.01614 -F 887 9.78978 -T 887 243 , , 0.101637 -T 887 245 o o 1.61641 -F 888 10.9436 -T 888 250 , , 0.192219 -T 888 252 eighty eighty 3.40829 -T 888 257 four four 1.61066 -F 889 9.99903 -T 889 293 , , 0.116887 -T 889 304 i i 1.61641 -F 890 9.74838 -T 890 321 , , -9.30224e-10 -F 891 9.79584 -T 891 324 , , 0.126764 -T 891 326 m m 1.61641 -F 892 10.6814 -T 892 335 , , 0.250599 -T 892 336 b b 3.0028 -T 892 337 eight eight 1.20517 -F 893 11.7617 -T 893 350 , , 1.17882 -T 893 360 five five 3.51628 -T 893 364 h h 5.92064 -T 893 369 m m 4.12301 -T 893 375 oh oh 3.51628 -T 893 376 one one 2.65557 -T 893 382 six six 4.12301 -T 893 387 three three 3.14142 -T 893 389 two two 0.408248 -F 894 10.6249 -T 894 392 , , 0.126213 -T 894 401 two two 1.61641 -F 895 10.8375 -T 895 402 , , 0.452102 -T 895 407 eight eight 2.2167 -T 895 421 nine nine 2.2167 -T 895 425 one one 2.2167 -T 895 431 seven seven 2.2167 -T 895 439 three three 2.2167 -F 896 9.90454 -T 896 483 , , 0.047354 -T 896 485 g g 2.71521 -T 896 486 h h 2.71521 -F 897 10.593 -T 897 492 , , 0.21833 -T 897 509 q q 1.61641 -F 898 9.9543 -T 898 527 , , 0.0662173 -T 898 532 help help 2.30972 -F 899 10.4542 -T 899 537 , , 0.0662173 -T 899 541 s s 2.30972 -F 900 11.0175 -T 900 544 , , 0.159476 -T 900 548 d d 2.30972 -T 900 569 v v 2.30972 -F 901 9.88622 -T 901 571 , , 0.168982 -T 901 572 a a 1.61641 -F 902 9.80448 -T 902 600 , , 0.0582737 -T 902 603 twenty twenty 1.61641 -F 903 10.5188 -T 903 641 , , 0.203614 -T 903 663 r r 1.61641 -F 904 10.2428 -T 904 676 , , 0.0964833 -T 904 694 o o 1.61641 -F 905 10.3464 -T 905 714 , , 0.200522 -T 905 732 o o 1.61641 -F 906 9.90437 -T 906 747 , , 0.193521 -T 906 759 five five 2.30374 -T 906 770 n n 4.10136 -T 906 776 oh oh 4.10136 -T 906 785 six six 1.69701 -T 906 789 twenty twenty 4.10136 -F 907 10.101 -T 907 802 , , 0.0645843 -T 907 808 six six 1.61641 -F 908 11.1089 -T 908 866 , , 0.0959729 -T 908 875 seven seven 1.85128 -T 908 879 two two 1.85128 -F 909 10.5256 -T 909 880 , , 0.0246672 -T 909 917 six six 3.56233 -T 909 922 t t 3.56233 -F 910 10.6961 -T 910 935 , , 0.186283 -T 910 936 a a 1.61641 -F 911 11.0449 -T 911 980 , , 0.105269 -T 911 985 e e 1.61641 -F 912 9.90727 -T 912 1009 , , 0.132151 -T 912 1020 rubout rubout 1.61641 -F 913 10.0474 -T 913 1023 , , 0.0495493 -T 913 1025 c c 3.0028 -T 913 1040 s s 3.0028 -F 914 10.9874 -T 914 1048 , , 0.215274 -T 914 1061 n n 1.61641 -F 915 10.8761 -T 915 1083 , , 0.769981 -T 915 1084 area area 4.70764 -T 915 1089 fifteen fifteen 4.70764 -T 915 1091 five five 2.91001 -T 915 1092 forty forty 4.70764 -T 915 1093 four four 0.768833 -T 915 1113 six six 2.91001 -T 915 1120 three three 2.91001 -F 916 10.3214 -T 916 1135 , , 0.186017 -T 916 1137 five five 2.30972 -T 916 1139 h h 2.30972 -F 917 10.3375 -T 917 1148 , , 0.134912 -T 917 1169 one one 1.7647 -F 918 10.1995 -T 918 1193 , , 0.0582737 -T 918 1194 forty forty 1.61641 -F 919 10.9123 -T 919 1200 , , 0.0446324 -T 919 1203 fifty fifty 3.0028 -F 920 10.1614 -T 920 1216 , , 0.0626555 -T 920 1223 y y 2.30972 -F 921 10.3355 -T 921 1224 , , 0.094735 -T 921 1232 rubout rubout 2.30972 -T 921 1233 yes yes 2.30972 -F 922 11.0394 -T 922 1234 , , 0.199563 -T 922 1246 i i 1.61641 -F 923 9.65969 -T 923 1264 , , 0.154698 -T 923 1268 m m 2.30972 -T 923 1272 s s 2.30972 -F 924 10.9328 -T 924 1283 , , 0.674975 -T 924 1291 one one 0.512095 -F 925 9.73499 -T 925 1297 , , 0.11564 -T 925 1300 m m 2.30972 -T 925 1303 p p 2.30972 -F 926 11.0401 -T 926 1306 , , 0.857484 -T 926 1310 december december 4.25564 -T 926 1319 four four 1.47642 -T 926 1337 six six 1.85128 -T 926 1340 three three 1.85128 -T 926 1343 two two 1.85128 -F 927 10.3352 -T 927 1360 , , 0.168964 -T 927 1374 t t 2.30972 -T 927 1377 two two 2.30972 -F 928 11.3902 -T 928 1378 , , 0.642939 -T 928 1380 b b 5.01779 -T 928 1384 eight eight 3.22017 -T 928 1391 five five 1.75273 -T 928 1392 four four 1.57681 -T 928 1399 march march 5.01779 -T 928 1411 six six 1.96641 -T 928 1421 two two 2.23857 -F 929 10.4723 -T 929 1424 , , 0.169119 -T 929 1446 s s 1.61641 -F 930 10.0692 -T 930 1476 , , 0.127538 -T 930 1488 i i 1.61641 -F 931 9.80504 -T 931 1531 , , 0.198468 -T 931 1562 w w 1.61641 -F 932 10.1709 -T 932 1565 , , 0.149783 -T 932 1566 enter enter 1.61641 -F 933 9.70642 -T 933 1579 , , 0.201323 -T 933 1585 eight eight 1.61641 -F 934 9.73847 -T 934 1609 , , 0.0736047 -T 934 1613 eight eight 3.22592 -T 934 1615 five five 3.22592 -T 934 1630 zero zero 3.22592 -F 935 10.5098 -T 935 0 , , 1.35637 -T 935 936 a a 3.36638 -T 935 937 b b 5.17475 -T 935 938 c c 5.40025 -T 935 939 d d 4.23261 -T 935 940 e e 4.23261 -T 935 941 eight eight 4.92262 -T 935 942 f f 5.40025 -T 935 943 forty forty 5.40025 -T 935 944 four four 4.84087 -T 935 945 g g 3.70854 -T 935 946 h h 2.90932 -T 935 947 i i 0.766761 -T 935 948 l l 3.11194 -T 935 949 n n 4.23261 -T 935 950 ninety ninety 5.40025 -T 935 951 o o 2.90932 -T 935 952 r r 3.70854 -T 935 953 s s 3.36638 -T 935 954 seventeen seventeen 5.40025 -T 935 955 t t 3.70854 -T 935 956 three three 5.06307 -T 935 957 u u 3.70854 -T 935 958 y y 5.40025 -F 936 10.6104 -T 936 5 , , 0.0411641 -T 936 15 h h 3.0028 -T 936 29 t t 3.0028 -F 937 10.7372 -T 937 54 , , 0.213679 -T 937 76 six six 1.61641 -F 938 10.3717 -T 938 83 , , 0.211709 -T 938 101 seven seven 1.61641 -F 939 10.2749 -T 939 112 , , 0.187239 -T 939 118 f f 2.30972 -T 939 138 two two 2.30972 -F 940 10.6141 -T 940 146 , , 0.0973149 -T 940 152 eight eight 2.30972 -F 941 10.4076 -T 941 183 , , 0.205256 -T 941 199 hundred hundred 1.61641 -F 942 10.081 -T 942 293 , , 0.198823 -T 942 305 j j 1.61641 -F 943 10.5834 -T 943 392 , , 0.0846471 -T 943 394 five five 1.61641 -F 944 10.592 -T 944 402 , , 0.20653 -T 944 427 repeat repeat 1.61641 -F 945 11.1929 -T 945 455 , , 0.726721 -T 945 463 h h 0.310849 -F 946 10.6104 -T 946 492 , , 0.235775 -T 946 495 e e 1.61066 -T 946 501 i i 3.40829 -T 946 511 s s 3.40829 -T 946 522 y y 3.40829 -F 947 13.3823 -T 947 544 , , 2.52425 -T 947 552 five five 5.46657 -T 947 566 t t 0.061479 -F 948 11.1043 -T 948 641 , , 0.789191 -T 948 642 a a 1.42829 -T 948 646 e e 0.821562 -F 949 10.1858 -T 949 714 , , 0.0399368 -T 949 715 a a 2.30972 -F 950 10.2116 -T 950 802 , , 0.175201 -T 950 807 seven seven 1.61641 -F 951 10.7207 -T 951 825 , , 0.18115 -T 951 842 m m 1.61066 -F 952 12.1731 -T 952 980 , , 1.23349 -T 952 989 i i 0.310849 -F 953 10.8368 -T 953 1048 , , 0.0647038 -T 953 1055 h h 3.0028 -T 953 1073 z z 3.0028 -F 954 10.0639 -T 954 1128 , , 0.126764 -T 954 1129 enter enter 1.61641 -F 955 10.9676 -T 955 1234 , , 0.12781 -T 955 1248 k k 2.71521 -T 955 1255 q q 2.71521 -F 956 10.2805 -T 956 1306 , , 0.0979146 -T 956 1343 two two 1.61641 -F 957 10.4534 -T 957 1424 , , 0.150157 -T 957 1432 five five 2.71521 -T 957 1446 s s 2.71521 -T 957 1451 x x 2.71521 -F 958 9.78891 -T 958 1531 , , 0.182345 -T 958 1543 h h 1.61641 -F 959 9.64801 -T 959 0 , , 0.49454 -T 959 960 c c 4.19623 -T 959 961 d d 2.50452 -T 959 962 e e 3.02859 -T 959 963 f f 4.19623 -T 959 964 fifty fifty 3.02859 -T 959 965 five five 3.7824 -T 959 966 g g 4.19623 -T 959 967 i i 3.98503 -T 959 968 k k 3.02859 -T 959 969 n n 2.50452 -T 959 970 one one 3.46603 -T 959 971 p p 4.19623 -T 959 972 q q 2.50452 -T 959 973 six six 3.99125 -T 959 974 t t 3.02859 -T 959 975 two two 3.51415 -T 959 976 u u 4.19623 -T 959 977 w w 4.19623 -T 959 978 y y 4.19623 -T 959 979 z z 4.19623 -F 960 10.3754 -T 960 83 , , 0.215369 -T 960 94 j j 1.61641 -F 961 10.2441 -T 961 112 , , 0.156378 -T 961 114 b b 2.71521 -T 961 131 one one 2.71521 -T 961 133 q q 2.71521 -F 962 10.6807 -T 962 146 , , 0.16391 -T 962 151 e e 2.30972 -T 962 159 j j 2.30972 -F 963 10.049 -T 963 293 , , 0.166844 -T 963 318 x x 1.61641 -F 964 10.4308 -T 964 335 , , -3.25127e-09 -F 965 10.7667 -T 965 350 , , 0.18382 -T 965 375 oh oh 1.61641 -F 966 10.6836 -T 966 455 , , 0.217473 -T 966 461 eighty eighty 1.61641 -F 967 11.0459 -T 967 544 , , 0.187812 -T 967 558 m m 1.61641 -F 968 9.78748 -T 968 607 , , 0.148752 -T 968 630 six six 2.30972 -T 968 638 x x 2.30972 -F 969 10.3332 -T 969 714 , , 0.187353 -T 969 725 h h 2.71521 -T 969 735 r r 2.71521 -T 969 737 seventy seventy 2.71521 -F 970 10.7144 -T 970 880 , , 0.213452 -T 970 900 i i 1.61641 -F 971 10.7267 -T 971 935 , , 0.216881 -T 971 943 forty forty 1.61641 -F 972 9.72447 -T 972 959 , , 0.0764667 -T 972 968 k k 2.71521 -T 972 971 p p 2.71521 -F 973 10.3646 -T 973 1148 , , 0.162042 -T 973 1189 two two 1.61641 -F 974 11.0565 -T 974 1234 , , 0.21671 -T 974 1258 seventy seventy 2.30972 -T 974 1262 w w 2.30972 -F 975 10.9204 -T 975 1378 , , 0.173096 -T 975 1384 eight eight 1.61641 -F 976 10.4821 -T 976 1424 , , 0.178916 -T 976 1429 e e 1.61641 -F 977 10.1427 -T 977 1476 , , 0.20104 -T 977 1482 eight eight 1.61641 -F 978 9.80504 -T 978 1531 , , 0.198468 -T 978 1537 eight eight 1.61641 -F 979 9.70722 -T 979 1579 , , 0.20212 -T 979 1588 h h 1.61641 -F 980 10.9396 -T 980 0 , , 1.78617 -T 980 981 a a 2.88537 -T 980 982 b b 3.71131 -T 980 983 c c 4.51053 -T 980 984 d d 3.27289 -T 980 985 e e 2.21048 -T 980 986 f f 5.0346 -T 980 987 g g 1.46652 -T 980 988 h h 5.39248 -T 980 989 i i 2.49209 -T 980 990 k k 3.06037 -T 980 991 l l 3.27289 -T 980 992 m m 5.0346 -T 980 993 n n 3.71131 -T 980 994 o o 2.38916 -T 980 995 one one 4.75766 -T 980 996 p p 5.77932 -T 980 997 q q 6.20224 -T 980 998 r r 3.27289 -T 980 999 s s 4.16837 -T 980 1000 seven seven 5.42034 -T 980 1001 sixty sixty 6.10951 -T 980 1002 t t 3.54276 -T 980 1003 thirty thirty 5.0346 -T 980 1004 u u 5.0346 -T 980 1005 v v 5.0346 -T 980 1006 w w 5.0346 -T 980 1007 y y 3.39885 -T 980 1008 z z 5.0346 -F 981 10.9745 -T 981 5 , , 0.405242 -T 981 9 d d 2.38387 -T 981 11 f f 4.18149 -T 981 18 j j 4.18149 -T 981 22 n n 1.13011 -T 981 25 p p 4.18149 -F 982 10.7255 -T 982 54 , , 0.201976 -T 982 57 d d 3.40829 -T 982 69 o o 3.40829 -T 982 72 r r 1.61066 -T 982 74 seven seven 3.40829 -F 983 11.2658 -T 983 83 , , 1.10578 -T 983 92 h h 0.310849 -F 984 10.4169 -T 984 112 , , 0.329192 -T 984 123 i i 3.81377 -T 984 132 p p 1.40941 -T 984 136 sixty sixty 3.81377 -T 984 141 w w 2.01614 -F 985 10.8183 -T 985 146 , , 0.301482 -T 985 151 e e 3.0378 -T 985 153 f f 4.83543 -T 985 160 k k 4.83543 -T 985 163 n n 2.05621 -T 985 173 t t 2.43107 -T 985 179 w w 1.78404 -F 986 9.91991 -T 986 293 , , 0.0377701 -T 986 304 i i 2.30972 -T 986 308 o o 2.30972 -F 987 11.8289 -T 987 455 , , 1.36273 -T 987 456 a a 3.16352 -T 987 458 c c 5.56765 -T 987 462 forty forty 5.56765 -T 987 463 h h 0.185358 -T 987 470 nine nine 5.56765 -T 987 472 one one 5.56765 -F 988 10.588 -T 988 492 , , 0.213368 -T 988 500 h h 1.61641 -F 989 11.6709 -T 989 544 , , 0.812904 -T 989 545 a a 4.56096 -T 989 547 c c 1.29613 -T 989 554 g g 4.56096 -T 989 556 k k 4.56096 -T 989 559 n n 1.78174 -T 989 564 s s 2.76333 -T 989 569 v v 1.78174 -F 990 9.86202 -T 990 607 , , 0.223294 -T 990 611 e e 2.2167 -T 990 615 fifty fifty 4.01433 -T 990 628 s s 4.01433 -T 990 630 six six 1.60997 -T 990 632 three three 4.01433 -F 991 10.692 -T 991 641 , , 0.376808 -T 991 642 a a 1.40941 -T 991 648 f f 3.81377 -T 991 649 fifty fifty 3.81377 -T 991 673 y y 2.01614 -F 992 10.7997 -T 992 676 , , 0.653319 -T 992 677 a a 0.512095 -F 993 10.5084 -T 993 714 , , 0.362548 -T 993 719 e e 1.00393 -T 993 728 k k 3.40829 -F 994 10.9179 -T 994 825 , , 0.378361 -T 994 826 a a 2.25676 -T 994 828 b b 2.86326 -T 994 843 n n 1.60974 -T 994 845 o o 2.86326 -T 994 849 s s 2.25676 -T 994 855 w w 2.86326 -T 994 857 y y 4.66112 -T 994 858 z z 4.66112 -F 995 10.567 -T 995 880 , , 0.0661091 -T 995 895 four four 2.30972 -F 996 10.5098 -T 996 935 , , 6.31573e-10 -F 997 9.85425 -T 997 959 , , 0.20624 -T 997 979 z z 1.61641 -F 998 11.1937 -T 998 980 , , 0.2541 -T 998 985 e e 1.40941 -T 998 993 n n 3.81377 -T 998 994 o o 2.01614 -F 999 11.491 -T 999 1048 , , 0.718899 -T 999 1062 o o 0.598442 -F 1000 10.3102 -T 1000 1083 , , 0.204115 -T 1000 1127 zero zero 1.61641 -F 1001 10.9799 -T 1001 1200 , , 0.112161 -T 1001 1208 one one 1.61641 -F 1002 11.2826 -T 1002 1234 , , 0.442741 -T 1002 1242 forty forty 3.56233 -T 1002 1253 one one 1.7647 -T 1002 1254 p p 1.7647 -T 1002 1263 z z 3.56233 -F 1003 10.32 -T 1003 1283 , , 0.0622096 -T 1003 1295 three three 2.30972 -F 1004 10.4479 -T 1004 1424 , , 0.144638 -T 1004 1439 m m 2.30972 -T 1004 1446 s s 2.30972 -F 1005 10.5105 -T 1005 1453 , , 0.207156 -T 1005 1458 fifty fifty 2.30972 -T 1005 1475 z z 2.30972 -F 1006 10.0399 -T 1006 1476 , , 0.0982803 -T 1006 1498 twenty twenty 2.30972 -F 1007 9.71843 -T 1007 1531 , , 0.111862 -T 1007 1539 fifty fifty 3.69588 -T 1007 1544 j j 3.69588 -T 1007 1549 oh oh 3.69588 -T 1007 1550 one one 1.89825 -T 1007 1551 p p 3.69588 -F 1008 9.63574 -T 1008 1579 , , 0.130643 -T 1008 1593 nine nine 2.30972 -T 1008 1597 r r 2.30972 -F 1009 9.77512 -T 1009 0 , , 0.62165 -T 1009 1010 b b 3.62841 -T 1009 1011 enter enter 3.62841 -T 1009 1012 erase erase 3.62841 -T 1009 1013 f f 3.62841 -T 1009 1014 g g 3.62841 -T 1009 1015 l l 3.62841 -T 1009 1016 m m 3.62841 -T 1009 1017 no no 1.93647 -T 1009 1018 o o 3.62841 -T 1009 1019 r r 3.62841 -T 1009 1020 rubout rubout 2.46054 -T 1009 1021 stop stop 2.46054 -T 1009 1022 w w 3.62841 -F 1010 10.6892 -T 1010 54 , , 0.165669 -T 1010 55 a a 1.61641 -F 1011 10.8798 -T 1011 250 , , 0.128507 -T 1011 251 eight eight 1.61641 -F 1012 9.91141 -T 1012 271 , , 0.203526 -T 1012 282 n n 1.61641 -F 1013 9.99903 -T 1013 293 , , 0.116887 -T 1013 304 i i 1.61641 -F 1014 10.6206 -T 1014 455 , , 0.154424 -T 1014 464 i i 1.61641 -F 1015 10.5188 -T 1015 641 , , 0.203614 -T 1015 663 r r 1.61641 -F 1016 10.1464 -T 1016 676 , , -3.41483e-10 -F 1017 9.94779 -T 1017 812 , , 0.132893 -T 1017 813 c c 2.71521 -T 1017 822 s s 2.71521 -T 1017 824 t t 2.71521 -F 1018 10.706 -T 1018 825 , , 0.16643 -T 1018 841 l l 1.61641 -F 1019 11.1565 -T 1019 980 , , 0.216846 -T 1019 988 h h 1.61641 -F 1020 10.1324 -T 1020 1023 , , 0.1346 -T 1020 1031 i i 2.30972 -T 1020 1036 o o 2.30972 -F 1021 10.262 -T 1021 1224 , , 0.0211599 -T 1021 1230 m m 2.30972 -T 1021 1232 rubout rubout 2.30972 -F 1022 10.1139 -T 1022 1476 , , 0.172279 -T 1022 1481 e e 1.61641 -F 1023 9.99784 -T 1023 0 , , 0.844369 -T 1023 1024 a a 4.09332 -T 1023 1025 c c 3.18079 -T 1023 1026 d d 4.82738 -T 1023 1027 e e 3.70486 -T 1023 1028 f f 2.83863 -T 1023 1029 g g 3.70486 -T 1023 1030 h h 3.18079 -T 1023 1031 i i 3.70486 -T 1023 1032 j j 3.18079 -T 1023 1033 l l 4.50686 -T 1023 1034 m m 3.18079 -T 1023 1035 n n 2.58419 -T 1023 1036 o o 2.83863 -T 1023 1037 p p 3.70486 -T 1023 1038 q q 3.70486 -T 1023 1039 r r 3.18079 -T 1023 1040 s s 4.42374 -T 1023 1041 t t 3.18079 -T 1023 1042 u u 2.58419 -T 1023 1043 v v 3.70486 -T 1023 1044 w w 3.70486 -T 1023 1045 x x 4.87273 -T 1023 1046 y y 4.87273 -T 1023 1047 z z 3.18079 -F 1024 10.7446 -T 1024 5 , , 0.175353 -T 1024 9 d d 1.61641 -F 1025 10.2682 -T 1025 83 , , 0.108165 -T 1025 102 t t 2.71521 -T 1025 108 y y 2.71521 -F 1026 10.2946 -T 1026 112 , , 0.206931 -T 1026 133 q q 1.61641 -F 1027 10.7183 -T 1027 146 , , 0.201481 -T 1027 177 u u 2.30972 -T 1027 182 z z 2.30972 -F 1028 9.97559 -T 1028 293 , , 0.0934457 -T 1028 295 b b 3.0028 -T 1028 307 m m 3.0028 -T 1028 318 x x 3.0028 -T 1028 319 y y 3.0028 -F 1029 10.6694 -T 1029 455 , , 0.20327 -T 1029 465 j j 2.30972 -T 1029 480 u u 2.30972 -F 1030 10.4958 -T 1030 492 , , 0.121204 -T 1030 496 f f 2.71521 -T 1030 520 w w 2.71521 -F 1031 10.9476 -T 1031 544 , , 0.0895997 -T 1031 563 r r 2.30972 -F 1032 9.87954 -T 1032 571 , , 0.162305 -T 1032 573 b b 2.71521 -T 1032 583 l l 2.71521 -T 1032 592 u u 2.71521 -F 1033 10.4584 -T 1033 641 , , 0.143232 -T 1033 645 d d 1.61641 -F 1034 10.3037 -T 1034 676 , , 0.157368 -T 1034 680 d d 2.71521 -T 1034 693 n n 2.71521 -T 1034 703 v v 2.71521 -F 1035 10.4776 -T 1035 714 , , 0.331779 -T 1035 715 a a 1.42829 -T 1035 716 b b 3.22592 -T 1035 744 x x 3.22592 -T 1035 746 z z 3.22592 -F 1036 10.7209 -T 1036 825 , , 0.181396 -T 1036 837 g g 3.0028 -T 1036 838 h h 3.0028 -T 1036 840 k k 3.0028 -T 1036 847 q q 3.0028 -F 1037 10.6597 -T 1037 935 , , 0.149842 -T 1037 949 n n 2.30972 -T 1037 951 o o 2.30972 -F 1038 9.69093 -T 1038 959 , , 0.0429227 -T 1038 969 n n 2.30972 -T 1038 972 q q 2.30972 -F 1039 11.0362 -T 1039 980 , , 0.0965826 -T 1039 998 r r 2.71521 -T 1039 1008 z z 2.71521 -F 1040 10.9636 -T 1040 1048 , , 0.191486 -T 1040 1055 h h 1.61641 -F 1041 11.0349 -T 1041 1234 , , 0.195026 -T 1041 1236 b b 2.71521 -T 1041 1244 g g 2.71521 -T 1041 1247 j j 2.71521 -F 1042 10.6619 -T 1042 1424 , , 0.358649 -T 1042 1431 f f 3.22592 -T 1042 1434 g g 3.22592 -T 1042 1436 j j 3.22592 -T 1042 1448 t t 1.42829 -F 1043 10.3034 -T 1043 1453 , , -7.41565e-09 -F 1044 10.1197 -T 1044 1476 , , 0.178007 -T 1044 1489 l l 2.30972 -T 1044 1493 p p 2.30972 -F 1045 9.57425 -T 1045 1504 , , 0.174983 -T 1045 1506 c c 1.61641 -F 1046 9.82046 -T 1046 1531 , , 0.213893 -T 1046 1563 y y 1.61641 -F 1047 9.61925 -T 1047 1579 , , 0.114154 -T 1047 1587 g g 2.71521 -T 1047 1595 o o 2.71521 -T 1047 1607 y y 2.71521 -F 1048 10.7721 -T 1048 0 , , 1.61866 -T 1048 1049 a a 4.12048 -T 1048 1050 b b 1.17892 -T 1048 1051 c c 5.81242 -T 1048 1052 e e 3.00879 -T 1048 1053 f f 4.64477 -T 1048 1054 fifty fifty 5.81242 -T 1048 1055 h h 3.52411 -T 1048 1056 i i 5.10915 -T 1048 1057 j j 4.12048 -T 1048 1058 k k 3.32148 -T 1048 1059 l l 4.64477 -T 1048 1060 m m 3.52411 -T 1048 1061 n n 5.09718 -T 1048 1062 o o 2.57913 -T 1048 1063 one one 3.52411 -T 1048 1064 p p 2.88284 -T 1048 1065 s s 3.52411 -T 1048 1066 seven seven 4.64477 -T 1048 1067 t t 2.15775 -T 1048 1068 thirty thirty 5.81242 -T 1048 1069 u u 4.12048 -T 1048 1070 v v 4.12048 -T 1048 1071 w w 3.77854 -T 1048 1072 x x 5.81242 -T 1048 1073 z z 4.64477 -T 1048 1074 zero zero 5.81242 -F 1049 10.6565 -T 1049 5 , , 0.0872591 -T 1049 21 m m 2.71521 -T 1049 29 t t 2.71521 -T 1049 37 y y 2.71521 -F 1050 13.2656 -T 1050 54 , , 2.74209 -T 1050 69 o o 5.46657 -T 1050 77 u u 0.0391439 -F 1051 10.2915 -T 1051 83 , , 0.13146 -T 1051 84 a a 1.61641 -F 1052 10.9417 -T 1052 146 , , 0.424917 -T 1052 162 m m 3.69588 -T 1052 167 p p 1.29152 -T 1052 179 w w 1.89825 -F 1053 10.0895 -T 1053 293 , , 0.207375 -T 1053 309 q q 2.30972 -T 1053 315 twenty twenty 2.30972 -F 1054 10.488 -T 1054 335 , , 0.0572091 -T 1054 337 eight eight 1.61641 -F 1055 10.5277 -T 1055 492 , , 0.153107 -T 1055 493 a a 1.42829 -T 1055 501 i i 3.22592 -T 1055 502 k k 3.22592 -F 1056 11.0645 -T 1056 544 , , 0.206436 -T 1056 562 q q 1.61641 -F 1057 10.2362 -T 1057 571 , , 0.519002 -T 1057 572 a a 0.91758 -T 1057 590 seven seven 2.71521 -F 1058 9.85275 -T 1058 607 , , 0.214017 -T 1058 617 i i 1.61066 -T 1058 635 u u 3.40829 -T 1058 639 y y 3.40829 -F 1059 10.4019 -T 1059 641 , , 0.0867772 -T 1059 648 f f 2.30972 -F 1060 10.5279 -T 1060 676 , , 0.381563 -T 1060 677 a a 0.821562 -T 1060 687 g g 3.22592 -F 1061 10.3464 -T 1061 714 , , 0.200522 -T 1061 732 o o 1.61641 -F 1062 11.8104 -T 1062 825 , , 1.27085 -T 1062 841 l l 2.30374 -T 1062 843 n n 0.380848 -F 1063 10.5622 -T 1063 880 , , 0.0612319 -T 1063 916 seventy seventy 3.22592 -T 1063 934 zero zero 3.22592 -F 1064 10.6387 -T 1064 935 , , 0.128885 -T 1064 949 n n 3.81377 -T 1064 952 r r 2.01614 -F 1065 10.8419 -T 1065 1048 , , 0.0698218 -T 1065 1055 h h 3.22592 -T 1065 1060 m m 3.22592 -T 1065 1070 v v 3.22592 -T 1065 1071 w w 3.22592 -F 1066 10.2998 -T 1066 1083 , , 0.193693 -T 1066 1114 sixty sixty 2.30972 -T 1066 1118 thirty thirty 2.30972 -F 1067 11.9455 -T 1067 1234 , , 1.10567 -T 1067 1238 e e 0.671434 -T 1067 1239 eighty eighty 4.50685 -T 1067 1246 i i 4.50685 -T 1067 1250 m m 4.50685 -T 1067 1252 o o 2.70922 -T 1067 1256 r r 2.10249 -F 1068 10.3099 -T 1068 1283 , , 0.0521122 -T 1068 1288 five five 1.61641 -F 1069 10.4679 -T 1069 1424 , , 0.164715 -T 1069 1439 m m 2.71521 -T 1069 1440 n n 2.71521 -T 1069 1441 o o 2.71521 -F 1070 10.362 -T 1070 1453 , , 0.0586652 -T 1070 1463 n n 2.71521 -F 1071 9.95793 -T 1071 1476 , , 0.0162808 -T 1071 1503 z z 3.0028 -F 1072 9.57425 -T 1072 1504 , , 0.174983 -T 1072 1524 two two 1.61641 -F 1073 9.65978 -T 1073 1579 , , 0.154682 -T 1073 1591 k k 2.30972 -T 1073 1593 nine nine 2.30972 -F 1074 9.86272 -T 1074 1609 , , 0.197856 -T 1074 1610 a a 1.61641 -F 1075 10.4418 -T 1075 0 , , 1.2883 -T 1075 1076 nineteen nineteen 0.32052 -F 1076 11.5078 -T 1076 796 , , 3.88138e-09 -F 1077 9.74047 -T 1077 0 , , 0.587004 -T 1077 1078 fifteenth fifteenth 2.40459 -T 1077 1079 first first 2.40459 -T 1077 1080 nineteen nineteen 2.40459 -T 1077 1081 sixth sixth 2.40459 -T 1077 1082 twenty twenty 2.40459 -F 1078 10.4418 -T 1078 330 , , 2.78275e-08 -F 1079 10.847 -T 1079 348 , , 1.05209e-08 -F 1080 11.5078 -T 1080 796 , , -1.28024e-08 -F 1081 9.74862 -T 1081 1198 , , -1.21669e-10 -F 1082 10.376 -T 1082 1360 , , 0.209762 -T 1082 1372 seventh seventh 1.61641 -F 1083 10.1061 -T 1083 0 , , 0.952613 -T 1083 1084 area area 5.75807 -T 1083 1085 b b 4.77099 -T 1083 1086 eight eight 2.71659 -T 1083 1087 enter enter 4.5902 -T 1083 1088 erase erase 4.5902 -T 1083 1089 fifteen fifteen 5.75807 -T 1083 1090 fifty fifty 5.75807 -T 1083 1091 five five 2.95445 -T 1083 1092 forty forty 4.06613 -T 1083 1093 four four 2.22522 -T 1083 1094 fourteen fourteen 4.5902 -T 1083 1095 h h 4.55892 -T 1083 1096 help help 5.75807 -T 1083 1097 hundred hundred 5.75807 -T 1083 1098 j j 5.6842 -T 1083 1099 l l 4.61511 -T 1083 1100 m m 4.5902 -T 1083 1101 may may 5.75807 -T 1083 1102 nine nine 3.26691 -T 1083 1103 october october 5.75807 -T 1083 1104 oh oh 3.26691 -T 1083 1105 one one 3.26691 -T 1083 1106 p p 4.06613 -T 1083 1107 r r 4.14123 -T 1083 1108 rubout rubout 2.71659 -T 1083 1109 s s 4.53198 -T 1083 1110 seven seven 3.72397 -T 1083 1111 seventeen seventeen 5.75807 -T 1083 1112 seventy seventy 5.75807 -T 1083 1113 six six 3.09859 -T 1083 1114 sixty sixty 4.06613 -T 1083 1115 start start 5.75807 -T 1083 1116 stop stop 3.46954 -T 1083 1117 ten ten 4.06613 -T 1083 1118 thirty thirty 4.5902 -T 1083 1119 thousand thousand 5.75807 -T 1083 1120 three three 3.72397 -T 1083 1121 twenty twenty 4.06613 -T 1083 1122 two two 3.26691 -T 1083 1123 v v 4.5902 -T 1083 1124 y y 5.3943 -T 1083 1125 yes yes 3.72397 -T 1083 1126 z z 5.74936 -T 1083 1127 zero zero 4.06613 -F 1084 9.75401 -T 1084 49 , , -1.21669e-10 -F 1085 10.653 -T 1085 54 , , 0.129487 -T 1085 72 r r 1.61641 -F 1086 10.4497 -T 1086 183 , , 0.247399 -T 1086 186 august august 3.919 -T 1086 190 eight eight 1.51487 -T 1086 192 erase erase 3.919 -T 1086 226 zero zero 3.919 -F 1087 10.8473 -T 1087 250 , , 0.0959352 -T 1087 254 fifty fifty 2.30972 -T 1087 257 four four 2.30972 -F 1088 9.83717 -T 1088 271 , , 0.129286 -T 1088 273 b b 2.30972 -T 1088 288 v v 2.30972 -F 1089 9.79584 -T 1089 324 , , 0.126764 -T 1089 328 nineteen nineteen 1.61641 -F 1090 10.5514 -T 1090 335 , , 0.120621 -T 1090 338 five five 1.61641 -F 1091 10.8732 -T 1091 350 , , 0.290324 -T 1091 356 eight eight 3.69588 -T 1091 376 one one 1.89825 -T 1091 381 seven seven 1.89825 -T 1091 389 two two 1.29152 -F 1092 10.8788 -T 1092 392 , , 0.380054 -T 1092 395 four four 2.71521 -T 1092 398 seven seven 0.91758 -F 1093 11.2432 -T 1093 402 , , 0.857752 -T 1093 416 h h 4.38919 -T 1093 425 one one 0.948205 -T 1093 440 twelve twelve 4.38919 -T 1093 442 two two 1.3378 -F 1094 10.1213 -T 1094 446 , , 0.0531036 -T 1094 447 a a 2.30972 -F 1095 10.4624 -T 1095 492 , , 0.0877536 -T 1095 508 p p 2.30972 -F 1096 10.0711 -T 1096 527 , , 0.183054 -T 1096 529 b b 1.61641 -F 1097 10.5711 -T 1097 537 , , 0.183054 -T 1097 542 twenty twenty 1.61641 -F 1098 9.92265 -T 1098 571 , , 0.205407 -T 1098 589 s s 1.61641 -F 1099 10.4348 -T 1099 641 , , 0.119614 -T 1099 642 a a 1.61641 -F 1100 10.223 -T 1100 676 , , 0.0766419 -T 1100 692 m m 2.30972 -F 1101 9.79943 -T 1101 710 , , 0.0582737 -T 1101 711 nineteen nineteen 1.61641 -F 1102 10.1287 -T 1102 747 , , 0.417829 -T 1102 777 one one 1.61066 -T 1102 788 three three 3.40829 -T 1102 790 two two 1.61066 -F 1103 9.8043 -T 1103 859 , , 0.0582737 -T 1103 860 first first 1.61641 -F 1104 11.0887 -T 1104 866 , , 0.0757337 -T 1104 867 eight eight 1.61066 -T 1104 868 enter enter 3.40829 -F 1105 10.602 -T 1105 880 , , 0.10106 -T 1105 886 eight eight 3.40829 -T 1105 902 july july 3.40829 -T 1105 917 six six 3.40829 -T 1105 924 thirty thirty 3.40829 -T 1105 934 zero zero 3.40829 -F 1106 10.5695 -T 1106 935 , , 0.0596804 -T 1106 951 o o 2.71521 -T 1106 955 t t 2.71521 -F 1107 11.0649 -T 1107 980 , , 0.125219 -T 1107 994 o o 1.61641 -F 1108 10.0068 -T 1108 1023 , , 0.00896647 -T 1108 1033 l l 3.919 -F 1109 10.9673 -T 1109 1048 , , 0.195179 -T 1109 1059 l l 2.30972 -T 1109 1069 u u 2.30972 -F 1110 10.169 -T 1110 1083 , , 0.062968 -T 1110 1091 five five 3.0028 -T 1110 1098 j j 3.0028 -T 1110 1102 nine nine 3.0028 -F 1111 9.93716 -T 1111 1128 , , -2.04146e-09 -F 1112 10.2143 -T 1112 1135 , , 0.0789911 -T 1112 1146 two two 1.61641 -F 1113 10.3129 -T 1113 1148 , , 0.110291 -T 1113 1149 a a 3.56233 -T 1113 1153 eight eight 1.7647 -T 1113 1157 f f 3.56233 -T 1113 1176 seventeen seventeen 3.56233 -F 1114 10.8724 -T 1114 1200 , , 0.00465929 -T 1114 1201 eight eight 2.71521 -F 1115 10.2782 -T 1115 1216 , , 0.179492 -T 1115 1219 i i 1.61641 -F 1116 10.2792 -T 1116 1224 , , 0.0384075 -T 1116 1225 d d 3.22592 -T 1116 1228 go go 3.22592 -T 1116 1231 repeat repeat 3.22592 -F 1117 9.6204 -T 1117 1264 , , 0.115402 -T 1117 1265 enter enter 2.71521 -T 1117 1266 f f 2.71521 -T 1117 1270 one one 2.71521 -F 1118 10.3609 -T 1118 1283 , , 0.103118 -T 1118 1285 e e 2.30972 -T 1118 1286 eight eight 2.30972 -F 1119 9.78928 -T 1119 1297 , , 0.16994 -T 1119 1302 one one 1.61641 -F 1120 10.2464 -T 1120 1306 , , 0.0637745 -T 1120 1330 one one 3.0028 -T 1120 1332 rubout rubout 3.0028 -T 1120 1346 zero zero 3.0028 -F 1121 10.6853 -T 1121 1360 , , 0.51911 -T 1121 1365 five five 2.71521 -T 1121 1368 nine nine 0.91758 -F 1122 10.7999 -T 1122 1378 , , 0.0526695 -T 1122 1385 eighteen eighteen 3.40829 -T 1122 1401 nine nine 3.40829 -T 1122 1423 zero zero 3.40829 -F 1123 10.3998 -T 1123 1453 , , 0.0964089 -T 1123 1461 l l 2.30972 -F 1124 9.80504 -T 1124 1531 , , 0.198468 -T 1124 1538 f f 1.61641 -F 1125 10.0818 -T 1125 1565 , , 0.0606199 -T 1125 1572 j j 3.0028 -T 1125 1573 n n 3.0028 -F 1126 9.71642 -T 1126 1579 , , 0.211322 -T 1126 1582 c c 1.61641 -F 1127 9.77716 -T 1127 1609 , , 0.112298 -T 1127 1623 s s 2.71521 -T 1127 1629 yes yes 2.71521 -F 1128 9.93716 -T 1128 0 , , 0.783693 -T 1128 1129 enter enter 2.40459 -T 1128 1130 fifty fifty 1.23672 -T 1128 1131 rubout rubout 2.40459 -T 1128 1132 thirty thirty 2.40459 -F 1129 10.8798 -T 1129 250 , , 0.128507 -T 1129 251 eight eight 1.61641 -F 1130 10.4942 -T 1130 335 , , 0.0634171 -T 1130 343 seven seven 2.30972 -F 1131 10.1943 -T 1131 1023 , , 0.196496 -T 1131 1027 e e 1.61641 -F 1132 10.4368 -T 1132 1283 , , 0.179046 -T 1132 1293 six six 1.61641 -F 1133 9.74862 -T 1133 0 , , 0.595155 -T 1133 1134 nineteen nineteen 0.795083 -F 1134 11.5078 -T 1134 796 , , -1.28024e-08 -F 1135 10.1353 -T 1135 0 , , 0.98187 -T 1135 1136 eight eight 4.05324 -T 1135 1137 five five 4.05324 -T 1135 1138 g g 4.05324 -T 1135 1139 h h 4.05324 -T 1135 1140 nine nine 2.3613 -T 1135 1141 one one 1.24961 -T 1135 1142 p p 4.05324 -T 1135 1143 rubout rubout 4.05324 -T 1135 1144 seven seven 2.3613 -T 1135 1145 six six 4.05324 -T 1135 1146 two two 2.01937 -T 1135 1147 yes yes 4.05324 -F 1136 10.4192 -T 1136 183 , , 0.216882 -T 1136 202 k k 1.61641 -F 1137 10.802 -T 1137 350 , , 0.219169 -T 1137 378 q q 1.61641 -F 1138 10.6743 -T 1138 455 , , 0.208182 -T 1138 479 two two 1.61641 -F 1139 10.4222 -T 1139 492 , , 0.0475877 -T 1139 493 a a 1.61641 -F 1140 9.89219 -T 1140 747 , , 0.181343 -T 1140 758 fifty fifty 2.71521 -T 1140 764 help help 2.71521 -T 1140 794 yes yes 2.71521 -F 1141 10.956 -T 1141 880 , , 0.455105 -T 1141 883 b b 3.69588 -T 1141 888 enter enter 1.29152 -T 1141 904 m m 3.69588 -T 1141 913 rubout rubout 3.69588 -T 1141 920 start start 3.69588 -T 1141 921 stop stop 3.69588 -F 1142 10.6752 -T 1142 935 , , 0.165352 -T 1142 951 o o 1.61641 -F 1143 10.159 -T 1143 1023 , , 0.16112 -T 1143 1028 f f 1.61641 -F 1144 10.2746 -T 1144 1083 , , 0.16856 -T 1144 1092 forty forty 2.71521 -T 1144 1123 v v 2.71521 -T 1144 1125 yes yes 2.71521 -F 1145 10.4151 -T 1145 1148 , , 0.212516 -T 1145 1187 twelve twelve 1.61641 -F 1146 10.9257 -T 1146 1378 , , 0.178451 -T 1146 1381 c c 3.0028 -T 1146 1387 enter enter 3.0028 -T 1146 1408 repeat repeat 3.0028 -T 1146 1414 stop stop 3.0028 -F 1147 10.2208 -T 1147 1565 , , 0.199669 -T 1147 1577 x x 1.61641 -F 1148 10.2026 -T 1148 0 , , 1.04912 -T 1148 1149 a a 4.29807 -T 1148 1150 b b 4.8675 -T 1148 1151 c c 4.72721 -T 1148 1152 e e 4.12722 -T 1148 1153 eight eight 1.90309 -T 1148 1154 eighty eighty 5.89508 -T 1148 1155 enter enter 2.9655 -T 1148 1156 erase erase 3.60654 -T 1148 1157 f f 5.47515 -T 1148 1158 five five 3.40391 -T 1148 1159 forty forty 5.89508 -T 1148 1160 four four 2.66179 -T 1148 1161 h h 4.20314 -T 1148 1162 hundred hundred 5.89508 -T 1148 1163 july july 5.89508 -T 1148 1164 k k 5.40078 -T 1148 1165 l l 4.71162 -T 1148 1166 nine nine 3.40391 -T 1148 1167 no no 4.72721 -T 1148 1168 oh oh 3.40391 -T 1148 1169 one one 2.9655 -T 1148 1170 p p 4.72721 -T 1148 1171 r r 4.23774 -T 1148 1172 rubout rubout 5.57278 -T 1148 1173 s s 4.62849 -T 1148 1174 september september 5.89508 -T 1148 1175 seven seven 3.09145 -T 1148 1176 seventeen seventeen 5.89508 -T 1148 1177 six six 2.66179 -T 1148 1178 sixteen sixteen 5.89508 -T 1148 1179 sixty sixty 4.72721 -T 1148 1180 start start 4.72721 -T 1148 1181 stop stop 5.89508 -T 1148 1182 t t 4.31718 -T 1148 1183 ten ten 5.89508 -T 1148 1184 thirty thirty 4.72721 -T 1148 1185 thousand thousand 5.89508 -T 1148 1186 three three 2.7532 -T 1148 1187 twelve twelve 4.72721 -T 1148 1188 twenty twenty 5.89508 -T 1148 1189 two two 2.85359 -T 1148 1190 v v 4.72721 -T 1148 1191 yes yes 4.72721 -T 1148 1192 zero zero 5.89508 -F 1149 10.7446 -T 1149 5 , , 0.175353 -T 1149 29 t t 1.61641 -F 1150 10.5235 -T 1150 54 , , 5.93077e-09 -F 1151 10.2086 -T 1151 83 , , 0.0485429 -T 1151 84 a a 2.30972 -T 1151 98 o o 2.30972 -F 1152 10.7202 -T 1152 146 , , 0.203368 -T 1152 162 m m 1.61641 -F 1153 11.0222 -T 1153 183 , , 0.819858 -T 1153 194 five five 3.0378 -T 1153 196 four four 1.78404 -T 1153 208 one one 3.0378 -T 1153 213 seven seven 2.05621 -T 1153 215 six six 3.0378 -T 1153 218 ten ten 4.83543 -T 1153 221 three three 1.24501 -F 1154 10.1686 -T 1154 233 , , 0.190842 -T 1154 234 eight eight 1.61641 -F 1155 10.8013 -T 1155 250 , , 0.0500099 -T 1155 265 sixty sixty 2.01614 -F 1156 9.73463 -T 1156 271 , , 0.0267514 -T 1156 280 k k 3.22592 -F 1157 10.0846 -T 1157 293 , , 0.202499 -T 1157 294 a a 1.61641 -F 1158 10.6114 -T 1158 350 , , 0.0285759 -T 1158 356 eight eight 3.40829 -T 1158 359 f f 3.40829 -F 1159 10.5834 -T 1159 392 , , 0.0846471 -T 1159 394 five five 1.61641 -F 1160 10.5614 -T 1160 402 , , 0.175951 -T 1160 407 eight eight 2.30374 -T 1160 408 eleven eleven 4.10136 -T 1160 413 five five 2.30374 -T 1160 418 january january 4.10136 -T 1160 423 no no 4.10136 -T 1160 445 zero zero 4.10136 -F 1161 10.7824 -T 1161 492 , , 0.407805 -T 1161 493 a a 0.91758 -T 1161 501 i i 2.71521 -F 1162 10.5711 -T 1162 537 , , 0.183054 -T 1162 540 forty forty 1.61641 -F 1163 9.80448 -T 1163 600 , , 0.0582737 -T 1163 601 thirtieth thirtieth 1.61641 -F 1164 9.7476 -T 1164 607 , , 0.108866 -T 1164 611 e e 1.61641 -F 1165 10.4092 -T 1165 641 , , 0.0940732 -T 1165 674 z z 2.30972 -F 1166 9.96375 -T 1166 747 , , 0.252901 -T 1166 751 b b 3.40829 -T 1166 759 five five 1.61066 -T 1166 763 go go 3.40829 -T 1166 782 september september 3.40829 -F 1167 9.89084 -T 1167 812 , , 0.0759418 -T 1167 823 start start 2.30972 -F 1168 11.2028 -T 1168 866 , , 0.189876 -T 1168 867 eight eight 1.61066 -T 1168 875 seven seven 1.61066 -F 1169 10.5425 -T 1169 880 , , 0.0415776 -T 1169 896 go go 3.81377 -T 1169 918 sixteen sixteen 3.81377 -T 1169 934 zero zero 3.81377 -F 1170 10.6704 -T 1170 935 , , 0.160526 -T 1170 936 a a 2.30972 -T 1170 952 r r 2.30972 -F 1171 10.9396 -T 1171 980 , , -3.33382e-10 -F 1172 10.1408 -T 1172 1023 , , 0.142951 -T 1172 1035 n n 1.61641 -F 1173 10.9636 -T 1173 1048 , , 0.191486 -T 1173 1060 m m 1.61641 -F 1174 9.86723 -T 1174 1077 , , 0.126764 -T 1174 1078 fifteenth fifteenth 1.61641 -F 1175 10.296 -T 1175 1083 , , 0.189926 -T 1175 1094 fourteen fourteen 3.69588 -T 1175 1104 oh oh 1.89825 -T 1175 1107 r r 3.69588 -T 1175 1109 s s 3.69588 -T 1175 1121 twenty twenty 3.69588 -F 1176 10.0639 -T 1176 1128 , , 0.126764 -T 1176 1132 thirty thirty 1.61641 -F 1177 10.4258 -T 1177 1148 , , 0.223247 -T 1177 1158 five five 2.30374 -T 1177 1169 one one 2.30374 -T 1177 1178 sixteen sixteen 4.10136 -T 1177 1189 two two 2.30374 -F 1178 10.1412 -T 1178 1193 , , -1.06528e-09 -F 1179 10.8784 -T 1179 1200 , , 0.0107012 -T 1179 1213 three three 2.30972 -F 1180 10.1614 -T 1180 1216 , , 0.0626555 -T 1180 1220 no no 2.30972 -F 1181 10.4336 -T 1181 1224 , , 0.192778 -T 1181 1227 erase erase 1.61641 -F 1182 11.027 -T 1182 1234 , , 0.187133 -T 1182 1235 a a 2.30972 -T 1182 1256 r r 2.30972 -F 1183 9.69362 -T 1183 1264 , , 0.188628 -T 1183 1278 twenty twenty 1.61641 -F 1184 10.3609 -T 1184 1283 , , 0.10314 -T 1184 1284 b b 2.30972 -T 1184 1296 two two 2.30972 -F 1185 9.66486 -T 1185 1297 , , 0.0455199 -T 1185 1298 eight eight 1.61641 -F 1186 10.318 -T 1186 1306 , , 0.135402 -T 1186 1330 one one 2.2167 -T 1186 1337 six six 2.2167 -F 1187 9.8803 -T 1187 1349 , , 0.11564 -T 1187 1350 enter enter 2.30972 -T 1187 1353 nine nine 2.30972 -F 1188 10.2664 -T 1188 1360 , , 0.100222 -T 1188 1373 six six 1.61641 -F 1189 11.1557 -T 1189 1378 , , 0.40843 -T 1189 1384 eight eight 2.12137 -T 1189 1410 seven seven 2.12137 -T 1189 1411 six six 1.51487 -F 1190 10.385 -T 1190 1453 , , 0.0816317 -T 1190 1467 q q 2.30972 -F 1191 10.104 -T 1191 1565 , , 0.0828329 -T 1191 1569 g g 2.30972 -F 1192 9.78549 -T 1192 1609 , , 0.120621 -T 1192 1619 one one 1.61641 -F 1193 10.1412 -T 1193 0 , , 0.987762 -T 1193 1194 forty forty 1.89365 -T 1193 1195 sixty sixty 0.726005 -F 1194 10.6249 -T 1194 392 , , 0.126213 -T 1194 393 eight eight 1.61641 -F 1195 10.9519 -T 1195 1200 , , 0.0842041 -T 1195 1202 enter enter 2.30972 -F 1196 9.74862 -T 1196 0 , , 0.595155 -T 1196 1197 nineteen nineteen 0.795083 -F 1197 11.5078 -T 1197 796 , , -1.28024e-08 -F 1198 9.74862 -T 1198 0 , , 0.595155 -T 1198 1199 nineteen nineteen 0.795083 -F 1199 11.5078 -T 1199 796 , , -1.28024e-08 -F 1200 10.8677 -T 1200 0 , , 1.71423 -T 1200 1201 eight eight 2.78336 -T 1200 1202 enter enter 3.90403 -T 1200 1203 fifty fifty 5.0719 -T 1200 1204 five five 2.78336 -T 1200 1205 four four 2.58074 -T 1200 1206 help help 3.90403 -T 1200 1207 nine nine 1.67766 -T 1200 1208 one one 2.26828 -T 1200 1209 s s 5.0719 -T 1200 1210 seven seven 1.93003 -T 1200 1211 six six 3.37996 -T 1200 1212 start start 5.0719 -T 1200 1213 three three 2.41242 -T 1200 1214 two two 2.78336 -T 1200 1215 w w 5.0719 -F 1201 10.3221 -T 1201 183 , , 0.11973 -T 1201 192 erase erase 3.22592 -T 1201 200 j j 3.22592 -T 1201 206 o o 3.22592 -T 1201 211 rubout rubout 3.22592 -F 1202 10.8607 -T 1202 250 , , 0.10934 -T 1202 257 four four 2.30972 -T 1202 263 seventy seventy 2.30972 -F 1203 10.5514 -T 1203 335 , , 0.120621 -T 1203 338 five five 1.61641 -F 1204 10.731 -T 1204 350 , , 0.148108 -T 1204 357 enter enter 3.22592 -T 1204 363 g g 3.22592 -T 1204 377 p p 3.22592 -T 1204 379 repeat repeat 3.22592 -T 1204 390 yes yes 3.22592 -F 1205 10.5154 -T 1205 402 , , 0.129976 -T 1205 403 and and 3.40829 -T 1205 409 enter enter 3.40829 -T 1205 419 l l 3.40829 -T 1205 423 no no 3.40829 -T 1205 427 repeat repeat 3.40829 -T 1205 436 stop stop 3.40829 -F 1206 9.9543 -T 1206 527 , , 0.0662173 -T 1206 534 n n 2.30972 -F 1207 9.95165 -T 1207 747 , , 0.240804 -T 1207 755 enter enter 2.45801 -T 1207 756 erase erase 2.45801 -T 1207 762 g g 4.25564 -T 1207 769 m m 4.25564 -T 1207 780 rubout rubout 2.45801 -T 1207 791 v v 4.25564 -T 1207 793 x x 4.25564 -F 1208 10.7919 -T 1208 880 , , 0.29098 -T 1208 881 a a 3.69588 -T 1208 888 enter enter 1.89825 -T 1208 898 help help 3.69588 -T 1208 911 r r 3.69588 -T 1208 913 rubout rubout 3.69588 -T 1208 932 yes yes 3.69588 -T 1208 933 z z 3.69588 -F 1209 10.9839 -T 1209 1048 , , 0.211749 -T 1209 1053 f f 1.61641 -F 1210 10.4567 -T 1210 1083 , , 0.350598 -T 1210 1088 erase erase 4.01433 -T 1210 1095 h h 2.2167 -T 1210 1100 m m 4.01433 -T 1210 1108 rubout rubout 2.2167 -T 1210 1115 start start 4.01433 -T 1210 1116 stop stop 2.2167 -T 1210 1117 ten ten 4.01433 -T 1210 1125 yes yes 4.01433 -F 1211 10.3442 -T 1211 1148 , , 0.141612 -T 1211 1152 e e 2.71521 -T 1211 1155 enter enter 2.71521 -T 1211 1165 l l 2.71521 -F 1212 10.1786 -T 1212 1216 , , 0.0799043 -T 1212 1221 repeat repeat 1.61641 -F 1213 10.4614 -T 1213 1306 , , 0.2788 -T 1213 1316 erase erase 1.7647 -T 1213 1321 g g 3.56233 -T 1213 1328 no no 3.56233 -T 1213 1338 sixty sixty 3.56233 -T 1213 1344 v v 3.56233 -T 1213 1345 yes yes 3.56233 -F 1214 11.1293 -T 1214 1378 , , 0.382071 -T 1214 1387 enter enter 1.42829 -T 1214 1409 rubout rubout 3.22592 -T 1214 1416 thirty thirty 3.22592 -T 1214 1422 v v 3.22592 -F 1215 10.0382 -T 1215 1476 , , 0.0965446 -T 1215 1477 a a 1.61641 -F 1216 10.0987 -T 1216 0 , , 0.945248 -T 1216 1217 enter enter 2.02535 -T 1216 1218 h h 2.02535 -T 1216 1219 i i 3.19299 -T 1216 1220 no no 3.19299 -T 1216 1221 repeat repeat 2.02535 -T 1216 1222 rubout rubout 2.02535 -T 1216 1223 y y 3.19299 -F 1217 10.8472 -T 1217 250 , , 0.0959134 -T 1217 251 eight eight 2.30972 -T 1217 260 ninety ninety 2.30972 -F 1218 10.4966 -T 1218 492 , , 0.122014 -T 1218 502 k k 2.30972 -T 1218 506 o o 2.30972 -F 1219 11.0645 -T 1219 544 , , 0.206436 -T 1219 561 p p 1.61641 -F 1220 9.87 -T 1220 812 , , 0.055099 -T 1220 815 erase erase 1.61641 -F 1221 9.79043 -T 1221 1009 , , 0.0153145 -T 1221 1020 rubout rubout 2.30972 -F 1222 10.1508 -T 1222 1023 , , 0.152919 -T 1222 1028 f f 2.30972 -T 1222 1045 x x 2.30972 -F 1223 9.77254 -T 1223 1531 , , 0.165972 -T 1223 1535 d d 1.61641 -F 1224 10.2408 -T 1224 0 , , 1.08734 -T 1224 1225 d d 3.56763 -T 1224 1226 enter enter 1.07669 -T 1224 1227 erase erase 3.56763 -T 1224 1228 go go 3.56763 -T 1224 1229 j j 3.56763 -T 1224 1230 m m 2.39998 -T 1224 1231 repeat repeat 3.56763 -T 1224 1232 rubout rubout 2.39998 -T 1224 1233 yes yes 3.56763 -F 1225 10.2845 -T 1225 112 , , 0.196836 -T 1225 142 y y 1.61641 -F 1226 10.8681 -T 1226 250 , , 0.116785 -T 1226 262 seven seven 1.61066 -F 1227 9.90532 -T 1227 271 , , 0.19744 -T 1227 285 r r 1.61641 -F 1228 10.0324 -T 1228 483 , , 0.175201 -T 1228 484 enter enter 1.61641 -F 1229 9.90794 -T 1229 571 , , 0.190699 -T 1229 574 c c 1.61641 -F 1230 10.7997 -T 1230 676 , , 0.653319 -T 1230 677 a a 0.512095 -F 1231 9.96961 -T 1231 1009 , , 0.19449 -T 1231 1011 enter enter 1.61641 -F 1232 10.8338 -T 1232 1023 , , 0.835934 -T 1232 1042 u u 0.512095 -F 1233 10.1709 -T 1233 1565 , , 0.149783 -T 1233 1571 h h 1.61641 -F 1234 10.8398 -T 1234 0 , , 1.68636 -T 1234 1235 a a 4.93531 -T 1234 1236 b b 4.95516 -T 1234 1237 d d 4.43109 -T 1234 1238 e e 2.26206 -T 1234 1239 eighty eighty 6.12303 -T 1234 1240 f f 4.95516 -T 1234 1241 fifty fifty 6.12303 -T 1234 1242 forty forty 6.12303 -T 1234 1243 four four 5.17087 -T 1234 1244 g g 4.08916 -T 1234 1245 h h 2.52755 -T 1234 1246 i i 3.83473 -T 1234 1247 j j 6.12303 -T 1234 1248 k k 4.95516 -T 1234 1249 l l 4.43109 -T 1234 1250 m m 4.43109 -T 1234 1251 n n 4.95516 -T 1234 1252 o o 3.63187 -T 1234 1253 one one 4.65785 -T 1234 1254 p p 3.31941 -T 1234 1255 q q 4.95516 -T 1234 1256 r r 3.63187 -T 1234 1257 s s 1.51119 -T 1234 1258 seventy seventy 6.12303 -T 1234 1259 sixty sixty 6.0097 -T 1234 1260 t t 1.31247 -T 1234 1261 v v 6.12303 -T 1234 1262 w w 6.0097 -T 1234 1263 z z 4.08916 -F 1235 10.6524 -T 1235 5 , , 0.0831444 -T 1235 37 y y 2.30972 -F 1236 10.6842 -T 1236 54 , , 0.160663 -T 1236 55 a a 2.30972 -T 1236 71 p p 2.30972 -F 1237 10.1799 -T 1237 112 , , 0.0922429 -T 1237 123 i i 2.71521 -T 1237 125 k k 2.71521 -F 1238 10.9979 -T 1238 146 , , 0.481111 -T 1238 148 b b 4.70764 -T 1238 150 d d 2.91001 -T 1238 151 e e 2.91001 -T 1238 163 n n 2.30328 -T 1238 169 r r 1.65625 -T 1238 178 v v 1.65625 -F 1239 10.1686 -T 1239 233 , , 0.190842 -T 1239 235 fifth fifth 1.61641 -F 1240 10.0251 -T 1240 293 , , 0.142943 -T 1240 299 f f 2.30972 -T 1240 316 two two 2.30972 -F 1241 10.6396 -T 1241 335 , , 0.208785 -T 1241 342 rubout rubout 1.61641 -F 1242 10.5834 -T 1242 392 , , 0.0846471 -T 1242 400 three three 1.61641 -F 1243 10.4685 -T 1243 402 , , 0.0830511 -T 1243 425 one one 1.61641 -F 1244 10.5888 -T 1244 455 , , 0.122678 -T 1244 465 j j 3.0028 -T 1244 466 k k 3.0028 -T 1244 470 nine nine 3.0028 -F 1245 10.8908 -T 1245 492 , , 0.516134 -T 1245 493 a a 1.00899 -T 1245 495 e e 2.65212 -T 1245 496 f f 4.44975 -T 1245 506 o o 2.65212 -T 1245 508 p p 2.65212 -T 1245 519 v v 4.44975 -T 1245 522 y y 4.44975 -F 1246 11.4229 -T 1246 544 , , 0.564814 -T 1246 549 e e 1.42829 -T 1246 558 m m 1.42829 -F 1247 9.9292 -T 1247 571 , , 0.211957 -T 1247 581 j j 1.61641 -F 1248 9.81774 -T 1248 607 , , 0.179013 -T 1248 628 s s 2.30972 -T 1248 638 x x 2.30972 -F 1249 10.7088 -T 1249 641 , , 0.393612 -T 1249 646 e e 0.91758 -T 1249 649 fifty fifty 2.71521 -F 1250 11.2051 -T 1250 676 , , 1.05878 -T 1250 677 a a 0.310849 -F 1251 10.9296 -T 1251 714 , , 0.783755 -T 1251 719 e e 0.512095 -F 1252 10.5948 -T 1252 825 , , 0.0552741 -T 1252 843 n n 1.61066 -T 1252 846 p p 3.40829 -F 1253 10.6003 -T 1253 880 , , 0.0993171 -T 1253 927 twenty twenty 2.30972 -F 1254 11.4781 -T 1254 935 , , 0.968214 -T 1254 944 four four 3.69588 -T 1254 947 i i 0.255126 -F 1255 9.75117 -T 1255 959 , , 0.10316 -T 1255 961 d d 2.30972 -T 1255 975 two two 2.30972 -F 1256 12.0787 -T 1256 980 , , 1.13903 -T 1256 981 a a 1.61066 -T 1256 985 e e 0.629066 -F 1257 13.7408 -T 1257 1048 , , 2.96868 -T 1257 1050 b b 0.0398347 -T 1257 1070 v v 5.44515 -F 1258 10.2577 -T 1258 1135 , , 0.122363 -T 1258 1144 seven seven 1.61641 -F 1259 10.9952 -T 1259 1200 , , 0.127538 -T 1259 1213 three three 1.61641 -F 1260 12.5125 -T 1260 1234 , , 1.67268 -T 1260 1236 b b 5.64179 -T 1260 1238 e e 2.59064 -T 1260 1244 g g 5.64179 -T 1260 1245 h h 3.84417 -T 1260 1257 s s 0.236706 -F 1261 10.3831 -T 1261 1453 , , 0.0797641 -T 1261 1454 a a 1.61641 -F 1262 10.1568 -T 1262 1476 , , 0.215117 -T 1262 1501 x x 1.61641 -F 1263 9.65314 -T 1263 1579 , , 0.148043 -T 1263 1581 b b 3.0028 -T 1263 1590 j j 3.0028 -T 1263 1592 l l 3.0028 -T 1263 1596 p p 3.0028 -F 1264 9.505 -T 1264 0 , , 0.351531 -T 1264 1265 enter enter 3.43431 -T 1264 1266 f f 3.43431 -T 1264 1267 h h 3.43431 -T 1264 1268 m m 3.43431 -T 1264 1269 o o 3.43431 -T 1264 1270 one one 3.32302 -T 1264 1271 rubout rubout 3.43431 -T 1264 1272 s s 3.43431 -T 1264 1273 seventy seventy 3.43431 -T 1264 1274 sixty sixty 3.43431 -T 1264 1275 ten ten 3.43431 -T 1264 1276 thirty thirty 3.43431 -T 1264 1277 twelve twelve 3.43431 -T 1264 1278 twenty twenty 3.43431 -F 1265 10.8798 -T 1265 250 , , 0.128507 -T 1265 264 six six 1.61641 -F 1266 9.9818 -T 1266 293 , , 0.0996568 -T 1266 297 e e 1.61641 -F 1267 10.5582 -T 1267 492 , , 0.183617 -T 1267 501 i i 1.61641 -F 1268 10.3046 -T 1268 676 , , 0.158202 -T 1268 689 i i 1.61641 -F 1269 10.6367 -T 1269 825 , , 0.0972164 -T 1269 848 r r 1.61641 -F 1270 10.7098 -T 1270 880 , , 0.208869 -T 1270 919 sixty sixty 1.61641 -F 1271 10.1768 -T 1271 1023 , , 0.178966 -T 1271 1025 c c 1.61641 -F 1272 10.9359 -T 1272 1048 , , 0.163803 -T 1272 1064 p p 1.61641 -F 1273 10.1353 -T 1273 1135 , , -2.41107e-09 -F 1274 10.8823 -T 1274 1200 , , 0.0146165 -T 1274 1207 nine nine 1.61641 -F 1275 9.69362 -T 1275 1264 , , 0.188628 -T 1275 1271 rubout rubout 1.61641 -F 1276 10.2578 -T 1276 1283 , , 3.84471e-10 -F 1277 9.9346 -T 1277 1349 , , 0.16994 -T 1277 1355 sixty sixty 1.61641 -F 1278 10.2664 -T 1278 1360 , , 0.100222 -T 1278 1361 eight eight 1.61641 -F 1279 10.847 -T 1279 0 , , 1.69358 -T 1279 1280 nineteen nineteen 0.201937 -F 1280 11.5611 -T 1280 796 , , 0.0533169 -T 1280 801 twenty twenty 2.71521 -F 1281 10.847 -T 1281 0 , , 1.69358 -T 1281 1282 nineteen nineteen 0.201937 -F 1282 11.5724 -T 1282 796 , , 0.0646183 -T 1282 800 sixty sixty 0.310849 -F 1283 10.2578 -T 1283 0 , , 1.10434 -T 1283 1284 b b 4.3505 -T 1283 1285 e e 3.18263 -T 1283 1286 eight eight 2.65856 -T 1283 1287 enter enter 4.3505 -T 1283 1288 five five 1.85957 -T 1283 1289 g g 4.3505 -T 1283 1290 nine nine 3.18263 -T 1283 1291 one one 1.54688 -T 1283 1292 seven seven 3.18263 -T 1283 1293 six six 3.18263 -T 1283 1294 sixty sixty 4.3505 -T 1283 1295 three three 3.18263 -T 1283 1296 two two 2.31663 -F 1284 10.653 -T 1284 54 , , 0.129487 -T 1284 72 r r 1.61641 -F 1285 11.3629 -T 1285 146 , , 0.846037 -T 1285 147 a a 0.512095 -F 1286 10.3675 -T 1286 183 , , 0.165214 -T 1286 192 erase erase 2.71521 -T 1286 211 rubout rubout 2.71521 -T 1286 216 sixty sixty 2.71521 -F 1287 10.8798 -T 1287 250 , , 0.128507 -T 1287 251 eight eight 1.61641 -F 1288 10.908 -T 1288 350 , , 0.325147 -T 1288 352 b b 3.40829 -T 1288 357 enter enter 3.40829 -T 1288 358 erase erase 3.40829 -T 1288 380 rubout rubout 1.61066 -T 1288 386 thirty thirty 3.40829 -F 1289 10.6748 -T 1289 455 , , 0.208705 -T 1289 475 r r 1.61641 -F 1290 9.87757 -T 1290 747 , , 0.16672 -T 1290 755 enter enter 2.30972 -T 1290 781 s s 2.30972 -F 1291 10.6307 -T 1291 880 , , 0.129764 -T 1291 881 a a 3.69588 -T 1291 892 fifty fifty 3.69588 -T 1291 896 go go 3.69588 -T 1291 901 j j 3.69588 -T 1291 905 n n 3.69588 -T 1291 919 sixty sixty 3.69588 -T 1291 929 u u 3.69588 -F 1292 10.2556 -T 1292 1083 , , 0.149565 -T 1292 1108 rubout rubout 2.30972 -T 1292 1126 z z 2.30972 -F 1293 10.4052 -T 1293 1148 , , 0.202571 -T 1293 1173 s s 2.30972 -T 1293 1190 v v 2.30972 -F 1294 11.0253 -T 1294 1200 , , 0.157583 -T 1294 1204 five five 1.61641 -F 1295 10.3883 -T 1295 1306 , , 0.205727 -T 1295 1309 d d 2.30972 -T 1295 1323 k k 2.30972 -F 1296 10.9047 -T 1296 1378 , , 0.157481 -T 1296 1387 enter enter 3.0028 -T 1296 1407 p p 3.0028 -T 1296 1409 rubout rubout 3.0028 -T 1296 1416 thirty thirty 3.0028 -F 1297 9.61934 -T 1297 0 , , 0.465879 -T 1297 1298 eight eight 1.82457 -T 1297 1299 five five 2.99244 -T 1297 1300 m m 2.99244 -T 1297 1301 nine nine 2.99244 -T 1297 1302 one one 2.99244 -T 1297 1303 p p 2.99244 -T 1297 1304 seven seven 2.99244 -T 1297 1305 three three 2.99244 -F 1298 11.1006 -T 1298 183 , , 0.898239 -T 1298 199 hundred hundred 0.512095 -F 1299 10.7971 -T 1299 350 , , 0.214195 -T 1299 366 hundred hundred 1.61641 -F 1300 10.2428 -T 1300 676 , , 0.0964833 -T 1300 694 o o 1.61641 -F 1301 9.91909 -T 1301 747 , , 0.208244 -T 1301 787 thirty thirty 1.61641 -F 1302 10.7171 -T 1302 880 , , 0.216154 -T 1302 899 hundred hundred 1.61641 -F 1303 10.5098 -T 1303 935 , , 6.31573e-10 -F 1304 10.3243 -T 1304 1083 , , 0.218245 -T 1304 1097 hundred hundred 1.61641 -F 1305 10.4006 -T 1305 1306 , , 0.218006 -T 1305 1322 hundred hundred 1.61641 -F 1306 10.1826 -T 1306 0 , , 1.02911 -T 1306 1307 a a 4.27806 -T 1306 1308 b b 4.84749 -T 1306 1309 d d 4.51767 -T 1306 1310 december december 5.68554 -T 1306 1311 e e 4.10721 -T 1306 1312 eight eight 3.19438 -T 1306 1313 eighty eighty 5.68554 -T 1306 1314 eleven eleven 5.68554 -T 1306 1315 enter enter 3.9936 -T 1306 1316 erase erase 3.397 -T 1306 1317 five five 3.02606 -T 1306 1318 forty forty 4.51767 -T 1306 1319 four four 2.54367 -T 1306 1320 fourteen fourteen 5.68554 -T 1306 1321 g g 4.8818 -T 1306 1322 hundred hundred 5.68554 -T 1306 1323 k k 5.38077 -T 1306 1324 l l 4.51767 -T 1306 1325 march march 5.68554 -T 1306 1326 may may 5.68554 -T 1306 1327 nine nine 3.65144 -T 1306 1328 no no 4.51767 -T 1306 1329 oh oh 3.397 -T 1306 1330 one one 3.19438 -T 1306 1331 p p 5.02225 -T 1306 1332 rubout rubout 3.65144 -T 1306 1333 september september 5.68554 -T 1306 1334 seven seven 3.19438 -T 1306 1335 seventeen seventeen 5.68554 -T 1306 1336 seventy seventy 4.51767 -T 1306 1337 six six 2.75596 -T 1306 1338 sixty sixty 3.65144 -T 1306 1339 thirty thirty 5.68554 -T 1306 1340 three three 2.75596 -T 1306 1341 twelve twelve 5.68554 -T 1306 1342 twenty twenty 3.9936 -T 1306 1343 two two 2.15269 -T 1306 1344 v v 4.51767 -T 1306 1345 yes yes 5.68554 -T 1306 1346 zero zero 3.65144 -F 1307 10.7067 -T 1307 5 , , 0.137444 -T 1307 14 g g 2.30972 -T 1307 20 l l 2.30972 -F 1308 10.7384 -T 1308 54 , , 0.214863 -T 1308 67 l l 1.61641 -F 1309 10.1259 -T 1309 112 , , 0.0382231 -T 1309 129 o o 2.30972 -T 1309 134 r r 2.30972 -F 1310 9.75401 -T 1310 144 , , -1.21669e-10 -F 1311 10.7283 -T 1311 146 , , 0.211513 -T 1311 153 f f 1.61641 -F 1312 10.3687 -T 1312 183 , , 0.166419 -T 1312 198 g g 3.40829 -T 1312 221 three three 1.61066 -T 1312 226 zero zero 3.40829 -F 1313 9.97778 -T 1313 233 , , 5.00856e-09 -F 1314 9.78978 -T 1314 243 , , 0.101637 -T 1314 247 sixty sixty 1.61641 -F 1315 10.8679 -T 1315 250 , , 0.116605 -T 1315 256 forty forty 2.71521 -T 1315 257 four four 2.71521 -T 1315 258 fourteen fourteen 2.71521 -F 1316 9.78426 -T 1316 271 , , 0.076382 -T 1316 281 m m 3.22592 -T 1316 287 t t 3.22592 -T 1316 291 y y 3.22592 -F 1317 10.6142 -T 1317 350 , , 0.0312898 -T 1317 351 a a 3.56233 -T 1317 362 four four 3.56233 -T 1317 381 seven seven 3.56233 -T 1317 391 zero zero 3.56233 -F 1318 10.5081 -T 1318 392 , , 0.00937711 -T 1318 401 two two 2.30972 -F 1319 10.7637 -T 1319 402 , , 0.378303 -T 1319 406 d d 4.01433 -T 1319 407 eight eight 2.2167 -T 1319 413 five five 2.2167 -T 1319 415 four four 2.2167 -T 1319 425 one one 1.60997 -F 1320 10.0682 -T 1320 446 , , -2.3906e-09 -F 1321 10.6748 -T 1321 455 , , 0.208705 -T 1321 482 w w 1.61641 -F 1322 10.388 -T 1322 537 , , -1.07897e-09 -F 1323 9.83918 -T 1323 607 , , 0.200454 -T 1323 635 u u 1.61641 -F 1324 10.4856 -T 1324 641 , , 0.17043 -T 1324 660 o o 2.30972 -T 1324 672 u u 2.30972 -F 1325 9.80467 -T 1325 706 , , 0.0582737 -T 1325 708 twentieth twentieth 1.61641 -F 1326 9.79943 -T 1326 710 , , 0.0582737 -T 1326 713 twenty twenty 1.61641 -F 1327 10.0499 -T 1327 747 , , 0.339048 -T 1327 759 five five 3.0028 -T 1327 771 nine nine 3.0028 -T 1327 790 two two 1.20517 -F 1328 9.89084 -T 1328 812 , , 0.0759418 -T 1328 816 f f 2.30972 -F 1329 11.0173 -T 1329 866 , , 0.00435252 -T 1329 872 nine nine 3.22592 -F 1330 10.6673 -T 1330 880 , , 0.166403 -T 1330 909 one one 3.40829 -T 1330 928 two two 1.61066 -T 1330 930 w w 3.40829 -F 1331 10.7064 -T 1331 935 , , 0.196588 -T 1331 955 t t 1.61641 -F 1332 10.0451 -T 1332 1023 , , 0.0473134 -T 1332 1029 g g 3.0028 -T 1332 1034 m m 3.0028 -T 1332 1041 t t 3.0028 -F 1333 9.86723 -T 1333 1077 , , 0.126764 -T 1333 1079 first first 1.61641 -F 1334 10.2938 -T 1334 1083 , , 0.187725 -T 1334 1091 five five 1.61066 -T 1334 1105 one one 3.40829 -T 1334 1110 seven seven 3.40829 -F 1335 10.0639 -T 1335 1128 , , 0.126764 -T 1335 1131 rubout rubout 1.61641 -F 1336 10.2224 -T 1336 1135 , , 0.087052 -T 1336 1142 p p 2.30972 -F 1337 10.462 -T 1337 1148 , , 0.259405 -T 1337 1153 eight eight 1.40941 -T 1337 1170 p p 3.81377 -T 1337 1186 three three 2.01614 -F 1338 11.1494 -T 1338 1200 , , 0.281712 -T 1338 1201 eight eight 3.0028 -T 1338 1205 four four 1.20517 -F 1339 10.4368 -T 1339 1283 , , 0.179046 -T 1339 1293 six six 1.61641 -F 1340 10.4054 -T 1340 1306 , , 0.222842 -T 1340 1308 b b 3.81377 -T 1340 1327 nine nine 3.81377 -T 1340 1334 seven seven 2.01614 -T 1340 1337 six six 2.01614 -F 1341 9.9346 -T 1341 1349 , , 0.16994 -T 1341 1351 fifty fifty 1.61641 -F 1342 10.1968 -T 1342 1360 , , 0.0305511 -T 1342 1371 seven seven 2.71521 -F 1343 11.3813 -T 1343 1378 , , 0.634034 -T 1343 1379 a a 4.38919 -T 1343 1384 eight eight 2.59133 -T 1343 1392 four four 1.98483 -T 1343 1410 seven seven 2.59133 -T 1343 1411 six six 1.3378 -T 1343 1418 three three 2.59133 -F 1344 10.4009 -T 1344 1453 , , 0.0974905 -T 1344 1472 w w 2.30972 -F 1345 10.2208 -T 1345 1565 , , 0.199669 -T 1345 1578 yes yes 1.61641 -F 1346 9.68537 -T 1346 1609 , , 0.0205048 -T 1346 1612 e e 3.0028 -T 1346 1628 two two 3.0028 -F 1347 10.4418 -T 1347 0 , , 1.2883 -T 1347 1348 nineteen nineteen 0.32052 -F 1348 11.5078 -T 1348 796 , , 3.88138e-09 -F 1349 9.76466 -T 1349 0 , , 0.61119 -T 1349 1350 enter enter 2.99244 -T 1349 1351 fifty fifty 2.99244 -T 1349 1352 four four 2.99244 -T 1349 1353 nine nine 2.99244 -T 1349 1354 nineteen nineteen 2.99244 -T 1349 1355 sixty sixty 2.99244 -T 1349 1356 ten ten 2.99244 -T 1349 1357 twenty twenty 1.82457 -F 1350 10.9056 -T 1350 250 , , 0.154312 -T 1350 255 five five 1.61641 -F 1351 10.488 -T 1351 335 , , 0.0572091 -T 1351 337 eight eight 1.61641 -F 1352 10.598 -T 1352 402 , , 0.212625 -T 1352 434 sixty sixty 1.61641 -F 1353 9.92818 -T 1353 747 , , 0.217331 -T 1353 775 of of 1.61641 -F 1354 11.5078 -T 1354 796 , , -1.28024e-08 -F 1355 10.9323 -T 1355 1200 , , 0.0645843 -T 1355 1210 seven seven 1.61641 -F 1356 9.69362 -T 1356 1264 , , 0.188628 -T 1356 1274 sixty sixty 1.61641 -F 1357 10.2821 -T 1357 1360 , , 0.115911 -T 1357 1366 four four 2.30972 -T 1357 1369 one one 2.30972 -F 1358 9.74862 -T 1358 0 , , 0.595155 -T 1358 1359 nineteen nineteen 0.795083 -F 1359 11.644 -T 1359 796 , , 0.13616 -T 1359 799 seventy seventy 1.61641 -F 1360 10.1662 -T 1360 0 , , 1.01276 -T 1360 1361 eight eight 2.17042 -T 1360 1362 enter enter 4.45873 -T 1360 1363 fifth fifth 4.45873 -T 1360 1364 first first 4.45873 -T 1360 1365 five five 4.30062 -T 1360 1366 four four 2.76679 -T 1360 1367 fourth fourth 4.45873 -T 1360 1368 nine nine 2.42485 -T 1360 1369 one one 3.29085 -T 1360 1370 second second 3.29085 -T 1360 1371 seven seven 3.29085 -T 1360 1372 seventh seventh 4.45873 -T 1360 1373 six six 2.17042 -T 1360 1374 t t 4.28082 -T 1360 1375 third third 3.29085 -T 1360 1376 three three 2.17042 -T 1360 1377 two two 3.29085 -F 1361 10.6068 -T 1361 183 , , 0.404471 -T 1361 204 n n 3.22592 -T 1361 214 seventy seventy 3.22592 -T 1361 216 sixty sixty 1.42829 -T 1361 225 x x 3.22592 -F 1362 10.8798 -T 1362 250 , , 0.128507 -T 1362 265 sixty sixty 1.61641 -F 1363 9.72004 -T 1363 332 , , -9.30224e-10 -F 1364 10.847 -T 1364 348 , , 1.05209e-08 -F 1365 10.802 -T 1365 350 , , 0.219169 -T 1365 367 j j 1.61641 -F 1366 10.5551 -T 1366 402 , , 0.169724 -T 1366 414 forty forty 2.71521 -T 1366 424 oh oh 2.71521 -T 1366 434 sixty sixty 2.71521 -F 1367 9.74862 -T 1367 453 , , -1.21669e-10 -F 1368 9.85931 -T 1368 747 , , 0.148464 -T 1368 751 b b 3.0028 -T 1368 756 erase erase 3.0028 -T 1368 758 fifty fifty 3.0028 -T 1368 772 nineteen nineteen 3.0028 -F 1369 10.6896 -T 1369 880 , , 0.188701 -T 1369 888 enter enter 2.30972 -T 1369 892 fifty fifty 2.30972 -F 1370 10.4418 -T 1370 1075 , , 1.7482e-09 -F 1371 10.2405 -T 1371 1083 , , 0.134454 -T 1371 1108 rubout rubout 2.30972 -T 1371 1114 sixty sixty 2.30972 -F 1372 9.74862 -T 1372 1133 , , -1.21669e-10 -F 1373 10.3396 -T 1373 1148 , , 0.136971 -T 1373 1159 forty forty 3.22592 -T 1373 1161 h h 3.22592 -T 1373 1179 sixty sixty 3.22592 -T 1373 1180 start start 3.22592 -F 1374 11.054 -T 1374 1234 , , 0.214193 -T 1374 1235 a a 1.61641 -F 1375 10.847 -T 1375 1279 , , 2.10446e-09 -F 1376 10.2957 -T 1376 1306 , , 0.113087 -T 1376 1307 a a 3.22592 -T 1376 1315 enter enter 3.22592 -T 1376 1316 erase erase 3.22592 -T 1376 1324 l l 3.22592 -T 1376 1338 sixty sixty 3.22592 -F 1377 10.9571 -T 1377 1378 , , 0.209874 -T 1377 1403 o o 2.30972 -T 1377 1420 twenty twenty 2.30972 -F 1378 10.7473 -T 1378 0 , , 1.5938 -T 1378 1379 a a 4.84275 -T 1378 1380 b b 5.20338 -T 1378 1381 c c 5.87592 -T 1378 1382 d d 5.57681 -T 1378 1383 e e 4.6719 -T 1378 1384 eight eight 3.05415 -T 1378 1385 eighteen eighteen 6.37102 -T 1378 1386 eighty eighty 6.37102 -T 1378 1387 enter enter 3.56763 -T 1378 1388 erase erase 5.20338 -T 1378 1389 fifteen fifteen 6.37102 -T 1378 1390 fifty fifty 6.37102 -T 1378 1391 five five 2.97678 -T 1378 1392 four four 2.60814 -T 1378 1393 fourteen fourteen 6.37102 -T 1378 1394 g g 5.44649 -T 1378 1395 go go 6.37102 -T 1378 1396 help help 6.37102 -T 1378 1397 hundred hundred 6.37102 -T 1378 1398 m m 4.67931 -T 1378 1399 march march 6.37102 -T 1378 1400 n n 5.07232 -T 1378 1401 nine nine 3.56763 -T 1378 1402 no no 6.37102 -T 1378 1403 o o 5.12781 -T 1378 1404 october october 6.37102 -T 1378 1405 oh oh 3.13773 -T 1378 1406 one one 1.6749 -T 1378 1407 p p 5.58694 -T 1378 1408 repeat repeat 5.20338 -T 1378 1409 rubout rubout 3.88009 -T 1378 1410 seven seven 3.13773 -T 1378 1411 six six 2.3392 -T 1378 1412 sixty sixty 5.91713 -T 1378 1413 start start 4.67931 -T 1378 1414 stop stop 5.20338 -T 1378 1415 ten ten 5.20338 -T 1378 1416 thirty thirty 4.67931 -T 1378 1417 thousand thousand 6.37102 -T 1378 1418 three three 3.05415 -T 1378 1419 twelve twelve 6.37102 -T 1378 1420 twenty twenty 5.20338 -T 1378 1421 two two 2.15982 -T 1378 1422 v v 6.03549 -T 1378 1423 zero zero 3.88009 -F 1379 10.6805 -T 1379 5 , , 0.111215 -T 1379 21 m m 2.30972 -T 1379 27 s s 2.30972 -F 1380 10.5517 -T 1380 54 , , 0.0282158 -T 1380 58 e e 2.30972 -T 1380 72 r r 2.30972 -F 1381 10.3482 -T 1381 83 , , 0.188172 -T 1381 96 l l 1.61641 -F 1382 10.2743 -T 1382 112 , , 0.186635 -T 1382 135 s s 1.61641 -F 1383 10.6699 -T 1383 146 , , 0.153054 -T 1383 147 a a 1.61641 -F 1384 10.4434 -T 1384 183 , , 0.241036 -T 1384 184 a a 4.18149 -T 1384 193 f f 4.18149 -T 1384 208 one one 2.38387 -T 1384 212 s s 4.18149 -T 1384 217 stop stop 4.18149 -T 1384 221 three three 1.77714 -T 1384 224 two two 2.38387 -F 1385 9.75382 -T 1385 227 , , -1.21669e-10 -F 1386 10.0208 -T 1386 233 , , 0.0429761 -T 1386 238 nine nine 1.61641 -F 1387 10.9081 -T 1387 250 , , 0.156781 -T 1387 253 fifteen fifteen 3.69588 -T 1387 266 thirty thirty 1.89825 -F 1388 9.80338 -T 1388 271 , , 0.0954983 -T 1388 278 i i 2.30972 -T 1388 283 o o 2.30972 -F 1389 9.79584 -T 1389 324 , , 0.126764 -T 1389 329 sixty sixty 1.61641 -F 1390 10.611 -T 1390 335 , , 0.180254 -T 1390 346 three three 1.61641 -F 1391 10.6727 -T 1391 350 , , 0.0898295 -T 1391 374 october october 4.25564 -T 1391 388 twenty twenty 4.25564 -T 1391 389 two two 0.990572 -F 1392 10.887 -T 1392 402 , , 0.50161 -T 1392 410 erase erase 2.81468 -T 1392 415 four four 2.20795 -T 1392 425 one one 2.20795 -T 1392 430 september september 4.61231 -T 1392 442 two two 1.17133 -F 1393 10.1137 -T 1393 446 , , 0.0455199 -T 1393 450 repeat repeat 1.61641 -F 1394 10.6797 -T 1394 455 , , 0.213521 -T 1394 471 o o 1.61641 -F 1395 10.0324 -T 1395 483 , , 0.175201 -T 1395 489 rubout rubout 1.61641 -F 1396 9.88809 -T 1396 527 , , -4.12084e-11 -F 1397 10.388 -T 1397 537 , , -1.07897e-09 -F 1398 10.3953 -T 1398 676 , , 0.248896 -T 1398 677 a a 0.91758 -F 1399 9.80467 -T 1399 706 , , 0.0582737 -T 1399 707 third third 1.61641 -F 1400 10.2366 -T 1400 714 , , 0.0907723 -T 1400 719 e e 1.61641 -F 1401 9.90041 -T 1401 747 , , 0.189564 -T 1401 750 august august 3.69588 -T 1401 752 eight eight 3.69588 -T 1401 754 eleven eleven 3.69588 -T 1401 783 seven seven 3.69588 -T 1401 788 three three 1.89825 -F 1402 9.87 -T 1402 812 , , 0.055099 -T 1402 821 rubout rubout 1.61641 -F 1403 10.7192 -T 1403 825 , , 0.179718 -T 1403 826 a a 1.61641 -F 1404 9.8043 -T 1404 859 , , 0.0582737 -T 1404 862 twenty twenty 1.61641 -F 1405 11.1883 -T 1405 866 , , 0.175413 -T 1405 869 five five 2.30374 -T 1405 876 six six 1.32214 -F 1406 11.6851 -T 1406 880 , , 1.18417 -T 1406 886 eight eight 3.12415 -T 1406 895 four four 3.73088 -T 1406 908 oh oh 2.74929 -T 1406 915 seven seven 1.06725 -T 1406 917 six six 3.73088 -T 1406 919 sixty sixty 5.52851 -T 1406 926 three three 1.69286 -T 1406 928 two two 2.08775 -F 1407 10.6752 -T 1407 935 , , 0.165352 -T 1407 946 h h 1.61641 -F 1408 9.9419 -T 1408 1009 , , 0.166788 -T 1408 1018 o o 2.30972 -T 1408 1022 w w 2.30972 -F 1409 10.2121 -T 1409 1023 , , 0.214248 -T 1409 1026 d d 3.40829 -T 1409 1030 h h 1.61066 -F 1410 10.2499 -T 1410 1083 , , 0.143827 -T 1410 1086 eight eight 2.30374 -T 1410 1101 may may 4.10136 -T 1410 1105 one one 2.30374 -T 1410 1106 p p 4.10136 -T 1410 1109 s s 4.10136 -T 1410 1117 ten ten 4.10136 -F 1411 11.2478 -T 1411 1148 , , 1.04522 -T 1411 1153 eight eight 0.536963 -T 1411 1163 july july 4.87457 -T 1411 1165 l l 4.87457 -T 1411 1177 six six 2.09535 -T 1411 1183 ten ten 4.87457 -F 1412 11.0828 -T 1412 1200 , , 0.215117 -T 1412 1209 s s 1.61641 -F 1413 10.4672 -T 1413 1216 , , 0.368464 -T 1413 1217 enter enter 0.91758 -F 1414 10.3168 -T 1414 1224 , , 0.0759418 -T 1414 1229 j j 2.30972 -F 1415 9.65969 -T 1415 1264 , , 0.154698 -T 1415 1269 o o 2.30972 -T 1415 1277 twelve twelve 2.30972 -F 1416 10.591 -T 1416 1283 , , 0.333202 -T 1416 1291 one one 0.91758 -T 1416 1292 seven seven 2.71521 -F 1417 9.78928 -T 1417 1297 , , 0.16994 -T 1417 1299 five five 1.61641 -F 1418 10.6025 -T 1418 1306 , , 0.419896 -T 1418 1309 d d 4.18149 -T 1418 1324 l l 4.18149 -T 1418 1342 twenty twenty 4.18149 -T 1418 1343 two two 0.916659 -F 1419 9.9346 -T 1419 1349 , , 0.16994 -T 1419 1356 ten ten 1.61641 -F 1420 10.2059 -T 1420 1360 , , 0.039644 -T 1420 1366 four four 2.30972 -F 1421 11.0452 -T 1421 1378 , , 0.297931 -T 1421 1389 fifteen fifteen 5.05049 -T 1421 1401 nine nine 2.64613 -T 1421 1405 oh oh 2.27127 -T 1421 1406 one one 1.60974 -T 1421 1409 rubout rubout 3.25286 -T 1421 1410 seven seven 3.25286 -T 1421 1421 two two 2.27127 -T 1421 1423 zero zero 3.25286 -F 1422 10.5177 -T 1422 1453 , , 0.214327 -T 1422 1457 f f 1.61641 -F 1423 9.89473 -T 1423 1609 , , 0.229866 -T 1423 1611 c c 3.40829 -T 1423 1621 r r 3.40829 -T 1423 1624 seven seven 1.61066 -T 1423 1627 twelve twelve 3.40829 -F 1424 10.3032 -T 1424 0 , , 1.14975 -T 1424 1425 a a 4.30031 -T 1424 1426 b b 4.96812 -T 1424 1427 c c 5.43186 -T 1424 1428 d d 5.13276 -T 1424 1429 e e 3.17964 -T 1424 1430 eighty eighty 5.46795 -T 1424 1431 f f 4.30031 -T 1424 1432 five five 4.30031 -T 1424 1433 four four 3.77601 -T 1424 1434 g g 3.77601 -T 1424 1435 i i 4.64023 -T 1424 1436 j j 4.30031 -T 1424 1437 k k 5.46795 -T 1424 1438 l l 3.77601 -T 1424 1439 m m 3.77601 -T 1424 1440 n n 3.77601 -T 1424 1441 o o 4.68375 -T 1424 1442 one one 4.12123 -T 1424 1443 p p 5.14289 -T 1424 1444 q q 5.46795 -T 1424 1445 r r 0.693999 -T 1424 1446 s s 2.97701 -T 1424 1447 seven seven 4.78392 -T 1424 1448 t t 3.43408 -T 1424 1449 three three 4.85645 -T 1424 1450 two two 4.16936 -T 1424 1451 x x 5.46795 -T 1424 1452 y y 5.46795 -F 1425 10.6621 -T 1425 5 , , 0.0928284 -T 1425 17 i i 2.30972 -F 1426 10.7372 -T 1426 54 , , 0.213631 -T 1426 64 i i 1.61641 -F 1427 10.2619 -T 1427 83 , , 0.101842 -T 1427 95 k k 1.61641 -F 1428 10.2325 -T 1428 112 , , 0.144771 -T 1428 141 w w 1.61641 -F 1429 11.1237 -T 1429 146 , , 0.606839 -T 1429 148 b b 3.22592 -T 1429 167 p p 0.821562 -T 1429 173 t t 3.22592 -F 1430 9.97778 -T 1430 233 , , 5.00856e-09 -F 1431 10.0578 -T 1431 293 , , 0.175678 -T 1431 316 two two 2.30972 -T 1431 320 z z 2.30972 -F 1432 10.6447 -T 1432 350 , , 0.0618292 -T 1432 357 enter enter 2.30972 -F 1433 10.5031 -T 1433 402 , , 0.117642 -T 1433 413 five five 2.71521 -T 1433 414 forty forty 2.71521 -T 1433 431 seven seven 2.71521 -F 1434 10.5041 -T 1434 455 , , 0.0380116 -T 1434 469 n n 2.71521 -F 1435 11.0645 -T 1435 544 , , 0.206436 -T 1435 561 p p 1.61641 -F 1436 9.81236 -T 1436 571 , , 0.0951201 -T 1436 584 m m 2.30972 -F 1437 9.7476 -T 1437 607 , , 0.108866 -T 1437 611 e e 1.61641 -F 1438 10.7704 -T 1438 641 , , 0.455284 -T 1438 645 d d 2.71521 -T 1438 653 i i 0.91758 -F 1439 10.2313 -T 1439 676 , , 0.0848883 -T 1439 689 i i 2.71521 -T 1439 692 m m 2.71521 -T 1439 693 n n 2.71521 -F 1440 10.2235 -T 1440 714 , , 0.0776496 -T 1440 716 b b 2.71521 -T 1440 731 n n 2.71521 -T 1440 739 t t 2.71521 -F 1441 10.6993 -T 1441 825 , , 0.15973 -T 1441 854 u u 1.61641 -F 1442 10.7098 -T 1442 880 , , 0.208869 -T 1442 919 sixty sixty 1.61641 -F 1443 10.5098 -T 1443 935 , , 6.31573e-10 -F 1444 9.85425 -T 1444 959 , , 0.20624 -T 1444 976 u u 1.61641 -F 1445 12.7593 -T 1445 980 , , 1.8197 -T 1445 983 c c 5.60541 -T 1445 987 g g 0.17799 -T 1445 999 s s 5.60541 -T 1445 1007 y y 3.20105 -F 1446 11.2429 -T 1446 1048 , , 0.470757 -T 1446 1052 e e 1.61066 -T 1446 1056 i i 3.40829 -T 1446 1058 k k 1.61066 -F 1447 10.3031 -T 1447 1083 , , 0.196973 -T 1447 1120 three three 1.61641 -F 1448 10.9597 -T 1448 1234 , , 0.119876 -T 1448 1237 d d 3.0028 -T 1448 1240 f f 3.0028 -T 1448 1246 i i 3.0028 -F 1449 10.3699 -T 1449 1306 , , 0.18736 -T 1449 1316 erase erase 1.61641 -F 1450 10.8921 -T 1450 1378 , , 0.14488 -T 1450 1392 four four 1.61641 -F 1451 9.60615 -T 1451 1504 , , 0.206879 -T 1451 1519 p p 1.61641 -F 1452 9.80504 -T 1452 1531 , , 0.198468 -T 1452 1558 three three 1.61641 -F 1453 10.3034 -T 1453 0 , , 1.1499 -T 1453 1454 a a 2.02443 -T 1453 1455 c c 4.95401 -T 1453 1456 e e 1.04745 -T 1453 1457 f f 4.95401 -T 1453 1458 fifty fifty 4.95401 -T 1453 1459 i i 2.29453 -T 1453 1460 k k 3.78637 -T 1453 1461 l l 4.81239 -T 1453 1462 m m 3.78637 -T 1453 1463 n n 4.62841 -T 1453 1464 nine nine 4.95401 -T 1453 1465 o o 4.6839 -T 1453 1466 p p 4.95401 -T 1453 1467 q q 3.78637 -T 1453 1468 r r 4.33852 -T 1453 1469 s s 4.72927 -T 1453 1470 seven seven 3.78637 -T 1453 1471 thirty thirty 4.95401 -T 1453 1472 w w 4.95401 -T 1453 1473 x x 4.95401 -T 1453 1474 y y 3.26207 -T 1453 1475 z z 4.95401 -F 1454 10.8827 -T 1454 5 , , 0.313497 -T 1454 11 f f 3.81377 -T 1454 15 h h 3.81377 -T 1454 20 l l 1.40941 -T 1454 22 n n 2.01614 -F 1455 10.3619 -T 1455 83 , , 0.201862 -T 1455 103 thirty thirty 1.61641 -F 1456 11.1628 -T 1456 146 , , 0.645964 -T 1456 149 c c 4.75208 -T 1456 163 n n 1.16165 -T 1456 166 one one 2.95445 -T 1456 167 p p 1.97285 -T 1456 169 r r 1.97285 -T 1456 182 z z 4.75208 -F 1457 10.0326 -T 1457 293 , , 0.150463 -T 1457 308 o o 1.61641 -F 1458 10.5514 -T 1458 335 , , 0.120621 -T 1458 338 five five 1.61641 -F 1459 11.217 -T 1459 544 , , 0.359004 -T 1459 548 d d 1.7647 -T 1459 557 l l 1.7647 -T 1459 562 q q 3.56233 -F 1460 9.80273 -T 1460 607 , , 0.163999 -T 1460 618 j j 2.30972 -T 1460 640 z z 2.30972 -F 1461 10.5261 -T 1461 641 , , 0.21091 -T 1461 644 c c 1.61641 -F 1462 10.3229 -T 1462 676 , , 0.176526 -T 1462 682 eight eight 2.30972 -T 1462 702 u u 2.30972 -F 1463 10.3525 -T 1463 714 , , 0.206619 -T 1463 745 y y 1.61641 -F 1464 9.92719 -T 1464 747 , , 0.216347 -T 1464 766 j j 1.61641 -F 1465 10.6788 -T 1465 825 , , 0.139314 -T 1465 845 o o 1.61641 -F 1466 10.7166 -T 1466 935 , , 0.206786 -T 1466 940 e e 1.61641 -F 1467 10.4771 -T 1467 959 , , 0.829143 -T 1467 961 d d 0.512095 -F 1468 11.1545 -T 1468 980 , , 0.214877 -T 1468 986 f f 1.61641 -F 1469 10.9636 -T 1469 1048 , , 0.191486 -T 1469 1063 one one 1.61641 -F 1470 10.2983 -T 1470 1083 , , 0.192267 -T 1470 1124 y y 2.30972 -T 1470 1125 yes yes 2.30972 -F 1471 10.4662 -T 1471 1283 , , 0.208423 -T 1471 1289 g g 1.61641 -F 1472 10.0382 -T 1472 1476 , , 0.0965446 -T 1472 1477 a a 1.61641 -F 1473 9.57425 -T 1473 1504 , , 0.174983 -T 1473 1521 s s 1.61641 -F 1474 9.68805 -T 1474 1531 , , 0.0814823 -T 1474 1543 h h 2.71521 -T 1474 1550 one one 2.71521 -T 1474 1562 w w 2.71521 -F 1475 9.71642 -T 1475 1579 , , 0.211322 -T 1475 1594 ninety ninety 1.61641 -F 1476 9.94165 -T 1476 0 , , 0.788186 -T 1476 1477 a a 2.14233 -T 1476 1478 b b 3.90403 -T 1476 1479 c c 5.0703 -T 1476 1480 d d 3.90403 -T 1476 1481 e e 3.0378 -T 1476 1482 eight eight 3.90403 -T 1476 1483 f f 3.90403 -T 1476 1484 five five 4.07605 -T 1476 1485 fourteen fourteen 5.0719 -T 1476 1486 g g 4.64087 -T 1476 1487 h h 3.90403 -T 1476 1488 i i 2.41242 -T 1476 1489 l l 3.37996 -T 1476 1490 n n 2.41242 -T 1476 1491 o o 2.14233 -T 1476 1492 one one 3.75967 -T 1476 1493 p p 4.78133 -T 1476 1494 q q 5.0719 -T 1476 1495 r r 3.97681 -T 1476 1496 t t 4.05624 -T 1476 1497 three three 4.49489 -T 1476 1498 twenty twenty 5.0719 -T 1476 1499 two two 3.8078 -T 1476 1500 w w 3.90403 -T 1476 1501 x x 5.0719 -T 1476 1502 y y 3.37996 -T 1476 1503 z z 3.37996 -F 1477 10.8397 -T 1477 5 , , 0.270479 -T 1477 6 a a 3.81377 -T 1477 7 b b 3.81377 -T 1477 26 r r 1.03455 -T 1477 37 y y 3.81377 -F 1478 10.6158 -T 1478 54 , , 0.0922972 -T 1478 75 seventy seventy 2.30972 -F 1479 10.3754 -T 1479 83 , , 0.215369 -T 1479 106 v v 1.61641 -F 1480 10.1948 -T 1480 112 , , 0.107137 -T 1480 125 k k 2.30972 -T 1480 129 o o 2.30972 -F 1481 10.8727 -T 1481 146 , , 0.355907 -T 1481 158 i i 3.0028 -T 1481 161 l l 1.20517 -T 1481 170 s s 3.0028 -F 1482 10.3643 -T 1482 183 , , 0.161935 -T 1482 191 enter enter 2.30972 -T 1482 203 l l 2.30972 -F 1483 10.0671 -T 1483 293 , , 0.18492 -T 1483 300 five five 2.30972 -T 1483 311 s s 2.30972 -F 1484 10.782 -T 1484 350 , , 0.199121 -T 1484 391 zero zero 1.61641 -F 1485 10.2381 -T 1485 446 , , 0.16994 -T 1485 448 eighty eighty 1.61641 -F 1486 10.6112 -T 1486 455 , , 0.145082 -T 1486 456 a a 1.61641 -F 1487 10.5041 -T 1487 492 , , 0.129501 -T 1487 495 e e 2.30972 -T 1487 501 i i 2.30972 -F 1488 11.3831 -T 1488 544 , , 0.52507 -T 1488 547 c c 1.7647 -T 1488 557 l l 1.7647 -T 1488 564 s s 1.7647 -F 1489 10.4212 -T 1489 641 , , 0.106095 -T 1489 648 f f 2.71521 -T 1489 663 r r 2.71521 -F 1490 10.1832 -T 1490 714 , , 0.0373137 -T 1490 723 four four 3.56233 -T 1490 729 l l 3.56233 -F 1491 11.6248 -T 1491 825 , , 1.08526 -T 1491 845 o o 0.372789 -F 1492 10.6039 -T 1492 880 , , 0.102939 -T 1492 887 eleven eleven 2.30972 -F 1493 10.7267 -T 1493 935 , , 0.216881 -T 1493 942 f f 1.61641 -F 1494 9.85076 -T 1494 959 , , 0.202757 -T 1494 973 six six 1.61641 -F 1495 11.0747 -T 1495 980 , , 0.135046 -T 1495 989 i i 1.61641 -F 1496 10.978 -T 1496 1234 , , 0.138183 -T 1496 1245 h h 1.61641 -F 1497 10.2805 -T 1497 1306 , , 0.0979146 -T 1497 1343 two two 1.61641 -F 1498 10.2664 -T 1498 1360 , , 0.100222 -T 1498 1373 six six 1.61641 -F 1499 10.9576 -T 1499 1378 , , 0.21031 -T 1499 1393 fourteen fourteen 2.30972 -T 1499 1416 thirty thirty 2.30972 -F 1500 10.0238 -T 1500 1476 , , 0.0821234 -T 1500 1499 two two 2.30972 -F 1501 9.59105 -T 1501 1504 , , 0.191775 -T 1501 1510 five five 1.61641 -F 1502 9.71052 -T 1502 1531 , , 0.10395 -T 1502 1537 eight eight 2.71521 -T 1502 1545 l l 2.71521 -T 1502 1548 o o 2.71521 -F 1503 9.57124 -T 1503 1579 , , 0.0661453 -T 1503 1593 nine nine 2.71521 -T 1503 1598 seven seven 2.71521 -F 1504 9.39927 -T 1504 0 , , 0.245805 -T 1504 1505 b b 4.06418 -T 1504 1506 c c 3.09306 -T 1504 1507 e e 3.3239 -T 1504 1508 eight eight 3.81205 -T 1504 1509 f f 4.26093 -T 1504 1510 five five 3.53367 -T 1504 1511 four four 3.73031 -T 1504 1512 g g 4.09849 -T 1504 1513 h h 3.85211 -T 1504 1514 i i 3.73629 -T 1504 1515 k k 4.26093 -T 1504 1516 l l 3.9083 -T 1504 1517 n n 3.72432 -T 1504 1518 nine nine 4.13395 -T 1504 1519 p p 4.23895 -T 1504 1520 r r 3.43443 -T 1504 1521 s s 3.09306 -T 1504 1522 seventy seventy 4.26093 -T 1504 1523 three three 3.95251 -T 1504 1524 two two 3.09306 -T 1504 1525 v v 4.26093 -T 1504 1526 w w 4.26093 -T 1504 1527 x x 3.09306 -T 1504 1528 y y 3.09306 -T 1504 1529 z z 4.26093 -T 1504 1530 zero zero 3.09306 -F 1505 10.7241 -T 1505 54 , , 0.20059 -T 1505 68 m m 1.61641 -F 1506 10.3279 -T 1506 83 , , 0.16792 -T 1506 107 w w 2.30972 -T 1506 109 z z 2.30972 -F 1507 10.7079 -T 1507 146 , , 0.191027 -T 1507 150 d d 1.61641 -F 1508 10.3875 -T 1508 183 , , 0.185128 -T 1508 207 oh oh 1.61641 -F 1509 9.9818 -T 1509 293 , , 0.0996568 -T 1509 297 e e 1.61641 -F 1510 10.7971 -T 1510 350 , , 0.214195 -T 1510 366 hundred hundred 1.61641 -F 1511 10.592 -T 1511 402 , , 0.20653 -T 1511 438 thousand thousand 1.61641 -F 1512 10.6206 -T 1512 455 , , 0.154424 -T 1512 464 i i 1.61641 -F 1513 10.5723 -T 1513 492 , , 0.197647 -T 1513 494 b b 1.61641 -F 1514 11.0767 -T 1514 544 , , 0.218667 -T 1514 565 sixty sixty 1.61641 -F 1515 9.85367 -T 1515 607 , , 0.214935 -T 1515 633 twenty twenty 1.61641 -F 1516 10.5333 -T 1516 641 , , 0.218153 -T 1516 669 thirty thirty 1.61641 -F 1517 10.356 -T 1517 714 , , 0.210112 -T 1517 738 six six 1.61641 -F 1518 9.92163 -T 1518 747 , , 0.210789 -T 1518 778 p p 1.61641 -F 1519 10.5098 -T 1519 935 , , 6.31573e-10 -F 1520 11.1545 -T 1520 980 , , 0.214877 -T 1520 1008 z z 1.61641 -F 1521 10.9875 -T 1521 1048 , , 0.215369 -T 1521 1072 x x 2.30972 -T 1521 1074 zero zero 2.30972 -F 1522 10.2143 -T 1522 1135 , , 0.0789911 -T 1522 1146 two two 1.61641 -F 1523 10.3777 -T 1523 1306 , , 0.19511 -T 1523 1346 zero zero 1.61641 -F 1524 10.8903 -T 1524 1378 , , 0.142992 -T 1524 1392 four four 2.30972 -T 1524 1417 thousand thousand 2.30972 -F 1525 10.4185 -T 1525 1453 , , 0.115147 -T 1525 1459 i i 1.61641 -F 1526 10.1459 -T 1526 1476 , , 0.204287 -T 1526 1484 five five 1.61641 -F 1527 9.54861 -T 1527 1504 , , 0.149342 -T 1527 1517 n n 2.30972 -T 1527 1521 s s 2.30972 -F 1528 9.78767 -T 1528 1531 , , 0.181105 -T 1528 1555 seven seven 2.30972 -T 1528 1560 u u 2.30972 -F 1529 9.67049 -T 1529 1579 , , 0.165392 -T 1529 1589 i i 1.61641 -F 1530 9.83192 -T 1530 1609 , , 0.167057 -T 1530 1611 c c 2.30972 -T 1530 1620 p p 2.30972 -F 1531 9.60657 -T 1531 0 , , 0.453104 -T 1531 1532 a a 3.70205 -T 1531 1533 b b 3.78637 -T 1531 1534 c c 4.73522 -T 1531 1535 d d 2.92014 -T 1531 1536 e e 3.5312 -T 1531 1537 eight eight 3.78637 -T 1531 1538 f f 3.78637 -T 1531 1539 fifty fifty 3.78637 -T 1531 1540 five five 3.74096 -T 1531 1541 four four 3.26207 -T 1531 1542 g g 3.78637 -T 1531 1543 h h 3.26207 -T 1531 1544 j j 3.78637 -T 1531 1545 l l 2.6657 -T 1531 1546 m m 3.78637 -T 1531 1547 n n 3.78637 -T 1531 1548 o o 3.98711 -T 1531 1549 oh oh 3.78637 -T 1531 1550 one one 2.6657 -T 1531 1551 p p 3.78637 -T 1531 1552 q q 4.95401 -T 1531 1553 r r 3.64172 -T 1531 1554 s s 3.78637 -T 1531 1555 seven seven 4.08727 -T 1531 1556 t t 3.72116 -T 1531 1557 ten ten 4.95401 -T 1531 1558 three three 3.78637 -T 1531 1559 two two 3.47271 -T 1531 1560 u u 3.78637 -T 1531 1561 v v 3.78637 -T 1531 1562 w w 3.78637 -T 1531 1563 y y 4.89479 -T 1531 1564 z z 3.78637 -F 1532 10.7295 -T 1532 5 , , 0.160284 -T 1532 21 m m 1.61641 -F 1533 10.5517 -T 1533 54 , , 0.0282158 -T 1533 58 e e 2.30972 -T 1533 72 r r 2.30972 -F 1534 10.3702 -T 1534 83 , , 0.210202 -T 1534 93 i i 1.61641 -F 1535 10.1449 -T 1535 112 , , 0.0571761 -T 1535 116 d d 3.0028 -T 1535 128 n n 3.0028 -F 1536 10.6032 -T 1536 146 , , 0.0863898 -T 1536 169 r r 1.61641 -F 1537 10.3139 -T 1537 183 , , 0.111616 -T 1537 194 five five 2.30972 -T 1537 215 six six 2.30972 -F 1538 10.0251 -T 1538 293 , , 0.142939 -T 1538 305 j j 2.30972 -T 1538 318 x x 2.30972 -F 1539 10.4308 -T 1539 335 , , 2.50939e-09 -F 1540 10.7667 -T 1540 350 , , 0.18382 -T 1540 360 five five 1.61641 -F 1541 10.8637 -T 1541 402 , , 0.478295 -T 1541 415 four four 2.71521 -T 1541 424 oh oh 0.91758 -F 1542 10.5782 -T 1542 455 , , 0.112113 -T 1542 467 l l 2.30972 -T 1542 469 n n 2.30972 -F 1543 10.5045 -T 1543 492 , , 0.129925 -T 1543 513 seventy seventy 2.71521 -T 1543 514 six six 2.71521 -F 1544 9.72448 -T 1544 571 , , 0.00723655 -T 1544 576 e e 2.30972 -F 1545 10.3231 -T 1545 641 , , 0.00797966 -T 1545 660 o o 3.22592 -F 1546 10.2345 -T 1546 676 , , 0.0881281 -T 1546 688 h h 2.30972 -F 1547 10.2048 -T 1547 714 , , 0.0589276 -T 1547 734 p p 2.30972 -F 1548 10.6367 -T 1548 825 , , 0.0972164 -T 1548 848 r r 1.61641 -F 1549 11.0129 -T 1549 866 , , 1.0863e-09 -F 1550 10.5746 -T 1550 880 , , 0.0736633 -T 1550 906 nine nine 3.22592 -T 1550 921 stop stop 3.22592 -T 1550 923 ten ten 3.22592 -F 1551 10.5689 -T 1551 935 , , 0.059035 -T 1551 948 l l 2.30972 -F 1552 9.81982 -T 1552 959 , , 0.171813 -T 1552 964 fifty fifty 1.61641 -F 1553 11.1363 -T 1553 980 , , 0.196658 -T 1553 982 b b 1.61641 -F 1554 10.8468 -T 1554 1048 , , 0.0746492 -T 1554 1055 h h 2.30972 -F 1555 10.2886 -T 1555 1083 , , 0.182537 -T 1555 1104 oh oh 1.61641 -F 1556 11.0493 -T 1556 1234 , , 0.209434 -T 1556 1249 l l 1.61641 -F 1557 9.69362 -T 1557 1264 , , 0.188628 -T 1557 1275 ten ten 1.61641 -F 1558 10.3427 -T 1558 1306 , , 0.160101 -T 1558 1329 oh oh 2.30972 -T 1558 1338 sixty sixty 2.30972 -F 1559 10.9632 -T 1559 1378 , , 0.215894 -T 1559 1415 ten ten 1.61641 -F 1560 10.4997 -T 1560 1424 , , 0.196472 -T 1560 1442 one one 2.30972 -T 1560 1447 seven seven 2.30972 -F 1561 10.385 -T 1561 1453 , , 0.0816317 -T 1561 1462 m m 2.30972 -F 1562 10.0116 -T 1562 1476 , , 0.0699287 -T 1562 1489 l l 2.30972 -F 1563 9.80504 -T 1563 1531 , , 0.198468 -T 1563 1538 f f 1.61641 -F 1564 9.63345 -T 1564 1579 , , 0.12835 -T 1564 1595 o o 2.30972 -T 1564 1603 two two 2.30972 -F 1565 10.0212 -T 1565 0 , , 0.867697 -T 1565 1566 enter enter 2.67192 -T 1565 1567 erase erase 2.14785 -T 1565 1568 f f 3.83956 -T 1565 1569 g g 3.83956 -T 1565 1570 go go 2.67192 -T 1565 1571 h h 2.67192 -T 1565 1572 j j 3.83956 -T 1565 1573 n n 3.83956 -T 1565 1574 rubout rubout 2.14785 -T 1565 1575 s s 2.67192 -T 1565 1576 u u 3.83956 -T 1565 1577 x x 3.83956 -T 1565 1578 yes yes 3.83956 -F 1566 10.8199 -T 1566 250 , , 0.0685535 -T 1566 262 seven seven 2.30972 -T 1566 263 seventy seventy 2.30972 -F 1567 9.79049 -T 1567 271 , , 0.0826063 -T 1567 276 f f 2.71521 -T 1567 289 w w 2.71521 -F 1568 9.9818 -T 1568 293 , , 0.0996568 -T 1568 297 e e 1.61641 -F 1569 10.6748 -T 1569 455 , , 0.208705 -T 1569 475 r r 1.61641 -F 1570 9.91555 -T 1570 483 , , 0.0583649 -T 1570 487 l l 2.30972 -F 1571 10.4761 -T 1571 492 , , 0.101494 -T 1571 523 z z 2.30972 -F 1572 9.84131 -T 1572 571 , , 0.124073 -T 1572 576 e e 1.61641 -F 1573 10.3153 -T 1573 714 , , 0.169476 -T 1573 731 n n 1.61641 -F 1574 10.0714 -T 1574 1023 , , 0.0735577 -T 1574 1043 v v 2.71521 -T 1574 1047 z z 2.71521 -F 1575 10.9397 -T 1575 1048 , , 0.167612 -T 1575 1049 a a 2.30972 -T 1575 1058 k k 2.30972 -F 1576 10.5014 -T 1576 1424 , , 0.198226 -T 1576 1439 m m 1.61641 -F 1577 9.59922 -T 1577 1504 , , 0.199943 -T 1577 1513 h h 1.61641 -F 1578 10.1709 -T 1578 1565 , , 0.149783 -T 1578 1566 enter enter 1.61641 -F 1579 9.5051 -T 1579 0 , , 0.35163 -T 1579 1580 a a 2.56784 -T 1579 1581 b b 4.17001 -T 1579 1582 c c 4.60172 -T 1579 1583 d d 4.33464 -T 1579 1584 e e 2.91001 -T 1579 1585 eight eight 3.91787 -T 1579 1586 f f 4.60172 -T 1579 1587 g g 4.20432 -T 1579 1588 h h 3.95794 -T 1579 1589 i i 2.91001 -T 1579 1590 j j 4.60172 -T 1579 1591 k k 4.60172 -T 1579 1592 l l 3.43408 -T 1579 1593 nine nine 2.91001 -T 1579 1594 ninety ninety 4.60172 -T 1579 1595 o o 2.91001 -T 1579 1596 p p 4.34477 -T 1579 1597 r r 3.43408 -T 1579 1598 seven seven 3.9858 -T 1579 1599 six six 3.84834 -T 1579 1600 sixty sixty 3.43408 -T 1579 1601 t t 3.61969 -T 1579 1602 twenty twenty 4.60172 -T 1579 1603 two two 3.37124 -T 1579 1604 u u 4.27662 -T 1579 1605 w w 4.60172 -T 1579 1606 x x 3.43408 -T 1579 1607 y y 3.43408 -T 1579 1608 z z 4.60172 -F 1580 10.7328 -T 1580 5 , , 0.163523 -T 1580 10 e e 3.0028 -T 1580 14 g g 3.0028 -T 1580 19 k k 3.0028 -T 1580 25 p p 3.0028 -F 1581 10.653 -T 1581 54 , , 0.129487 -T 1581 58 e e 1.61641 -F 1582 10.3482 -T 1582 83 , , 0.188172 -T 1582 85 b b 1.61641 -F 1583 10.3046 -T 1583 112 , , 0.216926 -T 1583 143 z z 1.61641 -F 1584 11.0111 -T 1584 146 , , 0.49423 -T 1584 161 l l 0.91758 -T 1584 178 v v 2.71521 -F 1585 10.3875 -T 1585 183 , , 0.185128 -T 1585 207 oh oh 1.61641 -F 1586 10.081 -T 1586 293 , , 0.198823 -T 1586 307 m m 1.61641 -F 1587 10.666 -T 1587 455 , , 0.199861 -T 1587 459 d d 1.61641 -F 1588 10.5869 -T 1588 492 , , 0.212322 -T 1588 498 four four 1.61641 -F 1589 10.951 -T 1589 544 , , 0.0929228 -T 1589 563 r r 2.71521 -T 1589 569 v v 2.71521 -F 1590 9.79431 -T 1590 571 , , 0.0770743 -T 1590 586 o o 1.61641 -F 1591 9.80957 -T 1591 607 , , 0.170844 -T 1591 637 w w 1.61641 -F 1592 10.4391 -T 1592 641 , , 0.123955 -T 1592 653 i i 2.30972 -T 1592 670 three three 2.30972 -F 1593 9.81705 -T 1593 747 , , 0.106209 -T 1593 789 twenty twenty 2.71521 -T 1593 794 yes yes 2.71521 -F 1594 10.101 -T 1594 802 , , 0.0645843 -T 1594 803 eight eight 1.61641 -F 1595 10.7096 -T 1595 825 , , 0.170038 -T 1595 851 sixty sixty 2.71521 -T 1595 852 t t 2.71521 -T 1595 853 two two 2.71521 -F 1596 10.6752 -T 1596 935 , , 0.165352 -T 1596 946 h h 1.61641 -F 1597 11.8475 -T 1597 980 , , 0.90786 -T 1597 1005 v v 0.512095 -F 1598 10.3243 -T 1598 1083 , , 0.218245 -T 1598 1112 seventy seventy 1.61641 -F 1599 10.2625 -T 1599 1148 , , 0.0599372 -T 1599 1153 eight eight 1.61641 -F 1600 11.5753 -T 1600 1200 , , 0.707599 -T 1600 1207 nine nine 0.512095 -F 1601 11.0244 -T 1601 1234 , , 0.184562 -T 1601 1254 p p 1.61641 -F 1602 10.2664 -T 1602 1360 , , 0.100222 -T 1602 1373 six six 1.61641 -F 1603 10.94 -T 1603 1378 , , 0.192778 -T 1603 1387 enter enter 1.61641 -F 1604 10.511 -T 1604 1424 , , 0.20775 -T 1604 1425 a a 1.61641 -F 1605 10.1427 -T 1605 1476 , , 0.20104 -T 1605 1482 eight eight 1.61641 -F 1606 9.55296 -T 1606 1504 , , 0.15369 -T 1606 1516 l l 2.30972 -T 1606 1524 two two 2.30972 -F 1607 9.77992 -T 1607 1531 , , 0.173349 -T 1607 1542 g g 2.30972 -T 1607 1556 t t 2.30972 -F 1608 9.69372 -T 1608 1579 , , 0.18862 -T 1608 1600 sixty sixty 1.61641 -F 1609 9.66487 -T 1609 0 , , 0.511399 -T 1609 1610 a a 3.76035 -T 1609 1611 c c 3.21095 -T 1609 1612 e e 3.21095 -T 1609 1613 eight eight 4.07764 -T 1609 1614 enter enter 2.68689 -T 1609 1615 five five 3.79926 -T 1609 1616 four four 3.21095 -T 1609 1617 m m 4.3786 -T 1609 1618 nine nine 4.3786 -T 1609 1619 one one 2.34472 -T 1609 1620 p p 4.3786 -T 1609 1621 r r 3.70002 -T 1609 1622 rubout rubout 4.3786 -T 1609 1623 s s 4.09077 -T 1609 1624 seven seven 3.21095 -T 1609 1625 six six 1.88766 -T 1609 1626 t t 3.77946 -T 1609 1627 twelve twelve 4.3786 -T 1609 1628 two two 3.21095 -T 1609 1629 yes yes 4.3786 -T 1609 1630 zero zero 4.3786 -F 1610 10.7741 -T 1610 5 , , 0.204834 -T 1610 14 g g 1.61641 -F 1611 10.9845 -T 1611 83 , , 0.824443 -T 1611 88 e e 0.512095 -F 1612 10.5731 -T 1612 146 , , 0.0562232 -T 1612 147 a a 2.30972 -T 1612 161 l l 2.30972 -F 1613 10.3389 -T 1613 183 , , 0.136528 -T 1613 224 two two 1.61641 -F 1614 10.7996 -T 1614 250 , , 0.0482288 -T 1614 255 five five 2.71521 -T 1614 256 forty forty 2.71521 -T 1614 269 two two 2.71521 -F 1615 10.7769 -T 1615 350 , , 0.194046 -T 1615 381 seven seven 1.61641 -F 1616 10.4314 -T 1616 402 , , 0.0459476 -T 1616 407 eight eight 2.30972 -F 1617 10.2803 -T 1617 676 , , 0.133959 -T 1617 681 e e 1.61641 -F 1618 9.91909 -T 1618 747 , , 0.208244 -T 1618 787 thirty thirty 1.61641 -F 1619 10.5903 -T 1619 880 , , 0.089383 -T 1619 893 five five 1.20517 -T 1619 909 one one 3.0028 -F 1620 10.7064 -T 1620 935 , , 0.196588 -T 1620 957 u u 1.61641 -F 1621 11.1545 -T 1621 980 , , 0.214877 -T 1621 1004 u u 1.61641 -F 1622 10.1768 -T 1622 1023 , , 0.178966 -T 1622 1041 t t 1.61641 -F 1623 10.9839 -T 1623 1048 , , 0.211749 -T 1623 1073 z z 1.61641 -F 1624 10.1718 -T 1624 1083 , , 0.0657007 -T 1624 1102 nine nine 2.30972 -F 1625 10.2501 -T 1625 1148 , , 0.0475488 -T 1625 1158 five five 3.40829 -T 1625 1182 t t 3.40829 -T 1625 1190 v v 3.40829 -F 1626 11.059 -T 1626 1234 , , 0.219213 -T 1626 1261 v v 1.61641 -F 1627 9.81018 -T 1627 1349 , , 0.0455199 -T 1627 1357 twenty twenty 1.61641 -F 1628 10.8075 -T 1628 1378 , , 0.0602204 -T 1628 1410 seven seven 2.30972 -F 1629 10.1709 -T 1629 1565 , , 0.149783 -T 1629 1575 s s 1.61641 -F 1630 9.72207 -T 1630 1609 , , 0.0572091 -T 1630 1625 six six 1.61641 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.lm deleted file mode 100755 index 86219296..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.trigram.lm +++ /dev/null @@ -1,5481 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 101 words, - which begins "", "a", "and"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 0.428571 -2-gram discounting constant : 0.548485 -3-gram discounting constant : 0.801411 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=102 -ngram 2=1528 -ngram 3=3796 - -\1-grams: --3.9753 -0.2592 --98.9966 0.0000 --1.4110 a -0.4975 --2.8531 and -0.4341 --3.9753 apostrophe -0.2489 --3.9753 april -0.2606 --3.9753 area -0.2608 --3.1794 august -0.5587 --1.6583 b -0.4471 --1.8597 c -0.3237 --3.9753 code -0.2473 --1.7298 d -0.2532 --3.9753 december -0.2608 --1.3368 e -0.3934 --1.5488 eight -0.2847 --3.9753 eighteen -0.2607 --3.9753 eighteenth -0.2584 --3.9753 eighth -0.2584 --2.5688 eighty -0.3580 --3.1794 eleven -0.2322 --3.9753 eleventh -0.2584 --1.8102 enter -0.6939 --2.2195 erase -0.2006 --1.9222 f -0.2189 --3.5360 february -0.2584 --3.0722 fifteen -0.2239 --3.5360 fifteenth -0.5595 --3.5360 fifth -0.2461 --2.1812 fifty -0.5548 --3.3221 first -0.7356 --1.4279 five -0.4501 --2.3079 forty -0.5843 --1.5133 four -0.4456 --2.7992 fourteen -0.3972 --3.9753 fourth -0.2584 --1.6732 g -0.4590 --2.7513 go -0.3056 --1.5662 h -0.3488 --3.5360 half -0.2435 --2.6689 help -0.3190 --2.6689 hundred -0.5362 --1.5159 i -0.7076 --2.0549 j -0.1597 --3.5360 january -0.2606 --3.3221 july -0.2574 --3.5360 june -0.2577 --1.8899 k -0.0277 --1.5906 l -0.2005 --1.7850 m -0.3284 --3.3221 march -0.2575 --3.3221 may -0.2552 --1.5107 n -0.3058 --1.6886 nine -0.0782 --2.2614 nineteen -1.0228 --2.7513 ninety -0.3835 --3.5360 ninth -0.2549 --2.5400 no -0.2872 --1.5348 o -0.4051 --3.3221 october -0.2573 --3.5360 of -0.2547 --1.8961 oh -0.8075 --1.2905 one -0.1031 --1.7342 p -0.5566 --2.2614 q -0.1569 --1.3848 r -0.7203 --2.5129 repeat -0.2700 --1.9646 rubout -0.3320 --1.5545 s -0.6736 --3.5360 second -0.5595 --3.0722 september -0.2549 --1.5783 seven -0.3368 --3.0722 seventeen -0.3403 --3.9753 seventh -0.2584 --2.3245 seventy -0.4264 --1.5186 six -0.2441 --3.3221 sixteen -0.4290 --3.9753 sixteenth -0.2584 --3.9753 sixth -0.2584 --1.8776 sixty -0.7446 --2.7082 start -0.4106 --2.5400 stop -0.4722 --1.4193 t -0.6937 --2.5997 ten -0.1497 --3.3221 third -0.7356 --3.3221 thirtieth -0.7356 --2.1936 thirty -0.4796 --2.7992 thousand -0.2023 --1.6098 three -0.3627 --3.5360 twelfth -0.5595 --2.7992 twelve -0.2655 --3.9753 twentieth -0.2584 --2.1460 twenty -0.4321 --1.3114 two -0.5357 --1.7046 u -0.3242 --1.9290 v -0.4664 --1.8776 w -0.2220 --2.2330 x 0.0278 --1.9290 y 0.1003 --2.4190 yes -0.3768 --2.0832 z -0.0083 --2.1812 zero -0.1457 --3.9753 0.0000 - -\2-grams: --0.3453 yes -0.0650 --1.7842 a a -0.0049 --1.9328 a b -0.0526 --1.2634 a c -0.0444 --1.3467 a d -0.0173 --1.9328 a e -0.2303 --1.9328 a f -0.0128 --2.6675 a fifty -0.0388 --2.6675 a five -0.0798 --1.7842 a g -0.1759 --1.7842 a h -0.1765 --2.1604 a half 0.1647 --1.9328 a i -0.0623 --2.6675 a j -0.0734 --1.9328 a k -0.0877 --1.1934 a l 0.0359 --1.2270 a m -0.1573 --0.9339 a n 0.0970 --2.6675 a ninety -0.0280 --1.4500 a one -0.2339 --1.7842 a p 0.2488 --0.7153 a r 0.0982 --1.3467 a s -0.0158 --1.9328 a six -0.0505 --1.3467 a t -0.2184 --2.6675 a three -0.0606 --2.6675 a twenty -0.0797 --2.6675 a two -0.0871 --2.1604 a u -0.0842 --1.2634 a v -0.2749 --1.9328 a w -0.0754 --2.6675 a x -0.0760 --1.6737 a y -0.1366 --2.6675 a z -0.0819 --0.7413 and a -0.3942 --0.5137 and eighty -0.1003 --1.2484 and fifty -0.0524 --1.2484 and sixty -0.0811 --1.2484 and twenty -0.0435 --0.3453 apostrophe h -0.0207 --0.3453 april thirtieth 0.6418 --0.3453 area code 0.1647 --0.9474 august sixteenth 0.1647 --0.2126 august twenty -0.2505 --1.2659 b a -0.2022 --2.4209 b b -0.0871 --2.4209 b d -0.0855 --1.0564 b e -0.1288 --2.4209 b eight -0.0745 --2.4209 b five -0.0930 --1.9137 b forty -0.0091 --2.4209 b g -0.0630 --2.4209 b h -0.0918 --2.4209 b i -0.0357 --1.9137 b j -0.0786 --2.4209 b k -0.0870 --2.4209 b l -0.0519 --1.6861 b m -0.0312 --1.4270 b o -0.2321 --2.4209 b one -0.0827 --2.4209 b p -0.0942 --1.0564 b r -0.2538 --1.6861 b s -0.2239 --1.9137 b seven -0.0584 --1.9137 b seventy -0.3542 --2.4209 b six -0.0732 --0.3641 b u -1.2068 --2.4209 b v -0.0500 --2.4209 b w -0.0873 --1.6861 b x -0.0774 --2.4209 b y -0.0862 --2.4209 b z -0.0918 --1.0654 c a -0.0560 --1.4856 c b -0.0319 --2.2204 c c -0.0032 --2.2204 c d -0.0582 --1.0654 c e -0.0707 --2.2204 c f -0.0794 --2.2204 c fifty -0.0248 --1.7132 c five -0.0558 --0.7151 c h -0.2591 --2.2204 c i -0.0357 --2.2204 c j -0.0828 --0.9481 c k -0.0831 --1.4856 c l -0.0346 --2.2204 c m -0.0840 --1.1385 c o -0.2141 --2.2204 c r -0.0712 --2.2204 c s -0.0919 --2.2204 c seven -0.0793 --2.2204 c t -0.0909 --1.7132 c thirty -0.3236 --2.2204 c two -0.0921 --2.2204 c u -0.0943 --2.2204 c v -0.0792 --1.7132 c w -0.0524 --1.7132 c y -0.0760 --1.4856 c z -0.0829 --0.3453 code four -0.0360 --0.9851 d a -0.2394 --1.8425 d b -0.0663 --2.3496 d c -0.0935 --1.4663 d d -0.1741 --1.1321 d e -0.2089 --1.8425 d f -0.0398 --2.3496 d five -0.0952 --2.3496 d forty -0.0367 --2.3496 d fourteen -0.0738 --2.3496 d h -0.0736 --1.6149 d i 0.2202 --1.8425 d j -0.0392 --1.6149 d k -0.0683 --2.3496 d l -0.0006 --1.8425 d m -0.0868 --2.3496 d n -0.0394 --1.0774 d o 0.0648 --2.3496 d oh -0.0869 --1.4663 d one -0.0554 --1.0774 d p -0.4404 --1.8425 d q -0.0677 --1.0774 d r 0.0068 --1.4663 d s -0.0006 --1.8425 d sixty 0.0201 --2.3496 d t -0.0867 --1.8425 d two -0.0383 --2.3496 d u -0.0861 --2.3496 d v -0.0862 --1.1321 d w -0.1126 --1.6149 d y -0.0507 --2.3496 d z -0.0918 --0.3453 december eighteenth 0.1647 --1.1800 e a 0.0057 --1.8582 e b -0.1735 --2.2344 e c 0.0001 --1.5240 e d 0.0589 --1.3770 e e 0.0958 --2.2344 e eight -0.0579 --2.0068 e f -0.0440 --2.7415 e fifty -0.0248 --2.0068 e four -0.0569 --1.6597 e g -0.2036 --2.7415 e h -0.0918 --1.8582 e i -0.3589 --1.8582 e j -0.3190 --2.7415 e k -0.0870 --1.0647 e l 0.0734 --1.7477 e m -0.1081 --0.9905 e n -0.1001 --2.7415 e nine -0.0824 --2.2344 e o -0.0767 --1.4693 e one 0.0793 --1.1302 e p -0.2230 --2.7415 e q -0.0746 --0.8986 e r -0.0163 --1.3770 e s 0.2058 --2.7415 e seven -0.0948 --2.7415 e seventy -0.0885 --1.5240 e t -0.3594 --2.7415 e thirty -0.0226 --2.2344 e three -0.0554 --2.7415 e two -0.0752 --2.0068 e u -0.0781 --1.4207 e v -0.3267 --1.1800 e w 0.0945 --2.7415 e x -0.0760 --1.6597 e y -0.0000 --2.0068 e z -0.0300 --2.5300 eight a -0.0674 --2.5300 eight april 0.1647 --2.5300 eight august -0.0441 --2.0229 eight b 0.2228 --2.5300 eight c -0.0817 --2.5300 eight e -0.0918 --1.4482 eight eight -0.1375 --1.3124 eight enter -0.0235 --1.7953 eight erase -0.0496 --2.5300 eight f -0.0433 --1.2092 eight five 0.0023 --2.5300 eight forty -0.0721 --0.9957 eight four -0.1085 --2.5300 eight fourteen 0.0420 --2.0229 eight g -0.3640 --1.7953 eight hundred 0.0996 --2.5300 eight j -0.0828 --2.5300 eight june 0.0150 --2.5300 eight k -0.0870 --2.5300 eight l -0.0006 --2.5300 eight n -0.0924 --1.4482 eight nine -0.0926 --2.0229 eight o -0.0531 --1.4482 eight oh 0.2075 --1.3750 eight one -0.0577 --2.5300 eight q -0.0896 --2.0229 eight repeat 0.0171 --1.6467 eight rubout -0.1716 --2.5300 eight s -0.0742 --1.3124 eight seven 0.0063 --2.0229 eight seventy -0.2505 --1.3750 eight six 0.0294 --1.7953 eight sixty 0.0924 --2.5300 eight stop -0.0548 --2.5300 eight ten -0.0819 --2.5300 eight thirty -0.0511 --2.5300 eight thousand -0.0738 --0.9957 eight three 0.0392 --2.5300 eight twelve -0.0738 --2.0229 eight twenty -0.0249 --1.0895 eight two 0.1407 --2.5300 eight x -0.0900 --1.6467 eight zero 0.0100 --0.3453 eighteen february 0.0150 --0.3453 eighteenth nineteen -0.0746 --0.3453 eighth nineteen -0.0746 --1.5214 eighty eight -0.0920 --1.5214 eighty fifth 0.0150 --1.5214 eighty five -0.0952 --1.5214 eighty four -0.0950 --0.7867 eighty nine -0.0705 --1.5214 eighty one -0.0954 --1.5214 eighty seven -0.0948 --0.5276 eighty six -0.1520 --1.5214 eighty three -0.0914 --0.9474 eleven nine -0.0944 --0.9474 eleven o -0.0723 --0.9474 eleven seventeen 0.0528 --0.9474 eleven sixty -0.0280 --0.3453 eleventh nineteen 0.4491 --1.0520 enter eight 0.0699 --2.2696 enter eighty -0.0186 --2.2696 enter fifteen -0.0550 --1.2758 enter fifty -0.0380 --1.1878 enter five 0.0897 --1.5348 enter forty 0.0646 --1.1878 enter four -0.1448 --2.2696 enter fourteen -0.0198 --1.3863 enter nine -0.0728 --1.5348 enter ninety 0.1522 --1.3863 enter one -0.0739 --0.9973 enter seven -0.0050 --1.3863 enter seventy 0.0282 --1.0520 enter six 0.0719 --1.0520 enter sixty 0.0144 --1.5348 enter thirty 0.0389 --1.7625 enter three -0.0932 --2.2696 enter twenty -0.0559 --1.1878 enter two -0.0816 --2.2696 enter zero -0.0907 --1.8638 erase a -0.0674 --1.8638 erase b -0.0871 --1.3567 erase c -0.0279 --1.3567 erase e -0.0928 --1.8638 erase f -0.0863 --1.3567 erase g 0.1715 --1.3567 erase i -0.0721 --1.3567 erase j -0.0879 --1.8638 erase k -0.0807 --1.8638 erase m -0.0890 --1.8638 erase n -0.0681 --1.1291 erase o -0.2557 --1.3567 erase q -0.0519 --1.8638 erase r -0.0854 --1.3567 erase s -0.0758 --1.8638 erase t -0.0909 --1.1291 erase v -0.0728 --1.3567 erase w -0.0655 --1.8638 erase x -0.0900 --1.8638 erase y -0.0862 --1.8638 erase z -0.0819 --2.1582 f a -0.0032 --1.6511 f b -0.0702 --2.1582 f d -0.0629 --0.9407 f e 0.1257 --2.1582 f eight -0.0920 --1.4235 f f -0.0588 --1.6511 f five -0.0766 --2.1582 f four -0.0735 --2.1582 f g -0.0671 --1.6511 f h -0.0845 --1.0033 f i -0.0258 --1.6511 f j -0.0786 --1.6511 f k -0.0646 --1.6511 f m -0.0917 --1.1644 f o -0.2517 --2.1582 f q -0.0591 --1.1644 f r -0.2043 --2.1582 f s -0.0619 --2.1582 f six -0.0949 --1.2749 f t -0.1712 --2.1582 f thirty -0.0646 --2.1582 f twenty -0.0679 --1.4235 f two -0.0613 --2.1582 f v -0.0931 --1.2749 f x -0.0255 --1.6511 f y -0.0760 --2.1582 f z -0.0918 --0.6464 february eighth 0.1647 --0.6464 february nineteen -0.0591 --1.0443 fifteen enter -0.0558 --1.0443 fifteen m 0.0172 --1.0443 fifteen n -0.0394 --1.0443 fifteen nineteen -0.0591 --1.0443 fifteen sixty -0.0684 --0.1392 fifteenth nineteen 0.1481 --0.6464 fifth nineteen 0.4491 --0.6464 fifth s -0.0428 --1.9016 fifty b 0.1498 --0.8198 fifty eight -0.1201 --1.0183 fifty five -0.0584 --1.1669 fifty four -0.0710 --1.9016 fifty nine -0.0864 --0.9078 fifty one -0.0814 --1.9016 fifty rubout -0.0700 --1.3945 fifty seven -0.0872 --0.8198 fifty six -0.0553 --1.9016 fifty sixty -0.0554 --1.3945 fifty three -0.0832 --1.0183 fifty two -0.0898 --0.0877 first nineteen -0.0280 --2.6507 five a -0.0868 --2.1435 five b -0.3573 --2.6507 five c -0.0634 --2.6507 five d -0.0582 --2.6507 five e -0.0570 --1.5688 five eight -0.0330 --1.3784 five enter -0.1060 --2.1435 five erase -0.0415 --1.9159 five f -0.0046 --1.4331 five five 0.1433 --2.6507 five forty -0.0367 --1.5688 five four -0.0749 --2.6507 five g -0.0630 --2.6507 five h -0.0577 --2.1435 five help -0.0212 --2.1435 five hundred 0.2757 --2.6507 five j -0.0828 --2.6507 five k -0.0742 --1.9159 five m -0.1089 --2.6507 five may -0.0253 --1.3784 five nine 0.0444 --2.6507 five ninth 0.0150 --2.6507 five no -0.0837 --2.6507 five october -0.0253 --1.4331 five oh 0.2401 --1.1454 five one -0.0152 --2.6507 five p -0.0854 --2.6507 five q -0.0746 --2.1435 five repeat -0.0724 --2.1435 five rubout -0.0819 --1.5688 five seven -0.1932 --1.4331 five six -0.1673 --2.6507 five sixteen 0.1911 --2.6507 five t -0.0600 --2.6507 five ten -0.0819 --1.9159 five thirty 0.1126 --1.3298 five three -0.1401 --2.6507 five twenty -0.0435 --0.4700 five two -0.2328 --1.9159 five yes 0.0604 --1.6568 five zero -0.0550 --1.0419 forty eight -0.2462 --0.8934 forty five -0.0700 --1.0419 forty four -0.0682 --1.0419 forty nine -0.0908 --1.2695 forty one -0.0932 --0.8934 forty seven -0.1785 --1.7767 forty six -0.0842 --0.8934 forty three -0.0699 --1.0419 forty two -0.0906 --2.5654 four and -0.0092 --2.5654 four august 0.3160 --2.5654 four b -0.0562 --2.5654 four d -0.0487 --1.2446 four eight -0.0869 --2.5654 four eleven -0.0441 --1.4836 four enter 0.0337 --2.0583 four erase -0.0415 --2.5654 four f -0.0507 --2.0583 four fifty 0.0436 --1.4104 four five 0.1963 --2.0583 four forty -0.0091 --0.9783 four four 0.0471 --2.5654 four h -0.0858 --2.5654 four help -0.0795 --2.0583 four january 0.1647 --2.5654 four l -0.0820 --2.5654 four march -0.0253 --1.6821 four nine -0.0385 --2.5654 four ninety -0.0761 --1.8307 four no -0.1853 --1.4836 four oh 0.1901 --0.8887 four one -0.3340 --2.5654 four r -0.0544 --1.8307 four repeat -0.0601 --1.4836 four rubout -0.0552 --2.0583 four s -0.0877 --2.5654 four september -0.0550 --1.2932 four seven 0.0240 --2.5654 four seventy 0.0505 --1.2009 four six 0.0541 --2.0583 four sixty 0.0046 --2.5654 four start -0.0347 --1.8307 four stop -0.3923 --2.5654 four thirty -0.0777 --1.8307 four thousand 0.0356 --1.5716 four three 0.0160 --2.5654 four twelve -0.0738 --2.0583 four twenty -0.0249 --1.0311 four two -0.1536 --2.5654 four x -0.0900 --2.5654 four z -0.0718 --2.5654 four zero -0.0783 --1.2996 fourteen a -0.0910 --1.2996 fourteen eighty -0.0829 --1.2996 fourteen fourteen -0.0738 --0.7924 fourteen repeat -0.0724 --1.2996 fourteen s -0.0619 --0.5648 fourteen sixty 0.0741 --0.3453 fourth nineteen -0.0746 --1.1338 g a -0.1838 --2.4060 g b -0.0908 --1.8989 g c -0.0909 --1.6713 g d -0.1978 --1.8989 g e -0.0730 --2.4060 g eighty 0.0568 --2.4060 g forty -0.0548 --0.3493 g h -0.7713 --1.1885 g i -0.0691 --1.8989 g j -0.0786 --1.8989 g k -0.0842 --1.1338 g l -0.0991 --2.4060 g m 0.0172 --1.5227 g n -0.0354 --1.8989 g nine -0.0425 --2.4060 g o -0.0809 --2.4060 g one 0.0377 --2.4060 g p -0.0898 --2.4060 g q -0.0896 --1.8989 g r 0.0015 --2.4060 g s -0.0711 --2.4060 g seventy -0.0531 --2.4060 g t -0.0845 --1.8989 g two -0.0947 --2.4060 g u -0.0943 --1.8989 g v -0.0389 --1.8989 g w -0.0456 --1.3453 go enter -0.0886 --1.3453 go g -0.0906 --1.3453 go h -0.0577 --1.3453 go l -0.0884 --0.8382 go repeat 0.0171 --1.3453 go rubout -0.0777 --1.3453 go x -0.0900 --0.8382 go yes -0.0771 --0.7971 h a 0.0353 --1.6293 h b -0.0588 --1.2951 h e -0.0160 --1.7779 h f 0.0122 --2.5126 h fifty -0.0524 --2.5126 h four -0.0816 --2.0055 h g -0.0889 --2.5126 h h -0.0918 --1.4308 h i 0.1459 --2.0055 h k -0.0646 --2.0055 h l 0.0552 --1.6293 h n -0.0443 --2.5126 h nine -0.0824 --1.0721 h o 0.2236 --0.4911 h one -1.3394 --1.7779 h p 0.0110 --2.5126 h q -0.0896 --1.7779 h r -0.2338 --2.5126 h s -0.0711 --2.5126 h seven -0.0664 --2.5126 h seventy -0.0531 --2.5126 h six -0.0896 --1.6293 h t 0.0041 --2.5126 h three -0.0914 --2.0055 h two -0.0513 --2.0055 h u 0.2164 --2.5126 h v 0.0915 --2.5126 h w -0.0419 --2.5126 h x -0.0900 --1.7779 h y -0.0195 --2.5126 h z -0.0615 --0.6464 half f -0.0653 --0.6464 half h -0.0577 --1.4245 help a -0.0761 --1.4245 help b -0.0908 --0.6897 help enter -0.1874 --0.9174 help go -0.0045 --1.4245 help help -0.0795 --1.4245 help j -0.0828 --1.4245 help n -0.0394 --1.4245 help rubout -0.0700 --1.4245 help v 0.0915 --0.3427 hundred and 0.0082 --0.9174 hundred eighty -0.0692 --1.4245 hundred forty -0.0548 --1.4245 hundred s -0.0890 --1.4245 hundred twenty -0.0435 --1.4245 hundred w -0.0934 --1.6795 i a -0.1180 --1.8280 i b -0.2615 --1.0576 i c -0.0429 --1.5690 i d -0.0096 --1.2905 i e 0.0515 --1.6795 i f -0.1040 --2.5628 i fifteen -0.0550 --2.0557 i five -0.0810 --2.5628 i four -0.0816 --1.6795 i g 0.1183 --2.5628 i j -0.0335 --2.0557 i k -0.0842 --1.2420 i l -0.0711 --1.4810 i m -0.0235 --0.8860 i n -0.1216 --2.5628 i o -0.0780 --1.8280 i p -0.0630 --1.8280 i q -0.0446 --1.8280 i r -0.0023 --1.4810 i s -0.0853 --2.5628 i sixty -0.0487 --0.5233 i t -0.9938 --2.5628 i thirty -0.0511 --2.5628 i u 0.2045 --1.4810 i v -0.0774 --2.5628 i y -0.0931 --1.2918 j a -0.1883 --2.0266 j b -0.0871 --1.5194 j c 0.0148 --2.0266 j d -0.0899 --1.0327 j e -0.0917 --2.0266 j five -0.0843 --1.5194 j four -0.0885 --2.0266 j g -0.0944 --1.5194 j h -0.0814 --2.0266 j j -0.0828 --1.5194 j k -0.0842 --2.0266 j l -0.0820 --2.0266 j m -0.0939 --2.0266 j n -0.0871 --0.8716 j o -0.1291 --1.5194 j one 0.0429 --1.5194 j q -0.0677 --2.0266 j s -0.0711 --1.2918 j seven -0.0365 --2.0266 j t -0.0931 --1.5194 j u -0.0842 --1.5194 j v -0.0900 --2.0266 j w -0.0873 --2.0266 j x -0.0900 --1.5194 j z -0.0567 --0.6464 january fifteenth 0.4657 --0.6464 january twelfth 0.4657 --0.8224 july thirtieth 0.6418 --0.8224 july twelfth 0.4657 --0.8224 july twenty -0.0559 --0.6464 june eleventh 0.1647 --0.6464 june twenty -0.0797 --1.1966 k a -0.3974 --2.1904 k c -0.0877 --2.1904 k d -0.0487 --0.9729 k e 0.1155 --2.1904 k eight -0.0685 --2.1904 k eighty -0.0829 --1.6833 k f -0.0832 --2.1904 k fifty -0.0783 --1.6833 k h 0.1898 --1.3071 k i -0.1424 --1.4557 k j -0.0345 --1.6833 k k -0.0579 --1.6833 k l 0.0051 --2.1904 k m -0.0939 --2.1904 k nine -0.0904 --2.1904 k ninety -0.0280 --2.1904 k o -0.0949 --1.6833 k one -0.3756 --1.6833 k p 0.1955 --2.1904 k r -0.0544 --1.6833 k s -0.0818 --2.1904 k seven -0.0855 --1.3071 k six -0.0280 --1.4557 k t -0.0415 --1.6833 k three -0.0590 --2.1904 k twenty -0.0435 --1.6833 k two -0.0744 --1.6833 k u -0.0758 --2.1904 k v -0.0931 --1.3071 k w -0.0037 --1.6833 k x -0.0548 --1.6833 k y -0.0615 --1.6833 k z -0.0567 --1.0142 l a -0.0786 --2.4883 l b -0.0562 --1.9812 l c 0.0148 --1.1238 l d 0.1072 --0.7044 l e 0.2224 --2.4883 l eight -0.0499 --1.7536 l f -0.0364 --1.9812 l fifty -0.0184 --1.9812 l five 0.1085 --1.7536 l g -0.2076 --2.4883 l h -0.0858 --1.0842 l i -0.1207 --2.4883 l j -0.0828 --1.6050 l k -0.0233 --0.9012 l l -0.0408 --1.9812 l m -0.0281 --2.4883 l n -0.0790 --2.4883 l nine -0.0824 --1.4945 l o 0.1901 --2.4883 l one -0.0778 --2.4883 l p 0.1751 --1.7536 l r -0.0610 --1.7536 l s -0.0333 --2.4883 l seventy -0.0531 --2.4883 l six -0.0675 --2.4883 l t -0.0909 --2.4883 l ten -0.0819 --2.4883 l thirty 0.0078 --1.9812 l three -0.0730 --2.4883 l two -0.0837 --1.7536 l u -0.0696 --1.4945 l y -0.0515 --1.9812 l z -0.0567 --2.4883 l zero -0.0655 --0.6387 m a -0.0622 --1.7876 m b -0.0544 --2.2947 m c -0.0442 --2.2947 m d -0.0899 --1.0771 m e -0.1489 --1.7876 m eight -0.3509 --2.2947 m f -0.0931 --2.2947 m fifty -0.0655 --2.2947 m forty -0.0367 --2.2947 m four -0.0950 --2.2947 m g -0.0906 --1.7876 m h -0.0875 --1.2129 m i -0.0379 --1.7876 m j -0.0593 --2.2947 m k -0.0933 --1.5600 m m -0.0369 --1.4114 m n 0.0087 --0.9302 m o -0.2165 --1.4114 m p -0.1784 --2.2947 m q -0.0591 --1.5600 m s -0.0198 --2.2947 m seven -0.0664 --2.2947 m t -0.0888 --2.2947 m thirty -0.0777 --2.2947 m two -0.0921 --1.5600 m u -0.0781 --1.7876 m v -0.0830 --2.2947 m x -0.0900 --1.7876 m y -0.0830 --0.8224 march third 0.6418 --0.8224 march twentieth 0.1647 --0.8224 march twenty -0.0911 --0.8224 may nineteen -0.0746 --0.8224 may ninth 0.0150 --0.8224 may twenty -0.0911 --1.2035 n a 0.0153 --1.6847 n b 0.2145 --1.3505 n c 0.0791 --1.1275 n d -0.1377 --0.9120 n e 0.0387 --2.5680 n eight -0.0949 --2.5680 n f -0.0433 --1.8333 n five -0.2224 --2.0609 n four -0.0317 --1.3505 n g 0.2178 --2.0609 n h -0.0562 --1.2035 n i -0.1077 --2.0609 n j -0.0392 --1.8333 n k -0.1913 --2.0609 n l -0.0363 --1.8333 n m 0.0564 --1.2958 n n -0.0153 --1.6847 n o -0.0154 --1.4862 n one 0.0720 --1.3505 n p 0.0208 --1.6847 n r 0.1723 --1.4131 n s 0.0190 --2.5680 n seventy 0.0505 --2.0609 n six -0.0747 --1.2035 n t -0.1956 --2.0609 n thirty -0.0306 --1.8333 n three -0.0502 --2.0609 n two -0.0288 --1.5742 n u -0.4694 --2.0609 n x -0.0837 --1.8333 n y -0.0655 --1.8333 n z -0.0411 --1.8835 nine a -0.0597 --2.3907 nine and -0.0092 --2.3907 nine august 0.3160 --1.6559 nine b -0.0485 --1.6559 nine eight -0.0242 --2.3907 nine eighty -0.0186 --2.3907 nine eleven -0.0441 --1.5073 nine enter 0.0486 --1.5073 nine erase -0.0429 --2.3907 nine f -0.0863 --1.8835 nine fifty -0.0184 --1.1731 nine five 0.1742 --2.3907 nine forty -0.0367 --1.5073 nine four -0.0289 --2.3907 nine g -0.0906 --2.3907 nine go -0.0280 --2.3907 nine help 0.0031 --2.3907 nine hundred -0.0795 --2.3907 nine j -0.0828 --2.3907 nine july -0.0253 --2.3907 nine june 0.0150 --1.8835 nine m -0.0394 --1.8835 nine n -0.0724 --1.5073 nine nine -0.0728 --2.3907 nine nineteen 0.4491 --1.6559 nine no -0.0577 --2.3907 nine o -0.0780 --2.3907 nine of 0.0150 --2.3907 nine oh -0.0869 --1.3968 nine one -0.0205 --2.3907 nine p -0.0718 --2.3907 nine r -0.0953 --1.6559 nine rubout -0.0548 --1.6559 nine s -0.0058 --2.3907 nine september -0.0550 --1.6559 nine seven -0.0502 --2.3907 nine seventy -0.0343 --1.0698 nine six -0.0441 --2.3907 nine sixty -0.0684 --1.8835 nine thirty -0.0719 --1.3968 nine three -0.1344 --1.8835 nine twenty -0.0378 --1.2357 nine two -0.0254 --1.8835 nine v 0.1069 --2.3907 nine w -0.0554 --2.3907 nine x -0.0900 --1.6559 nine yes 0.0604 --2.3907 nine zero -0.0524 --1.3153 nineteen fifty -0.3534 --1.3153 nineteen forty -0.3558 --1.0877 nineteen seventy -0.0729 --0.1457 nineteen sixty 0.0125 --1.8224 nineteen twenty -0.0435 --0.8382 ninety eight -0.0907 --0.8382 ninety five -0.0899 --0.8382 ninety four -0.0804 --1.3453 ninety one -0.0939 --1.3453 ninety seven -0.0948 --0.8382 ninety six -0.0911 --0.6464 ninth of 0.0150 --0.6464 ninth sixty -0.0684 --1.5494 no c -0.0571 --1.5494 no enter -0.0833 --0.8147 no erase -0.0347 --1.5494 no f -0.0433 --1.5494 no h -0.0577 --1.5494 no help -0.0795 --1.5494 no o -0.0694 --1.5494 no p -0.0718 --0.8147 no rubout -0.0548 --1.5494 no s -0.0428 --1.5494 no start -0.0347 --1.5494 no t -0.0600 --1.3890 o a -0.1549 --2.5440 o apostrophe 0.1647 --1.5501 o b -0.2495 --2.5440 o c -0.0442 --1.2717 o d -0.0828 --2.5440 o e -0.0627 --2.5440 o eight -0.0920 --1.6606 o f -0.0251 --2.5440 o five -0.0776 --2.5440 o forty -0.0888 --2.5440 o four -0.0950 --2.5440 o g -0.0868 --1.6606 o h -0.3824 --2.5440 o j -0.0920 --2.0368 o k -0.0712 --1.2717 o l 0.2765 --1.3890 o m 0.0468 --0.7601 o n 0.1070 --2.5440 o ninety -0.0280 --1.1034 o o -0.1910 --1.8092 o p 0.2639 --2.5440 o q -0.0896 --0.9326 o r -0.0717 --1.5501 o s -0.2241 --2.5440 o six -0.0815 --2.5440 o sixty -0.0684 --1.4621 o t 0.0982 --2.5440 o two -0.0429 --1.2232 o u 0.2754 --1.2717 o w -0.1653 --2.5440 o x -0.0900 --2.0368 o y -0.0760 --2.5440 o z -0.0718 --0.8224 october first 0.6418 --0.8224 october thirtieth 0.6418 --0.8224 october twenty -0.0797 --0.6464 of september -0.0550 --0.6464 of sixty -0.0934 --0.8197 oh eight 0.0672 --1.6770 oh enter -0.0358 --1.1023 oh five -0.1173 --1.4494 oh four -0.2047 --2.1842 oh j -0.0335 --1.4494 oh nine -0.0536 --1.6770 oh oh 0.0429 --1.1903 oh one 0.0893 --0.9119 oh seven 0.0595 --0.7800 oh six -0.0272 --1.1903 oh three 0.0202 --2.1842 oh twelve -0.0198 --0.9119 oh two 0.0109 --2.2807 one a 0.0272 --2.7878 one august 0.3160 --2.2807 one b -0.0779 --2.7878 one c -0.0571 --2.2807 one e -0.0346 --1.5155 one eight 0.1163 --2.7878 one eleven -0.0441 --1.7060 one enter -0.0555 --2.7878 one f -0.0507 --2.7878 one february 0.0150 --2.7878 one fifteen -0.0550 --1.9045 one fifty -0.0565 --0.5765 one five -0.4384 --2.7878 one forty -0.0548 --1.4233 one four -0.1739 --2.0530 one go 0.0205 --2.7878 one h -0.0948 --2.2807 one help -0.0212 --2.2807 one hundred 0.1979 --2.2807 one i -0.0693 --2.7878 one j -0.0734 --2.7878 one july -0.0253 --2.7878 one l -0.0884 --2.7878 one m -0.0419 --2.7878 one n -0.0871 --1.3836 one nine -0.0730 --2.7878 one ninety -0.0280 --1.3137 one oh 0.4067 --1.6328 one one 0.0939 --2.7878 one p -0.0809 --2.7878 one r -0.0457 --2.7878 one repeat -0.0574 --1.9045 one rubout -0.0083 --2.7878 one s -0.0948 --1.1110 one seven -0.3199 --2.2807 one seventy -0.0808 --1.6328 one six -0.0100 --2.7878 one sixteen -0.0253 --1.9045 one sixty 0.0115 --2.2807 one start -0.0136 --2.2807 one stop -0.0412 --2.7878 one t -0.0867 --2.2807 one ten -0.0672 --2.2807 one thirty -0.2932 --2.2807 one thousand -0.0502 --1.3137 one three -0.3724 --2.2807 one twenty -0.0744 --0.9734 one two -0.1270 --2.7878 one u -0.0734 --2.7878 one w -0.0554 --2.7878 one y -0.0862 --2.7878 one yes -0.0650 --2.7878 one z -0.0918 --1.7940 one zero 0.0495 --1.4620 p a 0.0641 --2.3453 p b -0.0945 --2.3453 p c -0.0935 --1.8382 p d -0.0835 --1.8382 p e -0.0346 --2.3453 p eight -0.0891 --2.3453 p f -0.0863 --2.3453 p forty -0.0367 --2.3453 p four -0.0897 --1.6106 p g -0.3157 --1.2635 p h 0.0690 --0.3330 p i -1.0405 --1.3515 p l -0.3427 --1.8382 p n -0.0073 --2.3453 p ninety -0.0761 --1.2635 p o 0.0116 --1.6106 p r -0.5358 --1.4620 p s -0.0148 --2.3453 p seventeen -0.0550 --1.6106 p t -0.0415 --2.3453 p three -0.0425 --1.6106 p u -0.0652 --2.3453 p y -0.0792 --1.8224 q c -0.0935 --1.0877 q d -0.0679 --1.3153 q e -0.0712 --1.8224 q f -0.0724 --1.3153 q fifty 0.0605 --1.8224 q five -0.0798 --1.8224 q g -0.0944 --1.8224 q i -0.0816 --1.3153 q k -0.0646 --1.0877 q n -0.0820 --1.8224 q one -0.0939 --1.8224 q p -0.0942 --1.0877 q q -0.0280 --1.8224 q six -0.0704 --1.3153 q t -0.0942 --1.8224 q two -0.0752 --1.8224 q u -0.0777 --1.8224 q w -0.0873 --1.8224 q y -0.0862 --1.8224 q z -0.0918 --1.2531 r a -0.1290 --1.6118 r b 0.1948 --1.9589 r c -0.4803 --1.4214 r d -0.1389 --0.9600 r e 0.0389 --2.1865 r f -0.0164 --0.6369 r g -0.5951 --2.6936 r h -0.0948 --1.0823 r i -0.3531 --1.3291 r k -0.0917 --1.4214 r l -0.1614 --2.1865 r m -0.2838 --1.6118 r n -0.1330 --1.0376 r o -0.1413 --2.1865 r one -0.0286 --2.6936 r p 0.1751 --2.6936 r q -0.0896 --1.4214 r r -0.0584 --1.8103 r s -0.3049 --2.6936 r seven -0.0886 --2.6936 r sixty -0.0487 --1.5386 r t -0.1757 --2.1865 r thirty 0.0313 --2.1865 r u -0.0628 --2.1865 r v -0.0900 --2.1865 r w -0.0388 --1.4761 r y -0.0186 --2.1865 r z -0.0567 --1.5758 repeat b -0.0719 --1.5758 repeat enter -0.0558 --1.5758 repeat erase -0.0902 --1.5758 repeat f -0.0507 --1.5758 repeat g -0.0671 --1.5758 repeat l -0.0884 --1.5758 repeat m 0.0172 --0.8410 repeat no -0.0577 --1.5758 repeat o -0.0723 --1.5758 repeat r -0.0953 --1.0686 repeat rubout -0.0585 --1.0686 repeat stop -0.0092 --1.5758 repeat w -0.0748 --2.1162 rubout a -0.0761 --1.3814 rubout c 0.0107 --2.1162 rubout d -0.0899 --1.6090 rubout e -0.0875 --1.2328 rubout f -0.0406 --1.6090 rubout g -0.0889 --1.3814 rubout h -0.0103 --1.6090 rubout i 0.0679 --1.3814 rubout j -0.0743 --2.1162 rubout l -0.0622 --1.3814 rubout m -0.0692 --1.1223 rubout n -0.1441 --1.2328 rubout o -0.0799 --1.6090 rubout p -0.0651 --1.6090 rubout q -0.0186 --1.3814 rubout r -0.0235 --2.1162 rubout s -0.0831 --1.3814 rubout t -0.0847 --1.1223 rubout u -0.1558 --1.6090 rubout v 0.1902 --1.6090 rubout w -0.0783 --2.1162 rubout x -0.0760 --2.1162 rubout y -0.0931 --1.3814 rubout z -0.0519 --1.7895 s a -0.0379 --0.5120 s b -1.1917 --2.5243 s c -0.0571 --1.3067 s e -0.1156 --2.0172 s f -0.0901 --2.5243 s fifty -0.0248 --1.5305 s h -0.0639 --2.5243 s i -0.0896 --1.7895 s j -0.2254 --1.4425 s k -0.0441 --2.0172 s l 0.0091 --1.5305 s m -0.1655 --2.5243 s n -0.0871 --1.1201 s o -0.5513 --1.5305 s one 0.0236 --1.2520 s p 0.0385 --1.5305 s s 0.0082 --2.0172 s seven -0.0841 --0.9371 s t -0.4803 --2.5243 s thirty -0.0226 --1.7895 s u -0.0738 --1.7895 s v 0.0230 --1.6410 s w 0.0966 --2.5243 s x -0.0760 --2.0172 s z -0.0672 --2.5243 s zero -0.0907 --0.1392 second nineteen 0.1481 --1.0443 september fifteenth 0.4657 --1.0443 september first 0.6418 --1.0443 september nineteen 0.4491 --1.0443 september sixth 0.1647 --1.0443 september twenty -0.0911 --2.5007 seven area 0.1647 --2.5007 seven b -0.0562 --1.1798 seven eight 0.0452 --1.9935 seven enter -0.0417 --1.9935 seven erase -0.0562 --2.5007 seven fifteen -0.0550 --2.5007 seven fifty -0.0524 --1.2831 seven five -0.1260 --1.7659 seven forty -0.1651 --0.9664 seven four -0.3076 --1.9935 seven fourteen 0.0730 --1.9935 seven h -0.0120 --2.5007 seven help -0.0795 --2.5007 seven hundred -0.0795 --2.5007 seven j -0.0920 --2.5007 seven l -0.0519 --1.9935 seven m -0.0281 --2.5007 seven may -0.0253 --1.4188 seven nine -0.1724 --2.5007 seven october -0.0253 --1.4188 seven oh 0.1484 --1.4188 seven one -0.0380 --1.7659 seven p 0.2445 --2.5007 seven r -0.0544 --1.1798 seven rubout 0.1009 --1.9935 seven s -0.0848 --1.6173 seven seven -0.0207 --2.5007 seven seventeen 0.0528 --2.5007 seven seventy -0.0343 --1.3457 seven six -0.0138 --1.7659 seven sixty 0.0482 --2.5007 seven start -0.0779 --1.5068 seven stop 0.0476 --1.7659 seven ten -0.0520 --1.9935 seven thirty -0.0448 --2.5007 seven thousand -0.0738 --1.6173 seven three -0.0223 --1.7659 seven twenty -0.2264 --1.4188 seven two 0.1456 --1.9935 seven v -0.0311 --2.5007 seven y -0.0862 --1.6173 seven yes 0.0167 --2.5007 seven z -0.0918 --1.7659 seven zero -0.0402 --1.0443 seventeen enter -0.0558 --0.5371 seventeen fifty -0.0184 --1.0443 seventeen rubout -0.0853 --1.0443 seventeen thirty -0.0777 --0.3453 seventh nineteen 0.4491 --1.7603 seventy eight -0.0949 --1.7603 seventy five -0.0952 --1.7603 seventy g -0.0906 --1.7603 seventy h -0.0207 --1.0255 seventy nine -0.0788 --0.5427 seventy one -0.1990 --1.7603 seventy p -0.0718 --1.7603 seventy rubout -0.0700 --1.0255 seventy seven -0.0732 --1.7603 seventy six -0.0923 --0.8770 seventy two -0.0780 --1.7603 seventy yes -0.0867 --2.5602 six a -0.0761 --2.5602 six b 0.1498 --2.0530 six c -0.0211 --2.5602 six e -0.0883 --0.8265 six eight -0.3061 --2.5602 six eighty -0.0829 --1.2879 six enter 0.1816 --1.5663 six erase 0.0117 --2.5602 six f -0.0931 --1.4783 six five 0.0016 --2.5602 six forty -0.0367 --1.1560 six four 0.0216 --1.8254 six h -0.1772 --2.5602 six hundred -0.0795 --2.5602 six july -0.0253 --2.5602 six k -0.0473 --2.0530 six l 0.0051 --1.4783 six nine -0.1019 --2.0530 six no -0.0092 --1.4783 six oh 0.0456 --1.2879 six one 0.2039 --2.0530 six p -0.0697 --2.5602 six r 0.0178 --2.5602 six rubout -0.0621 --2.5602 six s -0.0831 --2.5602 six september -0.0550 --1.3426 six seven -0.0664 --2.5602 six seventeen -0.0550 --1.1560 six six 0.0856 --2.5602 six sixteen 0.1911 --2.0530 six sixty 0.0444 --2.0530 six start -0.0136 --2.5602 six stop -0.0837 --2.0530 six t -0.0813 --2.5602 six ten -0.0819 --2.0530 six thirty -0.0448 --2.5602 six thousand -0.0198 --1.1957 six three 0.0836 --2.0530 six twelve -0.0502 --2.5602 six twenty -0.0435 --1.2393 six two -0.0762 --2.0530 six v -0.0231 --2.0530 six yes -0.0315 --2.5602 six zero -0.0524 --0.8224 sixteen forty -0.0548 --0.3153 sixteen sixty 0.0046 --0.3453 sixteenth nineteen 0.4491 --0.3453 sixth nineteen 0.4491 --1.2088 sixty eight -0.0505 --1.6955 sixty enter -0.0475 --2.2027 sixty fifty -0.0524 --1.2088 sixty five -0.0667 --1.1208 sixty four -0.0587 --1.6955 sixty help 0.0241 --0.7286 sixty nine -0.1051 --0.9851 sixty one -0.1330 --2.2027 sixty s -0.0919 --0.8382 sixty seven -0.1524 --1.4679 sixty six -0.0678 --2.2027 sixty start -0.0347 --1.0477 sixty three -0.1231 --1.2088 sixty two -0.1662 --2.2027 sixty w -0.0419 --0.8796 start enter -0.0417 --0.8796 start h -0.0530 --1.3867 start i -0.0896 --1.3867 start no -0.0239 --0.8796 start repeat 0.0171 --0.8796 start rubout -0.0664 --1.3867 start y -0.0721 --1.5494 stop d -0.0855 --0.4676 stop enter 0.0351 --1.5494 stop erase -0.0902 --1.5494 stop go -0.0761 --1.5494 stop j -0.0828 --1.0423 stop m -0.2838 --1.5494 stop repeat -0.0845 --1.0423 stop rubout -0.3631 --1.5494 stop yes -0.0650 --2.1520 t a -0.0318 --2.1520 t b -0.0702 --1.9244 t d -0.0245 --0.9824 t e -0.0777 --2.6592 t eighty -0.0829 --2.1520 t f -0.0621 --2.6592 t fifty -0.0907 --2.6592 t forty -0.0367 --2.6592 t four -0.0360 --1.7759 t g -0.0491 --1.0977 t h -0.2218 --1.6654 t i -0.2133 --2.6592 t j -0.0920 --2.1520 t k -0.0777 --1.9244 t l -0.1710 --1.9244 t m -0.4599 --2.1520 t n -0.3404 --1.5773 t o 0.0032 --2.1520 t one 0.0408 --1.4416 t p -0.4233 --2.1520 t q -0.0519 --1.5773 t r -0.4947 --0.6563 t s -1.2879 --2.6592 t seventy -0.0531 --2.6592 t sixty -0.0554 --0.5700 t t -0.4476 --2.6592 t v -0.0346 --2.6592 t w -0.0934 --1.7759 t z -0.0682 --1.4915 ten enter -0.0558 --1.4915 ten f -0.0433 --1.4915 ten h -0.0797 --1.4915 ten m -0.0687 --1.4915 ten o -0.0422 --1.4915 ten one -0.0907 --1.4915 ten rubout -0.0777 --1.4915 ten s -0.0711 --1.4915 ten seventy 0.0505 --1.4915 ten sixty -0.0063 --1.4915 ten ten -0.0819 --1.4915 ten thirty 0.0078 --1.4915 ten twelve -0.0738 --1.4915 ten twenty -0.0435 --0.0877 third nineteen 0.2966 --0.0877 thirtieth nineteen -0.0280 --1.8894 thirty b -0.0562 --1.3822 thirty e -0.3675 --1.1546 thirty eight -0.0718 --1.8894 thirty enter -0.0558 --0.8076 thirty five -0.1412 --1.8894 thirty g -0.0906 --1.3822 thirty nine -0.0724 --0.6718 thirty one -0.0540 --1.3822 thirty seven -0.0650 --1.3822 thirty six -0.0911 --1.8894 thirty sixty -0.0684 --1.3822 thirty three -0.0899 --1.0061 thirty two -0.0693 --0.7924 thousand eight -0.3902 --1.2996 thousand five -0.0930 --1.2996 thousand m -0.0419 --1.2996 thousand nine -0.0904 --1.2996 thousand one -0.0939 --1.2996 thousand p 0.1751 --1.2996 thousand seven -0.0948 --1.2996 thousand three -0.0947 --1.9620 three a -0.0597 --2.4692 three b -0.0945 --1.9620 three d -0.0166 --2.4692 three december 0.1647 --2.4692 three e -0.0918 --1.3873 three eight -0.0310 --2.4692 three eighty 0.0568 --2.4692 three eleven -0.0441 --1.7344 three enter -0.0506 --1.4753 three erase -0.0362 --1.3142 three five 0.0997 --1.9620 three forty 0.0110 --1.1047 three four -0.1658 --2.4692 three fourteen 0.0420 --2.4692 three g -0.0906 --2.4692 three hundred 0.1669 --2.4692 three k -0.0870 --1.9620 three l -0.0740 --2.4692 three march -0.0253 --2.4692 three may -0.0253 --1.5858 three nine -0.1472 --1.9620 three no -0.0092 --1.4753 three oh 0.2018 --1.3873 three one 0.0747 --2.4692 three p -0.0854 --1.5858 three rubout -0.0172 --2.4692 three september -0.0550 --1.3873 three seven -0.0275 --2.4692 three seventeen -0.0550 --1.9620 three seventy 0.0612 --1.1969 three six -0.0410 --1.5858 three sixty -0.1092 --2.4692 three thirty -0.0777 --1.1969 three three -0.0764 --2.4692 three twelve -0.0738 --1.7344 three twenty 0.0379 --0.9349 three two -0.2585 --1.9620 three v -0.0311 --2.4692 three yes -0.0867 --1.5858 three zero 0.0589 --0.1392 twelfth nineteen 0.1481 --1.2996 twelve enter -0.0670 --1.2996 twelve fifty -0.0248 --1.2996 twelve four -0.0923 --1.2996 twelve nine -0.0944 --1.2996 twelve nineteen 0.4491 --1.2996 twelve sixty -0.0280 --1.2996 twelve ten -0.0819 --0.7924 twelve twenty -0.0503 --0.3453 twentieth nineteen -0.0591 --0.9426 twenty eight -0.1792 --1.9364 twenty enter -0.0558 --1.9364 twenty fifth 0.0150 --1.9364 twenty first 0.6418 --1.9364 twenty five -0.0952 --1.2016 twenty four -0.0737 --1.9364 twenty fourth 0.1647 --1.0531 twenty nine -0.0645 --1.4292 twenty one -0.0820 --1.4292 twenty second 0.1647 --1.4292 twenty seven -0.0584 --1.9364 twenty seventh 0.1647 --0.9426 twenty six -0.0566 --1.9364 twenty t -0.0931 --1.4292 twenty third 0.3408 --0.9426 twenty three -0.0505 --1.4292 twenty two -0.0930 --2.2598 two a -0.0483 --2.2598 two b -0.0123 --2.7669 two c -0.0817 --2.7669 two d -0.0810 --2.7669 two e -0.0665 --1.3264 two eight -0.0795 --2.7669 two eighteen 0.1647 --2.7669 two eighty -0.0186 --1.5494 two enter 0.0904 --2.2598 two erase -0.0415 --2.7669 two fifteen -0.0550 --2.7669 two fifty -0.0783 --1.2928 two five 0.0831 --1.1327 two four -0.1570 --2.7669 two fourteen -0.0198 --2.7669 two g -0.0944 --2.7669 two go -0.0761 --2.7669 two help 0.0031 --2.7669 two hundred 0.1669 --2.0322 two m -0.0870 --2.7669 two march -0.0253 --2.7669 two n -0.0394 --1.5494 two nine -0.0475 --2.7669 two no -0.0239 --2.7669 two o -0.0780 --2.7669 two october -0.0253 --1.3627 two oh 0.3089 --0.7274 two one -0.2845 --2.7669 two p -0.0718 --2.2598 two repeat -0.0724 --1.6851 two rubout -0.0742 --1.3627 two seven 0.0331 --1.0159 two six -0.4034 --2.7669 two sixty -0.0934 --2.0322 two start -0.1392 --2.2598 two stop 0.1038 --2.2598 two ten -0.0672 --2.0322 two thirty -0.1448 --2.7669 two thousand -0.0738 --1.3264 two three -0.1196 --2.7669 two twelve -0.0738 --2.2598 two twenty -0.0115 --0.9380 two two 0.1084 --2.7669 two v -0.0931 --1.6851 two zero -0.0462 --1.8676 u a 0.0031 --2.3747 u b -0.0945 --2.3747 u c -0.0442 --2.3747 u d -0.0629 --1.3809 u e -0.2635 --2.3747 u eighty 0.0568 --1.8676 u f -0.0763 --1.8676 u five 0.1120 --1.6399 u four -0.0511 --1.6399 u g -0.0115 --2.3747 u i -0.0896 --1.8676 u j -0.0287 --2.3747 u k -0.0473 --1.6399 u l -0.1978 --1.6399 u m -0.0369 --1.6399 u n -0.0337 --2.3747 u o -0.0694 --2.3747 u one -0.0907 --2.3747 u p 0.1751 --2.3747 u q -0.0896 --0.3014 u r -0.7173 --1.2929 u s -0.1943 --2.3747 u seven -0.0855 --1.4914 u t -0.0404 --2.3747 u three -0.0814 --2.3747 u two -0.0629 --2.3747 u x -0.0900 --2.3747 u y -0.0862 --0.8792 v a -0.0156 --2.1515 v c -0.0877 --0.4549 v e -0.1641 --2.1515 v f -0.0653 --2.1515 v fifty -0.0524 --0.9965 v i -0.0994 --1.6444 v k -0.0712 --2.1515 v l -0.0916 --1.6444 v m -0.0767 --2.1515 v n -0.0897 --2.1515 v nine -0.0944 --2.1515 v o -0.0605 --2.1515 v p -0.0898 --1.6444 v q -0.3602 --2.1515 v r -0.0933 --2.1515 v s -0.0831 --1.6444 v seven -0.0841 --2.1515 v thirty -0.0905 --2.1515 v w -0.0419 --2.1515 v x -0.0760 --1.4167 v y -0.0354 --2.1515 v z -0.0918 --0.9304 w a -0.0845 --1.6955 w b 0.1592 --2.2027 w c -0.0935 --1.6955 w d -0.0465 --1.3193 w e -0.1546 --1.6955 w eight -0.0731 --1.6955 w f -0.0832 --2.2027 w five -0.0865 --2.2027 w fourteen -0.0738 --2.2027 w g -0.0630 --1.6955 w h -0.0562 --1.0477 w i -0.1793 --1.4679 w l -0.0418 --1.0477 w n 0.0819 --0.9304 w o -0.3731 --1.6955 w one 0.0386 --2.2027 w p -0.0942 --2.2027 w q -0.0896 --2.2027 w r -0.0586 --2.2027 w t -0.0600 --2.2027 w three -0.0425 --2.2027 w twenty -0.0435 --1.6955 w two -0.0913 --1.6955 w w -0.0319 --2.2027 w x -0.0900 --1.4679 w y -0.0507 --1.4679 w z -0.0300 --1.8505 x b -0.0871 --1.3433 x c -0.0729 --1.8505 x e -0.0829 --1.8505 x eight -0.0804 --1.8505 x f -0.0433 --1.8505 x five -0.0930 --1.8505 x four -0.0897 --1.8505 x g -0.0671 --1.8505 x h -0.0858 --1.8505 x i -0.0950 --1.8505 x k -0.0933 --1.8505 x l -0.0947 --1.8505 x n -0.0924 --1.8505 x nine -0.0944 --1.8505 x p 0.1751 --1.8505 x r -0.0933 --1.3433 x s -0.0935 --1.8505 x seventy -0.0343 --1.8505 x three -0.0847 --1.3433 x two -0.0621 --1.8505 x v -0.0500 --1.8505 x w -0.0934 --1.3433 x x -0.0695 --1.3433 x y -0.0830 --1.8505 x z -0.0718 --1.3433 x zero -0.0726 --2.1515 y a -0.0696 --1.6444 y b -0.0123 --2.1515 y c -0.0935 --1.2682 y d 0.0150 --2.1515 y e -0.0375 --1.6444 y eight -0.0485 --1.6444 y f -0.0621 --1.6444 y fifty 0.0436 --2.1515 y five -0.0798 --1.4167 y four -0.2078 --1.6444 y g -0.0487 --1.4167 y h -0.0548 --1.6444 y j 0.0158 --1.1577 y l 0.2290 --1.6444 y m -0.0338 --1.6444 y n -0.0167 --2.1515 y o -0.0422 --1.6444 y oh 0.0516 --1.1577 y one 0.1429 --1.6444 y p 0.2128 --2.1515 y q -0.0746 --2.1515 y r -0.0854 --1.6444 y s -0.0281 --2.1515 y seven -0.0793 --2.1515 y t -0.0909 --2.1515 y ten -0.0819 --1.6444 y three -0.0695 --2.1515 y two -0.0938 --1.6444 y u -0.0925 --1.6444 y v -0.0231 --1.6444 y w -0.0248 --2.1515 y y -0.0862 --1.6444 y z -0.0672 --1.1604 yes enter -0.0298 --0.9328 yes erase -0.0347 --1.6675 yes f -0.0433 --1.6675 yes g -0.0906 --1.1604 yes go -0.0045 --1.1604 yes h -0.0191 --1.6675 yes j -0.0539 --1.6675 yes n -0.0736 --0.9328 yes rubout -0.0298 --1.1604 yes s -0.0728 --1.6675 yes u -0.0861 --1.6675 yes x -0.0900 --1.6675 yes yes -0.0650 --1.1152 z a -0.0710 --1.9985 z b -0.0562 --1.9985 z c -0.0817 --1.9985 z d -0.0942 --1.2638 z e -0.2147 --1.9985 z eight -0.0804 --1.9985 z f -0.0863 --1.9985 z g -0.0868 --1.9985 z h -0.0948 --1.2638 z i -0.0111 --1.9985 z j -0.0335 --1.9985 z k -0.0742 --1.4914 z l -0.0538 --1.2638 z nine -0.0405 --1.9985 z ninety -0.0280 --1.2638 z o -0.0783 --1.9985 z p -0.0718 --1.4914 z r -0.3943 --1.9985 z seven -0.0948 --1.9985 z six -0.0260 --1.4914 z sixty -0.3074 --1.9985 z t -0.0801 --1.9985 z twenty -0.0435 --1.9985 z two -0.0837 --1.9985 z u -0.0902 --1.9985 z w -0.0873 --1.4914 z x -0.0695 --1.4914 z y -0.0830 --1.9985 z z -0.0819 --1.9016 zero a -0.0889 --1.3945 zero c -0.3581 --1.3945 zero e -0.0244 --1.9016 zero eight -0.0593 --1.1669 zero enter -0.0209 --1.9016 zero five -0.0843 --1.3945 zero four -0.0067 --1.9016 zero m -0.0582 --1.9016 zero nine -0.0904 --1.0183 zero one -0.0030 --1.9016 zero p -0.0854 --1.9016 zero r -0.0933 --1.9016 zero rubout -0.0777 --1.9016 zero s -0.0919 --1.3945 zero seven -0.0275 --0.8198 zero six 0.0278 --1.9016 zero t -0.0952 --1.9016 zero twelve -0.0198 --1.3945 zero two -0.0211 --1.9016 zero yes -0.0650 --1.9016 zero zero -0.0248 - -\3-grams: --0.7020 yes go --1.3041 a a i --1.3041 a a m --1.3041 a a n --1.3041 a a ninety --1.1792 a b e --1.1792 a b h --1.1792 a b w --1.0005 a c a --1.0005 a c e --1.7812 a c f --1.7812 a c five --1.0005 a c k --1.0005 a c o --1.7812 a c u --1.7812 a c y --1.7020 a d c --0.9213 a d d --1.7020 a d e --1.7020 a d f --1.7020 a d h --1.7020 a d o --1.7020 a d one --0.9213 a d r --0.3985 a e l --1.1792 a e three --1.1792 a f i --1.1792 a f k --1.1792 a f t --0.7020 a fifty one --0.7020 a five six --1.3041 a g k --0.5234 a g l --1.3041 a g two --1.3041 a h fifty --1.3041 a h l --0.5234 a h o --1.0031 a half f --1.0031 a half h --1.1792 a i fifteen --1.1792 a i l --1.1792 a i q --0.7020 a j seven --1.1792 a k d --1.1792 a k ninety --1.1792 a k o --1.0675 a l d --0.6412 a l e --1.8482 a l h --1.8482 a l i --1.0675 a l l --1.8482 a l m --1.8482 a l t --1.8482 a l u --1.8482 a l z --1.0353 a m e --1.8160 a m j --0.7718 a m p --1.0353 a m s --1.8160 a m seven --1.8160 a m thirty --1.8160 a m two --1.8160 a m x --1.8160 a m y --2.1000 a n b --2.1000 a n c --0.7748 a n d --0.8930 a n e --2.1000 a n g --2.1000 a n i --2.1000 a n m --2.1000 a n n --1.3193 a n one --2.1000 a n r --1.0558 a n t --2.1000 a n thirty --2.1000 a n three --2.1000 a n u --2.1000 a n z --0.7020 a ninety four --0.2800 a one five --1.6051 a one four --1.6051 a one thousand --1.6051 a one twenty --1.3041 a p a --1.3041 a p i --1.3041 a p l --1.3041 a p seventeen --1.5341 a r a --2.3148 a r b --0.9897 a r d --1.1078 a r e --1.2706 a r g --0.9897 a r k --0.9897 a r l --2.3148 a r m --1.2706 a r n --2.3148 a r o --1.1078 a r r --2.3148 a r s --1.2706 a r t --1.2706 a r y --1.7020 a s b --1.7020 a s m --1.7020 a s o --0.9213 a s p --0.3769 a s t --1.1792 a six erase --1.1792 a six four --1.1792 a six hundred --0.9213 a t e --1.7020 a t g --0.9213 a t h --0.3769 a t t --0.7020 a three four --0.7020 a twenty two --0.7020 a two rubout --1.0031 a u l --1.0031 a u two --0.2869 a v e --0.7370 a v i --1.7812 a v k --1.7812 a v m --1.1792 a w f --1.1792 a w one --1.1792 a w t --0.7020 a x x --1.4010 a y b --1.4010 a y e --0.6203 a y l --1.4010 a y n --0.7020 a z x --0.2224 and a half --1.1792 and eighty one --0.3985 and eighty six --0.7020 and fifty two --0.7020 and sixty six --0.7020 and twenty three --0.7020 apostrophe h a --0.7020 april thirtieth nineteen --0.7020 area code four --0.7020 august sixteenth nineteen --1.1792 august twenty fourth --0.3985 august twenty second --1.5471 b a c --1.5471 b a i --1.5471 b a k --0.3401 b a r --0.7020 b b s --0.7020 b d k --0.9627 b e a --1.7434 b e c --1.7434 b e e --1.7434 b e g --1.7434 b e j --0.5364 b e r --1.7434 b e v --0.7020 b eight enter --0.7020 b five repeat --1.0031 b forty eight --1.0031 b forty nine --0.7020 b g l --0.7020 b h two --0.7020 b i n --1.0031 b j v --1.0031 b j x --0.7020 b k z --0.7020 b l a --1.1792 b m e --1.1792 b m j --1.1792 b m n --0.6203 b o r --0.6203 b o u --1.4010 b o x --0.7020 b one eight --0.7020 b p b --0.9627 b r a --1.7434 b r e --1.7434 b r i --0.3255 b r o --1.7434 b r u --0.3985 b s o --1.1792 b s s --1.0031 b seven eight --1.0031 b seven twenty --0.2224 b seventy nine --0.7020 b six enter --2.4180 b u c --0.0153 b u r --0.7020 b v i --0.7020 b w two --1.1792 b x nine --1.1792 b x r --1.1792 b x three --0.7020 b y v --0.7020 b z six --1.5471 c a five --0.7664 c a l --1.5471 c a one --0.7664 c a r --1.5471 c a v --1.1792 c b e --1.1792 c b j --1.1792 c b o --0.7020 c c h --0.7020 c d o --1.5471 c e g --1.5471 c e l --0.7664 c e n --1.5471 c e p --0.7664 c e s --0.7020 c f two --0.7020 c fifty six --1.0031 c five nine --1.0031 c five three --0.3838 c h a --1.8781 c h e --1.8781 c h f --1.8781 c h i --1.0974 c h r --1.0974 c h t --1.8781 c h y --0.7020 c i n --0.7020 c j k --1.6563 c k c --1.6563 c k e --1.6563 c k k --1.6563 c k l --0.8756 c k p --0.8756 c k w --1.6563 c k y --1.1792 c l a --1.1792 c l o --1.1792 c l two --0.7020 c m u --1.4802 c o l --0.2732 c o n --1.4802 c o r --0.7020 c r a --0.7020 c s seven --0.7020 c seven one --0.7020 c t l --0.2224 c thirty five --0.7020 c two m --0.7020 c u three --0.7020 c v y --1.0031 c w fourteen --1.0031 c w n --1.0031 c y four --1.0031 c y r --1.1792 c z d --1.1792 c z t --1.1792 c z twenty --0.7020 code four one --1.7434 d a fifty --0.9627 d a l --1.7434 d a n --1.7434 d a three --1.7434 d a two --0.4183 d a v --1.0031 d b a --1.0031 d b forty --0.7020 d c r --1.3041 d d j --0.5234 d d o --1.3041 d d oh --1.6051 d e b --1.6051 d e d --1.6051 d e four --0.3981 d e r --1.6051 d e u --1.0031 d f o --1.0031 d f t --0.7020 d five ten --0.7020 d forty seven --0.7020 d fourteen fourteen --0.7020 d h e --1.1792 d i c --1.1792 d i n --1.1792 d i t --1.0031 d j e --1.0031 d j one --1.1792 d k f --1.1792 d k m --1.1792 d k t --0.7020 d l e --1.0031 d m h --1.0031 d m t --0.7020 d n e --1.6563 d o c --1.6563 d o four --1.6563 d o l --1.6563 d o n --1.6563 d o r --1.6563 d o u --0.6121 d o w --0.7020 d oh enter --1.3041 d one eight --1.3041 d one hundred --1.3041 d one oh --1.3041 d one seventy --0.0970 d p i --1.6563 d p l --1.0031 d q one --1.0031 d q t --1.6563 d r a --1.6563 d r g --0.4493 d r i --1.6563 d r o --1.6563 d r thirty --1.6563 d r w --1.3041 d s k --1.3041 d s one --1.3041 d s t --1.3041 d s u --1.0031 d sixty seven --1.0031 d sixty three --0.7020 d t i --1.0031 d two nine --1.0031 d two six --0.7020 d u g --0.7020 d v seven --0.8244 d w a --1.6051 d w h --0.8244 d w i --0.8244 d w o --1.6051 d w q --1.1792 d y five --1.1792 d y m --1.1792 d y one --0.7020 d z w --0.7020 december eighteenth nineteen --1.1518 e a c --1.1518 e a d --0.8883 e a n --1.9325 e a p --1.9325 e a r --0.7255 e a s --1.9325 e a six --1.9325 e a t --1.1518 e a v --1.3041 e b one --0.5234 e b r --1.3041 e b seventy --1.0031 e c c --1.0031 e c h --1.6051 e d a --1.6051 e d forty --1.6051 e d o --1.6051 e d one --0.8244 e d r --1.6051 e d v --1.6051 e d w --1.7434 e e a --1.7434 e e l --1.7434 e e n --0.9627 e e p --0.9627 e e r --0.9627 e e s --1.7434 e e t --1.7434 e e three --1.0031 e eight nine --1.0031 e eight seven --1.1792 e f f --1.1792 e f r --1.1792 e f v --0.7020 e fifty six --1.1792 e four ninety --1.1792 e four oh --1.1792 e four seven --1.4802 e g b --0.6995 e g i --0.6995 e g l --1.4802 e g seventy --0.7020 e h u --1.3041 e i d --0.2599 e i l --0.5234 e j o --0.5234 e j q --0.7020 e k one --2.0445 e l a --0.8375 e l d --1.2638 e l e --2.0445 e l five --2.0445 e l g --2.0445 e l i --2.0445 e l k --0.4852 e l l --2.0445 e l s --2.0445 e l six --2.0445 e l three --0.6203 e m b --1.4010 e m c --1.4010 e m o --1.4010 e m p --2.1170 e n c --1.0728 e n d --2.1170 e n eight --2.1170 e n f --1.3363 e n five --2.1170 e n four --0.9100 e n n --2.1170 e n o --2.1170 e n one --2.1170 e n r --2.1170 e n s --2.1170 e n six --1.0728 e n t --2.1170 e n two --0.9100 e n u --0.7020 e nine four --1.0031 e o a --1.0031 e o apostrophe --1.6563 e one fifty --0.6121 e one five --1.6563 e one oh --1.6563 e one seven --1.6563 e one six --1.6563 e one ten --1.6563 e one three --1.9808 e p c --1.9808 e p g --0.9366 e p h --0.2296 e p i --1.9808 e p t --1.9808 e p y --0.7020 e q fifty --1.4265 e r a --1.4265 e r b --1.0002 e r e --2.2072 e r f --1.0002 e r i --1.4265 e r k --1.1630 e r l --2.2072 e r m --2.2072 e r n --1.1630 e r o --1.4265 e r one --2.2072 e r p --2.2072 e r r --1.4265 e r s --1.4265 e r t --2.2072 e r thirty --1.7434 e s a --1.7434 e s b --1.7434 e s e --1.7434 e s f --0.9627 e s j --1.7434 e s m --1.7434 e s one --1.7434 e s p --1.7434 e s seven --1.7434 e s w --0.7020 e seven fifty --0.7020 e seventy six --1.6051 e t n --0.3981 e t p --0.5609 e t t --0.7020 e thirty five --1.0031 e three five --1.0031 e three seven --0.7020 e two eight --1.1792 e u j --1.1792 e u l --1.1792 e u y --1.7020 e v a --0.1428 e v e --1.7020 e v nine --1.9325 e w a --1.9325 e w b --1.9325 e w e --1.1518 e w i --1.9325 e w n --0.7255 e w o --1.9325 e w one --1.9325 e w r --1.9325 e w three --0.8883 e w y --1.9325 e w z --0.7020 e x x --1.4802 e y d --1.4802 e y oh --1.4802 e y one --1.4802 e y p --1.4802 e y s --1.4802 e y two --1.1792 e z a --1.1792 e z e --1.1792 e z u --0.7020 eight a l --0.7020 eight april thirtieth --0.7020 eight august sixteenth --1.0031 eight b e --1.0031 eight b u --0.7020 eight c z --0.7020 eight e z --0.6995 eight eight four --0.6995 eight eight nine --1.4802 eight eight seven --1.4802 eight eight two --0.8244 eight enter fifty --1.6051 eight enter five --1.6051 eight enter ninety --1.6051 eight enter seventy --1.6051 eight enter six --0.8244 eight enter sixty --1.1792 eight erase i --1.1792 eight erase j --1.1792 eight erase z --0.7020 eight f e --1.7020 eight five d --1.7020 eight five eight --1.7020 eight five five --1.7020 eight five four --1.7020 eight five may --1.7020 eight five nine --1.7020 eight five oh --1.7020 eight five one --0.9213 eight five six --0.7020 eight forty one --1.9062 eight four august --1.9062 eight four b --1.9062 eight four eight --1.9062 eight four enter --0.8620 eight four four --1.1254 eight four one --0.6992 eight four six --0.8620 eight four two --0.7020 eight fourteen sixty --0.2224 eight g a --0.3985 eight hundred and --1.1792 eight hundred eighty --0.7020 eight j h --0.7020 eight june eleventh --0.7020 eight k l --0.7020 eight l e --0.7020 eight n l --1.4802 eight nine june --1.4802 eight nine n --1.4802 eight nine nine --1.4802 eight nine one --0.6995 eight nine six --1.0031 eight o a --1.0031 eight o l --1.4802 eight oh eight --1.4802 eight oh j --1.4802 eight oh nine --1.4802 eight oh seven --1.4802 eight oh three --1.4802 eight oh two --0.7664 eight one nine --1.5471 eight one oh --1.5471 eight one one --1.5471 eight one s --1.5471 eight one seven --1.5471 eight one six --0.7020 eight q c --1.0031 eight repeat no --1.0031 eight repeat stop --1.3041 eight rubout a --1.3041 eight rubout i --0.5234 eight rubout u --0.7020 eight s e --1.6051 eight seven eight --1.6051 eight seven five --1.6051 eight seven nine --0.8244 eight seven one --1.6051 eight seven rubout --1.6051 eight seven stop --1.6051 eight seven zero --0.2224 eight seventy one --0.7664 eight six eight --1.5471 eight six enter --1.5471 eight six nine --1.5471 eight six one --1.5471 eight six three --1.5471 eight six twelve --1.1792 eight sixty five --1.1792 eight sixty nine --1.1792 eight sixty one --0.7020 eight stop m --0.7020 eight ten thirty --0.7020 eight thirty two --0.7020 eight thousand nine --1.9062 eight three eight --1.9062 eight three eleven --1.9062 eight three five --1.9062 eight three march --1.9062 eight three oh --1.1254 eight three one --1.9062 eight three p --1.9062 eight three september --1.9062 eight three three --1.9062 eight three twelve --1.9062 eight three twenty --1.1254 eight three two --1.1254 eight three zero --0.7020 eight twelve four --1.0031 eight twenty eight --1.0031 eight twenty seven --1.0353 eight two eight --1.8160 eight two five --1.0353 eight two four --1.8160 eight two oh --1.8160 eight two one --1.8160 eight two seven --0.7718 eight two six --1.8160 eight two start --1.8160 eight two three --0.7020 eight x e --1.3041 eight zero m --1.3041 eight zero nine --1.3041 eight zero six --1.3041 eight zero two --0.7020 eighteen february nineteen --0.7020 eighteenth nineteen forty --0.7020 eighth nineteen fifty --0.7020 eighty eight repeat --0.7020 eighty fifth s --0.7020 eighty five c --0.7020 eighty four r --1.1792 eighty nine erase --1.1792 eighty nine forty --1.1792 eighty nine no --0.7020 eighty one h --0.7020 eighty seven help --0.6203 eighty six enter --1.4010 eighty six erase --1.4010 eighty six k --1.4010 eighty six yes --0.7020 eighty three no --0.7020 eleven nine sixty --0.7020 eleven o l --0.7020 eleven seventeen fifty --0.7020 eleven sixty seven --0.7020 eleventh nineteen sixty --1.6051 enter eight four --1.6051 enter eight one --1.6051 enter eight seven --1.6051 enter eight seventy --1.6051 enter eight thirty --1.6051 enter eight twenty --1.6051 enter eight two --1.6051 enter eight zero --0.7020 enter eighty nine --0.7020 enter fifteen n --1.4010 enter fifty five --0.6203 enter fifty four --1.4010 enter fifty one --1.4010 enter fifty sixty --1.4802 enter five enter --0.6995 enter five help --1.4802 enter five three --1.4802 enter five two --1.4802 enter five zero --1.1792 enter forty one --1.1792 enter forty seven --1.1792 enter forty three --0.6995 enter four fifty --1.4802 enter four rubout --1.4802 enter four thousand --1.4802 enter four twenty --1.4802 enter four x --0.7020 enter fourteen repeat --1.3041 enter nine eight --1.3041 enter nine eighty --1.3041 enter nine rubout --1.3041 enter nine seventy --1.1792 enter ninety eight --1.1792 enter ninety five --1.1792 enter ninety four --1.3041 enter one forty --1.3041 enter one nine --1.3041 enter one ninety --1.3041 enter one thirty --1.6563 enter seven b --1.6563 enter seven enter --1.6563 enter seven erase --1.6563 enter seven oh --1.6563 enter seven seven --1.6563 enter seven stop --1.6563 enter seven thirty --1.6563 enter seven two --1.6563 enter seven yes --1.3041 enter seventy eight --0.5234 enter seventy one --1.3041 enter seventy two --1.6051 enter six enter --1.6051 enter six four --1.6051 enter six oh --1.6051 enter six one --1.6051 enter six rubout --1.6051 enter six seven --1.6051 enter six t --1.6051 enter six two --1.6051 enter sixty enter --1.6051 enter sixty four --1.6051 enter sixty help --0.8244 enter sixty one --1.6051 enter sixty six --1.6051 enter sixty two --1.6051 enter sixty w --1.1792 enter thirty eight --1.1792 enter thirty five --1.1792 enter thirty seven --1.0031 enter three e --1.0031 enter three eighty --0.7020 enter twenty nine --1.4802 enter two five --1.4802 enter two go --1.4802 enter two no --0.6995 enter two oh --1.4802 enter two six --0.7020 enter zero t --0.7020 erase a l --0.7020 erase b m --1.0031 erase c b --1.0031 erase c k --1.0031 erase e o --1.0031 erase e x --0.7020 erase f h --1.0031 erase g h --1.0031 erase g w --1.0031 erase i g --1.0031 erase i s --1.0031 erase j g --1.0031 erase j n --0.7020 erase k j --0.7020 erase m y --0.7020 erase n t --1.1792 erase o j --0.3985 erase o t --1.0031 erase q e --1.0031 erase q k --0.7020 erase r b --1.0031 erase s s --1.0031 erase s v --0.7020 erase t m --1.1792 erase v r --1.1792 erase v x --1.1792 erase v y --1.0031 erase w e --1.0031 erase w f --0.7020 erase x b --0.7020 erase y b --0.7020 erase z y --0.7020 f a r --1.0031 f b m --1.0031 f b o --0.7020 f d w --1.6051 f e b --1.6051 f e d --1.6051 f e eight --1.6051 f e g --1.6051 f e i --1.6051 f e l --1.6051 f e n --1.6051 f e r --0.7020 f eight o --1.1792 f f eight --1.1792 f f four --1.1792 f f r --1.0031 f five forty --1.0031 f five nine --0.7020 f four seven --0.7020 f g i --1.0031 f h b --1.0031 f h nine --1.5471 f i e --0.7664 f i f --1.5471 f i five --1.5471 f i l --1.5471 f i n --1.5471 f i y --1.0031 f j d --1.0031 f j k --1.0031 f k a --1.0031 f k v --1.0031 f m fifty --1.0031 f m q --1.4010 f o f --1.4010 f o five --0.3568 f o r --0.7020 f q q --0.6203 f r a --1.4010 f r i --0.6203 f r o --0.7020 f s o --0.7020 f six eighty --0.5234 f t h --1.3041 f t o --1.3041 f t sixty --0.7020 f thirty eight --0.7020 f twenty four --1.1792 f two five --1.1792 f two rubout --1.1792 f two stop --0.7020 f v s --1.3041 f x c --1.3041 f x four --1.3041 f x y --1.3041 f x zero --1.0031 f y n --1.0031 f y z --0.7020 f z z --0.7020 february eighth nineteen --0.7020 february nineteen seventy --0.7020 fifteen enter sixty --0.7020 fifteen m a --0.7020 fifteen n e --0.7020 fifteen nineteen seventy --0.7020 fifteen sixty two --0.2224 fifteenth nineteen sixty --0.7020 fifth nineteen sixty --0.7020 fifth s t --0.7020 fifty b u --0.6995 fifty eight enter --1.4802 fifty eight g --1.4802 fifty eight oh --1.4802 fifty eight rubout --1.4802 fifty eight thousand --1.3041 fifty five m --1.3041 fifty five thirty --1.3041 fifty five three --1.3041 fifty five yes --1.1792 fifty four rubout --1.1792 fifty four s --1.1792 fifty four stop --0.7020 fifty nine no --1.4010 fifty one fifteen --1.4010 fifty one fifty --1.4010 fifty one i --1.4010 fifty one repeat --1.4010 fifty one rubout --0.7020 fifty rubout f --1.0031 fifty seven fourteen --1.0031 fifty seven v --1.4802 fifty six b --1.4802 fifty six erase --1.4802 fifty six oh --1.4802 fifty six p --1.4802 fifty six sixty --1.4802 fifty six thirty --0.7020 fifty sixty three --1.0031 fifty three enter --1.0031 fifty three forty --1.3041 fifty two a --1.3041 fifty two d --1.3041 fifty two erase --1.3041 fifty two fifty --0.1350 first nineteen sixty --0.7020 five a y --0.2224 five b r --0.7020 five c o --0.7020 five d o --0.7020 five e l --1.4802 five eight april --1.4802 five eight b --1.4802 five eight five --1.4802 five eight oh --1.4802 five eight rubout --1.4802 five eight twelve --1.6563 five enter forty --1.6563 five enter nine --1.6563 five enter one --0.6121 five enter seven --1.6563 five enter seventy --0.8756 five enter two --1.0031 five erase c --1.0031 five erase v --1.1792 five f i --1.1792 five f r --1.1792 five f y --1.6051 five five eight --1.6051 five five enter --1.6051 five five five --1.6051 five five ninth --1.6051 five five t --1.6051 five five three --0.8244 five five two --0.7020 five forty five --1.4802 five four five --1.4802 five four january --1.4802 five four march --0.6995 five four six --1.4802 five four two --0.7020 five g l --0.7020 five h o --1.0031 five help a --1.0031 five help go --1.0031 five hundred and --1.0031 five hundred eighty --0.7020 five j four --0.7020 five k w --0.3985 five m a --1.1792 five m e --0.7020 five may ninth --1.6563 five nine enter --1.6563 five nine five --1.6563 five nine one --1.6563 five nine seven --1.6563 five nine six --1.6563 five nine three --0.8756 five nine two --1.6563 five nine v --0.7020 five ninth of --0.7020 five no help --0.7020 five october thirtieth --1.6051 five oh five --0.8244 five oh four --1.6051 five oh one --1.6051 five oh seven --1.6051 five oh six --1.6051 five oh twelve --1.6051 five oh two --1.8781 five one e --1.8781 five one eight --1.8781 five one five --0.8339 five one four --1.0974 five one nine --1.8781 five one oh --0.8339 five one one --1.0974 five one three --1.8781 five one y --0.7020 five p u --0.7020 five q e --1.0031 five repeat f --1.0031 five repeat g --1.0031 five rubout p --1.0031 five rubout y --0.6995 five seven eight --1.4802 five seven oh --1.4802 five seven p --0.6995 five seven six --0.5609 five six four --1.6051 five six no --0.8244 five six one --1.6051 five six six --1.6051 five six three --0.7020 five sixteen sixty --0.7020 five t h --0.7020 five ten h --1.1792 five thirty enter --1.1792 five thirty five --1.1792 five thirty one --1.7020 five three five --0.6579 five three four --1.7020 five three fourteen --1.7020 five three rubout --0.6579 five three three --1.7020 five three two --0.7020 five twenty six --2.5409 five two eight --2.5409 five two five --1.4967 five two four --2.5409 five two n --1.3339 five two oh --0.3048 five two one --1.7602 five two seven --2.5409 five two six --2.5409 five two start --2.5409 five two ten --0.9816 five two three --0.9251 five two two --1.7602 five two zero --1.1792 five yes erase --1.1792 five yes go --1.1792 five yes rubout --1.4010 five zero enter --0.6203 five zero four --1.4010 five zero rubout --1.4010 five zero six --0.3985 forty eight enter --1.1792 forty eight repeat --1.3041 forty five b --1.3041 forty five enter --1.3041 forty five erase --1.3041 forty five no --1.1792 forty four enter --1.1792 forty four repeat --1.1792 forty four stop --1.1792 forty nine hundred --1.1792 forty nine o --1.1792 forty nine w --1.0031 forty one b --1.0031 forty one f --1.3041 forty seven enter --1.3041 forty seven forty --0.5234 forty seven rubout --0.7020 forty six erase --1.3041 forty three forty --1.3041 forty three rubout --1.3041 forty three seventeen --1.3041 forty three twenty --1.1792 forty two b --1.1792 forty two g --1.1792 forty two repeat --0.7020 four and a --0.7020 four august twenty --0.7020 four b r --0.7020 four d a --0.9213 four eight five --0.9213 four eight four --1.7020 four eight fourteen --1.7020 four eight q --1.7020 four eight six --0.9213 four eight two --1.7020 four eight zero --0.7020 four eleven seventeen --1.4802 four enter five --1.4802 four enter seven --1.4802 four enter three --1.4802 four enter twenty --1.4802 four enter two --1.4802 four enter zero --1.0031 four erase e --1.0031 four erase o --0.7020 four f i --1.0031 four fifty one --1.0031 four fifty six --1.5471 four five eight --1.5471 four five nine --1.5471 four five oh --0.7664 four five one --1.5471 four five three --1.5471 four five two --1.0031 four forty nine --1.0031 four forty two --1.9573 four four eight --1.9573 four four enter --1.9573 four four f --0.7503 four four four --1.9573 four four oh --1.1766 four four one --1.9573 four four s --0.9131 four four seven --1.9573 four four six --1.9573 four four start --1.9573 four four three --1.9573 four four twenty --0.7020 four h b --0.7020 four help rubout --1.0031 four january fifteenth --1.0031 four january twelfth --0.7020 four l o --0.7020 four march twenty --1.3041 four nine five --1.3041 four nine nine --1.3041 four nine no --1.3041 four nine zero --0.7020 four ninety one --1.1792 four no enter --0.3985 four no rubout --1.4802 four oh eight --1.4802 four oh one --1.4802 four oh six --0.6995 four oh three --1.4802 four oh two --2.0445 four one august --2.0445 four one e --2.0445 four one eight --2.0445 four one four --1.2638 four one oh --2.0445 four one one --2.0445 four one six --0.2561 four one two --2.0445 four one zero --0.7020 four r o --1.1792 four repeat erase --1.1792 four repeat m --1.1792 four repeat r --1.4802 four rubout e --0.6995 four rubout j --1.4802 four rubout o --1.4802 four rubout r --1.4802 four rubout u --1.0031 four s c --1.0031 four s u --0.7020 four september sixth --1.6563 four seven eight --1.6563 four seven five --1.6563 four seven four --1.6563 four seven october --1.6563 four seven seven --1.6563 four seven sixty --1.6563 four seven twenty --0.8756 four seven two --0.7020 four seventy one --1.7434 four six c --1.7434 four six five --1.7434 four six four --1.7434 four six nine --1.7434 four six oh --0.9627 four six seven --1.7434 four six three --1.7434 four six twenty --1.7434 four six two --1.7434 four six yes --1.0031 four sixty eight --1.0031 four sixty seven --0.7020 four start repeat --0.1350 four stop enter --0.7020 four thirty three --1.1792 four thousand eight --1.1792 four thousand seven --1.1792 four thousand three --1.4010 four three eight --1.4010 four three enter --1.4010 four three seven --1.4010 four three six --1.4010 four three three --0.7020 four twelve nineteen --1.0031 four twenty eight --1.0031 four twenty one --1.9062 four two enter --1.9062 four two nine --1.9062 four two oh --0.6992 four two one --1.9062 four two six --1.9062 four two twelve --0.4118 four two two --0.7020 four x g --0.7020 four z i --0.7020 four zero e --0.7020 fourteen a b --0.7020 fourteen eighty five --0.7020 fourteen fourteen s --1.0031 fourteen repeat b --1.0031 fourteen repeat l --0.7020 fourteen s o --1.1792 fourteen sixty four --1.1792 fourteen sixty one --1.1792 fourteen sixty seven --0.7020 fourth nineteen fifty --1.6563 g a b --1.6563 g a m --0.4493 g a r --0.8756 g a six --1.6563 g a t --0.7020 g b forty --1.0031 g c d --1.0031 g c s --0.3985 g d e --1.1792 g d r --1.0031 g e e --1.0031 g e four --0.7020 g eighty six --0.7020 g forty eight --2.4180 g h l --1.6373 g h o --0.0609 g h one --2.4180 g h t --2.4180 g h two --2.4180 g h x --0.5609 g i b --1.6051 g i c --1.6051 g i e --1.6051 g i k --1.6051 g i n --1.6051 g i u --1.0031 g j h --1.0031 g j w --1.0031 g k eighty --1.0031 g k k --1.6563 g l a --0.4493 g l e --0.8756 g l g --1.6563 g l l --1.6563 g l seventy --0.7020 g m a --1.3041 g n m --1.3041 g n n --1.3041 g n o --1.3041 g n p --1.0031 g nine nine --1.0031 g nine six --0.7020 g o t --0.7020 g one five --0.7020 g p d --0.7020 g q y --1.0031 g r e --1.0031 g r o --0.7020 g s p --0.7020 g seventy nine --0.7020 g t o --1.0031 g two eighty --1.0031 g two hundred --0.7020 g u k --1.0031 g v i --1.0031 g v seven --1.0031 g w d --1.0031 g w n --0.7020 go enter three --0.7020 go g c --0.7020 go h o --0.7020 go l u --1.0031 go repeat no --1.0031 go repeat stop --0.7020 go rubout m --0.7020 go x z --1.0031 go yes f --1.0031 go yes u --2.0823 h a c --2.0823 h a d --1.3015 h a e --2.0823 h a h --1.3015 h a m --1.0381 h a n --0.5879 h a r --2.0823 h a s --1.3015 h a v --1.3015 h a w --2.0823 h a x --2.0823 h a y --1.3041 h b a --1.3041 h b g --1.3041 h b k --1.3041 h b x --0.8244 h e a --1.6051 h e i --1.6051 h e n --1.6051 h e q --1.6051 h e r --0.8244 h e w --1.1792 h f d --1.1792 h f e --1.1792 h f i --0.7020 h fifty two --0.7020 h four rubout --1.0031 h g p --1.0031 h g v --0.7020 h h u --1.4802 h i g --1.4802 h i l --0.6995 h i n --1.4802 h i r --1.4802 h i t --1.0031 h k j --1.0031 h k t --1.0031 h l a --1.0031 h l e --1.3041 h n c --1.3041 h n five --1.3041 h n k --1.3041 h n s --0.7020 h nine four --1.0353 h o b --1.8160 h o e --1.8160 h o f --1.8160 h o l --1.8160 h o m --1.8160 h o n --1.8160 h o r --1.8160 h o t --1.0353 h o u --1.8160 h o w --1.8160 h o y --0.0166 h one five --2.3833 h one help --1.1792 h p d --0.3985 h p i --0.7020 h q f --0.3985 h r i --1.1792 h r sixty --0.7020 h s p --0.7020 h seven eight --0.7020 h seventy seven --0.7020 h six h --0.5234 h t e --1.3041 h t h --1.3041 h t s --0.7020 h three seventy --1.0031 h two help --1.0031 h two six --1.0031 h u f --1.0031 h u r --0.7020 h v e --0.7020 h w o --0.7020 h x w --1.1792 h y d --1.1792 h y four --1.1792 h y l --0.7020 h z a --0.7020 half f o --0.7020 half h o --0.7020 help a s --0.7020 help b j --0.3985 help enter eight --1.1792 help enter six --1.0031 help go repeat --1.0031 help go x --0.7020 help help j --0.7020 help j v --0.7020 help n e --0.7020 help rubout f --0.7020 help v e --0.4360 hundred and eighty --1.4802 hundred and fifty --1.4802 hundred and sixty --1.4802 hundred and twenty --1.0031 hundred eighty seven --1.0031 hundred eighty three --0.7020 hundred forty nine --0.7020 hundred s a --0.7020 hundred twenty three --0.7020 hundred w c --1.3041 i a m --1.3041 i a n --0.5234 i a one --1.1792 i b b --0.3985 i b s --1.8781 i c a --1.8781 i c b --1.8781 i c fifty --1.8781 i c five --0.3838 i c h --1.0974 i c k --1.8781 i c o --1.8781 i c two --1.4010 i d e --1.4010 i d five --1.4010 i d m --1.4010 i d sixty --1.4010 i d w --0.8756 i e l --1.6563 i e n --1.6563 i e one --0.8756 i e r --1.6563 i e seven --1.6563 i e t --1.6563 i e w --1.3041 i f e --1.3041 i f r --0.5234 i f t --0.7020 i fifteen enter --1.0031 i five f --1.0031 i five zero --0.7020 i four rubout --0.5234 i g h --1.3041 i g i --1.3041 i g n --0.7020 i j o --1.0031 i k seven --1.0031 i k two --1.7020 i l a --1.7020 i l d --1.7020 i l five --1.7020 i l k --0.4950 i l l --1.7020 i l ten --1.7020 i l zero --1.4802 i m a --0.6995 i m i --1.4802 i m m --0.6995 i m o --2.0445 i n a --1.2638 i n c --0.8375 i n d --2.0445 i n e --0.7193 i n g --1.0003 i n i --1.2638 i n p --1.2638 i n s --2.0445 i n three --2.0445 i n two --0.7020 i o m --1.1792 i p a --1.1792 i p s --1.1792 i p three --1.1792 i q g --1.1792 i q n --1.1792 i q w --1.1792 i r d --1.1792 i r e --1.1792 i r k --1.4802 i s fifty --1.4802 i s l --1.4802 i s one --1.4802 i s s --0.6995 i s t --0.7020 i sixty one --2.4010 i t d --1.6203 i t h --2.4010 i t n --0.0438 i t t --0.7020 i thirty two --0.7020 i u r --1.4802 i v a --0.2732 i v e --1.4802 i v y --0.7020 i y q --0.3985 j a m --1.1792 j a n --0.7020 j b x --1.0031 j c h --1.0031 j c l --0.7020 j d two --0.6203 j e a --1.4010 j e f --1.4010 j e n --1.4010 j e t --0.7020 j five seven --1.0031 j four thirty --1.0031 j four thousand --0.7020 j g q --1.0031 j h b --1.0031 j h g --0.7020 j j c --1.0031 j k eight --1.0031 j k two --0.7020 j l y --0.7020 j m k --0.7020 j n r --0.7664 j o h --1.5471 j o n --1.5471 j o ninety --0.7664 j o s --1.5471 j o six --1.0031 j one five --1.0031 j one go --1.0031 j q five --1.0031 j q t --0.7020 j s p --1.1792 j seven four --1.1792 j seven ten --1.1792 j seven thousand --0.7020 j t k --1.0031 j u i --1.0031 j u l --1.0031 j v c --1.0031 j v p --0.7020 j w b --0.7020 j x k --1.0031 j z a --1.0031 j z f --0.7020 january fifteenth nineteen --0.7020 january twelfth nineteen --0.7020 july thirtieth nineteen --0.7020 july twelfth nineteen --0.7020 july twenty nine --0.7020 june eleventh nineteen --0.7020 june twenty third --0.1940 k a r --1.4010 k a u --0.7020 k c w --0.7020 k d a --1.6051 k e a --0.8244 k e e --1.6051 k e l --1.6051 k e n --1.6051 k e r --1.6051 k e thirty --1.6051 k e v --0.7020 k eight five --0.7020 k eighty four --1.0031 k f five --1.0031 k f six --0.7020 k fifty three --1.0031 k h a --1.0031 k h one --1.3041 k i four --1.3041 k i m --0.5234 k i n --1.1792 k j e --1.1792 k j five --1.1792 k j z --1.0031 k k a --1.0031 k k three --1.0031 k l e --1.0031 k l m --0.7020 k m four --0.7020 k nine m --0.7020 k ninety six --0.7020 k o eight --0.2224 k one oh --1.0031 k p g --1.0031 k p i --0.7020 k r o --1.0031 k s s --1.0031 k s thirty --0.7020 k seven three --1.3041 k six four --1.3041 k six thirty --1.3041 k six thousand --1.3041 k six three --1.1792 k t e --1.1792 k t fifty --1.1792 k t l --1.0031 k three four --1.0031 k three thirty --0.7020 k twenty three --1.0031 k two eight --1.0031 k two sixty --1.0031 k u four --1.0031 k u n --0.7020 k v thirty --1.3041 k w h --1.3041 k w o --1.3041 k w w --1.3041 k w z --1.0031 k x y --1.0031 k x zero --1.0031 k y d --1.0031 k y j --1.0031 k z o --1.0031 k z sixty --1.8482 l a a --0.6412 l a c --1.8482 l a m --0.6412 l a n --1.0675 l a one --1.8482 l a r --1.8482 l a s --0.7020 l b e --1.0031 l c h --1.0031 l c z --0.9627 l d a --1.7434 l d b --1.7434 l d e --1.7434 l d fourteen --1.7434 l d i --1.7434 l d j --1.7434 l d r --1.7434 l d s --1.7434 l d t --1.7434 l d w --2.1492 l e a --2.1492 l e d --2.1492 l e e --2.1492 l e fifty --2.1492 l e four --2.1492 l e g --1.3685 l e n --2.1492 l e nine --0.9422 l e one --1.3685 l e p --2.1492 l e r --1.3685 l e s --2.1492 l e seventy --2.1492 l e two --2.1492 l e u --2.1492 l e v --1.3685 l e w --0.9422 l e y --0.7020 l eight four --1.1792 l f o --1.1792 l f thirty --1.1792 l f x --1.0031 l fifty one --1.0031 l fifty seven --1.0031 l five six --1.0031 l five two --0.3985 l g a --1.1792 l g i --0.7020 l h n --1.7812 l i a --0.7370 l i e --1.7812 l i f --1.7812 l i g --0.7370 l i n --1.7812 l i o --1.7812 l i p --1.7812 l i s --0.7020 l j u --1.3041 l k a --1.3041 l k f --1.3041 l k h --1.3041 l k i --1.9573 l l b --1.9573 l l c --0.9131 l l e --0.7503 l l i --1.9573 l l j --1.9573 l l k --1.9573 l l nine --1.9573 l l o --1.9573 l l one --1.9573 l l p --1.9573 l l s --1.1766 l l y --1.0031 l m o --1.0031 l m u --0.7020 l n s --0.7020 l nine four --1.4010 l o n --1.4010 l o o --1.4010 l o r --1.4010 l o u --1.4010 l o w --0.7020 l one nine --0.7020 l p i --1.1792 l r l --1.1792 l r r --1.1792 l r seven --1.1792 l s k --1.1792 l s o --1.1792 l s w --0.7020 l seventy seven --0.7020 l six three --0.7020 l t m --0.7020 l ten seventy --0.7020 l thirty one --1.0031 l three seven --1.0031 l three seventy --0.7020 l two enter --1.1792 l u b --1.1792 l u d --1.1792 l u s --1.4010 l y c --1.4010 l y fifty --1.4010 l y s --1.4010 l y u --1.4010 l y z --1.0031 l z e --1.0031 l z r --0.7020 l zero enter --2.0243 m a c --2.0243 m a h --2.0243 m a l --1.2435 m a n --2.0243 m a p --0.4085 m a r --1.2435 m a s --1.2435 m a t --2.0243 m a u --2.0243 m a z --1.0031 m b e --1.0031 m b z --0.7020 m c k --0.7020 m d m --1.6051 m e a --1.6051 m e e --1.6051 m e m --0.5609 m e r --0.8244 m e s --0.2224 m eight four --0.7020 m f g --0.7020 m fifty four --0.7020 m forty three --0.7020 m four seventy --0.7020 m g e --1.0031 m h r --1.0031 m h seven --0.6995 m i c --1.4802 m i d --0.6995 m i t --1.4802 m i thirty --1.0031 m j one --1.0031 m j seven --0.7020 m k nine --1.1792 m m e --1.1792 m m s --1.1792 m m v --1.3041 m n e --1.3041 m n t --1.3041 m n y --1.3041 m n z --1.7434 m o d --1.7434 m o h --0.9627 m o n --0.3255 m o r --1.7434 m o t --1.3041 m p e --1.3041 m p l --0.5234 m p s --0.7020 m q n --1.1792 m s j --1.1792 m s m --1.1792 m s t --0.7020 m seven rubout --0.7020 m t g --0.7020 m thirty nine --0.7020 m two start --1.1792 m u five --1.1792 m u four --1.1792 m u p --1.0031 m v o --1.0031 m v q --0.7020 m x seventy --1.0031 m y a --1.0031 m y m --0.7020 march third nineteen --0.7020 march twentieth nineteen --0.7020 march twenty fifth --0.7020 may nineteen forty --0.7020 may ninth sixty --0.7020 may twenty first --1.7434 n a a --1.7434 n a f --1.7434 n a g --1.7434 n a l --1.7434 n a m --1.7434 n a n --0.9627 n a one --0.9627 n a t --1.7434 n a twenty --1.3041 n b a --1.3041 n b five --1.3041 n b u --1.3041 n b x --1.6051 n c a --0.8244 n c e --1.6051 n c k --1.6051 n c l --1.6051 n c m --1.6051 n c o --1.6051 n c thirty --0.6090 n d a --1.0353 n d e --1.8160 n d l --1.0353 n d p --1.8160 n d r --1.8160 n d s --1.0353 n d y --2.0243 n e d --1.2435 n e g --2.0243 n e h --2.0243 n e i --2.0243 n e j --0.9801 n e l --2.0243 n e m --2.0243 n e o --2.0243 n e one --2.0243 n e r --1.2435 n e s --2.0243 n e t --0.9801 n e w --1.2435 n e y --0.7020 n eight forty --0.7020 n f e --0.3985 n five one --1.1792 n five six --1.0031 n four four --1.0031 n four rubout --0.8244 n g h --1.6051 n g l --1.6051 n g m --1.6051 n g n --1.6051 n g s --1.6051 n g t --1.6051 n g v --1.0031 n h o --1.0031 n h three --0.9627 n i a --0.6992 n i c --1.7434 n i e --1.7434 n i f --1.7434 n i j --0.9627 n i m --1.7434 n i n --1.0031 n j e --1.0031 n j four --1.1792 n k a --0.3985 n k e --1.0031 n l l --1.0031 n l n --1.1792 n m a --1.1792 n m forty --1.1792 n m i --1.6563 n n a --0.8756 n n e --0.8756 n n i --1.6563 n n one --1.6563 n n p --1.6563 n n three --1.6563 n n y --1.3041 n o f --1.3041 n o o --1.3041 n o p --1.3041 n o w --1.4802 n one five --1.4802 n one nine --1.4802 n one thousand --0.6995 n one two --1.4802 n one zero --1.6051 n p eight --1.6051 n p g --0.3981 n p i --1.6051 n p ninety --1.6051 n p u --1.3041 n r a --1.3041 n r g --1.3041 n r i --1.3041 n r o --1.5471 n s h --1.5471 n s k --1.5471 n s o --1.5471 n s one --1.5471 n s p --0.7664 n s t --0.7020 n seventy one --1.0031 n six seven --1.0031 n six zero --1.7434 n t d --1.7434 n t four --1.7434 n t h --0.9627 n t o --1.7434 n t p --0.9627 n t r --0.6992 n t z --1.0031 n thirty e --1.0031 n thirty two --1.1792 n three nine --1.1792 n three oh --1.1792 n three one --1.0031 n two nine --1.0031 n two two --1.4010 n u a --0.1940 n u e --1.0031 n x f --1.0031 n x v --1.1792 n y h --1.1792 n y ten --1.1792 n y v --1.1792 n z i --1.1792 n z l --1.1792 n z x --1.0031 nine a a --1.0031 nine a l --0.7020 nine and a --0.7020 nine august twenty --1.1792 nine b e --1.1792 nine b seven --1.1792 nine b y --1.1792 nine eight eight --1.1792 nine eight nine --1.1792 nine eight two --0.7020 nine eighty nine --0.7020 nine eleven nine --1.3041 nine enter eight --1.3041 nine enter five --1.3041 nine enter nine --1.3041 nine enter six --1.3041 nine erase a --1.3041 nine erase c --1.3041 nine erase w --1.3041 nine erase x --0.7020 nine f k --1.0031 nine fifty eight --1.0031 nine fifty nine --1.6051 nine five four --1.6051 nine five nine --1.6051 nine five oh --1.6051 nine five one --1.6051 nine five sixteen --1.6051 nine five thirty --0.8244 nine five two --0.7020 nine forty three --1.3041 nine four enter --1.3041 nine four no --1.3041 nine four oh --1.3041 nine four six --0.7020 nine g e --0.7020 nine go repeat --0.7020 nine help enter --0.7020 nine hundred w --0.7020 nine j z --0.7020 nine july twelfth --0.7020 nine june twenty --1.0031 nine m f --1.0031 nine m o --1.0031 nine n g --1.0031 nine n h --1.3041 nine nine a --1.3041 nine nine four --1.3041 nine nine july --1.3041 nine nine r --0.7020 nine nineteen sixty --1.1792 nine no h --1.1792 nine no o --1.1792 nine no p --0.7020 nine o a --0.7020 nine of sixty --0.7020 nine oh oh --1.4010 nine one february --1.4010 nine one four --1.4010 nine one l --1.4010 nine one rubout --1.4010 nine one two --0.7020 nine p o --0.7020 nine r q --1.1792 nine rubout g --1.1792 nine rubout w --1.1792 nine rubout z --1.1792 nine s e --1.1792 nine s t --1.1792 nine s w --0.7020 nine september twenty --1.1792 nine seven six --1.1792 nine seven two --1.1792 nine seven zero --0.7020 nine seventy two --1.7020 nine six four --1.7020 nine six nine --1.7020 nine six september --0.9213 nine six seven --0.9213 nine six six --1.7020 nine six start --1.7020 nine six stop --1.7020 nine six two --0.7020 nine sixty eight --1.0031 nine thirty nine --1.0031 nine thirty sixty --1.4010 nine three a --0.6203 nine three five --1.4010 nine three may --1.4010 nine three three --1.0031 nine twenty enter --1.0031 nine twenty three --1.5471 nine two erase --1.5471 nine two october --1.5471 nine two six --1.5471 nine two three --1.5471 nine two twenty --0.7664 nine two two --1.0031 nine v e --1.0031 nine v k --0.7020 nine w i --0.7020 nine x i --1.1792 nine yes erase --1.1792 nine yes h --1.1792 nine yes rubout --0.7020 nine zero one --0.2224 nineteen fifty two --0.2224 nineteen forty four --1.1792 nineteen seventy g --1.1792 nineteen seventy rubout --1.1792 nineteen seventy yes --1.0003 nineteen sixty five --2.0445 nineteen sixty four --2.0445 nineteen sixty help --0.4852 nineteen sixty nine --1.2638 nineteen sixty one --0.7193 nineteen sixty seven --2.0445 nineteen sixty six --2.0445 nineteen sixty three --0.7020 nineteen twenty eight --1.0031 ninety eight e --1.0031 ninety eight twenty --1.0031 ninety five f --1.0031 ninety five k --1.0031 ninety four enter --1.0031 ninety four help --0.7020 ninety one start --0.7020 ninety seven l --1.0031 ninety six no --1.0031 ninety six r --0.7020 ninth of september --0.7020 ninth sixty two --0.7020 no c a --0.7020 no enter ninety --1.1792 no erase e --1.1792 no erase g --1.1792 no erase q --0.7020 no f e --0.7020 no h o --0.7020 no help v --0.7020 no o u --0.7020 no p o --1.1792 no rubout h --1.1792 no rubout q --1.1792 no rubout w --0.7020 no s t --0.7020 no start h --0.7020 no t h --1.5471 o a c --0.5030 o a d --1.5471 o a k --1.5471 o a m --1.5471 o a w --0.7020 o apostrophe h --0.6203 o b a --0.6203 o b e --1.4010 o b eight --0.7020 o c k --1.6563 o d e --1.6563 o d o --0.4493 o d p --1.6563 o d s --1.6563 o d u --1.6563 o d w --0.7020 o e p --0.7020 o eight b --1.3041 o f b --1.3041 o f f --1.3041 o f h --1.3041 o f r --0.7020 o five enter --0.7020 o forty six --0.7020 o four z --0.7020 o g d --1.3041 o h g --0.2599 o h n --0.7020 o j t --1.0031 o k h --1.0031 o k t --1.6563 o l a --1.6563 o l d --1.6563 o l e --1.6563 o l eight --0.8756 o l i --1.6563 o l k --1.6563 o l l --1.6563 o l s --0.7664 o m a --0.7664 o m e --1.5471 o m eight --1.5471 o m n --1.5471 o m o --0.9422 o n a --2.1492 o n b --1.1050 o n c --2.1492 o n e --2.1492 o n g --0.9422 o n i --1.3685 o n j --2.1492 o n k --2.1492 o n m --2.1492 o n n --2.1492 o n one --1.1050 o n p --2.1492 o n s --1.3685 o n t --2.1492 o n thirty --2.1492 o n x --0.7020 o ninety five --1.8160 o o b --0.3217 o o d --1.8160 o o f --1.8160 o o forty --1.8160 o o k --1.8160 o o m --1.8160 o o n --1.1792 o p h --1.1792 o p i --1.1792 o p l --0.7020 o q i --1.9808 o r b --1.2001 o r c --0.9366 o r d --0.6557 o r e --1.9808 o r k --1.9808 o r n --1.9808 o r o --1.9808 o r r --1.2001 o r t --1.9808 o r w --1.9808 o r y --0.3568 o s e --1.4010 o s s --1.4010 o s t --0.7020 o six five --0.7020 o sixty two --1.4802 o t e --1.4802 o t f --0.6995 o t h --1.4802 o t q --1.4802 o t t --0.7020 o two two --1.7020 o u eighty --1.7020 o u four --1.7020 o u g --1.7020 o u n --1.7020 o u q --1.7020 o u r --0.9213 o u s --0.9213 o u t --1.6563 o w d --1.6563 o w e --1.6563 o w g --1.6563 o w l --0.4493 o w n --1.6563 o w w --0.7020 o x eight --1.0031 o y g --1.0031 o y three --0.7020 o z e --0.7020 october first nineteen --0.7020 october thirtieth nineteen --0.7020 october twenty third --0.7020 of september nineteen --0.7020 of sixty start --1.7434 oh eight eight --1.7434 oh eight five --1.7434 oh eight june --0.9627 oh eight nine --1.7434 oh eight oh --1.7434 oh eight one --0.9627 oh eight six --1.7434 oh eight three --1.7434 oh eight two --1.0031 oh enter one --1.0031 oh enter six --1.4802 oh five e --1.4802 oh five enter --1.4802 oh five four --0.6995 oh five nine --1.4802 oh five yes --1.1792 oh four five --0.3985 oh four four --0.7020 oh j o --1.1792 oh nine and --1.1792 oh nine f --1.1792 oh nine six --1.0031 oh oh eight --1.0031 oh oh two --1.4010 oh one c --1.4010 oh one five --1.4010 oh one four --1.4010 oh one nine --1.4010 oh one p --1.6563 oh seven five --1.6563 oh seven m --1.6563 oh seven nine --1.6563 oh seven oh --1.6563 oh seven p --1.6563 oh seven rubout --1.6563 oh seven seventeen --1.6563 oh seven six --1.6563 oh seven stop --1.7812 oh six c --1.7812 oh six five --1.7812 oh six h --1.0005 oh six nine --1.7812 oh six oh --1.7812 oh six seven --1.7812 oh six six --0.7370 oh six three --1.7812 oh six two --1.4010 oh three eight --1.4010 oh three rubout --1.4010 oh three seven --1.4010 oh three two --1.4010 oh three v --0.7020 oh twelve twenty --1.6563 oh two e --1.6563 oh two eight --1.6563 oh two enter --1.6563 oh two five --1.6563 oh two m --1.6563 oh two nine --1.6563 oh two seven --0.8756 oh two six --1.0031 one a r --1.0031 one a v --0.7020 one august twenty --1.0031 one b o --1.0031 one b v --0.7020 one c e --1.0031 one e a --1.0031 one e w --1.6563 one eight c --1.6563 one eight eight --1.6563 one eight four --1.6563 one eight one --1.6563 one eight seven --1.6563 one eight six --1.6563 one eight three --0.8756 one eight two --0.7020 one eleven o --1.4802 one enter eighty --0.6995 one enter four --1.4802 one enter nine --1.4802 one enter one --1.4802 one enter sixty --0.7020 one f i --0.7020 one february eighth --0.7020 one fifteen m --1.3041 one fifty b --0.5234 one fifty eight --1.3041 one fifty six --1.5271 one five five --2.5713 one five four --2.5713 one five h --1.7906 one five m --2.5713 one five nine --1.5271 one five oh --1.1533 one five one --1.7906 one five six --1.3643 one five three --0.1773 one five two --2.5713 one five zero --0.7020 one forty two --0.9627 one four eight --0.9627 one four nine --0.9627 one four one --0.9627 one four seven --1.7434 one four six --0.9627 one four three --1.1792 one go g --1.1792 one go h --1.1792 one go yes --0.7020 one h q --1.0031 one help go --1.0031 one help help --1.0031 one hundred and --1.0031 one hundred s --1.0031 one i d --1.0031 one i v --0.7020 one j a --0.7020 one july twenty --0.7020 one l r --0.7020 one m o --0.7020 one n o --1.7812 one nine eight --1.0005 one nine five --1.7812 one nine n --1.7812 one nine oh --1.7812 one nine s --1.7812 one nine seven --0.7370 one nine six --1.7812 one nine three --1.7812 one nine twenty --0.7020 one ninety six --1.8482 one oh eight --1.8482 one oh five --1.8482 one oh four --1.8482 one oh nine --1.8482 one oh oh --1.8482 one oh one --0.8040 one oh seven --1.0675 one oh six --0.8040 one oh two --1.5471 one one eight --0.7664 one one five --1.5471 one one seven --1.5471 one one six --1.5471 one one t --1.5471 one one three --0.7020 one p a --0.7020 one r e --0.7020 one repeat rubout --1.3041 one rubout c --1.3041 one rubout n --1.3041 one rubout o --1.3041 one rubout s --0.7020 one s n --2.0445 one seven area --2.0445 one seven fifteen --1.2638 one seven five --2.0445 one seven forty --0.3339 one seven four --2.0445 one seven seven --1.2638 one seven six --1.2638 one seven three --2.0445 one seven two --1.0031 one seventy five --1.0031 one seventy h --1.5471 one six enter --1.5471 one six four --1.5471 one six nine --1.5471 one six oh --0.7664 one six one --1.5471 one six two --0.7020 one sixteen forty --1.3041 one sixty eight --1.3041 one sixty fifty --1.3041 one sixty three --1.3041 one sixty two --1.0031 one start h --1.0031 one start y --1.0031 one stop rubout --1.0031 one stop yes --0.7020 one t i --1.0031 one ten m --1.0031 one ten s --0.2224 one thirty one --1.0031 one thousand m --1.0031 one thousand p --1.8482 one three december --0.6412 one three four --0.8040 one three six --0.8040 one three three --0.8040 one three two --1.0031 one twenty t --1.0031 one twenty two --2.1792 one two b --1.3985 one two eight --0.7612 one two five --0.6848 one two four --2.1792 one two march --1.3985 one two one --2.1792 one two seven --0.8540 one two six --0.9722 one two two --2.1792 one two zero --0.7020 one u s --0.7020 one w i --0.7020 one y w --0.7020 one yes enter --0.7020 one z eight --1.4010 one zero eight --1.4010 one zero five --1.4010 one zero one --1.4010 one zero six --1.4010 one zero zero --1.3041 p a c --1.3041 p a h --1.3041 p a r --1.3041 p a t --0.7020 p b six --0.7020 p c seven --1.0031 p d f --1.0031 p d two --1.0031 p e eight --1.0031 p e r --0.7020 p eight hundred --0.7020 p f j --0.7020 p forty five --0.7020 p four repeat --0.1350 p g h --0.6995 p h e --1.4802 p h i --1.4802 p h one --1.4802 p h s --1.4802 p h y --2.3741 p i five --2.3741 p i n --0.0267 p i t --0.6203 p l a --0.3568 p l e --1.0031 p n a --1.0031 p n e --0.7020 p ninety seven --1.4802 p o l --0.6995 p o m --1.4802 p o o --1.4802 p o r --1.4802 p o u --0.1350 p r i --1.3041 p s h --1.3041 p s o --1.3041 p s p --1.3041 p s z --0.7020 p seventeen enter --1.1792 p t e --1.1792 p t k --1.1792 p t q --0.7020 p three two --1.1792 p u five --1.1792 p u s --1.1792 p u x --0.7020 p y h --0.7020 q c j --1.1792 q d b --1.1792 q d one --1.1792 q d q --1.0031 q e e --1.0031 q e j --0.7020 q f x --1.0031 q fifty eight --1.0031 q fifty six --0.7020 q five oh --0.7020 q g eighty --0.7020 q i m --1.0031 q k six --1.0031 q k x --1.1792 q n h --1.1792 q n r --1.1792 q n seventy --0.7020 q one i --0.7020 q p forty --1.1792 q q k --1.1792 q q p --1.1792 q q q --0.7020 q six two --1.0031 q t seventy --1.0031 q t w --0.7020 q two eight --0.7020 q u e --0.7020 q w eight --0.7020 q y eight --0.7020 q z h --1.8160 r a c --1.0353 r a d --1.8160 r a f --1.8160 r a j --0.4908 r a n --1.8160 r a one --1.8160 r a p --1.8160 r a v --1.4802 r b d --1.4802 r b o --0.6995 r b r --1.4802 r b seven --1.4802 r b u --0.1350 r c h --1.6563 r d d --1.6563 r d i --1.6563 r d one --0.6121 r d p --1.6563 r d sixty --0.8756 r d w --1.3193 r e a --2.1000 r e d --1.3193 r e e --2.1000 r e f --2.1000 r e j --2.1000 r e k --1.3193 r e l --0.8930 r e n --1.3193 r e p --2.1000 r e r --1.0558 r e t --0.7748 r e w --1.0031 r f i --1.0031 r f o --1.3739 r g a --2.4180 r g c --2.4180 r g d --2.4180 r g forty --0.0805 r g h --2.4180 r g nine --2.4180 r g one --0.7020 r h h --1.9808 r i a --0.5629 r i c --1.9808 r i g --1.9808 r i k --0.7738 r i n --1.2001 r i s --0.7738 r i v --0.9627 r k e --1.7434 r k fifty --1.7434 r k i --1.7434 r k one --1.7434 r k r --1.7434 r k s --0.6992 r k six --1.7434 r k three --0.6121 r l a --0.8756 r l e --1.6563 r l f --1.6563 r l fifty --0.8756 r l y --0.2224 r m a --1.4802 r n a --1.4802 r n d --0.4360 r n e --1.4802 r n k --0.9801 r o a --1.2435 r o b --2.0243 r o m --0.6991 r o n --1.2435 r o o --2.0243 r o p --0.9801 r o s --1.2435 r o w --2.0243 r o y --2.0243 r o z --1.0031 r one four --1.0031 r one two --0.7020 r p i --0.7020 r q z --0.6121 r r e --1.6563 r r i --1.6563 r r k --1.6563 r r n --0.8756 r r o --1.6563 r r y --0.2599 r s o --1.3041 r s t --0.7020 r seven zero --0.7020 r sixty one --1.5471 r t forty --1.5471 r t h --0.7664 r t one --0.7664 r t p --1.5471 r t z --1.0031 r thirty one --1.0031 r thirty three --1.0031 r u m --1.0031 r u s --1.0031 r v fifty --1.0031 r v z --1.0031 r w a --1.0031 r w twenty --1.6051 r y fifty --1.6051 r y four --1.6051 r y j --1.6051 r y l --1.6051 r y oh --0.8244 r y one --1.6051 r y p --1.0031 r z nine --1.0031 r z r --0.7020 repeat b a --0.7020 repeat enter eight --0.7020 repeat erase n --0.7020 repeat f i --0.7020 repeat g i --0.7020 repeat l r --0.7020 repeat m a --1.1792 repeat no c --1.1792 repeat no s --1.1792 repeat no t --0.7020 repeat o l --0.7020 repeat r h --1.0031 repeat rubout i --1.0031 repeat rubout o --1.0031 repeat stop m --1.0031 repeat stop rubout --0.7020 repeat w e --0.7020 rubout a d --1.1792 rubout c h --1.1792 rubout c t --1.1792 rubout c y --0.7020 rubout d q --1.0031 rubout e u --1.0031 rubout e z --1.3041 rubout f b --1.3041 rubout f m --1.3041 rubout f x --1.3041 rubout f y --1.0031 rubout g j --1.0031 rubout g u --1.1792 rubout h a --1.1792 rubout h f --1.1792 rubout h w --1.0031 rubout i r --1.0031 rubout i t --1.1792 rubout j b --1.1792 rubout j l --1.1792 rubout j u --0.7020 rubout l d --1.1792 rubout m d --1.1792 rubout m n --1.1792 rubout m v --0.6203 rubout n a --1.4010 rubout n b --1.4010 rubout n x --1.4010 rubout n z --1.3041 rubout o g --1.3041 rubout o h --1.3041 rubout o k --1.3041 rubout o q --1.0031 rubout p n --1.0031 rubout p o --1.0031 rubout q n --1.0031 rubout q q --1.1792 rubout r e --1.1792 rubout r r --1.1792 rubout r z --0.7020 rubout s h --1.1792 rubout t b --1.1792 rubout t g --1.1792 rubout t j --1.4010 rubout u f --1.4010 rubout u g --1.4010 rubout u j --0.6203 rubout u t --1.0031 rubout v a --1.0031 rubout v e --1.0031 rubout w l --1.0031 rubout w p --0.7020 rubout x c --0.7020 rubout y y --1.1792 rubout z g --1.1792 rubout z o --1.1792 rubout z y --1.1792 s a m --1.1792 s a t --1.1792 s a y --2.3741 s b o --0.0170 s b u --0.7020 s c a --1.6051 s e l --1.6051 s e m --1.6051 s e n --0.5609 s e p --0.8244 s e w --1.0031 s f q --1.0031 s f twenty --0.7020 s fifty eight --0.6203 s h a --1.4010 s h e --1.4010 s h i --1.4010 s h k --0.7020 s i q --0.3985 s j a --1.1792 s j seven --1.4802 s k a --1.4802 s k e --0.6995 s k i --1.4802 s k u --1.4802 s k y --1.0031 s l e --1.0031 s l f --0.3568 s m a --1.4010 s m g --1.4010 s m i --0.7020 s n o --1.0005 s o l --0.1654 s o n --1.7812 s o u --0.6203 s one five --1.4010 s one seventy --1.4010 s one two --1.4010 s one zero --0.4493 s p i --1.6563 s p n --1.6563 s p o --0.8756 s p r --1.6563 s p s --1.4010 s s h --1.4010 s s m --1.4010 s s t --1.4010 s s v --1.4010 s s w --1.0031 s seven sixty --1.0031 s seven thirty --0.2916 s t e --1.9573 s t eighty --1.9573 s t i --1.9573 s t m --1.1766 s t o --0.9131 s t r --0.7020 s thirty five --1.1792 s u m --1.1792 s u n --1.1792 s u o --1.1792 s v a --1.1792 s v i --1.1792 s v n --1.3041 s w a --1.3041 s w i --1.3041 s w o --1.3041 s w z --0.7020 s x two --1.0031 s z k --1.0031 s z nine --0.7020 s zero a --0.2224 second nineteen sixty --0.7020 september fifteenth nineteen --0.7020 september first nineteen --0.7020 september nineteen sixty --0.7020 september sixth nineteen --0.7020 september twenty seventh --0.7020 seven area code --0.7020 seven b r --1.7020 seven eight august --0.6579 seven eight eight --1.7020 seven eight erase --1.7020 seven eight five --1.7020 seven eight four --1.7020 seven eight three --1.7020 seven eight two --1.7020 seven eight zero --1.0031 seven enter fifty --1.0031 seven enter four --1.0031 seven erase b --1.0031 seven erase v --0.7020 seven fifteen nineteen --0.7020 seven fifty five --1.6051 seven five eight --0.8244 seven five one --0.8244 seven five seven --0.5609 seven five two --1.1792 seven forty four --0.3985 seven forty seven --1.9062 seven four eight --1.9062 seven four four --1.9062 seven four h --0.4118 seven four one --1.9062 seven four twelve --0.5810 seven four two --1.0031 seven fourteen a --1.0031 seven fourteen sixty --1.0031 seven h a --1.0031 seven h p --0.7020 seven help b --0.7020 seven hundred twenty --0.7020 seven j s --0.7020 seven l a --1.0031 seven m m --1.0031 seven m o --0.7020 seven may nineteen --1.4802 seven nine five --0.6995 seven nine one --1.4802 seven nine three --0.6995 seven nine two --0.7020 seven october first --0.6995 seven oh eight --1.4802 seven oh enter --1.4802 seven oh six --1.4802 seven oh three --1.4802 seven oh two --1.4802 seven one eight --1.4802 seven one july --1.4802 seven one oh --1.4802 seven one six --1.4802 seven one thirty --1.4802 seven one zero --1.1792 seven p i --1.1792 seven p o --1.1792 seven p t --0.7020 seven r o --1.7020 seven rubout c --1.7020 seven rubout j --1.7020 seven rubout l --1.7020 seven rubout n --1.7020 seven rubout p --1.7020 seven rubout q --1.7020 seven rubout r --1.7020 seven rubout t --1.7020 seven rubout v --1.7020 seven rubout z --1.0031 seven s l --1.0031 seven s u --1.3041 seven seven five --1.3041 seven seven j --1.3041 seven seven nine --1.3041 seven seven rubout --0.7020 seven seventeen fifty --0.7020 seven seventy two --1.5471 seven six a --0.7664 seven six eight --1.5471 seven six f --1.5471 seven six seventeen --1.5471 seven six six --1.5471 seven six three --1.1792 seven sixty eight --1.1792 seven sixty four --1.1792 seven sixty seven --0.7020 seven start i --1.4010 seven stop d --0.6203 seven stop enter --1.4010 seven stop go --1.4010 seven stop repeat --1.1792 seven ten enter --1.1792 seven ten f --1.1792 seven ten one --1.0031 seven thirty e --1.0031 seven thirty eight --0.7020 seven thousand one --1.3041 seven three one --1.3041 seven three rubout --1.3041 seven three six --1.3041 seven three zero --1.1792 seven twenty five --0.3985 seven twenty nine --1.4802 seven two eighteen --1.4802 seven two four --1.4802 seven two nine --1.4802 seven two one --1.4802 seven two two --1.4802 seven two zero --1.0031 seven v a --1.0031 seven v l --0.7020 seven y f --1.3041 seven yes erase --1.3041 seven yes j --1.3041 seven yes n --1.3041 seven yes s --0.7020 seven z c --1.1792 seven zero one --1.1792 seven zero s --1.1792 seven zero yes --0.7020 seventeen enter eight --1.0031 seventeen fifty one --1.0031 seventeen fifty seven --0.7020 seventeen rubout e --0.7020 seventeen thirty six --0.7020 seventh nineteen sixty --0.7020 seventy eight k --0.7020 seventy five q --0.7020 seventy g two --0.7020 seventy h a --1.1792 seventy nine fifty --1.1792 seventy nine help --1.1792 seventy nine yes --1.6051 seventy one b --0.5609 seventy one enter --1.6051 seventy one m --1.6051 seventy one rubout --1.6051 seventy one start --1.6051 seventy one stop --0.7020 seventy p o --0.7020 seventy rubout f --1.1792 seventy seven forty --1.1792 seventy seven v --1.1792 seventy seven yes --0.7020 seventy six twelve --1.3041 seventy two c --1.3041 seventy two enter --1.3041 seventy two repeat --1.3041 seventy two stop --0.7020 seventy yes x --0.7020 six a t --0.7020 six b u --1.0031 six c a --1.0031 six c o --0.7020 six e m --1.3193 six eight five --0.7748 six eight four --1.3193 six eight one --0.8930 six eight seven --1.3193 six eight six --2.1000 six eight ten --0.5407 six eight three --2.1000 six eight two --0.7020 six eighty eight --1.6563 six enter fifty --1.6563 six enter four --1.6563 six enter one --1.6563 six enter seven --1.6563 six enter six --0.8756 six enter sixty --1.6563 six enter thirty --1.6563 six enter two --1.4010 six erase g --1.4010 six erase k --1.4010 six erase o --1.4010 six erase q --1.4010 six erase s --0.7020 six f a --1.4802 six five eight --1.4802 six five f --1.4802 six five five --1.4802 six five nine --1.4802 six five six --1.4802 six five three --0.7020 six forty five --1.0005 six four eight --1.7812 six four eleven --1.0005 six four five --1.7812 six four four --1.7812 six four january --1.7812 six four nine --1.7812 six four no --1.7812 six four seven --1.7812 six four six --1.7812 six four zero --0.3985 six h a --1.1792 six h i --0.7020 six hundred forty --0.7020 six july thirtieth --0.7020 six k e --1.0031 six l e --1.0031 six l z --1.4802 six nine b --0.6995 six nine five --1.4802 six nine go --1.4802 six nine september --1.4802 six nine two --1.0031 six no erase --1.0031 six no start --0.6995 six oh eight --1.4802 six oh five --0.6995 six oh seven --1.4802 six oh six --0.8756 six one five --1.6563 six one four --1.6563 six one go --1.6563 six one nine --1.6563 six one seven --1.6563 six one sixteen --1.6563 six one two --1.6563 six one zero --1.0031 six p a --1.0031 six p r --0.7020 six r g --0.7020 six rubout n --0.7020 six s m --0.7020 six september fifteenth --1.6051 six seven eight --1.6051 six seven fourteen --1.6051 six seven nine --0.8244 six seven oh --1.6051 six seven r --1.6051 six seven s --1.6051 six seven twenty --0.7020 six seventeen thirty --1.7812 six six eight --1.7812 six six erase --1.0005 six six five --1.7812 six six four --1.0005 six six one --1.7812 six six seven --1.7812 six six six --1.7812 six six sixteen --1.0005 six six two --0.7020 six sixteen sixty --1.0031 six sixty nine --1.0031 six sixty three --1.0031 six start no --1.0031 six start rubout --0.7020 six stop erase --1.0031 six t a --1.0031 six t r --0.7020 six ten twenty --1.0031 six thirty b --1.0031 six thirty two --0.7020 six thousand eight --1.7434 six three eight --1.7434 six three erase --1.7434 six three four --1.7434 six three nine --1.7434 six three oh --0.9627 six three one --0.9627 six three six --1.7434 six three sixty --1.7434 six three two --1.0031 six twelve enter --1.0031 six twelve nine --0.7020 six twenty six --0.9213 six two eight --1.7020 six two five --1.7020 six two four --0.9213 six two seven --0.6579 six two six --1.7020 six two two --1.0031 six v a --1.0031 six v q --1.0031 six yes g --1.0031 six yes rubout --0.7020 six zero one --0.7020 sixteen forty eight --1.0031 sixteen sixty enter --1.0031 sixteen sixty nine --0.7020 sixteenth nineteen sixty --0.7020 sixth nineteen sixty --1.4010 sixty eight enter --1.4010 sixty eight erase --1.4010 sixty eight j --1.4010 sixty eight o --1.4010 sixty eight rubout --1.0031 sixty enter four --1.0031 sixty enter seventy --0.7020 sixty fifty five --1.4010 sixty five enter --1.4010 sixty five g --1.4010 sixty five p --1.4010 sixty five repeat --1.4010 sixty five yes --1.4802 sixty four and --1.4802 sixty four enter --1.4802 sixty four l --1.4802 sixty four no --1.4802 sixty four repeat --1.4802 sixty four stop --1.0031 sixty help enter --1.0031 sixty help n --1.8482 sixty nine a --1.8482 sixty nine b --1.0675 sixty nine enter --1.0675 sixty nine erase --1.8482 sixty nine g --1.8482 sixty nine m --1.0675 sixty nine rubout --1.8482 sixty nine s --1.8482 sixty nine v --1.8482 sixty nine x --1.8482 sixty nine yes --1.6051 sixty one a --0.8244 sixty one enter --1.6051 sixty one help --1.6051 sixty one r --1.6051 sixty one rubout --1.6051 sixty one yes --1.6051 sixty one z --0.7020 sixty s f --1.7434 sixty seven erase --0.9627 sixty seven h --1.7434 sixty seven m --0.9627 sixty seven rubout --1.7434 sixty seven start --0.9627 sixty seven stop --1.7434 sixty seven ten --1.7434 sixty seven yes --1.1792 sixty six e --1.1792 sixty six enter --1.1792 sixty six l --0.7020 sixty start repeat --0.7664 sixty three erase --1.5471 sixty three g --1.5471 sixty three no --1.5471 sixty three sixty --1.5471 sixty three v --1.5471 sixty three yes --0.6203 sixty two enter --1.4010 sixty two rubout --1.4010 sixty two thirty --1.4010 sixty two v --0.7020 sixty w a --1.0031 start enter eight --1.0031 start enter ninety --1.0031 start h k --1.0031 start h o --0.7020 start i p --0.7020 start no erase --1.0031 start repeat no --1.0031 start repeat rubout --1.0031 start rubout f --1.0031 start rubout x --0.7020 start y d --0.7020 stop d y --1.4802 stop enter eight --1.4802 stop enter nine --0.6995 stop enter seven --1.4802 stop enter six --1.4802 stop enter two --0.7020 stop erase r --0.7020 stop go enter --0.7020 stop j c --0.2224 stop m a --0.7020 stop repeat enter --0.2224 stop rubout u --0.7020 stop yes h --1.0031 t a n --1.0031 t a y --1.0031 t b a --1.0031 t b p --1.1792 t d a --1.1792 t d i --1.1792 t d k --2.0445 t e b --1.2638 t e d --1.2638 t e e --2.0445 t e l --2.0445 t e m --1.0003 t e n --2.0445 t e one --2.0445 t e p --0.7193 t e r --0.7193 t e v --0.7020 t eighty fifth --1.0031 t f f --1.0031 t f two --0.7020 t fifty rubout --0.7020 t forty three --0.7020 t four one --1.3041 t g i --1.3041 t g j --1.3041 t g k --1.3041 t g nine --0.4382 t h a --1.1518 t h e --1.9325 t h f --1.1518 t h o --1.1518 t h p --1.9325 t h t --1.9325 t h v --1.9325 t h y --0.6203 t i e --0.6203 t i m --1.4010 t i n --0.7020 t j j --1.0031 t k s --1.0031 t k x --0.3985 t l e --1.1792 t l fifty --0.1350 t m a --0.2224 t n e --1.4802 t o d --1.4802 t o m --0.6995 t o n --1.4802 t o p --1.4802 t o w --1.0031 t one five --1.0031 t one twenty --1.6051 t p four --0.1108 t p i --1.0031 t q d --1.0031 t q two --0.6995 t r a --0.2732 t r e --0.0173 t s b --2.3648 t s v --0.7020 t seventy seven --0.7020 t sixty three --2.4502 t t b --1.1251 t t e --2.4502 t t g --1.6695 t t h --2.4502 t t i --0.1028 t t s --2.4502 t t t --0.7020 t v a --0.7020 t w x --1.3041 t z b --1.3041 t z j --1.3041 t z l --1.3041 t z p --0.7020 ten enter six --0.7020 ten f e --0.7020 ten h i --0.7020 ten m i --0.7020 ten o r --0.7020 ten one sixty --0.7020 ten rubout c --0.7020 ten s p --0.7020 ten seventy one --0.7020 ten sixty nine --0.7020 ten ten rubout --0.7020 ten thirty one --0.7020 ten twelve sixty --0.7020 ten twenty eight --0.3985 third nineteen sixty --1.1792 third nineteen twenty --0.1350 thirtieth nineteen sixty --0.7020 thirty b r --0.2224 thirty e a --1.1792 thirty eight erase --1.1792 thirty eight rubout --1.1792 thirty eight sixty --0.7020 thirty enter eight --1.4802 thirty five b --1.4802 thirty five enter --1.4802 thirty five erase --0.6995 thirty five rubout --1.4802 thirty five thirty --0.7020 thirty g r --1.0031 thirty nine enter --1.0031 thirty nine s --1.6051 thirty one a --1.6051 thirty one fifty --1.6051 thirty one go --1.6051 thirty one j --1.6051 thirty one n --1.6051 thirty one oh --1.6051 thirty one sixty --1.6051 thirty one u --1.0031 thirty seven rubout --1.0031 thirty seven z --1.0031 thirty six s --1.0031 thirty six v --0.7020 thirty sixty five --1.0031 thirty three d --1.0031 thirty three k --1.3041 thirty two enter --1.3041 thirty two p --1.3041 thirty two rubout --1.3041 thirty two thirty --0.2224 thousand eight hundred --0.7020 thousand five hundred --0.7020 thousand m o --0.7020 thousand nine thirty --0.7020 thousand one hundred --0.7020 thousand p i --0.7020 thousand seven hundred --0.7020 thousand three hundred --1.0031 three a g --1.0031 three a l --0.7020 three b l --1.0031 three d o --1.0031 three d r --0.7020 three december eighteenth --0.7020 three e f --1.4802 three eight enter --1.4802 three eight four --1.4802 three eight g --0.6995 three eight three --1.4802 three eight zero --0.7020 three eighty six --0.7020 three eleven sixty --1.1792 three enter forty --1.1792 three enter four --1.1792 three enter fourteen --1.4010 three erase j --1.4010 three erase m --1.4010 three erase s --1.4010 three erase t --1.4010 three erase y --1.5471 three five a --1.5471 three five four --1.5471 three five oh --1.5471 three five seven --0.7664 three five two --1.5471 three five zero --1.0031 three forty five --1.0031 three forty two --1.7434 three four d --0.9627 three four eight --0.9627 three four five --0.9627 three four four --0.6992 three four one --1.7434 three four three --0.7020 three fourteen sixty --0.7020 three g w --0.7020 three hundred and --0.7020 three k u --1.0031 three l o --1.0031 three l u --0.7020 three march twentieth --0.7020 three may twenty --1.3041 three nine five --1.3041 three nine nine --0.5234 three nine two --1.0031 three no erase --1.0031 three no f --1.4010 three oh eight --1.4010 three oh five --1.4010 three oh nine --1.4010 three oh one --1.4010 three oh six --1.4802 three one five --1.4802 three one nine --1.4802 three one one --0.6995 three one two --1.4802 three one w --0.7020 three p t --1.3041 three rubout g --1.3041 three rubout m --1.3041 three rubout o --1.3041 three rubout t --0.7020 three september first --1.4802 three seven eight --0.6995 three seven five --1.4802 three seven four --1.4802 three seven one --1.4802 three seven seven --0.7020 three seventeen rubout --1.0031 three seventy one --1.0031 three seventy p --0.6121 three six eight --1.6563 three six four --1.6563 three six one --1.6563 three six p --1.6563 three six six --0.8756 three six three --1.3041 three sixty eight --0.5234 three sixty four --1.3041 three sixty three --0.7020 three thirty six --1.6563 three three b --1.6563 three three eight --1.6563 three three five --1.6563 three three nine --1.6563 three three oh --0.8756 three three seven --0.8756 three three six --0.7020 three twelve fifty --1.1792 three twenty eight --1.1792 three twenty seven --1.1792 three twenty three --1.9062 three two a --1.1254 three two eight --1.9062 three two five --0.8620 three two four --1.1254 three two seven --0.5810 three two six --1.1254 three two three --1.0031 three v a --1.0031 three v w --0.7020 three yes yes --1.3041 three zero e --1.3041 three zero enter --1.3041 three zero six --1.3041 three zero two --0.2224 twelfth nineteen sixty --0.7020 twelve enter five --0.7020 twelve fifty eight --0.7020 twelve four sixty --0.7020 twelve nine of --0.7020 twelve nineteen sixty --0.7020 twelve sixty seven --0.7020 twelve ten sixty --1.0031 twelve twenty four --1.0031 twelve twenty one --0.7020 twentieth nineteen seventy --1.4010 twenty eight n --1.4010 twenty eight seventy --0.6203 twenty eight sixty --1.4010 twenty eight x --0.7020 twenty enter sixty --0.7020 twenty fifth nineteen --0.7020 twenty first nineteen --0.7020 twenty five j --1.1792 twenty four forty --1.1792 twenty four oh --1.1792 twenty four sixty --0.7020 twenty fourth nineteen --1.3041 twenty nine b --1.3041 twenty nine erase --1.3041 twenty nine fifty --1.3041 twenty nine nineteen --1.0031 twenty one enter --1.0031 twenty one fifty --0.2224 twenty second nineteen --1.0031 twenty seven rubout --1.0031 twenty seven sixty --0.7020 twenty seventh nineteen --1.4010 twenty six enter --1.4010 twenty six forty --1.4010 twenty six h --1.4010 twenty six sixty --1.4010 twenty six start --0.7020 twenty t a --0.2224 twenty third nineteen --1.4010 twenty three a --1.4010 twenty three enter --1.4010 twenty three erase --1.4010 twenty three l --1.4010 twenty three sixty --1.0031 twenty two o --1.0031 twenty two twenty --1.0031 two a m --1.0031 two a s --1.0031 two b e --1.0031 two b r --0.7020 two c l --0.7020 two d s --0.7020 two e a --1.8160 two eight a --1.8160 two eight f --1.8160 two eight five --1.8160 two eight oh --1.0353 two eight one --1.8160 two eight s --1.8160 two eight stop --0.7718 two eight three --1.0353 two eight two --0.7020 two eighteen february --0.7020 two eighty nine --1.6051 two enter fifteen --1.6051 two enter fifty --1.6051 two enter five --1.6051 two enter seven --1.6051 two enter six --1.6051 two enter sixty --0.8244 two enter thirty --1.0031 two erase i --1.0031 two erase o --0.7020 two fifteen sixty --0.7020 two fifty three --1.8482 two five eight --1.8482 two five enter --1.8482 two five five --1.8482 two five four --1.8482 two five october --1.8482 two five one --1.8482 two five seven --1.8482 two five twenty --0.4302 two five two --1.2224 two four erase --0.9589 two four four --2.0031 two four nine --0.9589 two four one --2.0031 two four rubout --2.0031 two four september --2.0031 two four six --2.0031 two four three --0.5087 two four two --0.7020 two fourteen repeat --0.7020 two g o --0.7020 two go rubout --0.7020 two help enter --0.7020 two hundred and --0.3985 two m a --1.1792 two m o --0.7020 two march third --0.7020 two n e --1.6051 two nine august --1.6051 two nine eight --1.6051 two nine eleven --1.6051 two nine one --1.6051 two nine seven --1.6051 two nine six --0.8244 two nine three --0.7020 two no rubout --0.7020 two o a --0.7020 two october twenty --1.0005 two oh eight --1.0005 two oh five --1.7812 two oh one --1.7812 two oh seven --0.5742 two oh six --1.7812 two oh three --1.7812 two oh two --1.3568 two one eight --1.6203 two one five --1.6203 two one four --2.4010 two one nine --1.1940 two one oh --0.4635 two one seven --1.6203 two one six --2.4010 two one sixty --0.7352 two one three --0.9067 two one two --0.7020 two p h --1.0031 two repeat o --1.0031 two repeat w --1.4802 two rubout d --0.6995 two rubout h --1.4802 two rubout m --1.4802 two rubout n --1.4802 two rubout r --1.0005 two seven eight --1.7812 two seven four --1.7812 two seven may --1.7812 two seven nine --1.0005 two seven one --1.7812 two seven p --1.7812 two seven s --1.7812 two seven six --1.7812 two seven ten --1.7812 two seven two --0.2332 two six eight --2.1170 two six enter --2.1170 two six july --2.1170 two six l --2.1170 two six oh --0.9100 two six six --2.1170 two six ten --2.1170 two six two --0.7020 two sixty s --0.3985 two start enter --1.1792 two start rubout --1.0031 two stop enter --1.0031 two stop j --1.0031 two ten o --1.0031 two ten twelve --0.3985 two thirty one --1.1792 two thirty seven --0.7020 two thousand five --1.8160 two three d --1.8160 two three eight --1.8160 two three five --1.8160 two three four --1.8160 two three l --1.8160 two three nine --1.8160 two three twenty --0.3981 two three two --0.7020 two twelve ten --1.0031 two twenty four --1.0031 two twenty six --2.1934 two two fifteen --2.1934 two two five --2.1934 two two four --2.1934 two two m --1.1492 two two nine --0.9864 two two oh --0.6991 two two one --1.4127 two two rubout --1.4127 two two seven --1.4127 two two six --2.1934 two two three --0.9864 two two two --1.4127 two two zero --0.7020 two v f --1.4802 two zero c --1.4802 two zero r --0.6995 two zero seven --1.4802 two zero six --1.4802 two zero twelve --1.0031 u a i --1.0031 u a r --0.7020 u b i --0.7020 u c k --0.7020 u d w --1.4010 u e b --0.3568 u e p --1.4010 u e t --0.7020 u eighty six --1.0031 u f two --1.0031 u f z --1.0031 u five enter --1.0031 u five two --1.1792 u four five --1.1792 u four forty --1.1792 u four seven --1.1792 u g a --1.1792 u g l --1.1792 u g n --0.7020 u i p --1.0031 u j m --1.0031 u j o --0.7020 u k e --1.1792 u l d --0.3985 u l i --1.1792 u m i --1.1792 u m m --1.1792 u m n --1.1792 u n b --1.1792 u n n --1.1792 u n t --0.7020 u o u --0.7020 u one sixty --0.7020 u p i --0.7020 u q u --2.4344 u r c --0.0773 u r g --2.4344 u r i --2.4344 u r k --2.4344 u r r --2.4344 u r s --1.3902 u r y --0.6995 u s e --1.4802 u s i --0.6995 u s k --1.4802 u s o --0.7020 u seven three --1.3041 u t d --1.3041 u t f --1.3041 u t h --1.3041 u t i --0.7020 u three erase --0.7020 u two four --0.7020 u x p --0.7020 u y three --1.6563 v a d --1.6563 v a f --1.6563 v a h --0.6121 v a l --0.8756 v a n --1.6563 v a r --0.7020 v c thirty --2.0638 v e c --2.0638 v e l --0.5045 v e n --1.2831 v e one --0.8568 v e p --0.8568 v e r --2.0638 v e v --2.0638 v e w --2.0638 v e z --0.7020 v f o --0.7020 v fifty five --0.7664 v i d --1.5471 v i e --0.7664 v i l --1.5471 v i n --1.5471 v i q --1.0031 v k j --1.0031 v k z --0.7020 v l c --1.0031 v m eight --1.0031 v m u --0.7020 v n y --0.7020 v nine j --0.7020 v o o --0.7020 v p e --0.2224 v q d --0.7020 v r f --0.7020 v s one --1.0031 v seven y --1.0031 v seven yes --0.7020 v thirty g --0.7020 v w a --0.7020 v x s --1.1792 v y h --1.1792 v y one --1.1792 v y w --0.7020 v z ninety --1.6563 w a a --1.6563 w a b --1.6563 w a l --0.4493 w a r --1.6563 w a t --1.6563 w a y --1.0031 w b seventy --1.0031 w b u --0.7020 w c v --1.0031 w d k --1.0031 w d o --1.3041 w e i --0.5234 w e l --1.3041 w e s --1.0031 w eight enter --1.0031 w eight l --1.0031 w f five --1.0031 w f s --0.7020 w five zero --0.7020 w fourteen eighty --0.7020 w g a --1.0031 w h e --1.0031 w h i --0.7664 w i c --0.7664 w i l --1.5471 w i n --0.7664 w i s --1.1792 w l f --1.1792 w l i --1.1792 w l r --1.5471 w n a --1.5471 w n e --1.5471 w n four --1.5471 w n i --1.5471 w n l --1.5471 w n one --1.5471 w n s --1.6563 w o n --0.1619 w o o --1.6563 w o r --1.0031 w one eleven --1.0031 w one five --0.7020 w p f --0.7020 w q six --0.7020 w r i --0.7020 w t h --0.7020 w three two --0.7020 w twenty six --1.0031 w two fourteen --1.0031 w two thirty --1.0031 w w a --1.0031 w w two --0.7020 w x five --1.1792 w y eight --1.1792 w y l --1.1792 w y o --1.1792 w z a --1.1792 w z nine --1.1792 w z seven --0.7020 x b m --1.0031 x c w --1.0031 x c z --0.7020 x e d --0.7020 x eight oh --0.7020 x f e --0.7020 x five hundred --0.7020 x four thousand --0.7020 x g i --0.7020 x h b --0.7020 x i sixty --0.7020 x k twenty --0.7020 x l thirty --0.7020 x n six --0.7020 x nine p --0.7020 x p i --0.7020 x r z --1.0031 x s x --1.0031 x s zero --0.7020 x seventy two --0.7020 x three zero --1.0031 x two four --1.0031 x two thousand --0.7020 x v i --0.7020 x w five --1.0031 x x n --1.0031 x x s --1.0031 x y seven --1.0031 x y u --0.7020 x z i --1.0031 x zero c --1.0031 x zero p --0.7020 y a m --1.0031 y b e --1.0031 y b r --0.7020 y c i --1.3041 y d a --1.3041 y d d --1.3041 y d n --1.3041 y d r --0.7020 y e r --1.0031 y eight five --1.0031 y eight six --1.0031 y f j --1.0031 y f x --1.0031 y fifty one --1.0031 y fifty six --0.7020 y five five --1.1792 y four four --0.3985 y four oh --1.0031 y g l --1.0031 y g n --1.1792 y h o --1.1792 y h seventy --1.1792 y h six --1.0031 y j e --1.0031 y j o --1.4010 y l a --1.4010 y l d --1.4010 y l e --1.4010 y l l --1.4010 y l o --1.0031 y m h --1.0031 y m o --1.0031 y n e --1.0031 y n p --0.7020 y o r --1.0031 y oh seven --1.0031 y oh six --1.4010 y one five --1.4010 y one nine --1.4010 y one stop --1.4010 y one ten --1.4010 y one two --1.0031 y p i --1.0031 y p l --0.7020 y q fifty --0.7020 y r b --1.0031 y s h --1.0031 y s t --0.7020 y seven oh --0.7020 y t l --0.7020 y ten ten --1.0031 y three oh --1.0031 y three sixty --0.7020 y two ten --1.0031 y u one --1.0031 y u seven --1.0031 y v a --1.0031 y v m --1.0031 y w a --1.0031 y w l --0.7020 y y f --1.0031 y z o --1.0031 y z two --1.0031 yes enter seven --1.0031 yes enter seventy --1.1792 yes erase f --1.1792 yes erase v --1.1792 yes erase w --0.7020 yes f e --0.7020 yes g r --1.0031 yes go l --1.0031 yes go yes --1.0031 yes h a --1.0031 yes h z --0.7020 yes j e --0.7020 yes n n --1.1792 yes rubout n --1.1792 yes rubout v --1.1792 yes rubout z --1.0031 yes s a --1.0031 yes s k --0.7020 yes u m --0.7020 yes x h --0.7020 yes yes enter --1.3041 z a e --1.3041 z a g --1.3041 z a k --1.3041 z a p --0.7020 z b e --0.7020 z c b --0.7020 z d z --0.3985 z e l --1.1792 z e v --0.7020 z eight oh --0.7020 z f m --0.7020 z g d --0.7020 z h four --1.1792 z i n --1.1792 z i r --1.1792 z i v --0.7020 z j o --0.7020 z k w --1.0031 z l i --1.0031 z l three --1.1792 z nine six --1.1792 z nine twenty --1.1792 z nine yes --0.7020 z ninety eight --1.1792 z o sixty --1.1792 z o t --1.1792 z o two --0.7020 z p h --0.2224 z r v --0.7020 z seven seventy --0.7020 z six eight --0.2224 z sixty nine --0.7020 z t p --0.7020 z twenty six --0.7020 z two enter --0.7020 z u a --0.7020 z w eight --1.0031 z x l --1.0031 z x two --1.0031 z y g --1.0031 z y t --0.7020 z z sixty --0.7020 zero a g --0.2224 zero c e --1.0031 zero e a --1.0031 zero e l --0.7020 zero eight two --1.1792 zero enter five --1.1792 zero enter forty --1.1792 zero enter two --0.7020 zero five seven --1.0031 zero four eight --1.0031 zero four one --0.7020 zero m e --0.7020 zero nine thirty --0.5234 zero one five --1.3041 zero one one --1.3041 zero one two --0.7020 zero p u --0.7020 zero r u --0.7020 zero rubout t --0.7020 zero s z --1.0031 zero seven four --1.0031 zero seven nine --1.4802 zero six five --1.4802 zero six four --1.4802 zero six six --1.4802 zero six t --1.4802 zero six two --1.4802 zero six v --0.7020 zero t v --0.7020 zero twelve twenty --1.0031 zero two seven --1.0031 zero two two --0.7020 zero yes s --0.7020 zero zero six - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.fst deleted file mode 100755 index affeb642..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.fst +++ /dev/null @@ -1,307 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 8.71966 -T 0 1 8.71966 -T 0 4 a a 3.25493 -T 0 5 and and 6.52253 -T 0 6 apostrophe apostrophe 8.71966 -T 0 7 april april 8.71966 -T 0 8 area area 8.71966 -T 0 9 august august 7.21561 -T 0 10 b b 3.82275 -T 0 11 c c 4.28442 -T 0 12 code code 8.71966 -T 0 13 d d 3.98693 -T 0 14 december december 8.71966 -T 0 15 e e 3.08454 -T 0 16 eight eight 3.57154 -T 0 17 eighteen eighteen 8.71966 -T 0 18 eighteenth eighteenth 8.71966 -T 0 19 eighth eighth 8.71966 -T 0 20 eighty eighty 5.89393 -T 0 21 eleven eleven 7.21561 -T 0 22 eleventh eleventh 8.71966 -T 0 23 enter enter 4.17113 -T 0 24 erase erase 5.10552 -T 0 25 f f 4.42764 -T 0 26 february february 7.90869 -T 0 27 fifteen fifteen 6.99249 -T 0 28 fifteenth fifteenth 7.90869 -T 0 29 fifth fifth 7.90869 -T 0 30 fifty fifty 4.99108 -T 0 31 first first 7.50343 -T 0 32 five five 3.29362 -T 0 33 forty forty 5.30608 -T 0 34 four four 3.49003 -T 0 35 fourteen fourteen 6.40464 -T 0 36 fourth fourth 8.71966 -T 0 37 g g 3.85706 -T 0 38 go go 6.29941 -T 0 39 h h 3.6116 -T 0 40 half half 7.90869 -T 0 41 help help 6.11705 -T 0 42 hundred hundred 6.11705 -T 0 43 i i 3.49602 -T 0 44 j j 4.73066 -T 0 45 january january 7.90869 -T 0 46 july july 7.50343 -T 0 47 june june 7.90869 -T 0 48 k k 4.3535 -T 0 49 l l 3.66756 -T 0 50 m m 4.11334 -T 0 51 march march 7.50343 -T 0 52 may may 7.50343 -T 0 53 n n 3.48404 -T 0 54 nine nine 3.89252 -T 0 55 nineteen nineteen 5.20085 -T 0 56 ninety ninety 6.29941 -T 0 57 ninth ninth 7.90869 -T 0 58 no no 5.82945 -T 0 59 o o 3.5393 -T 0 60 october october 7.50343 -T 0 61 of of 7.90869 -T 0 62 oh oh 4.36777 -T 0 63 one one 2.97425 -T 0 64 p p 3.99683 -T 0 65 q q 5.20085 -T 0 66 r r 3.19484 -T 0 67 repeat repeat 5.76867 -T 0 68 rubout rubout 4.52435 -T 0 69 s s 3.58466 -T 0 70 second second 7.90869 -T 0 71 september september 6.99249 -T 0 72 seven seven 3.63901 -T 0 73 seventeen seventeen 6.99249 -T 0 74 seventh seventh 8.71966 -T 0 75 seventy seventy 5.34384 -T 0 76 six six 3.502 -T 0 77 sixteen sixteen 7.50343 -T 0 78 sixteenth sixteenth 8.71966 -T 0 79 sixth sixth 8.71966 -T 0 80 sixty sixty 4.32518 -T 0 81 start start 6.20409 -T 0 82 stop stop 5.82945 -T 0 83 t t 3.27405 -T 0 84 ten ten 5.96277 -T 0 85 third third 7.50343 -T 0 86 thirtieth thirtieth 7.50343 -T 0 87 thirty thirty 5.04658 -T 0 88 thousand thousand 6.40464 -T 0 89 three three 3.71154 -T 0 90 twelfth twelfth 7.90869 -T 0 91 twelve twelve 6.40464 -T 0 92 twentieth twentieth 8.71966 -T 0 93 twenty twenty 4.93835 -T 0 94 two two 3.02606 -T 0 95 u u 3.92913 -T 0 96 v v 4.44307 -T 0 97 w w 4.32518 -T 0 98 x x 5.13615 -T 0 99 y y 4.44307 -T 0 100 yes yes 5.55752 -T 0 101 z z 4.79536 -T 0 102 zero zero 5.01848 -F 1 8.71966 -T 1 0 -F 2 8.71966 -T 2 0 -F 3 8.71966 -T 3 0 -F 4 8.71966 -T 4 0 -F 5 8.71966 -T 5 0 -F 6 8.71966 -T 6 0 -F 7 8.71966 -T 7 0 -F 8 8.71966 -T 8 0 -F 9 8.71966 -T 9 0 -F 10 8.71966 -T 10 0 -F 11 8.71966 -T 11 0 -F 12 8.71966 -T 12 0 -F 13 8.71966 -T 13 0 -F 14 8.71966 -T 14 0 -F 15 8.71966 -T 15 0 -F 16 8.71966 -T 16 0 -F 17 8.71966 -T 17 0 -F 18 8.71966 -T 18 0 -F 19 8.71966 -T 19 0 -F 20 8.71966 -T 20 0 -F 21 8.71966 -T 21 0 -F 22 8.71966 -T 22 0 -F 23 8.71966 -T 23 0 -F 24 8.71966 -T 24 0 -F 25 8.71966 -T 25 0 -F 26 8.71966 -T 26 0 -F 27 8.71966 -T 27 0 -F 28 8.71966 -T 28 0 -F 29 8.71966 -T 29 0 -F 30 8.71966 -T 30 0 -F 31 8.71966 -T 31 0 -F 32 8.71966 -T 32 0 -F 33 8.71966 -T 33 0 -F 34 8.71966 -T 34 0 -F 35 8.71966 -T 35 0 -F 36 8.71966 -T 36 0 -F 37 8.71966 -T 37 0 -F 38 8.71966 -T 38 0 -F 39 8.71966 -T 39 0 -F 40 8.71966 -T 40 0 -F 41 8.71966 -T 41 0 -F 42 8.71966 -T 42 0 -F 43 8.71966 -T 43 0 -F 44 8.71966 -T 44 0 -F 45 8.71966 -T 45 0 -F 46 8.71966 -T 46 0 -F 47 8.71966 -T 47 0 -F 48 8.71966 -T 48 0 -F 49 8.71966 -T 49 0 -F 50 8.71966 -T 50 0 -F 51 8.71966 -T 51 0 -F 52 8.71966 -T 52 0 -F 53 8.71966 -T 53 0 -F 54 8.71966 -T 54 0 -F 55 8.71966 -T 55 0 -F 56 8.71966 -T 56 0 -F 57 8.71966 -T 57 0 -F 58 8.71966 -T 58 0 -F 59 8.71966 -T 59 0 -F 60 8.71966 -T 60 0 -F 61 8.71966 -T 61 0 -F 62 8.71966 -T 62 0 -F 63 8.71966 -T 63 0 -F 64 8.71966 -T 64 0 -F 65 8.71966 -T 65 0 -F 66 8.71966 -T 66 0 -F 67 8.71966 -T 67 0 -F 68 8.71966 -T 68 0 -F 69 8.71966 -T 69 0 -F 70 8.71966 -T 70 0 -F 71 8.71966 -T 71 0 -F 72 8.71966 -T 72 0 -F 73 8.71966 -T 73 0 -F 74 8.71966 -T 74 0 -F 75 8.71966 -T 75 0 -F 76 8.71966 -T 76 0 -F 77 8.71966 -T 77 0 -F 78 8.71966 -T 78 0 -F 79 8.71966 -T 79 0 -F 80 8.71966 -T 80 0 -F 81 8.71966 -T 81 0 -F 82 8.71966 -T 82 0 -F 83 8.71966 -T 83 0 -F 84 8.71966 -T 84 0 -F 85 8.71966 -T 85 0 -F 86 8.71966 -T 86 0 -F 87 8.71966 -T 87 0 -F 88 8.71966 -T 88 0 -F 89 8.71966 -T 89 0 -F 90 8.71966 -T 90 0 -F 91 8.71966 -T 91 0 -F 92 8.71966 -T 92 0 -F 93 8.71966 -T 93 0 -F 94 8.71966 -T 94 0 -F 95 8.71966 -T 95 0 -F 96 8.71966 -T 96 0 -F 97 8.71966 -T 97 0 -F 98 8.71966 -T 98 0 -F 99 8.71966 -T 99 0 -F 100 8.71966 -T 100 0 -F 101 8.71966 -T 101 0 -F 102 8.71966 -T 102 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.lm deleted file mode 100755 index 93d6e97b..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.unigram.lm +++ /dev/null @@ -1,144 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 101 words, - which begins "", "a", "and"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 16 -1-gram discounting ratios : 0.89 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=102 - -\1-grams: --3.7869 0.0000 --98.9999 0.0000 --1.4136 a 0.0000 --2.8327 and 0.0000 --3.7869 apostrophe 0.0000 --3.7869 april 0.0000 --3.7869 area 0.0000 --3.1337 august 0.0000 --1.6602 b 0.0000 --1.8607 c 0.0000 --3.7869 code 0.0000 --1.7315 d 0.0000 --3.7869 december 0.0000 --1.3396 e 0.0000 --1.5511 eight 0.0000 --3.7869 eighteen 0.0000 --3.7869 eighteenth 0.0000 --3.7869 eighth 0.0000 --2.5597 eighty 0.0000 --3.1337 eleven 0.0000 --3.7869 eleventh 0.0000 --1.8115 enter 0.0000 --2.2173 erase 0.0000 --1.9229 f 0.0000 --3.4347 february 0.0000 --3.0368 fifteen 0.0000 --3.4347 fifteenth 0.0000 --3.4347 fifth 0.0000 --2.1676 fifty 0.0000 --3.2587 first 0.0000 --1.4304 five 0.0000 --2.3044 forty 0.0000 --1.5157 four 0.0000 --2.7815 fourteen 0.0000 --3.7869 fourth 0.0000 --1.6751 g 0.0000 --2.7358 go 0.0000 --1.5685 h 0.0000 --3.4347 half 0.0000 --2.6566 help 0.0000 --2.6566 hundred 0.0000 --1.5183 i 0.0000 --2.0545 j 0.0000 --3.4347 january 0.0000 --3.2587 july 0.0000 --3.4347 june 0.0000 --1.8907 k 0.0000 --1.5928 l 0.0000 --1.7864 m 0.0000 --3.2587 march 0.0000 --3.2587 may 0.0000 --1.5131 n 0.0000 --1.6905 nine 0.0000 --2.2587 nineteen 0.0000 --2.7358 ninety 0.0000 --3.4347 ninth 0.0000 --2.5317 no 0.0000 --1.5371 o 0.0000 --3.2587 october 0.0000 --3.4347 of 0.0000 --1.8969 oh 0.0000 --1.2917 one 0.0000 --1.7358 p 0.0000 --2.2587 q 0.0000 --1.3875 r 0.0000 --2.5053 repeat 0.0000 --1.9649 rubout 0.0000 --1.5568 s 0.0000 --3.4347 second 0.0000 --3.0368 september 0.0000 --1.5804 seven 0.0000 --3.0368 seventeen 0.0000 --3.7869 seventh 0.0000 --2.3208 seventy 0.0000 --1.5209 six 0.0000 --3.2587 sixteen 0.0000 --3.7869 sixteenth 0.0000 --3.7869 sixth 0.0000 --1.8784 sixty 0.0000 --2.6944 start 0.0000 --2.5317 stop 0.0000 --1.4219 t 0.0000 --2.5896 ten 0.0000 --3.2587 third 0.0000 --3.2587 thirtieth 0.0000 --2.1917 thirty 0.0000 --2.7815 thousand 0.0000 --1.6119 three 0.0000 --3.4347 twelfth 0.0000 --2.7815 twelve 0.0000 --3.7869 twentieth 0.0000 --2.1447 twenty 0.0000 --1.3142 two 0.0000 --1.7064 u 0.0000 --1.9296 v 0.0000 --1.8784 w 0.0000 --2.2306 x 0.0000 --1.9296 y 0.0000 --2.4136 yes 0.0000 --2.0826 z 0.0000 --2.1795 zero 0.0000 --3.7869 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.wordlist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.wordlist deleted file mode 100755 index a86b3457..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_full.wordlist +++ /dev/null @@ -1,105 +0,0 @@ -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -AND -APOSTROPHE -APRIL -AREA -AUGUST -CODE -DECEMBER -EIGHT -EIGHTEEN -EIGHTEENTH -EIGHTH -EIGHTY -ELEVEN -ELEVENTH -ENTER -ERASE -FEBRUARY -FIFTEEN -FIFTEENTH -FIFTH -FIFTY -FIRST -FIVE -FORTY -FOUR -FOURTEEN -FOURTH -GO -HALF -HALL -HELP -HUNDRED -JANUARY -JULY -JUNE -LANE -MARCH -MAY -MEMORY -NINE -NINETEEN -NINETY -NINTH -NO -NOVEMBER -OCTOBER -OF -OH -ONE -REPEAT -RUBOUT -SECOND -SEPTEMBER -SEVEN -SEVENTEEN -SEVENTH -SEVENTY -SIX -SIXTEEN -SIXTEENTH -SIXTH -SIXTY -START -STOP -TEN -THIRD -THIRTEEN -THIRTIETH -THIRTY -THOUSAND -THREE -TWELFTH -TWELVE -TWENTIETH -TWENTY -TWO -WEAN -YES -ZERO diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.fst deleted file mode 100755 index 219bd134..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.fst +++ /dev/null @@ -1,6484 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 1.9093 -T 0 1 9.79796 -T 0 74 a a 3.41704 -T 0 104 about about 9.79796 -T 0 105 after after 9.79796 -T 0 106 all all 9.79796 -T 0 107 an an 9.79796 -T 0 108 and and 6.73552 -T 0 114 any any 9.79796 -T 0 115 apostrophe apostrophe 9.29277 -T 0 117 april april 9.29277 -T 0 119 are are 9.79796 -T 0 120 area area 9.29277 -T 0 122 as as 9.79796 -T 0 123 at at 9.79796 -T 0 124 august august 7.48455 -T 0 127 b b 3.98647 -T 0 156 back back 9.79796 -T 0 157 be be 9.79796 -T 0 158 been been 9.79796 -T 0 159 before before 9.79796 -T 0 160 but but 9.79796 -T 0 161 by by 9.79796 -T 0 162 c c 4.45021 -T 0 189 called called 9.79796 -T 0 190 can can 9.79796 -T 0 191 code code 9.29277 -T 0 193 could could 9.79796 -T 0 194 d d 4.1511 -T 0 222 day day 9.79796 -T 0 223 december december 9.29277 -T 0 225 did did 9.79796 -T 0 226 do do 9.79796 -T 0 227 down down 9.79796 -T 0 228 e e 3.24641 -T 0 262 each each 9.79796 -T 0 263 eight eight 3.73433 -T 0 284 eighteen eighteen 9.29277 -T 0 286 eighteenth eighteenth 9.29277 -T 0 288 eighth eighth 9.29277 -T 0 290 eighty eighty 6.08205 -T 0 300 eleven eleven 7.48455 -T 0 305 eleventh eleventh 9.29277 -T 0 307 enter enter 4.33623 -T 0 328 erase erase 5.27822 -T 0 350 f f 4.59412 -T 0 378 february february 8.29967 -T 0 381 fifteen fifteen 7.23864 -T 0 385 fifteenth fifteenth 8.29967 -T 0 387 fifth fifth 8.29967 -T 0 390 fifty fifty 5.1624 -T 0 402 find find 9.79796 -T 0 403 first first 7.81129 -T 0 405 five five 3.45595 -T 0 426 for for 9.79796 -T 0 427 forty forty 5.48176 -T 0 437 four four 3.65259 -T 0 459 fourteen fourteen 6.61187 -T 0 465 fourth fourth 9.29277 -T 0 467 from from 9.79796 -T 0 468 g g 4.02077 -T 0 495 get get 9.79796 -T 0 496 go go 6.50158 -T 0 498 good good 9.79796 -T 0 499 h h 3.77463 -T 0 530 had had 9.79796 -T 0 531 half half 8.29967 -T 0 533 hall hall 9.79796 -T 0 534 has has 9.79796 -T 0 535 have have 9.79796 -T 0 536 he he 9.79796 -T 0 537 help help 6.31208 -T 0 539 her her 9.79796 -T 0 540 him him 9.79796 -T 0 541 his his 9.79796 -T 0 542 how how 9.79796 -T 0 543 hundred hundred 6.31208 -T 0 549 i i 3.65881 -T 0 576 if if 9.79796 -T 0 577 in in 9.79796 -T 0 578 into into 9.79796 -T 0 579 is is 9.79796 -T 0 580 it it 9.79796 -T 0 581 its its 9.79796 -T 0 582 j j 4.89967 -T 0 608 january january 8.29967 -T 0 611 july july 7.81129 -T 0 615 june june 8.29967 -T 0 618 just just 9.79796 -T 0 619 k k 4.51951 -T 0 650 know know 9.79796 -T 0 651 l l 3.83058 -T 0 680 lane lane 9.79796 -T 0 681 like like 9.79796 -T 0 682 little little 9.79796 -T 0 683 long long 9.79796 -T 0 684 look look 9.79796 -T 0 685 m m 4.2782 -T 0 716 made made 9.79796 -T 0 717 make make 9.79796 -T 0 718 man man 9.79796 -T 0 719 many many 9.79796 -T 0 720 march march 7.81129 -T 0 724 may may 7.81129 -T 0 728 me me 9.79796 -T 0 729 memory memory 9.79796 -T 0 730 more more 9.79796 -T 0 731 most most 9.79796 -T 0 732 much much 9.79796 -T 0 733 my my 9.79796 -T 0 734 n n 3.6466 -T 0 763 new new 9.79796 -T 0 764 nine nine 4.05646 -T 0 788 nineteen nineteen 5.37469 -T 0 794 ninety ninety 6.50158 -T 0 801 ninth ninth 8.29967 -T 0 804 no no 6.01573 -T 0 806 not not 9.79796 -T 0 807 now now 9.79796 -T 0 808 o o 3.7021 -T 0 842 october october 7.81129 -T 0 846 of of 8.29967 -T 0 849 oh oh 4.53402 -T 0 861 on on 9.79796 -T 0 862 one one 3.13957 -T 0 889 only only 9.79796 -T 0 890 or or 9.79796 -T 0 891 other other 9.79796 -T 0 892 our our 9.79796 -T 0 893 out out 9.79796 -T 0 894 over over 9.79796 -T 0 895 p p 4.16123 -T 0 919 people people 9.79796 -T 0 920 q q 5.37469 -T 0 941 r r 3.35694 -T 0 969 repeat repeat 5.95356 -T 0 971 right right 9.79796 -T 0 972 rubout rubout 4.69175 -T 0 997 s s 3.74769 -T 0 1024 said said 9.79796 -T 0 1025 same same 9.79796 -T 0 1026 second second 8.29967 -T 0 1028 see see 9.79796 -T 0 1029 september september 7.23864 -T 0 1035 seven seven 3.80226 -T 0 1061 seventeen seventeen 7.23864 -T 0 1065 seventh seventh 9.29277 -T 0 1067 seventy seventy 5.51999 -T 0 1076 she she 9.79796 -T 0 1077 six six 3.66479 -T 0 1100 sixteen sixteen 7.81129 -T 0 1103 sixteenth sixteenth 9.29277 -T 0 1105 sixth sixth 9.29277 -T 0 1107 sixty sixty 4.49119 -T 0 1119 so so 9.79796 -T 0 1120 some some 9.79796 -T 0 1121 start start 6.40234 -T 0 1123 stop stop 6.01573 -T 0 1125 t t 3.43638 -T 0 1154 ten ten 6.15297 -T 0 1163 than than 9.79796 -T 0 1164 that that 9.79796 -T 0 1165 the the 9.79796 -T 0 1166 their their 9.79796 -T 0 1167 them them 9.79796 -T 0 1168 then then 9.79796 -T 0 1169 there there 9.79796 -T 0 1170 these these 9.79796 -T 0 1171 they they 9.79796 -T 0 1172 think think 9.79796 -T 0 1173 third third 7.81129 -T 0 1175 thirtieth thirtieth 7.81129 -T 0 1177 thirty thirty 5.21858 -T 0 1188 this this 9.79796 -T 0 1189 thousand thousand 6.61187 -T 0 1197 three three 3.87502 -T 0 1221 through through 9.79796 -T 0 1222 time time 9.79796 -T 0 1223 to to 9.79796 -T 0 1224 too too 9.79796 -T 0 1225 twelfth twelfth 8.29967 -T 0 1227 twelve twelve 6.61187 -T 0 1236 twelvth twelvth 9.79796 -T 0 1237 twentieth twentieth 9.29277 -T 0 1239 twenty twenty 5.10921 -T 0 1256 two two 3.1877 -T 0 1279 u u 4.09331 -T 0 1308 up up 9.79796 -T 0 1309 use use 9.79796 -T 0 1310 used used 9.79796 -T 0 1311 v v 4.60978 -T 0 1334 very very 9.79796 -T 0 1335 w w 4.49119 -T 0 1362 was was 9.79796 -T 0 1363 water water 9.79796 -T 0 1364 way way 9.79796 -T 0 1365 we we 9.79796 -T 0 1366 wean wean 9.79796 -T 0 1367 were were 9.79796 -T 0 1368 what what 9.79796 -T 0 1369 when when 9.79796 -T 0 1370 where where 9.79796 -T 0 1371 which which 9.79796 -T 0 1372 who who 9.79796 -T 0 1373 will will 9.79796 -T 0 1374 with with 9.79796 -T 0 1375 words words 9.79796 -T 0 1376 would would 9.79796 -T 0 1377 write write 9.79796 -T 0 1378 x x 5.3093 -T 0 1405 y y 4.60978 -T 0 1433 yes yes 5.73735 -T 0 1435 you you 9.79796 -T 0 1436 your your 9.79796 -T 0 1437 z z 4.9646 -T 0 1465 zero zero 5.19026 -F 1 1.9093 -T 1 0 -F 2 3.58107 -T 2 0 , , 1.67176 -T 2 3 a a 4.18219 -T 2 4 april april 7.60866 -T 2 5 area area 7.60866 -T 2 6 august august 5.61002 -T 2 7 b b 3.54115 -T 2 8 c c 4.05278 -T 2 9 d d 4.41452 -T 2 10 december december 7.60866 -T 2 11 e e 4.18219 -T 2 12 eight eight 4.84349 -T 2 13 eighteen eighteen 7.60866 -T 2 14 eleven eleven 6.46888 -T 2 15 enter enter 2.42992 -T 2 16 erase erase 3.37398 -T 2 17 f f 4.18219 -T 2 18 february february 7.60866 -T 2 19 fifty fifty 4.84349 -T 2 20 five five 4.11541 -T 2 21 forty forty 7.15353 -T 2 22 four four 3.43753 -T 2 23 fourteen fourteen 7.60866 -T 2 24 g g 4.18219 -T 2 25 go go 4.60609 -T 2 26 h h 4.05278 -T 2 27 help help 4.41452 -T 2 28 i i 5.33057 -T 2 29 j j 3.93811 -T 2 30 january january 6.46888 -T 2 31 july july 5.95011 -T 2 32 june june 6.46888 -T 2 33 k k 4.84349 -T 2 34 l l 4.41452 -T 2 35 m m 3.47092 -T 2 36 march march 5.95011 -T 2 37 may may 6.46888 -T 2 38 n n 4.33093 -T 2 39 nine nine 5.15503 -T 2 40 ninth ninth 7.60866 -T 2 41 no no 4.11541 -T 2 42 o o 4.71777 -T 2 43 october october 5.95011 -T 2 44 oh oh 5.95011 -T 2 45 one one 2.34933 -T 2 46 p p 2.7357 -T 2 47 q q 6.46888 -T 2 48 r r 4.33093 -T 2 49 repeat repeat 4.05278 -T 2 50 rubout rubout 2.7859 -T 2 51 s s 3.47092 -T 2 52 september september 5.61002 -T 2 53 seven seven 4.5057 -T 2 54 six six 3.88538 -T 2 55 sixty sixty 6.16296 -T 2 56 start start 4.5057 -T 2 57 stop stop 4.11541 -T 2 58 t t 4.41452 -T 2 59 ten ten 5.35696 -T 2 60 thirty thirty 5.61002 -T 2 61 three three 4.11541 -T 2 62 twelve twelve 5.15503 -T 2 63 twenty twenty 6.78097 -T 2 64 two two 3.69864 -T 2 65 u u 5.76507 -T 2 66 v v 4.41452 -T 2 67 w w 4.60609 -T 2 68 x x 5.35696 -T 2 69 y y 5.95011 -T 2 70 yes yes 3.83542 -T 2 71 z z 5.61002 -F 3 3.13216 -T 3 74 , , 0.457249 -T 3 76 a a 4.01617 -T 3 82 g g 2.46883 -T 3 88 l l 1.88812 -T 3 89 m m 1.88812 -T 3 94 s s 2.46883 -T 3 102 y y 4.01617 -F 4 2.54439 -T 4 117 , , 4.73853e-09 -F 5 2.54471 -T 5 120 , , 4.73853e-09 -F 6 3.23189 -T 6 124 , , -1.59033e-09 -F 7 4.08083 -T 7 127 , , 0.70923 -T 7 128 a a 3.09283 -T 7 131 e e 1.67007 -T 7 138 j j 4.64017 -T 7 140 l l 4.64017 -T 7 142 o o 3.09283 -T 7 145 r r 1.10547 -T 7 147 seven seven 4.64017 -T 7 151 v v 4.64017 -T 7 154 y y 4.64017 -F 8 3.20419 -T 8 162 , , 0.258494 -T 8 164 a a 2.01338 -T 8 168 e e 2.01338 -T 8 172 i i 4.1412 -T 8 175 l l 2.59386 -T 8 176 m m 4.1412 -T 8 177 o o 2.59386 -T 8 178 r r 4.1412 -F 9 2.05268 -T 9 194 , , 0.634975 -T 9 196 a a 1.30004 -T 9 209 o o 1.30004 -T 9 215 s s 3.79282 -T 9 220 y y 3.79282 -F 10 2.54471 -T 10 223 , , 4.73853e-09 -F 11 2.3143 -T 11 228 , , 0.49733 -T 11 230 a a 1.25629 -T 11 233 d d 4.01617 -T 11 236 f f 4.01617 -T 11 243 l l 2.46883 -T 11 244 m m 4.01617 -T 11 249 r r 1.88812 -T 11 261 z z 4.01617 -F 12 1.32964 -T 12 263 , , 0.220481 -T 12 265 eight eight 1.84023 -T 12 267 forty forty 3.38756 -T 12 269 fourteen fourteen 3.38756 -T 12 272 oh oh 3.38756 -F 13 2.54455 -T 13 284 , , 4.73853e-09 -F 14 2.18754 -T 14 300 , , 0.0470577 -T 14 302 nine nine 2.00118 -T 14 303 seventeen seventeen 2.00118 -F 15 3.62345 -T 15 307 , , -4.54709e-10 -F 16 2.55274 -T 16 328 , , 2.21573e-10 -F 17 3.37719 -T 17 350 , , 0.606702 -T 17 352 a a 4.01617 -T 17 355 e e 1.52316 -T 17 361 i i 1.25629 -T 17 363 k k 4.01617 -T 17 367 r r 2.46883 -T 17 376 y y 4.01617 -F 18 2.58718 -T 18 378 , , 0.0470533 -T 18 379 eighth eighth 1.3081 -F 19 3.46887 -T 19 390 , , 0.243407 -T 19 396 one one 1.84023 -T 19 397 seven seven 3.38756 -T 19 398 six six 1.25951 -T 19 400 three three 3.38756 -F 20 1.79639 -T 20 405 , , 0.369018 -T 20 415 one one 1.95259 -T 20 417 six six 1.95259 -T 20 418 sixteen sixteen 4.08064 -T 20 419 t t 4.08064 -T 20 420 ten ten 4.08064 -T 20 423 twenty twenty 4.08064 -T 20 424 two two 1.32099 -F 21 3.53081 -T 21 427 , , 0.177596 -T 21 435 three three 1.3081 -F 22 2.24199 -T 22 437 , , 1.03129 -T 22 440 eight eight 3.19461 -T 22 444 four four 1.9823 -T 22 447 oh oh 3.19461 -T 22 448 one one 1.01176 -T 22 449 seven seven 3.19461 -T 22 456 twenty twenty 4.74194 -T 22 457 two two 1.77184 -F 23 1.55439 -T 23 459 , , 0.261489 -T 23 463 fourteen fourteen 1.3081 -F 24 3.78065 -T 24 468 , , 0.49411 -T 24 470 a a 2.46883 -T 24 472 c c 4.01617 -T 24 474 e e 4.01617 -T 24 478 i i 1.88812 -T 24 481 l l 1.88812 -T 24 484 o o 4.01617 -T 24 487 r r 2.46883 -T 24 491 two two 4.01617 -T 24 494 w w 4.01617 -F 25 0.054341 -T 25 496 , , 3.0162e-10 -F 26 1.69567 -T 26 499 , , 0.684373 -T 26 501 a a 1.38155 -T 26 502 b b 4.1412 -T 26 509 i i 2.59386 -T 26 510 k k 4.1412 -T 26 514 o o 1.38155 -T 26 516 p p 4.1412 -T 26 517 q q 4.1412 -T 26 529 z z 4.1412 -F 27 0.0451307 -T 27 537 , , 8.77769e-11 -F 28 3.67826 -T 28 549 , , 0.148423 -T 28 554 d d 2.69425 -T 28 566 p p 2.69425 -T 28 574 v v 2.69425 -F 29 2.99705 -T 29 582 , , 0.41184 -T 29 583 a a 2.70508 -T 29 587 e e 1.49277 -T 29 597 o o 1.49277 -T 29 600 s s 4.25241 -F 30 2.54436 -T 30 608 , , 1.75563e-09 -F 31 2.53813 -T 31 611 , , 6.73601e-09 -F 32 2.53871 -T 32 615 , , 1.75563e-09 -F 33 2.38099 -T 33 619 , , 0.481128 -T 33 621 a a 1.25951 -T 33 624 e e 1.84023 -T 33 632 l l 3.38756 -T 33 644 u u 3.38756 -T 33 646 w w 3.38756 -F 34 2.82621 -T 34 651 , , 0.415171 -T 34 662 i i 2.24571 -T 34 668 o o 2.24571 -T 34 669 r r 2.24571 -T 34 676 u u 2.24571 -T 34 678 z z 3.79282 -F 35 3.77868 -T 35 685 , , 0.878056 -T 35 687 a a 0.815576 -T 35 689 c c 4.70925 -T 35 691 e e 3.16191 -T 35 693 f f 4.70925 -T 35 697 g g 4.70925 -T 35 699 i i 2.5812 -T 35 704 o o 1.5653 -F 36 2.53828 -T 36 720 , , 6.73601e-09 -F 37 2.53386 -T 37 724 , , 5.71444e-10 -F 38 1.95672 -T 38 734 , , 0.462338 -T 38 740 e e 0.902844 -T 38 744 h h 3.87295 -T 38 748 l l 3.87295 -T 38 751 o o 3.87295 -F 39 0.946975 -T 39 764 , , 0.118504 -T 39 772 four four 3.09974 -T 39 778 one one 3.09974 -T 39 783 thirty thirty 3.09974 -T 39 784 three three 3.09974 -T 39 785 twenty twenty 3.09974 -T 39 786 two two 3.09974 -F 40 2.58039 -T 40 801 , , 0.0470533 -T 40 802 of of 1.3081 -F 41 0.0336177 -T 41 804 , , 2.54369e-10 -F 42 3.93074 -T 42 808 , , 0.669255 -T 42 810 a a 1.37718 -T 42 811 apostrophe apostrophe 3.50523 -T 42 825 l l 1.37718 -F 43 2.53797 -T 43 842 , , 6.73601e-09 -F 44 2.76659 -T 44 849 , , 0.399762 -T 44 857 seven seven 2.40666 -T 44 858 six six 0.859325 -F 45 2.72992 -T 45 862 , , 1.1036 -T 45 865 eleven eleven 5.81886 -T 45 868 five five 0.411932 -T 45 870 four four 4.27153 -T 45 871 hundred hundred 5.81886 -T 45 873 nine nine 4.27153 -T 45 875 oh oh 3.32585 -T 45 880 sixteen sixteen 5.81886 -T 45 882 ten ten 4.27153 -T 45 883 thirty thirty 5.81886 -T 45 884 thousand thousand 4.27153 -T 45 886 twenty twenty 4.27153 -T 45 887 two two 3.05921 -T 45 888 zero zero 4.27153 -F 46 4.57898 -T 46 895 , , 1.16845 -T 46 896 a a 3.88792 -T 46 905 g g 3.3072 -T 46 906 h h 3.88792 -T 46 907 i i 0.314533 -T 46 911 o o 2.94224 -T 46 915 t t 3.88792 -T 46 917 u u 3.88792 -F 47 2.73708 -T 47 920 , , 0.248316 -T 47 921 c c 2.00118 -T 47 923 e e 2.00118 -F 48 3.52198 -T 48 941 , , 0.463456 -T 48 950 h h 3.87295 -T 48 951 i i 2.32561 -T 48 955 o o 1.1133 -T 48 957 q q 3.87295 -T 48 964 u u 3.87295 -F 49 0.0315454 -T 49 969 , , 2.50423e-10 -F 50 2.88947 -T 50 972 , , -1.50776e-09 -F 51 2.789 -T 51 997 , , 0.573225 -T 51 999 a a 3.16191 -T 51 1001 c c 4.70925 -T 51 1002 e e 2.5812 -T 51 1003 f f 4.70925 -T 51 1004 h h 3.16191 -T 51 1008 l l 4.70925 -T 51 1010 n n 4.70925 -T 51 1013 p p 3.16191 -T 51 1016 t t 1.41747 -T 51 1018 u u 2.5812 -T 51 1020 w w 3.16191 -T 51 1022 z z 4.70925 -F 52 2.53325 -T 52 1029 , , 1.1658e-09 -F 53 1.03532 -T 53 1035 , , 0.269247 -T 53 1038 fifteen fifteen 3.70601 -T 53 1039 fifty fifty 3.70601 -T 53 1042 four four 3.70601 -T 53 1043 fourteen fourteen 3.70601 -T 53 1045 may may 3.70601 -T 53 1050 seventeen seventeen 3.70601 -T 53 1055 thirty thirty 3.70601 -T 53 1057 three three 2.15867 -T 53 1058 twenty twenty 3.70601 -F 54 1.5557 -T 54 1077 , , 0.489599 -T 54 1079 eight eight 1.54411 -T 54 1089 seventeen seventeen 4.30376 -T 54 1090 six six 1.81075 -T 54 1091 sixteen sixteen 4.30376 -T 54 1093 thirty thirty 4.30376 -T 54 1095 three three 2.17571 -T 54 1097 twenty twenty 4.30376 -T 54 1099 zero zero 4.30376 -F 55 2.46049 -T 55 1107 , , 0.0510649 -T 55 1117 three three 2.00118 -F 56 0.0492753 -T 56 1121 , , -2.94233e-10 -F 57 0.0336177 -T 57 1123 , , 2.54369e-10 -F 58 3.21802 -T 58 1125 , , 0.628992 -T 58 1127 a a 2.24571 -T 58 1136 h h 1.665 -T 58 1137 i i 2.24571 -T 58 1143 o o 3.79282 -T 58 1146 r r 2.24571 -T 58 1151 v v 3.79282 -F 59 0.90315 -T 59 1154 , , 0.131323 -T 59 1156 one one 2.91738 -T 59 1157 seventy seventy 2.91738 -T 59 1160 thirty thirty 2.91738 -T 59 1161 twelve twelve 2.91738 -T 59 1162 twenty twenty 2.91738 -F 60 2.08488 -T 60 1177 , , 0.0270629 -T 60 1186 three three 2.69425 -F 61 1.55688 -T 61 1197 , , 0.461306 -T 61 1201 eleven eleven 4.08064 -T 61 1204 four four 2.5333 -T 61 1205 fourteen fourteen 4.08064 -T 61 1208 oh oh 1.95259 -T 61 1212 seventy seventy 4.08064 -T 61 1213 six six 2.5333 -T 61 1217 twelve twelve 4.08064 -T 61 1218 twenty twenty 2.5333 -T 61 1219 two two 2.5333 -F 62 2.54118 -T 62 1227 , , 0.0595397 -T 62 1235 twenty twenty 1.5524 -F 63 3.26046 -T 63 1239 , , 0.276734 -T 63 1255 two two 1.3081 -F 64 2.09319 -T 64 1256 , , 0.585689 -T 64 1260 fifteen fifteen 4.48613 -T 64 1263 four four 2.93879 -T 64 1267 oh oh 2.93879 -T 64 1269 seven seven 2.93879 -T 64 1270 six six 0.951198 -T 64 1272 ten ten 4.48613 -T 64 1276 twenty twenty 4.48613 -F 65 3.42391 -T 65 1279 , , 0.238086 -T 65 1295 m m 2.00118 -T 65 1301 s s 2.00118 -F 66 3.28771 -T 66 1311 , , 0.135763 -T 66 1312 a a 1.665 -T 66 1315 f f 3.79282 -T 66 1318 k k 3.79282 -T 66 1319 l l 3.79282 -T 66 1325 q q 3.79282 -T 66 1330 w w 3.79282 -F 67 2.88746 -T 67 1335 , , 0.478037 -T 67 1337 a a 1.11767 -T 67 1339 c c 3.61068 -T 67 1347 h h 3.61068 -T 67 1348 i i 2.06335 -T 67 1354 r r 3.61068 -F 68 2.42711 -T 68 1378 , , 0.216277 -T 68 1381 e e 2.91738 -T 68 1386 g g 2.91738 -T 68 1387 h h 2.91738 -T 68 1388 i i 2.91738 -T 68 1403 z z 2.91738 -F 69 1.36686 -T 69 1405 , , 0.226852 -T 69 1409 d d 2.40666 -T 69 1412 f f 2.40666 -T 69 1430 w w 2.40666 -F 70 0.0255587 -T 70 1433 , , 3.08572e-10 -F 71 2.47268 -T 71 1437 , , 0.168652 -T 71 1440 c c 2.69425 -T 71 1442 e e 2.69425 -T 71 1443 eight eight 2.69425 -T 71 1447 i i 2.69425 -F 72 9.5927 -T 72 0 , , 7.68339 -F 73 3.58107 -T 73 2 , , -2.93065e-10 -F 74 2.67491 -T 74 0 , , 1.62829 -T 74 76 a a 4.10275 -T 74 77 b b 4.96161 -T 74 78 c c 2.90724 -T 74 79 d d 3.09905 -T 74 80 e e 4.44284 -T 74 81 f f 4.96161 -T 74 82 g g 4.10275 -T 74 83 h h 4.10275 -T 74 84 half half 4.96161 -T 74 85 i i 4.44284 -T 74 86 j j 6.10139 -T 74 87 k k 4.44284 -T 74 88 l l 2.74652 -T 74 89 m m 2.82366 -T 74 90 n n 2.14969 -T 74 91 ninety ninety 6.10139 -T 74 92 p p 4.44284 -T 74 93 r r 1.64658 -T 74 94 s s 3.09905 -T 74 95 six six 4.44284 -T 74 96 t t 3.09905 -T 74 97 two two 4.81599 -T 74 98 u u 4.96161 -T 74 99 v v 2.90724 -T 74 100 w w 4.44284 -T 74 101 x x 6.10139 -T 74 102 y y 3.84969 -T 74 103 z z 6.10139 -F 75 9.5927 -T 75 72 , , 4.19617e-10 -F 76 2.82531 -T 76 74 , , 0.150399 -T 76 85 i i 2.69425 -T 76 89 m m 2.69425 -T 76 91 ninety ninety 2.69425 -F 77 3.67749 -T 77 127 , , 0.305881 -T 77 136 h h 2.00118 -T 77 152 w w 2.00118 -F 78 3.13834 -T 78 162 , , 0.192646 -T 78 164 a a 2.24571 -T 78 168 e e 2.24571 -T 78 169 f f 3.79282 -T 78 170 five five 3.79282 -T 78 174 k k 2.24571 -T 78 177 o o 2.24571 -T 78 184 u u 3.79282 -T 78 187 y y 3.79282 -F 79 1.48263 -T 79 194 , , 0.103708 -T 79 198 d d 3.61068 -T 79 200 f f 3.61068 -T 79 202 h h 3.61068 -T 79 214 r r 2.06335 -F 80 2.44097 -T 80 228 , , 0.624002 -T 80 243 l l 0.859325 -T 80 254 three three 2.40666 -F 81 3.00662 -T 81 350 , , 0.236134 -T 81 363 k k 2.00118 -T 81 370 t t 2.00118 -F 82 3.78499 -T 82 468 , , 0.498441 -T 82 480 k k 2.69425 -T 82 481 l l 1.14692 -T 82 491 two two 2.69425 -F 83 1.51105 -T 83 499 , , 0.499753 -T 83 505 fifty fifty 2.69425 -T 83 511 l l 2.69425 -T 83 514 o o 1.14692 -F 84 0.307625 -T 84 531 , , -3.3414e-09 -F 85 3.76682 -T 85 549 , , 0.236985 -T 85 557 fifteen fifteen 2.40666 -T 85 562 l l 2.40666 -T 85 567 q q 2.40666 -F 86 2.84754 -T 86 582 , , 0.262333 -T 86 601 seven seven 1.3081 -F 87 2.18489 -T 87 619 , , 0.285024 -T 87 623 d d 2.40666 -T 87 635 ninety ninety 2.40666 -T 87 636 o o 2.40666 -F 88 2.57368 -T 88 651 , , 0.162647 -T 88 655 d d 2.39975 -T 88 656 e e 1.45408 -T 88 661 h h 3.94709 -T 88 665 m m 3.94709 -T 88 672 t t 3.94709 -T 88 676 u u 3.94709 -T 88 678 z z 3.94709 -F 89 3.35209 -T 89 685 , , 0.451474 -T 89 691 e e 2.32561 -T 89 700 j j 3.87295 -T 89 705 p p 1.7449 -T 89 707 s s 2.32561 -T 89 708 seven seven 3.87295 -T 89 710 thirty thirty 3.87295 -T 89 711 two two 3.87295 -T 89 714 x x 3.87295 -T 89 715 y y 3.87295 -F 90 1.38293 -T 90 734 , , 0.29646 -T 90 739 d d 1.76723 -T 90 740 e e 2.03387 -T 90 757 t t 2.97955 -F 91 3.02224 -T 91 794 , , 0.156139 -T 91 797 four four 1.3081 -F 92 3.63786 -T 92 895 , , 0.227329 -T 92 896 a a 2.40666 -T 92 908 l l 2.40666 -T 92 914 seventeen seventeen 2.40666 -F 93 3.65341 -T 93 941 , , 0.594885 -T 93 943 a a 3.47437 -T 93 946 d d 2.26183 -T 93 947 e e 2.5287 -T 93 952 k k 2.26183 -T 93 953 l l 2.26183 -T 93 954 n n 2.89366 -T 93 958 r r 2.5287 -T 93 962 t t 2.89366 -T 93 967 y y 2.89366 -F 94 2.06335 -T 94 997 , , 0.585521 -T 94 1013 p p 3.61068 -T 94 1016 t t 0.850805 -F 95 1.19579 -T 95 1077 , , 0.129695 -T 95 1083 four four 2.40666 -T 95 1084 hundred hundred 2.40666 -F 96 3.13669 -T 96 1125 , , 0.547665 -T 96 1130 e e 2.06335 -T 96 1136 h h 2.06335 -T 96 1150 t t 0.850805 -F 97 1.3081 -T 97 1256 , , 0.0648298 -F 98 3.46581 -T 98 1279 , , 0.279978 -T 98 1294 l l 2.00118 -T 98 1305 two two 2.00118 -F 99 3.87633 -T 99 1311 , , 0.724384 -T 99 1314 e e 0.649099 -T 99 1317 i i 1.665 -T 99 1318 k k 3.79282 -T 99 1320 m m 3.79282 -F 100 2.40666 -T 100 1335 , , 0.181794 -T 100 1343 f f 2.40666 -T 100 1355 t t 2.40666 -F 101 2.47896 -T 101 1378 , , 0.268127 -T 101 1401 x x 1.3081 -F 102 1.53338 -T 102 1405 , , 0.393368 -T 102 1408 b b 2.91738 -T 102 1410 e e 2.91738 -T 102 1416 l l 1.37004 -T 102 1418 n n 2.91738 -F 103 2.58597 -T 103 1437 , , 0.281948 -T 103 1462 x x 1.3081 -F 104 1.9093 -T 104 0 -F 105 1.9093 -T 105 0 -F 106 1.9093 -T 106 0 -F 107 1.9093 -T 107 0 -F 108 2.95501 -T 108 0 , , 1.04571 -T 108 109 a a 1.69401 -T 108 110 eighty eighty 1.17501 -T 108 111 fifty fifty 2.83379 -T 108 112 sixty sixty 2.83379 -T 108 113 twenty twenty 2.83379 -F 109 3.67625 -T 109 74 , , 1.00134 -T 109 84 half half 0.45384 -F 110 3.13982 -T 110 290 , , 0.321151 -T 110 296 one one 2.40666 -T 110 298 six six 0.859325 -F 111 3.44213 -T 111 390 , , 0.216673 -T 111 401 two two 1.3081 -F 112 2.68968 -T 112 1107 , , 0.280257 -T 112 1116 six six 1.3081 -F 113 3.17715 -T 113 1239 , , 0.193418 -T 113 1254 three three 1.3081 -F 114 1.9093 -T 114 0 -F 115 2.52159 -T 115 0 , , 0.612283 -T 115 116 h h 0.754327 -F 116 1.16057 -T 116 499 , , 0.149276 -T 116 501 a a 1.3081 -F 117 2.54439 -T 117 0 , , 0.63509 -T 117 118 thirtieth thirtieth 0.754327 -F 118 3.63841 -T 118 1175 , , -3.06887e-08 -F 119 1.9093 -T 119 0 -F 120 2.54471 -T 120 0 , , 0.635404 -T 120 121 code code 0.754327 -F 121 2.51853 -T 121 191 , , 4.73853e-09 -F 122 1.9093 -T 122 0 -F 123 1.9093 -T 123 0 -F 124 3.23189 -T 124 0 , , 1.32258 -T 124 125 sixteenth sixteenth 2.14048 -T 124 126 twenty twenty 0.481931 -F 125 2.54016 -T 125 1103 , , 4.73853e-09 -F 126 3.65333 -T 126 1239 , , 0.669601 -T 126 1246 fourth fourth 2.40666 -T 126 1249 second second 0.859325 -F 127 3.3716 -T 127 0 , , 1.4623 -T 127 128 a a 2.91185 -T 127 129 b b 5.44877 -T 127 130 d d 5.53334 -T 127 131 e e 2.43061 -T 127 132 eight eight 5.19663 -T 127 133 five five 4.91825 -T 127 134 forty forty 4.39356 -T 127 135 g g 5.48308 -T 127 136 h h 5.23693 -T 127 137 i i 5.12111 -T 127 138 j j 4.39356 -T 127 139 k k 5.53334 -T 127 140 l l 5.29288 -T 127 141 m m 3.87479 -T 127 142 o o 3.28164 -T 127 143 one one 4.60188 -T 127 144 p p 5.53334 -T 127 145 r r 2.43061 -T 127 146 s s 3.87479 -T 127 147 seven seven 4.39356 -T 127 148 seventy seventy 4.39356 -T 127 149 six six 5.1271 -T 127 150 u u 0.838141 -T 127 151 v v 5.53334 -T 127 152 w w 5.53334 -T 127 153 x x 3.87479 -T 127 154 y y 5.53334 -T 127 155 z z 5.53334 -F 128 3.23382 -T 128 74 , , 0.558909 -T 128 78 c c 3.25401 -T 128 85 i i 3.25401 -T 128 87 k k 3.25401 -T 128 93 r r 0.761004 -F 129 3.6658 -T 129 127 , , 0.294191 -T 129 146 s s 1.3081 -F 130 1.70811 -T 130 194 , , 0.290407 -T 130 205 k k 1.3081 -F 131 2.24713 -T 131 228 , , 0.430162 -T 131 230 a a 2.15867 -T 131 232 c c 3.70601 -T 131 238 g g 3.70601 -T 131 241 j j 3.70601 -T 131 249 r r 1.213 -T 131 257 v v 3.70601 -F 132 1.10916 -T 132 263 , , 1.87183e-09 -F 133 1.3081 -T 133 405 , , 0.0408118 -F 134 3.4663 -T 134 427 , , 0.113088 -T 134 428 eight eight 2.00118 -T 134 431 nine nine 2.00118 -F 135 3.5252 -T 135 468 , , 0.23866 -T 135 481 l l 1.3081 -F 136 1.31494 -T 136 499 , , 0.303649 -T 136 524 two two 1.3081 -F 137 3.71255 -T 137 549 , , 0.18272 -T 137 564 n n 1.3081 -F 138 2.85913 -T 138 582 , , 0.27392 -T 138 604 v v 2.00118 -T 138 606 x x 2.00118 -F 139 2.1938 -T 139 619 , , 0.29394 -T 139 649 z z 1.3081 -F 140 2.62426 -T 140 651 , , 0.213227 -T 140 653 a a 1.3081 -F 141 3.07858 -T 141 685 , , 0.177963 -T 141 691 e e 2.40666 -T 141 700 j j 2.40666 -T 141 703 n n 2.40666 -F 142 3.88941 -T 142 808 , , 0.627933 -T 142 832 r r 1.37004 -T 142 837 u u 1.37004 -T 142 839 x x 2.91738 -F 143 1.91043 -T 143 862 , , 0.284113 -T 143 864 eight eight 1.3081 -F 144 3.72098 -T 144 895 , , 0.310453 -T 144 897 b b 1.3081 -F 145 3.85621 -T 145 941 , , 0.797683 -T 145 943 a a 2.15867 -T 145 955 o o 0.735906 -T 145 964 u u 3.70601 -F 146 2.40666 -T 146 997 , , 0.516043 -T 146 1011 o o 0.859325 -F 147 1.00922 -T 147 1035 , , 0.243145 -T 147 1037 eight eight 2.00118 -T 147 1058 twenty twenty 2.00118 -F 148 2.66908 -T 148 1067 , , 0.908525 -T 148 1071 nine nine 0.45384 -F 149 1.0661 -T 149 1077 , , -6.78617e-10 -F 150 6.05708 -T 150 1279 , , 2.87125 -T 150 1283 c c 5.25933 -T 150 1300 r r 0.033848 -F 151 3.36054 -T 151 1311 , , 0.208598 -T 151 1317 i i 1.3081 -F 152 2.70396 -T 152 1335 , , 0.294534 -T 152 1357 two two 1.3081 -F 153 2.46857 -T 153 1378 , , 0.257744 -T 153 1392 nine nine 2.40666 -T 153 1394 r r 2.40666 -T 153 1397 three three 2.40666 -F 154 1.43194 -T 154 1405 , , 0.291928 -T 154 1429 v v 1.3081 -F 155 2.60179 -T 155 1437 , , 0.29776 -T 155 1455 six six 1.3081 -F 156 1.9093 -T 156 0 -F 157 1.9093 -T 157 0 -F 158 1.9093 -T 158 0 -F 159 1.9093 -T 159 0 -F 160 1.9093 -T 160 0 -F 161 1.9093 -T 161 0 -F 162 2.94569 -T 162 0 , , 1.03639 -T 162 164 a a 2.45018 -T 162 165 b b 3.93189 -T 162 166 c c 5.07167 -T 162 167 d d 5.07167 -T 162 168 e e 2.45018 -T 162 169 f f 5.07167 -T 162 170 five five 3.93189 -T 162 171 h h 1.64543 -T 162 172 i i 4.6952 -T 162 173 j j 5.07167 -T 162 174 k k 2.18101 -T 162 175 l l 3.41312 -T 162 176 m m 5.07167 -T 162 177 o o 2.61804 -T 162 178 r r 4.39333 -T 162 179 s s 4.78408 -T 162 180 seven seven 4.83865 -T 162 181 t t 4.47277 -T 162 182 thirty thirty 3.93189 -T 162 183 two two 4.22409 -T 162 184 u u 5.07167 -T 162 185 v v 5.07167 -T 162 186 w w 3.93189 -T 162 187 y y 3.93189 -T 162 188 z z 3.41312 -F 163 9.5927 -T 163 72 , , 1.15812e-08 -F 164 1.70668 -T 164 74 , , 0.396047 -T 164 88 l l 1.70668 -T 164 93 r r 1.70668 -T 164 99 v v 3.25401 -F 165 3.58106 -T 165 127 , , 0.209455 -T 165 131 e e 2.00118 -T 165 138 j j 2.00118 -F 166 3.04652 -T 166 162 , , 0.100823 -T 166 171 h h 1.3081 -F 167 1.64527 -T 167 194 , , 0.227572 -T 167 209 o o 1.3081 -F 168 1.12596 -T 168 228 , , 0.431212 -T 168 245 n n 1.70668 -T 168 250 s s 3.25401 -F 169 3.04691 -T 169 350 , , 0.276426 -T 169 373 two two 1.3081 -F 170 1.66573 -T 170 405 , , 0.238355 -T 170 413 nine nine 2.00118 -T 170 422 three three 2.00118 -F 171 1.57631 -T 171 499 , , 0.565015 -T 171 501 a a 1.04606 -T 171 504 f f 4.01617 -T 171 518 r r 2.46883 -T 171 522 t t 2.46883 -T 171 528 y y 4.01617 -F 172 3.71255 -T 172 549 , , 0.18272 -T 172 564 n n 1.3081 -F 173 2.86927 -T 173 582 , , 0.284055 -T 173 593 k k 1.3081 -F 174 1.37718 -T 174 619 , , 0.375929 -T 174 622 c c 3.50523 -T 174 632 l l 3.50523 -T 174 646 w w 1.95789 -T 174 648 y y 3.50523 -F 175 2.57595 -T 175 651 , , 0.164917 -T 175 653 a a 2.40666 -T 175 668 o o 2.40666 -T 175 675 two two 2.40666 -F 176 3.18764 -T 176 685 , , 0.287017 -T 176 712 u u 1.3081 -F 177 3.90331 -T 177 808 , , 0.64183 -T 177 825 l l 3.09974 -T 177 827 n n 0.606961 -F 178 3.31614 -T 178 941 , , 0.257619 -T 178 943 a a 1.3081 -F 179 2.52608 -T 179 997 , , 0.310307 -T 179 1015 seven seven 1.3081 -F 180 1.04948 -T 180 1035 , , 0.283408 -T 180 1048 one one 1.3081 -F 181 2.89213 -T 181 1125 , , 0.303103 -T 181 1140 l l 1.3081 -F 182 2.89625 -T 182 1177 , , 0.838431 -T 182 1180 five five 0.45384 -F 183 1.3081 -T 183 1256 , , 0.0648298 -F 184 3.49519 -T 184 1279 , , 0.309361 -T 184 1304 three three 1.3081 -F 185 3.42775 -T 185 1311 , , 0.275802 -T 185 1332 y y 1.3081 -F 186 2.65353 -T 186 1335 , , 0.244106 -T 186 1345 fourteen fourteen 2.00118 -T 186 1350 n n 2.00118 -F 187 1.26789 -T 187 1405 , , 0.127877 -T 187 1423 r r 2.00118 -F 188 2.57552 -T 188 1437 , , 0.271496 -T 188 1441 d d 2.40666 -T 188 1457 t t 2.40666 -T 188 1458 twenty twenty 2.40666 -F 189 1.9093 -T 189 0 -F 190 1.9093 -T 190 0 -F 191 2.51853 -T 191 0 , , 0.60923 -T 191 192 four four 0.754327 -F 192 1.38737 -T 192 437 , , 0.176675 -T 192 448 one one 1.3081 -F 193 1.9093 -T 193 0 -F 194 1.4177 -T 194 0 , , 1.01805 -T 194 196 a a 2.26666 -T 194 197 b b 4.22962 -T 194 198 d d 3.71085 -T 194 199 e e 2.74791 -T 194 200 f f 4.22962 -T 194 201 forty forty 5.3694 -T 194 202 h h 4.79268 -T 194 203 i i 4.22962 -T 194 204 j j 5.3694 -T 194 205 k k 3.71085 -T 194 206 l l 4.84863 -T 194 207 m m 4.22962 -T 194 208 n n 4.66465 -T 194 209 o o 2.4785 -T 194 210 oh oh 5.3694 -T 194 211 one one 4.15762 -T 194 212 p p 5.17928 -T 194 213 q q 4.22962 -T 194 214 r r 2.4785 -T 194 215 s s 4.22962 -T 194 216 two two 4.20575 -T 194 217 u u 5.11135 -T 194 218 v v 5.3694 -T 194 219 w w 3.1177 -T 194 220 y y 3.71085 -T 194 221 z z 5.3694 -F 195 9.5927 -T 195 72 , , 3.8672e-10 -F 196 2.15867 -T 196 74 , , 0.81429 -T 196 88 l l 2.15867 -T 196 97 two two 3.70601 -T 196 99 v v 0.946132 -F 197 3.61774 -T 197 127 , , 0.246131 -T 197 128 a a 2.00118 -T 197 134 forty forty 2.00118 -F 198 1.63507 -T 198 194 , , 0.217372 -T 198 204 j j 2.40666 -T 198 209 o o 2.40666 -T 198 210 oh oh 2.40666 -F 199 1.70668 -T 199 228 , , 0.511311 -T 199 237 four four 3.25401 -T 199 249 r r 1.12596 -T 199 256 u u 3.25401 -F 200 2.95538 -T 200 350 , , 0.184897 -T 200 365 o o 2.00118 -T 200 370 t t 2.00118 -F 201 3.53081 -T 201 427 , , 0.177596 -T 201 433 seven seven 1.3081 -F 202 1.27431 -T 202 499 , , 0.263015 -T 202 503 e e 1.3081 -F 203 3.61474 -T 203 549 , , 0.0849115 -T 203 553 c c 2.00118 -T 203 564 n n 2.00118 -F 204 2.86927 -T 204 582 , , 0.284055 -T 204 598 one one 1.3081 -F 205 2.14871 -T 205 619 , , 0.248847 -T 205 627 f f 2.40666 -T 205 633 m m 2.40666 -T 205 640 t t 2.40666 -F 206 2.50605 -T 206 651 , , 0.0950124 -T 206 656 e e 1.3081 -F 207 3.18694 -T 207 685 , , 0.286319 -T 207 698 h h 2.00118 -T 207 709 t t 2.00118 -F 208 1.68557 -T 208 734 , , 0.19119 -T 208 740 e e 1.3081 -F 209 3.57056 -T 209 808 , , 0.309079 -T 209 813 c c 3.50523 -T 209 820 four four 3.50523 -T 209 838 w w 1.37718 -F 210 1.3081 -T 210 849 , , 0.216697 -F 211 1.90496 -T 211 862 , , 0.278649 -T 211 864 eight eight 2.00118 -T 211 878 seventy seventy 2.00118 -F 212 3.67997 -T 212 895 , , 0.269439 -T 212 908 l l 1.3081 -F 213 2.72787 -T 213 920 , , 0.239102 -T 213 931 one one 2.00118 -T 213 935 t t 2.00118 -F 214 3.51329 -T 214 941 , , 0.454769 -T 214 951 i i 1.01222 -T 214 963 thirty thirty 3.50523 -T 214 966 w w 3.50523 -F 215 2.00118 -T 215 997 , , 0.158197 -T 215 1007 k k 2.00118 -F 216 1.69805 -T 216 1256 , , 0.190544 -T 216 1266 nine nine 2.00118 -T 216 1270 six six 2.00118 -F 217 3.47764 -T 217 1279 , , 0.291808 -T 217 1290 g g 1.3081 -F 218 3.44387 -T 218 1311 , , 0.291928 -T 218 1328 seven seven 1.3081 -F 219 2.99471 -T 219 1335 , , 0.585288 -T 219 1348 i i 1.37004 -T 219 1351 o o 1.37004 -T 219 1353 q q 2.91738 -F 220 0.859325 -T 220 1405 , , 0.324395 -T 220 1417 m m 2.40666 -F 221 2.60869 -T 221 1437 , , 0.304661 -T 221 1461 w w 1.3081 -F 222 1.9093 -T 222 0 -F 223 2.54471 -T 223 0 , , 0.635404 -T 223 224 eighteenth eighteenth 0.754327 -F 224 2.54016 -T 224 286 , , 4.73853e-09 -F 225 1.9093 -T 225 0 -F 226 1.9093 -T 226 0 -F 227 1.9093 -T 227 0 -F 228 1.81697 -T 228 0 , , 1.53413 -T 228 230 a a 2.7159 -T 228 231 b b 5.132 -T 228 232 c c 5.132 -T 228 233 d d 3.65029 -T 228 234 e e 3.26921 -T 228 235 eight eight 5.132 -T 228 236 f f 4.613 -T 228 237 four four 4.613 -T 228 238 g g 4.27314 -T 228 239 h h 5.30876 -T 228 240 i i 4.27314 -T 228 241 j j 5.132 -T 228 242 k k 6.05365 -T 228 243 l l 2.45087 -T 228 244 m m 4.27314 -T 228 245 n n 2.28002 -T 228 246 o o 5.23623 -T 228 247 p p 3.81815 -T 228 248 q q 6.27178 -T 228 249 r r 2.10065 -T 228 250 s s 3.38089 -T 228 251 seventy seventy 6.27178 -T 228 252 t t 3.50661 -T 228 253 thirty thirty 6.27178 -T 228 254 three three 5.132 -T 228 255 two two 4.72183 -T 228 256 u u 4.613 -T 228 257 v v 3.38089 -T 228 258 w w 2.77853 -T 228 259 x x 6.27178 -T 228 260 y y 3.81815 -T 228 261 z z 5.132 -F 229 9.5927 -T 229 72 , , 3.54461e-10 -F 230 3.11251 -T 230 74 , , 0.437601 -T 230 78 c c 2.59386 -T 230 79 d d 2.59386 -T 230 90 n n 2.01338 -T 230 94 s s 1.64842 -T 230 95 six six 4.1412 -T 230 99 v v 2.59386 -F 231 3.66415 -T 231 127 , , 0.292549 -T 231 143 one one 2.00118 -T 231 148 seventy seventy 2.00118 -F 232 3.08463 -T 232 162 , , 0.138938 -T 232 166 c c 2.00118 -F 233 1.66093 -T 233 194 , , 0.243232 -T 233 201 forty forty 3.25401 -T 233 211 one one 3.25401 -T 233 214 r r 1.70668 -T 233 218 v v 3.25401 -T 233 219 w w 3.25401 -F 234 2.08893 -T 234 228 , , 0.271958 -T 234 247 p p 2.06335 -T 234 250 s s 2.06335 -T 234 252 t t 3.61068 -T 234 254 three three 3.61068 -F 235 1.3431 -T 235 263 , , 0.233946 -T 235 271 nine nine 2.00118 -T 235 274 seven seven 2.00118 -F 236 2.96462 -T 236 350 , , 0.194139 -T 236 357 f f 2.40666 -T 236 367 r r 2.40666 -T 236 374 v v 2.40666 -F 237 1.43507 -T 237 437 , , 0.224371 -T 237 446 ninety ninety 2.40666 -T 237 447 oh oh 2.40666 -T 237 449 seven seven 2.40666 -F 238 3.44232 -T 238 468 , , 0.155776 -T 238 471 b b 2.69425 -T 238 478 i i 2.69425 -T 238 481 l l 2.69425 -T 238 489 seventy seventy 2.69425 -F 239 1.31641 -T 239 499 , , 0.305115 -T 239 525 u u 1.3081 -F 240 4.44979 -T 240 549 , , 0.919956 -T 240 554 d d 2.69425 -T 240 562 l l 0.566436 -F 241 3.56246 -T 241 582 , , 0.977251 -T 241 599 q q 0.45384 -F 242 1.3081 -T 242 619 , , 0.153132 -F 243 1.63944 -T 243 651 , , 0.672132 -T 243 655 d d 2.27104 -T 243 660 g g 4.39909 -T 243 664 l l 1.10731 -T 243 670 s s 4.39909 -F 244 3.32998 -T 244 685 , , 0.429355 -T 244 688 b b 1.14692 -T 244 705 p p 2.69425 -F 245 1.14531 -T 245 734 , , 0.849215 -T 245 739 d d 2.43821 -T 245 741 f f 4.56603 -T 245 750 n n 2.07325 -T 245 751 o o 4.56603 -T 245 757 t t 2.43821 -T 245 759 u u 2.07325 -F 246 3.53483 -T 246 808 , , 0.273351 -T 246 810 a a 1.3081 -F 247 4.03812 -T 247 895 , , 0.627589 -T 247 898 c c 3.09974 -T 247 906 h h 0.971921 -T 247 915 t t 3.09974 -T 247 918 y y 3.09974 -F 248 2.75368 -T 248 920 , , 0.264914 -T 248 925 fifty fifty 1.3081 -F 249 1.59822 -T 249 941 , , 0.440013 -T 249 943 a a 3.19461 -T 249 947 e e 2.61413 -T 249 948 f f 4.74194 -T 249 951 i i 2.24917 -T 249 952 k k 3.19461 -T 249 953 l l 2.61413 -T 249 956 one one 4.74194 -T 249 959 s s 3.19461 -T 249 962 t t 3.19461 -F 250 0.745577 -T 250 997 , , 0.651393 -T 250 1003 f f 3.50523 -T 250 1009 m m 3.50523 -T 250 1013 p p 3.50523 -F 251 2.05747 -T 251 1067 , , 0.296914 -T 251 1074 six six 1.3081 -F 252 0.627685 -T 252 1125 , , 1.28687 -T 252 1150 t t 1.25951 -F 253 2.20305 -T 253 1177 , , 0.145235 -T 253 1180 five five 1.3081 -F 254 1.32492 -T 254 1197 , , 0.229348 -T 254 1202 five five 2.00118 -T 254 1210 seven seven 2.00118 -F 255 1.77825 -T 255 1256 , , 0.270745 -T 255 1258 eight eight 1.3081 -F 256 3.45891 -T 256 1279 , , 0.273088 -T 256 1292 j j 2.40666 -T 256 1294 l l 2.40666 -T 256 1307 y y 2.40666 -F 257 4.00518 -T 257 1311 , , 0.853236 -T 257 1314 e e 0.361506 -T 257 1322 nine nine 3.50523 -F 258 1.95259 -T 258 1335 , , 0.44426 -T 258 1338 b b 4.08064 -T 258 1348 i i 2.5333 -T 258 1351 o o 1.58763 -T 258 1360 y y 1.95259 -F 259 2.47896 -T 259 1378 , , 0.268127 -T 259 1401 x x 1.3081 -F 260 0.340092 -T 260 1405 , , 0.969914 -T 260 1409 d d 3.09974 -F 261 2.5267 -T 261 1437 , , 0.222674 -T 261 1439 a a 2.00118 -T 261 1460 u u 2.00118 -F 262 1.9093 -T 262 0 -F 263 1.10916 -T 263 0 , , 2.06858 -T 263 265 eight eight 3.33115 -T 263 266 five five 2.78221 -T 263 267 forty forty 5.78478 -T 263 268 four four 2.35831 -T 263 269 fourteen fourteen 5.78478 -T 263 270 hundred hundred 4.126 -T 263 271 nine nine 3.53309 -T 263 272 oh oh 3.33115 -T 263 273 one one 3.16329 -T 263 274 seven seven 3.01961 -T 263 275 seventy seventy 4.645 -T 263 276 six six 3.33115 -T 263 277 sixty sixty 4.126 -T 263 278 thirty thirty 5.78478 -T 263 279 thousand thousand 5.78478 -T 263 280 three three 2.59064 -T 263 281 twenty twenty 4.645 -T 263 282 two two 2.89389 -T 263 283 zero zero 3.78614 -F 264 9.5927 -T 264 72 , , 3.75426e-10 -F 265 1.57114 -T 265 263 , , 0.461983 -T 265 268 four four 1.5524 -T 265 271 nine nine 1.5524 -T 265 274 seven seven 3.09974 -T 265 282 two two 3.09974 -F 266 1.5405 -T 266 405 , , 0.113127 -T 266 407 eight eight 3.61068 -T 266 408 five five 3.61068 -T 266 410 four four 3.61068 -T 266 417 six six 2.06335 -F 267 3.61238 -T 267 427 , , 0.259166 -T 267 432 one one 1.3081 -F 268 1.25629 -T 268 437 , , 0.374064 -T 268 444 four four 1.88812 -T 268 451 six six 1.88812 -T 268 457 two two 2.46883 -F 269 1.2929 -T 269 459 , , 9.77121e-11 -F 270 2.0995 -T 270 543 , , -2.12802e-09 -F 271 1.07294 -T 271 764 , , 0.244475 -T 271 774 nine nine 2.91738 -T 271 781 six six 1.37004 -F 272 2.37648 -T 272 849 , , 0.00964973 -T 272 854 nine nine 3.09974 -F 273 1.83737 -T 273 862 , , 0.211059 -T 273 873 nine nine 1.70668 -T 273 876 one one 3.25401 -T 273 879 six six 3.25401 -F 274 0.789797 -T 274 1035 , , 0.0237272 -T 274 1040 five five 3.38756 -T 274 1048 one one 3.38756 -T 274 1060 zero zero 3.38756 -F 275 2.43017 -T 275 1067 , , 0.66961 -T 275 1072 one one 0.45384 -F 276 1.07834 -T 276 1077 , , 0.0122479 -T 276 1085 nine nine 3.09974 -T 276 1087 one one 3.09974 -F 277 2.43976 -T 277 1107 , , 0.0303397 -T 277 1111 five five 2.40666 -F 278 2.26857 -T 278 1177 , , 0.210749 -T 278 1187 two two 1.3081 -F 279 2.07316 -T 279 1189 , , 0.261489 -T 279 1193 nine nine 1.3081 -F 280 1.26386 -T 280 1197 , , 0.16829 -T 280 1209 one one 2.24571 -T 280 1220 zero zero 2.24571 -F 281 3.13365 -T 281 1239 , , 0.149923 -T 281 1241 eight eight 2.00118 -T 281 1250 seven seven 2.00118 -F 282 2.06205 -T 282 1256 , , 0.554545 -T 282 1258 eight eight 1.95789 -T 282 1263 four four 1.95789 -T 282 1270 six six 1.37718 -T 282 1275 three three 3.50523 -F 283 0.751299 -T 283 1465 , , 0.0282868 -T 283 1473 two two 2.69425 -F 284 2.54455 -T 284 0 , , 0.635247 -T 284 285 february february 0.754327 -F 285 2.58718 -T 285 378 , , 0.0470533 -T 285 380 nineteen nineteen 1.3081 -F 286 2.54016 -T 286 0 , , 0.630853 -T 286 287 nineteen nineteen 0.754327 -F 287 4.56946 -T 287 788 , , 0.264914 -T 287 790 forty forty 1.3081 -F 288 2.54016 -T 288 0 , , 0.630853 -T 288 289 nineteen nineteen 0.754327 -F 289 4.56946 -T 289 788 , , 0.264914 -T 289 789 fifty fifty 1.3081 -F 290 2.81867 -T 290 0 , , 0.909368 -T 290 291 eight eight 3.4624 -T 290 292 fifth fifth 3.4624 -T 290 293 five five 3.4624 -T 290 294 four four 3.4624 -T 290 295 nine nine 1.80361 -T 290 296 one one 3.4624 -T 290 297 seven seven 3.4624 -T 290 298 six six 1.2107 -T 290 299 three three 3.4624 -F 291 1.10916 -T 291 263 , , 1.87183e-09 -F 292 2.5633 -T 292 387 , , 0.0470533 -T 292 389 s s 1.3081 -F 293 1.3081 -T 293 405 , , 0.0408118 -F 294 1.2107 -T 294 437 , , -4.50449e-10 -F 295 0.859325 -T 295 764 , , 0.139125 -T 295 771 forty forty 2.40666 -F 296 1.3081 -T 296 862 , , 0.0961996 -F 297 0.76607 -T 297 1035 , , -2.57538e-10 -F 298 0.157727 -T 298 1077 , , 1.50259 -F 299 1.09557 -T 299 1197 , , -1.97866e-09 -F 300 2.14048 -T 300 0 , , 0.44031 -T 300 302 nine nine 2.14048 -T 300 303 seventeen seventeen 2.14048 -T 300 304 sixty sixty 2.14048 -F 301 9.5927 -T 301 72 , , 1.15186e-08 -F 302 1.13939 -T 302 764 , , 0.310921 -T 302 782 sixty sixty 1.3081 -F 303 1.22405 -T 303 1061 , , -3.19748e-10 -F 304 2.56746 -T 304 1107 , , 0.158032 -T 304 1115 seven seven 1.3081 -F 305 2.54016 -T 305 0 , , 0.630853 -T 305 306 nineteen nineteen 0.754327 -F 306 4.30455 -T 306 788 , , -2.4474e-08 -F 307 3.62345 -T 307 0 , , 1.71415 -T 307 308 eight eight 2.41979 -T 307 309 eighty eighty 5.18519 -T 307 310 fifteen fifteen 5.18519 -T 307 311 fifty fifty 2.93326 -T 307 312 five five 2.73156 -T 307 313 forty forty 3.52641 -T 307 314 four four 2.73156 -T 307 315 fourteen fourteen 5.18519 -T 307 316 nine nine 3.18655 -T 307 317 ninety ninety 3.52641 -T 307 318 one one 3.18655 -T 307 319 seven seven 2.2943 -T 307 320 seventy seventy 3.18655 -T 307 321 six six 2.41979 -T 307 322 sixty sixty 2.41979 -T 307 323 thirty thirty 3.52641 -T 307 324 three three 4.04541 -T 307 325 twenty twenty 5.18519 -T 307 326 two two 2.73156 -T 307 327 zero zero 5.18519 -F 308 1.20835 -T 308 263 , , 0.0991963 -T 308 275 seventy seventy 3.38756 -T 308 278 thirty thirty 3.38756 -T 308 281 twenty twenty 3.38756 -T 308 283 zero zero 3.38756 -F 309 2.95387 -T 309 290 , , 0.135201 -T 309 295 nine nine 1.3081 -F 310 0.705052 -T 310 381 , , -3.83097e-09 -F 311 3.51106 -T 311 390 , , 0.285598 -T 311 394 four four 1.37004 -T 311 399 sixty sixty 2.91738 -F 312 0.971921 -T 312 405 , , 0.269608 -T 312 422 three three 3.09974 -T 312 425 zero zero 3.09974 -F 313 3.39165 -T 313 427 , , 0.0384357 -T 313 432 one one 2.40666 -F 314 1.5369 -T 314 437 , , 0.326199 -T 314 441 fifty fifty 1.5524 -T 314 454 thousand thousand 3.09974 -T 314 456 twenty twenty 3.09974 -F 315 1.2929 -T 315 459 , , 9.77121e-11 -F 316 1.02388 -T 316 764 , , 0.195412 -T 316 767 eight eight 2.69425 -T 316 768 eighty eighty 2.69425 -T 316 780 seventy seventy 2.69425 -F 317 2.8661 -T 317 794 , , 7.80599e-09 -F 318 1.89391 -T 318 862 , , 0.267599 -T 318 869 forty forty 2.69425 -T 318 873 nine nine 2.69425 -T 318 874 ninety ninety 2.69425 -T 318 883 thirty thirty 2.69425 -F 319 0.745577 -T 319 1035 , , 0.0866822 -T 319 1049 seven seven 3.50523 -T 319 1055 thirty thirty 3.50523 -F 320 1.88256 -T 320 1067 , , 0.122006 -T 320 1069 eight eight 2.69425 -T 320 1072 one one 1.14692 -F 321 1.06703 -T 321 1077 , , 0.000928155 -T 321 1086 oh oh 3.38756 -T 321 1088 seven seven 3.38756 -F 322 1.25951 -T 322 1107 , , 0.388281 -T 322 1114 one one 1.84023 -T 322 1116 six six 3.38756 -F 323 2.1371 -T 323 1177 , , 0.0792762 -T 323 1179 eight eight 2.40666 -T 323 1183 seven seven 2.40666 -F 324 1.23726 -T 324 1197 , , 0.141686 -T 324 1200 eighty eighty 2.00118 -F 325 3.20571 -T 325 1239 , , 0.221976 -T 325 1247 nine nine 1.3081 -F 326 1.5524 -T 326 1256 , , 0.268888 -T 326 1262 five five 3.09974 -T 326 1267 oh oh 1.5524 -F 327 0.723012 -T 327 1465 , , -5.87383e-09 -F 328 2.55274 -T 328 0 , , 0.643436 -T 328 329 a a 4.06047 -T 328 330 b b 4.2508 -T 328 331 c c 3.11102 -T 328 332 e e 3.11102 -T 328 333 f f 4.2508 -T 328 334 g g 3.11102 -T 328 335 i i 3.11102 -T 328 336 j j 3.11102 -T 328 337 k k 4.2508 -T 328 338 m m 4.2508 -T 328 339 n n 4.2508 -T 328 340 o o 2.59225 -T 328 341 q q 3.11102 -T 328 342 r r 4.00038 -T 328 343 s s 3.11102 -T 328 344 t t 4.07981 -T 328 345 v v 2.59225 -T 328 346 w w 3.11102 -T 328 347 x x 4.2508 -T 328 348 y y 4.2508 -T 328 349 z z 4.2508 -F 329 2.92378 -T 329 74 , , 0.248867 -T 329 88 l l 1.3081 -F 330 3.6658 -T 330 127 , , 0.294191 -T 330 141 m m 1.3081 -F 331 3.11871 -T 331 162 , , 0.173014 -T 331 165 b b 2.00118 -T 331 174 k k 2.00118 -F 332 2.12493 -T 332 228 , , 0.307958 -T 332 246 o o 2.00118 -T 332 259 x x 2.00118 -F 333 3.06277 -T 333 350 , , 0.292288 -T 333 360 h h 1.3081 -F 334 3.41891 -T 334 468 , , 0.132362 -T 334 494 w w 2.00118 -F 335 3.78932 -T 335 549 , , 0.259486 -T 335 560 g g 2.00118 -T 335 569 s s 2.00118 -F 336 2.87707 -T 336 582 , , 0.291857 -T 336 590 g g 2.00118 -T 336 596 n n 2.00118 -F 337 2.1938 -T 337 619 , , 0.29394 -T 337 630 j j 1.3081 -F 338 3.19913 -T 338 685 , , 0.29851 -T 338 715 y y 1.3081 -F 339 1.75749 -T 339 734 , , 0.263114 -T 339 757 t t 1.3081 -F 340 3.9438 -T 340 808 , , 0.682321 -T 340 823 j j 2.40666 -T 340 835 t t 0.859325 -F 341 2.70079 -T 341 920 , , 0.212027 -T 341 923 e e 2.00118 -T 341 929 k k 2.00118 -F 342 3.35801 -T 342 941 , , 0.299482 -T 342 944 b b 1.3081 -F 343 2.4977 -T 343 997 , , 0.281925 -T 343 1014 s s 2.00118 -T 343 1019 v v 2.00118 -F 344 2.89703 -T 344 1125 , , 0.308004 -T 344 1141 m m 1.3081 -F 345 3.4095 -T 345 1311 , , 0.257551 -T 345 1326 r r 2.40666 -T 345 1331 x x 2.40666 -T 345 1332 y y 2.40666 -F 346 2.65353 -T 346 1335 , , 0.244109 -T 346 1341 e e 2.00118 -T 346 1343 f f 2.00118 -F 347 2.51119 -T 347 1378 , , 0.300359 -T 347 1379 b b 1.3081 -F 348 1.43194 -T 348 1405 , , 0.291928 -T 348 1408 b b 1.3081 -F 349 2.58597 -T 349 1437 , , 0.281948 -T 349 1463 y y 1.3081 -F 350 2.77049 -T 350 0 , , 0.861182 -T 350 352 a a 4.27822 -T 350 353 b b 3.7889 -T 350 354 d d 4.92868 -T 350 355 e e 2.16351 -T 350 356 eight eight 4.59551 -T 350 357 f f 3.27013 -T 350 358 five five 3.7889 -T 350 359 g g 4.88196 -T 350 360 h h 3.7889 -T 350 361 i i 2.30719 -T 350 362 j j 3.7889 -T 350 363 k k 3.7889 -T 350 364 m m 3.7889 -T 350 365 o o 2.67699 -T 350 366 q q 4.92868 -T 350 367 r r 2.67699 -T 350 368 s s 4.60887 -T 350 369 six six 4.52598 -T 350 370 t t 2.93004 -T 350 371 thirty thirty 4.92868 -T 350 372 twenty twenty 4.92868 -T 350 373 two two 3.27013 -T 350 374 v v 4.92868 -T 350 375 x x 2.93004 -T 350 376 y y 3.7889 -T 350 377 z z 4.92868 -F 351 9.5927 -T 351 72 , , 1.15186e-08 -F 352 2.77601 -T 352 74 , , 0.101098 -T 352 93 r r 1.3081 -F 353 3.6267 -T 353 127 , , 0.255098 -T 353 141 m m 2.00118 -T 353 142 o o 2.00118 -F 354 1.6876 -T 354 194 , , 0.2699 -T 354 219 w w 1.3081 -F 355 1.93412 -T 355 228 , , 0.117146 -T 355 231 b b 3.38756 -T 355 233 d d 3.38756 -T 355 235 eight eight 3.38756 -T 355 238 g g 3.38756 -T 355 240 i i 3.38756 -F 356 1.10916 -T 356 263 , , 1.87183e-09 -F 357 2.40666 -T 357 350 , , 0.162619 -T 357 356 eight eight 2.40666 -T 357 367 r r 2.40666 -F 358 1.7076 -T 358 405 , , 0.280227 -T 358 409 forty forty 2.00118 -T 358 413 nine nine 2.00118 -F 359 3.53455 -T 359 468 , , 0.248009 -T 359 478 i i 1.3081 -F 360 1.29766 -T 360 499 , , 0.286368 -T 360 502 b b 2.00118 -T 360 513 nine nine 2.00118 -F 361 3.79585 -T 361 549 , , 0.266014 -T 361 556 f f 1.70668 -T 361 558 five five 3.25401 -T 361 575 y y 3.25401 -F 362 2.85913 -T 362 582 , , 0.27392 -T 362 586 d d 2.00118 -T 362 593 k k 2.00118 -F 363 2.14187 -T 363 619 , , 0.242005 -T 363 621 a a 2.00118 -T 363 645 v v 2.00118 -F 364 3.20519 -T 364 685 , , 0.304568 -T 364 694 fifty fifty 2.00118 -T 364 706 q q 2.00118 -F 365 3.93584 -T 365 808 , , 0.674356 -T 365 817 f f 2.91738 -T 365 818 five five 2.91738 -T 365 832 r r 0.789556 -F 366 2.71801 -T 366 920 , , 0.229242 -T 366 933 q q 1.3081 -F 367 3.6226 -T 367 941 , , 0.564077 -T 367 943 a a 1.37004 -T 367 951 i i 2.91738 -T 367 955 o o 1.37004 -F 368 2.45194 -T 368 997 , , 0.236165 -T 368 1011 o o 1.3081 -F 369 1.37839 -T 369 1077 , , 0.312296 -T 369 1080 eighty eighty 1.3081 -F 370 3.0768 -T 370 1125 , , 0.487774 -T 370 1136 h h 1.14692 -T 370 1143 o o 2.69425 -T 370 1149 sixty sixty 2.69425 -F 371 2.29979 -T 371 1177 , , 0.24197 -T 371 1179 eight eight 1.3081 -F 372 3.23346 -T 372 1239 , , 0.249729 -T 372 1245 four four 1.3081 -F 373 0.859325 -T 373 1256 , , 0.412882 -T 373 1262 five five 2.40666 -F 374 3.45974 -T 374 1311 , , 0.307792 -T 374 1327 s s 1.3081 -F 375 2.35522 -T 375 1378 , , 0.144395 -T 375 1380 c c 2.69425 -T 375 1385 four four 2.69425 -T 375 1402 y y 2.69425 -T 375 1404 zero zero 2.69425 -F 376 1.40817 -T 376 1405 , , 0.26816 -T 376 1418 n n 2.00118 -T 376 1432 z z 2.00118 -F 377 2.60869 -T 377 1437 , , 0.304661 -T 377 1464 z z 1.3081 -F 378 2.54012 -T 378 0 , , 0.630821 -T 378 379 eighth eighth 1.4474 -T 378 380 nineteen nineteen 1.4474 -F 379 2.54016 -T 379 288 , , 4.73853e-09 -F 380 4.53379 -T 380 788 , , 0.229242 -T 380 791 seventy seventy 1.3081 -F 381 0.705052 -T 381 0 , , 0.967182 -T 381 383 nineteen nineteen 2.36383 -T 381 384 sixty sixty 2.36383 -F 382 9.5927 -T 382 72 , , 1.16211e-08 -F 383 4.53379 -T 383 788 , , 0.229242 -T 383 791 seventy seventy 1.3081 -F 384 2.66049 -T 384 1107 , , 0.25107 -T 384 1118 two two 1.3081 -F 385 3.23341 -T 385 0 , , 1.3241 -T 385 386 nineteen nineteen 0.307625 -F 386 4.30455 -T 386 788 , , 1.62872e-09 -F 387 2.51625 -T 387 0 , , 0.606947 -T 387 388 nineteen nineteen 1.4474 -T 387 389 s s 1.4474 -F 388 4.30455 -T 388 788 , , -2.4474e-08 -F 389 2.41546 -T 389 997 , , 0.19968 -T 389 1016 t t 1.3081 -F 390 3.22546 -T 390 0 , , 1.31868 -T 390 392 eight eight 1.91161 -T 390 393 five five 2.3666 -T 390 394 four four 2.70646 -T 390 395 nine nine 4.36524 -T 390 396 one one 1.91161 -T 390 397 seven seven 3.22546 -T 390 398 six six 1.91161 -T 390 399 sixty sixty 4.36524 -T 390 400 three three 3.22546 -T 390 401 two two 2.3666 -F 391 9.5927 -T 391 72 , , 1.15812e-08 -F 392 0.606961 -T 392 263 , , 0.548288 -T 392 272 oh oh 3.09974 -T 392 279 thousand thousand 3.09974 -F 393 0.566436 -T 393 405 , , 0.724255 -T 393 421 thirty thirty 2.69425 -F 394 0.278613 -T 394 437 , , 1.0602 -F 395 0.82847 -T 395 764 , , 2.44207e-09 -F 396 0.606961 -T 396 862 , , 0.771368 -T 396 866 fifteen fifteen 3.09974 -T 396 867 fifty fifty 3.09974 -F 397 0.900964 -T 397 1035 , , 0.134894 -T 397 1043 fourteen fourteen 2.00118 -F 398 0.971921 -T 398 1077 , , 0.217012 -T 398 1086 oh oh 3.09974 -T 398 1092 sixty sixty 3.09974 -T 398 1093 thirty thirty 3.09974 -F 399 2.63043 -T 399 1107 , , 0.221003 -T 399 1117 three three 1.3081 -F 400 1.22968 -T 400 1197 , , 0.134112 -T 400 1203 forty forty 2.00118 -F 401 0.566436 -T 401 1256 , , 0.755605 -T 401 1261 fifty fifty 2.69425 -F 402 1.9093 -T 402 0 -F 403 3.63841 -T 403 0 , , 1.72911 -T 403 404 nineteen nineteen 0.194338 -F 404 4.46101 -T 404 788 , , 0.156461 -T 404 792 sixty sixty 0.278613 -F 405 1.42737 -T 405 0 , , 2.30673 -T 405 407 eight eight 3.60884 -T 405 408 five five 3.60884 -T 405 409 forty forty 6.06248 -T 405 410 four four 3.60884 -T 405 411 hundred hundred 4.9227 -T 405 412 m m 6.06248 -T 405 413 nine nine 3.44098 -T 405 414 oh oh 3.2973 -T 405 415 one one 2.63623 -T 405 416 seven seven 3.60884 -T 405 417 six six 3.44098 -T 405 418 sixteen sixteen 6.06248 -T 405 419 t t 5.74311 -T 405 420 ten ten 6.06248 -T 405 421 thirty thirty 4.9227 -T 405 422 three three 3.17181 -T 405 423 twenty twenty 6.06248 -T 405 424 two two 1.09649 -T 405 425 zero zero 3.81078 -F 406 9.5927 -T 406 72 , , 3.12465e-10 -F 407 0.606961 -T 407 263 , , 0.450477 -T 407 266 five five 3.09974 -T 407 272 oh oh 3.09974 -F 408 1.47158 -T 408 405 , , 0.0442071 -T 408 407 eight eight 3.09974 -T 408 408 five five 3.09974 -T 408 422 three three 3.09974 -F 409 3.53081 -T 409 427 , , 0.177596 -T 409 429 five five 1.3081 -F 410 1.41978 -T 410 437 , , 0.209078 -T 410 442 five five 3.09974 -T 410 451 six six 1.5524 -F 411 2.11403 -T 411 543 , , 0.0145306 -T 411 546 eighty eighty 2.00118 -F 412 2.95444 -T 412 685 , , 0.0538222 -T 412 687 a a 1.3081 -F 413 0.84535 -T 413 764 , , 0.0168795 -T 413 779 seven seven 3.25401 -F 414 1.84023 -T 414 849 , , 0.243307 -T 414 853 four four 1.84023 -F 415 1.88812 -T 415 862 , , 0.418265 -T 415 870 four four 1.88812 -T 415 876 one one 1.88812 -T 415 885 three three 2.46883 -F 416 1.00351 -T 416 1035 , , 0.237438 -T 416 1037 eight eight 1.5524 -T 416 1047 oh oh 3.09974 -T 416 1052 six six 3.09974 -F 417 1.40392 -T 417 1077 , , 0.337821 -T 417 1083 four four 1.70668 -T 417 1087 one one 1.70668 -T 417 1095 three three 3.25401 -F 418 2.93482 -T 418 1100 , , -9.3561e-10 -F 419 2.82087 -T 419 1125 , , 0.231844 -T 419 1136 h h 1.3081 -F 420 0.771827 -T 420 1154 , , -3.04857e-09 -F 421 2.00118 -T 421 1177 , , 0.00857077 -F 422 1.7027 -T 422 1197 , , 0.607129 -T 422 1202 five five 3.50523 -T 422 1204 four four 1.37718 -T 422 1216 three three 1.37718 -F 423 3.17715 -T 423 1239 , , 0.193418 -T 423 1252 six six 1.3081 -F 424 2.53747 -T 424 1256 , , 1.02996 -T 424 1263 four four 3.39954 -T 424 1267 oh oh 3.03458 -T 424 1268 one one 0.714953 -T 424 1269 seven seven 3.98025 -T 424 1275 three three 2.38364 -T 424 1277 two two 2.10687 -T 424 1278 zero zero 3.98025 -F 425 0.974473 -T 425 1465 , , 0.251461 -T 425 1469 four four 1.37004 -F 426 1.9093 -T 426 0 -F 427 3.35321 -T 427 0 , , 1.44391 -T 427 428 eight eight 2.39146 -T 427 429 five five 2.0516 -T 427 430 four four 2.39146 -T 427 431 nine nine 2.39146 -T 427 432 one one 2.91024 -T 427 433 seven seven 2.0516 -T 427 434 six six 4.05002 -T 427 435 three three 2.0516 -T 427 436 two two 2.39146 -F 428 0.278613 -T 428 263 , , 1.01377 -F 429 0.201476 -T 429 405 , , 1.42678 -F 430 0.278613 -T 430 437 , , 1.0602 -F 431 0.859325 -T 431 764 , , 0.139125 -T 431 773 hundred hundred 2.40666 -F 432 0.45384 -T 432 862 , , 0.789396 -F 433 0.566436 -T 433 1035 , , 0.350241 -T 433 1041 forty forty 2.69425 -F 434 1.0661 -T 434 1077 , , -6.78617e-10 -F 435 1.28846 -T 435 1197 , , 0.192893 -T 435 1203 forty forty 2.69425 -T 435 1211 seventeen seventeen 2.69425 -T 435 1218 twenty twenty 2.69425 -F 436 0.278613 -T 436 1256 , , 1.16367 -F 437 1.2107 -T 437 0 , , 2.09175 -T 437 439 and and 5.8663 -T 437 440 eight eight 3.10112 -T 437 441 fifty fifty 4.72652 -T 437 442 five five 3.2448 -T 437 443 forty forty 4.72652 -T 437 444 four four 2.43982 -T 437 445 nine nine 3.86765 -T 437 446 ninety ninety 5.8663 -T 437 447 oh oh 3.41266 -T 437 448 one one 2.04539 -T 437 449 seven seven 2.9754 -T 437 450 seventy seventy 5.8663 -T 437 451 six six 3.10112 -T 437 452 sixty sixty 4.72652 -T 437 453 thirty thirty 5.8663 -T 437 454 thousand thousand 4.20774 -T 437 455 three three 3.6146 -T 437 456 twenty twenty 4.72652 -T 437 457 two two 2.37304 -T 437 458 zero zero 5.8663 -F 438 9.5927 -T 438 72 , , 3.35487e-10 -F 439 3.06711 -T 439 108 , , 0.112096 -T 439 109 a a 1.3081 -F 440 1.36186 -T 440 263 , , 0.2527 -T 440 268 four four 1.84023 -T 440 276 six six 3.38756 -T 440 282 two two 1.84023 -T 440 283 zero zero 3.38756 -F 441 3.22546 -T 441 390 , , -3.85694e-11 -F 442 1.60147 -T 442 405 , , 0.174099 -T 442 407 eight eight 3.25401 -T 442 413 nine nine 3.25401 -T 442 414 oh oh 3.25401 -T 442 415 one one 1.70668 -T 442 422 three three 3.25401 -F 443 3.4663 -T 443 427 , , 0.113088 -T 443 431 nine nine 2.00118 -T 443 436 two two 2.00118 -F 444 1.04606 -T 444 437 , , 0.162355 -T 444 444 four four 2.46883 -T 444 449 seven seven 2.46883 -F 445 0.956609 -T 445 764 , , 0.128139 -T 445 770 five five 2.69425 -T 445 774 nine nine 2.69425 -T 445 787 zero zero 2.69425 -F 446 3.13309 -T 446 794 , , 0.266993 -T 446 798 one one 1.3081 -F 447 2.53777 -T 447 849 , , 0.170943 -T 447 859 three three 1.5524 -F 448 2.27104 -T 448 862 , , 0.897609 -T 448 875 oh oh 2.85175 -T 448 876 one one 4.39909 -T 448 879 six six 4.39909 -T 448 887 two two 0.583936 -T 448 888 zero zero 4.39909 -F 449 0.931609 -T 449 1035 , , 0.165539 -T 449 1040 five five 3.50523 -T 449 1042 four four 3.50523 -T 449 1053 sixty sixty 3.50523 -T 449 1058 twenty twenty 3.50523 -T 449 1059 two two 1.95789 -F 450 1.76056 -T 450 1067 , , 5.16335e-10 -F 451 1.2242 -T 451 1077 , , 0.158099 -T 451 1081 five five 3.38756 -T 451 1085 nine nine 3.38756 -T 451 1086 oh oh 3.38756 -T 451 1088 seven seven 1.84023 -F 452 2.49206 -T 452 1107 , , 0.0826322 -T 452 1109 eight eight 2.00118 -T 452 1115 seven seven 2.00118 -F 453 2.33007 -T 453 1177 , , 0.272245 -T 453 1186 three three 1.3081 -F 454 1.9 -T 454 1189 , , 0.0883293 -T 454 1195 seven seven 2.40666 -T 454 1196 three three 2.40666 -F 455 1.12418 -T 455 1197 , , 0.0286086 -T 455 1199 eight eight 2.91738 -T 455 1213 six six 2.91738 -F 456 3.13365 -T 456 1239 , , 0.149923 -T 456 1241 eight eight 2.00118 -T 456 1248 one one 2.00118 -F 457 1.95259 -T 457 1256 , , 0.627873 -T 457 1266 nine nine 4.08064 -T 457 1268 one one 1.58763 -T 457 1277 two two 0.936692 -F 458 0.723012 -T 458 1465 , , -5.87383e-09 -F 459 1.2929 -T 459 0 , , 1.00534 -T 459 461 a a 2.95145 -T 459 462 eighty eighty 2.95145 -T 459 463 fourteen fourteen 2.95145 -T 459 464 sixty sixty 1.2929 -F 460 9.5927 -T 460 72 , , 1.16211e-08 -F 461 1.3081 -T 461 74 , , 0.243765 -F 462 3.10198 -T 462 290 , , 0.283311 -T 462 293 five five 1.3081 -F 463 1.2929 -T 463 459 , , 9.77121e-11 -F 464 2.42484 -T 464 1107 , , 0.015416 -T 464 1112 four four 2.40666 -F 465 2.54016 -T 465 0 , , 0.630853 -T 465 466 nineteen nineteen 0.754327 -F 466 4.56946 -T 466 788 , , 0.264914 -T 466 789 fifty fifty 1.3081 -F 467 1.9093 -T 467 0 -F 468 3.28654 -T 468 0 , , 1.37724 -T 468 470 a a 2.60837 -T 468 471 b b 5.36371 -T 468 472 c c 4.35948 -T 468 473 d d 4.35948 -T 468 474 e e 4.35948 -T 468 475 eighty eighty 5.49926 -T 468 476 forty forty 5.49926 -T 468 477 h h 0.803832 -T 468 478 i i 2.73409 -T 468 479 j j 4.35948 -T 468 480 k k 4.35948 -T 468 481 l l 2.60837 -T 468 482 n n 3.50062 -T 468 483 nine nine 4.35948 -T 468 484 o o 5.07934 -T 468 485 p p 5.49926 -T 468 486 q q 5.49926 -T 468 487 r r 4.35948 -T 468 488 s s 5.12493 -T 468 489 seventy seventy 5.49926 -T 468 490 t t 4.81362 -T 468 491 two two 4.35948 -T 468 492 u u 5.47055 -T 468 493 v v 4.35948 -T 468 494 w w 4.35948 -F 469 9.5927 -T 469 72 , , 1.16211e-08 -F 470 3.21004 -T 470 74 , , 0.535129 -T 470 77 b b 3.50523 -T 470 93 r r 1.01222 -T 470 95 six six 1.95789 -T 470 96 t t 3.50523 -F 471 3.67434 -T 471 127 , , 0.302734 -T 471 134 forty forty 1.3081 -F 472 3.24614 -T 472 162 , , 0.300452 -T 472 167 d d 2.00118 -T 472 179 s s 2.00118 -F 473 1.57281 -T 473 194 , , 0.155106 -T 473 199 e e 2.00118 -T 473 214 r r 2.00118 -F 474 2.08302 -T 474 228 , , 0.266047 -T 474 234 e e 2.00118 -T 474 237 four four 2.00118 -F 475 2.81867 -T 475 290 , , -4.50449e-10 -F 476 3.57242 -T 476 427 , , 0.219212 -T 476 428 eight eight 1.3081 -F 477 0.116741 -T 477 499 , , 2.00576 -T 477 511 l l 5.25933 -T 477 514 o o 3.712 -T 477 522 t t 5.25933 -T 477 527 x x 5.25933 -F 478 3.93517 -T 478 549 , , 0.405339 -T 478 552 b b 1.25951 -T 478 561 k k 3.38756 -T 478 573 u u 3.38756 -F 479 2.85913 -T 479 582 , , 0.27392 -T 479 591 h h 2.00118 -T 479 605 w w 2.00118 -F 480 2.20153 -T 480 619 , , 0.301664 -T 480 626 eighty eighty 2.00118 -T 480 631 k k 2.00118 -F 481 2.92904 -T 481 651 , , 0.518004 -T 481 656 e e 1.01222 -T 481 660 g g 1.95789 -T 481 671 seventy seventy 3.50523 -F 482 1.71571 -T 482 734 , , 0.221329 -T 482 749 m m 2.69425 -T 482 750 n n 2.69425 -T 482 751 o o 2.69425 -T 482 752 p p 2.69425 -F 483 1.01972 -T 483 764 , , 0.191249 -T 483 774 nine nine 2.00118 -T 483 781 six six 2.00118 -F 484 3.54141 -T 484 808 , , 0.279928 -T 484 835 t t 1.3081 -F 485 3.71088 -T 485 895 , , 0.300356 -T 485 899 d d 1.3081 -F 486 2.78813 -T 486 920 , , 0.299365 -T 486 939 y y 1.3081 -F 487 3.15427 -T 487 941 , , 0.0957485 -T 487 947 e e 2.00118 -T 487 955 o o 2.00118 -F 488 1.3081 -T 488 997 , , 0.19968 -F 489 1.97589 -T 489 1067 , , 0.215329 -T 489 1071 nine nine 1.3081 -F 490 2.87728 -T 490 1125 , , 0.288257 -T 490 1143 o o 1.3081 -F 491 1.81913 -T 491 1256 , , 0.311624 -T 491 1259 eighty eighty 2.00118 -T 491 1265 hundred hundred 2.00118 -F 492 3.49659 -T 492 1279 , , 0.310763 -T 492 1293 k k 1.3081 -F 493 3.33468 -T 493 1311 , , 0.182736 -T 493 1317 i i 2.00118 -T 493 1328 seven seven 2.00118 -F 494 2.65288 -T 494 1335 , , 0.243455 -T 494 1340 d d 2.00118 -T 494 1350 n n 2.00118 -F 495 1.9093 -T 495 0 -F 496 0.054341 -T 496 0 , , 2.77914 -F 497 9.59269 -T 497 72 , , -3.46217e-09 -F 498 1.9093 -T 498 0 -F 499 1.0113 -T 499 0 , , 1.28184 -T 499 501 a a 1.87822 -T 499 502 b b 3.74608 -T 499 503 e e 2.97955 -T 499 504 f f 4.08617 -T 499 505 fifty fifty 5.74472 -T 499 506 four four 4.93443 -T 499 507 g g 4.60494 -T 499 508 h h 5.05646 -T 499 509 i i 3.29108 -T 499 510 k k 4.60494 -T 499 511 l l 4.60494 -T 499 512 n n 3.74608 -T 499 513 nine nine 5.3383 -T 499 514 o o 2.46699 -T 499 515 one one 4.42141 -T 499 516 p p 5.44307 -T 499 517 q q 5.74472 -T 499 518 r r 4.08617 -T 499 519 seven seven 5.0841 -T 499 520 seventy seventy 5.74472 -T 499 521 six six 4.94663 -T 499 522 t t 4.08617 -T 499 523 three three 5.15686 -T 499 524 two two 4.46954 -T 499 525 u u 4.60494 -T 499 526 w w 5.74472 -T 499 527 x x 5.74472 -T 499 528 y y 4.08617 -T 499 529 z z 5.74472 -F 500 9.5927 -T 500 72 , , 2.98583e-10 -F 501 2.97713 -T 501 74 , , 0.302216 -T 501 80 e e 2.89619 -T 501 90 n n 2.31548 -T 501 93 r r 1.29958 -T 501 99 v v 2.89619 -T 501 100 w w 2.89619 -T 501 101 x x 4.44353 -F 502 3.59991 -T 502 127 , , 0.228306 -T 502 128 a a 2.69425 -T 502 135 g g 2.69425 -T 502 139 k k 2.69425 -T 502 153 x x 2.69425 -F 503 2.14773 -T 503 228 , , 0.330764 -T 503 230 a a 1.84023 -T 503 240 i i 3.38756 -T 503 248 q q 3.38756 -T 503 258 w w 1.84023 -F 504 2.85766 -T 504 350 , , 0.0871754 -T 504 354 d d 2.40666 -F 505 3.44213 -T 505 390 , , 0.216673 -T 505 401 two two 1.3081 -F 506 1.2107 -T 506 437 , , -4.50449e-10 -F 507 3.58472 -T 507 468 , , 0.298175 -T 507 485 p p 2.00118 -T 507 493 v v 2.00118 -F 508 1.31641 -T 508 499 , , 0.305115 -T 508 525 u u 1.3081 -F 509 3.09974 -T 509 549 , , 0.0776909 -T 509 560 g g 3.09974 -T 509 568 r r 3.09974 -F 510 2.15711 -T 510 619 , , 0.257249 -T 510 630 j j 2.00118 -T 510 640 t t 2.00118 -F 511 2.45433 -T 511 651 , , 0.0432886 -T 511 653 a a 2.00118 -F 512 1.663 -T 512 734 , , 0.168622 -T 512 738 c c 2.69425 -T 512 747 k k 2.69425 -T 512 754 s s 2.69425 -F 513 1.11188 -T 513 764 , , 0.283408 -T 513 772 four four 1.3081 -F 514 3.42815 -T 514 808 , , 0.166666 -T 514 812 b b 2.32561 -T 514 815 e e 3.87295 -T 514 817 f f 3.87295 -T 514 837 u u 2.32561 -T 514 840 y y 3.87295 -F 515 1.3081 -T 515 862 , , 0.0961996 -F 516 3.71088 -T 516 895 , , 0.300356 -T 516 899 d d 1.3081 -F 517 2.78813 -T 517 920 , , 0.299365 -T 517 924 f f 1.3081 -F 518 3.69041 -T 518 941 , , 0.631882 -T 518 951 i i 0.859325 -T 518 961 sixty sixty 2.40666 -F 519 1.02758 -T 519 1035 , , 0.261514 -T 519 1037 eight eight 1.3081 -F 520 1.97589 -T 520 1067 , , 0.215329 -T 520 1073 seven seven 1.3081 -F 521 1.0661 -T 521 1077 , , -6.78617e-10 -F 522 3.02964 -T 522 1125 , , 0.440616 -T 522 1130 e e 0.859325 -F 523 1.39962 -T 523 1197 , , 0.30405 -T 523 1212 seventy seventy 1.3081 -F 524 1.3081 -T 524 1256 , , 0.0648298 -F 525 3.31722 -T 525 1279 , , 0.131394 -T 525 1287 f f 2.00118 -F 526 2.59942 -T 526 1335 , , 0.189999 -T 526 1351 o o 1.3081 -F 527 2.51119 -T 527 1378 , , 0.300359 -T 527 1400 w w 1.3081 -F 528 1.22394 -T 528 1405 , , 0.0839319 -T 528 1409 d d 2.40666 -T 528 1416 l l 2.40666 -F 529 2.53893 -T 529 1437 , , 0.234905 -T 529 1439 a a 1.3081 -F 530 1.9093 -T 530 0 -F 531 0.307625 -T 531 0 , , 1.16836 -F 532 9.5927 -T 532 72 , , 1.15812e-08 -F 533 1.9093 -T 533 0 -F 534 1.9093 -T 534 0 -F 535 1.9093 -T 535 0 -F 536 1.9093 -T 536 0 -F 537 0.0451307 -T 537 0 , , 2.96029 -F 538 9.5927 -T 538 72 , , 3.80262e-10 -F 539 1.9093 -T 539 0 -F 540 1.9093 -T 540 0 -F 541 1.9093 -T 541 0 -F 542 1.9093 -T 542 0 -F 543 2.0995 -T 543 0 , , 1.33415 -T 543 545 and and 0.785642 -T 543 546 eighty eighty 2.0995 -T 543 547 forty forty 3.23928 -T 543 548 twenty twenty 3.23928 -F 544 9.5927 -T 544 72 , , 1.15812e-08 -F 545 3.06105 -T 545 108 , , 0.106037 -T 545 110 eighty eighty 0.971921 -F 546 3.0691 -T 546 290 , , 0.250432 -T 546 297 seven seven 2.00118 -T 546 299 three three 2.00118 -F 547 3.57242 -T 547 427 , , 0.219212 -T 547 431 nine nine 1.3081 -F 548 3.17715 -T 548 1239 , , 0.193418 -T 548 1254 three three 1.3081 -F 549 3.52983 -T 549 0 , , 1.62053 -T 549 551 a a 3.86167 -T 549 552 b b 4.20153 -T 549 553 c c 2.50544 -T 549 554 d d 3.60838 -T 549 555 e e 2.96941 -T 549 556 f f 3.86167 -T 549 557 fifteen fifteen 5.86031 -T 549 558 five five 4.72053 -T 549 559 four four 5.27312 -T 549 560 g g 3.86167 -T 549 561 k k 4.72053 -T 549 562 l l 2.85774 -T 549 563 m m 3.86167 -T 549 564 n n 2.08706 -T 549 565 o o 5.32262 -T 549 566 p p 4.20153 -T 549 567 q q 4.20153 -T 549 568 r r 4.20153 -T 549 569 s s 3.40667 -T 549 570 sixty sixty 5.86031 -T 549 571 t t 1.20448 -T 549 572 thirty thirty 5.86031 -T 549 573 u u 5.71383 -T 549 574 v v 3.40667 -T 549 575 y y 5.86031 -F 550 9.59269 -T 550 72 , , -3.3203e-09 -F 551 1.14692 -T 551 74 , , 0.349159 -T 551 89 m m 2.69425 -F 552 4.06687 -T 552 127 , , 0.695269 -T 552 129 b b 2.40666 -T 552 146 s s 0.859325 -F 553 2.39975 -T 553 162 , , 0.409012 -T 553 170 five five 3.94709 -T 553 171 h h 0.976987 -T 553 174 k k 2.39975 -T 553 183 two two 3.94709 -F 554 1.37004 -T 554 194 , , 0.091577 -T 554 207 m m 2.91738 -T 554 219 w w 2.91738 -F 555 1.91886 -T 555 228 , , 0.10189 -T 555 243 l l 1.95789 -T 555 249 r r 1.95789 -T 555 252 t t 3.50523 -F 556 3.12666 -T 556 350 , , 0.356173 -T 556 367 r r 2.69425 -T 556 370 t t 1.14692 -F 557 0.705052 -T 557 381 , , -3.83097e-09 -F 558 1.55022 -T 558 405 , , 0.12285 -T 558 425 zero zero 2.00118 -F 559 1.2107 -T 559 437 , , -4.50449e-10 -F 560 3.33182 -T 560 468 , , 0.0452742 -T 560 478 i i 2.69425 -T 560 482 n n 2.69425 -F 561 2.00118 -T 561 619 , , 0.125165 -T 561 643 two two 2.00118 -F 562 2.06335 -T 562 651 , , 0.43962 -T 562 663 k k 3.61068 -T 562 664 l l 1.11767 -T 562 679 zero zero 3.61068 -F 563 3.27179 -T 563 685 , , 0.37117 -T 563 699 i i 2.69425 -T 563 702 m m 2.69425 -T 563 704 o o 1.14692 -F 564 1.85957 -T 564 734 , , 0.575442 -T 564 738 c c 2.80524 -T 564 739 d d 1.85957 -T 564 743 g g 1.59293 -T 564 745 i i 2.80524 -T 564 754 s s 2.80524 -F 565 1.3081 -T 565 808 , , 0.276082 -F 566 3.64871 -T 566 895 , , 0.238181 -T 566 896 a a 2.40666 -T 566 913 s s 2.40666 -T 566 916 three three 2.40666 -F 567 2.68326 -T 567 920 , , 0.194492 -T 567 927 g g 2.40666 -T 567 930 n n 2.40666 -T 567 938 w w 2.40666 -F 568 3.16849 -T 568 941 , , 0.109966 -T 568 946 d d 2.40666 -T 568 952 k k 2.40666 -F 569 0.971921 -T 569 997 , , 0.486792 -T 569 1008 l l 3.09974 -T 569 1014 s s 3.09974 -F 570 2.61505 -T 570 1107 , , 0.205629 -T 570 1114 one one 1.3081 -F 571 4.98069 -T 571 1125 , , 2.39167 -T 571 1129 d d 5.21996 -T 571 1136 h h 3.67262 -T 571 1142 n n 5.21996 -T 571 1150 t t 0.0994717 -F 572 2.26857 -T 572 1177 , , 0.210749 -T 572 1187 two two 1.3081 -F 573 3.18583 -T 573 1279 , , 6.95521e-09 -F 574 3.54994 -T 574 1311 , , 0.397992 -T 574 1314 e e 0.606961 -T 574 1332 y y 3.09974 -F 575 1.4478 -T 575 1405 , , 0.307792 -T 575 1422 q q 1.3081 -F 576 1.9093 -T 576 0 -F 577 1.9093 -T 577 0 -F 578 1.9093 -T 578 0 -F 579 1.9093 -T 579 0 -F 580 1.9093 -T 580 0 -F 581 1.9093 -T 581 0 -F 582 2.58521 -T 582 0 , , 0.675908 -T 582 583 a a 2.96688 -T 582 584 b b 4.62543 -T 582 585 c c 3.48565 -T 582 586 d d 4.62543 -T 582 587 e e 2.37373 -T 582 588 five five 4.13186 -T 582 589 four four 3.48565 -T 582 590 g g 4.62543 -T 582 591 h h 3.48565 -T 582 592 j j 4.62543 -T 582 593 k k 3.48565 -T 582 594 l l 4.50649 -T 582 595 m m 4.62543 -T 582 596 n n 4.32251 -T 582 597 o o 2.00394 -T 582 598 one one 3.48565 -T 582 599 q q 3.48565 -T 582 600 s s 4.4236 -T 582 601 seven seven 2.96688 -T 582 602 t t 4.11229 -T 582 603 u u 3.48565 -T 582 604 v v 3.48565 -T 582 605 w w 4.62543 -T 582 606 x x 4.62543 -T 582 607 z z 3.48565 -F 583 3.20209 -T 583 74 , , 0.527176 -T 583 89 m m 0.859325 -T 583 90 n n 2.40666 -F 584 3.6658 -T 584 127 , , 0.294191 -T 584 153 x x 1.3081 -F 585 3.05743 -T 585 162 , , 0.111737 -T 585 175 l l 2.00118 -F 586 1.71785 -T 586 194 , , 0.300146 -T 586 216 two two 1.3081 -F 587 2.15465 -T 587 228 , , 0.337683 -T 587 230 a a 1.37004 -T 587 236 f f 2.91738 -T 587 252 t t 2.91738 -F 588 1.71508 -T 588 405 , , 0.287711 -T 588 416 seven seven 1.3081 -F 589 1.50802 -T 589 437 , , 0.297321 -T 589 453 thirty thirty 2.00118 -T 589 454 thousand thousand 2.00118 -F 590 3.59761 -T 590 468 , , 0.31107 -T 590 486 q q 1.3081 -F 591 1.2923 -T 591 499 , , 0.281003 -T 591 502 b b 2.00118 -T 591 507 g g 2.00118 -F 592 2.86927 -T 592 582 , , 0.284055 -T 592 585 c c 1.3081 -F 593 2.17729 -T 593 619 , , 0.277424 -T 593 625 eight eight 2.00118 -T 593 643 two two 2.00118 -F 594 2.69352 -T 594 651 , , 0.282481 -T 594 677 y y 1.3081 -F 595 3.21049 -T 595 685 , , 0.309869 -T 595 701 k k 1.3081 -F 596 1.8007 -T 596 734 , , 0.306324 -T 596 753 r r 1.3081 -F 597 3.25401 -T 597 808 , , 0.484095 -T 597 822 h h 1.70668 -T 597 828 ninety ninety 3.25401 -T 597 833 s s 1.70668 -F 598 1.62632 -T 598 862 , , -2.86699e-09 -F 599 2.73494 -T 599 920 , , 0.246175 -T 599 926 five five 2.00118 -T 599 935 t t 2.00118 -F 600 2.50089 -T 600 997 , , 0.285113 -T 600 1013 p p 1.3081 -F 601 1.04268 -T 601 1035 , , 0.276614 -T 601 1042 four four 2.40666 -T 601 1054 ten ten 2.40666 -T 601 1056 thousand thousand 2.40666 -F 602 2.89703 -T 602 1125 , , 0.308004 -T 602 1139 k k 1.3081 -F 603 3.47028 -T 603 1279 , , 0.284449 -T 603 1291 i i 2.00118 -T 603 1294 l l 2.00118 -F 604 3.45233 -T 604 1311 , , 0.300387 -T 604 1313 c c 2.00118 -T 604 1324 p p 2.00118 -F 605 2.70396 -T 605 1335 , , 0.294534 -T 605 1338 b b 1.3081 -F 606 2.51119 -T 606 1378 , , 0.300359 -T 606 1389 k k 1.3081 -F 607 2.52757 -T 607 1437 , , 0.223541 -T 607 1439 a a 2.00118 -T 607 1444 f f 2.00118 -F 608 2.54436 -T 608 0 , , 0.63506 -T 608 609 fifteenth fifteenth 1.4474 -T 608 610 twelfth twelfth 1.4474 -F 609 3.23341 -T 609 385 , , 2.81408e-08 -F 610 3.23341 -T 610 1225 , , 2.81408e-08 -F 611 2.53813 -T 611 0 , , 0.628822 -T 611 612 thirtieth thirtieth 1.85289 -T 611 613 twelfth twelfth 1.85289 -T 611 614 twenty twenty 1.85289 -F 612 3.63841 -T 612 1175 , , -3.06887e-08 -F 613 3.23341 -T 613 1225 , , 2.81408e-08 -F 614 3.20571 -T 614 1239 , , 0.221976 -T 614 1247 nine nine 1.3081 -F 615 2.53871 -T 615 0 , , 0.629405 -T 615 616 eleventh eleventh 1.4474 -T 615 617 twenty twenty 1.4474 -F 616 2.54016 -T 616 305 , , 4.73853e-09 -F 617 3.26046 -T 617 1239 , , 0.276734 -T 617 1253 third third 1.3081 -F 618 1.9093 -T 618 0 -F 619 1.89986 -T 619 0 , , 0.564101 -T 619 621 a a 2.75113 -T 619 622 c c 5.00283 -T 619 623 d d 4.7152 -T 619 624 e e 2.23765 -T 619 625 eight eight 4.29843 -T 619 626 eighty eighty 5.00283 -T 619 627 f f 3.86305 -T 619 628 h h 3.86305 -T 619 629 i i 3.00418 -T 619 630 j j 3.86305 -T 619 631 k k 5.00283 -T 619 632 l l 3.86305 -T 619 633 m m 4.8423 -T 619 634 nine nine 4.62056 -T 619 635 ninety ninety 5.00283 -T 619 636 o o 4.2662 -T 619 637 r r 3.92104 -T 619 638 s s 3.86305 -T 619 639 six six 3.86305 -T 619 640 t t 3.34404 -T 619 641 three three 4.43912 -T 619 642 twenty twenty 5.00283 -T 619 643 two two 3.7518 -T 619 644 u u 3.86305 -T 619 645 v v 5.00283 -T 619 646 w w 3.00418 -T 619 647 x x 3.86305 -T 619 648 y y 3.86305 -T 619 649 z z 3.86305 -F 620 9.59269 -T 620 72 , , -3.32819e-09 -F 621 3.68351 -T 621 74 , , 1.00859 -T 621 93 r r 0.424597 -T 621 98 u u 2.91738 -F 622 3.24106 -T 622 162 , , 0.295367 -T 622 186 w w 1.3081 -F 623 1.62344 -T 623 194 , , 0.205735 -T 623 196 a a 1.3081 -F 624 1.9968 -T 624 228 , , 0.179834 -T 624 234 e e 1.84023 -T 624 253 thirty thirty 3.38756 -T 624 257 v v 3.38756 -F 625 1.36042 -T 625 263 , , 0.251268 -T 625 266 five five 1.3081 -F 626 3.10198 -T 626 290 , , 0.283311 -T 626 294 four four 1.3081 -F 627 3.05166 -T 627 350 , , 0.281177 -T 627 358 five five 2.00118 -T 627 369 six six 2.00118 -F 628 1.14631 -T 628 499 , , 0.135014 -T 628 501 a a 2.00118 -T 628 515 one one 2.00118 -F 629 2.69425 -T 629 549 , , 0.430385 -T 629 559 four four 2.69425 -T 629 564 n n 1.14692 -F 630 2.85259 -T 630 582 , , 0.267382 -T 630 588 five five 2.00118 -T 630 607 z z 2.00118 -F 631 2.20315 -T 631 619 , , 0.303291 -T 631 641 three three 1.3081 -F 632 2.54563 -T 632 651 , , 0.134595 -T 632 665 m m 2.00118 -F 633 3.20612 -T 633 685 , , 0.305501 -T 633 696 four four 1.3081 -F 634 0.82847 -T 634 764 , , 2.44207e-09 -F 635 3.02224 -T 635 794 , , 0.156139 -T 635 800 six six 1.3081 -F 636 3.57045 -T 636 808 , , 0.308969 -T 636 816 eight eight 1.3081 -F 637 3.27741 -T 637 941 , , 0.218887 -T 637 955 o o 1.3081 -F 638 2.00118 -T 638 997 , , 0.196204 -T 638 1017 thirty thirty 2.00118 -F 639 1.31225 -T 639 1077 , , 0.246155 -T 639 1083 four four 2.00118 -T 639 1094 thousand thousand 2.00118 -F 640 2.77807 -T 640 1125 , , 0.189048 -T 640 1130 e e 2.40666 -T 640 1133 fifty fifty 2.40666 -T 640 1140 l l 2.40666 -F 641 1.40719 -T 641 1197 , , 0.311625 -T 641 1215 thirty thirty 1.3081 -F 642 3.17715 -T 642 1239 , , 0.193418 -T 642 1254 three three 1.3081 -F 643 1.77641 -T 643 1256 , , 0.268906 -T 643 1258 eight eight 2.00118 -T 643 1271 sixty sixty 2.00118 -F 644 3.45374 -T 644 1279 , , 0.267916 -T 644 1289 four four 2.00118 -T 644 1296 n n 2.00118 -F 645 3.45974 -T 645 1311 , , 0.307792 -T 645 1329 thirty thirty 1.3081 -F 646 2.57283 -T 646 1335 , , 0.163402 -T 646 1347 h h 2.69425 -T 646 1358 w w 2.69425 -T 646 1361 z z 2.69425 -F 647 2.42962 -T 647 1378 , , 0.218789 -T 647 1402 y y 2.00118 -T 647 1404 zero zero 2.00118 -F 648 0.45384 -T 648 1405 , , 0.622972 -F 649 2.52758 -T 649 1437 , , 0.223555 -T 649 1452 o o 2.00118 -T 649 1456 sixty sixty 2.00118 -F 650 1.9093 -T 650 0 -F 651 2.41104 -T 651 0 , , 1.37365 -T 651 653 a a 2.3339 -T 651 654 c c 5.68877 -T 651 655 d d 2.6862 -T 651 656 e e 1.62148 -T 651 657 eight eight 5.10798 -T 651 658 f f 4.03021 -T 651 659 fifty fifty 5.68877 -T 651 660 g g 4.03021 -T 651 661 h h 5.14827 -T 651 662 i i 2.49462 -T 651 663 k k 4.03021 -T 651 664 l l 2.07394 -T 651 665 m m 4.54899 -T 651 666 n n 5.02025 -T 651 667 nine nine 5.43011 -T 651 668 o o 3.43707 -T 651 669 r r 4.03021 -T 651 670 s s 4.03021 -T 651 671 seventy seventy 5.68877 -T 651 672 t t 4.81002 -T 651 673 thirty thirty 5.68877 -T 651 674 three three 5.24867 -T 651 675 two two 4.56134 -T 651 676 u u 4.03021 -T 651 677 y y 3.43707 -T 651 678 z z 4.54899 -T 651 679 zero zero 5.68877 -F 652 9.5927 -T 652 72 , , 3.9064e-10 -F 653 2.39975 -T 653 74 , , 0.564544 -T 653 76 a a 3.94709 -T 653 78 c c 1.45408 -T 653 90 n n 1.45408 -F 654 3.22737 -T 654 162 , , 0.281675 -T 654 188 z z 1.3081 -F 655 0.850805 -T 655 194 , , 0.339505 -T 655 197 b b 3.61068 -T 655 203 i i 3.61068 -F 656 1.21945 -T 656 228 , , 0.40701 -T 656 237 four four 4.64017 -T 656 250 s s 3.09283 -T 656 251 seventy seventy 4.64017 -T 656 255 two two 4.64017 -T 656 256 u u 4.64017 -T 656 258 w w 3.09283 -T 656 260 y y 2.14739 -F 657 1.32497 -T 657 263 , , 0.215811 -T 657 268 four four 1.3081 -F 658 2.9471 -T 658 350 , , 0.176612 -T 658 365 o o 2.40666 -T 658 371 thirty thirty 2.40666 -T 658 375 x x 2.40666 -F 659 3.38064 -T 659 390 , , 0.155184 -T 659 396 one one 1.3081 -F 660 3.85799 -T 660 468 , , 0.571444 -T 660 470 a a 0.859325 -T 660 478 i i 2.40666 -F 661 1.30257 -T 661 499 , , 0.291274 -T 661 512 n n 1.3081 -F 662 3.90636 -T 662 549 , , 0.37653 -T 662 551 a a 3.79282 -T 662 555 e e 1.665 -T 662 556 f f 3.79282 -T 662 560 g g 3.79282 -T 662 564 n n 1.665 -T 662 565 o o 3.79282 -T 662 566 p p 3.79282 -F 663 2.11899 -T 663 619 , , 0.21913 -T 663 627 f f 2.40666 -T 663 628 h h 2.40666 -T 663 629 i i 2.40666 -F 664 1.43866 -T 664 651 , , 0.497568 -T 664 656 e e 2.07048 -T 664 662 i i 1.70552 -T 664 663 k k 4.1983 -T 664 667 nine nine 4.1983 -T 664 670 s s 4.1983 -T 664 677 y y 2.65097 -F 665 3.05868 -T 665 685 , , 0.158059 -T 665 704 o o 2.00118 -T 665 712 u u 2.00118 -F 666 1.78241 -T 666 734 , , 0.288036 -T 666 754 s s 1.3081 -F 667 1.11188 -T 667 764 , , 0.283408 -T 667 772 four four 1.3081 -F 668 3.26198 -T 668 808 , , 0.000497894 -T 668 838 w w 2.91738 -F 669 3.30044 -T 669 941 , , 0.241916 -T 669 953 l l 2.40666 -T 669 958 r r 2.40666 -T 669 960 seven seven 2.40666 -F 670 2.38574 -T 670 997 , , 0.169964 -T 670 1007 k k 2.40666 -T 670 1011 o o 2.40666 -T 670 1020 w w 2.40666 -F 671 1.97589 -T 671 1067 , , 0.215329 -T 671 1073 seven seven 1.3081 -F 672 2.89703 -T 672 1125 , , 0.308004 -T 672 1141 m m 1.3081 -F 673 2.13289 -T 673 1177 , , 0.0750664 -T 673 1182 one one 1.3081 -F 674 1.37655 -T 674 1197 , , 0.280978 -T 674 1210 seven seven 1.3081 -F 675 1.3081 -T 675 1256 , , 0.0648298 -F 676 3.4384 -T 676 1279 , , 0.252569 -T 676 1282 b b 2.40666 -T 676 1284 d d 2.40666 -T 676 1301 s s 2.40666 -F 677 0.789556 -T 677 1405 , , 0.370658 -T 677 1428 u u 2.91738 -T 677 1432 z z 2.91738 -F 678 2.52758 -T 678 1437 , , 0.223555 -T 678 1442 e e 2.00118 -T 678 1453 r r 2.00118 -F 679 0.723012 -T 679 1465 , , -5.87383e-09 -F 680 1.9093 -T 680 0 -F 681 1.9093 -T 681 0 -F 682 1.9093 -T 682 0 -F 683 1.9093 -T 683 0 -F 684 1.9093 -T 684 0 -F 685 2.90062 -T 685 0 , , 0.991317 -T 685 687 a a 1.46974 -T 685 688 b b 4.10321 -T 685 689 c c 5.24299 -T 685 690 d d 5.14242 -T 685 691 e e 2.47758 -T 685 692 eight eight 4.72565 -T 685 693 f f 5.24299 -T 685 694 fifty fifty 5.24299 -T 685 695 forty forty 5.24299 -T 685 696 four four 4.64391 -T 685 697 g g 5.01209 -T 685 698 h h 4.10321 -T 685 699 i i 2.78935 -T 685 700 j j 4.10321 -T 685 701 k k 5.24299 -T 685 702 m m 3.5842 -T 685 703 n n 3.5842 -T 685 704 o o 2.14002 -T 685 705 p p 3.24434 -T 685 706 q q 5.24299 -T 685 707 s s 4.10321 -T 685 708 seven seven 4.79358 -T 685 709 t t 4.4277 -T 685 710 thirty thirty 5.24299 -T 685 711 two two 4.17902 -T 685 712 u u 3.5842 -T 685 713 v v 4.10321 -T 685 714 x x 5.24299 -T 685 715 y y 4.10321 -F 686 9.5927 -T 686 72 , , 1.16211e-08 -F 687 3.12403 -T 687 74 , , 0.449119 -T 687 83 h h 4.35258 -T 687 92 p p 4.35258 -T 687 93 r r 0.931856 -T 687 94 s s 2.80524 -T 687 96 t t 2.80524 -T 687 98 u u 4.35258 -T 687 103 z z 4.35258 -F 688 3.59036 -T 688 127 , , 0.218753 -T 688 131 e e 2.00118 -T 688 155 z z 2.00118 -F 689 3.14103 -T 689 162 , , 0.195339 -T 689 174 k k 1.3081 -F 690 1.7182 -T 690 194 , , 0.300503 -T 690 207 m m 1.3081 -F 691 2.29698 -T 691 228 , , 0.480007 -T 691 234 e e 3.38756 -T 691 244 m m 3.38756 -T 691 249 r r 1.25951 -T 691 250 s s 1.84023 -F 692 1.32497 -T 692 263 , , 0.215811 -T 692 268 four four 1.3081 -F 693 3.07804 -T 693 350 , , 0.307557 -T 693 359 g g 1.3081 -F 694 3.47152 -T 694 390 , , 0.246061 -T 694 394 four four 1.3081 -F 695 3.53081 -T 695 427 , , 0.177596 -T 695 435 three three 1.3081 -F 696 1.52303 -T 696 437 , , 0.31233 -T 696 450 seventy seventy 1.3081 -F 697 3.58885 -T 697 468 , , 0.3023 -T 697 474 e e 1.3081 -F 698 1.30322 -T 698 499 , , 0.291927 -T 698 518 r r 2.00118 -T 698 519 seven seven 2.00118 -F 699 3.77085 -T 699 549 , , 0.241019 -T 699 553 c c 1.5524 -T 699 554 d d 3.09974 -T 699 572 thirty thirty 3.09974 -F 700 2.81474 -T 700 582 , , 0.22953 -T 700 598 one one 2.00118 -T 700 601 seven seven 2.00118 -F 701 2.20513 -T 701 619 , , 0.305272 -T 701 634 nine nine 1.3081 -F 702 2.40666 -T 702 685 , , 0.146229 -T 702 691 e e 2.40666 -T 702 713 v v 2.40666 -F 703 1.72585 -T 703 734 , , 0.231473 -T 703 757 t t 2.40666 -T 703 761 y y 2.40666 -T 703 762 z z 2.40666 -F 704 3.86676 -T 704 808 , , 0.605275 -T 704 822 h h 3.70601 -T 704 827 n n 2.15867 -T 704 832 r r 0.735906 -T 704 835 t t 3.70601 -F 705 3.91463 -T 705 895 , , 0.504106 -T 705 900 e e 2.69425 -T 705 908 l l 2.69425 -T 705 913 s s 1.14692 -F 706 2.71801 -T 706 920 , , 0.229242 -T 706 930 n n 1.3081 -F 707 2.00118 -T 707 997 , , 0.196204 -T 707 1006 j j 2.00118 -F 708 0.76607 -T 708 1035 , , -2.57538e-10 -F 709 2.89213 -T 709 1125 , , 0.303103 -T 709 1135 g g 1.3081 -F 710 2.33007 -T 710 1177 , , 0.272245 -T 710 1181 nine nine 1.3081 -F 711 1.3081 -T 711 1256 , , 0.0648298 -F 712 2.40666 -T 712 1279 , , 0.233788 -T 712 1288 five five 2.40666 -T 712 1289 four four 2.40666 -F 713 3.43635 -T 713 1311 , , 0.284404 -T 713 1323 o o 2.00118 -T 713 1325 q q 2.00118 -F 714 2.51119 -T 714 1378 , , 0.300359 -T 714 1396 seventy seventy 1.3081 -F 715 1.26891 -T 715 1405 , , 0.128898 -T 715 1407 a a 2.00118 -F 716 1.9093 -T 716 0 -F 717 1.9093 -T 717 0 -F 718 1.9093 -T 718 0 -F 719 1.9093 -T 719 0 -F 720 2.53828 -T 720 0 , , 0.62898 -T 720 721 third third 1.85289 -T 720 722 twentieth twentieth 1.85289 -T 720 723 twenty twenty 1.85289 -F 721 3.63841 -T 721 1173 , , -3.06887e-08 -F 722 2.54016 -T 722 1237 , , 4.73853e-09 -F 723 3.28676 -T 723 1239 , , 0.303033 -T 723 1242 fifth fifth 1.3081 -F 724 2.53386 -T 724 0 , , 0.624557 -T 724 725 nineteen nineteen 1.85289 -T 724 726 ninth ninth 1.85289 -T 724 727 twenty twenty 1.85289 -F 725 4.56946 -T 725 788 , , 0.264914 -T 725 790 forty forty 1.3081 -F 726 2.58039 -T 726 801 , , 0.0470533 -T 726 803 sixty sixty 1.3081 -F 727 3.28676 -T 727 1239 , , 0.303033 -T 727 1243 first first 1.3081 -F 728 1.9093 -T 728 0 -F 729 1.9093 -T 729 0 -F 730 1.9093 -T 730 0 -F 731 1.9093 -T 731 0 -F 732 1.9093 -T 732 0 -F 733 1.9093 -T 733 0 -F 734 1.49438 -T 734 0 , , 1.4293 -T 734 736 a a 2.76955 -T 734 737 b b 3.87364 -T 734 738 c c 3.62058 -T 734 739 d d 2.59455 -T 734 740 e e 2.149 -T 734 741 f f 5.87228 -T 734 742 four four 5.08189 -T 734 743 g g 3.10711 -T 734 744 h h 4.7325 -T 734 745 i i 2.76955 -T 734 746 j j 5.87228 -T 734 747 k k 5.87228 -T 734 748 l l 4.7325 -T 734 749 m m 5.7075 -T 734 750 n n 2.98139 -T 734 751 o o 3.87364 -T 734 752 p p 4.21373 -T 734 753 r r 4.7325 -T 734 754 s s 3.62058 -T 734 755 seventy seventy 5.87228 -T 734 756 six six 5.09409 -T 734 757 t t 2.98139 -T 734 758 three three 5.30432 -T 734 759 u u 3.62058 -T 734 760 x x 4.7325 -T 734 761 y y 4.21373 -T 734 762 z z 4.21373 -F 735 9.5927 -T 735 72 , , 3.79982e-10 -F 736 1.57796 -T 736 74 , , 0.336211 -T 736 76 a a 3.70601 -T 736 81 f f 3.70601 -T 736 82 g g 3.70601 -T 736 96 t t 2.15867 -F 737 3.51218 -T 737 127 , , 0.140579 -T 737 128 a a 2.69425 -T 737 133 five five 2.69425 -T 737 153 x x 2.69425 -F 738 3.20219 -T 738 162 , , 0.256499 -T 738 168 e e 1.37004 -T 738 182 thirty thirty 2.91738 -F 739 1.7449 -T 739 194 , , 0.444714 -T 739 196 a a 1.37994 -T 739 199 e e 2.32561 -T 739 206 l l 3.87295 -T 739 220 y y 2.32561 -F 740 1.54411 -T 740 228 , , 0.447782 -T 740 238 g g 2.75642 -T 740 239 h h 4.30376 -T 740 240 i i 4.30376 -T 740 243 l l 2.17571 -T 740 258 w w 2.17571 -T 740 260 y y 2.75642 -F 741 2.96357 -T 741 350 , , 0.193089 -T 741 355 e e 1.3081 -F 742 1.2107 -T 742 437 , , -4.50449e-10 -F 743 3.37304 -T 743 468 , , 0.0864956 -T 743 482 n n 3.38756 -T 743 488 s s 3.38756 -T 743 490 t t 3.38756 -T 743 493 v v 3.38756 -F 744 1.23152 -T 744 499 , , 0.220224 -T 744 514 o o 2.00118 -T 744 523 three three 2.00118 -F 745 2.15867 -T 745 549 , , 0.475291 -T 745 551 a a 2.15867 -T 745 553 c c 1.57796 -T 745 556 f f 3.70601 -T 745 563 m m 3.70601 -F 746 2.86927 -T 746 582 , , 0.284055 -T 746 589 four four 1.3081 -F 747 2.10219 -T 747 619 , , 0.202325 -T 747 624 e e 1.3081 -F 748 2.58433 -T 748 651 , , 0.173293 -T 748 664 l l 2.00118 -T 748 666 n n 2.00118 -F 749 3.21049 -T 749 685 , , 0.309869 -T 749 695 forty forty 1.3081 -F 750 1.6551 -T 750 734 , , 0.160722 -T 750 745 i i 1.95789 -T 750 752 p p 3.50523 -T 750 758 three three 3.50523 -T 750 761 y y 3.50523 -F 751 2.69425 -T 751 808 , , 0.11988 -T 751 830 p p 2.69425 -T 751 838 w w 2.69425 -F 752 3.69036 -T 752 895 , , 0.279835 -T 752 901 eight eight 2.40666 -T 752 910 ninety ninety 2.40666 -T 752 917 u u 2.40666 -F 753 3.1462 -T 753 941 , , 0.0876806 -T 753 943 a a 2.00118 -F 754 2.31421 -T 754 997 , , 0.0984313 -T 754 1004 h h 2.91738 -T 754 1007 k k 2.91738 -T 754 1012 one one 2.91738 -F 755 1.76056 -T 755 1067 , , 5.16335e-10 -F 756 1.34734 -T 756 1077 , , 0.281241 -T 756 1088 seven seven 1.3081 -F 757 3.16467 -T 757 1125 , , 0.575643 -T 757 1129 d d 3.50523 -T 757 1134 four four 3.50523 -T 757 1143 o o 3.50523 -T 757 1146 r r 1.95789 -T 757 1153 z z 1.37718 -F 758 1.3843 -T 758 1197 , , 0.28873 -T 758 1207 nine nine 1.3081 -F 759 4.36008 -T 759 1279 , , 1.17425 -T 759 1281 a a 2.91738 -T 759 1285 e e 0.424597 -F 760 2.49618 -T 760 1378 , , 0.285354 -T 760 1383 f f 2.00118 -T 760 1399 v v 2.00118 -F 761 1.38378 -T 761 1405 , , 0.243774 -T 761 1414 h h 2.40666 -T 761 1426 ten ten 2.40666 -T 761 1429 v v 2.40666 -F 762 2.51142 -T 762 1437 , , 0.207394 -T 762 1447 i i 2.40666 -T 762 1449 l l 2.40666 -T 762 1462 x x 2.40666 -F 763 1.9093 -T 763 0 -F 764 0.82847 -T 764 0 , , 1.58774 -T 764 766 and and 5.4638 -T 764 767 eight eight 3.80525 -T 764 768 eighty eighty 5.4638 -T 764 769 fifty fifty 4.32402 -T 764 770 five five 2.84231 -T 764 771 forty forty 5.4638 -T 764 772 four four 3.46539 -T 764 773 hundred hundred 5.4638 -T 764 774 nine nine 3.46539 -T 764 775 nineteen nineteen 5.4638 -T 764 776 of of 5.4638 -T 764 777 oh oh 5.4638 -T 764 778 one one 3.21211 -T 764 779 seven seven 3.80525 -T 764 780 seventy seventy 5.4638 -T 764 781 six six 2.46146 -T 764 782 sixty sixty 5.4638 -T 764 783 thirty thirty 4.32402 -T 764 784 three three 3.21211 -T 764 785 twenty twenty 4.32402 -T 764 786 two two 3.21211 -T 764 787 zero zero 5.4638 -F 765 9.5927 -T 765 72 , , 3.12465e-10 -F 766 3.06711 -T 766 108 , , 0.112096 -T 766 109 a a 1.3081 -F 767 1.29614 -T 767 263 , , 0.186981 -T 767 265 eight eight 2.40666 -T 767 271 nine nine 2.40666 -T 767 282 two two 2.40666 -F 768 2.95387 -T 768 290 , , 0.135201 -T 768 295 nine nine 1.3081 -F 769 3.36564 -T 769 390 , , 0.14018 -T 769 392 eight eight 2.00118 -T 769 395 nine nine 2.00118 -F 770 1.44947 -T 770 405 , , 0.0221005 -T 770 410 four four 3.25401 -T 770 413 nine nine 3.25401 -T 770 414 oh oh 3.25401 -F 771 3.53081 -T 771 427 , , 0.177596 -T 771 435 three three 1.3081 -F 772 1.14692 -T 772 437 , , 0.13143 -T 772 447 oh oh 2.69425 -T 772 451 six six 2.69425 -F 773 1.3081 -T 773 543 , , 0.184469 -F 774 0.566436 -T 774 764 , , 0.377164 -T 774 772 four four 2.69425 -F 775 4.30455 -T 775 788 , , -2.4474e-08 -F 776 2.57992 -T 776 846 , , 0.0470533 -T 776 848 sixty sixty 1.3081 -F 777 2.66045 -T 777 849 , , 0.293627 -T 777 855 oh oh 1.3081 -F 778 0.789556 -T 778 862 , , 0.45175 -T 778 870 four four 2.91738 -F 779 0.998096 -T 779 1035 , , 0.232026 -T 779 1052 six six 2.40666 -T 779 1059 two two 2.40666 -T 779 1060 zero zero 2.40666 -F 780 1.93246 -T 780 1067 , , 0.171903 -T 780 1075 two two 1.3081 -F 781 1.11767 -T 781 1077 , , 0.0909399 -T 781 1090 six six 2.06335 -F 782 2.66049 -T 782 1107 , , 0.25107 -T 782 1109 eight eight 1.3081 -F 783 2.31597 -T 783 1177 , , 0.258145 -T 783 1181 nine nine 2.00118 -T 783 1185 sixty sixty 2.00118 -F 784 1.35326 -T 784 1197 , , 0.257687 -T 784 1202 five five 1.37004 -T 784 1216 three three 2.91738 -F 785 2.00118 -T 785 1239 , , 0.134589 -T 785 1254 three three 2.00118 -F 786 1.37004 -T 786 1256 , , 0.359729 -T 786 1275 three three 2.91738 -T 786 1277 two two 1.37004 -F 787 0.723012 -T 787 1465 , , -5.87383e-09 -F 788 4.30455 -T 788 0 , , 2.39525 -T 788 789 fifty fifty 3.0157 -T 788 790 forty forty 3.0157 -T 788 791 seventy seventy 2.49692 -T 788 792 sixty sixty 0.334566 -T 788 793 twenty twenty 4.15548 -F 789 4.13533 -T 789 390 , , 0.909869 -T 789 401 two two 0.45384 -F 790 4.26562 -T 790 427 , , 0.912408 -T 790 430 four four 0.45384 -F 791 0.278613 -T 791 1067 , , 1.22533 -F 792 2.89577 -T 792 1107 , , 0.486349 -T 792 1111 five five 2.27104 -T 792 1113 nine nine 1.10731 -T 792 1115 seven seven 1.63944 -F 793 3.17715 -T 793 1239 , , 0.193418 -T 793 1241 eight eight 1.3081 -F 794 2.8661 -T 794 0 , , 0.956793 -T 794 795 eight eight 1.91713 -T 794 796 five five 1.91713 -T 794 797 four four 1.91713 -T 794 798 one one 3.05691 -T 794 799 seven seven 3.05691 -T 794 800 six six 1.91713 -F 795 1.24473 -T 795 263 , , 0.135573 -T 795 281 twenty twenty 2.00118 -F 796 0.45384 -T 796 405 , , 0.734008 -F 797 0.45384 -T 797 437 , , 0.654558 -F 798 1.3081 -T 798 862 , , 0.0961996 -F 799 0.76607 -T 799 1035 , , -2.57538e-10 -F 800 0.45384 -T 800 1077 , , 0.586236 -F 801 2.53334 -T 801 0 , , 0.624035 -T 801 802 of of 1.4474 -T 801 803 sixty sixty 1.4474 -F 802 2.57992 -T 802 846 , , 0.0470533 -T 802 847 september september 1.3081 -F 803 2.66049 -T 803 1107 , , 0.25107 -T 803 1118 two two 1.3081 -F 804 0.0336177 -T 804 0 , , 3.24908 -F 805 9.5927 -T 805 72 , , 4.48301e-10 -F 806 1.9093 -T 806 0 -F 807 1.9093 -T 807 0 -F 808 3.26148 -T 808 0 , , 1.35218 -T 808 810 a a 3.1953 -T 808 811 apostrophe apostrophe 5.81679 -T 808 812 b b 3.56509 -T 808 813 c c 5.80238 -T 808 814 d d 2.92613 -T 808 815 e e 4.59859 -T 808 816 eight eight 5.08651 -T 808 817 f f 4.15824 -T 808 818 five five 4.80813 -T 808 819 forty forty 5.81679 -T 808 820 four four 5.00477 -T 808 821 g g 5.37295 -T 808 822 h h 3.81838 -T 808 823 j j 5.81679 -T 808 824 k k 4.67701 -T 808 825 l l 3.05162 -T 808 826 m m 3.36316 -T 808 827 n n 1.7495 -T 808 828 ninety ninety 5.81679 -T 808 829 o o 2.53929 -T 808 830 p p 4.67701 -T 808 831 q q 5.81679 -T 808 832 r r 2.14647 -T 808 833 s s 3.56509 -T 808 834 sixty sixty 5.81679 -T 808 835 t t 3.36316 -T 808 836 two two 4.53988 -T 808 837 u u 2.81445 -T 808 838 w w 2.92613 -T 808 839 x x 5.81679 -T 808 840 y y 4.67701 -T 808 841 z z 5.81679 -F 809 9.59269 -T 809 72 , , -3.3203e-09 -F 810 3.1249 -T 810 74 , , 0.449986 -T 810 78 c c 3.25401 -T 810 79 d d 1.12596 -T 810 87 k k 3.25401 -T 810 89 m m 3.25401 -T 810 100 w w 3.25401 -F 811 2.52159 -T 811 115 , , 4.73853e-09 -F 812 4.03771 -T 812 127 , , 0.666109 -T 812 128 a a 1.37004 -T 812 131 e e 1.37004 -T 812 132 eight eight 2.91738 -F 813 3.14103 -T 813 162 , , 0.195339 -T 813 174 k k 1.3081 -F 814 0.535121 -T 814 194 , , 0.732579 -T 814 215 s s 3.50523 -T 814 217 u u 3.50523 -F 815 1.3081 -T 815 228 , , 0.137813 -F 816 1.10916 -T 816 263 , , 1.87183e-09 -F 817 2.99876 -T 817 350 , , 0.228274 -T 817 353 b b 2.40666 -T 817 357 f f 2.40666 -T 817 360 h h 2.40666 -F 818 1.3081 -T 818 405 , , 0.0408118 -F 819 3.6508 -T 819 427 , , 0.297592 -T 819 434 six six 1.3081 -F 820 1.2107 -T 820 437 , , -4.50449e-10 -F 821 3.58885 -T 821 468 , , 0.3023 -T 821 473 d d 1.3081 -F 822 1.98534 -T 822 499 , , 0.974044 -T 822 507 g g 2.69425 -T 822 512 n n 0.566436 -F 823 2.88387 -T 823 582 , , 0.298662 -T 823 602 t t 1.3081 -F 824 2.15711 -T 824 619 , , 0.257249 -T 824 628 h h 2.00118 -T 824 640 t t 2.00118 -F 825 2.47544 -T 825 651 , , 0.0644081 -T 825 657 eight eight 3.38756 -T 825 663 k k 3.38756 -T 825 670 s s 3.38756 -F 826 1.5524 -T 826 685 , , 0.548126 -T 826 687 a a 1.5524 -T 826 691 e e 1.5524 -F 827 0.909982 -T 827 734 , , 0.61697 -T 827 736 a a 2.14739 -T 827 745 i i 2.14739 -T 827 746 j j 4.64017 -T 827 760 x x 4.64017 -F 828 3.02224 -T 828 794 , , 0.156139 -T 828 796 five five 1.3081 -F 829 3.98801 -T 829 808 , , 0.726528 -T 829 812 b b 3.87295 -T 829 814 d d 0.729229 -T 829 817 f f 3.87295 -T 829 819 forty forty 3.87295 -T 829 824 k k 3.87295 -T 829 826 m m 3.87295 -F 830 3.62103 -T 830 895 , , 0.210498 -T 830 906 h h 2.00118 -T 830 908 l l 2.00118 -F 831 2.78813 -T 831 920 , , 0.299365 -T 831 928 i i 1.3081 -F 832 2.1246 -T 832 941 , , 0.554652 -T 832 945 c c 4.25241 -T 832 946 d d 2.1246 -T 832 947 e e 1.49277 -T 832 954 n n 4.25241 -T 832 962 t t 2.70508 -T 832 966 w w 4.25241 -F 833 2.8572 -T 833 997 , , 0.641419 -T 833 1002 e e 0.789556 -T 833 1014 s s 2.91738 -F 834 2.66049 -T 834 1107 , , 0.25107 -T 834 1118 two two 1.3081 -F 835 2.8494 -T 835 1125 , , 0.260374 -T 835 1132 f f 3.09974 -T 835 1136 h h 1.5524 -T 835 1145 q q 3.09974 -F 836 1.70855 -T 836 1256 , , 0.201052 -T 836 1277 two two 1.3081 -F 837 3.50258 -T 837 1279 , , 0.316749 -T 837 1286 eighty eighty 3.61068 -T 837 1289 four four 3.61068 -T 837 1290 g g 3.61068 -T 837 1296 n n 3.61068 -T 837 1299 q q 3.61068 -T 837 1301 s s 2.06335 -T 837 1303 t t 2.06335 -F 838 1.37718 -T 838 1335 , , 0.625278 -T 838 1341 e e 3.50523 -T 838 1346 g g 3.50523 -T 838 1349 l l 3.50523 -T 838 1350 n n 1.37718 -F 839 2.50817 -T 839 1378 , , 0.297339 -T 839 1382 eight eight 1.3081 -F 840 0.45384 -T 840 1405 , , 0.622972 -F 841 2.56274 -T 841 1437 , , 0.258713 -T 841 1442 e e 1.3081 -F 842 2.53797 -T 842 0 , , 0.628664 -T 842 843 first first 1.85289 -T 842 844 thirtieth thirtieth 1.85289 -T 842 845 twenty twenty 1.85289 -F 843 3.63841 -T 843 403 , , -3.06887e-08 -F 844 3.63841 -T 844 1175 , , -3.06887e-08 -F 845 3.26046 -T 845 1239 , , 0.276734 -T 845 1253 third third 1.3081 -F 846 2.53286 -T 846 0 , , 0.62356 -T 846 847 september september 1.4474 -T 846 848 sixty sixty 1.4474 -F 847 2.74964 -T 847 1029 , , 0.216387 -T 847 1032 nineteen nineteen 1.3081 -F 848 1.3081 -T 848 1107 , , 0.221003 -F 849 2.36683 -T 849 0 , , 1.94268 -T 849 851 eight eight 1.98598 -T 849 852 five five 2.53469 -T 849 853 four four 3.32977 -T 849 854 nine nine 3.32977 -T 849 855 oh oh 3.84854 -T 849 856 one one 2.73662 -T 849 857 seven seven 2.22315 -T 849 858 six six 1.7944 -T 849 859 three three 2.73662 -T 849 860 two two 2.22315 -F 850 9.59269 -T 850 72 , , -3.41497e-09 -F 851 1.10916 -T 851 263 , , 1.45056e-09 -F 852 0.606961 -T 852 405 , , 0.652878 -T 852 410 four four 3.09974 -T 852 413 nine nine 3.09974 -F 853 1.7965 -T 853 437 , , 0.585799 -T 853 442 five five 2.40666 -T 853 444 four four 0.859325 -F 854 0.93339 -T 854 764 , , 0.104919 -T 854 766 and and 2.40666 -T 854 781 six six 2.40666 -F 855 2.4003 -T 855 849 , , 0.0334748 -T 855 851 eight eight 2.00118 -T 855 860 two two 2.00118 -F 856 1.37004 -T 856 862 , , 0.141879 -T 856 870 four four 2.91738 -T 856 873 nine nine 2.91738 -F 857 0.627685 -T 857 1035 , , 0.174581 -T 857 1046 nine nine 3.38756 -T 857 1047 oh oh 3.38756 -T 857 1052 six six 3.38756 -F 858 0.822714 -T 858 1077 , , 0.313311 -T 858 1085 nine nine 2.24571 -F 859 1.13234 -T 859 1197 , , 0.0367709 -T 859 1199 eight eight 2.91738 -T 859 1210 seven seven 2.91738 -F 860 0.894554 -T 860 1256 , , 0.308908 -T 860 1258 eight eight 3.38756 -T 860 1266 nine nine 3.38756 -T 860 1269 seven seven 3.38756 -F 861 1.9093 -T 861 0 -F 862 1.62632 -T 862 0 , , 2.36847 -T 862 864 eight eight 3.4875 -T 862 865 eleven eleven 6.37839 -T 862 866 fifteen fifteen 6.37839 -T 862 867 fifty fifty 4.37975 -T 862 868 five five 1.32721 -T 862 869 forty forty 6.37839 -T 862 870 four four 3.4875 -T 862 871 hundred hundred 5.23861 -T 862 872 j j 6.37839 -T 862 873 nine nine 3.27543 -T 862 874 ninety ninety 6.37839 -T 862 875 oh oh 3.02352 -T 862 876 one one 3.7569 -T 862 877 seven seven 2.65511 -T 862 878 seventy seventy 5.23861 -T 862 879 six six 3.7569 -T 862 880 sixteen sixteen 6.37839 -T 862 881 sixty sixty 4.37975 -T 862 882 ten ten 5.23861 -T 862 883 thirty thirty 5.23861 -T 862 884 thousand thousand 5.23861 -T 862 885 three three 3.02352 -T 862 886 twenty twenty 5.23861 -T 862 887 two two 2.3864 -T 862 888 zero zero 4.12646 -F 863 9.5927 -T 863 72 , , 3.33859e-10 -F 864 1.10916 -T 864 263 , , 3.67163e-09 -F 865 1.3081 -T 865 300 , , 0.19006 -F 866 0.705052 -T 866 381 , , -3.83097e-09 -F 867 2.69425 -T 867 390 , , 0.278732 -T 867 392 eight eight 1.14692 -F 868 2.5346 -T 868 405 , , 1.10723 -T 868 408 five five 4.06475 -T 868 412 m m 5.61209 -T 868 414 oh oh 3.48404 -T 868 415 one one 2.64199 -T 868 417 six six 4.06475 -T 868 422 three three 3.11908 -T 868 424 two two 0.406637 -F 869 3.57242 -T 869 427 , , 0.219212 -T 869 436 two two 1.3081 -F 870 1.90443 -T 870 437 , , 0.693727 -T 870 440 eight eight 1.95789 -T 870 445 nine nine 1.95789 -T 870 449 seven seven 1.95789 -T 870 451 six six 3.50523 -T 870 455 three three 1.95789 -F 871 2.00118 -T 871 543 , , 0.0145306 -F 872 2.84754 -T 872 582 , , 0.262333 -T 872 583 a a 1.3081 -F 873 1.11837 -T 873 764 , , 0.289898 -T 873 767 eight eight 3.70601 -T 873 770 five five 2.15867 -T 873 777 oh oh 3.70601 -T 873 779 seven seven 3.70601 -T 873 781 six six 1.57796 -F 874 3.02224 -T 874 794 , , 0.156139 -T 874 800 six six 1.3081 -F 875 2.51632 -T 875 849 , , 0.149488 -T 875 855 oh oh 3.94709 -T 875 857 seven seven 1.81904 -T 875 860 two two 1.81904 -F 876 1.65126 -T 876 862 , , 0.0249414 -T 876 864 eight eight 3.25401 -T 876 879 six six 3.25401 -F 877 0.269863 -T 877 1035 , , 0.888225 -T 877 1041 forty forty 4.30376 -T 877 1049 seven seven 4.30376 -T 877 1057 three three 4.30376 -F 878 1.88753 -T 878 1067 , , 0.126975 -T 878 1070 five five 2.00118 -F 879 1.07743 -T 879 1077 , , 0.011338 -T 879 1085 nine nine 3.25401 -T 879 1086 oh oh 3.25401 -F 880 3.07946 -T 880 1100 , , 0.144636 -T 880 1101 forty forty 1.3081 -F 881 2.49597 -T 881 1107 , , 0.0865477 -T 881 1109 eight eight 2.69425 -T 881 1110 fifty fifty 2.69425 -T 881 1118 two two 2.69425 -F 882 0.45384 -T 882 1154 , , 0.388155 -F 883 2.82608 -T 883 1177 , , 0.768263 -T 883 1182 one one 0.45384 -F 884 0.45384 -T 884 1189 , , 0.829978 -F 885 0.309698 -T 885 1197 , , 1.29108 -T 885 1213 six six 3.94709 -T 885 1216 three three 2.39975 -F 886 2.00118 -T 886 1239 , , 0.222739 -T 886 1255 two two 2.00118 -F 887 2.06835 -T 887 1256 , , 0.560851 -T 887 1258 eight eight 3.01869 -T 887 1262 five five 1.59592 -T 887 1263 four four 1.80638 -T 887 1270 six six 2.43821 -T 887 1277 two two 2.07325 -F 888 0.860036 -T 888 1465 , , 0.137024 -T 888 1467 eight eight 2.91738 -T 888 1468 five five 2.91738 -T 888 1474 zero zero 2.91738 -F 889 1.9093 -T 889 0 -F 890 1.9093 -T 890 0 -F 891 1.9093 -T 891 0 -F 892 1.9093 -T 892 0 -F 893 1.9093 -T 893 0 -F 894 1.9093 -T 894 0 -F 895 3.41053 -T 895 0 , , 1.50122 -T 895 896 a a 3.36085 -T 895 897 b b 5.3595 -T 895 898 c c 5.3595 -T 895 899 d d 4.21972 -T 895 900 e e 4.21972 -T 895 901 eight eight 5.23556 -T 895 902 f f 5.3595 -T 895 903 forty forty 5.3595 -T 895 904 four four 5.15381 -T 895 905 g g 3.70071 -T 895 906 h h 2.90586 -T 895 907 i i 0.7663 -T 895 908 l l 3.1078 -T 895 909 n n 4.21972 -T 895 910 ninety ninety 5.3595 -T 895 911 o o 2.90586 -T 895 912 r r 3.70071 -T 895 913 s s 3.36085 -T 895 914 seventeen seventeen 5.3595 -T 895 915 t t 3.70071 -T 895 916 three three 5.3595 -T 895 917 u u 3.70071 -T 895 918 y y 5.3595 -F 896 2.77796 -T 896 74 , , 0.103047 -T 896 78 c c 2.69425 -T 896 83 h h 2.69425 -T 896 96 t t 2.69425 -F 897 3.68082 -T 897 127 , , 0.309216 -T 897 149 six six 1.3081 -F 898 3.25291 -T 898 162 , , 0.307219 -T 898 180 seven seven 1.3081 -F 899 1.70298 -T 899 194 , , 0.285283 -T 899 200 f f 2.00118 -T 899 216 two two 2.00118 -F 900 1.99487 -T 900 228 , , 0.177904 -T 900 235 eight eight 2.00118 -T 900 249 r r 2.00118 -F 901 1.40804 -T 901 263 , , 0.298889 -T 901 270 hundred hundred 1.3081 -F 902 3.06277 -T 902 350 , , 0.292288 -T 902 362 j j 1.3081 -F 903 3.53081 -T 903 427 , , 0.177596 -T 903 429 five five 1.3081 -F 904 1.2107 -T 904 437 , , -4.50449e-10 -F 905 4.10705 -T 905 468 , , 0.820505 -T 905 477 h h 0.278613 -F 906 1.25989 -T 906 499 , , 0.248591 -T 906 503 e e 1.5524 -T 906 509 i i 3.09974 -T 906 528 y y 3.09974 -F 907 6.11021 -T 907 549 , , 2.58037 -T 907 558 five five 5.15825 -T 907 571 t t 0.0598672 -F 908 3.29365 -T 908 651 , , 0.882612 -T 908 653 a a 1.37004 -T 908 656 e e 0.789556 -F 909 1.61198 -T 909 734 , , 0.117607 -T 909 736 a a 2.00118 -T 909 740 e e 2.00118 -F 910 3.13309 -T 910 794 , , 0.266993 -T 910 799 seven seven 1.3081 -F 911 3.47281 -T 911 808 , , 0.211331 -T 911 825 l l 3.09974 -T 911 826 m m 1.5524 -F 912 4.38607 -T 912 941 , , 1.32754 -T 912 951 i i 0.278613 -F 913 2.32088 -T 913 997 , , 0.105101 -T 913 1004 h h 2.69425 -T 913 1022 z z 2.69425 -F 914 1.22405 -T 914 1061 , , -3.19748e-10 -F 915 2.77807 -T 915 1125 , , 0.189046 -T 915 1130 e e 2.40666 -T 915 1139 k k 2.40666 -T 915 1145 q q 2.40666 -F 916 1.31229 -T 916 1197 , , 0.216721 -T 916 1219 two two 1.3081 -F 917 3.42924 -T 917 1279 , , 0.243414 -T 917 1288 five five 2.40666 -T 917 1301 s s 2.40666 -T 917 1306 x x 2.40666 -F 918 1.41581 -T 918 1405 , , 0.275802 -T 918 1414 h h 1.3081 -F 919 1.9093 -T 919 0 -F 920 2.48877 -T 920 0 , , 0.579464 -T 920 921 c c 4.15548 -T 920 922 d d 2.49692 -T 920 923 e e 3.0157 -T 920 924 f f 4.15548 -T 920 925 fifty fifty 3.0157 -T 920 926 five five 4.03541 -T 920 927 g g 4.15548 -T 920 928 i i 4.15548 -T 920 929 k k 3.0157 -T 920 930 n n 2.49692 -T 920 931 one one 3.71904 -T 920 932 p p 4.15548 -T 920 933 q q 2.49692 -T 920 934 six six 4.15548 -T 920 935 t t 3.0157 -T 920 936 two two 3.76716 -T 920 937 u u 4.15548 -T 920 938 w w 4.15548 -T 920 939 y y 4.15548 -T 920 940 z z 4.15548 -F 921 3.25457 -T 921 162 , , 0.308876 -T 921 173 j j 1.3081 -F 922 1.68709 -T 922 194 , , 0.269393 -T 922 197 b b 2.40666 -T 922 211 one one 2.40666 -T 922 213 q q 2.40666 -F 923 2.08723 -T 923 228 , , 0.270258 -T 923 234 e e 2.00118 -T 923 241 j j 2.00118 -F 924 3.03078 -T 924 350 , , 0.260295 -T 924 375 x x 1.3081 -F 925 3.22546 -T 925 390 , , -3.85694e-11 -F 926 1.70486 -T 926 405 , , 0.277484 -T 926 414 oh oh 1.3081 -F 927 3.59761 -T 927 468 , , 0.31107 -T 927 475 eighty eighty 1.3081 -F 928 3.82374 -T 928 549 , , 0.293911 -T 928 563 m m 1.3081 -F 929 2.17214 -T 929 619 , , 0.272278 -T 929 639 six six 2.00118 -T 929 647 x x 2.00118 -F 930 1.78893 -T 930 734 , , 0.294549 -T 930 744 h h 2.40666 -T 930 753 r r 2.40666 -T 930 755 seventy seventy 2.40666 -F 931 1.3081 -T 931 862 , , 0.0961996 -F 932 3.72098 -T 932 895 , , 0.310453 -T 932 903 forty forty 1.3081 -F 933 2.64492 -T 933 920 , , 0.156157 -T 933 929 k k 2.40666 -T 933 932 p p 2.40666 -T 933 933 q q 2.40666 -F 934 1.34101 -T 934 1077 , , 0.274914 -T 934 1098 two two 1.3081 -F 935 2.89964 -T 935 1125 , , 0.310617 -T 935 1148 seventy seventy 2.00118 -T 935 1152 w w 2.00118 -F 936 1.77825 -T 936 1256 , , 0.270745 -T 936 1258 eight eight 1.3081 -F 937 3.45831 -T 937 1279 , , 0.272487 -T 937 1285 e e 1.3081 -F 938 2.70396 -T 938 1335 , , 0.294534 -T 938 1342 eight eight 1.3081 -F 939 1.43194 -T 939 1405 , , 0.291928 -T 939 1411 eight eight 1.3081 -F 940 2.60361 -T 940 1437 , , 0.299585 -T 940 1446 h h 1.3081 -F 941 3.05852 -T 941 0 , , 1.80998 -T 941 943 a a 2.88376 -T 941 944 b b 4.16284 -T 941 945 c c 5.02171 -T 941 946 d d 3.27059 -T 941 947 e e 2.25147 -T 941 948 f f 5.02171 -T 941 949 g g 1.46606 -T 941 950 h h 5.58461 -T 941 951 i i 2.49094 -T 941 952 k k 3.05852 -T 941 953 l l 3.27059 -T 941 954 n n 3.70785 -T 941 955 o o 2.38824 -T 941 956 one one 4.94956 -T 941 957 q q 6.16149 -T 941 958 r r 3.53999 -T 941 959 s s 4.16284 -T 941 960 seven seven 5.61224 -T 941 961 sixty sixty 6.16149 -T 941 962 t t 3.53999 -T 941 963 thirty thirty 6.16149 -T 941 964 u u 5.02171 -T 941 965 v v 5.02171 -T 941 966 w w 5.02171 -T 941 967 y y 3.39631 -T 941 968 z z 5.02171 -F 942 9.59269 -T 942 72 , , -3.32819e-09 -F 943 3.14385 -T 943 74 , , 0.468933 -T 943 79 d d 2.32561 -T 943 81 f f 3.87295 -T 943 86 j j 3.87295 -T 943 90 n n 1.1133 -T 943 92 p p 3.87295 -F 944 3.54285 -T 944 127 , , 0.171241 -T 944 130 d d 2.69425 -T 944 142 o o 2.69425 -T 944 147 seven seven 2.69425 -F 945 3.73971 -T 945 162 , , 0.794019 -T 945 171 h h 0.45384 -F 946 0.535121 -T 946 194 , , 0.745442 -T 946 198 d d 3.50523 -T 946 212 p p 3.50523 -T 946 219 w w 3.50523 -F 947 1.99312 -T 947 228 , , 0.477987 -T 947 230 a a 2.93879 -T 947 234 e e 2.93879 -T 947 236 f f 4.48613 -T 947 242 k k 4.48613 -T 947 245 n n 1.99312 -T 947 252 t t 2.35808 -T 947 258 w w 1.72625 -F 948 2.90138 -T 948 350 , , 0.130897 -T 948 361 i i 2.00118 -T 948 365 o o 2.00118 -F 949 3.712 -T 949 468 , , 1.58748 -T 949 470 a a 3.13129 -T 949 472 c c 5.25933 -T 949 476 forty forty 5.25933 -T 949 477 h h 0.183746 -T 949 483 nine nine 5.25933 -F 950 1.32007 -T 950 499 , , 0.308779 -T 950 508 h h 1.3081 -F 951 4.25241 -T 951 549 , , 0.745798 -T 951 551 a a 4.25241 -T 951 553 c c 1.49277 -T 951 560 g g 4.25241 -T 951 561 k k 4.25241 -T 951 564 n n 1.75964 -T 951 569 s s 2.70508 -T 951 574 v v 1.75964 -F 952 0.946132 -T 952 619 , , 0.478523 -T 952 624 e e 2.15867 -T 952 637 r r 3.70601 -T 952 638 s s 3.70601 -T 952 639 six six 3.70601 -F 953 2.82034 -T 953 651 , , 0.409303 -T 953 653 a a 1.37718 -T 953 656 e e 1.95789 -T 953 658 f f 3.50523 -T 953 677 y y 1.95789 -F 954 1.84743 -T 954 734 , , 0.353049 -T 954 736 a a 3.09974 -T 954 740 e e 0.971921 -F 955 3.70888 -T 955 808 , , 0.447394 -T 955 810 a a 2.22453 -T 955 812 b b 2.80524 -T 955 827 n n 1.59293 -T 955 829 o o 2.80524 -T 955 833 s s 2.22453 -T 955 838 w w 2.80524 -T 955 840 y y 4.35258 -T 955 841 z z 4.35258 -F 956 1.84502 -T 956 862 , , 0.218701 -T 956 887 two two 1.3081 -F 957 2.78813 -T 957 920 , , 0.299365 -T 957 940 z z 1.3081 -F 958 3.40268 -T 958 941 , , 0.344158 -T 958 947 e e 1.12596 -T 958 952 k k 3.25401 -T 958 954 n n 3.25401 -T 958 967 y y 3.25401 -F 959 3.01941 -T 959 997 , , 0.803629 -T 959 1011 o o 0.566436 -T 959 1016 t t 2.69425 -F 960 1.06381 -T 960 1035 , , 0.297743 -T 960 1060 zero zero 1.3081 -F 961 2.61505 -T 961 1107 , , 0.205629 -T 961 1114 one one 1.3081 -F 962 0.494135 -T 962 1125 , , 0.974023 -T 962 1136 h h 3.25401 -T 962 1153 z z 3.25401 -F 963 2.13289 -T 963 1177 , , 0.0750664 -T 963 1182 one one 1.3081 -F 964 3.42391 -T 964 1279 , , 0.238086 -T 964 1295 m m 2.00118 -T 964 1301 s s 2.00118 -F 965 3.45233 -T 965 1311 , , 0.300387 -T 965 1316 fifty fifty 2.00118 -T 965 1333 z z 2.00118 -F 966 2.59202 -T 966 1335 , , 0.182593 -T 966 1337 a a 2.00118 -T 966 1356 twenty twenty 2.00118 -F 967 0.894554 -T 967 1405 , , 0.270775 -T 967 1415 j j 3.38756 -T 967 1420 one one 3.38756 -T 967 1421 p p 3.38756 -F 968 2.52758 -T 968 1437 , , 0.223555 -T 968 1450 nine nine 2.00118 -T 968 1453 r r 2.00118 -F 969 0.0315454 -T 969 0 , , 3.31167 -F 970 9.5927 -T 970 72 , , 3.07449e-10 -F 971 1.9093 -T 971 0 -F 972 2.88947 -T 972 0 , , 0.980165 -T 972 973 a a 4.3972 -T 972 974 c c 3.17319 -T 972 975 d d 4.83174 -T 972 976 e e 3.69196 -T 972 977 f f 2.83333 -T 972 978 g g 3.69196 -T 972 979 h h 3.17319 -T 972 980 i i 3.69196 -T 972 981 j j 3.17319 -T 972 982 l l 4.81075 -T 972 983 m m 3.17319 -T 972 984 n n 2.58005 -T 972 985 o o 2.83333 -T 972 986 p p 3.69196 -T 972 987 q q 3.69196 -T 972 988 r r 3.17319 -T 972 989 s s 4.72785 -T 972 990 t t 3.17319 -T 972 991 u u 2.58005 -T 972 992 v v 3.69196 -T 972 993 w w 3.69196 -T 972 994 x x 4.83174 -T 972 995 y y 4.83174 -T 972 996 z z 3.17319 -F 973 2.94394 -T 973 74 , , 0.269028 -T 973 79 d d 1.3081 -F 974 3.11291 -T 974 162 , , 0.167219 -T 974 181 t t 2.40666 -T 974 187 y y 2.40666 -F 975 1.7182 -T 975 194 , , 0.300503 -T 975 213 q q 1.3081 -F 976 2.11621 -T 976 228 , , 0.29924 -T 976 256 u u 2.00118 -T 976 261 z z 2.00118 -F 977 2.95644 -T 977 350 , , 0.185957 -T 977 353 b b 2.69425 -T 977 364 m m 2.69425 -T 977 375 x x 2.69425 -T 977 376 y y 2.69425 -F 978 3.5846 -T 978 468 , , 0.298053 -T 978 479 j j 2.00118 -T 978 492 u u 2.00118 -F 979 1.18982 -T 979 499 , , 0.178527 -T 979 504 f f 2.40666 -T 979 526 w w 2.40666 -F 980 3.65998 -T 980 549 , , 0.130144 -T 980 568 r r 2.00118 -F 981 2.84756 -T 981 582 , , 0.262344 -T 981 584 b b 2.40666 -T 981 594 l l 2.40666 -T 981 603 u u 2.40666 -F 982 2.65563 -T 982 651 , , 0.244595 -T 982 655 d d 1.3081 -F 983 3.16439 -T 983 685 , , 0.263764 -T 983 690 d d 2.40666 -T 983 703 n n 2.40666 -T 983 713 v v 2.40666 -F 984 1.91954 -T 984 734 , , 0.425163 -T 984 736 a a 1.37004 -T 984 737 b b 2.91738 -T 984 760 x x 2.91738 -T 984 762 z z 2.91738 -F 985 3.53704 -T 985 808 , , 0.275555 -T 985 821 g g 2.69425 -T 985 822 h h 2.69425 -T 985 824 k k 2.69425 -T 985 831 q q 2.69425 -F 986 3.65379 -T 986 895 , , 0.243263 -T 986 909 n n 2.00118 -T 986 911 o o 2.00118 -F 987 2.62403 -T 987 920 , , 0.135258 -T 987 930 n n 2.00118 -T 987 933 q q 2.00118 -F 988 3.2219 -T 988 941 , , 0.163373 -T 988 947 e e 2.40666 -T 988 958 r r 2.40666 -T 988 968 z z 2.40666 -F 989 2.50089 -T 989 997 , , 0.285113 -T 989 1004 h h 1.3081 -F 990 2.88653 -T 990 1125 , , 0.297499 -T 990 1128 b b 2.40666 -T 990 1135 g g 2.40666 -T 990 1138 j j 2.40666 -F 991 3.63758 -T 991 1279 , , 0.451757 -T 991 1287 f f 2.91738 -T 991 1290 g g 2.91738 -T 991 1292 j j 2.91738 -T 991 1303 t t 1.37004 -F 992 3.15522 -T 992 1311 , , 0.00327098 -T 992 1312 a a 2.00118 -F 993 2.68236 -T 993 1335 , , 0.272938 -T 993 1349 l l 2.00118 -T 993 1352 p p 2.00118 -F 994 2.47896 -T 994 1378 , , 0.268127 -T 994 1380 c c 1.3081 -F 995 1.4478 -T 995 1405 , , 0.307792 -T 995 1431 y y 1.3081 -F 996 2.51424 -T 996 1437 , , 0.210211 -T 996 1445 g g 2.40666 -T 996 1452 o o 2.40666 -T 996 1463 y y 2.40666 -F 997 2.21578 -T 997 0 , , 1.52665 -T 997 999 a a 4.63188 -T 997 1000 b b 1.17846 -T 997 1001 c c 5.77166 -T 997 1002 e e 3.00626 -T 997 1003 f f 4.63188 -T 997 1004 h h 3.51973 -T 997 1005 i i 5.18546 -T 997 1006 j j 5.77166 -T 997 1007 k k 3.31803 -T 997 1008 l l 4.63188 -T 997 1009 m m 4.11288 -T 997 1010 n n 5.17325 -T 997 1011 o o 2.57751 -T 997 1012 one one 4.63188 -T 997 1013 p p 3.51973 -T 997 1014 s s 4.11288 -T 997 1015 seven seven 5.32891 -T 997 1016 t t 2.21578 -T 997 1017 thirty thirty 5.77166 -T 997 1018 u u 4.11288 -T 997 1019 v v 4.11288 -T 997 1020 w w 3.77302 -T 997 1021 x x 5.77166 -T 997 1022 z z 4.63188 -T 997 1023 zero zero 5.77166 -F 998 9.5927 -T 998 72 , , 3.07449e-10 -F 999 2.92142 -T 999 74 , , 0.246509 -T 999 96 t t 2.00118 -T 999 102 y y 2.00118 -F 1000 6.20761 -T 1000 127 , , 2.83601 -T 1000 142 o o 5.15825 -T 1000 150 u u 0.0375321 -F 1001 3.17063 -T 1001 162 , , 0.224939 -T 1001 164 a a 1.3081 -F 1002 2.16252 -T 1002 228 , , 0.345547 -T 1002 244 m m 3.38756 -T 1002 247 p p 1.25951 -F 1003 3.0711 -T 1003 350 , , 0.300616 -T 1003 366 q q 2.00118 -T 1003 372 twenty twenty 2.00118 -F 1004 1.26083 -T 1004 499 , , 0.249534 -T 1004 501 a a 1.37004 -T 1004 503 e e 2.91738 -T 1004 509 i i 2.91738 -T 1004 510 k k 2.91738 -F 1005 3.82991 -T 1005 549 , , 0.300082 -T 1005 567 q q 1.3081 -F 1006 2.84754 -T 1006 582 , , 0.262333 -T 1006 601 seven seven 1.3081 -F 1007 2.16314 -T 1007 619 , , 0.26328 -T 1007 629 i i 1.5524 -T 1007 644 u u 3.09974 -T 1007 648 y y 3.09974 -F 1008 2.53834 -T 1008 651 , , 0.127299 -T 1008 658 f f 2.00118 -F 1009 3.27674 -T 1009 685 , , 0.376119 -T 1009 687 a a 0.859325 -T 1009 699 i i 2.40666 -F 1010 1.78854 -T 1010 734 , , 0.294166 -T 1010 751 o o 1.3081 -F 1011 3.79282 -T 1011 808 , , 1.02876 -T 1011 825 l l 3.79282 -T 1011 827 n n 0.372328 -T 1011 837 u u 3.79282 -F 1012 1.76622 -T 1012 862 , , 0.139908 -T 1012 878 seventy seventy 2.00118 -F 1013 3.81103 -T 1013 895 , , 0.400507 -T 1013 909 n n 2.91738 -T 1013 911 o o 2.91738 -T 1013 912 r r 1.37004 -T 1013 913 s s 2.91738 -F 1014 2.47365 -T 1014 997 , , 0.25787 -T 1014 1009 m m 2.40666 -T 1014 1019 v v 2.40666 -T 1014 1020 w w 2.40666 -F 1015 1.06381 -T 1015 1035 , , 0.297743 -T 1015 1053 sixty sixty 1.3081 -F 1016 2.59386 -T 1016 1125 , , 1.06669 -T 1016 1130 e e 0.606501 -T 1016 1131 eighty eighty 4.1412 -T 1016 1137 i i 4.1412 -T 1016 1143 o o 2.59386 -T 1016 1146 r r 4.1412 -F 1017 2.20305 -T 1017 1177 , , 0.145235 -T 1017 1180 five five 1.3081 -F 1018 3.44649 -T 1018 1279 , , 0.260665 -T 1018 1295 m m 2.40666 -T 1018 1296 n n 2.40666 -T 1018 1297 o o 2.40666 -F 1019 3.23883 -T 1019 1311 , , 0.0868822 -T 1019 1321 n n 2.40666 -F 1020 2.4445 -T 1020 1335 , , 0.0350749 -T 1020 1361 z z 2.69425 -F 1021 2.47896 -T 1021 1378 , , 0.268127 -T 1021 1398 two two 1.3081 -F 1022 2.55164 -T 1022 1437 , , 0.247618 -T 1022 1448 k k 2.00118 -T 1022 1450 nine nine 2.00118 -F 1023 0.723012 -T 1023 1465 , , -5.87383e-09 -F 1024 1.9093 -T 1024 0 -F 1025 1.9093 -T 1025 0 -F 1026 3.23341 -T 1026 0 , , 1.3241 -T 1026 1027 nineteen nineteen 0.307625 -F 1027 4.30455 -T 1027 788 , , 1.62872e-09 -F 1028 1.9093 -T 1028 0 -F 1029 2.53325 -T 1029 0 , , 0.62395 -T 1029 1030 fifteenth fifteenth 2.36383 -T 1029 1031 first first 2.36383 -T 1029 1032 nineteen nineteen 2.36383 -T 1029 1033 sixth sixth 2.36383 -T 1029 1034 twenty twenty 2.36383 -F 1030 3.23341 -T 1030 385 , , 2.81408e-08 -F 1031 3.63841 -T 1031 403 , , -3.06887e-08 -F 1032 4.30455 -T 1032 788 , , -2.4474e-08 -F 1033 2.54016 -T 1033 1105 , , 4.73853e-09 -F 1034 3.28676 -T 1034 1239 , , 0.303033 -T 1034 1251 seventh seventh 1.3081 -F 1035 0.76607 -T 1035 0 , , 1.76067 -T 1035 1037 eight eight 2.95191 -T 1035 1038 fifteen fifteen 5.71709 -T 1035 1039 fifty fifty 5.71709 -T 1035 1040 five five 3.46539 -T 1035 1041 forty forty 4.05854 -T 1035 1042 four four 3.71867 -T 1035 1043 fourteen fourteen 4.57731 -T 1035 1044 hundred hundred 5.71709 -T 1035 1045 may may 5.71709 -T 1035 1046 nine nine 3.26345 -T 1035 1047 oh oh 3.26345 -T 1035 1048 one one 3.46539 -T 1035 1049 seven seven 4.05854 -T 1035 1050 seventeen seventeen 5.71709 -T 1035 1051 seventy seventy 5.71709 -T 1035 1052 six six 3.71867 -T 1035 1053 sixty sixty 4.05854 -T 1035 1054 ten ten 4.57731 -T 1035 1055 thirty thirty 4.57731 -T 1035 1056 thousand thousand 5.71709 -T 1035 1057 three three 3.71867 -T 1035 1058 twenty twenty 4.05854 -T 1035 1059 two two 3.26345 -T 1035 1060 zero zero 4.05854 -F 1036 9.5927 -T 1036 72 , , 3.21598e-10 -F 1037 1.25951 -T 1037 263 , , 0.155491 -T 1037 265 eight eight 1.84023 -T 1037 283 zero zero 3.38756 -F 1038 0.921438 -T 1038 381 , , 0.216387 -T 1038 383 nineteen nineteen 1.3081 -F 1039 3.44213 -T 1039 390 , , 0.216673 -T 1039 393 five five 1.3081 -F 1040 1.74274 -T 1040 405 , , 0.315363 -T 1040 407 eight eight 2.91738 -T 1040 415 one one 2.91738 -T 1040 416 seven seven 1.37004 -F 1041 3.82537 -T 1041 427 , , 0.472157 -T 1041 430 four four 2.40666 -T 1041 433 seven seven 0.859325 -F 1042 1.14692 -T 1042 437 , , 0.0664173 -T 1042 440 eight eight 2.69425 -F 1043 1.38445 -T 1043 459 , , 0.0915505 -T 1043 461 a a 2.00118 -F 1044 2.37468 -T 1044 543 , , 0.275187 -T 1044 548 twenty twenty 1.3081 -F 1045 2.6785 -T 1045 724 , , 0.144636 -T 1045 725 nineteen nineteen 1.3081 -F 1046 1.35183 -T 1046 764 , , 0.523361 -T 1046 770 five five 3.09974 -T 1046 778 one one 1.5524 -T 1046 784 three three 3.09974 -T 1046 786 two two 1.5524 -F 1047 2.45713 -T 1047 849 , , 0.0902997 -T 1047 851 eight eight 1.5524 -F 1048 1.74369 -T 1048 862 , , 0.117371 -T 1048 864 eight eight 2.91738 -T 1048 875 oh oh 2.91738 -T 1048 879 six six 2.91738 -T 1048 888 zero zero 2.91738 -F 1049 0.828748 -T 1049 1035 , , 0.0626779 -T 1049 1040 five five 2.40666 -F 1050 1.22405 -T 1050 1061 , , -3.19748e-10 -F 1051 1.93246 -T 1051 1067 , , 0.171903 -T 1051 1075 two two 1.3081 -F 1052 1.09548 -T 1052 1077 , , 0.0293841 -T 1052 1090 six six 2.69425 -T 1052 1095 three three 2.69425 -F 1053 2.45958 -T 1053 1107 , , 0.0501552 -T 1053 1109 eight eight 2.40666 -T 1053 1112 four four 2.40666 -F 1054 0.45384 -T 1054 1154 , , 0.388155 -F 1055 2.00118 -T 1055 1177 , , 0.0941538 -T 1055 1179 eight eight 2.00118 -F 1056 2.07316 -T 1056 1189 , , 0.261489 -T 1056 1194 one one 1.3081 -F 1057 1.2075 -T 1057 1197 , , 0.11193 -T 1057 1209 one one 2.69425 -T 1057 1213 six six 2.69425 -T 1057 1220 zero zero 2.69425 -F 1058 3.59786 -T 1058 1239 , , 0.614129 -T 1058 1244 five five 2.40666 -T 1058 1247 nine nine 0.859325 -F 1059 1.55169 -T 1059 1256 , , 0.0441877 -T 1059 1266 nine nine 3.09974 -T 1059 1278 zero zero 3.09974 -F 1060 0.746353 -T 1060 1465 , , 0.0233414 -T 1060 1470 one one 2.40666 -F 1061 1.22405 -T 1061 0 , , 0.972562 -T 1061 1063 fifty fifty 1.22405 -T 1061 1064 thirty thirty 2.36383 -F 1062 9.5927 -T 1062 72 , , 1.15812e-08 -F 1063 3.33292 -T 1063 390 , , 0.107455 -T 1063 396 one one 2.00118 -T 1063 397 seven seven 2.00118 -F 1064 2.33007 -T 1064 1177 , , 0.272245 -T 1064 1184 six six 1.3081 -F 1065 2.54016 -T 1065 0 , , 0.630853 -T 1065 1066 nineteen nineteen 0.754327 -F 1066 4.30455 -T 1066 788 , , -2.4474e-08 -F 1067 1.76056 -T 1067 0 , , 1.37832 -T 1067 1069 eight eight 4.01248 -T 1067 1070 five five 4.01248 -T 1067 1071 nine nine 2.3537 -T 1067 1072 one one 1.24708 -T 1067 1073 seven seven 2.3537 -T 1067 1074 six six 4.01248 -T 1067 1075 two two 2.01384 -F 1068 9.59269 -T 1068 72 , , -3.3203e-09 -F 1069 1.10916 -T 1069 263 , , 1.87183e-09 -F 1070 1.3081 -T 1070 405 , , 0.0408118 -F 1071 0.859325 -T 1071 764 , , 0.122879 -T 1071 769 fifty fifty 2.40666 -F 1072 0.0955573 -T 1072 862 , , 2.17646 -F 1073 0.843083 -T 1073 1035 , , 0.0770125 -T 1073 1041 forty forty 2.40666 -F 1074 1.37839 -T 1074 1077 , , 0.312296 -T 1074 1096 twelve twelve 1.3081 -F 1075 0.201476 -T 1075 1256 , , 1.45079 -F 1076 1.9093 -T 1076 0 -F 1077 1.0661 -T 1077 0 , , 2.04487 -T 1077 1079 eight eight 1.9024 -T 1077 1080 eighty eighty 5.85409 -T 1077 1081 five five 3.40046 -T 1077 1082 forty forty 5.85409 -T 1077 1083 four four 2.75136 -T 1077 1084 hundred hundred 5.85409 -T 1077 1085 nine nine 3.40046 -T 1077 1086 oh oh 3.40046 -T 1077 1087 one one 3.08892 -T 1077 1088 seven seven 3.40046 -T 1077 1089 seventeen seventeen 5.85409 -T 1077 1090 six six 2.85175 -T 1077 1091 sixteen sixteen 5.85409 -T 1077 1092 sixty sixty 4.71431 -T 1077 1093 thirty thirty 4.71431 -T 1077 1094 thousand thousand 5.85409 -T 1077 1095 three three 2.9632 -T 1077 1096 twelve twelve 5.85409 -T 1077 1097 twenty twenty 5.85409 -T 1077 1098 two two 3.2326 -T 1077 1099 zero zero 5.85409 -F 1078 9.5927 -T 1078 72 , , 3.13192e-10 -F 1079 1.88602 -T 1079 263 , , 0.776863 -T 1079 266 five five 2.97955 -T 1079 268 four four 1.76723 -T 1079 273 one one 2.97955 -T 1079 274 seven seven 2.03387 -T 1079 276 six six 2.97955 -T 1079 280 three three 1.38293 -F 1080 3.10198 -T 1080 290 , , 0.283311 -T 1080 291 eight eight 1.3081 -F 1081 0.971921 -T 1081 405 , , 0.303592 -T 1081 407 eight eight 3.09974 -T 1081 413 nine nine 3.09974 -T 1081 422 three three 3.09974 -F 1082 3.53081 -T 1082 427 , , 0.177596 -T 1082 429 five five 1.3081 -F 1083 1.213 -T 1083 437 , , 0.172381 -T 1083 442 five five 2.15867 -T 1083 445 nine nine 3.70601 -T 1083 458 zero zero 3.70601 -F 1084 2.37468 -T 1084 543 , , 0.275187 -T 1084 547 forty forty 1.3081 -F 1085 0.606961 -T 1085 764 , , 0.243605 -T 1085 786 two two 3.09974 -F 1086 2.45713 -T 1086 849 , , 0.0902997 -T 1086 851 eight eight 1.5524 -F 1087 1.64845 -T 1087 862 , , 0.0221302 -T 1087 870 four four 3.38756 -T 1087 888 zero zero 3.38756 -F 1088 0.987578 -T 1088 1035 , , 0.221508 -T 1088 1037 eight eight 3.09974 -T 1088 1046 nine nine 3.09974 -T 1088 1047 oh oh 1.5524 -F 1089 1.44044 -T 1089 1061 , , 0.216387 -T 1089 1064 thirty thirty 1.3081 -F 1090 1.41991 -T 1090 1077 , , 0.353811 -T 1090 1081 five five 2.06335 -T 1090 1087 one one 2.06335 -T 1090 1098 two two 2.06335 -F 1091 2.93482 -T 1091 1100 , , -9.3561e-10 -F 1092 2.46049 -T 1092 1107 , , 0.0510649 -T 1092 1117 three three 2.00118 -F 1093 2.00118 -T 1093 1177 , , 0.0578676 -T 1093 1187 two two 2.00118 -F 1094 1.94846 -T 1094 1189 , , 0.136782 -T 1094 1191 eight eight 1.3081 -F 1095 1.22285 -T 1095 1197 , , 0.127285 -T 1095 1207 nine nine 3.50523 -T 1095 1208 oh oh 3.50523 -T 1095 1209 one one 1.95789 -T 1095 1214 sixty sixty 3.50523 -F 1096 1.3081 -T 1096 1227 , , 0.227859 -F 1097 3.17715 -T 1097 1239 , , 0.193418 -T 1097 1252 six six 1.3081 -F 1098 1.5075 -T 1098 1256 , , 6.1056e-09 -F 1099 0.967083 -T 1099 1465 , , 0.244072 -T 1099 1470 one one 1.3081 -F 1100 2.93482 -T 1100 0 , , 1.02552 -T 1100 1101 forty forty 1.85289 -T 1100 1102 sixty sixty 0.713111 -F 1101 3.57242 -T 1101 427 , , 0.219212 -T 1101 428 eight eight 1.3081 -F 1102 2.00118 -T 1102 1107 , , 0.0510649 -F 1103 2.54016 -T 1103 0 , , 0.630853 -T 1103 1104 nineteen nineteen 0.754327 -F 1104 4.30455 -T 1104 788 , , -2.4474e-08 -F 1105 2.54016 -T 1105 0 , , 0.630853 -T 1105 1106 nineteen nineteen 0.754327 -F 1106 4.30455 -T 1106 788 , , -2.4474e-08 -F 1107 2.40943 -T 1107 0 , , 1.9933 -T 1107 1109 eight eight 2.77922 -T 1107 1110 fifty fifty 5.03092 -T 1107 1111 five five 2.77922 -T 1107 1112 four four 2.57728 -T 1107 1113 nine nine 1.67628 -T 1107 1114 one one 2.26574 -T 1107 1115 seven seven 1.92818 -T 1107 1116 six six 3.37237 -T 1107 1117 three three 2.40943 -T 1107 1118 two two 2.77922 -F 1108 9.59269 -T 1108 72 , , -3.41497e-09 -F 1109 0.157727 -T 1109 263 , , 1.52448 -F 1110 3.44213 -T 1110 390 , , 0.216673 -T 1110 393 five five 1.3081 -F 1111 0.157727 -T 1111 405 , , 1.65036 -F 1112 0.340092 -T 1112 437 , , 1.05588 -T 1112 439 and and 3.09974 -F 1113 0.05342 -T 1113 764 , , 2.38219 -F 1114 0.0955573 -T 1114 862 , , 2.17646 -F 1115 0.171082 -T 1115 1035 , , 1.37529 -T 1115 1054 ten ten 3.70601 -F 1116 0.278613 -T 1116 1077 , , 0.991878 -F 1117 0.283909 -T 1117 1197 , , 1.12062 -T 1117 1214 sixty sixty 3.25401 -F 1118 0.424597 -T 1118 1256 , , 0.968943 -T 1118 1273 thirty thirty 2.91738 -F 1119 1.9093 -T 1119 0 -F 1120 1.9093 -T 1120 0 -F 1121 0.0492753 -T 1121 0 , , 2.87448 -F 1122 9.59269 -T 1122 72 , , -3.32819e-09 -F 1123 0.0336177 -T 1123 0 , , 3.24908 -F 1124 9.5927 -T 1124 72 , , 4.48301e-10 -F 1125 2.58903 -T 1125 0 , , 1.74073 -T 1125 1127 a a 4.94227 -T 1125 1128 b b 5.7272 -T 1125 1129 d d 4.4235 -T 1125 1130 e e 2.26114 -T 1125 1131 eighty eighty 6.08228 -T 1125 1132 f f 4.94227 -T 1125 1133 fifty fifty 6.08228 -T 1125 1134 four four 5.39332 -T 1125 1135 g g 4.4235 -T 1125 1136 h h 2.5264 -T 1125 1137 i i 3.83035 -T 1125 1138 j j 6.08228 -T 1125 1139 k k 4.94227 -T 1125 1140 l l 4.4235 -T 1125 1141 m m 4.94227 -T 1125 1142 n n 5.38734 -T 1125 1143 o o 3.62864 -T 1125 1144 p p 5.90196 -T 1125 1145 q q 4.94227 -T 1125 1146 r r 3.83035 -T 1125 1147 s s 1.51073 -T 1125 1148 seventy seventy 6.08228 -T 1125 1149 sixty sixty 6.08228 -T 1125 1150 t t 1.3302 -T 1125 1151 v v 6.08228 -T 1125 1152 w w 6.08228 -T 1125 1153 z z 4.08363 -F 1126 9.5927 -T 1126 72 , , 4.48301e-10 -F 1127 2.84183 -T 1127 74 , , 0.166918 -T 1127 90 n n 2.00118 -T 1127 102 y y 2.00118 -F 1128 3.68281 -T 1128 127 , , 0.311207 -T 1128 144 p p 1.3081 -F 1129 1.57895 -T 1129 194 , , 0.161251 -T 1129 196 a a 2.40666 -T 1129 203 i i 2.40666 -T 1129 205 k k 2.40666 -F 1130 2.30646 -T 1130 228 , , 0.489488 -T 1130 231 b b 4.39909 -T 1130 233 d d 2.85175 -T 1130 244 m m 4.39909 -T 1130 245 n n 2.27104 -T 1130 249 r r 1.63944 -T 1130 257 v v 1.63944 -F 1131 3.10198 -T 1131 290 , , 0.283311 -T 1131 292 fifth fifth 1.3081 -F 1132 3.00663 -T 1132 350 , , 0.236147 -T 1132 357 f f 2.00118 -T 1132 373 two two 2.00118 -F 1133 1.3081 -T 1133 390 , , 0.274619 -F 1134 1.38737 -T 1134 437 , , 0.176675 -T 1134 448 one one 1.3081 -F 1135 3.56262 -T 1135 468 , , 0.276076 -T 1135 479 j j 2.40666 -T 1135 480 k k 2.40666 -T 1135 483 nine nine 2.40666 -F 1136 1.42118 -T 1136 499 , , 0.409886 -T 1136 501 a a 0.99748 -T 1136 503 e e 2.59386 -T 1136 504 f f 4.1412 -T 1136 514 o o 2.59386 -T 1136 528 y y 4.1412 -F 1137 4.16439 -T 1137 549 , , 0.634554 -T 1137 555 e e 1.37004 -T 1137 563 m m 1.37004 -F 1138 2.89053 -T 1138 582 , , 0.30532 -T 1138 592 j j 1.3081 -F 1139 2.17214 -T 1139 619 , , 0.272278 -T 1139 638 s s 2.00118 -T 1139 647 x x 2.00118 -F 1140 2.9073 -T 1140 651 , , 0.496267 -T 1140 656 e e 0.859325 -T 1140 659 fifty fifty 2.40666 -F 1141 3.64764 -T 1141 685 , , 0.747018 -T 1141 687 a a 0.45384 -F 1142 1.68557 -T 1142 734 , , 0.19119 -T 1142 740 e e 1.3081 -F 1143 3.37518 -T 1143 808 , , 0.113701 -T 1143 826 m m 3.09974 -T 1143 827 n n 1.5524 -T 1143 830 p p 3.09974 -F 1144 3.7199 -T 1144 895 , , 0.309374 -T 1144 904 four four 1.3081 -F 1145 2.69252 -T 1145 920 , , 0.203753 -T 1145 922 d d 2.00118 -T 1145 936 two two 2.00118 -F 1146 4.11415 -T 1146 941 , , 1.05563 -T 1146 943 a a 2.91738 -T 1146 947 e e 0.424597 -F 1147 5.27789 -T 1147 997 , , 3.06211 -T 1147 1000 b b 0.0382229 -T 1147 1019 v v 5.13661 -F 1148 1.97589 -T 1148 1067 , , 0.215329 -T 1148 1073 seven seven 1.3081 -F 1149 2.63043 -T 1149 1107 , , 0.221003 -T 1149 1117 three three 1.3081 -F 1150 3.76795 -T 1150 1125 , , 1.81097 -T 1150 1130 e e 2.82251 -T 1150 1135 g g 5.31529 -T 1150 1136 h h 3.76795 -T 1150 1137 i i 5.31529 -T 1150 1147 s s 0.216904 -F 1151 3.32516 -T 1151 1311 , , 0.173209 -T 1151 1312 a a 1.3081 -F 1152 2.71804 -T 1152 1335 , , 0.308614 -T 1152 1359 x x 1.3081 -F 1153 0.201476 -T 1153 1437 , , 1.59593 -F 1154 0.771827 -T 1154 0 , , 0.94462 -T 1154 1156 one one 3.39332 -T 1154 1157 seventy seventy 3.39332 -T 1154 1158 sixty sixty 3.39332 -T 1154 1159 ten ten 3.39332 -T 1154 1160 thirty thirty 3.39332 -T 1154 1161 twelve twelve 3.39332 -T 1154 1162 twenty twenty 3.39332 -F 1155 9.59269 -T 1155 72 , , -3.41497e-09 -F 1156 1.92888 -T 1156 862 , , 0.30256 -T 1156 881 sixty sixty 1.3081 -F 1157 1.76056 -T 1157 1067 , , 5.16335e-10 -F 1158 2.51748 -T 1158 1107 , , 0.10806 -T 1158 1113 nine nine 1.3081 -F 1159 0.771827 -T 1159 1154 , , -3.04857e-09 -F 1160 2.13289 -T 1160 1177 , , 0.0750664 -T 1160 1182 one one 1.3081 -F 1161 2.74313 -T 1161 1227 , , 0.261489 -T 1161 1233 sixty sixty 1.3081 -F 1162 3.17715 -T 1162 1239 , , 0.193418 -T 1162 1241 eight eight 1.3081 -F 1163 1.9093 -T 1163 0 -F 1164 1.9093 -T 1164 0 -F 1165 1.9093 -T 1165 0 -F 1166 1.9093 -T 1166 0 -F 1167 1.9093 -T 1167 0 -F 1168 1.9093 -T 1168 0 -F 1169 1.9093 -T 1169 0 -F 1170 1.9093 -T 1170 0 -F 1171 1.9093 -T 1171 0 -F 1172 1.9093 -T 1172 0 -F 1173 3.63841 -T 1173 0 , , 1.72911 -T 1173 1174 nineteen nineteen 0.194338 -F 1174 4.38319 -T 1174 788 , , 0.0786352 -T 1174 793 twenty twenty 2.40666 -F 1175 3.63841 -T 1175 0 , , 1.72911 -T 1175 1176 nineteen nineteen 0.194338 -F 1176 4.46101 -T 1176 788 , , 0.156461 -T 1176 792 sixty sixty 0.278613 -F 1177 2.05782 -T 1177 0 , , 1.40166 -T 1177 1179 eight eight 2.65097 -T 1177 1180 five five 1.85611 -T 1177 1181 nine nine 3.16974 -T 1177 1182 one one 1.54434 -T 1177 1183 seven seven 3.16974 -T 1177 1184 six six 3.16974 -T 1177 1185 sixty sixty 4.30975 -T 1177 1186 three three 3.16974 -T 1177 1187 two two 2.3111 -F 1178 9.59269 -T 1178 72 , , -3.3203e-09 -F 1179 0.859325 -T 1179 263 , , 0.296024 -T 1179 277 sixty sixty 2.40666 -F 1180 0.340092 -T 1180 405 , , 1.12975 -T 1180 421 thirty thirty 3.09974 -F 1181 0.45384 -T 1181 764 , , 0.434391 -F 1182 0.894554 -T 1182 862 , , 0.467655 -T 1182 867 fifty fifty 3.38756 -T 1182 872 j j 3.38756 -T 1182 875 oh oh 3.38756 -T 1182 881 sixty sixty 3.38756 -F 1183 0.45384 -T 1183 1035 , , 0.383181 -F 1184 0.45384 -T 1184 1077 , , 0.586236 -F 1185 2.66049 -T 1185 1107 , , 0.25107 -T 1185 1111 five five 1.3081 -F 1186 0.45384 -T 1186 1197 , , 0.601374 -F 1187 0.566436 -T 1187 1256 , , 0.745803 -T 1187 1273 thirty thirty 2.69425 -F 1188 1.9093 -T 1188 0 -F 1189 1.81167 -T 1189 0 , , 0.519744 -T 1189 1191 eight eight 1.81167 -T 1189 1192 five five 2.95145 -T 1189 1193 nine nine 2.95145 -T 1189 1194 one one 2.95145 -T 1189 1195 seven seven 2.95145 -T 1189 1196 three three 2.95145 -F 1190 9.5927 -T 1190 72 , , 1.15812e-08 -F 1191 2.10124 -T 1191 263 , , 0.992085 -T 1191 270 hundred hundred 0.45384 -F 1192 1.73523 -T 1192 405 , , 0.307862 -T 1192 411 hundred hundred 1.3081 -F 1193 1.1303 -T 1193 764 , , 0.301833 -T 1193 783 thirty thirty 1.3081 -F 1194 1.93616 -T 1194 862 , , 0.309846 -T 1194 871 hundred hundred 1.3081 -F 1195 1.07794 -T 1195 1035 , , 0.311873 -T 1195 1044 hundred hundred 1.3081 -F 1196 1.40719 -T 1196 1197 , , 0.311625 -T 1196 1206 hundred hundred 1.3081 -F 1197 1.09557 -T 1197 0 , , 1.78282 -T 1197 1199 eight eight 3.19092 -T 1197 1200 eighty eighty 5.64456 -T 1197 1201 eleven eleven 5.64456 -T 1197 1202 five five 3.02306 -T 1197 1203 forty forty 4.50478 -T 1197 1204 four four 3.19092 -T 1197 1205 fourteen fourteen 5.64456 -T 1197 1206 hundred hundred 5.64456 -T 1197 1207 nine nine 3.64614 -T 1197 1208 oh oh 3.39286 -T 1197 1209 one one 3.19092 -T 1197 1210 seven seven 3.39286 -T 1197 1211 seventeen seventeen 5.64456 -T 1197 1212 seventy seventy 4.50478 -T 1197 1213 six six 3.19092 -T 1197 1214 sixty sixty 3.64614 -T 1197 1215 thirty thirty 5.64456 -T 1197 1216 three three 2.87938 -T 1197 1217 twelve twelve 5.64456 -T 1197 1218 twenty twenty 3.98601 -T 1197 1219 two two 2.36706 -T 1197 1220 zero zero 3.64614 -F 1198 9.5927 -T 1198 72 , , 3.37282e-10 -F 1199 0.606961 -T 1199 263 , , 0.457089 -T 1199 283 zero zero 3.09974 -F 1200 2.81867 -T 1200 290 , , -4.50449e-10 -F 1201 2.33054 -T 1201 300 , , 0.19006 -T 1201 304 sixty sixty 1.3081 -F 1202 1.47494 -T 1202 405 , , 0.0475721 -T 1202 410 four four 3.25401 -T 1202 414 oh oh 3.25401 -T 1202 416 seven seven 3.25401 -T 1202 425 zero zero 3.25401 -F 1203 3.41991 -T 1203 427 , , 0.066701 -T 1203 429 five five 2.00118 -T 1203 436 two two 2.00118 -F 1204 1.41601 -T 1204 437 , , 0.205312 -T 1204 440 eight eight 3.09974 -T 1204 442 five five 3.09974 -T 1204 444 four four 1.5524 -T 1204 455 three three 3.09974 -F 1205 1.2929 -T 1205 459 , , 9.77121e-11 -F 1206 2.0995 -T 1206 543 , , 5.04101e-09 -F 1207 0.879892 -T 1207 764 , , 0.0514222 -T 1207 770 five five 2.69425 -T 1207 774 nine nine 2.69425 -F 1208 2.38596 -T 1208 849 , , 0.0191345 -T 1208 854 nine nine 2.91738 -F 1209 1.81946 -T 1209 862 , , 0.193143 -T 1209 873 nine nine 3.09974 -T 1209 876 one one 3.09974 -T 1209 887 two two 1.5524 -F 1210 1.16287 -T 1210 1035 , , 0.396804 -T 1210 1037 eight eight 2.91738 -T 1210 1040 five five 1.37004 -T 1210 1048 one one 2.91738 -T 1210 1049 seven seven 2.91738 -F 1211 1.22405 -T 1211 1061 , , -3.19748e-10 -F 1212 1.76056 -T 1212 1067 , , 4.18598e-09 -F 1213 1.26063 -T 1213 1077 , , 0.19453 -T 1213 1087 one one 3.09974 -T 1213 1095 three three 1.5524 -F 1214 2.75368 -T 1214 1107 , , 0.344255 -T 1214 1109 eight eight 2.69425 -T 1214 1112 four four 1.14692 -T 1214 1117 three three 2.69425 -F 1215 2.33007 -T 1215 1177 , , 0.272245 -T 1215 1184 six six 1.3081 -F 1216 1.24791 -T 1216 1197 , , 0.152341 -T 1216 1207 nine nine 3.38756 -T 1216 1210 seven seven 1.84023 -F 1217 2.74313 -T 1217 1227 , , 0.261489 -T 1217 1229 fifty fifty 1.3081 -F 1218 3.03973 -T 1218 1239 , , 0.0560034 -T 1218 1250 seven seven 2.40666 -F 1219 0.902844 -T 1219 1256 , , 0.771517 -T 1219 1258 eight eight 2.32561 -T 1219 1269 seven seven 2.32561 -T 1219 1275 three three 2.32561 -F 1220 0.751299 -T 1220 1465 , , 0.0282868 -T 1220 1473 two two 2.69425 -F 1221 1.9093 -T 1221 0 -F 1222 1.9093 -T 1222 0 -F 1223 1.9093 -T 1223 0 -F 1224 1.9093 -T 1224 0 -F 1225 3.23341 -T 1225 0 , , 1.3241 -T 1225 1226 nineteen nineteen 0.307625 -F 1226 4.30455 -T 1226 788 , , 1.62872e-09 -F 1227 2.48164 -T 1227 0 , , 0.572333 -T 1227 1229 fifty fifty 2.95145 -T 1227 1230 four four 2.95145 -T 1227 1231 nine nine 2.95145 -T 1227 1232 nineteen nineteen 2.95145 -T 1227 1233 sixty sixty 2.95145 -T 1227 1234 ten ten 2.95145 -T 1227 1235 twenty twenty 1.81167 -F 1228 9.5927 -T 1228 72 , , 1.15186e-08 -F 1229 3.38064 -T 1229 390 , , 0.155184 -T 1229 392 eight eight 1.3081 -F 1230 1.51697 -T 1230 437 , , 0.306271 -T 1230 452 sixty sixty 1.3081 -F 1231 1.13939 -T 1231 764 , , 0.310921 -T 1231 776 of of 1.3081 -F 1232 4.30455 -T 1232 788 , , -2.4474e-08 -F 1233 2.56746 -T 1233 1107 , , 0.158032 -T 1233 1115 seven seven 1.3081 -F 1234 1.05282 -T 1234 1154 , , 0.280994 -T 1234 1158 sixty sixty 1.3081 -F 1235 3.1924 -T 1235 1239 , , 0.208667 -T 1235 1245 four four 2.00118 -T 1235 1248 one one 2.00118 -F 1236 1.9093 -T 1236 0 -F 1237 2.54016 -T 1237 0 , , 0.630853 -T 1237 1238 nineteen nineteen 0.754327 -F 1238 4.53379 -T 1238 788 , , 0.229242 -T 1238 791 seventy seventy 1.3081 -F 1239 2.98373 -T 1239 0 , , 1.07443 -T 1239 1241 eight eight 2.16604 -T 1239 1242 fifth fifth 4.41774 -T 1239 1243 first first 4.41774 -T 1239 1244 five five 4.41774 -T 1239 1245 four four 2.75919 -T 1239 1246 fourth fourth 4.41774 -T 1239 1247 nine nine 2.41933 -T 1239 1248 one one 3.27796 -T 1239 1249 second second 3.27796 -T 1239 1250 seven seven 3.27796 -T 1239 1251 seventh seventh 4.41774 -T 1239 1252 six six 2.16604 -T 1239 1253 third third 3.27796 -T 1239 1254 three three 2.16604 -T 1239 1255 two two 3.27796 -F 1240 9.5927 -T 1240 72 , , 1.15812e-08 -F 1241 1.37004 -T 1241 263 , , 0.386726 -T 1241 275 seventy seventy 2.91738 -T 1241 277 sixty sixty 1.37004 -F 1242 2.5633 -T 1242 387 , , 0.0470533 -T 1242 388 nineteen nineteen 1.3081 -F 1243 3.63841 -T 1243 403 , , -3.06887e-08 -F 1244 1.3081 -T 1244 405 , , 0.0408118 -F 1245 1.47389 -T 1245 437 , , 0.263189 -T 1245 443 forty forty 2.40666 -T 1245 447 oh oh 2.40666 -T 1245 452 sixty sixty 2.40666 -F 1246 2.54016 -T 1246 465 , , 4.73853e-09 -F 1247 0.956072 -T 1247 764 , , 0.127602 -T 1247 769 fifty fifty 2.69425 -T 1247 775 nineteen nineteen 2.69425 -F 1248 1.75894 -T 1248 862 , , 0.132622 -T 1248 867 fifty fifty 2.00118 -F 1249 3.23341 -T 1249 1026 , , -3.3414e-09 -F 1250 0.893874 -T 1250 1035 , , 0.127804 -T 1250 1053 sixty sixty 2.00118 -F 1251 2.54016 -T 1251 1065 , , 4.73853e-09 -F 1252 0.789556 -T 1252 1077 , , 0.385644 -T 1252 1082 forty forty 2.91738 -T 1252 1092 sixty sixty 2.91738 -F 1253 3.63841 -T 1253 1173 , , -3.18431e-09 -F 1254 0.424597 -T 1254 1197 , , 0.784399 -T 1254 1214 sixty sixty 2.91738 -F 1255 1.64715 -T 1255 1256 , , 0.139645 -T 1255 1276 twenty twenty 2.00118 -F 1256 1.5075 -T 1256 0 , , 2.51469 -T 1256 1258 eight eight 3.13612 -T 1256 1259 eighty eighty 6.33027 -T 1256 1260 fifteen fifteen 6.33027 -T 1256 1261 fifty fifty 6.33027 -T 1256 1262 five five 3.13612 -T 1256 1263 four four 2.71544 -T 1256 1264 fourteen fourteen 6.33027 -T 1256 1265 hundred hundred 6.33027 -T 1256 1266 nine nine 3.56509 -T 1256 1267 oh oh 3.2273 -T 1256 1268 one one 1.69493 -T 1256 1269 seven seven 3.2273 -T 1256 1270 six six 2.42025 -T 1256 1271 sixty sixty 6.33027 -T 1256 1272 ten ten 6.33027 -T 1256 1273 thirty thirty 4.67148 -T 1256 1274 thousand thousand 6.33027 -T 1256 1275 three three 3.13612 -T 1256 1276 twenty twenty 5.19049 -T 1256 1277 two two 2.22706 -T 1256 1278 zero zero 3.87663 -F 1257 9.5927 -T 1257 72 , , 3.35582e-10 -F 1258 1.03317 -T 1258 263 , , 0.459884 -T 1258 273 one one 2.24571 -T 1258 280 three three 1.665 -F 1259 2.95387 -T 1259 290 , , 0.135201 -T 1259 295 nine nine 1.3081 -F 1260 0.921438 -T 1260 381 , , 0.216387 -T 1260 384 sixty sixty 1.3081 -F 1261 3.50008 -T 1261 390 , , 0.274619 -T 1261 400 three three 1.3081 -F 1262 1.46071 -T 1262 405 , , 0.0333382 -T 1262 424 two two 1.03317 -F 1263 1.05458 -T 1263 437 , , 0.755884 -T 1263 445 nine nine 4.1983 -T 1263 448 one one 2.65097 -T 1263 455 three three 4.1983 -T 1263 457 two two 1.05458 -F 1264 1.2929 -T 1264 459 , , 9.77121e-11 -F 1265 2.0995 -T 1265 543 , , 5.04101e-09 -F 1266 0.996534 -T 1266 764 , , 0.168063 -T 1266 767 eight eight 3.38756 -T 1266 779 seven seven 3.38756 -T 1266 784 three three 1.84023 -F 1267 2.47353 -T 1267 849 , , 0.106704 -T 1267 852 five five 2.15867 -T 1267 858 six six 1.57796 -F 1268 2.22982 -T 1268 862 , , 0.866306 -T 1268 864 eight eight 3.07188 -T 1268 875 oh oh 2.70692 -T 1268 877 seven seven 1.1658 -T 1268 879 six six 3.65259 -T 1268 881 sixty sixty 5.19993 -T 1268 885 three three 1.665 -T 1268 887 two two 3.07188 -F 1269 0.862793 -T 1269 1035 , , 0.0967226 -T 1269 1042 four four 3.70601 -T 1269 1048 one one 2.15867 -T 1269 1052 six six 3.70601 -F 1270 1.51602 -T 1270 1077 , , 1.26935 -T 1270 1079 eight eight 0.452228 -T 1270 1086 oh oh 4.48613 -F 1271 1.3081 -T 1271 1107 , , 0.221003 -F 1272 0.771827 -T 1272 1154 , , -3.04857e-09 -F 1273 2.48347 -T 1273 1177 , , 0.425652 -T 1273 1182 one one 0.859325 -T 1273 1183 seven seven 2.40666 -F 1274 2.07316 -T 1274 1189 , , 0.261489 -T 1274 1192 five five 1.3081 -F 1275 1.58738 -T 1275 1197 , , 0.491809 -T 1275 1207 nine nine 3.79282 -T 1275 1219 two two 0.822714 -F 1276 3.10294 -T 1276 1239 , , 0.119211 -T 1276 1245 four four 2.00118 -T 1276 1252 six six 2.00118 -F 1277 1.75054 -T 1277 1256 , , 0.243035 -T 1277 1266 nine nine 2.54735 -T 1277 1267 oh oh 2.54735 -T 1277 1268 one one 1.53145 -T 1277 1269 seven seven 3.12806 -T 1277 1278 zero zero 3.12806 -F 1278 0.919238 -T 1278 1465 , , 0.196227 -T 1278 1471 seven seven 1.5524 -F 1279 3.18583 -T 1279 0 , , 1.27652 -T 1279 1281 a a 4.28741 -T 1279 1282 b b 5.26299 -T 1279 1283 c c 5.42719 -T 1279 1284 d d 5.42719 -T 1279 1285 e e 3.17526 -T 1279 1286 eighty eighty 5.42719 -T 1279 1287 f f 4.28741 -T 1279 1288 five five 4.28741 -T 1279 1289 four four 3.76841 -T 1279 1290 g g 3.76841 -T 1279 1291 i i 4.93533 -T 1279 1292 j j 4.28741 -T 1279 1293 k k 5.42719 -T 1279 1294 l l 3.76841 -T 1279 1295 m m 3.76841 -T 1279 1296 n n 3.76841 -T 1279 1297 o o 4.97862 -T 1279 1298 one one 4.4161 -T 1279 1299 q q 5.42719 -T 1279 1300 r r 0.693769 -T 1279 1301 s s 2.97356 -T 1279 1302 seven seven 5.07878 -T 1279 1303 t t 3.42855 -T 1279 1304 three three 5.15154 -T 1279 1305 two two 4.46422 -T 1279 1306 x x 5.42719 -T 1279 1307 y y 5.42719 -F 1280 9.5927 -T 1280 72 , , 1.15186e-08 -F 1281 2.80831 -T 1281 74 , , 0.133397 -T 1281 85 i i 2.00118 -F 1282 3.68079 -T 1282 127 , , 0.309181 -T 1282 137 i i 1.3081 -F 1283 3.14103 -T 1283 162 , , 0.195339 -T 1283 174 k k 1.3081 -F 1284 1.6876 -T 1284 194 , , 0.2699 -T 1284 219 w w 1.3081 -F 1285 0.424597 -T 1285 228 , , 1.01754 -T 1285 252 t t 2.91738 -F 1286 2.81867 -T 1286 290 , , -4.50449e-10 -F 1287 3.03939 -T 1287 350 , , 0.268901 -T 1287 373 two two 2.00118 -T 1287 377 z z 2.00118 -F 1288 1.42737 -T 1288 405 , , 1.14306e-08 -F 1289 1.42179 -T 1289 437 , , 0.211091 -T 1289 442 five five 2.40666 -T 1289 443 forty forty 2.40666 -T 1289 449 seven seven 2.40666 -F 1290 3.40634 -T 1290 468 , , 0.119794 -T 1290 470 a a 2.40666 -T 1290 481 l l 2.40666 -T 1290 482 n n 2.40666 -F 1291 3.82991 -T 1291 549 , , 0.300082 -T 1291 566 p p 1.3081 -F 1292 2.74422 -T 1292 582 , , 0.159004 -T 1292 595 m m 2.00118 -T 1292 597 o o 2.00118 -F 1293 2.10219 -T 1293 619 , , 0.202325 -T 1293 624 e e 1.3081 -F 1294 2.96838 -T 1294 651 , , 0.557345 -T 1294 655 d d 2.40666 -T 1294 662 i i 0.859325 -F 1295 3.0914 -T 1295 685 , , 0.19078 -T 1295 699 i i 2.40666 -T 1295 702 m m 2.40666 -T 1295 703 n n 2.40666 -F 1296 1.6792 -T 1296 734 , , 0.184818 -T 1296 737 b b 2.40666 -T 1296 750 n n 2.40666 -T 1296 757 t t 2.40666 -F 1297 3.51484 -T 1297 808 , , 0.253359 -T 1297 837 u u 1.3081 -F 1298 1.92888 -T 1298 862 , , 0.30256 -T 1298 881 sixty sixty 1.3081 -F 1299 2.78813 -T 1299 920 , , 0.299365 -T 1299 937 u u 1.3081 -F 1300 4.93671 -T 1300 941 , , 1.87819 -T 1300 945 c c 5.2971 -T 1300 949 g g 0.176378 -T 1300 958 r r 5.2971 -T 1300 959 s s 5.2971 -T 1300 967 y y 3.16905 -F 1301 2.75346 -T 1301 997 , , 0.537687 -T 1301 1002 e e 1.5524 -T 1301 1005 i i 3.09974 -T 1301 1007 k k 1.5524 -T 1301 1011 o o 3.09974 -F 1302 1.05667 -T 1302 1035 , , 0.290602 -T 1302 1057 three three 1.3081 -F 1303 2.77553 -T 1303 1125 , , 0.1865 -T 1303 1129 d d 2.69425 -T 1303 1132 f f 2.69425 -T 1303 1136 h h 2.69425 -T 1303 1137 i i 2.69425 -F 1304 1.09557 -T 1304 1197 , , -1.97866e-09 -F 1305 1.7542 -T 1305 1256 , , 0.246701 -T 1305 1263 four four 1.3081 -F 1306 2.51119 -T 1306 1378 , , 0.300359 -T 1306 1393 p p 1.3081 -F 1307 1.44488 -T 1307 1405 , , 0.304868 -T 1307 1427 three three 1.3081 -F 1308 1.9093 -T 1308 0 -F 1309 1.9093 -T 1309 0 -F 1310 1.9093 -T 1310 0 -F 1311 3.15195 -T 1311 0 , , 1.24264 -T 1311 1312 a a 2.02236 -T 1311 1313 c c 4.91326 -T 1311 1314 e e 1.04676 -T 1311 1315 f f 4.91326 -T 1311 1316 fifty fifty 4.91326 -T 1311 1317 i i 2.29176 -T 1311 1318 k k 3.77348 -T 1311 1319 l l 4.91326 -T 1311 1320 m m 3.77348 -T 1311 1321 n n 4.88925 -T 1311 1322 nine nine 4.91326 -T 1311 1323 o o 4.91326 -T 1311 1324 p p 4.91326 -T 1311 1325 q q 3.77348 -T 1311 1326 r r 4.59958 -T 1311 1327 s s 4.91326 -T 1311 1328 seven seven 3.77348 -T 1311 1329 thirty thirty 4.91326 -T 1311 1330 w w 4.91326 -T 1311 1331 x x 4.91326 -T 1311 1332 y y 3.25447 -T 1311 1333 z z 4.91326 -F 1312 3.00602 -T 1312 74 , , 0.331109 -T 1312 83 h h 3.50523 -T 1312 88 l l 1.37718 -T 1312 90 n n 1.95789 -F 1313 3.24106 -T 1313 162 , , 0.295367 -T 1313 182 thirty thirty 1.3081 -F 1314 1.15175 -T 1314 228 , , 1.04297 -T 1314 232 c c 4.44353 -T 1314 245 n n 1.15175 -T 1314 249 r r 1.95052 -F 1315 3.0144 -T 1315 350 , , 0.243919 -T 1315 365 o o 1.3081 -F 1316 3.44213 -T 1316 390 , , 0.216673 -T 1316 393 five five 1.3081 -F 1317 3.9465 -T 1317 549 , , 0.416668 -T 1317 554 d d 1.70668 -T 1317 555 e e 3.25401 -T 1317 562 l l 1.70668 -T 1317 567 q q 3.25401 -F 1318 2.00118 -T 1318 619 , , 0.128149 -T 1318 649 z z 2.00118 -F 1319 2.72282 -T 1319 651 , , 0.311778 -T 1319 654 c c 1.3081 -F 1320 3.1785 -T 1320 685 , , 0.277882 -T 1320 692 eight eight 2.00118 -T 1320 712 u u 2.00118 -F 1321 1.79464 -T 1321 734 , , 0.300266 -T 1321 761 y y 1.3081 -F 1322 0.82847 -T 1322 764 , , 2.44207e-09 -F 1323 3.49444 -T 1323 808 , , 0.232957 -T 1323 829 o o 1.3081 -F 1324 3.71088 -T 1324 895 , , 0.300356 -T 1324 900 e e 1.3081 -F 1325 3.41121 -T 1325 920 , , 0.922438 -T 1325 922 d d 0.45384 -F 1326 3.36708 -T 1326 941 , , 0.308553 -T 1326 948 f f 1.3081 -F 1327 2.52116 -T 1327 997 , , 0.305384 -T 1327 1012 one one 1.3081 -F 1328 0.45384 -T 1328 1035 , , 0.383181 -F 1329 1.3081 -T 1329 1177 , , 0.178509 -F 1330 2.59942 -T 1330 1335 , , 0.189999 -T 1330 1337 a a 1.3081 -F 1331 2.47896 -T 1331 1378 , , 0.268127 -T 1331 1395 s s 1.3081 -F 1332 1.36686 -T 1332 1405 , , 0.226852 -T 1332 1414 h h 2.40666 -T 1332 1420 one one 2.40666 -T 1332 1430 w w 2.40666 -F 1333 2.60869 -T 1333 1437 , , 0.304661 -T 1333 1451 ninety ninety 1.3081 -F 1334 1.9093 -T 1334 0 -F 1335 2.40943 -T 1335 0 , , 0.791093 -T 1335 1337 a a 2.14002 -T 1335 1338 b b 3.89114 -T 1335 1339 c c 5.03092 -T 1335 1340 d d 4.94219 -T 1335 1341 e e 3.0325 -T 1335 1342 eight eight 3.89114 -T 1335 1343 f f 3.89114 -T 1335 1344 five five 4.24704 -T 1335 1345 fourteen fourteen 5.03092 -T 1335 1346 g g 4.81187 -T 1335 1347 h h 3.89114 -T 1335 1348 i i 2.40943 -T 1335 1349 l l 3.37237 -T 1335 1350 n n 2.77922 -T 1335 1351 o o 2.14002 -T 1335 1352 p p 4.95232 -T 1335 1353 q q 5.03092 -T 1335 1354 r r 4.14803 -T 1335 1355 t t 4.22747 -T 1335 1356 twenty twenty 5.03092 -T 1335 1357 two two 3.89114 -T 1335 1358 w w 5.03092 -T 1335 1359 x x 5.03092 -T 1335 1360 y y 3.37237 -T 1335 1361 z z 3.37237 -F 1336 9.59269 -T 1336 72 , , -3.41497e-09 -F 1337 3.00801 -T 1337 74 , , 0.333097 -T 1337 76 a a 3.50523 -T 1337 77 b b 3.50523 -T 1337 93 r r 1.01222 -T 1337 102 y y 3.50523 -F 1338 3.5044 -T 1338 127 , , 0.132796 -T 1338 148 seventy seventy 2.00118 -F 1339 3.25457 -T 1339 162 , , 0.308876 -T 1339 185 v v 1.3081 -F 1340 1.70811 -T 1340 194 , , 0.290407 -T 1340 205 k k 1.3081 -F 1341 2.27584 -T 1341 228 , , 0.458869 -T 1341 240 i i 2.69425 -T 1341 243 l l 1.14692 -T 1341 250 s s 2.69425 -F 1342 0.45384 -T 1342 263 , , 0.608129 -F 1343 3.05255 -T 1343 350 , , 0.282067 -T 1343 358 five five 2.00118 -T 1343 368 s s 2.00118 -F 1344 1.72016 -T 1344 405 , , 0.292788 -T 1344 425 zero zero 1.3081 -F 1345 1.55439 -T 1345 459 , , 0.261489 -T 1345 462 eighty eighty 1.3081 -F 1346 3.5252 -T 1346 468 , , 0.23866 -T 1346 470 a a 1.3081 -F 1347 1.23434 -T 1347 499 , , 0.223046 -T 1347 503 e e 2.00118 -T 1347 509 i i 2.00118 -F 1348 4.12701 -T 1348 549 , , 0.597178 -T 1348 553 c c 1.70668 -T 1348 562 l l 1.70668 -T 1348 569 s s 1.70668 -F 1349 2.60058 -T 1349 651 , , 0.189545 -T 1349 658 f f 2.40666 -T 1349 662 i i 2.40666 -T 1349 669 r r 2.40666 -F 1350 1.37004 -T 1350 734 , , 0.178742 -T 1350 742 four four 2.91738 -T 1350 745 i i 2.91738 -T 1350 748 l l 2.91738 -F 1351 4.37206 -T 1351 808 , , 1.11058 -T 1351 829 o o 0.361506 -F 1352 3.72098 -T 1352 895 , , 0.310453 -T 1352 902 f f 1.3081 -F 1353 2.78813 -T 1353 920 , , 0.299365 -T 1353 934 six six 1.3081 -F 1354 3.28723 -T 1354 941 , , 0.228703 -T 1354 951 i i 1.3081 -F 1355 2.82087 -T 1355 1125 , , 0.231844 -T 1355 1136 h h 1.3081 -F 1356 3.17715 -T 1356 1239 , , 0.193418 -T 1356 1252 six six 1.3081 -F 1357 1.81149 -T 1357 1256 , , 0.303991 -T 1357 1264 fourteen fourteen 2.00118 -T 1357 1273 thirty thirty 2.00118 -F 1358 2.70396 -T 1358 1335 , , 0.294534 -T 1358 1357 two two 1.3081 -F 1359 2.50238 -T 1359 1378 , , 0.291548 -T 1359 1384 five five 1.3081 -F 1360 1.34425 -T 1360 1405 , , 0.204245 -T 1360 1411 eight eight 2.40666 -T 1360 1416 l l 2.40666 -T 1360 1419 o o 2.40666 -F 1361 2.46015 -T 1361 1437 , , 0.156123 -T 1361 1439 a a 2.40666 -T 1361 1450 nine nine 2.40666 -T 1361 1454 seven seven 2.40666 -F 1362 1.9093 -T 1362 0 -F 1363 1.9093 -T 1363 0 -F 1364 1.9093 -T 1364 0 -F 1365 1.9093 -T 1365 0 -F 1366 1.9093 -T 1366 0 -F 1367 1.9093 -T 1367 0 -F 1368 1.9093 -T 1368 0 -F 1369 1.9093 -T 1369 0 -F 1370 1.9093 -T 1370 0 -F 1371 1.9093 -T 1371 0 -F 1372 1.9093 -T 1372 0 -F 1373 1.9093 -T 1373 0 -F 1374 1.9093 -T 1374 0 -F 1375 1.9093 -T 1375 0 -F 1376 1.9093 -T 1376 0 -F 1377 1.9093 -T 1377 0 -F 1378 2.21083 -T 1378 0 , , 0.301526 -T 1378 1379 b b 4.21995 -T 1378 1380 c c 3.08017 -T 1378 1381 e e 3.54794 -T 1378 1382 eight eight 4.03586 -T 1378 1383 f f 4.21995 -T 1378 1384 five five 3.75748 -T 1378 1385 four four 3.95412 -T 1378 1386 g g 4.21995 -T 1378 1387 h h 4.07615 -T 1378 1388 i i 3.96033 -T 1378 1389 k k 4.21995 -T 1378 1390 l l 4.13211 -T 1378 1391 n n 3.94813 -T 1378 1392 nine nine 4.21995 -T 1378 1393 p p 4.21995 -T 1378 1394 r r 3.65846 -T 1378 1395 s s 3.08017 -T 1378 1396 seventy seventy 4.21995 -T 1378 1397 three three 4.17655 -T 1378 1398 two two 3.08017 -T 1378 1399 v v 4.21995 -T 1378 1400 w w 4.21995 -T 1378 1401 x x 3.08017 -T 1378 1402 y y 3.08017 -T 1378 1403 z z 4.21995 -T 1378 1404 zero zero 3.08017 -F 1379 3.6658 -T 1379 127 , , 0.294191 -T 1379 141 m m 1.3081 -F 1380 3.20691 -T 1380 162 , , 0.261218 -T 1380 186 w w 2.00118 -T 1380 188 z z 2.00118 -F 1381 2.10581 -T 1381 228 , , 0.288841 -T 1381 233 d d 1.3081 -F 1382 1.38792 -T 1382 263 , , 0.278761 -T 1382 272 oh oh 1.3081 -F 1383 2.96357 -T 1383 350 , , 0.193089 -T 1383 355 e e 1.3081 -F 1384 1.73523 -T 1384 405 , , 0.307862 -T 1384 411 hundred hundred 1.3081 -F 1385 1.51088 -T 1385 437 , , 0.300176 -T 1385 454 thousand thousand 1.3081 -F 1386 3.53455 -T 1386 468 , , 0.248009 -T 1386 478 i i 1.3081 -F 1387 1.30257 -T 1387 499 , , 0.291274 -T 1387 502 b b 1.3081 -F 1388 3.84215 -T 1388 549 , , 0.312313 -T 1388 570 sixty sixty 1.3081 -F 1389 2.20829 -T 1389 619 , , 0.308426 -T 1389 642 twenty twenty 1.3081 -F 1390 2.72282 -T 1390 651 , , 0.311778 -T 1390 673 thirty thirty 1.3081 -F 1391 1.80339 -T 1391 734 , , 0.309016 -T 1391 756 six six 1.3081 -F 1392 0.82847 -T 1392 764 , , 2.44207e-09 -F 1393 3.41053 -T 1393 895 , , -4.40015e-09 -F 1394 3.36708 -T 1394 941 , , 0.308553 -T 1394 968 z z 1.3081 -F 1395 2.52472 -T 1395 997 , , 0.308945 -T 1395 1021 x x 2.00118 -T 1395 1023 zero zero 2.00118 -F 1396 1.93246 -T 1396 1067 , , 0.171903 -T 1396 1075 two two 1.3081 -F 1397 1.3843 -T 1397 1197 , , 0.28873 -T 1397 1220 zero zero 1.3081 -F 1398 1.75232 -T 1398 1256 , , 0.244817 -T 1398 1263 four four 2.00118 -T 1398 1274 thousand thousand 2.00118 -F 1399 3.36054 -T 1399 1311 , , 0.208598 -T 1399 1317 i i 1.3081 -F 1400 2.71018 -T 1400 1335 , , 0.300758 -T 1400 1344 five five 1.3081 -F 1401 2.45855 -T 1401 1378 , , 0.247726 -T 1401 1391 n n 2.00118 -T 1401 1395 s s 2.00118 -F 1402 1.42062 -T 1402 1405 , , 0.28061 -T 1402 1424 seven seven 2.00118 -T 1402 1428 u u 2.00118 -F 1403 2.56274 -T 1403 1437 , , 0.258713 -T 1403 1447 i i 1.3081 -F 1404 0.45384 -T 1404 1465 , , 0.344215 -F 1405 1.14001 -T 1405 0 , , 0.705762 -T 1405 1407 a a 4.1228 -T 1405 1408 b b 3.77348 -T 1405 1409 d d 3.25447 -T 1405 1410 e e 3.95218 -T 1405 1411 eight eight 3.77348 -T 1405 1412 f f 3.77348 -T 1405 1413 g g 4.72654 -T 1405 1414 h h 3.25447 -T 1405 1415 j j 4.91326 -T 1405 1416 l l 2.66133 -T 1405 1417 m m 4.91326 -T 1405 1418 n n 3.77348 -T 1405 1419 o o 4.40786 -T 1405 1420 one one 3.77348 -T 1405 1421 p p 4.86699 -T 1405 1422 q q 4.91326 -T 1405 1423 r r 4.0627 -T 1405 1424 seven seven 4.50802 -T 1405 1425 t t 4.14214 -T 1405 1426 ten ten 4.91326 -T 1405 1427 three three 4.58078 -T 1405 1428 u u 3.77348 -T 1405 1429 v v 3.77348 -T 1405 1430 w w 3.77348 -T 1405 1431 y y 4.91326 -T 1405 1432 z z 3.77348 -F 1406 9.5927 -T 1406 72 , , 2.64713e-10 -F 1407 2.92886 -T 1407 74 , , 0.253943 -T 1407 89 m m 1.3081 -F 1408 3.49325 -T 1408 127 , , 0.121649 -T 1408 131 e e 2.00118 -T 1408 145 r r 2.00118 -F 1409 1.60761 -T 1409 194 , , 0.189908 -T 1409 198 d d 2.40666 -T 1409 208 n n 2.40666 -T 1409 214 r r 2.40666 -F 1410 2.0016 -T 1410 228 , , 0.18463 -T 1410 249 r r 1.3081 -F 1411 1.32159 -T 1411 263 , , 0.212437 -T 1411 266 five five 2.00118 -T 1411 276 six six 2.00118 -F 1412 3.00662 -T 1412 350 , , 0.236134 -T 1412 362 j j 2.00118 -T 1412 375 x x 2.00118 -F 1413 3.57107 -T 1413 468 , , 0.284524 -T 1413 482 n n 1.3081 -F 1414 1.2265 -T 1414 499 , , 0.215203 -T 1414 514 o o 2.40666 -T 1414 520 seventy seventy 2.40666 -T 1414 521 six six 2.40666 -F 1415 2.75558 -T 1415 582 , , 0.17037 -T 1415 597 o o 1.3081 -F 1416 2.43394 -T 1416 651 , , 0.0229052 -T 1416 668 o o 2.91738 -F 1417 3.19913 -T 1417 685 , , 0.29851 -T 1417 698 h h 1.3081 -F 1418 1.66871 -T 1418 734 , , 0.174331 -T 1418 740 e e 2.00118 -T 1418 752 p p 2.00118 -F 1419 3.45234 -T 1419 808 , , 0.190855 -T 1419 832 r r 1.3081 -F 1420 1.73301 -T 1420 862 , , 0.106696 -T 1420 873 nine nine 2.00118 -F 1421 3.67997 -T 1421 895 , , 0.269439 -T 1421 908 l l 1.3081 -F 1422 2.75368 -T 1422 920 , , 0.264914 -T 1422 925 fifty fifty 1.3081 -F 1423 3.35801 -T 1423 941 , , 0.299482 -T 1423 944 b b 1.3081 -F 1424 1.04223 -T 1424 1035 , , 0.276161 -T 1424 1047 oh oh 1.3081 -F 1425 2.89213 -T 1425 1125 , , 0.303103 -T 1425 1140 l l 1.3081 -F 1426 1.05282 -T 1426 1154 , , 0.280994 -T 1426 1159 ten ten 1.3081 -F 1427 1.3843 -T 1427 1197 , , 0.28873 -T 1427 1214 sixty sixty 1.3081 -F 1428 3.48254 -T 1428 1279 , , 0.296715 -T 1428 1298 one one 2.00118 -T 1428 1302 seven seven 2.00118 -F 1429 3.29835 -T 1429 1311 , , 0.146402 -T 1429 1312 a a 2.00118 -T 1429 1320 m m 2.00118 -F 1430 2.55979 -T 1430 1335 , , 0.150365 -T 1430 1337 a a 2.00118 -T 1430 1349 l l 2.00118 -F 1431 1.43194 -T 1431 1405 , , 0.291928 -T 1431 1412 f f 1.3081 -F 1432 2.5329 -T 1432 1437 , , 0.228874 -T 1432 1452 o o 2.00118 -T 1432 1459 two two 2.00118 -F 1433 0.0255587 -T 1433 0 , , 3.51915 -F 1434 9.5927 -T 1434 72 , , 2.64713e-10 -F 1435 1.9093 -T 1435 0 -F 1436 1.9093 -T 1436 0 -F 1437 2.30403 -T 1437 0 , , 0.394722 -T 1437 1439 a a 2.56232 -T 1437 1440 c c 4.56096 -T 1437 1441 d d 4.54582 -T 1437 1442 e e 2.90241 -T 1437 1443 eight eight 4.12906 -T 1437 1444 f f 4.56096 -T 1437 1445 g g 4.4155 -T 1437 1446 h h 4.16935 -T 1437 1447 i i 2.90241 -T 1437 1448 k k 4.56096 -T 1437 1449 l l 4.2253 -T 1437 1450 nine nine 2.90241 -T 1437 1451 ninety ninety 4.56096 -T 1437 1452 o o 2.90241 -T 1437 1453 r r 3.42118 -T 1437 1454 seven seven 4.19698 -T 1437 1455 six six 4.05952 -T 1437 1456 sixty sixty 3.42118 -T 1437 1457 t t 3.8311 -T 1437 1458 twenty twenty 4.56096 -T 1437 1459 two two 3.58242 -T 1437 1460 u u 4.48803 -T 1437 1461 w w 4.56096 -T 1437 1462 x x 3.42118 -T 1437 1463 y y 3.42118 -T 1437 1464 z z 4.56096 -F 1438 9.59269 -T 1438 72 , , -3.43314e-09 -F 1439 2.93693 -T 1439 74 , , 0.262014 -T 1439 80 e e 2.69425 -T 1439 82 g g 2.69425 -T 1439 87 k k 2.69425 -T 1439 92 p p 2.69425 -F 1440 3.24106 -T 1440 162 , , 0.295367 -T 1440 165 b b 1.3081 -F 1441 1.7282 -T 1441 194 , , 0.3105 -T 1441 221 z z 1.3081 -F 1442 2.40952 -T 1442 228 , , 0.592548 -T 1442 243 l l 0.859325 -T 1442 257 v v 2.40666 -F 1443 1.38792 -T 1443 263 , , 0.278761 -T 1443 272 oh oh 1.3081 -F 1444 3.06277 -T 1444 350 , , 0.292288 -T 1444 364 m m 1.3081 -F 1445 3.58885 -T 1445 468 , , 0.3023 -T 1445 473 d d 1.3081 -F 1446 1.31924 -T 1446 499 , , 0.307947 -T 1446 506 four four 1.3081 -F 1447 3.67924 -T 1447 549 , , 0.149412 -T 1447 568 r r 2.40666 -T 1447 574 v v 2.40666 -F 1448 2.16418 -T 1448 619 , , 0.264317 -T 1448 646 w w 1.3081 -F 1449 2.72094 -T 1449 651 , , 0.309899 -T 1449 674 three three 1.3081 -F 1450 0.923445 -T 1450 764 , , 0.094975 -T 1450 781 six six 2.40666 -T 1450 785 twenty twenty 2.40666 -F 1451 3.02224 -T 1451 794 , , 0.156139 -T 1451 795 eight eight 1.3081 -F 1452 3.52718 -T 1452 808 , , 0.265704 -T 1452 834 sixty sixty 2.40666 -T 1452 835 t t 2.40666 -T 1452 836 two two 2.40666 -F 1453 4.06027 -T 1453 941 , , 1.00175 -T 1453 965 v v 0.45384 -F 1454 1.07794 -T 1454 1035 , , 0.311873 -T 1454 1051 seventy seventy 1.3081 -F 1455 1.21967 -T 1455 1077 , , 0.153577 -T 1455 1079 eight eight 1.3081 -F 1456 3.21068 -T 1456 1107 , , 0.801256 -T 1456 1113 nine nine 0.45384 -F 1457 2.90146 -T 1457 1125 , , 0.31243 -T 1457 1144 p p 1.3081 -F 1458 3.17715 -T 1458 1239 , , 0.193418 -T 1458 1252 six six 1.3081 -F 1459 1.3081 -T 1459 1256 , , 0.0648298 -F 1460 3.48716 -T 1460 1279 , , 0.301332 -T 1460 1281 a a 1.3081 -F 1461 2.70396 -T 1461 1335 , , 0.294534 -T 1461 1342 eight eight 1.3081 -F 1462 2.46202 -T 1462 1378 , , 0.251188 -T 1462 1390 l l 2.00118 -T 1462 1398 two two 2.00118 -F 1463 1.43015 -T 1463 1405 , , 0.290136 -T 1463 1413 g g 2.00118 -T 1463 1425 t t 2.00118 -F 1464 2.58597 -T 1464 1437 , , 0.281948 -T 1464 1456 sixty sixty 1.3081 -F 1465 0.723012 -T 1465 0 , , 1.56354 -T 1465 1467 eight eight 4.33784 -T 1465 1468 five five 4.33784 -T 1465 1469 four four 3.19806 -T 1465 1470 one one 2.67906 -T 1465 1471 seven seven 3.19806 -T 1465 1472 six six 1.88421 -T 1465 1473 two two 3.19806 -T 1465 1474 zero zero 4.33784 -F 1466 9.5927 -T 1466 72 , , 3.27724e-10 -F 1467 1.36737 -T 1467 263 , , 0.258216 -T 1467 282 two two 1.3081 -F 1468 1.71508 -T 1468 405 , , 0.287711 -T 1468 416 seven seven 1.3081 -F 1469 1.33433 -T 1469 437 , , 0.123635 -T 1469 440 eight eight 2.00118 -T 1469 448 one one 2.00118 -F 1470 2.00648 -T 1470 862 , , 0.380167 -T 1470 868 five five 0.859325 -T 1470 876 one one 2.40666 -F 1471 0.872292 -T 1471 1035 , , 0.106222 -T 1471 1046 nine nine 2.00118 -F 1472 0.971921 -T 1472 1077 , , 0.0762891 -T 1472 1081 five five 3.09974 -F 1473 1.61226 -T 1473 1256 , , 0.104757 -T 1473 1269 seven seven 2.00118 -F 1474 0.873364 -T 1474 1465 , , 0.150352 -T 1474 1472 six six 1.3081 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.lm deleted file mode 100755 index abc562af..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.trigram.lm +++ /dev/null @@ -1,4771 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 216 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 0.411765 -2-gram discounting constant : 0.529657 -3-gram discounting constant : 0.729646 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=217 -ngram 2=1257 -ngram 3=3242 - -\1-grams: --4.2552 0.0000 --0.8292 -3.2524 --99.0000 -0.6751 --1.4840 a -0.6709 --4.2552 about 0.0000 --4.2552 after 0.0000 --4.2552 all 0.0000 --4.2552 an 0.0000 --2.9252 and -0.4541 --4.2552 any 0.0000 --4.0358 apostrophe -0.2659 --4.0358 april -0.2758 --4.2552 are 0.0000 --4.0358 area -0.2760 --4.2552 as 0.0000 --4.2552 at 0.0000 --3.2505 august -0.5744 --1.7313 b -0.5673 --4.2552 back 0.0000 --4.2552 be 0.0000 --4.2552 been 0.0000 --4.2552 before 0.0000 --4.2552 but 0.0000 --4.2552 by 0.0000 --1.9327 c -0.2811 --4.2552 called 0.0000 --4.2552 can 0.0000 --4.0358 code -0.2646 --4.2552 could 0.0000 --1.8028 d -0.3923 --4.2552 day 0.0000 --4.0358 december -0.2760 --4.2552 did 0.0000 --4.2552 do 0.0000 --4.2552 down 0.0000 --1.4099 e -0.5702 --4.2552 each 0.0000 --1.6218 eight -0.8986 --4.0358 eighteen -0.2759 --4.0358 eighteenth -0.2740 --4.0358 eighth -0.2740 --2.6414 eighty -0.3950 --3.2505 eleven -0.1912 --4.0358 eleventh -0.2740 --1.8832 enter -0.7444 --2.2923 erase -0.2668 --1.9952 f -0.2032 --3.6045 february -0.2739 --3.1437 fifteen -0.4200 --3.6045 fifteenth -0.5750 --3.6045 fifth -0.2636 --2.2420 fifty -0.5727 --4.2552 find 0.0000 --3.3924 first -0.7511 --1.5009 five -0.9943 --4.2552 for 0.0000 --2.3807 forty -0.6271 --1.5863 four -0.9087 --2.8715 fourteen -0.4366 --4.0358 fourth -0.2740 --4.2552 from 0.0000 --1.7462 g -0.4980 --4.2552 get 0.0000 --2.8236 go -1.2064 --4.2552 good 0.0000 --1.6393 h -0.3782 --4.2552 had 0.0000 --3.6045 half -0.5074 --4.2552 hall 0.0000 --4.2552 has 0.0000 --4.2552 have 0.0000 --4.2552 he 0.0000 --2.7413 help -1.2855 --4.2552 her 0.0000 --4.2552 him 0.0000 --4.2552 his 0.0000 --4.2552 how 0.0000 --2.7413 hundred -0.5795 --1.5890 i -0.6658 --4.2552 if 0.0000 --4.2552 in 0.0000 --4.2552 into 0.0000 --4.2552 is 0.0000 --4.2552 it 0.0000 --4.2552 its 0.0000 --2.1279 j -0.2613 --3.6045 january -0.2758 --3.3924 july -0.2731 --3.6045 june -0.2733 --4.2552 just 0.0000 --1.9628 k -0.1576 --4.2552 know 0.0000 --1.6636 l -0.4911 --4.2552 lane 0.0000 --4.2552 like 0.0000 --4.2552 little 0.0000 --4.2552 long 0.0000 --4.2552 look 0.0000 --1.8580 m -0.2644 --4.2552 made 0.0000 --4.2552 make 0.0000 --4.2552 man 0.0000 --4.2552 many 0.0000 --3.3924 march -0.2732 --3.3924 may -0.2712 --4.2552 me 0.0000 --4.2552 memory 0.0000 --4.2552 more 0.0000 --4.2552 most 0.0000 --4.2552 much 0.0000 --4.2552 my 0.0000 --1.5837 n -0.5722 --4.2552 new 0.0000 --1.7617 nine -0.6895 --2.3342 nineteen -1.0404 --2.8236 ninety -0.4156 --3.6045 ninth -0.2710 --2.6126 no -1.4105 --4.2552 not 0.0000 --4.2552 now 0.0000 --1.6078 o -0.4006 --3.3924 october -0.2730 --3.6045 of -0.2708 --1.9691 oh -0.8437 --4.2552 on 0.0000 --1.3635 one -1.0287 --4.2552 only 0.0000 --4.2552 or 0.0000 --4.2552 other 0.0000 --4.2552 our 0.0000 --4.2552 out 0.0000 --4.2552 over 0.0000 --1.8072 p -0.6458 --4.2552 people 0.0000 --2.3342 q -0.2289 --1.4579 r -0.7267 --2.5856 repeat -1.4368 --4.2552 right 0.0000 --2.0376 rubout -0.4147 --1.6276 s -0.6296 --4.2552 said 0.0000 --4.2552 same 0.0000 --3.6045 second -0.5750 --4.2552 see 0.0000 --3.1437 september -0.2710 --1.6513 seven -0.7646 --3.1437 seventeen -0.4225 --4.0358 seventh -0.2740 --2.3973 seventy -0.5985 --4.2552 she 0.0000 --1.5916 six -0.8879 --3.3924 sixteen -0.4454 --4.0358 sixteenth -0.2740 --4.0358 sixth -0.2740 --1.9505 sixty -0.8659 --4.2552 so 0.0000 --4.2552 some 0.0000 --2.7805 start -1.2477 --2.6126 stop -1.4105 --1.4924 t -0.7182 --2.6722 ten -0.4102 --4.2552 than 0.0000 --4.2552 that 0.0000 --4.2552 the 0.0000 --4.2552 their 0.0000 --4.2552 them 0.0000 --4.2552 then 0.0000 --4.2552 there 0.0000 --4.2552 these 0.0000 --4.2552 they 0.0000 --4.2552 think 0.0000 --3.3924 third -0.7511 --3.3924 thirtieth -0.7511 --2.2664 thirty -0.6087 --4.2552 this 0.0000 --2.8715 thousand -0.2257 --1.6829 three -0.7743 --4.2552 through 0.0000 --4.2552 time 0.0000 --4.2552 to 0.0000 --4.2552 too 0.0000 --3.6045 twelfth -0.5750 --2.8715 twelve -0.2186 --4.2552 twelvth 0.0000 --4.0358 twentieth -0.2740 --2.2189 twenty -0.4399 --1.3844 two -1.0920 --1.7777 u -0.3024 --4.2552 up 0.0000 --4.2552 use 0.0000 --4.2552 used 0.0000 --2.0020 v -0.5329 --4.2552 very 0.0000 --1.9505 w -0.2752 --4.2552 was 0.0000 --4.2552 water 0.0000 --4.2552 way 0.0000 --4.2552 we 0.0000 --4.2552 wean 0.0000 --4.2552 were 0.0000 --4.2552 what 0.0000 --4.2552 when 0.0000 --4.2552 where 0.0000 --4.2552 which 0.0000 --4.2552 who 0.0000 --4.2552 will 0.0000 --4.2552 with 0.0000 --4.2552 words 0.0000 --4.2552 would 0.0000 --4.2552 write 0.0000 --2.3058 x -0.0721 --2.0020 y -0.1907 --2.4917 yes -1.5286 --4.2552 you 0.0000 --4.2552 your 0.0000 --2.1561 z -0.0453 --2.2541 zero -0.6791 - -\2-grams: --0.0002 0.1396 --1.8163 a -0.0441 --3.3044 april 0.1391 --3.3044 area 0.1391 --2.4364 august 0.1391 --1.5379 b -0.0040 --1.7601 c -0.0915 --1.9172 d -0.2342 --3.3044 december 0.1391 --1.8163 e -0.1933 --2.1035 eight -0.0464 --3.3044 eighteen 0.1391 --2.8094 eleven -0.0205 --1.0553 enter 0.1391 --1.4653 erase 0.1391 --1.8163 f -0.2428 --3.3044 february -0.0205 --2.1035 fifty -0.0195 --1.7873 five -0.1588 --3.3044 forty -0.0771 --1.4929 four -0.4357 --3.3044 fourteen -0.1136 --1.8163 g -0.2159 --2.0004 go 0.1391 --1.7601 h -0.2980 --1.9172 help 0.1391 --2.4364 i 0.0673 --1.7103 j -0.1375 --2.8094 january 0.1391 --2.5841 july 0.1391 --2.8094 june 0.1391 --2.1035 k -0.2090 --1.9172 l -0.1071 --1.5074 m -0.3768 --2.5841 march 0.1391 --2.8094 may 0.0265 --1.8809 n -0.1430 --2.2388 nine -0.0515 --3.3044 ninth -0.0205 --1.7873 no 0.1391 --2.0489 o -0.2566 --2.5841 october 0.1391 --2.5841 oh -0.1736 --1.0203 one -0.3773 --1.1881 p -0.4921 --2.8094 q -0.1078 --1.8809 r 0.0263 --1.7601 repeat 0.1391 --1.2099 rubout 0.1391 --1.5074 s -0.1932 --2.4364 september 0.0681 --1.9568 seven -0.1139 --1.6874 six -0.1632 --2.8094 sixty -0.0204 --1.9568 start 0.1391 --1.7873 stop 0.1391 --1.9172 t -0.2381 --2.3265 ten -0.0570 --2.4364 thirty 0.1491 --1.7873 three -0.1917 --2.2388 twelve -0.0137 --3.3044 twenty -0.1202 --1.6063 two -0.0704 --2.8094 u -0.1034 --1.9172 v -0.0228 --2.0004 w -0.2105 --2.3265 x -0.1037 --2.5841 y -0.0985 --1.6657 yes 0.1391 --2.4364 z -0.0761 --1.1617 a 1.9394 --1.7818 a a -0.0454 --2.1548 a b -0.1334 --1.2626 a c -0.0837 --1.3459 a d 0.0249 --1.9295 a e -0.2710 --2.1548 a f -0.1026 --1.7818 a g -0.2164 --1.7818 a h -0.2170 --2.1548 a half 0.1391 --1.9295 a i -0.1029 --2.6498 a j -0.1139 --1.9295 a k -0.1280 --1.1928 a l -0.0103 --1.2263 a m -0.2031 --0.9336 a n 0.0496 --2.6498 a ninety -0.0678 --1.9295 a p -0.0987 --0.7151 a r 0.0972 --1.3459 a s -0.0044 --1.9295 a six 0.0930 --1.3459 a t -0.2127 --2.6498 a two -0.0282 --2.1548 a u -0.1248 --1.2626 a v -0.3146 --1.9295 a w -0.0829 --2.6498 a x -0.1165 --1.6719 a y -0.1767 --2.6498 a z -0.1225 --0.7357 and a -0.4349 --0.5103 and eighty -0.1395 --1.2307 and fifty -0.0941 --1.2307 and sixty -0.1217 --1.2307 and twenty -0.0840 --0.3276 apostrophe h -0.0648 --0.3276 april thirtieth 0.6162 --0.3276 area code 0.1391 --0.9296 august sixteenth 0.1391 --0.2093 august twenty -0.2908 --1.2646 b a -0.2427 --2.4031 b b -0.1278 --2.4031 b d -0.1261 --1.0556 b e -0.1867 --2.4031 b eight 0.0370 --2.4031 b five -0.0177 --1.9081 b forty -0.0491 --2.4031 b g -0.1037 --2.4031 b h -0.1355 --2.4031 b i -0.0794 --1.9081 b j -0.1190 --2.4031 b k -0.1277 --2.4031 b l -0.0926 --1.6828 b m -0.0773 --1.4252 b o -0.2726 --2.4031 b one -0.1234 --2.4031 b p -0.1348 --1.0556 b r -0.2973 --1.6828 b s -0.2241 --1.9081 b seven -0.1056 --1.9081 b seventy -0.3946 --2.4031 b six 0.0464 --0.3640 b u -1.2472 --2.4031 b v -0.0906 --2.4031 b w -0.1279 --1.6828 b x -0.1173 --2.4031 b y -0.1268 --2.4031 b z -0.1323 --1.7076 c 2.8144 --1.0641 c a -0.1720 --1.7076 c b -0.0910 --2.2026 c c -0.0438 --2.2026 c d -0.0988 --1.0641 c e -0.1688 --2.2026 c f -0.1201 --1.7076 c five -0.1035 --0.7146 c h 0.0740 --2.2026 c i -0.0794 --2.2026 c j -0.1234 --0.9472 c k -0.1228 --1.4823 c l -0.0752 --2.2026 c m -0.1247 --1.1370 c o -0.2587 --2.2026 c r -0.1119 --2.2026 c s -0.1355 --2.2026 c seven -0.1231 --2.2026 c t -0.1316 --1.7076 c thirty -0.3641 --2.2026 c two -0.0282 --2.2026 c u -0.1350 --2.2026 c v -0.1198 --1.7076 c w -0.1060 --1.7076 c y 0.0352 --1.4823 c z -0.1231 --0.3276 code four -0.0767 --0.6157 d 1.7175 --0.9844 d a -0.3204 --1.8369 d b -0.1069 --1.6116 d d -0.0944 --1.1934 d e -0.2221 --1.8369 d f -0.0803 --2.3319 d forty -0.0771 --2.3319 d h -0.1142 --1.8369 d i -0.0369 --2.3319 d j -0.1234 --1.6116 d k -0.1086 --2.3319 d l -0.0413 --1.8369 d m -0.1273 --2.3319 d n -0.0831 --1.0764 d o 0.0196 --2.3319 d oh -0.0941 --1.8369 d one -0.1210 --2.3319 d p -0.1170 --1.8369 d q -0.1078 --1.0764 d r -0.0372 --1.8369 d s -0.0687 --1.8369 d two -0.0828 --2.3319 d u -0.1267 --2.3319 d v -0.1268 --1.3540 d w -0.2541 --1.6116 d y -0.1409 --2.3319 d z -0.1323 --0.3276 december eighteenth 0.1391 --0.7891 e 1.5027 --1.1795 e a 0.0240 --2.2288 e b -0.1297 --2.2288 e c -0.0404 --1.5853 e d -0.0870 --1.4198 e e 0.0410 --2.2288 e eight -0.1016 --2.0034 e f -0.0843 --2.0034 e four -0.0974 --1.8558 e g -0.0679 --2.7238 e h -0.1325 --1.8558 e i -0.3996 --2.2288 e j -0.4244 --2.7238 e k -0.0665 --1.0644 e l -0.0589 --1.8558 e m -0.1792 --0.9902 e n -0.3668 --2.7238 e o -0.1187 --1.6582 e p -0.2726 --2.7238 e q -0.1151 --0.9123 e r -0.1567 --1.4683 e s -0.1144 --2.7238 e seventy -0.1290 --1.5229 e t -0.5588 --2.7238 e thirty -0.0631 --2.2288 e three -0.0996 --2.7238 e two -0.1176 --2.0034 e u -0.1186 --1.4683 e v -0.3209 --1.2067 e w -0.0889 --2.7238 e x -0.1165 --1.6582 e y -0.4212 --2.2288 e z -0.0971 --0.4817 eight 1.4079 --1.4467 eight eight -0.2006 --1.2083 eight five 0.0619 --2.5123 eight forty -0.1126 --1.0242 eight four -0.1547 --2.5123 eight fourteen 0.0025 --1.7919 eight hundred 0.0621 --1.5344 eight nine -0.0088 --1.4467 eight oh 0.2081 --1.3738 eight one 0.0181 --1.3114 eight seven 0.1760 --2.0173 eight seventy -0.2908 --1.4467 eight six 0.2089 --1.7919 eight sixty 0.0522 --2.5123 eight thirty -0.0915 --2.5123 eight thousand -0.1136 --1.1251 eight three 0.1750 --2.0173 eight twenty -0.0651 --1.2568 eight two -0.1218 --1.6443 eight zero 0.2304 --0.3276 eighteen february -0.0205 --0.3276 eighteenth nineteen -0.1151 --0.3276 eighth nineteen -0.1151 --1.5037 eighty eight 0.0370 --1.5037 eighty fifth -0.0205 --1.5037 eighty five -0.0177 --1.5037 eighty four 0.0168 --0.7833 eighty nine -0.0605 --1.5037 eighty one -0.0418 --1.5037 eighty seven 0.1346 --0.5258 eighty six -0.6525 --1.5037 eighty three 0.0399 --0.9296 eleven 3.1155 --0.9296 eleven nine -0.1350 --0.9296 eleven seventeen 0.0143 --0.9296 eleven sixty -0.0686 --0.3276 eleventh nineteen 0.4093 --1.0509 enter eight 0.0094 --2.2519 enter eighty -0.0587 --2.2519 enter fifteen 0.1590 --1.2739 enter fifty -0.0656 --1.1863 enter five 0.1283 --1.5315 enter forty 0.0252 --1.1863 enter four -0.1387 --2.2519 enter fourteen 0.0025 --1.3839 enter nine 0.1367 --1.5315 enter ninety 0.1158 --1.3839 enter one -0.1162 --0.9964 enter seven -0.0267 --1.3839 enter seventy -0.0109 --1.0509 enter six 0.0946 --1.0509 enter sixty -0.1431 --1.5315 enter thirty -0.0009 --1.7569 enter three 0.0422 --2.2519 enter twenty -0.0964 --1.1863 enter two -0.0958 --2.2519 enter zero 0.1515 --1.8461 erase a -0.1081 --1.8461 erase b -0.1278 --1.3511 erase c -0.0751 --1.3511 erase e -0.1352 --1.8461 erase f -0.1270 --1.3511 erase g 0.1310 --1.3511 erase i -0.1127 --1.3511 erase j -0.1283 --1.8461 erase k -0.1277 --1.8461 erase m -0.1297 --1.8461 erase n -0.1143 --1.1258 erase o -0.2963 --1.3511 erase q -0.0921 --1.8461 erase r -0.1301 --1.3511 erase s -0.1224 --1.8461 erase t -0.1338 --1.1258 erase v -0.1131 --1.3511 erase w -0.1060 --1.8461 erase x -0.1305 --1.8461 erase y -0.1268 --1.8461 erase z -0.1225 --2.1405 f 3.1155 --2.1405 f a -0.0439 --1.6455 f b -0.1108 --2.1405 f d -0.1172 --0.9396 f e 0.0683 --2.1405 f eight 0.0370 --1.4202 f f -0.0991 --1.6455 f five -0.1217 --2.1405 f g -0.1077 --1.6455 f h -0.1251 --1.0020 f i -0.0698 --1.6455 f j -0.1190 --1.6455 f k -0.1051 --1.6455 f m -0.1323 --1.1626 f o -0.2955 --2.1405 f q -0.0996 --1.1626 f r -0.2449 --2.1405 f s -0.1026 --2.1405 f six -0.1356 --1.2725 f t -0.2118 --2.1405 f thirty -0.1051 --2.1405 f twenty -0.1085 --1.4202 f two -0.1793 --2.1405 f v -0.1337 --1.2725 f x -0.0650 --1.6455 f y -0.1165 --2.1405 f z -0.1323 --0.6286 february eighth 0.1391 --0.6286 february nineteen -0.0996 --0.3062 fifteen 2.6383 --1.0266 fifteen nineteen -0.0996 --1.0266 fifteen sixty -0.1090 --0.1336 fifteenth nineteen 0.1083 --0.6286 fifth nineteen 0.4093 --0.6286 fifth s -0.0867 --1.4008 fifty 2.8144 --0.8302 fifty eight -0.2382 --1.0278 fifty five -0.3146 --1.1754 fifty four -0.4603 --1.8958 fifty nine 0.1123 --0.8302 fifty one -0.3351 --1.4008 fifty seven 0.1430 --0.8302 fifty six -0.0943 --1.8958 fifty sixty -0.0960 --1.4008 fifty three 0.0471 --1.0278 fifty two -0.3282 --0.0844 first nineteen -0.0678 --0.6199 five 1.4253 --1.5673 five eight -0.1957 --1.5673 five five 0.2655 --2.6329 five forty -0.0771 --1.5673 five four -0.0330 --2.1379 five hundred 0.2382 --2.6329 five m -0.0234 --1.4944 five nine 0.2952 --1.4320 five oh 0.0832 --1.1449 five one 0.0869 --1.5673 five seven 0.0633 --1.4944 five six 0.0766 --2.6329 five sixteen 0.1556 --2.6329 five t -0.1007 --2.6329 five ten 0.1325 --2.1379 five thirty 0.0082 --1.3775 five three -0.0215 --2.6329 five twenty -0.0840 --0.4762 five two 0.0650 --1.6550 five zero 0.1335 --1.0386 forty eight -0.4402 --0.8910 forty five -0.6198 --1.0386 forty four -0.4603 --1.0386 forty nine -0.0605 --1.2639 forty one -0.3428 --0.8910 forty seven -0.1522 --1.7589 forty six 0.0464 --0.8910 forty three 0.0621 --1.0386 forty two -0.5053 --0.5258 four 1.4165 --2.5477 four and -0.0487 --1.3468 four eight 0.1363 --2.0527 four fifty 0.0154 --1.4092 four five 0.1369 --2.0527 four forty -0.0491 --1.0596 four four 0.0142 --1.6797 four nine 0.1914 --2.5477 four ninety -0.1160 --1.4821 four oh 0.1224 --0.8883 four one -0.3896 --1.2922 four seven 0.0776 --2.5477 four seventy 0.0102 --1.3468 four six 0.0769 --2.0527 four sixty -0.0359 --2.5477 four thirty -0.1182 --1.8274 four thousand -0.0015 --1.5698 four three 0.0442 --2.0527 four twenty -0.0651 --1.0306 four two -0.2101 --2.5477 four zero 0.1515 --0.5615 fourteen 2.6383 --1.2818 fourteen a -0.1059 --1.2818 fourteen eighty -0.1231 --1.2818 fourteen fourteen 0.0025 --0.5615 fourteen sixty 0.0339 --0.3276 fourth nineteen -0.1151 --1.6679 g 2.6383 --1.1328 g a -0.2272 --2.3883 g b -0.1315 --1.8933 g c -0.1314 --1.8933 g d -0.0674 --1.8933 g e -0.1155 --2.3883 g eighty 0.0168 --2.3883 g forty -0.0952 --0.3491 g h -0.8711 --1.1874 g i -0.1169 --1.8933 g j -0.1190 --1.8933 g k -0.1310 --1.1328 g l -0.1393 --1.5203 g n -0.0964 --1.8933 g nine -0.0831 --2.3883 g o -0.1216 --2.3883 g p -0.1305 --2.3883 g q -0.1300 --1.8933 g r -0.0416 --2.3883 g s -0.0867 --2.3883 g seventy -0.0935 --2.3883 g t -0.1252 --1.8933 g two -0.1353 --2.3883 g u -0.1350 --1.8933 g v -0.0794 --1.8933 g w -0.1060 --0.0236 go 2.1155 --0.4392 h 1.3831 --0.8157 h a 0.0143 --1.6269 h b -0.0992 --1.2940 h e -0.0620 --1.7746 h f -0.0280 --2.4949 h fifty -0.0941 --2.4949 h four 0.0168 --1.9999 h g -0.1295 --2.4949 h h -0.1325 --1.4293 h i 0.2045 --1.9999 h k -0.1117 --1.9999 h l 0.0146 --1.6269 h n 0.0062 --2.4949 h nine -0.1231 --1.0714 h o 0.1643 --2.4949 h one -0.0418 --2.4949 h p -0.1305 --2.4949 h q -0.1300 --1.7746 h r -0.2744 --2.4949 h seven -0.1136 --2.4949 h seventy -0.0935 --2.4949 h six 0.0464 --1.7746 h t -0.1423 --2.4949 h three -0.1321 --2.4949 h two -0.0282 --1.9999 h u 0.1760 --2.4949 h w -0.0825 --2.4949 h x -0.1305 --1.7746 h y 0.1059 --2.4949 h z -0.1020 --0.1336 half 2.8144 --0.0196 help 2.0363 --0.9118 hundred 2.8144 --0.3412 hundred and -0.0246 --0.9118 hundred eighty -0.1088 --1.4068 hundred forty -0.0952 --1.4068 hundred twenty -0.0840 --1.5671 i 2.4165 --1.6771 i a -0.1399 --1.8247 i b -0.3021 --1.0881 i c -0.1276 --1.5671 i d -0.0365 --1.2896 i e 0.0491 --1.6771 i f -0.1443 --2.5451 i fifteen 0.1590 --2.0501 i five -0.0049 --2.5451 i four 0.0168 --1.6771 i g 0.0780 --2.0501 i k -0.0557 --1.2411 i l -0.1357 --1.6771 i m -0.1612 --0.9064 i n -0.1132 --2.5451 i o -0.1244 --1.8247 i p -0.1034 --1.8247 i q -0.0845 --1.8247 i r -0.0453 --1.4795 i s -0.1914 --2.5451 i sixty -0.0893 --0.5231 i t -1.0409 --2.5451 i thirty -0.0915 --2.5451 i u 0.1639 --1.4795 i v -0.1173 --2.5451 i y -0.1337 --1.2885 j a -0.2290 --2.0088 j b -0.1278 --1.5138 j c -0.0257 --2.0088 j d -0.1305 --1.0309 j e -0.1323 --2.0088 j five -0.1250 --1.5138 j four -0.1291 --2.0088 j g -0.1351 --1.5138 j h -0.1220 --2.0088 j j -0.1234 --1.5138 j k -0.1247 --2.0088 j l -0.1227 --2.0088 j m -0.1346 --2.0088 j n -0.1330 --0.8703 j o -0.1549 --1.5138 j one 0.1322 --1.5138 j q -0.1078 --2.0088 j s -0.1238 --1.2885 j seven -0.1201 --2.0088 j t -0.1338 --1.5138 j u -0.1248 --1.5138 j v -0.1305 --2.0088 j w -0.1279 --2.0088 j x -0.1305 --1.5138 j z -0.0971 --0.6286 january fifteenth 0.4401 --0.6286 january twelfth 0.4401 --0.8047 july thirtieth 0.6162 --0.8047 july twelfth 0.4401 --0.8047 july twenty -0.0964 --0.6286 june eleventh 0.1391 --0.6286 june twenty -0.1202 --0.8251 k 2.0741 --1.1948 k a -0.4381 --2.1727 k c -0.1283 --2.1727 k d -0.0894 --0.9718 k e 0.0655 --2.1727 k eight -0.1091 --2.1727 k eighty -0.1231 --1.6777 k f -0.1237 --1.6777 k h -0.0632 --1.3047 k i -0.1892 --1.6777 k j -0.1190 --2.1727 k k -0.1340 --1.6777 k l -0.0355 --2.1727 k m -0.1346 --2.1727 k nine 0.1123 --2.1727 k ninety -0.0678 --2.1727 k o -0.1356 --2.1727 k r -0.0951 --1.6777 k s -0.0852 --1.6777 k six -0.1069 --1.4523 k t -0.0821 --2.1727 k three -0.1353 --2.1727 k twenty -0.0840 --1.6777 k two -0.1168 --1.6777 k u -0.1164 --2.1727 k v -0.1337 --1.3047 k w -0.0513 --1.6777 k x -0.0950 --1.6777 k y -0.2705 --1.6777 k z -0.0971 --1.0471 l 2.0015 --1.0136 l a -0.0875 --2.4706 l c -0.1223 --1.1666 l d -0.0373 --0.7042 l e 0.0751 --2.4706 l eight -0.0937 --1.7503 l f -0.0767 --2.4706 l fifty -0.0674 --1.7503 l g -0.2482 --2.4706 l h -0.1265 --1.0834 l i -0.1646 --1.7503 l k -0.0952 --0.9007 l l -0.2108 --1.9756 l m -0.0687 --2.4706 l n -0.1251 --2.4706 l nine -0.1231 --1.4927 l o 0.1498 --1.7503 l r -0.1058 --1.7503 l s -0.0738 --2.4706 l seventy -0.0935 --2.4706 l t -0.1338 --2.4706 l thirty -0.0326 --2.4706 l three -0.1220 --2.4706 l two -0.0282 --1.7503 l u -0.1101 --1.4927 l y -0.1610 --1.9756 l z -0.0971 --2.4706 l zero 0.1515 --1.5566 m 2.6383 --0.6383 m a -0.1068 --1.7820 m b -0.0950 --2.2770 m c -0.0848 --2.2770 m d -0.1305 --1.0760 m e -0.2016 --2.2770 m eight -0.0937 --2.2770 m f -0.1337 --2.2770 m fifty -0.1069 --2.2770 m forty -0.0771 --2.2770 m four -0.1357 --2.2770 m g -0.1313 --1.7820 m h -0.1281 --1.2114 m i -0.0828 --1.7820 m j -0.0997 --2.2770 m k -0.1340 --1.5566 m m -0.0773 --1.5566 m n -0.1005 --0.9294 m o -0.2568 --1.4090 m p -0.2189 --2.2770 m q -0.0996 --1.7820 m s -0.0852 --2.2770 m seven 0.1346 --2.2770 m t -0.1316 --2.2770 m thirty -0.1182 --2.2770 m two -0.0282 --1.5566 m u -0.1186 --1.7820 m v -0.1235 --2.2770 m x -0.1305 --1.7820 m y 0.0352 --0.8047 march third 0.6162 --0.8047 march twentieth 0.1391 --0.8047 march twenty -0.1316 --0.8047 may nineteen -0.1151 --0.8047 may ninth -0.0205 --0.8047 may twenty -0.1316 --0.6490 n 1.5357 --1.2028 n a -0.0576 --1.6823 n b 0.1743 --1.5724 n c -0.0840 --1.1268 n d -0.1512 --0.9333 n e -0.1762 --2.5503 n f -0.0839 --2.5503 n four 0.0168 --1.3494 n g 0.1964 --2.0553 n h -0.0969 --1.2028 n i -0.1479 --2.5503 n j -0.1234 --2.5503 n k -0.0879 --2.0553 n l -0.0769 --2.5503 n m -0.1346 --1.2948 n n 0.0539 --1.6823 n o -0.0559 --1.8300 n p -0.1218 --2.0553 n r 0.0099 --1.5724 n s -0.0058 --2.5503 n seventy 0.0102 --2.5503 n six -0.1222 --1.2948 n t -0.2401 --2.5503 n three -0.1254 --1.5724 n u -0.5100 --2.0553 n x -0.1239 --1.8300 n y -0.1059 --1.8300 n z -0.0921 --0.3598 nine 1.4253 --2.3729 nine and -0.0487 --1.6526 nine eight -0.0812 --2.3729 nine eighty -0.0587 --1.8779 nine fifty -0.0609 --1.2344 nine five 0.3840 --2.3729 nine forty -0.0771 --1.5050 nine four -0.0570 --2.3729 nine hundred -0.0801 --1.5050 nine nine -0.1639 --2.3729 nine nineteen 0.4093 --2.3729 nine of -0.0205 --2.3729 nine oh -0.1275 --1.3950 nine one -0.1918 --1.6526 nine seven -0.1008 --2.3729 nine seventy -0.0747 --1.0690 nine six 0.0099 --2.3729 nine sixty -0.1090 --1.8779 nine thirty -0.1121 --1.3950 nine three -0.1076 --1.8779 nine twenty -0.0651 --1.3950 nine two -0.1562 --2.3729 nine zero 0.1515 --1.3097 nineteen fifty -0.3951 --1.3097 nineteen forty -0.3962 --1.0844 nineteen seventy -0.5321 --0.1453 nineteen sixty 0.0982 --1.8047 nineteen twenty -0.0840 --0.8326 ninety eight 0.0432 --0.8326 ninety five -0.3188 --0.8326 ninety four -0.2842 --1.3276 ninety one -0.0418 --1.3276 ninety seven 0.1346 --0.8326 ninety six -0.2546 --0.6286 ninth of -0.0205 --0.6286 ninth sixty -0.1090 --0.0146 no 1.9113 --1.5483 o 2.4165 --1.3877 o a -0.1954 --2.5262 o apostrophe 0.1391 --1.5483 o b -0.2900 --2.5262 o c -0.0848 --1.2708 o d -0.3051 --2.5262 o e -0.0599 --2.5262 o eight 0.0370 --1.8059 o f -0.0991 --2.5262 o five -0.0177 --2.5262 o forty -0.1293 --2.5262 o four 0.0168 --2.5262 o g -0.1313 --1.6583 o h -0.4231 --2.5262 o j -0.1326 --2.0312 o k -0.1117 --1.3253 o l 0.2718 --1.4606 o m -0.2563 --0.7598 o n -0.0589 --2.5262 o ninety -0.0678 --1.1028 o o -0.2393 --2.0312 o p -0.0914 --2.5262 o q -0.1300 --0.9322 o r -0.1722 --1.5483 o s -0.2752 --2.5262 o sixty -0.1090 --1.4606 o t 0.0539 --2.5262 o two -0.0873 --1.2223 o u 0.2364 --1.2708 o w -0.2724 --2.5262 o x -0.1305 --2.0312 o y -0.2705 --2.5262 o z -0.1124 --0.8047 october first 0.6162 --0.8047 october thirtieth 0.6162 --0.8047 october twenty -0.1202 --0.6286 of september -0.0940 --0.6286 of sixty -0.0960 --1.0279 oh 2.2704 --0.8625 oh eight 0.1169 --1.1008 oh five -0.2836 --1.4461 oh four -0.2544 --1.4461 oh nine 0.1875 --1.6714 oh oh -0.0145 --1.1885 oh one 0.0943 --0.9655 oh seven -0.0758 --0.7793 oh six -0.1106 --1.1885 oh three 0.0697 --0.9655 oh two -0.1031 --0.7063 one 1.3751 --1.5146 one eight 0.2006 --2.7701 one eleven -0.0826 --2.7701 one fifteen 0.1590 --1.9021 one fifty -0.0844 --0.5764 one five -0.2232 --2.7701 one forty -0.0952 --1.5146 one four -0.3013 --2.2751 one hundred 0.2382 --2.7701 one j -0.1139 --1.4225 one nine 0.1474 --2.7701 one ninety -0.0678 --1.3131 one oh 0.2141 --1.6316 one one 0.2336 --1.1531 one seven -0.3805 --2.2751 one seventy -0.0454 --1.6316 one six 0.0146 --2.7701 one sixteen -0.0628 --1.9021 one sixty -0.0287 --2.2751 one ten -0.1686 --2.2751 one thirty -0.3337 --2.2751 one thousand -0.3605 --1.3131 one three -0.5605 --2.2751 one twenty -0.1028 --1.0364 one two 0.1359 --1.7921 one zero -0.0063 --1.4596 p a 0.0236 --2.3276 p b -0.1352 --2.3276 p c -0.1342 --1.8326 p d -0.1241 --1.8326 p e -0.0773 --2.3276 p eight -0.1298 --2.3276 p f -0.1270 --2.3276 p forty -0.0771 --2.3276 p four 0.0168 --1.6072 p g -0.3563 --1.2620 p h -0.0384 --0.3328 p i -1.0856 --1.3497 p l -0.3833 --1.8326 p n -0.0511 --2.3276 p ninety -0.1160 --1.2620 p o -0.0371 --1.6072 p r -0.5765 --1.4596 p s -0.0265 --2.3276 p seventeen 0.0143 --1.6072 p t -0.0821 --2.3276 p three -0.0941 --1.6072 p u -0.1057 --2.3276 p y -0.1198 --1.8047 q c -0.1342 --1.0844 q d -0.1175 --1.3097 q e -0.1174 --1.8047 q f -0.1131 --1.3097 q fifty 0.0154 --1.8047 q five -0.1205 --1.8047 q g -0.1351 --1.8047 q i -0.1277 --1.3097 q k -0.1182 --1.0844 q n -0.1279 --1.8047 q one -0.0418 --1.8047 q p -0.1348 --1.0844 q q -0.0678 --1.8047 q six -0.1194 --1.3097 q t -0.1349 --1.8047 q two -0.1176 --1.8047 q u -0.1184 --1.8047 q w -0.1279 --1.8047 q y -0.1268 --1.8047 q z -0.1323 --1.3283 r 2.0741 --1.2524 r a -0.1534 --1.8079 r b 0.1525 --2.1809 r c -0.3448 --1.4204 r d -0.3243 --0.9778 r e -0.2071 --2.1809 r f -0.0568 --0.6367 r g -0.7058 --2.6759 r h -0.1355 --1.0818 r i -0.3254 --1.3283 r k -0.2100 --1.4204 r l -0.1448 --1.6103 r n -0.0304 --1.0372 r o -0.1758 --2.6759 r one -0.0950 --2.6759 r q -0.1300 --1.5374 r r -0.1269 --1.8079 r s -0.3491 --2.6759 r seven -0.1293 --2.6759 r sixty -0.0893 --1.5374 r t -0.4229 --2.6759 r thirty -0.0326 --2.1809 r u -0.1034 --2.1809 r v -0.1305 --2.1809 r w -0.0793 --1.4750 r y -0.0989 --2.1809 r z -0.0971 --0.0137 repeat 1.8850 --2.0984 rubout a -0.1168 --1.3781 rubout c -0.0296 --2.0984 rubout d -0.1305 --1.6034 rubout e -0.1300 --1.2305 rubout f -0.0808 --1.6034 rubout g -0.1295 --1.3781 rubout h -0.0545 --1.6034 rubout i 0.0273 --1.3781 rubout j -0.1145 --2.0984 rubout l -0.1062 --1.3781 rubout m -0.1148 --1.1205 rubout n -0.1846 --1.2305 rubout o -0.1204 --1.6034 rubout p -0.1056 --1.6034 rubout q -0.0587 --1.3781 rubout r -0.0710 --2.0984 rubout s -0.1238 --1.3781 rubout t -0.1296 --1.1205 rubout u -0.1962 --1.6034 rubout v 0.1500 --1.6034 rubout w -0.1188 --2.0984 rubout x -0.1165 --2.0984 rubout y -0.1337 --1.3781 rubout z -0.0921 --0.9623 s 1.8850 --2.0116 s a -0.1071 --0.5118 s b -1.2322 --2.5066 s c -0.0977 --1.3056 s e -0.0029 --2.0116 s f -0.1306 --1.5286 s h -0.1083 --2.5066 s i -0.1303 --2.5066 s j -0.1139 --1.4410 s k -0.0840 --2.0116 s l -0.0315 --1.7862 s m -0.1633 --2.5066 s n -0.1278 --1.1194 s o -0.4533 --2.0116 s one 0.0001 --1.5286 s p -0.1739 --1.7862 s s -0.1120 --2.5066 s seven -0.1293 --0.9623 s t -0.4633 --2.5066 s thirty -0.0631 --1.7862 s u -0.1144 --1.7862 s v -0.0172 --1.6386 s w 0.0566 --2.5066 s x -0.1165 --2.0116 s z -0.1075 --2.5066 s zero 0.1515 --0.1336 second nineteen 0.1083 --1.0266 september fifteenth 0.4401 --1.0266 september first 0.6162 --1.0266 september nineteen 0.4093 --1.0266 september sixth 0.1391 --1.0266 september twenty -0.1316 --0.3327 seven 1.2894 --1.2820 seven eight 0.0008 --2.4829 seven fifteen -0.0940 --2.4829 seven fifty -0.0941 --1.5050 seven five 0.0337 --1.7626 seven forty -0.2051 --1.6150 seven four 0.0158 --1.9879 seven fourteen 0.0349 --2.4829 seven hundred -0.1195 --2.4829 seven may -0.0628 --1.4173 seven nine -0.2273 --1.4173 seven oh 0.1508 --1.5050 seven one 0.0276 --1.7626 seven seven -0.0153 --2.4829 seven seventeen 0.0143 --2.4829 seven seventy -0.0747 --1.6150 seven six 0.0008 --1.7626 seven sixty 0.0079 --1.9879 seven ten -0.1686 --1.9879 seven thirty -0.0409 --2.4829 seven thousand -0.1136 --1.6150 seven three 0.1170 --1.7626 seven twenty -0.2667 --1.4173 seven two 0.2927 --1.7626 seven zero 0.0376 --0.5316 seventeen 2.8144 --0.5316 seventeen fifty -0.0467 --1.0266 seventeen thirty -0.1182 --0.3276 seventh nineteen 0.4093 --0.7646 seventy 2.4165 --1.7426 seventy eight 0.0370 --1.7426 seventy five -0.0177 --1.0222 seventy nine -0.0534 --0.5416 seventy one -0.9449 --1.0222 seventy seven -0.0272 --1.7426 seventy six -0.1356 --0.8746 seventy two -0.6302 --0.4630 six 1.3596 --0.8262 six eight -0.1836 --2.5424 six eighty -0.1231 --1.4768 six five -0.1319 --2.5424 six forty -0.0771 --1.1949 six four 0.0078 --2.5424 six hundred -0.1195 --1.4768 six nine -0.1052 --1.4768 six oh 0.1657 --1.3415 six one 0.1799 --1.4768 six seven 0.0780 --2.5424 six seventeen -0.0940 --1.2385 six six 0.1304 --2.5424 six sixteen 0.1556 --2.0474 six sixty 0.0039 --2.0474 six thirty -0.0251 --2.5424 six thousand -0.0594 --1.2869 six three 0.1478 --2.5424 six twelve -0.1136 --2.5424 six twenty -0.0840 --1.4039 six two 0.1640 --2.5424 six zero -0.1060 --0.8047 sixteen forty -0.0952 --0.3097 sixteen sixty 0.0039 --0.3276 sixteenth nineteen 0.4093 --0.3276 sixth nineteen 0.4093 --1.0464 sixty 2.2704 --1.2070 sixty eight -0.6620 --2.1849 sixty fifty -0.0941 --1.2070 sixty five -0.7167 --1.1193 sixty four -0.4586 --0.7280 sixty nine -1.0338 --0.9840 sixty one -0.9449 --0.8374 sixty seven -0.5973 --1.4646 sixty six -0.4307 --1.0464 sixty three -0.4868 --1.2070 sixty two -0.4208 --0.0214 start 2.0741 --0.0146 stop 1.9113 --1.1244 t 1.9113 --2.1464 t a -0.0725 --2.6415 t b -0.1352 --1.9211 t d -0.0700 --0.9820 t e -0.0667 --2.6415 t eighty -0.1231 --2.1464 t f -0.1026 --2.6415 t fifty -0.1193 --2.6415 t four -0.0767 --1.9211 t g -0.1199 --1.0972 t h -0.0863 --1.6635 t i -0.2638 --2.6415 t j -0.1326 --2.1464 t k -0.1182 --1.9211 t l -0.2155 --2.1464 t m -0.3244 --2.6415 t n -0.0831 --1.5759 t o -0.0454 --2.6415 t p -0.1348 --2.1464 t q -0.0921 --1.6635 t r -0.4585 --0.6561 t s -1.3285 --2.6415 t seventy -0.0935 --2.6415 t sixty -0.0960 --0.5777 t t -0.7860 --2.6415 t v -0.0752 --2.6415 t w -0.1340 --1.7735 t z -0.7041 --0.3352 ten 2.2704 --1.4737 ten one -0.1314 --1.4737 ten seventy 0.0102 --1.4737 ten sixty -0.0469 --1.4737 ten ten 0.1325 --1.4737 ten thirty -0.0326 --1.4737 ten twelve -0.1136 --1.4737 ten twenty -0.0840 --0.0844 third nineteen 0.2578 --0.0844 thirtieth nineteen -0.0678 --0.8937 thirty 2.4165 --1.1513 thirty eight -0.1285 --0.8061 thirty five -0.4907 --1.3766 thirty nine -0.1887 --0.6707 thirty one -0.2031 --1.3766 thirty seven -0.1664 --1.3766 thirty six -0.2546 --1.8717 thirty sixty -0.1090 --1.3766 thirty three -0.2612 --1.0037 thirty two -0.3239 --0.7868 thousand 2.8144 --0.7868 thousand eight -0.4308 --1.2818 thousand five -0.1337 --1.2818 thousand nine -0.1311 --1.2818 thousand one -0.1346 --1.2818 thousand seven -0.1355 --1.2818 thousand three -0.1353 --0.4758 three 1.4623 --1.3858 three eight -0.1957 --2.4514 three eighty 0.0168 --2.4514 three eleven -0.0826 --1.3129 three five 0.3010 --1.9564 three forty -0.0290 --1.3858 three four 0.0816 --2.4514 three fourteen 0.0025 --2.4514 three hundred 0.1274 --1.5835 three nine 0.0626 --1.4735 three oh 0.1499 --1.3858 three one 0.1985 --1.4735 three seven -0.1723 --2.4514 three seventeen 0.0143 --1.9564 three seventy 0.1301 --1.3858 three six 0.2456 --1.5835 three sixty -0.1495 --2.4514 three thirty -0.1182 --1.2505 three three 0.0615 --2.4514 three twelve -0.1136 --1.7311 three twenty -0.0020 --1.0280 three two -0.3196 --1.5835 three zero 0.2304 --0.1336 twelfth nineteen 0.1083 --1.2818 twelve 3.1155 --1.2818 twelve fifty -0.0674 --1.2818 twelve four -0.1330 --1.2818 twelve nine -0.1350 --1.2818 twelve nineteen 0.4093 --1.2818 twelve sixty -0.0686 --1.2818 twelve ten -0.1220 --0.7868 twelve twenty -0.0906 --0.3276 twentieth nineteen -0.0996 --1.4236 twenty 2.8144 --0.9407 twenty eight -0.1679 --1.9186 twenty fifth -0.0205 --1.9186 twenty first 0.6162 --1.9186 twenty five -0.0177 --1.1983 twenty four -0.1143 --1.9186 twenty fourth 0.1391 --1.0507 twenty nine 0.0011 --1.4236 twenty one -0.0350 --1.4236 twenty second 0.1391 --1.4236 twenty seven 0.1489 --1.9186 twenty seventh 0.1391 --0.9407 twenty six -0.1675 --1.4236 twenty third 0.3152 --0.9407 twenty three -0.3407 --1.4236 twenty two -0.0250 --0.6547 two 1.3446 --1.3620 two eight -0.1562 --2.7492 two eighty -0.0587 --2.7492 two fifteen -0.0940 --2.7492 two fifty -0.1193 --1.3620 two five 0.2380 --1.1793 two four -0.3283 --2.7492 two fourteen 0.0025 --2.7492 two hundred 0.1274 --1.5483 two nine 0.1905 --1.4016 two oh 0.2336 --0.7361 two one 0.0566 --1.4016 two seven 0.1528 --1.0511 two six -0.5335 --2.7492 two sixty -0.0960 --2.7492 two ten 0.1325 --2.0288 two thirty -0.1849 --2.7492 two thousand -0.1136 --1.3620 two three -0.0558 --2.2542 two twenty -0.0518 --0.9672 two two 0.3748 --1.6836 two zero 0.0543 --2.3570 u 3.1155 --1.8620 u a -0.0375 --2.3570 u b -0.1352 --2.3570 u c -0.0848 --2.3570 u d -0.1172 --1.3790 u e -0.4420 --2.3570 u eighty 0.0168 --1.8620 u f -0.1168 --1.8620 u five 0.2337 --1.6366 u four -0.0917 --1.6366 u g -0.0520 --2.3570 u i -0.1303 --1.8620 u j -0.0691 --2.3570 u k -0.0879 --1.6366 u l -0.2421 --1.6366 u m -0.0829 --1.6366 u n -0.0803 --2.3570 u o -0.1100 --2.3570 u one -0.1314 --2.3570 u q -0.1300 --0.3013 u r -0.7683 --1.2914 u s -0.2348 --2.3570 u seven -0.1262 --1.4890 u t -0.0810 --2.3570 u three 0.0399 --2.3570 u two -0.1072 --2.3570 u x -0.1305 --2.3570 u y -0.1337 --0.8783 v a -0.0085 --2.1338 v c -0.1283 --0.4546 v e -0.3818 --2.1338 v f -0.1059 --2.1338 v fifty -0.0941 --0.9953 v i -0.1434 --1.6388 v k -0.0557 --2.1338 v l -0.1354 --1.6388 v m -0.1223 --2.1338 v n -0.1304 --2.1338 v nine 0.1123 --2.1338 v o -0.1012 --2.1338 v p -0.1305 --1.6388 v q -0.4006 --2.1338 v r -0.1340 --2.1338 v s -0.1326 --1.6388 v seven -0.1664 --2.1338 v thirty -0.0775 --2.1338 v w -0.0825 --2.1338 v x -0.1165 --1.4134 v y -0.0985 --2.1338 v z -0.1323 --1.0464 w 2.2704 --0.9294 w a -0.1280 --1.6899 w b 0.1187 --2.1849 w c -0.1342 --2.1849 w d -0.1261 --1.3170 w e -0.1993 --1.6899 w eight -0.2641 --1.6899 w f -0.1237 --2.1849 w five -0.1272 --2.1849 w fourteen -0.1136 --2.1849 w g -0.1037 --1.6899 w h -0.0969 --1.0464 w i -0.2273 --1.4646 w l -0.0823 --1.2070 w n -0.0797 --0.9294 w o -0.4136 --2.1849 w p -0.1348 --2.1849 w q -0.1300 --2.1849 w r -0.0993 --2.1849 w t -0.1007 --2.1849 w twenty -0.0840 --1.6899 w two -0.1320 --2.1849 w w -0.1279 --2.1849 w x -0.1305 --1.4646 w y -0.0910 --1.4646 w z -0.0701 --1.8327 x b -0.1278 --1.3377 x c -0.1134 --1.8327 x e -0.1255 --1.8327 x eight -0.1211 --1.8327 x f -0.0839 --1.8327 x five -0.1337 --1.8327 x four -0.1304 --1.8327 x g -0.1077 --1.8327 x h -0.1265 --1.8327 x i -0.1356 --1.8327 x k -0.1340 --1.8327 x l -0.1354 --1.8327 x n -0.1357 --1.8327 x nine 0.1123 --1.8327 x p 0.1345 --1.8327 x r -0.1340 --1.3377 x s -0.1342 --1.8327 x seventy -0.0747 --1.8327 x three -0.1254 --1.3377 x two -0.1063 --1.8327 x v -0.0906 --1.8327 x w -0.1340 --1.3377 x x -0.1097 --1.3377 x y -0.1235 --1.8327 x z -0.1124 --1.3377 x zero -0.1495 --0.4951 y 1.7932 --2.1338 y a -0.1103 --1.6388 y b -0.0528 --1.4134 y d -0.0848 --2.1338 y e -0.0802 --1.6388 y eight -0.0923 --1.6388 y f -0.1026 --2.1338 y g -0.1236 --1.4134 y h -0.0953 --2.1338 y j -0.0740 --1.1558 y l 0.1823 --2.1338 y m -0.1297 --1.6388 y n -0.0757 --2.1338 y o -0.0829 --1.6388 y one -0.0209 --2.1338 y p -0.1170 --2.1338 y q -0.1151 --2.1338 y r -0.1301 --2.1338 y seven -0.1199 --2.1338 y t -0.1316 --2.1338 y ten -0.1220 --2.1338 y three -0.1254 --1.6388 y u -0.1331 --1.6388 y v -0.0636 --1.6388 y w -0.0653 --2.1338 y y -0.1268 --1.6388 y z -0.1075 --0.0111 yes 1.7932 --1.1128 z 2.5134 --1.1128 z a -0.1138 --1.9808 z c -0.1283 --1.9808 z d -0.1349 --1.2605 z e -0.2573 --1.9808 z eight -0.1211 --1.9808 z f -0.1270 --1.9808 z g -0.1313 --1.9808 z h -0.1355 --1.2605 z i -0.0548 --1.9808 z k -0.1148 --1.9808 z l -0.1354 --1.2605 z nine 0.1959 --1.9808 z ninety -0.0678 --1.2605 z o -0.1189 --1.4858 z r -0.4350 --1.9808 z seven -0.1355 --1.9808 z six -0.0667 --1.4858 z sixty -0.3480 --1.9808 z t -0.1359 --1.9808 z twenty -0.0840 --1.9808 z two -0.0282 --1.9808 z u -0.1309 --1.9808 z w -0.1279 --1.4858 z x -0.1097 --1.4858 z y -0.1305 --1.9808 z z -0.1225 --0.3140 zero 1.8602 --1.8839 zero eight -0.1122 --1.8839 zero five -0.1250 --1.3889 zero four -0.0537 --1.1635 zero one -0.1651 --1.3889 zero seven 0.1668 --0.8183 zero six -0.0126 --1.3889 zero two -0.0055 --1.8839 zero zero -0.0653 - -\3-grams: --1.8219 a --3.5444 april --3.5444 area --2.4618 august --1.5407 b --1.7650 c --1.9244 d --3.5444 december --1.8219 e --2.1148 eight --3.5444 eighteen --2.8724 eleven --1.0559 enter --1.4675 erase --1.8219 f --3.5444 february --2.1148 fifty --1.7925 five --3.5444 forty --1.4953 four --3.5444 fourteen --1.8219 g --2.0093 go --1.7650 h --1.9244 help --2.4618 i --1.7146 j --2.8724 january --2.6203 july --2.8724 june --2.1148 k --1.9244 l --1.5099 m --2.6203 march --2.8724 may --1.8875 n --2.2545 nine --3.5444 ninth --1.7925 no --2.0588 o --2.6203 october --2.6203 oh --1.0208 one --1.1891 p --2.8724 q --1.8875 r --1.7650 repeat --1.2109 rubout --1.5099 s --2.4618 september --1.9648 seven --1.6915 six --2.8724 sixty --1.9648 start --1.7925 stop --1.9244 t --2.3459 ten --2.4618 thirty --1.7925 three --2.2545 twelve --3.5444 twenty --1.6095 two --2.8724 u --1.9244 v --2.0093 w --2.3459 x --2.6203 y --1.6915 yes --2.4618 z --1.7442 a a --1.0722 a g --0.8200 a l --0.8200 a m --1.7442 a r --1.0722 a s --1.7442 a t --1.7442 a v --1.7442 a y --0.5681 april thirtieth --0.5681 area code --1.1701 august sixteenth --0.2460 august twenty --1.3432 b a --0.7253 b e --2.0152 b j --2.0152 b l --1.3432 b o --0.4801 b r --2.0152 b seven --1.0911 b u --2.0152 b v --2.0152 b y --0.8744 c a --0.8744 c e --0.8744 c h --1.7985 c i --1.1265 c l --1.7985 c m --1.1265 c o --1.7985 c r --1.7985 c z --0.5646 d a --1.6472 d e --0.5646 d o --1.6472 d r --1.6472 d s --1.6472 d y --0.5681 december eighteenth --0.5456 e a --1.7442 e d --1.7442 e f --1.0722 e l --1.7442 e m --0.8200 e r --1.7442 e w --1.7442 e z --0.7992 eight eight --1.4712 eight five --1.4712 eight forty --1.4712 eight four --1.4712 eight fourteen --1.4712 eight oh --1.4712 eight two --0.5681 eighteen february --0.8691 eleven nine --0.8691 eleven seventeen --1.0627 enter eight --2.4923 enter eighty --2.4923 enter fifteen --1.2938 enter fifty --1.2024 enter five --1.5682 enter forty --1.2024 enter four --2.4923 enter fourteen --1.4097 enter nine --1.5682 enter ninety --1.4097 enter one --1.0068 enter seven --1.4097 enter seventy --1.0627 enter six --1.0627 enter sixty --1.5682 enter thirty --1.8204 enter three --2.4923 enter twenty --1.2024 enter two --2.4923 enter zero --2.0866 erase a --2.0866 erase b --1.4146 erase c --1.4146 erase e --2.0866 erase f --1.4146 erase g --1.4146 erase i --1.4146 erase j --2.0866 erase k --2.0866 erase m --2.0866 erase n --1.1624 erase o --1.4146 erase q --2.0866 erase r --1.4146 erase s --2.0866 erase t --1.1624 erase v --1.4146 erase w --2.0866 erase x --2.0866 erase y --2.0866 erase z --1.7442 f a --0.6615 f e --0.5456 f i --1.7442 f k --1.7442 f o --1.0722 f r --1.7442 f y --0.5681 february eighth --1.4712 fifty eight --0.7992 fifty one --1.4712 fifty seven --0.5470 fifty six --1.4712 fifty three --1.7722 five five --0.8480 five one --0.8480 five six --1.7722 five sixteen --1.7722 five t --1.7722 five ten --1.7722 five twenty --0.5737 five two --0.5681 forty three --1.3874 four eight --2.0594 four five --0.8609 four four --1.3874 four oh --0.4394 four one --1.3874 four seven --2.0594 four twenty --0.7695 four two --0.5681 fourteen fourteen --1.0722 g a --1.7442 g c --1.7442 g e --0.8200 g i --0.8200 g l --1.7442 g o --1.0722 g r --1.7442 g two --1.7442 g w --0.0329 go --0.6000 h a --1.7985 h b --1.1265 h i --1.7985 h k --0.6000 h o --1.7985 h p --1.7985 h q --1.7985 h z --0.0272 help --1.1701 i d --1.1701 i p --1.1701 i t --1.1701 i v --1.1748 j a --1.8468 j c --0.6483 j e --1.8468 j four --1.8468 j h --0.6483 j o --1.8468 j s --1.8468 j u --1.8468 j v --1.8468 j z --0.8691 january fifteenth --0.8691 january twelfth --1.0452 july thirtieth --1.0452 july twelfth --1.0452 july twenty --0.8691 june eleventh --0.8691 june twenty --0.5470 k a --0.7992 k e --1.4712 k l --1.4712 k u --1.4712 k w --1.6472 l a --0.9753 l e --0.9753 l i --0.9753 l o --0.9753 l r --0.9753 l u --1.6472 l z --0.3542 m a --2.0452 m c --1.3732 m e --2.0452 m f --2.0452 m g --1.1210 m i --2.0452 m m --0.6798 m o --1.0452 march third --1.0452 march twentieth --1.0452 march twenty --0.8691 may ninth --0.8691 may twenty --1.6820 n a --0.3921 n e --1.6820 n g --1.6820 n h --1.6820 n i --1.6820 n l --1.6820 n n --1.6820 n o --1.3462 nine four --1.3462 nine one --1.3462 nine thirty --1.3462 nine three --1.3462 nine twenty --1.3462 nine two --0.5681 ninth of --0.0203 no --0.5981 o a --1.5223 o apostrophe --0.5981 o l --1.5223 o r --1.5223 o u --1.0452 october first --1.0452 october thirtieth --1.0452 october twenty --1.0452 oh seven --0.3732 oh six --2.5271 one eleven --2.5271 one fifty --0.1789 one five --1.8551 one four --2.5271 one hundred --1.8551 one nine --1.4444 one oh --1.8551 one seven --2.5271 one six --2.5271 one sixteen --1.8551 one ten --2.5271 one thirty --1.8551 one thousand --2.5271 one three --1.8551 one twenty --1.3286 one two --1.8551 one zero --1.6885 p a --1.4363 p g --1.6885 p h --0.1366 p i --1.2778 p o --2.3605 p r --1.6885 p t --1.6885 p u --0.8691 q c --0.8691 q e --1.6820 r a --1.6820 r e --1.6820 r g --1.6820 r h --1.0100 r i --0.4835 r o --1.6820 r q --1.6820 r u --0.0191 repeat --2.3389 rubout a --1.4148 rubout c --2.3389 rubout d --1.6669 rubout e --1.2563 rubout f --1.6669 rubout g --1.4148 rubout h --1.6669 rubout i --1.4148 rubout j --2.3389 rubout l --1.4148 rubout m --1.1404 rubout n --1.2563 rubout o --1.6669 rubout p --1.6669 rubout q --1.4148 rubout r --2.3389 rubout s --1.4148 rubout t --1.1404 rubout u --1.6669 rubout v --1.6669 rubout w --2.3389 rubout x --2.3389 rubout y --1.4148 rubout z --1.3732 s a --2.0452 s c --1.1210 s e --2.0452 s f --1.3732 s h --2.0452 s k --2.0452 s l --2.0452 s m --2.0452 s n --2.0452 s o --1.3732 s p --0.6156 s t --1.1210 s u --1.3732 s w --2.0452 s z --1.1701 september fifteenth --1.1701 september first --1.1701 september sixth --1.1701 september twenty --1.6095 seven fifteen --1.6095 seven fifty --1.6095 seven four --1.6095 seven fourteen --1.6095 seven may --1.6095 seven nine --1.6095 seven seventeen --1.6095 seven thirty --0.9375 seven three --1.6095 seven twenty --0.6706 six eight --1.8691 six five --1.8691 six four --1.8691 six seventeen --0.7864 six six --1.8691 six sixteen --1.8691 six thirty --0.9449 six three --1.8691 six twenty --1.8691 six two --1.8691 six zero --0.8691 sixty seven --0.8691 sixty three --0.0298 start --0.0203 stop --0.9753 t a --1.6472 t e --0.7231 t h --0.9753 t i --1.6472 t o --0.9753 t r --1.6472 t v --1.2670 ten one --1.2670 ten seventy --1.2670 ten thirty --1.2670 ten twelve --1.2670 ten twenty --1.1701 thirty --1.1701 thirty one --1.1701 thirty three --1.1701 thirty two --1.7722 three eleven --1.1002 three four --1.7722 three fourteen --0.8480 three oh --1.7722 three one --1.7722 three seventy --1.1002 three six --1.7722 three twelve --1.1002 three twenty --1.1002 three two --1.3462 twelve four --1.3462 twelve nine --1.3462 twelve nineteen --1.3462 twelve ten --0.6742 twelve twenty --0.5681 twenty two --1.9483 two fifteen --1.9483 two five --1.2763 two four --1.9483 two nine --1.2763 two oh --1.2763 two one --1.2763 two seven --0.4131 two six --1.9483 two ten --1.9483 two twenty --1.9483 two two --0.8691 u m --0.8691 u s --0.7231 v a --0.5646 v e --1.6472 v f --1.6472 v k --1.6472 v l --1.6472 v q --1.6472 v w --0.4854 w a --1.5681 w c --1.5681 w e --1.5681 w h --0.8961 w i --1.5681 w r --1.2670 x e --1.2670 x g --1.2670 x h --1.2670 x i --1.2670 x z --1.0452 y d --1.0452 y f --1.0452 y w --0.0154 yes --1.1701 z c --1.1701 z e --1.1701 z eight --1.1701 z i --0.0217 a --1.1701 a a i --1.1701 a a m --1.1701 a a n --1.1701 a a ninety --0.8691 a b h --0.8691 a b w --0.9753 a c a --0.9753 a c e --1.6472 a c f --1.6472 a c five --0.9753 a c k --0.9753 a c o --1.6472 a c u --1.6472 a c y --0.6439 a d --1.5681 a d d --1.5681 a d e --1.5681 a d f --1.5681 a d h --1.5681 a d o --0.8961 a d r --0.3732 a e l --1.0452 a e three --0.8691 a f k --0.8691 a f t --1.1701 a g k --0.4981 a g l --1.1701 a g two --1.1701 a h fifty --1.1701 a h l --0.4981 a h o --0.1971 a half --1.0452 a i fifteen --1.0452 a i l --1.0452 a i q --0.5681 a j seven --1.0452 a k d --1.0452 a k ninety --1.0452 a k o --1.0422 a l d --0.6315 a l e --1.7142 a l h --1.7142 a l i --1.0422 a l l --1.7142 a l m --1.7142 a l t --1.7142 a l u --1.7142 a l z --1.0100 a m e --1.6820 a m j --0.7578 a m p --1.0100 a m s --1.6820 a m seven --1.6820 a m thirty --1.6820 a m two --1.6820 a m x --1.6820 a m y --0.6006 a n --1.9660 a n b --1.9660 a n c --0.7675 a n d --0.8833 a n e --1.9660 a n g --1.9660 a n i --1.9660 a n n --1.2940 a n t --1.9660 a n u --1.9660 a n z --0.5681 a ninety four --1.0452 a p a --1.0452 a p l --1.0452 a p seventeen --2.1809 a r --1.5089 a r a --2.1809 a r b --0.9823 a r d --1.0982 a r e --1.2567 a r g --0.9823 a r k --0.9823 a r l --1.2567 a r n --2.1809 a r o --1.0982 a r r --2.1809 a r s --1.2567 a r t --1.2567 a r y --0.8961 a s --1.5681 a s b --1.5681 a s o --1.5681 a s p --0.3695 a s t --1.0452 a six --1.0452 a six four --1.0452 a six hundred --1.5681 a t --0.8961 a t e --0.8961 a t h --0.3695 a t t --0.5681 a two --0.8691 a u l --0.8691 a u two --0.2819 a v e --0.7231 a v i --1.6472 a v k --1.6472 a v m --1.0452 a w --1.0452 a w f --1.0452 a w t --0.5681 a x x --1.2670 a y b --1.2670 a y e --0.5950 a y l --1.2670 a y n --0.5681 a z x --0.1971 and a half --1.0452 and eighty one --0.3732 and eighty six --0.5681 and fifty two --0.5681 and sixty six --0.5681 and twenty three --0.5681 apostrophe h a --0.5681 april thirtieth nineteen --0.5681 area code four --0.5681 august sixteenth nineteen --1.0452 august twenty fourth --0.3732 august twenty second --1.4132 b a c --1.4132 b a i --1.4132 b a k --0.3305 b a r --0.5681 b b s --0.5681 b d k --0.9375 b e a --1.6095 b e c --1.6095 b e e --1.6095 b e g --1.6095 b e j --0.5268 b e r --1.6095 b e v --0.5681 b eight --0.5681 b five --0.8691 b forty eight --0.8691 b forty nine --0.5681 b g l --0.5681 b h two --0.5681 b i n --0.8691 b j v --0.8691 b j x --0.5681 b k z --0.5681 b l a --1.0452 b m e --1.0452 b m j --1.0452 b m n --0.5950 b o r --0.5950 b o u --1.2670 b o x --0.5681 b one eight --0.5681 b p b --0.9375 b r a --1.6095 b r e --1.6095 b r i --0.3196 b r o --1.6095 b r u --1.0452 b s --0.3732 b s o --0.8691 b seven eight --0.8691 b seven twenty --0.1971 b seventy nine --0.5681 b six --2.2841 b u c --0.0147 b u r --0.5681 b v i --0.5681 b w two --1.0452 b x nine --1.0452 b x r --1.0452 b x three --0.5681 b y v --0.5681 b z six --0.1971 c --0.7412 c a --0.7412 c a l --0.7412 c a r --1.4132 c a v --0.8691 c b e --0.8691 c b j --0.5681 c c h --0.5681 c d o --0.4890 c e --1.4132 c e l --0.7412 c e n --1.4132 c e s --0.5681 c f two --0.8691 c five nine --0.8691 c five three --1.7442 c h --0.4543 c h a --1.7442 c h e --1.7442 c h f --1.7442 c h i --1.0722 c h r --1.0722 c h t --1.7442 c h y --0.5681 c i n --0.5681 c j k --0.5981 c k --1.5223 c k c --1.5223 c k e --1.5223 c k l --0.8503 c k w --1.5223 c k y --1.0452 c l a --1.0452 c l o --1.0452 c l two --0.5681 c m u --1.3462 c o l --0.2636 c o n --1.3462 c o r --0.5681 c r a --0.5681 c s seven --0.5681 c seven one --0.5681 c t l --0.1971 c thirty five --0.5681 c two --0.5681 c u three --0.5681 c v y --0.8691 c w fourteen --0.8691 c w n --0.8691 c y --0.8691 c y r --1.0452 c z d --1.0452 c z t --1.0452 c z twenty --0.5681 code four one --0.0129 d --0.9375 d a --0.9375 d a l --1.6095 d a n --1.6095 d a two --0.4109 d a v --0.8691 d b a --0.8691 d b forty --1.0452 d d j --1.0452 d d o --1.0452 d d oh --0.7412 d e --1.4132 d e four --0.4890 d e r --1.4132 d e u --0.8691 d f o --0.8691 d f t --0.5681 d forty seven --0.5681 d h e --0.8691 d i c --0.8691 d i n --0.5681 d j one --1.0452 d k f --1.0452 d k m --1.0452 d k t --0.5681 d l e --0.8691 d m h --0.8691 d m t --0.5681 d n e --1.5223 d o c --1.5223 d o four --1.5223 d o l --1.5223 d o n --1.5223 d o r --1.5223 d o u --0.5981 d o w --0.5681 d oh --0.8691 d one eight --0.8691 d one seventy --0.5681 d p l --0.8691 d q one --0.8691 d q t --1.5223 d r a --1.5223 d r g --0.4396 d r i --1.5223 d r o --1.5223 d r thirty --1.5223 d r w --0.8691 d s --0.8691 d s k --0.8691 d two nine --0.8691 d two six --0.5681 d u g --0.5681 d v seven --0.5950 d w i --0.5950 d w o --1.2670 d w q --0.3732 d y --1.0452 d y m --0.5681 d z w --0.5681 december eighteenth nineteen --0.0078 e --1.7985 e a --1.1265 e a c --1.1265 e a d --0.8744 e a n --1.7985 e a r --0.7159 e a s --1.7985 e a six --1.7985 e a t --1.1265 e a v --0.8691 e b one --0.8691 e b seventy --0.8691 e c c --0.8691 e c h --1.4132 e d forty --1.4132 e d o --1.4132 e d one --0.7412 e d r --1.4132 e d v --1.4132 e d w --1.5681 e e a --1.5681 e e l --1.5681 e e n --0.8961 e e p --1.5681 e e r --0.8961 e e s --1.5681 e e t --1.5681 e e three --0.8691 e eight nine --0.8691 e eight seven --1.0452 e f f --1.0452 e f r --1.0452 e f v --1.0452 e four ninety --1.0452 e four oh --1.0452 e four seven --1.1701 e g b --1.1701 e g i --1.1701 e g l --1.1701 e g seventy --0.5681 e h u --1.1701 e i d --0.2460 e i l --0.1971 e j q --0.5681 e k --0.7120 e l --1.9105 e l a --0.9863 e l d --1.2385 e l e --1.9105 e l g --1.9105 e l i --0.4809 e l l --1.9105 e l s --0.4981 e m b --1.1701 e m o --1.1701 e m p --0.4974 e n --1.0589 e n d --1.9830 e n f --0.9004 e n n --1.9830 e n o --1.9830 e n s --1.0589 e n t --0.9004 e n u --0.5681 e o a --1.3462 e p c --0.4221 e p h --1.3462 e p t --1.3462 e p y --0.5681 e q fifty --0.6941 e r --1.3874 e r a --2.0594 e r b --1.1353 e r e --2.0594 e r f --0.9768 e r i --1.3874 e r k --1.1353 e r l --2.0594 e r n --1.3874 e r o --2.0594 e r one --1.3874 e r s --1.3874 e r t --0.3238 e s --1.5223 e s b --1.5223 e s f --1.5223 e s m --1.5223 e s p --0.5681 e seventy six --0.2726 e t --0.5470 e t t --0.5681 e thirty five --0.8691 e three five --0.8691 e three seven --0.5681 e two eight --1.0452 e u j --1.0452 e u l --1.0452 e u y --1.5223 e v a --0.1570 e v e --1.5223 e v nine --0.8480 e w --1.7722 e w a --1.7722 e w b --1.7722 e w e --1.1002 e w i --0.6895 e w o --0.8480 e w y --1.7722 e w z --0.5681 e x x --0.1477 e y --1.3462 e y d --0.8691 e z a --0.8691 e z u --0.0063 eight --0.6742 eight eight four --0.6742 eight eight nine --1.3462 eight eight seven --1.3462 eight eight two --0.8961 eight five --1.5681 eight five eight --1.5681 eight five five --1.5681 eight five four --1.5681 eight five nine --1.5681 eight five oh --1.5681 eight five one --0.8961 eight five six --0.5681 eight forty one --0.5456 eight four --0.8200 eight four four --1.0722 eight four one --0.8200 eight four six --1.0722 eight four two --0.5681 eight fourteen sixty --0.3732 eight hundred and --1.0452 eight hundred eighty --0.5950 eight nine --1.2670 eight nine nine --0.5950 eight nine six --1.3462 eight oh --1.3462 eight oh eight --1.3462 eight oh nine --1.3462 eight oh seven --1.3462 eight oh three --1.3462 eight oh two --1.4132 eight one --0.7412 eight one nine --1.4132 eight one oh --1.4132 eight one one --1.4132 eight one seven --1.4132 eight one six --0.5470 eight seven --1.4712 eight seven eight --1.4712 eight seven five --1.4712 eight seven nine --1.4712 eight seven one --1.4712 eight seven zero --0.1971 eight seventy one --0.6742 eight six --1.3462 eight six eight --1.3462 eight six nine --1.3462 eight six one --1.3462 eight six three --1.0452 eight sixty five --1.0452 eight sixty nine --1.0452 eight sixty one --0.5681 eight thirty two --0.5681 eight thousand nine --0.7231 eight three --1.6472 eight three eight --1.6472 eight three five --1.6472 eight three oh --0.9753 eight three one --1.6472 eight three three --1.6472 eight three two --0.9753 eight three zero --0.8691 eight twenty eight --0.8691 eight twenty seven --1.5223 eight two --0.8503 eight two eight --0.8503 eight two four --0.5981 eight two six --1.5223 eight two three --0.4981 eight zero --1.1701 eight zero six --1.1701 eight zero two --0.5681 eighteen february nineteen --0.5681 eighteenth nineteen forty --0.5681 eighth nineteen fifty --0.5681 eighty eight --0.5681 eighty fifth s --0.5681 eighty five --0.5681 eighty four --0.3732 eighty nine --1.0452 eighty nine forty --0.5681 eighty one --0.5681 eighty seven --0.0685 eighty six --0.5681 eighty three --0.5681 eleven --0.5681 eleven nine sixty --0.5681 eleven seventeen fifty --0.5681 eleven sixty seven --0.5681 eleventh nineteen sixty --1.4712 enter eight four --1.4712 enter eight one --1.4712 enter eight seven --1.4712 enter eight seventy --1.4712 enter eight thirty --1.4712 enter eight twenty --1.4712 enter eight two --1.4712 enter eight zero --0.5681 enter eighty nine --0.5681 enter fifteen --1.2670 enter fifty five --0.5950 enter fifty four --1.2670 enter fifty one --1.2670 enter fifty sixty --0.4221 enter five --1.3462 enter five three --1.3462 enter five two --1.3462 enter five zero --1.0452 enter forty one --1.0452 enter forty seven --1.0452 enter forty three --0.6742 enter four --0.6742 enter four fifty --1.3462 enter four thousand --1.3462 enter four twenty --0.5681 enter fourteen --1.1701 enter nine --1.1701 enter nine eight --1.1701 enter nine eighty --1.1701 enter nine seventy --1.0452 enter ninety eight --1.0452 enter ninety five --1.0452 enter ninety four --1.1701 enter one forty --1.1701 enter one nine --1.1701 enter one ninety --1.1701 enter one thirty --0.3238 enter seven --1.5223 enter seven oh --1.5223 enter seven seven --1.5223 enter seven thirty --1.5223 enter seven two --1.1701 enter seventy eight --0.4981 enter seventy one --1.1701 enter seventy two --0.5470 enter six --1.4712 enter six four --1.4712 enter six oh --1.4712 enter six one --1.4712 enter six seven --1.4712 enter six two --0.5470 enter sixty --1.4712 enter sixty four --0.7992 enter sixty one --1.4712 enter sixty six --1.4712 enter sixty two --1.0452 enter thirty eight --1.0452 enter thirty five --1.0452 enter thirty seven --0.8691 enter three --0.8691 enter three eighty --0.5681 enter twenty nine --0.6742 enter two --1.3462 enter two five --0.6742 enter two oh --1.3462 enter two six --0.5681 enter zero --0.5681 erase a l --0.5681 erase b m --0.8691 erase c b --0.8691 erase c k --0.8691 erase e o --0.8691 erase e x --0.5681 erase f h --0.8691 erase g h --0.8691 erase g w --0.8691 erase i g --0.8691 erase i s --0.8691 erase j g --0.8691 erase j n --0.5681 erase k j --0.5681 erase m y --0.5681 erase n t --1.0452 erase o j --0.3732 erase o t --0.8691 erase q e --0.8691 erase q k --0.5681 erase r b --0.8691 erase s s --0.8691 erase s v --0.5681 erase t m --1.0452 erase v r --1.0452 erase v x --1.0452 erase v y --0.8691 erase w e --0.8691 erase w f --0.5681 erase x b --0.5681 erase y b --0.5681 erase z y --0.5681 f --0.5681 f a r --0.8691 f b m --0.8691 f b o --0.5681 f d w --1.4712 f e b --1.4712 f e d --1.4712 f e eight --1.4712 f e g --1.4712 f e i --1.4712 f e l --1.4712 f e n --1.4712 f e r --0.5681 f eight --1.0452 f f --1.0452 f f eight --1.0452 f f r --0.8691 f five forty --0.8691 f five nine --0.5681 f g i --0.8691 f h b --0.8691 f h nine --1.4132 f i e --0.7412 f i f --1.4132 f i five --1.4132 f i l --1.4132 f i n --1.4132 f i y --0.8691 f j d --0.8691 f j k --0.8691 f k a --0.8691 f k v --0.8691 f m fifty --0.8691 f m q --1.2670 f o f --1.2670 f o five --0.3429 f o r --0.5681 f q q --0.5950 f r a --1.2670 f r i --0.5950 f r o --0.5681 f s o --0.5681 f six eighty --0.4981 f t h --1.1701 f t o --1.1701 f t sixty --0.5681 f thirty eight --0.5681 f twenty four --0.3732 f two --1.0452 f two five --0.5681 f v s --1.1701 f x c --1.1701 f x four --1.1701 f x y --1.1701 f x zero --0.8691 f y n --0.8691 f y z --0.5681 f z z --0.5681 february eighth nineteen --0.5681 february nineteen seventy --0.1210 fifteen --0.5681 fifteen nineteen seventy --0.5681 fifteen sixty two --0.1971 fifteenth nineteen sixty --0.5681 fifth nineteen sixty --0.5681 fifth s t --0.1971 fifty --0.2636 fifty eight --1.3462 fifty eight oh --1.3462 fifty eight thousand --0.2460 fifty five --1.1701 fifty five thirty --0.1210 fifty four --0.5681 fifty nine --0.2636 fifty one --1.3462 fifty one fifteen --1.3462 fifty one fifty --0.8691 fifty seven --0.8691 fifty seven fourteen --0.4221 fifty six --1.3462 fifty six oh --1.3462 fifty six sixty --1.3462 fifty six thirty --0.5681 fifty sixty three --0.8691 fifty three --0.8691 fifty three forty --0.2460 fifty two --1.1701 fifty two fifty --0.1210 first nineteen sixty --0.0065 five --0.2636 five eight --1.3462 five eight five --1.3462 five eight oh --0.6742 five five --1.3462 five five eight --1.3462 five five five --1.3462 five five three --1.3462 five five two --0.5681 five forty five --0.6742 five four --1.3462 five four five --0.6742 five four six --1.3462 five four two --0.8691 five hundred and --0.8691 five hundred eighty --0.5681 five m a --0.7412 five nine --1.4132 five nine five --1.4132 five nine one --1.4132 five nine seven --1.4132 five nine six --1.4132 five nine two --0.7992 five oh --1.4712 five oh five --0.7992 five oh four --1.4712 five oh one --1.4712 five oh seven --1.4712 five oh six --0.8200 five one --1.7442 five one eight --1.7442 five one five --0.8200 five one four --1.7442 five one nine --1.7442 five one oh --0.8200 five one one --1.0722 five one three --0.6742 five seven --0.6742 five seven eight --1.3462 five seven oh --1.3462 five seven six --1.4132 five six --0.7412 five six four --0.7412 five six one --1.4132 five six six --1.4132 five six three --0.5681 five sixteen sixty --0.5681 five t h --0.5681 five ten --0.8691 five thirty --0.8691 five thirty five --1.5223 five three --1.5223 five three five --0.5981 five three four --0.5981 five three three --1.5223 five three two --0.5681 five twenty six --1.3179 five two --2.4006 five two eight --2.4006 five two five --1.4764 five two four --1.3179 five two oh --0.3105 five two one --1.7286 five two seven --2.4006 five two six --1.0352 five two three --0.9150 five two two --1.7286 five two zero --0.5950 five zero --0.5950 five zero four --1.2670 five zero six --0.1210 forty eight --0.0875 forty five --0.1210 forty four --0.3732 forty nine --1.0452 forty nine hundred --0.1971 forty one --0.2460 forty seven --1.1701 forty seven forty --0.5681 forty six --1.1701 forty three --1.1701 forty three forty --1.1701 forty three seventeen --1.1701 forty three twenty --0.1210 forty two --0.0064 four --0.5681 four and a --1.4712 four eight --1.4712 four eight five --0.7992 four eight four --1.4712 four eight six --0.7992 four eight two --1.4712 four eight zero --0.8691 four fifty one --0.8691 four fifty six --1.4132 four five eight --1.4132 four five nine --1.4132 four five oh --0.7412 four five one --1.4132 four five three --1.4132 four five two --0.8691 four forty nine --0.8691 four forty two --0.4543 four four --1.7442 four four eight --1.0722 four four four --1.7442 four four oh --1.0722 four four one --1.0722 four four seven --1.7442 four four three --1.1701 four nine --1.1701 four nine five --1.1701 four nine nine --1.1701 four nine zero --0.5681 four ninety one --1.3462 four oh eight --1.3462 four oh one --1.3462 four oh six --0.6742 four oh three --1.3462 four oh two --0.9863 four one --1.9105 four one eight --1.2385 four one oh --1.9105 four one one --1.9105 four one six --0.2536 four one two --1.9105 four one zero --0.5981 four seven --1.5223 four seven five --1.5223 four seven four --1.5223 four seven sixty --1.5223 four seven twenty --0.8503 four seven two --0.5681 four seventy one --0.7992 four six --1.4712 four six five --1.4712 four six four --1.4712 four six nine --1.4712 four six oh --0.7992 four six seven --0.8691 four sixty eight --0.8691 four sixty seven --0.5681 four thirty three --1.0452 four thousand eight --1.0452 four thousand seven --1.0452 four thousand three --0.5950 four three --1.2670 four three eight --1.2670 four three six --1.2670 four three three --0.8691 four twenty eight --0.8691 four twenty one --0.8480 four two --1.7722 four two nine --0.6895 four two one --1.7722 four two six --0.4068 four two two --0.5681 four zero --0.1210 fourteen --0.5681 fourteen a --0.5681 fourteen eighty five --0.5681 fourteen fourteen --1.0452 fourteen sixty four --1.0452 fourteen sixty one --1.0452 fourteen sixty seven --0.5681 fourth nineteen fifty --0.1210 g --1.5223 g a b --1.5223 g a m --0.4396 g a r --0.8503 g a six --1.5223 g a t --0.5681 g b forty --0.8691 g c d --0.8691 g c s --0.8691 g d e --0.8691 g d r --0.8691 g e e --0.8691 g e four --0.5681 g eighty six --0.5681 g forty eight --0.0507 g h --2.2841 g h l --1.6121 g h o --2.2841 g h t --2.2841 g h x --0.5470 g i b --1.4712 g i c --1.4712 g i e --1.4712 g i k --1.4712 g i n --1.4712 g i u --0.8691 g j h --0.8691 g j w --0.8691 g k eighty --0.8691 g k k --1.5223 g l a --0.4396 g l e --0.8503 g l g --1.5223 g l l --1.5223 g l seventy --1.1701 g n m --1.1701 g n n --1.1701 g n o --1.1701 g n p --0.8691 g nine nine --0.8691 g nine six --0.5681 g o t --0.5681 g p d --0.5681 g q y --0.8691 g r e --0.8691 g r o --0.5681 g s --0.5681 g seventy nine --0.5681 g t o --0.8691 g two eighty --0.8691 g two hundred --0.5681 g u k --0.8691 g v i --0.8691 g v seven --0.8691 g w d --0.8691 g w n --0.0329 go --0.0059 h --1.9298 h a c --1.9298 h a d --1.2578 h a e --1.9298 h a h --1.9298 h a m --1.0056 h a n --0.5644 h a r --1.9298 h a s --1.2578 h a v --1.2578 h a w --1.9298 h a x --1.9298 h a y --1.1701 h b a --1.1701 h b g --1.1701 h b k --1.1701 h b x --0.7992 h e a --1.4712 h e i --1.4712 h e n --1.4712 h e q --1.4712 h e r --0.7992 h e w --1.0452 h f d --1.0452 h f e --1.0452 h f i --0.5681 h fifty two --0.5681 h four --0.8691 h g p --0.8691 h g v --0.5681 h h u --1.3462 h i --1.3462 h i g --1.3462 h i l --1.3462 h i n --1.3462 h i r --1.3462 h i t --0.8691 h k j --0.8691 h k t --0.8691 h l a --0.8691 h l e --1.1701 h n --1.1701 h n c --1.1701 h n k --1.1701 h n s --0.5681 h nine four --1.0100 h o b --1.6820 h o e --1.6820 h o f --1.6820 h o l --1.6820 h o m --1.6820 h o n --1.6820 h o r --1.6820 h o t --1.0100 h o u --1.6820 h o w --1.6820 h o y --0.5681 h one --0.5681 h p d --0.5681 h q f --0.3732 h r i --1.0452 h r sixty --0.5681 h seven eight --0.5681 h seventy seven --0.5681 h six --0.3732 h t e --1.0452 h t s --0.5681 h three seventy --0.5681 h two --0.8691 h u f --0.8691 h u r --0.5681 h w o --0.5681 h x w --1.0452 h y --1.0452 h y d --1.0452 h y l --0.5681 h z a --0.1971 half --0.0272 help --0.1971 hundred --0.4221 hundred and eighty --1.3462 hundred and fifty --1.3462 hundred and sixty --1.3462 hundred and twenty --0.8691 hundred eighty seven --0.8691 hundred eighty three --0.5681 hundred forty nine --0.5681 hundred twenty three --0.0685 i --0.4981 i a --1.1701 i a m --1.1701 i a n --1.0452 i b b --0.3732 i b s --1.0422 i c --1.7142 i c a --1.7142 i c five --0.4243 i c h --1.0422 i c k --1.7142 i c o --1.7142 i c two --0.5950 i d --1.2670 i d e --1.2670 i d m --1.2670 i d w --0.8503 i e --0.8503 i e l --1.5223 i e n --0.8503 i e r --1.5223 i e t --1.5223 i e w --1.1701 i f e --1.1701 i f r --0.4981 i f t --0.5681 i fifteen --0.8691 i five --0.8691 i five zero --0.5681 i four --0.4981 i g h --1.1701 i g i --1.1701 i g n --0.8691 i k --0.8691 i k two --0.8961 i l --1.5681 i l a --1.5681 i l d --1.5681 i l k --0.4854 i l l --1.5681 i l zero --1.1701 i m i --1.1701 i m m --0.4981 i m o --0.8076 i n --1.8903 i n a --1.2183 i n c --0.8076 i n d --1.8903 i n e --0.6918 i n g --1.2183 i n i --1.2183 i n s --0.5681 i o --1.0452 i p a --1.0452 i p s --1.0452 i p three --1.0452 i q g --1.0452 i q n --1.0452 i q w --1.0452 i r d --1.0452 i r e --1.0452 i r k --0.4221 i s --1.3462 i s l --1.3462 i s s --1.3462 i s t --0.5681 i sixty one --2.2670 i t d --1.5950 i t h --2.2670 i t n --0.0432 i t t --0.5681 i thirty two --0.5681 i u r --1.3462 i v a --0.2636 i v e --1.3462 i v y --0.5681 i y q --0.3732 j a m --1.0452 j a n --0.5681 j b x --0.8691 j c h --0.8691 j c l --0.5681 j d two --0.5950 j e a --1.2670 j e f --1.2670 j e n --1.2670 j e t --0.5681 j five seven --0.8691 j four thirty --0.8691 j four thousand --0.5681 j g q --0.8691 j h b --0.8691 j h g --0.5681 j j c --0.8691 j k eight --0.8691 j k two --0.5681 j l y --0.5681 j m k --0.5681 j n r --1.4132 j o --0.7412 j o h --1.4132 j o n --1.4132 j o ninety --0.7412 j o s --0.8691 j one --0.8691 j one five --0.8691 j q five --0.8691 j q t --0.5681 j s p --1.0452 j seven four --1.0452 j seven ten --1.0452 j seven thousand --0.5681 j t k --0.8691 j u i --0.8691 j u l --0.8691 j v c --0.8691 j v p --0.5681 j w b --0.5681 j x k --0.8691 j z a --0.8691 j z f --0.5681 january fifteenth nineteen --0.5681 january twelfth nineteen --0.5681 july thirtieth nineteen --0.5681 july twelfth nineteen --0.5681 july twenty nine --0.5681 june eleventh nineteen --0.5681 june twenty third --0.0298 k --0.1844 k a r --1.2670 k a u --0.5681 k c w --0.5681 k d a --1.4712 k e a --0.7992 k e e --1.4712 k e l --1.4712 k e n --1.4712 k e r --1.4712 k e thirty --1.4712 k e v --0.5681 k eight five --0.5681 k eighty four --0.8691 k f five --0.8691 k f six --0.8691 k h a --0.8691 k h one --1.1701 k i --1.1701 k i four --0.4981 k i n --0.8691 k j five --0.8691 k j z --0.5681 k k three --0.8691 k l e --0.8691 k l m --0.5681 k m four --0.5681 k nine --0.5681 k ninety six --0.5681 k o eight --0.5681 k r o --0.8691 k s --0.8691 k s thirty --0.8691 k six four --0.8691 k six thousand --1.0452 k t e --1.0452 k t fifty --1.0452 k t l --0.5681 k three thirty --0.5681 k twenty three --0.8691 k two eight --0.8691 k two sixty --0.8691 k u four --0.8691 k u n --0.5681 k v thirty --1.1701 k w h --1.1701 k w o --1.1701 k w w --1.1701 k w z --0.8691 k x y --0.8691 k x zero --0.1971 k y --0.8691 k z o --0.8691 k z sixty --0.0251 l --1.0422 l a --1.7142 l a a --0.6315 l a c --1.7142 l a m --0.6315 l a n --1.7142 l a r --1.7142 l a s --0.5681 l c z --0.3695 l d --1.5681 l d a --1.5681 l d b --1.5681 l d e --1.5681 l d i --1.5681 l d r --0.5296 l e --2.0152 l e a --2.0152 l e d --2.0152 l e e --2.0152 l e four --1.3432 l e n --2.0152 l e r --1.3432 l e s --2.0152 l e seventy --2.0152 l e two --2.0152 l e u --2.0152 l e v --1.3432 l e w --0.9326 l e y --0.5681 l eight four --1.0452 l f o --1.0452 l f thirty --1.0452 l f x --0.5681 l fifty one --0.3732 l g a --1.0452 l g i --0.5681 l h n --1.6472 l i a --0.7231 l i e --1.6472 l i f --1.6472 l i g --0.7231 l i n --1.6472 l i o --1.6472 l i p --1.6472 l i s --1.0452 l k f --1.0452 l k h --1.0452 l k i --0.6248 l l --0.8992 l l e --0.7407 l l i --1.8233 l l k --1.8233 l l nine --1.8233 l l o --1.8233 l l s --1.1513 l l y --0.8691 l m o --0.8691 l m u --0.5681 l n s --0.5681 l nine four --1.2670 l o n --1.2670 l o o --1.2670 l o r --1.2670 l o u --1.2670 l o w --1.0452 l r l --1.0452 l r r --1.0452 l r seven --1.0452 l s k --1.0452 l s o --1.0452 l s w --0.5681 l seventy seven --0.5681 l t m --0.5681 l thirty one --0.5681 l three seven --0.5681 l two --1.0452 l u b --1.0452 l u d --1.0452 l u s --0.3429 l y --1.2670 l y u --1.2670 l y z --0.8691 l z e --0.8691 l z r --0.5681 l zero --0.1210 m --1.8903 m a c --1.8903 m a h --1.8903 m a l --1.2183 m a n --1.8903 m a p --0.4047 m a r --1.2183 m a s --1.2183 m a t --1.8903 m a u --1.8903 m a z --0.8691 m b e --0.8691 m b z --0.5681 m c k --0.5681 m d m --1.4712 m e a --1.4712 m e e --1.4712 m e m --0.5470 m e r --0.7992 m e s --0.5681 m eight four --0.5681 m f g --0.5681 m fifty four --0.5681 m forty three --0.5681 m four seventy --0.5681 m g e --0.8691 m h r --0.8691 m h seven --0.6742 m i c --1.3462 m i d --0.6742 m i t --1.3462 m i thirty --0.8691 m j one --0.8691 m j seven --0.5681 m k nine --1.0452 m m --1.0452 m m e --1.0452 m m v --1.0452 m n t --1.0452 m n y --1.0452 m n z --1.6095 m o d --1.6095 m o h --0.9375 m o n --0.3196 m o r --1.6095 m o t --1.1701 m p e --1.1701 m p l --0.4981 m p s --0.5681 m q n --0.8691 m s --0.8691 m s j --0.5681 m seven --0.5681 m t g --0.5681 m thirty nine --0.5681 m two --1.0452 m u --1.0452 m u five --1.0452 m u four --0.8691 m v o --0.8691 m v q --0.5681 m x seventy --0.8691 m y --0.8691 m y a --0.5681 march third nineteen --0.5681 march twentieth nineteen --0.5681 march twenty fifth --0.5681 may nineteen forty --0.5681 may ninth sixty --0.5681 may twenty first --0.0084 n --0.6853 n a --1.6095 n a a --1.6095 n a f --1.6095 n a g --1.6095 n a l --1.6095 n a m --1.6095 n a n --0.9375 n a t --1.1701 n b a --1.1701 n b five --1.1701 n b u --1.1701 n b x --0.5950 n c e --1.2670 n c k --1.2670 n c o --1.2670 n c thirty --0.7578 n d --0.5993 n d a --1.0100 n d e --1.6820 n d l --1.6820 n d r --1.0100 n d y --0.6706 n e --1.8691 n e d --1.1971 n e g --1.8691 n e h --1.8691 n e i --0.9449 n e l --1.8691 n e s --1.8691 n e t --0.9449 n e w --1.1971 n e y --0.5681 n f e --0.5681 n four --1.4712 n g --0.7992 n g h --1.4712 n g l --1.4712 n g n --1.4712 n g s --1.4712 n g t --1.4712 n g v --0.8691 n h o --0.8691 n h three --0.9375 n i --0.9375 n i a --0.6853 n i c --1.6095 n i e --1.6095 n i f --1.6095 n i m --1.6095 n i n --0.5681 n j four --0.5681 n k e --0.8691 n l l --0.8691 n l n --0.5681 n m forty --0.8503 n n --1.5223 n n a --1.5223 n n e --0.8503 n n i --1.5223 n n p --1.5223 n n three --1.5223 n n y --1.1701 n o --1.1701 n o o --1.1701 n o p --1.1701 n o w --1.0452 n p eight --1.0452 n p ninety --1.0452 n p u --0.8691 n r a --0.8691 n r g --1.2670 n s --1.2670 n s h --1.2670 n s k --1.2670 n s o --1.2670 n s one --0.5681 n seventy one --0.5681 n six seven --1.5223 n t --1.5223 n t d --1.5223 n t four --1.5223 n t o --0.8503 n t r --0.5981 n t z --0.5681 n three nine --1.2670 n u a --0.1844 n u e --0.8691 n x f --0.8691 n x v --1.0452 n y h --1.0452 n y ten --1.0452 n y v --1.0452 n z i --1.0452 n z l --1.0452 n z x --0.0065 nine --0.5681 nine and a --1.0452 nine eight eight --1.0452 nine eight nine --1.0452 nine eight two --0.5681 nine eighty nine --0.8691 nine fifty eight --0.8691 nine fifty nine --1.4132 nine five --1.4132 nine five four --1.4132 nine five nine --1.4132 nine five oh --1.4132 nine five one --0.7412 nine five two --0.5681 nine forty three --0.4981 nine four --1.1701 nine four oh --1.1701 nine four six --0.5681 nine hundred --0.2460 nine nine --1.1701 nine nine four --0.5681 nine nineteen sixty --0.5681 nine of sixty --0.5681 nine oh oh --0.3429 nine one --1.2670 nine one four --1.2670 nine one two --1.0452 nine seven six --1.0452 nine seven two --1.0452 nine seven zero --0.5681 nine seventy two --0.4854 nine six --1.5681 nine six four --1.5681 nine six nine --1.5681 nine six seven --0.8961 nine six six --1.5681 nine six two --0.5681 nine sixty eight --0.8691 nine thirty nine --0.8691 nine thirty sixty --0.5950 nine three --0.5950 nine three five --1.2670 nine three three --0.8691 nine twenty --0.8691 nine twenty three --0.5950 nine two --1.2670 nine two three --0.5950 nine two two --0.5681 nine zero --0.1971 nineteen fifty two --0.1971 nineteen forty four --0.1210 nineteen seventy --1.9105 nineteen sixty --0.9863 nineteen sixty five --1.9105 nineteen sixty four --0.4809 nineteen sixty nine --1.2385 nineteen sixty one --0.7120 nineteen sixty seven --1.9105 nineteen sixty six --1.9105 nineteen sixty three --0.5681 nineteen twenty eight --0.8691 ninety eight --0.8691 ninety eight twenty --0.1971 ninety five --0.1971 ninety four --0.5681 ninety one --0.5681 ninety seven --0.1971 ninety six --0.5681 ninth of september --0.5681 ninth sixty two --0.0203 no --0.0685 o --1.4132 o a c --0.4890 o a d --1.4132 o a k --1.4132 o a m --1.4132 o a w --0.5681 o apostrophe h --0.5950 o b a --0.5950 o b e --1.2670 o b eight --0.5681 o c k --0.2324 o d --1.5223 o d o --1.5223 o d s --1.5223 o d u --0.5681 o e --0.5681 o eight --1.0452 o f b --1.0452 o f f --1.0452 o f h --0.5681 o five --0.5681 o forty six --0.5681 o four --0.5681 o g d --1.1701 o h g --0.2460 o h n --0.5681 o j t --0.8691 o k h --0.8691 o k t --1.4712 o l a --1.4712 o l d --1.4712 o l e --1.4712 o l eight --1.4712 o l i --1.4712 o l k --1.4712 o l l --1.4712 o l s --0.6742 o m --0.6742 o m a --0.6742 o m e --0.3952 o n --0.9326 o n a --2.0152 o n b --2.0152 o n c --2.0152 o n e --2.0152 o n g --0.9326 o n i --2.0152 o n j --2.0152 o n n --2.0152 o n t --2.0152 o n x --0.5681 o ninety five --1.6820 o o b --0.3167 o o d --1.6820 o o f --1.6820 o o forty --1.6820 o o k --1.6820 o o m --1.6820 o o n --0.8691 o p h --0.8691 o p l --0.5681 o q i --0.9227 o r --1.8468 o r c --0.9227 o r d --0.6483 o r e --1.8468 o r k --1.8468 o r n --1.8468 o r o --1.1748 o r t --1.8468 o r w --1.8468 o r y --0.3429 o s e --1.2670 o s s --1.2670 o s t --0.5681 o sixty two --1.3462 o t e --1.3462 o t f --0.6742 o t h --1.3462 o t q --1.3462 o t t --0.5681 o two two --1.5681 o u eighty --1.5681 o u four --1.5681 o u g --1.5681 o u n --1.5681 o u q --1.5681 o u r --0.8961 o u s --0.8961 o u t --0.5981 o w --1.5223 o w e --1.5223 o w g --1.5223 o w l --0.5981 o w n --0.5681 o x eight --0.1971 o y --0.5681 o z e --0.5681 october first nineteen --0.5681 october thirtieth nineteen --0.5681 october twenty third --0.5681 of september nineteen --0.5681 of sixty --0.0478 oh --0.4854 oh eight --1.5681 oh eight five --1.5681 oh eight nine --1.5681 oh eight oh --1.5681 oh eight one --1.5681 oh eight six --1.5681 oh eight three --0.2636 oh five --1.3462 oh five four --1.3462 oh five nine --1.0452 oh four five --0.3732 oh four four --1.0452 oh nine --1.0452 oh nine and --1.0452 oh nine six --0.8691 oh oh eight --0.8691 oh oh two --0.5950 oh one --1.2670 oh one five --1.2670 oh one four --1.2670 oh one nine --0.2726 oh seven --1.4712 oh seven nine --1.4712 oh seven oh --1.4712 oh seven six --0.3573 oh six --1.6472 oh six five --0.9753 oh six nine --1.6472 oh six oh --1.6472 oh six seven --1.6472 oh six three --0.5950 oh three --1.2670 oh three eight --1.2670 oh three seven --1.2670 oh three two --0.3885 oh two --1.4712 oh two eight --1.4712 oh two nine --1.4712 oh two seven --1.4712 oh two six --0.0058 one --0.5981 one eight --1.5223 one eight eight --1.5223 one eight four --1.5223 one eight one --1.5223 one eight seven --1.5223 one eight six --1.5223 one eight two --0.5681 one eleven --0.5681 one fifteen --1.1701 one fifty --0.4981 one fifty eight --1.1701 one fifty six --1.3546 one five --1.7653 one five five --2.4373 one five four --2.4373 one five m --1.5131 one five oh --1.1474 one five one --1.7653 one five six --1.3546 one five three --0.1766 one five two --2.4373 one five zero --0.5681 one forty two --0.8503 one four eight --0.8503 one four nine --0.8503 one four seven --1.5223 one four six --0.8503 one four three --0.8691 one hundred --0.8691 one hundred and --0.5681 one j a --0.9375 one nine --1.6095 one nine eight --0.9375 one nine five --1.6095 one nine oh --1.6095 one nine seven --0.6853 one nine six --1.6095 one nine three --0.5681 one ninety six --1.7142 one oh --1.7142 one oh five --1.7142 one oh four --1.7142 one oh nine --1.7142 one oh oh --1.7142 one oh one --0.7900 one oh seven --1.0422 one oh six --0.7900 one oh two --1.4132 one one --1.4132 one one eight --0.7412 one one five --1.4132 one one seven --1.4132 one one six --1.4132 one one three --0.1172 one seven --1.8691 one seven forty --1.8691 one seven seven --1.8691 one seven three --1.8691 one seven two --0.8691 one seventy --0.8691 one seventy five --0.4890 one six --1.4132 one six nine --1.4132 one six oh --1.4132 one six one --1.4132 one six two --0.5681 one sixteen forty --1.1701 one sixty eight --1.1701 one sixty fifty --1.1701 one sixty three --1.1701 one sixty two --0.1971 one ten --0.1971 one thirty one --0.1971 one thousand --0.1345 one three --1.7142 one three six --1.0422 one three three --0.8691 one twenty --0.8691 one twenty two --1.0589 one two --1.3110 one two eight --0.6931 one two five --0.7845 one two four --1.9830 one two one --1.9830 one two seven --1.0589 one two six --0.9004 one two two --1.9830 one two zero --1.2670 one zero eight --1.2670 one zero five --1.2670 one zero one --1.2670 one zero six --1.2670 one zero zero --1.1701 p a c --1.1701 p a h --1.1701 p a r --1.1701 p a t --0.5681 p b six --0.5681 p c seven --0.8691 p d f --0.8691 p d two --0.8691 p e eight --0.8691 p e r --0.5681 p eight hundred --0.5681 p f j --0.5681 p forty five --0.5681 p four --0.1210 p g h --0.6742 p h --0.6742 p h e --1.3462 p h i --1.3462 p h y --2.2402 p i five --2.2402 p i n --0.0260 p i t --0.5950 p l a --0.3429 p l e --0.8691 p n a --0.8691 p n e --0.5681 p ninety seven --1.3462 p o l --0.6742 p o m --1.3462 p o o --1.3462 p o r --1.3462 p o u --0.1210 p r i --1.1701 p s --1.1701 p s h --1.1701 p s o --1.1701 p s z --0.5681 p seventeen --1.0452 p t e --1.0452 p t k --1.0452 p t q --0.5681 p three two --1.0452 p u five --1.0452 p u s --1.0452 p u x --0.5681 p y h --0.5681 q c j --1.0452 q d b --1.0452 q d one --1.0452 q d q --0.8691 q e e --0.8691 q e j --0.5681 q f x --0.8691 q fifty eight --0.8691 q fifty six --0.5681 q five oh --0.5681 q g eighty --0.5681 q i m --0.8691 q k six --0.8691 q k x --1.0452 q n h --1.0452 q n r --1.0452 q n seventy --0.5681 q one --0.5681 q p forty --1.0452 q q k --1.0452 q q p --1.0452 q q q --0.5681 q six two --0.8691 q t seventy --0.8691 q t w --0.5681 q two eight --0.5681 q u e --0.5681 q w eight --0.5681 q y eight --0.5681 q z h --0.0298 r --1.6820 r a --1.6820 r a c --1.0100 r a d --1.6820 r a f --1.6820 r a j --0.4835 r a n --1.6820 r a p --1.6820 r a v --1.1701 r b d --1.1701 r b o --1.1701 r b seven --1.1701 r b u --0.1971 r c h --0.2324 r d --1.5223 r d d --1.5223 r d p --1.5223 r d w --0.8656 r e --1.2763 r e a --1.2763 r e e --1.9483 r e f --1.9483 r e k --1.2763 r e l --0.8656 r e n --1.0241 r e t --0.7497 r e w --0.8691 r f i --0.8691 r f o --1.6121 r g --1.3599 r g a --2.2841 r g c --2.2841 r g forty --0.0798 r g h --2.2841 r g nine --0.5681 r h h --1.8468 r i --1.8468 r i a --0.6483 r i c --1.8468 r i g --1.8468 r i k --0.7642 r i n --1.1748 r i s --0.7642 r i v --0.4109 r k --0.9375 r k e --1.6095 r k i --1.6095 r k r --1.6095 r k s --1.6095 r k six --1.5223 r l --0.5981 r l a --0.8503 r l e --1.5223 r l f --0.8503 r l y --1.3462 r n --1.3462 r n a --1.3462 r n d --0.4221 r n e --1.8903 r o --0.9661 r o a --1.2183 r o b --1.8903 r o m --0.6918 r o n --1.2183 r o o --0.9661 r o s --1.2183 r o w --1.8903 r o y --1.8903 r o z --0.5681 r one two --0.5681 r q z --0.4890 r r e --1.4132 r r k --1.4132 r r n --1.4132 r r o --1.4132 r r y --0.2460 r s o --1.1701 r s t --0.5681 r seven zero --0.5681 r sixty one --0.2146 r t --1.4132 r t h --1.4132 r t z --0.5681 r thirty one --0.8691 r u m --0.8691 r u s --0.8691 r v fifty --0.8691 r v z --0.8691 r w a --0.8691 r w twenty --0.3885 r y --1.4712 r y j --1.4712 r y l --1.4712 r y one --1.4712 r y p --0.8691 r z nine --0.8691 r z r --0.0191 repeat --0.5681 rubout a d --1.0452 rubout c h --1.0452 rubout c t --1.0452 rubout c y --0.5681 rubout d q --0.8691 rubout e u --0.8691 rubout e z --1.1701 rubout f b --1.1701 rubout f m --1.1701 rubout f x --1.1701 rubout f y --0.8691 rubout g j --0.8691 rubout g u --1.0452 rubout h a --1.0452 rubout h f --1.0452 rubout h w --0.8691 rubout i r --0.8691 rubout i t --1.0452 rubout j b --1.0452 rubout j l --1.0452 rubout j u --0.5681 rubout l d --1.0452 rubout m d --1.0452 rubout m n --1.0452 rubout m v --0.5950 rubout n a --1.2670 rubout n b --1.2670 rubout n x --1.2670 rubout n z --1.1701 rubout o g --1.1701 rubout o h --1.1701 rubout o k --1.1701 rubout o q --0.8691 rubout p n --0.8691 rubout p o --0.8691 rubout q n --0.8691 rubout q q --1.0452 rubout r e --1.0452 rubout r r --1.0452 rubout r z --0.5681 rubout s h --1.0452 rubout t b --1.0452 rubout t g --1.0452 rubout t j --1.2670 rubout u f --1.2670 rubout u g --1.2670 rubout u j --0.5950 rubout u t --0.8691 rubout v a --0.8691 rubout v e --0.8691 rubout w l --0.8691 rubout w p --0.5681 rubout x c --0.5681 rubout y y --1.0452 rubout z g --1.0452 rubout z o --1.0452 rubout z y --0.0191 s --0.8691 s a t --0.8691 s a y --2.2402 s b o --0.0163 s b u --0.5681 s c a --1.4712 s e --1.4712 s e l --1.4712 s e m --1.4712 s e n --0.5470 s e p --1.4712 s e w --0.8691 s f q --0.8691 s f twenty --0.5950 s h a --1.2670 s h e --1.2670 s h i --1.2670 s h k --0.5681 s i q --0.5681 s j seven --1.3462 s k a --1.3462 s k e --0.6742 s k i --1.3462 s k u --1.3462 s k y --0.8691 s l e --0.8691 s l f --0.3732 s m a --1.0452 s m i --0.5681 s n o --1.6472 s o --1.6472 s o l --0.1617 s o n --1.6472 s o u --0.8691 s one five --0.8691 s one seventy --1.2670 s p n --1.2670 s p o --0.5950 s p r --1.2670 s p s --1.0452 s s m --1.0452 s s v --1.0452 s s w --0.5681 s seven sixty --1.1265 s t --0.2634 s t e --1.7985 s t eighty --1.7985 s t i --1.1265 s t o --1.7985 s t r --0.5681 s thirty five --1.0452 s u m --1.0452 s u n --1.0452 s u o --1.0452 s v a --1.0452 s v i --1.0452 s v n --1.1701 s w a --1.1701 s w i --1.1701 s w o --1.1701 s w z --0.5681 s x two --0.8691 s z k --0.8691 s z nine --0.5681 s zero --0.1971 second nineteen sixty --0.5681 september fifteenth nineteen --0.5681 september first nineteen --0.5681 september nineteen sixty --0.5681 september sixth nineteen --0.5681 september twenty seventh --0.0048 seven --0.5470 seven eight --0.7992 seven eight eight --1.4712 seven eight five --1.4712 seven eight four --1.4712 seven eight zero --0.5681 seven fifteen nineteen --0.5681 seven fifty five --1.2670 seven five eight --1.2670 seven five one --0.5950 seven five seven --1.2670 seven five two --1.0452 seven forty four --0.3732 seven forty seven --0.4981 seven four --1.1701 seven four eight --1.1701 seven four one --0.8691 seven fourteen a --0.8691 seven fourteen sixty --0.5681 seven hundred twenty --0.5681 seven may nineteen --1.3462 seven nine five --0.6742 seven nine one --1.3462 seven nine three --0.6742 seven nine two --1.3462 seven oh --0.6742 seven oh eight --1.3462 seven oh six --1.3462 seven oh three --1.3462 seven oh two --1.2670 seven one --1.2670 seven one eight --1.2670 seven one oh --1.2670 seven one six --1.2670 seven one zero --0.3732 seven seven --1.0452 seven seven five --0.5681 seven seventeen fifty --0.5681 seven seventy two --0.4981 seven six --1.1701 seven six six --1.1701 seven six three --1.0452 seven sixty eight --1.0452 seven sixty four --1.0452 seven sixty seven --0.1971 seven ten --0.8691 seven thirty --0.8691 seven thirty eight --0.5681 seven thousand one --1.1701 seven three --1.1701 seven three one --1.1701 seven three six --1.1701 seven three zero --1.0452 seven twenty five --0.3732 seven twenty nine --1.3462 seven two --1.3462 seven two four --1.3462 seven two nine --1.3462 seven two one --1.3462 seven two two --1.3462 seven two zero --0.3732 seven zero --1.0452 seven zero one --0.1971 seventeen --0.8691 seventeen fifty one --0.8691 seventeen fifty seven --0.5681 seventeen thirty six --0.5681 seventh nineteen sixty --0.0685 seventy --0.5681 seventy eight --0.5681 seventy five --0.3732 seventy nine --1.0452 seventy nine fifty --0.0415 seventy one --0.3732 seventy seven --1.0452 seventy seven forty --0.5681 seventy six twelve --0.0875 seventy two --0.0056 six --1.0418 six eight --1.2940 six eight five --0.7675 six eight four --1.2940 six eight one --0.8833 six eight seven --1.2940 six eight six --0.6006 six eight three --0.5681 six eighty eight --0.4221 six five --1.3462 six five eight --1.3462 six five nine --1.3462 six five three --0.5681 six forty five --0.5268 six four --0.9375 six four five --1.6095 six four four --1.6095 six four nine --1.6095 six four seven --1.6095 six four six --1.6095 six four zero --0.5681 six hundred forty --0.2636 six nine --1.3462 six nine five --1.3462 six nine two --1.3462 six oh --0.6742 six oh eight --1.3462 six oh five --1.3462 six oh seven --1.3462 six oh six --0.7992 six one --0.7992 six one five --1.4712 six one four --1.4712 six one nine --1.4712 six one two --1.4712 six one zero --0.6742 six seven --1.3462 six seven eight --1.3462 six seven nine --0.6742 six seven oh --0.5681 six seventeen thirty --0.8961 six six --1.5681 six six eight --0.8961 six six five --1.5681 six six four --0.8961 six six one --0.8961 six six two --0.5681 six sixteen sixty --0.8691 six sixty nine --0.8691 six sixty three --0.8691 six thirty --0.8691 six thirty two --0.5681 six thousand eight --0.8503 six three --1.5223 six three eight --1.5223 six three nine --1.5223 six three oh --0.8503 six three one --1.5223 six three sixty --1.5223 six three two --0.5681 six twelve --0.5681 six twenty six --0.7412 six two --1.4132 six two eight --1.4132 six two five --1.4132 six two four --1.4132 six two six --1.4132 six two two --0.5681 six zero one --0.5681 sixteen forty eight --0.8691 sixteen sixty --0.8691 sixteen sixty nine --0.5681 sixteenth nineteen sixty --0.5681 sixth nineteen sixty --0.0478 sixty --0.0685 sixty eight --0.5681 sixty fifty five --0.0685 sixty five --0.1477 sixty four --1.3462 sixty four and --0.0232 sixty nine --0.0415 sixty one --0.0743 sixty seven --1.6095 sixty seven ten --0.1210 sixty six --0.1233 sixty three --1.4132 sixty three sixty --0.1844 sixty two --1.2670 sixty two thirty --0.0298 start --0.0203 stop --0.0203 t --0.8691 t a n --0.8691 t a y --0.5681 t b p --1.0452 t d a --1.0452 t d i --1.0452 t d k --1.2385 t e --1.9105 t e b --1.2385 t e d --1.9105 t e e --1.9105 t e l --1.9105 t e m --0.9863 t e n --1.9105 t e p --0.7120 t e r --0.7120 t e v --0.5681 t eighty fifth --0.8691 t f f --0.8691 t f two --0.5681 t fifty --0.5681 t four one --1.0452 t g j --1.0452 t g k --1.0452 t g nine --0.7159 t h --0.4332 t h a --1.1265 t h e --1.7985 t h f --1.1265 t h o --1.7985 t h y --0.5950 t i e --0.5950 t i m --1.2670 t i n --0.5681 t j j --0.8691 t k s --0.8691 t k x --0.3732 t l e --1.0452 t l fifty --0.1971 t m a --0.5681 t n e --1.3462 t o d --1.3462 t o m --0.6742 t o n --1.3462 t o p --1.3462 t o w --0.5681 t p four --0.8691 t q d --0.8691 t q two --1.2670 t r a --0.1844 t r e --0.0166 t s b --2.2308 t s v --0.5681 t seventy seven --0.5681 t sixty three --1.6364 t t --1.2258 t t e --2.3084 t t g --1.6364 t t h --2.3084 t t i --0.0942 t t s --0.5681 t v a --0.5681 t w x --0.0875 t z --0.0478 ten --0.5681 ten one sixty --0.5681 ten seventy one --0.5681 ten sixty nine --0.5681 ten ten --0.5681 ten thirty one --0.5681 ten twelve sixty --0.5681 ten twenty eight --0.3732 third nineteen sixty --1.0452 third nineteen twenty --0.1210 thirtieth nineteen sixty --0.0685 thirty --0.3732 thirty eight --1.0452 thirty eight sixty --0.1477 thirty five --1.3462 thirty five thirty --0.1971 thirty nine --0.3885 thirty one --1.4712 thirty one fifty --1.4712 thirty one j --1.4712 thirty one oh --1.4712 thirty one sixty --0.1971 thirty seven --0.1971 thirty six --0.5681 thirty sixty five --0.1971 thirty three --0.2460 thirty two --1.1701 thirty two thirty --0.1971 thousand --0.1971 thousand eight hundred --0.5681 thousand five hundred --0.5681 thousand nine thirty --0.5681 thousand one hundred --0.5681 thousand seven hundred --0.5681 thousand three hundred --0.0071 three --0.2636 three eight --1.3462 three eight three --1.3462 three eight zero --0.5681 three eighty six --0.5681 three eleven sixty --0.7412 three five --1.4132 three five four --1.4132 three five oh --1.4132 three five seven --1.4132 three five two --1.4132 three five zero --0.8691 three forty five --0.8691 three forty two --1.3462 three four --1.3462 three four eight --1.3462 three four five --0.6742 three four four --1.3462 three four three --0.5681 three fourteen sixty --0.5681 three hundred and --0.4981 three nine --1.1701 three nine five --1.1701 three nine nine --1.2670 three oh eight --1.2670 three oh five --1.2670 three oh nine --1.2670 three oh one --1.2670 three oh six --1.3462 three one --1.3462 three one five --1.3462 three one nine --1.3462 three one one --0.6742 three one two --1.2670 three seven eight --0.5950 three seven five --1.2670 three seven one --1.2670 three seven seven --0.5681 three seventeen --0.8691 three seventy --0.8691 three seventy one --1.3462 three six --1.3462 three six eight --1.3462 three six four --1.3462 three six one --0.6742 three six three --1.1701 three sixty eight --0.4981 three sixty four --1.1701 three sixty three --0.5681 three thirty six --0.7992 three three --1.4712 three three eight --1.4712 three three five --1.4712 three three nine --0.7992 three three seven --1.4712 three three six --0.5681 three twelve fifty --1.0452 three twenty eight --1.0452 three twenty seven --1.0452 three twenty three --0.3921 three two --1.0100 three two eight --1.6820 three two four --1.0100 three two seven --1.0100 three two three --0.4981 three zero --1.1701 three zero six --1.1701 three zero two --0.1971 twelfth nineteen sixty --0.5681 twelve --0.5681 twelve fifty eight --0.5681 twelve four sixty --0.5681 twelve nine of --0.5681 twelve nineteen sixty --0.5681 twelve sixty seven --0.5681 twelve ten sixty --0.8691 twelve twenty four --0.8691 twelve twenty one --0.5681 twentieth nineteen seventy --0.1971 twenty --0.5950 twenty eight --1.2670 twenty eight seventy --0.5950 twenty eight sixty --0.5681 twenty fifth nineteen --0.5681 twenty first nineteen --0.5681 twenty five --1.0452 twenty four forty --1.0452 twenty four oh --1.0452 twenty four sixty --0.5681 twenty fourth nineteen --0.4981 twenty nine --1.1701 twenty nine fifty --1.1701 twenty nine nineteen --0.8691 twenty one --0.8691 twenty one fifty --0.1971 twenty second nineteen --0.8691 twenty seven --0.8691 twenty seven sixty --0.5681 twenty seventh nineteen --0.3429 twenty six --1.2670 twenty six forty --1.2670 twenty six sixty --0.1971 twenty third nineteen --0.1844 twenty three --1.2670 twenty three sixty --0.8691 twenty two --0.8691 twenty two twenty --0.0054 two --0.4487 two eight --1.6472 two eight five --0.9753 two eight one --0.7231 two eight three --1.6472 two eight two --0.5681 two eighty nine --0.5681 two fifteen sixty --0.5681 two fifty three --0.9753 two five --1.6472 two five eight --1.6472 two five five --1.6472 two five four --1.6472 two five one --1.6472 two five seven --0.4487 two five two --0.4580 two four --1.8233 two four nine --1.1513 two four one --1.8233 two four three --0.4580 two four two --0.5681 two fourteen --0.5681 two hundred and --0.7992 two nine --1.4712 two nine eight --1.4712 two nine one --1.4712 two nine seven --1.4712 two nine six --0.7992 two nine three --0.9375 two oh eight --0.9375 two oh five --1.6095 two oh one --1.6095 two oh seven --0.6853 two oh six --1.6095 two oh three --1.6095 two oh two --0.9684 two one --1.3341 two one eight --1.5863 two one five --2.2583 two one four --2.2583 two one nine --1.1756 two one oh --0.5063 two one seven --1.5863 two one six --2.2583 two one sixty --0.7231 two one three --1.3341 two one two --0.5268 two seven --1.6095 two seven eight --1.6095 two seven four --1.6095 two seven nine --0.9375 two seven one --1.6095 two seven six --1.6095 two seven two --0.6584 two six --0.1964 two six eight --1.9483 two six oh --1.9483 two six six --0.5681 two sixty --0.5681 two ten --0.3732 two thirty one --1.0452 two thirty seven --0.5681 two thousand five --0.9753 two three --1.6472 two three eight --1.6472 two three five --1.6472 two three four --1.6472 two three nine --0.3573 two three two --0.8691 two twenty four --0.8691 two twenty six --0.9478 two two --2.0305 two two five --2.0305 two two four --1.1063 two two nine --1.1063 two two oh --0.6651 two two one --1.3585 two two seven --1.3585 two two six --2.0305 two two three --1.1063 two two two --1.3585 two two zero --0.4221 two zero --0.6742 two zero seven --1.3462 two zero six --0.5681 u --0.8691 u a i --0.8691 u a r --0.5681 u b i --0.5681 u c k --0.5681 u d w --0.1844 u e --1.2670 u e t --0.5681 u eighty six --0.8691 u f two --0.8691 u f z --0.8691 u five --0.8691 u five two --1.0452 u four five --1.0452 u four forty --1.0452 u four seven --1.0452 u g a --1.0452 u g l --1.0452 u g n --0.5681 u i p --0.8691 u j m --0.8691 u j o --0.5681 u k e --1.0452 u l d --0.3732 u l i --1.0452 u m i --1.0452 u m m --1.0452 u m n --1.0452 u n b --1.0452 u n n --1.0452 u n t --0.5681 u o u --0.5681 u one sixty --0.5681 u q u --2.3005 u r c --0.0766 u r g --2.3005 u r i --2.3005 u r k --2.3005 u r r --2.3005 u r s --1.3763 u r y --0.6742 u s e --1.3462 u s i --0.6742 u s k --1.3462 u s o --0.5681 u seven three --1.1701 u t d --1.1701 u t f --1.1701 u t h --1.1701 u t i --0.5681 u three --0.5681 u two four --0.5681 u x p --0.5681 u y three --1.5223 v a --1.5223 v a d --1.5223 v a h --0.5981 v a l --0.8503 v a n --1.5223 v a r --0.5681 v c thirty --0.5002 v e --1.9298 v e c --1.9298 v e l --0.5002 v e n --0.8471 v e r --1.9298 v e w --0.5681 v f o --0.5681 v fifty five --0.7412 v i d --1.4132 v i e --0.7412 v i l --1.4132 v i n --1.4132 v i q --0.8691 v k --0.8691 v k z --0.5681 v l c --0.8691 v m eight --0.8691 v m u --0.5681 v n y --0.5681 v nine --0.5681 v o o --0.5681 v p e --0.1971 v q d --0.5681 v r f --0.5681 v s one --0.1971 v seven --0.5681 v thirty --0.5681 v w a --0.5681 v x s --1.0452 v y h --1.0452 v y one --1.0452 v y w --0.5681 v z ninety --0.0478 w --1.5223 w a a --1.5223 w a b --1.5223 w a l --0.4396 w a r --1.5223 w a t --1.5223 w a y --0.8691 w b seventy --0.8691 w b u --0.5681 w c v --0.5681 w d k --1.1701 w e i --0.4981 w e l --1.1701 w e s --0.1971 w eight --0.8691 w f five --0.8691 w f s --0.5681 w five zero --0.5681 w fourteen eighty --0.5681 w g a --0.8691 w h e --0.8691 w h i --0.7412 w i c --0.7412 w i l --1.4132 w i n --0.7412 w i s --1.0452 w l f --1.0452 w l i --1.0452 w l r --0.5950 w n --1.2670 w n four --1.2670 w n i --1.2670 w n l --1.5223 w o n --0.1570 w o o --1.5223 w o r --0.5681 w p f --0.5681 w q six --0.5681 w r i --0.5681 w t h --0.5681 w twenty six --0.8691 w two fourteen --0.8691 w two thirty --0.5681 w w two --0.5681 w x five --1.0452 w y eight --1.0452 w y l --1.0452 w y o --1.0452 w z a --1.0452 w z nine --1.0452 w z seven --0.5681 x b m --0.8691 x c w --0.8691 x c z --0.5681 x e d --0.5681 x eight oh --0.5681 x f e --0.5681 x five hundred --0.5681 x four thousand --0.5681 x g i --0.5681 x h b --0.5681 x i sixty --0.5681 x k twenty --0.5681 x l thirty --0.5681 x n six --0.5681 x nine --0.5681 x p i --0.5681 x r z --0.8691 x s x --0.8691 x s zero --0.5681 x seventy two --0.5681 x three zero --0.8691 x two four --0.8691 x two thousand --0.5681 x v i --0.5681 x w five --0.8691 x x n --0.8691 x x s --0.8691 x y seven --0.8691 x y u --0.5681 x z i --0.1971 x zero --0.0154 y --0.5681 y a m --0.8691 y b e --0.8691 y b r --1.0452 y d d --1.0452 y d n --1.0452 y d r --0.5681 y e r --0.8691 y eight five --0.8691 y eight six --0.8691 y f j --0.8691 y f x --0.5681 y g n --1.0452 y h o --1.0452 y h seventy --1.0452 y h six --0.5681 y j o --1.2670 y l a --1.2670 y l d --1.2670 y l e --1.2670 y l l --1.2670 y l o --0.5681 y m h --0.8691 y n e --0.8691 y n p --0.5681 y o r --0.8691 y one --0.8691 y one nine --0.5681 y p l --0.5681 y q fifty --0.5681 y r b --0.5681 y seven oh --0.5681 y t l --0.5681 y ten ten --0.5681 y three sixty --0.8691 y u one --0.8691 y u seven --0.8691 y v a --0.8691 y v m --0.8691 y w a --0.8691 y w l --0.5681 y y f --0.8691 y z o --0.8691 y z two --0.0154 yes --0.0875 z --1.1701 z a e --1.1701 z a g --1.1701 z a k --1.1701 z a p --0.5681 z c b --0.5681 z d z --0.3732 z e l --1.0452 z e v --0.5681 z eight oh --0.5681 z f m --0.5681 z g d --0.5681 z h four --1.0452 z i n --1.0452 z i r --1.0452 z i v --0.5681 z k w --0.5681 z l three --1.0452 z nine --1.0452 z nine six --1.0452 z nine twenty --0.5681 z ninety eight --1.0452 z o sixty --1.0452 z o t --1.0452 z o two --0.1971 z r v --0.5681 z seven seventy --0.5681 z six eight --0.1971 z sixty nine --0.5681 z t p --0.5681 z twenty six --0.5681 z two --0.5681 z u a --0.5681 z w eight --0.8691 z x l --0.8691 z x two --0.8691 z y g --0.8691 z y t --0.5681 z z sixty --0.0180 zero --0.5681 zero eight two --0.5681 zero five seven --0.8691 zero four eight --0.8691 zero four one --0.3732 zero one five --1.0452 zero one one --0.8691 zero seven --0.8691 zero seven nine --0.4221 zero six --1.3462 zero six five --1.3462 zero six four --1.3462 zero six six --0.8691 zero two --0.8691 zero two seven --0.5681 zero zero six - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.wordlist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.wordlist deleted file mode 100755 index c9f136e2..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_plus.wordlist +++ /dev/null @@ -1,214 +0,0 @@ -A -ABOUT -AFTER -ALL -AN -AND -ANY -APOSTROPHE -APRIL -ARE -AREA -AS -AT -AUGUST -B -BACK -BE -BEEN -BEFORE -BUT -BY -C -CALLED -CAN -CODE -COULD -D -DAY -DECEMBER -DID -DO -DOWN -E -EACH -EIGHT -EIGHTEEN -EIGHTEENTH -EIGHTH -EIGHTY -ELEVEN -ELEVENTH -ENTER -ERASE -F -FEBRUARY -FIFTEEN -FIFTEENTH -FIFTH -FIFTY -FIND -FIRST -FIVE -FOR -FORTY -FOUR -FOURTEEN -FOURTH -FROM -G -GET -GO -GOOD -H -HAD -HALF -HALL -HAS -HAVE -HE -HELP -HER -HIM -HIS -HOW -HUNDRED -I -IF -IN -INTO -IS -IT -ITS -J -JANUARY -JULY -JUNE -JUST -K -KNOW -L -LANE -LIKE -LITTLE -LONG -LOOK -M -MADE -MAKE -MAN -MANY -MARCH -MAY -ME -MEMORY -MORE -MOST -MUCH -MY -N -NEW -NINE -NINETEEN -NINETY -NINTH -NO -NOT -NOW -O -OCTOBER -OF -OH -ON -ONE -ONLY -OR -OTHER -OUR -OUT -OVER -P -PEOPLE -Q -R -REPEAT -RIGHT -RUBOUT -S -SAID -SAME -SECOND -SEE -SEPTEMBER -SEVEN -SEVENTEEN -SEVENTH -SEVENTY -SHE -SIX -SIXTEEN -SIXTEENTH -SIXTH -SIXTY -SO -SOME -START -STOP -T -TEN -THAN -THAT -THE -THEIR -THEM -THEN -THERE -THESE -THEY -THINK -THIRD -THIRTIETH -THIRTY -THIS -THOUSAND -THREE -THROUGH -TIME -TO -TOO -TWELFTH -TWELVE -TWELVTH -TWENTIETH -TWENTY -TWO -U -UP -USE -USED -V -VERY -W -WAS -WATER -WAY -WE -WEAN -WERE -WHAT -WHEN -WHERE -WHICH -WHO -WILL -WITH -WORDS -WOULD -WRITE -X -Y -YES -YOU -YOUR -Z -ZERO diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_short_words.list b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_short_words.list deleted file mode 100755 index 99fdcd26..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_short_words.list +++ /dev/null @@ -1,2 +0,0 @@ -eight -eighteen diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelled_out.wordlist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelled_out.wordlist deleted file mode 100755 index 39285150..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelled_out.wordlist +++ /dev/null @@ -1,220 +0,0 @@ -a l l e v a -a l m o n t -a l t m a n n -a m p e r e -a m y -a r a p a h o e -a s b u r y p l a c e -a s p n e s -a y l e s b o r o -b a r r y -b e a c o n -b e c h t e l -b e e l e r -b e r k e l e y -b e v e r l y -b l a c k w o o d -b o u q u e t -b r a d d o c k -b r a d f o r d w o o d s -b r e n n a n -b r i a n -b r o a d h e a d r o a d -b r o n x v i l l e -b r o o m a l l -b r o s t -b r o w n -b r u m i t t -b u c k w h e a t -b u r c h f e i l d a v e -b u r k s -c a l i g i u r i -c a r n e g i e -c a r r e l -c e l l i o -c e n t r e a v e -c e n t r e a v e n u e -c h a r l e s -c h r i s -c h r i s t o p h e r -c i n d y -c l a r k -c l o u t i e r -c m u -c o n c o r d -c o n n e l l y -c r a f t o n -d a l z e l l -d a n i e l -d a v i d -d e r e k -d o n a l d -d o u g l a s -d o w l i n g -d o w n i n g t o w n -d r a v k -e a r l f o r d -e a s t e n d -e a s t e n d a v e -e a s t e n d a v e n u e -e d w i n -e f r o m -e l g i n -e l l s w o r t h -e r i c -e r i k -e w a l d -f a r r e l l y -f e d o r -f e n n i m o r e -f i f t h -f i f t h a v e n u e -f i l -f i n d l e y d r i v e -f o r w a r d -f r a n c e s m a r y -f r a n z i n i -g a r l a n d -g i b b s -g i b s o n i a -g l e n n -g l e n s h a w -g o t t i e r -g r e e n -g r o s s m a n -h a m p s h i r e -h a n d e r s o n -h a s t i n g s -h a w t h o r n e -h i g h l a n d -h i n i c h -h o b a r t -h o f f r i c h t e r -h o w e l l -h o y -i t h a c a -i v a r s o n -j a m e s -j e a n -j e a n e t t e -j e f f -j e n n i f e r -j e t t -j o h n -j o h n s o n -j o n a t h a n -j o s e p h -j u l i e -k a r e n -k a r l -k a r l a -k e a n e -k e n -k u n t z -l a m p s o n -l e u l i e t t e -l e w i s -l i n d a -l o n g v i e w -l o o f b o u r r o w -l u b i n s k i -l u d w i c k -m a c a l u s o -m a h o n e y -m a p l e -m a r g a r e t -m a r k -m a r n e l l -m a r y j o -m a s o n -m a t t h e w -m a u l d i n -m c k e e s p o r t -m e a d o w g a t e d r i v e -m e m o r y l a n e -m i c h a e l -m i d w o o d -m o d u g n o -m o h n k e r n -m o n i c a -m o r e w o o d -n a t h a n -n e g l e y -n e i l -n e l s o n -n e w b u r y -n e w e l l -n e w y o r k -n i c o l e -n o o n b u r g -o a k d a l e d r i v e -o l a c k -o l d b a r n d r i v e -o r c h a r d p l a c e -p a r k r o a d -p a t t e r s o n -p g h -p h i l l i p s -p h y l l i s -p i n e h u r s t -p i t t s b u r g -p i t t s b u r g h -p o l i f r o n i -p o m e r a n t z -p r i n c e -p u s k a r -r a n d y -r i c h a r d -r o b e r t -r o s e n f e l d -r o y -r o z e v e l d -r u s k i n -s a t t e r f i e l d -s a y b r o o k h a r b o r -s c a v i n c k y -s e m p l e -s e w i c k l e y -s h a r o n -s h e i l a -s k e e s -s l e e p y h o l l o w -s m i t h -s n o w -s o u t h -s p r i n g h o u s e -s p r i n g h o u s e l a n e -s t e e r e -s t e p h e n -s t e v e -s t e v e n -s t o d o l s k y -s u m m e r l e a -s u n n y v a l e -s w a r t z -s w i s s v a l e -t a n g l e w y l d e -t a y l o r -t e r i n a -t h a d -t h a y e r -t h o m a s -t i m m -t i m o t h y -t o m -t r a c y -t r e n t o n -v a l e -v a n d e r l a a n -v e c c h i -v e r o n a -w a r d -w a r r e n -w a t e r b u r y -w a y n e -w e i d e -w h i t n e y -w i l k i n s -w i l l i a m s -w r i g h t s v i l l e -z e l i e n o p l e diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.alphalist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.alphalist deleted file mode 100755 index a6f1d23f..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.alphalist +++ /dev/null @@ -1,26 +0,0 @@ -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.batch b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.batch deleted file mode 100755 index bf01e236..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.batch +++ /dev/null @@ -1,288 +0,0 @@ -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen5-fejs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen1-fash-b.raw h i n i c h -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen2-fash-b.raw a m y -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen4-fash-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen5-fash-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen1-fbbh-b.raw h o w e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen2-fbbh-b.raw b e v e r l y -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen4-fbbh-b.raw p r i n c e -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen5-fbbh-b.raw g i b s o n i a -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen1-fclc-b.raw c o n n e l l y -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen2-fclc-b.raw c i n d y -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen4-fclc-b.raw a y l e s b o r o -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen5-fclc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen1-fejs-b.raw s c a v i n c k y -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen2-fejs-b.raw j e a n -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen4-fejs-b.raw f i n d l e y d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen1-ffmm-b.raw m o d u g n o -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen2-ffmm-b.raw f r a n c e s m a r y -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen4-ffmm-b.raw p h i l l i p s -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen5-ffmm-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen1-fjam-b.raw m a r n e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen2-fjam-b.raw j u l i e -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen4-fjam-b.raw m e m o r y l a n e -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen5-fjam-b.raw m c k e e s p o r t -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen1-fjdn-b.raw n e l s o n -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen2-fjdn-b.raw j e n n i f e r -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen4-fjdn-b.raw k u n t z -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen5-fjdn-b.raw b e r k e l e y -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen1-fjmd-b.raw d r a v k -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen2-fjmd-b.raw j e a n e t t e -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen4-fjmd-b.raw s p r i n g h o u s e -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen5-fjmd-b.raw w r i g h t s v i l l e -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen1-fkai-b.raw i v a r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen2-fkai-b.raw k a r l a -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen4-fkai-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen5-fkai-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen1-fkdo-b.raw o l a c k -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen2-fkdo-b.raw k a r e n -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen4-fkdo-b.raw a l m o n t -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen5-fkdo-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen1-flmm2-b.raw m a c a l u s o -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen2-flmm2-b.raw l i n d a -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen4-flmm2-b.raw m e a d o w g a t e d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen1-flrp-b.raw p o m e r a n t z -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen2-flrp-b.raw l i n d a -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen4-flrp-b.raw m a r g a r e t -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen5-flrp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen1-fmjc-b.raw c e l l i o -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen2-fmjc-b.raw m o n i c a -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen4-fmjc-b.raw h o b a r t -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen5-fmjc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen1-fmjd-b.raw d o w l i n g -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen2-fmjd-b.raw m a r y j o -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen4-fmjd-b.raw d a l z e l l -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen5-fmjd-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen1-fnsv-b.raw v e c c h i -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen2-fnsv-b.raw n i c o l e -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen4-fnsv-b.raw e l l s w o r t h -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen5-fnsv-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen1-fplp-b.raw p o m e r a n t z -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen2-fplp-b.raw p h y l l i s -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen4-fplp-b.raw e a r l f o r d -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen5-fplp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen1-fsaf2-b.raw f a r r e l l y -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen2-fsaf2-b.raw s h e i l a -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen4-fsaf2-b.raw t a n g l e w y l d e -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen5-fsaf2-b.raw b r o n x v i l l e -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen1-fsrb-b.raw b u r k s -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen2-fsrb-b.raw s h a r o n -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen4-fsrb-b.raw a r a p a h o e -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen5-fsrb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen1-ftal-b.raw l e w i s -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen2-ftal-b.raw t r a c y -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen4-ftal-b.raw v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen5-ftal-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen1-ftmj-b.raw j e t t -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen2-ftmj-b.raw t e r i n a -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen4-ftmj-b.raw h a w t h o r n e -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen5-ftmj-b.raw s w i s s v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen1-fwxs-b.raw s a t t e r f i e l d -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen2-fwxs-b.raw w h i t n e y -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen4-fwxs-b.raw o r c h a r d p l a c e -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen5-fwxs-b.raw s e w i c k l e y -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen1-mblb-b.raw b r u m i t t -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen2-mblb-b.raw b a r r y -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen4-mblb-b.raw m i d w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen5-mblb-b.raw w a t e r b u r y -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen1-mblw-b.raw w e i d e -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen2-mblw-b.raw r o b e r t -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen4-mblw-b.raw l u d w i c k -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen5-mblw-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen1-mbmg-b.raw g o t t i e r -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen2-mbmg-b.raw b r i a n -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen4-mbmg-b.raw p a r k r o a d -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen5-mbmg-b.raw d o w n i n g t o w n -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen1-mcel-b.raw l a m p s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen2-mcel-b.raw c l a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen4-mcel-b.raw g a r l a n d -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen5-mcel-b.raw s u n n y v a l e -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen1-mcen-b.raw n e w e l l -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen2-mcen-b.raw c h r i s -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen4-mcen-b.raw h o b a r t -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen5-mcen-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen1-mcfl-b.raw f e d o r -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen2-mcfl-b.raw c h r i s t o p h e r -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen4-mcfl-b.raw l o n g v i e w -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen5-mcfl-b.raw n e w b u r y -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen1-mcrt-b.raw t a y l o r -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen2-mcrt-b.raw r o y -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen4-mcrt-b.raw h a s t i n g s -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen5-mcrt-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen1-mcsc-b.raw c a l i g i u r i -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen2-mcsc-b.raw c h a r l e s -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen4-mcsc-b.raw t r e n t o n -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen5-mcsc-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen1-mdcs-b.raw s t e e r e -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen2-mdcs-b.raw d a v i d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen4-mdcs-b.raw f o r w a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen5-mdcs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen1-mdcs2-b.raw s n o w -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen2-mdcs2-b.raw d o n a l d -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen4-mdcs2-b.raw s o u t h -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen5-mdcs2-b.raw p i t t s b u r g -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen1-mdmc-b.raw c a r r e l -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen2-mdmc-b.raw d a v i d -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen4-mdmc-b.raw h i g h l a n d -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen5-mdmc-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen1-mdxn-b.raw n o o n b u r g -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen2-mdxn-b.raw d e r e k -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen4-mdxn-b.raw c o n c o r d -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen5-mdxn-b.raw i t h a c a -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen1-mdxs-b.raw s t o d o l s k y -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen2-mdxs-b.raw d a n i e l -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen4-mdxs-b.raw b o u q u e t -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen5-mdxs-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen1-meab-b.raw b l a c k w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen2-meab-b.raw e d w i n -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen4-meab-b.raw b r a d d o c k -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen5-meab-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen1-meht-b.raw t h a y e r -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen2-meht-b.raw e r i c -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen4-meht-b.raw b e a c o n -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen5-meht-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen1-mema-b.raw a l t m a n n -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen2-mema-b.raw e r i k -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen4-mema-b.raw e a s t e n d a v e -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen5-mema-b.raw p g h -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen1-mewl-b.raw l e u l i e t t e -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen2-mewl-b.raw e r i c -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen5-mewl-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen1-mfaa-b.raw a l l e v a -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen2-mfaa-b.raw f i l -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen4-mfaa-b.raw w i l k i n s -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen5-mfaa-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen1-mgah-b.raw h o y -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen2-mgah-b.raw g l e n n -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen4-mgah-b.raw r u s k i n -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen5-mgah-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen1-mjbh-b.raw h a m p s h i r e -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen2-mjbh-b.raw j o h n -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen4-mjbh-b.raw e l g i n -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen5-mjbh-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen1-mjda-b.raw a s p n e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen2-mjda-b.raw j a m e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen4-mjda-b.raw e a s t e n d a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen5-mjda-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen1-mjdr-b.raw r o s e n f e l d -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen2-mjdr-b.raw j e f f -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen4-mjdr-b.raw c e n t r e a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen5-mjdr-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen1-mjes-b.raw s w a r t z -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen2-mjes-b.raw j o n a t h a n -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen5-mjes-b.raw n e w y o r k -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen1-mjgk-b.raw k e a n e -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen2-mjgk-b.raw j o s e p h -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen4-mjgk-b.raw s p r i n g h o u s e l a n e -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen1-mjhp-b.raw p o l i f r o n i -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen2-mjhp-b.raw j o s e p h -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen4-mjhp-b.raw a s b u r y p l a c e -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen5-mjhp-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen1-mjjs2-b.raw s k e e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen2-mjjs2-b.raw j a m e s -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen4-mjjs2-b.raw a m p e r e -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen5-mjjs2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen1-mkdb-b.raw b e c h t e l -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen2-mkdb-b.raw k a r l -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen4-mkdb-b.raw b e a c o n -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen5-mkdb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen1-mkem-b.raw m o h n k e r n -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen2-mkem-b.raw k e n -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen4-mkem-b.raw c m u -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen5-mkem-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen1-mmaf-b.raw f r a n z i n i -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen2-mmaf-b.raw m i c h a e l -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen4-mmaf-b.raw s u m m e r l e a -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen5-mmaf-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen1-mmal-b.raw l u b i n s k i -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen2-mmal-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen4-mmal-b.raw b e e l e r -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen5-mmal-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen1-mmap-b.raw p u s k a r -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen2-mmap-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen4-mmap-b.raw b r o a d h e a d r o a d -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen5-mmap-b.raw c r a f t o n -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen1-mmdg-b.raw g r o s s m a n -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen2-mmdg-b.raw m i c h a e l -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen4-mmdg-b.raw d o u g l a s -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen5-mmdg-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen1-mmkw-b.raw w i l l i a m s -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen2-mmkw-b.raw m a t t h e w -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen4-mmkw-b.raw p i n e h u r s t -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen5-mmkw-b.raw m a u l d i n -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen1-mmsh-b.raw h o f f r i c h t e r -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen2-mmsh-b.raw m a r k -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen4-mmsh-b.raw f i f t h a v e n u e -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen5-mmsh-b.raw b r o o m a l l -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen1-mmtm-b.raw m a s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen2-mmtm-b.raw m a t t h e w -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen4-mmtm-b.raw o l d b a r n d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen5-mmtm-b.raw v e r o n a -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen1-mnfe-b.raw e f r o m -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen2-mnfe-b.raw n e i l -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen4-mnfe-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen5-mnfe-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen1-mnjl-b.raw l o o f b o u r r o w -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen2-mnjl-b.raw n a t h a n -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen5-mnjl-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen1-mrab-b.raw b r e n n a n -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen2-mrab-b.raw r o b e r t -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen4-mrab-b.raw o a k d a l e d r i v e -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen5-mrab-b.raw z e l i e n o p l e -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen1-mrcb-b.raw b r o s t -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen2-mrcb-b.raw r a n d y -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen4-mrcb-b.raw n e g l e y -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen5-mrcb-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen1-mrjc2-b.raw c l o u t i e r -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen2-mrjc2-b.raw r i c h a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen4-mrjc2-b.raw f e n n i m o r e -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen5-mrjc2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen1-mrmg-b.raw g r e e n -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen2-mrmg-b.raw r i c h a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen4-mrmg-b.raw e a s t e n d -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen5-mrmg-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen1-mscg2-b.raw g i b b s -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen2-mscg2-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen4-mscg2-b.raw m a r g a r e t -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen5-mscg2-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen1-msct-b.raw t i m m -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen2-msct-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen4-msct-b.raw s e m p l e -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen5-msct-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen1-msjm-b.raw m a h o n e y -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen2-msjm-b.raw s t e p h e n -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen4-msjm-b.raw m a p l e -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen5-msjm-b.raw g l e n s h a w -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen1-msjr-b.raw r o z e v e l d -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen2-msjr-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen4-msjr-b.raw f i f t h -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen5-msjr-b.raw v e r o n a -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen1-mskh-b.raw h a n d e r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen2-mskh-b.raw s t e v e n -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen5-mskh-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen4-msmn-b.raw b u r c h f e i l d a v e -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen5-msmn-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen1-msrb-b.raw b r o w n -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen2-msrb-b.raw s t e v e -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen4-msrb-b.raw p a t t e r s o n -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen5-msrb-b.raw c a r n e g i e -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen1-mtcv-b.raw v a n d e r l a a n -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen2-mtcv-b.raw t o m -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen4-mtcv-b.raw s l e e p y h o l l o w -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen5-mtcv-b.raw w a r r e n -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen1-mtje-b.raw e w a l d -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen2-mtje-b.raw t i m o t h y -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen4-mtje-b.raw c e n t r e a v e -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen5-mtje-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen1-mtos-b.raw s m i t h -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen2-mtos-b.raw t h o m a s -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen4-mtos-b.raw m o r e w o o d -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen5-mtos-b.raw p i t t s b u r g h -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen1-mtxj-b.raw j o h n s o n -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen2-mtxj-b.raw t h a d -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen4-mtxj-b.raw s a y b r o o k h a r b o r -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen5-mtxj-b.raw b r a d f o r d w o o d s -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen1-mwhw-b.raw w a r d -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen2-mwhw-b.raw w a y n e -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen4-mwhw-b.raw b u c k w h e a t -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen5-mwhw-b.raw g i b s o n i a diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.fst deleted file mode 100755 index ab9a5f44..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.fst +++ /dev/null @@ -1,351 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 230.256 -T 0 1 230.256 -T 0 4 a a 2.63024 -T 0 5 b b 3.22984 -T 0 6 c c 3.76887 -T 0 7 d d 3.44098 -T 0 8 e e 2.35739 -T 0 9 f f 4.44169 -T 0 10 g g 3.34312 -T 0 11 h h 2.9602 -T 0 12 i i 2.71889 -T 0 13 j j 5.09562 -T 0 14 k k 4.16399 -T 0 15 l l 2.97839 -T 0 16 m m 3.6717 -T 0 17 n n 2.80086 -T 0 18 o o 2.82435 -T 0 19 p p 3.32977 -T 0 20 q q 230.256 -T 0 21 r r 2.41887 -T 0 22 s s 2.82435 -T 0 23 t t 2.52478 -T 0 24 u u 3.30398 -T 0 25 v v 4.19485 -T 0 26 w w 3.89943 -T 0 27 x x 230.256 -T 0 28 y y 4.13429 -T 0 29 z z 5.71479 -F 1 230.256 -T 1 0 -F 2 230.256 -T 2 0 -F 3 230.256 -T 3 0 -F 4 231.846 -T 4 0 , , 1.59024 -T 4 6 c c 2.78912 -T 4 7 d d 3.02652 -T 4 9 f f 4.65352 -T 4 11 h h 3.54022 -T 4 15 l l 2.51373 -T 4 16 m m 2.78912 -T 4 17 n n 1.92496 -T 4 19 p p 4.13383 -T 4 21 r r 1.4405 -T 4 22 s s 2.78912 -T 4 23 t t 2.78912 -T 4 25 v v 2.78912 -T 4 26 w w 4.65352 -T 4 28 y y 3.54022 -F 5 232.354 -T 5 0 , , 2.09755 -T 5 4 a a 3.19921 -T 5 5 b b 5.20338 -T 5 8 e e 2.43222 -T 5 18 o o 3.19921 -T 5 21 r r 2.09443 -T 5 22 s s 3.53953 -T 5 24 u u 0.501733 -F 6 231.469 -T 6 0 , , 1.2124 -T 6 4 a a 2.04516 -T 6 6 c c 4.67287 -T 6 8 e e 2.04516 -T 6 11 h h 1.38892 -T 6 14 k k 1.90147 -T 6 15 l l 3.52871 -T 6 16 m m 4.67287 -T 6 18 o o 2.21324 -T 6 28 y y 4.67287 -F 7 231.106 -T 7 0 , , 0.849466 -T 7 4 a a 1.98621 -T 7 7 d d 3.85061 -T 7 8 e e 2.36729 -T 7 9 f f 3.33092 -T 7 13 j j 4.995 -T 7 18 o o 2.22361 -T 7 19 p p 2.09789 -T 7 21 r r 2.53538 -T 7 22 s s 2.73731 -T 7 26 w w 2.36729 -T 7 28 y y 3.85061 -F 8 231.242 -T 8 0 , , 0.986113 -T 8 4 a a 2.63646 -T 8 5 b b 3.81147 -T 8 7 d d 3.81147 -T 8 8 e e 3.29776 -T 8 9 f f 4.92477 -T 8 10 g g 4.06498 -T 8 13 j j 4.92477 -T 8 15 l l 2.2418 -T 8 16 m m 3.81147 -T 8 17 n n 2.07095 -T 8 19 p p 2.44788 -T 8 21 r r 1.92496 -T 8 22 s s 2.86879 -T 8 25 v v 3.06037 -T 8 26 w w 2.63646 -T 8 28 y y 3.60953 -T 8 29 z z 6.06915 -F 9 231.231 -T 9 0 , , 0.975035 -T 9 5 b b 4.01893 -T 9 6 c c 4.01893 -T 9 8 e e 1.76125 -T 9 9 f f 2.87478 -T 9 12 i i 1.76125 -T 9 18 o o 2.35508 -T 9 21 r r 1.76125 -T 9 23 t t 2.35508 -F 10 231.861 -T 10 0 , , 1.60523 -T 10 4 a a 3.08731 -T 10 6 c c 5.09148 -T 10 11 h h 0.4094 -T 10 12 i i 2.63185 -T 10 15 l l 2.83402 -T 10 16 m m 5.09148 -T 10 21 r r 3.94732 -T 10 25 v v 5.09148 -F 11 230.702 -T 11 0 , , 0.44576 -T 11 4 a a 1.55401 -T 11 5 b b 3.2128 -T 11 6 c c 3.8064 -T 11 9 f f 3.46608 -T 11 12 i i 3.01086 -T 11 13 j j 4.3261 -T 11 15 l l 3.2128 -T 11 16 m m 3.46608 -T 11 18 o o 2.18653 -T 11 19 p p 3.46608 -T 11 22 s s 2.84277 -T 11 25 v v 4.3261 -T 11 28 y y 4.3261 -F 12 231.751 -T 12 0 , , 1.49444 -T 12 4 a a 3.70532 -T 12 5 b b 4.04564 -T 12 6 c c 2.42554 -T 12 7 d d 3.70532 -T 12 8 e e 2.81261 -T 12 9 f f 3.70532 -T 12 10 g g 4.04564 -T 12 13 j j 5.70949 -T 12 15 l l 2.81261 -T 12 16 m m 3.45204 -T 12 17 n n 1.88213 -T 12 22 s s 3.45204 -T 12 23 t t 1.06794 -T 12 25 v v 3.45204 -F 13 231.834 -T 13 0 , , 1.57733 -T 13 4 a a 2.25561 -T 13 8 e e 1.14231 -T 13 18 o o 0.940376 -T 13 24 u u 3.39977 -F 14 230.718 -T 14 0 , , 0.462021 -T 14 4 a a 2.28301 -T 14 5 b b 3.14303 -T 14 8 e e 1.6597 -T 14 9 f f 4.28718 -T 14 12 i i 2.62334 -T 14 13 j j 4.28718 -T 14 14 k k 3.14303 -T 14 19 p p 3.14303 -T 14 26 w w 3.14303 -T 14 28 y y 3.14303 -F 15 231.495 -T 15 0 , , 1.23879 -T 15 4 a a 2.09098 -T 15 5 b b 3.78821 -T 15 7 d d 2.34311 -T 15 8 e e 1.49392 -T 15 9 f f 5.45206 -T 15 12 i i 2.25193 -T 15 13 j j 5.45206 -T 15 14 k k 4.30791 -T 15 15 l l 1.95259 -T 15 16 m m 3.78821 -T 15 18 o o 3.19461 -T 15 22 s s 3.44789 -T 15 24 u u 3.78821 -T 15 28 y y 3.78821 -T 15 29 z z 5.45206 -F 16 231.748 -T 16 0 , , 1.49219 -T 16 4 a a 1.09143 -T 16 6 c c 4.76819 -T 16 8 e e 2.14048 -T 16 12 i i 2.51051 -T 16 16 m m 3.62381 -T 16 18 o o 1.65901 -T 16 19 p p 2.76402 -T 16 22 s s 3.10411 -T 16 24 u u 4.76819 -T 16 28 y y 4.76819 -F 17 231.003 -T 17 0 , , 0.747246 -T 17 4 a a 2.73133 -T 17 6 c c 3.00073 -T 17 7 d d 2.34449 -T 17 8 e e 1.80108 -T 17 9 f f 3.96436 -T 17 10 g g 2.85705 -T 17 12 i i 2.51926 -T 17 13 j j 5.62844 -T 17 14 k k 3.96436 -T 17 16 m m 3.62427 -T 17 17 n n 2.85705 -T 17 19 p p 2.85705 -T 17 22 s s 3.00073 -T 17 23 t t 2.73133 -T 17 24 u u 3.96436 -T 17 27 x x 5.62844 -T 17 29 z z 5.62844 -F 18 231.405 -T 18 0 , , 1.14848 -T 18 4 a a 3.60078 -T 18 5 b b 3.60078 -T 18 7 d d 2.59639 -T 18 9 f f 3.9411 -T 18 11 h h 3.9411 -T 18 15 l l 2.97747 -T 18 16 m m 2.97747 -T 18 17 n n 1.56829 -T 18 18 o o 2.496 -T 18 19 p p 3.9411 -T 18 21 r r 1.92818 -T 18 22 s s 3.3475 -T 18 24 u u 2.97747 -T 18 26 w w 2.70807 -T 18 28 y y 4.4608 -T 18 29 z z 5.60495 -F 19 231.854 -T 19 0 , , 1.59765 -T 19 4 a a 3.44075 -T 19 10 g g 3.44075 -T 19 11 h h 2.64498 -T 19 12 i i 0.526831 -T 19 15 l l 2.84692 -T 19 18 o o 3.10043 -T 19 21 r r 3.44075 -T 19 22 s s 3.44075 -T 19 28 y y 5.1046 -F 20 230.849 -T 20 0 , , 0.592377 -T 20 24 u u 0.760774 -F 21 231.262 -T 21 0 , , 1.00581 -T 21 4 a a 2.89872 -T 21 5 b b 4.00374 -T 21 6 c c 4.34383 -T 21 7 d d 3.23651 -T 21 8 e e 2.22821 -T 21 10 g g 1.38708 -T 21 12 i i 2.33114 -T 21 14 k k 3.11079 -T 21 15 l l 3.11079 -T 21 17 n n 3.75022 -T 21 18 o o 2.22821 -T 21 21 r r 3.3802 -T 21 23 t t 3.3802 -T 21 28 y y 3.3802 -F 22 231.806 -T 22 0 , , 1.54978 -T 22 4 a a 3.9411 -T 22 5 b b 1.00554 -T 22 8 e e 2.70807 -T 22 11 h h 3.3475 -T 22 13 j j 4.4608 -T 22 14 k k 3.3475 -T 22 16 m m 3.3475 -T 22 18 o o 2.496 -T 22 19 p p 2.83356 -T 22 22 s s 3.60078 -T 22 23 t t 2.04285 -T 22 24 u u 4.4608 -T 22 25 v v 4.4608 -T 22 26 w w 3.60078 -F 23 232.054 -T 23 0 , , 1.79752 -T 23 8 e e 2.22568 -T 23 11 h h 2.46975 -T 23 12 i i 3.64499 -T 23 16 m m 4.75829 -T 23 18 o o 3.27497 -T 23 19 p p 3.44283 -T 23 21 r r 3.64499 -T 23 22 s s 1.32468 -T 23 23 t t 1.14415 -T 23 29 z z 3.89828 -F 24 231.776 -T 24 0 , , 1.51954 -T 24 6 c c 5.13016 -T 24 8 e e 3.12599 -T 24 10 g g 3.98601 -T 24 15 l l 3.46631 -T 24 16 m m 3.98601 -T 24 17 n n 3.98601 -T 24 20 q q 5.13016 -T 24 21 r r 0.390288 -T 24 22 s s 2.8727 -T 24 23 t t 3.98601 -F 25 232.712 -T 25 0 , , 2.45536 -T 25 4 a a 1.79763 -T 25 8 e e 0.527753 -T 25 12 i i 1.79763 -T 25 14 k k 4.25725 -F 26 230.953 -T 26 0 , , 0.696488 -T 26 4 a a 1.91736 -T 26 8 e e 2.88099 -T 26 11 h h 3.40069 -T 26 12 i i 1.91736 -T 26 17 n n 2.28739 -T 26 18 o o 1.64796 -T 26 26 w w 4.54507 -T 26 28 y y 3.40069 -F 27 230.871 -T 27 0 , , 0.614618 -T 27 25 v v 0.760774 -F 28 230.767 -T 28 0 , , 0.511215 -T 28 5 b b 3.17204 -T 28 6 c c 3.17204 -T 28 7 d d 2.65212 -T 28 11 h h 3.17204 -T 28 13 j j 3.17204 -T 28 15 l l 2.05851 -T 28 16 m m 3.17204 -T 28 17 n n 3.17204 -T 28 18 o o 3.17204 -T 28 19 p p 2.31203 -T 28 22 s s 3.17204 -T 28 25 v v 3.17204 -T 28 26 w w 4.3162 -F 29 230.827 -T 29 0 , , 0.570718 -T 29 5 b b 2.84024 -T 29 8 e e 1.17639 -T 29 12 i i 2.84024 -T 29 13 j j 2.84024 -T 29 15 l l 2.84024 -T 29 19 p p 2.84024 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.lm deleted file mode 100755 index 0a9573bc..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.bigram.lm +++ /dev/null @@ -1,438 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 2-gram language model, based on a vocabulary of 28 words, - which begins "", "a", "b"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 1 -2-gram discounting constant : 0.53271 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 - -end of data mark: \end\ - -\data\ -ngram 1=29 -ngram 2=361 - -\1-grams: --99.9990 0.0000 --98.9947 0.0000 --1.1423 a -0.5272 --1.4027 b -0.8846 --1.6368 c -0.4158 --1.4944 d -0.0486 --1.0238 e 0.0094 --1.9290 f -0.4012 --1.4519 g -0.5389 --1.2856 h 0.7485 --1.1808 i -0.3408 --2.2130 j -0.6851 --1.8084 k 0.0629 --1.2935 l -0.3457 --1.5946 m -0.6264 --1.2164 n 0.4262 --1.2266 o -0.1643 --1.4461 p -0.5694 --99.9990 q -0.2573 --1.0505 r -0.1338 --1.2266 s -0.5507 --1.0965 t -0.5775 --1.4349 u -0.6301 --1.8218 v -1.0660 --1.6935 w -0.0341 --99.9990 x -0.2669 --1.7955 y 0.0357 --2.4819 z -0.2479 --99.9990 0.0000 - -\2-grams: --2.5179 a a --1.2113 a c --1.3144 a d --1.7953 a e --2.0210 a f --1.5375 a h --2.5179 a k --1.0917 a l --1.2113 a m --0.8360 a n --1.7953 a p --0.6256 a r --1.2113 a s --1.2113 a t --2.5179 a u --1.2113 a v --2.0210 a w --1.5375 a y --1.3894 b a --2.2598 b b --1.0563 b e --2.2598 b i --2.2598 b l --1.3894 b o --0.9096 b r --1.5372 b s --0.2179 b u --0.8882 c a --2.0294 c b --2.0294 c c --0.8882 c e --0.6032 c h --2.0294 c i --0.8258 c k --1.5325 c l --2.0294 c m --0.9612 c o --2.0294 c p --2.0294 c r --2.0294 c y --0.8626 d a --2.1693 d b --2.1693 d c --1.6723 d d --1.0281 d e --1.4466 d f --1.6723 d h --1.6723 d i --2.1693 d j --2.1693 d l --0.9657 d o --0.9111 d p --1.1011 d r --1.1888 d s --2.1693 d t --2.1693 d u --1.0281 d w --1.6723 d y --1.1450 e a --1.6553 e b --2.1388 e c --1.6553 e d --1.4322 e e --2.1388 e f --1.7654 e g --2.6358 e h --1.6553 e i --2.1388 e j --2.6358 e k --0.9736 e l --1.6553 e m --0.8994 e n --1.0631 e p --0.8360 e r --1.2459 e s --1.5676 e t --2.6358 e u --1.3291 e v --1.1450 e w --1.5676 e y --2.6358 e z --1.7454 f a --1.7454 f b --1.7454 f c --0.7649 f e --1.2485 f f --0.7649 f i --1.0228 f o --0.7649 f r --1.0228 f t --1.3408 g a --2.2112 g c --2.2112 g d --0.1778 g h --1.1430 g i --1.2308 g l --2.2112 g m --2.2112 g n --2.2112 g o --1.7143 g r --2.2112 g s --2.2112 g t --2.2112 g v --0.6749 h a --1.3953 h b --1.6531 h c --2.3757 h d --1.2346 h e --1.5053 h f --1.6531 h g --1.5053 h h --1.3076 h i --1.8788 h j --1.3953 h l --1.5053 h m --1.5053 h n --0.9496 h o --1.5053 h p --1.6531 h r --1.2346 h s --1.3076 h t --2.3757 h u --1.8788 h v --2.3757 h w --1.8788 h y --1.6092 i a --1.7570 i b --1.0534 i c --1.6092 i d --1.2215 i e --1.6092 i f --1.7570 i g --2.4796 i j --2.4796 i k --1.2215 i l --1.4992 i m --0.8174 i n --2.4796 i o --2.4796 i p --2.4796 i r --1.4992 i s --0.4638 i t --2.4796 i u --1.4992 i v --0.9796 j a --0.4961 j e --0.4084 j o --1.4765 j u --0.9915 k a --1.3650 k b --1.8619 k c --1.8619 k d --0.7208 k e --1.8619 k f --1.8619 k g --1.8619 k h --1.1393 k i --1.8619 k j --1.3650 k k --1.8619 k l --1.3650 k p --1.8619 k r --1.8619 k s --1.8619 k u --1.3650 k w --1.3650 k y --0.9081 l a --1.6452 l b --2.3678 l c --1.0176 l d --0.6488 l e --2.3678 l f --2.3678 l g --0.9780 l i --2.3678 l j --1.8709 l k --0.8480 l l --1.6452 l m --1.3874 l o --2.3678 l p --1.4974 l s --2.3678 l t --1.6452 l u --2.3678 l w --1.6452 l y --2.3678 l z --0.4740 m a --2.0708 m c --0.9296 m e --1.0903 m i --1.5738 m m --2.0708 m n --0.7205 m o --1.2004 m p --1.3481 m s --2.0708 m u --2.0708 m y --1.1862 n a --1.9474 n b --1.3032 n c --1.0182 n d --0.7822 n e --1.7217 n f --1.2408 n g --2.4444 n h --1.0941 n i --2.4444 n j --1.7217 n k --2.4444 n l --1.5740 n m --1.2408 n n --1.5740 n o --1.2408 n p --1.7217 n r --1.3032 n s --1.1862 n t --1.7217 n u --2.4444 n x --2.4444 n y --2.4444 n z --1.5638 o a --1.5638 o b --2.4342 o c --1.1276 o d --2.4342 o e --1.7116 o f --1.7116 o h --2.4342 o k --1.2931 o l --1.2931 o m --0.6811 o n --1.0840 o o --1.7116 o p --0.8374 o r --1.4538 o s --1.9373 o t --1.2931 o u --1.1761 o w --1.9373 o y --2.4342 o z --1.4943 p a --2.2169 p e --1.4943 p g --1.1487 p h --0.2288 p i --1.2364 p l --2.2169 p n --1.3465 p o --1.4943 p r --1.4943 p s --2.2169 p u --2.2169 p y --0.3304 q u --1.2589 r a --1.7388 r b --1.8865 r c --1.4056 r d --0.9677 r e --2.6092 r f --0.6024 r g --1.0124 r i --1.3510 r k --1.3510 r l --2.1122 r m --1.6287 r n --0.9677 r o --2.6092 r p --1.4680 r r --1.7388 r s --1.4680 r t --2.1122 r u --2.6092 r w --1.4680 r y --1.7116 s a --0.4367 s b --2.4342 s c --1.1761 s e --1.4538 s h --1.9373 s j --1.4538 s k --2.4342 s l --1.4538 s m --2.4342 s n --1.0840 s o --1.2306 s p --1.5638 s s --0.8872 s t --1.9373 s u --1.9373 s v --1.5638 s w --2.0665 t a --2.5634 t b --0.9666 t e --2.5634 t g --1.0726 t h --1.5830 t i --2.5634 t l --2.0665 t m --2.0665 t n --1.4223 t o --1.4952 t p --1.5830 t r --0.5753 t s --0.4969 t t --1.6930 t z --2.2280 u b --2.2280 u c --2.2280 u d --1.3576 u e --1.7311 u g --1.5054 u l --1.7311 u m --1.7311 u n --2.2280 u p --2.2280 u q --0.1695 u r --1.2476 u s --1.7311 u t --0.7807 v a --0.2292 v e --0.7807 v i --1.8489 v k --0.8327 w a --1.9739 w b --1.9739 w d --1.2512 w e --1.9739 w g --1.4769 w h --0.8327 w i --1.9739 w l --0.9934 w n --0.7157 w o --1.9739 w p --1.4769 w r --1.9739 w t --1.9739 w w --1.4769 w y --0.3304 x v --1.8745 y a --1.3776 y b --1.3776 y c --1.1518 y d --1.8745 y e --1.8745 y g --1.3776 y h --1.3776 y j --0.8940 y l --1.3776 y m --1.3776 y n --1.3776 y o --1.0041 y p --1.3776 y s --1.8745 y t --1.3776 y v --1.8745 y w --1.2335 z b --0.5109 z e --1.2335 z i --1.2335 z j --1.2335 z l --1.2335 z p - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.fst deleted file mode 100755 index 4e7026ea..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.fst +++ /dev/null @@ -1,88 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 3.40644 -T 0 1 3.32954 -T 0 4 a a 3.32954 -T 0 5 b b 3.32954 -T 0 6 c c 3.32954 -T 0 7 d d 3.32954 -T 0 8 e e 3.32954 -T 0 9 f f 3.32954 -T 0 10 g g 3.32954 -T 0 11 h h 3.32954 -T 0 12 i i 3.32954 -T 0 13 j j 3.32954 -T 0 14 k k 3.32954 -T 0 15 l l 3.32954 -T 0 16 m m 3.32954 -T 0 17 n n 3.32954 -T 0 18 o o 3.32954 -T 0 19 p p 3.32954 -T 0 20 q q 3.32954 -T 0 21 r r 3.32954 -T 0 22 s s 3.32954 -T 0 23 t t 3.32954 -T 0 24 u u 3.32954 -T 0 25 v v 3.32954 -T 0 26 w w 3.32954 -T 0 27 x x 3.32954 -T 0 28 y y 3.32954 -T 0 29 z z 3.32954 -F 1 3.40644 -T 1 0 -F 2 3.40644 -T 2 0 -F 3 3.40644 -T 3 0 -F 4 3.40644 -T 4 0 -F 5 3.40644 -T 5 0 -F 6 3.40644 -T 6 0 -F 7 3.40644 -T 7 0 -F 8 3.40644 -T 8 0 -F 9 3.40644 -T 9 0 -F 10 3.40644 -T 10 0 -F 11 3.40644 -T 11 0 -F 12 3.40644 -T 12 0 -F 13 3.40644 -T 13 0 -F 14 3.40644 -T 14 0 -F 15 3.40644 -T 15 0 -F 16 3.40644 -T 16 0 -F 17 3.40644 -T 17 0 -F 18 3.40644 -T 18 0 -F 19 3.40644 -T 19 0 -F 20 3.40644 -T 20 0 -F 21 3.40644 -T 21 0 -F 22 3.40644 -T 22 0 -F 23 3.40644 -T 23 0 -F 24 3.40644 -T 24 0 -F 25 3.40644 -T 25 0 -F 26 3.40644 -T 26 0 -F 27 3.40644 -T 27 0 -F 28 3.40644 -T 28 0 -F 29 3.40644 -T 29 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.lm deleted file mode 100755 index d90a70e0..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.flat_unigram.lm +++ /dev/null @@ -1,71 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 28 words, - which begins "", "a", "b"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 27 -1-gram discounting ratios : 0.93 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=29 - -\1-grams: --1.4460 0.0000 --99.0000 0.0000 --1.4460 a 0.0000 --1.4460 b 0.0000 --1.4460 c 0.0000 --1.4460 d 0.0000 --1.4460 e 0.0000 --1.4460 f 0.0000 --1.4460 g 0.0000 --1.4460 h 0.0000 --1.4460 i 0.0000 --1.4460 j 0.0000 --1.4460 k 0.0000 --1.4460 l 0.0000 --1.4460 m 0.0000 --1.4460 n 0.0000 --1.4460 o 0.0000 --1.4460 p 0.0000 --1.4460 q 0.0000 --1.4460 r 0.0000 --1.4460 s 0.0000 --1.4460 t 0.0000 --1.4460 u 0.0000 --1.4460 v 0.0000 --1.4460 w 0.0000 --1.4460 x 0.0000 --1.4460 y 0.0000 --1.4460 z 0.0000 --1.4794 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.fst deleted file mode 100755 index 8c9358c8..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.fst +++ /dev/null @@ -1,2043 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 230.256 -T 0 1 230.256 -T 0 4 a a 2.62978 -T 0 23 b b 3.22938 -T 0 33 c c 3.76818 -T 0 47 d d 3.44052 -T 0 66 e e 2.3567 -T 0 90 f f 4.44123 -T 0 100 g g 3.34266 -T 0 114 h h 2.95974 -T 0 137 i i 2.72557 -T 0 157 j j 5.09516 -T 0 162 k k 4.16353 -T 0 181 l l 2.97793 -T 0 202 m m 3.67124 -T 0 214 n n 2.8004 -T 0 238 o o 2.82389 -T 0 259 p p 3.32931 -T 0 272 q q 230.256 -T 0 274 r r 2.41841 -T 0 295 s s 2.82389 -T 0 313 t t 2.52432 -T 0 329 u u 3.30352 -T 0 343 v v 4.19439 -T 0 348 w w 3.89897 -T 0 364 x x 230.256 -T 0 366 y y 4.13383 -T 0 384 z z 5.7141 -F 1 230.256 -T 1 0 -F 2 230.256 -T 2 0 -F 3 230.256 -T 3 0 -F 4 231.846 -T 4 0 , , 1.58962 -T 4 5 a a 4.2194 -T 4 6 c c 2.78912 -T 4 7 d d 3.02652 -T 4 8 e e 3.94631 -T 4 9 f f 4.65352 -T 4 10 h h 3.54022 -T 4 11 k k 5.75315 -T 4 12 l l 2.51373 -T 4 13 m m 2.78912 -T 4 14 n n 1.92496 -T 4 15 p p 4.13383 -T 4 16 r r 1.4405 -T 4 17 s s 2.78912 -T 4 18 t t 2.78912 -T 4 19 u u 4.89313 -T 4 20 v v 2.78912 -T 4 21 w w 4.65352 -T 4 22 y y 3.54022 -F 5 232.144 -T 5 4 , , 0.298445 -T 5 14 n n 1.00439 -F 6 231.869 -T 6 33 , , 0.401081 -T 6 34 a a 1.99058 -T 6 37 e e 1.99058 -T 6 40 k k 1.99058 -T 6 43 o o 1.44119 -T 6 46 y y 3.30697 -F 7 231.38 -T 7 47 , , 0.275028 -T 7 50 c c 3.08385 -T 7 51 d d 1.76746 -T 7 53 f f 3.08385 -T 7 54 h h 3.08385 -F 8 231.982 -T 8 66 , , 0.741063 -T 8 72 f f 2.10295 -T 8 78 l l 0.786563 -F 9 231.377 -T 9 90 , , 0.145815 -T 9 96 i i 1.6977 -T 9 99 t t 1.6977 -F 10 231.684 -T 10 114 , , 0.981408 -T 10 115 a a 1.29728 -T 10 128 o o 0.74811 -F 11 231.154 -T 11 162 , , 0.435742 -T 11 166 d d 1.00439 -F 12 231.643 -T 12 181 , , 0.147955 -T 12 185 d d 2.25285 -T 12 186 e e 1.35116 -T 12 193 m m 3.56947 -T 12 197 t t 3.56947 -T 12 198 u u 3.56947 -T 12 201 z z 3.56947 -F 13 232.273 -T 13 202 , , 0.524296 -T 13 205 e e 1.44119 -T 13 210 p p 1.44119 -T 13 211 s s 3.30697 -T 13 213 y y 3.30697 -F 14 231.272 -T 14 214 , , 0.268037 -T 14 218 d d 1.66155 -T 14 219 e e 1.92174 -T 14 220 f f 4.14005 -T 14 228 n n 2.82343 -T 14 230 p p 2.82343 -T 14 233 t t 2.27426 -T 14 237 z z 4.14005 -F 15 232.04 -T 15 259 , , 0.185586 -T 15 260 a a 2.10295 -T 15 265 l l 2.10295 -F 16 231.952 -T 16 274 , , 0.689597 -T 16 276 b b 4.6153 -T 16 278 d d 2.13703 -T 16 279 e e 2.74952 -T 16 283 k k 2.13703 -T 16 284 l l 2.13703 -T 16 285 m m 4.6153 -T 16 286 n n 2.74952 -T 16 289 r r 2.39722 -T 16 291 t t 2.74952 -T 16 294 y y 3.29891 -F 17 232.493 -T 17 295 , , 0.688116 -T 17 304 m m 3.30697 -T 17 307 p p 1.99058 -T 17 309 t t 0.8287 -F 18 232.451 -T 18 313 , , 0.396426 -T 18 314 a a 3.30697 -T 18 316 e e 1.99058 -T 18 317 g g 3.30697 -T 18 318 h h 1.99058 -T 18 327 t t 1.08889 -F 19 232.2 -T 19 329 , , 0.4244 -T 19 335 l l 1.00439 -F 20 232.904 -T 20 343 , , 0.191657 -T 20 345 e e 0.622389 -T 20 346 i i 1.44119 -T 20 347 k k 3.30697 -F 21 231.321 -T 21 348 , , 0.368005 -T 21 360 r r 1.6977 -T 21 361 t t 1.6977 -F 22 231.134 -T 22 366 , , 0.366871 -T 22 368 b b 2.61389 -T 22 371 e e 2.61389 -T 22 375 l l 1.29728 -T 22 377 n n 2.61389 -F 23 232.353 -T 23 0 , , 2.09714 -T 23 24 a a 3.19921 -T 23 25 b b 5.20338 -T 23 26 e e 2.43222 -T 23 27 i i 4.82271 -T 23 28 l l 5.07507 -T 23 29 o o 3.19921 -T 23 30 r r 2.09443 -T 23 31 s s 3.53953 -T 23 32 u u 0.501733 -F 24 233.418 -T 24 4 , , 1.57231 -T 24 16 r r 0.172464 -F 25 232.78 -T 25 23 , , 0.426674 -T 25 31 s s 1.00439 -F 26 231.796 -T 26 66 , , 0.555126 -T 26 67 a a 1.76746 -T 26 69 c c 3.08385 -T 26 71 e e 3.08385 -T 26 82 r r 1.21807 -T 26 86 v v 3.08385 -F 27 232.032 -T 27 137 , , 0.289698 -T 27 149 n n 1.00439 -F 28 231.82 -T 28 181 , , 0.324236 -T 28 182 a a 1.00439 -F 29 232.335 -T 29 238 , , 0.930825 -T 29 252 r r 1.07416 -T 29 255 u u 1.07416 -F 30 232.105 -T 30 274 , , 0.84275 -T 30 275 a a 2.08591 -T 30 287 o o 0.717716 -T 30 292 u u 3.4023 -F 31 232.551 -T 31 295 , , 0.745358 -T 31 306 o o 0.786563 -T 31 308 s s 2.10295 -F 32 234.338 -T 32 329 , , 2.56275 -T 32 331 c c 4.95562 -T 32 340 r r 0.0320059 -F 33 231.468 -T 33 0 , , 1.21204 -T 33 34 a a 2.04516 -T 33 35 b b 4.44141 -T 33 36 c c 4.67287 -T 33 37 e e 2.04516 -T 33 38 h h 1.38892 -T 33 39 i i 3.93761 -T 33 40 k k 1.90147 -T 33 41 l l 3.52871 -T 33 42 m m 4.67287 -T 33 43 o o 2.21324 -T 33 44 p p 4.54134 -T 33 45 r r 3.63044 -T 33 46 y y 4.67287 -F 34 232.015 -T 34 4 , , 0.168906 -T 34 10 h h 2.9503 -T 34 12 l l 1.63391 -T 34 17 s s 2.9503 -T 34 20 v v 2.9503 -F 35 232.718 -T 35 23 , , 0.364189 -T 35 26 e e 1.00439 -F 36 231.638 -T 36 33 , , 0.169322 -T 36 38 h h 1.00439 -F 37 231.603 -T 37 66 , , 0.361425 -T 37 73 g g 2.9503 -T 37 80 n n 1.63391 -T 37 83 s s 1.63391 -F 38 231.603 -T 38 114 , , 0.900332 -T 38 115 a a 0.714032 -T 38 120 f f 3.56947 -T 38 123 i i 3.56947 -T 38 130 r r 2.25285 -T 38 132 t t 2.25285 -F 39 232.032 -T 39 137 , , 0.289698 -T 39 149 n n 1.00439 -F 40 231.141 -T 40 162 , , 0.422787 -T 40 173 k k 3.08385 -T 40 174 l l 3.08385 -T 40 175 p p 1.76746 -T 40 179 w w 1.76746 -T 40 180 y y 3.08385 -F 41 231.772 -T 41 181 , , 0.276254 -T 41 182 a a 1.6977 -T 41 194 o o 1.6977 -F 42 232.196 -T 42 202 , , 0.447598 -T 42 212 u u 1.00439 -F 43 232.077 -T 43 238 , , 0.672899 -T 43 247 l l 2.79626 -T 43 249 n n 0.577949 -F 44 231.854 -T 44 259 , , -1.81277e-09 -F 45 231.662 -T 45 274 , , 0.399461 -T 45 275 a a 1.00439 -F 46 231.18 -T 46 366 , , 0.413309 -T 46 382 v v 1.00439 -F 47 231.105 -T 47 0 , , 0.848968 -T 47 48 a a 1.98621 -T 47 49 b b 4.07834 -T 47 50 c c 4.61715 -T 47 51 d d 3.85061 -T 47 52 e e 2.36729 -T 47 53 f f 3.33092 -T 47 54 h h 3.80871 -T 47 55 i i 3.57454 -T 47 56 j j 4.995 -T 47 57 l l 3.8269 -T 47 58 o o 2.22361 -T 47 59 p p 2.09789 -T 47 60 r r 2.53538 -T 47 61 s s 2.73731 -T 47 62 t t 3.37329 -T 47 63 u u 4.15249 -T 47 64 w w 2.36729 -T 47 65 y y 3.85061 -F 48 232.855 -T 48 4 , , 1.0093 -T 48 12 l l 1.99058 -T 48 13 m m 1.99058 -T 48 20 v v 0.8287 -F 49 232.768 -T 49 23 , , 0.414481 -T 49 24 a a 1.00439 -F 50 231.898 -T 50 33 , , 0.429268 -T 50 45 r r 1.00439 -F 51 232.14 -T 51 47 , , 1.03471 -T 51 58 o o 0.381078 -F 52 231.953 -T 52 66 , , 0.712148 -T 52 67 a a 2.9503 -T 52 68 b b 2.9503 -T 52 70 d d 2.9503 -T 52 82 r r 0.732222 -F 53 231.783 -T 53 90 , , 0.551351 -T 53 94 e e 2.10295 -T 53 97 o o 0.786563 -F 54 231.042 -T 54 114 , , 0.339636 -T 54 119 e e 1.6977 -T 54 123 i i 1.6977 -F 55 231.778 -T 55 137 , , 0.0358117 -T 55 149 n n 1.6977 -F 56 231.905 -T 56 157 , , 0.0718196 -T 56 159 e e 1.00439 -F 57 231.697 -T 57 181 , , 0.201894 -T 57 186 e e 1.00439 -F 58 231.778 -T 58 238 , , 0.37427 -T 58 241 c c 3.08385 -T 58 247 l l 3.08385 -T 58 255 u u 3.08385 -T 58 256 w w 1.21807 -F 59 232.769 -T 59 259 , , 0.914568 -T 59 264 i i 0.200325 -T 59 265 l l 3.20174 -F 60 232.111 -T 60 274 , , 0.84814 -T 60 275 a a 2.79626 -T 60 282 i i 0.577949 -T 60 287 o o 2.79626 -F 61 232 -T 61 295 , , 0.195085 -T 61 296 a a 2.61389 -T 61 306 o o 2.61389 -T 61 310 u u 2.61389 -T 61 312 w w 2.61389 -F 62 232.484 -T 62 313 , , 0.429662 -T 62 319 i i 1.00439 -F 63 232.213 -T 63 329 , , 0.437382 -T 63 334 g g 1.00439 -F 64 231.235 -T 64 348 , , 0.282091 -T 64 349 a a 1.63391 -T 64 354 h h 2.9503 -T 64 355 i i 1.63391 -T 64 358 o o 1.63391 -F 65 231.134 -T 65 366 , , 0.367013 -T 65 367 a a 1.6977 -T 65 377 n n 1.6977 -F 66 231.241 -T 66 0 , , 0.98512 -T 66 67 a a 2.63646 -T 66 68 b b 3.81147 -T 66 69 c c 4.7533 -T 66 70 d d 3.81147 -T 66 71 e e 3.29776 -T 66 72 f f 4.92477 -T 66 73 g g 4.06498 -T 66 74 h h 3.94486 -T 66 75 i i 3.71069 -T 66 76 j j 4.92477 -T 66 77 k k 5.14865 -T 66 78 l l 2.2418 -T 66 79 m m 3.81147 -T 66 80 n n 2.07095 -T 66 81 p p 2.44788 -T 66 82 r r 1.92496 -T 66 83 s s 2.86879 -T 66 84 t t 3.50944 -T 66 85 u u 4.28864 -T 66 86 v v 3.06037 -T 66 87 w w 2.63646 -T 66 88 y y 3.60953 -T 66 89 z z 6.06915 -F 67 232.293 -T 67 4 , , 0.44754 -T 67 6 c c 2.39607 -T 67 7 d d 2.39607 -T 67 14 n n 1.84667 -T 67 15 p p 3.71246 -T 67 17 s s 1.84667 -T 67 20 v v 2.39607 -F 68 232.863 -T 68 23 , , 0.50964 -T 68 30 r r 0.74811 -F 69 231.661 -T 69 33 , , 0.192855 -T 69 36 c c 1.6977 -F 70 231.342 -T 70 47 , , 0.23666 -T 70 60 r r 1.29728 -F 71 231.59 -T 71 66 , , 0.348553 -T 71 78 l l 1.76746 -T 71 82 r r 1.76746 -T 71 83 s s 1.76746 -F 72 231.429 -T 72 90 , , 0.196931 -T 72 95 f f 1.6977 -T 72 98 r r 1.6977 -F 73 232.871 -T 73 100 , , 1.00931 -T 73 105 i i 1.07416 -T 73 106 l l 1.07416 -F 74 231.135 -T 74 114 , , 0.432326 -T 74 133 u u 1.00439 -F 75 232.585 -T 75 137 , , 0.842341 -T 75 141 d d 2.61389 -T 75 147 l l 0.74811 -T 75 156 v v 2.61389 -F 76 232.488 -T 76 157 , , 0.654162 -T 76 160 o o 0.381078 -F 77 231.16 -T 77 162 , , 0.441481 -T 77 165 c c 1.00439 -F 78 232.152 -T 78 181 , , 0.656629 -T 78 183 b b 4.09561 -T 78 185 d d 1.61711 -T 78 188 g g 4.09561 -T 78 191 k k 4.09561 -T 78 192 l l 1.09419 -T 78 196 s s 2.77899 -F 79 231.99 -T 79 202 , , 0.240713 -T 79 204 c c 2.61389 -T 79 209 o o 1.29728 -T 79 210 p p 2.61389 -F 80 231.421 -T 80 214 , , 0.416645 -T 80 218 d d 2.39676 -T 80 220 f f 2.94593 -T 80 227 m m 2.94593 -T 80 228 n n 2.04423 -T 80 232 s s 2.94593 -T 80 233 t t 2.39676 -T 80 234 u u 2.39676 -F 81 231.986 -T 81 259 , , 0.131817 -T 81 263 h h 2.02904 -T 81 264 i i 0.653243 -T 81 267 o o 2.5782 -T 81 271 y y 3.89482 -F 82 231.586 -T 82 274 , , 0.323393 -T 82 275 a a 3.08915 -T 82 276 b b 3.08915 -T 82 279 e e 2.18746 -T 82 280 f f 4.40554 -T 82 282 i i 2.18746 -T 82 283 k k 3.08915 -T 82 284 l l 2.18746 -T 82 285 m m 4.40554 -T 82 287 o o 2.53998 -T 82 288 p p 4.40554 -T 82 290 s s 3.08915 -T 82 291 t t 3.08915 -F 83 232.285 -T 83 295 , , 0.479431 -T 83 296 a a 2.17295 -T 83 299 e e 2.17295 -T 83 301 j j 2.17295 -T 83 304 m m 3.48934 -T 83 307 p p 2.17295 -T 83 312 w w 3.48934 -F 84 233.177 -T 84 313 , , 1.12313 -T 84 324 p p 0.930475 -T 84 327 t t 0.930475 -F 85 232.2 -T 85 329 , , 0.4244 -T 85 335 l l 1.00439 -F 86 233.368 -T 86 343 , , 0.655809 -T 86 344 a a 1.99058 -T 86 345 e e 0.305783 -F 87 231.211 -T 87 348 , , 0.2582 -T 87 350 b b 3.71246 -T 87 358 o o 1.23419 -T 87 359 p p 3.71246 -T 87 363 y y 2.39607 -F 88 231.078 -T 88 366 , , 0.310572 -T 88 368 b b 2.79626 -T 88 370 d d 1.47964 -T 88 378 o o 2.79626 -T 88 380 s s 2.79626 -F 89 230.915 -T 89 384 , , 0.0873977 -T 89 386 e e 1.00439 -F 90 231.232 -T 90 0 , , 0.975461 -T 90 91 a a 3.60524 -T 90 92 b b 4.01893 -T 90 93 c c 4.01893 -T 90 94 e e 1.76125 -T 90 95 f f 2.87478 -T 90 96 i i 1.76125 -T 90 97 o o 2.35508 -T 90 98 r r 1.76125 -T 90 99 t t 2.35508 -F 91 232.032 -T 91 4 , , 0.185882 -T 91 16 r r 1.00439 -F 92 232.768 -T 92 23 , , 0.414481 -T 92 29 o o 1.00439 -F 93 231.786 -T 93 33 , , 0.317604 -T 93 37 e e 1.00439 -F 94 231.352 -T 94 66 , , 0.110711 -T 94 70 d d 2.61389 -T 94 75 i i 2.61389 -F 95 231.477 -T 95 90 , , 0.24556 -T 95 93 c c 1.6977 -T 95 98 r r 1.6977 -F 96 232.129 -T 96 137 , , 0.386833 -T 96 142 e e 2.61389 -T 96 143 f f 1.29728 -T 96 147 l l 2.61389 -F 97 232.801 -T 97 238 , , 1.39724 -T 97 252 r r 0.237397 -F 98 231.928 -T 98 274 , , 0.66595 -T 98 275 a a 1.29728 -T 98 282 i i 2.61389 -T 98 287 o o 1.29728 -F 99 232.785 -T 99 313 , , 0.730981 -T 99 318 h h 0.786563 -T 99 323 o o 2.10295 -F 100 231.862 -T 100 0 , , 1.60569 -T 100 101 a a 3.08731 -T 100 102 c c 5.09148 -T 100 103 d d 5.04622 -T 100 104 h h 0.4094 -T 100 105 i i 2.63185 -T 100 106 l l 2.83402 -T 100 107 m m 5.09148 -T 100 108 n n 4.4061 -T 100 109 o o 4.42958 -T 100 110 r r 3.94732 -T 100 111 s s 4.42958 -T 100 112 t t 4.13002 -T 100 113 v v 5.09148 -F 101 232.641 -T 101 4 , , 0.795005 -T 101 16 r r 0.524989 -T 101 18 t t 2.39077 -F 102 231.786 -T 102 33 , , 0.317604 -T 102 34 a a 1.00439 -F 103 231.463 -T 103 47 , , 0.357707 -T 103 52 e e 1.00439 -F 104 231.276 -T 104 114 , , 0.573072 -T 104 116 b b 2.45801 -T 104 117 c c 3.0705 -T 104 120 f f 3.0705 -T 104 121 g g 3.0705 -T 104 122 h h 2.71797 -T 104 124 j j 3.61966 -T 104 125 l l 2.45801 -T 104 126 m m 2.71797 -T 104 129 p p 3.61966 -T 104 131 s s 2.2517 -T 104 132 t t 3.0705 -F 105 232.379 -T 105 137 , , 0.636203 -T 105 139 b b 0.930475 -T 105 142 e e 2.79626 -T 105 155 u u 2.79626 -F 106 232.44 -T 106 181 , , 0.944731 -T 106 182 a a 2.61389 -T 106 186 e e 0.395584 -F 107 231.796 -T 107 202 , , 0.0470524 -T 107 203 a a 1.00439 -F 108 231.431 -T 108 214 , , 0.427615 -T 108 229 o o 1.00439 -F 109 231.834 -T 109 238 , , 0.430373 -T 109 254 t t 1.00439 -F 110 231.476 -T 110 274 , , 0.213403 -T 110 279 e e 1.6977 -T 110 287 o o 1.6977 -F 111 232.201 -T 111 295 , , 0.395528 -T 111 307 p p 1.00439 -F 112 232.472 -T 112 313 , , 0.417579 -T 112 323 o o 1.00439 -F 113 232.987 -T 113 343 , , 0.274979 -T 113 346 i i 1.00439 -F 114 230.702 -T 114 0 , , 0.446226 -T 114 115 a a 1.55401 -T 114 116 b b 3.2128 -T 114 117 c c 3.8064 -T 114 118 d d 3.88675 -T 114 119 e e 2.80292 -T 114 120 f f 3.46608 -T 114 121 g g 3.78889 -T 114 122 h h 3.40597 -T 114 123 i i 3.01086 -T 114 124 j j 4.3261 -T 114 125 l l 3.2128 -T 114 126 m m 3.46608 -T 114 127 n n 3.24663 -T 114 128 o o 2.18653 -T 114 129 p p 3.46608 -T 114 130 r r 2.86463 -T 114 131 s s 2.84277 -T 114 132 t t 2.97055 -T 114 133 u u 3.74975 -T 114 134 v v 4.3261 -T 114 135 w w 4.34519 -T 114 136 y y 4.3261 -F 115 232.033 -T 115 4 , , 0.18716 -T 115 8 e e 2.86603 -T 115 13 m m 2.86603 -T 115 16 r r 1.49783 -T 115 17 s s 2.31686 -T 115 21 w w 2.86603 -F 116 232.653 -T 116 23 , , 0.299415 -T 116 26 e e 2.61389 -T 116 28 l l 2.61389 -T 116 30 r r 1.29728 -F 117 231.585 -T 117 33 , , 0.116393 -T 117 34 a a 2.10295 -T 117 37 e e 2.10295 -T 117 41 l l 2.10295 -F 118 231.447 -T 118 47 , , 0.341597 -T 118 58 o o 1.00439 -F 119 231.642 -T 119 66 , , 0.401016 -T 119 67 a a 1.63391 -T 119 75 i i 2.9503 -T 119 87 w w 1.63391 -F 120 231.577 -T 120 90 , , 0.345743 -T 120 91 a a 2.39077 -T 120 94 e e 1.07416 -F 121 232.209 -T 121 100 , , 0.347269 -T 121 105 i i 2.10295 -T 121 109 o o 2.10295 -T 121 110 r r 2.10295 -F 122 231.094 -T 122 114 , , 0.391445 -T 122 123 i i 2.39077 -T 122 128 o o 1.07416 -F 123 231.982 -T 123 137 , , 0.239264 -T 123 144 g g 2.79626 -T 123 147 l l 2.79626 -T 123 149 n n 1.47964 -T 123 152 r r 2.79626 -F 124 231.833 -T 124 157 , , -2.92515e-09 -F 125 231.7 -T 125 181 , , 0.204503 -T 125 186 e e 1.29728 -T 125 194 o o 2.61389 -T 125 198 u u 2.61389 -F 126 232.235 -T 126 202 , , 0.486336 -T 126 203 a a 0.524989 -F 127 231.223 -T 127 214 , , 0.219278 -T 127 225 k k 2.39077 -T 127 229 o o 2.39077 -T 127 232 s s 2.39077 -F 128 231.703 -T 128 238 , , 0.299549 -T 128 240 b b 2.25285 -T 128 243 e e 3.56947 -T 128 244 f f 3.56947 -T 128 247 l l 2.25285 -T 128 255 u u 2.25285 -T 128 257 y y 3.56947 -F 129 232.003 -T 129 259 , , 0.14837 -T 129 267 o o 2.39077 -T 129 270 u u 2.39077 -F 130 231.895 -T 130 274 , , 0.632278 -T 130 282 i i 0.786563 -T 130 287 o o 2.10295 -F 131 231.991 -T 131 295 , , 0.185307 -T 131 298 c c 2.9503 -T 131 302 k k 2.9503 -T 131 304 m m 2.9503 -T 131 305 n n 2.9503 -T 131 307 p p 2.9503 -T 131 312 w w 2.9503 -F 132 232.534 -T 132 313 , , 0.479832 -T 132 316 e e 1.47964 -T 132 318 h h 1.47964 -T 132 319 i i 2.79626 -F 133 231.775 -T 133 329 , , 2.94536e-08 -F 134 232.97 -T 134 343 , , 0.257821 -T 134 345 e e 0.381078 -F 135 231.25 -T 135 348 , , 0.297142 -T 135 355 i i 1.00439 -F 136 231.037 -T 136 366 , , 0.270236 -T 136 369 c c 1.6977 -T 136 375 l l 1.6977 -F 137 231.742 -T 137 0 , , 1.48611 -T 137 138 a a 4.0385 -T 137 139 b b 4.0385 -T 137 140 c c 2.41864 -T 137 141 d d 3.69818 -T 137 142 e e 2.80547 -T 137 143 f f 3.69818 -T 137 144 g g 4.0385 -T 137 145 j j 5.70235 -T 137 146 k k 5.64964 -T 137 147 l l 2.80547 -T 137 148 m m 3.4449 -T 137 149 n n 1.87523 -T 137 150 o o 4.31 -T 137 151 p p 4.81542 -T 137 152 r r 3.90451 -T 137 153 s s 3.4449 -T 137 154 t t 1.0608 -T 137 155 u u 4.78963 -T 137 156 v v 3.4449 -F 138 231.995 -T 138 4 , , 0.148775 -T 138 6 c c 2.10295 -T 138 13 m m 2.10295 -F 139 233.18 -T 139 23 , , 0.826438 -T 139 25 b b 2.10295 -T 139 31 s s 0.786563 -F 140 231.975 -T 140 33 , , 0.506311 -T 140 35 b b 3.56947 -T 140 38 h h 0.714032 -T 140 40 k k 2.25285 -T 140 44 p p 3.56947 -F 141 231.28 -T 141 47 , , 0.174502 -T 141 52 e e 2.39077 -T 141 53 f f 2.39077 -T 141 54 h h 2.39077 -T 141 64 w w 2.39077 -F 142 231.365 -T 142 66 , , 0.123475 -T 142 78 l l 1.88513 -T 142 79 m m 3.20174 -T 142 82 r r 1.88513 -T 142 84 t t 3.20174 -F 143 231.55 -T 143 90 , , 0.318227 -T 143 99 t t 1.07416 -F 144 231.917 -T 144 100 , , 0.0555534 -T 144 105 i i 2.10295 -F 145 231.833 -T 145 157 , , 8.08062e-10 -F 146 230.964 -T 146 162 , , 0.245168 -T 146 167 e e 1.00439 -F 147 231.978 -T 147 181 , , 0.482189 -T 147 191 k k 3.20174 -T 147 192 l l 0.983434 -T 147 193 m m 3.20174 -T 147 199 w w 3.20174 -F 148 231.939 -T 148 202 , , 0.190179 -T 148 206 i i 2.61389 -T 148 207 m m 2.61389 -T 148 209 o o 1.29728 -F 149 231.57 -T 149 214 , , 0.565829 -T 149 216 b b 4.09561 -T 149 217 c c 2.77899 -T 149 218 d d 1.8773 -T 149 221 g g 1.61711 -T 149 222 h h 4.09561 -T 149 223 i i 2.22982 -T 149 230 p p 2.77899 -T 149 232 s s 2.77899 -F 150 231.808 -T 150 238 , , 0.403867 -T 150 248 m m 1.00439 -F 151 232.278 -T 151 259 , , 0.423565 -T 151 269 s s 1.00439 -F 152 231.605 -T 152 274 , , 0.342154 -T 152 279 e e 1.00439 -F 153 232.185 -T 153 295 , , 0.379804 -T 153 299 e e 2.61389 -T 153 300 h h 2.61389 -T 153 308 s s 2.61389 -T 153 309 t t 1.29728 -F 154 234.768 -T 154 313 , , 2.71423 -T 154 318 h h 3.57983 -T 154 322 n n 4.89622 -T 154 327 t t 0.0771366 -F 155 231.775 -T 155 329 , , 2.94536e-08 -F 156 232.939 -T 156 343 , , 0.227246 -T 156 345 e e 0.395584 -F 157 231.833 -T 157 0 , , 1.57714 -T 157 158 a a 2.25561 -T 157 159 e e 1.14231 -T 157 160 o o 0.940376 -T 157 161 u u 3.39977 -F 158 232.932 -T 158 4 , , 1.0858 -T 158 13 m m 0.381078 -F 159 231.67 -T 159 66 , , 0.429157 -T 159 67 a a 1.29728 -T 159 72 f f 2.61389 -T 159 84 t t 2.61389 -F 160 231.992 -T 160 238 , , 0.588381 -T 160 242 d d 2.79626 -T 160 245 h h 1.47964 -T 160 253 s s 1.47964 -F 161 232.2 -T 161 329 , , 0.4244 -T 161 335 l l 1.00439 -F 162 230.719 -T 162 0 , , 0.46246 -T 162 163 a a 2.28301 -T 162 164 b b 3.14303 -T 162 165 c c 4.23064 -T 162 166 d d 3.90298 -T 162 167 e e 1.6597 -T 162 168 f f 4.28718 -T 162 169 g g 3.80512 -T 162 170 h h 3.4222 -T 162 171 i i 2.62334 -T 162 172 j j 4.28718 -T 162 173 k k 3.14303 -T 162 174 l l 3.44039 -T 162 175 p p 3.14303 -T 162 176 r r 2.88086 -T 162 177 s s 3.28635 -T 162 178 u u 3.76598 -T 162 179 w w 3.14303 -T 162 180 y y 3.14303 -F 163 233.418 -T 163 4 , , 1.57231 -T 163 16 r r 0.172464 -F 164 232.572 -T 164 23 , , 0.219071 -T 164 26 e e 1.6977 -T 164 30 r r 1.6977 -F 165 231.809 -T 165 33 , , 0.340332 -T 165 43 o o 1.00439 -F 166 231.414 -T 166 47 , , 0.308541 -T 166 48 a a 1.00439 -F 167 231.621 -T 167 66 , , 0.379895 -T 167 67 a a 1.63391 -T 167 71 e e 1.63391 -F 168 231.499 -T 168 90 , , 0.267593 -T 168 96 i i 1.00439 -F 169 232.271 -T 169 100 , , 0.409432 -T 169 101 a a 1.00439 -F 170 230.921 -T 170 114 , , 0.218638 -T 170 115 a a 1.00439 -F 171 232.399 -T 171 137 , , 0.656725 -T 171 148 m m 2.10295 -T 171 149 n n 0.786563 -F 172 231.905 -T 172 157 , , 0.0718196 -T 172 159 e e 1.00439 -F 173 230.829 -T 173 162 , , 0.110483 -T 173 163 a a 1.6977 -T 173 167 e e 1.6977 -F 174 231.697 -T 174 181 , , 0.201894 -T 174 186 e e 1.00439 -F 175 232.024 -T 175 259 , , 0.16968 -T 175 262 g g 1.6977 -F 176 231.605 -T 176 274 , , 0.342154 -T 176 287 o o 1.00439 -F 177 232.234 -T 177 295 , , 0.428448 -T 177 308 s s 1.00439 -F 178 232.213 -T 178 329 , , 0.437382 -T 178 337 n n 1.00439 -F 179 231.153 -T 179 348 , , 0.200122 -T 179 354 h h 1.6977 -T 179 358 o o 1.6977 -F 180 231.104 -T 180 366 , , 0.336781 -T 180 370 d d 1.6977 -T 180 374 j j 1.6977 -F 181 231.495 -T 181 0 , , 1.23922 -T 181 182 a a 2.09098 -T 181 183 b b 3.78821 -T 181 184 c c 5.0074 -T 181 185 d d 2.34311 -T 181 186 e e 1.49392 -T 181 187 f f 5.45206 -T 181 188 g g 4.58188 -T 181 189 i i 2.25193 -T 181 190 j j 5.45206 -T 181 191 k k 4.30791 -T 181 192 l l 1.95259 -T 181 193 m m 3.78821 -T 181 194 o o 3.19461 -T 181 195 p p 4.56852 -T 181 196 s s 3.44789 -T 181 197 t t 3.76354 -T 181 198 u u 3.78821 -T 181 199 w w 5.13818 -T 181 200 y y 3.78821 -T 181 201 z z 5.45206 -F 182 232.44 -T 182 4 , , 0.594474 -T 182 5 a a 3.64361 -T 182 6 c c 1.4253 -T 182 13 m m 2.32699 -T 182 14 n n 1.4253 -F 183 233.077 -T 183 23 , , 0.723877 -T 183 26 e e 0.786563 -T 183 29 o o 2.10295 -F 184 231.638 -T 184 33 , , 0.169322 -T 184 38 h h 1.00439 -F 185 231.246 -T 185 47 , , 0.140942 -T 185 48 a a 2.08591 -T 185 49 b b 3.4023 -T 185 55 i i 3.4023 -T 185 56 j j 3.4023 -T 185 61 s s 2.08591 -T 185 62 t t 3.4023 -F 186 231.509 -T 186 66 , , 0.267778 -T 186 68 b b 2.90678 -T 186 71 e e 2.90678 -T 186 73 g g 4.2234 -T 186 83 s s 2.35762 -T 186 85 u u 4.2234 -T 186 88 y y 2.00509 -F 187 231.588 -T 187 90 , , 0.356437 -T 187 97 o o 1.00439 -F 188 232.243 -T 188 100 , , 0.381466 -T 188 105 i i 1.00439 -F 189 232.208 -T 189 137 , , 0.465217 -T 189 138 a a 3.48934 -T 189 142 e e 1.62355 -T 189 143 f f 3.48934 -T 189 144 g g 3.48934 -T 189 149 n n 1.62355 -T 189 150 o o 3.48934 -T 189 151 p p 3.48934 -T 189 153 s s 3.48934 -F 190 232.256 -T 190 157 , , 0.42218 -T 190 161 u u 1.00439 -F 191 230.983 -T 191 162 , , 0.264227 -T 191 163 a a 1.6977 -T 191 171 i i 1.6977 -F 192 231.807 -T 192 181 , , 0.31179 -T 192 183 b b 3.77693 -T 192 184 c c 3.77693 -T 192 189 i i 1.55885 -T 192 190 j j 3.77693 -T 192 193 m m 3.77693 -T 192 195 p p 3.77693 -T 192 200 y y 2.46054 -F 193 232.145 -T 193 202 , , 0.396592 -T 193 209 o o 0.786563 -F 194 231.437 -T 194 238 , , 0.033312 -T 194 255 u u 2.61389 -T 194 256 w w 2.61389 -F 195 231.854 -T 195 259 , , -1.81277e-09 -F 196 232.091 -T 196 295 , , 0.285951 -T 196 302 k k 2.39077 -T 196 306 o o 2.39077 -T 196 310 u u 2.39077 -T 196 312 w w 2.39077 -F 197 232.502 -T 197 313 , , 0.447513 -T 197 321 m m 1.00439 -F 198 232.156 -T 198 329 , , 0.38119 -T 198 330 b b 2.10295 -T 198 332 d d 2.10295 -T 198 341 s s 2.10295 -F 199 231.25 -T 199 348 , , 0.297142 -T 199 355 i i 1.00439 -F 200 231.021 -T 200 366 , , 0.25417 -T 200 369 c c 2.10295 -T 200 379 p p 2.10295 -T 200 380 s s 2.10295 -F 201 230.915 -T 201 384 , , 0.0873977 -T 201 386 e e 1.00439 -F 202 231.749 -T 202 0 , , 1.49262 -T 202 203 a a 1.09143 -T 202 204 c c 4.76819 -T 202 205 e e 2.14048 -T 202 206 i i 2.51051 -T 202 207 m m 3.62381 -T 202 208 n n 4.29302 -T 202 209 o o 1.65901 -T 202 210 p p 2.76402 -T 202 211 s s 3.10411 -T 202 212 u u 4.76819 -T 202 213 y y 4.76819 -F 203 232.207 -T 203 4 , , 0.360811 -T 203 15 p p 3.94893 -T 203 16 r r 0.947514 -T 203 17 s s 2.63232 -T 203 18 t t 2.63232 -T 203 19 u u 3.94893 -F 204 231.763 -T 204 33 , , 0.294378 -T 204 40 k k 1.00439 -F 205 231.906 -T 205 66 , , 0.664255 -T 205 67 a a 2.9503 -T 205 79 m m 2.9503 -T 205 82 r r 1.08452 -T 205 83 s s 1.63391 -F 206 232.093 -T 206 137 , , 0.350887 -T 206 140 c c 1.29728 -T 206 141 d d 2.61389 -T 206 154 t t 1.29728 -F 207 232.028 -T 207 202 , , 0.278748 -T 207 205 e e 1.6977 -T 207 211 s s 1.6977 -F 208 231.28 -T 208 214 , , 0.275663 -T 208 219 e e 1.00439 -F 209 232.03 -T 209 238 , , 0.626624 -T 209 245 h h 3.4023 -T 209 249 n n 2.08591 -T 209 252 r r 0.717716 -T 209 254 t t 3.4023 -F 210 232.482 -T 210 259 , , 0.628152 -T 210 261 e e 2.39077 -T 210 265 l l 2.39077 -T 210 269 s s 1.07416 -F 211 232.068 -T 211 295 , , 0.263006 -T 211 303 l l 2.10295 -T 211 304 m m 2.10295 -T 211 309 t t 2.10295 -F 212 232.223 -T 212 329 , , 0.448258 -T 212 338 p p 1.00439 -F 213 231.18 -T 213 366 , , 0.413309 -T 213 376 m m 1.00439 -F 214 231.004 -T 214 0 , , 0.747651 -T 214 215 a a 2.73133 -T 214 216 b b 3.97703 -T 214 217 c c 3.00073 -T 214 218 d d 2.34449 -T 214 219 e e 1.80108 -T 214 220 f f 3.96436 -T 214 221 g g 2.85705 -T 214 222 h h 3.70739 -T 214 223 i i 2.51926 -T 214 224 j j 5.62844 -T 214 225 k k 3.96436 -T 214 226 l l 3.72558 -T 214 227 m m 3.62427 -T 214 228 n n 2.85705 -T 214 229 o o 3.57154 -T 214 230 p p 2.85705 -T 214 231 r r 3.16606 -T 214 232 s s 3.00073 -T 214 233 t t 2.73133 -T 214 234 u u 3.96436 -T 214 235 x x 5.62844 -T 214 236 y y 4.88148 -T 214 237 z z 5.62844 -F 215 232.32 -T 215 4 , , 0.473742 -T 215 8 e e 3.20174 -T 215 10 h h 1.88513 -T 215 12 l l 1.88513 -T 215 18 t t 1.88513 -F 216 232.424 -T 216 23 , , 0.0708364 -T 216 30 r r 1.6977 -F 217 231.641 -T 217 33 , , 0.172426 -T 217 37 e e 1.63391 -T 217 41 l l 2.9503 -T 217 42 m m 2.9503 -F 218 231.522 -T 218 47 , , 0.416978 -T 218 48 a a 1.35116 -T 218 52 e e 2.25285 -T 218 57 l l 3.56947 -T 218 59 p p 2.25285 -T 218 65 y y 2.25285 -F 219 231.63 -T 219 66 , , 0.388228 -T 219 68 b b 4.09561 -T 219 73 g g 2.77899 -T 219 74 h h 4.09561 -T 219 75 i i 4.09561 -T 219 76 j j 4.09561 -T 219 78 l l 1.8773 -T 219 79 m m 4.09561 -T 219 83 s s 2.77899 -T 219 87 w w 1.8773 -T 219 88 y y 2.77899 -F 220 231.672 -T 220 90 , , 0.440495 -T 220 94 e e 2.10295 -T 220 96 i i 0.786563 -F 221 232.06 -T 221 100 , , 0.198497 -T 221 107 m m 3.08385 -T 221 110 r r 3.08385 -T 221 111 s s 3.08385 -T 221 112 t t 3.08385 -T 221 113 v v 3.08385 -F 222 231.039 -T 222 114 , , 0.337003 -T 222 128 o o 1.00439 -F 223 232.315 -T 223 137 , , 0.572918 -T 223 138 a a 2.08591 -T 223 140 c c 1.53651 -T 223 143 f f 3.4023 -T 223 145 j j 3.4023 -T 223 148 m m 2.08591 -F 224 231.905 -T 224 157 , , 0.0718196 -T 224 159 e e 1.00439 -F 225 231.235 -T 225 162 , , 0.516019 -T 225 163 a a 2.10295 -T 225 167 e e 0.786563 -F 226 231.82 -T 226 181 , , 0.324236 -T 226 182 a a 1.00439 -F 227 232.359 -T 227 202 , , 0.609726 -T 227 203 a a 0.524989 -T 227 206 i i 2.39077 -F 228 231.483 -T 228 214 , , 0.479013 -T 228 215 a a 3.08385 -T 228 219 e e 1.21807 -T 228 223 i i 1.76746 -T 228 231 r r 3.08385 -T 228 236 y y 3.08385 -F 229 231.652 -T 229 238 , , 0.247905 -T 229 244 f f 2.39077 -T 229 250 o o 2.39077 -T 229 251 p p 2.39077 -T 229 256 w w 2.39077 -F 230 232.228 -T 230 259 , , 0.374146 -T 230 260 a a 3.08385 -T 230 262 g g 3.08385 -T 230 264 i i 0.399268 -F 231 231.472 -T 231 274 , , 0.209819 -T 231 282 i i 2.10295 -T 231 287 o o 2.10295 -T 231 292 u u 2.10295 -F 232 231.94 -T 232 295 , , 0.134582 -T 232 300 h h 2.9503 -T 232 302 k k 2.9503 -T 232 307 p p 2.9503 -T 232 309 t t 1.63391 -F 233 232.874 -T 233 313 , , 0.819722 -T 233 318 h h 3.20174 -T 233 323 o o 1.88513 -T 233 324 p p 3.20174 -T 233 325 r r 1.88513 -T 233 328 z z 1.33596 -F 234 233.285 -T 234 329 , , 1.50949 -T 234 333 e e 0.237397 -F 235 230.871 -T 235 364 , , 3.37941e-09 -F 236 231.18 -T 236 366 , , 0.413309 -T 236 382 v v 1.00439 -F 237 231.223 -T 237 384 , , 0.395943 -T 237 387 i i 1.00439 -F 238 231.404 -T 238 0 , , 1.14756 -T 238 239 a a 3.60078 -T 238 240 b b 3.60078 -T 238 241 c c 4.91574 -T 238 242 d d 2.59639 -T 238 243 e e 3.50426 -T 238 244 f f 3.9411 -T 238 245 h h 3.9411 -T 238 246 k k 5.3111 -T 238 247 l l 2.97747 -T 238 248 m m 2.97747 -T 238 249 n n 1.56829 -T 238 250 o o 2.496 -T 238 251 p p 3.9411 -T 238 252 r r 1.92818 -T 238 253 s s 3.3475 -T 238 254 t t 3.67189 -T 238 255 u u 2.97747 -T 238 256 w w 2.70807 -T 238 257 y y 4.4608 -T 238 258 z z 5.60495 -F 239 232.942 -T 239 4 , , 1.09619 -T 239 7 d d 0.524989 -T 239 11 k k 2.39077 -F 240 233.365 -T 240 23 , , 1.0117 -T 240 24 a a 1.07416 -T 240 26 e e 1.07416 -F 241 231.763 -T 241 33 , , 0.294378 -T 241 40 k k 1.00439 -F 242 231.423 -T 242 47 , , 0.318142 -T 242 59 p p 1.08889 -T 242 63 u u 3.30697 -F 243 231.607 -T 243 66 , , 0.365684 -T 243 81 p p 1.00439 -F 244 231.434 -T 244 90 , , 0.202653 -T 244 92 b b 2.10295 -T 244 95 f f 2.10295 -F 245 232.217 -T 245 114 , , 1.51469 -T 245 127 n n 0.237397 -F 246 231.142 -T 246 162 , , 0.422945 -T 246 170 h h 1.00439 -F 247 231.632 -T 247 181 , , 0.136988 -T 247 189 i i 1.63391 -T 247 196 s s 2.9503 -F 248 231.911 -T 248 202 , , 0.162669 -T 248 205 e e 1.63391 -T 248 208 n n 2.9503 -T 248 211 s s 2.9503 -F 249 231.419 -T 249 214 , , 0.414765 -T 249 215 a a 1.82204 -T 249 216 b b 4.30031 -T 249 217 c c 2.43452 -T 249 221 g g 2.98369 -T 249 223 i i 2.082 -T 249 224 j j 4.30031 -T 249 225 k k 4.30031 -T 249 230 p p 2.43452 -T 249 233 t t 2.98369 -T 249 235 x x 4.30031 -F 250 232.377 -T 250 238 , , 0.972915 -T 250 242 d d 0.546864 -T 250 244 f f 3.4023 -T 250 246 k k 3.4023 -T 250 248 m m 3.4023 -F 251 231.996 -T 251 259 , , 0.141819 -T 251 263 h h 2.10295 -T 251 265 l l 2.10295 -F 252 231.796 -T 252 274 , , 0.533281 -T 252 276 b b 3.94893 -T 252 277 c c 2.63232 -T 252 278 d d 2.08315 -T 252 279 e e 1.47043 -T 252 286 n n 3.94893 -T 252 291 t t 2.63232 -T 252 293 w w 3.94893 -F 253 232.519 -T 253 295 , , 0.713826 -T 253 299 e e 0.74811 -T 253 308 s s 2.61389 -T 253 309 t t 2.61389 -F 254 232.168 -T 254 313 , , 0.113844 -T 254 318 h h 1.6977 -F 255 232.353 -T 255 329 , , 0.578223 -T 255 334 g g 2.9503 -T 255 339 q q 2.9503 -T 255 341 s s 1.63391 -T 255 342 t t 1.63391 -F 256 231.557 -T 256 348 , , 0.603848 -T 256 351 d d 3.20174 -T 256 352 e e 3.20174 -T 256 353 g g 3.20174 -T 256 356 l l 3.20174 -T 256 357 n n 0.983434 -T 256 362 w w 3.20174 -F 257 231.158 -T 257 366 , , 0.390832 -T 257 372 g g 1.6977 -T 257 373 h h 1.6977 -F 258 230.915 -T 258 384 , , 0.0873977 -T 258 386 e e 1.00439 -F 259 231.854 -T 259 0 , , 1.59813 -T 259 260 a a 3.44075 -T 259 261 e e 3.95482 -T 259 262 g g 3.44075 -T 259 263 h h 2.64498 -T 259 264 i i 0.526831 -T 259 265 l l 2.84692 -T 259 266 n n 4.39853 -T 259 267 o o 3.10043 -T 259 268 r r 3.44075 -T 259 269 s s 3.44075 -T 259 270 u u 4.90165 -T 259 271 y y 5.1046 -F 260 232.031 -T 260 4 , , 0.185126 -T 260 10 h h 2.10295 -T 260 18 t t 2.10295 -F 261 231.54 -T 261 66 , , 0.298445 -T 261 82 r r 1.00439 -F 262 232.325 -T 262 100 , , 0.463585 -T 262 104 h h 0.237397 -F 263 231.031 -T 263 114 , , 0.328929 -T 263 119 e e 1.47964 -T 263 123 i i 2.79626 -T 263 131 s s 2.79626 -T 263 136 y y 2.79626 -F 264 234.655 -T 264 137 , , 2.91316 -T 264 154 t t 0.0361506 -F 265 232.44 -T 265 181 , , 0.944731 -T 265 182 a a 1.29728 -T 265 186 e e 0.74811 -F 266 231.28 -T 266 214 , , 0.275663 -T 266 219 e e 1.00439 -F 267 231.864 -T 267 238 , , 0.460241 -T 267 247 l l 2.39077 -T 267 248 m m 1.07416 -F 268 232.715 -T 268 274 , , 1.45214 -T 268 282 i i 0.237397 -F 269 232.067 -T 269 295 , , 0.262102 -T 269 300 h h 2.10295 -T 269 306 o o 2.10295 -T 269 307 p p 2.10295 -F 270 232.173 -T 270 329 , , 0.397923 -T 270 341 s s 1.00439 -F 271 231.18 -T 271 366 , , 0.413309 -T 271 373 h h 1.00439 -F 272 230.849 -T 272 0 , , 0.592359 -T 272 273 u u 0.760774 -F 273 232.186 -T 273 329 , , 0.411245 -T 273 333 e e 1.00439 -F 274 231.262 -T 274 0 , , 1.0062 -T 274 275 a a 2.89872 -T 274 276 b b 4.00374 -T 274 277 c c 4.34383 -T 274 278 d d 3.23651 -T 274 279 e e 2.22821 -T 274 280 f f 5.44743 -T 274 281 g g 1.38708 -T 274 282 i i 2.33114 -T 274 283 k k 3.11079 -T 274 284 l l 3.11079 -T 274 285 m m 4.67744 -T 274 286 n n 3.75022 -T 274 287 o o 2.22821 -T 274 288 p p 4.33551 -T 274 289 r r 3.3802 -T 274 290 s s 3.83009 -T 274 291 t t 3.3802 -T 274 292 u u 4.30972 -T 274 293 w w 4.90517 -T 274 294 y y 3.3802 -F 275 232.488 -T 275 4 , , 0.642311 -T 275 6 c c 3.4023 -T 275 7 d d 2.08591 -T 275 9 f f 3.4023 -T 275 14 n n 0.924027 -T 275 15 p p 3.4023 -T 275 20 v v 3.4023 -F 276 232.742 -T 276 23 , , 0.388603 -T 276 29 o o 2.39077 -T 276 30 r r 1.07416 -F 277 232.736 -T 277 33 , , 1.26757 -T 277 38 h h 0.237397 -F 278 231.593 -T 278 47 , , 0.487908 -T 278 53 f f 3.08385 -T 278 55 i i 3.08385 -T 278 59 p p 1.21807 -T 278 64 w w 1.76746 -F 279 231.535 -T 279 66 , , 0.293271 -T 279 67 a a 2.73248 -T 279 70 d d 4.04887 -T 279 76 j j 4.04887 -T 279 77 k k 4.04887 -T 279 80 n n 1.83079 -T 279 81 p p 2.73248 -T 279 84 t t 2.73248 -T 279 87 w w 1.83079 -F 280 231.499 -T 280 90 , , 0.267593 -T 280 96 i i 1.00439 -F 281 233.521 -T 281 100 , , 1.65952 -T 281 101 a a 3.55911 -T 281 102 c c 4.87572 -T 281 103 d d 4.87572 -T 281 104 h h 0.101544 -F 282 232.774 -T 282 137 , , 1.03157 -T 282 138 a a 3.94893 -T 282 140 c c 1.26435 -T 282 144 g g 3.94893 -T 282 146 k k 3.94893 -T 282 149 n n 1.73062 -T 282 153 s s 2.63232 -T 282 156 v v 1.73062 -F 283 230.956 -T 283 162 , , 0.236998 -T 283 164 b b 1.88513 -T 283 168 f f 3.20174 -T 283 169 g g 3.20174 -T 283 173 k k 3.20174 -T 283 177 s s 3.20174 -T 283 178 u u 3.20174 -F 284 231.809 -T 284 181 , , 0.313615 -T 284 182 a a 1.33596 -T 284 183 b b 3.20174 -T 284 187 f f 3.20174 -T 284 194 o o 3.20174 -T 284 200 y y 3.20174 -F 285 232.489 -T 285 202 , , 0.740169 -T 285 203 a a 0.381078 -F 286 231.642 -T 286 214 , , 0.638448 -T 286 218 d d 2.61389 -T 286 219 e e 0.74811 -T 286 225 k k 2.61389 -F 287 231.888 -T 287 238 , , 0.484186 -T 287 239 a a 2.18331 -T 287 240 b b 2.73248 -T 287 249 n n 1.57059 -T 287 250 o o 2.73248 -T 287 251 p p 4.04887 -T 287 253 s s 2.18331 -T 287 256 w w 2.73248 -T 287 257 y y 4.04887 -T 287 258 z z 4.04887 -F 288 231.854 -T 288 259 , , -1.81277e-09 -F 289 231.856 -T 289 274 , , 0.593817 -T 289 279 e e 1.08452 -T 289 287 o o 1.63391 -T 289 294 y y 2.9503 -F 290 232.716 -T 290 295 , , 0.910885 -T 290 306 o o 0.524989 -T 290 309 t t 2.39077 -F 291 232.458 -T 291 313 , , 0.40336 -T 291 320 l l 2.9503 -T 291 322 n n 2.9503 -T 291 323 o o 2.9503 -T 291 324 p p 1.63391 -T 291 328 z z 2.9503 -F 292 232.153 -T 292 329 , , 0.377947 -T 292 336 m m 1.6977 -T 292 341 s s 1.6977 -F 293 231.25 -T 293 348 , , 0.297142 -T 293 349 a a 1.00439 -F 294 231.005 -T 294 366 , , 0.238154 -T 294 374 j j 2.9503 -T 294 376 m m 2.9503 -T 294 379 p p 1.63391 -T 294 381 t t 2.9503 -T 294 383 w w 2.9503 -F 295 231.805 -T 295 0 , , 1.549 -T 295 296 a a 3.9411 -T 295 297 b b 1.00554 -T 295 298 c c 5.31718 -T 295 299 e e 2.70807 -T 295 300 h h 3.3475 -T 295 301 j j 4.4608 -T 295 302 k k 3.3475 -T 295 303 l l 4.52694 -T 295 304 m m 3.3475 -T 295 305 n n 4.34941 -T 295 306 o o 2.496 -T 295 307 p p 2.83356 -T 295 308 s s 3.60078 -T 295 309 t t 2.04285 -T 295 310 u u 4.4608 -T 295 311 v v 4.4608 -T 295 312 w w 3.60078 -F 296 232.137 -T 296 4 , , 0.291335 -T 296 13 m m 2.10295 -T 296 18 t t 2.10295 -T 296 22 y y 2.10295 -F 297 234.924 -T 297 23 , , 2.571 -T 297 29 o o 4.85454 -T 297 32 u u 0.0354598 -F 298 231.786 -T 298 33 , , 0.317604 -T 298 34 a a 1.00439 -F 299 231.637 -T 299 66 , , 0.395305 -T 299 67 a a 1.88513 -T 299 79 m m 3.20174 -T 299 81 p p 1.88513 -T 299 87 w w 1.88513 -F 300 230.859 -T 300 114 , , 0.156789 -T 300 115 a a 1.29728 -T 300 119 e e 2.61389 -T 300 123 i i 2.61389 -F 301 232.872 -T 301 157 , , 1.03853 -T 301 158 a a 0.381078 -F 302 231.021 -T 302 162 , , 0.302476 -T 302 171 i i 1.29728 -T 302 180 y y 2.61389 -F 303 231.697 -T 303 181 , , 0.201894 -T 303 186 e e 1.00439 -F 304 232 -T 304 202 , , 0.251272 -T 304 203 a a 0.74811 -T 304 206 i i 2.61389 -F 305 231.431 -T 305 214 , , 0.427615 -T 305 229 o o 1.00439 -F 306 232.787 -T 306 238 , , 1.38359 -T 306 247 l l 3.4023 -T 306 249 n n 0.273777 -T 306 255 u u 3.4023 -F 307 232.065 -T 307 259 , , 0.210646 -T 307 266 n n 3.08385 -T 307 267 o o 3.08385 -T 307 268 r r 1.76746 -F 308 232.041 -T 308 295 , , 0.235691 -T 308 300 h h 2.39077 -T 308 304 m m 2.39077 -T 308 311 v v 2.39077 -F 309 233.502 -T 309 313 , , 1.44827 -T 309 316 e e 0.596139 -T 309 319 i i 3.83772 -T 309 321 m m 3.83772 -T 309 323 o o 2.5211 -T 309 325 r r 1.97193 -F 310 232.193 -T 310 329 , , 0.418182 -T 310 336 m m 1.6977 -T 310 337 n n 1.6977 -F 311 232.766 -T 311 343 , , 0.0534938 -T 311 344 a a 1.6977 -T 311 346 i i 1.6977 -F 312 231.212 -T 312 348 , , 0.258932 -T 312 349 a a 1.07416 -F 313 232.054 -T 313 0 , , 1.79795 -T 313 314 a a 4.42773 -T 313 315 b b 5.02732 -T 313 316 e e 2.22568 -T 313 317 g g 5.14061 -T 313 318 h h 2.46975 -T 313 319 i i 3.64499 -T 313 320 l l 4.77588 -T 313 321 m m 4.75829 -T 313 322 n n 4.59835 -T 313 323 o o 3.27497 -T 313 324 p p 3.44283 -T 313 325 r r 3.64499 -T 313 326 s s 1.32468 -T 313 327 t t 1.14415 -T 313 328 z z 3.89828 -F 314 232.11 -T 314 4 , , 0.263801 -T 314 14 n n 1.6977 -T 314 22 y y 1.6977 -F 315 232.768 -T 315 23 , , 0.414481 -T 315 24 a a 1.00439 -F 316 231.892 -T 316 66 , , 0.650437 -T 316 70 d d 3.94893 -T 316 71 e e 2.63232 -T 316 80 n n 2.08315 -T 316 82 r r 1.47043 -T 316 86 v v 1.47043 -F 317 232.243 -T 317 100 , , 0.381466 -T 317 105 i i 1.00439 -F 318 231.258 -T 318 114 , , 0.555475 -T 318 115 a a 1.02787 -T 318 119 e e 2.39607 -T 318 128 o o 2.39607 -T 318 129 p p 2.39607 -T 318 134 v v 3.71246 -T 318 136 y y 3.71246 -F 319 232.436 -T 319 137 , , 0.693934 -T 319 142 e e 1.29728 -T 319 148 m m 1.29728 -F 320 231.929 -T 320 181 , , 0.433234 -T 320 198 u u 1.00439 -F 321 232.489 -T 321 202 , , 0.740169 -T 321 203 a a 0.381078 -F 322 231.973 -T 322 214 , , 0.96878 -T 322 219 e e 0.381078 -F 323 231.472 -T 323 238 , , 0.0687166 -T 323 239 a a 2.9503 -T 323 248 m m 2.9503 -T 323 249 n n 1.63391 -T 323 251 p p 2.9503 -F 324 233.209 -T 324 259 , , 1.35472 -T 324 264 i i 0.111675 -F 325 232.457 -T 325 274 , , 1.19482 -T 325 275 a a 1.29728 -T 325 279 e e 0.74811 -F 326 234.923 -T 326 295 , , 3.11814 -T 326 297 b b 0.0361506 -T 326 311 v v 4.83313 -F 327 233.958 -T 327 313 , , 1.90423 -T 327 315 b b 5.01181 -T 327 316 e e 2.53353 -T 327 318 h h 3.69519 -T 327 319 i i 5.01181 -T 327 326 s s 0.214831 -F 328 231.017 -T 328 384 , , 0.189965 -T 328 385 b b 2.39077 -T 328 388 j j 2.39077 -T 328 389 l l 2.39077 -T 328 390 p p 2.39077 -F 329 231.775 -T 329 0 , , 1.51898 -T 329 330 b b 4.74836 -T 329 331 c c 5.13016 -T 329 332 d d 4.95951 -T 329 333 e e 3.12599 -T 329 334 g g 3.98601 -T 329 335 l l 3.46631 -T 329 336 m m 3.98601 -T 329 337 n n 3.98601 -T 329 338 p p 4.84829 -T 329 339 q q 5.13016 -T 329 340 r r 0.390288 -T 329 341 s s 2.8727 -T 329 342 t t 3.98601 -F 330 232.801 -T 330 23 , , 0.448053 -T 330 27 i i 1.00439 -F 331 231.763 -T 331 33 , , 0.294378 -T 331 40 k k 1.00439 -F 332 231.463 -T 332 47 , , 0.357707 -T 332 64 w w 1.00439 -F 333 231.836 -T 333 66 , , 0.594729 -T 333 68 b b 2.39077 -T 333 81 p p 1.07416 -T 333 84 t t 2.39077 -F 334 232.244 -T 334 100 , , 0.382414 -T 334 106 l l 1.6977 -T 334 108 n n 1.6977 -F 335 232.132 -T 335 181 , , 0.636897 -T 335 185 d d 2.10295 -T 335 189 i i 0.786563 -F 336 232.091 -T 336 202 , , 0.341852 -T 336 206 i i 1.6977 -T 336 207 m m 1.6977 -F 337 231.329 -T 337 214 , , 0.325278 -T 337 228 n n 1.6977 -T 337 233 t t 1.6977 -F 338 231.854 -T 338 259 , , -1.81277e-09 -F 339 230.849 -T 339 272 , , 3.37941e-09 -F 340 233.175 -T 340 274 , , 1.91297 -T 340 277 c c 4.99339 -T 340 281 g g 0.174306 -T 340 283 k k 4.99339 -T 340 289 r r 4.99339 -T 340 290 s s 4.99339 -T 340 294 y y 3.1276 -F 341 232.569 -T 341 295 , , 0.763406 -T 341 299 e e 1.29728 -T 341 302 k k 1.29728 -T 341 306 o o 2.61389 -F 342 232.393 -T 342 313 , , 0.338686 -T 342 318 h h 1.6977 -T 342 319 i i 1.6977 -F 343 232.712 -T 343 0 , , 2.45581 -T 343 344 a a 1.79763 -T 343 345 e e 0.527753 -T 343 346 i i 1.79763 -T 343 347 k k 4.25725 -F 344 232.359 -T 344 4 , , 0.512859 -T 344 9 f f 2.79626 -T 344 12 l l 0.930475 -F 345 231.982 -T 345 66 , , 0.740828 -T 345 69 c c 4.00028 -T 345 79 m m 4.00028 -T 345 80 n n 1.14462 -T 345 81 p p 1.52178 -T 345 82 r r 2.1345 -T 345 89 z z 4.00028 -F 346 232.311 -T 346 137 , , 0.569153 -T 346 141 d d 1.47964 -T 346 142 e e 2.79626 -T 346 147 l l 1.47964 -F 347 231.161 -T 347 162 , , 0.442292 -T 347 172 j j 1.00439 -F 348 230.953 -T 348 0 , , 0.696925 -T 348 349 a a 1.91736 -T 348 350 b b 3.9263 -T 348 351 d d 4.13745 -T 348 352 e e 2.88099 -T 348 353 g g 4.03959 -T 348 354 h h 3.40069 -T 348 355 i i 1.91736 -T 348 356 l l 3.67486 -T 348 357 n n 2.28739 -T 348 358 o o 1.64796 -T 348 359 p p 4.02623 -T 348 360 r r 3.11533 -T 348 361 t t 3.22125 -T 348 362 w w 4.54507 -T 348 363 y y 3.40069 -F 349 232.337 -T 349 4 , , 0.490905 -T 349 12 l l 2.9503 -T 349 16 r r 0.732222 -T 349 18 t t 2.9503 -T 349 22 y y 2.9503 -F 350 232.353 -T 350 23 , , 1.80796e-09 -F 351 231.447 -T 351 47 , , 0.341597 -T 351 58 o o 1.00439 -F 352 231.963 -T 352 66 , , 0.721473 -T 352 75 i i 2.10295 -T 352 78 l l 0.786563 -F 353 232.271 -T 353 100 , , 0.409432 -T 353 101 a a 1.00439 -F 354 231.042 -T 354 114 , , 0.339636 -T 354 119 e e 1.6977 -T 354 123 i i 1.6977 -F 355 232.423 -T 355 137 , , 0.680468 -T 355 140 c c 1.63391 -T 355 147 l l 1.63391 -T 355 153 s s 1.63391 -F 356 231.84 -T 356 181 , , 0.34498 -T 356 189 i i 1.00439 -F 357 231.103 -T 357 214 , , 0.0988942 -T 357 215 a a 2.61389 -T 357 223 i i 2.61389 -T 357 226 l l 2.61389 -T 357 232 s s 2.61389 -F 358 232.639 -T 358 238 , , 1.23516 -T 358 247 l l 3.20174 -T 358 250 o o 0.346309 -F 359 231.854 -T 359 259 , , -1.81277e-09 -F 360 231.489 -T 360 274 , , 0.226742 -T 360 282 i i 1.6977 -T 360 287 o o 1.6977 -F 361 232.422 -T 361 313 , , 0.36773 -T 361 318 h h 1.00439 -F 362 231.25 -T 362 348 , , 0.297142 -T 362 349 a a 1.00439 -F 363 231.037 -T 363 366 , , 0.270236 -T 363 375 l l 1.6977 -T 363 378 o o 1.6977 -F 364 230.871 -T 364 0 , , 0.614611 -T 364 365 v v 0.760774 -F 365 232.987 -T 365 343 , , 0.274979 -T 365 346 i i 1.00439 -F 366 230.767 -T 366 0 , , 0.51078 -T 366 367 a a 3.14056 -T 366 368 b b 3.17204 -T 366 369 c c 3.17204 -T 366 370 d d 2.65212 -T 366 371 e e 2.86748 -T 366 372 g g 3.85344 -T 366 373 h h 3.17204 -T 366 374 j j 3.17204 -T 366 375 l l 2.05851 -T 366 376 m m 3.17204 -T 366 377 n n 3.17204 -T 366 378 o o 3.17204 -T 366 379 p p 2.31203 -T 366 380 s s 3.17204 -T 366 381 t t 3.0351 -T 366 382 v v 3.17204 -T 366 383 w w 4.3162 -F 367 232.273 -T 367 4 , , 0.426695 -T 367 22 y y 1.00439 -F 368 233.371 -T 368 23 , , 1.01784 -T 368 30 r r 0.381078 -F 369 231.763 -T 369 33 , , 0.294865 -T 369 37 e e 1.6977 -T 369 39 i i 1.6977 -F 370 231.723 -T 370 47 , , 0.617657 -T 370 48 a a 2.10295 -T 370 60 r r 0.786563 -F 371 231.54 -T 371 66 , , 0.298445 -T 371 82 r r 1.00439 -F 372 232.257 -T 372 100 , , 0.395556 -T 372 106 l l 1.00439 -F 373 230.786 -T 373 114 , , 0.0831173 -T 373 128 o o 1.6977 -F 374 231.833 -T 374 157 , , -2.92515e-09 -F 375 231.53 -T 375 181 , , 0.0342239 -T 375 194 o o 2.61389 -F 376 231.888 -T 376 202 , , 0.139196 -T 376 206 i i 1.6977 -T 376 209 o o 1.6977 -F 377 231.973 -T 377 214 , , 0.96878 -T 377 219 e e 0.381078 -F 378 232.396 -T 378 238 , , 0.992111 -T 378 252 r r 0.381078 -F 379 232 -T 379 259 , , 0.145509 -T 379 263 h h 2.39077 -T 379 265 l l 2.39077 -T 379 268 r r 2.39077 -F 380 232.081 -T 380 295 , , 0.275917 -T 380 300 h h 1.6977 -T 380 309 t t 1.6977 -F 381 232.498 -T 381 313 , , 0.444117 -T 381 314 a a 1.00439 -F 382 233.68 -T 382 343 , , 0.968095 -T 382 344 a a 0.381078 -F 383 231.352 -T 383 348 , , 0.398418 -T 383 352 e e 1.00439 -F 384 230.827 -T 384 0 , , 0.57116 -T 384 385 b b 2.84024 -T 384 386 e e 1.17639 -T 384 387 i i 2.84024 -T 384 388 j j 2.84024 -T 384 389 l l 2.84024 -T 384 390 p p 2.84024 -F 385 232.718 -T 385 23 , , 0.364189 -T 385 26 e e 1.00439 -F 386 231.937 -T 386 66 , , 0.695355 -T 386 78 l l 0.786563 -T 386 86 v v 2.10295 -F 387 232.032 -T 387 137 , , 0.289698 -T 387 149 n n 1.00439 -F 388 231.833 -T 388 157 , , 8.08062e-10 -F 389 231.84 -T 389 181 , , 0.34498 -T 389 189 i i 1.00439 -F 390 232.237 -T 390 259 , , 0.382477 -T 390 263 h h 1.00439 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.lm deleted file mode 100755 index 3565d0e8..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.trigram.lm +++ /dev/null @@ -1,1566 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 28 words, - which begins "", "a", "b"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 1 -2-gram discounting constant : 0.53271 -3-gram discounting constant : 0.633755 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=29 -ngram 2=361 -ngram 3=1121 - -\1-grams: --99.9990 0.0000 --98.9947 0.0000 --1.1421 a -0.5264 --1.4025 b -0.8848 --1.6365 c -0.4160 --1.4942 d -0.0489 --1.0235 e 0.0092 --1.9288 f -0.4014 --1.4517 g -0.5391 --1.2854 h 0.7483 --1.1837 i -0.3366 --2.2128 j -0.6851 --1.8082 k 0.0627 --1.2933 l -0.3459 --1.5944 m -0.6266 --1.2162 n 0.4260 --1.2264 o -0.1628 --1.4459 p -0.5697 --99.9990 q -0.2572 --1.0503 r -0.1340 --1.2264 s -0.5501 --1.0963 t -0.5777 --1.4347 u -0.6297 --1.8216 v -1.0663 --1.6933 w -0.0343 --99.9990 x -0.2669 --1.7953 y 0.0363 --2.4816 z -0.2481 --99.9990 0.0000 - -\2-grams: --2.5179 a a -0.1296 --1.2113 a c -0.1742 --1.3144 a d -0.0774 --1.7953 a e -0.3218 --2.0210 a f -0.0634 --1.5375 a h -0.4261 --2.5179 a k -0.1921 --1.0917 a l 0.0129 --1.2113 a m 0.2000 --0.8360 a n 0.0379 --1.7953 a p 0.2975 --0.6256 a r 0.1213 --1.2113 a s -0.0151 --1.2113 a t -0.1781 --2.5179 a u -0.1843 --1.2113 a v -0.0831 --2.0210 a w -0.1786 --1.5375 a y -0.1844 --1.3894 b a -0.6828 --2.2598 b b -0.1853 --1.0563 b e -0.2419 --2.2598 b i -0.1258 --2.2598 b l -0.1408 --1.3894 b o -0.4042 --0.9096 b r -0.3361 --1.5372 b s -0.3237 --0.2179 b u -1.1145 --0.8882 c a -0.0687 --2.0294 c b -0.1581 --2.0294 c c -0.0735 --0.8882 c e -0.1276 --0.6032 c h -0.4169 --2.0294 c i -0.1258 --0.8258 c k -0.1178 --1.5325 c l -0.1200 --2.0294 c m -0.1944 --0.9612 c o -0.2738 --2.0294 c p 0.1897 --2.0294 c r -0.1735 --2.0294 c y -0.1795 --0.8626 d a -0.4091 --2.1693 d b -0.1800 --2.1693 d c -0.1940 --1.6723 d d -0.4494 --1.0281 d e -0.3093 --1.4466 d f -0.2394 --1.6723 d h -0.1487 --1.6723 d i 0.1025 --2.1693 d j -0.0312 --2.1693 d l -0.0877 --0.9657 d o 0.0012 --0.9111 d p -0.3972 --1.1011 d r -0.3683 --1.1888 d s -0.0612 --2.1693 d t -0.1866 --2.1693 d u -0.1899 --1.0281 d w -0.1226 --1.6723 d y -0.1734 --1.1450 e a 0.0419 --1.6553 e b -0.0296 --2.1388 e c -0.0681 --1.6553 e d -0.0596 --1.4322 e e -0.0821 --2.1388 e f -0.0856 --1.7654 e g -0.4383 --2.6358 e h -0.1962 --1.6553 e i -0.3658 --2.1388 e j -0.2841 --2.6358 e k -0.1921 --0.9736 e l 0.0396 --1.6553 e m -0.0878 --0.8994 e n 0.0475 --1.0631 e p -0.0241 --0.8360 e r -0.1337 --1.2459 e s 0.1702 --1.5676 e t -0.4878 --2.6358 e u -0.1843 --1.3291 e v -0.2852 --1.1450 e w 0.1518 --1.5676 e y -0.1252 --2.6358 e z -0.0379 --1.7454 f a -0.0807 --1.7454 f b -0.1800 --1.7454 f c -0.1379 --0.7649 f e 0.0403 --1.2485 f f -0.1067 --0.7649 f i -0.1407 --1.0228 f o -0.6070 --0.7649 f r -0.2892 --1.0228 f t -0.3175 --1.3408 g a -0.3453 --2.2112 g c -0.1379 --2.2112 g d -0.1553 --0.1778 g h -0.0131 --1.1430 g i -0.2580 --1.2308 g l -0.4103 --2.2112 g m -0.0204 --2.2112 g n -0.1863 --2.2112 g o -0.1930 --1.7143 g r -0.0927 --2.2112 g s -0.1718 --2.2112 g t -0.1813 --2.2112 g v -0.1194 --0.6749 h a 0.1903 --1.3953 h b 0.4546 --1.6531 h c -0.0505 --2.3757 h d -0.1483 --1.2346 h e -0.0945 --1.5053 h f -0.1281 --1.6531 h g -0.1536 --1.5053 h h -0.1203 --1.3076 h i 0.1005 --1.8788 h j 0.3389 --1.3953 h l -0.0646 --1.5053 h m -0.1748 --1.5053 h n -0.0670 --0.9496 h o 0.1259 --1.5053 h p 0.1226 --1.6531 h r -0.2746 --1.2346 h s -0.0472 --1.3076 h t -0.0863 --2.3757 h u 0.2925 --1.8788 h v -0.1120 --2.3757 h w -0.1290 --1.8788 h y -0.1174 --1.7539 i a -0.0621 --1.7539 i b -0.3589 --1.0504 i c -0.0703 --1.6061 i d -0.0763 --1.2184 i e 0.0356 --1.6061 i f -0.0723 --1.7539 i g 0.2042 --2.4765 i j 0.0170 --2.4765 i k -0.1064 --1.2184 i l -0.1510 --1.4961 i m 0.1415 --0.8144 i n -0.1017 --2.4765 i o -0.1754 --2.4765 i p -0.1839 --2.4765 i r -0.1486 --1.4961 i s -0.1649 --0.4607 i t -1.1807 --2.4765 i u 0.2925 --1.4961 i v 0.0159 --0.9796 j a -0.4716 --0.4961 j e -0.1803 --0.4084 j o -0.1953 --1.4765 j u -0.1843 --0.9915 k a -0.6828 --1.3650 k b -0.0952 --1.8619 k c -0.1478 --1.8619 k d -0.1340 --0.7208 k e -0.0545 --1.8619 k f -0.1162 --1.8619 k g -0.1778 --1.8619 k h -0.0949 --1.1393 k i -0.2852 --1.8619 k j -0.0312 --1.3650 k k -0.0480 --1.8619 k l -0.0877 --1.3650 k p 0.2250 --1.8619 k r -0.1486 --1.8619 k s -0.1861 --1.8619 k u -0.1899 --1.3650 k w -0.0869 --1.3650 k y -0.1463 --0.9081 l a -0.0654 --1.6452 l b -0.3144 --2.3678 l c -0.0735 --1.0176 l d 0.0513 --0.6488 l e 0.1612 --2.3678 l f -0.1548 --2.3678 l g -0.1657 --0.9780 l i -0.2115 --2.3678 l j -0.1833 --1.8709 l k -0.1148 --0.8480 l l -0.1155 --1.6452 l m -0.0499 --1.3874 l o 0.1524 --2.3678 l p 0.1897 --1.4974 l s -0.1242 --2.3678 l t -0.1943 --1.6452 l u -0.1673 --2.3678 l w -0.1290 --1.6452 l y -0.1103 --2.3678 l z -0.0379 --0.4740 m a -0.0053 --2.0708 m c -0.1278 --0.9296 m e -0.2885 --1.0903 m i -0.1523 --1.5738 m m -0.1211 --2.0708 m n -0.1197 --0.7205 m o -0.2734 --1.2004 m p -0.2791 --1.3481 m s -0.1179 --2.0708 m u -0.1955 --2.0708 m y -0.1795 --1.1862 n a -0.0075 --1.9474 n b 0.3684 --1.3032 n c 0.0877 --1.0182 n d -0.1430 --0.7822 n e -0.0129 --1.7217 n f -0.1913 --1.2408 n g 0.3761 --2.4444 n h -0.1463 --1.0941 n i -0.1864 --2.4444 n j -0.0312 --1.7217 n k -0.2241 --2.4444 n l -0.1408 --1.5740 n m -0.2648 --1.2408 n n -0.2261 --1.5740 n o -0.1077 --1.2408 n p -0.1624 --1.7217 n r -0.0943 --1.3032 n s -0.0374 --1.1862 n t -0.3560 --1.7217 n u -0.6557 --2.4444 n x 0.0754 --2.4444 n y -0.1795 --2.4444 n z -0.1719 --1.5638 o a -0.4761 --1.5638 o b -0.4393 --2.4342 o c -0.1278 --1.1276 o d 0.0754 --2.4342 o e -0.1588 --1.7116 o f -0.0753 --1.7116 o h -0.6614 --2.4342 o k -0.1921 --1.2931 o l 0.2924 --1.2931 o m 0.1744 --0.6811 o n 0.0571 --1.0840 o o -0.3487 --1.7116 o p 0.3540 --0.8374 o r -0.1689 --1.4538 o s -0.3100 --1.9373 o t 0.0260 --1.2931 o u 0.3063 --1.1761 o w -0.2772 --1.9373 o y -0.1734 --2.4342 o z -0.0379 --1.4943 p a -0.0259 --2.2169 p e -0.1296 --1.4943 p g -0.2015 --1.1487 p h -0.0623 --0.2288 p i -1.2592 --1.2364 p l -0.4103 --2.2169 p n -0.1197 --1.3465 p o -0.1997 --1.4943 p r -0.6308 --1.4943 p s -0.1138 --2.2169 p u -0.1728 --2.2169 p y -0.1795 --0.3304 q u -0.1786 --1.2589 r a -0.2790 --1.7388 r b 0.3142 --1.8865 r c -0.5506 --1.4056 r d -0.2035 --0.9677 r e 0.0493 --2.6092 r f -0.1162 --0.6024 r g -0.7214 --1.0124 r i -0.4481 --1.3510 r k -0.0653 --1.3510 r l -0.1235 --2.1122 r m -0.3214 --1.6287 r n -0.2773 --0.9677 r o -0.1897 --2.6092 r p 0.1897 --1.4680 r r -0.2562 --1.7388 r s -0.3956 --1.4680 r t -0.1757 --2.1122 r u -0.1642 --2.6092 r w -0.1290 --1.4680 r y -0.0864 --1.7116 s a -0.1265 --0.4367 s b -1.1178 --2.4342 s c -0.1379 --1.1761 s e -0.0867 --1.4538 s h -0.0499 --1.9373 s j -0.4510 --1.4538 s k -0.0674 --2.4342 s l -0.0877 --1.4538 s m -0.0140 --2.4342 s n -0.1863 --1.0840 s o -0.6010 --1.2306 s p -0.0128 --1.5638 s s -0.0948 --0.8872 s t -0.6290 --1.9373 s u -0.1816 --1.9373 s v -0.0233 --1.5638 s w -0.0336 --2.0665 t a -0.1146 --2.5634 t b -0.1800 --0.9666 t e -0.1450 --2.5634 t g -0.1657 --1.0726 t h -0.2376 --1.5830 t i -0.2975 --2.5634 t l -0.1881 --2.0665 t m -0.3214 --2.0665 t n -0.4207 --1.4223 t o -0.0075 --1.4952 t p -0.5885 --1.5830 t r -0.5188 --0.5753 t s -1.3540 --0.4969 t t -0.4484 --1.6930 t z -0.0825 --2.2280 u b -0.1957 --2.2280 u c -0.1278 --2.2280 u d -0.1553 --1.3576 u e -0.2597 --1.7311 u g -0.1689 --1.5054 u l -0.2766 --1.7311 u m -0.1485 --1.7311 u n -0.1413 --2.2280 u p 0.1897 --2.2280 u q 0.0754 --0.1695 u r -0.7922 --1.2476 u s -0.3315 --1.7311 u t -0.1471 --0.7807 v a -0.0958 --0.2292 v e -0.2557 --0.7807 v i -0.2198 --1.8489 v k -0.1921 --0.8327 w a -0.2133 --1.9739 w b 0.2059 --1.9739 w d -0.1483 --1.2512 w e -0.3145 --1.9739 w g -0.1778 --1.4769 w h -0.1487 --0.8327 w i -0.2641 --1.9739 w l -0.1498 --0.9934 w n -0.0014 --0.7157 w o -0.5333 --1.9739 w p 0.1897 --1.4769 w r -0.0985 --1.9739 w t -0.1597 --1.9739 w w -0.1290 --1.4769 w y -0.1174 --0.3304 x v -0.1194 --1.8745 y a -0.1853 --1.3776 y b -0.4420 --1.3776 y c -0.1332 --1.1518 y d -0.2682 --1.8745 y e -0.1296 --1.8745 y g -0.1718 --1.3776 y h -0.0282 --1.3776 y j 0.3389 --0.8940 y l 0.2301 --1.3776 y m -0.0605 --1.3776 y n -0.4207 --1.3776 y o -0.4309 --1.0041 y p 0.4067 --1.3776 y s -0.1198 --1.8745 y t -0.1943 --1.3776 y v -0.4204 --1.8745 y w -0.1730 --1.2335 z b -0.1581 --0.5109 z e -0.3020 --1.2335 z i -0.1258 --1.2335 z j 0.0170 --1.2335 z l -0.1498 --1.2335 z p -0.1661 - -\3-grams: --0.4362 a a n --0.8645 a c a --0.8645 a c e --0.8645 a c k --0.6259 a c o --1.4362 a c y --1.3393 a d c --0.7676 a d d --1.3393 a d f --1.3393 a d h --1.3393 a d o --1.3393 a d r --1.3393 a d s --0.9133 a e f --0.3416 a e l --0.7373 a f i --0.7373 a f t --0.5634 a h a --0.3249 a h o --0.4362 a k d --0.9784 a l d --0.5868 a l e --1.5502 a l i --0.9784 a l l --1.5502 a l m --1.5502 a l t --1.5502 a l u --1.5502 a l z --1.4362 a m a --0.6259 a m e --1.4362 a m o --0.6259 a m p --1.4362 a m s --1.4362 a m y --1.7980 a n c --0.7216 a n d --0.8346 a n e --1.7980 a n f --1.7980 a n g --1.7980 a n i --1.7980 a n m --1.2262 a n n --1.2262 a n p --1.7980 a n r --0.9877 a n t --1.7980 a n z --0.9133 a p a --0.9133 a p i --0.9133 a p l --2.0044 a r a --2.0044 a r b --0.9281 a r d --1.1941 a r e --1.4327 a r g --0.9281 a r k --0.9281 a r l --2.0044 a r m --1.1941 a r n --2.0044 a r o --1.0411 a r r --2.0044 a r s --1.1941 a r t --1.4327 a r y --1.4362 a s b --1.4362 a s m --1.4362 a s o --0.8645 a s p --0.3599 a s t --1.4362 a t a --0.8645 a t e --1.4362 a t g --0.8645 a t h --0.4729 a t t --0.4362 a u l --0.2703 a v e --0.6259 a v i --1.4362 a v k --0.7373 a w r --0.7373 a w t --1.1352 a y b --1.1352 a y e --0.5634 a y l --1.1352 a y n --0.0749 b a r --0.4362 b b s --0.7676 b e a --1.3393 b e c --1.3393 b e e --0.5290 b e r --1.3393 b e v --0.4362 b i n --0.4362 b l a --0.4665 b o r --0.4665 b o u --0.9059 b r a --1.4776 b r e --1.4776 b r i --0.3117 b r o --1.4776 b r u --0.3416 b s o --0.9133 b s s --2.1522 b u c --0.0139 b u r --1.2813 c a h --0.7096 c a l --0.7096 c a r --1.2813 c a s --1.2813 c a v --0.4362 c b e --0.4362 c c h --1.2813 c e g --1.2813 c e l --0.7096 c e n --1.2813 c e p --0.7096 c e s --0.3101 c h a --1.5502 c h f --1.5502 c h i --0.9784 c h r --0.9784 c h t --0.4362 c i n --1.3393 c k e --1.3393 c k k --1.3393 c k l --0.7676 c k p --0.7676 c k w --1.3393 c k y --0.7373 c l a --0.7373 c l o --0.4362 c m u --1.2144 c o l --0.2510 c o n --1.2144 c o r --0.4362 c p i --0.4362 c r a --0.4362 c y v --0.8645 d a l --0.8645 d a m --1.4362 d a n --0.3599 d a v --0.4362 d b a --0.4362 d c r --0.1655 d d o --1.2813 d e a --1.2813 d e b --1.2813 d e d --0.3180 d e r --0.9133 d f e --0.3416 d f o --0.7373 d h e --0.7373 d h i --0.7373 d i n --0.7373 d i t --0.4362 d j e --0.4362 d l e --1.3393 d o c --1.3393 d o l --1.3393 d o n --1.3393 d o r --1.3393 d o u --0.5290 d o w --0.0870 d p i --1.3905 d p l --1.2144 d r a --0.2510 d r i --1.2144 d r o --1.1352 d s a --1.1352 d s o --1.1352 d s t --1.1352 d s u --1.1352 d s w --0.4362 d t i --0.4362 d u g --0.7096 d w a --1.2813 d w h --0.7096 d w i --0.7096 d w o --0.7373 d y a --0.7373 d y n --1.0406 e a c --1.0406 e a d --0.8020 e a n --1.6123 e a p --1.6123 e a r --0.8020 e a s --1.6123 e a t --1.0406 e a v --0.3249 e b r --0.5634 e b u --0.7373 e c c --0.7373 e c h --1.1352 e d a --1.1352 e d o --0.5634 e d r --1.1352 e d w --0.7676 e e l --1.3393 e e n --1.3393 e e p --0.7676 e e r --0.7676 e e s --0.7373 e f f --0.7373 e f r --0.4665 e g i --0.4665 e g l --0.4362 e h u --1.1352 e i d --0.3249 e i l --1.1352 e i v --0.1655 e j o --0.4362 e k c --1.7787 e l a --1.7787 e l b --0.7023 e l d --1.2069 e l e --1.7787 e l g --1.7787 e l i --1.7787 e l k --0.4752 e l l --1.2069 e l s --1.1352 e m c --1.1352 e m e --0.5634 e m o --1.1352 e m p --1.8512 e n a --1.8512 e n c --1.0409 e n d --1.2794 e n e --1.2794 e n f --1.2794 e n m --0.8878 e n n --1.8512 e n o --1.8512 e n p --1.8512 e n r --1.2794 e n s --1.0409 e n t --1.0409 e n u --1.6915 e p a --1.6915 e p g --0.8812 e p h --0.2837 e p i --1.1197 e p o --1.6915 e p y --1.3416 e r a --1.3416 e r b --0.9500 e r e --1.9133 e r f --0.9500 e r i --1.3416 e r k --0.9500 e r l --1.9133 e r m --1.9133 e r n --1.1031 e r o --1.9133 e r p --1.9133 e r r --1.3416 e r s --1.3416 e r t --0.9437 e s a --1.5154 e s b --0.9437 e s e --0.9437 e s j --1.5154 e s m --0.9437 e s p --1.5154 e s t --1.5154 e s w --0.4041 e t p --0.4041 e t t --0.4362 e u l --0.8645 e v a --0.1328 e v e --1.6123 e w a --1.6123 e w b --1.6123 e w e --1.0406 e w i --1.6123 e w n --0.5360 e w o --1.6123 e w p --1.6123 e w r --1.0406 e w y --1.2144 e y b --0.6426 e y d --1.2144 e y o --1.2144 e y p --1.2144 e y s --0.4362 e z e --0.4362 f a r --0.4362 f b o --0.4362 f c e --1.1352 f e d --1.1352 f e i --1.1352 f e l --1.1352 f e n --1.1352 f e r --0.7373 f f c --0.7373 f f r --1.1352 f i e --0.5634 f i f --1.1352 f i l --1.1352 f i n --0.1031 f o r --0.5634 f r a --1.1352 f r i --0.5634 f r o --0.3416 f t h --0.9133 f t o --0.2280 g a r --1.0383 g a t --0.4362 g c a --0.4362 g d e --1.3335 g h a --1.0675 g h b --1.3335 g h c --2.1438 g h d --1.3335 g h f --1.3335 g h g --1.1804 g h h --1.5720 g h j --1.0675 g h l --1.1804 g h m --2.1438 g h n --1.3335 g h o --1.5720 g h p --2.1438 g h r --0.9779 g h s --1.3335 g h t --2.1438 g h v --2.1438 g h w --0.4041 g i b --1.2144 g i e --1.2144 g i n --1.2144 g i u --1.1352 g l a --0.1718 g l e --0.4362 g m a --0.4362 g n o --0.4362 g o t --0.7373 g r e --0.7373 g r o --0.4362 g s p --0.4362 g t o --0.4362 g v i --1.8164 h a c --1.8164 h a d --1.2447 h a e --1.2447 h a l --1.2447 h a m --1.0062 h a n --0.6505 h a r --1.0062 h a s --1.8164 h a v --1.2447 h a w --1.8164 h a y --1.1352 h b e --1.1352 h b l --0.5634 h b r --1.1352 h b u --0.9133 h c a --0.9133 h c e --0.9133 h c l --0.4362 h d o --0.7096 h e a --1.2813 h e i --1.2813 h e n --1.2813 h e r --0.7096 h e w --1.0383 h f a --0.4665 h f e --1.0383 h f r --0.9133 h g i --0.9133 h g o --0.9133 h g r --1.0383 h h a --1.0383 h h i --0.4665 h h o --1.2144 h i g --1.2144 h i l --0.6426 h i n --1.2144 h i r --1.2144 h i t --0.7373 h j e --0.7373 h j o --1.1352 h l a --0.5634 h l e --1.1352 h l o --1.1352 h l u --0.2280 h m a --1.0383 h m o --1.0383 h n e --1.0383 h n k --1.0383 h n o --1.0383 h n s --0.9784 h o b --1.5502 h o e --1.5502 h o f --0.9784 h o l --1.5502 h o m --1.5502 h o n --1.5502 h o r --0.9784 h o u --1.5502 h o w --1.5502 h o y --0.4665 h p i --1.0383 h p o --1.0383 h p u --0.3416 h r i --0.9133 h r o --1.2813 h s c --1.2813 h s k --1.2813 h s m --1.2813 h s n --1.2813 h s p --1.2813 h s t --1.2813 h s w --0.6426 h t e --0.6426 h t h --1.2144 h t i --1.2144 h t s --0.4362 h u r --0.1655 h v e --0.4362 h w i --0.7373 h y c --0.7373 h y l --0.9133 i a c --0.9133 i a m --0.9133 i a n --0.9133 i b b --0.3416 i b s --1.5502 i c a --1.5502 i c b --0.3101 i c h --0.9784 i c k --1.5502 i c o --1.5502 i c p --1.0383 i d e --1.0383 i d f --1.0383 i d h --1.0383 i d w --0.8187 i e l --1.3905 i e m --1.3905 i e n --0.8187 i e r --1.3905 i e t --1.3905 i e v --1.3905 i e w --1.0383 i f e --1.0383 i f r --0.4665 i f t --0.3416 i g h --0.9133 i g i --0.4362 i j o --0.4362 i k e --1.3905 i l a --1.3905 i l d --1.3905 i l k --0.4271 i l l --1.3905 i l m --1.3905 i l w --1.1352 i m a --1.1352 i m i --1.1352 i m m --0.5634 i m o --1.7787 i n a --1.7787 i n b --1.2069 i n c --0.8153 i n d --1.7787 i n e --0.7023 i n g --1.7787 i n h --0.9684 i n i --1.2069 i n p --1.2069 i n s --0.4362 i o m --0.4362 i p s --0.4362 i r e --1.1352 i s e --1.1352 i s h --1.1352 i s s --0.5634 i s t --1.5547 i t h --2.1264 i t n --0.0335 i t t --0.4362 i u r --1.1352 i v a --0.1718 i v e --0.1655 j a m --0.5634 j e a --1.1352 j e f --1.1352 j e n --1.1352 j e t --1.2144 j o d --0.6426 j o h --1.2144 j o n --0.6426 j o s --0.4362 j u l --0.0749 k a r --0.7373 k b e --0.7373 k b r --0.4362 k c o --0.4362 k d a --0.7096 k e a --0.7096 k e e --1.2813 k e l --1.2813 k e n --1.2813 k e r --0.4362 k f i --0.4362 k g a --0.4362 k h a --0.9133 k i m --0.3416 k i n --0.4362 k j e --0.7373 k k a --0.7373 k k e --0.4362 k l e --0.7373 k p g --0.7373 k p i --0.4362 k r o --0.4362 k s s --0.4362 k u n --0.7373 k w h --0.7373 k w o --0.7373 k y d --0.7373 k y j --1.5824 l a a --0.6190 l a c --1.0106 l a m --0.6190 l a n --1.5824 l a r --1.5824 l a s --1.5824 l a t --0.3416 l b e --0.9133 l b o --0.4362 l c h --0.9059 l d a --1.4776 l d b --1.4776 l d e --1.4776 l d i --1.4776 l d j --1.4776 l d o --0.9059 l d s --1.4776 l d t --1.4776 l d w --1.8342 l e a --1.2624 l e b --1.8342 l e d --1.2624 l e e --1.8342 l e g --1.8342 l e i --1.0239 l e n --1.2624 l e p --1.8342 l e r --1.0239 l e s --1.8342 l e u --1.8342 l e v --1.2624 l e w --0.8708 l e y --0.4362 l f o --0.4362 l g i --1.5154 l i a --0.7051 l i e --1.5154 l i f --1.5154 l i g --0.7051 l i n --1.5154 l i o --1.5154 l i p --1.5154 l i s --0.4362 l j u --0.7373 l k a --0.7373 l k i --1.6403 l l b --1.6403 l l c --0.8301 l l e --0.6770 l l i --1.6403 l l j --1.6403 l l m --1.6403 l l o --1.6403 l l p --1.6403 l l s --1.0686 l l y --0.9133 l m a --0.3416 l m o --1.1352 l o n --1.1352 l o o --1.1352 l o r --1.1352 l o u --1.1352 l o w --0.4362 l p i --1.0383 l s k --1.0383 l s o --1.0383 l s u --1.0383 l s w --0.4362 l t m --0.9133 l u b --0.9133 l u d --0.9133 l u s --0.4362 l w i --0.9133 l y c --0.9133 l y p --0.9133 l y s --0.4362 l z e --1.7150 m a c --1.7150 m a h --1.7150 m a l --1.1432 m a n --1.7150 m a p --0.4115 m a r --1.1432 m a s --1.1432 m a t --1.7150 m a u --0.4362 m c k --1.2813 m e a --1.2813 m e m --0.4710 m e r --0.7096 m e s --0.5634 m i c --1.1352 m i d --0.5634 m i t --0.7373 m m e --0.7373 m m s --0.4362 m n e --1.4776 m o d --1.4776 m o h --0.9059 m o n --0.3117 m o r --1.4776 m o t --1.0383 m p e --1.0383 m p l --0.4665 m p s --0.9133 m s l --0.9133 m s m --0.9133 m s t --0.4362 m u p --0.4362 m y m --1.3905 n a e --0.8187 n a h --0.8187 n a l --1.3905 n a n --1.3905 n a r --0.8187 n a t --0.7373 n b r --0.7373 n b u --1.2813 n c a --0.7096 n c e --1.2813 n c k --1.2813 n c l --1.2813 n c m --1.2813 n c o --0.5868 n d a --0.9784 n d e --1.5502 n d l --0.9784 n d p --1.5502 n d r --1.5502 n d s --0.9784 n d y --1.7787 n e b --1.2069 n e g --1.7787 n e h --1.7787 n e i --1.7787 n e j --0.8153 n e l --1.7787 n e m --1.7787 n e p --1.7787 n e r --1.2069 n e s --1.7787 n e t --0.8153 n e w --1.2069 n e y --0.9133 n f e --0.3416 n f i --0.7676 n g h --1.3393 n g l --1.3393 n g m --1.3393 n g r --1.3393 n g s --1.3393 n g t --1.3393 n g v --0.4362 n h o --0.9059 n i a --0.6673 n i c --1.4776 n i e --1.4776 n i f --1.4776 n i j --0.9059 n i m --1.4776 n i n --0.4362 n j e --0.9133 n k a --0.3416 n k e --0.4362 n l a --0.2280 n m a --1.0383 n m i --1.3393 n n a --0.5290 n n e --0.7676 n n i --1.3393 n n r --1.3393 n n y --1.0383 n o f --1.0383 n o o --1.0383 n o p --1.0383 n o w --1.3393 n p a --1.3393 n p g --0.1734 n p i --0.9133 n r i --0.9133 n r o --0.9133 n r u --1.2813 n s e --1.2813 n s h --1.2813 n s k --1.2813 n s o --1.2813 n s p --0.7096 n s t --1.3905 n t h --0.8187 n t o --1.3905 n t p --0.8187 n t r --0.5802 n t z --0.1031 n u e --0.4362 n x v --0.4362 n y v --0.4362 n z i --0.2280 o a d --1.0383 o a k --0.4665 o b a --0.4665 o b e --0.4362 o c k --1.4362 o d a --1.4362 o d e --1.4362 o d o --0.4729 o d p --1.4362 o d s --1.4362 o d u --1.4362 o d w --0.4362 o e p --0.9133 o f b --0.9133 o f f --0.9133 o f r --0.1031 o h n --0.4362 o k h --1.2813 o l a --1.2813 o l d --1.2813 o l e --0.7096 o l i --1.2813 o l l --1.2813 o l s --0.7096 o m a --0.7096 o m e --1.2813 o m n --1.2813 o m o --1.2813 o m s --0.7913 o n a --1.8676 o n b --1.0573 o n c --1.8676 o n e --1.2958 o n g --0.9042 o n i --1.8676 o n j --1.8676 o n k --1.8676 o n m --1.8676 o n n --1.0573 o n p --1.8676 o n s --1.2958 o n t --1.8676 o n x --0.2375 o o d --1.4776 o o f --1.4776 o o k --1.4776 o o m --1.4776 o o n --0.9133 o p h --0.9133 o p i --0.9133 o p l --1.7150 o r b --1.1432 o r c --0.9047 o r d --0.6386 o r e --1.7150 o r k --1.7150 o r n --1.7150 o r o --1.7150 o r r --1.1432 o r t --1.7150 o r w --1.7150 o r y --0.3249 o s e --1.1352 o s s --1.1352 o s t --0.7373 o t h --0.7373 o t t --1.2813 o u g --1.2813 o u q --1.2813 o u r --0.7096 o u s --0.7096 o u t --1.3905 o w d --1.3905 o w e --1.3905 o w g --1.3905 o w l --0.4271 o w n --1.3905 o w w --0.7373 o y g --0.7373 o y h --0.4362 o z e --0.9133 p a h --0.9133 p a r --0.9133 p a t --0.4362 p e r --0.1031 p g h --1.2144 p h a --0.6426 p h e --1.2144 p h i --1.2144 p h s --1.2144 p h y --2.0990 p i n --0.0157 p i t --0.5634 p l a --0.3249 p l e --0.4362 p n e --1.0383 p o l --0.4665 p o m --1.0383 p o r --0.1031 p r i --0.9133 p s h --0.9133 p s o --0.9133 p s p --0.4362 p u s --0.4362 p y h --0.4362 q u e --1.4776 r a c --0.9059 r a d --1.4776 r a f --0.4013 r a n --1.4776 r a p --1.4776 r a v --1.0383 r b o --0.4665 r b r --1.0383 r b u --0.1031 r c h --1.3393 r d e --1.3393 r d f --1.3393 r d i --0.5290 r d p --0.7676 r d w --1.1867 r e a --1.7584 r e d --1.7584 r e e --1.7584 r e j --1.7584 r e k --1.1867 r e l --0.7951 r e n --1.1867 r e p --1.7584 r e r --1.1867 r e t --0.7951 r e w --0.4362 r f i --1.5457 r g a --2.1175 r g c --2.1175 r g d --0.0441 r g h --1.7150 r i a --0.5491 r i c --1.7150 r i g --1.7150 r i k --0.7516 r i n --1.1432 r i s --0.7516 r i v --0.8187 r k b --1.3905 r k e --1.3905 r k f --1.3905 r k g --1.3905 r k k --1.3905 r k r --1.3905 r k s --1.3905 r k u --0.5802 r l a --1.3905 r l b --0.8187 r l e --1.3905 r l f --1.3905 r l o --1.3905 r l y --0.1655 r m a --1.1352 r n d --0.3249 r n e --1.1352 r n k --0.9482 r o a --1.1867 r o b --1.7584 r o m --0.6821 r o n --1.1867 r o o --1.7584 r o p --0.9482 r o s --1.1867 r o w --1.7584 r o y --1.7584 r o z --0.4362 r p i --0.4710 r r e --1.2813 r r i --0.7096 r r o --1.2813 r r y --0.2280 r s o --1.0383 r s t --1.2813 r t h --1.2813 r t l --1.2813 r t n --1.2813 r t o --0.7096 r t p --1.2813 r t z --0.7373 r u m --0.7373 r u s --0.4362 r w a --1.2813 r y j --1.2813 r y l --1.2813 r y m --0.7096 r y p --1.2813 r y t --1.2813 r y w --0.9133 s a m --0.9133 s a t --0.9133 s a y --2.1083 s b o --0.0154 s b u --0.4362 s c a --0.8187 s e a --1.3905 s e l --1.3905 s e m --1.3905 s e n --0.8187 s e p --0.8187 s e w --0.5634 s h a --1.1352 s h e --1.1352 s h i --1.1352 s h o --0.1655 s j a --1.1352 s k a --1.1352 s k e --0.5634 s k i --1.1352 s k y --0.4362 s l e --0.3249 s m a --1.1352 s m i --1.1352 s m o --0.4362 s n o --1.4776 s o l --0.1189 s o n --1.4776 s o u --0.3759 s p i --1.3393 s p n --1.3393 s p o --0.7676 s p r --1.0383 s s h --1.0383 s s m --1.0383 s s t --1.0383 s s v --0.2589 s t e --1.6667 s t i --1.6667 s t m --1.0949 s t o --0.8564 s t r --0.7373 s u m --0.7373 s u n --0.7373 s v a --0.7373 s v i --0.4665 s w a --1.0383 s w i --1.0383 s w o --0.7373 t a n --0.7373 t a y --0.4362 t b a --1.7150 t e d --1.1432 t e e --1.7150 t e l --0.9047 t e n --1.7150 t e p --0.6386 t e r --1.7150 t e s --0.6386 t e v --0.4362 t g i --0.4464 t h a --1.0406 t h e --1.0406 t h o --1.0406 t h p --1.6123 t h t --1.6123 t h v --1.6123 t h y --0.5634 t i e --0.5634 t i m --1.1352 t i n --0.4362 t l u --0.1655 t m a --0.1655 t n e --1.2813 t o a --1.2813 t o d --1.2813 t o m --0.7096 t o n --1.2813 t o p --1.2813 t o w --0.0485 t p i --0.5634 t r a --0.3249 t r e --0.0157 t s b --2.0990 t s v --2.1766 t t b --1.1003 t t e --1.6048 t t h --2.1766 t t i --0.0933 t t s --2.1766 t t t --1.0383 t z b --1.0383 t z j --1.0383 t z l --1.0383 t z p --0.4362 u b i --0.4362 u c k --0.4362 u d w --1.0383 u e b --0.4665 u e p --1.0383 u e t --0.7373 u g l --0.7373 u g n --0.9133 u l d --0.3416 u l i --0.7373 u m i --0.7373 u m m --0.7373 u n n --0.7373 u n t --0.4362 u p i --0.4362 u q u --2.1686 u r c --0.0757 u r g --2.1686 u r i --2.1686 u r k --2.1686 u r r --2.1686 u r s --1.3583 u r y --0.5634 u s e --0.5634 u s k --1.1352 u s o --0.7373 u t h --0.7373 u t i --1.2144 v a f --0.4041 v a l --1.2144 v a n --1.2144 v a r --1.7373 v e c --1.7373 v e l --1.7373 v e m --0.4971 v e n --0.6609 v e p --0.9270 v e r --1.7373 v e v --1.7373 v e z --0.6426 v i d --1.2144 v i e --0.6426 v i l --1.2144 v i n --0.4362 v k j --1.2813 w a l --0.3180 w a r --1.2813 w a t --1.2813 w a y --0.4362 w b u --0.4362 w d o --0.9133 w e i --0.3416 w e l --0.4362 w g a --0.7373 w h e --0.7373 w h i --0.7096 w i c --0.7096 w i l --1.2813 w i n --0.7096 w i s --0.4362 w l i --1.1352 w n a --1.1352 w n e --1.1352 w n i --1.1352 w n l --1.1352 w n s --1.3905 w o l --0.1504 w o o --1.3905 w o r --0.4362 w p i --0.7373 w r i --0.7373 w r o --0.4362 w t h --0.4362 w w a --0.7373 w y l --0.7373 w y o --0.4362 x v i --0.4362 y a y --0.1655 y b r --0.7373 y c e --0.7373 y c i --0.9133 y d a --0.3416 y d r --0.4362 y e r --0.4362 y g l --0.7373 y h a --0.7373 y h o --0.7373 y j e --0.7373 y j o --1.1352 y l a --1.1352 y l d --1.1352 y l e --1.1352 y l l --1.1352 y l o --0.7373 y m i --0.7373 y m o --0.1655 y n e --0.1655 y o r --1.0383 y p h --1.0383 y p i --1.0383 y p l --1.0383 y p r --0.7373 y s h --0.7373 y s t --0.4362 y t a --0.1655 y v a --0.4362 y w e --0.4362 z b e --0.3416 z e l --0.9133 z e v --0.4362 z i n --0.4362 z j o --0.4362 z l i --0.4362 z p h - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.fst deleted file mode 100755 index d440e9bc..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.fst +++ /dev/null @@ -1,88 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 8.07908 -T 0 1 8.07908 -T 0 4 a a 2.63001 -T 0 5 b b 3.23099 -T 0 6 c c 3.7615 -T 0 7 d d 3.43937 -T 0 8 e e 2.36522 -T 0 9 f f 4.41544 -T 0 10 g g 3.34289 -T 0 11 h h 2.96412 -T 0 12 i i 2.72488 -T 0 13 j j 5.03437 -T 0 14 k k 4.14719 -T 0 15 l l 2.98208 -T 0 16 m m 3.66618 -T 0 17 n n 2.80593 -T 0 18 o o 2.82942 -T 0 19 p p 3.32977 -T 0 20 q q 8.07908 -T 0 21 r r 2.42646 -T 0 22 s s 2.82942 -T 0 23 t t 2.53192 -T 0 24 u u 3.30398 -T 0 25 v v 4.17712 -T 0 26 w w 3.8893 -T 0 27 x x 8.07908 -T 0 28 y y 4.11817 -T 0 29 z z 5.59413 -F 1 8.07908 -T 1 0 -F 2 8.07908 -T 2 0 -F 3 8.07908 -T 3 0 -F 4 8.07908 -T 4 0 -F 5 8.07908 -T 5 0 -F 6 8.07908 -T 6 0 -F 7 8.07908 -T 7 0 -F 8 8.07908 -T 8 0 -F 9 8.07908 -T 9 0 -F 10 8.07908 -T 10 0 -F 11 8.07908 -T 11 0 -F 12 8.07908 -T 12 0 -F 13 8.07908 -T 13 0 -F 14 8.07908 -T 14 0 -F 15 8.07908 -T 15 0 -F 16 8.07908 -T 16 0 -F 17 8.07908 -T 17 0 -F 18 8.07908 -T 18 0 -F 19 8.07908 -T 19 0 -F 20 8.07908 -T 20 0 -F 21 8.07908 -T 21 0 -F 22 8.07908 -T 22 0 -F 23 8.07908 -T 23 0 -F 24 8.07908 -T 24 0 -F 25 8.07908 -T 25 0 -F 26 8.07908 -T 26 0 -F 27 8.07908 -T 27 0 -F 28 8.07908 -T 28 0 -F 29 8.07908 -T 29 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.lm deleted file mode 100755 index d652a7dc..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.unigram.lm +++ /dev/null @@ -1,71 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 28 words, - which begins "", "a", "b"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 4 -1-gram discounting ratios : 0.67 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=29 - -\1-grams: --3.5087 0.0000 --98.9999 0.0000 --1.1422 a 0.0000 --1.4032 b 0.0000 --1.6336 c 0.0000 --1.4937 d 0.0000 --1.0272 e 0.0000 --1.9176 f 0.0000 --1.4518 g 0.0000 --1.2873 h 0.0000 --1.1834 i 0.0000 --2.1864 j 0.0000 --1.8011 k 0.0000 --1.2951 l 0.0000 --1.5922 m 0.0000 --1.2186 n 0.0000 --1.2288 o 0.0000 --1.4461 p 0.0000 --3.5087 q 0.0000 --1.0538 r 0.0000 --1.2288 s 0.0000 --1.0996 t 0.0000 --1.4349 u 0.0000 --1.8141 v 0.0000 --1.6891 w 0.0000 --3.5087 x 0.0000 --1.7885 y 0.0000 --2.4295 z 0.0000 --3.5087 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.wordlist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.wordlist deleted file mode 100755 index 0edb8564..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling.wordlist +++ /dev/null @@ -1,26 +0,0 @@ -a -b -c -d -e -f -g -h -i -j -k -l -m -n -o -p -q -r -s -t -u -v -w -x -y -z diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.fst deleted file mode 100755 index 47ee4b72..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.fst +++ /dev/null @@ -1,6620 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 12.3361 -T 0 1 13.2523 -T 0 6 a a 2.52087 -T 0 33 b b 4.26945 -T 0 52 c c 3.55404 -T 0 76 d d 3.16882 -T 0 101 e e 2.05713 -T 0 128 f f 3.68713 -T 0 152 g g 3.9837 -T 0 178 h h 2.87547 -T 0 203 i i 2.69587 -T 0 230 j j 6.86884 -T 0 236 k k 4.96622 -T 0 259 l l 3.17849 -T 0 284 m m 3.66226 -T 0 308 n n 2.69725 -T 0 335 o o 2.56416 -T 0 362 p p 4.04794 -T 0 384 q q 6.95058 -T 0 386 r r 2.82412 -T 0 411 s s 2.77462 -T 0 436 t t 2.40804 -T 0 462 u u 3.45871 -T 0 486 v v 4.55382 -T 0 493 w w 3.70417 -T 0 518 x x 6.13432 -T 0 533 y y 3.8916 -T 0 559 z z 7.49653 -F 1 12.3361 -T 1 0 -F 2 13.0426 -T 2 0 , , 0.706516 -T 2 3 0.679953 -F 3 0.273087 -T 3 1 , , 1.4314 -F 4 13.7631 -T 4 0 , , 1.42702 -F 5 13.7675 -T 5 2 , , 0.724887 -T 5 3 0.273087 -F 6 17.1616 -T 6 0 , , 4.82551 -T 6 7 a a 6.25681 -T 6 8 b b 3.51858 -T 6 9 c c 3.19 -T 6 10 d d 3.00326 -T 6 11 e e 6.88264 -T 6 12 f f 4.20682 -T 6 13 g g 3.77417 -T 6 14 h h 5.22295 -T 6 15 i i 3.27727 -T 6 16 j j 7.52139 -T 6 17 k k 3.9586 -T 6 18 l l 2.53423 -T 6 19 m m 3.55128 -T 6 20 n n 1.66132 -T 6 21 o o 5.62084 -T 6 22 p p 3.6321 -T 6 23 q q 7.1265 -T 6 24 r r 2.22222 -T 6 25 s s 2.13381 -T 6 26 t t 1.98391 -T 6 27 u u 4.7827 -T 6 28 v v 3.33253 -T 6 29 w w 4.3307 -T 6 30 x x 7.16818 -T 6 31 y y 3.75575 -T 6 32 z z 6.46497 -F 7 18.2217 -T 7 6 , , 1.0601 -T 7 8 b b 3.15247 -T 7 18 l l 2.81859 -T 7 20 n n 0.799458 -T 7 22 p p 3.65766 -T 7 24 r r 2.81859 -T 7 25 s s 2.20242 -T 7 26 t t 1.93486 -F 8 19.1062 -T 8 33 , , 2.40522 -T 8 34 a a 3.73894 -T 8 35 b b 5.88287 -T 8 41 i i 2.84669 -T 8 43 l l 0.925869 -T 8 45 n n 6.38806 -T 8 46 o o 1.05044 -T 8 47 r r 3.45733 -T 8 48 s s 2.86603 -T 8 50 u u 4.28051 -T 8 51 y y 3.38941 -F 9 17.8725 -T 9 52 , , 1.62489 -T 9 55 c c 2.4313 -T 9 57 e e 1.45454 -T 9 60 h h 1.88144 -T 9 61 i i 3.01708 -T 9 62 k k 2.28048 -T 9 63 l l 3.41036 -T 9 66 o o 3.17526 -T 9 68 q q 4.99385 -T 9 69 r r 3.68575 -T 9 70 s s 6.71641 -T 9 71 t t 1.48563 -T 9 72 u u 4.33185 -T 9 75 y y 5.87758 -F 10 14.2454 -T 10 76 , , 0.563321 -T 10 77 a a 2.51488 -T 10 78 b b 2.85129 -T 10 79 c c 3.69818 -T 10 80 d d 3.20382 -T 10 81 e e 1.78773 -T 10 82 f f 3.75298 -T 10 83 g g 4.79559 -T 10 84 h h 3.75298 -T 10 86 j j 5.30539 -T 10 87 k k 6.39819 -T 10 88 l l 3.59687 -T 10 89 m m 3.28855 -T 10 90 n n 2.89803 -T 10 91 o o 2.68343 -T 10 92 p p 4.58099 -T 10 94 r r 3.42072 -T 10 95 s s 2.91001 -T 10 97 u u 4.1237 -T 10 98 v v 2.84001 -T 10 100 y y 3.14073 -F 11 14.5741 -T 11 101 , , 0.627349 -T 11 110 i i 2.52455 -T 11 113 l l 1.68549 -T 11 116 o o 2.01937 -T 11 119 r r 2.52455 -T 11 123 v v 2.01937 -F 12 16.9364 -T 12 128 , , 2.33441 -T 12 129 a a 3.05116 -T 12 133 e e 2.17825 -T 12 134 f f 2.88076 -T 12 137 i i 3.14878 -T 12 140 l l 3.7668 -T 12 143 o o 3.7668 -T 12 145 r r 3.25678 -T 12 147 t t 0.458905 -T 12 148 u u 4.86122 -F 13 16.6645 -T 13 152 , , 2.79389 -T 13 153 a a 1.76079 -T 13 157 e e 1.03708 -T 13 159 g g 2.8506 -T 13 161 i i 2.32538 -T 13 164 l l 4.10827 -T 13 165 m m 4.29893 -T 13 166 n n 3.16744 -T 13 167 o o 3.0705 -T 13 170 r r 2.61044 -T 13 171 s s 5.62752 -T 13 173 u u 2.26851 -F 14 17.1727 -T 14 178 , , 1.34682 -T 14 179 a a 1.24478 -T 14 181 c c 4.68599 -T 14 183 e e 1.86648 -T 14 186 h h 4.1808 -T 14 191 m m 4.1808 -T 14 193 o o 2.03687 -T 14 196 r r 3.84693 -T 14 197 s s 4.68599 -T 14 199 u u 1.22382 -F 15 19.1383 -T 15 203 , , 2.77222 -T 15 204 a a 6.12419 -T 15 206 c c 5.03138 -T 15 207 d d 1.60882 -T 15 209 f f 5.79031 -T 15 210 g g 5.54025 -T 15 215 l l 2.63623 -T 15 216 m m 4.24459 -T 15 217 n n 0.670052 -T 15 221 r r 2.20887 -T 15 222 s s 3.77117 -T 15 223 t t 3.16721 -T 15 225 v v 6.62937 -F 16 17.7044 -T 16 230 , , 1.09268 -T 16 231 a a 2.41334 -T 16 232 e e 2.41334 -T 16 233 o o 0.305783 -F 17 16.217 -T 17 236 , , 1.53282 -T 17 237 a a 4.01479 -T 17 240 d d 5.94827 -T 17 241 e e 0.610876 -T 17 242 f f 3.76381 -T 17 245 i i 1.40181 -T 17 249 m m 5.94827 -T 17 250 n n 2.50705 -T 17 251 o o 4.35027 -T 17 255 t t 4.11449 -T 17 257 w w 4.35027 -F 18 17.3904 -T 18 259 , , 2.58444 -T 18 260 a a 3.10504 -T 18 261 b b 4.82046 -T 18 262 c c 3.33161 -T 18 263 d d 4.25034 -T 18 264 e e 3.41588 -T 18 265 f f 3.33161 -T 18 266 g g 5.11634 -T 18 267 h h 4.51399 -T 18 268 i i 2.79119 -T 18 269 j j 6.28306 -T 18 270 k k 3.75736 -T 18 271 l l 0.860937 -T 18 272 m m 3.01685 -T 18 273 n n 5.91672 -T 18 274 o o 2.62426 -T 18 275 p p 4.27982 -T 18 277 r r 3.95193 -T 18 278 s s 2.88284 -T 18 279 t t 3.07764 -T 18 280 u u 4.67747 -T 18 281 v v 5.53841 -T 18 282 w w 3.81193 -F 19 17.1918 -T 19 284 , , 2.03466 -T 19 285 a a 2.05229 -T 19 286 b b 3.23375 -T 19 287 c c 4.24781 -T 19 288 d d 4.90013 -T 19 289 e e 1.15313 -T 19 290 f f 5.06661 -T 19 291 g g 5.85041 -T 19 292 h h 6.35536 -T 19 293 i i 1.802 -T 19 295 l l 5.85041 -T 19 296 m m 3.53585 -T 19 297 n n 4.33116 -T 19 298 o o 2.18515 -T 19 299 p p 2.97931 -T 19 301 r r 4.90013 -T 19 302 s s 3.26322 -T 19 303 t t 4.90013 -T 19 304 u u 3.91186 -T 19 305 v v 5.5163 -T 19 306 w w 4.33116 -F 20 16.0941 -T 20 308 , , 1.38443 -T 20 309 a a 3.43108 -T 20 310 b b 4.96299 -T 20 311 c c 2.91392 -T 20 312 d d 0.732683 -T 20 313 e e 3.43108 -T 20 314 f f 5.55038 -T 20 315 g g 3.46355 -T 20 316 h h 4.43777 -T 20 317 i i 2.76909 -T 20 318 j j 7.73991 -T 20 319 k k 5.15272 -T 20 321 m m 5.86031 -T 20 322 n n 4.22801 -T 20 323 o o 3.58029 -T 20 324 p p 6.5223 -T 20 325 q q 6.06063 -T 20 326 r r 5.59574 -T 20 327 s s 2.70001 -T 20 328 t t 2.45525 -T 20 329 u u 5.2142 -T 20 331 w w 4.52942 -T 20 332 x x 5.55038 -T 20 333 y y 3.06819 -F 21 18.1783 -T 21 335 , , 2.81519 -T 21 336 a a 4.28949 -T 21 341 f f 0.913436 -T 21 349 n n 3.00073 -T 21 353 r r 0.692848 -F 22 17.4025 -T 22 362 , , 1.55602 -T 22 363 a a 3.04333 -T 22 367 e e 2.04516 -T 22 368 f f 6.27454 -T 22 370 h h 3.67308 -T 22 371 i i 2.15637 -T 22 375 o o 2.52755 -T 22 376 p p 0.918501 -T 22 377 r r 3.34381 -T 22 378 s s 2.94455 -T 22 379 t t 2.51212 -T 22 382 w w 5.76959 -F 23 17.7921 -T 23 384 , , -4.05948e-10 -F 24 15.1833 -T 24 386 , , 1.164 -T 24 387 a a 2.84899 -T 24 388 b b 4.56257 -T 24 389 c c 3.28763 -T 24 390 d d 2.21371 -T 24 391 e e 1.69977 -T 24 392 f f 3.87686 -T 24 393 g g 4.0012 -T 24 395 i i 3.09675 -T 24 396 j j 6.84513 -T 24 397 k k 3.18033 -T 24 398 l l 3.55519 -T 24 399 m m 3.38987 -T 24 400 n n 3.59848 -T 24 402 p p 4.9897 -T 24 404 r r 3.03181 -T 24 405 s s 3.29592 -T 24 406 t t 1.78588 -T 24 408 v v 4.24297 -T 24 409 w w 4.82622 -T 24 410 y y 2.84899 -F 25 15.1243 -T 25 411 , , 0.78975 -T 25 412 a a 2.46377 -T 25 413 b b 4.00995 -T 25 414 c c 3.30559 -T 25 415 d d 4.56741 -T 25 416 e e 2.84277 -T 25 417 f f 3.82897 -T 25 418 g g 5.07789 -T 25 419 h h 3.26852 -T 25 420 i i 2.35025 -T 25 422 k k 3.97979 -T 25 423 l l 3.86788 -T 25 424 m m 3.23283 -T 25 425 n n 3.35187 -T 25 427 p p 3.64338 -T 25 428 q q 5.17068 -T 25 429 r r 4.59435 -T 25 430 s s 2.15545 -T 25 431 t t 1.44418 -T 25 432 u u 3.7318 -T 25 433 v v 5.17068 -T 25 434 w w 3.47805 -T 25 435 y y 4.15778 -F 26 16.3513 -T 26 436 , , 1.3761 -T 26 437 a a 2.86373 -T 26 438 b b 4.6655 -T 26 439 c c 3.8041 -T 26 440 d d 3.95377 -T 26 441 e e 1.65832 -T 26 442 f f 4.52412 -T 26 443 g g 5.89807 -T 26 445 i i 1.46974 -T 26 447 k k 7.41732 -T 26 448 l l 3.65535 -T 26 449 m m 3.34174 -T 26 450 n n 5.02746 -T 26 451 o o 3.30858 -T 26 452 p p 4.59228 -T 26 453 q q 7.08344 -T 26 454 r r 4.48106 -T 26 455 s s 3.74193 -T 26 456 t t 2.04423 -T 26 457 u u 3.34174 -T 26 458 v v 5.98879 -T 26 459 w w 3.00234 -T 26 460 y y 5.22779 -F 27 17.8152 -T 27 462 , , 1.793 -T 27 466 d d 3.10089 -T 27 469 g g 1.66316 -T 27 473 l l 2.30558 -T 27 474 m m 4.28626 -T 27 475 n n 2.74054 -T 27 478 r r 2.68182 -T 27 479 s s 1.14438 -T 27 480 t t 1.7951 -F 28 19.0732 -T 28 486 , , 0.337709 -T 28 487 a a 2.51074 -T 28 488 e e 0.349532 -T 28 489 i i 2.1071 -T 28 490 o o 2.90747 -T 28 492 y y 3.34266 -F 29 15.9456 -T 29 493 , , 0.7965 -T 29 494 a a 1.13264 -T 29 495 b b 4.48751 -T 29 496 c c 5.5764 -T 29 499 f f 2.29453 -T 29 501 h h 2.13519 -T 29 503 k k 5.5764 -T 29 504 l l 3.64292 -T 29 505 m m 4.28764 -T 29 506 n n 3.1329 -T 29 507 o o 2.22315 -T 29 511 s s 3.46907 -T 29 512 t t 3.5522 -T 29 515 w w 4.48751 -F 30 16.2912 -T 30 518 , , 0.928332 -T 30 519 a a 1.91897 -T 30 522 e e 1.3028 -T 30 525 i i 1.91897 -T 30 527 o o 2.75804 -T 30 532 w w 2.25308 -F 31 14.7703 -T 31 533 , , 1.21476 -T 31 534 a a 2.19482 -T 31 535 b b 2.66847 -T 31 536 c c 4.04334 -T 31 538 e e 3.05875 -T 31 539 f f 3.6519 -T 31 541 h h 3.50177 -T 31 542 i i 2.35854 -T 31 543 j j 5.64594 -T 31 545 l l 4.31735 -T 31 546 m m 3.82874 -T 31 547 n n 3.89528 -T 31 548 o o 2.50153 -T 31 549 p p 4.69566 -T 31 552 s s 1.76263 -T 31 553 t t 1.87476 -T 31 555 v v 6.1509 -T 31 556 w w 2.57222 -T 31 557 y y 4.86214 -F 32 17.0481 -T 32 559 , , 1.76762 -T 32 561 e e 0.593146 -T 32 562 i i 1.61757 -T 32 565 u u 2.94616 -T 32 566 z z 1.99611 -F 33 16.7009 -T 33 0 , , 4.36484 -T 33 34 a a 2.80731 -T 33 35 b b 5.19233 -T 33 36 c c 7.91888 -T 33 37 d d 7.53366 -T 33 38 e e 1.1506 -T 33 39 f f 8.05197 -T 33 40 h h 7.24031 -T 33 41 i i 3.45618 -T 33 42 j j 4.85109 -T 33 43 l l 1.9047 -T 33 44 m m 7.319 -T 33 45 n n 7.06209 -T 33 46 o o 2.00855 -T 33 47 r r 3.01846 -T 33 48 s s 3.6321 -T 33 49 t t 3.73687 -T 33 50 u u 2.25561 -T 33 51 y y 2.44488 -F 34 19.0322 -T 34 6 , , 1.87056 -T 34 8 b b 1.99818 -T 34 9 c c 1.22267 -T 34 10 d d 3.62887 -T 34 13 g g 3.02928 -T 34 14 h h 5.35144 -T 34 15 i i 4.51238 -T 34 18 l l 3.51789 -T 34 20 n n 2.53192 -T 34 24 r r 1.8294 -T 34 25 s s 2.65695 -T 34 26 t t 2.42071 -T 34 31 y y 3.62887 -F 35 17.7055 -T 35 33 , , 1.00456 -T 35 34 a a 2.98116 -T 35 38 e e 1.25859 -T 35 41 i i 1.14761 -T 35 43 l l 1.6924 -T 35 46 o o 2.98116 -F 36 16.2476 -T 36 52 -F 37 14.9705 -T 37 76 , , 1.28839 -T 37 85 i i 0.273087 -F 38 15.2702 -T 38 101 , , 1.32351 -T 38 102 a a 2.39975 -T 38 103 b b 4.50823 -T 38 104 c c 2.51074 -T 38 105 d d 3.12967 -T 38 106 e e 2.07279 -T 38 107 f f 2.41979 -T 38 108 g g 2.51811 -T 38 109 h h 3.67723 -T 38 110 i i 2.67768 -T 38 112 k k 6.50204 -T 38 113 l l 2.43314 -T 38 114 m m 3.94525 -T 38 115 n n 3.21464 -T 38 116 o o 4.68484 -T 38 117 p p 4.75138 -T 38 118 q q 5.9181 -T 38 119 r r 2.88905 -T 38 120 s s 2.66041 -T 38 121 t t 2.99014 -T 38 122 u u 5.55199 -T 38 126 y y 4.22755 -F 39 14.602 -T 39 128 -F 40 17.101 -T 40 178 , , 1.27517 -T 40 187 i i 0.273087 -F 41 18.2435 -T 41 203 , , 1.87739 -T 41 204 a a 4.70395 -T 41 210 g g 2.59639 -T 41 215 l l 1.70552 -T 41 217 n n 1.80891 -T 41 221 r r 3.24872 -T 41 222 s s 2.59639 -T 41 223 t t 0.911593 -F 42 19.9685 -T 42 230 , , 3.35681 -T 42 231 a a 2.47873 -T 42 232 e e 0.112827 -F 43 19.4164 -T 43 259 , , 4.61044 -T 43 260 a a 3.51536 -T 43 264 e e 0.270554 -T 43 268 i i 2.67468 -T 43 274 o o 3.07533 -T 43 280 u u 4.79813 -T 43 283 y y 2.52202 -F 44 15.5384 -T 44 284 , , 0.381243 -T 44 293 i i 0.966395 -F 45 15.6047 -T 45 308 , , 0.895048 -T 45 323 o o 0.461208 -F 46 17.8925 -T 46 335 , , 2.52939 -T 46 336 a a 3.0279 -T 46 339 d d 2.60814 -T 46 344 i i 3.8939 -T 46 347 l l 4.21603 -T 46 348 m m 5.31045 -T 46 349 n n 2.9183 -T 46 350 o o 3.50039 -T 46 353 r r 3.05737 -T 46 354 s s 5.06062 -T 46 355 t t 2.43406 -T 46 356 u u 1.0106 -T 46 357 v v 2.43406 -T 46 358 w w 3.50039 -T 46 359 x x 4.69428 -T 46 360 y y 2.27196 -F 47 17.8712 -T 47 386 , , 3.8519 -T 47 387 a a 1.45777 -T 47 391 e e 1.39375 -T 47 395 i i 1.59938 -T 47 401 o o 1.30464 -T 47 407 u u 3.30697 -F 48 15.9627 -T 48 411 , , 1.62814 -T 48 414 c c 2.14417 -T 48 416 e e 1.17547 -T 48 426 o o 1.63368 -T 48 431 t t 1.59799 -T 48 432 u u 2.59524 -F 49 16.5262 -T 49 436 , , 1.55102 -T 49 437 a a 1.98068 -T 49 441 e e 1.14231 -T 49 442 f f 2.82642 -T 49 445 i i 3.13543 -T 49 448 l l 1.87269 -T 49 450 n n 4.42419 -T 49 451 o o 3.13543 -T 49 455 s s 3.58512 -T 49 456 t t 2.31663 -F 50 18.8789 -T 50 462 , , 2.85669 -T 50 464 b b 5.39749 -T 50 466 d d 5.90268 -T 50 471 i i 3.9692 -T 50 473 l l 4.81355 -T 50 478 r r 2.08085 -T 50 479 s s 3.87824 -T 50 480 t t 0.225653 -F 51 15.1236 -T 51 533 , , 1.5681 -T 51 534 a a 2.01407 -T 51 535 b b 4.11564 -T 51 536 c c 3.77992 -T 51 537 d d 3.87986 -T 51 539 f f 4.11564 -T 51 540 g g 3.87986 -T 51 541 h h 3.60585 -T 51 542 i i 3.87986 -T 51 545 l l 3.6892 -T 51 546 m m 2.48219 -T 51 547 n n 3.01892 -T 51 549 p p 4.25817 -T 51 551 r r 3.45779 -T 51 552 s s 2.29337 -T 51 553 t t 1.181 -T 51 556 w w 3.06428 -T 51 557 y y 4.62451 -F 52 16.2476 -T 52 0 , , 3.91152 -T 52 53 a a 2.15913 -T 52 54 b b 7.03946 -T 52 55 c c 3.94801 -T 52 56 d d 7.08034 -T 52 57 e e 1.66845 -T 52 58 f f 6.76546 -T 52 59 g g 6.93953 -T 52 60 h h 1.92473 -T 52 61 i i 3.16467 -T 52 62 k k 3.08708 -T 52 63 l l 2.51005 -T 52 64 m m 6.61717 -T 52 65 n n 6.60877 -T 52 66 o o 1.75342 -T 52 67 p p 5.94205 -T 52 68 q q 7.03946 -T 52 69 r r 2.97287 -T 52 70 s s 5.84212 -T 52 71 t t 2.48863 -T 52 72 u u 3.33299 -T 52 73 v v 8.46534 -T 52 74 w w 6.68855 -T 52 75 y y 5.47463 -F 53 19.761 -T 53 6 , , 2.59941 -T 53 8 b b 4.21511 -T 53 9 c c 5.62522 -T 53 18 l l 1.54872 -T 53 19 m m 2.18884 -T 53 20 n n 1.75181 -T 53 22 p p 2.80961 -T 53 24 r r 1.86878 -T 53 25 s s 2.4564 -T 53 26 t t 2.50406 -T 53 27 u u 2.93649 -T 53 28 v v 3.38411 -F 54 17.7581 -T 54 33 , , 1.05711 -T 54 34 a a 0.793701 -T 54 46 o o 1.88259 -T 54 50 u u 1.88259 -F 55 18.6008 -T 55 52 , , 2.35322 -T 55 53 a a 2.23259 -T 55 57 e e 1.44464 -T 55 61 i i 3.09352 -T 55 66 o o 1.0912 -T 55 69 r r 3.63831 -T 55 72 u u 1.55102 -F 56 14.0721 -T 56 76 , , 0.389964 -T 56 85 i i 1.52592 -T 56 94 r r 1.52592 -F 57 15.8861 -T 57 101 , , 1.93935 -T 57 102 a a 2.29913 -T 57 103 b b 4.46678 -T 57 105 d d 2.45686 -T 57 106 e e 3.94778 -T 57 107 f f 4.42511 -T 57 108 g g 5.9158 -T 57 109 h h 3.78476 -T 57 110 i i 2.75297 -T 57 111 j j 7.20456 -T 57 112 k k 7.20456 -T 57 113 l l 2.28463 -T 57 114 m m 3.42717 -T 57 115 n n 2.06956 -T 57 116 o o 2.29913 -T 57 117 p p 3.94778 -T 57 119 r r 2.59087 -T 57 120 s s 2.3438 -T 57 121 t t 2.75297 -T 57 122 u u 5.48199 -T 57 124 w w 3.02422 -T 57 126 y y 6.3655 -F 58 15.5927 -T 58 128 , , 0.990728 -T 58 140 l l 1.05597 -T 58 143 o o 1.05597 -F 59 15.2379 -T 59 152 , , 1.36723 -T 59 157 e e 1.97792 -T 59 164 l l 1.97792 -T 59 170 r r 1.13886 -T 59 173 u u 1.47296 -F 60 16.7243 -T 60 178 , , 0.89843 -T 60 179 a a 1.7 -T 60 180 b b 4.12877 -T 60 181 c c 3.91762 -T 60 182 d d 4.34682 -T 60 184 f f 3.88653 -T 60 185 g g 4.34682 -T 60 186 h h 2.96757 -T 60 187 i i 2.05252 -T 60 190 l l 4.21051 -T 60 191 m m 3.2821 -T 60 192 n n 4.62612 -T 60 193 o o 2.70945 -T 60 194 p p 4.56372 -T 60 196 r r 3.57246 -T 60 197 s s 3.23283 -T 60 198 t t 2.50452 -T 60 200 v v 6.10922 -T 60 201 w w 2.59317 -T 60 202 y y 5.22572 -F 61 18.571 -T 61 203 , , 2.20491 -T 61 204 a a 3.01454 -T 61 205 b b 5.20407 -T 61 207 d d 2.28923 -T 61 208 e e 1.56967 -T 61 209 f f 4.42027 -T 61 215 l l 3.77555 -T 61 216 m m 3.32447 -T 61 217 n n 2.05966 -T 61 218 o o 2.31087 -T 61 219 p p 3.60147 -T 61 221 r r 2.42716 -T 61 222 s s 2.81399 -T 61 223 t t 1.96203 -T 61 225 v v 5.20407 -F 62 15.7847 -T 62 236 , , 1.10052 -T 62 237 a a 2.26459 -T 62 238 b b 3.76242 -T 62 239 c c 4.94756 -T 62 240 d d 5.28144 -T 62 242 f f 4.69773 -T 62 244 h h 2.96711 -T 62 245 i i 2.13726 -T 62 248 l l 3.46424 -T 62 249 m m 3.85315 -T 62 251 o o 2.8559 -T 62 253 r r 5.78663 -T 62 254 s s 1.75779 -T 62 255 t t 2.07095 -T 62 256 u u 3.85315 -T 62 257 w w 2.69448 -T 62 258 y y 3.67907 -F 63 19.5948 -T 63 259 , , 4.78877 -T 63 260 a a 2.5561 -T 63 264 e e 0.399038 -T 63 268 i i 2.90126 -T 63 274 o o 1.94292 -T 63 280 u u 3.01017 -F 64 15.908 -T 64 284 , , 0.750833 -T 64 285 a a 0.690315 -T 64 289 e e 1.78312 -T 64 298 o o 2.28808 -F 65 15.8164 -T 65 308 , , 1.10673 -T 65 309 a a 0.686861 -T 65 323 o o 1.52592 -F 66 18.7943 -T 66 335 , , 3.43125 -T 66 336 a a 3.63716 -T 66 338 c c 6.28053 -T 66 339 d d 5.18611 -T 66 342 g g 5.28604 -T 66 343 h h 6.61464 -T 66 344 i i 4.73481 -T 66 347 l l 3.00142 -T 66 348 m m 1.42921 -T 66 349 n n 1.27333 -T 66 350 o o 3.91462 -T 66 351 p p 4.47047 -T 66 353 r r 3.07925 -T 66 354 s s 5.39703 -T 66 355 t t 5.66436 -T 66 356 u u 1.55171 -T 66 357 v v 2.58005 -T 66 358 w w 5.83084 -F 67 17.0843 -T 67 362 , , 1.23787 -T 67 367 e e 2.10825 -T 67 370 h h 1.85842 -T 67 375 o o 2.10825 -T 67 377 r r 0.763077 -F 68 17.7921 -T 68 384 , , -2.99183e-12 -F 69 18.0271 -T 69 386 , , 4.00782 -T 69 387 a a 2.0097 -T 69 391 e e 1.51257 -T 69 395 i i 1.06587 -T 69 401 o o 2.07923 -T 69 407 u u 2.18515 -T 69 410 y y 2.87017 -F 70 14.9202 -T 70 411 , , 0.585681 -T 70 414 c c 2.54067 -T 70 419 h h 1.59063 -T 70 420 i i 2.54067 -T 70 426 o o 1.95674 -T 70 431 t t 1.59063 -F 71 17.6664 -T 71 436 , , 2.69126 -T 71 437 a a 2.62218 -T 71 438 b b 5.87965 -T 71 439 c c 4.55106 -T 71 440 d d 5.87965 -T 71 441 e e 1.92542 -T 71 442 f f 3.99982 -T 71 443 g g 5.87965 -T 71 445 i i 1.24201 -T 71 448 l l 2.57751 -T 71 449 m m 4.78684 -T 71 450 n n 5.09585 -T 71 451 o o 2.32147 -T 71 452 p p 4.92937 -T 71 454 r r 3.12783 -T 71 455 s s 2.90218 -T 71 456 t t 3.15339 -T 71 457 u u 2.77001 -T 71 458 v v 5.09585 -T 71 459 w w 3.69012 -T 71 460 y y 6.38461 -F 72 18.7168 -T 72 462 , , 2.6946 -T 72 471 i i 3.70739 -T 72 473 l l 0.888798 -T 72 474 m m 1.9443 -T 72 477 p p 3.09744 -T 72 478 r r 1.56023 -T 72 479 s s 2.36314 -T 72 480 t t 3.28533 -T 72 482 v v 4.45205 -F 73 18.7355 -T 73 486 -F 74 15.7989 -T 74 493 , , 0.649735 -T 74 494 a a 0.763998 -T 74 507 o o 1.71404 -F 75 14.4113 -T 75 533 , , 0.855779 -T 75 534 a a 1.57497 -T 75 536 c c 2.56968 -T 75 541 h h 2.90356 -T 75 542 i i 2.56968 -T 75 545 l l 3.40875 -T 75 548 o o 1.95351 -T 75 553 t t 1.68595 -F 76 13.6821 -T 76 0 , , 1.34599 -T 76 77 a a 2.38272 -T 76 78 b b 3.3422 -T 76 79 c c 4.10021 -T 76 80 d d 3.73134 -T 76 81 e e 1.88651 -T 76 82 f f 3.74723 -T 76 83 g g 4.67079 -T 76 84 h h 3.39677 -T 76 85 i i 2.01545 -T 76 86 j j 6.52023 -T 76 87 k k 6.31221 -T 76 88 l l 4.01686 -T 76 89 m m 3.10504 -T 76 90 n n 3.65835 -T 76 91 o o 2.56462 -T 76 92 p p 4.33323 -T 76 93 q q 6.75924 -T 76 94 r r 3.44075 -T 76 95 s s 2.79511 -T 76 96 t t 2.23604 -T 76 97 u u 3.60401 -T 76 98 v v 4.67747 -T 76 99 w w 3.10089 -T 76 100 y y 4.19117 -F 77 18.3793 -T 77 6 , , 1.21766 -T 77 7 a a 6.87575 -T 77 8 b b 3.35372 -T 77 9 c c 3.84509 -T 77 12 f f 3.84509 -T 77 13 g g 3.45572 -T 77 14 h h 4.37675 -T 77 18 l l 2.74698 -T 77 19 m m 3.67078 -T 77 20 n n 1.22613 -T 77 22 p p 3.78361 -T 77 23 q q 6.37079 -T 77 24 r r 2.59041 -T 77 25 s s 2.42416 -T 77 26 t t 2.31548 -T 77 27 u u 5.78686 -T 77 29 w w 3.72558 -T 77 31 y y 2.02512 -T 77 32 z z 5.42052 -F 78 19.0091 -T 78 33 , , 2.30818 -T 78 34 a a 4.31896 -T 78 38 e e 0.825246 -T 78 41 i i 5.41177 -T 78 43 l l 3.73249 -T 78 46 o o 3.05875 -T 78 47 r r 3.41796 -T 78 50 u u 2.43452 -T 78 51 y y 1.06126 -F 79 18.791 -T 79 52 , , 2.54342 -T 79 53 a a 1.39744 -T 79 57 e e 2.46515 -T 79 60 h h 2.55817 -T 79 63 l l 2.83748 -T 79 66 o o 0.920804 -T 79 69 r r 2.42186 -T 79 72 u u 3.56187 -F 80 16.7506 -T 80 76 , , 3.06854 -T 80 77 a a 2.70853 -T 80 81 e e 0.724854 -T 80 85 i i 1.58464 -T 80 88 l l 4.23929 -T 80 91 o o 2.08683 -T 80 94 r r 3.14326 -T 80 97 u u 3.20589 -F 81 15.0794 -T 81 101 , , 1.13271 -T 81 102 a a 2.28048 -T 81 103 b b 5.11634 -T 81 104 c c 3.53608 -T 81 105 d d 2.41426 -T 81 106 e e 3.50799 -T 81 107 f f 4.11518 -T 81 108 g g 4.0187 -T 81 109 h h 4.59228 -T 81 110 i i 4.25034 -T 81 111 j j 6.53289 -T 81 113 l l 3.35487 -T 81 114 m m 4.22179 -T 81 115 n n 2.18792 -T 81 116 o o 3.50799 -T 81 117 p p 3.3201 -T 81 118 q q 6.53289 -T 81 119 r r 1.55448 -T 81 120 s s 2.15177 -T 81 121 t t 3.15224 -T 81 122 u u 4.67747 -T 81 123 v v 3.3201 -T 81 125 x x 3.83081 -F 82 18.4146 -T 82 128 , , 3.81257 -T 82 129 a a 2.39054 -T 82 133 e e 1.91552 -T 82 137 i i 1.91552 -T 82 140 l l 3.06889 -T 82 143 o o 1.09971 -T 82 145 r r 1.62125 -T 82 148 u u 3.57868 -F 83 16.601 -T 83 152 , , 2.73035 -T 83 153 a a 2.8681 -T 83 157 e e 1.17063 -T 83 161 i i 2.09167 -T 83 164 l l 2.20588 -T 83 165 m m 4.59066 -T 83 167 o o 1.65993 -T 83 170 r r 1.89618 -T 83 173 u u 3.7516 -F 84 18.647 -T 84 178 , , 2.82117 -T 84 179 a a 1.05366 -T 84 183 e e 1.44188 -T 84 187 i i 1.34402 -T 84 193 o o 2.1467 -T 84 199 u u 3.53999 -F 85 18.0255 -T 85 203 , , 1.65942 -T 85 204 a a 3.52733 -T 85 205 b b 4.15064 -T 85 206 c c 2.77623 -T 85 207 d d 2.53584 -T 85 208 e e 4.03804 -T 85 209 f f 2.84646 -T 85 210 g g 4.4235 -T 85 211 h h 4.09284 -T 85 212 i i 5.52022 -T 85 213 j j 7.24301 -T 85 214 k k 5.95426 -T 85 215 l l 3.72098 -T 85 216 m m 3.68275 -T 85 217 n n 1.28691 -T 85 219 p p 5.30953 -T 85 221 r r 3.2996 -T 85 222 s s 1.71888 -T 85 223 t t 2.15545 -T 85 224 u u 6.40395 -T 85 225 v v 5.21858 -T 85 226 w w 3.98601 -F 86 17.6828 -T 86 230 , , 1.0711 -T 86 233 o o 1.03547 -T 86 235 u u 0.65048 -F 87 16.2506 -T 87 236 , , 1.56642 -T 87 241 e e 1.22475 -T 87 245 i i 2.10825 -T 87 250 n n 0.691697 -F 88 18.4153 -T 88 259 , , 3.60931 -T 88 260 a a 2.46331 -T 88 264 e e 1.2259 -T 88 268 i i 1.72095 -T 88 274 o o 2.09282 -T 88 280 u u 4.73803 -T 88 283 y y 1.20264 -F 89 18.6541 -T 89 284 , , 3.49692 -T 89 285 a a 2.04631 -T 89 289 e e 1.73316 -T 89 290 f f 4.43109 -T 89 293 i i 2.55679 -T 89 298 o o 2.37604 -T 89 304 u u 3.96943 -T 89 307 y y 0.720018 -F 90 19.049 -T 90 308 , , 4.33935 -T 90 309 a a 3.57684 -T 90 313 e e 1.65763 -T 90 317 i i 4.00327 -T 90 323 o o 0.289205 -T 90 328 t t 5.60104 -T 90 329 u u 5.60104 -F 91 16.9578 -T 91 335 , , 1.59467 -T 91 336 a a 5.40532 -T 91 337 b b 4.58652 -T 91 338 c c 3.69542 -T 91 340 e e 3.57246 -T 91 341 f f 1.43889 -T 91 342 g g 5.85501 -T 91 344 i i 3.69542 -T 91 347 l l 4.8603 -T 91 349 n n 1.7 -T 91 350 o o 3.95607 -T 91 351 p p 4.8603 -T 91 353 r r 3.6321 -T 91 356 u u 1.76447 -T 91 357 v v 3.72881 -T 91 358 w w 1.91253 -T 91 360 y y 3.43707 -T 91 361 z z 5.23884 -F 92 18.1106 -T 92 362 , , 2.26418 -T 92 363 a a 2.18907 -T 92 367 e e 2.10756 -T 92 370 h h 3.32931 -T 92 371 i i 2.81952 -T 92 372 l l 2.10756 -T 92 375 o o 1.99634 -T 92 377 r r 1.11998 -T 92 380 u u 2.67146 -F 93 17.7921 -T 93 384 , , -9.95519e-11 -F 94 17.5404 -T 94 386 , , 3.52111 -T 94 387 a a 1.99657 -T 94 391 e e 0.660381 -T 94 395 i i 2.18607 -T 94 401 o o 1.82526 -T 94 407 u u 3.3749 -T 94 410 y y 3.56256 -F 95 15.7376 -T 95 411 , , 1.403 -T 95 412 a a 2.15154 -T 95 413 b b 4.35603 -T 95 414 c c 3.13336 -T 95 416 e e 2.48265 -T 95 417 f f 4.53011 -T 95 419 h h 2.70116 -T 95 420 i i 2.55909 -T 95 422 k k 5.9584 -T 95 423 l l 3.68391 -T 95 424 m m 3.96459 -T 95 425 n n 4.20774 -T 95 426 o o 1.95973 -T 95 427 p p 3.34197 -T 95 429 r r 4.74079 -T 95 431 t t 1.72717 -T 95 432 u u 2.43475 -T 95 434 w w 2.98116 -F 96 18.781 -T 96 436 , , 3.80585 -T 96 437 a a 3.99176 -T 96 441 e e 4.28465 -T 96 444 h h 0.554462 -T 96 445 i i 4.57915 -T 96 451 o o 1.07001 -T 96 454 r r 3.99176 -T 96 457 u u 5.08894 -T 96 459 w w 4.47093 -F 97 17.5791 -T 97 462 , , 1.55687 -T 97 463 a a 3.47115 -T 97 465 c c 1.80523 -T 97 467 e e 4.81632 -T 97 469 g g 4.05762 -T 97 473 l l 2.79741 -T 97 475 n n 1.89296 -T 97 477 p p 1.65026 -T 97 478 r r 1.80523 -T 97 479 s s 1.87776 -T 97 480 t t 3.47115 -F 98 19.4768 -T 98 486 , , 0.741368 -T 98 487 a a 0.653474 -T 98 489 i i 2.39952 -T 98 490 o o 3.12875 -F 99 18.4503 -T 99 493 , , 3.30119 -T 99 494 a a 1.88167 -T 99 498 e e 1.58395 -T 99 501 h h 1.60444 -T 99 502 i i 0.977447 -T 99 507 o o 2.98001 -T 99 510 r r 4.56004 -F 100 14.7158 -T 100 533 , , 1.1603 -T 100 534 a a 2.2494 -T 100 535 b b 3.04471 -T 100 536 c c 4.56395 -T 100 538 e e 1.52777 -T 100 539 f f 3.98002 -T 100 540 g g 4.56395 -T 100 541 h h 4.22985 -T 100 542 i i 3.23536 -T 100 546 m m 3.98002 -T 100 547 n n 4.56395 -T 100 548 o o 1.41954 -T 100 549 p p 4.56395 -T 100 551 r r 3.78015 -T 100 553 t t 2.28946 -T 100 556 w w 2.96135 -T 100 557 y y 5.06891 -F 101 13.9467 -T 101 0 , , 1.61061 -T 101 102 a a 2.31617 -T 101 103 b b 4.31182 -T 101 104 c c 3.24342 -T 101 105 d d 2.31064 -T 101 106 e e 3.25885 -T 101 107 f f 3.68437 -T 101 108 g g 4.18242 -T 101 109 h h 3.88239 -T 101 110 i i 3.38825 -T 101 111 j j 6.67036 -T 101 112 k k 6.10277 -T 101 113 l l 3.06405 -T 101 114 m m 3.3399 -T 101 115 n n 2.42025 -T 101 116 o o 3.51835 -T 101 117 p p 3.67769 -T 101 118 q q 5.98143 -T 101 119 r r 1.97424 -T 101 120 s s 2.33943 -T 101 121 t t 2.84646 -T 101 122 u u 5.06933 -T 101 123 v v 3.78982 -T 101 124 w w 3.26645 -T 101 125 x x 4.27567 -T 101 126 y y 4.59412 -T 101 127 z z 8.53637 -F 102 19.1902 -T 102 6 , , 2.02864 -T 102 7 a a 5.19578 -T 102 8 b b 3.60976 -T 102 9 c c 3.08685 -T 102 10 d d 2.62863 -T 102 11 e e 6.96463 -T 102 12 f f 4.29133 -T 102 13 g g 3.64108 -T 102 14 h h 5.35927 -T 102 15 i i 4.7005 -T 102 17 k k 3.7242 -T 102 18 l l 2.88445 -T 102 19 m m 3.63325 -T 102 20 n n 1.88536 -T 102 21 o o 5.08848 -T 102 22 p p 3.94617 -T 102 24 r r 1.50336 -T 102 25 s s 2.24226 -T 102 26 t t 2.08085 -T 102 27 u u 4.7005 -T 102 28 v v 3.56463 -T 102 29 w w 4.09768 -T 102 30 x x 8.05375 -F 103 18.7397 -T 103 33 , , 2.03878 -T 103 34 a a 2.26597 -T 103 35 b b 5.2195 -T 103 38 e e 0.931396 -T 103 41 i i 3.95101 -T 103 43 l l 3.27888 -T 103 46 o o 1.8195 -T 103 47 r r 2.75228 -T 103 50 u u 2.02973 -T 103 51 y y 2.59639 -F 104 18.4051 -T 104 52 , , 2.15745 -T 104 53 a a 1.96848 -T 104 57 e e 2.30719 -T 104 60 h h 3.00833 -T 104 61 i i 2.85958 -T 104 62 k k 3.97633 -T 104 63 l l 3.36408 -T 104 66 o o 1.36958 -T 104 69 r r 2.66731 -T 104 70 s s 7.1265 -T 104 71 t t 1.39468 -T 104 72 u u 3.82022 -T 104 75 y y 5.83774 -F 105 14.7739 -T 105 76 , , 1.09184 -T 105 77 a a 2.05667 -T 105 78 b b 2.94362 -T 105 79 c c 4.46241 -T 105 80 d d 4.42695 -T 105 82 f f 3.37006 -T 105 83 g g 4.85408 -T 105 84 h h 3.22408 -T 105 85 i i 2.00279 -T 105 86 j j 7.55409 -T 105 87 k k 6.46128 -T 105 88 l l 4.05393 -T 105 89 m m 2.5508 -T 105 90 n n 4.32771 -T 105 91 o o 2.72166 -T 105 92 p p 4.63925 -T 105 93 q q 6.2255 -T 105 94 r r 4.18149 -T 105 95 s s 3.5773 -T 105 96 t t 1.66178 -T 105 97 u u 3.29431 -T 105 98 v v 5.20108 -T 105 99 w w 2.87501 -T 105 100 y y 4.85408 -F 106 15.9542 -T 106 101 , , 2.00747 -T 106 102 a a 2.15338 -T 106 103 b b 5.08687 -T 106 104 c c 4.37307 -T 106 105 d d 2.773 -T 106 107 f f 4.29156 -T 106 109 h h 4.0491 -T 106 110 i i 3.49648 -T 106 112 k k 4.29156 -T 106 113 l l 3.01454 -T 106 114 m m 3.14257 -T 106 115 n n 1.44533 -T 106 116 o o 4.72629 -T 106 117 p p 2.5508 -T 106 118 q q 6.60589 -T 106 120 s s 3.20658 -T 106 121 t t 2.28117 -T 106 122 u u 6.02218 -T 106 123 v v 3.33345 -T 106 124 w w 4.08041 -T 106 125 x x 2.53699 -T 106 126 y y 5.27752 -T 106 127 z z 5.65584 -F 107 17.2648 -T 107 128 , , 2.66274 -T 107 129 a a 2.05897 -T 107 133 e e 2.75527 -T 107 134 f f 2.56761 -T 107 137 i i 2.02121 -T 107 138 j j 4.96322 -T 107 140 l l 2.72971 -T 107 143 o o 1.12804 -T 107 145 r r 2.53607 -T 107 147 t t 3.08892 -T 107 148 u u 2.69264 -F 108 16.9053 -T 108 152 , , 3.03463 -T 108 153 a a 1.43451 -T 108 157 e e 2.70554 -T 108 159 g g 4.4654 -T 108 161 i i 2.10249 -T 108 164 l l 3.0378 -T 108 165 m m 5.34891 -T 108 166 n n 5.68301 -T 108 167 o o 2.36637 -T 108 170 r r 1.26803 -T 108 171 s s 4.16376 -T 108 172 t t 5.34891 -T 108 173 u u 2.33805 -T 108 176 y y 6.18797 -F 109 19.2067 -T 109 178 , , 3.38079 -T 109 179 a a 0.815345 -T 109 183 e e 1.61688 -T 109 187 i i 2.12436 -T 109 193 o o 1.80477 -T 109 199 u u 2.71014 -T 109 200 v v 5.98281 -T 109 202 y y 6.48776 -F 110 18.4367 -T 110 203 , , 2.07058 -T 110 204 a a 4.28741 -T 110 205 b b 4.65951 -T 110 206 c c 3.06428 -T 110 207 d d 3.34957 -T 110 209 f f 3.91992 -T 110 210 g g 2.72419 -T 110 211 h h 3.88953 -T 110 212 i i 6.9819 -T 110 214 k k 6.14284 -T 110 215 l l 4.12393 -T 110 216 m m 3.13175 -T 110 217 n n 1.06587 -T 110 219 p p 5.89301 -T 110 221 r r 2.77185 -T 110 222 s s 2.21163 -T 110 223 t t 2.03802 -T 110 225 v v 3.51973 -T 110 226 w w 3.49947 -T 110 229 z z 5.69314 -F 111 17.6662 -T 111 230 , , 1.05443 -T 111 231 a a 1.9846 -T 111 233 o o 0.615021 -T 111 234 s s 3.70716 -T 111 235 u u 1.52293 -F 112 15.1544 -T 112 236 , , 0.470237 -T 112 237 a a 2.98254 -T 112 238 b b 4.2713 -T 112 241 e e 1.45178 -T 112 242 f f 4.2713 -T 112 245 i i 1.34056 -T 112 250 n n 1.82779 -T 112 251 o o 2.54873 -T 112 254 s s 2.81606 -F 113 15.8485 -T 113 259 , , 1.04247 -T 113 260 a a 2.06795 -T 113 261 b b 5.37239 -T 113 262 c c 5.12141 -T 113 264 e e 2.13657 -T 113 265 f f 2.27242 -T 113 267 h h 5.85064 -T 113 268 i i 2.05068 -T 113 271 l l 1.872 -T 113 272 m m 5.19832 -T 113 274 o o 2.46031 -T 113 275 p p 4.65675 -T 113 278 s s 2.86188 -T 113 279 t t 3.36246 -T 113 280 u u 4.61139 -T 113 281 v v 3.5743 -T 113 282 w w 5.12141 -T 113 283 y y 2.38571 -F 114 15.8222 -T 114 284 , , 0.665045 -T 114 285 a a 1.39905 -T 114 286 b b 3.43338 -T 114 288 d d 6.19096 -T 114 289 e e 1.73799 -T 114 293 i i 2.3841 -T 114 294 k k 7.03002 -T 114 296 m m 3.6542 -T 114 297 n n 4.9227 -T 114 298 o o 1.6079 -T 114 299 p p 2.96688 -T 114 302 s s 4.13498 -T 114 304 u u 3.22293 -T 114 306 w w 5.19647 -T 114 307 y y 2.54827 -F 115 16.2184 -T 115 308 , , 1.5088 -T 115 309 a a 2.86626 -T 115 310 b b 4.55152 -T 115 311 c c 2.49324 -T 115 312 d d 2.62817 -T 115 313 e e 2.62172 -T 115 314 f f 4.57362 -T 115 316 h h 4.00627 -T 115 317 i i 2.8582 -T 115 318 j j 6.01619 -T 115 320 l l 3.82068 -T 115 321 m m 4.21834 -T 115 322 n n 5.45068 -T 115 323 o o 2.19068 -T 115 324 p p 5.21167 -T 115 325 q q 7.94968 -T 115 326 r r 4.50846 -T 115 327 s s 2.88675 -T 115 328 t t 1.12573 -T 115 329 u u 4.57362 -T 115 330 v v 5.69406 -T 115 331 w w 3.73963 -T 115 334 z z 7.94968 -F 116 18.3417 -T 116 335 , , 2.97857 -T 116 337 b b 3.88653 -T 116 338 c c 3.49855 -T 116 341 f f 0.665677 -T 116 342 g g 6.34662 -T 116 347 l l 3.32977 -T 116 349 n n 2.09835 -T 116 351 p p 3.43177 -T 116 353 r r 2.85866 -T 116 355 t t 3.2022 -T 116 356 u u 2.25101 -T 116 357 v v 3.73019 -T 116 358 w w 5.56305 -F 117 17.7598 -T 117 362 , , 1.91336 -T 117 363 a a 1.90539 -T 117 364 b b 5.8534 -T 117 365 c c 5.40371 -T 117 366 d d 5.8534 -T 117 367 e e 2.65189 -T 117 368 f f 6.18728 -T 117 370 h h 3.0956 -T 117 371 i i 3.25125 -T 117 372 l l 1.80154 -T 117 373 m m 5.40371 -T 117 374 n n 6.69223 -T 117 375 o o 2.30397 -T 117 377 r r 1.42023 -T 117 378 s s 3.54207 -T 117 379 t t 2.34564 -T 117 380 u u 3.69381 -T 117 381 v v 6.69223 -T 117 382 w w 4.96967 -T 117 383 y y 5.60334 -F 118 17.8492 -T 118 384 , , 0.0570433 -T 118 385 u u 0.00391439 -F 119 15.1233 -T 119 386 , , 1.10401 -T 119 387 a a 2.34081 -T 119 388 b b 4.33231 -T 119 389 c c 3.94387 -T 119 390 d d 4.27728 -T 119 391 e e 1.47895 -T 119 392 f f 3.75598 -T 119 393 g g 4.68 -T 119 394 h h 3.58167 -T 119 395 i i 2.3963 -T 119 396 j j 7.30656 -T 119 398 l l 4.23537 -T 119 399 m m 3.6945 -T 119 400 n n 3.642 -T 119 401 o o 2.85843 -T 119 402 p p 4.6031 -T 119 403 q q 7.8905 -T 119 404 r r 3.47069 -T 119 405 s s 2.55679 -T 119 406 t t 2.32999 -T 119 407 u u 4.22524 -T 119 408 v v 4.2881 -T 119 409 w w 3.47552 -T 119 410 y y 2.58788 -F 120 14.9212 -T 120 411 , , 0.586658 -T 120 412 a a 2.44535 -T 120 413 b b 4.48912 -T 120 414 c c 3.2273 -T 120 415 d d 4.90888 -T 120 416 e e 2.30949 -T 120 417 f f 4.43363 -T 120 419 h h 2.81376 -T 120 420 i i 2.5036 -T 120 422 k k 5.17253 -T 120 423 l l 4.18034 -T 120 424 m m 4.29893 -T 120 425 n n 4.34751 -T 120 426 o o 2.23466 -T 120 427 p p 3.36569 -T 120 430 s s 1.8773 -T 120 431 t t 1.84299 -T 120 432 u u 3.00142 -T 120 434 w w 3.39079 -T 120 435 y y 5.03207 -F 121 16.004 -T 121 436 , , 1.02888 -T 121 437 a a 3.1854 -T 121 438 b b 5.13868 -T 121 439 c c 3.94479 -T 121 441 e e 2.61297 -T 121 442 f f 5.41591 -T 121 443 g g 6.6844 -T 121 444 h h 0.934389 -T 121 445 i i 2.9427 -T 121 448 l l 4.74379 -T 121 450 n n 5.80067 -T 121 451 o o 1.58303 -T 121 453 q q 7.52347 -T 121 454 r r 3.01961 -T 121 455 s s 4.43132 -T 121 456 t t 3.31342 -T 121 457 u u 3.1854 -T 121 459 w w 3.36339 -T 121 460 y y 4.82898 -F 122 18.5367 -T 122 462 , , 2.51448 -T 122 465 c c 5.2568 -T 122 470 h h 5.2568 -T 122 474 m m 3.32332 -T 122 475 n n 1.26366 -T 122 477 p p 1.27586 -T 122 478 r r 3.2326 -T 122 479 s s 1.37925 -T 122 480 t t 2.56232 -F 123 20.8552 -T 123 486 , , 2.11978 -T 123 487 a a 2.83333 -T 123 488 e e 0.239239 -T 123 489 i i 2.71636 -T 123 490 o o 2.45156 -F 124 16.5518 -T 124 493 , , 1.40268 -T 124 494 a a 1.37602 -T 124 496 c c 5.81472 -T 124 497 d d 5.50571 -T 124 498 e e 1.36129 -T 124 499 f f 6.26441 -T 124 500 g g 7.10348 -T 124 501 h h 1.72279 -T 124 502 i i 2.10065 -T 124 504 l l 6.26441 -T 124 505 m m 4.45435 -T 124 507 o o 2.21255 -T 124 508 p p 6.26441 -T 124 510 r r 4.17274 -T 124 511 s s 4.84786 -T 124 512 t t 4.60448 -T 124 514 v v 7.10348 -T 124 515 w w 4.60448 -T 124 516 y y 7.10348 -F 125 17.2933 -T 125 518 , , 1.93045 -T 125 519 a a 1.837 -T 125 520 c c 1.84644 -T 125 522 e e 4.26116 -T 125 524 h h 3.35671 -T 125 525 i i 2.39538 -T 125 528 p p 1.25445 -T 125 530 t t 1.39951 -T 125 531 u u 6.09471 -F 126 14.8277 -T 126 533 , , 1.27221 -T 126 534 a a 2.54528 -T 126 535 b b 4.0537 -T 126 536 c c 3.84301 -T 126 538 e e 1.47319 -T 126 540 g g 4.93743 -T 126 541 h h 3.45411 -T 126 542 i i 2.99681 -T 126 544 k k 3.17503 -T 126 545 l l 4.48774 -T 126 546 m m 3.94295 -T 126 547 n n 4.93743 -T 126 548 o o 1.528 -T 126 551 r r 4.17873 -T 126 552 s s 2.84577 -T 126 553 t t 2.99681 -T 126 556 w w 2.35647 -F 127 16.0374 -T 127 559 , , 0.756945 -T 127 561 e e 0.28483 -F 128 14.602 -T 128 0 , , 2.26592 -T 128 129 a a 2.21048 -T 128 130 b b 4.88977 -T 128 131 c c 4.27314 -T 128 132 d d 4.77119 -T 128 133 e e 2.24548 -T 128 134 f f 3.07856 -T 128 135 g g 4.8223 -T 128 136 h h 3.9312 -T 128 137 i i 2.32193 -T 128 138 j j 5.7415 -T 128 139 k k 7.23213 -T 128 140 l l 3.35003 -T 128 141 m m 3.72812 -T 128 142 n n 4.96317 -T 128 143 o o 1.92818 -T 128 144 p p 4.68783 -T 128 145 r r 2.80271 -T 128 146 s s 3.52664 -T 128 147 t t 1.65395 -T 128 148 u u 3.14717 -T 128 149 v v 5.34154 -T 128 150 w w 3.72374 -T 128 151 y y 5.40992 -F 129 18.1856 -T 129 6 , , 1.02395 -T 129 8 b b 3.88078 -T 129 9 c c 1.61457 -T 129 10 d d 3.88078 -T 129 11 e e 6.5299 -T 129 12 f f 4.03091 -T 129 13 g g 3.97841 -T 129 14 h h 4.69635 -T 129 15 i i 2.8978 -T 129 18 l l 2.13335 -T 129 19 m m 3.17665 -T 129 20 n n 2.03341 -T 129 22 p p 4.20751 -T 129 24 r r 2.06312 -T 129 25 s s 2.63876 -T 129 26 t t 2.33943 -T 129 27 u u 4.93214 -T 129 28 v v 3.7919 -T 129 29 w w 5.07467 -T 129 30 x x 6.02471 -F 130 17.3281 -T 130 33 , , 0.627187 -T 130 34 a a 2.02305 -T 130 38 e e 1.30511 -T 130 41 i i 3.35164 -T 130 46 o o 1.8324 -T 130 47 r r 1.92312 -T 130 50 u u 2.4016 -T 130 51 y y 3.01777 -F 131 18.0033 -T 131 52 , , 1.75573 -T 131 53 a a 2.08568 -T 131 57 e e 3.01524 -T 131 60 h h 3.63141 -T 131 61 i i 3.18171 -T 131 63 l l 3.38135 -T 131 66 o o 0.477326 -T 131 69 r r 2.87247 -T 131 72 u u 3.96528 -F 132 16.3029 -T 132 76 , , 2.62076 -T 132 77 a a 1.6521 -T 132 81 e e 0.824326 -T 132 85 i i 1.79003 -T 132 91 o o 3.13543 -T 132 94 r r 2.37673 -T 132 97 u u 3.46954 -F 133 16.198 -T 133 101 , , 2.2513 -T 133 102 a a 2.23696 -T 133 103 b b 5.65561 -T 133 104 c c 2.46607 -T 133 106 e e 1.94822 -T 133 110 i i 4.56119 -T 133 113 l l 1.77575 -T 133 114 m m 5.40578 -T 133 115 n n 4.05117 -T 133 116 o o 5.40578 -T 133 118 q q 6.49467 -T 133 119 r r 2.09835 -T 133 120 s s 1.58924 -T 133 121 t t 4.05117 -T 133 122 u u 5.98971 -T 133 123 v v 3.6367 -T 133 124 w w 3.11885 -T 133 125 x x 4.11011 -F 134 16.3416 -T 134 128 , , 1.73962 -T 134 129 a a 2.51212 -T 134 131 c c 3.93949 -T 134 133 e e 0.973072 -T 134 136 h h 5.66229 -T 134 137 i i 1.41379 -T 134 140 l l 3.63785 -T 134 141 m m 5.1571 -T 134 143 o o 2.26413 -T 134 145 r r 3.82851 -T 134 146 s s 4.37353 -T 134 148 u u 3.01316 -F 135 15.8521 -T 135 152 , , 1.98147 -T 135 153 a a 2.63508 -T 135 157 e e 1.89963 -T 135 161 i i 2.63508 -T 135 164 l l 3.41888 -T 135 167 o o 1.99035 -T 135 170 r r 0.831694 -T 135 173 u u 3.08477 -F 136 17.8492 -T 136 178 , , 2.02331 -T 136 179 a a 1.60628 -T 136 183 e e 1.5798 -T 136 187 i i 1.14485 -T 136 193 o o 1.91621 -T 136 199 u u 2.20956 -F 137 18.368 -T 137 203 , , 2.00195 -T 137 204 a a 4.82069 -T 137 205 b b 5.57939 -T 137 206 c c 1.75388 -T 137 207 d d 4.39425 -T 137 208 e e 2.68712 -T 137 209 f f 3.35648 -T 137 210 g g 4.09607 -T 137 211 h h 5.57939 -T 137 215 l l 3.29684 -T 137 216 m m 4.69566 -T 137 217 n n 1.50313 -T 137 221 r r 1.69954 -T 137 222 s s 2.62587 -T 137 223 t t 2.47505 -T 137 225 v v 3.18724 -T 137 226 w w 5.32956 -T 137 227 x x 4.3109 -F 138 18.2335 -T 138 230 , , 1.62173 -T 138 231 a a 3.01408 -T 138 233 o o 0.629296 -T 138 235 u u 0.989651 -F 139 15.2278 -T 139 236 , , 0.543622 -T 139 245 i i 1.37188 -T 139 253 r r 1.37188 -F 140 18.2622 -T 140 259 , , 3.45623 -T 140 260 a a 1.46053 -T 140 264 e e 1.44787 -T 140 268 i i 1.7944 -T 140 274 o o 1.48678 -T 140 280 u u 2.2989 -T 140 283 y y 3.55749 -F 141 17.5108 -T 141 284 , , 2.35359 -T 141 285 a a 2.04861 -T 141 289 e e 2.08315 -T 141 290 f f 5.01365 -T 141 293 i i 2.90632 -T 141 298 o o 1.80891 -T 141 304 u u 4.50869 -T 141 307 y y 0.710578 -F 142 17.7985 -T 142 308 , , 3.08887 -T 142 309 a a 1.07277 -T 142 313 e e 1.49 -T 142 317 i i 2.38571 -T 142 323 o o 1.17547 -F 143 18.737 -T 143 335 , , 3.37391 -T 143 336 a a 5.2142 -T 143 337 b b 6.30701 -T 143 338 c c 5.2142 -T 143 341 f f 4.78777 -T 143 342 g g 5.52321 -T 143 347 l l 2.55426 -T 143 349 n n 4.07396 -T 143 350 o o 3.39217 -T 143 351 p p 6.81197 -T 143 353 r r 0.4368 -T 143 354 s s 4.31297 -T 143 356 u u 1.75342 -T 143 357 v v 5.52321 -F 144 17.0077 -T 144 362 , , 1.16123 -T 144 363 a a 1.6726 -T 144 367 e e 2.45962 -T 144 370 h h 4.05738 -T 144 371 i i 3.21832 -T 144 372 l l 2.22384 -T 144 375 o o 1.94983 -T 144 377 r r 1.09212 -T 144 380 u u 3.5522 -F 145 18.0551 -T 145 386 , , 4.03579 -T 145 387 a a 2.47574 -T 145 391 e e 1.77783 -T 145 395 i i 2.60791 -T 145 401 o o 0.421603 -T 145 407 u u 4.64915 -F 146 15.7447 -T 146 411 , , 1.41017 -T 146 412 a a 2.43521 -T 146 414 c c 2.83011 -T 146 416 e e 2.52041 -T 146 419 h h 3.75966 -T 146 420 i i 2.56577 -T 146 423 l l 3.4921 -T 146 424 m m 3.6169 -T 146 425 n n 2.6132 -T 146 426 o o 1.90861 -T 146 427 p p 3.19046 -T 146 431 t t 1.79487 -T 146 432 u u 1.95789 -F 147 16.7576 -T 147 436 , , 1.78242 -T 147 437 a a 4.05531 -T 147 438 b b 5.48821 -T 147 439 c c 6.24714 -T 147 441 e e 2.07877 -T 147 443 g g 7.08598 -T 147 444 h h 0.333184 -T 147 445 i i 3.77992 -T 147 450 n n 5.79722 -T 147 452 p p 6.58102 -T 147 454 r r 4.15548 -T 147 455 s s 5.06177 -T 147 456 t t 4.3482 -T 147 459 w w 3.99383 -T 147 460 y y 3.93581 -F 148 18.7434 -T 148 462 , , 2.72117 -T 148 465 c c 5.59367 -T 148 469 g g 4.30491 -T 148 473 l l 0.384301 -T 148 475 n n 3.27151 -T 148 477 p p 3.99591 -T 148 478 r r 2.26367 -T 148 479 s s 2.36245 -T 148 480 t t 3.33806 -F 149 19.8967 -T 149 486 , , 1.16125 -T 149 487 a a 0.965244 -T 149 489 i i 1.81075 -T 149 490 o o 1.47527 -F 150 17.0067 -T 150 493 , , 1.85757 -T 150 494 a a 1.21093 -T 150 498 e e 1.81306 -T 150 501 h h 0.989421 -T 150 502 i i 2.51903 -T 150 507 o o 2.76241 -T 150 510 r r 5.01802 -F 151 14.9934 -T 151 533 , , 1.4379 -T 151 538 e e 2.50222 -T 151 542 i i 2.25216 -T 151 546 m m 3.34128 -T 151 548 o o 0.603277 -T 151 553 t t 2.50222 -F 152 13.8706 -T 152 0 , , 1.53453 -T 152 153 a a 2.15084 -T 152 154 b b 4.53886 -T 152 155 c c 4.48728 -T 152 156 d d 4.53886 -T 152 157 e e 2.08039 -T 152 158 f f 4.49994 -T 152 159 g g 3.75413 -T 152 160 h h 1.87799 -T 152 161 i i 2.53261 -T 152 162 j j 7.60475 -T 152 163 k k 6.50075 -T 152 164 l l 3.20543 -T 152 165 m m 3.954 -T 152 166 n n 3.77854 -T 152 167 o o 2.56876 -T 152 168 p p 5.11312 -T 152 169 q q 8.4445 -T 152 170 r r 2.41495 -T 152 171 s s 3.36385 -T 152 172 t t 2.62195 -T 152 173 u u 2.7661 -T 152 174 v v 6.08835 -T 152 175 w w 3.77233 -T 152 176 y y 5.08986 -T 152 177 z z 7.93885 -F 153 18.8626 -T 153 6 , , 1.70104 -T 153 8 b b 3.32793 -T 153 9 c c 4.5704 -T 153 12 f f 4.45942 -T 153 13 g g 3.17135 -T 153 14 h h 5.20407 -T 153 15 i i 1.87246 -T 153 18 l l 2.20726 -T 153 19 m m 4.45942 -T 153 20 n n 1.23442 -T 153 22 p p 3.97081 -T 153 24 r r 3.088 -T 153 25 s s 2.60998 -T 153 26 t t 2.51534 -T 153 27 u u 6.29296 -T 153 28 v v 2.93971 -T 153 29 w w 4.35948 -T 153 32 z z 3.74147 -F 154 18.0569 -T 154 33 , , 1.35599 -T 154 34 a a 2.45548 -T 154 38 e e 1.13126 -T 154 46 o o 2.45548 -T 154 47 r r 3.40575 -T 154 50 u u 1.26159 -T 154 51 y y 2.07716 -F 155 18.3133 -T 155 52 , , 2.06571 -T 155 53 a a 1.57727 -T 155 60 h h 2.23949 -T 155 63 l l 2.36429 -T 155 66 o o 0.75709 -T 155 69 r r 2.6733 -F 156 16.2398 -T 156 76 , , 2.55776 -T 156 77 a a 2.45548 -T 156 81 e e 2.07716 -T 156 85 i i 1.46721 -T 156 91 o o 0.760544 -T 156 94 r r 3.40575 -T 156 97 u u 3.91071 -F 157 15.0999 -T 157 101 , , 1.15318 -T 157 102 a a 2.96504 -T 157 103 b b 4.10758 -T 157 105 d d 2.48564 -T 157 107 f f 4.17896 -T 157 108 g g 4.90819 -T 157 109 h h 4.64063 -T 157 110 i i 3.24181 -T 157 113 l l 3.97864 -T 157 114 m m 3.8117 -T 157 115 n n 2.33459 -T 157 116 o o 2.06012 -T 157 117 p p 4.64063 -T 157 119 r r 1.78266 -T 157 120 s s 2.33459 -T 157 121 t t 1.98322 -T 157 123 v v 4.33899 -T 157 124 w w 3.36477 -T 157 125 x x 4.42994 -T 157 126 y y 4.42994 -F 158 16.9423 -T 158 128 , , 2.34025 -T 158 129 a a 2.01591 -T 158 137 i i 2.22683 -T 158 140 l l 3.94939 -T 158 143 o o 1.16994 -T 158 145 r r 1.01866 -T 158 148 u u 3.94939 -F 159 15.181 -T 159 152 , , 1.31034 -T 159 153 a a 1.57036 -T 159 154 b b 4.69198 -T 159 155 c c 3.85292 -T 159 157 e e 1.51418 -T 159 161 i i 2.50775 -T 159 164 l l 1.87246 -T 159 165 m m 3.85292 -T 159 167 o o 3.40322 -T 159 170 r r 2.96941 -T 159 171 s s 3.40322 -T 159 172 t t 3.23674 -T 159 175 w w 3.23674 -T 159 176 y y 4.69198 -F 160 18.023 -T 160 178 , , 2.19714 -T 160 179 a a 3.25931 -T 160 180 b b 4.0666 -T 160 181 c c 5.72653 -T 160 184 f f 4.73204 -T 160 186 h h 4.84303 -T 160 187 i i 2.44742 -T 160 190 l l 4.18103 -T 160 191 m m 4.73204 -T 160 192 n n 5.4767 -T 160 193 o o 4.30998 -T 160 194 p p 6.56559 -T 160 197 s s 4.30998 -T 160 198 t t 0.354368 -T 160 199 u u 5.11036 -T 160 201 w w 3.78614 -F 161 18.0219 -T 161 203 , , 1.65581 -T 161 204 a a 3.21694 -T 161 205 b b 5.0726 -T 161 206 c c 2.49163 -T 161 209 f f 4.07788 -T 161 210 g g 2.81929 -T 161 211 h h 4.82253 -T 161 215 l l 3.8041 -T 161 217 n n 1.01567 -T 161 218 o o 2.22844 -T 161 221 r r 4.82253 -T 161 222 s s 3.13198 -T 161 223 t t 2.76126 -T 161 224 u u 5.91143 -T 161 225 v v 2.00716 -T 161 226 w w 4.31366 -F 162 17.0675 -T 162 230 , , 0.455754 -T 162 232 e e 0.966395 -T 162 233 o o 0.966395 -F 163 15.0054 -T 163 236 , , 0.321277 -T 163 245 i i 0.966395 -F 164 18.6507 -T 164 259 , , 3.84473 -T 164 260 a a 1.69816 -T 164 264 e e 1.50819 -T 164 268 i i 1.47711 -T 164 274 o o 1.34839 -T 164 283 y y 2.3088 -F 165 17.1389 -T 165 284 , , 1.98178 -T 165 285 a a 1.67306 -T 165 289 e e 1.67306 -T 165 293 i i 3.65374 -T 165 298 o o 1.79809 -T 165 304 u u 3.98762 -T 165 307 y y 0.951428 -F 166 17.4087 -T 166 308 , , 2.69907 -T 166 309 a a 1.57543 -T 166 313 e e 1.73684 -T 166 317 i i 1.36129 -T 166 321 m m 4.16261 -T 166 323 o o 1.54596 -T 166 327 s s 2.41196 -F 167 17.357 -T 167 335 , , 1.99386 -T 167 336 a a 3.55312 -T 167 337 b b 3.49049 -T 167 339 d d 4.04173 -T 167 340 e e 5.37032 -T 167 341 f f 1.9192 -T 167 343 h h 5.37032 -T 167 344 i i 2.22591 -T 167 347 l l 4.78638 -T 167 349 n n 1.85819 -T 167 350 o o 1.66523 -T 167 353 r r 3.0956 -T 167 355 t t 2.35324 -T 167 356 u u 2.31525 -T 167 357 v v 3.32378 -F 168 17.4943 -T 168 362 , , 1.64783 -T 168 363 a a 1.61849 -T 168 367 e e 2.50222 -T 168 372 l l 1.4078 -T 168 375 o o 1.88605 -T 168 377 r r 1.31685 -F 169 17.7921 -T 169 384 , , 1.50357e-08 -F 170 18.1599 -T 170 386 , , 4.14062 -T 170 387 a a 1.38938 -T 170 391 e e 0.578179 -T 170 395 i i 3.9213 -T 170 401 o o 2.03572 -T 170 407 u u 5.1898 -T 170 410 y y 3.58536 -F 171 15.1361 -T 171 411 , , 0.801485 -T 171 412 a a 2.01937 -T 171 413 b b 4.24228 -T 171 415 d d 5.08134 -T 171 417 f f 4.24228 -T 171 419 h h 2.75896 -T 171 420 i i 2.47965 -T 171 422 k k 5.08134 -T 171 423 l l 3.48335 -T 171 425 n n 4.24228 -T 171 426 o o 1.75135 -T 171 427 p p 3.24757 -T 171 431 t t 1.70529 -T 171 432 u u 3.05691 -T 171 434 w w 2.69656 -F 172 17.8203 -T 172 436 , , 2.8451 -T 172 441 e e 4.36708 -T 172 444 h h 0.432425 -T 172 445 i i 4.09952 -T 172 451 o o 1.24155 -T 172 454 r r 4.36708 -T 172 457 u u 5.82232 -T 172 459 w w 5.82232 -F 173 18.6408 -T 173 462 , , 2.61865 -T 173 463 a a 2.78313 -T 173 464 b b 5.67817 -T 173 467 e e 1.42046 -T 173 471 i i 1.43912 -T 173 473 l l 1.90055 -T 173 474 m m 4.08018 -T 173 475 n n 2.94017 -T 173 477 p p 2.25815 -T 173 478 r r 3.8444 -T 173 479 s s 2.37189 -F 174 19.0582 -T 174 486 , , 0.322754 -T 174 489 i i 2.28808 -T 174 490 o o 1.19919 -F 175 16.88 -T 175 493 , , 1.73085 -T 175 494 a a 1.23257 -T 175 498 e e 1.74306 -T 175 501 h h 1.52362 -T 175 502 i i 1.41678 -T 175 507 o o 2.95099 -F 176 14.4639 -T 176 533 , , 0.908377 -T 176 534 a a 1.43083 -T 176 541 h h 3.36431 -T 176 546 m m 2.85912 -T 176 548 o o 1.25675 -T 176 549 p p 3.36431 -T 176 553 t t 2.27518 -T 176 556 w w 3.36431 -F 177 17.0354 -T 177 559 , , 1.75494 -T 177 560 a a 0.173615 -F 178 15.8259 -T 178 0 , , 3.48977 -T 178 179 a a 1.70023 -T 178 180 b b 5.51101 -T 178 181 c c 5.54624 -T 178 182 d d 6.08942 -T 178 183 e e 0.83768 -T 178 184 f f 5.30308 -T 178 185 g g 6.29458 -T 178 186 h h 4.80941 -T 178 187 i i 1.93348 -T 178 188 j j 7.95382 -T 178 189 k k 8.45598 -T 178 190 l l 5.71548 -T 178 191 m m 4.93122 -T 178 192 n n 6.18702 -T 178 193 o o 2.47942 -T 178 194 p p 6.02955 -T 178 195 q q 7.95382 -T 178 196 r r 4.266 -T 178 197 s s 4.74286 -T 178 198 t t 2.93649 -T 178 199 u u 3.97357 -T 178 200 v v 7.36735 -T 178 201 w w 4.38596 -T 178 202 y y 4.91187 -F 179 19.5408 -T 179 6 , , 2.37919 -T 179 8 b b 4.4532 -T 179 10 d d 1.84391 -T 179 12 f f 4.70119 -T 179 13 g g 5.20223 -T 179 14 h h 5.82715 -T 179 15 i i 5.03184 -T 179 17 k k 5.35236 -T 179 18 l l 2.92636 -T 179 19 m m 4.4532 -T 179 20 n n 1.8423 -T 179 22 p p 3.23743 -T 179 24 r r 2.91231 -T 179 25 s s 3.08109 -T 179 26 t t 1.23373 -T 179 27 u u 5.15687 -T 179 28 v v 2.04976 -T 179 29 w w 5.35236 -T 179 32 z z 7.01229 -F 180 17.5926 -T 180 33 , , 0.891629 -T 180 34 a a 2.95698 -T 180 38 e e 1.39675 -T 180 46 o o 1.54688 -T 180 47 r r 2.32331 -T 180 50 u u 1.72372 -T 180 51 y y 2.21232 -F 181 17.8139 -T 181 52 , , 1.56626 -T 181 53 a a 1.51188 -T 181 57 e e 1.90332 -T 181 60 h h 2.72212 -T 181 61 i i 4.01087 -T 181 66 o o 1.01245 -T 181 69 r r 2.28808 -T 181 72 u u 3.50569 -F 182 15.5005 -T 182 76 , , 1.81836 -T 182 77 a a 2.0166 -T 182 81 e e 1.44764 -T 182 85 i i 1.74927 -T 182 91 o o 2.38295 -T 182 94 r r 1.53836 -T 182 97 u u 2.63278 -F 183 15.2803 -T 183 101 , , 1.33359 -T 183 102 a a 2.71129 -T 183 103 b b 3.79374 -T 183 104 c c 2.97356 -T 183 105 d d 2.95468 -T 183 106 e e 3.02329 -T 183 107 f f 3.43154 -T 183 108 g g 3.52249 -T 183 109 h h 3.5446 -T 183 110 i i 3.21349 -T 183 111 j j 5.9759 -T 183 112 k k 5.25174 -T 183 113 l l 3.29454 -T 183 114 m m 2.80132 -T 183 115 n n 2.60952 -T 183 116 o o 3.7889 -T 183 117 p p 3.19484 -T 183 118 q q 5.78317 -T 183 119 r r 1.92634 -T 183 120 s s 2.19782 -T 183 121 t t 3.45871 -T 183 122 u u 4.92132 -T 183 123 v v 4.09354 -T 183 124 w w 2.92221 -T 183 126 y y 4.38435 -T 183 127 z z 8.20872 -F 184 17.1538 -T 184 128 , , 2.55178 -T 184 129 a a 2.41933 -T 184 133 e e 2.22867 -T 184 137 i i 2.41933 -T 184 140 l l 2.65511 -T 184 143 o o 1.16073 -T 184 145 r r 1.99726 -T 184 148 u u 1.80937 -F 185 15.4924 -T 185 152 , , 1.62181 -T 185 153 a a 2.76379 -T 185 157 e e 2.42992 -T 185 164 l l 2.17986 -T 185 167 o o 2.17986 -T 185 170 r r 0.717255 -T 185 173 u u 3.26898 -F 186 17.7854 -T 186 178 , , 1.95953 -T 186 179 a a 0.99771 -T 186 183 e e 1.48793 -T 186 187 i i 1.32491 -T 186 193 o o 2.36015 -T 186 199 u u 3.65581 -F 187 19.0466 -T 187 203 , , 2.68051 -T 187 204 a a 5.89554 -T 187 205 b b 5.51078 -T 187 206 c c 1.57911 -T 187 207 d d 4.52596 -T 187 208 e e 5.68462 -T 187 209 f f 6.02034 -T 187 210 g g 4.17689 -T 187 211 h h 5.5939 -T 187 215 l l 3.12161 -T 187 216 m m 2.54297 -T 187 217 n n 1.81651 -T 187 219 p p 4.88033 -T 187 221 r r 4.09607 -T 187 222 s s 0.927942 -T 187 223 t t 3.40806 -T 187 225 v v 5.68462 -T 187 226 w w 5.51078 -F 188 17.7121 -T 188 230 , , 1.10038 -T 188 233 o o 0.570581 -T 188 235 u u 1.15452 -F 189 15.4962 -T 189 236 , , 0.812042 -T 189 250 n n 1.18952 -T 189 258 y y 1.18952 -F 190 16.9056 -T 190 259 , , 2.09958 -T 190 260 a a 1.9093 -T 190 264 e e 1.29106 -T 190 268 i i 1.81835 -T 190 274 o o 2.11999 -T 190 283 y y 1.39928 -F 191 16.8352 -T 191 284 , , 1.67805 -T 191 285 a a 2.2388 -T 191 289 e e 1.24754 -T 191 293 i i 2.51603 -T 191 294 k k 2.78981 -T 191 298 o o 2.17986 -T 191 301 r r 4.62336 -T 191 304 u u 4.62336 -T 191 307 y y 1.22521 -F 192 16.7165 -T 192 308 , , 2.00684 -T 192 309 a a 2.26736 -T 192 313 e e 2.26736 -T 192 323 o o 0.368414 -F 193 17.185 -T 193 335 , , 1.82191 -T 193 336 a a 4.81655 -T 193 338 c c 4.62866 -T 193 339 d d 4.75 -T 193 340 e e 5.23861 -T 193 341 f f 3.16767 -T 193 343 h h 4.57316 -T 193 344 i i 4.75 -T 193 346 k k 5.4744 -T 193 347 l l 2.1764 -T 193 348 m m 4.01018 -T 193 350 o o 3.58973 -T 193 351 p p 3.30974 -T 193 353 r r 2.15706 -T 193 354 s s 2.77807 -T 193 355 t t 3.76588 -T 193 356 u u 1.09603 -T 193 357 v v 5.7834 -T 193 358 w w 1.96457 -F 194 17.0361 -T 194 362 , , 1.18969 -T 194 363 a a 1.80868 -T 194 367 e e 1.6977 -T 194 371 i i 2.69218 -T 194 372 l l 2.44235 -T 194 375 o o 2.44235 -T 194 377 r r 1.14646 -T 194 380 u u 3.53124 -F 195 17.7921 -T 195 384 , , -7.7638e-10 -F 196 17.4261 -T 196 386 , , 3.40684 -T 196 387 a a 2.84369 -T 196 391 e e 1.00185 -T 196 395 i i 3.6892 -T 196 401 o o 0.761695 -T 196 407 u u 3.03135 -T 196 410 y y 3.83196 -F 197 15.0515 -T 197 411 , , 0.716969 -T 197 412 a a 2.48886 -T 197 413 b b 3.72213 -T 197 414 c c 2.97747 -T 197 416 e e 2.42646 -T 197 419 h h 2.78682 -T 197 420 i i 2.87754 -T 197 423 l l 4.30606 -T 197 426 o o 1.81259 -T 197 427 p p 3.72213 -T 197 431 t t 1.71888 -T 197 432 u u 1.88052 -F 198 15.5106 -T 198 436 , , 0.535456 -T 198 437 a a 2.983 -T 198 438 b b 3.72029 -T 198 439 c c 4.78178 -T 198 442 f f 3.92084 -T 198 443 g g 5.52643 -T 198 444 h h 1.09902 -T 198 445 i i 2.77945 -T 198 448 l l 4.01387 -T 198 449 m m 4.01387 -T 198 450 n n 4.23054 -T 198 451 o o 1.95052 -T 198 452 p p 4.68185 -T 198 453 q q 6.61533 -T 198 455 s s 3.55335 -T 198 456 t t 3.07395 -T 198 457 u u 3.75736 -T 198 459 w w 3.28533 -T 198 460 y y 2.62218 -F 199 19.0963 -T 199 462 , , 3.07414 -T 199 466 d d 3.74538 -T 199 467 e e 5.07398 -T 199 469 g g 2.20288 -T 199 474 m m 1.68779 -T 199 475 n n 0.854259 -T 199 477 p p 4.1237 -T 199 478 r r 3.02744 -T 199 479 s s 1.96434 -T 199 480 t t 3.3947 -F 200 19.4008 -T 200 486 , , 0.665296 -T 200 487 a a 0.621237 -F 201 17.7278 -T 201 493 , , 2.57861 -T 201 494 a a 1.38961 -T 201 498 e e 1.04906 -T 201 501 h h 1.38961 -T 201 502 i i 2.72373 -T 201 507 o o 2.56577 -F 202 14.3224 -T 202 533 , , 0.766887 -T 202 534 a a 2.53515 -T 202 536 c c 3.55358 -T 202 537 d d 3.80364 -T 202 540 g g 3.35395 -T 202 541 h h 2.80892 -T 202 542 i i 2.80892 -T 202 546 m m 3.35395 -T 202 547 n n 3.04471 -T 202 548 o o 1.82296 -T 202 549 p p 2.25792 -T 202 552 s s 2.38686 -T 202 554 u u 2.91991 -T 202 556 w w 2.80892 -T 202 557 y y 4.13752 -F 203 16.3661 -T 203 0 , , 4.02997 -T 203 204 a a 4.05623 -T 203 205 b b 4.18103 -T 203 206 c c 2.61159 -T 203 207 d d 3.03089 -T 203 208 e e 3.29178 -T 203 209 f f 3.78361 -T 203 210 g g 3.30881 -T 203 211 h h 4.66412 -T 203 212 i i 6.72584 -T 203 213 j j 8.64252 -T 203 214 k k 4.50017 -T 203 215 l l 3.03343 -T 203 216 m m 3.25977 -T 203 217 n n 1.37372 -T 203 218 o o 2.76103 -T 203 219 p p 5.13684 -T 203 220 q q 6.83614 -T 203 221 r r 3.44582 -T 203 222 s s 2.08062 -T 203 223 t t 2.0843 -T 203 224 u u 6.4249 -T 203 225 v v 4.05854 -T 203 226 w w 4.59596 -T 203 227 x x 5.75002 -T 203 228 y y 7.92157 -T 203 229 z z 5.58124 -F 204 18.6174 -T 204 6 , , 1.45581 -T 204 7 a a 4.38712 -T 204 8 b b 4.07811 -T 204 9 c c 3.65167 -T 204 10 d d 3.35349 -T 204 11 e e 5.67587 -T 204 12 f f 4.38712 -T 204 13 g g 3.65167 -T 204 18 l l 1.74536 -T 204 19 m m 1.79832 -T 204 20 n n 1.69493 -T 204 22 p p 4.83681 -T 204 24 r r 2.55426 -T 204 25 s s 2.21371 -T 204 26 t t 2.32262 -T 204 29 w w 3.95308 -F 205 19.4392 -T 205 33 , , 2.73824 -T 205 35 b b 5.04635 -T 205 38 e e 1.44372 -T 205 41 i i 2.85682 -T 205 43 l l 0.480089 -T 205 46 o o 4.46241 -T 205 47 r r 3.36684 -T 205 50 u u 3.82851 -F 206 17.5972 -T 206 52 , , 1.34963 -T 206 53 a a 1.8994 -T 206 54 b b 5.28604 -T 206 55 c c 4.6206 -T 206 56 d d 5.83084 -T 206 57 e e 1.9542 -T 206 58 f f 5.01204 -T 206 59 g g 5.18611 -T 206 60 h h 1.09304 -T 206 61 i i 3.22845 -T 206 62 k k 3.3726 -T 206 64 m m 4.93513 -T 206 65 n n 5.66436 -T 206 66 o o 2.58718 -T 206 67 p p 4.18886 -T 206 69 r r 3.09076 -T 206 70 s s 4.26162 -T 206 71 t t 3.3726 -T 206 72 u u 3.12645 -T 206 73 v v 7.11959 -T 206 74 w w 4.93513 -T 206 75 y y 6.61464 -F 207 15.008 -T 207 76 , , 1.32594 -T 207 77 a a 3.05116 -T 207 79 c c 4.76704 -T 207 80 d d 4.31574 -T 207 81 e e 0.889028 -T 207 83 g g 4.97773 -T 207 84 h h 3.52249 -T 207 85 i i 2.06726 -T 207 88 l l 4.09906 -T 207 89 m m 2.98484 -T 207 90 n n 2.73202 -T 207 91 o o 3.60815 -T 207 92 p p 4.97773 -T 207 93 q q 6.19534 -T 207 94 r r 3.44352 -T 207 95 s s 3.25931 -T 207 96 t t 2.73202 -T 207 99 w w 3.88101 -T 207 100 y y 5.10253 -F 208 16.949 -T 208 101 , , 3.00231 -T 208 104 c c 3.74515 -T 208 105 d d 0.902383 -T 208 107 f f 3.99614 -T 208 108 g g 5.93468 -T 208 110 i i 5.60058 -T 208 112 k k 6.43964 -T 208 113 l l 3.65996 -T 208 115 n n 1.95052 -T 208 116 o o 6.43964 -T 208 119 r r 3.06359 -T 208 120 s s 1.78128 -T 208 121 t t 3.47437 -T 208 122 u u 5.60058 -T 208 123 v v 2.66202 -T 208 124 w w 4.11725 -T 208 125 x x 3.62012 -F 209 16.4025 -T 209 128 , , 1.80048 -T 209 129 a a 3.62588 -T 209 130 b b 5.94827 -T 209 133 e e 1.9922 -T 209 134 f f 1.86256 -T 209 136 h h 3.62588 -T 209 137 i i 1.54365 -T 209 140 l l 3.84071 -T 209 141 m m 4.49303 -T 209 142 n n 4.49303 -T 209 143 o o 2.52824 -T 209 144 p p 5.94827 -T 209 146 s s 4.85915 -T 209 147 t t 1.80891 -T 209 148 u u 3.21026 -T 209 150 w w 3.0903 -T 209 151 y y 3.25378 -F 210 16.6068 -T 210 152 , , 2.73618 -T 210 153 a a 2.64521 -T 210 157 e e 4.03804 -T 210 159 g g 3.06935 -T 210 160 h h 0.423445 -T 210 161 i i 3.39194 -T 210 166 n n 2.49209 -T 210 167 o o 4.10044 -T 210 170 r r 4.70004 -T 210 171 s s 4.70004 -T 210 172 t t 5.33371 -T 210 173 u u 3.16582 -T 210 177 z z 5.91764 -F 211 18.8052 -T 211 178 , , 2.97931 -T 211 179 a a 0.239239 -T 211 183 e e 2.17387 -T 211 187 i i 4.22985 -T 211 193 o o 2.56992 -F 212 16.8103 -T 212 203 , , 0.444258 -T 212 206 c c 2.79879 -T 212 212 i i 2.79879 -T 212 215 l l 2.79879 -T 212 216 m m 2.29384 -T 212 217 n n 1.07623 -F 213 17.5602 -T 213 230 , , 0.948465 -T 213 235 u u 0.350453 -F 214 16.7063 -T 214 236 , , 2.02209 -T 214 237 a a 4.39356 -T 214 241 e e 0.274698 -T 214 245 i i 3.77739 -T 214 250 n n 2.17065 -T 214 253 r r 5.23239 -T 214 254 s s 3.04816 -T 214 255 t t 4.72744 -T 214 257 w w 5.23239 -F 215 16.0245 -T 215 259 , , 1.21847 -T 215 260 a a 3.27819 -T 215 261 b b 4.59043 -T 215 263 d d 2.78037 -T 215 264 e e 1.50658 -T 215 266 g g 6.19303 -T 215 267 h h 5.24276 -T 215 268 i i 2.47827 -T 215 270 k k 5.40923 -T 215 271 l l 1.12527 -T 215 273 n n 4.97543 -T 215 274 o o 2.6809 -T 215 277 r r 6.19303 -T 215 278 s s 3.41612 -T 215 279 t t 3.95999 -T 215 280 u u 4.09653 -T 215 281 v v 6.19303 -T 215 282 w w 3.76726 -T 215 283 y y 2.80685 -F 216 17.447 -T 216 284 , , 2.28983 -T 216 285 a a 1.83217 -T 216 286 b b 3.69196 -T 216 287 c c 5.96669 -T 216 289 e e 1.41724 -T 216 290 f f 4.87388 -T 216 291 g g 6.47165 -T 216 292 h h 4.53817 -T 216 293 i i 2.70922 -T 216 295 l l 4.6381 -T 216 296 m m 3.07349 -T 216 297 n n 4.14926 -T 216 298 o o 4.14926 -T 216 299 p p 1.50013 -T 216 301 r r 5.38275 -T 216 302 s s 2.85705 -T 216 303 t t 3.24043 -T 216 304 u u 3.44098 -T 216 306 w w 3.73364 -F 217 16.2862 -T 217 308 , , 1.57661 -T 217 309 a a 2.51097 -T 217 310 b b 5.91373 -T 217 311 c c 3.16582 -T 217 312 d d 2.76725 -T 217 313 e e 2.7357 -T 217 314 f f 3.89045 -T 217 315 g g 1.05827 -T 217 316 h h 4.1184 -T 217 317 i i 3.6268 -T 217 318 j j 7.85228 -T 217 319 k k 4.22847 -T 217 320 l l 4.3284 -T 217 321 m m 4.37629 -T 217 322 n n 4.77855 -T 217 323 o o 3.81078 -T 217 324 p p 5.46219 -T 217 325 q q 6.24968 -T 217 326 r r 5.4265 -T 217 327 s s 3.03573 -T 217 328 t t 1.82986 -T 217 329 u u 3.81769 -T 217 330 v v 4.8953 -T 217 331 w w 4.31689 -F 218 18.9671 -T 218 335 , , 3.60402 -T 218 337 b b 5.51492 -T 218 338 c c 6.13109 -T 218 339 d d 3.66387 -T 218 347 l l 4.1907 -T 218 348 m m 5.88126 -T 218 349 n n 0.266179 -T 218 351 p p 6.13109 -T 218 353 r r 3.14856 -T 218 354 s s 4.78592 -T 218 356 u u 2.12483 -T 218 357 v v 6.97016 -F 219 16.5655 -T 219 362 , , 0.719069 -T 219 363 a a 1.90286 -T 219 365 c c 4.59734 -T 219 366 d d 4.59734 -T 219 371 i i 3.14211 -T 219 372 l l 2.99935 -T 219 373 m m 4.59734 -T 219 376 p p 2.48979 -T 219 378 s s 1.63207 -T 219 379 t t 2.34173 -T 219 380 u u 2.76379 -T 219 382 w w 3.75828 -F 220 17.7921 -T 220 384 , , -6.99366e-10 -F 221 15.0752 -T 221 386 , , 1.05589 -T 221 387 a a 2.68896 -T 221 388 b b 4.26139 -T 221 389 c c 2.6535 -T 221 390 d d 4.10136 -T 221 391 e e 1.21461 -T 221 392 f f 4.26139 -T 221 394 h h 4.26139 -T 221 395 i i 2.6535 -T 221 397 k k 5.1967 -T 221 398 l l 4.17827 -T 221 399 m m 3.25493 -T 221 401 o o 2.8658 -T 221 402 p p 5.44654 -T 221 404 r r 3.54759 -T 221 405 s s 1.88121 -T 221 406 t t 2.76356 -T 221 407 u u 4.83036 -T 221 408 v v 5.78064 -T 221 409 w w 3.50615 -F 222 15.4039 -T 222 411 , , 1.06934 -T 222 412 a a 2.54712 -T 222 413 b b 4.23077 -T 222 414 c c 2.56715 -T 222 415 d d 3.98416 -T 222 416 e e 2.53906 -T 222 417 f f 3.55404 -T 222 418 g g 4.34429 -T 222 419 h h 2.12114 -T 222 420 i i 2.71152 -T 222 421 j j 5.92801 -T 222 422 k k 5.20707 -T 222 423 l l 3.30398 -T 222 424 m m 3.23813 -T 222 425 n n 3.56509 -T 222 426 o o 3.32102 -T 222 427 p p 3.32102 -T 222 428 q q 5.26601 -T 222 429 r r 4.34429 -T 222 430 s s 2.75481 -T 222 431 t t 1.74168 -T 222 433 v v 4.71984 -T 222 434 w w 3.27059 -F 223 16.4465 -T 223 436 , , 1.47133 -T 223 437 a a 2.87109 -T 223 438 b b 4.46886 -T 223 439 c c 4.44192 -T 223 440 d d 5.14789 -T 223 441 e e 2.24824 -T 223 442 f f 5.04542 -T 223 443 g g 6.35813 -T 223 444 h h 1.24178 -T 223 445 i i 2.22752 -T 223 448 l l 5.3245 -T 223 449 m m 4.10551 -T 223 450 n n 5.20338 -T 223 452 p p 5.46242 -T 223 454 r r 4.49672 -T 223 455 s s 2.45916 -T 223 456 t t 2.93971 -T 223 457 u u 3.67838 -T 223 458 v v 6.80782 -T 223 459 w w 2.33183 -T 223 460 y y 2.66179 -T 223 461 z z 7.64689 -F 224 18.0019 -T 224 462 , , 1.97975 -T 224 474 m m 0.668671 -T 224 475 n n 1.48402 -T 224 478 r r 3.31779 -T 224 479 s s 1.86256 -F 225 20.8922 -T 225 486 , , 2.15669 -T 225 487 a a 3.12208 -T 225 488 e e 0.225653 -T 225 489 i i 1.97424 -T 225 491 u u 5.16861 -T 225 492 y y 5.16861 -F 226 17.6978 -T 226 493 , , 2.54865 -T 226 494 a a 0.312231 -T 226 498 e e 2.88122 -T 226 501 h h 4.04794 -T 226 502 i i 2.01522 -T 226 507 o o 2.9526 -F 227 17.3587 -T 227 518 , , 1.99581 -T 227 521 d d 2.8978 -T 227 522 e e 1.87914 -T 227 523 f f 3.14763 -T 227 524 h h 2.69794 -T 227 525 i i 3.14763 -T 227 526 m m 2.8978 -T 227 527 o o 1.80246 -T 227 529 s s 3.9867 -T 227 530 t t 1.16718 -T 227 532 w w 3.9867 -F 228 13.974 -T 228 533 , , 0.418449 -T 228 542 i i 0.966395 -F 229 17.1692 -T 229 559 , , 1.88877 -T 229 560 a a 2.32101 -T 229 561 e e 0.713571 -T 229 562 i i 4.15478 -T 229 564 o o 1.00462 -F 230 16.6117 -T 230 0 , , 4.27562 -T 230 231 a a 2.07647 -T 230 232 e e 1.51855 -T 230 233 o o 0.906758 -T 230 234 s s 5.05463 -T 230 235 u u 1.44073 -F 231 18.7956 -T 231 6 , , 1.63404 -T 231 13 g g 2.98691 -T 231 19 m m 3.4921 -T 231 20 n n 2.98691 -T 231 21 o o 3.4921 -T 231 24 r r 2.40298 -T 231 28 v v 0.993105 -T 231 29 w w 1.46767 -T 231 30 x x 3.4921 -F 232 16.9425 -T 232 101 , , 2.99581 -T 232 104 c c 0.181904 -T 232 119 r r 4.04587 -T 232 120 s s 4.04587 -T 232 121 t t 2.32331 -F 233 18.4942 -T 233 335 , , 3.13109 -T 233 343 h h 4.15018 -T 233 344 i i 2.21163 -T 233 346 k k 4.65514 -T 233 353 r r 2.39952 -T 233 356 u u 0.536963 -T 233 360 y y 1.83562 -F 234 14.9488 -T 234 411 , , 0.614205 -T 234 412 a a 0.678572 -F 235 17.6513 -T 235 462 , , 1.62906 -T 235 466 d d 2.09904 -T 235 473 l l 2.28969 -T 235 474 m m 2.83448 -T 235 475 n n 1.93901 -T 235 478 r r 3.28418 -T 235 479 s s 0.769984 -F 236 14.6842 -T 236 0 , , 2.34807 -T 236 237 a a 2.78383 -T 236 238 b b 4.81171 -T 236 239 c c 4.81171 -T 236 240 d d 5.35351 -T 236 241 e e 1.04077 -T 236 242 f f 4.53011 -T 236 243 g g 6.33177 -T 236 244 h h 3.68321 -T 236 245 i i 1.92611 -T 236 246 j j 4.81171 -T 236 247 k k 7.31428 -T 236 248 l l 4.36869 -T 236 249 m m 4.43017 -T 236 250 n n 2.31433 -T 236 251 o o 3.12277 -T 236 252 p p 5.01756 -T 236 253 r r 5.17219 -T 236 254 s s 2.59501 -T 236 255 t t 3.04033 -T 236 256 u u 4.10758 -T 236 257 w w 3.44375 -T 236 258 y y 3.91969 -F 237 18.2511 -T 237 6 , , 1.08953 -T 237 8 b b 1.78496 -T 237 12 f f 4.67977 -T 237 13 g g 2.95721 -T 237 18 l l 3.22477 -T 237 20 n n 1.10133 -T 237 22 p p 4.67977 -T 237 24 r r 3.22477 -T 237 25 s s 2.57245 -T 237 26 t t 2.18101 -T 237 29 w w 4.17482 -T 237 30 x x 2.84623 -F 238 17.5937 -T 238 33 , , 0.892773 -T 238 38 e e 1.38224 -T 238 50 u u 1.21576 -T 238 51 y y 1.38224 -F 239 17.4281 -T 239 52 , , 1.18046 -T 239 53 a a 0.948435 -T 239 63 l l 2.16604 -T 239 66 o o 2.671 -T 239 69 r r 1.38224 -F 240 14.6856 -T 240 76 , , 1.00352 -T 240 81 e e 1.6399 -T 240 85 i i 2.14486 -T 240 91 o o 1.05597 -T 240 97 u u 2.14486 -F 241 15.7156 -T 241 101 , , 1.76892 -T 241 102 a a 2.0242 -T 241 103 b b 4.82276 -T 241 104 c c 4.82276 -T 241 105 d d 1.49092 -T 241 106 e e 2.87938 -T 241 107 f f 4.48705 -T 241 109 h h 4.16492 -T 241 110 i i 3.4898 -T 241 113 l l 3.35855 -T 241 114 m m 3.81907 -T 241 115 n n 2.09973 -T 241 116 o o 3.09053 -T 241 117 p p 3.32839 -T 241 120 s s 3.11425 -T 241 121 t t 2.12644 -T 241 122 u u 3.7714 -T 241 123 v v 5.33164 -T 241 124 w w 4.31297 -T 241 125 x x 5.33164 -T 241 126 y y 4.16492 -F 242 16.6997 -T 242 128 , , 2.09768 -T 242 129 a a 0.691697 -T 242 143 o o 1.22475 -T 242 145 r r 2.10825 -F 243 15.6135 -T 243 152 , , 1.74285 -T 243 170 r r 0.173615 -F 244 17.1746 -T 244 178 , , 1.34877 -T 244 179 a a 1.85128 -T 244 183 e e 1.6003 -T 244 187 i i 1.09027 -T 244 193 o o 1.95098 -T 244 199 u u 2.06196 -F 245 18.4803 -T 245 203 , , 2.11424 -T 245 204 a a 5.03092 -T 245 206 c c 4.24712 -T 245 208 e e 4.69681 -T 245 209 f f 5.53588 -T 245 211 h h 5.03092 -T 245 216 m m 4.69681 -T 245 217 n n 0.233712 -T 245 219 p p 5.03092 -T 245 221 r r 3.60239 -T 245 222 s s 3.70233 -T 245 223 t t 2.71636 -T 245 226 w w 5.53588 -F 246 20.3111 -T 246 230 , , 3.69939 -T 246 231 a a 0.0218746 -F 247 14.6842 -T 247 236 -F 248 16.9778 -T 248 259 , , 2.17176 -T 248 264 e e 1.17294 -T 248 268 i i 0.921955 -T 248 274 o o 2.26736 -T 248 283 y y 2.01753 -F 249 16.8751 -T 249 284 , , 1.71794 -T 249 285 a a 1.7571 -T 249 289 e e 1.95674 -T 249 298 o o 2.2068 -T 249 307 y y 0.661072 -F 250 19.3328 -T 250 308 , , 4.62313 -T 250 313 e e 1.23073 -T 250 317 i i 4.64339 -T 250 323 o o 0.630218 -T 250 329 u u 1.84207 -F 251 17.0946 -T 251 335 , , 1.7315 -T 251 341 f f 0.692848 -T 251 343 h h 3.83726 -T 251 347 l l 4.34222 -T 251 349 n n 1.79072 -T 251 351 p p 4.34222 -T 251 353 r r 2.0866 -T 251 356 u u 2.40873 -F 252 17.8682 -T 252 362 , , 2.02177 -T 252 372 l l 0.446011 -T 252 375 o o 2.47044 -T 252 377 r r 1.63138 -F 253 14.5888 -T 253 386 , , 0.569505 -T 253 391 e e 0.889028 -T 253 395 i i 1.97792 -T 253 401 o o 1.97792 -F 254 15.3802 -T 254 411 , , 1.04561 -T 254 412 a a 1.97332 -T 254 413 b b 3.41312 -T 254 414 c c 3.77923 -T 254 415 d d 4.86836 -T 254 417 f f 4.02929 -T 254 420 i i 2.61251 -T 254 423 l l 4.86836 -T 254 424 m m 4.36317 -T 254 425 n n 4.86836 -T 254 426 o o 1.40619 -T 254 429 r r 4.02929 -T 254 430 s s 2.36936 -T 254 431 t t 2.17387 -T 254 432 u u 3.5796 -T 254 434 w w 2.42485 -T 254 435 y y 4.36317 -F 255 17.9007 -T 255 436 , , 2.92549 -T 255 444 h h 0.602587 -T 255 451 o o 0.883041 -T 255 459 w w 4.42419 -F 256 18.5592 -T 256 462 , , 2.53696 -T 256 473 l l 2.27518 -T 256 475 n n 2.07555 -T 256 477 p p 0.506108 -T 256 479 s s 2.07555 -F 257 16.5767 -T 257 493 , , 1.42751 -T 257 494 a a 1.70046 -T 257 498 e e 1.47112 -T 257 501 h h 1.02419 -T 257 502 i i 1.767 -T 257 507 o o 3.51766 -F 258 14.2403 -T 258 533 , , 0.684774 -T 258 534 a a 2.46146 -T 258 535 b b 3.55036 -T 258 536 c c 3.55036 -T 258 538 e e 3.04517 -T 258 539 f f 3.55036 -T 258 541 h h 3.04517 -T 258 548 o o 1.71681 -T 258 551 r r 1.71681 -T 258 552 s s 2.71129 -T 258 556 w w 2.2616 -F 259 14.806 -T 259 0 , , 2.46991 -T 259 260 a a 2.2662 -T 259 261 b b 4.88493 -T 259 262 c c 4.333 -T 259 263 d d 2.80823 -T 259 264 e e 1.58049 -T 259 265 f f 3.73479 -T 259 266 g g 5.80712 -T 259 267 h h 5.09861 -T 259 268 i i 2.26736 -T 259 269 j j 7.96004 -T 259 270 k k 5.30493 -T 259 271 l l 2.01361 -T 259 272 m m 4.333 -T 259 273 n n 5.16716 -T 259 274 o o 2.34472 -T 259 275 p p 5.18519 -T 259 276 q q 9.24971 -T 259 277 r r 5.19647 -T 259 278 s s 3.46263 -T 259 279 t t 3.31826 -T 259 280 u u 3.83196 -T 259 281 v v 5.09861 -T 259 282 w w 4.48935 -T 259 283 y y 2.28969 -F 260 18.8345 -T 260 6 , , 1.67285 -T 260 8 b b 3.98393 -T 260 9 c c 2.2814 -T 260 10 d d 4.16284 -T 260 12 f f 5.3846 -T 260 15 i i 2.89688 -T 260 17 k k 4.72675 -T 260 19 m m 3.5842 -T 260 20 n n 1.34218 -T 260 21 o o 5.89347 -T 260 22 p p 4.05186 -T 260 24 r r 2.20657 -T 260 25 s s 2.01108 -T 260 26 t t 2.13196 -T 260 27 u u 4.24459 -T 260 28 v v 3.33299 -T 260 29 w w 4.5978 -T 260 31 y y 3.17526 -F 261 18.268 -T 261 33 , , 1.56709 -T 261 34 a a 2.43406 -T 261 38 e e 0.684559 -T 261 46 o o 2.11193 -T 261 47 r r 2.64475 -T 261 50 u u 1.92404 -F 262 18.4525 -T 262 52 , , 2.20491 -T 262 53 a a 0.986888 -T 262 57 e e 3.62887 -T 262 60 h h 2.66179 -T 262 61 i i 4.91763 -T 262 63 l l 4.07857 -T 262 66 o o 1.41517 -T 262 69 r r 2.59524 -T 262 72 u u 1.76746 -F 263 14.2722 -T 263 76 , , 0.590135 -T 263 77 a a 2.86211 -T 263 78 b b 2.3118 -T 263 79 c c 3.34842 -T 263 80 d d 4.25633 -T 263 81 e e 2.3887 -T 263 82 f f 3.44213 -T 263 83 g g 4.25633 -T 263 84 h h 2.09397 -T 263 85 i i 2.57682 -T 263 87 k k 5.9356 -T 263 88 l l 3.51006 -T 263 89 m m 3.54575 -T 263 90 n n 2.17364 -T 263 91 o o 3.02076 -T 263 92 p p 4.50731 -T 263 94 r r 3.70279 -T 263 95 s s 2.63347 -T 263 99 w w 3.31918 -F 264 15.164 -T 264 101 , , 1.21732 -T 264 102 a a 1.97976 -T 264 103 b b 3.98485 -T 264 104 c c 2.98484 -T 264 105 d d 2.42669 -T 264 106 e e 3.61598 -T 264 107 f f 3.33852 -T 264 108 g g 4.24804 -T 264 109 h h 3.43845 -T 264 110 i i 3.04125 -T 264 111 j j 5.94527 -T 264 112 k k 6.37931 -T 264 114 m m 3.66295 -T 264 115 n n 2.73846 -T 264 116 o o 3.37375 -T 264 117 p p 3.712 -T 264 118 q q 6.37931 -T 264 120 s s 2.06081 -T 264 121 t t 2.12552 -T 264 122 u u 5.73459 -T 264 123 v v 3.89045 -T 264 124 w w 2.88099 -T 264 125 x x 5.16907 -T 264 126 y y 5.16907 -F 265 15.3985 -T 265 128 , , 0.79648 -T 265 129 a a 1.67905 -T 265 130 b b 3.68137 -T 265 131 c c 4.42603 -T 265 132 d d 3.91716 -T 265 134 f f 3.79236 -T 265 135 g g 5.51492 -T 265 136 h h 3.07142 -T 265 137 i i 1.90032 -T 265 138 j j 5.51492 -T 265 140 l l 4.05969 -T 265 141 m m 3.58144 -T 265 142 n n 4.22616 -T 265 143 o o 2.20864 -T 265 144 p p 4.67586 -T 265 146 s s 3.07142 -T 265 147 t t 2.20864 -T 265 148 u u 3.68137 -T 265 149 v v 5.00996 -T 265 150 w w 2.48426 -T 265 151 y y 5.51492 -F 266 15.3807 -T 266 152 , , 1.51007 -T 266 153 a a 2.36222 -T 266 157 e e 1.61757 -T 266 161 i i 2.16236 -T 266 164 l l 2.61228 -T 266 167 o o 1.85335 -T 266 170 r r 1.61757 -T 266 173 u u 2.61228 -F 267 17.543 -T 267 178 , , 1.71711 -T 267 179 a a 1.50566 -T 267 183 e e 1.12412 -T 267 187 i i 1.41678 -T 267 193 o o 1.77 -T 267 199 u u 4.15478 -F 268 18.3368 -T 268 203 , , 1.97068 -T 268 204 a a 3.36661 -T 268 205 b b 4.65905 -T 268 206 c c 3.29822 -T 268 207 d d 3.44006 -T 268 208 e e 2.40735 -T 268 209 f f 3.42118 -T 268 210 g g 2.15154 -T 268 211 h h 4.95701 -T 268 212 i i 6.47625 -T 268 214 k k 2.047 -T 268 216 m m 3.26576 -T 268 217 n n 1.75756 -T 268 219 p p 3.85959 -T 268 220 q q 4.48221 -T 268 221 r r 5.38344 -T 268 222 s s 2.92935 -T 268 223 t t 1.97401 -T 268 225 v v 3.38434 -T 268 226 w w 5.25864 -T 268 229 z z 4.20176 -F 269 17.4957 -T 269 230 , , 0.883984 -T 269 233 o o 0.282757 -F 270 15.1973 -T 270 236 , , 0.513082 -T 270 237 a a 2.66064 -T 270 244 h h 3.94939 -T 270 245 i i 1.4504 -T 270 250 n n 1.76516 -T 270 251 o o 3.11033 -T 270 255 t t 3.11033 -T 270 257 w w 3.94939 -T 270 258 y y 2.49439 -F 271 17.0839 -T 271 259 , , 2.27789 -T 271 260 a a 2.77577 -T 271 261 b b 3.5195 -T 271 262 c c 4.26968 -T 271 263 d d 4.26968 -T 271 264 e e 1.94269 -T 271 265 f f 4.26968 -T 271 266 g g 4.97934 -T 271 267 h h 3.75252 -T 271 268 i i 2.25446 -T 271 270 k k 5.21075 -T 271 272 m m 3.65628 -T 271 273 n n 3.69358 -T 271 274 o o 2.0546 -T 271 275 p p 4.63349 -T 271 277 r r 4.45527 -T 271 278 s s 2.7311 -T 271 279 t t 2.27265 -T 271 280 u u 3.50361 -T 271 281 v v 6.39589 -T 271 282 w w 3.45733 -T 271 283 y y 1.99012 -F 272 16.0593 -T 272 284 , , 0.902117 -T 272 285 a a 2.05966 -T 272 292 h h 4.91763 -T 272 293 i i 2.47413 -T 272 295 l l 3.19484 -T 272 297 n n 3.82851 -T 272 298 o o 1.17063 -T 272 301 r r 4.91763 -T 272 302 s s 3.4624 -T 272 304 u u 3.82851 -T 272 306 w w 4.91763 -T 272 307 y y 1.68641 -F 273 18.1209 -T 273 308 , , 3.41129 -T 273 309 a a 2.91001 -T 273 313 e e 1.06817 -T 273 317 i i 2.91001 -T 273 323 o o 0.645645 -F 274 18.0965 -T 274 335 , , 2.73342 -T 274 336 a a 3.64706 -T 274 337 b b 3.75367 -T 274 338 c c 2.98622 -T 274 339 d d 5.18128 -T 274 341 f f 2.62771 -T 274 342 g g 3.22086 -T 274 349 n n 1.83677 -T 274 350 o o 2.04308 -T 274 351 p p 3.78223 -T 274 352 q q 6.90384 -T 274 353 r r 3.20451 -T 274 354 s s 2.30305 -T 274 355 t t 4.35235 -T 274 356 u u 2.49946 -T 274 357 v v 4.35235 -T 274 358 w w 1.56323 -T 274 360 y y 6.06478 -F 275 16.4706 -T 275 362 , , 0.624117 -T 275 363 a a 1.88444 -T 275 370 h h 2.04447 -T 275 371 i i 2.04447 -T 275 372 l l 2.3461 -T 275 375 o o 2.23512 -T 275 377 r r 1.74628 -T 275 379 t t 3.56371 -F 276 17.7921 -T 276 384 , , 1.50357e-08 -F 277 16.1153 -T 277 386 , , 2.096 -T 277 387 a a 2.60215 -T 277 391 e e 0.310388 -T 277 395 i i 2.60215 -T 277 401 o o 2.76863 -F 278 15.207 -T 278 411 , , 0.872415 -T 278 412 a a 2.22637 -T 278 413 b b 4.18886 -T 278 414 c c 3.46424 -T 278 416 e e 1.89549 -T 278 417 f f 4.33139 -T 278 419 h h 3.1375 -T 278 420 i i 2.18976 -T 278 423 l l 4.49787 -T 278 424 m m 3.85315 -T 278 425 n n 4.69773 -T 278 426 o o 1.59615 -T 278 429 r r 4.94756 -T 278 431 t t 2.05529 -T 278 432 u u 3.00695 -T 278 434 w w 3.34312 -T 278 435 y y 5.28144 -F 279 16.0293 -T 279 436 , , 1.05417 -T 279 437 a a 3.00027 -T 279 438 b b 5.42581 -T 279 441 e e 2.83863 -T 279 442 f f 5.09194 -T 279 444 h h 0.86393 -T 279 445 i i 2.42854 -T 279 449 m m 4.2082 -T 279 451 o o 2.05322 -T 279 454 r r 3.03596 -T 279 455 s s 3.54621 -T 279 456 t t 2.93234 -T 279 459 w w 3.82344 -T 279 460 y y 3.00027 -F 280 17.9831 -T 280 462 , , 1.96088 -T 280 463 a a 3.81999 -T 280 464 b b 4.57869 -T 280 465 c c 3.03296 -T 280 466 d d 3.39355 -T 280 467 e e 2.29614 -T 280 469 g g 3.3102 -T 280 471 i i 3.69519 -T 280 472 k k 5.41775 -T 280 474 m m 1.7023 -T 280 475 n n 2.16098 -T 280 477 p p 2.63807 -T 280 479 s s 2.08775 -T 280 480 t t 2.0417 -T 280 482 v v 3.03296 -T 280 484 x x 4.9128 -F 281 19.8875 -T 281 486 , , 1.15202 -T 281 487 a a 3.31572 -T 281 488 e e 0.125951 -T 281 489 i i 2.86603 -F 282 17.3183 -T 282 493 , , 2.16918 -T 282 494 a a 1.07876 -T 282 498 e e 1.61158 -T 282 501 h h 1.53053 -T 282 502 i i 1.76332 -T 282 507 o o 2.82827 -F 283 14.2324 -T 283 533 , , 0.676883 -T 283 534 a a 1.96065 -T 283 535 b b 2.96596 -T 283 536 c c 3.00303 -T 283 537 d d 3.00303 -T 283 538 e e 3.41773 -T 283 539 f f 3.0157 -T 283 540 g g 4.63672 -T 283 541 h h 3.25954 -T 283 542 i i 2.51511 -T 283 543 j j 6.12004 -T 283 544 k k 5.67035 -T 283 545 l l 3.43707 -T 283 546 m m 3.65282 -T 283 547 n n 3.72789 -T 283 548 o o 2.79902 -T 283 549 p p 3.51789 -T 283 551 r r 3.18148 -T 283 552 s s 2.85152 -T 283 553 t t 2.17203 -T 283 555 v v 5.23631 -T 283 556 w w 2.80915 -T 283 557 y y 5.67035 -T 283 558 z z 6.9591 -F 284 15.1572 -T 284 0 , , 2.82107 -T 284 285 a a 1.8499 -T 284 286 b b 3.76173 -T 284 287 c c 5.7339 -T 284 288 d d 5.98989 -T 284 289 e e 1.4527 -T 284 290 f f 5.11519 -T 284 291 g g 6.80477 -T 284 292 h h 4.95747 -T 284 293 i i 2.37604 -T 284 294 k k 6.65723 -T 284 295 l l 5.41131 -T 284 296 m m 3.66502 -T 284 297 n n 5.00214 -T 284 298 o o 2.09075 -T 284 299 p p 2.78843 -T 284 300 q q 8.76571 -T 284 301 r r 5.64519 -T 284 302 s s 3.64522 -T 284 303 t t 3.77509 -T 284 304 u u 3.37789 -T 284 305 v v 7.30956 -T 284 306 w w 4.6252 -T 284 307 y y 1.88374 -F 285 18.9001 -T 285 6 , , 1.73852 -T 285 8 b b 4.65928 -T 285 9 c c 4.59274 -T 285 10 d d 2.1064 -T 285 12 f f 5.62637 -T 285 13 g g 2.97172 -T 285 14 h h 6.91489 -T 285 15 i i 3.03734 -T 285 16 j j 6.40994 -T 285 17 k k 2.53492 -T 285 18 l l 2.73455 -T 285 19 m m 4.80757 -T 285 20 n n 1.40135 -T 285 22 p p 4.89069 -T 285 24 r r 2.38962 -T 285 25 s s 2.76517 -T 285 26 t t 2.09052 -T 285 31 y y 2.97172 -T 285 32 z z 5.08134 -F 286 17.4878 -T 286 33 , , 0.786827 -T 286 34 a a 2.62034 -T 286 36 c c 5.0049 -T 286 38 e e 1.16902 -T 286 41 i i 2.5059 -T 286 42 j j 5.0049 -T 286 43 l l 1.88328 -T 286 47 r r 2.68274 -T 286 48 s s 3.17135 -T 286 50 u u 1.94292 -F 287 17.0453 -T 287 52 , , 0.797727 -T 287 60 h h 1.59063 -T 287 63 l l 2.54067 -T 287 66 o o 1.02143 -T 287 69 r r 2.54067 -T 287 72 u u 3.04586 -F 288 14.6293 -T 288 76 , , 0.947202 -T 288 81 e e 1.2358 -T 288 85 i i 2.52455 -T 288 91 o o 2.01937 -T 288 97 u u 2.01937 -T 288 100 y y 2.01937 -F 289 15.0648 -T 289 101 , , 1.1181 -T 289 102 a a 2.15775 -T 289 103 b b 3.77071 -T 289 104 c c 4.10689 -T 289 105 d d 2.30466 -T 289 106 e e 4.34682 -T 289 107 f f 3.64568 -T 289 108 g g 4.81286 -T 289 109 h h 3.93604 -T 289 110 i i 3.00004 -T 289 111 j j 7.31186 -T 289 112 k k 6.47303 -T 289 113 l l 3.9137 -T 289 114 m m 3.18309 -T 289 115 n n 1.58026 -T 289 116 o o 3.38135 -T 289 117 p p 4.41705 -T 289 118 q q 6.47303 -T 289 120 s s 2.8605 -T 289 121 t t 1.95881 -T 289 122 u u 4.34682 -T 289 123 v v 4.66296 -T 289 124 w w 3.28326 -F 290 16.6113 -T 290 128 , , 2.00928 -T 290 133 e e 2.20242 -T 290 137 i i 3.15247 -T 290 140 l l 3.65766 -T 290 143 o o 0.962941 -T 290 145 r r 1.00853 -F 291 14.5956 -T 291 152 , , 0.724956 -T 291 157 e e 1.37764 -T 291 167 o o 1.37764 -T 291 170 r r 1.88259 -F 292 17.2048 -T 292 178 , , 1.3789 -T 292 179 a a 1.42944 -T 292 183 e e 1.11952 -T 292 187 i i 1.26251 -T 292 193 o o 2.52548 -T 292 199 u u 3.30905 -F 293 18.576 -T 293 203 , , 2.20993 -T 293 206 c c 3.60953 -T 293 207 d d 2.92705 -T 293 208 e e 5.30009 -T 293 209 f f 4.93398 -T 293 210 g g 2.03387 -T 293 211 h h 6.38898 -T 293 215 l l 2.27081 -T 293 216 m m 5.30009 -T 293 217 n n 0.910442 -T 293 219 p p 5.88403 -T 293 221 r r 3.60953 -T 293 222 s s 2.42048 -T 293 223 t t 2.14071 -T 293 226 w w 5.30009 -T 293 227 x x 4.79122 -F 294 16.4243 -T 294 236 , , 1.74011 -T 294 250 n n 2.14486 -T 294 251 o o 0.311309 -F 295 16.4265 -T 295 259 , , 1.62049 -T 295 260 a a 3.36431 -T 295 264 e e 1.53053 -T 295 268 i i 2.27518 -T 295 274 o o 1.90907 -T 295 283 y y 0.865312 -F 296 16.2585 -T 296 284 , , 1.10133 -T 296 285 a a 2.28186 -T 296 287 c c 4.59642 -T 296 289 e e 1.19711 -T 296 292 h h 3.81262 -T 296 293 i i 1.72556 -T 296 298 o o 2.10295 -T 296 301 r r 5.10138 -T 296 303 t t 4.01248 -T 296 304 u u 3.26783 -T 296 306 w w 4.01248 -T 296 307 y y 2.03963 -F 297 16.5078 -T 297 308 , , 1.79813 -T 297 309 a a 2.48104 -T 297 313 e e 1.03179 -T 297 320 l l 3.76956 -T 297 323 o o 1.12067 -T 297 327 s s 2.31456 -F 298 18.0411 -T 298 335 , , 2.67797 -T 298 336 a a 6.16932 -T 298 337 b b 6.67427 -T 298 338 c c 6.16932 -T 298 339 d d 3.77923 -T 298 341 f f 2.86718 -T 298 344 i i 6.16932 -T 298 346 k k 4.95148 -T 298 347 l l 5.07651 -T 298 348 m m 2.52455 -T 298 349 n n 2.05391 -T 298 350 o o 4.48981 -T 298 353 r r 1.30879 -T 298 354 s s 1.78335 -T 298 355 t t 2.8384 -T 298 356 u u 1.9671 -T 298 357 v v 3.32102 -F 299 17.6723 -T 299 362 , , 1.82583 -T 299 363 a a 1.67375 -T 299 367 e e 1.7571 -T 299 370 h h 3.42533 -T 299 371 i i 3.95262 -T 299 372 l l 1.54872 -T 299 375 o o 1.54089 -T 299 377 r r 2.77208 -T 299 378 s s 3.95262 -T 299 379 t t 2.97839 -T 299 380 u u 4.88793 -T 299 383 y y 5.13799 -F 300 17.7921 -T 300 384 , , 1.50357e-08 -F 301 14.5665 -T 301 386 , , 0.547175 -T 301 387 a a 1.59063 -T 301 391 e e 1.11238 -T 301 395 i i 2.2068 -T 301 400 n n 3.04586 -F 302 15.3201 -T 302 411 , , 0.985553 -T 302 412 a a 2.42669 -T 302 413 b b 5.12118 -T 302 414 c c 4.03229 -T 302 415 d d 5.12118 -T 302 416 e e 1.29958 -T 302 417 f f 4.61622 -T 302 420 i i 2.73662 -T 302 422 k k 5.12118 -T 302 423 l l 4.61622 -T 302 425 n n 4.61622 -T 302 426 o o 1.8393 -T 302 427 p p 4.28235 -T 302 429 r r 5.12118 -T 302 431 t t 1.76792 -T 302 432 u u 3.1877 -T 302 434 w w 2.93695 -F 303 17.7157 -T 303 436 , , 2.7405 -T 303 441 e e 4.99177 -T 303 444 h h 0.26687 -T 303 445 i i 4.48659 -T 303 451 o o 1.68549 -T 303 454 r r 4.48659 -F 304 18.8057 -T 304 462 , , 2.78349 -T 304 465 c c 1.2807 -T 304 473 l l 3.13244 -T 304 474 m m 5.38805 -T 304 475 n n 2.94478 -T 304 477 p p 4.29916 -T 304 478 r r 2.29591 -T 304 479 s s 0.800609 -T 304 480 t t 3.06589 -F 305 19.2298 -T 305 486 , , 0.494351 -T 305 488 e e 0.437031 -T 305 490 o o 1.52592 -F 306 16.3482 -T 306 493 , , 1.199 -T 306 494 a a 2.21094 -T 306 498 e e 1.88858 -T 306 501 h h 0.814424 -T 306 502 i i 1.4953 -T 306 507 o o 3.30536 -F 307 14.938 -T 307 533 , , 1.38247 -T 307 535 b b 2.95053 -T 307 536 c c 3.52779 -T 307 537 d d 3.24895 -T 307 538 e e 3.00349 -T 307 539 f f 3.13405 -T 307 540 g g 4.32955 -T 307 541 h h 2.91254 -T 307 542 i i 4.02308 -T 307 543 j j 5.79215 -T 307 544 k k 6.37609 -T 307 545 l l 3.62427 -T 307 546 m m 3.62427 -T 307 547 n n 4.18656 -T 307 549 p p 3.62427 -T 307 551 r r 3.52779 -T 307 552 s s 1.90976 -T 307 554 u u 1.18629 -T 307 555 v v 4.94779 -T 307 556 w w 3.48289 -F 308 14.7096 -T 308 0 , , 2.37354 -T 308 309 a a 2.82734 -T 308 310 b b 4.82898 -T 308 311 c c 2.71198 -T 308 312 d d 1.78842 -T 308 313 e e 2.36752 -T 308 314 f f 4.37353 -T 308 315 g g 2.19091 -T 308 316 h h 4.16929 -T 308 317 i i 2.96159 -T 308 318 j j 7.03509 -T 308 319 k k 5.0346 -T 308 320 l l 4.21603 -T 308 321 m m 4.62198 -T 308 322 n n 4.58307 -T 308 323 o o 2.34633 -T 308 324 p p 5.40025 -T 308 325 q q 6.60796 -T 308 326 r r 5.19766 -T 308 327 s s 2.81169 -T 308 328 t t 1.86463 -T 308 329 u u 4.38596 -T 308 330 v v 5.29341 -T 308 331 w w 3.98301 -T 308 332 x x 7.03509 -T 308 333 y y 4.38896 -T 308 334 z z 9.22531 -F 309 18.3008 -T 309 6 , , 1.1392 -T 309 7 a a 6.0634 -T 309 8 b b 2.8856 -T 309 9 c c 3.4 -T 309 10 d d 3.81032 -T 309 12 f f 3.93742 -T 309 13 g g 3.72466 -T 309 14 h h 4.20797 -T 309 16 j j 5.81357 -T 309 17 k k 4.45896 -T 309 18 l l 2.0417 -T 309 19 m m 3.03872 -T 309 20 n n 1.7951 -T 309 21 o o 6.0634 -T 309 22 p p 4.00742 -T 309 23 q q 6.90246 -T 309 24 r r 2.59041 -T 309 25 s s 2.28209 -T 309 26 t t 1.59385 -T 309 27 u u 5.6137 -T 309 28 v v 3.97173 -T 309 29 w w 3.72466 -T 309 32 z z 6.90246 -F 310 18.538 -T 310 33 , , 1.83701 -T 310 34 a a 3.44789 -T 310 38 e e 1.11054 -T 310 41 i i 4.39794 -T 310 42 j j 4.90312 -T 310 46 o o 2.00808 -T 310 47 r r 3.30513 -T 310 50 u u 1.46191 -T 310 51 y y 1.69816 -F 311 19.5713 -T 311 52 , , 3.32363 -T 311 53 a a 3.66456 -T 311 57 e e 0.860706 -T 311 60 h h 3.14027 -T 311 61 i i 3.40322 -T 311 63 l l 1.13057 -T 311 66 o o 2.69702 -T 311 69 r r 3.22523 -T 311 71 t t 3.7866 -T 311 72 u u 5.72906 -T 311 75 y y 4.12278 -F 312 14.1749 -T 312 76 , , 0.492855 -T 312 77 a a 2.5789 -T 312 78 b b 3.8338 -T 312 79 c c 3.66502 -T 312 80 d d 3.60309 -T 312 81 e e 2.04677 -T 312 82 f f 3.65604 -T 312 83 g g 4.25817 -T 312 84 h h 3.52088 -T 312 85 i i 2.18216 -T 312 86 j j 6.21859 -T 312 87 k k 5.75692 -T 312 88 l l 3.84463 -T 312 89 m m 3.20497 -T 312 91 o o 2.67929 -T 312 92 p p 3.59457 -T 312 93 q q 7.10232 -T 312 94 r r 3.03089 -T 312 95 s s 2.38364 -T 312 96 t t 2.14163 -T 312 97 u u 3.8893 -T 312 99 w w 2.82573 -T 312 100 y y 4.2257 -F 313 14.9167 -T 313 101 , , 0.969978 -T 313 102 a a 2.44719 -T 313 103 b b 5.04013 -T 313 104 c c 3.26576 -T 313 105 d d 1.82273 -T 313 106 e e 3.98647 -T 313 107 f f 3.48473 -T 313 108 g g 4.97773 -T 313 109 h h 4.33162 -T 313 110 i i 3.18194 -T 313 111 j j 7.36252 -T 313 113 l l 3.66295 -T 313 114 m m 3.94249 -T 313 116 o o 2.87317 -T 313 117 p p 4.10551 -T 313 118 q q 5.90728 -T 313 119 r r 2.76172 -T 313 120 s s 2.22361 -T 313 121 t t 3.35717 -T 313 122 u u 5.04013 -T 313 123 v v 2.66731 -T 313 124 w w 2.80202 -T 313 125 x x 2.96596 -T 313 126 y y 3.07717 -F 314 18.2643 -T 314 128 , , 3.66225 -T 314 129 a a 1.9816 -T 314 133 e e 2.17963 -T 314 137 i i 1.87523 -T 314 140 l l 2.29568 -T 314 143 o o 1.26113 -T 314 145 r r 2.17963 -T 314 148 u u 2.42692 -F 315 15.2481 -T 315 152 , , 1.37743 -T 315 153 a a 2.18584 -T 315 154 b b 3.70302 -T 315 155 c c 3.6344 -T 315 156 d d 3.68897 -T 315 157 e e 2.44742 -T 315 158 f f 3.64776 -T 315 159 g g 4.80089 -T 315 161 i i 2.59524 -T 315 162 j j 6.69983 -T 315 163 k k 6.69983 -T 315 164 l l 3.03504 -T 315 165 m m 3.25378 -T 315 166 n n 4.47692 -T 315 167 o o 2.68827 -T 315 168 p p 4.2089 -T 315 169 q q 7.53889 -T 315 170 r r 3.44236 -T 315 171 s s 2.61413 -T 315 172 t t 1.76954 -T 315 173 u u 2.8681 -T 315 174 v v 5.28328 -T 315 175 w w 2.95145 -T 315 176 y y 5.60541 -F 316 18.9429 -T 316 178 , , 3.11704 -T 316 179 a a 1.3226 -T 316 183 e e 1.50957 -T 316 187 i i 1.30372 -T 316 193 o o 1.73983 -T 316 199 u u 2.82343 -F 317 17.6077 -T 317 203 , , 1.24164 -T 317 204 a a 3.94893 -T 317 206 c c 2.67192 -T 317 207 d d 4.16699 -T 317 208 e e 4.44606 -T 317 209 f f 3.053 -T 317 210 g g 3.03711 -T 317 211 h h 4.32495 -T 317 212 i i 6.26349 -T 317 216 m m 2.85083 -T 317 217 n n 1.10271 -T 317 218 o o 3.30628 -T 317 219 p p 5.17068 -T 317 222 s s 2.22199 -T 317 223 t t 1.81536 -T 317 224 u u 5.92939 -T 317 226 w w 3.91048 -T 317 229 z z 4.51284 -F 318 17.64 -T 318 230 , , 1.02828 -T 318 233 o o 0.691236 -T 318 235 u u 0.992875 -F 319 15.8913 -T 319 236 , , 1.20716 -T 319 237 a a 3.40921 -T 319 244 h h 3.40921 -T 319 245 i i 1.84 -T 319 248 l l 4.69796 -T 319 249 m m 4.69796 -T 319 250 n n 2.00348 -T 319 251 o o 2.00348 -T 319 254 s s 1.69954 -T 319 255 t t 2.44235 -T 319 257 w w 2.51373 -T 319 258 y y 4.69796 -F 320 18.1553 -T 320 259 , , 3.34931 -T 320 260 a a 2.39331 -T 320 264 e e 2.07371 -T 320 268 i i 2.5165 -T 320 274 o o 3.49072 -T 320 280 u u 5.51492 -T 320 283 y y 0.423445 -F 321 17.7524 -T 321 284 , , 2.59527 -T 321 285 a a 1.80315 -T 321 289 e e 2.72465 -T 321 293 i i 2.61044 -T 321 298 o o 1.98782 -T 321 304 u u 3.51167 -T 321 307 y y 0.665677 -F 322 18.2198 -T 322 308 , , 3.51017 -T 322 309 a a 3.3148 -T 322 313 e e 0.768142 -T 322 317 i i 2.25331 -T 322 323 o o 1.108 -T 322 329 u u 3.12415 -F 323 16.7955 -T 323 335 , , 1.4324 -T 323 336 a a 4.99868 -T 323 337 b b 5.27591 -T 323 338 c c 4.12669 -T 323 339 d d 3.98531 -T 323 340 e e 4.88447 -T 323 341 f f 2.10456 -T 323 342 g g 5.78571 -T 323 343 h h 4.88447 -T 323 344 i i 4.05347 -T 323 347 l l 4.29133 -T 323 348 m m 3.16375 -T 323 349 n n 2.97885 -T 323 351 p p 4.68898 -T 323 353 r r 2.38939 -T 323 354 s s 4.38504 -T 323 355 t t 1.1034 -T 323 356 u u 2.73754 -T 323 357 v v 5.19901 -T 323 358 w w 1.83861 -T 323 360 y y 5.78571 -F 324 17.2846 -T 324 362 , , 1.43811 -T 324 363 a a 2.01131 -T 324 367 e e 2.14923 -T 324 370 h h 4.3337 -T 324 371 i i 2.7357 -T 324 372 l l 2.14923 -T 324 375 o o 1.55401 -T 324 377 r r 1.3028 -T 324 380 u u 3.49463 -F 325 17.7921 -T 325 384 , , -3.26622e-10 -F 326 16.8817 -T 326 386 , , 2.86242 -T 326 387 a a 2.06289 -T 326 391 e e 0.597521 -T 326 395 i i 3.60861 -T 326 401 o o 2.00417 -T 326 407 u u 3.60861 -T 326 410 y y 2.19183 -F 327 15.6968 -T 327 411 , , 1.36222 -T 327 412 a a 2.40712 -T 327 413 b b 4.02331 -T 327 414 c c 3.6869 -T 327 415 d d 4.81079 -T 327 416 e e 2.28509 -T 327 417 f f 4.22386 -T 327 418 g g 5.46311 -T 327 419 h h 3.02721 -T 327 420 i i 1.92427 -T 327 421 j j 6.41316 -T 327 423 l l 3.98762 -T 327 424 m m 4.47484 -T 327 425 n n 4.81079 -T 327 426 o o 2.06772 -T 327 427 p p 3.71338 -T 327 429 r r 4.98487 -T 327 431 t t 1.62286 -T 327 432 u u 3.21878 -T 327 433 v v 5.82922 -T 327 434 w w 2.50567 -T 327 435 y y 6.07929 -F 328 15.5879 -T 328 436 , , 0.612757 -T 328 437 a a 2.78567 -T 328 439 c c 5.12717 -T 328 440 d d 4.80319 -T 328 441 e e 2.16581 -T 328 442 f f 4.63372 -T 328 443 g g 5.60933 -T 328 444 h h 1.1308 -T 328 445 i i 2.45156 -T 328 446 j j 7.86494 -T 328 447 k k 7.86494 -T 328 448 l l 3.59802 -T 328 449 m m 4.53494 -T 328 450 n n 5.93146 -T 328 451 o o 1.91943 -T 328 452 p p 5.08549 -T 328 453 q q 6.03139 -T 328 454 r r 3.2577 -T 328 455 s s 2.80639 -T 328 457 u u 3.85982 -T 328 458 v v 6.40994 -T 328 459 w w 3.81308 -T 328 460 y y 4.28649 -F 329 19.0583 -T 329 462 , , 3.03614 -T 329 463 a a 3.41174 -T 329 467 e e 1.64589 -T 329 471 i i 3.88999 -T 329 474 m m 2.19505 -T 329 475 n n 2.06335 -T 329 476 o o 4.50616 -T 329 477 p p 2.52571 -T 329 479 s s 1.4276 -T 329 480 t t 1.80385 -F 330 19.34 -T 330 486 , , 0.604554 -T 330 487 a a 1.88835 -T 330 489 i i 1.28968 -T 330 490 o o 1.99634 -T 330 491 u u 3.15109 -F 331 18.0404 -T 331 493 , , 2.89125 -T 331 494 a a 1.51809 -T 331 498 e e 1.60813 -T 331 501 h h 0.994026 -T 331 502 i i 1.89756 -T 331 507 o o 3.053 -T 331 510 r r 4.90842 -F 332 19.1113 -T 332 518 , , 3.74841 -T 332 525 i i 0.0209535 -F 333 14.2676 -T 333 533 , , 0.712107 -T 333 534 a a 2.69287 -T 333 536 c c 3.15777 -T 333 537 d d 3.61943 -T 333 538 e e 3.15777 -T 333 539 f f 3.50845 -T 333 541 h h 3.08639 -T 333 542 i i 3.23467 -T 333 545 l l 3.40852 -T 333 546 m m 2.89849 -T 333 547 n n 4.50294 -T 333 548 o o 1.7274 -T 333 549 p p 2.7905 -T 333 551 r r 3.31779 -T 333 552 s s 2.7905 -T 333 553 t t 1.88006 -T 333 556 w w 3.08639 -T 333 557 y y 5.342 -F 334 15.2805 -T 334 559 -F 335 15.3631 -T 335 0 , , 3.02699 -T 335 336 a a 4.0088 -T 335 337 b b 4.13521 -T 335 338 c c 3.84739 -T 335 339 d d 3.82989 -T 335 340 e e 5.08412 -T 335 341 f f 1.98575 -T 335 342 g g 4.68231 -T 335 343 h h 4.75115 -T 335 344 i i 4.09952 -T 335 345 j j 6.63145 -T 335 346 k k 4.25311 -T 335 347 l l 3.37444 -T 335 348 m m 2.79465 -T 335 349 n n 1.94776 -T 335 350 o o 3.42878 -T 335 351 p p 4.07097 -T 335 352 q q 8.26513 -T 335 353 r r 2.17571 -T 335 354 s s 3.22178 -T 335 355 t t 2.72695 -T 335 356 u u 1.94292 -T 335 357 v v 4.0316 -T 335 358 w w 2.92866 -T 335 359 x x 7.60705 -T 335 360 y y 4.90036 -T 335 361 z z 8.02934 -F 336 18.6227 -T 336 6 , , 1.46113 -T 336 8 b b 4.25702 -T 336 9 c c 2.43475 -T 336 10 d d 1.88628 -T 336 12 f f 4.76589 -T 336 14 h h 4.02123 -T 336 17 k k 4.56603 -T 336 18 l l 2.29476 -T 336 19 m m 3.59917 -T 336 20 n n 1.99082 -T 336 22 p p 3.83058 -T 336 24 r r 2.18838 -T 336 25 s s 2.18838 -T 336 26 t t 1.88628 -T 336 28 v v 4.02123 -T 336 30 x x 5.85478 -F 337 18.5379 -T 337 33 , , 1.837 -T 337 34 a a 2.35255 -T 337 35 b b 5.22341 -T 337 38 e e 0.589692 -T 337 41 i i 4.43984 -T 337 42 j j 3.12691 -T 337 43 l l 3.40621 -T 337 47 r r 4.00581 -T 337 48 s s 1.95098 -T 337 49 t t 4.27337 -T 337 50 u u 3.07948 -F 338 17.7725 -T 338 52 , , 1.52483 -T 338 53 a a 3.05093 -T 338 55 c c 2.70991 -T 338 57 e e 2.1117 -T 338 60 h h 3.12115 -T 338 61 i i 3.63141 -T 338 62 k k 1.00899 -T 338 63 l l 2.3841 -T 338 66 o o 1.88743 -T 338 69 r r 3.63141 -T 338 72 u u 3.27819 -F 339 14.9315 -T 339 76 , , 1.24944 -T 339 77 a a 2.91208 -T 339 78 b b 4.00926 -T 339 79 c c 4.94457 -T 339 80 d d 3.43223 -T 339 81 e e 1.95904 -T 339 82 f f 3.92614 -T 339 84 h h 3.92614 -T 339 85 i i 1.56691 -T 339 88 l l 5.19463 -T 339 91 o o 1.60536 -T 339 92 p p 4.74494 -T 339 94 r r 3.64891 -T 339 95 s s 3.06842 -T 339 97 u u 2.72741 -T 339 99 w w 3.64891 -T 339 100 y y 2.77669 -F 340 15.7199 -T 340 101 , , 1.77319 -T 340 102 a a 2.45433 -T 340 107 f f 4.70994 -T 340 110 i i 3.62105 -T 340 113 l l 4.70994 -T 340 114 m m 4.20498 -T 340 115 n n 2.01545 -T 340 120 s s 0.994487 -T 340 121 t t 4.20498 -T 340 123 v v 3.2547 -T 340 125 x x 1.53191 -F 341 15.9412 -T 341 128 , , 1.33914 -T 341 129 a a 2.39308 -T 341 130 b b 4.22755 -T 341 131 c c 3.54759 -T 341 132 d d 4.02699 -T 341 133 e e 2.54274 -T 341 134 f f 3.28303 -T 341 135 g g 3.99936 -T 341 136 h h 3.29638 -T 341 137 i i 3.28303 -T 341 138 j j 5.49236 -T 341 139 k k 6.58839 -T 341 140 l l 3.7067 -T 341 141 m m 2.96182 -T 341 142 n n 4.52389 -T 341 143 o o 3.07925 -T 341 144 p p 3.90841 -T 341 145 r r 3.79144 -T 341 146 s s 2.78544 -T 341 147 t t 1.11284 -T 341 149 v v 4.54691 -T 341 150 w w 3.18194 -T 341 151 y y 5.69268 -F 342 15.9677 -T 342 152 , , 2.09708 -T 342 153 a a 3.5842 -T 342 157 e e 1.66016 -T 342 159 g g 4.67701 -T 342 161 i i 1.36037 -T 342 164 l l 3.89344 -T 342 165 m m 4.67701 -T 342 166 n n 2.99774 -T 342 167 o o 2.03203 -T 342 170 r r 1.69977 -T 342 173 u u 3.72696 -T 342 176 y y 2.85981 -F 343 17.5416 -T 343 178 , , 1.71575 -T 343 179 a a 1.06149 -T 343 183 e e 2.08269 -T 343 187 i i 1.24961 -T 343 193 o o 2.21831 -T 343 199 u u 2.29384 -T 343 201 w w 5.11335 -T 343 202 y y 5.11335 -F 344 18.867 -T 344 203 , , 2.50096 -T 344 204 a a 5.76406 -T 344 206 c c 2.20403 -T 344 207 d d 2.86925 -T 344 209 f f 4.92523 -T 344 215 l l 1.79556 -T 344 216 m m 4.30906 -T 344 217 n n 0.78357 -T 344 221 r r 4.0415 -T 344 222 s s 2.58626 -T 344 223 t t 2.70231 -T 344 226 w w 4.67517 -F 345 18.9939 -T 345 230 , , 2.38222 -T 345 232 e e 0.212989 -T 345 235 u u 1.95489 -F 346 15.2685 -T 346 236 , , 0.584339 -T 346 237 a a 2.46054 -T 346 238 b b 5.10575 -T 346 239 c c 3.88814 -T 346 240 d d 4.52182 -T 346 241 e e 0.840444 -T 346 242 f f 4.32195 -T 346 244 h h 3.00925 -T 346 248 l l 4.52182 -T 346 249 m m 4.32195 -T 346 251 o o 3.58651 -T 346 252 p p 3.42648 -T 346 255 t t 3.50315 -T 346 256 u u 3.00925 -T 346 257 w w 3.88814 -F 347 17.0715 -T 347 259 , , 2.26544 -T 347 260 a a 3.39654 -T 347 261 b b 5.64985 -T 347 262 c c 2.78935 -T 347 263 d d 2.07624 -T 347 264 e e 1.5128 -T 347 268 i i 2.47183 -T 347 271 l l 1.55448 -T 347 273 n n 5.19993 -T 347 274 o o 2.0295 -T 347 278 s s 4.30445 -T 347 279 t t 4.65514 -T 347 280 u u 2.66708 -T 347 281 v v 4.38136 -F 348 16.0504 -T 348 284 , , 0.893211 -T 348 286 b b 3.54621 -T 348 287 c c 6.22918 -T 348 288 d d 6.22918 -T 348 289 e e 0.915278 -T 348 290 f f 4.81263 -T 348 291 g g 6.56329 -T 348 292 h h 4.03758 -T 348 293 i i 3.0279 -T 348 295 l l 5.47048 -T 348 296 m m 3.09974 -T 348 299 p p 2.13864 -T 348 301 r r 5.34568 -T 348 302 s s 3.76196 -T 348 303 t t 2.60906 -T 348 304 u u 3.94663 -T 348 305 v v 7.06825 -T 348 306 w w 4.13752 -T 348 307 y y 2.68827 -F 349 16.0915 -T 349 308 , , 1.38182 -T 349 309 a a 2.81146 -T 349 310 b b 3.98439 -T 349 311 c c 3.08523 -T 349 313 e e 1.93878 -T 349 314 f f 3.84048 -T 349 315 g g 2.74952 -T 349 316 h h 3.80755 -T 349 317 i i 2.81146 -T 349 318 j j 6.82601 -T 349 319 k k 6.31714 -T 349 320 l l 3.25033 -T 349 321 m m 4.13752 -T 349 322 n n 4.63303 -T 349 323 o o 2.42278 -T 349 324 p p 5.31345 -T 349 325 q q 7.07584 -T 349 326 r r 5.73067 -T 349 327 s s 2.08407 -T 349 328 t t 1.78588 -T 349 329 u u 5.31345 -T 349 330 v v 4.43248 -T 349 331 w w 3.19023 -T 349 333 y y 5.01987 -F 350 17.4225 -T 350 335 , , 2.0594 -T 350 337 b b 4.25011 -T 350 339 d d 1.59408 -T 350 341 f f 2.80225 -T 350 342 g g 5.92939 -T 350 343 h h 5.92939 -T 350 346 k k 1.20356 -T 350 347 l l 3.08109 -T 350 348 m m 2.80225 -T 350 349 n n 2.01384 -T 350 351 p p 4.25011 -T 350 353 r r 3.20313 -T 350 354 s s 4.6008 -T 350 355 t t 3.10435 -T 350 356 u u 3.20313 -T 350 357 v v 5.14559 -T 350 358 w w 4.97911 -F 351 16.6816 -T 351 362 , , 0.835143 -T 351 363 a a 2.61459 -T 351 367 e e 0.844128 -T 351 370 h h 3.01293 -T 351 371 i i 2.671 -T 351 372 l l 2.79419 -T 351 373 m m 5.28766 -T 351 375 o o 2.46261 -T 351 376 p p 2.5614 -T 351 378 s s 3.76841 -T 351 380 u u 3.60838 -T 351 382 w w 5.28766 -F 352 17.7921 -T 352 384 , , -7.7638e-10 -F 353 14.9398 -T 353 386 , , 0.920491 -T 353 387 a a 2.88399 -T 353 388 b b 4.40531 -T 353 389 c c 4.0042 -T 353 390 d d 2.30949 -T 353 391 e e 1.59615 -T 353 392 f f 4.6252 -T 353 393 g g 4.28903 -T 353 394 h h 3.60147 -T 353 395 i i 2.81629 -T 353 397 k k 3.90956 -T 353 398 l l 3.82321 -T 353 399 m m 2.62426 -T 353 400 n n 3.68206 -T 353 401 o o 3.13359 -T 353 402 p p 4.99269 -T 353 403 q q 7.68718 -T 353 404 r r 3.27474 -T 353 405 s s 2.99797 -T 353 406 t t 1.8522 -T 353 409 w w 3.55818 -T 353 410 y y 3.69404 -F 354 16.4014 -T 354 411 , , 2.06688 -T 354 412 a a 2.91001 -T 354 413 b b 6.13639 -T 354 414 c c 5.04358 -T 354 416 e e 1.36244 -T 354 419 h h 3.94686 -T 354 420 i i 2.33827 -T 354 423 l l 4.8078 -T 354 424 m m 5.55245 -T 354 426 o o 3.13888 -T 354 427 p p 2.79142 -T 354 430 s s 1.77046 -T 354 431 t t 1.40711 -T 354 432 u u 4.03989 -T 354 434 w w 5.18611 -T 354 435 y y 6.64135 -F 355 16.1423 -T 355 436 , , 1.1671 -T 355 437 a a 2.69978 -T 355 438 b b 3.69473 -T 355 439 c c 4.2409 -T 355 440 d d 4.53448 -T 355 441 e e 3.00718 -T 355 442 f f 4.75115 -T 355 443 g g 4.95148 -T 355 444 h h 0.726696 -T 355 445 i i 2.68435 -T 355 447 k k 5.68071 -T 355 448 l l 4.13752 -T 355 449 m m 4.07396 -T 355 452 p p 4.75115 -T 355 453 q q 6.63098 -T 355 454 r r 4.13752 -T 355 455 s s 3.20543 -T 355 456 t t 2.49002 -T 355 457 u u 4.48682 -T 355 458 v v 6.04705 -T 355 459 w w 3.90472 -F 356 18.3095 -T 356 462 , , 2.28735 -T 356 463 a a 4.52182 -T 356 464 b b 3.59042 -T 356 465 c c 4.6632 -T 356 466 d d 3.98946 -T 356 468 f f 7.41501 -T 356 469 g g 2.54228 -T 356 470 h h 5.062 -T 356 472 k k 6.32221 -T 356 473 l l 1.95559 -T 356 474 m m 5.18197 -T 356 475 n n 2.1064 -T 356 476 o o 6.63121 -T 356 477 p p 5.14052 -T 356 478 r r 1.44372 -T 356 479 s s 1.8393 -T 356 480 t t 1.84092 -T 356 481 u u 7.08091 -T 356 483 w w 4.68875 -F 357 20.7684 -T 357 486 , , 2.03292 -T 357 487 a a 3.72443 -T 357 488 e e 0.115129 -T 357 489 i i 2.60077 -F 358 16.0839 -T 358 493 , , 0.934802 -T 358 494 a a 2.22729 -T 358 495 b b 3.67746 -T 358 496 c c 4.19646 -T 358 497 d d 3.84209 -T 358 498 e e 1.52684 -T 358 499 f f 4.54968 -T 358 500 g g 5.47923 -T 358 502 i i 2.64014 -T 358 503 k k 6.42928 -T 358 504 l l 3.55842 -T 358 505 m m 3.9692 -T 358 506 n n 1.6422 -T 358 508 p p 5.10069 -T 358 509 q q 6.42928 -T 358 510 r r 4.67862 -T 358 511 s s 3.0705 -T 358 512 t t 2.64912 -T 358 513 u u 5.00098 -T 358 514 v v 6.93447 -T 358 515 w w 3.53608 -T 358 516 y y 5.21167 -F 359 16.5179 -T 359 518 , , 1.15502 -T 359 522 e e 0.999322 -T 359 525 i i 0.999322 -F 360 15.1524 -T 360 533 , , 1.59692 -T 360 534 a a 1.63437 -T 360 535 b b 4.45942 -T 360 536 c c 4.12554 -T 360 538 e e 2.70876 -T 360 541 h h 2.85705 -T 360 542 i i 2.10664 -T 360 548 o o 1.11445 -T 360 552 s s 2.94017 -T 360 553 t t 3.67585 -T 360 556 w w 3.13082 -T 360 557 y y 3.87548 -F 361 17.6819 -T 361 559 , , 2.40148 -T 361 561 e e 0.0490451 -F 362 15.8465 -T 362 0 , , 3.51036 -T 362 363 a a 2.18492 -T 362 364 b b 5.99432 -T 362 365 c c 6.3549 -T 362 366 d d 6.67918 -T 362 367 e e 1.60928 -T 362 368 f f 6.19464 -T 362 369 g g 7.49406 -T 362 370 h h 3.31204 -T 362 371 i i 2.84438 -T 362 372 l l 2.29683 -T 362 373 m m 5.68439 -T 362 374 n n 6.20761 -T 362 375 o o 1.91897 -T 362 376 p p 2.64084 -T 362 377 r r 1.88766 -T 362 378 s s 3.75851 -T 362 379 t t 2.97149 -T 362 380 u u 3.9586 -T 362 381 v v 7.54051 -T 362 382 w w 4.58652 -T 362 383 y y 5.38045 -F 363 19.456 -T 363 6 , , 2.29437 -T 363 8 b b 4.26116 -T 363 9 c c 3.1329 -T 363 13 g g 5.35581 -T 363 15 i i 2.6162 -T 363 18 l l 3.04448 -T 363 20 n n 2.08729 -T 363 22 p p 4.73964 -T 363 23 q q 5.10575 -T 363 24 r r 1.05597 -T 363 25 s s 1.53007 -T 363 26 t t 2.63462 -T 363 27 u u 4.01041 -T 363 31 y y 5.10575 -F 364 17.8583 -T 364 33 , , 1.15739 -T 364 38 e e 1.32422 -T 364 46 o o 1.57428 -T 364 50 u u 1.90815 -T 364 51 y y 1.32422 -F 365 17.2729 -T 365 52 , , 1.02525 -T 365 53 a a 0.976066 -T 365 60 h h 1.55977 -T 365 66 o o 1.55977 -F 366 14.4182 -T 366 76 , , 0.736095 -T 366 81 e e 1.65947 -T 366 91 o o 0.820411 -F 367 15.9877 -T 367 101 , , 2.04097 -T 367 102 a a 1.53559 -T 367 103 b b 6.26487 -T 367 104 c c 2.14325 -T 367 105 d d 2.62011 -T 367 106 e e 4.32656 -T 367 107 f f 3.83933 -T 367 108 g g 5.68094 -T 367 110 i i 4.51422 -T 367 113 l l 3.53861 -T 367 115 n n 2.1368 -T 367 116 o o 3.53861 -T 367 119 r r 1.26965 -T 367 120 s s 3.41658 -T 367 121 t t 3.51305 -T 367 124 w w 5.17207 -F 368 15.9718 -T 368 128 , , 1.36975 -T 368 129 a a 1.71404 -T 368 143 o o 1.71404 -T 368 145 r r 0.763998 -F 369 13.8706 -T 369 152 -F 370 17.1733 -T 370 178 , , 1.34748 -T 370 179 a a 2.28946 -T 370 183 e e 0.664526 -T 370 187 i i 1.67076 -T 370 190 l l 3.98002 -T 370 196 r r 2.68435 -T 370 199 u u 4.22985 -T 370 202 y y 3.13543 -F 371 18.0523 -T 371 203 , , 1.68623 -T 371 204 a a 5.03092 -T 371 206 c c 2.11585 -T 371 207 d d 1.85289 -T 371 208 e e 2.38571 -T 371 209 f f 5.03092 -T 371 211 h h 4.44698 -T 371 215 l l 2.67791 -T 371 217 n n 1.4177 -T 371 219 p p 5.53588 -T 371 221 r r 3.35141 -T 371 223 t t 1.67191 -T 371 226 w w 4.69681 -F 372 19.2545 -T 372 259 , , 4.44848 -T 372 260 a a 0.936231 -T 372 264 e e 1.48217 -T 372 268 i i 1.91253 -T 372 274 o o 2.93257 -T 372 280 u u 3.63924 -T 372 283 y y 1.9024 -F 373 17.1351 -T 373 284 , , 1.97797 -T 373 289 e e 1.87638 -T 373 307 y y 0.271935 -F 374 16.154 -T 374 308 , , 1.4444 -T 374 313 e e 1.18952 -T 374 323 o o 0.684328 -F 375 17.9687 -T 375 335 , , 2.60558 -T 375 338 c c 4.43616 -T 375 339 d d 5.37147 -T 375 340 e e 5.95541 -T 375 341 f f 3.49532 -T 375 344 i i 2.43153 -T 375 346 k k 3.28257 -T 375 347 l l 3.52963 -T 375 349 n n 1.47527 -T 375 350 o o 4.13821 -T 375 351 p p 5.6213 -T 375 353 r r 1.83355 -T 375 354 s s 1.28738 -T 375 355 t t 3.60239 -T 375 356 u u 3.52963 -T 375 358 w w 3.10711 -F 376 19.3077 -T 376 362 , , 3.46121 -T 376 363 a a 3.00119 -T 376 367 e e 0.566206 -T 376 371 i i 3.1375 -T 376 372 l l 2.84415 -T 376 375 o o 1.96157 -T 376 377 r r 2.34081 -T 376 383 y y 3.29569 -F 377 19.2302 -T 377 386 , , 5.21093 -T 377 387 a a 4.10712 -T 377 391 e e 1.18975 -T 377 395 i i 2.07141 -T 377 401 o o 0.622849 -T 377 407 u u 4.23607 -F 378 15.1837 -T 378 411 , , 0.84917 -T 378 412 a a 2.12436 -T 378 413 b b 4.1184 -T 378 414 c c 4.1184 -T 378 416 e e 1.56161 -T 378 417 f f 3.16836 -T 378 419 h h 3.0256 -T 378 420 i i 2.36775 -T 378 423 l l 4.62336 -T 378 424 m m 4.62336 -T 378 426 o o 1.80385 -T 378 431 t t 2.2388 -T 378 432 u u 3.7843 -T 378 434 w w 2.68988 -F 379 15.633 -T 379 436 , , 0.657806 -T 379 437 a a 2.62932 -T 379 439 c c 4.56994 -T 379 441 e e 1.72602 -T 379 442 f f 4.90382 -T 379 444 h h 1.49138 -T 379 445 i i 1.41586 -T 379 449 m m 4.90382 -T 379 451 o o 2.58949 -T 379 455 s s 3.95377 -T 379 456 t t 3.02422 -T 379 457 u u 3.22454 -T 379 458 v v 5.409 -T 379 460 y y 4.56994 -F 380 17.7581 -T 380 462 , , 1.73586 -T 380 464 b b 2.31663 -T 380 473 l l 1.92519 -T 380 474 m m 3.91923 -T 380 477 p p 3.33529 -T 380 478 r r 1.87269 -T 380 479 s s 3.13543 -T 380 480 t t 0.982974 -T 380 485 z z 2.70162 -F 381 19.1089 -T 381 486 , , 0.37343 -T 381 487 a a 0.966395 -F 382 16.8164 -T 382 493 , , 1.66727 -T 382 494 a a 0.542719 -T 382 498 e e 2.07693 -T 382 502 i i 1.77529 -T 382 510 r r 2.96043 -F 383 14.2031 -T 383 533 , , 0.647566 -T 383 534 a a 2.5089 -T 383 536 c c 2.17502 -T 383 548 o o 2.17502 -T 383 549 p p 3.01408 -T 383 551 r r 1.92496 -T 383 552 s s 1.72533 -F 384 17.7921 -T 384 0 , , 5.45603 -T 384 385 u u 0.00414465 -F 385 20.7535 -T 385 462 , , 4.7313 -T 385 463 a a 1.59684 -T 385 467 e e 1.30418 -T 385 471 i i 0.665908 -T 385 476 o o 5.4744 -F 386 14.0193 -T 386 0 , , 1.68321 -T 386 387 a a 2.32814 -T 386 388 b b 4.61783 -T 386 389 c c 3.96022 -T 386 390 d d 3.23559 -T 386 391 e e 1.39352 -T 386 392 f f 4.12692 -T 386 393 g g 4.62681 -T 386 394 h h 4.09975 -T 386 395 i i 2.37903 -T 386 396 j j 6.20478 -T 386 397 k k 4.58237 -T 386 398 l l 4.25287 -T 386 399 m m 3.61506 -T 386 400 n n 3.64177 -T 386 401 o o 2.2319 -T 386 402 p p 4.64984 -T 386 403 q q 8.00517 -T 386 404 r r 3.63003 -T 386 405 s s 2.97563 -T 386 406 t t 2.49255 -T 386 407 u u 3.8193 -T 386 408 v v 4.91372 -T 386 409 w w 4.01271 -T 386 410 y y 3.07925 -F 387 18.4402 -T 387 6 , , 1.27859 -T 387 8 b b 3.08454 -T 387 9 c c 2.8156 -T 387 10 d d 3.71476 -T 387 12 f f 2.96297 -T 387 13 g g 3.24618 -T 387 14 h h 5.55222 -T 387 15 i i 3.28187 -T 387 18 l l 2.3217 -T 387 19 m m 3.79236 -T 387 20 n n 1.52615 -T 387 21 o o 3.77256 -T 387 22 p p 3.06474 -T 387 25 s s 3.10458 -T 387 26 t t 1.78266 -T 387 27 u u 5.98603 -T 387 28 v v 3.22293 -T 387 29 w w 3.77256 -T 387 31 y y 4.24412 -T 387 32 z z 7.27479 -F 388 18.1073 -T 388 33 , , 1.40636 -T 388 34 a a 1.86555 -T 388 38 e e 1.10962 -T 388 41 i i 3.53194 -T 388 44 m m 4.98717 -T 388 46 o o 1.92519 -T 388 47 r r 2.87961 -T 388 50 u u 1.86555 -T 388 51 y y 2.66501 -F 389 18.3768 -T 389 52 , , 2.12914 -T 389 53 a a 2.16144 -T 389 57 e e 1.22336 -T 389 60 h h 1.61503 -T 389 61 i i 3.4594 -T 389 63 l l 3.61943 -T 389 66 o o 1.7799 -T 389 69 r r 3.14487 -T 389 72 u u 2.33758 -T 389 75 y y 5.13868 -F 390 14.7755 -T 390 76 , , 1.09345 -T 390 77 a a 2.42439 -T 390 78 b b 4.3436 -T 390 79 c c 4.91257 -T 390 81 e e 1.80062 -T 390 82 f f 4.18357 -T 390 84 h h 4.43432 -T 390 85 i i 1.67283 -T 390 86 j j 6.3678 -T 390 88 l l 4.77004 -T 390 91 o o 2.7357 -T 390 94 r r 4.26047 -T 390 95 s s 1.55931 -T 390 96 t t 2.99175 -T 390 97 u u 3.67331 -T 390 99 w w 2.45018 -T 390 100 y y 5.07904 -F 391 16.1903 -T 391 101 , , 2.2436 -T 391 102 a a 1.66776 -T 391 103 b b 4.44698 -T 391 104 c c 2.80777 -T 391 105 d d 2.1688 -T 391 106 e e 3.12599 -T 391 107 f f 3.2752 -T 391 108 g g 3.88861 -T 391 109 h h 4.22847 -T 391 110 i i 3.19783 -T 391 111 j j 6.37586 -T 391 112 k k 7.70445 -T 391 113 l l 4.09123 -T 391 114 m m 2.97862 -T 391 115 n n 3.10596 -T 391 116 o o 3.82114 -T 391 117 p p 3.19783 -T 391 118 q q 5.11727 -T 391 120 s s 2.25009 -T 391 121 t t 2.57843 -T 391 122 u u 4.97819 -T 391 123 v v 4.10206 -T 391 124 w w 3.10181 -T 391 125 x x 5.11727 -T 391 126 y y 4.29179 -F 392 17.1838 -T 392 128 , , 2.58183 -T 392 129 a a 1.71474 -T 392 133 e e 1.52109 -T 392 134 f f 3.64361 -T 392 137 i i 2.69748 -T 392 140 l l 3.54368 -T 392 143 o o 2.079 -T 392 145 r r 2.54643 -T 392 148 u u 1.39145 -F 393 15.7469 -T 393 152 , , 1.87631 -T 393 153 a a 2.24019 -T 393 157 e e 1.21576 -T 393 161 i i 2.87063 -T 393 164 l l 3.68943 -T 393 167 o o 1.77322 -T 393 170 r r 2.24019 -T 393 171 s s 4.97819 -T 393 172 t t 3.68943 -T 393 173 u u 2.24019 -T 393 175 w w 4.13913 -T 393 176 y y 3.14464 -F 394 18.2818 -T 394 178 , , 2.4559 -T 394 179 a a 0.750873 -T 394 183 e e 1.49921 -T 394 187 i i 2.3263 -T 394 193 o o 2.0219 -T 394 199 u u 2.76633 -F 395 17.6524 -T 395 203 , , 1.2863 -T 395 204 a a 3.6093 -T 395 205 b b 2.92981 -T 395 206 c c 2.82757 -T 395 207 d d 3.52457 -T 395 208 e e 1.73983 -T 395 209 f f 4.10229 -T 395 210 g g 3.01385 -T 395 211 h h 4.90174 -T 395 214 k k 4.48613 -T 395 215 l l 3.72167 -T 395 216 m m 4.10229 -T 395 217 n n 1.65372 -T 395 218 o o 2.32814 -T 395 219 p p 4.7249 -T 395 222 s s 2.33805 -T 395 223 t t 2.72741 -T 395 224 u u 4.7249 -T 395 225 v v 3.72167 -T 395 226 w w 4.90174 -T 395 227 x x 6.38484 -T 395 229 z z 3.96712 -F 396 17.7469 -T 396 230 , , 1.13521 -T 396 231 a a 2.56968 -T 396 233 o o 0.25858 -F 397 15.2872 -T 397 236 , , 0.602999 -T 397 237 a a 1.8446 -T 397 238 b b 4.18334 -T 397 239 c c 3.42463 -T 397 244 h h 3.56716 -T 397 245 i i 2.5234 -T 397 246 j j 5.0224 -T 397 248 l l 3.18885 -T 397 249 m m 3.93351 -T 397 250 n n 2.05736 -T 397 251 o o 2.83817 -T 397 254 s s 2.24295 -T 397 255 t t 2.76679 -T 397 257 w w 3.42463 -F 398 17.6 -T 398 259 , , 2.79395 -T 398 260 a a 2.22982 -T 398 263 d d 1.84898 -T 398 264 e e 2.49347 -T 398 268 i i 2.32078 -T 398 274 o o 3.09583 -T 398 280 u u 4.06268 -T 398 282 w w 4.84648 -T 398 283 y y 0.763998 -F 399 16.5756 -T 399 284 , , 1.4184 -T 399 285 a a 1.73085 -T 399 286 b b 4.89967 -T 399 287 c c 4.89967 -T 399 288 d d 5.98856 -T 399 289 e e 1.70322 -T 399 292 h h 5.1495 -T 399 293 i i 1.9367 -T 399 295 l l 4.3908 -T 399 298 o o 1.76885 -T 399 302 s s 2.4861 -T 399 303 t t 3.88101 -T 399 304 u u 3.60378 -T 399 306 w w 4.53333 -T 399 307 y y 2.09742 -F 400 17.3677 -T 400 308 , , 2.65807 -T 400 309 a a 2.23051 -T 400 310 b b 4.36409 -T 400 313 e e 0.866233 -T 400 314 f f 4.6731 -T 400 316 h h 4.36409 -T 400 317 i i 2.00578 -T 400 320 l l 4.87296 -T 400 321 m m 4.6731 -T 400 323 o o 2.0843 -T 400 324 p p 4.6731 -T 400 326 r r 4.6731 -T 400 327 s s 3.10388 -T 400 328 t t 3.18217 -T 400 329 u u 4.50662 -T 400 330 v v 5.96185 -T 400 331 w w 4.1283 -F 401 16.9863 -T 401 335 , , 1.62324 -T 401 336 a a 3.08592 -T 401 337 b b 4.08916 -T 401 338 c c 2.58419 -T 401 339 d d 3.68805 -T 401 341 f f 1.62885 -T 401 342 g g 4.37261 -T 401 345 j j 4.34037 -T 401 346 k k 4.63326 -T 401 347 l l 4.34037 -T 401 348 m m 1.89249 -T 401 349 n n 2.95859 -T 401 350 o o 3.6397 -T 401 351 p p 3.42763 -T 401 354 s s 3.42763 -T 401 356 u u 1.7076 -T 401 357 v v 3.70486 -T 401 358 w w 3.07694 -T 401 359 x x 6.28214 -T 401 360 y y 6.08228 -T 401 361 z z 6.86608 -F 402 17.495 -T 402 362 , , 1.64859 -T 402 363 a a 1.99012 -T 402 367 e e 1.80523 -T 402 370 h h 3.86627 -T 402 371 i i 4.11633 -T 402 372 l l 3.12161 -T 402 375 o o 2.02466 -T 402 377 r r 0.826398 -T 402 378 s s 4.95539 -T 402 380 u u 4.45021 -F 403 17.7921 -T 403 384 , , -7.7638e-10 -F 404 18.1026 -T 404 386 , , 4.08333 -T 404 387 a a 2.00509 -T 404 391 e e 1.41333 -T 404 395 i i 1.2259 -T 404 401 o o 1.84483 -T 404 407 u u 3.78936 -T 404 410 y y 1.95651 -F 405 15.5189 -T 405 411 , , 1.18437 -T 405 412 a a 2.36061 -T 405 413 b b 4.30537 -T 405 414 c c 3.93305 -T 405 415 d d 5.53864 -T 405 416 e e 1.75158 -T 405 417 f f 4.79398 -T 405 418 g g 5.53864 -T 405 419 h h 2.94455 -T 405 420 i i 2.82044 -T 405 422 k k 5.78847 -T 405 423 l l 3.97841 -T 405 424 m m 3.84785 -T 405 425 n n 5.1723 -T 405 426 o o 2.06726 -T 405 427 p p 3.42256 -T 405 429 r r 5.53864 -T 405 431 t t 1.44717 -T 405 432 u u 3.2075 -T 405 433 v v 5.78847 -T 405 434 w w 2.9282 -F 406 16.4431 -T 406 436 , , 1.46792 -T 406 437 a a 2.10318 -T 406 438 b b 5.27683 -T 406 441 e e 2.93004 -T 406 442 f f 5.82186 -T 406 443 g g 5.27683 -T 406 444 h h 0.79278 -T 406 445 i i 2.56393 -T 406 448 l l 4.33093 -T 406 449 m m 5.27683 -T 406 451 o o 2.14808 -T 406 454 r r 4.61162 -T 406 455 s s 4.11196 -T 406 457 u u 2.9503 -T 406 459 w w 3.93259 -T 406 460 y y 3.56924 -T 406 461 z z 6.60543 -F 407 18.6816 -T 407 462 , , 2.65937 -T 407 464 b b 3.4624 -T 407 465 c c 2.69241 -T 407 466 d d 3.23306 -T 407 467 e e 2.85382 -T 407 469 g g 2.66294 -T 407 470 h h 3.95101 -T 407 471 i i 3.34105 -T 407 473 l l 3.18309 -T 407 474 m m 2.66294 -T 407 475 n n 1.89342 -T 407 477 p p 2.22453 -T 407 479 s s 1.49023 -T 407 480 t t 2.66294 -F 408 19.0236 -T 408 486 , , 0.288112 -T 408 487 a a 1.31593 -T 408 488 e e 0.617553 -T 408 490 o o 2.30719 -F 409 17.5857 -T 409 493 , , 2.43657 -T 409 494 a a 1.17869 -T 409 498 e e 1.528 -T 409 501 h h 1.34287 -T 409 502 i i 2.21532 -T 409 507 o o 2.41334 -T 409 510 r r 5.08618 -F 410 14.8502 -T 410 533 , , 1.29467 -T 410 534 a a 2.46077 -T 410 535 b b 3.37398 -T 410 536 c c 3.43177 -T 410 537 d d 3.29293 -T 410 538 e e 3.37398 -T 410 539 f f 3.52572 -T 410 540 g g 3.97265 -T 410 541 h h 3.12599 -T 410 542 i i 2.50705 -T 410 543 j j 5.43525 -T 410 544 k k 6.52414 -T 410 545 l l 3.31918 -T 410 546 m m 2.63301 -T 410 547 n n 3.87502 -T 410 548 o o 2.3438 -T 410 549 p p 2.85774 -T 410 550 q q 5.23539 -T 410 551 r r 3.6291 -T 410 552 s s 2.41656 -T 410 553 t t 2.27565 -T 410 555 v v 4.80135 -T 410 556 w w 2.82458 -T 410 557 y y 5.43525 -F 411 14.3346 -T 411 0 , , 1.99847 -T 411 412 a a 2.4138 -T 411 413 b b 4.20982 -T 411 414 c c 3.28717 -T 411 415 d d 4.71777 -T 411 416 e e 2.15269 -T 411 417 f f 4.18748 -T 411 418 g g 5.22387 -T 411 419 h h 2.86234 -T 411 420 i i 2.36614 -T 411 421 j j 6.56006 -T 411 422 k k 5.08503 -T 411 423 l l 3.85246 -T 411 424 m m 3.83081 -T 411 425 n n 4.03298 -T 411 426 o o 2.30466 -T 411 427 p p 3.43292 -T 411 428 q q 6.09218 -T 411 429 r r 4.82259 -T 411 430 s s 2.55541 -T 411 431 t t 1.68872 -T 411 432 u u 3.16582 -T 411 433 v v 5.61186 -T 411 434 w w 3.29178 -T 411 435 y y 5.25588 -F 412 18.0317 -T 412 6 , , 0.870091 -T 412 8 b b 3.00925 -T 412 9 c c 3.98186 -T 412 11 e e 7.23864 -T 412 12 f f 3.60654 -T 412 13 g g 3.69749 -T 412 14 h h 4.68714 -T 412 15 i i 2.15522 -T 412 16 j j 6.73368 -T 412 17 k k 3.81884 -T 412 18 l l 2.69909 -T 412 19 m m 3.33437 -T 412 20 n n 1.3157 -T 412 22 p p 3.30812 -T 412 23 q q 6.73368 -T 412 24 r r 2.86695 -T 412 25 s s 2.93557 -T 412 26 t t 2.49094 -T 412 27 u u 4.68714 -T 412 28 v v 3.95676 -T 412 29 w w 3.38871 -T 412 31 y y 3.14211 -F 413 18.5244 -T 413 33 , , 1.82347 -T 413 34 a a 2.62403 -T 413 38 e e 1.04722 -T 413 41 i i 3.41934 -T 413 46 o o 2.66409 -T 413 47 r r 2.41288 -T 413 50 u u 1.47504 -T 413 51 y y 2.11354 -F 414 19.5507 -T 414 52 , , 3.30307 -T 414 53 a a 1.47964 -T 414 57 e e 1.81213 -T 414 60 h h 2.80547 -T 414 61 i i 2.7334 -T 414 63 l l 3.7166 -T 414 66 o o 1.16327 -T 414 69 r r 2.51557 -T 414 72 u u 2.84369 -T 414 75 y y 6.3655 -F 415 17.2636 -T 415 76 , , 3.58148 -T 415 77 a a 2.33505 -T 415 81 e e 1.11491 -T 415 85 i i 1.15912 -T 415 91 o o 1.87476 -T 415 94 r r 3.10296 -T 415 97 u u 3.00303 -F 416 14.7421 -T 416 101 , , 0.795432 -T 416 102 a a 2.31939 -T 416 103 b b 4.89829 -T 416 104 c c 3.70716 -T 416 105 d d 2.19436 -T 416 106 e e 2.30466 -T 416 107 f f 4.26853 -T 416 109 h h 4.40761 -T 416 110 i i 3.50661 -T 416 113 l l 2.08637 -T 416 114 m m 3.25148 -T 416 115 n n 2.51028 -T 416 116 o o 3.36039 -T 416 117 p p 4.37814 -T 416 118 q q 4.85063 -T 416 119 r r 2.68044 -T 416 120 s s 2.78083 -T 416 121 t t 2.93948 -T 416 122 u u 5.31552 -T 416 123 v v 3.31941 -T 416 124 w w 3.27036 -T 416 125 x x 3.97772 -T 416 126 y y 4.32172 -F 417 18.221 -T 417 128 , , 3.61896 -T 417 129 a a 1.41425 -T 417 133 e e 2.60814 -T 417 137 i i 1.94407 -T 417 140 l l 3.08132 -T 417 143 o o 1.22728 -T 417 145 r r 1.83401 -T 417 148 u u 3.74354 -T 417 151 y y 4.96115 -F 418 15.8362 -T 418 152 , , 1.96557 -T 418 153 a a 1.88052 -T 418 157 e e 2.40781 -T 418 161 i i 3.14326 -T 418 164 l l 2.32446 -T 418 167 o o 1.57405 -T 418 170 r r 1.17524 -T 418 173 u u 3.14326 -F 419 16.6437 -T 419 178 , , 0.817801 -T 419 179 a a 1.30326 -T 419 180 b b 4.76589 -T 419 181 c c 5.33486 -T 419 182 d d 6.79009 -T 419 183 e e 1.42783 -T 419 184 f f 4.85661 -T 419 186 h h 4.76589 -T 419 187 i i 2.42669 -T 419 189 k k 6.28514 -T 419 190 l l 5.95103 -T 419 191 m m 3.75943 -T 419 192 n n 6.79009 -T 419 193 o o 1.35346 -T 419 196 r r 4.2911 -T 419 199 u u 3.79167 -T 419 201 w w 4.34659 -F 420 17.7824 -T 420 203 , , 1.41638 -T 420 204 a a 3.78384 -T 420 205 b b 2.73271 -T 420 206 c c 3.70762 -T 420 207 d d 2.5158 -T 420 209 f f 3.42233 -T 420 210 g g 3.11586 -T 420 211 h h 4.16446 -T 420 215 l l 3.07602 -T 420 216 m m 2.92267 -T 420 217 n n 1.50451 -T 420 218 o o 2.4511 -T 420 219 p p 5.45252 -T 420 220 q q 7.28607 -T 420 221 r r 3.67147 -T 420 222 s s 2.81952 -T 420 223 t t 1.89042 -T 420 224 u u 6.44724 -T 420 225 v v 4.22432 -T 420 226 w w 4.7873 -T 420 227 x x 3.70762 -T 420 229 z z 5.56351 -F 421 17.4517 -T 421 230 , , 0.839934 -T 421 231 a a 2.26736 -T 421 233 o o 0.850805 -T 421 235 u u 0.998861 -F 422 15.6974 -T 422 236 , , 1.01322 -T 422 237 a a 3.48151 -T 422 241 e e 1.12919 -T 422 245 i i 1.60536 -T 422 249 m m 3.73134 -T 422 250 n n 2.63692 -T 422 251 o o 3.11517 -T 422 253 r r 4.5704 -T 422 254 s s 3.48151 -T 422 256 u u 3.11517 -T 422 257 w w 3.48151 -T 422 258 y y 1.96894 -F 423 18.9727 -T 423 259 , , 4.16669 -T 423 260 a a 1.58072 -T 423 264 e e 1.6825 -T 423 268 i i 1.36451 -T 423 274 o o 1.43704 -T 423 280 u u 3.77624 -T 423 283 y y 2.44742 -F 424 17.0024 -T 424 284 , , 1.84518 -T 424 285 a a 1.40964 -T 424 289 e e 2.64429 -T 424 290 f f 5.82232 -T 424 292 h h 5.82232 -T 424 293 i i 2.13933 -T 424 298 o o 1.57382 -T 424 302 s s 4.98325 -T 424 304 u u 2.82389 -T 424 306 w w 4.53356 -T 424 307 y y 1.37833 -F 425 19.031 -T 425 308 , , 4.32135 -T 425 309 a a 2.76218 -T 425 313 e e 1.26527 -T 425 317 i i 4.02239 -T 425 323 o o 0.466043 -F 426 17.0774 -T 426 335 , , 1.7143 -T 426 336 a a 4.65329 -T 426 337 b b 4.45274 -T 426 338 c c 4.52826 -T 426 339 d d 5.514 -T 426 340 e e 5.514 -T 426 341 f f 1.08106 -T 426 342 g g 5.514 -T 426 343 h h 5.24022 -T 426 344 i i 3.58536 -T 426 347 l l 3.02698 -T 426 348 m m 1.92841 -T 426 349 n n 2.2441 -T 426 350 o o 3.28441 -T 426 351 p p 4.74609 -T 426 352 q q 7.34778 -T 426 353 r r 2.17111 -T 426 355 t t 4.38251 -T 426 356 u u 2.57728 -T 426 357 v v 4.79605 -T 426 358 w w 4.25541 -T 426 360 y y 6.25866 -F 427 19.174 -T 427 362 , , 3.32759 -T 427 363 a a 2.00003 -T 427 367 e e 1.20379 -T 427 370 h h 2.73754 -T 427 371 i i 2.30235 -T 427 372 l l 2.84392 -T 427 375 o o 1.79947 -T 427 377 r r 1.93463 -T 427 380 u u 3.66825 -F 428 17.7921 -T 428 384 , , -9.82354e-11 -F 429 17.2319 -T 429 386 , , 3.2126 -T 429 387 a a 1.84598 -T 429 391 e e 0.682256 -T 429 395 i i 2.16213 -T 429 401 o o 1.88052 -T 429 405 s s 4.81102 -T 429 407 u u 3.08846 -F 430 16.0164 -T 430 411 , , 1.6818 -T 430 412 a a 2.33781 -T 430 413 b b 4.98947 -T 430 414 c c 4.06637 -T 430 415 d d 5.07282 -T 430 416 e e 1.85565 -T 430 417 f f 4.98947 -T 430 418 g g 6.25797 -T 430 419 h h 3.55565 -T 430 420 i i 1.65763 -T 430 421 j j 6.59184 -T 430 422 k k 6.59184 -T 430 423 l l 4.4479 -T 430 424 m m 4.91257 -T 430 425 n n 5.07282 -T 430 426 o o 1.58326 -T 430 427 p p 3.59457 -T 430 429 r r 5.64179 -T 430 431 t t 2.28301 -T 430 432 u u 2.52294 -T 430 433 v v 6.59184 -T 430 434 w w 3.86581 -T 430 435 y y 5.26348 -F 431 15.9008 -T 431 436 , , 0.925654 -T 431 437 a a 1.98414 -T 431 438 b b 4.31435 -T 431 439 c c 4.31435 -T 431 440 d d 4.70671 -T 431 441 e e 2.33505 -T 431 442 f f 4.48129 -T 431 443 g g 5.36226 -T 431 444 h h 1.68227 -T 431 445 i i 2.19022 -T 431 446 j j 7.45853 -T 431 447 k k 6.87483 -T 431 448 l l 4.44169 -T 431 449 m m 4.42235 -T 431 450 n n 5.22572 -T 431 451 o o 1.76033 -T 431 452 p p 4.70671 -T 431 453 q q 7.12466 -T 431 454 r r 2.4085 -T 431 455 s s 3.814 -T 431 456 t t 3.38964 -T 431 457 u u 3.60861 -T 431 458 v v 6.24093 -T 431 459 w w 3.82436 -F 432 17.8539 -T 432 462 , , 1.83173 -T 432 463 a a 3.62887 -T 432 464 b b 2.65074 -T 432 465 c c 2.06634 -T 432 466 d d 2.60906 -T 432 468 f f 2.90816 -T 432 469 g g 4.76405 -T 432 473 l l 3.20497 -T 432 474 m m 2.58235 -T 432 475 n n 2.56922 -T 432 477 p p 2.05068 -T 432 478 r r 1.40734 -T 432 479 s s 3.18056 -F 433 18.9608 -T 433 486 , , 0.225362 -T 433 487 a a 1.72372 -T 433 490 o o 1.86164 -F 434 18.6429 -T 434 493 , , 3.49378 -T 434 494 a a 1.85013 -T 434 498 e e 0.9535 -T 434 501 h h 1.39422 -T 434 502 i i 2.04032 -T 434 507 o o 2.76425 -T 434 510 r r 4.33692 -F 435 14.935 -T 435 533 , , 1.37949 -T 435 534 a a 2.94501 -T 435 538 e e 1.07024 -T 435 542 i i 3.56118 -T 435 545 l l 3.89528 -T 435 546 m m 3.89528 -T 435 548 o o 1.11837 -T 435 552 s s 2.56669 -T 435 553 t t 3.56118 -F 436 14.9752 -T 436 0 , , 2.63907 -T 436 437 a a 2.75366 -T 436 438 b b 4.73665 -T 436 439 c c 4.5681 -T 436 440 d d 4.91924 -T 436 441 e e 2.26597 -T 436 442 f f 4.76704 -T 436 443 g g 5.82853 -T 436 444 h h 1.09419 -T 436 445 i i 2.31456 -T 436 446 j j 8.42124 -T 436 447 k k 7.281 -T 436 448 l l 4.03436 -T 436 449 m m 4.31965 -T 436 450 n n 5.33631 -T 436 451 o o 2.0668 -T 436 452 p p 5.29986 -T 436 453 q q 7.19926 -T 436 454 r r 3.41289 -T 436 455 s s 3.49026 -T 436 456 t t 2.96135 -T 436 457 u u 3.70831 -T 436 458 v v 6.4401 -T 436 459 w w 3.39954 -T 436 460 y y 4.07304 -T 436 461 z z 8.93035 -F 437 18.8536 -T 437 6 , , 1.692 -T 437 7 a a 7.26535 -T 437 8 b b 2.97103 -T 437 9 c c 3.22477 -T 437 10 d d 4.61622 -T 437 12 f f 4.48567 -T 437 13 g g 3.91209 -T 437 14 h h 5.24091 -T 437 15 i i 2.18193 -T 437 16 j j 7.26535 -T 437 17 k k 2.45133 -T 437 18 l l 2.30305 -T 437 19 m m 4.00834 -T 437 20 n n 1.40757 -T 437 21 o o 5.66735 -T 437 22 p p 3.32194 -T 437 23 q q 6.17622 -T 437 24 r r 2.59432 -T 437 25 s s 2.82919 -T 437 26 t t 2.27565 -T 437 27 u u 6.17622 -T 437 29 w w 4.88056 -F 438 18.5411 -T 438 33 , , 1.84018 -T 438 34 a a 2.73225 -T 438 38 e e 0.530285 -T 438 41 i i 3.99499 -T 438 46 o o 3.45019 -T 438 47 r r 2.96159 -T 438 50 u u 2.05252 -T 438 51 y y 2.50429 -F 439 18.9899 -T 439 52 , , 2.74229 -T 439 53 a a 2.01085 -T 439 57 e e 2.71429 -T 439 60 h h 1.10547 -T 439 61 i i 4.1633 -T 439 63 l l 3.42786 -T 439 66 o o 1.17593 -T 439 69 r r 2.55702 -T 439 72 u u 3.7295 -F 440 17.4257 -T 440 76 , , 3.7436 -T 440 77 a a 1.72556 -T 440 81 e e 1.68158 -T 440 85 i i 1.21047 -T 440 91 o o 1.40204 -T 440 94 r r 3.07717 -T 440 97 u u 3.37881 -F 441 15.8674 -T 441 101 , , 1.92072 -T 441 102 a a 3.40644 -T 441 103 b b 5.5688 -T 441 104 c c 4.78777 -T 441 105 d d 1.64865 -T 441 106 e e 3.61368 -T 441 107 f f 5.20154 -T 441 109 h h 4.8223 -T 441 110 i i 4.35488 -T 441 113 l l 3.40644 -T 441 114 m m 3.29385 -T 441 115 n n 2.42831 -T 441 116 o o 3.65651 -T 441 117 p p 4.231 -T 441 119 r r 0.924027 -T 441 120 s s 3.13911 -T 441 121 t t 4.03758 -T 441 122 u u 6.46428 -T 441 123 v v 3.90311 -T 441 124 w w 4.47116 -T 441 125 x x 4.231 -F 442 18.1518 -T 442 128 , , 3.5498 -T 442 129 a a 2.32262 -T 442 133 e e 2.19137 -T 442 137 i i 1.7122 -T 442 140 l l 3.53078 -T 442 143 o o 1.08314 -T 442 145 r r 1.99657 -T 442 148 u u 2.35831 -F 443 16.3876 -T 443 152 , , 2.51697 -T 443 153 a a 2.17088 -T 443 157 e e 2.2616 -T 443 161 i i 2.36153 -T 443 164 l l 2.47252 -T 443 167 o o 1.26435 -T 443 170 r r 1.45708 -T 443 173 u u 2.90632 -F 444 16.7928 -T 444 178 , , 0.966943 -T 444 179 a a 2.17871 -T 444 180 b b 5.95932 -T 444 181 c c 5.69337 -T 444 182 d d 6.14491 -T 444 183 e e 0.447853 -T 444 184 f f 5.38321 -T 444 185 g g 6.5398 -T 444 186 h h 5.132 -T 444 187 i i 2.26828 -T 444 188 j j 7.63583 -T 444 189 k k 8.92459 -T 444 190 l l 6.32313 -T 444 191 m m 5.71962 -T 444 192 n n 6.99111 -T 444 193 o o 3.1329 -T 444 194 p p 5.89393 -T 444 195 q q 7.63583 -T 444 196 r r 3.98554 -T 444 197 s s 4.73412 -T 444 199 u u 4.9075 -T 444 200 v v 7.63583 -T 444 201 w w 4.73412 -T 444 202 y y 5.0201 -F 445 18.0549 -T 445 203 , , 1.68883 -T 445 204 a a 4.3512 -T 445 205 b b 4.80941 -T 445 206 c c 2.4914 -T 445 208 e e 3.73594 -T 445 209 f f 3.64131 -T 445 210 g g 4.3284 -T 445 211 h h 4.42257 -T 445 212 i i 7.19949 -T 445 215 l l 2.85912 -T 445 216 m m 2.7654 -T 445 217 n n 1.69885 -T 445 218 o o 1.25076 -T 445 219 p p 5.59689 -T 445 220 q q 6.41569 -T 445 221 r r 4.67379 -T 445 222 s s 2.31479 -T 445 223 t t 2.70162 -T 445 224 u u 7.70445 -T 445 225 v v 3.63003 -T 445 226 w w 4.52642 -F 446 16.9968 -T 446 230 , , 0.385097 -T 446 233 o o 1.15452 -T 446 235 u u 0.820411 -F 447 16.0623 -T 447 236 , , 1.37812 -T 447 241 e e 1.3028 -T 447 245 i i 1.66914 -T 447 250 n n 0.824556 -F 448 18.792 -T 448 259 , , 3.98596 -T 448 260 a a 1.73684 -T 448 264 e e 1.00922 -T 448 268 i i 2.33574 -T 448 274 o o 3.16559 -T 448 283 y y 1.16073 -F 449 18.3443 -T 449 284 , , 3.18716 -T 449 285 a a 1.48056 -T 449 289 e e 1.80914 -T 449 293 i i 2.66962 -T 449 298 o o 1.67145 -T 449 304 u u 2.57867 -T 449 307 y y 1.3203 -F 450 18.5332 -T 450 308 , , 3.82359 -T 450 309 a a 3.05116 -T 450 313 e e 1.68388 -T 450 317 i i 2.32676 -T 450 323 o o 0.448544 -T 450 329 u u 4.14396 -F 451 16.674 -T 451 335 , , 1.31091 -T 451 336 a a 3.07119 -T 451 337 b b 2.86879 -T 451 338 c c 3.45572 -T 451 339 d d 3.42671 -T 451 340 e e 4.0217 -T 451 341 f f 2.00647 -T 451 342 g g 3.50822 -T 451 343 h h 3.34497 -T 451 344 i i 4.33761 -T 451 345 j j 7.11315 -T 451 346 k k 4.98694 -T 451 347 l l 3.71315 -T 451 348 m m 2.74261 -T 451 349 n n 2.59916 -T 451 350 o o 2.90195 -T 451 351 p p 3.38503 -T 451 352 q q 7.44725 -T 451 353 r r 2.70393 -T 451 354 s s 2.9853 -T 451 355 t t 1.98782 -T 451 357 v v 4.95378 -T 451 358 w w 3.29385 -T 451 360 y y 5.40071 -F 452 17.6706 -T 452 362 , , 1.82411 -T 452 363 a a 1.90217 -T 452 367 e e 1.60007 -T 452 370 h h 3.43292 -T 452 371 i i 3.43292 -T 452 372 l l 2.46607 -T 452 375 o o 1.75664 -T 452 377 r r 1.28047 -T 452 380 u u 3.88262 -F 453 17.7921 -T 453 384 , , -6.64399e-10 -F 454 18.3303 -T 454 386 , , 4.31096 -T 454 387 a a 1.07185 -T 454 391 e e 1.40043 -T 454 395 i i 2.07394 -T 454 401 o o 2.33022 -T 454 407 u u 1.91736 -T 454 410 y y 3.32447 -F 455 15.0395 -T 455 411 , , 0.704908 -T 455 412 a a 2.30903 -T 455 413 b b 3.35095 -T 455 414 c c 3.467 -T 455 415 d d 4.42142 -T 455 416 e e 2.33851 -T 455 417 f f 4.20659 -T 455 418 g g 4.6952 -T 455 419 h h 2.84599 -T 455 420 i i 2.50015 -T 455 421 j j 6.02379 -T 455 422 k k 5.68992 -T 455 423 l l 4.20659 -T 455 424 m m 3.79098 -T 455 425 n n 3.53055 -T 455 426 o o 1.87039 -T 455 427 p p 3.10895 -T 455 429 r r 4.27314 -T 455 431 t t 2.10065 -T 455 432 u u 2.9503 -T 455 433 v v 5.07375 -T 455 434 w w 2.93211 -F 456 18.9473 -T 456 436 , , 3.97212 -T 456 437 a a 3.80065 -T 456 441 e e 1.66201 -T 456 444 h h 0.744886 -T 456 445 i i 3.29523 -T 456 448 l l 2.85728 -T 456 451 o o 1.71704 -T 456 454 r r 4.27797 -T 456 457 u u 6.21859 -T 456 459 w w 4.09238 -T 456 460 y y 5.60242 -F 457 18.445 -T 457 462 , , 2.42277 -T 457 463 a a 2.80869 -T 457 464 b b 5.47209 -T 457 465 c c 5.0224 -T 457 466 d d 2.8285 -T 457 467 e e 4.71316 -T 457 468 f f 5.22203 -T 457 474 m m 4.47738 -T 457 475 n n 1.9991 -T 457 476 o o 5.47209 -T 457 477 p p 2.40666 -T 457 478 r r 0.738209 -T 457 479 s s 2.33022 -T 457 480 t t 3.81216 -F 458 19.2246 -T 458 486 , , 0.489157 -T 458 487 a a 1.65395 -T 458 489 i i 1.98943 -T 458 490 o o 1.47987 -F 459 18.9031 -T 459 493 , , 3.75394 -T 459 494 a a 1.17455 -T 459 498 e e 1.40297 -T 459 501 h h 1.84391 -T 459 502 i i 2.3164 -T 459 507 o o 1.69493 -T 459 510 r r 6.11475 -F 460 15.0369 -T 460 533 , , 1.48136 -T 460 534 a a 2.31433 -T 460 535 b b 3.62427 -T 460 536 c c 3.50292 -T 460 537 d d 3.92222 -T 460 538 e e 3.20842 -T 460 539 f f 2.66455 -T 460 540 g g 4.85753 -T 460 541 h h 3.34497 -T 460 542 i i 3.08846 -T 460 543 j j 5.94643 -T 460 545 l l 2.91576 -T 460 546 m m 3.44743 -T 460 547 n n 4.22386 -T 460 548 o o 1.53398 -T 460 549 p p 4.01295 -T 460 551 r r 4.49119 -T 460 552 s s 3.0157 -T 460 553 t t 2.0965 -T 460 555 v v 4.22386 -T 460 556 w w 2.64014 -T 460 557 y y 5.94643 -F 461 15.5619 -T 461 559 , , 0.281412 -T 461 560 a a 1.18952 -F 462 16.0222 -T 462 0 , , 3.68609 -T 462 463 a a 3.83311 -T 462 464 b b 3.94778 -T 462 465 c c 3.41036 -T 462 466 d d 3.78775 -T 462 467 e e 3.50338 -T 462 468 f f 5.22111 -T 462 469 g g 3.18033 -T 462 470 h h 5.71133 -T 462 471 i i 3.48404 -T 462 472 k k 7.13456 -T 462 473 l l 2.23236 -T 462 474 m m 3.30928 -T 462 475 n n 1.8872 -T 462 476 o o 6.25025 -T 462 477 p p 2.93211 -T 462 478 r r 1.76954 -T 462 479 s s 1.97193 -T 462 480 t t 2.09006 -T 462 481 u u 7.1448 -T 462 482 v v 6.18866 -T 462 483 w w 5.73689 -T 462 484 x x 8.12951 -T 462 485 z z 7.13456 -F 463 18.8157 -T 463 6 , , 1.65406 -T 463 8 b b 3.53907 -T 463 9 c c 4.63188 -T 463 10 d d 4.04794 -T 463 11 e e 5.13684 -T 463 13 g g 2.31732 -T 463 15 i i 4.63188 -T 463 17 k k 4.04794 -T 463 18 l l 1.07347 -T 463 19 m m 5.13684 -T 463 22 p p 5.13684 -T 463 24 r r 1.47043 -T 463 26 t t 1.90562 -F 464 18.8439 -T 464 33 , , 2.14296 -T 464 35 b b 2.63784 -T 464 41 i i 4.51744 -T 464 42 j j 2.76679 -T 464 43 l l 1.56046 -T 464 44 m m 5.0224 -T 464 47 r r 4.51744 -T 464 48 s s 3.08892 -T 464 49 t t 0.701598 -T 464 50 u u 4.18334 -F 465 18.8828 -T 465 52 , , 2.63516 -T 465 53 a a 3.5347 -T 465 55 c c 2.38087 -T 465 57 e e 2.32768 -T 465 60 h h 0.638737 -T 465 61 i i 3.1154 -T 465 62 k k 2.35393 -T 465 66 o o 3.83634 -T 465 71 t t 2.56047 -T 465 72 u u 5.5589 -F 466 15.5955 -T 466 76 , , 1.91342 -T 466 77 a a 2.73869 -T 466 79 c c 4.34314 -T 466 80 d d 1.13034 -T 466 81 e e 1.5676 -T 466 83 g g 3.07464 -T 466 85 i i 2.48771 -T 466 88 l l 5.1822 -T 466 90 n n 4.09308 -T 466 91 o o 3.15777 -T 466 94 r r 5.1822 -T 466 95 s s 2.28716 -T 466 100 y y 3.24872 -F 467 15.724 -T 467 101 , , 1.77729 -T 467 102 a a 2.50107 -T 467 103 b b 4.37721 -T 467 104 c c 4.37721 -T 467 105 d d 1.86924 -T 467 107 f f 4.96115 -T 467 109 h h 4.17735 -T 467 110 i i 4.17735 -T 467 113 l l 4.01087 -T 467 114 m m 3.4419 -T 467 115 n n 1.96364 -T 467 116 o o 3.63256 -T 467 120 s s 1.02995 -T 467 121 t t 3.0226 -T 467 123 v v 4.96115 -T 467 124 w w 3.74354 -T 467 125 x x 4.96115 -F 468 16.8623 -T 468 128 , , 2.26027 -T 468 129 a a 3.24941 -T 468 134 f f 0.157497 -T 468 147 t t 3.24941 -F 469 16.9407 -T 469 152 , , 3.07008 -T 469 153 a a 4.94964 -T 469 156 d d 5.7887 -T 469 157 e e 2.26666 -T 469 159 g g 2.43521 -T 469 160 h h 0.3295 -T 469 161 i i 4.94964 -T 469 167 o o 4.33347 -T 469 171 s s 5.7887 -T 469 173 u u 3.18701 -F 470 17.6505 -T 470 178 , , 1.82466 -T 470 179 a a 0.619856 -T 470 183 e e 1.81375 -T 470 191 m m 1.4352 -F 471 18.5258 -T 471 203 , , 2.15969 -T 471 206 c c 3.55197 -T 471 207 d d 1.20932 -T 471 208 e e 2.98645 -T 471 215 l l 2.55472 -T 471 217 n n 2.70577 -T 471 221 r r 2.59041 -T 471 222 s s 2.93372 -T 471 223 t t 1.1734 -T 471 225 v v 4.98026 -T 471 226 w w 4.98026 -F 472 16.4296 -T 472 236 , , 1.74542 -T 472 241 e e 1.88259 -T 472 250 n n 0.28483 -F 473 16.9775 -T 473 259 , , 2.17154 -T 473 260 a a 1.93302 -T 473 261 b b 5.01342 -T 473 262 c c 4.62866 -T 473 263 d d 0.781958 -T 473 265 f f 4.13475 -T 473 266 g g 4.55175 -T 473 267 h h 5.64732 -T 473 268 i i 3.19484 -T 473 271 l l 2.55587 -T 473 272 m m 4.55175 -T 473 273 n n 5.64732 -T 473 274 o o 3.80548 -T 473 275 p p 4.90266 -T 473 277 r r 4.80273 -T 473 278 s s 3.6146 -T 473 279 t t 2.30005 -T 473 281 v v 6.23126 -T 473 282 w w 4.90266 -T 473 283 y y 4.04173 -F 474 16.9361 -T 474 284 , , 1.7789 -T 474 285 a a 2.02766 -T 474 286 b b 2.19782 -T 474 289 e e 1.31339 -T 474 290 f f 4.06222 -T 474 292 h h 5.1548 -T 474 293 i i 2.40298 -T 474 296 m m 2.40298 -T 474 297 n n 3.40437 -T 474 298 o o 3.10849 -T 474 299 p p 2.72925 -T 474 302 s s 2.69472 -T 474 303 t t 5.1548 -T 474 304 u u 3.2752 -F 475 16.614 -T 475 308 , , 1.90436 -T 475 309 a a 3.43177 -T 475 310 b b 6.24208 -T 475 311 c c 1.19021 -T 475 312 d d 1.10317 -T 475 313 e e 3.66111 -T 475 314 f f 5.24759 -T 475 315 g g 3.43177 -T 475 316 h h 4.89668 -T 475 317 i i 3.77486 -T 475 319 k k 4.34314 -T 475 320 l l 5.24759 -T 475 321 m m 5.79238 -T 475 322 n n 3.46654 -T 475 324 p p 4.58214 -T 475 326 r r 5.48315 -T 475 328 t t 2.00187 -T 475 330 v v 6.57595 -T 475 331 w w 5.24759 -F 476 16.2787 -T 476 335 , , 0.915575 -T 476 341 f f 2.57567 -T 476 349 n n 2.07071 -T 476 353 r r 2.57567 -T 476 354 s s 2.57567 -T 476 356 u u 0.742123 -F 477 17.3495 -T 477 362 , , 1.50304 -T 477 363 a a 3.03826 -T 477 364 b b 4.20314 -T 477 365 c c 6.03669 -T 477 366 d d 6.03669 -T 477 367 e e 2.68343 -T 477 368 f f 4.58168 -T 477 370 h h 3.59341 -T 477 371 i i 3.07165 -T 477 373 m m 4.01248 -T 477 374 n n 5.53173 -T 477 375 o o 1.16073 -T 477 376 p p 1.90792 -T 477 378 s s 3.53792 -T 477 379 t t 2.03157 -T 477 382 w w 2.61689 -T 477 383 y y 6.03669 -F 478 15.2533 -T 478 386 , , 1.23397 -T 478 387 a a 3.03872 -T 478 388 b b 3.82275 -T 478 389 c c 3.62012 -T 478 390 d d 3.20566 -T 478 391 e e 1.63092 -T 478 392 f f 3.1131 -T 478 393 g g 3.75759 -T 478 394 h h 3.48312 -T 478 395 i i 2.58488 -T 478 396 j j 4.10643 -T 478 398 l l 3.89252 -T 478 399 m m 3.67677 -T 478 400 n n 2.16973 -T 478 402 p p 3.03872 -T 478 403 q q 7.1988 -T 478 404 r r 3.29431 -T 478 405 s s 2.2738 -T 478 406 t t 3.26829 -T 478 408 v v 4.81401 -T 478 409 w w 3.67677 -T 478 410 y y 4.13682 -F 479 15.479 -T 479 411 , , 1.14446 -T 479 412 a a 2.28923 -T 479 413 b b 3.79144 -T 479 414 c c 3.64315 -T 479 415 d d 4.30192 -T 479 416 e e 1.96318 -T 479 417 f f 4.10136 -T 479 418 g g 4.5529 -T 479 419 h h 3.10527 -T 479 420 i i 2.53722 -T 479 421 j j 5.16286 -T 479 422 k k 5.70765 -T 479 423 l l 3.26507 -T 479 424 m m 3.87479 -T 479 425 n n 4.67402 -T 479 427 p p 3.62035 -T 479 428 q q 5.90751 -T 479 429 r r 4.21672 -T 479 430 s s 2.53722 -T 479 431 t t 1.36313 -T 479 432 u u 3.84624 -T 479 433 v v 5.06292 -T 479 434 w w 3.64315 -T 479 435 y y 5.90751 -F 480 15.9956 -T 480 436 , , 1.02044 -T 480 437 a a 2.51488 -T 480 438 b b 3.98347 -T 480 439 c c 4.14051 -T 480 440 d d 4.37952 -T 480 441 e e 2.43452 -T 480 442 f f 3.57223 -T 480 443 g g 5.28052 -T 480 445 i i 2.17732 -T 480 447 k k 6.03945 -T 480 448 l l 4.22939 -T 480 449 m m 3.33714 -T 480 450 n n 3.91324 -T 480 451 o o 2.64912 -T 480 452 p p 5.58976 -T 480 455 s s 3.14717 -T 480 456 t t 1.45639 -T 480 457 u u 3.94778 -T 480 458 v v 5.58976 -T 480 459 w w 3.02836 -T 480 460 y y 4.55613 -F 481 16.6758 -T 481 462 , , 0.653659 -T 481 474 m m 1.52592 -T 481 475 n n 1.02097 -F 482 20.5907 -T 482 486 , , 1.85528 -T 482 489 i i 0.149898 -F 483 17.1221 -T 483 493 , , 1.97292 -T 483 498 e e 1.78842 -T 483 501 h h 3.24365 -T 483 502 i i 0.505648 -T 483 507 o o 1.95489 -F 484 16.353 -T 484 518 , , 0.990156 -T 484 531 u u 0.461208 -F 485 18.2332 -T 485 559 , , 2.95274 -T 485 566 z z 0.0490451 -F 486 18.7355 -T 486 0 , , 6.39936 -T 486 487 a a 2.30282 -T 486 488 e e 0.341704 -T 486 489 i i 2.20726 -T 486 490 o o 2.72649 -T 486 491 u u 6.15067 -T 486 492 y y 4.51974 -F 487 18.629 -T 487 6 , , 1.46738 -T 487 7 a a 3.31572 -T 487 8 b b 3.63808 -T 487 9 c c 4.11633 -T 487 10 d d 4.28281 -T 487 13 g g 3.24918 -T 487 14 h h 4.7325 -T 487 15 i i 2.67652 -T 487 18 l l 2.34035 -T 487 20 n n 1.66707 -T 487 21 o o 5.06638 -T 487 22 p p 2.54067 -T 487 24 r r 3.01984 -T 487 25 s s 1.82457 -T 487 26 t t 2.0691 -T 487 27 u u 3.24918 -T 487 29 w w 4.11633 -F 488 15.8834 -T 488 101 , , 1.93667 -T 488 102 a a 3.21072 -T 488 103 b b 3.44605 -T 488 104 c c 4.56649 -T 488 105 d d 2.81859 -T 488 106 e e 4.98003 -T 488 107 f f 4.27475 -T 488 108 g g 4.40991 -T 488 109 h h 4.40991 -T 488 110 i i 3.95285 -T 488 111 j j 6.44263 -T 488 112 k k 7.53153 -T 488 113 l l 2.83632 -T 488 114 m m 4.06959 -T 488 115 n n 2.17548 -T 488 116 o o 4.15548 -T 488 117 p p 5.03253 -T 488 118 q q 7.02657 -T 488 119 r r 0.860246 -T 488 120 s s 2.67583 -T 488 121 t t 3.04241 -T 488 122 u u 4.50086 -T 488 124 w w 4.11173 -T 488 126 y y 5.03253 -F 489 18.0598 -T 489 203 , , 1.69374 -T 489 204 a a 2.80869 -T 489 206 c c 3.01777 -T 489 207 d d 2.20473 -T 489 208 e e 3.0652 -T 489 209 f f 5.16171 -T 489 210 g g 3.55934 -T 489 214 k k 3.1679 -T 489 215 l l 3.73341 -T 489 217 n n 1.07277 -T 489 218 o o 2.636 -T 489 221 r r 4.37814 -T 489 222 s s 2.14486 -T 489 223 t t 3.11517 -T 489 224 u u 5.66689 -T 489 225 v v 3.64246 -F 490 18.1518 -T 490 335 , , 2.78866 -T 490 338 c c 5.14835 -T 490 344 i i 1.48194 -T 490 346 k k 5.14835 -T 490 347 l l 0.978138 -T 490 348 m m 4.05946 -T 490 349 n n 4.30929 -T 490 353 r r 2.14992 -T 490 355 t t 2.76356 -T 490 356 u u 3.3148 -T 490 358 w w 5.14835 -T 490 360 y y 2.18331 -F 491 18.8441 -T 491 462 , , 2.82193 -T 491 473 l l 0.0545713 -F 492 14.395 -T 492 533 , , 0.839455 -T 492 534 a a 1.76631 -T 492 535 b b 2.85912 -T 492 536 c c 2.27518 -T 492 539 f f 2.27518 -T 492 542 i i 2.85912 -T 492 545 l l 2.85912 -T 492 551 r r 3.36431 -T 492 552 s s 2.27518 -T 492 553 t t 2.27518 -F 493 15.1491 -T 493 0 , , 2.81305 -T 493 494 a a 1.44579 -T 493 495 b b 5.30285 -T 493 496 c c 5.69222 -T 493 497 d d 5.4166 -T 493 498 e e 1.4405 -T 493 499 f f 5.02355 -T 493 500 g g 6.79675 -T 493 501 h h 1.66776 -T 493 502 i i 2.00026 -T 493 503 k k 7.43436 -T 493 504 l l 5.05648 -T 493 505 m m 5.09079 -T 493 506 n n 3.35118 -T 493 507 o o 2.4488 -T 493 508 p p 6.53865 -T 493 509 q q 8.21862 -T 493 510 r r 4.67102 -T 493 511 s s 4.53241 -T 493 512 t t 4.18334 -T 493 513 u u 6.27176 -T 493 514 v v 7.36687 -T 493 515 w w 4.90128 -T 493 516 y y 6.70464 -T 493 517 z z 8.72403 -F 494 20.1739 -T 494 6 , , 3.01225 -T 494 8 b b 6.43803 -T 494 15 i i 4.27866 -T 494 17 k k 4.77809 -T 494 18 l l 3.01017 -T 494 19 m m 5.98833 -T 494 20 n n 3.3726 -T 494 24 r r 2.41127 -T 494 25 s s 0.541338 -T 494 26 t t 2.4214 -T 494 28 v v 3.85729 -T 494 30 x x 7.27709 -T 494 31 y y 2.31939 -F 495 18.466 -T 495 33 , , 1.76507 -T 495 34 a a 1.108 -T 495 38 e e 0.878666 -T 495 46 o o 2.5911 -T 495 50 u u 2.5911 -T 495 51 y y 2.9252 -F 496 18.0972 -T 496 52 , , 1.84955 -T 496 53 a a 1.11238 -T 496 63 l l 2.2068 -T 496 66 o o 1.11238 -T 496 69 r r 1.95674 -F 497 15.6453 -T 497 76 , , 1.96322 -T 497 77 a a 2.22867 -T 497 81 e e 0.874292 -T 497 85 i i 2.02904 -T 497 91 o o 1.7198 -T 497 94 r r 2.81261 -T 497 97 u u 3.31779 -F 498 15.6774 -T 498 101 , , 1.73068 -T 498 102 a a 2.46331 -T 498 103 b b 5.17506 -T 498 104 c c 3.78015 -T 498 105 d d 2.878 -T 498 106 e e 3.505 -T 498 107 f f 4.22064 -T 498 108 g g 5.17506 -T 498 109 h h 2.4739 -T 498 110 i i 4.4631 -T 498 112 k k 6.19372 -T 498 113 l l 2.37212 -T 498 114 m m 3.53562 -T 498 115 n n 3.04356 -T 498 117 p p 4.63349 -T 498 119 r r 1.32675 -T 498 120 s s 2.6558 -T 498 121 t t 4.19024 -T 498 123 v v 2.91899 -T 498 124 w w 2.45271 -F 499 16.6249 -T 499 128 , , 2.02283 -T 499 129 a a 2.8681 -T 499 133 e e 2.41841 -T 499 143 o o 2.25193 -T 499 145 r r 2.8681 -T 499 148 u u 0.475944 -F 500 14.2468 -T 500 152 , , 0.376163 -T 500 153 a a 1.77714 -T 500 167 o o 1.77714 -T 500 170 r r 1.77714 -F 501 20.1904 -T 501 178 , , 4.36458 -T 501 179 a a 1.62447 -T 501 183 e e 1.63599 -T 501 187 i i 0.865312 -T 501 193 o o 1.84575 -T 501 202 y y 3.59341 -F 502 19.5483 -T 502 203 , , 3.18221 -T 502 204 a a 6.2179 -T 502 205 b b 6.72286 -T 502 206 c c 4.78938 -T 502 207 d d 3.94318 -T 502 209 f f 4.78938 -T 502 210 g g 3.44098 -T 502 215 l l 1.75595 -T 502 216 m m 5.8838 -T 502 217 n n 2.24111 -T 502 221 r r 5.26762 -T 502 222 s s 3.12599 -T 502 223 t t 0.528674 -T 502 226 w w 6.2179 -F 503 14.8726 -T 503 236 , , 0.188469 -T 503 250 n n 1.37188 -F 504 16.4169 -T 504 259 , , 1.61084 -T 504 264 e e 1.07277 -T 504 268 i i 2.58534 -T 504 274 o o 2.38571 -T 504 283 y y 0.936461 -F 505 16.5846 -T 505 284 , , 1.42742 -T 505 285 a a 1.91782 -T 505 289 e e 1.91782 -T 505 293 i i 1.91782 -T 505 298 o o 1.91782 -T 505 304 u u 3.64039 -T 505 307 y y 1.08889 -F 506 16.5552 -T 506 308 , , 1.84556 -T 506 309 a a 2.28071 -T 506 310 b b 3.5393 -T 506 311 c c 3.91785 -T 506 313 e e 2.98829 -T 506 314 f f 3.05069 -T 506 316 h h 2.55357 -T 506 317 i i 2.19505 -T 506 320 l l 3.91785 -T 506 321 m m 3.91785 -T 506 322 n n 4.8679 -T 506 323 o o 2.0668 -T 506 324 p p 3.77509 -T 506 326 r r 4.8679 -T 506 327 s s 3.18862 -T 506 328 t t 1.87062 -T 506 329 u u 4.08433 -T 506 330 v v 5.37308 -T 506 331 w w 2.37466 -F 507 16.8155 -T 507 335 , , 1.45237 -T 507 338 c c 4.67678 -T 507 339 d d 5.18565 -T 507 340 e e 5.43548 -T 507 341 f f 2.87639 -T 507 343 h h 3.3795 -T 507 344 i i 5.43548 -T 507 346 k k 4.09031 -T 507 347 l l 4.01893 -T 507 348 m m 4.09031 -T 507 349 n n 2.42462 -T 507 350 o o 3.3795 -T 507 351 p p 4.441 -T 507 353 r r 0.927712 -T 507 354 s s 4.55198 -T 507 355 t t 4.16699 -T 507 356 u u 1.38869 -T 507 360 y y 6.27454 -F 508 16.1222 -T 508 362 , , 0.275792 -T 508 363 a a 1.71404 -T 508 370 h h 2.219 -T 508 377 r r 1.71404 -F 509 17.7921 -T 509 384 , , -6.41061e-11 -F 510 16.7869 -T 510 386 , , 2.76756 -T 510 387 a a 2.22384 -T 510 391 e e 1.09212 -T 510 395 i i 1.19942 -T 510 401 o o 1.55839 -T 510 407 u u 4.05738 -F 511 14.8475 -T 511 411 , , 0.51291 -T 511 412 a a 1.93947 -T 511 413 b b 3.69012 -T 511 415 d d 4.19508 -T 511 417 f f 4.19508 -T 511 419 h h 2.36153 -T 511 420 i i 2.59732 -T 511 424 m m 3.35602 -T 511 426 o o 1.75158 -T 511 431 t t 2.17088 -T 511 432 u u 3.35602 -T 511 434 w w 2.59732 -F 512 17.6612 -T 512 436 , , 2.68605 -T 512 441 e e 4.03781 -T 512 444 h h 0.248679 -T 512 451 o o 1.84828 -T 512 454 r r 4.03781 -F 513 16.8517 -T 513 462 , , 0.829514 -T 513 475 n n 0.976066 -T 513 477 p p 2.06496 -T 513 479 s s 1.55977 -F 514 19.321 -T 514 486 , , 0.585509 -T 514 489 i i 0.684328 -F 515 16.3832 -T 515 493 , , 1.23408 -T 515 494 a a 1.64428 -T 515 498 e e 1.64428 -T 515 501 h h 1.04883 -T 515 502 i i 2.98945 -T 515 507 o o 1.72095 -F 516 14.342 -T 516 533 , , 0.78646 -T 516 534 a a 1.97792 -T 516 548 o o 0.689164 -F 517 16.0739 -T 517 559 , , 0.793449 -T 517 561 e e 0.273087 -F 518 15.3628 -T 518 0 , , 3.02675 -T 518 519 a a 1.99864 -T 518 520 c c 2.0447 -T 518 521 d d 5.20453 -T 518 522 e e 3.1428 -T 518 523 f f 5.45459 -T 518 524 h h 3.32793 -T 518 525 i i 2.12275 -T 518 526 m m 5.00467 -T 518 527 o o 3.7942 -T 518 528 p p 1.44234 -T 518 529 s s 5.7887 -T 518 530 t t 1.44764 -T 518 531 u u 5.20453 -T 518 532 w w 5.20453 -F 519 19.7257 -T 519 6 , , 2.56412 -T 519 8 b b 4.29847 -T 519 9 c c 0.968467 -T 519 13 g g 4.29847 -T 519 18 l l 4.29847 -T 519 19 m m 0.719788 -T 519 25 s s 3.20957 -F 520 18.6277 -T 520 52 , , 2.38009 -T 520 53 a a 4.25287 -T 520 57 e e 0.730841 -T 520 60 h h 3.41381 -T 520 61 i i 1.60375 -T 520 63 l l 1.70138 -T 520 72 u u 2.96412 -F 521 15.9505 -T 521 76 , , 2.26837 -T 521 91 o o 0.100393 -F 522 15.994 -T 522 101 , , 2.04725 -T 522 104 c c 2.65856 -T 522 105 d d 0.778734 -T 522 119 r r 2.07463 -T 522 120 s s 1.32997 -F 523 15.4858 -T 523 128 , , 0.883752 -T 523 133 e e 0.461208 -F 524 18.443 -T 524 178 , , 2.61709 -T 524 179 a a 0.482161 -T 524 187 i i 1.89226 -T 524 199 u u 1.6924 -F 525 18.1357 -T 525 203 , , 1.76964 -T 525 204 a a 4.17505 -T 525 205 b b 4.17505 -T 525 208 e e 3.08615 -T 525 216 m m 2.88629 -T 525 218 o o 1.62355 -T 525 222 s s 0.5966 -F 526 16.0339 -T 526 284 , , 0.876762 -T 526 293 i i 1.37188 -T 526 298 o o 0.866693 -F 527 16.7563 -T 527 335 , , 1.39322 -T 527 338 c c 0.500121 -T 527 341 f f 2.52455 -T 527 353 r r 2.01937 -F 528 18.6033 -T 528 362 , , 2.75681 -T 528 363 a a 3.39792 -T 528 367 e e 0.884423 -T 528 371 i i 4.34797 -T 528 372 l l 0.93531 -T 528 375 o o 3.25516 -T 528 377 r r 2.35393 -F 529 14.3346 -T 529 411 -F 530 17.2993 -T 530 436 , , 2.32416 -T 530 440 d d 2.2464 -T 530 441 e e 1.42783 -T 530 445 i i 2.46308 -T 530 449 m m 4.0088 -T 530 454 r r 0.830773 -T 530 457 u u 3.75897 -T 530 460 y y 3.75897 -F 531 16.5374 -T 531 462 , , 0.515219 -T 531 478 r r 0.684328 -F 532 15.7058 -T 532 493 , , 0.556671 -T 532 502 i i 0.684328 -F 533 13.5555 -T 533 0 , , 1.21942 -T 533 534 a a 2.34656 -T 533 535 b b 3.22684 -T 533 536 c c 3.42786 -T 533 537 d d 3.5324 -T 533 538 e e 2.7661 -T 533 539 f f 3.3475 -T 533 540 g g 4.44975 -T 533 541 h h 3.21072 -T 533 542 i i 2.83817 -T 533 543 j j 5.98396 -T 533 544 k k 5.44308 -T 533 545 l l 3.60101 -T 533 546 m m 3.31872 -T 533 547 n n 3.91667 -T 533 548 o o 2.16581 -T 533 549 p p 3.54575 -T 533 550 q q 6.81289 -T 533 551 r r 3.58236 -T 533 552 s s 2.38364 -T 533 553 t t 2.28509 -T 533 554 u u 2.66639 -T 533 555 v v 5.1594 -T 533 556 w w 2.89044 -T 533 557 y y 5.11102 -T 533 558 z z 8.5366 -F 534 18.7245 -T 534 6 , , 1.56289 -T 534 8 b b 3.25862 -T 534 9 c c 3.19092 -T 534 10 d d 4.08179 -T 534 12 f f 3.15869 -T 534 13 g g 2.76932 -T 534 14 h h 4.73412 -T 534 17 k k 4.90059 -T 534 18 l l 2.72741 -T 534 19 m m 4.08179 -T 534 20 n n 1.05044 -T 534 22 p p 3.36983 -T 534 24 r r 2.52294 -T 534 25 s s 2.42692 -T 534 26 t t 2.59248 -T 534 27 u u 4.08179 -T 534 28 v v 4.00512 -T 534 29 w w 3.80456 -F 535 18.3113 -T 535 33 , , 1.61033 -T 535 34 a a 3.28579 -T 535 38 e e 1.05251 -T 535 41 i i 4.2211 -T 535 46 o o 1.3926 -T 535 47 r r 2.49048 -T 535 50 u u 1.69539 -T 535 51 y y 3.20267 -F 536 19.0037 -T 536 52 , , 2.75609 -T 536 53 a a 1.66822 -T 536 57 e e 3.08523 -T 536 60 h h 2.37143 -T 536 63 l l 2.2144 -T 536 66 o o 0.771366 -T 536 69 r r 2.72465 -T 536 72 u u 3.82068 -F 537 17.3375 -T 537 76 , , 3.65539 -T 537 77 a a 1.91276 -T 537 81 e e 0.865542 -T 537 85 i i 1.52247 -T 537 91 o o 2.35577 -T 537 94 r r 2.5614 -T 537 97 u u 3.54967 -F 538 15.9472 -T 538 101 , , 2.00045 -T 538 102 a a 2.21025 -T 538 105 d d 3.07579 -T 538 107 f f 5.26532 -T 538 110 i i 4.17251 -T 538 113 l l 3.44812 -T 538 114 m m 4.93122 -T 538 115 n n 2.87524 -T 538 117 p p 4.93122 -T 538 119 r r 2.95076 -T 538 120 s s 1.13702 -T 538 121 t t 2.15568 -T 538 123 v v 3.93673 -T 538 124 w w 4.68139 -T 538 125 x x 2.08729 -T 538 126 y y 2.87524 -F 539 17.8343 -T 539 128 , , 3.23232 -T 539 129 a a 1.47388 -T 539 133 e e 1.90769 -T 539 137 i i 1.7274 -T 539 140 l l 3.90081 -T 539 143 o o 1.22083 -T 539 145 r r 2.25884 -T 539 148 u u 4.68438 -F 540 16.021 -T 540 152 , , 2.15042 -T 540 153 a a 2.80202 -T 540 157 e e 2.15729 -T 540 161 i i 2.80202 -T 540 164 l l 2.80202 -T 540 167 o o 1.27126 -T 540 170 r r 1.353 -T 540 173 u u 2.15729 -F 541 18.3711 -T 541 178 , , 2.54519 -T 541 179 a a 1.0684 -T 541 183 e e 1.0684 -T 541 187 i i 2.12137 -T 541 193 o o 1.95029 -T 541 199 u u 3.21878 -F 542 17.7483 -T 542 203 , , 1.38223 -T 542 204 a a 3.67377 -T 542 205 b b 4.85915 -T 542 206 c c 3.00372 -T 542 207 d d 3.44236 -T 542 208 e e 3.51374 -T 542 209 f f 3.19921 -T 542 211 h h 3.37582 -T 542 214 k k 5.19302 -T 542 215 l l 3.86443 -T 542 216 m m 2.69955 -T 542 217 n n 0.916659 -T 542 219 p p 5.19302 -T 542 221 r r 3.51374 -T 542 222 s s 2.73294 -T 542 223 t t 2.0318 -T 542 226 w w 3.76473 -F 543 17.2088 -T 543 230 , , 0.597034 -T 543 233 o o 1.12067 -T 543 235 u u 0.742123 -F 544 16.6303 -T 544 236 , , 1.94613 -T 544 241 e e 2.60123 -T 544 245 i i 2.26736 -T 544 246 j j 0.554923 -T 544 250 n n 1.65118 -F 545 17.2452 -T 545 259 , , 2.43914 -T 545 260 a a 1.70529 -T 545 264 e e 1.45408 -T 545 268 i i 1.23718 -T 545 271 l l 4.09768 -T 545 274 o o 1.60651 -T 545 280 u u 3.10296 -T 545 283 y y 4.43156 -F 546 17.1121 -T 546 284 , , 1.95496 -T 546 285 a a 1.79832 -T 546 289 e e 1.88835 -T 546 290 f f 5.21835 -T 546 293 i i 1.79832 -T 546 298 o o 1.88835 -T 546 301 r r 5.21835 -T 546 304 u u 2.25331 -T 546 307 y y 1.5029 -F 547 18.3096 -T 547 308 , , 3.59997 -T 547 309 a a 2.42623 -T 547 313 e e 1.61204 -T 547 317 i i 2.58626 -T 547 323 o o 0.481701 -F 548 18.4899 -T 548 335 , , 3.12683 -T 548 337 b b 4.43662 -T 548 338 c c 4.43662 -T 548 341 f f 1.37165 -T 548 347 l l 4.91487 -T 548 349 n n 2.21002 -T 548 351 p p 4.3459 -T 548 353 r r 3.72098 -T 548 354 s s 5.53104 -T 548 355 t t 4.53655 -T 548 356 u u 0.673046 -T 548 357 v v 4.18587 -T 548 358 w w 3.9266 -F 549 17.71 -T 549 362 , , 1.86357 -T 549 363 a a 1.87016 -T 549 367 e e 1.87016 -T 549 370 h h 3.26898 -T 549 371 i i 3.53654 -T 549 372 l l 2.96734 -T 549 375 o o 1.63829 -T 549 377 r r 1.2602 -T 549 379 t t 3.158 -T 549 380 u u 3.39378 -F 550 17.7921 -T 550 384 , , -6.13175e-10 -F 551 16.7629 -T 551 386 , , 2.74364 -T 551 387 a a 2.02466 -T 551 391 e e 0.652092 -T 551 395 i i 1.83378 -T 551 397 k k 4.45021 -T 551 401 o o 2.13565 -T 551 407 u u 3.50016 -F 552 15.3019 -T 552 411 , , 0.967309 -T 552 412 a a 2.53768 -T 552 413 b b 5.06338 -T 552 414 c c 3.76749 -T 552 416 e e 1.40458 -T 552 418 g g 6.15228 -T 552 419 h h 2.75412 -T 552 420 i i 2.53768 -T 552 422 k k 5.06338 -T 552 423 l l 3.89666 -T 552 424 m m 4.55451 -T 552 426 o o 2.00256 -T 552 427 p p 3.41427 -T 552 431 t t 1.78036 -T 552 432 u u 2.84599 -T 552 434 w w 4.12807 -F 553 18.6076 -T 553 436 , , 3.63248 -T 553 437 a a 4.52803 -T 553 441 e e 3.99522 -T 553 444 h h 0.465122 -T 553 445 i i 3.99522 -T 553 451 o o 1.32583 -T 553 454 r r 3.80732 -T 553 457 u u 4.41728 -T 553 459 w w 3.92844 -F 554 21.0214 -T 554 462 , , 4.99917 -T 554 475 n n 0.0582554 -T 554 477 p p 3.76219 -T 554 479 s s 3.68529 -T 554 480 t t 5.36479 -F 555 19.5503 -T 555 486 , , 0.814827 -T 555 487 a a 1.55309 -T 555 489 i i 1.55309 -T 555 490 o o 1.36244 -F 556 17.9295 -T 556 493 , , 2.78032 -T 556 494 a a 1.70276 -T 556 498 e e 1.21784 -T 556 501 h h 1.32537 -T 556 502 i i 1.96318 -T 556 507 o o 2.29291 -T 556 510 r r 4.80711 -F 557 16.0128 -T 557 533 , , 2.45727 -T 557 538 e e 1.38431 -T 557 548 o o 0.387065 -F 558 16.0739 -T 558 559 , , 0.793449 -T 558 561 e e 0.273087 -F 559 15.2805 -T 559 0 , , 2.94436 -T 559 560 a a 2.54735 -T 559 561 e e 0.751564 -T 559 562 i i 2.54735 -T 559 563 l l 2.60975 -T 559 564 o o 1.75411 -T 559 565 u u 4.42764 -T 559 566 z z 2.4884 -F 560 17.9889 -T 560 6 , , 0.827315 -T 560 13 g g 1.90815 -T 560 24 r r 0.958106 -T 560 26 t t 1.90815 -F 561 15.1842 -T 561 101 , , 1.23748 -T 561 102 a a 2.35163 -T 561 105 d d 0.831924 -T 561 107 f f 4.18518 -T 561 110 i i 3.68022 -T 561 114 m m 3.09629 -T 561 115 n n 2.35163 -T 561 116 o o 2.58741 -T 561 121 t t 2.89642 -T 561 124 w w 4.18518 -F 562 17.7728 -T 562 203 , , 1.40676 -T 562 210 g g 1.57428 -T 562 217 n n 0.479859 -F 563 17.2535 -T 563 259 , , 2.44748 -T 563 264 e e 0.629987 -T 563 268 i i 0.897317 -F 564 18.4297 -T 564 335 , , 3.06662 -T 564 349 n n 0.0407558 -F 565 17.6718 -T 565 462 , , 1.64964 -T 565 478 r r 0.173615 -F 566 18.0519 -T 566 559 , , 2.77145 -T 566 562 i i 2.47044 -T 566 563 l l 0.148056 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.lm deleted file mode 100755 index 4027301f..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_spelling_journey.trigram.lm +++ /dev/null @@ -1,6873 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 28 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 0.333333 -2-gram discounting constant : 0.521739 -3-gram discounting constant : 0.479167 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=29 -ngram 2=559 -ngram 3=6230 - -\1-grams: --5.7554 0.0000 --5.7554 -0.2825 --99.0000 -0.2461 --1.0948 a 2.1022 --1.8542 b -1.4381 --1.5435 c -0.3736 --1.3762 d -0.5410 --0.8934 e 1.9009 --1.6013 f -0.3159 --1.7301 g -0.0705 --1.2488 h -0.5518 --1.1708 i 2.1783 --2.9831 j -1.8636 --2.1568 k -0.5153 --1.3804 l -0.5367 --1.5905 m -0.3266 --1.1714 n 2.1789 --1.1136 o 2.1211 --1.7580 p -0.7464 --3.0186 q -2.4673 --1.2265 r -0.6907 --1.2050 s -0.5955 --1.0458 t -0.7547 --1.5021 u 0.0198 --1.9777 v -2.7659 --1.6087 w -0.1919 --2.6641 x -1.1193 --1.6901 y -0.1105 --3.2557 z -1.2622 - -\2-grams: --0.3203 -0.2008 --0.6214 -0.0370 --0.6214 a -0.3193 --2.7176 a a -0.4280 --1.5282 a b -0.6008 --1.3854 a c -0.2148 --1.3043 a d 0.9858 --3.2179 a e -0.2674 --1.8270 a f -1.0170 --1.6392 a g -0.4582 --2.2684 a h -0.4144 --1.4233 a i -1.1389 --3.2676 a j -0.4744 --1.7193 a k -0.3609 --1.1007 a l 0.7779 --1.5423 a m 0.6630 --0.7215 a n 0.5179 --2.4413 a o -1.3084 --1.5774 a p -0.1580 --3.0958 a q 0.6613 --0.9651 a r 0.5745 --0.9268 a s 0.7461 --0.8616 a t 0.7276 --2.0772 a u -0.6025 --1.4473 a v -0.1570 --1.8809 a w 0.2651 --3.1139 a x -0.3836 --1.6312 a y 0.9342 --2.8081 a z -0.7455 --1.2193 b a -0.7685 --2.2556 b b -0.5069 --3.5553 b c -0.2242 --3.5553 b d -0.5584 --0.4997 b e -0.3553 --3.5553 b f -0.2384 --3.5553 b h -0.5527 --1.5011 b i -0.5408 --2.1073 b j -1.4585 --0.8272 b l -2.0054 --3.1837 b m -0.2992 --3.1837 b n -0.5293 --0.8723 b o -0.2985 --4.0454 b p -0.2677 --1.3110 b r -1.6714 --1.5775 b s -0.5302 --1.6231 b t 0.1714 --0.9796 b u -1.0961 --4.0454 b v -0.2689 --1.0619 b y 0.9060 --0.9377 c a -0.9224 --3.0591 c b -0.3020 --1.7147 c c -0.9076 --3.2243 c d -0.2166 --0.7246 c e 0.2723 --2.9396 c f -0.4757 --3.0155 c g -0.5928 --0.8359 c h 0.9476 --1.3745 c i -0.9573 --4.3561 c j -0.3190 --1.3408 c k 0.2119 --1.0901 c l -2.0532 --2.8751 c m -0.2724 --3.2243 c n -0.5634 --0.7615 c o -0.6516 --2.5813 c p -0.4732 --3.0591 c q 1.0592 --1.2911 c r -1.7846 --2.5378 c s 0.0174 --1.0808 c t 0.8981 --1.4475 c u -1.1300 --3.8660 c v -0.2172 --2.9062 c w 0.1639 --2.3780 c y -0.3188 --1.0348 d a 0.5009 --1.4515 d b -1.0023 --1.7808 d c -1.0614 --1.6206 d d -1.2528 --0.8193 d e 0.2436 --1.6274 d f -1.6553 --2.0286 d g -1.1844 --1.4752 d h -1.2673 --0.8753 d i 0.0224 --2.8325 d j -0.3708 --2.7487 d k -0.7120 --1.7446 d l -1.5666 --1.3486 d m -1.5191 --1.5888 d n -1.8824 --1.1138 d o -0.3797 --1.8820 d p -0.9818 --2.9365 d q 1.2454 --1.4943 d r -1.5834 --1.2140 d s 0.7550 --0.9711 d t -1.5564 --1.5652 d u -0.3803 --2.0315 d v -0.0379 --1.3468 d w -1.4314 --1.8203 d y 0.4062 --1.0059 e a 0.7675 --1.8727 e b -0.7223 --1.4086 e c -0.9719 --1.0035 e d 0.4838 --1.4153 e e 0.6183 --1.6001 e f -0.9196 --1.8164 e g -0.8424 --1.6861 e h -1.4846 --1.4715 e i 0.1323 --2.8972 e j 0.6263 --2.6506 e k 0.1383 --1.3307 e l 0.5770 --1.4505 e m 0.4346 --1.0511 e n 0.2946 --1.5280 e o -1.0196 --1.5972 e p 0.6227 --2.5978 e q -0.0307 --0.8574 e r 0.4874 --1.0160 e s 0.6674 --1.2362 e t 0.4211 --2.2213 e u -1.1506 --1.6459 e v -0.9049 --1.4186 e w 0.2872 --1.8569 e x -0.7663 --1.9953 e y 0.5929 --3.7092 e z -0.2857 --0.9600 f a 0.9644 --2.1239 f b -0.1076 --1.8559 f c -0.7620 --2.0724 f d -1.1371 --0.9752 f e -0.1290 --1.3371 f f -0.2366 --2.0945 f g -0.9090 --1.7074 f h -0.9274 --1.0084 f i -0.8915 --2.4941 f j -0.7036 --3.2394 f k -0.0959 --1.4550 f l -1.5349 --1.6192 f m -1.0241 --2.2037 f n -1.3405 --0.8374 f o -1.3960 --2.0361 f p -0.4026 --4.2984 f q 2.0592 --1.2173 f r -1.8036 --1.5317 f s 0.0504 --0.7183 f t 0.5935 --1.3669 f u -1.1340 --2.3202 f v 0.4726 --1.6173 f w -0.8645 --2.3499 f y -0.6050 --0.9341 g a 0.2975 --1.9714 g b -0.3541 --1.9490 g c -0.6973 --1.9714 g d -1.1094 --0.9035 g e 0.8737 --1.9545 g f -0.9766 --1.6305 g g -0.0705 --0.8156 g h -0.0535 --1.0999 g i -0.6023 --3.3079 g j -0.1973 --3.3079 g k -0.0490 --1.3921 g l -1.6691 --1.7174 g m -0.9071 --1.6411 g n -1.1691 --1.1157 g o 0.0364 --2.2211 g p -0.7145 --3.6795 g q 1.7582 --1.0489 g r -1.8432 --1.4610 g s 0.7161 --1.1387 g t -1.1787 --1.2014 g u -0.9925 --2.6885 g v -0.0754 --1.6384 g w -0.7868 --2.2110 g y -0.2986 --3.4551 g z -0.7613 --0.7384 h a -0.2002 --2.3936 h b -0.1898 --2.4090 h c -0.5624 --2.6450 h d -0.8381 --0.3638 h e 0.6822 --2.3033 h f -1.1083 --2.7342 h g -0.6891 --2.0888 h h -0.8986 --0.8397 h i -0.5610 --3.4567 h j -0.4774 --3.6794 h k -0.2641 --2.4825 h l -0.9585 --2.1417 h m -0.7404 --2.8058 h n -0.9891 --1.0768 h o -0.5121 --2.6189 h p -0.5157 --3.4567 h q 1.1562 --1.8527 h r -1.4934 --2.0599 h s -0.0168 --1.2754 h t 0.9076 --1.7258 h u -1.3344 --3.2009 h v 0.9892 --1.9049 h w -1.1164 --2.1333 h y 0.1288 --4.6509 h z -0.0426 --1.7616 i a -0.3340 --1.8158 i b -1.1840 --1.1342 i c 0.6897 --1.3163 i d 1.0738 --1.4297 i e -1.0812 --1.6432 i f -0.2522 --1.4370 i g -1.0692 --2.0256 i h -1.2950 --3.0197 i i -0.0159 --3.7574 i j -0.4534 --1.9545 i k -0.8312 --1.3174 i l 0.8945 --1.4157 i m 0.8580 --0.5966 i n 0.0710 --1.1991 i o -1.2767 --2.2310 i p 0.7693 --2.9695 i q 0.6121 --1.4966 i r 1.4037 --0.9036 i s 0.7989 --0.9052 i t 0.5051 --2.7907 i u -0.8221 --1.7626 i v -1.0096 --1.9961 i w -1.1032 --2.4975 i x -0.6434 --3.8671 i y -0.3105 --2.4241 i z -0.6741 --0.9022 j a -0.6736 --2.9169 j d -0.2481 --0.6597 j e -1.3531 --0.3939 j o -1.3963 --2.2025 j s -0.4077 --0.6259 j u -0.6729 --1.2091 k a -0.3304 --2.0906 k b -0.2793 --2.0906 k c -0.2721 --2.3264 k d -0.4494 --0.4520 k e 0.6129 --1.9681 k f -0.9479 --3.0284 k g -0.7560 --1.5999 k h -0.5847 --0.8366 k i -0.3190 --2.0906 k j -1.6038 --3.2528 k k -0.0583 --1.8978 k l -0.9421 --1.9246 k m -0.7453 --1.0052 k n -2.0087 --1.3563 k o -0.8119 --2.1801 k p -0.8767 --2.4023 k r -0.2978 --1.1271 k s 0.5361 --1.3206 k t -1.3383 --1.7843 k u -1.1003 --1.4958 k w -0.6193 --1.7026 k y -0.2604 --0.9842 l a 0.2588 --2.1216 l b -0.0917 --1.8819 l c -0.9562 --1.2196 l d 0.5103 --0.6864 l e 0.8892 --1.6220 l f 1.1875 --2.5224 l g -0.6854 --2.2145 l h -0.7454 --0.9847 l i 0.4876 --3.4603 l j -0.3525 --2.3042 l k 0.0168 --0.8745 l l 0.7705 --1.8819 l m 0.1225 --2.2826 l n -1.4814 --1.0184 l o -1.0374 --2.2521 l p -0.1383 --4.0292 l q 1.7582 --2.2570 l r -1.0037 --1.5039 l s 0.5718 --1.4411 l t 0.1073 --1.6643 l u 0.2411 --2.2145 l v 0.1485 --1.9498 l w -0.9403 --0.9944 l y 0.6476 --0.8034 m a -0.1555 --1.6338 m b 0.5208 --2.4908 m c -0.2994 --2.7221 m d -0.4267 --0.6309 m e 1.0438 --2.2218 m f -0.8498 --3.0121 m g -0.3627 --2.1532 m h -0.5974 --1.0319 m i -0.6321 --4.3091 m j -0.2022 --2.8926 m k -0.6588 --2.3505 m l -0.7507 --1.5917 m m 0.3408 --2.1727 m n -0.8232 --0.9080 m o -1.1570 --1.2110 m p -0.8285 --3.8190 m q 1.7582 --2.4908 m r -0.1466 --1.5831 m s 0.3644 --1.6395 m t -1.1954 --1.4670 m u -1.2063 --3.1773 m v -0.2138 --2.0089 m w -0.5569 --0.8181 m y 0.6171 --1.2279 n a 0.8141 --2.0973 n b -0.4580 --1.1779 n c -1.4495 --0.7767 n d 0.5350 --1.0282 n e 1.0219 --1.8994 n f -1.5882 --0.9515 n g 0.2625 --1.8108 n h -1.3563 --1.2862 n i 0.3160 --3.0562 n j 0.7330 --2.1866 n k -0.0565 --1.8310 n l -1.4221 --2.0074 n m -1.1381 --1.9905 n n -1.6188 --1.0190 n o 0.2381 --2.3454 n p -0.6614 --2.8704 n q 0.5152 --2.2957 n r -1.2424 --1.2211 n s 0.4035 --0.8098 n t 0.7525 --1.9048 n u -1.1548 --2.2991 n v 1.3337 --1.7299 n w -1.2532 --3.0562 n x -1.6259 --1.9062 n y 0.5090 --4.0138 n z 0.1095 --1.7410 o a -0.6097 --1.7959 o b 0.5331 --1.6709 o c -0.3445 --1.6633 o d -0.1713 --2.2392 o e -0.4496 --0.8624 o f 0.3030 --2.0336 o g -0.3180 --2.0635 o h -0.5269 --1.7804 o i -1.0238 --2.8805 o j -0.5817 --1.8472 o k 0.1956 --1.4655 o l -0.4894 --1.2137 o m 0.3809 --0.8459 o n 0.3097 --1.4891 o o 0.0131 --1.7681 o p -0.0985 --3.5919 o q 1.1562 --0.9449 o r 0.7950 --1.3992 o s -0.8936 --1.1843 o t 0.8963 --0.8438 o u 0.0552 --1.7510 o v -0.5799 --1.2719 o w 0.7397 --3.3050 o x -0.7038 --2.1283 o y -0.4074 --3.4890 o z -1.0426 --0.9489 p a -0.5748 --2.6044 p b -0.5016 --2.7614 p c -0.5207 --2.9475 p d -0.4066 --0.6989 p e 0.0873 --2.6917 p f -0.6258 --3.2800 p g -0.1356 --1.4384 p h -0.2936 --1.2353 p i -0.0707 --4.1417 p j -0.2022 --0.9975 p l -1.9314 --2.4696 p m -0.8947 --3.1702 p n -0.6262 --0.8334 p o -0.8720 --1.1469 p p -1.5034 --0.8198 p r -2.2582 --1.6324 p s 0.3086 --1.2905 p t -0.0062 --1.7193 p u -0.6674 --3.2800 p v 0.4621 --1.9922 p w -0.4071 --2.3373 p y -0.1370 --4.1417 p z -0.2842 --2.8814 q e -0.2741 --0.0018 q u -2.1423 --1.0111 r a -0.0448 --2.0056 r b 0.2574 --1.7199 r c -0.7953 --1.4052 r d 0.6847 --0.6052 r e 0.6541 --1.7924 r f -0.6870 --2.0095 r g -0.8005 --1.7806 r h -1.1366 --1.0332 r i 0.4913 --2.6951 r j 0.7559 --1.9902 r k 0.9492 --1.8471 r l -1.0230 --1.5700 r m 0.1064 --1.5817 r n -0.8523 --0.9693 r o 0.8374 --2.0195 r p -0.5685 --3.4791 r q 1.1562 --1.5765 r r -1.8077 --1.2924 r s 0.5297 --1.0825 r t 0.1725 --1.6587 r u -0.4424 --2.1341 r v 0.6603 --1.7428 r w -1.0522 --1.3373 r y 0.7721 --1.0483 s a 0.2922 --1.8284 s b -0.6928 --1.4276 s c -1.4222 --2.0490 s d -1.5549 --0.9349 s e 0.9623 --1.8186 s f -1.5724 --2.2689 s g -0.5766 --1.2432 s h 1.1289 --1.0276 s i 0.5042 --2.8495 s j 0.5633 --2.2085 s k -0.3621 --1.6732 s l -1.8088 --1.6638 s m -0.7117 --1.7516 s n -1.9938 --1.0009 s o -0.5763 --1.4909 s p -1.3418 --2.6461 s q 0.3269 --2.1037 s r -1.3946 --1.1098 s s 1.0394 --0.7334 s t 0.7096 --1.3750 s u -0.2828 --2.4374 s v 0.1958 --1.4296 s w -1.5196 --2.2827 s y -0.4707 --4.6946 s z -0.3185 --1.1960 t a 0.4397 --2.0571 t b -0.7274 --1.9839 t c -1.1883 --2.1365 t d -1.6265 --0.9841 t e -0.6152 --2.0704 t f -1.5429 --2.5314 t g -1.0914 --0.4753 t h 0.2019 --1.0052 t i -0.3699 --3.6597 t j -0.1153 --3.1628 t k -0.6519 --1.7521 t l -1.7834 --1.8760 t m -1.3891 --2.3335 t n -1.6590 --0.8976 t o 0.5456 --2.3018 t p -0.8299 --3.1273 t q 0.6443 --1.4822 t r -1.9003 --1.5159 t s 0.5726 --1.2862 t t -1.7338 --1.6105 t u -0.0777 --2.7973 t v 0.3949 --1.4764 t w -1.6319 --1.7690 t y -0.6475 --3.8824 t z -0.0657 --1.6648 u a -0.0310 --1.7146 u b -0.5612 --1.4812 u c -1.1411 --1.6451 u d -0.5007 --1.5215 u e -0.5462 --2.2678 u f -0.9436 --1.3813 u g -1.3795 --2.4808 u h -0.7874 --1.5131 u i -0.9645 --3.1005 u k -0.7573 --0.9695 u l 0.8244 --1.4372 u m 0.2386 --0.8196 u n 0.4071 --2.7876 u o -0.3963 --1.2734 u p 0.9439 --4.3975 u q 2.0592 --0.7685 u r 1.0071 --0.8564 u s 1.0831 --0.9077 u t 0.6836 --3.2657 u u -0.3546 --2.6884 u v -0.6703 --2.4920 u w -0.8561 --3.5358 u x -0.5004 --4.3975 u y -0.2729 --3.1005 u z -1.2820 --1.0001 v a -0.2887 --0.1484 v e 0.9485 --0.9587 v i -0.7357 --1.1842 v o -1.2107 --3.9220 v s -0.2788 --2.6733 v u -1.2245 --1.9634 v y -0.3693 --0.6280 w a -0.6353 --2.3034 w b -0.7661 --2.4727 w c -0.7622 --2.3529 w d -0.8518 --0.6256 w e -0.2576 --2.1820 w f -0.8714 --3.0424 w g -0.2238 --0.7243 w h -1.9020 --0.8688 w i -1.4053 --4.2910 w j -0.0949 --3.2320 w k -0.0643 --2.1963 w l -0.6846 --2.2112 w m -0.6190 --1.4555 w n -0.6157 --1.0635 w o 0.9473 --2.8410 w p 0.0117 --3.5765 w q 1.5821 --2.0288 w r -1.2009 --1.9686 w s 0.4704 --1.8169 w t -1.2333 --2.9108 w u -0.2584 --3.3196 w v 0.4017 --2.1288 w w -0.5350 --2.9504 w y -0.4741 --3.8009 w z -0.3436 --0.8682 x a -1.1541 --3.2357 x b -0.1543 --0.8881 x c -1.0350 --2.2643 x d -0.9837 --1.3654 x e -0.9485 --2.3740 x f -0.4949 --1.4459 x h -1.1350 --0.9221 x i -0.5813 --2.1768 x m -0.4209 --3.2357 x n -0.2758 --1.6487 x o -0.6146 --0.6265 x p -1.1942 --2.5213 x s -0.1845 --0.6288 x t -0.8666 --2.2643 x u -0.3883 --2.2643 x w -0.2750 --3.2357 x y -0.3144 --1.0191 y a 0.1356 --1.4014 y b -0.6859 --1.4887 y c -1.1956 --1.5342 y d -1.5846 --1.2013 y e -0.7425 --1.4539 y f -1.4537 --1.9327 y g -0.9632 --1.3944 y h -1.1511 --1.2327 y i -0.1306 --2.5997 y j 0.7937 --2.3645 y k -0.8447 --1.5640 y l -1.0917 --1.4413 y m -0.6947 --1.7060 y n -1.6423 --0.9406 y o -1.3325 --1.5400 y p -0.8084 --2.9609 y q 1.1050 --1.5558 y r -1.0962 --1.0353 y s -0.1691 --0.9925 y t -1.5725 --1.1581 y u -2.1753 --2.2411 y v 0.4821 --1.2553 y w -1.2091 --2.2714 y y -1.1656 --3.7195 y z -0.3436 --1.1074 z a -0.3569 --2.6446 z b -0.2714 --0.3266 z e -0.3248 --1.1074 z i -0.7438 --1.1346 z l -1.0618 --0.7622 z o -1.5031 --2.6446 z p -0.2735 --2.6446 z t -0.2607 --1.9301 z u -0.7155 --1.0818 z z -1.2024 - -\3-grams: --0.2833 a --0.2833 --0.2833 a j --1.3693 a a b --2.0542 a a c --2.0542 a a g --1.2242 a a l --2.0542 a a m --0.3473 a a n --1.5888 a a p --1.2242 a a r --0.9565 a a s --0.8404 a a t --1.6238 a b a --2.5551 a b b --3.2399 a b d --1.6238 a b e --1.2363 a b i --3.2399 a b j --0.4021 a b l --2.7746 a b n --0.4562 a b o --1.5015 a b r --1.2447 a b s --1.8590 a b u --1.4721 a b y --1.7279 a c a --1.0559 a c c --0.6317 a c e --0.8171 a c h --1.3103 a c i --0.9904 a c k --1.4811 a c l --3.3826 a c m --1.3790 a c o --2.1689 a c q --1.6007 a c r --2.9173 a c s --0.6452 a c t --1.8813 a c u --2.5527 a c y --1.0922 a d a --1.2383 a d b --1.6061 a d c --1.3914 a d d --0.7764 a d e --1.6299 a d f --2.0828 a d g --1.6299 a d h --1.1215 a d i --2.3041 a d j --2.7789 a d k --1.5621 a d l --1.4282 a d m --1.2586 a d n --1.1654 a d o --1.9895 a d p --3.4637 a d q --1.4856 a d r --1.2638 a d s --1.2433 a d t --1.7909 a d u --1.2334 a d v --1.6423 a d w --1.3640 a d y --1.5621 a e c --1.5621 a e d --1.5621 a e h --1.0967 a e i --0.7321 a e l --1.5621 a e n --0.8772 a e o --1.0967 a e r --0.8772 a e v --1.5621 a e x --1.3252 a f a --0.9460 a f e --1.2511 a f f --1.3675 a f i --2.9413 a f j --1.6360 a f l --2.9413 a f n --1.6360 a f o --1.4145 a f r --0.1993 a f t --2.1114 a f u --2.9413 a f w --0.7647 a g a --3.1290 a g d --0.4504 a g e --3.1290 a g f --1.2380 a g g --2.4442 a g h --1.0099 a g i --1.7842 a g l --1.8670 a g m --1.3756 a g n --1.3336 a g o --1.1337 a g r --2.4442 a g s --3.1290 a g t --0.9853 a g u --3.1290 a g w --3.1290 a g y --0.5406 a h a --2.0354 a h c --0.8106 a h e --1.8159 a h h --1.5623 a h i --1.8159 a h m --0.8846 a h o --1.6708 a h r --2.0354 a h s --0.5316 a h u --2.5008 a h w --2.6599 a i a --3.3448 a i b --2.1852 a i c --0.6987 a i d --2.6599 a i e --2.5148 a i f --2.4062 a i g --3.3448 a i h --1.1449 a i l --1.8434 a i m --0.2910 a i n --0.9593 a i r --1.6379 a i s --1.3755 a i t --2.8794 a i v --3.3448 a i w --1.0484 a j a --1.0484 a j e --0.1328 a j o --1.7436 a k a --3.0490 a k c --2.5836 a k d --0.2653 a k e --1.6347 a k f --2.3641 a k h --0.6088 a k i --3.0490 a k k --3.0490 a k l --2.5836 a k m --1.0888 a k n --1.8894 a k o --1.8352 a k s --1.7870 a k t --2.5836 a k u --1.8894 a k w --2.5836 a k y --1.3485 a l a --2.0935 a l b --1.4469 a l c --1.8459 a l d --1.4835 a l e --1.4469 a l f --2.2220 a l g --1.9604 a l h --1.2122 a l i --2.7288 a l j --1.6318 a l k --0.3739 a l l --1.3102 a l m --2.5697 a l n --1.1397 a l o --1.8587 a l p --3.6673 a l q --1.7163 a l r --1.2520 a l s --1.3366 a l t --2.0314 a l u --2.4053 a l v --1.6555 a l w --2.5697 a l y --0.8913 a m a --1.4044 a m b --1.8449 a m c --2.1282 a m d --0.5008 a m e --2.2005 a m f --2.5410 a m g --2.7604 a m h --0.7826 a m i --2.5410 a m l --1.5356 a m m --1.8810 a m n --0.9490 a m o --1.2939 a m p --3.2258 a m q --2.1282 a m r --1.4172 a m s --2.1282 a m t --1.6989 a m u --2.3959 a m v --1.8810 a m w --2.1282 a m y --1.4901 a n a --2.1555 a n b --1.2655 a n c --0.3182 a n d --1.4901 a n e --2.4105 a n f --1.5042 a n g --1.9273 a n h --1.2026 a n i --3.3616 a n j --2.2378 a n k --2.7411 a n l --2.5451 a n m --1.8362 a n n --1.5549 a n o --2.8326 a n p --2.6321 a n q --2.4303 a n r --1.1726 a n s --1.0663 a n t --2.2645 a n u --2.9488 a n v --1.9671 a n w --2.4105 a n x --1.3325 a n y --1.8632 a o a --2.3286 a o d --0.3968 a o f --1.3033 a o n --0.3009 a o r --2.3286 a o s --1.3217 a p a --3.1907 a p b --3.1907 a p c --0.8882 a p e --2.7253 a p f --1.5952 a p h --0.9365 a p i --1.8098 a p l --1.0977 a p o --0.3989 a p p --1.4522 a p r --1.2788 a p s --1.0910 a p t --2.5059 a p u --2.5059 a p w --0.0084 a q u --1.2373 a r a --1.9815 a r b --1.4278 a r c --0.9614 a r d --0.7382 a r e --1.6837 a r f --1.7377 a r g --2.3015 a r h --1.3449 a r i --2.9729 a r j --1.3812 a r k --1.5440 a r l --1.4722 a r m --1.5628 a r n --1.4881 a r o --2.1670 a r p --1.3167 a r r --1.4314 a r s --0.7756 a r t --2.3015 a r u --1.8427 a r v --2.0960 a r w --1.2373 a r y --1.0700 a s a --1.7415 a s b --1.4356 a s c --1.9836 a s d --1.2346 a s e --1.6629 a s f --2.2053 a s g --1.4195 a s h --1.0207 a s i --3.3758 a s j --1.7284 a s k --1.6798 a s l --1.4040 a s m --1.4557 a s n --1.3717 a s o --1.5823 a s p --2.2457 a s q --1.9953 a s r --0.9362 a s s --0.6272 a s t --1.6207 a s u --2.2457 a s v --1.5105 a s w --1.8057 a s y --1.2437 a t a --2.0262 a t b --1.6521 a t c --1.7171 a t d --0.7202 a t e --1.9648 a t f --2.5616 a t g --1.0871 a t h --0.6383 a t i --3.9063 a t j --3.2215 a t k --1.5875 a t l --1.4513 a t m --2.1834 a t n --1.4369 a t o --1.9944 a t p --3.0764 a t q --1.9462 a t r --1.6251 a t s --0.8878 a t t --1.4513 a t u --2.6010 a t v --1.3039 a t w --2.2705 a t y --2.6915 a u c --1.3468 a u d --0.7223 a u g --2.6915 a u i --1.0013 a u l --1.8616 a u m --1.1902 a u n --2.2262 a u p --1.1647 a u r --0.4970 a u s --0.7796 a u t --2.6915 a u x --1.0904 a v a --0.1518 a v e --0.9151 a v i --1.2628 a v o --1.4517 a v y --0.4919 a w a --1.9490 a w b --2.4221 a w c --1.0417 a w e --0.9965 a w f --0.9273 a w h --1.2147 a w i --2.4221 a w k --1.5822 a w l --1.8622 a w m --1.3607 a w n --0.9655 a w o --2.4221 a w r --1.5066 a w s --1.5427 a w t --2.8875 a w v --1.9490 a w w --0.8336 a x a --1.6635 a x b --0.5659 a x e --0.8336 a x i --1.6635 a x n --1.1981 a x o --1.6635 a x s --1.6635 a x t --0.9787 a x w --0.9532 a y a --1.1589 a y b --1.7561 a y c --2.1117 a y d --1.3284 a y e --1.5860 a y f --2.6716 a y g --1.5208 a y h --1.0243 a y i --2.4522 a y j --3.1370 a y k --1.8750 a y l --1.6628 a y m --1.6917 a y n --1.0864 a y o --2.0394 a y p --3.1370 a y q --2.1117 a y r --0.7655 a y s --0.8142 a y t --2.1117 a y u --2.6716 a y v --1.1171 a y w --2.1117 a y y --1.9645 a z a --0.2577 a z e --0.7026 a z i --1.2797 a z u --0.8669 a z z --0.8678 b a b --0.5310 b a c --1.5760 b a d --2.7898 b a f --1.3156 b a g --2.3244 b a h --1.9599 b a i --2.7898 b a k --1.5278 b a l --1.0996 b a n --0.7945 b a r --1.1539 b a s --1.0513 b a t --1.5760 b a y --1.2950 b b a --0.5466 b b e --0.4984 b b i --0.7351 b b l --1.7604 b b n --1.2950 b b o --0.5843 b c h --0.5843 b c r --0.1189 b d i --3.5089 b e --1.0422 b e a --1.9579 b e b --1.0904 b e c --1.3592 b e d --0.9002 b e e --1.0509 b e f --1.0936 b e g --1.5970 b e h --1.1629 b e i --2.8240 b e k --1.0567 b e l --1.7134 b e m --1.3961 b e n --2.0347 b e o --2.0636 b e p --2.5703 b e q --1.2547 b e r --1.1555 b e s --1.2986 b e t --2.4113 b e u --2.4836 b e v --2.0075 b e w --1.8360 b e y --0.5843 b f a --0.5843 b f r --0.1189 b h i --2.0432 b i a --2.5086 b i c --2.5086 b i d --2.5086 b i e --2.5086 b i f --1.1277 b i g --0.7407 b i l --0.7856 b i n --2.0432 b i o --1.4110 b i r --1.1277 b i s --0.3959 b i t --1.0766 b j a --0.0490 b j e --1.5267 b l a --0.1175 b l e --1.1616 b l i --1.3356 b l o --2.0839 b l u --1.0953 b l y --0.8854 b m a --0.4200 b m i --0.8854 b m u --0.8854 b n e --0.2005 b n o --1.3150 b o a --3.1364 b o b --3.1364 b o c --1.1328 b o d --3.1364 b o e --3.1364 b o f --3.1364 b o g --1.6911 b o i --3.1364 b o k --1.8310 b o l --2.3064 b o m --1.2674 b o n --1.5202 b o o --1.3278 b o r --2.1979 b o s --1.0571 b o t --0.4389 b o u --1.0571 b o v --1.5202 b o w --2.0388 b o x --0.9867 b o y --0.2833 b p a --0.6331 b r a --0.6053 b r e --0.6946 b r i --0.5667 b r o --1.4363 b r u --1.9671 b s a --0.9312 b s c --0.5105 b s e --2.4325 b s g --1.9671 b s h --1.9671 b s i --2.4325 b s j --0.7096 b s o --2.4325 b s r --1.9671 b s s --0.6941 b s t --1.1272 b s u --2.4325 b s w --0.8602 b t a --0.4961 b t e --1.2275 b t f --1.5572 b t h --1.3618 b t i --0.8133 b t l --2.3871 b t m --1.9217 b t n --1.3618 b t o --2.3871 b t r --1.5572 b t s --1.0062 b t t --2.3871 b t u --2.3871 b t w --2.3871 b t y --2.3443 b u b --3.0292 b u c --2.5638 b u d --3.0292 b u f --3.0292 b u h --1.7238 b u i --2.0906 b u l --2.1992 b u n --3.0292 b u p --0.9037 b u r --1.6844 b u s --0.0980 b u t --3.0292 b u z --0.2833 b v i --0.8747 b y a --1.7874 b y b --1.6417 b y c --1.6850 b y d --2.1171 b y e --1.7874 b y f --1.6850 b y g --1.5661 b y h --1.6850 b y i --2.9470 b y j --2.9470 b y k --1.6022 b y l --1.0780 b y m --1.3111 b y n --1.7332 b y o --1.8494 b y p --1.5017 b y r --0.9961 b y s --0.5129 b y t --2.9470 b y u --2.9470 b y v --1.3308 b y w --2.0085 b y y --1.8306 c a b --2.4431 c a c --2.4431 c a d --3.3816 c a f --2.9162 c a g --3.3816 c a h --2.9162 c a k --0.6726 c a l --0.9506 c a m --0.7608 c a n --3.3816 c a o --1.2202 c a p --0.8116 c a r --1.0668 c a s --1.0875 c a t --1.2753 c a u --1.4697 c a v --3.3816 c a y --0.3448 c b a --1.2833 c b e --0.8179 c b o --0.8179 c b u --0.9696 c c a --2.6055 c c d --0.6274 c c e --1.9207 c c h --1.3435 c c i --2.6055 c c l --0.4739 c c o --1.5802 c c r --0.6737 c c u --1.1284 c d a --1.1284 c d e --0.6630 c d i --0.6630 c d r --1.1284 c d u --0.9985 c e a --1.9399 c e b --2.3327 c e c --1.0670 c e d --1.7145 c e e --1.9218 c e f --2.5693 c e g --1.6437 c e h --1.1957 c e i --3.1292 c e j --3.1292 c e k --0.9922 c e l --1.4884 c e m --0.8988 c e n --0.9985 c e o --1.7145 c e p --1.1252 c e r --1.0179 c e s --1.1957 c e t --2.3808 c e u --3.5946 c e v --1.3134 c e w --3.1292 c e x --2.7647 c e y --1.3972 c f a --1.3972 c f i --0.4587 c f l --0.4587 c f o --1.3972 c f r --0.8593 c g e --0.8593 c g l --0.4947 c g r --0.6398 c g u --0.7383 c h a --1.7931 c h b --1.7014 c h c --1.8878 c h d --0.7694 c h e --1.6879 c h f --1.8878 c h g --1.2888 c h h --0.8914 c h i --3.4833 c h j --1.8286 c h l --1.4254 c h m --2.0091 c h n --1.1767 c h o --1.9820 c h p --3.4833 c h q --1.5515 c h r --1.4040 c h s --1.0877 c h t --2.2214 c h u --2.6534 c h v --1.1262 c h w --2.2695 c h y --3.4833 c h z --1.3092 c i a --2.2603 c i b --0.9942 c i d --0.6817 c i e --1.9198 c i f --1.6398 c i l --1.4438 c i m --0.8945 c i n --1.0036 c i o --1.5642 c i p --1.0541 c i r --1.2222 c i s --0.8521 c i t --2.2603 c i v --2.9451 c i w --0.2833 c j d --0.9835 c k a --1.6340 c k b --2.1488 c k c --2.2939 c k d --0.9670 c k e --2.0403 c k f --2.9788 c k g --1.2886 c k h --0.9282 c k i --2.9788 c k k --1.5046 c k l --1.6734 c k m --1.5978 c k n --1.2403 c k o --2.9788 c k p --2.5134 c k r --0.7634 c k s --0.8995 c k t --1.6734 c k u --1.1702 c k w --1.5978 c k y --1.1101 c l a --0.1733 c l e --1.2600 c l i --0.8438 c l o --1.3073 c l u --3.2293 c l y --0.2998 c m a --0.7745 c m e --0.9940 c m o --1.4594 c m u --1.4594 c m y --0.2985 c n a --1.1284 c n e --0.6630 c n o --1.5796 c o a --3.5577 c o b --2.7277 c o c --2.2523 c o d --3.5577 c o f --2.2957 c o g --2.8728 c o h --2.0564 c o i --1.3035 c o l --0.6207 c o m --0.5530 c o n --1.7001 c o o --1.9415 c o p --1.3373 c o r --2.3439 c o s --2.4601 c o t --0.6739 c o u --1.1205 c o v --2.5324 c o w --3.5577 c o y --1.7457 c p a --0.9158 c p e --0.8072 c p h --1.7457 c p i --0.9158 c p o --0.3314 c p r --0.0213 c q u --0.8728 c r a --3.0284 c r c --0.6569 c r e --0.4629 c r i --0.9030 c r o --0.9491 c r u --1.2465 c r y --1.3231 c s a --1.1036 c s c --1.7885 c s e --0.6908 c s h --1.1036 c s i --1.7885 c s k --0.8499 c s o --1.7885 c s s --0.6908 c s t --1.7885 c s u --1.7885 c s w --1.1388 c t a --2.5537 c t b --1.9765 c t c --2.5537 c t d --0.8362 c t e --1.7372 c t f --2.5537 c t g --1.9765 c t h --0.5394 c t i --3.2385 c t k --1.1194 c t l --2.0789 c t m --2.2132 c t n --1.0082 c t o --2.1409 c t p --1.3584 c t r --1.2604 c t s --1.3695 c t t --1.2030 c t u --2.2132 c t v --1.6026 c t w --2.7731 c t y --1.6102 c u i --0.3860 c u l --0.8444 c u m --2.1873 c u n --2.8721 c u o --1.3453 c u p --0.6776 c u r --1.0263 c u s --1.4268 c u t --2.8721 c u u --1.9336 c u v --0.5843 c v a --0.5843 c v i --0.3318 c w a --0.9640 c w e --1.4294 c w h --1.4294 c w i --0.7446 c w o --0.6841 c y a --1.1161 c y c --1.9461 c y d --1.9461 c y e --1.9461 c y f --1.2612 c y h --1.1161 c y i --1.4807 c y l --1.9461 c y m --0.8485 c y o --1.9461 c y p --1.9461 c y r --0.7323 c y t --1.9461 c y y --2.9864 d a a --1.4565 d a b --1.6699 d a c --1.8780 d a d --1.6699 d a f --1.5008 d a g --1.9008 d a h --2.0375 d a i --2.3542 d a k --1.1930 d a l --1.5942 d a m --0.5325 d a n --2.9864 d a o --1.6432 d a p --2.7670 d a q --1.1251 d a r --1.0528 d a s --1.0056 d a t --2.5133 d a u --2.0709 d a v --1.6180 d a w --0.8795 d a y --2.3542 d a z --1.8758 d b a --0.3584 d b e --2.3505 d b i --1.6210 d b l --1.3285 d b o --1.4844 d b r --1.0573 d b u --0.4609 d b y --0.6069 d c a --1.0707 d c e --1.1111 d c h --2.7065 d c i --1.2323 d c l --0.3999 d c o --1.0518 d c r --1.5470 d c u --1.1763 d d a --0.3148 d d e --0.6882 d d i --1.8412 d d l --0.9063 d d o --1.3652 d d r --2.8665 d d s --2.4011 d d t --1.3923 d d u --2.8665 d d v --2.8665 d d w --0.9904 d e a --2.2220 d e b --1.5357 d e c --1.0485 d e d --1.5235 d e e --1.7872 d e f --1.7453 d e g --1.9945 d e h --1.8459 d e i --2.8373 d e j --1.4570 d e l --1.8335 d e m --0.9502 d e n --1.5235 d e o --1.4419 d e p --2.8373 d e q --0.6751 d e r --0.9345 d e s --1.3690 d e t --2.0314 d e u --1.4419 d e v --2.0511 d e w --1.6637 d e x --2.5697 d e y --1.0383 d f a --0.8319 d f e --0.8319 d f i --1.3328 d f l --0.4776 d f o --0.7041 d f r --1.5543 d f u --1.2456 d g a --0.5084 d g e --0.9084 d g i --0.9581 d g l --1.9940 d g m --0.7209 d g o --0.8235 d g r --1.6294 d g u --0.4576 d h a --0.6262 d h e --0.5837 d h i --0.9323 d h o --3.0117 d h r --1.5374 d h u --3.0117 d h y --1.5319 d i a --1.8027 d i b --1.2057 d i c --1.1013 d i d --1.7537 d i e --1.2362 d i f --1.9211 d i g --1.7775 d i h --2.3975 d i i --3.1459 d i j --2.5860 d i k --1.6160 d i l --1.5994 d i m --0.5589 d i n --2.0844 d i o --2.3059 d i p --1.4330 d i r --0.7465 d i s --0.9361 d i t --2.7813 d i u --2.2665 d i v --1.7311 d i w --3.6113 d i z --1.1981 d j e --0.4497 d j o --0.2826 d j u --1.7457 d k a --0.5319 d k e --0.9158 d k i --0.3004 d k n --1.0699 d l a --0.5324 d l e --0.7474 d l i --0.9089 d l o --2.0578 d l u --0.5223 d l y --0.8887 d m a --3.1382 d m b --0.7528 d m e --1.9244 d m f --1.1105 d m i --1.0320 d m o --1.7239 d m u --0.3127 d m y --1.5534 d n a --0.7199 d n e --1.7386 d n i --0.1256 d n o --2.4328 d n t --2.4328 d n u --2.3475 d o a --1.9919 d o b --1.6050 d o c --1.5515 d o e --0.6249 d o f --2.5429 d o g --2.9075 d o h --1.6050 d o i --3.3729 d o j --3.3729 d o k --2.1109 d o l --1.9276 d o m --0.7383 d o n --1.7181 d o o --2.1109 d o p --1.5774 d o r --2.1591 d o s --1.8986 d o t --0.7663 d o u --1.6194 d o v --0.8306 d o w --3.3729 d o x --1.4927 d o y --2.2752 d o z --0.9508 d p a --0.9153 d p e --1.4460 d p h --1.2246 d p i --0.9153 d p l --0.8671 d p o --0.4864 d p r --1.1602 d p u --1.5621 d q e --0.0352 d q u --0.8672 d r a --0.2868 d r e --0.9494 d r i --2.9926 d r k --2.9926 d r m --0.7927 d r o --2.9926 d r r --1.4657 d r u --1.5473 d r y --0.9344 d s a --1.8918 d s b --1.3608 d s c --2.8074 d s d --1.0782 d s e --1.9674 d s f --3.2728 d s g --1.1731 d s h --1.1114 d s i --2.5879 d s k --1.5999 d s l --1.7218 d s m --1.8275 d s n --0.8511 d s o --1.4514 d s p --3.2728 d s q --2.0590 d s r --1.9674 d s s --0.7501 d s t --1.0574 d s u --3.2728 d s v --1.2947 d s w --3.2728 d s y --1.7336 d t a --1.8608 d t e --0.2408 d t h --1.9887 d t i --0.4647 d t o --1.7336 d t r --3.5155 d t t --2.2102 d t u --3.5155 d t v --1.9417 d t w --3.5155 d t y --1.5075 d u a --2.9218 d u b --0.7841 d u c --2.0918 d u e --1.7622 d u g --2.9218 d u i --1.2149 d u l --2.2369 d u m --0.8221 d u n --2.9218 d u o --0.7167 d u p --0.7841 d u r --0.8155 d u s --1.5075 d u t --2.9218 d u u --0.2838 d v a --0.4784 d v e --1.0422 d v i --1.3589 d v o --0.8172 d w a --0.6879 d w e --0.6968 d w h --0.4245 d w i --1.2942 d w o --1.9805 d w r --0.9769 d y a --1.3223 d y b --1.9823 d y c --2.6671 d y d --0.6635 d y e --1.7286 d y f --1.9823 d y g --1.8372 d y h --1.4051 d y i --2.2017 d y l --1.7286 d y m --1.9823 d y n --0.6165 d y o --1.9823 d y p --1.6418 d y r --1.6418 d y s --0.9943 d y t --2.6671 d y u --1.2862 d y w --2.2017 d y y --2.2565 e a a --1.5677 e a b --1.3406 e a c --1.1416 e a d --3.0248 e a e --1.8637 e a f --1.5813 e a g --2.3275 e a h --2.0414 e a i --3.9634 e a j --1.6174 e a k --1.2527 e a l --1.5779 e a m --0.8188 e a n --2.2099 e a o --1.7138 e a p --3.9634 e a q --0.6529 e a r --0.9738 e a s --0.9037 e a t --2.0414 e a u --1.5481 e a v --1.7796 e a w --3.4980 e a x --3.2785 e a y --3.9634 e a z --0.9841 e b a --2.2669 e b b --0.4045 e b e --1.7159 e b i --1.4240 e b l --0.7902 e b o --1.1953 e b r --3.0969 e b t --0.8815 e b u --1.1277 e b y --0.8549 e c a --1.0020 e c e --1.3065 e c h --1.2419 e c i --3.5607 e c j --1.7269 e c k --1.4610 e c l --0.5948 e c o --1.1584 e c r --3.0953 e c s --0.6057 e c t --1.6591 e c u --2.5354 e c y --0.8932 e d a --1.2784 e d b --1.9380 e d c --1.9226 e d d --1.3122 e d e --1.4636 e d f --2.1081 e d g --1.4002 e d h --0.8698 e d i --3.2809 e d j --2.8061 e d k --1.7606 e d l --1.1078 e d m --1.8795 e d n --1.1820 e d o --2.0148 e d p --2.7037 e d q --1.8160 e d r --1.5536 e d s --0.7217 e d t --1.4307 e d u --2.2588 e d v --1.2486 e d w --2.1081 e d y --0.9352 e e a --2.2092 e e b --1.8992 e e c --1.2043 e e d --3.0886 e e e --1.8638 e e f --3.0886 e e g --1.7585 e e h --1.5185 e e i --1.8638 e e k --1.3092 e e l --1.3648 e e m --0.6277 e e n --2.0526 e e o --1.1078 e e p --2.8691 e e q --1.7454 e e r --1.3926 e e s --0.9907 e e t --2.6155 e e u --1.4477 e e v --1.7721 e e w --1.1018 e e x --2.2920 e e y --2.4564 e e z --0.8942 e f a --3.3693 e f c --3.3693 e f d --1.1966 e f e --1.1151 e f f --3.3693 e f h --0.8778 e f i --2.1555 e f j --1.1855 e f l --3.3693 e f n --0.4899 e f o --1.1014 e f r --2.9039 e f s --1.3415 e f t --1.1694 e f u --2.9039 e f w --3.3693 e f y --0.6230 e g a --3.1531 e g b --1.1750 e g e --1.9393 e g g --3.1531 e g h --0.9131 e g i --1.3193 e g l --2.3232 e g m --2.4683 e g n --1.0277 e g o --0.5507 e g r --1.8083 e g s --2.3232 e g t --1.0154 e g u --2.6877 e g y --0.3541 e h a --0.7022 e h e --0.9226 e h i --0.7838 e h o --1.1770 e h u --2.5985 e h v --3.2833 e h w --2.8179 e h y --1.8620 e i a --2.0237 e i b --1.3308 e i c --1.4548 e i d --2.4003 e i e --1.7024 e i f --1.1831 e i g --1.6893 e i h --3.0325 e i i --2.6679 e i k --1.7910 e i l --1.3601 e i m --0.4629 e i n --2.6679 e i o --2.5594 e i p --1.2038 e i r --0.9605 e i s --0.8851 e i t --3.4979 e i u --1.5287 e i v --1.5198 e i w --3.4979 e i y --2.4726 e i z --0.8619 e j a --1.3908 e j e --0.2671 e j o --1.6103 e j s --0.6614 e j u --1.2954 e k a --1.8553 e k b --2.3207 e k d --0.6305 e k e --1.8553 e k f --2.3207 e k h --0.5823 e k i --2.3207 e k m --0.7939 e k n --1.1069 e k o --2.3207 e k p --2.3207 e k r --1.2231 e k s --1.8553 e k t --1.8553 e k w --2.3207 e k y --0.8981 e l a --2.3332 e l b --2.2243 e l c --1.6784 e l d --0.9279 e l e --0.9869 e l f --3.6386 e l g --2.5410 e l h --0.8906 e l i --3.1732 e l k --0.8130 e l l --2.2576 e l m --2.9537 e l n --1.0685 e l o --2.0224 e l p --3.1732 e l r --1.2429 e l s --1.4603 e l t --2.0027 e l u --1.5523 e l v --2.2243 e l w --1.0361 e l y --0.6076 e m a --1.4911 e m b --3.5188 e m c --2.6889 e m d --0.7548 e m e --2.6889 e m f --3.5188 e m g --2.4935 e m h --1.0354 e m i --3.0534 e m k --2.6889 e m l --1.5870 e m m --2.1379 e m n --0.6983 e m o --1.2885 e m p --3.5188 e m r --1.7959 e m s --1.9450 e m t --1.3997 e m u --2.2569 e m w --1.1067 e m y --1.2448 e n a --1.9767 e n b --1.0828 e n c --1.1414 e n d --1.1386 e n e --1.9863 e n f --1.6283 e n g --1.7399 e n h --1.2413 e n i --2.6128 e n j --3.0882 e n k --1.6594 e n l --1.8320 e n m --2.3672 e n n --0.9514 e n o --2.2634 e n p --3.4528 e n q --1.9580 e n r --1.2537 e n s --0.4889 e n t --1.9863 e n u --2.4729 e n v --1.6241 e n w --2.7044 e n y --3.4528 e n z --3.4414 e o a --1.6879 e o b --1.5194 e o c --3.4414 e o d --0.2891 e o f --2.7565 e o g --3.4414 e o h --3.4414 e o i --1.4461 e o l --2.6114 e o m --0.9113 e o n --1.4904 e o p --1.2415 e o r --2.7565 e o s --1.3908 e o t --0.9776 e o u --1.6200 e o v --2.4161 e o w --0.8275 e p a --2.5422 e p b --2.3468 e p c --2.5422 e p d --1.1517 e p e --2.6873 e p f --3.3721 e p g --1.3444 e p h --1.4120 e p i --0.7824 e p l --2.3468 e p m --2.9068 e p n --1.0006 e p o --2.6873 e p p --0.6168 e p r --1.5384 e p s --1.0187 e p t --1.6042 e p u --2.9068 e p v --2.1584 e p w --2.4336 e p y --0.0017 e q u --1.0166 e r a --1.8815 e r b --1.7129 e r c --1.8576 e r d --0.6423 e r e --1.6312 e r f --2.0325 e r g --1.5555 e r h --1.0407 e r i --3.1733 e r j --2.7309 e r k --1.8394 e r l --1.6045 e r m --1.5817 e r n --1.2414 e r o --1.9991 e r p --3.4270 e r q --1.5073 e r r --1.1104 e r s --1.0119 e r t --1.8350 e r u --1.8623 e r v --1.5094 e r w --1.1239 e r y --1.0620 e s a --1.9496 e s b --1.4016 e s c --2.1319 e s d --1.0030 e s e --1.9255 e s f --2.5723 e s g --1.2220 e s h --1.0873 e s i --3.9533 e s j --2.2464 e s k --1.8155 e s l --1.8671 e s m --1.8881 e s n --0.9705 e s o --1.4617 e s p --2.9280 e s q --2.3578 e s r --0.8153 e s s --0.8004 e s t --1.3035 e s u --3.1233 e s v --1.4726 e s w --2.1854 e s y --3.9533 e s z --1.3834 e t a --2.2318 e t b --1.7132 e t c --2.7078 e t d --1.1348 e t e --2.3522 e t f --2.9031 e t g --0.4058 e t h --1.2780 e t i --2.0603 e t l --2.3883 e t m --2.5193 e t n --0.6875 e t o --3.7331 e t p --3.2677 e t q --1.3114 e t r --1.9245 e t s --1.4390 e t t --1.3834 e t u --3.7331 e t v --1.4607 e t w --2.0972 e t y --2.2833 e u c --2.7487 e u e --2.2833 e u h --1.4433 e u m --0.5488 e u n --2.7487 e u o --0.5541 e u p --1.4039 e u r --0.5990 e u s --1.1128 e u t --2.7487 e u v --1.2305 e v a --0.1039 e v e --1.1797 e v i --1.0647 e v o --0.5976 e w a --3.0853 e w b --2.5254 e w c --2.3911 e w d --0.5912 e w e --2.7208 e w f --3.0853 e w g --0.7482 e w h --0.9123 e w i --3.5507 e w k --2.7208 e w l --1.9345 e w m --2.4531 e w n --0.9609 e w o --2.7208 e w p --1.8122 e w r --2.1054 e w s --1.9997 e w t --3.0853 e w v --1.9997 e w w --3.0853 e w y --3.5507 e w z --0.7978 e x a --0.8019 e x c --1.8506 e x e --1.4579 e x h --1.0403 e x i --2.6472 e x o --0.5448 e x p --0.6078 e x t --2.6472 e x u --1.1054 e y a --1.7606 e y b --1.6690 e y c --2.2895 e y d --0.6398 e y e --2.0359 e y f --2.1444 e y g --1.5002 e y h --1.3015 e y i --1.3789 e y k --1.9491 e y l --1.7124 e y m --2.1444 e y n --0.6636 e y o --2.2895 e y p --1.8148 e y r --1.2359 e y s --1.3015 e y t --2.1444 e y u --2.9744 e y v --1.0234 e y w --2.9744 e y y --0.1237 e z e --1.2833 e z i --1.2833 e z o --3.3016 f a a --1.6854 f a b --0.7012 f a c --1.6854 f a d --2.8362 f a e --1.7506 f a f --1.7278 f a g --2.0396 f a h --1.2585 f a i --3.3016 f a j --2.4716 f a k --0.9265 f a l --1.3796 f a m --0.8831 f a n --3.3016 f a o --1.8274 f a p --0.8960 f a r --1.1460 f a s --1.0160 f a t --2.1420 f a u --1.6468 f a v --2.2040 f a w --2.6167 f a x --2.8362 f a y --3.3016 f a z --0.8787 f b a --0.5668 f b e --1.4558 f b i --1.2021 f b l --0.7958 f b o --0.8353 f b r --1.0430 f b u --1.3107 f b y --0.9058 f c a --1.3095 f c e --1.5772 f c h --1.3818 f c i --1.4686 f c l --0.2073 f c o --1.2476 f c r --1.7223 f c u --0.7176 f d a --0.3580 f d e --0.7775 f d i --1.3618 f d o --1.0322 f d r --1.5069 f d u --0.9715 f e a --2.4564 f e b --1.0710 f e c --2.2610 f e d --0.8461 f e e --2.8209 f e f --2.8209 f e g --2.8209 f e h --1.9810 f e i --0.7713 f e l --2.3478 f e m --1.7595 f e n --2.3478 f e o --3.2863 f e p --2.8209 f e q --0.9113 f e r --0.6902 f e s --1.7595 f e t --2.6015 f e u --1.5794 f e v --1.3545 f e w --1.7850 f e x --1.0910 f f a --2.9248 f f b --1.7110 f f c --0.4226 f f e --2.9248 f f f --2.9248 f f g --2.4594 f f h --0.6140 f f i --1.5800 f f l --2.2399 f f m --2.9248 f f n --0.9833 f f o --1.6628 f f r --1.8995 f f s --1.5105 f f t --1.3086 f f u --2.9248 f f w --1.1445 f g a --0.8250 f g e --1.1445 f g i --1.4849 f g l --0.8644 f g o --0.3612 f g r --1.3398 f g u --2.1698 f g y --0.6976 f h a --0.6861 f h e --0.4972 f h i --0.8322 f h o --0.9596 f h u --2.5551 f h y --2.0936 f i a --2.4232 f i b --0.7617 f i c --1.9084 f i d --1.1670 f i e --1.4577 f i f --1.7790 f i g --2.4232 f i h --3.2532 f i i --1.4318 f i l --2.0394 f i m --0.6528 f i n --3.2532 f i p --0.7381 f i r --1.1404 f i s --1.0749 f i t --3.2532 f i u --1.3842 f i v --2.3147 f i w --1.8722 f i x --1.3093 f j a --0.2733 f j o --0.4299 f j u --1.0615 f k e --0.5961 f k i --1.0615 f k n --0.5961 f k r --0.6343 f l a --0.6288 f l e --2.8070 f l f --0.7793 f l i --0.6457 f l o --0.9984 f l u --1.5451 f l y --0.8897 f m a --2.6431 f m b --0.9047 f m e --2.1778 f m f --1.2622 f m i --0.7856 f m o --1.9583 f m u --0.3086 f m y --0.4660 f n a --0.6471 f n e --1.0361 f n i --0.5105 f n o --2.2646 f o a --2.7393 f o b --2.2646 f o c --3.4241 f o d --3.4241 f o e --2.0793 f o f --2.3988 f o g --3.4241 f o h --1.1093 f o l --1.7694 f o n --1.4732 f o o --2.9587 f o p --0.1897 f o r --1.8732 f o s --2.9587 f o t --0.7615 f o u --2.3988 f o v --3.4241 f o x --0.7265 f p a --1.0682 f p e --1.7624 f p h --1.3978 f p i --0.9658 f p l --0.8468 f p o --0.4744 f p r --2.2278 f p t --1.5429 f p u --0.2833 f q u --1.0752 f r a --0.7721 f r e --3.0445 f r h --1.1326 f r i --0.1831 f r o --2.0192 f r u --3.0445 f r y --1.0576 f s a --2.7305 f s b --1.2291 f s c --1.0946 f s e --2.7305 f s f --1.6329 f s h --1.1143 f s i --2.7305 f s k --1.5167 f s l --1.5709 f s m --1.1350 f s n --0.8289 f s o --1.3857 f s p --2.7305 f s r --2.7305 f s s --0.7795 f s t --0.8503 f s u --2.2651 f s w --1.7612 f t a --2.3836 f t b --2.7132 f t c --3.0778 f t d --0.9028 f t e --3.0778 f t f --3.0778 f t g --0.1447 f t h --1.6416 f t i --3.5431 f t k --2.8583 f t l --2.8583 f t m --2.5178 f t n --1.6741 f t o --2.8583 f t p --1.8047 f t r --2.1983 f t s --1.8884 f t t --2.7132 f t u --3.5431 f t v --1.7345 f t w --1.7093 f t y --2.4296 f u c --1.8697 f u g --0.1669 f u l --2.8950 f u m --1.4208 f u n --1.7355 f u p --0.9831 f u r --1.0260 f u s --1.4497 f u t --0.4192 f v a --0.7323 f v e --0.7865 f v i --0.6407 f v o --0.5259 f w a --0.7875 f w e --0.4297 f w h --1.0941 f w i --1.1997 f w o --2.1796 f w r --2.6450 f w u --1.9168 f y a --1.0868 f y e --0.9782 f y i --1.4514 f y m --0.2620 f y o --1.9168 f y p --1.9168 f y s --1.0868 f y t --1.9168 f y y --1.4453 g a b --1.9849 g a c --3.1987 g a d --3.1987 g a e --1.9367 g a f --1.3773 g a g --2.2602 g a h --0.8132 g a i --3.1987 g a j --3.1987 g a k --0.9587 g a l --1.9367 g a m --0.5361 g a n --1.7245 g a p --3.1987 g a q --1.3411 g a r --1.1335 g a s --1.0924 g a t --2.7333 g a u --1.2767 g a v --1.8933 g a w --2.7333 g a y --1.6249 g a z --1.0665 g b a --0.4913 g b e --1.6987 g b l --1.0665 g b o --1.4793 g b r --0.5480 g b u --0.9021 g b y --0.6851 g c a --2.1864 g c e --0.9726 g c h --1.0268 g c l --0.3288 g c o --1.1611 g c r --2.1864 g c u --1.0665 g d a --0.9021 g d e --0.6373 g d i --0.3303 g d o --1.4793 g d r --1.6987 g d u --1.2878 g e a --1.7840 g e b --2.0155 g e c --1.0796 g e d --2.3993 g e e --1.8150 g e f --2.1317 g e g --2.0155 g e h --1.4079 g e i --3.2293 g e k --1.7279 g e l --1.6555 g e m --1.0139 g e n --0.8947 g e o --2.0155 g e p --3.2293 g e q --0.7742 g e r --1.0139 g e s --0.8613 g e t --3.2293 g e u --1.8845 g e v --1.4614 g e w --1.9239 g e x --1.9239 g e y --0.8756 g f a --2.1809 g f e --0.9671 g f i --1.7155 g f l --0.5081 g f o --0.4425 g f r --1.7155 g f u --0.6820 g g a --2.0380 g g b --1.6735 g g c --2.5034 g g d --0.6576 g g e --2.5034 g g f --2.0380 g g h --1.0891 g g i --0.8132 g g l --1.6735 g g m --1.4781 g g o --1.2896 g g r --1.4781 g g s --1.4058 g g t --1.8186 g g u --1.4058 g g w --2.0380 g g y --1.4156 g h a --1.7662 g h b --2.4872 g h c --3.3171 g h d --1.3951 g h e --2.0552 g h f --3.3171 g h g --2.1033 g h h --1.0629 g h i --1.8158 g h l --2.0552 g h m --2.3786 g h n --1.8718 g h o --2.8517 g h p --2.8517 g h r --1.8718 g h s --0.1539 g h t --2.2195 g h u --1.6443 g h w --1.3972 g i a --2.2031 g i b --1.0821 g i c --2.0945 g i d --2.3482 g i e --1.7711 g i f --1.2244 g i g --2.0945 g i h --1.6521 g i l --0.4411 g i n --0.9678 g i o --2.0945 g i r --1.3602 g i s --1.1993 g i t --2.5677 g i u --0.8717 g i v --1.8735 g i w --3.0330 g i z --0.4200 g j e --0.4200 g j o --0.8854 g k e --0.4200 g k i --0.8854 g k n --0.7376 g l a --0.6550 g l e --0.6415 g l i --0.5856 g l o --1.0027 g l y --0.7266 g m a --0.7266 g m e --2.4168 g m h --1.5869 g m i --0.7810 g m o --1.7320 g m u --0.4132 g m y --0.6842 g n a --2.4928 g n c --0.7544 g n e --2.4928 g n h --0.5912 g n i --1.8080 g n m --0.6714 g n o --1.0475 g n s --2.0274 g n t --1.5431 g o a --1.5160 g o b --3.0173 g o c --1.7553 g o d --2.3325 g o e --0.8335 g o f --3.0173 g o g --2.3325 g o h --0.9667 g o i --2.0788 g o l --2.5519 g o m --0.8070 g o n --0.7232 g o o --3.0173 g o p --1.3445 g o r --2.5519 g o s --1.0220 g o t --1.0055 g o u --1.4435 g o v --2.5519 g o w --3.0173 g o y --0.7030 g p a --1.0868 g p e --0.6114 g p l --0.8192 g p o --0.5720 g p r --0.1189 g q u --0.6034 g r a --0.2511 g r e --3.0840 g r h --1.7031 g r i --0.8842 g r o --2.2541 g r u --1.5572 g r y --0.8770 g s a --1.8425 g s b --1.9876 g s c --2.2071 g s d --1.3671 g s e --1.8425 g s f --2.6725 g s g --1.1983 g s h --1.0770 g s i --2.2071 g s k --1.5129 g s l --2.2071 g s m --1.8425 g s n --0.7606 g s o --1.4105 g s p --2.6725 g s r --1.7339 g s s --0.7406 g s t --1.3277 g s u --1.1711 g s w --2.6725 g s y --2.5289 g t a --2.9943 g t c --1.8967 g t e --0.1878 g t h --1.7805 g t i --0.5392 g t o --1.8967 g t r --2.9943 g t s --2.5289 g t u --2.5289 g t w --1.2087 g u a --2.4663 g u b --0.6169 g u e --0.6250 g u i --0.8254 g u l --1.7721 g u m --1.2769 g u n --0.9807 g u p --1.6697 g u r --1.0301 g u s --2.2468 g u t --0.2998 g v e --0.9940 g v i --0.5209 g v o --0.5353 g w a --0.7570 g w e --0.6617 g w h --0.6154 g w i --1.2817 g w o --2.4955 g w r --0.6214 g y a --1.9268 g y b --1.9268 g y d --1.9268 g y e --1.4614 g y h --1.9268 g y i --1.9268 g y l --1.2419 g y m --0.5458 g y o --1.4614 g y p --1.9268 g y r --0.9882 g y t --1.4614 g y w --0.0756 g z a --1.9340 h a b --2.4945 h a c --0.8008 h a d --2.0417 h a f --2.2593 h a g --2.5307 h a h --2.1853 h a i --2.3245 h a k --1.2709 h a l --1.9340 h a m --0.8001 h a n --3.8755 h a o --1.4060 h a p --3.8755 h a q --1.2648 h a r --1.3381 h a s --0.5358 h a t --2.2396 h a u --0.8902 h a v --2.3245 h a w --3.1906 h a y --3.0455 h a z --1.2843 h b a --0.6067 h b e --2.2228 h b i --1.2843 h b l --0.6719 h b o --1.0090 h b r --0.7486 h b u --0.9608 h b y --0.6566 h c a --0.8266 h c e --1.1823 h c h --1.7422 h c i --2.2076 h c l --0.4397 h c o --0.9938 h c r --1.5227 h c u --0.8759 h d a --0.6287 h d e --0.7597 h d i --1.0350 h d o --0.6681 h d r --1.1436 h d u --1.9735 h d y --1.1775 h e a --1.6476 h e b --1.2914 h e c --1.2832 h e d --1.3130 h e e --1.4903 h e f --1.5298 h e g --1.5394 h e h --1.3956 h e i --2.5953 h e j --2.2808 h e k --1.4308 h e l --1.2166 h e m --1.1333 h e n --1.6455 h e o --1.3875 h e p --2.5116 h e q --0.8366 h e r --0.9545 h e s --1.5021 h e t --2.1373 h e u --1.7778 h e v --1.2691 h e w --2.6339 h e x --1.9041 h e y --3.5652 h e z --1.0507 h f a --0.9679 h f e --1.0507 h f i --1.1531 h f l --0.5041 h f o --0.8674 h f r --0.7858 h f u --1.2005 h g a --1.0554 h g e --1.8854 h g i --0.9468 h g l --0.9468 h g o --0.3116 h g r --1.4200 h g u --0.4333 h h a --0.6462 h h e --0.5754 h h i --1.0250 h h o --1.5878 h h u --2.5263 h h y --2.5605 h i a --2.3933 h i b --0.6858 h i c --1.9656 h i d --2.4689 h i e --2.6147 h i f --1.8141 h i g --2.4295 h i h --3.7742 h i j --3.3089 h i k --1.3557 h i l --1.1044 h i m --0.7889 h i n --2.6766 h i o --2.1195 h i p --1.7790 h i r --0.4030 h i s --1.4801 h i t --2.4689 h i v --2.3933 h i w --0.2479 h j o --0.5015 h j u --0.9823 h k e --0.5169 h k n --0.5169 h k y --0.8292 h l a --0.5608 h l e --0.7898 h l i --0.9208 h l o --2.1346 h l u --0.6077 h l y --0.9723 h m a --0.5418 h m e --2.4736 h m f --1.0927 h m i --1.2117 h m k --2.4736 h m m --0.9468 h m o --2.0083 h m r --2.0083 h m u --0.5321 h m y --0.9848 h n a --0.9848 h n e --1.8148 h n i --0.1600 h n o --1.8148 h n u --2.0918 h o a --2.7072 h o b --2.0103 h o c --2.0629 h o d --2.2751 h o e --1.3758 h o f --1.9862 h o h --2.0629 h o i --3.5371 h o j --2.3776 h o k --0.9452 h o l --1.7417 h o m --1.6795 h o n --1.5590 h o o --1.4374 h o p --0.9368 h o r --1.2065 h o s --1.6356 h o t --0.4760 h o u --2.5118 h o v --0.8532 h o w --0.7855 h p a --0.7373 h p e --1.1694 h p i --1.0608 h p l --1.0608 h p o --0.4980 h p r --1.5339 h p u --0.0268 h q u --1.2350 h r a --2.7619 h r d --0.4351 h r e --1.6023 h r i --0.3308 h r o --1.3166 h r u --1.6643 h r y --1.0809 h s a --1.6166 h s b --1.2932 h s c --1.0538 h s e --1.2104 h s h --1.2498 h s i --2.5551 h s k --1.8703 h s l --2.5551 h s m --2.0898 h s n --0.7872 h s o --1.6166 h s p --1.5298 h s s --0.7465 h s t --0.8167 h s u --1.8703 h s w --2.5551 h s y --1.2956 h t a --1.6157 h t b --2.0767 h t c --2.8733 h t d --1.2390 h t e --1.7028 h t f --2.4002 h t g --0.4773 h t h --1.2071 h t i --3.3387 h t j --1.7432 h t l --1.7432 h t m --1.8373 h t n --0.8471 h t o --2.0333 h t p --2.8733 h t q --1.7877 h t r --1.5432 h t s --1.3350 h t t --1.6318 h t u --3.3387 h t v --1.4268 h t w --1.1388 h t y --1.6266 h u d --2.2038 h u e --0.9567 h u g --0.7330 h u m --0.3710 h u n --1.7910 h u p --1.3148 h u r --0.8531 h u s --1.4743 h u t --0.2699 h v a --0.5995 h v e --1.4294 h v i --1.4294 h v o --0.6036 h w a --0.4556 h w e --0.6036 h w h --1.1830 h w i --1.1143 h w o --1.1010 h y a --2.0166 h y b --1.5434 h y c --1.6520 h y d --1.6520 h y e --2.4820 h y f --1.4567 h y g --1.2200 h y h --1.2200 h y i --1.4567 h y m --1.3224 h y n --0.7918 h y o --0.9806 h y p --2.0166 h y r --1.0367 h y s --1.3844 h y t --1.2682 h y u --1.2200 h y w --1.7971 h y y --0.2833 h z e --1.9054 i a a --1.7711 i a b --1.5859 i a c --1.4565 i a d --2.4653 i a e --1.9054 i a f --1.5859 i a g --2.9307 i a h --2.2458 i a i --0.7580 i a l --0.7810 i a m --0.7361 i a n --2.9307 i a o --2.1007 i a p --1.1093 i a r --0.9615 i a s --1.0087 i a t --2.9307 i a u --2.9307 i a v --1.7169 i a w --2.4112 i b a --2.1917 i b b --0.6270 i b e --1.2407 i b i --0.2085 i b l --1.9381 i b o --1.4623 i b r --1.6628 i b u --0.8249 i c a --2.2957 i c b --2.0067 i c c --2.5324 i c d --0.8487 i c e --2.1768 i c f --2.2523 i c g --0.4747 i c h --1.4021 i c i --1.4647 i c k --1.8192 i c l --2.1434 i c m --2.4601 i c n --1.1236 i c o --1.8192 i c p --3.5577 i c q --1.3423 i c r --1.8508 i c s --1.4647 i c t --1.3578 i c u --3.0923 i c v --2.1434 i c w --2.8728 i c y --1.3251 i d a --2.1137 i d b --2.0703 i d c --1.8743 i d d --0.3861 i d e --2.3504 i d f --2.1619 i d g --1.5298 i d h --0.8978 i d i --3.3757 i d j --3.3757 i d k --1.7802 i d l --1.2963 i d m --1.1865 i d n --1.5671 i d o --2.1619 i d p --2.6908 i d q --1.4955 i d r --1.4155 i d s --1.1865 i d t --2.5457 i d u --2.9103 i d v --1.6855 i d w --2.2161 i d y --2.5775 i e a --1.6265 i e c --0.3919 i e d --3.2624 i e e --1.7355 i e f --2.5775 i e g --2.4324 i e i --2.7970 i e k --1.5896 i e l --0.8471 i e n --2.7970 i e o --1.3305 i e r --0.7736 i e s --1.5090 i e t --2.4324 i e u --1.1561 i e v --1.7882 i e w --1.5722 i e x --1.5748 i f a --2.5836 i f b --3.0490 i f c --0.8652 i f e --0.8089 i f f --1.5748 i f h --0.6704 i f i --1.6680 i f l --1.9514 i f m --1.9514 i f n --1.0980 i f o --2.5836 i f p --3.0490 i f r --2.1105 i f s --0.7856 i f t --1.3942 i f u --1.3421 i f w --1.4131 i f y --1.1488 i g a --1.7537 i g e --1.3330 i g g --0.1839 i g h --1.4731 i g i --2.7897 i g l --3.2550 i g m --1.0823 i g n --1.7808 i g o --2.0413 i g r --2.0413 i g s --2.3165 i g t --1.3749 i g u --2.5702 i g z --0.1039 i h a --0.9442 i h e --1.8372 i h i --1.1162 i h o --1.2159 i i c --1.6812 i i f --1.2159 i i i --1.2159 i i l --0.9964 i i m --0.4675 i i n --1.6812 i i o --1.6812 i i r --1.2159 i i s --1.6812 i i t --1.6812 i i y --0.9823 i j e --0.1523 i j u --1.9082 i k a --0.1193 i k e --2.7381 i k h --1.6405 i k i --2.7381 i k m --0.9427 i k n --2.2728 i k r --1.3238 i k s --2.0533 i k t --2.2728 i k w --2.7381 i k y --1.4237 i l a --1.9937 i l b --2.9092 i l c --1.2075 i l d --0.6543 i l e --2.6898 i l f --2.6898 i l g --2.2770 i l h --1.0763 i l i --2.3493 i l k --0.4887 i l l --2.4361 i l m --2.1608 i l n --1.1644 i l o --3.3746 i l p --3.3746 i l q --2.6898 i l r --1.4836 i l s --1.7199 i l t --1.7791 i l u --2.6898 i l v --1.6362 i l w --1.2190 i l y --0.7957 i m a --1.6035 i m b --2.5915 i m c --3.2763 i m d --0.6155 i m e --2.1167 i m f --2.8109 i m g --1.9709 i m h --1.1766 i m i --3.2763 i m k --2.0143 i m l --1.3348 i m m --1.8021 i m n --1.8021 i m o --0.6515 i m p --2.3378 i m r --1.2408 i m s --1.4073 i m t --1.4944 i m u --3.2763 i m v --1.6215 i m w --2.4463 i m y --1.0905 i n a --2.5684 i n b --1.3749 i n c --1.2018 i n d --1.1881 i n e --1.6896 i n f --0.4596 i n g --1.7886 i n h --1.5751 i n i --3.4104 i n j --1.8364 i n k --1.8798 i n l --1.9006 i n m --2.0753 i n n --1.6550 i n o --2.3722 i n p --2.7143 i n q --2.3567 i n r --1.3184 i n s --0.7947 i n t --1.6580 i n u --2.1260 i n v --1.8748 i n w --2.9976 i n y --2.3952 i o b --2.6629 i o c --1.5912 i o d --2.5543 i o f --3.4928 i o g --3.4928 i o i --1.8200 i o l --2.5543 i o m --0.1156 i o n --2.6629 i o p --1.3674 i o r --2.0785 i o s --2.8080 i o t --0.9228 i o u --3.0274 i o v --3.4928 i o w --0.8264 i p a --2.4623 i p b --1.9969 i p c --1.9969 i p d --1.2485 i p e --2.4623 i p h --1.3647 i p i --1.3027 i p l --1.9969 i p m --1.1569 i p o --1.0813 i p p --1.1569 i p r --0.7088 i p s --1.0170 i p t --1.2003 i p u --2.4623 i p v --1.6323 i p w --2.4623 i p z --0.0075 i q u --1.1678 i r a --1.8507 i r b --1.1524 i r c --1.7812 i r d --0.5275 i r e --1.8507 i r f --2.5107 i r g --1.8507 i r h --1.1524 i r i --3.1955 i r j --2.2570 i r k --1.8146 i r l --1.4136 i r m --2.5107 i r n --1.2446 i r o --2.3656 i r p --3.1955 i r q --1.5408 i r r --0.8170 i r s --1.2002 i r t --2.0979 i r u --2.5107 i r v --1.5227 i r w --2.0979 i r y --1.1062 i s a --1.8374 i s b --1.1149 i s c --1.7303 i s d --1.1027 i s e --1.5435 i s f --1.8867 i s g --0.9212 i s h --1.1776 i s i --2.5745 i s j --2.2615 i s k --1.4349 i s l --1.4063 i s m --1.5483 i s n --1.4424 i s o --1.4424 i s p --2.2870 i s q --1.8867 i s r --1.1964 i s s --0.7564 i s t --1.9193 i s u --2.0499 i s v --1.4204 i s w --3.1035 i s y --1.2469 i t a --1.9408 i t b --1.9291 i t c --2.2357 i t d --0.9764 i t e --2.1912 i t f --2.7614 i t g --0.5393 i t h --0.9674 i t i --3.7867 i t j --3.7867 i t k --2.3125 i t l --1.7831 i t m --2.2598 i t n --1.5921 i t o --2.3724 i t p --1.9529 i t r --1.0680 i t s --1.2767 i t t --1.5975 i t u --2.9567 i t v --1.0127 i t w --1.1560 i t y --3.3213 i t z --0.2904 i u m --0.6446 i u n --1.4412 i u r --0.8089 i u s --1.9066 i u t --1.3559 i v a --0.0980 i v e --0.8574 i v i --2.9297 i v s --2.2449 i v u --2.2449 i v y --0.1356 i w a --1.2513 i w e --1.7581 i w h --0.8752 i w i --1.2823 i w o --1.2586 i x d --0.8162 i x e --1.3672 i x f --1.1718 i x h --1.3672 i x i --1.2586 i x m --0.7828 i x o --2.1971 i x p --1.7317 i x s --0.5069 i x t --1.7317 i x w --0.4200 i y i --0.8854 i y o --0.8854 i y s --1.0081 i z a --0.3099 i z e --1.8047 i z i --0.4363 i z o --2.2701 i z z --1.2974 j a g --1.5169 j a m --1.2974 j a n --1.5169 j a o --1.9823 j a p --1.0438 j a r --1.9823 j a s --0.4313 j a v --0.6375 j a w --1.5169 j a x --0.2833 j d e --0.0791 j e c --2.2228 j e l --1.7574 j e r --1.7574 j e s --1.0090 j e t --1.8026 j o h --0.9606 j o i --2.0220 j o k --2.4874 j o l --1.0421 j o r --2.4874 j o t --0.2332 j o u --0.7972 j o y --0.2950 j s a --0.7604 j s i --0.9116 j u d --2.2564 j u i --0.9945 j u l --1.2311 j u m --0.8421 j u n --1.4265 j u r --0.3344 j u s --1.7910 j u t --2.2564 j u v --0.7752 k a b --2.0328 k a c --2.0328 k a d --2.0328 k a f --1.2844 k a g --2.4981 k a h --2.4981 k a k --1.4005 k a l --2.0328 k a m --0.4783 k a n --2.0328 k a p --1.4005 k a r --1.1172 k a s --0.9472 k a t --2.4981 k a u --1.8133 k a w --1.2362 k a x --1.6257 k b a --0.6004 k b e --1.6257 k b o --1.6257 k b r --0.5281 k b u --0.6004 k b y --0.4119 k c a --1.6257 k c e --1.6257 k c h --0.9409 k c l --1.1603 k c o --0.6004 k c r --1.3972 k d a --0.7124 k d e --0.9319 k d i --0.4587 k d o --0.9319 k d u --0.8791 k e a --2.0945 k e b --2.0945 k e c --0.6475 k e d --1.2505 k e e --1.9488 k e f --2.7887 k e g --1.8088 k e h --1.5156 k e i --3.2541 k e j --3.2541 k e k --1.4586 k e l --1.6586 k e m --0.9119 k e n --1.3422 k e o --1.4455 k e p --1.9093 k e r --1.3525 k e s --0.9235 k e t --1.6380 k e u --2.3156 k e v --1.8732 k e w --2.3156 k e x --1.8088 k e y --0.3004 k f a --1.7457 k f i --0.5319 k f o --0.9158 k f r --0.0756 k g r --0.8040 k h a --0.6951 k h e --0.4735 k h i --0.8474 k h o --0.8956 k h u --2.1850 k i a --1.8446 k i c --2.8699 k i d --2.0399 k i e --2.4045 k i f --2.8699 k i g --2.1850 k i h --2.8699 k i k --2.4045 k i l --2.0399 k i m --0.1015 k i n --2.8699 k i o --2.1850 k i p --1.5645 k i r --1.6079 k i s --1.1797 k i t --2.4045 k i w --0.0096 k j a --0.5843 k k e --0.5843 k k n --0.5094 k l e --0.4005 k l i --0.9848 k l o --0.8763 k l y --0.7631 k m a --0.8499 k m e --0.9585 k m o --0.2871 k m y --0.5345 k n e --2.0168 k n i --0.2737 k n o --0.8000 k n u --2.3515 k o a --2.3515 k o c --2.3515 k o d --2.3515 k o e --0.3009 k o f --1.6666 k o h --1.8861 k o l --0.7777 k o n --1.8861 k o p --0.9062 k o r --1.0461 k o u --2.3515 k o v --0.1938 k p l --1.0732 k p o --0.7086 k p r --1.3247 k r a --0.3862 k r e --0.8593 k r i --0.8593 k r o --1.3247 k r u --0.8570 k s a --1.4824 k s b --1.6414 k s c --2.1146 k s d --1.8951 k s e --1.7500 k s f --2.5800 k s g --2.1146 k s h --1.1347 k s i --2.1146 k s l --1.8951 k s m --2.1146 k s n --0.6107 k s o --2.1146 k s p --1.7500 k s r --1.0290 k s s --0.9441 k s t --1.5547 k s u --1.0531 k s w --1.8951 k s y --2.3871 k t a --0.2617 k t h --0.3835 k t o --2.3871 k t s --1.9217 k t w --0.9882 k u l --0.9014 k u n --0.2199 k u p --0.9014 k u s --0.7385 k w a --0.6389 k w e --0.4448 k w h --0.7674 k w i --1.5279 k w o --1.0691 k y a --1.5422 k y b --1.5422 k y c --2.0076 k y d --1.3227 k y e --1.5422 k y f --1.3227 k y h --1.5422 k y i --0.7456 k y o --0.7456 k y r --1.1776 k y s --1.3227 k y t --0.9823 k y w --1.7302 l a b --0.9908 l a c --1.8079 l a d --3.4981 l a e --2.3386 l a f --2.4005 l a g --3.0328 l a h --1.2581 l a i --2.0529 l a k --2.0529 l a l --1.5566 l a m --0.5829 l a n --2.5596 l a o --1.7597 l a p --0.9583 l a r --0.8734 l a s --0.9259 l a t --1.8434 l a u --1.4475 l a v --1.9968 l a w --3.4981 l a x --1.3790 l a y --3.4981 l a z --1.0571 l b a --0.2973 l b e --2.3625 l b i --1.8971 l b l --0.9172 l b o --1.1487 l b r --2.3625 l b t --0.8356 l b u --1.8971 l b y --0.4286 l c a --1.5761 l c e --1.1561 l c h --2.1360 l c i --1.7714 l c l --0.6146 l c o --1.1271 l c r --0.7676 l c u --1.2430 l d a --1.0040 l d b --1.4542 l d c --1.8485 l d d --1.0374 l d e --1.4950 l d f --1.8485 l d g --0.9094 l d h --1.1191 l d i --2.5780 l d k --1.5244 l d l --1.5399 l d m --0.9440 l d n --1.3119 l d o --1.9575 l d p --1.6081 l d r --1.1437 l d s --1.2430 l d t --1.8819 l d u --2.5780 l d v --1.4415 l d w --2.2375 l d y --0.8598 l e a --1.7306 l e b --1.2963 l e c --1.0539 l e d --1.5704 l e e --1.4499 l e f --1.8449 l e g --1.4933 l e h --1.3208 l e i --2.5821 l e j --2.7705 l e k --1.9621 l e l --1.5908 l e m --1.1893 l e n --1.4652 l e o --1.6121 l e p --2.7705 l e q --1.3936 l e r --0.8950 l e s --0.9231 l e t --2.4905 l e u --1.6896 l e v --1.2512 l e w --2.2449 l e x --2.2449 l e y --0.7292 l f a --1.5988 l f b --1.9223 l f c --1.7012 l f d --1.5988 l f e --1.6470 l f f --2.3954 l f g --1.3339 l f h --0.8253 l f i --2.3954 l f j --1.7632 l f l --1.5554 l f m --1.8355 l f n --0.9592 l f o --2.0308 l f p --2.8608 l f q --1.7012 l f r --1.3339 l f s --0.9592 l f t --1.5988 l f u --2.1759 l f v --1.0789 l f w --2.3954 l f y --1.0260 l g a --0.7026 l g e --0.9392 l g i --1.1346 l g l --1.9645 l g n --0.8050 l g o --0.7026 l g r --1.1346 l g u --0.6539 l h a --0.4882 l h e --0.6153 l h i --0.7687 l h o --1.8047 l h u --1.4621 l i a --2.0234 l i b --1.4324 l i c --1.4940 l i d --1.0455 l i e --1.4858 l i f --0.9344 l i g --2.1528 l i h --2.8128 l i i --3.4976 l i j --0.8890 l i k --2.3380 l i l --1.4183 l i m --0.7633 l i n --2.4000 l i o --1.6762 l i p --1.9467 l i q --2.3380 l i r --1.2722 l i s --0.8573 l i t --1.4699 l i v --2.2838 l i w --3.4976 l i x --1.8248 l i z --0.1229 l j o --1.0615 l j u --1.1556 l k a --0.7356 l k e --2.1809 l k f --1.7155 l k h --0.6300 l k i --0.7666 l k n --1.3510 l k o --1.3510 l k s --1.3510 l k t --2.1809 l k u --1.7155 l k w --1.0833 l k y --1.2055 l l a --1.5285 l l b --1.8544 l l c --1.8544 l l d --0.8437 l l e --1.8544 l l f --2.1625 l l g --1.6297 l l h --0.9791 l l i --3.6078 l l j --2.2630 l l k --2.0809 l l l --1.5879 l l m --1.6042 l l n --0.8923 l l o --2.0123 l l p --1.9350 l l r --1.1861 l l s --0.9870 l l t --1.5216 l l u --2.7778 l l v --1.5015 l l w --0.8643 l l y --0.8945 l m a --2.6014 l m c --1.0276 l m e --2.6014 l m f --2.1360 l m h --1.0745 l m i --1.3876 l m l --2.1360 l m m --1.6628 l m n --0.5084 l m o --2.6014 l m p --2.1360 l m r --1.5038 l m s --2.1360 l m t --1.6628 l m u --2.1360 l m w --0.7324 l m y --1.2639 l n a --0.4639 l n e --1.2639 l n i --0.2804 l n o --1.5839 l o a --1.6302 l o b --1.2969 l o c --2.2502 l o d --1.1412 l o f --1.3988 l o g --3.4640 l o i --2.5255 l o m --0.7977 l o n --0.8873 l o o --1.6426 l o p --2.9986 l o q --1.3917 l o r --1.0002 l o s --1.8902 l o t --1.0855 l o u --1.8902 l o v --0.6789 l o w --2.6341 l o y --0.8184 l p a --2.2327 l p c --1.0731 l p e --2.2327 l p f --2.2327 l p g --0.8879 l p h --0.8879 l p i --1.0189 l p l --0.9707 l p o --0.7585 l p r --2.2327 l p s --1.5478 l p t --2.2327 l p u --0.1189 l q u --1.1302 l r a --0.1348 l r e --1.1302 l r i --2.2278 l r j --1.2025 l r o --2.2278 l r u --2.2278 l r y --0.9670 l s a --1.8192 l s b --1.5046 l s c --2.5134 l s d --0.8232 l s e --1.8812 l s f --1.3626 l s h --0.9510 l s i --2.9788 l s j --2.9788 l s k --1.9535 l s l --1.6734 l s m --2.0403 l s n --0.6932 l s o --1.9535 l s p --2.9788 l s q --2.1488 l s r --1.7650 l s s --0.8926 l s t --1.3059 l s u --2.9788 l s v --1.4519 l s w --2.2939 l s y --1.3030 l t a --2.3566 l t b --2.5761 l t c --1.2328 l t e --2.2115 l t f --0.3752 l t h --1.0547 l t i --3.0415 l t l --1.8277 l t m --3.0415 l t n --0.8917 l t o --3.0415 l t p --1.3185 l t r --1.5401 l t s --1.2736 l t t --2.3566 l t u --3.0415 l t v --1.6605 l t w --1.3030 l t y --1.6590 l u a --1.9886 l u b --1.3173 l u c --1.4738 l u d --0.9972 l u e --1.4377 l u g --1.6048 l u i --2.3532 l u k --2.8186 l u l --0.7393 l u m --0.9385 l u n --2.8186 l u o --1.1458 l u p --1.8801 l u r --0.9067 l u s --0.8867 l u t --1.3173 l u v --2.1337 l u x --1.4401 l v a --0.0547 l v e --1.2448 l v i --2.2701 l v o --0.4685 l w a --0.6999 l w e --0.6647 l w h --0.7658 l w i --1.2284 l w o --0.8515 l y a --1.2881 l y b --1.3042 l y c --1.3042 l y d --1.4843 l y e --1.3097 l y f --2.0137 l y g --1.4156 l y h --1.0923 l y i --2.6580 l y j --2.4627 l y k --1.4927 l y l --1.5864 l y m --1.6190 l y n --1.2156 l y o --1.5278 l y p --3.4880 l y q --1.3817 l y r --1.2384 l y s --0.9434 l y t --1.5465 l y u --2.2742 l y v --1.2200 l y w --2.4627 l y y --3.0226 l y z --2.0236 m a b --1.9946 m a c --0.9148 m a d --3.4688 m a e --2.4435 m a f --1.2906 m a g --3.0035 m a h --1.3191 m a i --2.7840 m a j --1.1009 m a k --1.1876 m a l --2.0879 m a m --0.6086 m a n --3.4688 m a o --2.1241 m a p --3.4688 m a q --1.0378 m a r --1.2009 m a s --0.9079 m a t --2.7840 m a v --3.0035 m a w --3.4688 m a x --1.2906 m a y --2.2069 m a z --1.1380 m b a --2.1739 m b c --0.5077 m b e --2.6393 m b f --1.0884 m b i --2.1739 m b j --0.8179 m b l --2.6393 m b n --1.2945 m b o --1.1651 m b r --1.3774 m b s --2.1739 m b t --0.8439 m b u --1.6140 m b y --1.3231 m c a --1.1036 m c e --0.6908 m c h --1.1036 m c l --0.4437 m c o --1.1036 m c r --1.3231 m c u --1.5621 m d a --0.5367 m d e --1.0967 m d i --0.8772 m d o --1.5621 m d r --0.8772 m d u --0.8772 m d y --0.9371 m e a --1.6376 m e b --1.7837 m e c --1.0009 m e d --1.8878 m e e --1.5833 m e f --2.0903 m e g --1.7094 m e h --1.3029 m e i --3.1759 m e j --2.8113 m e k --1.6997 m e l --1.3824 m e m --0.6863 m e n --1.4685 m e o --1.9183 m e p --2.8113 m e q --1.3471 m e r --1.2423 m e s --0.8507 m e t --1.8878 m e u --2.0251 m e v --1.4259 m e w --3.6412 m e x --2.5436 m e y --2.0542 m f a --0.9565 m f e --1.3693 m f i --1.5888 m f l --0.4183 m f o --0.4380 m f r --2.0542 m f u --1.2833 m g a --0.5985 m g e --1.2833 m g l --0.5985 m g o --0.8179 m g r --0.6208 m h a --0.4863 m h e --0.5484 m h i --1.0968 m h o --1.4373 m h u --2.7750 m i a --1.5676 m i c --1.2712 m i d --2.3019 m i e --2.1428 m i f --0.8833 m i g --2.7750 m i h --3.2404 m i k --0.9862 m i l --2.3019 m i m --0.3954 m i n --2.5556 m i o --2.5556 m i p --1.5676 m i r --1.0512 m i s --0.9297 m i t --2.3019 m i w --2.0809 m i x --0.2833 m j u --1.3972 m k e --0.9319 m k n --0.1353 m k o --1.4614 m l a --0.6648 m l e --0.9882 m l i --0.8291 m l o --1.9268 m l u --0.3758 m l y --0.9910 m m a --2.6812 m m b --1.9964 m m c --2.6812 m m d --0.5199 m m e --1.6559 m m h --0.7494 m m i --2.2159 m m m --2.6812 m m n --0.9133 m m o --2.6812 m m p --2.2159 m m r --2.2159 m m s --1.7427 m m t --1.4193 m m u --1.7427 m m w --0.8858 m m y --1.0775 m n a --0.4481 m n e --1.6375 m n l --2.1028 m n n --0.4867 m n o --2.1028 m n p --1.0052 m n s --2.1028 m n t --2.1028 m n v --2.1028 m n w --2.6794 m o a --2.8989 m o b --2.6794 m o c --1.6413 m o d --1.2452 m o f --2.6794 m o i --2.1505 m o k --2.2047 m o l --1.0964 m o m --0.8920 m o n --1.9500 m o o --0.5684 m o r --0.7745 m o s --1.2327 m o t --0.8543 m o u --1.4423 m o v --3.3643 m o y --0.7269 m p a --3.0615 m p b --0.7631 m p e --3.0615 m p f --3.0615 m p g --1.4877 m p h --1.7167 m p i --0.6726 m p l --0.6692 m p o --1.2039 m p r --1.7167 m p s --1.2936 m p t --2.1229 m p u --3.0615 m p w --2.2315 m p y --0.1189 m q u --0.6908 m r a --1.7885 m r b --1.7885 m r d --0.4831 m r e --1.7885 m r h --0.9585 m r i --1.7885 m r m --1.3231 m r n --1.3231 m r o --1.7885 m r t --1.7885 m r u --1.0540 m s a --2.2245 m s b --1.7513 m s c --2.2245 m s d --0.5644 m s e --2.0050 m s f --2.0050 m s h --1.1885 m s i --2.2245 m s k --2.0050 m s l --2.2245 m s m --2.0050 m s n --0.7989 m s o --1.8599 m s p --2.6898 m s q --2.2245 m s r --2.0050 m s s --0.7678 m s t --1.3845 m s u --1.2755 m s w --2.6335 m t a --2.1682 m t e --0.1159 m t h --1.9487 m t i --2.6335 m t n --0.7320 m t o --1.9487 m t r --0.5562 m u c --1.3605 m u l --2.3404 m u m --1.2789 m u n --1.8672 m u p --0.9971 m u r --0.3477 m u s --1.3315 m u t --0.1899 m v e --0.6630 m v o --0.9602 m w a --0.8203 m w e --0.3537 m w h --0.6494 m w i --1.4356 m w o --2.2656 m w r --1.6204 m y a --1.2814 m y b --1.5322 m y c --1.4110 m y d --1.3044 m y e --1.3611 m y f --1.8803 m y g --1.2649 m y h --1.7473 m y i --2.5156 m y j --2.7693 m y k --1.5740 m y l --1.5740 m y m --1.8183 m y n --1.5632 m y o --1.5740 m y p --3.4541 m y q --1.5322 m y r --0.8294 m y s --1.7007 m y t --0.5152 m y u --2.1488 m y v --1.5126 m y w --2.9888 m y y --2.6335 n a a --1.2532 n a b --1.4767 n a c --1.6548 n a d --3.4634 n a e --1.7100 n a f --1.6176 n a g --1.8275 n a h --1.9366 n a i --2.5249 n a j --1.9366 n a k --0.8867 n a l --1.3197 n a m --0.7796 n a n --2.6335 n a o --1.7405 n a p --2.9980 n a q --1.1251 n a r --0.9911 n a s --0.6923 n a t --2.4381 n a u --1.7250 n a v --1.6176 n a w --3.4634 n a y --2.9980 n a z --1.4975 n b a --0.4823 n b e --1.9102 n b i --2.1297 n b j --1.9102 n b l --0.8721 n b o --1.4355 n b r --0.6349 n b u --0.7375 n b y --1.5915 n c a --0.3738 n c e --1.3638 n c h --1.4780 n c i --0.4910 n c l --1.1713 n c o --1.4008 n c r --1.6445 n c t --2.4882 n c u --1.7905 n c y --1.1200 n d a --1.6650 n d b --1.5917 n d c --1.5648 n d d --0.8889 n d e --1.5878 n d f --1.8493 n d g --1.5291 n d h --0.9477 n d i --2.7008 n d j --2.5002 n d k --1.6697 n d l --1.3919 n d m --1.8639 n d n --1.1636 n d o --1.5611 n d p --3.0846 n d q --1.3163 n d r --1.0352 n d s --0.9301 n d t --1.6891 n d u --2.2598 n d v --1.2272 n d w --1.8352 n d y --1.0628 n e a --2.1889 n e b --1.4183 n e c --0.7916 n e d --1.7313 n e e --1.5134 n e f --2.1618 n e g --1.8813 n e h --1.3819 n e i --3.1978 n e j --3.1978 n e k --1.5908 n e l --1.7122 n e m --1.5377 n e n --1.2478 n e o --1.7830 n e p --2.5655 n e q --1.1994 n e r --0.9657 n e s --1.4581 n e t --2.1889 n e u --1.1584 n e v --1.2169 n e w --1.2881 n e x --1.3364 n e y --0.8606 n f a --0.9467 n f e --0.8144 n f i --0.9970 n f l --0.5477 n f o --0.9467 n f r --1.0540 n f u --0.9493 n g a --1.6082 n g b --1.5785 n g c --1.6021 n g d --1.0629 n g e --1.5842 n g f --2.0851 n g g --1.4586 n g h --1.1271 n g i --2.9099 n g j --2.9099 n g k --1.3181 n g l --1.4131 n g m --1.9444 n g n --1.1676 n g o --1.8279 n g p --3.2744 n g q --1.4950 n g r --1.1353 n g s --0.7685 n g t --1.2456 n g u --2.2945 n g v --1.2818 n g w --2.4345 n g y --0.5744 n h a --0.6556 n h e --0.5662 n h i --0.7556 n h o --1.2262 n h u --1.7150 n i a --2.3799 n i b --1.1604 n i c --1.8097 n i d --1.9310 n i e --1.3259 n i f --1.3190 n i g --1.8783 n i h --2.7203 n i i --2.5752 n i k --2.0604 n i l --1.2381 n i m --0.4789 n i n --1.4360 n i o --2.2456 n i p --3.4052 n i q --2.0604 n i r --0.9650 n i s --0.7884 n i t --2.5752 n i u --2.3799 n i v --1.6983 n i w --1.9599 n i z --1.6450 n j a --1.6450 n j e --0.3002 n j o --0.4312 n j u --1.4807 n k a --2.5060 n k b --2.5060 n k d --1.1612 n k e --2.5060 n k g --1.4807 n k h --0.7991 n k i --2.0406 n k l --2.0406 n k m --0.8701 n k n --0.8701 n k o --2.5060 n k p --0.7381 n k s --1.0607 n k t --1.0917 n k w --2.0406 n k y --1.0394 n l a --0.9006 n l e --1.0929 n l i --2.3954 n l l --1.5160 n l o --2.3954 n l u --0.1839 n l y --0.7831 n m a --2.6847 n m b --1.1834 n m e --1.1337 n m i --0.8633 n m o --1.5251 n m u --0.2891 n m y --1.4396 n n a --0.3337 n n e --0.9786 n n i --2.7016 n n k --0.4812 n n o --2.7016 n n s --1.3568 n n u --2.7016 n n y --2.1710 n o a --2.2914 n o b --1.7922 n o c --1.7308 n o d --2.1213 n o e --0.9140 n o f --2.5127 n o g --2.1213 n o h --1.7604 n o i --3.2069 n o k --1.8637 n o l --1.3740 n o m --1.2937 n o n --2.1981 n o o --2.0364 n o p --3.6723 n o q --1.0377 n o r --1.9044 n o s --0.4792 n o t --1.1889 n o u --2.2580 n o v --0.7985 n o w --2.5127 n o y --0.8735 n p a --0.9335 n p e --1.8824 n p h --1.1882 n p i --0.9335 n p l --0.6749 n p o --0.5659 n p r --1.5178 n p u --2.3478 n p y --0.0060 n q u --0.8959 n r a --0.2595 n r e --1.5673 n r i --0.8704 n r o --1.5673 n r u --0.9520 n r y --1.0454 n s a --1.7473 n s b --1.6013 n s c --2.0893 n s d --0.9924 n s e --1.8344 n s f --2.3727 n s g --1.3147 n s h --0.8357 n s i --2.7854 n s j --3.4703 n s k --1.7318 n s l --1.9434 n s m --2.0893 n s n --0.8980 n s o --1.6127 n s p --2.1649 n s r --1.8344 n s s --0.7048 n s t --1.3979 n s u --2.5317 n s v --1.0882 n s w --2.6403 n s y --1.2098 n t a --2.3546 n t b --2.2267 n t c --2.0860 n t d --0.9406 n t e --2.0124 n t f --2.4361 n t g --0.4911 n t h --1.0647 n t i --3.4161 n t j --3.4161 n t k --1.5626 n t l --1.9695 n t m --2.5761 n t n --0.8336 n t o --2.2086 n t p --2.6195 n t q --1.4148 n t r --1.2188 n t s --1.5916 n t t --1.6763 n t u --2.7838 n t v --1.6560 n t w --1.8616 n t y --1.4817 n u a --0.7148 n u e --2.7871 n u f --1.6895 n u i --0.9533 n u m --0.8961 n u n --1.9571 n u o --1.0969 n u p --2.7871 n u r --0.6200 n u s --0.7835 n u t --0.8201 n v a --0.4337 n v e --0.5601 n v i --0.8670 n v o --1.3686 n v u --2.3939 n v y --0.6593 n w a --0.6984 n w e --0.4317 n w h --0.8241 n w i --1.3259 n w o --2.1319 n w r --0.0091 n x i --1.1696 n y a --1.8472 n y b --1.3714 n y c --1.5719 n y d --1.3714 n y e --1.5238 n y f --2.7857 n y g --1.3404 n y h --1.4048 n y i --1.4804 n y l --1.2589 n y m --1.9558 n y n --0.7502 n y o --1.2119 n y p --1.4409 n y r --1.2119 n y s --0.8165 n y t --1.7604 n y u --2.7857 n y v --1.3404 n y w --2.3203 n y y --0.7604 n z a --0.7604 n z e --0.7604 n z i --1.8488 o a b --1.0574 o a c --0.8192 o a d --2.0699 o a f --2.3236 o a g --1.7464 o a h --1.9831 o a k --0.9966 o a l --1.5631 o a m --0.8646 o a n --1.6636 o a p --3.0084 o a q --0.9504 o a r --0.9504 o a s --0.8192 o a t --3.0084 o a u --1.7464 o a v --2.5430 o a w --2.5430 o a x --1.0217 o b a --2.2687 o b b --0.2561 o b e --2.9535 o b h --1.9282 o b i --1.3581 o b j --1.4793 o b l --1.9282 o b o --1.7398 o b r --0.8473 o b s --1.8559 o b t --1.3374 o b u --2.9535 o b v --2.1236 o b y --1.3251 o c a --1.1769 o c c --0.9171 o c e --1.3555 o c h --1.5772 o c i --0.4382 o c k --1.0354 o c l --0.8197 o c o --1.5772 o c r --1.8647 o c t --1.4237 o c u --1.2647 o d a --1.7413 o d b --2.1476 o d c --1.4906 o d d --0.8508 o d e --1.7051 o d f --1.7051 o d h --0.6805 o d i --3.0861 o d j --2.2561 o d l --1.9885 o d m --2.4012 o d n --0.6972 o d o --2.0608 o d p --1.5847 o d r --1.3326 o d s --1.5592 o d t --1.1845 o d u --1.5847 o d w --1.2059 o d y --1.0659 o e a --2.5112 o e b --2.5112 o e c --2.5112 o e d --2.0458 o e f --1.5727 o e i --2.0458 o e l --1.8263 o e m --0.8753 o e n --1.8263 o e r --0.4319 o e s --1.8263 o e t --2.5112 o e u --1.4136 o e v --2.5112 o e w --0.6653 o e x --2.5112 o e y --1.0393 o f a --1.8361 o f b --1.5407 o f c --1.7489 o f d --1.1043 o f e --1.4258 o f f --1.7370 o f g --1.4316 o f h --1.4258 o f i --2.3853 o f j --2.8614 o f k --1.6098 o f l --1.2863 o f m --1.9647 o f n --1.3373 o f o --1.6975 o f p --1.6466 o f r --1.2097 o f s --0.4833 o f t --2.0653 o f u --1.9748 o f v --1.3819 o f w --2.4724 o f y --1.5567 o g a --0.7210 o g e --2.0314 o g g --2.2509 o g h --0.5909 o g i --1.6910 o g l --2.0314 o g m --1.3020 o g n --0.8825 o g o --0.7382 o g r --2.7163 o g s --2.2509 o g t --1.6187 o g u --2.7163 o g w --1.2421 o g y --0.4610 o h a --0.9045 o h e --0.5427 o h i --2.6864 o h m --0.9635 o h o --2.6864 o h t --0.9962 o h u --2.2210 o h w --2.2210 o h y --2.5037 o i a --2.9690 o i b --0.9572 o i c --1.2461 o i d --2.1391 o i f --2.9690 o i g --2.9690 o i h --0.7798 o i l --1.8714 o i m --0.3403 o i n --1.7553 o i r --1.1232 o i s --1.1736 o i t --2.0305 o i w --0.0925 o j e --1.8744 o j o --0.8491 o j u --1.0686 o k a --2.2175 o k b --1.6886 o k c --1.9639 o k d --0.3650 o k e --1.8771 o k f --1.3069 o k h --1.0938 o k i --1.9639 o k l --1.8771 o k m --1.2862 o k n --1.5576 o k o --1.4881 o k p --2.9024 o k r --1.4011 o k s --1.5215 o k t --1.3069 o k u --1.6886 o k w --2.4370 o k y --1.4751 o l a --2.4538 o l b --1.2114 o l c --0.9017 o l d --0.6570 o l e --2.8184 o l f --3.2837 o l h --1.0735 o l i --3.2837 o l k --0.6751 o l l --3.2837 o l m --2.2584 o l n --0.8814 o l o --1.8694 o l s --2.0218 o l t --1.1583 o l u --1.9028 o l v --2.1861 o l y --1.2166 o m a --1.5401 o m b --2.7055 o m c --2.7055 o m d --0.3975 o m e --2.0901 o m f --2.8506 o m g --1.7535 o m h --1.3150 o m i --3.5354 o m j --2.3759 o m l --1.3462 o m m --2.8506 o m n --1.3051 o m o --0.9288 o m p --3.5354 o m q --2.3216 o m r --1.6339 o m s --1.1331 o m t --1.7140 o m u --3.0700 o m v --1.7970 o m w --1.1675 o m y --1.2210 o n a --1.7304 o n b --1.3399 o n c --1.4063 o n d --0.8420 o n e --1.6679 o n f --1.1941 o n g --1.6536 o n h --1.2210 o n i --2.9646 o n j --2.7436 o n k --1.4116 o n l --1.7969 o n m --2.0121 o n n --1.0522 o n o --2.3076 o n p --3.0732 o n q --2.4888 o n r --0.9051 o n s --0.7756 o n t --2.3076 o n u --1.9250 o n v --1.3855 o n w --2.1802 o n y --3.9031 o n z --3.2601 o o a --1.8458 o o b --3.2601 o o c --0.6923 o o d --3.2601 o o e --1.2170 o o f --2.5753 o o g --2.5753 o o h --3.2601 o o i --0.5227 o o k --1.3381 o o l --1.2170 o o m --0.8746 o o n --3.2601 o o o --1.8458 o o p --1.3911 o o r --1.9981 o o s --1.3482 o o t --1.3911 o o u --2.2348 o o v --2.1625 o o w --1.1356 o p a --0.3666 o p e --1.3086 o p h --1.1600 o p i --1.2135 o p l --2.2966 o p m --1.0695 o p o --1.1124 o p p --1.1995 o p r --1.6366 o p s --1.7194 o p t --1.5671 o p u --2.2966 o p w --0.0268 o q u --1.2525 o r a --1.9132 o r b --1.7390 o r c --1.0030 o r d --0.6932 o r e --2.0087 o r f --1.8627 o r g --1.5641 o r h --1.2231 o r i --3.8042 o r j --1.6979 o r k --1.6604 o r l --1.1397 o r m --1.5991 o r n --1.3609 o r o --2.1683 o r p --3.3388 o r q --1.4222 o r r --1.3020 o r s --0.8044 o r t --2.1140 o r u --2.8657 o r v --1.5453 o r w --1.6043 o r y --1.2638 o s a --2.6652 o s b --2.1904 o s c --0.5917 o s e --1.7141 o s h --1.0155 o s i --2.0880 o s l --2.4115 o s m --2.6652 o s n --1.3632 o s o --1.2123 o s p --0.7689 o s s --0.6111 o s t --1.7545 o s u --2.2524 o s w --2.8846 o s y --1.1725 o t a --1.6046 o t b --1.8418 o t c --1.9693 o t d --1.3060 o t e --2.0635 o t f --2.1505 o t g --0.3156 o t h --1.1658 o t i --2.4672 o t k --1.7969 o t l --1.7693 o t m --2.8799 o t n --1.4151 o t o --2.0635 o t p --2.8799 o t q --1.7969 o t r --1.3921 o t s --1.0814 o t t --1.9486 o t u --2.6263 o t v --1.6958 o t w --3.0994 o t y --1.9638 o u a --1.5593 o u b --2.0252 o u c --1.7326 o u d --2.8077 o u e --3.2205 o u f --1.1041 o u g --2.1984 o u h --2.6433 o u i --2.7457 o u k --0.8493 o u l --2.2506 o u m --0.9148 o u n --2.8800 o u o --2.2325 o u p --3.9053 o u q --0.6270 o u r --0.7988 o u s --0.7995 o u t --3.0754 o u u --3.9053 o u v --2.0363 o u w --1.6175 o v a --0.0500 o v e --1.1295 o v i --2.1685 o v o --0.9673 o w a --1.5971 o w b --1.8225 o w c --1.6686 o w d --0.6631 o w e --1.9759 o w f --2.3797 o w g --1.1789 o w h --1.1466 o w i --3.4773 o w j --2.7924 o w k --1.5454 o w l --1.7238 o w m --0.7132 o w n --1.4736 o w o --2.2153 o w p --2.7924 o w q --2.0320 o w r --1.3335 o w s --1.1505 o w t --2.1719 o w u --3.0119 o w v --1.5357 o w w --2.2635 o w y --3.4773 o w z --0.4341 o x e --0.4341 o x i --1.4594 o x m --1.4594 o x o --1.4594 o x y --0.7099 o y a --1.9369 o y b --1.7918 o y c --2.6218 o y d --1.1765 o y e --2.6218 o y g --1.2408 o y h --0.9149 o y i --2.1564 o y m --2.6218 o y n --0.4840 o y o --2.6218 o y r --1.2770 o y s --1.5965 o y t --2.6218 o y u --2.6218 o y v --1.3598 o y w --1.6832 o y y --0.0213 o z e --1.8507 p a b --1.3606 p a c --2.6907 p a d --2.3261 p a g --3.1560 p a h --1.1362 p a i --1.3223 p a l --3.1560 p a m --0.9065 p a n --2.0584 p a p --2.2175 p a q --0.4586 p a r --0.6645 p a s --1.1442 p a t --1.7417 p a u --2.6907 p a v --3.1560 p a w --2.2175 p a y --0.5752 p b e --0.6838 p b o --0.8289 p b u --0.5752 p b y --0.4240 p c a --0.6776 p c h --0.6776 p c o --1.3625 p c u --0.7210 p d e --1.1864 p d i --0.3564 p d o --1.1864 p d u --0.6669 p e a --2.7210 p e b --0.9308 p e c --1.1379 p e d --1.8790 p e e --1.6674 p e f --2.4673 p e g --3.4058 p e h --1.9606 p e i --1.5368 p e l --2.4673 p e m --0.9280 p e n --1.5368 p e o --2.5759 p e p --0.5514 p e r --1.4838 p e s --1.5257 p e t --3.4058 p e u --2.7210 p e v --2.2463 p e w --3.4058 p e x --2.9405 p e y --0.7446 p f a --1.4294 p f e --0.7446 p f o --0.3318 p f r --0.8854 p g a --0.8854 p g o --0.8854 p g r --0.8854 p g u --0.9943 p h a --0.2886 p h e --2.6671 p h h --0.7256 p h i --1.7286 p h l --1.8372 p h o --1.1658 p h r --2.6671 p h s --1.9823 p h t --1.8372 p h u --1.3618 p h y --2.1850 p i a --2.8699 p i b --0.9189 p i c --0.8047 p i d --1.0361 p i e --2.1850 p i f --2.8699 p i g --1.9314 p i h --2.8699 p i i --2.8699 p i k --1.1630 p i l --2.1850 p i m --0.6157 p i n --2.1850 p i o --2.4045 p i p --1.4556 p i r --1.7723 p i s --0.7261 p i t --2.0399 p i w --0.2833 p j u --0.4066 p l a --0.6437 p l e --0.8306 p l i --1.2736 p l o --1.5806 p l u --0.8262 p l y --0.8151 p m e --1.6450 p m o --0.1182 p m y --0.5169 p n e --0.2974 p n o --1.9266 p o c --2.3329 p o d --2.5866 p o e --1.5180 p o f --1.0560 p o i --1.4256 p o k --1.5330 p o l --2.8060 p o m --0.6407 p o n --1.7972 p o o --2.4415 p o p --0.7963 p o r --0.5591 p o s --1.5645 p o t --1.5330 p o u --3.2714 p o v --1.3494 p o w --1.3034 p p a --0.2459 p p e --1.3627 p p i --1.2352 p p l --0.8519 p p o --1.0167 p p r --1.4313 p p y --1.7837 p r a --0.5167 p r e --0.8996 p r i --0.2705 p r o --1.8397 p r u --0.9227 p s a --1.7888 p s b --1.7888 p s c --2.4736 p s d --0.6782 p s e --1.3760 p s f --1.3141 p s h --1.0283 p s i --2.0083 p s l --2.0083 p s m --2.4736 p s n --0.7834 p s o --2.4736 p s p --2.4736 p s s --0.9723 p s t --1.6437 p s u --1.1683 p s w --2.4736 p s y --1.1419 p t a --2.8148 p t b --1.9848 p t c --0.7496 p t e --2.1299 p t f --2.8148 p t g --0.6477 p t h --0.6149 p t i --2.1299 p t m --2.8148 p t n --1.1246 p t o --2.8148 p t p --1.9848 p t r --1.7172 p t s --1.3134 p t t --1.4005 p t u --2.3494 p t v --1.7895 p t w --1.9848 p t y --1.0062 p u b --2.3871 p u d --0.8361 p u l --1.7023 p u m --1.7023 p u n --1.4486 p u p --0.8133 p u r --1.3618 p u s --0.4269 p u t --1.1733 p u z --0.4200 p v a --0.8854 p v e --0.8854 p v o --0.2357 p w a --0.9020 p w e --1.6504 p w h --0.7710 p w i --2.1158 p w o --1.2859 p w r --1.0898 p y a --0.9447 p y c --1.7747 p y d --1.7747 p y e --1.7747 p y f --0.9447 p y o --1.3093 p y p --0.8361 p y r --0.7494 p y s --1.3093 p y t --1.7747 p y u --1.7747 p y w --0.2833 p z i --0.2833 q e d --0.6935 q u a --0.5664 q u e --0.2892 q u i --2.3778 q u o --2.8432 q u y --1.3396 r a b --1.2228 r a c --1.6133 r a d --1.2868 r a f --1.4098 r a g --2.4113 r a h --1.4253 r a i --2.5998 r a k --1.0083 r a l --1.6470 r a m --0.6628 r a n --1.6384 r a o --1.3310 r a p --1.5255 r a r --1.3483 r a s --0.7742 r a t --2.5998 r a u --1.3997 r a v --1.6384 r a w --1.8432 r a y --3.1597 r a z --0.8102 r b a --0.4819 r b e --2.6316 r b f --2.6316 r b h --1.5340 r b i --1.9468 r b l --2.1662 r b m --0.8361 r b o --2.6316 r b p --1.2507 r b r --2.6316 r b s --2.6316 r b t --0.8102 r b u --1.1574 r b y --0.9387 r c a --0.5313 r c e --0.7014 r c h --1.5025 r c i --1.5720 r c l --0.7730 r c o --1.3658 r c r --2.9168 r c s --2.2319 r c t --1.0152 r c u --2.2319 r c y --1.0529 r d a --1.8864 r d b --2.1336 r d c --2.2059 r d d --0.7820 r d e --1.8169 r d f --2.7658 r d g --1.9259 r d h --0.7265 r d i --2.7658 r d j --2.0717 r d l --1.9259 r d m --2.1336 r d n --1.1881 r d o --2.7658 r d p --3.2312 r d q --1.8503 r d r --0.6772 r d s --1.2994 r d t --1.5953 r d u --2.7658 r d v --1.0641 r d w --2.2059 r d y --0.7243 r e a --1.9313 r e b --1.2194 r e c --0.9419 r e d --1.3576 r e e --1.4224 r e f --1.6888 r e g --1.8365 r e h --1.3888 r e i --2.7690 r e j --3.3462 r e k --1.7768 r e l --1.2936 r e m --1.3489 r e n --1.6595 r e o --1.3888 r e p --2.2224 r e q --1.8994 r e r --0.9772 r e s --1.1198 r e t --2.1620 r e u --1.7815 r e v --1.3471 r e w --2.2224 r e x --1.8639 r e y --0.7447 r f a --2.8444 r f c --0.6606 r f e --1.5824 r f f --2.8444 r f h --1.1716 r f i --2.8444 r f j --1.5391 r f l --0.9029 r f o --2.8444 r f p --1.1059 r f r --2.8444 r f s --2.8444 r f t --0.6044 r f u --0.9729 r g a --2.6277 r g b --0.5280 r g e --2.6277 r g f --2.6277 r g g --1.2468 r g i --1.6024 r g l --2.6277 r g n --0.7701 r g o --0.9729 r g r --2.1623 r g s --1.6024 r g t --0.9729 r g u --1.7977 r g w --1.3657 r g y --0.3261 r h a --0.6511 r h e --1.0103 r h i --2.8562 r h m --0.8781 r h o --1.2014 r h u --2.8562 r h y --1.5675 r i a --1.2724 r i b --1.2280 r i c --1.5307 r i d --0.7556 r i e --1.7816 r i f --1.3089 r i g --2.1288 r i h --3.6030 r i i --1.9483 r i k --1.6163 r i l --1.7816 r i m --0.7182 r i n --1.0111 r i o --2.0521 r i p --2.4435 r i r --1.0154 r i s --1.1845 r i t --2.0521 r i u --1.6163 r i v --2.1288 r i w --2.7731 r i x --3.6030 r i y --1.7229 r i z --1.1161 r j a --1.4807 r j e --0.1123 r j o --1.9461 r j s --1.2612 r j u --0.8011 r k a --1.8170 r k b --1.4873 r k c --2.6469 r k d --0.7893 r k e --2.6469 r k f --2.6469 r k g --1.5493 r k h --1.0960 r k i --2.1815 r k j --1.3849 r k l --1.7084 r k m --0.8935 r k n --1.2326 r k o --2.6469 r k p --2.6469 r k r --0.9741 r k s --1.2016 r k t --2.1815 r k u --1.4873 r k w --2.1815 r k y --0.9684 r l a --0.8030 r l d --1.0829 r l e --1.0079 r l i --2.7898 r l l --1.3445 r l o --2.7898 r l p --1.7645 r l u --2.1050 r l w --0.3318 r l y --0.7517 r m a --2.1280 r m b --2.1280 r m c --2.6011 r m d --0.7397 r m e --3.0665 r m f --2.2365 r m h --0.8411 r m i --1.9069 r m l --2.2365 r m m --0.7682 r m o --2.3816 r m p --3.0665 r m r --1.0797 r m s --1.6856 r m t --1.5652 r m u --1.9689 r m w --0.9109 r m y --0.9687 r n a --1.8953 r n b --2.3700 r n c --2.5895 r n d --0.3762 r n e --2.0296 r n f --1.8953 r n h --0.8711 r n i --3.0549 r n j --2.1164 r n l --2.0296 r n m --3.0549 r n n --0.9052 r n o --2.0296 r n p --2.0296 r n r --1.3480 r n s --1.3821 r n t --1.9573 r n u --2.5895 r n v --1.7929 r n w --3.0549 r n y --1.3402 r o a --1.7760 r o b --1.1223 r o c --1.6017 r o d --2.9821 r o e --0.7074 r o f --1.8990 r o g --3.2016 r o h --2.6416 r o i --1.8850 r o j --2.0122 r o k --1.8850 r o l --0.8219 r o m --1.2849 r o n --1.5807 r o o --1.4887 r o p --1.6717 r o r --1.4887 r o s --1.9440 r o t --0.7416 r o u --1.6090 r o v --1.3363 r o w --2.7284 r o x --2.6416 r o y --2.9821 r o z --0.8643 r p a --0.7840 r p e --1.6792 r p h --1.7878 r p i --1.3558 r p l --0.8793 r p o --0.3589 r p r --2.1524 r p s --2.6178 r p t --1.9329 r p u --2.6178 r p w --0.0268 r q u --0.8708 r r a --0.6138 r r e --0.5324 r r i --3.0600 r r n --0.8012 r r o --1.6457 r r u --0.8497 r r y --1.0252 r s a --1.8698 r s b --1.7081 r s c --2.4055 r s d --0.7607 r s e --2.0820 r s f --2.4055 r s g --1.2788 r s h --1.2249 r s i --3.3440 r s j --2.5141 r s k --1.7278 r s l --1.6712 r s m --2.2464 r s n --0.8978 r s o --1.4864 r s p --2.4055 r s r --1.7930 r s s --0.6285 r s t --1.3931 r s u --2.5141 r s v --1.2717 r s w --3.3440 r s y --0.9134 r t a --2.2918 r t b --3.0884 r t c --2.8689 r t d --1.2725 r t e --2.5284 r t f --2.2918 r t g --0.3444 r t h --1.1135 r t i --1.8809 r t l --2.2918 r t m --3.0884 r t n --0.9329 r t o --3.0884 r t p --2.0028 r t r --1.7858 r t s --2.0028 r t t --1.2813 r t u --1.7079 r t w --1.5501 r t y --2.8689 r t z --1.5037 r u b --1.1693 r u c --1.4041 r u d --1.2394 r u e --1.1565 r u g --1.7159 r u h --1.4511 r u i --1.3824 r u l --1.1565 r u m --0.8223 r u n --0.9661 r u p --2.9779 r u r --0.6472 r u s --1.1565 r u t --0.5715 r v a --0.2682 r v e --1.1225 r v i --1.0021 r v o --2.5034 r v y --0.5119 r w a --0.6636 r w e --0.5832 r w h --0.9621 r w i --1.0481 r w o --2.2091 r w r --2.8940 r w t --1.0687 r y a --1.4653 r y b --1.4905 r y c --1.4301 r y d --1.4653 r y e --1.5312 r y f --1.7253 r y g --1.3576 r y h --1.0888 r y i --2.3606 r y j --2.8337 r y k --1.4415 r y l --1.1435 r y m --1.6829 r y n --1.0179 r y o --1.2411 r y p --2.2738 r y q --1.5761 r y r --1.0495 r y s --0.9883 r y t --2.0853 r y u --2.0853 r y v --1.2268 r y w --2.3606 r y y --3.6094 s a a --1.3069 s a b --1.7293 s a c --1.7404 s a d --3.1440 s a e --1.5663 s a f --1.6058 s a g --2.0356 s a h --0.9360 s a i --2.9246 s a j --1.6585 s a k --1.1723 s a l --1.4481 s a m --0.5714 s a n --3.6094 s a o --1.4367 s a p --2.9246 s a q --1.2451 s a r --1.2749 s a s --1.0818 s a t --2.0356 s a u --1.7185 s a v --1.4717 s a w --1.3646 s a y --1.1396 s b a --0.4548 s b e --1.4851 s b i --2.8298 s b j --1.6703 s b l --1.1570 s b o --1.0479 s b r --0.6406 s b u --0.9179 s b y --0.6426 s c a --3.2302 s c c --0.7870 s c e --1.2184 s c h --1.1871 s c i --1.6141 s c l --0.5052 s c o --1.0925 s c r --1.2350 s c u --2.7649 s c y --1.0141 s d a --0.4842 s d e --0.5034 s d i --0.8142 s d o --1.3477 s d r --1.3043 s d u --1.0073 s e a --2.1273 s e b --1.6101 s e c --0.9530 s e d --1.0009 s e e --1.8538 s e f --2.5090 s e g --1.9142 s e h --1.5229 s e i --3.7228 s e j --3.0379 s e k --0.9061 s e l --1.4121 s e m --1.0902 s e n --1.4594 s e o --1.9014 s e p --2.1066 s e q --1.1641 s e r --1.2077 s e s --1.2766 s e t --2.3085 s e u --1.4416 s e v --1.4203 s e w --1.7275 s e x --1.8769 s e y --0.6142 s f a --1.1327 s f e --0.8443 s f i --1.3383 s f l --0.5330 s f o --0.7965 s f r --1.6258 s f u --2.1548 s f y --0.8167 s g a --1.0457 s g e --2.3905 s g h --1.3652 s g i --1.0096 s g l --2.3905 s g n --0.6836 s g o --0.5104 s g r --2.3905 s g t --1.3652 s g u --2.3905 s g y --0.5660 s h a --2.0698 s h b --2.3170 s h c --2.9492 s h d --0.6201 s h e --2.1092 s h f --3.4146 s h g --2.0698 s h h --1.0539 s h i --3.4146 s h j --2.7298 s h k --2.5847 s h l --1.6327 s h m --2.9492 s h n --0.5878 s h o --3.4146 s h p --3.4146 s h q --1.8636 s h r --2.4761 s h s --1.7787 s h t --1.6467 s h u --3.4146 s h v --1.8877 s h w --2.5847 s h y --1.6433 s i a --1.1868 s i b --1.6102 s i c --1.0926 s i d --2.2491 s i e --1.4863 s i f --1.3532 s i g --1.8087 s i h --3.6300 s i j --2.9452 s i k --1.3359 s i l --1.2693 s i m --0.6534 s i n --1.0645 s i o --2.3681 s i p --3.1647 s i q --1.5945 s i r --1.2245 s i s --0.8210 s i t --2.8001 s i u --1.8346 s i v --2.0791 s i w --1.6102 s i x --2.4163 s i z --0.9848 s j a --1.3494 s j e --0.3695 s j o --0.4338 s j u --1.5121 s k a --0.4904 s k e --0.6972 s k i --1.6207 s k m --1.1453 s k n --1.3530 s k o --1.9852 s k r --1.5121 s k s --1.9852 s k t --1.3530 s k u --1.5121 s k w --0.8551 s k y --0.6865 s l a --0.7307 s l e --0.5926 s l i --0.6241 s l o --1.6401 s l u --1.0629 s l y --0.6122 s m a --2.9943 s m b --2.9943 s m c --1.1484 s m e --2.5289 s m f --2.9943 s m g --2.5289 s m h --0.9291 s m i --2.9943 s m l --2.5289 s m m --0.6835 s m o --2.1643 s m s --2.5289 s m t --1.2264 s m u --1.9690 s m w --0.5986 s m y --1.1997 s n a --0.5495 s n e --1.7470 s n i --0.2024 s n o --2.9066 s n u --2.9066 s n y --2.0209 s o a --1.9338 s o b --1.9666 s o c --2.3948 s o d --2.3948 s o e --0.4695 s o f --2.3948 s o g --2.2758 s o h --1.5571 s o i --1.3146 s o l --0.8375 s o m --0.9746 s o n --1.4264 s o o --2.0613 s o p --3.1914 s o q --0.9429 s o r --2.2425 s o s --1.9033 s o t --1.1193 s o u --2.0830 s o v --1.8481 s o w --2.7182 s o y --0.8686 s p a --0.5228 s p e --1.1889 s p h --0.9999 s p i --1.2351 s p l --0.7815 s p o --0.8402 s p r --3.1670 s p t --1.5932 s p u --0.0039 s q u --0.8017 s r a --0.2963 s r e --0.9390 s r i --0.8167 s r o --2.0898 s r s --1.3414 s r u --1.0153 s s a --2.1669 s s b --1.7660 s s c --2.2031 s s d --0.8059 s s e --2.1669 s s f --2.7179 s s g --1.5443 s s h --0.7199 s s i --2.8630 s s j --2.8630 s s k --1.9317 s s l --2.1336 s s m --2.2031 s s n --0.6876 s s o --1.5611 s s p --3.5479 s s q --2.4503 s s r --2.0737 s s s --0.9915 s s t --1.0957 s s u --2.8630 s s v --1.6789 s s w --2.2859 s s y --0.8617 s t a --1.8737 s t b --1.8737 s t c --2.0442 s t d --1.0141 s t e --1.9462 s t f --2.3288 s t g --0.7306 s t h --0.9512 s t i --3.2394 s t j --2.9858 s t k --1.9290 s t l --1.9206 s t m --2.2695 s t n --0.7645 s t o --2.0442 s t p --3.0943 s t q --1.0460 s t r --1.6564 s t s --1.4721 s t t --1.5672 s t u --2.7105 s t v --1.6609 s t w --2.3733 s t y --1.5760 s u a --1.1512 s u b --0.8974 s u c --1.1332 s u d --2.4529 s u e --1.2630 s u f --2.0691 s u g --2.4529 s u i --1.3919 s u l --1.1215 s u m --1.1158 s u n --0.8906 s u p --0.6112 s u r --1.3813 s u s --1.7560 s u t --0.7486 s v a --0.2536 s v e --1.0633 s v i --0.8085 s v o --0.8035 s w a --0.4141 s w e --0.6055 s w h --0.8861 s w i --1.2005 s w o --1.8835 s w r --1.2791 s y a --0.4648 s y e --2.3767 s y g --2.3767 s y h --1.5468 s y i --1.6919 s y l --1.6919 s y m --0.4857 s y o --2.3767 s y p --2.3767 s y r --1.1147 s y s --1.5468 s y t --1.9113 s y u --2.3767 s y v --1.9113 s y w --0.2833 s z p --3.1556 t a a --1.2903 t a b --1.4005 t a c --2.0048 t a d --3.6210 t a e --1.9481 t a f --1.6990 t a g --2.2762 t a h --0.9476 t a i --3.1556 t a j --1.0646 t a k --1.0002 t a l --1.7408 t a m --0.6113 t a n --2.4614 t a o --1.4427 t a p --2.6824 t a q --1.1267 t a r --1.2287 t a s --0.9883 t a t --2.6824 t a u --2.3156 t a v --2.1196 t a w --3.6210 t a x --3.1556 t a y --1.1866 t b a --0.2303 t b e --1.7351 t b i --1.6628 t b l --1.4984 t b o --1.2862 t b r --0.8914 t b u --1.0876 t b y --0.8733 t c a --1.1788 t c e --0.4801 t c h --1.8082 t c i --1.4887 t c l --0.5107 t c o --1.1106 t c r --1.6197 t c u --0.7494 t d a --0.7303 t d e --0.5257 t d i --0.6089 t d o --1.3365 t d r --1.4675 t d u --1.4794 t e a --2.4185 t e b --2.0794 t e c --0.7160 t e d --1.5694 t e e --2.2590 t e f --2.8943 t e g --2.0943 t e h --1.8913 t e i --3.8328 t e j --1.4794 t e l --1.4305 t e m --1.0546 t e n --1.5880 t e o --1.8375 t e p --3.8328 t e q --0.4013 t e r --1.3633 t e s --1.7535 t e t --2.8075 t e u --1.6951 t e v --1.9418 t e w --1.8375 t e x --1.0087 t f a --0.9517 t f e --0.7436 t f i --1.5334 t f l --0.4704 t f o --0.8671 t f r --1.0242 t f u --0.9428 t g a --0.9823 t g e --1.0256 t g i --1.0738 t g l --0.5492 t g o --0.6329 t g r --1.2623 t g u --0.9462 t h a --2.5881 t h b --2.4726 t h c --2.6687 t h d --0.1945 t h e --2.3379 t h f --2.8402 t h g --2.2288 t h h --0.9851 t h i --3.3163 t h j --3.8762 t h k --2.7461 t h l --2.4840 t h m --3.0362 t h n --1.3606 t h o --2.5597 t h p --3.3163 t h q --1.7309 t h r --2.0560 t h s --1.7168 t h t --2.1313 t h u --3.3163 t h v --2.0560 t h w --2.1802 t h y --1.8897 t i a --2.0887 t i b --1.0820 t i c --2.1215 t i d --1.6225 t i e --1.5814 t i f --1.8798 t i g --1.9207 t i h --3.1269 t i i --2.8732 t i k --1.2417 t i l --1.2010 t i m --0.7378 t i n --0.5432 t i o --2.4308 t i p --2.7864 t i q --2.0298 t i r --1.0053 t i s --1.1733 t i t --3.3463 t i u --1.5765 t i v --1.9659 t i w --3.8117 t i y --1.1864 t j a --0.5015 t j o --0.3564 t j u --0.5659 t k e --0.7250 t k i --0.3582 t k n --1.6635 t k o --0.7543 t l a --0.4383 t l e --1.0144 t l i --1.3749 t l o --3.0651 t l s --3.0651 t l u --0.5041 t l y --0.6430 t m a --0.7857 t m e --1.1594 t m i --2.9413 t m m --0.7259 t m o --1.1199 t m u --0.5734 t m y --1.3251 t n a --0.7313 t n e --1.0105 t n i --0.1948 t n o --1.7999 t n u --1.3338 t o a --1.2459 t o b --1.5008 t o c --1.4882 t o d --1.7466 t o e --0.8714 t o f --1.5236 t o g --1.4527 t o h --1.8838 t o i --3.0893 t o j --2.1659 t o k --1.6126 t o l --1.1911 t o m --1.1288 t o n --1.2603 t o o --1.4701 t o p --3.2344 t o q --1.1743 t o r --1.2965 t o s --0.8633 t o t --1.4442 t o u --2.1514 t o v --1.4305 t o w --3.9193 t o x --2.3455 t o y --0.8261 t p a --0.6949 t p e --1.4910 t p h --1.4910 t p i --1.0710 t p l --0.7629 t p o --0.5561 t p r --1.6864 t p u --2.5163 t p y --0.0081 t q u --0.4655 t r a --3.3348 t r d --0.6082 t r e --3.3348 t r f --0.9007 t r i --1.0120 t r o --3.3348 t r r --0.8327 t r u --1.4439 t r y --1.0028 t s a --1.4553 t s b --1.5057 t s c --1.9202 t s d --1.0156 t s e --1.8270 t s f --2.0392 t s g --1.2360 t s h --1.0858 t s i --2.6163 t s j --2.4712 t s k --1.8270 t s l --1.6464 t s m --1.5333 t s n --0.8123 t s o --1.3502 t s p --1.8559 t s r --1.5057 t s s --0.9123 t s t --1.2813 t s u --2.2036 t s v --1.2734 t s w --3.3012 t s y --1.6507 t t a --0.7218 t t e --0.3235 t t h --1.4311 t t i --1.2409 t t l --0.7457 t t o --1.8579 t t r --2.7008 t t u --1.7774 t t w --2.4332 t t y --1.2198 t u a --2.3766 t u b --2.1812 t u c --1.2285 t u d --2.0470 t u e --2.2680 t u f --2.7412 t u g --2.7412 t u i --2.5217 t u l --1.9446 t u m --0.8682 t u n --2.3766 t u o --1.0452 t u p --0.3206 t u r --1.0120 t u s --1.6556 t u t --3.2065 t u u --0.7183 t v a --0.3878 t v e --0.8641 t v i --0.6427 t v o --0.5101 t w a --0.6093 t w e --0.8008 t w h --1.0061 t w i --0.7361 t w o --2.6557 t w r --1.0051 t y a --1.5740 t y b --1.5214 t y c --1.7034 t y d --1.3935 t y e --1.1572 t y f --2.1097 t y g --1.4527 t y h --1.3413 t y i --2.5828 t y j --1.2663 t y l --1.4973 t y m --1.8344 t y n --0.6662 t y o --1.7429 t y p --1.9506 t y r --1.3098 t y s --0.9105 t y t --1.8344 t y v --1.1467 t y w --2.5828 t y y --0.5169 t z a --0.9823 t z b --0.9823 t z e --0.9823 t z t --1.5370 u a b --2.0118 u a c --1.7581 u a d --2.2312 u a e --2.6966 u a f --1.0064 u a g --2.0118 u a i --1.7581 u a k --0.4663 u a l --2.2312 u a m --1.5370 u a n --2.2312 u a p --2.6966 u a q --0.6386 u a r --2.0118 u a s --0.8276 u a t --2.6966 u a v --2.6966 u a y --2.1815 u b a --1.1456 u b b --1.4331 u b e --1.9621 u b i --1.2016 u b j --0.6777 u b l --2.1815 u b m --2.6469 u b o --1.9621 u b r --1.3416 u b s --0.3047 u b t --1.8170 u b u --1.5351 u c a --1.0341 u c c --1.0109 u c e --0.2774 u c h --1.3530 u c i --1.0223 u c k --1.6661 u c o --1.1120 u c t --2.4145 u c u --1.1894 u d a --2.7163 u d b --1.8863 u d c --0.4909 u d d --0.6808 u d e --1.3353 u d g --2.7163 u d h --1.0804 u d i --2.2509 u d l --1.7778 u d n --1.3715 u d o --2.7163 u d p --2.2509 u d r --0.9933 u d s --2.2509 u d t --2.7163 u d v --2.2509 u d w --1.4109 u d y --1.0862 u e a --1.9011 u e b --1.9011 u e c --0.8118 u e d --2.1548 u e f --1.8143 u e h --1.8143 u e i --1.7420 u e l --1.4948 u e m --0.8528 u e n --1.5776 u e o --2.8396 u e q --1.9011 u e r --0.4473 u e s --1.3127 u e t --2.1548 u e v --1.6258 u e w --2.1548 u e x --2.8396 u e y --1.4114 u f a --2.0962 u f e --0.0685 u f f --2.0962 u f i --2.0962 u f r --1.4114 u f t --2.1497 u g a --2.9797 u g b --2.5143 u g d --0.9844 u g e --2.9797 u g f --1.0577 u g g --0.1431 u g h --2.1497 u g i --2.9797 u g m --1.8821 u g o --2.5143 u g s --1.3842 u g u --0.2692 u h a --0.7878 u h e --0.6234 u h m --1.8854 u h o --2.8480 u i a --1.5426 u i c --0.5252 u i d --1.2970 u i e --2.3826 u i g --1.1095 u i l --1.1751 u i n --2.8480 u i p --1.1250 u i r --1.2742 u i s --0.5096 u i t --2.1631 u i v --2.1631 u i w --2.8480 u i x --0.8179 u k e --0.1237 u k n --0.8395 u l a --2.1774 u l b --2.0103 u l c --0.3396 u l d --1.7957 u l e --1.7957 u l f --1.9769 u l g --2.4527 u l h --1.3876 u l i --3.3912 u l k --1.1100 u l l --1.9769 u l m --2.4527 u l n --1.6527 u l o --2.1292 u l p --2.0858 u l r --1.5698 u l s --0.9989 u l t --2.7063 u l u --2.7063 u l v --2.1292 u l w --1.7553 u l y --0.8807 u m a --0.9546 u m b --2.9238 u m c --0.5704 u m e --1.7642 u m f --2.2389 u m h --1.0437 u m i --1.0437 u m m --1.4785 u m n --1.3500 u m o --1.1853 u m p --2.9238 u m r --1.1704 u m s --2.2389 u m t --1.4224 u m u --2.9238 u m w --2.0938 u m y --1.4904 u n a --2.7110 u n b --0.5169 u n c --0.4792 u n d --1.5900 u n e --2.2790 u n f --1.4904 u n g --2.1267 u n h --1.6394 u n i --1.8862 u n k --2.2790 u n l --2.5157 u n m --1.5055 u n n --1.8862 u n o --1.9900 u n p --3.5410 u n q --2.3814 u n r --2.1962 u n s --0.8694 u n t --2.8561 u n u --2.8561 u n v --2.2790 u n w --3.5410 u n y --1.1189 u o f --0.8995 u o n --1.1189 u o r --1.1189 u o s --1.5843 u o t --0.3224 u o u --1.3195 u p a --1.8255 u p b --2.6221 u p c --2.6221 u p d --1.1654 u p e --1.9898 u p f --3.0874 u p g --1.5606 u p h --1.3340 u p i --3.0874 u p j --1.9279 u p l --1.7427 u p m --2.4026 u p n --0.5042 u p o --0.8286 u p p --1.5861 u p r --1.5365 u p s --0.8823 u p t --2.4026 u p u --3.0874 u p v --1.1365 u p w --2.6221 u p y --0.2833 u q u --1.3197 u r a --1.6602 u r b --1.5722 u r c --1.3922 u r d --0.7083 u r e --1.3520 u r f --1.6319 u r g --1.5128 u r h --1.1226 u r i --1.7835 u r j --2.7621 u r k --1.6905 u r l --1.5968 u r m --0.9423 u r n --1.5415 u r o --1.3197 u r p --3.1267 u r q --1.4307 u r r --0.9876 u r s --1.4194 u r t --2.3301 u r u --2.0907 u r v --1.5968 u r w --1.7966 u r y --0.9942 u s a --1.6466 u s b --1.5822 u s c --1.8683 u s d --0.8526 u s e --1.7812 u s f --1.9773 u s g --1.3486 u s h --1.1019 u s i --2.2422 u s j --2.4789 u s k --1.4180 u s l --1.6828 u s m --2.0300 u s n --1.6026 u s o --1.5723 u s p --2.5657 u s q --1.8314 u s r --1.1019 u s s --0.5920 u s t --1.6704 u s u --2.1988 u s v --1.5822 u s w --2.5657 u s y --1.0922 u t a --1.7300 u t b --1.7982 u t c --1.9020 u t d --1.0573 u t e --1.5514 u t f --2.2934 u t g --0.9303 u t h --0.9456 u t i --2.6230 u t k --1.8368 u t l --1.4493 u t m --1.6995 u t n --1.1505 u t o --2.4277 u t p --2.0720 u t r --1.3668 u t s --0.6325 u t t --1.7145 u t u --2.4277 u t v --1.3152 u t w --1.9788 u t y --0.6630 u u m --0.4436 u u n --1.1284 u u p --1.1284 u u s --0.9964 u v e --0.0651 u v i --0.7768 u w e --1.4090 u w h --0.2196 u w i --0.8491 u w o --0.8854 u x p --0.2005 u x u --0.2833 u y t --0.0213 u z z --1.4401 v a a --1.5800 v a b --1.7878 v a c --1.8601 v a d --2.8854 v a e --2.8854 v a f --1.4111 v a g --2.0554 v a h --1.1624 v a i --1.0164 v a l --2.8854 v a m --0.7240 v a n --2.2005 v a o --1.1035 v a p --1.3116 v a r --0.7924 v a s --0.8986 v a t --1.4111 v a u --2.8854 v a v --1.7878 v a w --1.3944 v e a --1.4966 v e b --1.9832 v e c --1.2241 v e d --2.1628 v e e --1.8565 v e f --1.9152 v e g --1.9152 v e h --1.7168 v e i --2.7981 v e j --3.2712 v e k --1.2318 v e l --1.7674 v e m --0.9448 v e n --1.8048 v e o --2.1857 v e p --3.0518 v e q --0.3736 v e r --1.1621 v e s --1.3213 v e t --1.9547 v e u --3.2712 v e v --1.7857 v e w --3.2712 v e x --2.1857 v e y --1.2199 v i a --1.3106 v i c --0.9575 v i d --1.3313 v i e --2.2419 v i f --1.5458 v i g --1.3758 v i k --1.6214 v i l --0.4659 v i n --1.1449 v i o --1.9014 v i r --0.9315 v i s --1.3530 v i t --2.4614 v i u --1.5820 v i v --2.2362 v o c --0.6436 v o i --2.2362 v o k --0.4248 v o l --1.7631 v o m --1.8717 v o n --0.9337 v o r --1.2003 v o t --1.4396 v o u --2.2362 v o w --0.9482 v o y --0.2833 v s a --0.0238 v u l --0.7672 v y a --1.2419 v y b --0.9882 v y c --0.9882 v y f --1.9268 v y g --1.9268 v y h --1.2419 v y i --1.2419 v y l --1.9268 v y n --1.4614 v y r --0.9882 v y s --0.9882 v y t --1.9268 v y w --1.9268 v y y --2.7962 w a b --2.9413 w a c --2.6876 w a d --3.1607 w a f --3.6261 w a g --3.6261 w a h --1.8582 w a i --2.0752 w a k --1.3073 w a l --2.6008 w a m --1.4648 w a n --3.1607 w a p --1.0472 w a r --0.2351 w a s --1.0516 w a t --1.6752 w a v --3.6261 w a w --3.1607 w a x --1.0073 w a y --0.4812 w b a --0.3816 w b e --1.1255 w b o --1.1255 w b u --1.2706 w b y --0.4831 w c a --1.7885 w c h --0.9585 w c l --0.4831 w c o --0.8499 w c r --0.9680 w d a --0.3797 w d e --0.8812 w d i --0.7470 w d o --1.2217 w d r --1.4412 w d u --1.0698 w e a --2.2475 w e b --1.6417 w e c --1.2499 w e d --1.5222 w e e --1.8330 w e f --2.2475 w e g --1.0745 w e h --1.9383 w e i --3.6285 w e j --2.6900 w e k --1.0302 w e l --1.5355 w e m --1.3218 w e n --2.3665 w e o --2.0123 w e p --0.5762 w e r --1.1534 w e s --1.8199 w e t --1.2677 w e v --1.0652 w e w --2.7985 w e x --3.6285 w e y --1.2457 w f a --1.0504 w f e --2.0757 w f i --2.0757 w f l --0.9781 w f o --1.2457 w f r --0.2067 w f u --0.7722 w g a --1.2375 w g i --1.2375 w g l --0.7722 w g o --0.7722 w g r --1.2375 w g u --0.7055 w h a --0.7105 w h e --0.3758 w h i --0.8016 w h o --3.5298 w h u --1.5606 w h y --2.7005 w i a --2.9200 w i b --2.0800 w i c --1.7126 w i d --2.0800 w i f --1.4944 w i g --3.3854 w i h --0.7626 w i l --2.5554 w i m --0.9733 w i n --2.2878 w i r --1.3576 w i s --0.2296 w i t --3.3854 w i u --2.7005 w i w --0.2833 w j o --0.5961 w k e --1.0615 w k i --0.5961 w k n --1.0615 w k w --2.0615 w l a --0.4660 w l e --1.1229 w l i --2.0615 w l m --1.0361 w l o --2.0615 w l s --2.0615 w l t --0.4067 w l y --0.8329 w m a --0.8329 w m e --0.8329 w m i --0.8329 w m o --1.5813 w m u --0.4729 w m y --0.9906 w n a --1.5372 w n b --1.7016 w n c --1.8607 w n d --1.2978 w n e --1.3250 w n f --1.1090 w n h --0.9533 w n i --2.7992 w n k --1.7016 w n l --1.7016 w n m --2.1143 w n n --0.8976 w n o --1.6396 w n p --2.7992 w n q --2.1143 w n r --1.3849 w n s --0.8124 w n t --1.7739 w n u --2.3338 w n v --1.0313 w n w --3.1907 w o a --3.1907 w o b --2.0311 w o c --2.2522 w o d --2.3608 w o e --1.2492 w o f --2.7253 w o g --1.4677 w o h --2.3608 w o i --3.1907 w o j --1.7764 w o k --1.7454 w o l --1.7764 w o m --1.0530 w o n --1.4677 w o o --1.9287 w o p --0.4029 w o r --1.9769 w o s --1.8098 w o t --0.6031 w o u --2.5059 w o v --2.1654 w o w --2.7253 w o y --0.7446 w p a --0.9640 w p e --0.9640 w p h --1.4294 w p l --0.9640 w p o --0.7446 w p r --1.4294 w p u --0.0756 w q u --0.9658 w r a --0.4744 w r e --0.5209 w r i --0.6768 w r o --1.7624 w r u --0.8423 w s a --1.6028 w s b --1.8222 w s c --1.8222 w s d --1.1900 w s e --1.8222 w s f --1.0256 w s h --1.1281 w s i --2.2876 w s l --1.4577 w s m --2.2876 w s n --0.7608 w s o --1.8222 w s p --2.2876 w s s --0.9428 w s t --1.4577 w s u --2.2876 w s v --1.1281 w s w --1.7538 w t e --0.1080 w t h --0.8028 w t o --1.7538 w t r --2.4386 w t u --2.4386 w t w --0.4240 w u n --0.8971 w u p --1.3625 w u r --0.6776 w u s --1.3625 w u t --0.9823 w v e --0.2974 w v i --0.9823 w v o --0.7141 w w a --0.7141 w w e --0.4556 w w h --1.2985 w w i --0.7475 w w o --0.8593 w y a --1.3247 w y n --0.2994 w y o --1.3247 w y p --1.3247 w y s --0.1189 w z e --2.3325 x a a --1.8671 x a b --0.4206 x a c --1.8671 x a g --1.8671 x a l --0.3127 x a m --1.8671 x a n --1.3940 x a s --0.2833 x b e --1.8473 x c a --0.3174 x c e --1.4827 x c h --0.6965 x c i --0.7389 x c l --2.3127 x c r --1.2874 x c u --0.0438 x d o --1.1548 x e c --0.3383 x e d --1.8396 x e m --0.9011 x e r --0.5776 x e s --0.2005 x f e --0.8854 x f o --0.2095 x h a --0.8219 x h i --0.7351 x h u --1.8136 x i a --1.8136 x i b --2.2789 x i c --1.3404 x i e --2.2789 x i l --1.2536 x i m --1.4490 x i n --0.7051 x i o --0.2591 x i s --1.8136 x i t --2.2789 x i u --0.5961 x m i --0.3766 x m o --1.0615 x m y --0.2833 x n o --0.2173 x o c --1.0967 x o f --0.8772 x o r --1.5621 x o t --1.5621 x o u --1.4757 x p a --0.3841 x p e --1.8885 x p i --0.4063 x p l --1.4138 x p o --1.0224 x p r --0.7604 x s e --0.7604 x s h --0.7604 x s i --2.5711 x t a --0.9756 x t d --0.6202 x t e --1.5458 x t h --1.0698 x t i --1.7412 x t m --2.5711 x t q --0.3608 x t r --2.5711 x t t --1.6326 x t u --2.5711 x t w --1.6326 x t y --0.9823 x u b --0.9823 x u l --0.2974 x u r --0.9823 x w e --0.2974 x w i --0.9823 x w o --0.2833 x y g --1.4152 y a b --1.3858 y a c --1.7728 y a d --1.3718 y a f --1.2028 y a g --2.0561 y a h --3.1537 y a i --2.1284 y a k --1.1845 y a l --1.7728 y a m --0.4562 y a n --1.4635 y a p --3.1537 y a q --1.0957 y a r --1.0540 y a s --1.1259 y a t --1.7728 y a u --1.7394 y a v --1.6524 y a w --3.1537 y a y --1.4271 y b a --2.7719 y b d --0.4571 y b e --1.8333 y b i --1.5581 y b l --0.6048 y b o --1.0817 y b r --0.7363 y b u --1.3909 y b y --0.7245 y c a --1.3399 y c e --1.0299 y c h --0.9617 y c l --0.3350 y c o --1.1834 y c r --1.6594 y c u --0.8307 y d a --0.3759 y d e --0.6612 y d i --1.0232 y d o --1.1125 y d r --1.5417 y d u --0.9599 y e a --2.9717 y e c --1.3358 y e d --2.2869 y e f --1.8122 y e i --1.4975 y e l --2.1418 y e m --1.2488 y e n --2.5063 y e o --2.1418 y e p --2.9717 y e q --1.2815 y e r --0.4938 y e s --0.9362 y e t --1.7097 y e v --2.0332 y e w --0.9065 y e x --1.2488 y e y --0.6401 y f a --0.8285 y f e --0.7502 y f i --2.7195 y f j --1.6942 y f l --0.5303 y f o --0.9810 y f r --2.0346 y f u --1.2170 y g a --0.9370 y g e --1.2170 y g i --1.2170 y g l --2.2423 y g n --0.5521 y g o --0.5876 y g r --0.9370 y g u --0.4641 y h a --0.4641 y h e --0.9213 y h i --0.8470 y h o --1.3979 y h u --2.7788 y h y --1.5956 y i a --2.1104 y i b --1.3045 y i c --1.4951 y i d --1.5261 y i e --1.3894 y i f --2.2555 y i g --1.4661 y i h --2.2555 y i k --1.6784 y i l --1.1725 y i m --0.3981 y i n --2.2555 y i o --2.2555 y i p --1.5261 y i r --1.1869 y i s --0.8824 y i t --2.9404 y i u --1.6350 y i w --1.5843 y j a --1.1189 y j e --0.4867 y j o --0.3224 y j u --1.1299 y k e --0.9848 y k i --0.2410 y k j --0.7172 y k n --0.7406 y l a --0.6315 y l e --0.5373 y l i --1.7797 y l l --0.6977 y l o --1.3477 y l u --2.6096 y l w --1.9248 y l y --0.7811 y m a --0.8201 y m e --2.2666 y m f --0.7811 y m i --2.7320 y m l --2.7320 y m n --0.8201 y m o --2.7320 y m p --2.2666 y m r --2.7320 y m t --0.9786 y m u --0.6527 y m y --1.0537 y n a --0.7001 y n e --1.1232 y n i --0.2092 y n o --2.4680 y n u --1.9269 y o b --1.9269 y o c --3.2322 y o d --0.5957 y o f --3.2322 y o k --2.1346 y o l --0.9598 y o n --1.8874 y o p --1.6160 y o r --2.4023 y o s --1.9702 y o t --0.2923 y o u --1.8179 y o v --1.7053 y o w --0.8122 y p a --0.8122 y p e --1.4198 y p h --1.5359 y p i --1.2888 y p l --0.7116 y p o --0.5473 y p r --1.3716 y p t --1.4740 y p u --0.0238 y q u --0.8793 y r a --2.6178 y r d --0.2832 y r e --0.7964 y r i --1.9329 y r k --0.9276 y r o --2.6178 y r s --2.6178 y r t --1.5202 y r u --1.1021 y s a --2.1991 y s b --1.6363 y s c --0.6100 y s e --2.3077 y s f --2.6722 y s g --1.1961 y s h --1.1021 y s i --2.1991 y s k --1.6923 y s l --1.9780 y s m --2.1991 y s n --0.8697 y s o --1.4829 y s p --3.1376 y s q --2.6722 y s r --1.5866 y s s --0.7732 y s t --1.2360 y s u --1.7928 y s w --1.9666 y t a --1.7351 y t e --0.2020 y t h --1.7351 y t i --0.5758 y t o --1.6535 y t r --1.9184 y t u --1.7062 y t w --0.0253 y u n --1.6340 y u p --1.6006 y u s --2.3300 y u t --0.6745 y v a --0.5556 y v e --0.6745 y v i --0.5917 y v o --0.7395 y w a --0.5289 y w e --0.5756 y w h --0.8526 y w i --0.9958 y w o --2.0878 y w r --1.9066 y y a --0.6012 y y e --1.9066 y y i --0.1681 y y o --0.1189 y z e --1.5138 z a b --1.5138 z a d --0.8289 z a g --1.5138 z a n --0.4161 z a r --0.8289 z a t --1.5138 z a w --0.2833 z b u --1.0213 z e a --2.2833 z e b --0.3613 z e d --1.8179 z e f --2.2833 z e h --1.5985 z e i --2.2833 z e l --1.3448 z e m --1.0213 z e n --1.1237 z e o --2.2833 z e p --1.4534 z e r --1.8179 z e s --1.2580 z e t --1.8179 z e w --1.5138 z i e --0.6838 z i g --1.5138 z i l --0.2084 z i n --0.2736 z l e --0.3898 z l i --0.0177 z o n --1.8515 z o o --0.2833 z p l --0.2833 z t o --0.0756 z u r --1.0732 z z i --0.0644 z z l - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.batch b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.batch deleted file mode 100755 index a9710326..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.batch +++ /dev/null @@ -1,467 +0,0 @@ -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an251-fash-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an253-fash-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an254-fash-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen7-fash-b.raw two six eight four four one eight -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an87-fbbh-b.raw enter six two four -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an90-fbbh-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen3-fbbh-b.raw fifty one fifty six -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen6-fbbh-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen7-fbbh-b.raw four four three six three one two -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen8-fbbh-b.raw march third nineteen twenty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an149-fclc-b.raw enter nine eighty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen3-fclc-b.raw five five three five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen6-fclc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen7-fclc-b.raw six eight seven five eight oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen8-fclc-b.raw june eleventh nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an38-fejs-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen3-fejs-b.raw one zero six five -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen6-fejs-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen7-fejs-b.raw two six eight three eight zero two -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen8-fejs-b.raw two fifteen sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an291-ffmm-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an292-ffmm-b.raw enter seventy eight -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen3-ffmm-b.raw fifty six thirty two -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen6-ffmm-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen7-ffmm-b.raw four one two four two one eight eight nine six -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen8-ffmm-b.raw september fifteenth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an76-fjam-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an80-fjam-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen3-fjam-b.raw seven fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen6-fjam-b.raw one five one three three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen7-fjam-b.raw six six four seven two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen8-fjam-b.raw may twenty first nineteen sixty -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an121-fjdn-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an122-fjdn-b.raw enter eight two four two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an123-fjdn-b.raw enter fifty four -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an125-fjdn-b.raw enter fifteen -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen3-fjdn-b.raw thirty three -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen6-fjdn-b.raw oh seven nine two two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen7-fjdn-b.raw two oh one four six four six oh eight three -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen8-fjdn-b.raw march twentieth nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an6-fjmd-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen3-fjmd-b.raw one ten -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen6-fjmd-b.raw one seven three six eight -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen7-fjmd-b.raw two five two two oh two nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen8-fjmd-b.raw eleven nine sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an315-fkai-b.raw enter fifty one -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen3-fkai-b.raw one thousand -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen6-fkai-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen7-fkai-b.raw four four four seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen8-fkai-b.raw october first nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an132-fkdo-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an133-fkdo-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an134-fkdo-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen3-fkdo-b.raw two two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen6-fkdo-b.raw one five two one oh -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen7-fkdo-b.raw eight eight two eight one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen8-fkdo-b.raw five twenty six forty five -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an61-flmm2-b.raw enter seven oh three eight -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an62-flmm2-b.raw enter five zero -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an63-flmm2-b.raw enter five three four three -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an64-flmm2-b.raw enter four -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen3-flmm2-b.raw three four eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen6-flmm2-b.raw one five six six eight -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen7-flmm2-b.raw three two seven one six nine five -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an22-flrp-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an24-flrp-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen3-flrp-b.raw fifty one fifteen -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen6-flrp-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen7-flrp-b.raw two six eight five nine five two -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen8-flrp-b.raw three twenty seven sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an119-fmjc-b.raw enter thirty five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen3-fmjc-b.raw five six one five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen6-fmjc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen7-fmjc-b.raw four two one oh four five one -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen8-fmjc-b.raw nine twenty three sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an191-fmjd-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen3-fmjd-b.raw six five three four -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen6-fmjd-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen7-fmjd-b.raw four two one oh one nine six -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen8-fmjd-b.raw seven fourteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an182-fnsv-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an184-fnsv-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an185-fnsv-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen3-fnsv-b.raw fifty six oh five -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen6-fnsv-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen7-fnsv-b.raw six six one five zero six four -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen8-fnsv-b.raw january fifteenth nineteen sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an93-fplp-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen3-fplp-b.raw one two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen6-fplp-b.raw one five two two seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen7-fplp-b.raw eight eight four one zero five seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen8-fplp-b.raw six seventeen thirty six -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an298-fsaf2-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen3-fsaf2-b.raw one twenty -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen6-fsaf2-b.raw one oh seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen7-fsaf2-b.raw nine one four three three seven one eight six nine -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen8-fsaf2-b.raw five sixteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an167-fsrb-b.raw enter forty seven forty seven -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an169-fsrb-b.raw enter sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an170-fsrb-b.raw enter four fifty six -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen3-fsrb-b.raw thirty two thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen6-fsrb-b.raw one five two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen7-fsrb-b.raw four one two eight three one nine five one three -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen8-fsrb-b.raw december eighteenth nineteen forty four -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an326-ftal-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an327-ftal-b.raw enter seven seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an330-ftal-b.raw enter two six -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen3-ftal-b.raw four oh three -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen6-ftal-b.raw one five two three nine -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen7-ftal-b.raw two six eight three zero two seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen8-ftal-b.raw ten one sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an211-ftmj-b.raw enter sixty six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an214-ftmj-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an215-ftmj-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen3-ftmj-b.raw twenty two twenty six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen6-ftmj-b.raw one five two one eight -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen7-ftmj-b.raw two seven one zero eight two six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen8-ftmj-b.raw july thirtieth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an222-fwxs-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an223-fwxs-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an225-fwxs-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen3-fwxs-b.raw two ten -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen6-fwxs-b.raw one five one four three -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen7-fwxs-b.raw seven four one oh five nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an374-mblb-b.raw enter thirty eight sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an375-mblb-b.raw enter forty three forty five -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen3-mblb-b.raw one ten -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen6-mblb-b.raw oh six seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen7-mblb-b.raw two oh three seven five seven eight eight nine nine -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen8-mblb-b.raw july twelfth nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an3-mblw-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an4-mblw-b.raw enter seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an5-mblw-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen3-mblw-b.raw forty three twenty three -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen6-mblw-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen7-mblw-b.raw four two two oh eight one six -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen8-mblw-b.raw one sixteen forty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an266-mbmg-b.raw enter fifty four -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an270-mbmg-b.raw enter one forty two -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen3-mbmg-b.raw three oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen6-mbmg-b.raw one nine three three five -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen7-mbmg-b.raw two one five four five eight five four six nine -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen8-mbmg-b.raw september twenty seventh nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an201-mcel-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an202-mcel-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an203-mcel-b.raw enter eight one nine six -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an204-mcel-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen3-mcel-b.raw six three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen6-mcel-b.raw nine four oh eight six -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen8-mcel-b.raw twelve nine of sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an126-mcen-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an127-mcen-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an129-mcen-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an130-mcen-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen6-mcen-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen7-mcen-b.raw five two one sixty fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen8-mcen-b.raw three fourteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an261-mcfl-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an264-mcfl-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an265-mcfl-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen3-mcfl-b.raw one four eight two three -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen6-mcfl-b.raw four four oh six five -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen7-mcfl-b.raw six four five three three six four -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen8-mcfl-b.raw eight fourteen sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an141-mcrt-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an142-mcrt-b.raw enter ninety four -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an143-mcrt-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an145-mcrt-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen3-mcrt-b.raw three oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen6-mcrt-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen7-mcrt-b.raw three six three oh nine six two -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen8-mcrt-b.raw seven may nineteen forty four -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an231-mcsc-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an232-mcsc-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an233-mcsc-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an234-mcsc-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an235-mcsc-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen3-mcsc-b.raw one zero zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen6-mcsc-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen7-mcsc-b.raw seven three one one three three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen8-mcsc-b.raw three twelve fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an241-mdcs-b.raw enter fifty sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an243-mdcs-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen6-mdcs-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen7-mdcs-b.raw four one two four two two three five seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen8-mdcs-b.raw august sixteenth nineteen sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen3-mdcs2-b.raw fourteen fourteen -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen6-mdcs2-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen7-mdcs2-b.raw four two one six two eight three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen8-mdcs2-b.raw september first nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen3-mdmc-b.raw five ten -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen6-mdmc-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen7-mdmc-b.raw three six one zero one five five -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen8-mdmc-b.raw ninth of september nineteen sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an106-mdxn-b.raw enter zero -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an108-mdxn-b.raw enter forty one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an110-mdxn-b.raw enter sixty two thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen3-mdxn-b.raw one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen6-mdxn-b.raw one four eight five oh -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen7-mdxn-b.raw two six eight four one six one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen8-mdxn-b.raw seven fifteen nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an26-mdxs-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an28-mdxs-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an29-mdxs-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an30-mdxs-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen3-mdxs-b.raw three seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen6-mdxs-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen7-mdxs-b.raw four one two six eight seven eight eight seven one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen8-mdxs-b.raw july twenty nine nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an139-meab-b.raw enter eight thirty two -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen3-meab-b.raw three one two -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen6-meab-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen7-meab-b.raw four one two two four two six six two six -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen8-meab-b.raw six sixteen sixty -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an66-meht-b.raw enter four thousand eight hundred eighty three -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an67-meht-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an69-meht-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an70-meht-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen3-meht-b.raw fifty six sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen6-meht-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen7-meht-b.raw four one two five two one two eight two four -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen8-meht-b.raw four seven sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an286-mema-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an288-mema-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an289-mema-b.raw enter nine eight nine -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen3-mema-b.raw seven three zero -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen6-mema-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen7-mema-b.raw two four three eight three two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an256-mewl-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an258-mewl-b.raw enter fourteen -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an259-mewl-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen6-mewl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen7-mewl-b.raw two six eight four six five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen8-mewl-b.raw twelve four sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an163-mfaa-b.raw enter ninety eight twenty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen3-mfaa-b.raw five six three one -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen6-mfaa-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen7-mfaa-b.raw five two one oh two six eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen8-mfaa-b.raw ten thirty one fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an196-mgah-b.raw enter seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an197-mgah-b.raw enter four twenty one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an198-mgah-b.raw enter one ninety six -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an199-mgah-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an200-mgah-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen3-mgah-b.raw one two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen6-mgah-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen7-mgah-b.raw six eight three five zero four one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen8-mgah-b.raw august twenty second nineteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an246-mjbh-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an247-mjbh-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an249-mjbh-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an250-mjbh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen3-mjbh-b.raw five six four zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen6-mjbh-b.raw one five two zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen7-mjbh-b.raw two six eight three zero six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen8-mjbh-b.raw seven twenty nine fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an172-mjda-b.raw enter eight seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an174-mjda-b.raw enter five -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an175-mjda-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen3-mjda-b.raw seven thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen6-mjda-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen7-mjda-b.raw two six eight three oh five four -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen8-mjda-b.raw january twelfth nineteen sixty six -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an18-mjdr-b.raw enter four fifty one -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen3-mjdr-b.raw four seven two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen6-mjdr-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen7-mjdr-b.raw four one two six eight one one eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen8-mjdr-b.raw oh six oh seven six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an157-mjes-b.raw enter thirty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an159-mjes-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen3-mjes-b.raw thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen6-mjes-b.raw one oh oh two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen7-mjes-b.raw two one two five seven oh two seven eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen8-mjes-b.raw august twenty second nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an217-mjgk-b.raw enter eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an218-mjgk-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an219-mjgk-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an220-mjgk-b.raw enter three eighty six -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen6-mjgk-b.raw one five two three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen7-mjgk-b.raw four two two two oh eight nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen8-mjgk-b.raw june twenty third nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an60-mjhp-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen3-mjhp-b.raw one five three two -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen6-mjhp-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen7-mjhp-b.raw four one two five two one eight two six oh -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen8-mjhp-b.raw seven seventeen fifty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an177-mjjs2-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an178-mjjs2-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an180-mjjs2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen6-mjjs2-b.raw one five two zero seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen7-mjjs2-b.raw four two two zero seven nine one -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen8-mjjs2-b.raw february eighth nineteen fifty two -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an317-mkdb-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an318-mkdb-b.raw enter four -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen3-mkdb-b.raw fifty seven fourteen a -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen6-mkdb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen7-mkdb-b.raw five two one four nine five four -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen8-mkdb-b.raw march twenty fifth nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an187-mkem-b.raw enter one thirty one -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an189-mkem-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen6-mkem-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen7-mkem-b.raw three oh eight five -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen8-mkem-b.raw may ninth sixty two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an52-mmaf-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an54-mmaf-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an55-mmaf-b.raw enter ninety five -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen3-mmaf-b.raw five two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen6-mmaf-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen7-mmaf-b.raw four four one one seven two four -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen8-mmaf-b.raw september sixth nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an323-mmal-b.raw enter two oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an324-mmal-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an325-mmal-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen3-mmal-b.raw fifty three forty two -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen6-mmal-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen7-mmal-b.raw six eight one seven seven five two -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen8-mmal-b.raw ten twelve sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an46-mmap-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an47-mmap-b.raw enter seven two one six -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an48-mmap-b.raw enter one nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen3-mmap-b.raw six thirty -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen6-mmap-b.raw one five two oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen7-mmap-b.raw nine two two seven two two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen8-mmap-b.raw twelve twenty one fifty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an337-mmdg-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an338-mmdg-b.raw enter six one two five -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an339-mmdg-b.raw enter two five four six -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an340-mmdg-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen3-mmdg-b.raw six three two three -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen6-mmdg-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen7-mmdg-b.raw four one two five two one five three three nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen8-mmdg-b.raw two twenty four forty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an364-mmkw-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen3-mmkw-b.raw three two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen6-mmkw-b.raw two nine six six two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen7-mmkw-b.raw eight oh three two three four five nine seven two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen8-mmkw-b.raw eighteen february nineteen seventy -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an383-mmsh-b.raw enter sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an385-mmsh-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen3-mmsh-b.raw three four four -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen6-mmsh-b.raw one nine oh oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen7-mmsh-b.raw six eight three one five five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen8-mmsh-b.raw april thirtieth nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an386-mmtm-b.raw enter six four five one -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an388-mmtm-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an390-mmtm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen3-mmtm-b.raw one eleven -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen6-mmtm-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen7-mmtm-b.raw seven nine three five four two nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen8-mmtm-b.raw august twenty fourth nineteen fifty two -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an347-mnfe-b.raw help -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an348-mnfe-b.raw enter eight twenty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an350-mnfe-b.raw enter three -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen3-mnfe-b.raw ten seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen6-mnfe-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen7-mnfe-b.raw two six eight five five two four -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen8-mnfe-b.raw four twenty eight seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an81-mnjl-b.raw enter eighty nine forty three -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an83-mnjl-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an84-mnjl-b.raw enter seven thirty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen3-mnjl-b.raw one thousand -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen6-mnjl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen7-mnjl-b.raw four one two two six eight four four seven four -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen8-mnjl-b.raw twelve nineteen sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an72-mrab-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an73-mrab-b.raw enter two oh seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen3-mrab-b.raw one twenty two -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen6-mrab-b.raw one six oh six three -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen7-mrab-b.raw four five two eight five one eight -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen8-mrab-b.raw three twenty eight sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an102-mrcb-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an104-mrcb-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an105-mrcb-b.raw enter eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen3-mrcb-b.raw one two five two -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen6-mrcb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen7-mrcb-b.raw area code four one two four two two one two two five -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen8-mrcb-b.raw october thirtieth nineteen sixty one -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an236-mrjc2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an237-mrjc2-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an238-mrjc2-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an240-mrjc2-b.raw enter nine seventy two -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen3-mrjc2-b.raw sixty seven ten -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen6-mrjc2-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen7-mrjc2-b.raw six six five nine six six five -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen8-mrjc2-b.raw five two five five five -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an281-mrmg-b.raw enter two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an282-mrmg-b.raw go -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an284-mrmg-b.raw enter six -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen3-mrmg-b.raw one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen6-mrmg-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen7-mrmg-b.raw two four two two nine one two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen8-mrmg-b.raw one seven forty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an356-mscg2-b.raw enter fifty five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an357-mscg2-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an360-mscg2-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen3-mscg2-b.raw five one one five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen6-mscg2-b.raw one five two two six -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen7-mscg2-b.raw two six eight four six seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen8-mscg2-b.raw three eleven sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an341-msct-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an343-msct-b.raw enter twenty nine -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen3-msct-b.raw five one nine -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen6-msct-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen7-msct-b.raw six eight three three seven eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen8-msct-b.raw nine thirty sixty five -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an226-msjm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an229-msjm-b.raw repeat -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an230-msjm-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen3-msjm-b.raw one two two two -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen6-msjm-b.raw one five one one six -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen7-msjm-b.raw four eight six three nine five oh -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen8-msjm-b.raw twelve twenty four sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an352-msjr-b.raw enter two -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an353-msjr-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an355-msjr-b.raw enter six seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen3-msjr-b.raw eight forty one -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen6-msjr-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen7-msjr-b.raw eight two six eight six eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen8-msjr-b.raw one thirty one sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an100-mskh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an96-mskh-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an97-mskh-b.raw enter seventy one -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an98-mskh-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen3-mskh-b.raw six zero one five -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen6-mskh-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen7-mskh-b.raw six six one nine eight eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen8-mskh-b.raw six twenty six sixty three -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an277-msmn-b.raw no -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen6-msmn-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen7-msmn-b.raw four one two four two two nine eight two eight -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an331-msrb-b.raw enter nine -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an333-msrb-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an335-msrb-b.raw enter seven -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen3-msrb-b.raw one three six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen6-msrb-b.raw one five one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen7-msrb-b.raw two seven nine two three two four -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen8-msrb-b.raw six three sixty eight -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an304-mtcv-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an305-mtcv-b.raw enter eight zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen3-mtcv-b.raw eight four six seven -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen6-mtcv-b.raw four four four eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen7-mtcv-b.raw eight five six one four nine zero -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen8-mtcv-b.raw one two seven six three -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an32-mtje-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an34-mtje-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen3-mtje-b.raw four oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen6-mtje-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen7-mtje-b.raw four one two six eight seven nine five two six -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen8-mtje-b.raw ten twenty eight sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an369-mtos-b.raw yes -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen6-mtos-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen7-mtos-b.raw four eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen8-mtos-b.raw twelve ten sixty nine -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an376-mtxj-b.raw enter five two four -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an378-mtxj-b.raw enter sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an379-mtxj-b.raw stop -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an380-mtxj-b.raw enter six oh eight oh -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen3-mtxj-b.raw one hundred -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen6-mtxj-b.raw one five oh one five -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen7-mtxj-b.raw nine three five oh six nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen8-mtxj-b.raw october twenty third nineteen sixty seven -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an152-mwhw-b.raw start -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an155-mwhw-b.raw enter sixty -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen3-mwhw-b.raw one fifty -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen6-mwhw-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen7-mwhw-b.raw six two five one five six four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen8-mwhw-b.raw eleven seventeen fifty one diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst deleted file mode 100755 index 77e637ac..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst +++ /dev/null @@ -1,578 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 8.10993 -T 0 1 8.10993 -T 0 4 a a 8.10993 -T 0 5 april april 8.10993 -T 0 6 area area 8.10993 -T 0 7 august august 6.23793 -T 0 8 code code 8.10993 -T 0 9 december december 8.10993 -T 0 10 eight eight 2.74537 -T 0 11 eighteen eighteen 8.10993 -T 0 12 eighteenth eighteenth 8.10993 -T 0 13 eighth eighth 8.10993 -T 0 14 eighty eighty 6.23793 -T 0 15 eleven eleven 6.23793 -T 0 16 eleventh eleventh 8.10993 -T 0 17 enter enter 3.07833 -T 0 18 february february 7.06848 -T 0 19 fifteen fifteen 6.23793 -T 0 20 fifteenth fifteenth 7.06848 -T 0 21 fifth fifth 8.10993 -T 0 22 fifty fifty 4.26324 -T 0 23 first first 6.56927 -T 0 24 five five 2.4313 -T 0 25 forty forty 4.7599 -T 0 26 four four 2.671 -T 0 27 fourteen fourteen 5.62499 -T 0 28 fourth fourth 8.10993 -T 0 29 go go 5.24759 -T 0 30 help help 5.0574 -T 0 31 hundred hundred 7.06848 -T 0 32 january january 7.06848 -T 0 33 july july 6.56927 -T 0 34 june june 7.06848 -T 0 35 march march 6.56927 -T 0 36 may may 6.56927 -T 0 37 nine nine 3.27612 -T 0 38 nineteen nineteen 4.11771 -T 0 39 ninety ninety 6.23793 -T 0 40 ninth ninth 7.06848 -T 0 41 no no 4.7599 -T 0 42 october october 6.56927 -T 0 43 of of 7.06848 -T 0 44 oh oh 3.48657 -T 0 45 one one 2.02489 -T 0 46 repeat repeat 4.6975 -T 0 47 second second 7.06848 -T 0 48 september september 5.98948 -T 0 49 seven seven 2.89297 -T 0 50 seventeen seventeen 6.56927 -T 0 51 seventh seventh 8.10993 -T 0 52 seventy seventy 5.0574 -T 0 53 six six 2.64751 -T 0 54 sixteen sixteen 6.56927 -T 0 55 sixteenth sixteenth 8.10993 -T 0 56 sixth sixth 8.10993 -T 0 57 sixty sixty 3.43385 -T 0 58 start start 5.14789 -T 0 59 stop stop 4.7599 -T 0 60 ten ten 5.14789 -T 0 61 third third 6.56927 -T 0 62 thirtieth thirtieth 6.56927 -T 0 63 thirty thirty 4.63879 -T 0 64 thousand thousand 6.56927 -T 0 65 three three 2.83517 -T 0 66 twelfth twelfth 7.06848 -T 0 67 twelve twelve 5.48269 -T 0 68 twentieth twentieth 8.10993 -T 0 69 twenty twenty 4.11771 -T 0 70 two two 2.10295 -T 0 71 yes yes 4.48106 -T 0 72 zero zero 4.26324 -F 1 8.10993 -T 1 0 -F 2 8.10993 -T 2 0 -F 3 8.10993 -T 3 0 -F 4 8.42463 -T 4 0 , , 0.314691 -T 4 45 one one 1.00416 -F 5 8.56479 -T 5 0 , , 0.45486 -T 5 62 thirtieth thirtieth 1.00416 -F 6 8.5659 -T 6 0 , , 0.455963 -T 6 8 code code 1.00416 -F 7 9.24251 -T 7 0 , , 1.13258 -T 7 55 sixteenth sixteenth 2.39054 -T 7 69 twenty twenty 0.524989 -F 8 8.49451 -T 8 0 , , 0.384571 -T 8 26 four four 1.00416 -F 9 8.5659 -T 9 0 , , 0.455963 -T 9 12 eighteenth eighteenth 1.00416 -F 10 8.43581 -T 10 0 , , 0.325875 -T 10 5 april april 5.76636 -T 10 7 august august 5.76636 -T 10 17 enter enter 2.3316 -T 10 26 four four 2.1695 -T 10 27 fourteen fourteen 5.76636 -T 10 31 hundred hundred 5.76636 -T 10 34 june june 5.76636 -T 10 37 nine nine 3.08201 -T 10 49 seven seven 3.08201 -T 10 52 seventy seventy 4.44998 -T 10 65 three three 2.09719 -T 10 67 twelve twelve 5.76636 -T 10 70 two two 2.3316 -T 10 72 zero zero 3.54828 -F 11 8.56535 -T 11 0 , , 0.455412 -T 11 18 february february 1.00416 -F 12 8.54978 -T 12 0 , , 0.439848 -T 12 38 nineteen nineteen 1.00416 -F 13 8.54978 -T 13 0 , , 0.439848 -T 13 38 nineteen nineteen 1.00416 -F 14 8.67075 -T 14 0 , , 0.560811 -T 14 37 nine nine 1.07416 -T 14 53 six six 2.39054 -T 14 65 three three 2.39054 -F 15 8.35704 -T 15 0 , , 0.247104 -T 15 37 nine nine 2.39054 -T 15 50 seventeen seventeen 2.39054 -T 15 57 sixty sixty 2.39054 -F 16 8.54978 -T 16 0 , , 0.439848 -T 16 38 nineteen nineteen 1.00416 -F 17 8.75675 -T 17 0 , , 0.646814 -T 17 10 eight eight 2.43383 -T 17 14 eighty eighty 5.43502 -T 17 19 fifteen fifteen 5.43502 -T 17 22 fifty fifty 2.95698 -T 17 24 five five 2.75067 -T 17 25 forty forty 3.56947 -T 17 26 four four 2.75067 -T 17 27 fourteen fourteen 5.43502 -T 17 37 nine nine 3.21694 -T 17 39 ninety ninety 3.56947 -T 17 49 seven seven 2.3065 -T 17 52 seventy seventy 3.21694 -T 17 53 six six 2.43383 -T 17 57 sixty sixty 2.43383 -T 17 63 thirty thirty 3.56947 -F 18 8.54952 -T 18 0 , , 0.439582 -T 18 13 eighth eighth 1.69724 -T 18 38 nineteen nineteen 1.69724 -F 19 8.37118 -T 19 0 , , 0.261248 -T 19 38 nineteen nineteen 2.39054 -T 19 57 sixty sixty 2.39054 -T 19 63 thirty thirty 2.39054 -F 20 9.24277 -T 20 0 , , 1.13283 -T 20 38 nineteen nineteen 0.381078 -F 21 8.54978 -T 21 0 , , 0.439848 -T 21 38 nineteen nineteen 1.00416 -F 22 8.6605 -T 22 0 , , 0.550569 -T 22 10 eight eight 2.04423 -T 22 24 five five 2.39676 -T 22 26 four four 2.94593 -T 22 45 one one 1.57796 -T 22 49 seven seven 2.94593 -T 22 53 six six 1.78427 -F 23 9.64875 -T 23 0 , , 1.53882 -T 23 38 nineteen nineteen 0.237166 -F 24 8.91503 -T 24 0 , , 0.805099 -T 24 17 enter enter 3.60124 -T 24 24 five five 2.95099 -T 24 26 four four 3.39493 -T 24 27 fourteen fourteen 6.07929 -T 24 30 help help 4.21373 -T 24 36 may may 6.07929 -T 24 37 nine nine 3.39493 -T 24 40 ninth ninth 6.07929 -T 24 42 october october 6.07929 -T 24 44 oh oh 3.39493 -T 24 45 one one 2.06127 -T 24 53 six six 3.22408 -T 24 54 sixteen sixteen 6.07929 -T 24 65 three three 3.22408 -T 24 70 two two 0.880048 -T 24 71 yes yes 3.86144 -T 24 72 zero zero 4.21373 -F 25 8.42203 -T 25 0 , , 0.312091 -T 25 24 five five 2.46054 -T 25 26 four four 2.46054 -T 25 49 seven seven 1.91115 -T 25 65 three three 1.91115 -F 26 8.42778 -T 26 0 , , 0.317847 -T 26 7 august august 5.84051 -T 26 10 eight eight 2.83932 -T 26 15 eleven eleven 5.84051 -T 26 17 enter enter 3.36246 -T 26 22 fifty fifty 3.97495 -T 26 26 four four 2.17134 -T 26 32 january january 4.52412 -T 26 35 march march 5.84051 -T 26 41 no no 4.52412 -T 26 44 oh oh 3.62243 -T 26 45 one one 1.68503 -T 26 48 september september 5.84051 -T 26 49 seven seven 2.9853 -T 26 53 six six 2.59916 -T 26 59 stop stop 4.52412 -T 26 64 thousand thousand 5.84051 -T 26 70 two two 2.1041 -F 27 8.74693 -T 27 0 , , 0.636995 -T 27 4 a a 2.95007 -T 27 27 fourteen fourteen 2.95007 -T 27 46 repeat repeat 2.95007 -T 27 57 sixty sixty 1.08452 -F 28 8.54978 -T 28 0 , , 0.439848 -T 28 38 nineteen nineteen 1.00416 -F 29 8.68362 -T 29 0 , , 0.573684 -T 29 17 enter enter 1.99035 -T 29 22 fifty fifty 3.30674 -T 29 46 repeat repeat 1.99035 -T 29 59 stop stop 3.30674 -T 29 65 three three 3.30674 -T 29 71 yes yes 1.99035 -F 30 8.68875 -T 30 0 , , 0.578813 -T 30 17 enter enter 1.27103 -T 30 22 fifty fifty 3.48911 -T 30 29 go go 2.17272 -T 30 30 help help 3.48911 -T 30 71 yes yes 3.48911 -F 31 8.42241 -T 31 0 , , 0.312477 -T 31 14 eighty eighty 1.69724 -T 31 45 one one 1.69724 -F 32 8.56453 -T 32 0 , , 0.454599 -T 32 20 fifteenth fifteenth 1.69724 -T 32 66 twelfth twelfth 1.69724 -F 33 8.54752 -T 33 0 , , 0.437582 -T 33 62 thirtieth thirtieth 2.10272 -T 33 66 twelfth twelfth 2.10272 -T 33 69 twenty twenty 2.10272 -F 34 8.54952 -T 34 0 , , 0.439582 -T 34 16 eleventh eleventh 1.69724 -T 34 69 twenty twenty 1.69724 -F 35 8.54808 -T 35 0 , , 0.438143 -T 35 61 third third 2.10272 -T 35 68 twentieth twentieth 2.10272 -T 35 69 twenty twenty 2.10272 -F 36 8.53224 -T 36 0 , , 0.422306 -T 36 38 nineteen nineteen 2.10272 -T 36 40 ninth ninth 2.10272 -T 36 69 twenty twenty 2.10272 -F 37 8.33042 -T 37 0 , , 0.220487 -T 37 7 august august 5.23838 -T 37 14 eighty eighty 5.23838 -T 37 15 eleven eleven 5.23838 -T 37 17 enter enter 2.55403 -T 37 24 five five 1.99703 -T 37 29 go go 5.23838 -T 37 30 help help 5.23838 -T 37 33 july july 5.23838 -T 37 34 june june 5.23838 -T 37 43 of of 5.23838 -T 37 48 september september 5.23838 -T 37 52 seventy seventy 5.23838 -T 37 53 six six 2.38318 -T 37 65 three three 2.76011 -T 37 71 yes yes 3.92199 -F 38 10.2771 -T 38 0 , , 2.16715 -T 38 22 fifty fifty 3.08915 -T 38 25 forty forty 3.08915 -T 38 52 seventy seventy 2.53975 -T 38 57 sixty sixty 0.339401 -T 38 69 twenty twenty 4.40531 -F 39 8.22061 -T 39 0 , , 0.110677 -T 39 10 eight eight 2.39054 -T 39 24 five five 2.39054 -T 39 26 four four 2.39054 -T 39 53 six six 2.39054 -F 40 8.53256 -T 40 0 , , 0.422629 -T 40 43 of of 1.69724 -T 40 57 sixty sixty 1.69724 -F 41 8.76609 -T 41 0 , , 0.656158 -T 41 17 enter enter 1.91115 -T 41 22 fifty fifty 2.46054 -T 41 30 help help 3.7767 -T 41 45 one one 1.55885 -T 41 46 repeat repeat 3.7767 -T 41 58 start start 2.46054 -T 41 71 yes yes 3.7767 -F 42 8.54696 -T 42 0 , , 0.43702 -T 42 23 first first 2.10272 -T 42 62 thirtieth thirtieth 2.10272 -T 42 69 twenty twenty 2.10272 -F 43 8.53085 -T 43 0 , , 0.420917 -T 43 48 september september 1.69724 -T 43 57 sixty sixty 1.69724 -F 44 8.95424 -T 44 0 , , 0.844301 -T 44 10 eight eight 1.68687 -T 44 24 five five 2.55149 -T 44 26 four four 3.16398 -T 44 44 oh oh 3.71315 -T 44 45 one one 2.34518 -T 44 49 seven seven 2.55149 -T 44 53 six six 1.68687 -T 44 65 three three 2.81146 -T 44 67 twelve twelve 5.02954 -T 44 70 two two 2.17433 -F 45 8.74704 -T 45 0 , , 0.637102 -T 45 7 august august 6.48477 -T 45 15 eleven eleven 6.48477 -T 45 18 february february 6.48477 -T 45 19 fifteen fifteen 6.48477 -T 45 22 fifty fifty 4.26692 -T 45 24 five five 1.22682 -T 45 26 four four 3.05 -T 45 31 hundred hundred 6.48477 -T 45 33 july july 6.48477 -T 45 37 nine nine 3.35648 -T 45 39 ninety ninety 6.48477 -T 45 44 oh oh 3.14211 -T 45 49 seven seven 2.41887 -T 45 54 sixteen sixteen 6.48477 -T 45 58 start start 5.16861 -T 45 60 ten ten 5.16861 -T 45 63 thirty thirty 5.16861 -T 45 64 thousand thousand 5.16861 -T 45 65 three three 2.8879 -T 45 70 two two 2.13542 -T 45 72 zero zero 4.00673 -F 46 8.9927 -T 46 0 , , 0.882767 -T 46 17 enter enter 2.5211 -T 46 22 fifty fifty 3.83749 -T 46 25 forty forty 3.83749 -T 46 41 no no 1.61941 -T 46 45 one one 1.61941 -T 46 46 repeat repeat 3.83749 -T 46 59 stop stop 1.97193 -F 47 9.24277 -T 47 0 , , 1.13283 -T 47 38 nineteen nineteen 0.381078 -F 48 8.53041 -T 48 0 , , 0.420474 -T 48 20 fifteenth fifteenth 2.61366 -T 48 23 first first 2.61366 -T 48 38 nineteen nineteen 2.61366 -T 48 56 sixth sixth 2.61366 -T 48 69 twenty twenty 2.61366 -F 49 8.5123 -T 49 0 , , 0.402364 -T 49 6 area area 5.61923 -T 49 10 eight eight 2.49094 -T 49 17 enter enter 2.61827 -T 49 19 fifteen fifteen 5.61923 -T 49 25 forty forty 4.30307 -T 49 26 four four 1.95029 -T 49 27 fourteen fourteen 4.30307 -T 49 29 go go 5.61923 -T 49 36 may may 5.61923 -T 49 37 nine nine 3.14119 -T 49 42 october october 5.61923 -T 49 44 oh oh 3.40138 -T 49 50 seventeen seventeen 5.61923 -T 49 58 start start 3.40138 -T 49 59 stop stop 3.14119 -T 49 60 ten ten 4.30307 -T 49 63 thirty thirty 4.30307 -T 49 71 yes yes 4.30307 -F 50 8.94754 -T 50 0 , , 0.837607 -T 50 22 fifty fifty 0.786563 -T 50 63 thirty thirty 2.10272 -F 51 8.54978 -T 51 0 , , 0.439848 -T 51 38 nineteen nineteen 1.00416 -F 52 8.78165 -T 52 0 , , 0.671719 -T 52 17 enter enter 3.48911 -T 52 41 no no 3.48911 -T 52 45 one one 0.804753 -T 52 70 two two 2.17272 -T 52 71 yes yes 3.48911 -F 53 8.54839 -T 53 0 , , 0.438457 -T 53 10 eight eight 1.66661 -T 53 17 enter enter 3.38595 -T 53 26 four four 2.62264 -T 53 33 july july 5.86399 -T 53 37 nine nine 3.64591 -T 53 44 oh oh 3.17964 -T 53 45 one one 2.12759 -T 53 48 september september 5.86399 -T 53 49 seven seven 3.17964 -T 53 50 seventeen seventeen 5.86399 -T 53 53 six six 2.42923 -T 53 54 sixteen sixteen 5.86399 -T 53 63 thirty thirty 3.99844 -T 53 65 three three 2.42923 -T 53 67 twelve twelve 5.86399 -F 54 8.92989 -T 54 0 , , 0.819953 -T 54 25 forty forty 2.10272 -T 54 57 sixty sixty 0.786563 -F 55 8.54978 -T 55 0 , , 0.439848 -T 55 38 nineteen nineteen 1.00416 -F 56 8.54978 -T 56 0 , , 0.439848 -T 56 38 nineteen nineteen 1.00416 -F 57 8.84613 -T 57 0 , , 0.736197 -T 57 10 eight eight 2.60353 -T 57 17 enter enter 3.76542 -T 57 24 five five 2.60353 -T 57 26 four four 2.86373 -T 57 30 help help 3.76542 -T 57 37 nine nine 1.64681 -T 57 45 one one 2.2266 -T 57 49 seven seven 1.84046 -T 57 58 start start 5.08181 -T 57 65 three three 2.60353 -F 58 8.92979 -T 58 0 , , 0.819857 -T 58 17 enter enter 1.53651 -T 58 29 go go 3.40207 -T 58 41 no no 3.40207 -T 58 46 repeat repeat 1.53651 -T 58 53 six six 2.08568 -F 59 8.88441 -T 59 0 , , 0.774478 -T 59 17 enter enter 0.921495 -T 59 29 go go 3.7767 -T 59 45 one one 1.91115 -T 59 46 repeat repeat 3.7767 -T 59 63 thirty thirty 3.7767 -T 59 71 yes yes 3.7767 -F 60 8.755 -T 60 0 , , 0.645065 -T 60 44 oh oh 3.40207 -T 60 45 one one 0.924027 -T 60 52 seventy seventy 3.40207 -T 60 57 sixty sixty 3.40207 -T 60 63 thirty thirty 3.40207 -T 60 67 twelve twelve 3.40207 -T 60 69 twenty twenty 3.40207 -F 61 9.64875 -T 61 0 , , 1.53882 -T 61 38 nineteen nineteen 0.237166 -F 62 9.64875 -T 62 0 , , 1.53882 -T 62 38 nineteen nineteen 0.237166 -F 63 8.69155 -T 63 0 , , 0.581618 -T 63 10 eight eight 2.5782 -T 63 45 one one 0.893403 -T 63 57 sixty sixty 3.89459 -T 63 70 two two 2.02904 -F 64 8.75313 -T 64 0 , , 0.643194 -T 64 10 eight eight 2.10272 -T 64 45 one one 0.786563 -F 65 8.34541 -T 65 0 , , 0.235479 -T 65 9 december december 5.67702 -T 65 14 eighty eighty 5.67702 -T 65 15 eleven eleven 5.67702 -T 65 25 forty forty 4.36064 -T 65 26 four four 2.33436 -T 65 27 fourteen fourteen 5.67702 -T 65 35 march march 5.67702 -T 65 36 may may 5.67702 -T 65 41 no no 3.81147 -T 65 44 oh oh 2.99267 -T 65 48 september september 5.67702 -T 65 53 six six 2.5485 -T 65 65 three three 2.67583 -T 65 67 twelve twelve 5.67702 -T 65 69 twenty twenty 3.81147 -T 65 70 two two 2.00785 -T 65 71 yes yes 4.36064 -T 65 72 zero zero 3.81147 -F 66 9.24277 -T 66 0 , , 1.13283 -T 66 38 nineteen nineteen 0.381078 -F 67 8.48971 -T 67 0 , , 0.379777 -T 67 22 fifty fifty 3.08362 -T 67 37 nine nine 3.08362 -T 67 38 nineteen nineteen 3.08362 -T 67 57 sixty sixty 3.08362 -T 67 60 ten ten 3.08362 -T 67 69 twenty twenty 1.76723 -F 68 8.54978 -T 68 0 , , 0.439848 -T 68 38 nineteen nineteen 1.00416 -F 69 8.52977 -T 69 0 , , 0.419831 -T 69 10 eight eight 1.92726 -T 69 21 fifth fifth 4.40531 -T 69 23 first first 4.40531 -T 69 26 four four 3.08915 -T 69 28 fourth fourth 4.40531 -T 69 37 nine nine 2.53975 -T 69 47 second second 3.08915 -T 69 49 seven seven 3.08915 -T 69 51 seventh seventh 4.40531 -T 69 53 six six 2.53975 -T 69 61 third third 3.08915 -T 69 65 three three 3.08915 -F 70 8.90312 -T 70 0 , , 0.793189 -T 70 10 eight eight 3.27842 -T 70 11 eighteen eighteen 6.40694 -T 70 19 fifteen fifteen 6.40694 -T 70 24 five five 2.88767 -T 70 26 four four 2.54804 -T 70 35 march march 6.40694 -T 70 37 nine nine 3.55174 -T 70 42 october october 6.40694 -T 70 44 oh oh 2.97195 -T 70 45 one one 1.37073 -T 70 49 seven seven 3.06405 -T 70 53 six six 2.20956 -T 70 60 ten ten 5.09056 -T 70 63 thirty thirty 5.09056 -T 70 65 three three 2.73777 -T 70 70 two two 2.09328 -T 70 72 zero zero 3.72259 -F 71 8.57783 -T 71 0 , , 0.467898 -T 71 17 enter enter 1.83079 -T 71 29 go go 2.73248 -T 71 45 one one 2.18308 -T 71 46 repeat repeat 2.73248 -T 71 58 start start 4.04864 -T 71 59 stop stop 4.04864 -T 71 69 twenty twenty 4.04864 -T 71 71 yes yes 2.73248 -F 72 8.69612 -T 72 0 , , 0.586181 -T 72 17 enter enter 2.94593 -T 72 45 one one 1.26113 -T 72 49 seven seven 2.94593 -T 72 53 six six 1.57796 -T 72 67 twelve twelve 4.26232 -T 72 72 zero zero 4.26232 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst.prunedloops b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst.prunedloops deleted file mode 100755 index aad3927b..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.fst.prunedloops +++ /dev/null @@ -1,577 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 1.77483 -T 0 1 8.52417 -T 0 4 a a 8.52417 -T 0 5 april april 8.52417 -T 0 6 area area 8.52417 -T 0 7 august august 6.6524 -T 0 8 code code 8.52417 -T 0 9 december december 8.52417 -T 0 10 eight eight 3.15961 -T 0 11 eighteen eighteen 8.52417 -T 0 12 eighteenth eighteenth 8.52417 -T 0 13 eighth eighth 8.52417 -T 0 14 eighty eighty 6.6524 -T 0 15 eleven eleven 6.6524 -T 0 16 eleventh eleventh 8.52417 -T 0 17 enter enter 3.49256 -T 0 18 february february 7.48271 -T 0 19 fifteen fifteen 6.6524 -T 0 20 fifteenth fifteenth 7.48271 -T 0 21 fifth fifth 8.52417 -T 0 22 fifty fifty 4.67747 -T 0 23 first first 6.98374 -T 0 24 five five 2.84577 -T 0 25 forty forty 5.17414 -T 0 26 four four 3.08523 -T 0 27 fourteen fourteen 6.03922 -T 0 28 fourth fourth 8.52417 -T 0 29 go go 5.66183 -T 0 30 help help 5.47163 -T 0 31 hundred hundred 7.48271 -T 0 32 january january 7.48271 -T 0 33 july july 6.98374 -T 0 34 june june 7.48271 -T 0 35 march march 6.98374 -T 0 36 may may 6.98374 -T 0 37 nine nine 3.69058 -T 0 38 nineteen nineteen 4.53218 -T 0 39 ninety ninety 6.6524 -T 0 40 ninth ninth 7.48271 -T 0 41 no no 5.17414 -T 0 42 october october 6.98374 -T 0 43 of of 7.48271 -T 0 44 oh oh 3.90081 -T 0 45 one one 2.43936 -T 0 46 repeat repeat 5.11197 -T 0 47 second second 7.48271 -T 0 48 september september 6.40395 -T 0 49 seven seven 3.30743 -T 0 50 seventeen seventeen 6.98374 -T 0 51 seventh seventh 8.52417 -T 0 52 seventy seventy 5.47163 -T 0 53 six six 3.06175 -T 0 54 sixteen sixteen 6.98374 -T 0 55 sixteenth sixteenth 8.52417 -T 0 56 sixth sixth 8.52417 -T 0 57 sixty sixty 3.84831 -T 0 58 start start 5.56235 -T 0 59 stop stop 5.17414 -T 0 60 ten ten 5.56235 -T 0 61 third third 6.98374 -T 0 62 thirtieth thirtieth 6.98374 -T 0 63 thirty thirty 5.05325 -T 0 64 thousand thousand 6.98374 -T 0 65 three three 3.24941 -T 0 66 twelfth twelfth 7.48271 -T 0 67 twelve twelve 5.89715 -T 0 68 twentieth twentieth 8.52417 -T 0 69 twenty twenty 4.53218 -T 0 70 two two 2.51742 -T 0 71 yes yes 4.8953 -T 0 72 zero zero 4.67747 -F 1 1.77483 -T 1 0 -F 2 3.84669 -T 2 0 , , 2.07186 -T 2 5 april april 6.9842 -T 2 6 area area 6.9842 -T 2 7 august august 4.91303 -T 2 9 december december 6.9842 -T 2 10 eight eight 4.14051 -T 2 11 eighteen eighteen 6.9842 -T 2 15 eleven eleven 5.78686 -T 2 17 enter enter 1.72233 -T 2 18 february february 6.9842 -T 2 22 fifty fifty 4.28488 -T 2 24 five five 3.54874 -T 2 25 forty forty 6.9842 -T 2 26 four four 2.73087 -T 2 27 fourteen fourteen 6.9842 -T 2 29 go go 3.90219 -T 2 30 help help 3.70992 -T 2 32 january january 5.78686 -T 2 33 july july 5.25726 -T 2 34 june june 5.78686 -T 2 35 march march 5.25726 -T 2 36 may may 5.78686 -T 2 37 nine nine 4.45389 -T 2 40 ninth ninth 6.9842 -T 2 41 no no 3.4099 -T 2 42 october october 5.25726 -T 2 44 oh oh 5.25726 -T 2 45 one one 1.64174 -T 2 46 repeat repeat 3.34704 -T 2 48 september september 4.91303 -T 2 49 seven seven 3.80134 -T 2 53 six six 3.17941 -T 2 58 start start 3.80134 -T 2 59 stop stop 3.4099 -T 2 60 ten ten 4.65744 -T 2 63 thirty thirty 5.25726 -T 2 65 three three 3.4099 -T 2 67 twelve twelve 4.45389 -T 2 70 two two 2.99221 -T 2 71 yes yes 3.12921 -F 3 8.35607 -T 3 0 , , 6.58123 -F 4 0.837911 -T 4 0 , , 0.380973 -F 5 2.34062 -T 5 0 , , 0.565787 -T 5 62 thirtieth thirtieth 0.837911 -F 6 2.34135 -T 6 0 , , 0.566516 -T 6 8 code code 0.837911 -F 7 3.02367 -T 7 0 , , 1.24883 -T 7 55 sixteenth sixteenth 2.22407 -T 7 69 twenty twenty 0.497358 -F 8 2.29475 -T 8 0 , , 0.519917 -T 8 26 four four 0.837911 -F 9 2.34135 -T 9 0 , , 0.566516 -T 9 12 eighteenth eighteenth 0.837911 -F 10 1.22313 -T 10 0 , , 1.14107 -T 10 10 eight eight 3.06981 -T 10 24 five five 2.9008 -T 10 25 forty forty 5.60012 -T 10 26 four four 2.2418 -T 10 27 fourteen fourteen 5.60012 -T 10 31 hundred hundred 5.60012 -T 10 37 nine nine 3.52894 -T 10 44 oh oh 3.87318 -T 10 45 one one 3.27312 -T 10 49 seven seven 3.06981 -T 10 52 seventy seventy 4.40277 -T 10 53 six six 3.52894 -T 10 57 sixty sixty 3.87318 -T 10 63 thirty thirty 5.60012 -T 10 65 three three 2.41725 -T 10 69 twenty twenty 4.40277 -T 10 70 two two 2.75619 -T 10 72 zero zero 3.52894 -F 11 2.34098 -T 11 0 , , 0.566152 -T 11 18 february february 0.837911 -F 12 2.33073 -T 12 0 , , 0.555899 -T 12 38 nineteen nineteen 0.837911 -F 13 2.33073 -T 13 0 , , 0.555899 -T 13 38 nineteen nineteen 0.837911 -F 14 2.5122 -T 14 0 , , 0.737363 -T 14 37 nine nine 1.02672 -T 14 53 six six 2.22407 -T 14 65 three three 2.22407 -F 15 2.11879 -T 15 0 , , 0.343959 -T 15 37 nine nine 2.22407 -T 15 50 seventeen seventeen 2.22407 -T 15 57 sixty sixty 2.22407 -F 16 2.33073 -T 16 0 , , 0.555899 -T 16 38 nineteen nineteen 0.837911 -F 17 3.01204 -T 17 0 , , 1.23721 -T 17 10 eight eight 2.42485 -T 17 14 eighty eighty 5.26877 -T 17 19 fifteen fifteen 5.26877 -T 17 22 fifty fifty 2.94178 -T 17 24 five five 2.73846 -T 17 25 forty forty 3.54184 -T 17 26 four four 2.73846 -T 17 27 fourteen fourteen 5.26877 -T 17 37 nine nine 3.1976 -T 17 39 ninety ninety 3.54184 -T 17 45 one one 3.1976 -T 17 49 seven seven 2.29867 -T 17 52 seventy seventy 3.1976 -T 17 53 six six 2.42485 -T 17 57 sixty sixty 2.42485 -T 17 63 thirty thirty 3.54184 -T 17 65 three three 4.0712 -T 17 69 twenty twenty 5.26877 -T 17 70 two two 2.73846 -T 17 72 zero zero 5.26877 -F 18 2.33058 -T 18 0 , , 0.555751 -T 18 13 eighth eighth 1.53099 -T 18 38 nineteen nineteen 1.53099 -F 19 1.02672 -T 19 0 , , 0.6294 -T 19 38 nineteen nineteen 2.22407 -T 19 57 sixty sixty 2.22407 -F 20 3.02388 -T 20 0 , , 1.24905 -T 20 38 nineteen nineteen 0.333645 -F 21 2.33073 -T 21 0 , , 0.555899 -T 21 38 nineteen nineteen 0.837911 -F 22 2.61252 -T 22 0 , , 0.837685 -T 22 10 eight eight 2.02466 -T 22 24 five five 2.36913 -T 22 26 four four 2.89849 -T 22 45 one one 1.76908 -T 22 49 seven seven 2.89849 -T 22 53 six six 1.76908 -T 22 57 sixty sixty 4.09607 -T 22 70 two two 2.89849 -F 23 3.42982 -T 23 0 , , 1.65499 -T 23 38 nineteen nineteen 0.209535 -F 24 1.59592 -T 24 0 , , 1.80798 -T 24 10 eight eight 3.84186 -T 24 24 five five 3.38273 -T 24 26 four four 3.38273 -T 24 37 nine nine 3.84186 -T 24 44 oh oh 3.38273 -T 24 45 one one 2.55495 -T 24 49 seven seven 3.84186 -T 24 53 six six 3.38273 -T 24 54 sixteen sixteen 5.91304 -T 24 60 ten ten 5.91304 -T 24 65 three three 3.38273 -T 24 69 twenty twenty 5.91304 -T 24 70 two two 0.894094 -T 24 72 zero zero 4.1861 -F 25 2.4995 -T 25 0 , , 0.72467 -T 25 10 eight eight 3.61045 -T 25 24 five five 2.41311 -T 25 26 four four 2.41311 -T 25 37 nine nine 3.61045 -T 25 45 one one 2.41311 -T 25 49 seven seven 1.88351 -T 25 65 three three 1.88351 -T 25 70 two two 2.41311 -F 26 1.42069 -T 26 0 , , 1.3383 -T 26 10 eight eight 3.14395 -T 26 22 fifty fifty 4.47669 -T 26 24 five five 3.14395 -T 26 25 forty forty 5.67426 -T 26 26 four four 2.39975 -T 26 37 nine nine 4.47669 -T 26 44 oh oh 3.60285 -T 26 45 one one 1.81904 -T 26 49 seven seven 2.97494 -T 26 53 six six 2.97494 -T 26 57 sixty sixty 4.47669 -T 26 64 thousand thousand 5.67426 -T 26 65 three three 3.34727 -T 26 69 twenty twenty 4.47669 -T 26 70 two two 2.09973 -T 26 72 zero zero 5.67426 -F 27 1.58648 -T 27 0 , , 0.911406 -T 27 4 a a 2.78383 -T 27 27 fourteen fourteen 2.78383 -T 27 57 sixty sixty 1.05689 -F 28 2.33073 -T 28 0 , , 0.555899 -T 28 38 nineteen nineteen 0.837911 -F 29 0.0584857 -T 29 0 , , 2.68233 -F 30 0.0483543 -T 30 0 , , 2.86754 -F 31 1.53099 -T 31 0 , , 0.37947 -T 31 14 eighty eighty 1.53099 -F 32 2.34047 -T 32 0 , , 0.565641 -T 32 20 fifteenth fifteenth 1.53099 -T 32 66 twelfth twelfth 1.53099 -F 33 2.32926 -T 33 0 , , 0.554429 -T 33 62 thirtieth thirtieth 1.93647 -T 33 66 twelfth twelfth 1.93647 -T 33 69 twenty twenty 1.93647 -F 34 2.33058 -T 34 0 , , 0.555751 -T 34 16 eleventh eleventh 1.53099 -T 34 69 twenty twenty 1.53099 -F 35 2.32963 -T 35 0 , , 0.554798 -T 35 61 third third 1.93647 -T 35 68 twentieth twentieth 1.93647 -T 35 69 twenty twenty 1.93647 -F 36 2.31926 -T 36 0 , , 0.544427 -T 36 38 nineteen nineteen 1.93647 -T 36 40 ninth ninth 1.93647 -T 36 69 twenty twenty 1.93647 -F 37 0.959487 -T 37 0 , , 0.747901 -T 37 10 eight eight 3.3452 -T 37 14 eighty eighty 5.0719 -T 37 22 fifty fifty 5.0719 -T 37 24 five five 2.54159 -T 37 25 forty forty 5.0719 -T 37 38 nineteen nineteen 5.0719 -T 37 43 of of 5.0719 -T 37 52 seventy seventy 5.0719 -T 37 53 six six 2.54159 -T 37 63 thirty thirty 5.0719 -T 37 65 three three 2.74514 -T 37 69 twenty twenty 5.0719 -T 37 70 two two 2.74514 -T 37 72 zero zero 5.0719 -F 38 4.08159 -T 38 0 , , 2.30676 -T 38 22 fifty fifty 3.04171 -T 38 25 forty forty 3.04171 -T 38 52 seventy seventy 2.51212 -T 38 57 sixty sixty 0.336177 -T 38 69 twenty twenty 4.23906 -F 39 2.12715 -T 39 0 , , 0.352317 -T 39 10 eight eight 2.22407 -T 39 24 five five 2.22407 -T 39 26 four four 2.22407 -T 39 53 six six 2.22407 -F 40 2.31948 -T 40 0 , , 0.544646 -T 40 43 of of 1.53099 -T 40 57 sixty sixty 1.53099 -F 41 0.0361506 -T 41 0 , , 3.15234 -F 42 2.32889 -T 42 0 , , 0.554061 -T 42 23 first first 1.93647 -T 42 62 thirtieth thirtieth 1.93647 -T 42 69 twenty twenty 1.93647 -F 43 2.31836 -T 43 0 , , 0.543528 -T 43 48 september september 1.53099 -T 43 57 sixty sixty 1.53099 -F 44 2.5363 -T 44 0 , , 1.14326 -T 44 10 eight eight 1.78128 -T 44 24 five five 2.5363 -T 44 26 four four 3.13635 -T 44 44 oh oh 3.66595 -T 44 45 one one 2.5363 -T 44 49 seven seven 2.79211 -T 44 53 six six 1.68043 -T 44 65 three three 2.79211 -T 44 70 two two 2.33298 -F 45 1.88513 -T 45 0 , , 1.58291 -T 45 10 eight eight 3.6192 -T 45 15 eleven eleven 6.31852 -T 45 19 fifteen fifteen 6.31852 -T 45 22 fifty fifty 4.24735 -T 45 24 five five 1.2259 -T 45 25 forty forty 6.31852 -T 45 26 four four 3.34842 -T 45 31 hundred hundred 6.31852 -T 45 37 nine nine 3.47483 -T 45 39 ninety ninety 6.31852 -T 45 44 oh oh 3.13566 -T 45 45 one one 3.99176 -T 45 49 seven seven 2.51373 -T 45 53 six six 3.6192 -T 45 54 sixteen sixteen 6.31852 -T 45 57 sixty sixty 4.59158 -T 45 60 ten ten 5.12118 -T 45 63 thirty thirty 5.12118 -T 45 64 thousand thousand 5.12118 -T 45 65 three three 2.88307 -T 45 69 twenty twenty 5.12118 -T 45 70 two two 2.28463 -T 45 72 zero zero 3.99176 -F 46 0.033848 -T 46 0 , , 3.21701 -F 47 3.02388 -T 47 0 , , 1.24905 -T 47 38 nineteen nineteen 0.333645 -F 48 2.31802 -T 48 0 , , 0.543186 -T 48 20 fifteenth fifteenth 2.44742 -T 48 23 first first 2.44742 -T 48 38 nineteen nineteen 2.44742 -T 48 56 sixth sixth 2.44742 -T 48 69 twenty twenty 2.44742 -F 49 0.714492 -T 49 0 , , 0.949208 -T 49 10 eight eight 2.92267 -T 49 19 fifteen fifteen 5.45298 -T 49 22 fifty fifty 5.45298 -T 49 24 five five 3.72604 -T 49 25 forty forty 4.25564 -T 49 27 fourteen fourteen 4.25564 -T 49 36 may may 5.45298 -T 49 37 nine nine 3.12622 -T 49 44 oh oh 3.38181 -T 49 50 seventeen seventeen 5.45298 -T 49 57 sixty sixty 4.25564 -T 49 60 ten ten 5.45298 -T 49 63 thirty thirty 4.25564 -T 49 65 three three 3.72604 -T 49 69 twenty twenty 5.45298 -T 49 70 two two 2.92267 -F 50 2.73119 -T 50 0 , , 0.95636 -T 50 22 fifty fifty 0.73913 -T 50 63 thirty thirty 1.93647 -F 51 2.33073 -T 51 0 , , 0.555899 -T 51 38 nineteen nineteen 0.837911 -F 52 1.59592 -T 52 0 , , 1.18749 -T 52 10 eight eight 3.32286 -T 52 45 one one 0.79255 -T 52 70 two two 2.12529 -F 53 1.29221 -T 53 0 , , 1.3105 -T 53 10 eight eight 1.70576 -T 53 24 five five 3.16744 -T 53 25 forty forty 5.69775 -T 53 26 four four 2.85382 -T 53 37 nine nine 3.62657 -T 53 44 oh oh 3.16744 -T 53 45 one one 2.99843 -T 53 49 seven seven 3.62657 -T 53 50 seventeen seventeen 5.69775 -T 53 53 six six 2.61574 -T 53 54 sixteen sixteen 5.69775 -T 53 57 sixty sixty 4.5004 -T 53 63 thirty thirty 4.5004 -T 53 65 three three 2.72764 -T 53 69 twenty twenty 5.69775 -T 53 70 two two 3.16744 -T 53 72 zero zero 5.69775 -F 54 2.71966 -T 54 0 , , 0.944828 -T 54 25 forty forty 1.93647 -T 54 57 sixty sixty 0.73913 -F 55 2.33073 -T 55 0 , , 0.555899 -T 55 38 nineteen nineteen 0.837911 -F 56 2.33073 -T 56 0 , , 0.555899 -T 56 38 nineteen nineteen 0.837911 -F 57 2.38502 -T 57 0 , , 1.22464 -T 57 10 eight eight 2.58857 -T 57 22 fifty fifty 4.91533 -T 57 24 five five 2.58857 -T 57 26 four four 2.84415 -T 57 37 nine nine 1.64105 -T 57 45 one one 2.38502 -T 57 49 seven seven 1.83332 -T 57 53 six six 3.71798 -T 57 65 three three 2.58857 -T 57 70 two two 3.18862 -F 58 0.0529595 -T 58 0 , , 2.77885 -F 59 0.0361506 -T 59 0 , , 3.15234 -F 60 0.90883 -T 60 0 , , 0.673401 -T 60 52 seventy seventy 3.23582 -T 60 57 sixty sixty 3.23582 -T 60 63 thirty thirty 3.23582 -T 60 67 twelve twelve 3.23582 -T 60 69 twenty twenty 3.23582 -F 61 3.42982 -T 61 0 , , 1.65499 -T 61 38 nineteen nineteen 0.209535 -F 62 3.42982 -T 62 0 , , 1.65499 -T 62 38 nineteen nineteen 0.209535 -F 63 2.00141 -T 63 0 , , 0.457598 -T 63 10 eight eight 2.53077 -T 63 45 one one 1.40135 -T 63 49 seven seven 3.72835 -T 63 57 sixty sixty 3.72835 -T 63 70 two two 2.00141 -F 64 0.73913 -T 64 0 , , 0.733976 -T 64 10 eight eight 1.93647 -F 65 1.19366 -T 65 0 , , 1.00596 -T 65 10 eight eight 2.98047 -T 65 14 eighty eighty 5.51078 -T 65 15 eleven eleven 5.51078 -T 65 24 five five 2.98047 -T 65 25 forty forty 4.31343 -T 65 26 four four 3.18378 -T 65 27 fourteen fourteen 5.51078 -T 65 37 nine nine 3.78384 -T 65 44 oh oh 3.18378 -T 65 45 one one 2.98047 -T 65 49 seven seven 3.78384 -T 65 52 seventy seventy 5.51078 -T 65 53 six six 2.98047 -T 65 57 sixty sixty 4.31343 -T 65 65 three three 2.81146 -T 65 67 twelve twelve 5.51078 -T 65 69 twenty twenty 3.78384 -T 65 70 two two 2.23627 -T 65 72 zero zero 3.78384 -F 66 3.02388 -T 66 0 , , 1.24905 -T 66 38 nineteen nineteen 0.333645 -F 67 2.33961 -T 67 0 , , 0.56478 -T 67 22 fifty fifty 2.91738 -T 67 26 four four 2.91738 -T 67 37 nine nine 2.91738 -T 67 38 nineteen nineteen 2.91738 -T 67 57 sixty sixty 2.91738 -T 67 60 ten ten 2.91738 -T 67 69 twenty twenty 1.72003 -F 68 2.33073 -T 68 0 , , 0.555899 -T 68 38 nineteen nineteen 0.837911 -F 69 2.46386 -T 69 0 , , 0.689025 -T 69 10 eight eight 1.9123 -T 69 21 fifth fifth 4.23906 -T 69 23 first first 4.23906 -T 69 26 four four 3.04171 -T 69 28 fourth fourth 4.23906 -T 69 37 nine nine 2.51212 -T 69 45 one one 3.04171 -T 69 47 second second 3.04171 -T 69 49 seven seven 3.04171 -T 69 51 seventh seventh 4.23906 -T 69 53 six six 2.51212 -T 69 61 third third 3.04171 -T 69 65 three three 3.04171 -T 69 70 two two 3.04171 -F 70 1.78013 -T 70 0 , , 2.04844 -T 70 10 eight eight 3.39677 -T 70 19 fifteen fifteen 6.24047 -T 70 24 five five 3.05783 -T 70 26 four four 2.66616 -T 70 37 nine nine 3.54138 -T 70 44 oh oh 3.05783 -T 70 45 one one 1.54342 -T 70 49 seven seven 3.15846 -T 70 53 six six 2.29222 -T 70 60 ten ten 6.24047 -T 70 63 thirty thirty 5.04312 -T 70 65 three three 2.96619 -T 70 69 twenty twenty 5.04312 -T 70 70 two two 2.16673 -T 70 72 zero zero 3.71016 -F 71 0.0274008 -T 71 0 , , 3.42511 -F 72 1.01383 -T 72 0 , , 0.838939 -T 72 45 one one 2.89849 -T 72 49 seven seven 2.89849 -T 72 53 six six 1.56576 -T 72 70 two two 2.89849 -T 72 72 zero zero 4.09607 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.lm deleted file mode 100755 index ad687a30..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.bigram.lm +++ /dev/null @@ -1,624 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 2-gram language model, based on a vocabulary of 71 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 0.454545 -2-gram discounting constant : 0.633663 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 - -end of data mark: \end\ - -\data\ -ngram 1=72 -ngram 2=504 - -\1-grams: --3.5221 0.0000 --98.9928 0.0000 --3.5221 0.0000 --3.5221 a -0.1367 --3.5221 april -0.1975 --3.5221 area -0.1980 --2.7091 august -0.4919 --3.5221 code -0.1670 --3.5221 december -0.1980 --1.1923 eight 0.2622 --3.5221 eighteen -0.1978 --3.5221 eighteenth -0.1910 --3.5221 eighth -0.1910 --2.7091 eighty -0.2436 --2.7091 eleven -0.0994 --3.5221 eleventh -0.1910 --1.3369 enter -0.1027 --3.0698 february -0.1909 --2.7091 fifteen -0.1065 --3.0698 fifteenth -0.4920 --3.5221 fifth -0.1910 --1.8515 fifty -0.1466 --2.8530 first -0.6681 --1.0559 five -0.2462 --2.0672 forty -0.0705 --1.1600 four 0.1638 --2.4429 fourteen -0.2595 --3.5221 fourth -0.1910 --2.2790 go -0.2105 --2.1964 help -0.2008 --3.0698 hundred -0.1357 --3.0698 january -0.1974 --2.8530 july -0.1900 --3.0698 june -0.1909 --2.8530 march -0.1903 --2.8530 may -0.1834 --1.4228 nine 0.7054 --1.7883 nineteen -0.9412 --2.7091 ninety -0.0481 --3.0698 ninth -0.1835 --2.0672 no -0.2581 --2.8530 october -0.1898 --3.0698 of -0.1828 --1.5142 oh -0.3316 --0.8794 one 0.2068 --2.0401 repeat -0.3613 --3.0698 second -0.4920 --2.6012 september -0.1826 --1.2564 seven 0.2397 --2.8530 seventeen -0.3638 --3.5221 seventh -0.1910 --2.1964 seventy -0.2886 --1.1498 six 0.1383 --2.8530 sixteen -0.3561 --3.5221 sixteenth -0.1910 --3.5221 sixth -0.1910 --1.4913 sixty -0.2160 --2.2357 start -0.3236 --2.0672 stop -0.2839 --2.2357 ten -0.2802 --2.8530 third -0.6681 --2.8530 thirtieth -0.6681 --2.0146 thirty -0.1262 --2.8530 thousand -0.2794 --1.2313 three 0.2953 --3.0698 twelfth -0.4920 --2.3811 twelve -0.1637 --3.5221 twentieth -0.1910 --1.7883 twenty -0.1149 --0.9133 two -0.1824 --1.9461 yes -0.0598 --1.8515 zero -0.0435 - -\2-grams: --0.4361 a one --0.4361 april thirtieth --0.4361 area code --1.0382 august sixteenth --0.2280 august twenty --0.4361 code four --0.4361 december eighteenth --2.5043 eight april --2.5043 eight august --1.3385 eight eight --1.0126 eight enter --2.5043 eight fifty --1.2009 eight five --2.5043 eight forty --0.9422 eight four --2.5043 eight fourteen --2.5043 eight help --2.5043 eight hundred --2.5043 eight june --1.3385 eight nine --2.5043 eight no --1.6941 eight oh --1.3385 eight one --1.3385 eight seven --1.9326 eight seventy --1.4281 eight six --1.6941 eight sixty --2.5043 eight stop --2.5043 eight ten --2.5043 eight thirty --0.9108 eight three --2.5043 eight twelve --1.9326 eight twenty --1.0126 eight two --1.5410 eight zero --0.4361 eighteen february --0.4361 eighteenth nineteen --0.4361 eighth nineteen --0.4665 eighty nine --1.0382 eighty six --1.0382 eighty three --1.0382 eleven nine --1.0382 eleven one --1.0382 eleven seventeen --1.0382 eleven sixty --0.4361 eleventh nineteen --1.0570 enter eight --2.3604 enter eighty --2.3604 enter fifteen --1.2842 enter fifty --1.1946 enter five --1.5502 enter forty --1.1946 enter four --2.3604 enter fourteen --1.3971 enter nine --1.5502 enter ninety --1.3971 enter one --1.0017 enter seven --1.3971 enter seventy --1.0570 enter six --1.0570 enter sixty --1.5502 enter thirty --1.7887 enter three --2.3604 enter twenty --1.1946 enter two --2.3604 enter zero --0.7371 february eighth --0.7371 february nineteen --1.0382 fifteen nineteen --1.0382 fifteen one --1.0382 fifteen sixty --1.0382 fifteen thirty --0.1655 fifteenth nineteen --0.4361 fifth nineteen --0.8878 fifty eight --1.0409 fifty five --1.2794 fifty four --0.6853 fifty one --1.2794 fifty seven --0.7749 fifty six --1.8511 fifty sixty --1.8511 fifty three --1.2794 fifty two --0.1030 first nineteen --1.6770 five eight --1.5640 five enter --1.2816 five five --1.4744 five four --2.6402 five fourteen --1.8300 five help --2.6402 five may --1.4744 five nine --2.6402 five ninth --2.6402 five october --1.4744 five oh --0.8952 five one --2.6402 five repeat --1.6770 five seven --1.4002 five six --2.6402 five sixteen --2.6402 five ten --1.4002 five three --2.6402 five twenty --0.3822 five two --1.6770 five yes --1.8300 five zero --1.6402 forty eight --1.0686 forty five --1.0686 forty four --1.6402 forty nine --1.0686 forty one --0.8300 forty seven --0.8300 forty three --1.0686 forty two --2.5365 four august --1.2331 four eight --2.5365 four eleven --1.4603 four enter --1.7263 four fifty --1.3707 four five --2.5365 four forty --0.9430 four four --2.5365 four help --1.9648 four january --2.5365 four march --1.9648 four nine --1.9648 four no --1.5732 four oh --0.7318 four one --2.5365 four repeat --2.5365 four september --1.2965 four seven --1.1288 four six --1.9648 four sixty --1.9648 four stop --2.5365 four thousand --1.3707 four three --2.5365 four twelve --1.9648 four twenty --0.9138 four two --2.5365 four zero --1.2812 fourteen a --1.2812 fourteen fourteen --1.2812 fourteen one --1.2812 fourteen repeat --0.4710 fourteen sixty --0.4361 fourth nineteen --0.8644 go enter --1.4361 go fifty --1.4361 go one --0.8644 go repeat --1.4361 go stop --1.4361 go three --0.8644 go yes --0.5520 help enter --1.5153 help fifty --0.9436 help go --1.5153 help help --1.5153 help one --1.5153 help seven --1.5153 help three --1.5153 help yes --0.7371 hundred eighty --0.7371 hundred one --0.7371 january fifteenth --0.7371 january twelfth --0.9132 july thirtieth --0.9132 july twelfth --0.9132 july twenty --0.7371 june eleventh --0.7371 june twenty --0.9132 march third --0.9132 march twentieth --0.9132 march twenty --0.9132 may nineteen --0.9132 may ninth --0.9132 may twenty --2.2750 nine august --1.4648 nine eight --2.2750 nine eighty --2.2750 nine eleven --1.1092 nine enter --2.2750 nine fifty --0.8673 nine five --2.2750 nine forty --2.2750 nine four --2.2750 nine go --2.2750 nine help --2.2750 nine july --2.2750 nine june --2.2750 nine nine --2.2750 nine nineteen --2.2750 nine no --2.2750 nine of --2.2750 nine oh --1.1987 nine one --2.2750 nine september --1.7033 nine seven --2.2750 nine seventy --1.0350 nine six --2.2750 nine sixty --2.2750 nine stop --2.2750 nine thirty --1.1987 nine three --2.2750 nine twenty --1.0350 nine two --1.7033 nine yes --2.2750 nine zero --1.3416 nineteen fifty --1.3416 nineteen forty --1.1030 nineteen seventy --0.1474 nineteen sixty --1.9132 nineteen twenty --1.0382 ninety eight --1.0382 ninety five --1.0382 ninety four --1.0382 ninety six --0.7371 ninth of --0.7371 ninth sixty --0.8300 no enter --1.0686 no fifty --1.6402 no help --0.6770 no one --1.6402 no repeat --1.6402 no six --1.0686 no start --1.6402 no three --1.6402 no yes --0.9132 october first --0.9132 october thirtieth --0.9132 october twenty --0.7371 of september --0.7371 of sixty --0.7326 oh eight --1.1081 oh five --1.3741 oh four --2.1843 oh nine --1.6126 oh oh --1.0185 oh one --1.1081 oh seven --0.7326 oh six --1.2210 oh three --2.1843 oh twelve --0.9443 oh two --2.8163 one august --1.5763 one eight --2.8163 one eleven --1.6505 one enter --2.8163 one february --2.8163 one fifteen --1.8531 one fifty --0.5328 one five --2.8163 one forty --1.3246 one four --2.8163 one go --2.8163 one help --2.8163 one hundred --2.8163 one july --1.4577 one nine --2.8163 one ninety --2.8163 one no --1.3646 one oh --1.2229 one one --2.8163 one repeat --1.0505 one seven --1.5763 one six --2.8163 one sixteen --2.0061 one sixty --2.2447 one start --2.8163 one stop --2.2447 one ten --2.2447 one thirty --2.2447 one thousand --1.2542 one three --2.2447 one twenty --0.9274 one two --2.8163 one yes --1.7401 one zero --1.0949 repeat enter --1.6666 repeat fifty --1.6666 repeat five --1.6666 repeat forty --0.7033 repeat no --0.7033 repeat one --1.6666 repeat repeat --0.8564 repeat stop --0.1655 second nineteen --1.1351 september fifteenth --1.1351 september first --1.1351 september nineteen --1.1351 september sixth --1.1351 september twenty --2.4404 seven area --1.0818 seven eight --1.1371 seven enter --2.4404 seven fifteen --2.4404 seven fifty --1.3642 seven five --1.8688 seven forty --0.8470 seven four --1.8688 seven fourteen --2.4404 seven go --2.4404 seven may --1.3642 seven nine --2.4404 seven october --1.4772 seven oh --1.1371 seven one --1.6302 seven seven --2.4404 seven seventeen --1.3642 seven six --1.8688 seven sixty --1.4772 seven start --1.3642 seven stop --1.8688 seven ten --1.8688 seven thirty --1.6302 seven three --2.4404 seven twenty --1.2004 seven two --1.8688 seven yes --0.3416 seventeen fifty --0.9132 seventeen thirty --0.4361 seventh nineteen --1.5153 seventy eight --1.5153 seventy enter --1.5153 seventy no --0.3495 seventy one --0.9436 seventy two --1.5153 seventy yes --0.7238 six eight --1.4705 six enter --1.3809 six five --2.5467 six forty --1.1390 six four --2.5467 six july --1.5834 six nine --2.5467 six no --1.3809 six oh --0.9240 six one --2.5467 six repeat --2.5467 six september --1.3809 six seven --2.5467 six seventeen --1.0550 six six --2.5467 six sixteen --1.9750 six sixty --2.5467 six start --2.5467 six ten --1.7365 six thirty --1.0550 six three --2.5467 six twelve --2.5467 six twenty --1.1881 six two --2.5467 six yes --2.5467 six zero --0.9132 sixteen forty --0.3416 sixteen sixty --0.4361 sixteenth nineteen --0.4361 sixth nineteen --1.1307 sixty eight --1.6353 sixty enter --2.2070 sixty fifty --1.1307 sixty five --1.2437 sixty four --1.6353 sixty help --0.7152 sixty nine --0.9670 sixty one --0.7993 sixty seven --1.6353 sixty six --2.2070 sixty start --1.1307 sixty three --1.3968 sixty two --0.6673 start enter --1.4775 start go --1.4775 start no --1.4775 start one --0.6673 start repeat --0.9058 start six --0.4002 stop enter --1.6402 stop go --0.8300 stop one --1.6402 stop repeat --1.6402 stop seven --1.6402 stop thirty --1.6402 stop two --1.6402 stop yes --1.4775 ten oh --0.4013 ten one --1.4775 ten seventy --1.4775 ten sixty --1.4775 ten thirty --1.4775 ten twelve --1.4775 ten twenty --0.1030 third nineteen --0.1030 thirtieth nineteen --1.1197 thirty eight --1.6914 thirty five --0.3880 thirty one --1.6914 thirty seven --1.6914 thirty six --1.6914 thirty sixty --1.6914 thirty three --0.8812 thirty two --0.9132 thousand eight --0.3416 thousand one --2.4655 three december --1.2997 three eight --2.4655 three eighty --2.4655 three eleven --1.8938 three enter --1.2997 three five --1.8938 three forty --1.0138 three four --2.4655 three fourteen --2.4655 three march --2.4655 three may --1.6553 three nine --1.6553 three no --1.2997 three oh --1.0578 three one --2.4655 three repeat --2.4655 three september --1.5022 three seven --2.4655 three seventy --1.1068 three six --1.8938 three sixty --2.4655 three stop --2.4655 three ten --1.1621 three three --2.4655 three twelve --1.6553 three twenty --0.8720 three two --1.8938 three yes --1.6553 three zero --0.1655 twelfth nineteen --1.3392 twelve fifty --1.3392 twelve four --1.3392 twelve nine --1.3392 twelve nineteen --1.3392 twelve sixty --1.3392 twelve ten --0.7675 twelve twenty --0.4361 twentieth nineteen --0.8370 twenty eight --1.9132 twenty fifth --1.9132 twenty first --1.3416 twenty four --1.9132 twenty fourth --1.1030 twenty nine --1.1030 twenty one --1.3416 twenty second --1.3416 twenty seven --1.9132 twenty seventh --1.1030 twenty six --1.3416 twenty third --1.3416 twenty three --1.3416 twenty two --1.4238 two eight --2.7825 two eighteen --1.7062 two enter --2.7825 two fifteen --1.2541 two five --1.1066 two four --2.7825 two go --2.7825 two help --2.7825 two march --1.5425 two nine --2.7825 two no --2.7825 two october --1.2907 two oh --0.5953 two one --2.7825 two repeat --1.3307 two seven --0.9596 two six --2.7825 two sixty --2.2108 two ten --2.2108 two thirty --1.1890 two three --2.7825 two twelve --2.2108 two twenty --0.9091 two two --1.6167 two zero --0.7951 yes enter --1.7583 yes five --1.7583 yes four --1.1867 yes go --0.9481 yes one --1.1867 yes repeat --1.7583 yes six --1.7583 yes start --1.7583 yes stop --1.7583 yes twenty --1.1867 yes two --1.1867 yes yes --1.8511 zero eight --1.2794 zero enter --1.8511 zero five --1.8511 zero four --1.8511 zero nine --0.5477 zero one --1.2794 zero seven --0.6853 zero six --1.8511 zero twelve --1.2794 zero two --1.8511 zero zero - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.fst deleted file mode 100755 index bdcb14e0..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.fst +++ /dev/null @@ -1,217 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 4.29133 -T 0 1 4.26232 -T 0 4 a a 4.26232 -T 0 5 april april 4.26232 -T 0 6 area area 4.26232 -T 0 7 august august 4.26232 -T 0 8 code code 4.26232 -T 0 9 december december 4.26232 -T 0 10 eight eight 4.26232 -T 0 11 eighteen eighteen 4.26232 -T 0 12 eighteenth eighteenth 4.26232 -T 0 13 eighth eighth 4.26232 -T 0 14 eighty eighty 4.26232 -T 0 15 eleven eleven 4.26232 -T 0 16 eleventh eleventh 4.26232 -T 0 17 enter enter 4.26232 -T 0 18 february february 4.26232 -T 0 19 fifteen fifteen 4.26232 -T 0 20 fifteenth fifteenth 4.26232 -T 0 21 fifth fifth 4.26232 -T 0 22 fifty fifty 4.26232 -T 0 23 first first 4.26232 -T 0 24 five five 4.26232 -T 0 25 forty forty 4.26232 -T 0 26 four four 4.26232 -T 0 27 fourteen fourteen 4.26232 -T 0 28 fourth fourth 4.26232 -T 0 29 go go 4.26232 -T 0 30 help help 4.26232 -T 0 31 hundred hundred 4.26232 -T 0 32 january january 4.26232 -T 0 33 july july 4.26232 -T 0 34 june june 4.26232 -T 0 35 march march 4.26232 -T 0 36 may may 4.26232 -T 0 37 nine nine 4.26232 -T 0 38 nineteen nineteen 4.26232 -T 0 39 ninety ninety 4.26232 -T 0 40 ninth ninth 4.26232 -T 0 41 no no 4.26232 -T 0 42 october october 4.26232 -T 0 43 of of 4.26232 -T 0 44 oh oh 4.26232 -T 0 45 one one 4.26232 -T 0 46 repeat repeat 4.26232 -T 0 47 second second 4.26232 -T 0 48 september september 4.26232 -T 0 49 seven seven 4.26232 -T 0 50 seventeen seventeen 4.26232 -T 0 51 seventh seventh 4.26232 -T 0 52 seventy seventy 4.26232 -T 0 53 six six 4.26232 -T 0 54 sixteen sixteen 4.26232 -T 0 55 sixteenth sixteenth 4.26232 -T 0 56 sixth sixth 4.26232 -T 0 57 sixty sixty 4.26232 -T 0 58 start start 4.26232 -T 0 59 stop stop 4.26232 -T 0 60 ten ten 4.26232 -T 0 61 third third 4.26232 -T 0 62 thirtieth thirtieth 4.26232 -T 0 63 thirty thirty 4.26232 -T 0 64 thousand thousand 4.26232 -T 0 65 three three 4.26232 -T 0 66 twelfth twelfth 4.26232 -T 0 67 twelve twelve 4.26232 -T 0 68 twentieth twentieth 4.26232 -T 0 69 twenty twenty 4.26232 -T 0 70 two two 4.26232 -T 0 71 yes yes 4.26232 -T 0 72 zero zero 4.26232 -F 1 4.29133 -T 1 0 -F 2 4.29133 -T 2 0 -F 3 4.29133 -T 3 0 -F 4 4.29133 -T 4 0 -F 5 4.29133 -T 5 0 -F 6 4.29133 -T 6 0 -F 7 4.29133 -T 7 0 -F 8 4.29133 -T 8 0 -F 9 4.29133 -T 9 0 -F 10 4.29133 -T 10 0 -F 11 4.29133 -T 11 0 -F 12 4.29133 -T 12 0 -F 13 4.29133 -T 13 0 -F 14 4.29133 -T 14 0 -F 15 4.29133 -T 15 0 -F 16 4.29133 -T 16 0 -F 17 4.29133 -T 17 0 -F 18 4.29133 -T 18 0 -F 19 4.29133 -T 19 0 -F 20 4.29133 -T 20 0 -F 21 4.29133 -T 21 0 -F 22 4.29133 -T 22 0 -F 23 4.29133 -T 23 0 -F 24 4.29133 -T 24 0 -F 25 4.29133 -T 25 0 -F 26 4.29133 -T 26 0 -F 27 4.29133 -T 27 0 -F 28 4.29133 -T 28 0 -F 29 4.29133 -T 29 0 -F 30 4.29133 -T 30 0 -F 31 4.29133 -T 31 0 -F 32 4.29133 -T 32 0 -F 33 4.29133 -T 33 0 -F 34 4.29133 -T 34 0 -F 35 4.29133 -T 35 0 -F 36 4.29133 -T 36 0 -F 37 4.29133 -T 37 0 -F 38 4.29133 -T 38 0 -F 39 4.29133 -T 39 0 -F 40 4.29133 -T 40 0 -F 41 4.29133 -T 41 0 -F 42 4.29133 -T 42 0 -F 43 4.29133 -T 43 0 -F 44 4.29133 -T 44 0 -F 45 4.29133 -T 45 0 -F 46 4.29133 -T 46 0 -F 47 4.29133 -T 47 0 -F 48 4.29133 -T 48 0 -F 49 4.29133 -T 49 0 -F 50 4.29133 -T 50 0 -F 51 4.29133 -T 51 0 -F 52 4.29133 -T 52 0 -F 53 4.29133 -T 53 0 -F 54 4.29133 -T 54 0 -F 55 4.29133 -T 55 0 -F 56 4.29133 -T 56 0 -F 57 4.29133 -T 57 0 -F 58 4.29133 -T 58 0 -F 59 4.29133 -T 59 0 -F 60 4.29133 -T 60 0 -F 61 4.29133 -T 61 0 -F 62 4.29133 -T 62 0 -F 63 4.29133 -T 63 0 -F 64 4.29133 -T 64 0 -F 65 4.29133 -T 65 0 -F 66 4.29133 -T 66 0 -F 67 4.29133 -T 67 0 -F 68 4.29133 -T 68 0 -F 69 4.29133 -T 69 0 -F 70 4.29133 -T 70 0 -F 71 4.29133 -T 71 0 -F 72 4.29133 -T 72 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.lm deleted file mode 100755 index 2d778d04..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.flat_unigram.lm +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 71 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 70 -1-gram discounting ratios : 0.97 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=72 - -\1-grams: --1.8511 0.0000 --99.0000 0.0000 --1.8637 0.0000 --1.8511 a 0.0000 --1.8511 april 0.0000 --1.8511 area 0.0000 --1.8511 august 0.0000 --1.8511 code 0.0000 --1.8511 december 0.0000 --1.8511 eight 0.0000 --1.8511 eighteen 0.0000 --1.8511 eighteenth 0.0000 --1.8511 eighth 0.0000 --1.8511 eighty 0.0000 --1.8511 eleven 0.0000 --1.8511 eleventh 0.0000 --1.8511 enter 0.0000 --1.8511 february 0.0000 --1.8511 fifteen 0.0000 --1.8511 fifteenth 0.0000 --1.8511 fifth 0.0000 --1.8511 fifty 0.0000 --1.8511 first 0.0000 --1.8511 five 0.0000 --1.8511 forty 0.0000 --1.8511 four 0.0000 --1.8511 fourteen 0.0000 --1.8511 fourth 0.0000 --1.8511 go 0.0000 --1.8511 help 0.0000 --1.8511 hundred 0.0000 --1.8511 january 0.0000 --1.8511 july 0.0000 --1.8511 june 0.0000 --1.8511 march 0.0000 --1.8511 may 0.0000 --1.8511 nine 0.0000 --1.8511 nineteen 0.0000 --1.8511 ninety 0.0000 --1.8511 ninth 0.0000 --1.8511 no 0.0000 --1.8511 october 0.0000 --1.8511 of 0.0000 --1.8511 oh 0.0000 --1.8511 one 0.0000 --1.8511 repeat 0.0000 --1.8511 second 0.0000 --1.8511 september 0.0000 --1.8511 seven 0.0000 --1.8511 seventeen 0.0000 --1.8511 seventh 0.0000 --1.8511 seventy 0.0000 --1.8511 six 0.0000 --1.8511 sixteen 0.0000 --1.8511 sixteenth 0.0000 --1.8511 sixth 0.0000 --1.8511 sixty 0.0000 --1.8511 start 0.0000 --1.8511 stop 0.0000 --1.8511 ten 0.0000 --1.8511 third 0.0000 --1.8511 thirtieth 0.0000 --1.8511 thirty 0.0000 --1.8511 thousand 0.0000 --1.8511 three 0.0000 --1.8511 twelfth 0.0000 --1.8511 twelve 0.0000 --1.8511 twentieth 0.0000 --1.8511 twenty 0.0000 --1.8511 two 0.0000 --1.8511 yes 0.0000 --1.8511 zero 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.fst deleted file mode 100755 index 5c53fdda..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.fst +++ /dev/null @@ -1,2526 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 8.10924 -T 0 1 8.10924 -T 0 4 a a 8.10924 -T 0 6 april april 8.10924 -T 0 8 area area 8.10924 -T 0 10 august august 6.23747 -T 0 13 code code 8.10924 -T 0 15 december december 8.10924 -T 0 17 eight eight 2.74491 -T 0 46 eighteen eighteen 8.10924 -T 0 48 eighteenth eighteenth 8.10924 -T 0 50 eighth eighth 8.10924 -T 0 52 eighty eighty 6.23747 -T 0 56 eleven eleven 6.23747 -T 0 61 eleventh eleventh 8.10924 -T 0 63 enter enter 3.07764 -T 0 84 february february 7.06778 -T 0 87 fifteen fifteen 6.23747 -T 0 92 fifteenth fifteenth 7.06778 -T 0 94 fifth fifth 8.10924 -T 0 96 fifty fifty 4.30261 -T 0 106 first first 6.56881 -T 0 108 five five 2.43084 -T 0 131 forty forty 4.75944 -T 0 140 four four 2.67054 -T 0 168 fourteen fourteen 5.62429 -T 0 174 fourth fourth 8.10924 -T 0 176 go go 5.24713 -T 0 184 help help 5.05694 -T 0 193 hundred hundred 7.06778 -T 0 196 january january 7.06778 -T 0 199 july july 6.56881 -T 0 203 june june 7.06778 -T 0 206 march march 6.56881 -T 0 210 may may 6.56881 -T 0 214 nine nine 3.27566 -T 0 246 nineteen nineteen 4.11725 -T 0 252 ninety ninety 6.23747 -T 0 257 ninth ninth 7.06778 -T 0 260 no no 4.75944 -T 0 270 october october 6.56881 -T 0 274 of of 7.06778 -T 0 277 oh oh 3.48588 -T 0 289 one one 2.02443 -T 0 324 repeat repeat 4.69704 -T 0 333 second second 7.06778 -T 0 335 september september 5.98902 -T 0 341 seven seven 2.89251 -T 0 369 seventeen seventeen 6.56881 -T 0 372 seventh seventh 8.10924 -T 0 374 seventy seventy 5.05694 -T 0 381 six six 2.64682 -T 0 408 sixteen sixteen 6.56881 -T 0 411 sixteenth sixteenth 8.10924 -T 0 413 sixth sixth 8.10924 -T 0 415 sixty sixty 3.43338 -T 0 429 start start 5.14743 -T 0 436 stop stop 4.75944 -T 0 445 ten ten 5.14743 -T 0 453 third third 6.56881 -T 0 455 thirtieth thirtieth 6.56881 -T 0 457 thirty thirty 4.63833 -T 0 466 thousand thousand 6.56881 -T 0 469 three three 2.83448 -T 0 499 twelfth twelfth 7.06778 -T 0 501 twelve twelve 5.48222 -T 0 509 twentieth twentieth 8.10924 -T 0 511 twenty twenty 4.11725 -T 0 526 two two 2.10249 -T 0 552 yes yes 4.4806 -T 0 565 zero zero 4.26278 -F 1 8.10924 -T 1 0 -F 2 8.10924 -T 2 0 -F 3 8.10924 -T 3 0 -F 4 8.42387 -T 4 0 , , 0.314621 -T 4 5 one one 1.00416 -F 5 8.74695 -T 5 289 , , -3.6339e-10 -F 6 8.5641 -T 6 0 , , 0.454859 -T 6 7 thirtieth thirtieth 1.00416 -F 7 9.64806 -T 7 455 , , -1.94202e-08 -F 8 8.56521 -T 8 0 , , 0.455963 -T 8 9 code code 1.00416 -F 9 8.49378 -T 9 13 , , 8.46674e-11 -F 10 9.24182 -T 10 0 , , 1.13257 -T 10 11 sixteenth sixteenth 2.39054 -T 10 12 twenty twenty 0.524989 -F 11 8.54908 -T 11 411 , , 8.46674e-11 -F 12 9.15342 -T 12 511 , , 0.624654 -T 12 516 fourth fourth 2.51212 -T 12 519 second second 0.880969 -F 13 8.49378 -T 13 0 , , 0.384537 -T 13 14 four four 1.00416 -F 14 8.50135 -T 14 140 , , 0.0736518 -T 14 155 one one 1.41356 -F 15 8.56521 -T 15 0 , , 0.455963 -T 15 16 eighteenth eighteenth 1.00416 -F 16 8.54908 -T 16 48 , , 8.46674e-11 -F 17 8.43474 -T 17 0 , , 0.325496 -T 17 18 april april 5.76636 -T 17 19 august august 5.76636 -T 17 20 eight eight 3.07041 -T 17 21 enter enter 2.3316 -T 17 22 fifty fifty 4.62811 -T 17 23 five five 2.75633 -T 17 24 forty forty 5.08494 -T 17 25 four four 2.1695 -T 17 26 fourteen fourteen 5.76636 -T 17 27 help help 5.38243 -T 17 28 hundred hundred 5.76636 -T 17 29 june june 5.76636 -T 17 30 nine nine 3.08201 -T 17 31 no no 5.08494 -T 17 32 oh oh 3.81138 -T 17 33 one one 2.34993 -T 17 34 seven seven 3.08201 -T 17 35 seventy seventy 4.44998 -T 17 36 six six 2.97232 -T 17 37 sixty sixty 3.75888 -T 17 38 stop stop 5.08494 -T 17 39 ten ten 5.47292 -T 17 40 thirty thirty 4.96382 -T 17 41 three three 2.09719 -T 17 42 twelve twelve 5.76636 -T 17 43 twenty twenty 4.44275 -T 17 44 two two 2.3316 -T 17 45 zero zero 3.54828 -F 18 8.5641 -T 18 6 , , 8.46674e-11 -F 19 9.42452 -T 19 10 , , 0.182709 -T 19 11 sixteenth sixteenth 1.41356 -F 20 8.811 -T 20 17 , , 0.376264 -T 20 25 four four 1.57405 -T 20 30 nine nine 1.57405 -T 20 34 seven seven 3.2052 -F 21 9.00335 -T 21 63 , , 0.246694 -T 21 67 fifty fifty 1.67697 -T 21 72 nine nine 2.26713 -F 22 8.70697 -T 22 96 , , 0.0867942 -T 22 102 six six 1.41356 -F 23 9.08357 -T 23 108 , , 0.170439 -T 23 112 four four 3.49302 -T 23 115 may may 3.49302 -T 23 116 nine nine 3.49302 -T 23 119 oh oh 3.49302 -T 23 123 six six 1.86164 -F 24 8.59822 -T 24 131 , , 0.177077 -T 24 136 one one 1.41356 -F 25 8.81123 -T 25 140 , , 0.383531 -T 25 141 august august 4.05255 -T 25 148 four four 2.4214 -T 25 155 one one 1.83102 -T 25 159 six six 1.46237 -T 25 166 two two 1.83102 -F 26 8.74622 -T 26 168 , , 2.15509e-09 -F 27 8.6886 -T 27 184 , , 6.68699e-10 -F 28 8.49806 -T 28 193 , , 0.0764093 -T 28 194 eighty eighty 1.41356 -F 29 8.62523 -T 29 203 , , 0.0764093 -T 29 204 eleventh eleventh 1.41356 -F 30 8.37777 -T 30 214 , , 0.0482988 -T 30 227 june june 3.2052 -T 30 228 nine nine 3.2052 -F 31 8.88466 -T 31 260 , , 0.118693 -T 31 261 enter enter 1.41356 -F 32 8.97495 -T 32 277 , , 0.0225735 -T 32 286 three three 2.51212 -F 33 8.79545 -T 33 289 , , 0.0484938 -T 33 304 nine nine 3.2052 -T 33 311 six six 3.2052 -T 33 318 thousand thousand 3.2052 -F 34 8.65935 -T 34 341 , , 0.147975 -T 34 353 nine nine 3.2052 -T 34 356 one one 1.57405 -T 34 362 stop stop 3.2052 -F 35 9.15974 -T 35 374 , , 0.379006 -T 35 378 one one 0.475484 -F 36 8.72585 -T 36 381 , , 0.178913 -T 36 382 eight eight 1.39168 -T 36 388 nine nine 3.02306 -T 36 403 twelve twelve 3.02306 -F 37 8.85247 -T 37 415 , , 0.00768014 -T 37 419 five five 2.51212 -F 38 8.88358 -T 38 436 , , -1.70683e-09 -F 39 8.99905 -T 39 445 , , 0.244886 -T 39 450 thirty thirty 1.41356 -F 40 8.82843 -T 40 457 , , 0.137813 -T 40 465 two two 1.41356 -F 41 8.46774 -T 41 469 , , 0.123422 -T 41 473 eleven eleven 4.12163 -T 41 479 march march 4.12163 -T 41 486 september september 4.12163 -T 41 494 twelve twelve 4.12163 -T 41 498 zero zero 2.49025 -F 42 8.71987 -T 42 501 , , 0.230284 -T 42 503 four four 1.41356 -F 43 8.61186 -T 43 511 , , 0.083096 -T 43 520 seven seven 2.10664 -F 44 9.14617 -T 44 526 , , 0.245378 -T 44 527 eight eight 2.26713 -T 44 532 four four 2.26713 -T 44 543 six six 1.67697 -F 45 8.73666 -T 45 565 , , 0.041497 -T 45 570 nine nine 2.79971 -F 46 8.56466 -T 46 0 , , 0.455411 -T 46 47 february february 1.00416 -F 47 8.62523 -T 47 84 , , 0.0764093 -T 47 86 nineteen nineteen 1.41356 -F 48 8.54908 -T 48 0 , , 0.43984 -T 48 49 nineteen nineteen 1.00416 -F 49 10.5091 -T 49 246 , , 0.232147 -T 49 248 forty forty 1.41356 -F 50 8.54908 -T 50 0 , , 0.43984 -T 50 51 nineteen nineteen 1.00416 -F 51 10.5091 -T 51 246 , , 0.232147 -T 51 247 fifty fifty 1.41356 -F 52 8.66993 -T 52 0 , , 0.560683 -T 52 53 nine nine 1.07416 -T 52 54 six six 2.39054 -T 52 55 three three 2.39054 -F 53 8.45438 -T 53 214 , , 0.124913 -T 53 221 five five 2.10664 -T 53 222 forty forty 2.10664 -F 54 8.69886 -T 54 381 , , 0.151919 -T 54 391 one one 1.41356 -F 55 8.60071 -T 55 469 , , 0.256393 -T 55 482 no no 1.41356 -F 56 8.35631 -T 56 0 , , 0.247069 -T 56 57 nine nine 2.39054 -T 56 58 one one 2.2715 -T 56 59 seventeen seventeen 2.39054 -T 56 60 sixty sixty 2.39054 -F 57 8.58199 -T 57 214 , , 0.252519 -T 57 238 sixty sixty 1.41356 -F 58 8.74695 -T 58 289 , , -3.6339e-10 -F 59 8.9474 -T 59 369 , , 3.80548e-09 -F 60 8.95069 -T 60 415 , , 0.105897 -T 60 424 seven seven 1.41356 -F 61 8.54908 -T 61 0 , , 0.43984 -T 61 62 nineteen nineteen 1.00416 -F 62 10.277 -T 62 246 , , 4.10027e-08 -F 63 8.75665 -T 63 0 , , 0.647409 -T 63 64 eight eight 2.43383 -T 63 65 eighty eighty 5.43502 -T 63 66 fifteen fifteen 5.43502 -T 63 67 fifty fifty 2.95698 -T 63 68 five five 2.75067 -T 63 69 forty forty 3.56947 -T 63 70 four four 2.75067 -T 63 71 fourteen fourteen 5.43502 -T 63 72 nine nine 3.21694 -T 63 73 ninety ninety 3.56947 -T 63 74 one one 2.67184 -T 63 75 seven seven 2.3065 -T 63 76 seventy seventy 3.21694 -T 63 77 six six 2.43383 -T 63 78 sixty sixty 2.43383 -T 63 79 thirty thirty 3.56947 -T 63 80 three three 3.48189 -T 63 81 twenty twenty 4.76466 -T 63 82 two two 2.7499 -T 63 83 zero zero 4.91019 -F 64 8.50341 -T 64 17 , , 0.0686661 -T 64 35 seventy seventy 3.49302 -T 64 40 thirty thirty 3.49302 -T 64 43 twenty twenty 3.49302 -T 64 45 zero zero 3.49302 -F 65 8.66993 -T 65 52 , , -3.26223e-10 -F 66 8.55317 -T 66 87 , , 0.182709 -T 66 91 thirty thirty 1.41356 -F 67 8.89612 -T 67 96 , , 0.275939 -T 67 99 four four 1.39168 -T 67 103 sixty sixty 3.02306 -F 68 9.21024 -T 68 108 , , 0.297113 -T 68 110 enter enter 3.2052 -T 68 114 help help 1.57405 -T 68 126 three three 3.2052 -T 68 130 zero zero 3.2052 -F 69 8.42115 -T 69 131 , , 3.01403e-09 -F 70 9.03257 -T 70 140 , , 0.604872 -T 70 145 fifty fifty 0.983895 -T 70 162 thousand thousand 3.2052 -T 70 163 three three 3.2052 -T 70 165 twenty twenty 3.2052 -F 71 8.97122 -T 71 168 , , 0.225002 -T 71 172 repeat repeat 1.41356 -F 72 8.52274 -T 72 214 , , 0.193274 -T 72 216 eight eight 2.79971 -T 72 217 eighty eighty 2.79971 -T 72 236 seventy seventy 2.79971 -T 72 244 yes yes 2.79971 -F 73 8.21971 -T 73 252 , , 5.27075e-10 -F 74 8.97803 -T 74 289 , , 0.231074 -T 74 298 forty forty 2.79971 -T 74 304 nine nine 2.79971 -T 74 305 ninety ninety 2.79971 -T 74 317 thirty thirty 2.79971 -F 75 8.53953 -T 75 341 , , 0.0281566 -T 75 364 thirty thirty 3.61068 -T 75 368 yes yes 3.61068 -F 76 8.81011 -T 76 374 , , 0.0293747 -T 76 375 eight eight 2.79971 -F 77 8.58901 -T 77 381 , , 0.0420743 -T 77 391 one one 1.86164 -F 78 9.10096 -T 78 415 , , 0.25617 -T 78 417 enter enter 3.49302 -T 78 421 help help 3.49302 -T 78 423 one one 1.27149 -T 78 425 six six 3.49302 -F 79 8.79968 -T 79 457 , , 0.109064 -T 79 458 eight eight 2.51212 -T 79 459 five five 2.51212 -T 79 461 seven seven 2.51212 -F 80 8.61504 -T 80 469 , , 0.270727 -T 80 472 eighty eighty 2.10664 -T 80 492 ten ten 2.10664 -F 81 8.72535 -T 81 511 , , 0.196586 -T 81 517 nine nine 1.41356 -F 82 9.18171 -T 82 526 , , 0.280919 -T 82 533 go go 3.2052 -T 82 537 no no 3.2052 -T 82 539 oh oh 1.57405 -F 83 8.91994 -T 83 565 , , 0.224773 -T 83 567 enter enter 1.41356 -F 84 8.54882 -T 84 0 , , 0.439574 -T 84 85 eighth eighth 1.69724 -T 84 86 nineteen nineteen 1.69724 -F 85 8.54908 -T 85 50 , , 8.46674e-11 -F 86 10.4735 -T 86 246 , , 0.196586 -T 86 249 seventy seventy 1.41356 -F 87 8.37046 -T 87 0 , , 0.261219 -T 87 88 nineteen nineteen 2.39054 -T 87 89 one one 2.28565 -T 87 90 sixty sixty 2.39054 -T 87 91 thirty thirty 2.39054 -F 88 10.4735 -T 88 246 , , 0.196586 -T 88 249 seventy seventy 1.41356 -F 89 8.74695 -T 89 289 , , -3.6339e-10 -F 90 9.06322 -T 90 415 , , 0.218433 -T 90 428 two two 1.41356 -F 91 8.93597 -T 91 457 , , 0.245357 -T 91 464 three three 1.41356 -F 92 9.24207 -T 92 0 , , 1.13282 -T 92 93 nineteen nineteen 0.381078 -F 93 10.277 -T 93 246 , , 8.20099e-10 -F 94 8.54908 -T 94 0 , , 0.43984 -T 94 95 nineteen nineteen 1.00416 -F 95 10.277 -T 95 246 , , 4.10027e-08 -F 96 8.62018 -T 96 0 , , 0.510931 -T 96 97 eight eight 2.00509 -T 96 98 five five 2.35762 -T 96 99 four four 2.90678 -T 96 100 one one 1.7449 -T 96 101 seven seven 2.90678 -T 96 102 six six 1.7449 -T 96 103 sixty sixty 3.94432 -T 96 104 three three 3.34541 -T 96 105 two two 2.61342 -F 97 9.2993 -T 97 17 , , 0.864556 -T 97 21 enter enter 0.578409 -T 97 27 help help 2.79971 -F 98 9.02734 -T 98 108 , , 0.114208 -T 98 126 three three 2.51212 -T 98 129 yes yes 2.51212 -F 99 9.3642 -T 99 140 , , 0.936498 -T 99 144 enter enter 0.475484 -F 100 8.83975 -T 100 289 , , 0.0927962 -T 100 295 fifteen fifteen 3.02306 -T 100 296 fifty fifty 3.02306 -T 100 299 four four 3.02306 -F 101 8.74216 -T 101 341 , , 0.230792 -T 101 350 fourteen fourteen 2.10664 -T 101 361 start start 2.10664 -F 102 8.88729 -T 102 381 , , 0.340357 -T 102 390 oh oh 3.02306 -T 102 398 sixty sixty 3.02306 -T 102 401 thirty thirty 1.39168 -F 103 9.04665 -T 103 415 , , 0.201864 -T 103 427 three three 1.41356 -F 104 8.61022 -T 104 469 , , 0.265905 -T 104 476 forty forty 1.41356 -F 105 9.15552 -T 105 526 , , 0.254733 -T 105 529 enter enter 2.10664 -T 105 534 help help 2.10664 -F 106 9.64806 -T 106 0 , , 1.53881 -T 106 107 nineteen nineteen 0.237166 -F 107 10.4091 -T 107 246 , , 0.132154 -T 107 250 sixty sixty 0.290586 -F 108 8.91313 -T 108 0 , , 0.803887 -T 108 109 eight eight 3.5488 -T 108 110 enter enter 3.60124 -T 108 111 five five 2.95099 -T 108 112 four four 3.39493 -T 108 113 fourteen fourteen 6.07929 -T 108 114 help help 4.21373 -T 108 115 may may 6.07929 -T 108 116 nine nine 3.39493 -T 108 117 ninth ninth 6.07929 -T 108 118 october october 6.07929 -T 108 119 oh oh 3.39493 -T 108 120 one one 2.06127 -T 108 121 repeat repeat 5.50093 -T 108 122 seven seven 3.69639 -T 108 123 six six 3.22408 -T 108 124 sixteen sixteen 6.07929 -T 108 125 ten ten 5.95132 -T 108 126 three three 3.22408 -T 108 127 twenty twenty 4.92114 -T 108 128 two two 0.880048 -T 108 129 yes yes 3.86144 -T 108 130 zero zero 4.21373 -F 109 8.61714 -T 109 17 , , 0.182396 -T 109 18 april april 2.79971 -T 109 23 five five 2.79971 -T 109 32 oh oh 2.79971 -T 109 42 twelve twelve 2.79971 -F 110 9.03947 -T 110 63 , , 0.282814 -T 110 69 forty forty 3.02306 -T 110 76 seventy seventy 3.02306 -T 110 82 two two 1.39168 -F 111 8.93869 -T 111 108 , , 0.0255573 -T 111 110 enter enter 3.61068 -T 111 117 ninth ninth 3.61068 -F 112 8.6756 -T 112 140 , , 0.247897 -T 112 150 january january 3.2052 -T 112 151 march march 3.2052 -T 112 159 six six 1.57405 -F 113 8.97122 -T 113 168 , , 0.225002 -T 113 170 fourteen fourteen 1.41356 -F 114 8.802 -T 114 184 , , 0.113401 -T 114 188 help help 2.51212 -T 114 190 seven seven 2.51212 -F 115 8.68004 -T 115 210 , , 0.148508 -T 115 212 ninth ninth 1.41356 -F 116 8.46045 -T 116 214 , , 0.130976 -T 116 235 seven seven 3.2052 -T 116 243 two two 1.57405 -F 117 8.60827 -T 117 257 , , 0.0764093 -T 117 258 of of 1.41356 -F 118 8.69476 -T 118 270 , , 0.148508 -T 118 272 thirtieth thirtieth 1.41356 -F 119 9.18704 -T 119 277 , , 0.234664 -T 119 280 four four 1.57405 -T 119 287 twelve twelve 3.2052 -F 120 9.08596 -T 120 289 , , 0.339013 -T 120 297 five five 1.06449 -T 120 299 four four 2.2365 -T 120 304 nine nine 2.82665 -T 120 308 one one 2.82665 -T 120 314 start start 4.45803 -T 120 316 ten ten 4.45803 -T 120 319 three three 2.82665 -F 121 9.24955 -T 121 324 , , 0.256974 -T 121 331 repeat repeat 1.41356 -F 122 8.89922 -T 122 341 , , 0.387849 -T 122 343 eight eight 1.16856 -T 122 355 oh oh 2.79971 -T 122 359 six six 2.79971 -F 123 9.02343 -T 123 381 , , 0.476495 -T 123 386 four four 1.13794 -T 123 391 one one 1.72809 -F 124 8.92918 -T 124 408 , , 3.80548e-09 -F 125 8.75416 -T 125 445 , , 1.75369e-09 -F 126 8.65331 -T 126 469 , , 0.308996 -T 126 477 four four 1.72809 -T 126 478 fourteen fourteen 3.35947 -T 126 493 three three 1.72809 -F 127 8.72535 -T 127 511 , , 0.196586 -T 127 522 six six 1.41356 -F 128 9.95527 -T 128 526 , , 1.05448 -T 128 532 four four 3.39677 -T 128 539 oh oh 3.02813 -T 128 540 one one 0.642421 -T 128 545 ten ten 5.61831 -T 128 547 three three 2.22453 -T 128 550 two two 2.09535 -T 128 551 zero zero 3.98693 -F 129 8.98379 -T 129 552 , , 0.406804 -T 129 556 go go 2.79971 -T 129 558 repeat repeat 1.16856 -T 129 561 stop stop 2.79971 -F 130 8.77664 -T 130 565 , , 0.0814708 -T 130 567 enter enter 2.51212 -T 130 569 four four 2.51212 -F 131 8.42115 -T 131 0 , , 0.311901 -T 131 132 eight eight 3.05681 -T 131 133 five five 2.46054 -T 131 134 four four 2.46054 -T 131 135 nine nine 3.58756 -T 131 136 one one 2.33633 -T 131 137 seven seven 1.91115 -T 131 138 three three 1.91115 -T 131 139 two two 2.41439 -F 132 8.61131 -T 132 17 , , 0.176569 -T 132 21 enter enter 1.41356 -F 133 9.02399 -T 133 108 , , 0.110856 -T 133 110 enter enter 2.10664 -T 133 120 one one 2.10664 -F 134 8.65992 -T 134 140 , , 0.232218 -T 134 144 enter enter 2.10664 -T 134 161 stop stop 2.10664 -F 135 8.60291 -T 135 214 , , 0.273434 -T 135 225 help help 1.41356 -F 136 8.92685 -T 136 289 , , 0.179902 -T 136 293 enter enter 2.10664 -T 136 308 one one 2.10664 -F 137 9.10509 -T 137 341 , , 0.593719 -T 137 344 enter enter 0.880969 -T 137 348 forty forty 2.51212 -F 138 8.54911 -T 138 469 , , 0.2048 -T 138 474 enter enter 2.51212 -T 138 476 forty forty 2.51212 -T 138 495 twenty twenty 2.51212 -F 139 8.96359 -T 139 526 , , 0.0628031 -T 139 547 three three 2.10664 -F 140 8.4277 -T 140 0 , , 0.318458 -T 140 141 august august 5.84051 -T 140 142 eight eight 2.83932 -T 140 143 eleven eleven 5.84051 -T 140 144 enter enter 3.36246 -T 140 145 fifty fifty 3.97495 -T 140 146 five five 2.7493 -T 140 147 forty forty 5.0779 -T 140 148 four four 2.17134 -T 140 149 help help 5.37539 -T 140 150 january january 4.52412 -T 140 151 march march 5.84051 -T 140 152 nine nine 3.59412 -T 140 153 no no 4.52412 -T 140 154 oh oh 3.62243 -T 140 155 one one 1.68503 -T 140 156 repeat repeat 5.0155 -T 140 157 september september 5.84051 -T 140 158 seven seven 2.9853 -T 140 159 six six 2.59916 -T 140 160 sixty sixty 3.75184 -T 140 161 stop stop 4.52412 -T 140 162 thousand thousand 5.84051 -T 140 163 three three 3.15294 -T 140 164 twelve twelve 5.80068 -T 140 165 twenty twenty 4.43571 -T 140 166 two two 2.1041 -T 140 167 zero zero 4.58123 -F 141 9.24181 -T 141 10 , , -4.50083e-09 -F 142 8.6641 -T 142 17 , , 0.229365 -T 142 23 five five 1.86164 -T 142 25 four four 1.86164 -T 142 26 fourteen fourteen 3.49302 -T 142 45 zero zero 3.49302 -F 143 8.53902 -T 143 56 , , 0.182709 -T 143 59 seventeen seventeen 1.41356 -F 144 8.84722 -T 144 63 , , 0.0905676 -T 144 66 fifteen fifteen 3.02306 -T 144 83 zero zero 3.02306 -F 145 8.64855 -T 145 96 , , 0.0283724 -T 145 101 seven seven 2.51212 -F 146 9.05134 -T 146 108 , , 0.138206 -T 146 109 eight eight 3.2052 -T 146 116 nine nine 3.2052 -T 146 120 one one 1.57405 -T 146 126 three three 3.2052 -F 147 8.67185 -T 147 131 , , 0.250702 -T 147 135 nine nine 1.41356 -F 148 8.73687 -T 148 140 , , 0.309167 -T 148 148 four four 1.53145 -T 148 155 one one 1.90009 -T 148 158 seven seven 1.90009 -T 148 165 twenty twenty 4.12163 -F 149 8.6886 -T 149 184 , , 6.68699e-10 -F 150 8.56384 -T 150 196 , , 4.57508e-10 -F 151 8.69589 -T 151 206 , , 0.148508 -T 151 209 twenty twenty 1.41356 -F 152 8.44921 -T 152 214 , , 0.11974 -T 152 221 five five 2.10664 -T 152 245 zero zero 2.10664 -F 153 8.80641 -T 153 260 , , 0.0404503 -T 153 262 fifty fifty 2.10664 -F 154 8.95313 -T 154 277 , , 0.000755826 -T 154 286 three three 2.79971 -F 155 9.49203 -T 155 289 , , 0.745082 -T 155 290 august august 4.59158 -T 155 308 one one 2.9602 -T 155 321 two two 0.594527 -T 155 323 zero zero 4.59158 -F 156 9.12145 -T 156 324 , , 0.128879 -T 156 332 stop stop 1.41356 -F 157 8.73237 -T 157 335 , , 0.202669 -T 157 339 sixth sixth 1.41356 -F 158 8.687 -T 158 341 , , 0.175632 -T 158 354 october october 3.35947 -T 158 357 seven seven 3.35947 -T 158 360 sixty sixty 3.35947 -T 158 367 two two 1.72809 -F 159 8.67733 -T 159 381 , , 0.130394 -T 159 388 nine nine 3.71614 -T 159 394 seven seven 2.08476 -T 159 404 twenty twenty 3.71614 -T 159 406 yes yes 3.71614 -F 160 8.8976 -T 160 415 , , 0.0528127 -T 160 416 eight eight 2.10664 -F 161 9.34797 -T 161 436 , , 0.46439 -T 161 437 enter enter 0.475484 -F 162 8.90083 -T 162 466 , , 0.148508 -T 162 467 eight eight 1.41356 -F 163 8.34861 -T 163 469 , , 0.00429875 -T 163 474 enter enter 3.2052 -F 164 8.72147 -T 164 501 , , 0.231882 -T 164 505 nineteen nineteen 1.41356 -F 165 8.56766 -T 165 511 , , 0.0388876 -T 165 518 one one 2.10664 -F 166 9.36645 -T 166 526 , , 0.465657 -T 166 529 enter enter 4.1861 -T 166 540 one one 1.59592 -T 166 548 twelve twelve 4.1861 -T 166 550 two two 0.941067 -F 167 8.69517 -T 167 565 , , -2.44063e-10 -F 168 8.74622 -T 168 0 , , 0.636973 -T 168 169 a a 2.95007 -T 168 170 fourteen fourteen 2.95007 -T 168 171 one one 2.66141 -T 168 172 repeat repeat 2.95007 -T 168 173 sixty sixty 1.08452 -F 169 8.42387 -T 169 4 , , 8.46674e-11 -F 170 8.95256 -T 170 168 , , 0.206348 -T 170 171 one one 1.41356 -F 171 8.74695 -T 171 289 , , -3.6339e-10 -F 172 9.05066 -T 172 324 , , 0.0580908 -T 172 330 one one 1.41356 -F 173 8.87062 -T 173 415 , , 0.0258256 -T 173 420 four four 2.51212 -F 174 8.54908 -T 174 0 , , 0.43984 -T 174 175 nineteen nineteen 1.00416 -F 175 10.5091 -T 175 246 , , 0.232147 -T 175 247 fifty fifty 1.41356 -F 176 8.68347 -T 176 0 , , 0.574221 -T 176 177 enter enter 1.99035 -T 176 178 fifty fifty 3.30674 -T 176 179 one one 2.59865 -T 176 180 repeat repeat 1.99035 -T 176 181 stop stop 3.30674 -T 176 182 three three 3.30674 -T 176 183 yes yes 1.99035 -F 177 8.90936 -T 177 63 , , 0.152707 -T 177 77 six six 2.10664 -T 177 80 three three 2.10664 -F 178 8.86305 -T 178 96 , , 0.242875 -T 178 104 three three 1.41356 -F 179 9.00735 -T 179 289 , , 0.260397 -T 179 323 zero zero 1.41356 -F 180 8.99257 -T 180 324 , , -3.91665e-09 -F 181 9.13918 -T 181 436 , , 0.255593 -T 181 444 yes yes 1.41356 -F 182 8.52118 -T 182 469 , , 0.176866 -T 182 477 four four 1.41356 -F 183 8.64602 -T 183 552 , , 0.0690314 -T 183 557 one one 2.10664 -T 183 563 two two 2.10664 -F 184 8.6886 -T 184 0 , , 0.57936 -T 184 185 enter enter 1.27103 -T 184 186 fifty fifty 3.48911 -T 184 187 go go 2.17272 -T 184 188 help help 3.48911 -T 184 189 one one 2.60379 -T 184 190 seven seven 3.47187 -T 184 191 three three 3.41384 -T 184 192 yes yes 3.48911 -F 185 9.53567 -T 185 63 , , 0.779018 -T 185 64 eight eight 1.16856 -T 185 77 six six 1.16856 -F 186 8.70697 -T 186 96 , , 0.0867942 -T 186 102 six six 1.41356 -F 187 8.77585 -T 187 176 , , 0.092383 -T 187 181 stop stop 2.10664 -F 188 8.93636 -T 188 184 , , 0.247753 -T 188 192 yes yes 1.41356 -F 189 8.74695 -T 189 289 , , -3.6339e-10 -F 190 8.77651 -T 190 341 , , 0.265138 -T 190 364 thirty thirty 1.41356 -F 191 8.47888 -T 191 469 , , 0.134568 -T 191 496 two two 1.41356 -F 192 8.77614 -T 192 552 , , 0.199154 -T 192 563 two two 1.41356 -F 193 8.42165 -T 193 0 , , 0.312406 -T 193 194 eighty eighty 1.69724 -T 193 195 one one 1.69724 -F 194 8.85264 -T 194 52 , , 0.182709 -T 194 55 three three 1.41356 -F 195 8.74695 -T 195 289 , , -3.6339e-10 -F 196 8.56384 -T 196 0 , , 0.454598 -T 196 197 fifteenth fifteenth 1.69724 -T 196 198 twelfth twelfth 1.69724 -F 197 9.24207 -T 197 92 , , 3.50551e-08 -F 198 9.24207 -T 198 499 , , 3.50551e-08 -F 199 8.54682 -T 199 0 , , 0.437573 -T 199 200 thirtieth thirtieth 2.10272 -T 199 201 twelfth twelfth 2.10272 -T 199 202 twenty twenty 2.10272 -F 200 9.64806 -T 200 455 , , -1.94202e-08 -F 201 9.24207 -T 201 499 , , 3.50551e-08 -F 202 8.72535 -T 202 511 , , 0.196586 -T 202 517 nine nine 1.41356 -F 203 8.54882 -T 203 0 , , 0.439574 -T 203 204 eleventh eleventh 1.69724 -T 203 205 twenty twenty 1.69724 -F 204 8.54908 -T 204 61 , , 8.46674e-11 -F 205 8.76091 -T 205 511 , , 0.232147 -T 205 523 third third 1.41356 -F 206 8.54738 -T 206 0 , , 0.438135 -T 206 207 third third 2.10272 -T 206 208 twentieth twentieth 2.10272 -T 206 209 twenty twenty 2.10272 -F 207 9.64806 -T 207 453 , , -1.94202e-08 -F 208 8.54908 -T 208 509 , , 8.46674e-11 -F 209 8.79524 -T 209 511 , , 0.26647 -T 209 513 fifth fifth 1.41356 -F 210 8.53153 -T 210 0 , , 0.42229 -T 210 211 nineteen nineteen 2.10272 -T 210 212 ninth ninth 2.10272 -T 210 213 twenty twenty 2.10272 -F 211 10.5091 -T 211 246 , , 0.232147 -T 211 248 forty forty 1.41356 -F 212 8.60827 -T 212 257 , , 0.0764093 -T 212 259 sixty sixty 1.41356 -F 213 8.79524 -T 213 511 , , 0.26647 -T 213 514 first first 1.41356 -F 214 8.32947 -T 214 0 , , 0.220227 -T 214 215 august august 5.23838 -T 214 216 eight eight 2.96514 -T 214 217 eighty eighty 5.23838 -T 214 218 eleven eleven 5.23838 -T 214 219 enter enter 2.55403 -T 214 220 fifty fifty 4.52284 -T 214 221 five five 1.99703 -T 214 222 forty forty 4.97967 -T 214 223 four four 2.89077 -T 214 224 go go 5.23838 -T 214 225 help help 5.23838 -T 214 226 july july 5.23838 -T 214 227 june june 5.23838 -T 214 228 nine nine 3.49588 -T 214 229 nineteen nineteen 4.33748 -T 214 230 no no 4.97967 -T 214 231 of of 5.23838 -T 214 232 oh oh 3.70611 -T 214 233 one one 2.24466 -T 214 234 september september 5.23838 -T 214 235 seven seven 3.11273 -T 214 236 seventy seventy 5.23838 -T 214 237 six six 2.38318 -T 214 238 sixty sixty 3.65361 -T 214 239 stop stop 4.97967 -T 214 240 thirty thirty 4.85855 -T 214 241 three three 2.76011 -T 214 242 twenty twenty 4.33748 -T 214 243 two two 2.32272 -T 214 244 yes yes 3.92199 -T 214 245 zero zero 4.483 -F 215 9.24181 -T 215 10 , , -4.50083e-09 -F 216 8.5149 -T 216 17 , , 0.0801592 -T 216 20 eight eight 2.51212 -T 216 30 nine nine 2.51212 -F 217 8.66993 -T 217 52 , , -3.26223e-10 -F 218 8.53902 -T 218 56 , , 0.182709 -T 218 57 nine nine 1.41356 -F 219 8.9182 -T 219 63 , , 0.161542 -T 219 64 eight eight 1.57405 -T 219 69 forty forty 3.2052 -F 220 8.75431 -T 220 96 , , 0.134138 -T 220 97 eight eight 1.41356 -F 221 8.96661 -T 221 108 , , 0.0534826 -T 221 120 one one 2.08476 -T 221 124 sixteen sixteen 3.71614 -T 221 125 ten ten 3.71614 -T 221 129 yes yes 3.71614 -F 222 8.53984 -T 222 131 , , 0.118693 -T 222 138 three three 1.41356 -F 223 8.67938 -T 223 140 , , 0.251676 -T 223 154 oh oh 1.41356 -F 224 8.81529 -T 224 176 , , 0.131826 -T 224 180 repeat repeat 1.41356 -F 225 8.93389 -T 225 184 , , 0.245289 -T 225 191 three three 1.41356 -F 226 8.69532 -T 226 199 , , 0.148508 -T 226 201 twelfth twelfth 1.41356 -F 227 8.62523 -T 227 203 , , 0.0764093 -T 227 205 twenty twenty 1.41356 -F 228 8.60291 -T 228 214 , , 0.273434 -T 228 226 july july 1.41356 -F 229 10.277 -T 229 246 , , 4.10027e-08 -F 230 8.80852 -T 230 260 , , 0.0425565 -T 230 264 one one 1.41356 -F 231 8.60655 -T 231 274 , , 0.0764093 -T 231 276 sixty sixty 1.41356 -F 232 9.20643 -T 232 277 , , 0.254054 -T 232 282 oh oh 1.41356 -F 233 8.7992 -T 233 289 , , 0.0522487 -T 233 294 february february 3.02306 -T 233 299 four four 3.02306 -F 234 8.73237 -T 234 335 , , 0.202669 -T 234 340 twenty twenty 1.41356 -F 235 8.66118 -T 235 341 , , 0.149805 -T 235 365 three three 2.10664 -T 235 367 two two 2.10664 -F 236 8.9386 -T 236 374 , , 0.157868 -T 236 379 two two 1.41356 -F 237 8.75967 -T 237 381 , , 0.212734 -T 237 393 september september 3.35947 -T 237 394 seven seven 3.35947 -T 237 396 six six 1.72809 -T 237 399 start start 3.35947 -T 237 401 thirty thirty 3.35947 -F 238 9.04665 -T 238 415 , , 0.201864 -T 238 416 eight eight 1.41356 -F 239 8.88358 -T 239 436 , , -1.70683e-09 -F 240 8.94881 -T 240 457 , , 0.258196 -T 240 463 sixty sixty 1.41356 -F 241 8.62139 -T 241 469 , , 0.277079 -T 241 475 five five 1.39168 -T 241 480 may may 3.02306 -F 242 8.76091 -T 242 511 , , 0.232147 -T 242 524 three three 1.41356 -F 243 9.06564 -T 243 526 , , 0.164847 -T 243 529 enter enter 3.35947 -T 243 538 october october 3.35947 -T 243 549 twenty twenty 3.35947 -T 243 550 two two 1.72809 -F 244 8.58713 -T 244 552 , , 0.0101411 -T 244 557 one one 2.10664 -F 245 8.69517 -T 245 565 , , -2.44063e-10 -F 246 10.277 -T 246 0 , , 2.16771 -T 246 247 fifty fifty 3.08915 -T 246 248 forty forty 3.08915 -T 246 249 seventy seventy 2.53975 -T 246 250 sixty sixty 0.339401 -T 246 251 twenty twenty 4.40531 -F 247 9.51583 -T 247 96 , , 0.895654 -T 247 105 two two 0.475484 -F 248 9.30365 -T 248 131 , , 0.882506 -T 248 134 four four 0.475484 -F 249 8.96345 -T 249 374 , , 0.18272 -T 249 376 enter enter 2.51212 -T 249 377 no no 2.51212 -T 249 380 yes yes 2.51212 -F 250 9.26909 -T 250 415 , , 0.424296 -T 250 419 five five 2.28301 -T 250 422 nine nine 1.111 -T 250 424 seven seven 1.64566 -F 251 8.65023 -T 251 511 , , 0.121465 -T 251 512 eight eight 1.41356 -F 252 8.21971 -T 252 0 , , 0.110464 -T 252 253 eight eight 2.39054 -T 252 254 five five 2.39054 -T 252 255 four four 2.39054 -T 252 256 six six 2.39054 -F 253 8.70166 -T 253 17 , , 0.266924 -T 253 43 twenty twenty 1.41356 -F 254 9.13818 -T 254 108 , , 0.225053 -T 254 111 five five 1.41356 -F 255 8.70182 -T 255 140 , , 0.274117 -T 255 149 help help 1.41356 -F 256 8.82015 -T 256 381 , , 0.273209 -T 256 389 no no 1.41356 -F 257 8.53186 -T 257 0 , , 0.422613 -T 257 258 of of 1.69724 -T 257 259 sixty sixty 1.69724 -F 258 8.60655 -T 258 274 , , 0.0764093 -T 258 275 september september 1.41356 -F 259 9.06322 -T 259 415 , , 0.218433 -T 259 428 two two 1.41356 -F 260 8.76596 -T 260 0 , , 0.65672 -T 260 261 enter enter 1.91115 -T 260 262 fifty fifty 2.46054 -T 260 263 help help 3.7767 -T 260 264 one one 1.55885 -T 260 265 repeat repeat 3.7767 -T 260 266 six six 3.30354 -T 260 267 start start 2.46054 -T 260 268 three three 3.4912 -T 260 269 yes yes 3.7767 -F 261 8.90733 -T 261 63 , , 0.150676 -T 261 71 fourteen fourteen 2.51212 -T 261 73 ninety ninety 2.51212 -T 261 77 six six 2.51212 -F 262 8.62018 -T 262 96 , , 4.39228e-09 -F 263 8.93636 -T 263 184 , , 0.247753 -T 263 186 fifty fifty 1.41356 -F 264 8.93199 -T 264 289 , , 0.185038 -T 264 297 five five 1.16856 -T 264 316 ten ten 2.79971 -T 264 323 zero zero 2.79971 -F 265 9.05066 -T 265 324 , , 0.0580908 -T 265 329 no no 1.41356 -F 266 8.76724 -T 266 381 , , 0.220299 -T 266 384 five five 1.41356 -F 267 8.99876 -T 267 429 , , 0.0697633 -T 267 433 one one 2.10664 -F 268 8.61803 -T 268 469 , , 0.273713 -T 268 488 seventy seventy 1.41356 -F 269 8.73618 -T 269 552 , , 0.159192 -T 269 557 one one 1.41356 -F 270 8.54626 -T 270 0 , , 0.437011 -T 270 271 first first 2.10272 -T 270 272 thirtieth thirtieth 2.10272 -T 270 273 twenty twenty 2.10272 -F 271 9.64806 -T 271 106 , , -1.94202e-08 -F 272 9.64806 -T 272 455 , , -1.94202e-08 -F 273 8.76091 -T 273 511 , , 0.232147 -T 273 523 third third 1.41356 -F 274 8.53014 -T 274 0 , , 0.420901 -T 274 275 september september 1.69724 -T 274 276 sixty sixty 1.69724 -F 275 8.73237 -T 275 335 , , 0.202669 -T 275 338 nineteen nineteen 1.41356 -F 276 9.11732 -T 276 415 , , 0.272529 -T 276 426 start start 1.41356 -F 277 8.95237 -T 277 0 , , 0.843129 -T 277 278 eight eight 1.68687 -T 277 279 five five 2.55149 -T 277 280 four four 3.16398 -T 277 281 nine nine 4.11879 -T 277 282 oh oh 3.71315 -T 277 283 one one 2.34518 -T 277 284 seven seven 2.55149 -T 277 285 six six 1.68687 -T 277 286 three three 2.81146 -T 277 287 twelve twelve 5.02954 -T 277 288 two two 2.17433 -F 278 8.6194 -T 278 17 , , 0.184664 -T 278 29 june june 3.81147 -T 278 30 nine nine 2.18009 -T 278 32 oh oh 3.81147 -T 278 36 six six 2.18009 -F 279 9.24547 -T 279 108 , , 0.332337 -T 279 112 four four 3.02306 -T 279 116 nine nine 1.39168 -T 279 129 yes yes 3.02306 -F 280 8.91583 -T 280 140 , , 0.48813 -T 280 146 five five 2.51212 -T 280 148 four four 0.880969 -F 281 8.51143 -T 281 214 , , 0.181963 -T 281 237 six six 1.41356 -F 282 8.9614 -T 282 277 , , 0.00902436 -T 282 288 two two 2.10664 -F 283 8.97903 -T 283 289 , , 0.232079 -T 283 299 four four 3.2052 -T 283 302 hundred hundred 3.2052 -T 283 304 nine nine 3.2052 -T 283 308 one one 1.57405 -F 284 8.5913 -T 284 341 , , 0.0799244 -T 284 353 nine nine 3.02306 -T 284 355 oh oh 3.02306 -T 284 358 seventeen seventeen 3.02306 -T 284 359 six six 3.02306 -F 285 8.69593 -T 285 381 , , 0.148996 -T 285 391 one one 2.18009 -T 285 402 three three 1.58994 -F 286 8.37463 -T 286 469 , , 0.0303179 -T 286 471 eight eight 2.79971 -T 286 487 seven seven 2.79971 -F 287 8.58104 -T 287 501 , , 0.0914575 -T 287 508 twenty twenty 1.41356 -F 288 8.99093 -T 288 526 , , 0.0901435 -T 288 527 eight eight 3.35947 -T 288 536 nine nine 3.35947 -T 288 543 six six 1.72809 -F 289 8.74695 -T 289 0 , , 0.637707 -T 289 290 august august 6.48477 -T 289 291 eight eight 3.38262 -T 289 292 eleven eleven 6.48477 -T 289 293 enter enter 3.71534 -T 289 294 february february 6.48477 -T 289 295 fifteen fifteen 6.48477 -T 289 296 fifty fifty 4.26692 -T 289 297 five five 1.22682 -T 289 298 forty forty 5.39715 -T 289 299 four four 3.05 -T 289 300 go go 5.88484 -T 289 301 help help 5.69464 -T 289 302 hundred hundred 6.48477 -T 289 303 july july 6.48477 -T 289 304 nine nine 3.35648 -T 289 305 ninety ninety 6.48477 -T 289 306 no no 5.39715 -T 289 307 oh oh 3.14211 -T 289 308 one one 2.66214 -T 289 309 repeat repeat 5.33475 -T 289 310 seven seven 2.41887 -T 289 311 six six 3.28453 -T 289 312 sixteen sixteen 6.48477 -T 289 313 sixty sixty 4.07109 -T 289 314 start start 5.16861 -T 289 315 stop stop 5.39715 -T 289 316 ten ten 5.16861 -T 289 317 thirty thirty 5.16861 -T 289 318 thousand thousand 5.16861 -T 289 319 three three 2.8879 -T 289 320 twenty twenty 4.75496 -T 289 321 two two 2.13542 -T 289 322 yes yes 5.11831 -T 289 323 zero zero 4.00673 -F 290 9.24181 -T 290 10 , , -4.50083e-09 -F 291 8.52811 -T 291 17 , , 0.0933685 -T 291 44 two two 1.72809 -F 292 8.5262 -T 292 56 , , 0.169883 -T 292 58 one one 1.41356 -F 293 8.97066 -T 293 63 , , 0.214007 -T 293 65 eighty eighty 3.2052 -T 293 70 four four 1.57405 -F 294 8.62523 -T 294 84 , , 0.0764093 -T 294 85 eighth eighth 1.41356 -F 295 8.54196 -T 295 87 , , 0.171497 -T 295 89 one one 1.41356 -F 296 8.8478 -T 296 96 , , 0.227625 -T 296 97 eight eight 1.16856 -F 297 9.93822 -T 297 108 , , 1.02509 -T 297 119 oh oh 3.4548 -T 297 120 one one 2.15338 -T 297 123 six six 4.04495 -T 297 126 three three 4.04495 -T 297 128 two two 0.365881 -F 298 8.60623 -T 298 131 , , 0.185082 -T 298 139 two two 1.41356 -F 299 8.91892 -T 299 140 , , 0.491216 -T 299 142 eight eight 2.26713 -T 299 152 nine nine 2.26713 -T 299 158 seven seven 1.67697 -T 299 163 three three 2.26713 -F 300 8.9249 -T 300 176 , , 0.241434 -T 300 182 three three 1.41356 -F 301 8.84647 -T 301 184 , , 0.157868 -T 301 187 go go 1.41356 -F 302 8.49806 -T 302 193 , , 0.0764093 -T 302 195 one one 1.41356 -F 303 8.69532 -T 303 199 , , 0.148508 -T 303 202 twenty twenty 1.41356 -F 304 8.55172 -T 304 214 , , 0.222249 -T 304 232 oh oh 3.61068 -T 304 237 six six 1.38938 -T 304 242 twenty twenty 3.61068 -F 305 8.40242 -T 305 252 , , 0.182709 -T 305 256 six six 1.41356 -F 306 8.95547 -T 306 260 , , 0.189501 -T 306 267 start start 1.41356 -F 307 9.06003 -T 307 277 , , 0.107655 -T 307 282 oh oh 3.81147 -T 307 288 two two 1.58994 -F 308 9.08308 -T 308 289 , , 0.336129 -T 308 297 five five 0.728077 -T 308 318 thousand thousand 4.12163 -F 309 9.05066 -T 309 324 , , 0.0580908 -T 309 329 no no 1.41356 -F 310 9.24587 -T 310 341 , , 0.734494 -T 310 342 area area 4.50455 -T 310 345 fifteen fifteen 4.50455 -T 310 347 five five 2.8734 -T 310 348 forty forty 4.50455 -T 310 349 four four 0.764458 -T 310 359 six six 2.8734 -T 310 365 three three 2.8734 -F 311 8.63349 -T 311 381 , , 0.0865494 -T 311 383 enter enter 3.35947 -T 311 388 nine nine 3.35947 -T 311 391 one one 1.72809 -F 312 9.07769 -T 312 408 , , 0.148508 -T 312 409 forty forty 1.41356 -F 313 8.95573 -T 313 415 , , 0.110935 -T 313 416 eight eight 2.51212 -T 313 418 fifty fifty 2.51212 -T 313 427 three three 2.51212 -F 314 8.929 -T 314 429 , , -5.44407e-10 -F 315 9.00228 -T 315 436 , , 0.118693 -T 315 439 one one 1.41356 -F 316 8.85 -T 316 445 , , 0.0958348 -T 316 446 oh oh 2.10664 -F 317 9.13599 -T 317 457 , , 0.445381 -T 317 460 one one 0.475484 -F 318 9.11637 -T 318 466 , , 0.364045 -T 318 468 one one 0.475484 -F 319 9.17231 -T 319 469 , , 0.828 -T 319 470 december december 4.05255 -T 319 477 four four 1.46237 -T 319 489 six six 1.83102 -T 319 493 three three 1.83102 -T 319 496 two two 1.83102 -F 320 8.62469 -T 320 511 , , 0.0959205 -T 320 518 one one 2.10664 -T 320 525 two two 2.10664 -F 321 9.60188 -T 321 526 , , 0.701085 -T 321 527 eight eight 3.14948 -T 321 531 five five 1.71036 -T 321 532 four four 1.53582 -T 321 535 march march 4.78086 -T 321 543 six six 1.92197 -T 321 550 two two 2.19068 -F 322 8.68105 -T 322 552 , , 0.104061 -T 322 553 enter enter 1.41356 -F 323 8.7489 -T 323 565 , , 0.0537304 -T 323 566 eight eight 3.02306 -T 323 568 five five 3.02306 -T 323 576 zero zero 3.02306 -F 324 8.99257 -T 324 0 , , 0.883329 -T 324 325 enter enter 2.5211 -T 324 326 fifty fifty 3.83749 -T 324 327 five five 3.31417 -T 324 328 forty forty 3.83749 -T 324 329 no no 1.61941 -T 324 330 one one 1.61941 -T 324 331 repeat repeat 3.83749 -T 324 332 stop stop 1.97193 -F 325 8.84258 -T 325 63 , , 0.0859224 -T 325 64 eight eight 2.10664 -T 325 78 sixty sixty 2.10664 -F 326 8.70697 -T 326 96 , , 0.0867942 -T 326 100 one one 1.41356 -F 327 9.05573 -T 327 108 , , 0.142603 -T 327 120 one one 1.41356 -F 328 8.53984 -T 328 131 , , 0.118693 -T 328 138 three three 1.41356 -F 329 8.84084 -T 329 260 , , 0.0748769 -T 329 263 help help 2.79971 -T 329 268 three three 2.79971 -F 330 8.95192 -T 330 289 , , 0.204973 -T 330 292 eleven eleven 2.79971 -T 330 297 five five 1.16856 -T 330 320 twenty twenty 2.79971 -F 331 9.12145 -T 331 324 , , 0.128879 -T 331 332 stop stop 1.41356 -F 332 8.9102 -T 332 436 , , 0.026613 -T 332 443 two two 2.51212 -F 333 9.24207 -T 333 0 , , 1.13282 -T 333 334 nineteen nineteen 0.381078 -F 334 10.277 -T 334 246 , , 8.20099e-10 -F 335 8.5297 -T 335 0 , , 0.420457 -T 335 336 fifteenth fifteenth 2.61366 -T 335 337 first first 2.61366 -T 335 338 nineteen nineteen 2.61366 -T 335 339 sixth sixth 2.61366 -T 335 340 twenty twenty 2.61366 -F 336 9.24207 -T 336 92 , , 3.50551e-08 -F 337 9.64806 -T 337 106 , , -1.94202e-08 -F 338 10.277 -T 338 246 , , 4.10027e-08 -F 339 8.54908 -T 339 413 , , 8.46674e-11 -F 340 8.79524 -T 340 511 , , 0.26647 -T 340 521 seventh seventh 1.41356 -F 341 8.51137 -T 341 0 , , 0.402128 -T 341 342 area area 5.61923 -T 341 343 eight eight 2.49094 -T 341 344 enter enter 2.61827 -T 341 345 fifteen fifteen 5.61923 -T 341 346 fifty fifty 4.70474 -T 341 347 five five 2.83297 -T 341 348 forty forty 4.30307 -T 341 349 four four 1.95029 -T 341 350 fourteen fourteen 4.30307 -T 341 351 go go 5.61923 -T 341 352 may may 5.61923 -T 341 353 nine nine 3.14119 -T 341 354 october october 5.61923 -T 341 355 oh oh 3.40138 -T 341 356 one one 2.42656 -T 341 357 seven seven 3.29463 -T 341 358 seventeen seventeen 5.61923 -T 341 359 six six 3.04895 -T 341 360 sixty sixty 3.83551 -T 341 361 start start 3.40138 -T 341 362 stop stop 3.14119 -T 341 363 ten ten 4.30307 -T 341 364 thirty thirty 4.30307 -T 341 365 three three 3.23661 -T 341 366 twenty twenty 4.51938 -T 341 367 two two 2.50462 -T 341 368 yes yes 4.30307 -F 342 8.56521 -T 342 8 , , 8.46674e-11 -F 343 8.74743 -T 343 17 , , 0.312689 -T 343 19 august august 3.61068 -T 343 20 eight eight 1.38938 -T 343 24 forty forty 3.61068 -T 343 45 zero zero 3.61068 -F 344 8.86922 -T 344 63 , , 0.112564 -T 344 73 ninety ninety 3.49302 -T 344 80 three three 3.49302 -T 344 82 two two 1.86164 -F 345 8.55317 -T 345 87 , , 0.182709 -T 345 88 nineteen nineteen 1.41356 -F 346 8.7995 -T 346 96 , , 0.179329 -T 346 98 five five 1.41356 -F 347 9.07093 -T 347 108 , , 0.157797 -T 347 109 eight eight 3.02306 -T 347 122 seven seven 3.02306 -T 347 128 two two 0.80153 -F 348 9.23284 -T 348 131 , , 0.811698 -T 348 137 seven seven 0.475484 -F 349 9.47568 -T 349 140 , , 1.04798 -T 349 148 four four 2.49025 -T 349 155 one one 0.876594 -T 349 164 twelve twelve 4.12163 -T 349 166 two two 1.26274 -F 350 8.82217 -T 350 168 , , 0.0759511 -T 350 169 a a 2.10664 -F 351 8.88494 -T 351 176 , , 0.201473 -T 351 179 one one 1.41356 -F 352 8.68004 -T 352 210 , , 0.148508 -T 352 211 nineteen nineteen 1.41356 -F 353 8.51221 -T 353 214 , , 0.182744 -T 353 243 two two 1.39168 -F 354 8.69476 -T 354 270 , , 0.148508 -T 354 271 first first 1.41356 -F 355 9.1357 -T 355 277 , , 0.183322 -T 355 278 eight eight 1.16856 -T 355 286 three three 2.79971 -F 356 8.84203 -T 356 289 , , 0.0950807 -T 356 303 july july 3.49302 -T 356 317 thirty thirty 3.49302 -T 356 320 twenty twenty 3.49302 -T 356 323 zero zero 3.49302 -F 357 8.59777 -T 357 341 , , 0.0864029 -T 357 344 enter enter 2.51212 -T 357 347 five five 2.51212 -T 357 353 nine nine 2.51212 -F 358 8.9474 -T 358 369 , , 3.80548e-09 -F 359 8.68692 -T 359 381 , , 0.139983 -T 359 382 eight eight 1.39168 -T 359 395 seventeen seventeen 3.02306 -F 360 8.98308 -T 360 415 , , 0.13829 -T 360 416 eight eight 2.10664 -T 360 420 four four 2.10664 -F 361 9.16453 -T 361 429 , , 0.235538 -T 361 430 enter enter 1.16856 -T 361 431 go go 2.79971 -T 361 432 no no 2.79971 -F 362 8.97019 -T 362 436 , , 0.0866045 -T 362 438 go go 3.02306 -T 362 440 repeat repeat 3.02306 -T 362 442 thirty thirty 3.02306 -F 363 9.22022 -T 363 445 , , 0.466061 -T 363 447 one one 0.475484 -F 364 8.74137 -T 364 457 , , 0.0507603 -T 364 458 eight eight 2.10664 -F 365 8.41557 -T 365 469 , , 0.0712566 -T 365 489 six six 2.51212 -T 365 498 zero zero 2.51212 -F 366 8.72535 -T 366 511 , , 0.196586 -T 366 517 nine nine 1.41356 -F 367 9.12862 -T 367 526 , , 0.227826 -T 367 528 eighteen eighteen 3.35947 -T 367 536 nine nine 1.72809 -T 367 551 zero zero 3.35947 -F 368 8.68909 -T 368 552 , , 0.112106 -T 368 562 twenty twenty 2.10664 -F 369 8.9474 -T 369 0 , , 0.838159 -T 369 370 fifty fifty 0.786563 -T 369 371 thirty thirty 2.10272 -F 370 8.69368 -T 370 96 , , 0.0735049 -T 370 101 seven seven 2.10664 -F 371 8.92894 -T 371 457 , , 0.238321 -T 371 462 six six 1.41356 -F 372 8.54908 -T 372 0 , , 0.43984 -T 372 373 nineteen nineteen 1.00416 -F 373 10.277 -T 373 246 , , 4.10027e-08 -F 374 8.78073 -T 374 0 , , 0.671487 -T 374 375 eight eight 3.4164 -T 374 376 enter enter 3.48911 -T 374 377 no no 3.48911 -T 374 378 one one 0.804753 -T 374 379 two two 2.17272 -T 374 380 yes yes 3.48911 -F 375 8.70368 -T 375 17 , , 0.268936 -T 375 22 fifty fifty 1.41356 -F 376 8.94362 -T 376 63 , , 0.186971 -T 376 78 sixty sixty 1.41356 -F 377 8.80852 -T 377 260 , , 0.0425565 -T 377 264 one one 1.41356 -F 378 9.6136 -T 378 289 , , 0.866644 -T 378 293 enter enter 0.983895 -T 378 308 one one 1.57405 -T 378 314 start start 3.2052 -F 379 9.16063 -T 379 526 , , 0.259841 -T 379 541 repeat repeat 2.10664 -T 379 544 sixty sixty 2.10664 -F 380 8.83814 -T 380 552 , , 0.261157 -T 380 560 start start 1.41356 -F 381 8.54694 -T 381 0 , , 0.437692 -T 381 382 eight eight 1.66661 -T 381 383 enter enter 3.38595 -T 381 384 five five 2.86853 -T 381 385 forty forty 5.19714 -T 381 386 four four 2.62264 -T 381 387 july july 5.86399 -T 381 388 nine nine 3.64591 -T 381 389 no no 5.19714 -T 381 390 oh oh 3.17964 -T 381 391 one one 2.12759 -T 381 392 repeat repeat 5.13474 -T 381 393 september september 5.86399 -T 381 394 seven seven 3.17964 -T 381 395 seventeen seventeen 5.86399 -T 381 396 six six 2.42923 -T 381 397 sixteen sixteen 5.86399 -T 381 398 sixty sixty 3.87108 -T 381 399 start start 5.58512 -T 381 400 ten ten 5.58512 -T 381 401 thirty thirty 3.99844 -T 381 402 three three 2.42923 -T 381 403 twelve twelve 5.86399 -T 381 404 twenty twenty 4.55494 -T 381 405 two two 2.54018 -T 381 406 yes yes 4.91829 -T 381 407 zero zero 4.70047 -F 382 9.18504 -T 382 17 , , 0.750303 -T 382 23 five five 3.00119 -T 382 25 four four 1.56184 -T 382 33 one one 3.00119 -T 382 34 seven seven 2.04239 -T 382 39 ten ten 4.63234 -T 382 41 three three 1.23879 -F 383 8.97278 -T 383 63 , , 0.216124 -T 383 75 seven seven 1.39168 -T 383 79 thirty thirty 3.02306 -F 384 8.93709 -T 384 108 , , 0.0239607 -T 384 109 eight eight 3.2052 -T 384 116 nine nine 3.2052 -T 384 123 six six 3.2052 -T 384 126 three three 3.2052 -F 385 8.61065 -T 385 131 , , 0.189501 -T 385 133 five five 1.41356 -F 386 8.66219 -T 386 140 , , 0.234492 -T 386 142 eight eight 2.08476 -T 386 143 eleven eleven 3.71614 -T 386 146 five five 2.08476 -T 386 150 january january 3.71614 -T 386 154 oh oh 3.71614 -T 386 167 zero zero 3.71614 -F 387 8.69532 -T 387 199 , , 0.148508 -T 387 200 thirtieth thirtieth 1.41356 -F 388 8.64207 -T 388 214 , , 0.312603 -T 388 221 five five 1.16856 -T 388 234 september september 2.79971 -F 389 8.95547 -T 389 260 , , 0.189501 -T 389 267 start start 1.41356 -F 390 9.18226 -T 390 277 , , 0.229883 -T 390 278 eight eight 1.57405 -T 390 284 seven seven 1.57405 -F 391 9.12302 -T 391 289 , , 0.376073 -T 391 297 five five 0.79255 -T 391 299 four four 2.55472 -T 391 312 sixteen sixteen 4.1861 -T 391 323 zero zero 4.1861 -F 392 9.05066 -T 392 324 , , 0.0580908 -T 392 330 one one 1.41356 -F 393 8.73237 -T 393 335 , , 0.202669 -T 393 336 fifteenth fifteenth 1.41356 -F 394 8.75865 -T 394 341 , , 0.247273 -T 394 343 eight eight 1.57405 -T 394 350 fourteen fourteen 3.2052 -T 394 355 oh oh 3.2052 -T 394 366 twenty twenty 3.2052 -F 395 9.09591 -T 395 369 , , 0.148508 -T 395 371 thirty thirty 1.41356 -F 396 8.656 -T 396 381 , , 0.109062 -T 396 384 five five 2.26713 -T 396 397 sixteen sixteen 3.89851 -T 396 405 two two 2.26713 -F 397 8.92918 -T 397 408 , , 3.80548e-09 -F 398 8.8976 -T 398 415 , , 0.0528127 -T 398 427 three three 2.10664 -F 399 9.07511 -T 399 429 , , 0.146114 -T 399 435 six six 1.41356 -F 400 8.99905 -T 400 445 , , 0.244886 -T 400 452 twenty twenty 1.41356 -F 401 9.08476 -T 401 457 , , 0.394142 -T 401 465 two two 0.880969 -F 402 8.4647 -T 402 469 , , 0.120389 -T 402 483 oh oh 2.26713 -T 402 484 one one 2.26713 -T 402 489 six six 2.26713 -T 402 497 yes yes 3.89851 -F 403 8.72147 -T 403 501 , , 0.231882 -T 403 504 nine nine 1.41356 -F 404 8.72535 -T 404 511 , , 0.196586 -T 404 522 six six 1.41356 -F 405 9.43044 -T 405 526 , , 0.529649 -T 405 527 eight eight 1.97953 -T 405 542 seven seven 1.97953 -T 405 543 six six 1.38938 -F 406 8.81033 -T 406 552 , , 0.233344 -T 406 559 six six 1.41356 -F 407 8.69517 -T 407 565 , , -2.44063e-10 -F 408 8.92918 -T 408 0 , , 0.819934 -T 408 409 forty forty 2.10272 -T 408 410 sixty sixty 0.786563 -F 409 8.65172 -T 409 131 , , 0.230578 -T 409 132 eight eight 1.41356 -F 410 8.95107 -T 410 415 , , 0.106276 -T 410 417 enter enter 2.10664 -F 411 8.54908 -T 411 0 , , 0.43984 -T 411 412 nineteen nineteen 1.00416 -F 412 10.277 -T 412 246 , , 4.10027e-08 -F 413 8.54908 -T 413 0 , , 0.43984 -T 413 414 nineteen nineteen 1.00416 -F 414 10.277 -T 414 246 , , 4.10027e-08 -F 415 8.84479 -T 415 0 , , 0.735547 -T 415 416 eight eight 2.60353 -T 415 417 enter enter 3.76542 -T 415 418 fifty fifty 5.03816 -T 415 419 five five 2.60353 -T 415 420 four four 2.86373 -T 415 421 help help 3.76542 -T 415 422 nine nine 1.64681 -T 415 423 one one 2.2266 -T 415 424 seven seven 1.84046 -T 415 425 six six 3.38237 -T 415 426 start start 5.08181 -T 415 427 three three 2.60353 -T 415 428 two two 2.83804 -F 416 9.52064 -T 416 17 , , 1.0859 -T 416 21 enter enter 0.432886 -T 416 38 stop stop 3.02306 -F 417 8.92566 -T 417 63 , , 0.169006 -T 417 70 four four 2.10664 -T 417 76 seventy seventy 2.10664 -F 418 8.7995 -T 418 96 , , 0.179329 -T 418 98 five five 1.41356 -F 419 9.11984 -T 419 108 , , 0.206711 -T 419 110 enter enter 3.02306 -T 419 113 fourteen fourteen 3.02306 -T 419 114 help help 3.02306 -T 419 121 repeat repeat 3.02306 -T 419 129 yes yes 3.02306 -F 420 8.64146 -T 420 140 , , 0.213759 -T 420 144 enter enter 2.79971 -T 420 153 no no 2.79971 -T 420 156 repeat repeat 2.79971 -T 420 161 stop stop 2.79971 -F 421 8.74144 -T 421 184 , , 0.0528334 -T 421 189 one one 2.10664 -F 422 8.93528 -T 422 214 , , 0.605813 -T 422 219 enter enter 0.82801 -T 422 224 go go 3.89851 -T 422 230 no no 3.89851 -T 422 239 stop stop 3.89851 -T 422 244 yes yes 3.89851 -F 423 8.96399 -T 423 289 , , 0.217036 -T 423 293 enter enter 3.35947 -T 423 296 fifty fifty 3.35947 -T 423 300 go go 3.35947 -T 423 301 help help 3.35947 -T 423 306 no no 3.35947 -T 423 309 repeat repeat 3.35947 -T 423 322 yes yes 3.35947 -F 424 9.10236 -T 424 341 , , 0.590986 -T 424 344 enter enter 1.49461 -T 424 351 go go 3.71614 -T 424 361 start start 2.08476 -T 424 362 stop stop 2.08476 -T 424 363 ten ten 3.71614 -T 424 368 yes yes 3.71614 -F 425 9.48427 -T 425 381 , , 0.93733 -T 425 383 enter enter 0.475484 -F 426 8.96552 -T 426 429 , , 0.0365206 -T 426 434 repeat repeat 1.41356 -F 427 8.79609 -T 427 469 , , 0.45178 -T 427 482 no no 1.39168 -T 427 485 repeat repeat 3.02306 -T 427 491 stop stop 3.02306 -T 427 497 yes yes 3.02306 -F 428 9.55753 -T 428 526 , , 0.65674 -T 428 529 enter enter 0.880969 -T 428 546 thirty thirty 2.51212 -F 429 8.929 -T 429 0 , , 0.819751 -T 429 430 enter enter 1.53651 -T 429 431 go go 3.40207 -T 429 432 no no 3.40207 -T 429 433 one one 2.84418 -T 429 434 repeat repeat 1.53651 -T 429 435 six six 2.08568 -F 430 8.81265 -T 430 63 , , 0.0559985 -T 430 73 ninety ninety 2.51212 -F 431 8.81529 -T 431 176 , , 0.131826 -T 431 183 yes yes 1.41356 -F 432 9.02156 -T 432 260 , , 0.255593 -T 432 269 yes yes 1.41356 -F 433 8.89992 -T 433 289 , , 0.152973 -T 433 321 two two 1.41356 -F 434 8.99336 -T 434 324 , , 0.000788676 -T 434 325 enter enter 2.51212 -F 435 8.72347 -T 435 381 , , 0.17653 -T 435 402 three three 2.10664 -T 435 407 zero zero 2.10664 -F 436 8.88358 -T 436 0 , , 0.774339 -T 436 437 enter enter 0.921495 -T 436 438 go go 3.7767 -T 436 439 one one 1.91115 -T 436 440 repeat repeat 3.7767 -T 436 441 seven seven 3.66685 -T 436 442 thirty thirty 3.7767 -T 436 443 two two 2.87683 -T 436 444 yes yes 3.7767 -F 437 9.04508 -T 437 63 , , 0.288429 -T 437 72 nine nine 1.72809 -T 437 75 seven seven 1.72809 -F 438 8.81529 -T 438 176 , , 0.131826 -T 438 177 enter enter 1.41356 -F 439 9.15625 -T 439 289 , , 0.409301 -T 439 321 two two 0.880969 -F 440 9.18755 -T 440 324 , , 0.194972 -T 440 325 enter enter 1.41356 -F 441 8.78104 -T 441 341 , , 0.269664 -T 441 346 fifty fifty 1.41356 -F 442 8.69061 -T 442 457 , , -3.09707e-09 -F 443 9.04798 -T 443 526 , , 0.147187 -T 443 550 two two 1.41356 -F 444 8.79907 -T 444 552 , , 0.22208 -T 444 554 five five 1.41356 -F 445 8.75416 -T 445 0 , , 0.644917 -T 445 446 oh oh 3.40207 -T 445 447 one one 0.924027 -T 445 448 seventy seventy 3.40207 -T 445 449 sixty sixty 3.40207 -T 445 450 thirty thirty 3.40207 -T 445 451 twelve twelve 3.40207 -T 445 452 twenty twenty 3.40207 -F 446 9.02644 -T 446 277 , , 0.0740707 -T 446 285 six six 1.41356 -F 447 9.06323 -T 447 289 , , 0.316276 -T 447 297 five five 0.80153 -T 447 313 sixty sixty 3.02306 -F 448 8.78073 -T 448 374 , , -1.64083e-09 -F 449 8.90953 -T 449 415 , , 0.0647422 -T 449 422 nine nine 1.41356 -F 450 8.69061 -T 450 457 , , -3.09707e-09 -F 451 8.72147 -T 451 501 , , 0.231882 -T 451 506 sixty sixty 1.41356 -F 452 8.65023 -T 452 511 , , 0.121465 -T 452 512 eight eight 1.41356 -F 453 9.64806 -T 453 0 , , 1.53881 -T 453 454 nineteen nineteen 0.237166 -F 454 10.3492 -T 454 246 , , 0.0722862 -T 454 251 twenty twenty 2.51212 -F 455 9.64806 -T 455 0 , , 1.53881 -T 455 456 nineteen nineteen 0.237166 -F 456 10.4091 -T 456 246 , , 0.132154 -T 456 250 sixty sixty 0.290586 -F 457 8.69061 -T 457 0 , , 0.581369 -T 457 458 eight eight 2.5782 -T 457 459 five five 3.01221 -T 457 460 one one 0.893403 -T 457 461 seven seven 3.47388 -T 457 462 six six 3.22819 -T 457 463 sixty sixty 3.89459 -T 457 464 three three 3.41585 -T 457 465 two two 2.02904 -F 458 8.58718 -T 458 17 , , 0.152438 -T 458 33 one one 2.10664 -T 458 37 sixty sixty 2.10664 -F 459 9.13818 -T 459 108 , , 0.225053 -T 459 111 five five 1.41356 -F 460 8.91878 -T 460 289 , , 0.171826 -T 460 296 fifty fifty 3.49302 -T 460 308 one one 1.86164 -T 460 313 sixty sixty 3.49302 -T 460 315 stop stop 3.49302 -F 461 8.74594 -T 461 341 , , 0.234563 -T 461 362 stop stop 1.41356 -F 462 8.81979 -T 462 381 , , 0.272851 -T 462 392 repeat repeat 1.41356 -F 463 9.04665 -T 463 415 , , 0.201864 -T 463 419 five five 1.41356 -F 464 8.57162 -T 464 469 , , 0.227302 -T 464 483 oh oh 1.41356 -F 465 9.00425 -T 465 526 , , 0.103461 -T 465 546 thirty thirty 2.51212 -T 465 547 three three 2.51212 -F 466 8.75233 -T 466 0 , , 0.643082 -T 466 467 eight eight 2.10272 -T 466 468 one one 0.786563 -F 467 8.71036 -T 467 17 , , 0.275621 -T 467 28 hundred hundred 1.41356 -F 468 9.37167 -T 468 289 , , 0.62472 -T 468 297 five five 0.475484 -F 469 8.34431 -T 469 0 , , 0.235069 -T 469 470 december december 5.67702 -T 469 471 eight eight 2.97998 -T 469 472 eighty eighty 5.67702 -T 469 473 eleven eleven 5.67702 -T 469 474 enter enter 3.3127 -T 469 475 five five 2.66591 -T 469 476 forty forty 4.36064 -T 469 477 four four 2.33436 -T 469 478 fourteen fourteen 5.67702 -T 469 479 march march 5.67702 -T 469 480 may may 5.67702 -T 469 481 nine nine 3.51073 -T 469 482 no no 3.81147 -T 469 483 oh oh 2.99267 -T 469 484 one one 2.2595 -T 469 485 repeat repeat 4.93211 -T 469 486 september september 5.67702 -T 469 487 seven seven 3.12758 -T 469 488 seventy seventy 5.29201 -T 469 489 six six 2.5485 -T 469 490 sixty sixty 3.66845 -T 469 491 stop stop 4.99451 -T 469 492 ten ten 5.3825 -T 469 493 three three 2.67583 -T 469 494 twelve twelve 5.67702 -T 469 495 twenty twenty 3.81147 -T 469 496 two two 2.00785 -T 469 497 yes yes 4.36064 -T 469 498 zero zero 3.81147 -F 470 8.56521 -T 470 15 , , 8.46674e-11 -F 471 8.55506 -T 471 17 , , 0.120321 -T 471 41 three three 1.57405 -T 471 45 zero zero 3.2052 -F 472 8.85264 -T 472 52 , , 0.182709 -T 472 54 six six 1.41356 -F 473 8.53902 -T 473 56 , , 0.182709 -T 473 60 sixty sixty 1.41356 -F 474 8.87105 -T 474 63 , , 0.114394 -T 474 70 four four 2.10664 -T 474 77 six six 2.10664 -F 475 8.97729 -T 475 108 , , 0.0641588 -T 475 112 four four 3.2052 -T 475 119 oh oh 3.2052 -T 475 122 seven seven 3.2052 -T 475 130 zero zero 3.2052 -F 476 8.50778 -T 476 131 , , 0.0866374 -T 476 133 five five 2.10664 -T 476 139 two two 2.10664 -F 477 8.88466 -T 477 140 , , 0.456958 -T 477 142 eight eight 2.18009 -T 477 146 five five 2.18009 -T 477 148 four four 2.18009 -T 477 155 one one 1.22129 -F 478 8.74622 -T 478 168 , , 2.15509e-09 -F 479 8.69589 -T 479 206 , , 0.148508 -T 479 208 twentieth twentieth 1.41356 -F 480 8.68004 -T 480 210 , , 0.148508 -T 480 213 twenty twenty 1.41356 -F 481 8.76141 -T 481 214 , , 0.431938 -T 481 243 two two 0.880969 -F 482 8.88143 -T 482 260 , , 0.115462 -T 482 265 repeat repeat 2.51212 -T 482 266 six six 2.51212 -F 483 8.97737 -T 483 277 , , 0.024998 -T 483 281 nine nine 3.2052 -F 484 9.21623 -T 484 289 , , 0.469277 -T 484 297 five five 0.857252 -T 484 304 nine nine 3.71614 -T 484 308 one one 2.08476 -T 484 321 two two 2.08476 -F 485 9.05066 -T 485 324 , , 0.0580908 -T 485 330 one one 1.41356 -F 486 8.73237 -T 486 335 , , 0.202669 -T 486 337 first first 1.41356 -F 487 8.51349 -T 487 341 , , 0.00211608 -T 487 347 five five 2.79971 -F 488 8.78073 -T 488 374 , , -1.64083e-09 -F 489 8.78805 -T 489 381 , , 0.241116 -T 489 382 eight eight 1.38938 -T 489 391 one one 1.97953 -T 489 402 three three 1.97953 -F 490 8.96338 -T 490 415 , , 0.118583 -T 490 416 eight eight 2.10664 -T 490 427 three three 2.10664 -F 491 9.00228 -T 491 436 , , 0.118693 -T 491 439 one one 1.41356 -F 492 8.99905 -T 492 445 , , 0.244886 -T 492 448 seventy seventy 1.41356 -F 493 8.59696 -T 493 469 , , 0.252648 -T 493 481 nine nine 3.49302 -T 493 487 seven seven 1.86164 -T 493 489 six six 1.86164 -F 494 8.72147 -T 494 501 , , 0.231882 -T 494 502 fifty fifty 1.41356 -F 495 8.61024 -T 495 511 , , 0.0814668 -T 495 520 seven seven 2.51212 -T 495 524 three three 2.51212 -F 496 9.45681 -T 496 526 , , 0.556019 -T 496 532 four four 1.90009 -T 496 542 seven seven 2.49025 -T 496 543 six six 1.26274 -T 496 547 three three 2.49025 -F 497 9.48148 -T 497 552 , , 0.904491 -T 497 564 yes yes 0.475484 -F 498 8.70933 -T 498 565 , , 0.0141633 -T 498 575 two two 2.51212 -F 499 9.24207 -T 499 0 , , 1.13282 -T 499 500 nineteen nineteen 0.381078 -F 500 10.277 -T 500 246 , , 8.20099e-10 -F 501 8.48958 -T 501 0 , , 0.380339 -T 501 502 fifty fifty 3.08362 -T 501 503 four four 3.05088 -T 501 504 nine nine 3.08362 -T 501 505 nineteen nineteen 3.08362 -T 501 506 sixty sixty 3.08362 -T 501 507 ten ten 3.08362 -T 501 508 twenty twenty 1.76723 -F 502 8.75431 -T 502 96 , , 0.134138 -T 502 97 eight eight 1.41356 -F 503 8.6827 -T 503 140 , , 0.255003 -T 503 160 sixty sixty 1.41356 -F 504 8.60291 -T 504 214 , , 0.273434 -T 504 231 of of 1.41356 -F 505 10.277 -T 505 246 , , 4.10027e-08 -F 506 8.95069 -T 506 415 , , 0.105897 -T 506 424 seven seven 1.41356 -F 507 8.99905 -T 507 445 , , 0.244886 -T 507 449 sixty sixty 1.41356 -F 508 8.66557 -T 508 511 , , 0.136804 -T 508 515 four four 2.10664 -T 508 518 one one 2.10664 -F 509 8.54908 -T 509 0 , , 0.43984 -T 509 510 nineteen nineteen 1.00416 -F 510 10.4735 -T 510 246 , , 0.196586 -T 510 249 seventy seventy 1.41356 -F 511 8.52877 -T 511 0 , , 0.419524 -T 511 512 eight eight 1.92726 -T 511 513 fifth fifth 4.40531 -T 511 514 first first 4.40531 -T 511 515 four four 3.08915 -T 511 516 fourth fourth 4.40531 -T 511 517 nine nine 2.53975 -T 511 518 one one 2.44396 -T 511 519 second second 3.08915 -T 511 520 seven seven 3.08915 -T 511 521 seventh seventh 4.40531 -T 511 522 six six 2.53975 -T 511 523 third third 3.08915 -T 511 524 three three 3.08915 -T 511 525 two two 2.52201 -F 512 8.75562 -T 512 17 , , 0.320878 -T 512 23 five five 3.02306 -T 512 35 seventy seventy 3.02306 -T 512 37 sixty sixty 1.39168 -F 513 8.54908 -T 513 94 , , 8.46674e-11 -F 514 9.64806 -T 514 106 , , -1.94202e-08 -F 515 8.67632 -T 515 140 , , 0.248622 -T 515 147 forty forty 2.10664 -T 515 160 sixty sixty 2.10664 -F 516 8.54908 -T 516 174 , , 8.46674e-11 -F 517 8.48222 -T 517 214 , , 0.152748 -T 517 220 fifty fifty 2.51212 -T 517 229 nineteen nineteen 2.51212 -F 518 8.94064 -T 518 289 , , 0.19369 -T 518 293 enter enter 2.51212 -T 518 296 fifty fifty 2.51212 -T 518 307 oh oh 2.51212 -F 519 9.24207 -T 519 333 , , 1.55624e-09 -F 520 8.69086 -T 520 341 , , 0.17949 -T 520 344 enter enter 2.10664 -T 520 360 sixty sixty 2.10664 -F 521 8.54908 -T 521 372 , , 8.46674e-11 -F 522 8.69718 -T 522 381 , , 0.150244 -T 522 385 forty forty 2.51212 -T 522 398 sixty sixty 2.51212 -F 523 9.64806 -T 523 453 , , 2.90844e-10 -F 524 8.48392 -T 524 469 , , 0.139611 -T 524 484 one one 2.10664 -T 524 490 sixty sixty 2.10664 -F 525 9.02309 -T 525 526 , , 0.122298 -T 525 549 twenty twenty 2.10664 -F 526 8.90079 -T 526 0 , , 0.791546 -T 526 527 eight eight 3.27842 -T 526 528 eighteen eighteen 6.40694 -T 526 529 enter enter 3.86918 -T 526 530 fifteen fifteen 6.40694 -T 526 531 five five 2.88767 -T 526 532 four four 2.54804 -T 526 533 go go 6.03868 -T 526 534 help help 5.84848 -T 526 535 march march 6.40694 -T 526 536 nine nine 3.55174 -T 526 537 no no 5.55099 -T 526 538 october october 6.40694 -T 526 539 oh oh 2.97195 -T 526 540 one one 1.37073 -T 526 541 repeat repeat 5.48859 -T 526 542 seven seven 3.06405 -T 526 543 six six 2.20956 -T 526 544 sixty sixty 4.22493 -T 526 545 ten ten 5.09056 -T 526 546 thirty thirty 5.09056 -T 526 547 three three 2.73777 -T 526 548 twelve twelve 6.27377 -T 526 549 twenty twenty 4.9088 -T 526 550 two two 2.09328 -T 526 551 zero zero 3.72259 -F 527 8.55037 -T 527 17 , , 0.115628 -T 527 31 no no 3.61068 -T 527 32 oh oh 3.61068 -T 527 41 three three 1.97953 -T 527 44 two two 1.97953 -F 528 8.56466 -T 528 46 , , 8.46674e-11 -F 529 8.98309 -T 529 63 , , 0.226434 -T 529 67 fifty fifty 3.02306 -T 529 75 seven seven 1.39168 -T 529 79 thirty thirty 3.02306 -F 530 8.55317 -T 530 87 , , 0.182709 -T 530 90 sixty sixty 1.41356 -F 531 8.94213 -T 531 108 , , 0.0289993 -T 531 118 october october 3.97841 -T 531 127 twenty twenty 3.97841 -T 531 128 two two 0.907909 -F 532 8.83223 -T 532 140 , , 0.404525 -T 532 148 four four 2.08246 -T 532 153 no no 4.30399 -T 532 155 one one 2.08246 -T 532 157 september september 4.30399 -T 532 166 two two 1.05896 -F 533 8.81529 -T 533 176 , , 0.131826 -T 533 177 enter enter 1.41356 -F 534 8.6886 -T 534 184 , , 6.68699e-10 -F 535 8.69589 -T 535 206 , , 0.148508 -T 535 207 third third 1.41356 -F 536 8.53656 -T 536 214 , , 0.207088 -T 536 215 august august 3.35947 -T 536 218 eleven eleven 3.35947 -T 536 241 three three 1.72809 -F 537 8.88466 -T 537 260 , , 0.118693 -T 537 261 enter enter 1.41356 -F 538 8.69476 -T 538 270 , , 0.148508 -T 538 273 twenty twenty 1.41356 -F 539 9.11534 -T 539 277 , , 0.162963 -T 539 279 five five 2.26713 -T 539 285 six six 1.30833 -F 540 9.56996 -T 540 289 , , 0.823009 -T 540 291 eight eight 3.23513 -T 540 297 five five 1.93371 -T 540 299 four four 3.82528 -T 540 307 oh oh 2.86649 -T 540 310 seven seven 1.19573 -T 540 311 six six 3.23513 -T 540 319 three three 1.81904 -T 540 321 two two 2.21163 -F 541 9.24955 -T 541 324 , , 0.256974 -T 541 328 forty forty 1.41356 -F 542 8.83951 -T 542 341 , , 0.328141 -T 542 343 eight eight 2.18009 -T 542 352 may may 3.81147 -T 542 356 one one 1.58994 -T 542 363 ten ten 3.81147 -T 542 367 two two 2.18009 -F 543 9.63582 -T 543 381 , , 1.08888 -T 543 382 eight eight 0.494826 -T 543 387 july july 4.63234 -T 543 396 six six 2.04239 -T 543 400 ten ten 4.63234 -F 544 8.95069 -T 544 415 , , 0.105897 -T 544 424 seven seven 1.41356 -F 545 8.85 -T 545 445 , , 0.0958348 -T 545 451 twelve twelve 2.10664 -F 546 9.13599 -T 546 457 , , 0.445381 -T 546 460 one one 0.475484 -F 547 8.65997 -T 547 469 , , 0.315656 -T 547 477 four four 2.49025 -T 547 484 one one 2.49025 -T 547 495 twenty twenty 4.12163 -T 547 496 two two 1.05113 -F 548 8.72147 -T 548 501 , , 0.231882 -T 548 507 ten ten 1.41356 -F 549 8.67467 -T 549 511 , , 0.145903 -T 549 515 four four 2.10664 -T 549 522 six six 2.10664 -F 550 9.18263 -T 550 526 , , 0.281843 -T 550 530 fifteen fifteen 4.74563 -T 550 536 nine nine 2.52432 -T 550 539 oh oh 2.15568 -T 550 540 one one 1.35208 -T 550 542 seven seven 3.11448 -T 550 551 zero zero 3.11448 -F 551 8.91089 -T 551 565 , , 0.215727 -T 551 572 seven seven 1.57405 -T 551 574 twelve twelve 3.2052 -F 552 8.57699 -T 552 0 , , 0.467743 -T 552 553 enter enter 1.83079 -T 552 554 five five 2.89858 -T 552 555 four four 3.13828 -T 552 556 go go 2.73248 -T 552 557 one one 2.18308 -T 552 558 repeat repeat 2.73248 -T 552 559 six six 3.11456 -T 552 560 start start 4.04864 -T 552 561 stop stop 4.04864 -T 552 562 twenty twenty 4.04864 -T 552 563 two two 2.57023 -T 552 564 yes yes 2.73248 -F 553 9.16269 -T 553 63 , , 0.406041 -T 553 75 seven seven 1.16856 -T 553 76 seventy seventy 2.79971 -T 553 81 twenty twenty 2.79971 -F 554 9.15128 -T 554 108 , , 0.238151 -T 554 123 six six 1.41356 -F 555 8.67938 -T 555 140 , , 0.251676 -T 555 154 oh oh 1.41356 -F 556 8.77585 -T 556 176 , , 0.092383 -T 556 178 fifty fifty 2.10664 -F 557 9.01469 -T 557 289 , , 0.267743 -T 557 297 five five 0.880969 -T 557 299 four four 2.51212 -F 558 9.2117 -T 558 324 , , 0.219123 -T 558 326 fifty fifty 2.10664 -T 558 327 five five 2.10664 -F 559 8.73346 -T 559 381 , , 0.186527 -T 559 402 three three 1.41356 -F 560 8.96552 -T 560 429 , , 0.0365206 -T 560 434 repeat repeat 1.41356 -F 561 9.13645 -T 561 436 , , 0.252868 -T 561 441 seven seven 1.41356 -F 562 8.72382 -T 562 511 , , 0.195052 -T 562 525 two two 1.41356 -F 563 9.05638 -T 563 526 , , 0.15559 -T 563 543 six six 2.10664 -T 563 545 ten ten 2.10664 -F 564 8.66237 -T 564 552 , , 0.085381 -T 564 555 four four 2.10664 -F 565 8.69517 -T 565 0 , , 0.585922 -T 565 566 eight eight 3.33083 -T 565 567 enter enter 2.94593 -T 565 568 five five 3.01676 -T 565 569 four four 3.25646 -T 565 570 nine nine 3.86158 -T 565 571 one one 1.26113 -T 565 572 seven seven 2.94593 -T 565 573 six six 1.57796 -T 565 574 twelve twelve 4.26232 -T 565 575 two two 2.68841 -T 565 576 zero zero 4.26232 -F 566 8.61131 -T 566 17 , , 0.176569 -T 566 44 two two 1.41356 -F 567 8.93886 -T 567 63 , , 0.182207 -T 567 68 five five 2.10664 -T 567 69 forty forty 2.10664 -F 568 9.16676 -T 568 108 , , 0.253631 -T 568 122 seven seven 1.41356 -F 569 8.50135 -T 569 140 , , 0.0736518 -T 569 155 one one 1.41356 -F 570 8.60044 -T 570 214 , , 0.270965 -T 570 240 thirty thirty 1.41356 -F 571 9.91572 -T 571 289 , , 1.16876 -T 571 297 five five 0.247988 -F 572 8.59688 -T 572 341 , , 0.0855125 -T 572 353 nine nine 2.10664 -F 573 8.54694 -T 573 381 , , -1.08535e-08 -F 574 8.58104 -T 574 501 , , 0.0914575 -T 574 508 twenty twenty 1.41356 -F 575 8.99326 -T 575 526 , , 0.0924736 -T 575 542 seven seven 2.10664 -T 575 550 two two 2.10664 -F 576 8.74275 -T 576 565 , , 0.0475873 -T 576 573 six six 1.41356 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.lm deleted file mode 100755 index 633b6d64..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.trigram.lm +++ /dev/null @@ -1,1602 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 3-gram language model, based on a vocabulary of 71 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Absolute discounting was applied. -1-gram discounting constant : 0.454545 -2-gram discounting constant : 0.567376 -3-gram discounting constant : 0.680151 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams -ngram 2=nr # number of 2-grams -ngram 3=nr # number of 3-grams - -\1-grams: -p_1 wd_1 bo_wt_1 -\2-grams: -p_2 wd_1 wd_2 bo_wt_2 -\3-grams: -p_3 wd_1 wd_2 wd_3 - -end of data mark: \end\ - -\data\ -ngram 1=72 -ngram 2=412 -ngram 3=1063 - -\1-grams: --3.7020 0.0000 --0.7708 -2.8337 --0.7698 -0.8805 --3.7020 a -0.1655 --3.7020 april -0.2457 --3.7020 area -0.2460 --2.8891 august -0.5424 --3.7020 code -0.2258 --3.7020 december -0.2460 --1.3722 eight -0.4955 --3.7020 eighteen -0.2459 --3.7020 eighteenth -0.2414 --3.7020 eighth -0.2414 --2.8891 eighty -0.3202 --2.8891 eleven -0.1400 --3.7020 eleventh -0.2414 --1.5168 enter -0.5373 --3.2497 february -0.2413 --2.8891 fifteen -0.2733 --3.2497 fifteenth -0.5425 --3.7020 fifth -0.2414 --2.0314 fifty -0.2326 --3.0330 first -0.7186 --1.2359 five -0.7848 --2.2471 forty -0.3147 --1.3399 four -0.5809 --2.6228 fourteen -0.3958 --3.7020 fourth -0.2414 --2.4589 go -1.1655 --2.3763 help -1.2446 --3.2497 hundred -0.1648 --3.2497 january -0.2456 --3.0330 july -0.2408 --3.2497 june -0.2413 --3.0330 march -0.2409 --3.0330 may -0.2364 --1.6028 nine -0.1931 --1.9683 nineteen -1.0014 --2.8891 ninety -0.1530 --3.2497 ninth -0.2365 --2.2471 no -1.3696 --3.0330 october -0.2406 --3.2497 of -0.2360 --1.6941 oh -0.4957 --1.0594 one -0.6872 --2.2201 repeat -1.3959 --3.2497 second -0.5425 --2.7812 september -0.2359 --1.4364 seven -0.3848 --3.0330 seventeen -0.4154 --3.7020 seventh -0.2414 --2.3763 seventy -0.5157 --1.3297 six -0.5693 --3.0330 sixteen -0.4103 --3.7020 sixteenth -0.2414 --3.7020 sixth -0.2414 --1.6713 sixty -0.5317 --2.4157 start -1.2069 --2.2471 stop -1.3696 --2.4157 ten -0.2862 --3.0330 third -0.7186 --3.0330 thirtieth -0.7186 --2.1946 thirty -0.1689 --3.0330 thousand -0.3188 --1.4112 three -0.4369 --3.2497 twelfth -0.5425 --2.5611 twelve -0.2453 --3.7020 twentieth -0.2414 --1.9683 twenty -0.1748 --1.0933 two -0.8899 --2.1260 yes -1.4877 --2.0314 zero -0.3338 - -\2-grams: --0.0005 0.0797 --3.0332 april 0.0787 --3.0332 area 0.0787 --2.1337 august 0.0787 --3.0332 december 0.0787 --1.7982 eight -0.0709 --3.0332 eighteen 0.0787 --2.5132 eleven -0.0615 --0.7480 enter 0.0787 --3.0332 february -0.0615 --1.8609 fifty -0.1793 --1.5412 five -0.1092 --3.0332 forty -0.0958 --1.1860 four -0.4076 --3.0332 fourteen -0.1397 --1.6947 go 0.0787 --1.6112 help 0.0787 --2.5132 january 0.0787 --2.2832 july 0.0787 --2.5132 june 0.0787 --2.2832 march 0.0787 --2.5132 may -0.0196 --1.9343 nine -0.0799 --3.0332 ninth -0.0615 --1.4809 no 0.0787 --2.2832 october 0.0787 --2.2832 oh -0.2199 --0.7130 one -0.3263 --1.4536 repeat 0.0787 --2.1337 september 0.0171 --1.6509 seven -0.1473 --1.3808 six -0.1376 --3.0332 sixty -0.0917 --1.6509 start 0.0787 --1.4809 stop 0.0787 --2.0227 ten -0.0723 --2.2832 thirty -0.0160 --1.4809 three -0.1975 --1.9343 twelve -0.0281 --3.0332 twenty -0.1461 --1.2995 two -0.0186 --1.3590 yes 0.0787 --0.3639 a 2.7471 --0.3639 april thirtieth 0.5559 --0.3639 area code 0.0787 --0.9659 august sixteenth 0.0787 --0.2160 august twenty -0.3156 --0.3639 code four -0.0906 --0.3639 december eighteenth 0.0787 --0.5312 eight 1.2031 --1.3332 eight eight -0.2211 --1.2598 eight five 0.0826 --2.4321 eight forty -0.1267 --0.9736 eight four -0.1036 --2.4321 eight fourteen 0.0180 --2.4321 eight hundred -0.0615 --1.5326 eight nine -0.0182 --1.6821 eight oh -0.0069 --1.4215 eight one -0.0701 --1.3332 eight seven 0.2034 --1.9121 eight seventy -0.2066 --1.5326 eight six 0.1778 --1.6821 eight sixty 0.0271 --2.4321 eight thirty -0.1043 --1.0498 eight three 0.1981 --1.9121 eight twenty -0.0729 --1.1970 eight two -0.3403 --1.5326 eight zero 0.1358 --0.3639 eighteen february -0.0615 --0.3639 eighteenth nineteen -0.1461 --0.3639 eighth nineteen -0.1461 --0.4459 eighty nine 0.0468 --0.9659 eighty six -0.0279 --0.9659 eighty three -0.0106 --0.9659 eleven 2.7471 --0.9659 eleven nine -0.1647 --0.9659 eleven seventeen 0.1146 --0.9659 eleven sixty -0.0917 --0.3639 eleventh nineteen 0.3769 --1.0531 enter eight -0.0052 --2.2882 enter eighty 0.0252 --2.2882 enter fifteen 0.0252 --1.2776 enter fifty -0.0866 --1.1893 enter five 0.1261 --1.5382 enter forty 0.0499 --1.1893 enter four -0.2082 --2.2882 enter fourteen -0.0679 --1.3887 enter nine 0.0774 --1.5382 enter ninety 0.0030 --1.3887 enter one -0.1494 --0.9983 enter seven -0.0186 --1.3887 enter seventy 0.1146 --1.0531 enter six 0.0026 --1.0531 enter sixty -0.2117 --1.5382 enter thirty -0.1081 --1.7681 enter three -0.0080 --2.2882 enter twenty -0.1307 --1.1893 enter two -0.1472 --2.2882 enter zero 0.0283 --0.6649 february eighth 0.0787 --0.6649 february nineteen -0.1307 --0.4459 fifteen 2.4461 --0.9659 fifteen nineteen -0.1307 --0.9659 fifteen sixty -0.1491 --0.1449 fifteenth nineteen 0.0758 --0.3639 fifth nineteen 0.3769 --1.7789 fifty 2.7471 --0.8793 fifty eight -0.6181 --1.0289 fifty five -0.5461 --1.2588 fifty four -0.3484 --0.7683 fifty one -0.3094 --1.2588 fifty seven 0.1368 --0.7683 fifty six -0.0845 --1.7789 fifty sixty -0.1335 --1.7789 fifty three -0.1615 --1.2588 fifty two -0.3882 --0.0910 first nineteen -0.1002 --0.6931 five 1.2286 --1.6685 five eight -0.0916 --1.4691 five five 0.2778 --1.4691 five four -0.0773 --1.6685 five nine -0.0550 --1.4691 five oh -0.1302 --1.1096 five one 0.0853 --1.6685 five seven 0.0815 --1.4691 five six -0.2209 --2.5680 five sixteen 0.1146 --2.5680 five ten 0.0566 --1.4691 five three -0.2132 --2.5680 five twenty -0.1307 --0.3883 five two 0.1166 --1.8180 five zero 0.2181 --1.5680 forty eight -0.0160 --1.0480 forty five -0.3700 --1.0480 forty four -0.3484 --1.5680 forty nine 0.0424 --1.0480 forty one -0.3969 --0.8180 forty seven -0.0393 --0.8180 forty three 0.0126 --1.0480 forty two -0.3882 --0.6170 four 1.2558 --1.3654 four eight -0.1018 --1.9442 four fifty 0.0137 --1.3654 four five 0.1135 --2.4643 four forty -0.1555 --1.0422 four four 0.0557 --1.9442 four nine -0.1288 --1.5647 four oh 0.1295 --0.7900 four one -0.4315 --1.2920 four seven -0.0423 --1.2920 four six 0.0412 --1.9442 four sixty -0.0511 --2.4643 four thousand -0.0998 --1.4537 four three 0.0072 --1.9442 four twenty -0.0729 --0.9119 four two -0.2444 --2.4643 four zero 0.0283 --0.6890 fourteen 2.4461 --1.2090 fourteen a 0.0787 --1.2090 fourteen fourteen -0.0679 --0.4590 fourteen sixty -0.0062 --0.3639 fourth nineteen -0.1461 --0.0254 go 1.7471 --0.0210 help 1.6679 --0.6649 hundred 2.7471 --0.6649 hundred eighty -0.1177 --0.6649 january fifteenth 0.3798 --0.6649 january twelfth 0.3798 --0.8410 july thirtieth 0.5559 --0.8410 july twelfth 0.3798 --0.8410 july twenty -0.1307 --0.6649 june eleventh 0.0787 --0.6649 june twenty -0.1461 --0.8410 march third 0.5559 --0.8410 march twentieth 0.0787 --0.8410 march twenty -0.1611 --0.8410 may nineteen -0.1461 --0.8410 may ninth -0.0615 --0.8410 may twenty -0.1611 --0.4167 nine 1.3158 --1.4528 nine eight -0.1022 --2.2027 nine eighty 0.0252 --2.2027 nine fifty -0.1059 --1.1038 nine five 0.3683 --2.2027 nine forty -0.0958 --2.2027 nine four -0.1554 --2.2027 nine nine 0.0424 --2.2027 nine nineteen 0.3769 --2.2027 nine of -0.0615 --2.2027 nine oh -0.1561 --1.4528 nine one -0.0194 --2.2027 nine seven -0.1434 --2.2027 nine seventy -0.1122 --1.1038 nine six -0.2538 --2.2027 nine sixty -0.1335 --2.2027 nine thirty -0.1568 --1.1922 nine three -0.1571 --2.2027 nine twenty -0.1461 --1.1922 nine two -0.2123 --2.2027 nine zero 0.0283 --1.3210 nineteen fifty -0.4438 --1.3210 nineteen forty -0.4277 --1.0910 nineteen seventy -0.5461 --0.1460 nineteen sixty 0.0325 --1.8410 nineteen twenty -0.0980 --0.9659 ninety eight -0.1620 --0.9659 ninety five -0.0690 --0.9659 ninety four -0.0473 --0.9659 ninety six -0.0279 --0.6649 ninth of -0.0615 --0.6649 ninth sixty -0.1491 --0.0157 no 1.5430 --0.8410 october first 0.5559 --0.8410 october thirtieth 0.5559 --0.8410 october twenty -0.1461 --0.6649 of september -0.1281 --0.6649 of sixty -0.1254 --1.1015 oh 2.0482 --0.7736 oh eight 0.0301 --1.1015 oh five -0.2596 --1.3621 oh four -0.2811 --2.1121 oh nine -0.1318 --1.5921 oh oh -0.0334 --1.1015 oh one 0.0467 --1.2126 oh seven 0.2109 --0.7298 oh six -0.1487 --1.2126 oh three 0.1195 --1.0132 oh two -0.0427 --0.8187 one 1.1789 --1.5718 one eight 0.0236 --2.7441 one eleven -0.1177 --2.7441 one fifteen 0.0252 --1.8446 one fifty -0.1254 --0.5324 one five -0.1636 --2.7441 one forty -0.1267 --1.4542 one four -0.3302 --2.7441 one hundred -0.0615 --1.5091 one nine 0.1590 --2.7441 one ninety -0.1177 --1.3618 one oh 0.1516 --1.7336 one one 0.1200 --1.0917 one seven -0.3762 --1.5718 one six -0.0653 --2.7441 one sixteen -0.0998 --1.9941 one sixty -0.0929 --2.2241 one ten -0.2444 --2.2241 one thirty -0.3456 --2.2241 one thousand -0.1865 --1.2521 one three -0.6043 --2.2241 one twenty -0.1395 --0.9922 one two -0.2630 --1.7336 one zero -0.0037 --0.0147 repeat 1.5167 --0.1449 second nineteen 0.0758 --1.0629 september fifteenth 0.3798 --1.0629 september first 0.5559 --1.0629 september nineteen 0.3769 --1.0629 september sixth 0.0787 --1.0629 september twenty -0.1611 --0.3103 seven 1.0482 --1.2693 seven eight -0.0625 --2.3682 seven fifteen -0.1177 --2.3682 seven fifty -0.1247 --1.6182 seven five 0.0937 --1.8482 seven forty -0.3968 --1.8482 seven four 0.0571 --1.8482 seven fourteen 0.0613 --2.3682 seven may -0.0998 --1.3577 seven nine -0.1437 --1.4687 seven oh -0.1205 --1.4687 seven one -0.0573 --1.8482 seven seven 0.1455 --2.3682 seven seventeen 0.1146 --1.8482 seven six -0.1027 --1.8482 seven sixty -0.1053 --2.3682 seven ten 0.0566 --1.8482 seven thirty -0.0624 --1.6182 seven three -0.1098 --2.3682 seven twenty -0.1307 --1.2693 seven two 0.2526 --0.3210 seventeen fifty -0.0564 --0.8410 seventeen thirty -0.1568 --0.3639 seventh nineteen 0.3769 --0.6931 seventy 2.2700 --1.4431 seventy eight -0.0160 --0.3442 seventy one -0.8740 --0.9230 seventy two -0.3882 --0.5612 six 1.1908 --0.7408 six eight -0.2361 --1.3756 six five -0.2011 --2.4745 six forty -0.1267 --1.2394 six four -0.1567 --1.5750 six nine 0.0319 --1.3756 six oh 0.1244 --1.3022 six one 0.1994 --1.5750 six seven 0.0815 --2.4745 six seventeen -0.0998 --1.1360 six six 0.0642 --2.4745 six sixteen 0.1146 --1.9545 six sixty -0.0314 --1.9545 six thirty -0.0305 --1.1846 six three 0.1097 --2.4745 six twenty -0.1307 --1.3756 six two -0.0103 --2.4745 six zero -0.1428 --0.8410 sixteen forty -0.1555 --0.3210 sixteen sixty -0.0212 --0.3639 sixteenth nineteen 0.3769 --0.3639 sixth nineteen 0.3769 --1.0358 sixty 1.9690 --1.1242 sixty eight -0.7150 --2.1347 sixty fifty -0.1247 --1.1242 sixty five -0.7680 --1.2352 sixty four -0.6494 --0.7127 sixty nine -1.0368 --1.0358 sixty one -0.8740 --0.7962 sixty seven -0.5708 --1.6147 sixty six -0.3290 --1.1242 sixty three -0.7095 --1.3848 sixty two -0.2599 --0.0230 start 1.7057 --0.0157 stop 1.5430 --0.3947 ten 2.0482 --1.4053 ten one -0.1630 --1.4053 ten seventy 0.0944 --1.4053 ten sixty -0.0739 --1.4053 ten thirty -0.0446 --1.4053 ten twelve -0.1433 --1.4053 ten twenty -0.0980 --0.0910 third nineteen 0.2233 --0.0910 thirtieth nineteen -0.1002 --0.8692 thirty 2.2700 --1.0991 thirty eight -0.0030 --1.6192 thirty five -0.0690 --0.6086 thirty one -0.3050 --1.6192 thirty seven 0.1246 --1.6192 thirty six -0.0279 --1.6192 thirty sixty -0.1335 --1.6192 thirty three -0.0106 --0.8692 thirty two -0.2599 --0.3210 thousand 2.4461 --0.8410 thousand eight -0.1658 --0.5184 three 1.2286 --1.2944 three eight -0.2372 --2.3933 three eighty -0.1177 --2.3933 three eleven -0.1177 --1.2944 three five -0.0871 --1.8733 three forty -0.0817 --1.3827 three four 0.0952 --2.3933 three fourteen 0.0180 --1.6433 three nine -0.0744 --1.3827 three oh 0.1521 --1.2944 three one 0.1476 --1.6433 three seven -0.1159 --2.3933 three seventy 0.0944 --1.2944 three six 0.1843 --1.8733 three sixty -0.0967 --1.2210 three three 0.0675 --2.3933 three twelve -0.1433 --1.6433 three twenty -0.0463 --0.9712 three two -0.3500 --1.6433 three zero 0.2607 --0.1449 twelfth nineteen 0.0758 --1.2670 twelve fifty -0.1059 --1.2670 twelve four -0.1624 --1.2670 twelve nine -0.1647 --1.2670 twelve nineteen 0.3769 --1.2670 twelve sixty -0.0917 --1.2670 twelve ten -0.1500 --0.7470 twelve twenty -0.1238 --0.3639 twentieth nineteen -0.1307 --1.8410 twenty 2.7471 --0.8305 twenty eight -0.2170 --1.8410 twenty fifth 0.0787 --1.8410 twenty first 0.5559 --1.3210 twenty four -0.1609 --1.8410 twenty fourth 0.0787 --1.0910 twenty nine 0.0513 --1.3210 twenty one -0.0885 --1.3210 twenty second 0.0787 --1.3210 twenty seven 0.1368 --1.8410 twenty seventh 0.0787 --1.0910 twenty six -0.0192 --1.3210 twenty third 0.2548 --1.3210 twenty three -0.0021 --1.3210 twenty two -0.0838 --0.7731 two 1.1673 --1.4752 two eight -0.0344 --2.7102 two fifteen -0.1177 --1.3280 two five 0.2244 --1.1579 two four -0.4116 --1.5380 two nine 0.0807 --1.3280 two oh 0.2092 --0.6703 two one -0.0883 --1.3717 two seven 0.1181 --0.9955 two six -0.5590 --2.7102 two ten 0.0566 --2.1902 two thirty -0.3456 --1.2882 two three -0.0961 --2.1902 two twenty -0.1075 --0.9410 two two 0.4991 --1.6113 two zero -0.0403 --0.0119 yes 1.4249 --0.4403 zero 1.7471 --1.7789 zero eight -0.1389 --1.7789 zero five -0.1580 --1.7789 zero four -0.0906 --1.2588 zero one -0.3176 --1.2588 zero seven 0.1636 --0.6800 zero six -0.0858 --1.2588 zero two -0.0644 --1.7789 zero zero -0.0656 - -\3-grams: --3.1634 april --3.1634 area --2.1473 august --3.1634 december --1.8039 eight --3.1634 eighteen --2.5479 eleven --0.7476 enter --3.1634 february --1.8677 fifty --1.5439 five --3.1634 forty --1.1867 four --3.1634 fourteen --1.6990 go --1.6145 help --2.5479 january --2.3029 july --2.5479 june --2.3029 march --2.5479 may --1.9425 nine --3.1634 ninth --1.4831 no --2.3029 october --2.3029 oh --0.7126 one --1.4557 repeat --2.1473 september --1.6547 seven --1.3824 six --3.1634 sixty --1.6547 start --1.4831 stop --2.0329 ten --2.3029 thirty --1.4831 three --1.9425 twelve --3.1634 twenty --1.3007 two --1.3824 yes --0.4951 april thirtieth --0.4951 area code --1.0971 august sixteenth --0.2366 august twenty --0.4951 december eighteenth --0.7826 eight eight --1.3981 eight five --1.3981 eight forty --1.3981 eight four --1.3981 eight fourteen --1.3981 eight oh --1.3981 eight two --0.4951 eighteen february --0.7961 eleven nine --0.7961 eleven seventeen --1.0598 enter eight --2.4193 enter eighty --2.4193 enter fifteen --1.2888 enter fifty --1.1984 enter five --1.5588 enter forty --1.1984 enter four --2.4193 enter fourteen --1.4032 enter nine --1.5588 enter ninety --1.4032 enter one --1.0042 enter seven --1.4032 enter seventy --1.0598 enter six --1.0598 enter sixty --1.5588 enter thirty --1.8038 enter three --2.4193 enter twenty --1.1984 enter two --2.4193 enter zero --0.4951 february eighth --0.7246 fifty one --1.3402 fifty seven --0.4796 fifty six --1.3402 fifty three --1.6412 five five --1.0256 five one --0.7807 five six --1.6412 five sixteen --1.6412 five ten --1.6412 five twenty --0.5107 five two --0.4951 forty three --1.3708 four eight --1.9864 four five --0.8559 four four --1.3708 four oh --0.4375 four one --1.3708 four seven --1.9864 four twenty --0.7655 four two --0.4951 fourteen fourteen --0.0306 go --0.0253 help --0.7961 january fifteenth --0.7961 january twelfth --0.9722 july thirtieth --0.9722 july twelfth --0.9722 july twenty --0.7961 june eleventh --0.7961 june twenty --0.9722 march third --0.9722 march twentieth --0.9722 march twenty --0.7961 may ninth --0.7961 may twenty --1.2732 nine four --1.2732 nine one --1.2732 nine thirty --1.2732 nine three --1.2732 nine twenty --1.2732 nine two --0.4951 ninth of --0.0189 no --0.9722 october first --0.9722 october thirtieth --0.9722 october twenty --0.9722 oh seven --0.3566 oh six --2.4541 one eleven --2.4541 one fifty --0.1786 one five --1.8385 one four --2.4541 one hundred --1.8385 one nine --1.4379 one oh --1.8385 one seven --2.4541 one six --2.4541 one sixteen --1.8385 one ten --2.4541 one thirty --1.8385 one thousand --2.4541 one three --1.8385 one twenty --1.3236 one two --1.8385 one zero --0.0177 repeat --1.0971 september fifteenth --1.0971 september first --1.0971 september sixth --1.0971 september twenty --1.5364 seven fifteen --1.5364 seven fifty --1.5364 seven four --1.5364 seven fourteen --1.5364 seven may --1.5364 seven nine --1.5364 seven seventeen --1.5364 seven thirty --0.9209 seven three --1.5364 seven twenty --0.6656 six eight --1.7961 six five --1.7961 six four --1.7961 six seventeen --0.7799 six six --1.7961 six sixteen --1.7961 six thirty --0.9356 six three --1.7961 six twenty --1.7961 six two --1.7961 six zero --0.4951 sixty seven --0.0277 start --0.0189 stop --1.1940 ten one --1.1940 ten seventy --1.1940 ten thirty --1.1940 ten twelve --1.1940 ten twenty --0.9722 thirty --0.9722 thirty three --0.9722 thirty two --1.6992 three eleven --1.0836 three four --1.6992 three fourteen --0.8387 three oh --1.6992 three one --1.6992 three seventy --1.0836 three six --1.6992 three twelve --1.0836 three twenty --1.0836 three two --1.2732 twelve four --1.2732 twelve nine --1.2732 twelve nineteen --1.2732 twelve ten --0.6576 twelve twenty --0.4951 twenty two --1.8753 two fifteen --1.8753 two five --1.2597 two four --1.8753 two nine --1.2597 two oh --1.2597 two one --1.2597 two seven --0.4108 two six --1.8753 two ten --1.8753 two twenty --1.8753 two two --0.0143 yes --0.4951 a --0.4951 april thirtieth nineteen --0.4951 area code four --0.4951 august sixteenth nineteen --0.9722 august twenty fourth --0.3566 august twenty second --0.4951 code four one --0.4951 december eighteenth nineteen --0.0085 eight --0.6576 eight eight four --0.6576 eight eight nine --1.2732 eight eight seven --1.2732 eight eight two --1.3402 eight five --1.3402 eight five five --1.3402 eight five four --1.3402 eight five nine --1.3402 eight five oh --1.3402 eight five one --1.3402 eight five six --0.4951 eight forty one --0.5928 eight four --0.9934 eight four four --0.9934 eight four one --0.7485 eight four six --0.9934 eight four two --0.4951 eight fourteen sixty --0.4951 eight hundred eighty --0.4815 eight nine --1.0971 eight nine nine --1.0971 eight nine six --0.9722 eight oh --0.9722 eight oh eight --0.9722 eight oh three --1.1940 eight one nine --1.1940 eight one oh --1.1940 eight one one --1.1940 eight one seven --1.1940 eight one six --0.6576 eight seven --1.2732 eight seven eight --1.2732 eight seven five --1.2732 eight seven nine --1.2732 eight seven one --0.1805 eight seventy one --1.0971 eight six --1.0971 eight six eight --1.0971 eight six nine --1.0971 eight six three --0.9722 eight sixty five --0.9722 eight sixty nine --0.9722 eight sixty one --0.4951 eight thirty two --0.9209 eight three --1.5364 eight three eight --1.5364 eight three five --1.5364 eight three oh --0.9209 eight three one --1.5364 eight three three --1.5364 eight three two --0.9209 eight three zero --0.7961 eight twenty eight --0.7961 eight twenty seven --0.7826 eight two eight --0.7826 eight two four --0.5376 eight two six --1.3981 eight two three --0.4815 eight zero --1.0971 eight zero six --1.0971 eight zero two --0.4951 eighteen february nineteen --0.4951 eighteenth nineteen forty --0.4951 eighth nineteen fifty --0.7961 eighty nine --0.7961 eighty nine forty --0.4951 eighty six --0.4951 eighty three --0.4951 eleven --0.4951 eleven nine sixty --0.4951 eleven seventeen fifty --0.4951 eleven sixty seven --0.4951 eleventh nineteen sixty --1.3981 enter eight four --1.3981 enter eight one --1.3981 enter eight seven --1.3981 enter eight seventy --1.3981 enter eight thirty --1.3981 enter eight twenty --1.3981 enter eight two --1.3981 enter eight zero --0.4951 enter eighty nine --0.4951 enter fifteen --1.1940 enter fifty five --0.5784 enter fifty four --1.1940 enter fifty one --1.1940 enter fifty sixty --0.4127 enter five --1.2732 enter five three --1.2732 enter five two --1.2732 enter five zero --0.9722 enter forty one --0.9722 enter forty seven --0.9722 enter forty three --0.6576 enter four --0.6576 enter four fifty --1.2732 enter four thousand --1.2732 enter four twenty --0.4951 enter fourteen --1.0971 enter nine --1.0971 enter nine eight --1.0971 enter nine eighty --1.0971 enter nine seventy --0.9722 enter ninety eight --0.9722 enter ninety five --0.9722 enter ninety four --1.0971 enter one forty --1.0971 enter one nine --1.0971 enter one ninety --1.0971 enter one thirty --0.3188 enter seven --1.4493 enter seven oh --1.4493 enter seven seven --1.4493 enter seven thirty --1.4493 enter seven two --1.0971 enter seventy eight --0.4815 enter seventy one --1.0971 enter seventy two --0.5376 enter six --1.3981 enter six four --1.3981 enter six oh --1.3981 enter six one --1.3981 enter six seven --1.3981 enter six two --0.5376 enter sixty --1.3981 enter sixty four --0.7826 enter sixty one --1.3981 enter sixty six --1.3981 enter sixty two --0.9722 enter thirty eight --0.9722 enter thirty five --0.9722 enter thirty seven --0.7961 enter three --0.7961 enter three eighty --0.4951 enter twenty nine --0.6576 enter two --1.2732 enter two five --0.6576 enter two oh --1.2732 enter two six --0.4951 enter zero --0.4951 february eighth nineteen --0.4951 february nineteen seventy --0.1805 fifteen --0.4951 fifteen nineteen seventy --0.4951 fifteen sixty two --0.1805 fifteenth nineteen sixty --0.4951 fifth nineteen sixty --0.4951 fifty --0.0809 fifty eight --0.1117 fifty five --0.1805 fifty four --0.3335 fifty one --1.1940 fifty one fifteen --1.1940 fifty one fifty --0.7961 fifty seven --0.7961 fifty seven fourteen --0.5784 fifty six --1.1940 fifty six oh --1.1940 fifty six sixty --1.1940 fifty six thirty --0.4951 fifty sixty three --0.4951 fifty three forty --0.1805 fifty two --0.1117 first nineteen sixty --0.0090 five --0.4815 five eight --1.0971 five eight five --1.0971 five eight oh --0.6576 five five --1.2732 five five eight --1.2732 five five five --1.2732 five five three --1.2732 five five two --0.6576 five four --1.2732 five four five --0.6576 five four six --1.2732 five four two --1.0971 five nine five --1.0971 five nine seven --1.0971 five nine six --1.0971 five nine two --0.6576 five oh --0.6576 five oh four --1.2732 five oh one --1.2732 five oh six --0.9934 five one --1.6090 five one eight --1.6090 five one five --0.7485 five one four --1.6090 five one nine --1.6090 five one oh --0.9934 five one one --0.9934 five one three --1.0971 five seven --0.4815 five seven eight --1.0971 five seven oh --0.6576 five six four --0.6576 five six one --1.2732 five six six --1.2732 five six three --0.4951 five sixteen sixty --0.4951 five ten --1.2732 five three five --0.6576 five three four --0.6576 five three three --1.2732 five three two --0.4951 five twenty six --1.4541 five two --2.3146 five two eight --2.3146 five two five --1.4541 five two four --1.2984 five two oh --0.2968 five two one --2.3146 five two seven --2.3146 five two six --1.0188 five two three --0.8994 five two two --1.6990 five two zero --0.9722 five zero --0.9722 five zero four --0.9722 five zero six --0.4951 forty eight --0.1805 forty five --0.1805 forty four --0.4951 forty nine --0.1805 forty one --0.3566 forty seven --0.9722 forty seven forty --0.9722 forty three --0.9722 forty three forty --0.9722 forty three twenty --0.1805 forty two --0.0096 four --1.2732 four eight five --0.6576 four eight four --1.2732 four eight six --1.2732 four eight two --1.2732 four eight zero --0.7961 four fifty one --0.7961 four fifty six --1.2732 four five eight --1.2732 four five nine --0.6576 four five one --1.2732 four five three --1.2732 four five two --0.4951 four forty nine --0.7137 four four --1.5742 four four eight --0.9587 four four four --1.5742 four four oh --0.9587 four four one --0.9587 four four seven --1.5742 four four three --0.7961 four nine five --0.7961 four nine zero --1.0971 four oh eight --1.0971 four oh one --1.0971 four oh six --1.0971 four oh three --0.9568 four one --1.8173 four one eight --1.8173 four one oh --1.8173 four one one --1.8173 four one six --0.2316 four one two --1.8173 four one zero --0.4796 four seven --1.3402 four seven four --1.3402 four seven sixty --0.7246 four seven two --1.3402 four six --1.3402 four six five --1.3402 four six four --1.3402 four six nine --1.3402 four six oh --0.7246 four six seven --0.7961 four sixty eight --0.7961 four sixty seven --0.4951 four thousand eight --0.5784 four three --1.1940 four three eight --1.1940 four three six --1.1940 four three three --0.7961 four twenty eight --0.7961 four twenty one --0.8387 four two --1.6992 four two nine --0.6830 four two one --1.6992 four two six --0.4034 four two two --0.4951 four zero --0.1805 fourteen --0.4951 fourteen a --0.4951 fourteen fourteen --0.9722 fourteen sixty four --0.9722 fourteen sixty one --0.9722 fourteen sixty seven --0.4951 fourth nineteen fifty --0.0306 go --0.0253 help --0.4951 hundred --0.4951 hundred eighty three --0.4951 january fifteenth nineteen --0.4951 january twelfth nineteen --0.4951 july thirtieth nineteen --0.4951 july twelfth nineteen --0.4951 july twenty nine --0.4951 june eleventh nineteen --0.4951 june twenty third --0.4951 march third nineteen --0.4951 march twentieth nineteen --0.4951 march twenty fifth --0.4951 may nineteen forty --0.4951 may ninth sixty --0.4951 may twenty first --0.0111 nine --0.9722 nine eight eight --0.9722 nine eight nine --0.9722 nine eight two --0.4951 nine eighty nine --0.4951 nine fifty eight --1.2732 nine five --1.2732 nine five four --1.2732 nine five oh --1.2732 nine five one --0.6576 nine five two --0.4951 nine forty three --0.4951 nine four oh --0.4951 nine nine --0.4951 nine nineteen sixty --0.4951 nine of sixty --0.4951 nine oh oh --0.9722 nine one --0.9722 nine one four --0.9722 nine one two --0.4951 nine seven two --0.4951 nine seventy two --0.4127 nine six --0.6576 nine six six --1.2732 nine six two --0.4951 nine sixty eight --0.4951 nine thirty sixty --0.5784 nine three --0.5784 nine three five --1.1940 nine three three --0.4951 nine twenty three --0.5784 nine two --1.1940 nine two three --0.5784 nine two two --0.4951 nine zero --0.1805 nineteen fifty two --0.1805 nineteen forty four --0.1117 nineteen seventy --1.8375 nineteen sixty --0.9770 nineteen sixty five --1.8375 nineteen sixty four --0.4779 nineteen sixty nine --1.2219 nineteen sixty one --0.7070 nineteen sixty seven --1.8375 nineteen sixty six --1.8375 nineteen sixty three --0.4951 nineteen twenty eight --0.4951 ninety eight twenty --0.4951 ninety five --0.4951 ninety four --0.4951 ninety six --0.4951 ninth of september --0.4951 ninth sixty two --0.0189 no --0.4951 october first nineteen --0.4951 october thirtieth nineteen --0.4951 october twenty third --0.4951 of september nineteen --0.4951 of sixty --0.0635 oh --0.4789 oh eight --1.4951 oh eight five --1.4951 oh eight nine --1.4951 oh eight oh --1.4951 oh eight one --1.4951 oh eight six --1.4951 oh eight three --0.3335 oh five --1.1940 oh five four --1.1940 oh five nine --0.9722 oh four five --0.3566 oh four four --0.4951 oh nine six --0.7961 oh oh eight --0.7961 oh oh two --0.5784 oh one --1.1940 oh one five --1.1940 oh one four --1.1940 oh one nine --1.0971 oh seven --1.0971 oh seven nine --1.0971 oh seven oh --1.0971 oh seven six --0.3155 oh six --1.5364 oh six five --1.5364 oh six nine --1.5364 oh six oh --1.5364 oh six seven --1.5364 oh six three --1.0971 oh three --1.0971 oh three eight --1.0971 oh three seven --1.0971 oh three two --0.6576 oh two --1.2732 oh two eight --1.2732 oh two nine --1.2732 oh two seven --1.2732 oh two six --0.0081 one --0.4796 one eight --1.3402 one eight eight --1.3402 one eight four --1.3402 one eight six --1.3402 one eight two --0.4951 one eleven --0.4951 one fifteen --1.0971 one fifty --0.4815 one fifty eight --1.0971 one fifty six --1.3301 one five --1.7307 one five five --2.3463 one five four --1.4858 one five oh --1.1254 one five one --1.7307 one five six --1.7307 one five three --0.1582 one five two --2.3463 one five zero --0.4951 one forty two --0.8337 one four eight --0.8337 one four nine --0.8337 one four seven --1.4493 one four six --0.8337 one four three --0.4951 one hundred --0.7826 one nine --1.3981 one nine eight --1.3981 one nine five --1.3981 one nine oh --0.7826 one nine six --1.3981 one nine three --0.4951 one ninety six --1.5364 one oh --1.5364 one oh five --1.5364 one oh four --1.5364 one oh oh --1.5364 one oh one --1.5364 one oh seven --0.9209 one oh six --0.6759 one oh two --1.1940 one one eight --1.1940 one one five --1.1940 one one seven --1.1940 one one six --1.1940 one one three --0.1158 one seven --1.7961 one seven forty --1.7961 one seven seven --1.7961 one seven three --1.7961 one seven two --0.4796 one six --1.3402 one six nine --1.3402 one six oh --1.3402 one six one --1.3402 one six two --0.4951 one sixteen forty --0.9722 one sixty eight --0.9722 one sixty fifty --0.9722 one sixty three --0.1805 one ten --0.1805 one thirty one --0.1805 one thousand --0.1325 one three --1.6412 one three six --1.0256 one three three --0.7961 one twenty --0.7961 one twenty two --1.0325 one two --1.2774 one two eight --0.6720 one two five --0.7625 one two four --1.8930 one two seven --1.0325 one two six --0.8768 one two two --1.8930 one two zero --1.1940 one zero eight --1.1940 one zero five --1.1940 one zero one --1.1940 one zero six --1.1940 one zero zero --0.0177 repeat --0.1805 second nineteen sixty --0.4951 september fifteenth nineteen --0.4951 september first nineteen --0.4951 september nineteen sixty --0.4951 september sixth nineteen --0.4951 september twenty seventh --0.0059 seven --0.6576 seven eight --0.6576 seven eight eight --1.2732 seven eight four --1.2732 seven eight zero --0.4951 seven fifteen nineteen --0.4951 seven fifty five --0.9722 seven five eight --0.9722 seven five seven --0.9722 seven five two --0.1805 seven forty seven --0.7961 seven four --0.7961 seven four one --0.7961 seven fourteen a --0.7961 seven fourteen sixty --0.4951 seven may nineteen --1.1940 seven nine five --1.1940 seven nine one --1.1940 seven nine three --0.5784 seven nine two --0.4815 seven oh eight --1.0971 seven oh three --1.0971 seven oh two --1.0971 seven one --1.0971 seven one eight --1.0971 seven one six --1.0971 seven one zero --0.7961 seven seven --0.7961 seven seven five --0.4951 seven seventeen fifty --0.7961 seven six six --0.7961 seven six three --0.7961 seven sixty eight --0.7961 seven sixty four --0.4951 seven ten --0.7961 seven thirty --0.7961 seven thirty eight --0.9722 seven three one --0.9722 seven three six --0.9722 seven three zero --0.4951 seven twenty nine --1.2732 seven two --1.2732 seven two four --1.2732 seven two nine --1.2732 seven two one --1.2732 seven two two --1.2732 seven two zero --0.7961 seventeen fifty one --0.7961 seventeen fifty seven --0.4951 seventeen thirty six --0.4951 seventh nineteen sixty --0.1117 seventy --0.4951 seventy eight --0.0523 seventy one --0.1805 seventy two --0.0083 six --1.0148 six eight --1.2597 six eight five --0.7447 six eight four --1.2597 six eight one --0.8591 six eight seven --1.8753 six eight six --0.5795 six eight three --0.4127 six five --1.2732 six five eight --1.2732 six five nine --1.2732 six five three --0.4951 six forty five --0.5376 six four --0.7826 six four five --1.3981 six four seven --1.3981 six four six --1.3981 six four zero --0.4815 six nine --1.0971 six nine five --1.0971 six nine two --1.2732 six oh --0.6576 six oh eight --1.2732 six oh five --1.2732 six oh seven --1.2732 six oh six --1.3402 six one --0.7246 six one five --1.3402 six one four --1.3402 six one nine --1.3402 six one two --1.3402 six one zero --0.4815 six seven --1.0971 six seven eight --1.0971 six seven oh --0.4951 six seventeen thirty --0.8795 six six --1.4951 six six eight --0.8795 six six five --1.4951 six six four --0.8795 six six one --0.8795 six six two --0.4951 six sixteen sixty --0.7961 six sixty nine --0.7961 six sixty three --0.7961 six thirty --0.7961 six thirty two --0.8337 six three --1.4493 six three eight --1.4493 six three nine --1.4493 six three oh --0.8337 six three one --1.4493 six three sixty --1.4493 six three two --0.4951 six twenty six --0.6576 six two --1.2732 six two eight --1.2732 six two five --1.2732 six two four --1.2732 six two six --0.4951 six zero one --0.4951 sixteen forty eight --0.7961 sixteen sixty --0.7961 sixteen sixty nine --0.4951 sixteenth nineteen sixty --0.4951 sixth nineteen sixty --0.0523 sixty --0.0635 sixty eight --0.4951 sixty fifty five --0.0635 sixty five --0.0809 sixty four --0.0253 sixty nine --0.0523 sixty one --0.0799 sixty seven --1.4951 sixty seven ten --0.1805 sixty six --0.0635 sixty three --0.3566 sixty two --0.9722 sixty two thirty --0.0277 start --0.0189 stop --0.0635 ten --0.4951 ten one sixty --0.4951 ten seventy one --0.4951 ten sixty nine --0.4951 ten thirty one --0.4951 ten twelve sixty --0.4951 ten twenty eight --0.3566 third nineteen sixty --0.9722 third nineteen twenty --0.1117 thirtieth nineteen sixty --0.1117 thirty --0.7961 thirty eight --0.7961 thirty eight sixty --0.4951 thirty five --0.3335 thirty one --1.1940 thirty one fifty --1.1940 thirty one sixty --0.4951 thirty seven --0.4951 thirty six --0.4951 thirty sixty five --0.4951 thirty three --0.3566 thirty two --0.9722 thirty two thirty --0.1805 thousand --0.4951 thousand eight hundred --0.0090 three --0.2570 three eight --1.2732 three eight three --1.2732 three eight zero --0.4951 three eighty six --0.4951 three eleven sixty --0.6576 three five --1.2732 three five four --1.2732 three five oh --1.2732 three five seven --1.2732 three five zero --0.7961 three forty five --0.7961 three forty two --1.1940 three four --1.1940 three four eight --1.1940 three four five --1.1940 three four four --1.1940 three four three --0.4951 three fourteen sixty --0.3566 three nine --0.9722 three nine five --1.1940 three oh eight --1.1940 three oh five --1.1940 three oh nine --1.1940 three oh one --1.1940 three oh six --1.2732 three one --1.2732 three one five --1.2732 three one nine --1.2732 three one one --0.6576 three one two --0.9722 three seven eight --0.9722 three seven five --0.9722 three seven one --0.4951 three seventy one --1.2732 three six --1.2732 three six eight --1.2732 three six four --1.2732 three six one --0.6576 three six three --0.7961 three sixty eight --0.7961 three sixty three --1.3402 three three --1.3402 three three eight --1.3402 three three five --1.3402 three three nine --0.7246 three three seven --1.3402 three three six --0.4951 three twelve fifty --0.9722 three twenty eight --0.9722 three twenty seven --0.9722 three twenty three --0.3533 three two --1.5742 three two eight --1.5742 three two four --0.9587 three two seven --0.9587 three two three --0.9722 three zero --0.9722 three zero six --0.9722 three zero two --0.1805 twelfth nineteen sixty --0.4951 twelve fifty eight --0.4951 twelve four sixty --0.4951 twelve nine of --0.4951 twelve nineteen sixty --0.4951 twelve sixty seven --0.4951 twelve ten sixty --0.7961 twelve twenty four --0.7961 twelve twenty one --0.4951 twentieth nineteen seventy --0.4951 twenty --0.5784 twenty eight --1.1940 twenty eight seventy --0.5784 twenty eight sixty --0.4951 twenty fifth nineteen --0.4951 twenty first nineteen --0.7961 twenty four forty --0.7961 twenty four sixty --0.4951 twenty fourth nineteen --0.9722 twenty nine --0.9722 twenty nine fifty --0.9722 twenty nine nineteen --0.7961 twenty one --0.7961 twenty one fifty --0.1805 twenty second nineteen --0.7961 twenty seven --0.7961 twenty seven sixty --0.4951 twenty seventh nineteen --0.9722 twenty six --0.9722 twenty six forty --0.9722 twenty six sixty --0.1805 twenty third nineteen --0.7961 twenty three --0.7961 twenty three sixty --0.7961 twenty two --0.7961 twenty two twenty --0.0078 two --0.5376 two eight --1.3981 two eight five --1.3981 two eight one --0.7826 two eight three --1.3981 two eight two --0.4951 two fifteen sixty --0.9209 two five --1.5364 two five five --1.5364 two five four --1.5364 two five one --1.5364 two five seven --0.4059 two five two --0.4782 two four --1.0836 two four one --1.6992 two four three --0.4034 two four two --0.7246 two nine --1.3402 two nine eight --1.3402 two nine one --1.3402 two nine six --0.7246 two nine three --0.9209 two oh eight --0.9209 two oh five --1.5364 two oh one --1.5364 two oh seven --0.6759 two oh six --1.5364 two oh three --1.5364 two oh two --0.9553 two one --1.3158 two one eight --1.5607 two one five --2.1763 two one four --1.1601 two one oh --0.4960 two one seven --1.5607 two one six --2.1763 two one sixty --0.7118 two one three --1.3158 two one two --0.4789 two seven --1.4951 two seven eight --1.4951 two seven nine --0.8795 two seven one --1.4951 two seven six --1.4951 two seven two --0.7263 two six --0.1765 two six eight --1.8568 two six oh --1.8568 two six six --0.4951 two ten --0.1805 two thirty one --0.9587 two three --1.5742 two three eight --1.5742 two three five --1.5742 two three four --1.5742 two three nine --0.3533 two three two --0.7961 two twenty four --0.7961 two twenty six --1.2944 two two --1.9100 two two five --1.9100 two two four --1.0495 two two nine --1.0495 two two oh --0.6143 two two one --1.2944 two two seven --1.2944 two two six --1.9100 two two three --1.2944 two two two --1.2944 two two zero --0.4127 two zero --0.6576 two zero seven --1.2732 two zero six --0.0143 yes --0.0306 zero --0.4951 zero eight two --0.4951 zero five seven --0.4951 zero four one --0.1805 zero one five --0.7961 zero seven --0.7961 zero seven nine --0.4127 zero six --1.2732 zero six five --1.2732 zero six four --1.2732 zero six six --0.7961 zero two --0.7961 zero two seven --0.4951 zero zero six - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.fst b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.fst deleted file mode 100755 index b80191bf..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.fst +++ /dev/null @@ -1,217 +0,0 @@ -#FSTBasic MinPlus -I 2 -F 0 7.77215 -T 0 1 7.6386 -T 0 4 a a 7.6386 -T 0 5 april april 7.6386 -T 0 6 area area 7.6386 -T 0 7 august august 6.13455 -T 0 8 code code 7.6386 -T 0 9 december december 7.6386 -T 0 10 eight eight 2.7585 -T 0 11 eighteen eighteen 7.6386 -T 0 12 eighteenth eighteenth 7.6386 -T 0 13 eighth eighth 7.6386 -T 0 14 eighty eighty 6.13455 -T 0 15 eleven eleven 6.13455 -T 0 16 eleventh eleventh 7.6386 -T 0 17 enter enter 3.09007 -T 0 18 february february 6.82763 -T 0 19 fifteen fifteen 6.13455 -T 0 20 fifteenth fifteenth 6.82763 -T 0 21 fifth fifth 7.6386 -T 0 22 fifty fifty 4.26278 -T 0 23 first first 6.42214 -T 0 24 five five 2.44558 -T 0 25 forty forty 4.74816 -T 0 26 four four 2.68458 -T 0 27 fourteen fourteen 5.57479 -T 0 28 fourth fourth 7.6386 -T 0 29 go go 5.21812 -T 0 30 help help 5.03598 -T 0 31 hundred hundred 6.82763 -T 0 32 january january 6.82763 -T 0 33 july july 6.42214 -T 0 34 june june 6.82763 -T 0 35 march march 6.42214 -T 0 36 may may 6.42214 -T 0 37 nine nine 3.28671 -T 0 38 nineteen nineteen 4.11955 -T 0 39 ninety ninety 6.13455 -T 0 40 ninth ninth 6.82763 -T 0 41 no no 4.74816 -T 0 42 october october 6.42214 -T 0 43 of of 6.82763 -T 0 44 oh oh 3.49532 -T 0 45 one one 2.03595 -T 0 46 repeat repeat 4.6876 -T 0 47 second second 6.82763 -T 0 48 september september 5.91143 -T 0 49 seven seven 2.90563 -T 0 50 seventeen seventeen 6.42214 -T 0 51 seventh seventh 7.6386 -T 0 52 seventy seventy 5.03598 -T 0 53 six six 2.66087 -T 0 54 sixteen sixteen 6.42214 -T 0 55 sixteenth sixteenth 7.6386 -T 0 56 sixth sixth 7.6386 -T 0 57 sixty sixty 3.44329 -T 0 58 start start 5.12279 -T 0 59 stop stop 4.74816 -T 0 60 ten ten 5.12279 -T 0 61 third third 6.42214 -T 0 62 thirtieth thirtieth 6.42214 -T 0 63 thirty thirty 4.6305 -T 0 64 thousand thousand 6.42214 -T 0 65 three three 2.84784 -T 0 66 twelfth twelfth 6.82763 -T 0 67 twelve twelve 5.44124 -T 0 68 twentieth twentieth 7.6386 -T 0 69 twenty twenty 4.11955 -T 0 70 two two 2.11815 -T 0 71 yes yes 4.47623 -T 0 72 zero zero 4.26278 -F 1 7.77215 -T 1 0 -F 2 7.77215 -T 2 0 -F 3 7.77215 -T 3 0 -F 4 7.77215 -T 4 0 -F 5 7.77215 -T 5 0 -F 6 7.77215 -T 6 0 -F 7 7.77215 -T 7 0 -F 8 7.77215 -T 8 0 -F 9 7.77215 -T 9 0 -F 10 7.77215 -T 10 0 -F 11 7.77215 -T 11 0 -F 12 7.77215 -T 12 0 -F 13 7.77215 -T 13 0 -F 14 7.77215 -T 14 0 -F 15 7.77215 -T 15 0 -F 16 7.77215 -T 16 0 -F 17 7.77215 -T 17 0 -F 18 7.77215 -T 18 0 -F 19 7.77215 -T 19 0 -F 20 7.77215 -T 20 0 -F 21 7.77215 -T 21 0 -F 22 7.77215 -T 22 0 -F 23 7.77215 -T 23 0 -F 24 7.77215 -T 24 0 -F 25 7.77215 -T 25 0 -F 26 7.77215 -T 26 0 -F 27 7.77215 -T 27 0 -F 28 7.77215 -T 28 0 -F 29 7.77215 -T 29 0 -F 30 7.77215 -T 30 0 -F 31 7.77215 -T 31 0 -F 32 7.77215 -T 32 0 -F 33 7.77215 -T 33 0 -F 34 7.77215 -T 34 0 -F 35 7.77215 -T 35 0 -F 36 7.77215 -T 36 0 -F 37 7.77215 -T 37 0 -F 38 7.77215 -T 38 0 -F 39 7.77215 -T 39 0 -F 40 7.77215 -T 40 0 -F 41 7.77215 -T 41 0 -F 42 7.77215 -T 42 0 -F 43 7.77215 -T 43 0 -F 44 7.77215 -T 44 0 -F 45 7.77215 -T 45 0 -F 46 7.77215 -T 46 0 -F 47 7.77215 -T 47 0 -F 48 7.77215 -T 48 0 -F 49 7.77215 -T 49 0 -F 50 7.77215 -T 50 0 -F 51 7.77215 -T 51 0 -F 52 7.77215 -T 52 0 -F 53 7.77215 -T 53 0 -F 54 7.77215 -T 54 0 -F 55 7.77215 -T 55 0 -F 56 7.77215 -T 56 0 -F 57 7.77215 -T 57 0 -F 58 7.77215 -T 58 0 -F 59 7.77215 -T 59 0 -F 60 7.77215 -T 60 0 -F 61 7.77215 -T 61 0 -F 62 7.77215 -T 62 0 -F 63 7.77215 -T 63 0 -F 64 7.77215 -T 64 0 -F 65 7.77215 -T 65 0 -F 66 7.77215 -T 66 0 -F 67 7.77215 -T 67 0 -F 68 7.77215 -T 68 0 -F 69 7.77215 -T 69 0 -F 70 7.77215 -T 70 0 -F 71 7.77215 -T 71 0 -F 72 7.77215 -T 72 0 diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.lm b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.lm deleted file mode 100755 index 13473e25..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.unigram.lm +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################# -## Copyright (c) 1996, Carnegie Mellon University, Cambridge University, -## Ronald Rosenfeld and Philip Clarkson -############################################################################# -============================================================================= -=============== This file was produced by the CMU-Cambridge =============== -=============== Statistical Language Modeling Toolkit =============== -============================================================================= -This is a 1-gram language model, based on a vocabulary of 71 words, - which begins "", "", "a"... -This is an OPEN-vocabulary model (type 1) - (OOVs were mapped to UNK, which is treated as any other vocabulary word) -Good-Turing discounting was applied. -1-gram frequency of frequency : 16 -1-gram discounting ratios : 0.89 -This file is in the ARPA-standard format introduced by Doug Paul. - -p(wd3|wd1,wd2)= if(trigram exists) p_3(wd1,wd2,wd3) - else if(bigram w1,w2 exists) bo_wt_2(w1,w2)*p(wd3|wd2) - else p(wd3|w2) - -p(wd2|wd1)= if(bigram exists) p_2(wd1,wd2) - else bo_wt_1(wd1)*p_1(wd2) - -All probs and back-off weights (bo_wt) are given in log10 form. - -Data formats: - -Beginning of data mark: \data\ -ngram 1=nr # number of 1-grams - -\1-grams: -p_1 wd_1 - -end of data mark: \end\ - -\data\ -ngram 1=72 - -\1-grams: --3.3174 0.0000 --99.0000 0.0000 --3.3754 0.0000 --3.3174 a 0.0000 --3.3174 april 0.0000 --3.3174 area 0.0000 --2.6642 august 0.0000 --3.3174 code 0.0000 --3.3174 december 0.0000 --1.1980 eight 0.0000 --3.3174 eighteen 0.0000 --3.3174 eighteenth 0.0000 --3.3174 eighth 0.0000 --2.6642 eighty 0.0000 --2.6642 eleven 0.0000 --3.3174 eleventh 0.0000 --1.3420 enter 0.0000 --2.9652 february 0.0000 --2.6642 fifteen 0.0000 --2.9652 fifteenth 0.0000 --3.3174 fifth 0.0000 --1.8513 fifty 0.0000 --2.7891 first 0.0000 --1.0621 five 0.0000 --2.0621 forty 0.0000 --1.1659 four 0.0000 --2.4211 fourteen 0.0000 --3.3174 fourth 0.0000 --2.2662 go 0.0000 --2.1871 help 0.0000 --2.9652 hundred 0.0000 --2.9652 january 0.0000 --2.7891 july 0.0000 --2.9652 june 0.0000 --2.7891 march 0.0000 --2.7891 may 0.0000 --1.4274 nine 0.0000 --1.7891 nineteen 0.0000 --2.6642 ninety 0.0000 --2.9652 ninth 0.0000 --2.0621 no 0.0000 --2.7891 october 0.0000 --2.9652 of 0.0000 --1.5180 oh 0.0000 --0.8842 one 0.0000 --2.0358 repeat 0.0000 --2.9652 second 0.0000 --2.5673 september 0.0000 --1.2619 seven 0.0000 --2.7891 seventeen 0.0000 --3.3174 seventh 0.0000 --2.1871 seventy 0.0000 --1.1556 six 0.0000 --2.7891 sixteen 0.0000 --3.3174 sixteenth 0.0000 --3.3174 sixth 0.0000 --1.4954 sixty 0.0000 --2.2248 start 0.0000 --2.0621 stop 0.0000 --2.2248 ten 0.0000 --2.7891 third 0.0000 --2.7891 thirtieth 0.0000 --2.0110 thirty 0.0000 --2.7891 thousand 0.0000 --1.2368 three 0.0000 --2.9652 twelfth 0.0000 --2.3631 twelve 0.0000 --3.3174 twentieth 0.0000 --1.7891 twenty 0.0000 --0.9199 two 0.0000 --1.9440 yes 0.0000 --1.8513 zero 0.0000 - -\end\ diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.wordlist b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.wordlist deleted file mode 100755 index 1e777159..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words.wordlist +++ /dev/null @@ -1,79 +0,0 @@ -AND -APOSTROPHE -APRIL -AREA -AUGUST -CODE -DECEMBER -EIGHT -EIGHTEEN -EIGHTEENTH -EIGHTH -EIGHTY -ELEVEN -ELEVENTH -ENTER -ERASE -FEBRUARY -FIFTEEN -FIFTEENTH -FIFTH -FIFTY -FIRST -FIVE -FORTY -FOUR -FOURTEEN -FOURTH -GO -HALF -HALL -HELP -HUNDRED -JANUARY -JULY -JUNE -LANE -MARCH -MAY -MEMORY -NINE -NINETEEN -NINETY -NINTH -NO -NOVEMBER -OCTOBER -OF -OH -ONE -REPEAT -RUBOUT -SECOND -SEPTEMBER -SEVEN -SEVENTEEN -SEVENTH -SEVENTY -SIX -SIXTEEN -SIXTEENTH -SIXTH -SIXTY -START -STOP -TEN -THIRD -THIRTEEN -THIRTIETH -THIRTY -THOUSAND -THREE -TWELFTH -TWELVE -TWENTIETH -TWENTY -TWO -WEAN -YES -ZERO diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_rejection.batch b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_rejection.batch deleted file mode 100755 index f4743efd..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_rejection.batch +++ /dev/null @@ -1,467 +0,0 @@ -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an251-fash-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an253-fash-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fash/an254-fash-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fash/cen7-fash-b.raw two six eight four four one eight -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an87-fbbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/an90-fbbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen3-fbbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen6-fbbh-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen7-fbbh-b.raw four four three six three one two -/lab/speech/sphinx4/data/an4/an4_clstk/fbbh/cen8-fbbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/an149-fclc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen3-fclc-b.raw five five three five -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen6-fclc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen7-fclc-b.raw six eight seven five eight oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fclc/cen8-fclc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/an38-fejs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen3-fejs-b.raw one zero six five -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen6-fejs-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen7-fejs-b.raw two six eight three eight zero two -/lab/speech/sphinx4/data/an4/an4_clstk/fejs/cen8-fejs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an291-ffmm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/an292-ffmm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen3-ffmm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen6-ffmm-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen7-ffmm-b.raw four one two four two one eight eight nine six -/lab/speech/sphinx4/data/an4/an4_clstk/ffmm/cen8-ffmm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an76-fjam-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/an80-fjam-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen3-fjam-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen6-fjam-b.raw one five one three three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen7-fjam-b.raw six six four seven two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fjam/cen8-fjam-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an121-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an122-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an123-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/an125-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen3-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen6-fjdn-b.raw oh seven nine two two -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen7-fjdn-b.raw two oh one four six four six oh eight three -/lab/speech/sphinx4/data/an4/an4_clstk/fjdn/cen8-fjdn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/an6-fjmd-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen3-fjmd-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen6-fjmd-b.raw one seven three six eight -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen7-fjmd-b.raw two five two two oh two nine -/lab/speech/sphinx4/data/an4/an4_clstk/fjmd/cen8-fjmd-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/an315-fkai-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen3-fkai-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen6-fkai-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen7-fkai-b.raw four four four seven -/lab/speech/sphinx4/data/an4/an4_clstk/fkai/cen8-fkai-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an132-fkdo-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an133-fkdo-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/an134-fkdo-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen3-fkdo-b.raw two two nine three -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen6-fkdo-b.raw one five two one oh -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen7-fkdo-b.raw eight eight two eight one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/fkdo/cen8-fkdo-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an61-flmm2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an62-flmm2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an63-flmm2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/an64-flmm2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen3-flmm2-b.raw three four eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen6-flmm2-b.raw one five six six eight -/lab/speech/sphinx4/data/an4/an4_clstk/flmm2/cen7-flmm2-b.raw three two seven one six nine five -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an22-flrp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/an24-flrp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen3-flrp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen6-flrp-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen7-flrp-b.raw two six eight five nine five two -/lab/speech/sphinx4/data/an4/an4_clstk/flrp/cen8-flrp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/an119-fmjc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen3-fmjc-b.raw five six one five -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen6-fmjc-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen7-fmjc-b.raw four two one oh four five one -/lab/speech/sphinx4/data/an4/an4_clstk/fmjc/cen8-fmjc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/an191-fmjd-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen3-fmjd-b.raw six five three four -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen6-fmjd-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen7-fmjd-b.raw four two one oh one nine six -/lab/speech/sphinx4/data/an4/an4_clstk/fmjd/cen8-fmjd-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an182-fnsv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an184-fnsv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/an185-fnsv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen3-fnsv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen6-fnsv-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen7-fnsv-b.raw six six one five zero six four -/lab/speech/sphinx4/data/an4/an4_clstk/fnsv/cen8-fnsv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/an93-fplp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen3-fplp-b.raw one two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen6-fplp-b.raw one five two two seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen7-fplp-b.raw eight eight four one zero five seven -/lab/speech/sphinx4/data/an4/an4_clstk/fplp/cen8-fplp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/an298-fsaf2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen3-fsaf2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen6-fsaf2-b.raw one oh seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen7-fsaf2-b.raw nine one four three three seven one eight six nine -/lab/speech/sphinx4/data/an4/an4_clstk/fsaf2/cen8-fsaf2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an167-fsrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an169-fsrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/an170-fsrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen3-fsrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen6-fsrb-b.raw one five two four one -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen7-fsrb-b.raw four one two eight three one nine five one three -/lab/speech/sphinx4/data/an4/an4_clstk/fsrb/cen8-fsrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an326-ftal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an327-ftal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/an330-ftal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen3-ftal-b.raw four oh three -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen6-ftal-b.raw one five two three nine -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen7-ftal-b.raw two six eight three zero two seven -/lab/speech/sphinx4/data/an4/an4_clstk/ftal/cen8-ftal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an211-ftmj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an214-ftmj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/an215-ftmj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen3-ftmj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen6-ftmj-b.raw one five two one eight -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen7-ftmj-b.raw two seven one zero eight two six -/lab/speech/sphinx4/data/an4/an4_clstk/ftmj/cen8-ftmj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an222-fwxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an223-fwxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/an225-fwxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen3-fwxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen6-fwxs-b.raw one five one four three -/lab/speech/sphinx4/data/an4/an4_clstk/fwxs/cen7-fwxs-b.raw seven four one oh five nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an374-mblb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/an375-mblb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen3-mblb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen6-mblb-b.raw oh six seven oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen7-mblb-b.raw two oh three seven five seven eight eight nine nine -/lab/speech/sphinx4/data/an4/an4_clstk/mblb/cen8-mblb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an3-mblw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an4-mblw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/an5-mblw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen3-mblw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen6-mblw-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen7-mblw-b.raw four two two oh eight one six -/lab/speech/sphinx4/data/an4/an4_clstk/mblw/cen8-mblw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an266-mbmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/an270-mbmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen3-mbmg-b.raw three oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen6-mbmg-b.raw one nine three three five -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen7-mbmg-b.raw two one five four five eight five four six nine -/lab/speech/sphinx4/data/an4/an4_clstk/mbmg/cen8-mbmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an201-mcel-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an202-mcel-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an203-mcel-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/an204-mcel-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen3-mcel-b.raw six three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen6-mcel-b.raw nine four oh eight six -/lab/speech/sphinx4/data/an4/an4_clstk/mcel/cen8-mcel-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an126-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an127-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an129-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/an130-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen6-mcen-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen7-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcen/cen8-mcen-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an261-mcfl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an264-mcfl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/an265-mcfl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen3-mcfl-b.raw one four eight two three -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen6-mcfl-b.raw four four oh six five -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen7-mcfl-b.raw six four five three three six four -/lab/speech/sphinx4/data/an4/an4_clstk/mcfl/cen8-mcfl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an141-mcrt-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an142-mcrt-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an143-mcrt-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/an145-mcrt-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen3-mcrt-b.raw three oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen6-mcrt-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen7-mcrt-b.raw three six three oh nine six two -/lab/speech/sphinx4/data/an4/an4_clstk/mcrt/cen8-mcrt-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an231-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an232-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an233-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an234-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/an235-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen3-mcsc-b.raw one zero zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen6-mcsc-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen7-mcsc-b.raw seven three one one three three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mcsc/cen8-mcsc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an241-mdcs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/an243-mdcs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen6-mdcs-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen7-mdcs-b.raw four one two four two two three five seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs/cen8-mdcs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen3-mdcs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen6-mdcs2-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen7-mdcs2-b.raw four two one six two eight three -/lab/speech/sphinx4/data/an4/an4_clstk/mdcs2/cen8-mdcs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen3-mdmc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen6-mdmc-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen7-mdmc-b.raw three six one zero one five five -/lab/speech/sphinx4/data/an4/an4_clstk/mdmc/cen8-mdmc-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an106-mdxn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an108-mdxn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/an110-mdxn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen3-mdxn-b.raw one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen6-mdxn-b.raw one four eight five oh -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen7-mdxn-b.raw two six eight four one six one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxn/cen8-mdxn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an26-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an28-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an29-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/an30-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen3-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen6-mdxs-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen7-mdxs-b.raw four one two six eight seven eight eight seven one -/lab/speech/sphinx4/data/an4/an4_clstk/mdxs/cen8-mdxs-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meab/an139-meab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen3-meab-b.raw three one two -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen6-meab-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen7-meab-b.raw four one two two four two six six two six -/lab/speech/sphinx4/data/an4/an4_clstk/meab/cen8-meab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an66-meht-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an67-meht-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an69-meht-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/an70-meht-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen3-meht-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen6-meht-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen7-meht-b.raw four one two five two one two eight two four -/lab/speech/sphinx4/data/an4/an4_clstk/meht/cen8-meht-b.raw four seven sixty four -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an286-mema-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an288-mema-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mema/an289-mema-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen3-mema-b.raw seven three zero -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen6-mema-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mema/cen7-mema-b.raw two four three eight three two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an256-mewl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an258-mewl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/an259-mewl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen6-mewl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen7-mewl-b.raw two six eight four six five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mewl/cen8-mewl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/an163-mfaa-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen3-mfaa-b.raw five six three one -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen6-mfaa-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen7-mfaa-b.raw five two one oh two six eight -/lab/speech/sphinx4/data/an4/an4_clstk/mfaa/cen8-mfaa-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an196-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an197-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an198-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an199-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/an200-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen3-mgah-b.raw one two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen6-mgah-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen7-mgah-b.raw six eight three five zero four one -/lab/speech/sphinx4/data/an4/an4_clstk/mgah/cen8-mgah-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an246-mjbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an247-mjbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an249-mjbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/an250-mjbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen3-mjbh-b.raw five six four zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen6-mjbh-b.raw one five two zero six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen7-mjbh-b.raw two six eight three zero six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjbh/cen8-mjbh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an172-mjda-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an174-mjda-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/an175-mjda-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen3-mjda-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen6-mjda-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen7-mjda-b.raw two six eight three oh five four -/lab/speech/sphinx4/data/an4/an4_clstk/mjda/cen8-mjda-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/an18-mjdr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen3-mjdr-b.raw four seven two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen6-mjdr-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen7-mjdr-b.raw four one two six eight one one eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mjdr/cen8-mjdr-b.raw oh six oh seven six six -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an157-mjes-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/an159-mjes-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen3-mjes-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen6-mjes-b.raw one oh oh two eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen7-mjes-b.raw two one two five seven oh two seven eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mjes/cen8-mjes-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an217-mjgk-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an218-mjgk-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an219-mjgk-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/an220-mjgk-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen6-mjgk-b.raw one five two three eight -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen7-mjgk-b.raw four two two two oh eight nine -/lab/speech/sphinx4/data/an4/an4_clstk/mjgk/cen8-mjgk-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/an60-mjhp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen3-mjhp-b.raw one five three two -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen6-mjhp-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen7-mjhp-b.raw four one two five two one eight two six oh -/lab/speech/sphinx4/data/an4/an4_clstk/mjhp/cen8-mjhp-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an177-mjjs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an178-mjjs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/an180-mjjs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen6-mjjs2-b.raw one five two zero seven -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen7-mjjs2-b.raw four two two zero seven nine one -/lab/speech/sphinx4/data/an4/an4_clstk/mjjs2/cen8-mjjs2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an317-mkdb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/an318-mkdb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen3-mkdb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen6-mkdb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen7-mkdb-b.raw five two one four nine five four -/lab/speech/sphinx4/data/an4/an4_clstk/mkdb/cen8-mkdb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an187-mkem-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/an189-mkem-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen6-mkem-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen7-mkem-b.raw three oh eight five -/lab/speech/sphinx4/data/an4/an4_clstk/mkem/cen8-mkem-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an52-mmaf-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an54-mmaf-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/an55-mmaf-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen3-mmaf-b.raw five two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen6-mmaf-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen7-mmaf-b.raw four four one one seven two four -/lab/speech/sphinx4/data/an4/an4_clstk/mmaf/cen8-mmaf-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an323-mmal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an324-mmal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/an325-mmal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen3-mmal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen6-mmal-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen7-mmal-b.raw six eight one seven seven five two -/lab/speech/sphinx4/data/an4/an4_clstk/mmal/cen8-mmal-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an46-mmap-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an47-mmap-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/an48-mmap-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen3-mmap-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen6-mmap-b.raw one five two oh five -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen7-mmap-b.raw nine two two seven two two zero -/lab/speech/sphinx4/data/an4/an4_clstk/mmap/cen8-mmap-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an337-mmdg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an338-mmdg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an339-mmdg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/an340-mmdg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen3-mmdg-b.raw six three two three -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen6-mmdg-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen7-mmdg-b.raw four one two five two one five three three nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmdg/cen8-mmdg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/an364-mmkw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen3-mmkw-b.raw three two seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen6-mmkw-b.raw two nine six six two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen7-mmkw-b.raw eight oh three two three four five nine seven two -/lab/speech/sphinx4/data/an4/an4_clstk/mmkw/cen8-mmkw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an383-mmsh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/an385-mmsh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen3-mmsh-b.raw three four four -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen6-mmsh-b.raw one nine oh oh eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen7-mmsh-b.raw six eight three one five five eight -/lab/speech/sphinx4/data/an4/an4_clstk/mmsh/cen8-mmsh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an386-mmtm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an388-mmtm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/an390-mmtm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen3-mmtm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen6-mmtm-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen7-mmtm-b.raw seven nine three five four two nine -/lab/speech/sphinx4/data/an4/an4_clstk/mmtm/cen8-mmtm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an347-mnfe-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an348-mnfe-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/an350-mnfe-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen3-mnfe-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen6-mnfe-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen7-mnfe-b.raw two six eight five five two four -/lab/speech/sphinx4/data/an4/an4_clstk/mnfe/cen8-mnfe-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an81-mnjl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an83-mnjl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/an84-mnjl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen3-mnjl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen6-mnjl-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen7-mnjl-b.raw four one two two six eight four four seven four -/lab/speech/sphinx4/data/an4/an4_clstk/mnjl/cen8-mnjl-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an72-mrab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/an73-mrab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen3-mrab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen6-mrab-b.raw one six oh six three -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen7-mrab-b.raw four five two eight five one eight -/lab/speech/sphinx4/data/an4/an4_clstk/mrab/cen8-mrab-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an102-mrcb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an104-mrcb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/an105-mrcb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen3-mrcb-b.raw one two five two -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen6-mrcb-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen7-mrcb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrcb/cen8-mrcb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an236-mrjc2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an237-mrjc2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an238-mrjc2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/an240-mrjc2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen3-mrjc2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen6-mrjc2-b.raw one five two oh six -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen7-mrjc2-b.raw six six five nine six six five -/lab/speech/sphinx4/data/an4/an4_clstk/mrjc2/cen8-mrjc2-b.raw five two five five five -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an281-mrmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an282-mrmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/an284-mrmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen3-mrmg-b.raw one oh two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen6-mrmg-b.raw one five two two one -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen7-mrmg-b.raw two four two two nine one two -/lab/speech/sphinx4/data/an4/an4_clstk/mrmg/cen8-mrmg-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an356-mscg2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an357-mscg2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/an360-mscg2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen3-mscg2-b.raw five one one five -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen6-mscg2-b.raw one five two two six -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen7-mscg2-b.raw two six eight four six seven eight -/lab/speech/sphinx4/data/an4/an4_clstk/mscg2/cen8-mscg2-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an341-msct-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msct/an343-msct-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen3-msct-b.raw five one nine -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen6-msct-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen7-msct-b.raw six eight three three seven eight zero -/lab/speech/sphinx4/data/an4/an4_clstk/msct/cen8-msct-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an226-msjm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an229-msjm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/an230-msjm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen3-msjm-b.raw one two two two -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen6-msjm-b.raw one five one one six -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen7-msjm-b.raw four eight six three nine five oh -/lab/speech/sphinx4/data/an4/an4_clstk/msjm/cen8-msjm-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an352-msjr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an353-msjr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/an355-msjr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen3-msjr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen6-msjr-b.raw one five one four seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen7-msjr-b.raw eight two six eight six eight seven -/lab/speech/sphinx4/data/an4/an4_clstk/msjr/cen8-msjr-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an100-mskh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an96-mskh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an97-mskh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/an98-mskh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen3-mskh-b.raw six zero one five -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen6-mskh-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen7-mskh-b.raw six six one nine eight eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mskh/cen8-mskh-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/an277-msmn-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen6-msmn-b.raw one five two one seven -/lab/speech/sphinx4/data/an4/an4_clstk/msmn/cen7-msmn-b.raw four one two four two two nine eight two eight -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an331-msrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an333-msrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/an335-msrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen3-msrb-b.raw one three six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen6-msrb-b.raw one five one oh six -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen7-msrb-b.raw two seven nine two three two four -/lab/speech/sphinx4/data/an4/an4_clstk/msrb/cen8-msrb-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an304-mtcv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/an305-mtcv-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen3-mtcv-b.raw eight four six seven -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen6-mtcv-b.raw four four four eight four -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen7-mtcv-b.raw eight five six one four nine zero -/lab/speech/sphinx4/data/an4/an4_clstk/mtcv/cen8-mtcv-b.raw one two seven six three -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an32-mtje-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/an34-mtje-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen3-mtje-b.raw four oh one -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen6-mtje-b.raw one five two three two -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen7-mtje-b.raw four one two six eight seven nine five two six -/lab/speech/sphinx4/data/an4/an4_clstk/mtje/cen8-mtje-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/an369-mtos-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen6-mtos-b.raw one five two one three -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen7-mtos-b.raw four eight four two -/lab/speech/sphinx4/data/an4/an4_clstk/mtos/cen8-mtos-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an376-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an378-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an379-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/an380-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen3-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen6-mtxj-b.raw one five oh one five -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen7-mtxj-b.raw nine three five oh six nine two -/lab/speech/sphinx4/data/an4/an4_clstk/mtxj/cen8-mtxj-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an152-mwhw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/an155-mwhw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen3-mwhw-b.raw -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen6-mwhw-b.raw one five oh four four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen7-mwhw-b.raw six two five one five six four -/lab/speech/sphinx4/data/an4/an4_clstk/mwhw/cen8-mwhw-b.raw diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_trigram.config.xml b/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_trigram.config.xml deleted file mode 100755 index 6898e469..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/an4_words_trigram.config.xml +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - - - - - - - - - - - - accuracyTracker - speedTracker - memoryTracker - recognizerMonitor - beamFinder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - preemphasizer - windower - fft - melFilterBank - dct - cmn - featureExtraction - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - unitExitActiveList - wordActiveList - wordActiveList - activeList - activeList - activeList - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - configMonitor - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/build.xml b/lib/sphinx4-5prealpha-src/tests/performance/an4/build.xml deleted file mode 100755 index 1b307669..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/build.xml +++ /dev/null @@ -1,742 +0,0 @@ - - - - -This file is used to run the AN4 performance tests. - -NOTE: Before running the tests, you must have already built - the sphinx-4 sources by typing "ant" in the top level - sphinx4 directory. - -Run ant with -Dskip=5 to do the standard 'quick' version of a test. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Type 'ant -p' for possible targets. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/an4/run_an4_tests b/lib/sphinx4-5prealpha-src/tests/performance/an4/run_an4_tests deleted file mode 100755 index 204274ae..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/an4/run_an4_tests +++ /dev/null @@ -1,14 +0,0 @@ -make an4_words_unigram | tee an4_words_unigram.out -make an4_words_trigram | tee an4_words_trigram.out -make an4_words_fst | tee an4_words_fst.out -make an4_spelling_unigram | tee an4_spelling_unigram.out -make an4_spelling_journey_trigram | tee an4_spelling_journey_trigram.out -make an4_spelling_journey_fst | tee an4_spelling_journey_fst.out -make an4_spelling_trigram | tee an4_spelling_trigram.out -make an4_spelling_fst | tee an4_spelling_fst.out -make an4_full_unigram | tee an4_full_unigram.out -make an4_full_trigram | tee an4_full_trigram.out -make an4_full_fst | tee an4_full_fst.out -make an4_plus_unigram | tee an4_plus_unigram.out -make an4_plus_trigram | tee an4_plus_trigram.out -# make an4_plus_fst | tee an4_plus_fst.out diff --git a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/build.xml b/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/build.xml deleted file mode 100755 index d6fcef79..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/build.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - -This file is used to run the voxforge performance tests. - -NOTE: Before running the tests, you must have already built - the sphinx-4 sources by typing "ant" in the top level - sphinx4 directory. - -Run ant with -Dskip=5 to do the standard 'quick' version of a test. - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge.config.xml b/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge.config.xml deleted file mode 100755 index eb48a359..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge.config.xml +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - - - - - - - - accuracyTracker - speedTracker - memoryTracker - - - - - - - - - - - - - - - - - - - - - - - - - - unitExitActiveList - wordActiveList - wordActiveList - activeList - activeList - activeList - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - streamDataSource - dither - preemphasizer - windower - fft - melFilterBank - dct - batchCMN - featureExtraction - featureTransform - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge_en_test.batch b/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge_en_test.batch deleted file mode 100755 index f7a4aba9..00000000 --- a/lib/sphinx4-5prealpha-src/tests/performance/voxforge_en/voxforge_en_test.batch +++ /dev/null @@ -1,4682 +0,0 @@ -wav/Aaron-20080318-kdl/wav/b0027.wav AND THERE'S NO CHIVALRY NO QUARTER SHOWN IN THIS FIGHT -wav/Aaron-20080318-lbb/wav/a0051.wav THE LACE WAS OF A DELICATE IVORY COLOR FAINTLY TINTED WITH YELLOW -wav/Aaron-20080318-lbk/wav/b0374.wav TO SAY THE LEAST CAPTAIN COOK WAS A RATHER THOROUGH GOING EMPIRICIST -wav/Aaron-20080318-liy/wav/b0410.wav HAVE YOU EVER EARNED A DOLLAR BY YOUR OWN LABOUR -wav/Aaron-20080318-ngh/wav/b0354.wav IT'S THAT MUCH JUNK -wav/Aaron-20080318-pwn/wav/a0272.wav YOU CAN TAKE A VACATION ON PAY -wav/ada-20090105-axq/wav/a0185.wav THE QUESTIONS MAY HAVE COME VAGUELY IN HIS MIND -wav/adamvan2000-20090911-njp/wav/b0312.wav DIG IN YOU'RE SURE GOOD WAS DAYLIGHT'S ANSWER -wav/adgar-20091227-ell/wav/ar-07.wav ONE RAINY DAY THE RATS HEARD A GREAT NOISE IN THE LOFT -wav/AdrianMcNear-20091016-psv/wav/a0574.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/adubra-20090703-zxu/wav/a0381.wav MY NAME'S FERGUSON -wav/Afshad-20090813-zcz/wav/a0449.wav A SINEWY HAND DRIPPING WITH WATER WAS CLUTCHING THE RAIL -wav/ahbigalex10-20090529-owx/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/aileen-20080831-dfq/wav/a0400.wav MANUEL HAD ONE BESETTING SIN -wav/aileen-20080831-ema/wav/a0376.wav YOUR PRICE MY SON IS JUST ABOUT THIRTY PER WEEK -wav/aileen-20080831-iqs/wav/a0038.wav WE'LL HAVE TO WATCH OUR CHANCES -wav/aileen-20080831-qwt/wav/b0197.wav THE PLANTERS ARE ALREADY CONSIDERING THE MATTER -wav/aileen-20080831-sgd/wav/b0064.wav I'M GOING DOWN THERE WITH YOU AND I'M GOING TO FIGHT -wav/aileen-20080831-zdn/wav/a0120.wav MY RIGHT FOOT FEELS LIKE THAT OF A CHINESE DEBUTANTE -wav/akiplaner-20091214-bxe/wav/b0277.wav TWO OF THE FOLK WERE ALREADY UP -wav/akiplaner-20091214-dya/wav/a0180.wav IF NOT LET'S SAY OUR PRAYERS AND GO TO BED -wav/akiplaner-20091214-ivd/wav/a0519.wav SUCH AN ACT WAS IN DIRECT VIOLATION OF THE LAWS OF THE LAND -wav/akiplaner-20091214-kar/wav/a0443.wav HE WAS WORTH NOTHING TO THE WORLD -wav/akiplaner-20091214-ozt/wav/b0332.wav AS TO HOW SHE DRESSED HE HAD NO IDEAS AT ALL -wav/akiplaner-20091214-vkw/wav/b0216.wav I WISH YOU WERE MORE ADAPTABLE JOAN RETORTED -wav/akiplaner-20091214-woc/wav/b0471.wav ALSO A FELLOW SENATOR CHAUNCEY DEPEW SAID -wav/akiplaner-20091214-xat/wav/b0508.wav IN HIS ANXIETY AND SOLICITUDE AND LOVE THEY DID NOT COUNT -wav/akiplaner-20091214-yam/wav/b0192.wav OUTSIDERS ARE ALLOWED FIVE MINUTE SPEECHES THE SICK MAN URGED -wav/akiplaner-20091215-bbg/wav/a0084.wav SCARCELY HAD HE UTTERED THE NAME WHEN PIERRE'S CLOSING EYES SHOT OPEN -wav/akiplaner-20091215-iha/wav/a0574.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/akiplaner-20091215-xnz/wav/a0338.wav THE FIGHTING HAD NOW BECOME INTERMITTENT -wav/akiplaner-20091215-zqu/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/akiplaner-20091217-jso/wav/b0330.wav THEY ONLY HAD A LITTLE THIRTY THOUSAND DOLLAR FIRE -wav/akiplaner-20091217-mnm/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/akiplaner-20091217-rws/wav/b0087.wav THEY WILL SEARCH FOR US BETWEEN THEIR CAMP AND CHURCHILL -wav/akiplaner-20091217-zgx/wav/b0405.wav AND EACH YEAR SOMETHING HAPPENED AND I DID NOT GO -wav/akiplaner-20091219-eyz/wav/rb-33.wav WHEN WORKING ON A POWERFUL PC OR LAPTOP -wav/akiplaner-20091219-fyp/wav/b0237.wav THEY JUST LAY OFF IN THE BUSH AND PLUGGED AWAY -wav/akiplaner-20091219-qvh/wav/a0502.wav ANYTHING UNUSUAL OR ABNORMAL WAS SUFFICIENT TO SEND A FELLOW TO MOLOKAI -wav/akiplaner-20091219-rgn/wav/b0092.wav I WANT TO DIE IN IT -wav/akiplaner-20091224-tml/wav/a0106.wav THE EMOTION WHICH SHE HAD SUPPRESSED BURST FORTH NOW IN A CHOKING SOB -wav/akiplaner-20100102-bmj/wav/a0020.wav CLUBS AND BALLS AND CITIES GREW TO BE ONLY MEMORIES -wav/alec-20090912-aws/wav/b0431.wav TOO MUCH HE TOLD ME WITH OMINOUS ROLLING HEAD -wav/alec-20090912-hhr/wav/a0040.wav I SUPPOSE YOU WONDER WHY SHE IS COMING UP HERE -wav/alec-20090912-jip/wav/b0042.wav TEN MINUTES HAD NOT ELAPSED SINCE HE HAD DROPPED THE HANDKERCHIEF -wav/alec-20090912-otq/wav/a0276.wav OOLONG ATOLL WAS ONE HUNDRED AND FORTY MILES IN CIRCUMFERENCE -wav/alexfoster-20090217-qwu/wav/a0489.wav THEY WERE ARTISTS NOT BIOLOGISTS -wav/alig-20091130-aha/wav/b0337.wav HERE HE GOT A FRESH THRILL -wav/alig-20091130-msk/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/alliga34tor-20090201-xdo/wav/a0531.wav IN WHAT BUCOLIC SCHOOL OF FENCE HE HAD BEEN TAUGHT WAS BEYOND IMAGINING -wav/alphadecay-20090623-dmq/wav/a0130.wav SHE WAS HIS NOW FOREVER -wav/alphadecay-20090623-epc/wav/a0336.wav SO UNEXPECTED WAS MY CHARGE THAT I KNOCKED HIM OFF HIS FEET -wav/alphadecay-20090623-wtn/wav/a0355.wav A BURST OF LAUGHTER WAS HIS REWARD -wav/amit-20080512-kfr/wav/a0434.wav A HALF A CASE OF TOBACCO WAS WORTH THREE POUNDS -wav/amolmg-01202009/wav/sample15.wav ABOUNDING ABOUT ACCOUNT ALLENTOWN -wav/amolmg-01202009/wav/sample24.wav ALRIGHT ARTHRITIS BRIGHT COPYRIGHT CRITERIA RIGHT -wav/amolmg-01202009/wav/sample4.wav DIAL ONE ONE TWO TWO THREE THREE FOUR FOUR FIVE FIVE -wav/anastaciaeg-20090122-edg/wav/b0423.wav ALSO AT REGULAR INTERVALS HE WOULD MUTTER -wav/Angus-20080320-cjg/wav/a0162.wav THAT'S THE SUB-FOREMAN EXPLAINED THORPE -wav/Angus-20080320-mih/wav/a0184.wav DON'T YOU SEE I'M CHEWING THIS THING IN TWO -wav/Angus-20080320-ndd/wav/a0335.wav RED-EYE SWUNG BACK AND FORTH ON THE BRANCH FARTHER DOWN -wav/Angus-20080320-sdh/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/AnnaKarpelevich-20091129-til/wav/a0171.wav AND WHEN YOU COME BACK IN A FEW DAYS BRING EILEEN -wav/anonymous-20071014-yqs/wav/a0080.wav WHAT IF JEANNE FAILED HIM -wav/anonymous-20071020-aps/wav/a0278.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/anonymous-20071023-cwf/wav/a0172.wav GREGSON HAD LEFT THE OUTER DOOR SLIGHTLY AJAR -wav/anonymous-20071025-ewv/wav/a0231.wav THE RESIDENT COMMISSIONER IS AWAY IN AUSTRALIA -wav/anonymous-20071025-lvi/wav/a0558.wav AND THE FOUNDATION STONE OF SERVICE IN HIS CASE WAS OBEDIENCE -wav/anonymous-20071027-xjk/wav/b0187.wav HER ACHIEVEMENTS WITH COCOANUTS WERE A REVELATION -wav/anonymous-20071101-vet/wav/b0159.wav HIS TEETH SHUT WITH A LAST CLICK -wav/anonymous-20071105-hwr/wav/a0241.wav I THINK IT'S MUCH NICER TO QUARREL -wav/anonymous-20071115-aam/wav/a0384.wav THE FARMER WORKS THE SOIL AND PRODUCES GRAIN -wav/anonymous-20071115-acx/wav/a0143.wav AH I HAD FORGOTTEN HE EXCLAIMED -wav/anonymous-20071115-drs/wav/a0497.wav KING TOOK EVERY ADVANTAGE HE KNEW -wav/anonymous-20071115-puf/wav/a0403.wav HIS NEWBORN CUNNING GAVE HIM POISE AND CONTROL -wav/anonymous-20071115-skx/wav/b0109.wav PHILIP ATE LIGHTLY OF THE FOOD WHICH PIERRE HAD READY FOR HIM -wav/anonymous-20071115-yze/wav/a0134.wav HE OBEYED THE PRESSURE OF HER HAND -wav/anonymous-20071115-yzs/wav/b0419.wav YOUR FATHER'S FIFTH COMMAND HE NODDED -wav/anonymous-20071118-upj/wav/a0276.wav OOLONG ATOLL WAS ONE HUNDRED AND FORTY MILES IN CIRCUMFERENCE -wav/anonymous-20071124-zgu/wav/b0518.wav BUT THERE WAS ALSO TALK OF WITCHCRAFT IN THE VILLAGE -wav/anonymous-20071125-xna/wav/b0422.wav THIS WAS WHEN THE EXPLOSION OCCURRED -wav/anonymous-20071126-wpp/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/anonymous-20071127-rln/wav/a0579.wav THERE WAS THE EMMA LOUISA -wav/anonymous-20071128-qbd/wav/a0243.wav I ONLY READ THE QUOTATIONS -wav/anonymous-20071208-hvn/wav/b0244.wav YOU ARE POSITIVELY SOULLESS HE SAID SAVAGELY -wav/anonymous-20071209-shm/wav/a0174.wav THEY WERE THE PRESAGE OF STORM -wav/anonymous-20071220-zqp/wav/b0380.wav HE HAD PEELED OFF HIS SHIRT AND WAS WILDLY WAVING IT -wav/anonymous-20071225-mnx/wav/a0066.wav HE SAW JEANNE FALTER FOR A MOMENT -wav/anonymous-20071227-ibt/wav/b0036.wav HE WONDERED TOO WHERE ROSCOE WAS -wav/anonymous-20071228-eqs/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/anonymous-20080102-hrx/wav/ar-14.wav THERE IS A KINDLY HORSE NAMED NELLY A COW A CALF AND A GARDEN WITH AN ELM TREE -wav/anonymous-20080117-jkd/wav/b0043.wav IT WON'T BE FOR SALE -wav/anonymous-20080117-wqy/wav/a0426.wav THEY DO NOT KNOW THE LENGTH OF TIME OF INCUBATION -wav/anonymous-20080119-hjn/wav/a0113.wav I SUPPOSE YOU PICKED THAT LINGO UP AMONG THE INDIANS -wav/anonymous-20080119-jca/wav/b0267.wav THE BOY THREW BACK HIS HEAD WITH PRIDE -wav/anonymous-20080119-pxh/wav/a0283.wav THE WOMAN IN YOU IS ONLY INCIDENTAL ACCIDENTAL AND IRRELEVANT -wav/anonymous-20080121-cjq/wav/b0349.wav IN SUCH A TUMBLING OF VALUES WAS NO TIME TO SELL -wav/anonymous-20080127-fcu/wav/rp-22.wav MANY COMPLICATED IDEAS ABOUT THE RAINBOW HAVE BEEN FORMED -wav/anonymous-20080127-owy/wav/a0402.wav CURLY RUSHED HER ANTAGONIST WHO STRUCK AGAIN AND LEAPED ASIDE -wav/anonymous-20080130-gxn/wav/b0495.wav WE WHO HAVE ENDURED SO MUCH SURELY CAN ENDURE A LITTLE MORE -wav/anonymous-20080204-hnl/wav/rb-04.wav HUNT AND PECK TYPING USING THE FINGERS ARE PRETTY MUCH OUT OF THE QUESTION -wav/anonymous-20080204-hzw/wav/b0298.wav HIS HAND SHOT OUT AND CLUTCHED CROOKED-LEG BY THE NECK -wav/anonymous-20080214-gkv/wav/b0433.wav WE ARE COOKING ON THE COAL STOVE AND ON THE OIL BURNERS -wav/anonymous-20080215-nae/wav/b0126.wav BLOOD WAS OOZING SLOWLY FROM THE WOUNDED MAN'S RIGHT BREAST -wav/anonymous-20080216-yrh/wav/a0224.wav SHE NODDED AND HER EYES GREW SOFT AND MOIST -wav/anonymous-20080220-eih/wav/b0390.wav THE VOYAGE WAS OUR IDEA OF A GOOD TIME -wav/anonymous-20080224-tew/wav/ar-15.wav THE RATS CRAWLED OUT OF THEIR LITTLE HOUSES AND STOOD ON THE FLOOR IN A LONG LINE -wav/anonymous-20080225-awl/wav/a0589.wav I WAS SICK ONCE TYPHOID -wav/anonymous-20080225-ruq/wav/a0264.wav AND I HOPE YOU'VE GOT PLENTY OF CHAIN OUT CAPTAIN YOUNG -wav/anonymous-20080227-twp/wav/b0201.wav I ALSO UNDERSTAND THAT SIMILAR BRANCH ORGANIZATIONS HAVE MADE THEIR APPEARANCE IN EUROPE -wav/anonymous-20080228-jwv/wav/a0381.wav MY NAME'S FERGUSON -wav/anonymous-20080229-sjo/wav/b0283.wav BUT WE WERE WITHOUT THIS MOMENTUM -wav/anonymous-20080303-mlo/wav/a0040.wav I SUPPOSE YOU WONDER WHY SHE IS COMING UP HERE -wav/anonymous-20080314-foa/wav/rp-16.wav OVER WHICH THE GODS PASSED FROM EARTH TO THEIR HOME IN THE SKY -wav/anonymous-20080314-qzg/wav/b0295.wav ALL RIGHT SIR REPLIED JOCK WITH GREAT REGRET -wav/anonymous-20080315-nvj/wav/a0377.wav THIS SOUND DID NOT DISTURB THE HUSH AND AWE OF THE PLACE -wav/anonymous-20080316-jej/wav/b0239.wav AND THERE WAS A DOG THAT BARKED -wav/anonymous-20080317-ibg/wav/a0351.wav IT WAS MORE LIKE SUGAR -wav/anonymous-20080317-zvr/wav/b0047.wav SUPPOSE YOU SAW ME AT WORK THROUGH THE WINDOW -wav/anonymous-20080318-eaq/wav/b0080.wav TOMORROW IT WILL BE STRONG ENOUGH FOR YOU TO STAND UPON -wav/anonymous-20080318-ymo/wav/a0370.wav HE SAW ALL MEN IN THE BUSINESS GAME DOING THIS -wav/anonymous-20080320-lpb/wav/a0180.wav IF NOT LET'S SAY OUR PRAYERS AND GO TO BED -wav/anonymous-20080321-gln/wav/a0046.wav THE GIRL FACED HIM HER EYES SHINING WITH SUDDEN FEAR -wav/anonymous-20080324-fvz/wav/a0148.wav NOW THESE THINGS HAD BEEN STRUCK DEAD WITHIN HIM -wav/anonymous-20080324-gvb/wav/b0501.wav AND WHEREVER I RANGED THE WAY LAY ALONG ALCOHOL-DRENCHED ROADS -wav/anonymous-20080328-drd/wav/a0472.wav HE IS TOO KEENLY INTELLIGENT TOO SHARPLY SENSITIVE SUCCESSFULLY TO ENDURE -wav/anonymous-20080328-mmv/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/anonymous-20080329-bww/wav/rb-28.wav SEARCHING FOR DOCUMENTS IN THE FILE BROWSER AND STARTING OR CLOSING PROGRAMS -wav/anonymous-20080329-oxi/wav/b0502.wav AND AS WE HURRIED UP TOWN JOE GOOSE EXPLAINED -wav/anonymous-20080401-kbc/wav/a0066.wav HE SAW JEANNE FALTER FOR A MOMENT -wav/anonymous-20080403-ela/wav/a0022.wav HARDLY WERE OUR PLANS MADE PUBLIC BEFORE WE WERE MET BY POWERFUL OPPOSITION -wav/anonymous-20080406-rne/wav/b0431.wav TOO MUCH HE TOLD ME WITH OMINOUS ROLLING HEAD -wav/anonymous-20080406-zsg/wav/b0429.wav AND THE EURASIAN CHINESE-ENGLISHMAN BOWED HIMSELF AWAY -wav/anonymous-20080407-gfc/wav/a0424.wav OBVIOUSLY IT WAS A DISEASE THAT COULD BE CONTRACTED BY CONTACT -wav/anonymous-20080407-gvg/wav/a0591.wav WE ARE BOTH CHILDREN TOGETHER -wav/anonymous-20080408-sqi/wav/a0574.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/anonymous-20080410-cyq/wav/b0420.wav ON OCCASION ON THIS TRAVERSE THE CAPE VERDE ISLANDS ARE RAISED -wav/anonymous-20080413-aso/wav/b0105.wav I KNOW THAT YOU ARE IN CHARGE THERE AND JEANNE KNOWS -wav/anonymous-20080413-dto/wav/a0237.wav SO HUGHIE AND I DID THE MANAGING OURSELVES -wav/anonymous-20080414-daq/wav/a0189.wav THE BIG-EYED CLUCKING MOOSE-BIRDS WERE MOST ANNOYING -wav/anonymous-20080415-odt/wav/b0094.wav AND YET IF SHE CAME HE HAD NO WORDS TO SAY -wav/anonymous-20080417-ehq/wav/ar-12.wav WITHIN FIVE HOURS THE TEN SCOUTS CAME BACK AND SAID -wav/anonymous-20080417-txe/wav/b0491.wav JACOB BRINKER WHO WAS HIS ROADMATE BROUGHT THE NEWS -wav/anonymous-20080419-jam/wav/a0250.wav HE HAD OBSERVED THE BUSINESS LIFE OF HAWAII AND DEVELOPED A VAULTING AMBITION -wav/anonymous-20080425-atw/wav/a0034.wav MEN OF SELDEN'S STAMP DON'T STOP AT WOMEN AND CHILDREN -wav/anonymous-20080425-ojw/wav/b0371.wav YIELD YOURSELF TO THE WATERS THAT ARE RIPPING AND TEARING AT YOU -wav/anonymous-20080426-gcs/wav/b0107.wav HE WAS SURE NOW OF BUT FEW THINGS -wav/anonymous-20080426-ned/wav/b0358.wav THE TEMPERATURE DROPPED TO FIFTY BELOW ZERO AND REMAINED THERE THE WHOLE TRIP -wav/anonymous-20080426-qvq/wav/rb-32.wav OBVIOUSLY WHEN RUNNING A FILE BROWSER THE SAME LOGIC WOULD APPLY -wav/anonymous-20080428-cxb/wav/b0119.wav BILLINGER MAY ARRIVE IN TIME -wav/anonymous-20080428-rfr/wav/b0019.wav HIS SLIM HANDS GRIPPED THE EDGES OF THE TABLE -wav/anonymous-20080505-hxb/wav/b0509.wav HE HAD FULFILLED HIS DUTY AND PAID PROPERLY -wav/anonymous-20080505-ivc/wav/a0570.wav BEHIND HIM LAY THE THOUSAND-YEARS-LONG ROAD ACROSS ALL SIBERIA AND RUSSIA -wav/anonymous-20080505-pjm/wav/a0361.wav BUT HE DID NOT BROACH IT PREFERRING TO MATURE IT CAREFULLY -wav/anonymous-20080510-kln/wav/b0210.wav WHATEVER HE GUESSED HE LOCKED AWAY IN THE TABOO ROOM OF NAOMI -wav/anonymous-20080510-mjm/wav/a0317.wav HE WAS A WISE HYENA -wav/anonymous-20080511-noz/wav/a0537.wav HE WAS AN ENTHUSIAST AND A DESERT DWELLER -wav/anonymous-20080516-sjn/wav/b0330.wav THEY ONLY HAD A LITTLE THIRTY THOUSAND DOLLAR FIRE -wav/anonymous-20080516-tfh/wav/a0023.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/anonymous-20080517-sgv/wav/b0219.wav WELL THERE ARE BETTER MEN IN HAWAII THAT'S ALL -wav/anonymous-20080517-tca/wav/b0256.wav OUTWARDLY HE MAINTAINED A CALM AND SMILING ASPECT -wav/anonymous-20080517-tzn/wav/a0098.wav SHALL I CARRY YOU -wav/anonymous-20080520-ami/wav/a0530.wav ASK HIM I LAUGHED THEN TURNED TO PASQUINI -wav/anonymous-20080520-aqx/wav/b0092.wav I WANT TO DIE IN IT -wav/anonymous-20080520-bmj/wav/a0371.wav IT ISSUED A RATE OF FORTY TWO DOLLARS A CAR ON CHARCOAL -wav/anonymous-20080520-dqq/wav/b0294.wav FOR A MUCH LONGER TIME LOP-EAR AND I REMAINED AND WATCHED -wav/anonymous-20080520-lsg/wav/ar-09.wav AT LAST THE JOISTS GAVE WAY AND FELL TO THE GROUND -wav/anonymous-20080520-qgl/wav/a0536.wav HE WOULD DESTROY ALL THINGS THAT ARE FIXED -wav/anonymous-20080520-wcn/wav/rp-22.wav MANY COMPLICATED IDEAS ABOUT THE RAINBOW HAVE BEEN FORMED -wav/anonymous-20080521-tfx/wav/a0081.wav WHAT IF SHE DID NOT COME TO THE ROCK -wav/anonymous-20080524-wjg/wav/b0448.wav SANDEL WOULD NEVER BECOME A WORLD CHAMPION -wav/anonymous-20080524-zhd/wav/b0054.wav HE UNDERSTOOD THE MEANING OF THE LOOK -wav/anonymous-20080526-rom/wav/a0354.wav FRESH MEAT THEY FAILED TO OBTAIN -wav/anonymous-20080527-okm/wav/b0510.wav HE KNEW WHAT TABOOS HE WAS VIOLATING -wav/anonymous-20080527-pbb/wav/b0377.wav A SCARLET LOINCLOTH COMPLETED HIS COSTUME -wav/anonymous-20080528-bbw/wav/a0303.wav BUT THEY MAKE THE MISTAKE OF IGNORING THEIR OWN DUALITY -wav/anonymous-20080602-ttd/wav/b0262.wav SAXON'S ONTO HER JOB -wav/anonymous-20080603-vhl/wav/b0321.wav INSTEAD HE ARRIVED ON THE NIGHT OF THE SECOND DAY -wav/anonymous-20080605-mcr/wav/b0336.wav HOW OLD ARE YOU MOTHER -wav/anonymous-20080605-yjk/wav/a0173.wav THE DATE WAS NEARLY EIGHTEEN YEARS OLD -wav/anonymous-20080606-ijr/wav/a0200.wav HE LEAPT AGAIN AND THE CLUB CAUGHT HIM ONCE MORE -wav/anonymous-20080608-dya/wav/b0258.wav YOU FIRED ME OUT OF YOUR HOUSE IN SHORT -wav/anonymous-20080608-ria/wav/a0444.wav THEN YOU DON'T BELIEVE IN ALTRUISM -wav/anonymous-20080608-xxy/wav/b0096.wav WITHIN HIMSELF HE CALLED IT NO LONGER HIS OWN -wav/anonymous-20080611-jsf/wav/b0372.wav MR MCVEIGH TOLD ME ABOUT HIM -wav/anonymous-20080611-lqr/wav/a0443.wav HE WAS WORTH NOTHING TO THE WORLD -wav/anonymous-20080612-vow/wav/b0333.wav IT DOES WAS HER AUDACIOUS ANSWER -wav/anonymous-20080616-fxp/wav/a0297.wav THERE'S A BIG ENGLISH GENERAL RIGHT NOW WHOSE NAME IS ROBERTS -wav/anonymous-20080617-bhy/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/anonymous-20080618-qsd/wav/a0413.wav BUT I AM AT THE END OF MY RESOURCES -wav/anonymous-20080621-gtr/wav/a0449.wav A SINEWY HAND DRIPPING WITH WATER WAS CLUTCHING THE RAIL -wav/anonymous-20080621-img/wav/b0020.wav HE MADE NO REPLY AS HE WAITED FOR WHITTEMORE TO CONTINUE -wav/anonymous-20080621-jwy/wav/b0087.wav THEY WILL SEARCH FOR US BETWEEN THEIR CAMP AND CHURCHILL -wav/anonymous-20080623-suj/wav/b0097.wav BESIDES THAT NOISE MAKES ME DEAF -wav/anonymous-20080625-otd/wav/b0350.wav STAND OFF BUTCHER AND BAKER AND ALL THE REST -wav/anonymous-20080625-qss/wav/b0073.wav WITH THESE ARGUMENTS HE CONVINCED HIMSELF THAT HE SHOULD GO ON ALONE -wav/anonymous-20080626-bwy/wav/a0147.wav A MOMENT BEFORE HE WAS INTOXICATED BY A JOY THAT WAS ALMOST MADNESS -wav/anonymous-20080627-ysj/wav/a0120.wav MY RIGHT FOOT FEELS LIKE THAT OF A CHINESE DEBUTANTE -wav/anonymous-20080628-lkq/wav/b0465.wav BUT SUCH DIVERGENCE OF OPINION WOULD CONSTITUTE NO MENACE TO SOCIETY -wav/anonymous-20080630-eki/wav/a0557.wav THE LAST REFUGEE HAD PASSED -wav/anonymous-20080630-lhi/wav/a0294.wav HE HAD BEEN FOILED IN HIS ATTEMPT TO ESCAPE -wav/anonymous-20080630-wls/wav/a0278.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/anonymous-20080701-quq/wav/a0278.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/anonymous-20080702-bam/wav/b0275.wav BUT I DID NOT ENJOY IT LONG -wav/anonymous-20080702-jqa/wav/b0340.wav THESE QUICK LITTLE JOYS OF HERS WERE SOURCES OF JOY TO HIM -wav/anonymous-20080702-oqm/wav/a0395.wav AS FOR HIMSELF WEREN'T THE STREET RAILWAY EARNINGS INCREASING STEADILY -wav/anonymous-20080702-ucr/wav/a0203.wav THEY WERE FOLLOWING THE SHORE OF A LAKE -wav/anonymous-20080703-uaj/wav/a0374.wav BUT LIFE'S WORTH MORE THAN CASH SHE ARGUED -wav/anonymous-20080707-rvs/wav/b0133.wav THERE FOLLOWED A ROAR THAT SHOOK THE EARTH -wav/anonymous-20080709-vaq/wav/a0470.wav HE SPAT IT OUT LIKE SO MUCH VENOM -wav/anonymous-20080713-hdg/wav/b0205.wav YOU WERE DESTROYING MY LIFE -wav/anonymous-20080713-wxa/wav/a0055.wav PHILIP STOOD UNDECIDED HIS EARS STRAINED TO CATCH THE SLIGHTEST SOUND -wav/anonymous-20080713-xus/wav/b0220.wav BANCROFT DAVE LIED -wav/anonymous-20080715-amy/wav/a0321.wav THE LOG ON WHICH LOP-EAR WAS LYING GOT ADRIFT -wav/anonymous-20080715-ikt/wav/b0458.wav THE HISTORY OF THE EIGHTEENTH CENTURY IS WRITTEN ERNEST PROMPTED -wav/anonymous-20080715-zdu/wav/a0187.wav AHEAD OF THEM THEY SAW A GLIMMER OF SUNSHINE -wav/anonymous-20080716-sfu/wav/a0331.wav POOR LITTLE CROOKED-LEG WAS TERRIBLY SCARED -wav/anonymous-20080722-btg/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/anonymous-20080722-rqt/wav/a0408.wav THE ELDORADO EMPTIED ITS OCCUPANTS INTO THE STREET TO SEE THE TEST -wav/anonymous-20080727-dyo/wav/a0131.wav PROVIDENCE HAD DELIVERED HIM THROUGH THE MAELSTROM -wav/anonymous-20080727-olk/wav/a0074.wav AND NOW DOWN THERE EILEEN WAS WAITING FOR HIM -wav/anonymous-20080731-jyq/wav/a0564.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/anonymous-20080801-qki/wav/a0156.wav A STRANGE FIRE BURNED IN HIS EYES WHEN THORPE TURNED -wav/anonymous-20080805-tjs/wav/a0544.wav HE MAY ANTICIPATE THE DAY OF HIS DEATH -wav/anonymous-20080806-eix/wav/a0161.wav TAKE AWAY THEIR FOREMAN AND THEY WOULDN'T BE WORTH THEIR GRUB -wav/anonymous-20080806-gvj/wav/rb-13.wav MANY PHONES ALREADY OFFER THE POSSIBILITY OF SO-CALLED VOICE DIALING -wav/anonymous-20080806-org/wav/a0457.wav WHAT I SAW I COULD NOT AT FIRST BELIEVE -wav/anonymous-20080806-wxv/wav/b0365.wav MY AGE IN YEARS IS TWENTY TWO -wav/anonymous-20080810-qdt/wav/a0196.wav HE BEGAN TO FOLLOW THE FOOTPRINTS OF THE DOG -wav/anonymous-20080815-yiv/wav/a0347.wav THEY ARE GREATLY DELIGHTED WITH ANYTHING THAT IS BRIGHT OR GIVETH A SOUND -wav/anonymous-20080818-rcx/wav/b0272.wav THESE WERE MERELY STOUT STICKS AN INCH OR SO IN DIAMETER -wav/anonymous-20080823-dmp/wav/a0216.wav THE OTHER FELT A SUDDEN WAVE OF IRRITATION RUSH THROUGH HIM -wav/anonymous-20080824-dan/wav/b0227.wav SHORTY TURNED TO THEIR EMPLOYERS -wav/anonymous-20080824-gvm/wav/a0379.wav HOW OLD ARE YOU DADDY -wav/anonymous-20080825-gqb/wav/ar-04.wav HE WOULD ALWAYS SHIRK MAKING A CHOICE HIS AUNT HELEN SAID TO HIM -wav/anonymous-20080825-waq/wav/b0232.wav IT WAS A SUPERB PICTURE -wav/anonymous-20080828-xrt/wav/b0209.wav HE'S TERRIBLY TOUCHY ABOUT HIS BLACK WARDS AS HE CALLS THEM -wav/anonymous-20080830-zqj/wav/rb-28.wav SEARCHING FOR DOCUMENTS IN THE FILE BROWSER AND STARTING OR CLOSING PROGRAMS -wav/anonymous-20080902-ssk/wav/a0539.wav I SHOULD LIKE TO ENGAGE JUST FOR ONE WHOLE LIFE IN THAT -wav/anonymous-20080904-dly/wav/b0210.wav WHATEVER HE GUESSED HE LOCKED AWAY IN THE TABOO ROOM OF NAOMI -wav/anonymous-20080904-fiu/wav/b0524.wav SO FAR AS FLAGS WERE CONCERNED THEY WERE BEYOND ALL JURISDICTION -wav/anonymous-20080904-qzg/wav/a0003.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/anonymous-20080905-tvm/wav/b0276.wav WE WERE NOW GOOD FRIENDS -wav/anonymous-20080906-zwn/wav/a0369.wav IN PARTNERSHIP WITH DAYLIGHT THE PAIR RAIDED THE SAN JOSE INTERURBAN -wav/anonymous-20080907-cja/wav/b0006.wav HE SEIZED GREGSON BY THE ARM AND LED HIM TO THE DOOR -wav/anonymous-20080907-dfn/wav/a0127.wav IT WAS A TEMPTATION BUT HE RESISTED IT -wav/anonymous-20080907-die/wav/b0385.wav LAST NIGHT HE SHOWED ALL THE SYMPTOMS OF COMING DOWN WITH PNEUMONIA -wav/anonymous-20080907-fof/wav/b0344.wav LOTS OF MEN TAKE WOMEN BUGGY RIDING -wav/anonymous-20080907-hyt/wav/ar-05.wav NOW LOOK HERE NO ONE IS GOING TO CARE FOR YOU IF YOU CARRY ON LIKE THIS -wav/anonymous-20080907-ndt/wav/a0582.wav DAUGHTRY ELABORATED ON THE COUNTING TRICK BY BRINGING COCKY ALONG -wav/anonymous-20080907-oox/wav/ar-03.wav HE WOULD ONLY ANSWER I DON'T KNOW HE WOULDN'T SAY YES OR NO EITHER -wav/anonymous-20080907-phf/wav/a0370.wav HE SAW ALL MEN IN THE BUSINESS GAME DOING THIS -wav/anonymous-20080907-ssq/wav/a0280.wav I'LL BE OUT OF MY HEAD IN FIFTEEN MINUTES -wav/anonymous-20080907-svz/wav/a0103.wav BUT THERE CAME NO PROMISE FROM THE BOW OF THE CANOE -wav/anonymous-20080907-uue/wav/b0202.wav SOCIETY IS SHAKEN TO ITS FOUNDATIONS -wav/anonymous-20080907-xeb/wav/a0574.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/anonymous-20080907-xtn/wav/a0534.wav BUT JOHANNES COULD AND DID -wav/anonymous-20080907-yme/wav/b0415.wav THERE WAS NOTHING FOR US BUT THE WIDE RAW OCEAN -wav/anonymous-20080908-jzy/wav/b0108.wav IT WAS A MIRACLE AND I OWE YOU MY LIFE -wav/anonymous-20080911-off/wav/b0156.wav FOR THAT REASON LE BEAU HAD CHOSEN HIM TO FIGHT THE BIG FIGHT -wav/anonymous-20080912-cdd/wav/b0375.wav MAN COULD NOT CONQUER THEM -wav/anonymous-20080912-pgg/wav/a0036.wav SHE TURNED IN AT THE HOTEL -wav/anonymous-20080912-wcp/wav/a0511.wav THERE IS MORE BEHIND THIS THAN A MERE UNIVERSITY IDEAL -wav/anonymous-20080913-akr/wav/a0181.wav SO CHEER UP AND GIVE US YOUR PAW -wav/anonymous-20080913-glw/wav/a0565.wav WITH THEM WERE INDIANS ALSO THREE OTHER MEN -wav/anonymous-20080914-gsb/wav/a0441.wav VIOLENT LIFE AND ATHLETIC SPORTS HAD NEVER APPEALED TO ME -wav/anonymous-20080918-neg/wav/a0472.wav HE IS TOO KEENLY INTELLIGENT TOO SHARPLY SENSITIVE SUCCESSFULLY TO ENDURE -wav/anonymous-20080919-xbg/wav/b0391.wav AT SEA TUESDAY MARCH SEVENTEENTH NINETEEN OH EIGHT -wav/anonymous-20080919-xlh/wav/b0425.wav THERE WERE ORANGE-GREEN GOLD-GREEN AND A COPPER-GREEN -wav/anonymous-20080921-sau/wav/b0166.wav FAST BUT ENDURE -wav/anonymous-20080921-vgf/wav/a0584.wav I HAVE LONG NOTED YOUR THIRST UNQUENCHABLE -wav/anonymous-20080922-syf/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/anonymous-20080923-bvu/wav/b0217.wav SUCH IS MY PASSAGE ENGAGED ON THE STEAMER -wav/anonymous-20080927-shd/wav/b0319.wav DAYLIGHT WAS TIRED PROFOUNDLY TIRED -wav/anonymous-20080928-ghu/wav/b0173.wav TO THESE HE GAVE CASTOR OIL -wav/anonymous-20080929-fuw/wav/b0099.wav FIFTY YARDS AHEAD OF HER WERE THE FIRST OF THE ROCKS -wav/anonymous-20080929-olb/wav/b0534.wav I'LL TELL YOU THE LIBRARIAN SAID WITH A BRIGHTENING FACE -wav/anonymous-20080930-gyh/wav/b0175.wav SHELDON GLANCED AT THE THERMOMETER -wav/anonymous-20081001-xjx/wav/b0207.wav I'M AS GOOD AS A MAN SHE URGED -wav/anonymous-20081001-ztn/wav/b0462.wav ONE GUESS WILL DO ERNEST RETORTED -wav/anonymous-20081002-ozn/wav/b0264.wav BUT THIS TIME IT WAS SAXON WHO REBELLED -wav/anonymous-20081003-thp/wav/a0580.wav THIS IS MY FIFTH VOYAGE -wav/anonymous-20081005-iji/wav/a0462.wav BUT SHE SWUNG OBEDIENTLY ON HER HEEL INTO THE WIND -wav/anonymous-20081006-yxy/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/anonymous-20081008-hds/wav/b0033.wav HOW DOES YOUR WAGER LOOK NOW -wav/anonymous-20081010-uhe/wav/b0495.wav WE WHO HAVE ENDURED SO MUCH SURELY CAN ENDURE A LITTLE MORE -wav/anonymous-20081014-cui/wav/a0592.wav IT'S ONLY HIS INDIGESTION I FIND FAULT WITH -wav/anonymous-20081014-kvt/wav/a0278.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/anonymous-20081014-pzr/wav/b0238.wav THE VERY THOUGHT OF THE EFFORT TO SWIM OVER WAS NAUSEATING -wav/anonymous-20081014-umx/wav/a0569.wav AT LAKE LINDERMAN I HAD ONE CANOE VERY GOOD PETERBOROUGH CANOE -wav/anonymous-20081014-xmt/wav/b0081.wav YOU WERE GOING TO LEAVE AFTER YOU SAW ME ON THE ROCK -wav/anonymous-20081015-rdx/wav/b0078.wav THERE WAS PRIDE AND STRENGTH THE RING OF TRIUMPH IN HIS VOICE -wav/anonymous-20081016-qlb/wav/a0054.wav THERE WAS NOTHING ON THE ROCK -wav/anonymous-20081020-lkw/wav/a0343.wav YOU MEAN FOR THIS STATE GENERAL ALBERTA -wav/anonymous-20081022-apb/wav/a0181.wav SO CHEER UP AND GIVE US YOUR PAW -wav/anonymous-20081023-jpl/wav/b0100.wav THERE WAS ONE CHANCE AND ONLY ONE OF SAVING JEANNE -wav/anonymous-20081024-jvl/wav/a0403.wav HIS NEWBORN CUNNING GAVE HIM POISE AND CONTROL -wav/anonymous-20081025-crv/wav/a0065.wav THEY CLOSED NOW UNTIL HIS FINGERS WERE LIKE CORDS OF STEEL -wav/anonymous-20081025-fxv/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/anonymous-20081025-hmo/wav/a0035.wav HE STOPPED AND PHILIP NODDED AT THE HORRIFIED QUESTION IN HIS EYES -wav/anonymous-20081025-omh/wav/b0312.wav DIG IN YOU'RE SURE GOOD WAS DAYLIGHT'S ANSWER -wav/anonymous-20081026-awi/wav/rp-19.wav REFLECTION OF THE SUN'S RAYS BY THE RAIN -wav/anonymous-20081026-eot/wav/a0443.wav HE WAS WORTH NOTHING TO THE WORLD -wav/anonymous-20081026-ewe/wav/rp-02.wav THEY ACT AS A PRISM AND FORM A RAINBOW -wav/anonymous-20081026-qbt/wav/a0179.wav TOMORROW I'M GOING AFTER THAT BEAR HE SAID -wav/anonymous-20081026-tua/wav/a0436.wav BUT MARTIN SMILED A SUPERIOR SMILE -wav/anonymous-20081026-xqp/wav/b0368.wav PLEASE DO NOT THINK THAT I ALREADY KNOW IT ALL -wav/anonymous-20081027-njq/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/anonymous-20081027-okq/wav/b0238.wav THE VERY THOUGHT OF THE EFFORT TO SWIM OVER WAS NAUSEATING -wav/anonymous-20081027-shw/wav/ar-21.wav I THINK I'LL GO TOMORROW HE SAID CALMLY TO HIMSELF BUT THEN AGAIN I DON'T KNOW -wav/anonymous-20081027-srq/wav/b0036.wav HE WONDERED TOO WHERE ROSCOE WAS -wav/anonymous-20081027-yle/wav/rb-27.wav THE SAME WOULD BE THE CASE FOR OTHER TASKS SUCH AS BROWSING THE WEB -wav/anonymous-20081027-zih/wav/a0282.wav IF YOU MEAN TO INSINUATE BRENTWOOD BEGAN HOTLY -wav/anonymous-20081029-jwg/wav/a0121.wav THEY ATE DINNER AT THE FIFTH AND RESTED FOR TWO HOURS -wav/anonymous-20081029-ycy/wav/b0349.wav IN SUCH A TUMBLING OF VALUES WAS NO TIME TO SELL -wav/anonymous-20081030-woy/wav/a0178.wav EVERY BONE IN HER AGED BODY SEEMED BROKEN OR DISLOCATED -wav/anonymous-20081103-ffc/wav/a0487.wav THE RIVER BARED ITS BOSOM AND SNORTING STEAMBOATS CHALLENGED THE WILDERNESS -wav/anonymous-20081105-zoq/wav/a0376.wav YOUR PRICE MY SON IS JUST ABOUT THIRTY PER WEEK -wav/anonymous-20081108-mph/wav/a0230.wav DO YOU KNOW ANY GOOD LAND AROUND HERE -wav/anonymous-20081109-ekk/wav/b0118.wav WE SAW YOUR LIGHT AND THOUGHT YOU WOULDN'T MIND A CALL -wav/anonymous-20081109-jmd/wav/a0495.wav HE BORE NO GRUDGES AND HAD FEW ENEMIES -wav/anonymous-20081109-jtu/wav/b0270.wav WE COULD THROW STONES WITH OUR FEET -wav/anonymous-20081110-rvw/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/anonymous-20081111-bnf/wav/a0030.wav I HAD FAITH IN THEM -wav/anonymous-20081111-hle/wav/a0260.wav NOBODY KNEW HIS HISTORY THEY OF THE JUNTA LEAST OF ALL -wav/anonymous-20081111-nwx/wav/b0516.wav ZILLA RELAXED HER SOUR MOUTH LONG ENOUGH TO SIGH HER SATISFACTION -wav/anonymous-20081111-rjw/wav/ar-17.wav YOU ARE COMING OF COURSE I'M NOT CERTAIN SAID ARTHUR UNDAUNTED -wav/anonymous-20081114-hhv/wav/a0434.wav A HALF A CASE OF TOBACCO WAS WORTH THREE POUNDS -wav/anonymous-20081116-pfp/wav/b0070.wav THERE WAS NO CHANCE TO FIRE WITHOUT HITTING HIM -wav/anonymous-20081116-xvn/wav/a0007.wav AND YOU ALWAYS WANT TO SEE IT IN THE SUPERLATIVE DEGREE -wav/anonymous-20081117-dep/wav/a0538.wav WHAT PASCAL GLIMPSED WITH THE VISION OF A SEER I HAVE LIVED -wav/anonymous-20081118-ske/wav/a0018.wav THERE WAS A CHANGE NOW -wav/anonymous-20081120-knf/wav/a0158.wav DOES THAT LOOK GOOD -wav/anonymous-20081123-fnv/wav/a0130.wav SHE WAS HIS NOW FOREVER -wav/anonymous-20081123-jam/wav/b0454.wav EIGHTEEN HE ADDED -wav/anonymous-20081123-twp/wav/a0483.wav BEYOND DISPUTE CORRY HUTCHINSON HAD MARRIED MABEL HOLMES -wav/anonymous-20081124-nrx/wav/b0315.wav AND THIS WAS THEIR SOLE CONVERSATION THROUGHOUT THE MEAL -wav/anonymous-20081125-emk/wav/b0427.wav THE SUNSETS GROW MORE BIZARRE AND SPECTACULAR OFF THIS COAST OF THE ARGENTINE -wav/anonymous-20081127-pjg/wav/b0478.wav THE OLIGARCHY WILL ENCOURAGE SUCH AMBITION AND THE CONSEQUENT COMPETITION -wav/anonymous-20081129-qmq/wav/b0164.wav THEY LAUGHED LIKE TWO HAPPY CHILDREN -wav/anonymous-20081129-tmz/wav/a0193.wav IT WAS EDGED WITH ICE -wav/anonymous-20081201-ddl/wav/a0543.wav I HAD BEEN BORN WITH NO ORGANIC CHEMICAL PREDISPOSITION TOWARD ALCOHOL -wav/anonymous-20081201-kae/wav/a0223.wav MY I'M ALMOST HOMESICK FOR IT ALREADY -wav/anonymous-20081202-voy/wav/b0108.wav IT WAS A MIRACLE AND I OWE YOU MY LIFE -wav/anonymous-20081202-yga/wav/a0189.wav THE BIG-EYED CLUCKING MOOSE-BIRDS WERE MOST ANNOYING -wav/anonymous-20081203-ers/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/anonymous-20081203-rst/wav/a0333.wav THIS IS NO PLACE FOR YOU -wav/anonymous-20081208-som/wav/b0259.wav HER MOUTH OPENED BUT INSTEAD OF SPEAKING SHE DREW A LONG SIGH -wav/anonymous-20081209-vqq/wav/b0234.wav AND WATCH OUT FOR WET FEET WAS HIS PARTING ADVICE -wav/anonymous-20081211-mil/wav/b0258.wav YOU FIRED ME OUT OF YOUR HOUSE IN SHORT -wav/anonymous-20081212-mhh/wav/a0369.wav IN PARTNERSHIP WITH DAYLIGHT THE PAIR RAIDED THE SAN JOSE INTERURBAN -wav/anonymous-20081212-tss/wav/a0395.wav AS FOR HIMSELF WEREN'T THE STREET RAILWAY EARNINGS INCREASING STEADY -wav/anonymous-20081213-dhm/wav/a0490.wav BOTH JOHNNY AND HIS MOTHER SHUFFLED THEIR FEET AS THEY WALKED -wav/anonymous-20081213-xhi/wav/a0442.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/anonymous-20081217-aop/wav/a0051.wav THE LACE WAS OF A DELICATE IVORY COLOR FAINTLY TINTED WITH YELLOW -wav/anonymous-20081217-efe/wav/a0135.wav I AM GOING TO SURPRISE FATHER AND YOU WILL GO WITH PIERRE -wav/anonymous-20081217-gef/wav/b0197.wav THE PLANTERS ARE ALREADY CONSIDERING THE MATTER -wav/anonymous-20081217-xbq/wav/b0333.wav IT DOES WAS HER AUDACIOUS ANSWER -wav/anonymous-20081217-xtu/wav/b0386.wav MY IDEA WAS THAT HE WOULD HAVE MORE INFLUENCE OVER THE NATIVES -wav/anonymous-20081221-htm/wav/rp-21.wav BUT REFRACTION BY THE RAINDROPS WHICH CAUSES THE RAINBOWS -wav/anonymous-20081224-hlg/wav/rb-27.wav THE SAME WOULD BE THE CASE FOR OTHER TASKS SUCH AS BROWSING THE WEB -wav/anonymous-20081225-afe/wav/a0540.wav YEA SO ARE ALL THE LESSER ANIMALS OF TODAY CLEAN -wav/anonymous-20081227-ptr/wav/a0009.wav HE TURNED SHARPLY AND FACED GREGSON ACROSS THE TABLE -wav/anonymous-20090102-xcu/wav/a0579.wav THERE WAS THE EMMA LOUISA -wav/anonymous-20090106-jzn/wav/b0230.wav NOW RUN ALONG AND TELL THEM TO HURRY -wav/anonymous-20090106-uqf/wav/b0359.wav AND AS NEVER BEFORE HE WAS READY TO OBEY -wav/anonymous-20090108-vtw/wav/a0360.wav BUT HE NO LONGER CARED QUITE SO MUCH FOR THAT FORM OF DIVERSION -wav/anonymous-20090114-jwb/wav/b0296.wav AT TIMES I WONDERED WHERE SIR ARCHIBALD GOT HIS STYLE -wav/anonymous-20090115-lgb/wav/b0538.wav AT THE BEST THEY WERE NECESSARY ACCESSORIES -wav/anonymous-20090116-obg/wav/a0061.wav PHILIP SNATCHED AT THE LETTER WHICH GREGSON HELD OUT TO HIM -wav/anonymous-20090117-mam/wav/a0289.wav THEY ARE NOT REGULAR OYSTER PIRATES NICHOLAS CONTINUED -wav/anonymous-20090117-pzl/wav/a0388.wav IT WAS MY IDEA TO A TEE -wav/anonymous-20090118-cjz/wav/rp-03.wav THE RAINBOW IS A DIVISION OF WHITE LIGHT INTO MANY BEAUTIFUL COLORS -wav/anonymous-20090118-wgx/wav/b0429.wav AND THE EURASIAN CHINESE-ENGLISHMAN BOWED HIMSELF AWAY -wav/anonymous-20090119-efi/wav/a0014.wav NOW YOU'RE COMING DOWN TO BUSINESS PHIL HE EXCLAIMED -wav/anonymous-20090119-qob/wav/b0494.wav NEVER SO STRANGE A PROPHET CAME UP TO JERUSALEM -wav/anonymous-20090121-bac/wav/a0032.wav SINCE THEN SOME MYSTERIOUS FORCE HAS BEEN FIGHTING US AT EVERY STEP -wav/anonymous-20090121-bgm/wav/b0354.wav IT'S THAT MUCH JUNK -wav/anonymous-20090121-buj/wav/a0576.wav AND THE BIG PERSIAN KNEW OF HIS EXISTENCE BEFORE HE DID OF HERS -wav/anonymous-20090121-cqx/wav/rp-19.wav REFLECTION OF THE SUN'S RAYS BY THE RAIN -wav/anonymous-20090121-cyt/wav/a0407.wav MERCEDES SCREAMED CRIED LAUGHED AND MANIFESTED THE CHAOTIC ABANDONMENT OF HYSTERIA -wav/anonymous-20090121-eft/wav/b0217.wav SUCH IS MY PASSAGE ENGAGED ON THE STEAMER -wav/anonymous-20090121-etx/wav/a0531.wav IN WHAT BUCOLIC SCHOOL OF FENCE HE HAD BEEN TAUGHT WAS BEYOND IMAGINING -wav/anonymous-20090121-hkf/wav/b0427.wav THE SUNSETS GROW MORE BIZARRE AND SPECTACULAR OFF THIS COAST OF THE ARGENTINE -wav/anonymous-20090121-ifd/wav/b0052.wav THE FLUSH WAS GONE FROM HER FACE -wav/anonymous-20090121-ixf/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/anonymous-20090121-ncp/wav/a0556.wav WHY HE'S BOUGHT FORTY POUNDS OF GOODS FROM YOU ALREADY -wav/anonymous-20090121-nik/wav/a0378.wav THAT'S WHY ITS BOUNDARIES ARE ALL GOUGED AND JAGGED -wav/anonymous-20090121-own/wav/b0410.wav HAVE YOU EVER EARNED A DOLLAR BY YOUR OWN LABOUR -wav/anonymous-20090121-pya/wav/a0454.wav THE SHARP VOICE OF WOLF LARSEN AROUSED ME -wav/anonymous-20090121-rgi/wav/a0081.wav WHAT IF SHE DID NOT COME TO THE ROCK -wav/anonymous-20090121-slp/wav/b0077.wav IT IS THE NEAREST REFUGE -wav/anonymous-20090121-uax/wav/a0002.wav NOT AT THIS PARTICULAR CASE TOM APOLOGIZED WHITTEMORE -wav/anonymous-20090121-ubx/wav/a0125.wav HE WAS DETERMINED NOW TO MAINTAIN A MORE CERTAIN HOLD UPON HIMSELF -wav/anonymous-20090121-wjq/wav/b0490.wav WHAT AN EXCITED WHISPERING AND CONFERRING TOOK PLACE -wav/anonymous-20090121-znn/wav/b0314.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/anonymous-20090122-aka/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/anonymous-20090128-owh/wav/b0194.wav JOAN CRIED WITH SHINING EYES -wav/anonymous-20090131-xuu/wav/b0328.wav CHANGE CHAIRS DAYLIGHT COMMANDED -wav/anonymous-20090201-bel/wav/a0579.wav THERE WAS THE EMMA LOUISA -wav/anonymous-20090201-hjy/wav/a0314.wav THUS WAS MOMENTUM GAINED IN THE YOUNGER WORLD -wav/anonymous-20090201-jtw/wav/b0174.wav HATRED AND MURDER AND LUST FOR REVENGE THEY POSSESSED TO OVERFLOWING -wav/anonymous-20090203-rbs/wav/a0078.wav THEN AND AT SUPPER HE TRIED TO FATHOM HER -wav/anonymous-20090204-cbj/wav/a0395.wav AS FOR HIMSELF WEREN'T THE STREET RAILWAY EARNINGS INCREASING STEADILY -wav/anonymous-20090208-dqm/wav/rb-26.wav THE SOFTWARE ON A HAND-HELD DEVICE MIGHT ONLY RESPOND TO ONE SPECIFIC COMMAND -wav/anonymous-20090209-ukf/wav/a0240.wav WASH YOUR HANDS OF ME -wav/anonymous-20090210-grk/wav/a0338.wav THE FIGHTING HAD NOW BECOME INTERMITTENT -wav/anonymous-20090210-hom/wav/a0579.wav THERE WAS THE EMMA LOUISA -wav/anonymous-20090210-vmj/wav/a0048.wav HE LOOKED AT THE HANDKERCHIEF MORE CLOSELY -wav/anonymous-20090210-wct/wav/a0456.wav BUT IT WON'T CONTINUE SHE SAID WITH EASY CONFIDENCE -wav/anonymous-20090214-ctf/wav/a0129.wav HER FACE WAS AGAINST HIS BREAST -wav/anonymous-20090215-yad/wav/b0214.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/anonymous-20090217-jwf/wav/b0272.wav THESE WERE MERELY STOUT STICKS AN INCH OR SO IN DIAMETER -wav/anonymous-20090217-sot/wav/b0397.wav THE HUNTERS WERE STILL ARGUING AND ROARING LIKE SOME SEMI-HUMAN AMPHIBIOUS BREED -wav/anonymous-20090218-dec/wav/a0208.wav YOUTH HAD COME BACK TO HER FREED FROM THE YOKE OF OPPRESSION -wav/anonymous-20090218-klq/wav/a0188.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/anonymous-20090218-xan/wav/b0510.wav HE KNEW WHAT TABOOS HE WAS VIOLATING -wav/anonymous-20090220-tna/wav/a0383.wav TO HIS SURPRISE HER ANSWER WAS FLAT AND UNCOMPROMISING -wav/anonymous-20090224-jgu/wav/b0440.wav THERE WERE STIR AND BUSTLE NEW FACES AND FRESH FACTS -wav/anonymous-20090224-ugp/wav/b0223.wav THEY LIKEWISE ARE DISINCLINED TO BEING EATEN -wav/anonymous-20090225-bqo/wav/b0286.wav THE TIME WAS CONSIDERED AUSPICIOUS -wav/anonymous-20090226-ctx/wav/a0151.wav AND MACDOUGALL WAS BEYOND THE TRAIL WITH THREE WEEKS TO SPARE -wav/anonymous-20090226-ury/wav/a0274.wav AND RAOUL LISTENED AGAIN TO THE TALE OF THE HOUSE -wav/anonymous-20090228-eem/wav/rb-09.wav ON TOP OF THAT THUMBING OR THUMB TYPING PUTS A LOT OF STRAIN ON THE THUMB -wav/anonymous-20090301-xbk/wav/b0099.wav FIFTY YARDS AHEAD OF HER WERE THE FIRST OF THE ROCKS -wav/anonymous-20090302-qaf/wav/a0433.wav TO HER THE BRIDGE WAS TAMBO WHICH IS THE NATIVE FOR TABOO -wav/anonymous-20090302-vai/wav/a0210.wav ITS DIAMETER WAS NOT MORE THAN TWO HUNDRED YARDS -wav/anonymous-20090304-jap/wav/b0071.wav THERE WAS NO ANSWER FROM THE OTHER SIDE -wav/anonymous-20090305-wts/wav/rb-06.wav RECOGNITION FOR INPUTTING TEXT THIS HAS A COUPLE OF DRAWBACKS -wav/anonymous-20090306-vmr/wav/b0312.wav DIG IN YOU'RE SURE GOOD WAS DAYLIGHT'S ANSWER -wav/anonymous-20090307-xgh/wav/rp-16.wav OVER WHICH THE GODS PASSED FROM EARTH TO THEIR HOME IN THE SKY -wav/anonymous-20090308-ifu/wav/b0317.wav IN THE BURNING OF DAYLIGHT FOR SUCH A LUXURY -wav/anonymous-20090310-cfk/wav/a0002.wav NOT AT THIS PARTICULAR CASE TOM APOLOGIZED WHITTEMORE -wav/anonymous-20090310-jri/wav/a0319.wav AND THE EDINBURGH EVENING NEWS SAYS WITH EDITORIAL GLOOM -wav/anonymous-20090311-icj/wav/b0022.wav IF I WAS OUT OF THE GAME IT WOULD BE EASILY MADE -wav/anonymous-20090312-pmf/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/anonymous-20090313-vjx/wav/b0001.wav GAD DO I REMEMBER IT -wav/anonymous-20090314-nzb/wav/b0413.wav HE MAY DESIRE TO ESCAPE PAIN OR TO ENJOY PLEASURE -wav/anonymous-20090314-sdz/wav/b0226.wav YOUR FACE WAS THE PERSONIFICATION OF DUPLICITY -wav/anonymous-20090315-zqt/wav/a0183.wav AND THE AIR WAS GROWING CHILLY -wav/anonymous-20090316-msn/wav/rb-08.wav THE AMOUNT OF AVAILABLE SCREEN REAL-ESTATE -wav/anonymous-20090316-slm/wav/b0203.wav A MONTH IN AUSTRALIA WOULD FINISH ME -wav/anonymous-20090316-xhp/wav/a0540.wav YEA SO ARE ALL THE LESSER ANIMALS OF TODAY CLEAN -wav/anonymous-20090319-cxz/wav/a0388.wav IT WAS MY IDEA TO A TEE -wav/anonymous-20090321-woy/wav/a0222.wav WHAT PART OF THE UNITED STATES IS YOUR HOME -wav/anonymous-20090322-lhq/wav/a0440.wav YES SIR I CORRECTED -wav/anonymous-20090323-jnf/wav/b0039.wav PHILIP TOOK A STEP TOWARD GREGSON HALF DETERMINED TO AWAKEN HIM -wav/anonymous-20090323-upt/wav/b0233.wav SO SHE SAID THE IRATE SKIPPER DASHED ON -wav/anonymous-20090325-ayb/wav/a0415.wav IT LASTED AS A DETERRENT FOR TWO DAYS -wav/anonymous-20090326-ekm/wav/a0285.wav BUT WHAT THEY WANT WITH YOUR TOOTHBRUSH IS MORE THAN I CAN IMAGINE -wav/anonymous-20090330-lfh/wav/b0156.wav FOR THAT REASON LE BEAU HAD CHOSEN HIM TO FIGHT THE BIG FIGHT -wav/anonymous-20090331-zxo/wav/b0405.wav AND EACH YEAR SOMETHING HAPPENED AND I DID NOT GO -wav/anonymous-20090403-puy/wav/b0479.wav VIOLATION OF THIS LAW WAS MADE A HIGH MISDEMEANOR AND PUNISHED ACCORDINGLY -wav/anonymous-20090403-sek/wav/b0447.wav O'BRIEN EMITTED A SHRIEK THAT SANK SWIFTLY TO A GURGLING SOB -wav/anonymous-20090403-vjg/wav/a0354.wav FRESH MEAT THEY FAILED TO OBTAIN -wav/anonymous-20090403-ztj/wav/a0026.wav IT OCCURRED TO ME THAT THERE WOULD HAVE TO BE AN ACCOUNTING -wav/anonymous-20090404-lxa/wav/b0351.wav MATTHEWSON WHO'S THIS BOOKKEEPER ROGERS -wav/anonymous-20090406-dtr/wav/a0221.wav I DON'T KNOW WHY YOU'RE HERE AT ALL -wav/anonymous-20090406-evj/wav/a0202.wav SHE TURNED FEARING THAT JACQUES MIGHT SEE WHAT WAS IN HER FACE -wav/anonymous-20090406-ifh/wav/a0238.wav IT HAPPENED TO HIM AT THE GALLINA SOCIETY IN OAKLAND ONE AFTERNOON -wav/anonymous-20090415-ocs/wav/b0364.wav IN THE BOHEMIAN CLUB OF SAN FRANCISCO THERE ARE SOME CRACK SAILORS -wav/anonymous-20090415-xuj/wav/a0398.wav IN THE CAR WERE UNWIN AND HARRISON WHILE JONES SAT WITH THE CHAUFFEUR -wav/anonymous-20090417-cbk/wav/b0531.wav I AM SURE IT MUST HAVE BEEN SOME ADVENTURE -wav/anonymous-20090417-jqz/wav/b0075.wav IN THAT CASE HE COULD NOT MISS THEM IF HE USED CAUTION -wav/anonymous-20090417-lyd/wav/a0093.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/anonymous-20090417-nop/wav/b0413.wav HE MAY DESIRE TO ESCAPE PAIN OR TO ENJOY PLEASURE -wav/anonymous-20090417-pal/wav/b0430.wav THEY WERE BABBLING AND CHATTERING ALL TOGETHER -wav/anonymous-20090417-pyl/wav/a0487.wav THE RIVER BARED ITS BOSOM AND SNORTING STEAMBOATS CHALLENGED THE WILDERNESS -wav/anonymous-20090417-suo/wav/b0400.wav HOW COULD I ANSWER THE QUESTION ON THE SPUR OF THE MOMENT -wav/anonymous-20090417-tzj/wav/b0019.wav HIS SLIM HANDS GRIPPED THE EDGES OF THE TABLE -wav/anonymous-20090417-ygz/wav/b0208.wav YOU READ THE QUOTATIONS IN TODAY'S PAPER -wav/anonymous-20090417-zby/wav/b0214.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/anonymous-20090422-syd/wav/b0436.wav FAMINE HAD BEEN MY GREAT ALLY -wav/anonymous-20090426-awr/wav/a0365.wav THESE RUMORS MAY EVEN ORIGINATE WITH US -wav/anonymous-20090426-crp/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/anonymous-20090427-jhj/wav/b0363.wav SHE WAS BUILT PRIMARILY TO SAIL -wav/anonymous-20090428-lvi/wav/b0215.wav IT IS A GOOD PROPERTY AND WORTH MORE THAN THAT -wav/anonymous-20090428-uun/wav/b0278.wav NOW ANIMALS DO NOT LIKE MOCKERY -wav/anonymous-20090429-bmm/wav/a0009.wav HE TURNED SHARPLY AND FACED GREGSON ACROSS THE TABLE -wav/anonymous-20090429-oud/wav/b0235.wav RAOUL YELLED IN ORDER TO MAKE HIMSELF HEARD -wav/anonymous-20090430-bme/wav/a0348.wav THEY ONLY LIFTED SEVEN HUNDRED AND FIFTY -wav/anonymous-20090430-zte/wav/a0322.wav THIS IS A COMMON EXPERIENCE WITH ALL OF US -wav/anonymous-20090501-jnl/wav/b0028.wav LORD FITZHUGH IS THE KEY TO THE WHOLE SITUATION -wav/anonymous-20090503-sul/wav/a0009.wav HE TURNED SHARPLY AND FACED GREGSON ACROSS THE TABLE -wav/anonymous-20090505-bsq/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/anonymous-20090506-kns/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/anonymous-20090509-ibz/wav/b0090.wav THE CHURCHILL NARROWED AND ITS CURRENT BECAME SWIFTER AS THEY PROGRESSED -wav/anonymous-20090509-ikz/wav/a0307.wav VERY EARLY IN MY LIFE I SEPARATED FROM MY MOTHER -wav/anonymous-20090509-jss/wav/b0253.wav THE VERY OPPOSITE IS TRUE THEY ARE DISCOURAGED VAGABONDS -wav/anonymous-20090509-lbn/wav/b0050.wav ALL THIS DAY GREGSON REMAINED IN THE CABIN -wav/anonymous-20090512-ogs/wav/b0106.wav FOR A FULL MINUTE THE TWO MEN STARED INTO EACH OTHER'S FACE -wav/anonymous-20090512-qqm/wav/a0005.wav WILL WE EVER FORGET IT -wav/anonymous-20090512-yoh/wav/b0077.wav IT IS THE NEAREST REFUGE -wav/anonymous-20090513-ckc/wav/b0334.wav OH IT'S JUST A NOVEL A LOVE STORY -wav/anonymous-20090513-yua/wav/b0122.wav PHILIP SAW MACDOUGALL SOON AFTER HIS SHORT TALK WITH THORPE -wav/anonymous-20090514-lnt/wav/a0005.wav WILL WE EVER FORGET IT -wav/anonymous-20090518-zjd/wav/b0202.wav SOCIETY IS SHAKEN TO ITS FOUNDATIONS -wav/anonymous-20090519-hxd/wav/b0535.wav HE READ HIS FRAGMENTS ALOUD -wav/anonymous-20090520-ukb/wav/b0102.wav I'LL ONLY BE IN THE WAY -wav/anonymous-20090527-frh/wav/b0353.wav I WANT TO KNOW HOW ALL THIS IS POSSIBLE -wav/anonymous-20090527-jyh/wav/b0180.wav I I BEG PARDON HE DRAWLED -wav/anonymous-20090528-gzi/wav/a0409.wav HE COULD FEEL A NEW STIR IN THE LAND -wav/anonymous-20090528-ser/wav/b0103.wav HE LIFTED HIS EYES AND A STRANGE CRY BURST FROM HIS LIPS -wav/anonymous-20090528-sfs/wav/a0468.wav IN THE MATTER OF CURRY SHE IS A SHEER GENIUS -wav/anonymous-20090530-efs/wav/a0389.wav MAB SHE SAID -wav/anonymous-20090530-ese/wav/b0527.wav THE VERY IDEA OF IT WAS PREPOSTEROUS -wav/anonymous-20090530-fkx/wav/ar-05.wav NOW LOOK HERE NO ONE IS GOING TO CARE FOR YOU IF YOU CARRY ON LIKE THIS -wav/anonymous-20090530-jlu/wav/a0079.wav IT WAS A LARGE CANOE -wav/anonymous-20090530-myu/wav/a0399.wav AND HERE'S ANOTHER IDEA -wav/anonymous-20090530-wtm/wav/a0333.wav THIS IS NO PLACE FOR YOU -wav/anonymous-20090530-zfo/wav/b0464.wav I COULD NOT AGREE WITH ERNEST -wav/anonymous-20090531-fhg/wav/a0213.wav BETWEEN HIM AND THE BEACH WAS THE CANE-GRASS FENCE OF THE COMPOUND -wav/anonymous-20090531-wmi/wav/a0069.wav IT WAS HIS INTENTION TO RETURN TO EILEEN AND HER FATHER -wav/anonymous-20090601-zrt/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/anonymous-20090603-lzd/wav/a0563.wav MRS MCFEE'S JAWS BROUGHT TOGETHER WITH A SNAP -wav/anonymous-20090605-dlc/wav/a0350.wav IS THAT PAT HANRAHAN'S MUG LOOKING HUNGRY AND WILLING -wav/anonymous-20090605-iyu/wav/b0486.wav BUT WHY CONTINUE THE TIRADE FOR TIRADE IT WAS -wav/anonymous-20090605-ndd/wav/a0086.wav DEATH HAD COME WITH TERRIBLE SUDDENNESS -wav/anonymous-20090605-vxz/wav/a0322.wav THIS IS A COMMON EXPERIENCE WITH ALL OF US -wav/anonymous-20090606-whl/wav/b0303.wav HERE WE ALLOW OUR SOLICITORS TO LOOK AFTER OUR LEGAL WORK -wav/anonymous-20090606-wqm/wav/b0416.wav I AROSE OBEDIENTLY AND WENT DOWN THE BEACH -wav/anonymous-20090606-yyv/wav/rp-15.wav THE NORSEMEN CONSIDERED THE RAINBOW AS A BRIDGE -wav/anonymous-20090607-fsh/wav/a0234.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/anonymous-20090608-hus/wav/rp-15.wav THE NORSEMEN CONSIDERED THE RAINBOW AS A BRIDGE -wav/anonymous-20090608-leu/wav/a0586.wav WE DON'T SEE OURSELVES AS FOOLISH -wav/anonymous-20090608-mgg/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/anonymous-20090609-pus/wav/b0195.wav NOBODY KNOWS HOW THE NATIVES GOT THEM -wav/anonymous-20090610-lqq/wav/a0283.wav THE WOMAN IN YOU IS ONLY INCIDENTAL ACCIDENTAL AND IRRELEVANT -wav/anonymous-20090611-unh/wav/b0238.wav THE VERY THOUGHT OF THE EFFORT TO SWIM OVER WAS NAUSEATING -wav/anonymous-20090615-xgs/wav/b0536.wav TYPHOID DID I TELL YOU -wav/anonymous-20090618-emm/wav/rb-35.wav AND OPEN MY THESIS MIGHT SOON BE QUITE COMMON -wav/anonymous-20090619-bdl/wav/a0321.wav THE LOG ON WHICH LOP-EAR WAS LYING GOT ADRIFT -wav/anonymous-20090621-jzf/wav/a0059.wav HIS IMMACULATE APPEARANCE WAS GONE -wav/anonymous-20090621-tzs/wav/b0267.wav THE BOY THREW BACK HIS HEAD WITH PRIDE -wav/anonymous-20090623-jhj/wav/a0292.wav HERE IN THE MIDMORNING THE FIRST CASUALTY OCCURRED -wav/anonymous-20090624-reh/wav/b0497.wav ONE GREAT DRAWBACK TO FARMING IN CALIFORNIA IS OUR LONG DRY SUMMER -wav/anonymous-20090626-gyb/wav/rp-21.wav BUT REFRACTION BY THE RAINDROPS WHICH CAUSES THE RAINBOWS -wav/anonymous-20090626-wxv/wav/b0367.wav ANY AVERAGE YOUNG FELLOW CAN TEACH HIMSELF IN A WEEK -wav/anonymous-20090630-evt/wav/a0564.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/anonymous-20090701-znv/wav/b0362.wav WE THREATEN TO BE OF THE ONE MIND BEFORE THE VOYAGE IS COMPLETED -wav/anonymous-20090702-ihb/wav/b0311.wav THE TWENTY NINTH VERY FOGGY -wav/anonymous-20090703-nua/wav/a0158.wav DOES THAT LOOK GOOD -wav/anonymous-20090704-dhe/wav/a0581.wav IT WAS THIS PROPOSITION THAT STARTED THE BIG IDEA IN DAUGHTRY'S MIND -wav/anonymous-20090704-jan/wav/a0335.wav RED-EYE SWUNG BACK AND FORTH ON THE BRANCH FARTHER DOWN -wav/anonymous-20090707-ukn/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/anonymous-20090709-jol/wav/b0491.wav JACOB BRINKER WHO WAS HIS ROADMATE BROUGHT THE NEWS -wav/anonymous-20090709-vhw/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/anonymous-20090710-rsd/wav/b0018.wav I WAS COMPLETELY LOST IN MY WORK -wav/anonymous-20090711-asg/wav/a0018.wav THERE WAS A CHANGE NOW -wav/anonymous-20090711-eod/wav/b0170.wav THEN HE SHOUTED SHUT UP -wav/anonymous-20090711-qjs/wav/b0343.wav BUT HOW ARE YOU GOING TO DO IT -wav/anonymous-20090711-red/wav/b0515.wav BUT ALREADY HE HAD COMPOSED HIMSELF -wav/anonymous-20090711-zoe/wav/b0273.wav THEN IT WAS THAT A STRANGE THING HAPPENED -wav/anonymous-20090711-zqd/wav/a0586.wav WE DON'T SEE OURSELVES AS FOOLISH -wav/anonymous-20090715-nhl/wav/b0354.wav IT'S THAT MUCH JUNK -wav/anonymous-20090715-yrn/wav/b0128.wav PHILIP BENT LOW OVER PIERRE -wav/anonymous-20090716-lwl/wav/a0147.wav A MOMENT BEFORE HE WAS INTOXICATED BY A JOY THAT WAS ALMOST -wav/anonymous-20090717-rti/wav/a0173.wav THE DATE WAS NEARLY EIGHTEEN YEARS OLD -wav/anonymous-20090720-lcc/wav/a0391.wav BUT HE RECONCILED HIMSELF TO IT BY AN ACT OF FAITH -wav/anonymous-20090722-fgs/wav/b0512.wav YOU SHOULD HAVE SEEN THEM WHEN THEY HEARD ME SPITTING CHINOOK -wav/anonymous-20090722-vub/wav/b0331.wav HIS PARTNERS HAD STARVED AND DIED ON THE STEWART -wav/anonymous-20090722-zxx/wav/b0407.wav OF COURSE MUCH GRUMBLING WENT ON AND LITTLE OUTBURSTS WERE CONTINUALLY OCCURRING -wav/anonymous-20090726-dqn/wav/b0187.wav HER ACHIEVEMENTS WITH COCOANUTS WERE A REVELATION -wav/anonymous-20090727-dmh/wav/a0414.wav NOW OUR FIGURING WAS ALL RIGHT -wav/anonymous-20090729-ddh/wav/a0207.wav HOW MUCH WAS IT -wav/anonymous-20090729-qma/wav/a0010.wav I'M PLAYING A SINGLE HAND IN WHAT LOOKS LIKE A LOSING GAME -wav/anonymous-20090731-tfj/wav/b0389.wav AMONG MY MINOR AFFLICTIONS I MAY MENTION A NEW AND MYSTERIOUS ONE -wav/anonymous-20090805-eal/wav/a0486.wav FOR THE REST HE WAS A MERE AUTOMATON -wav/anonymous-20090806-fmb/wav/b0294.wav FOR A MUCH LONGER TIME LOP-EAR AND I REMAINED AND WATCHED -wav/anonymous-20090806-yeg/wav/a0588.wav HE HAD PROVED IT TODAY WITH HIS AMATEURISH AND SOPHOMORIC -wav/anonymous-20090809-nqo/wav/b0231.wav WHAT'S THAT GRUB-THIEF GOT TO DO WITH IT -wav/anonymous-20090809-zoh/wav/a0086.wav DEATH HAD COME WITH TERRIBLE SUDDENNESS -wav/anonymous-20090810-hqe/wav/a0095.wav A BIG CANVAS TENT WAS THE FIRST THING TO COME WITHIN HIS VISION -wav/anonymous-20090813-yzn/wav/a0442.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/anonymous-20090817-vai/wav/b0114.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/anonymous-20090819-cdi/wav/b0459.wav THEY ARE NOT BIOLOGISTS NOR SOCIOLOGISTS -wav/anonymous-20090820-hhh/wav/b0302.wav I PULLED SUDDENLY WITH ALL MY MIGHT -wav/anonymous-20090823-suf/wav/b0208.wav YOU READ THE QUOTATIONS IN TODAY'S PAPER -wav/anonymous-20090824-ipw/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/anonymous-20090825-sqq/wav/a0203.wav THEY WERE FOLLOWING THE SHORE OF A LAKE -wav/anonymous-20090826-kak/wav/a0038.wav WE'LL HAVE TO WATCH OUR CHANCES -wav/anonymous-20090827-hcn/wav/b0494.wav NEVER SO STRANGE A PROPHET CAME UP TO JERUSALEM -wav/anonymous-20090827-pdr/wav/a0538.wav WHAT PASCAL GLIMPSED WITH THE VISION OF A SEER I HAVE LIVED -wav/anonymous-20090830-opn/wav/b0222.wav HE WAS THE LEADER AND TUDOR WAS HIS LIEUTENANT -wav/anonymous-20090901-ccb/wav/b0405.wav AND EACH YEAR SOMETHING HAPPENED AND I DID NOT GO -wav/anonymous-20090901-fvw/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/anonymous-20090901-hvd/wav/a0201.wav HE CRIED AND SWUNG THE CLUB WILDLY -wav/anonymous-20090901-qkb/wav/b0324.wav NOT TILL THE TWENTIETH OF MAY DID THE RIVER BREAK -wav/anonymous-20090901-vei/wav/a0273.wav THEY ARE BIG TREES AND REQUIRE PLENTY OF ROOM -wav/anonymous-20090901-wez/wav/b0423.wav ALSO AT REGULAR INTERVALS HE WOULD MUTTER -wav/anonymous-20090901-xxn/wav/a0048.wav HE LOOKED AT THE HANDKERCHIEF MORE CLOSELY -wav/anonymous-20090901-yfo/wav/b0514.wav TOMORROW OR NEXT DAY IT MIGHT HE GONE -wav/anonymous-20090902-aad/wav/b0157.wav IN THE CRIB THE BABY SAT UP AND BEGAN TO PRATTLE -wav/anonymous-20090902-aku/wav/b0153.wav HE WAS A PARIAH A WANDERER WITHOUT A FRIEND OR A HOME -wav/anonymous-20090902-hct/wav/b0446.wav SOME ONE HAD THRUST A LARGE SHEATH-KNIFE INTO HIS HAND -wav/anonymous-20090902-pfo/wav/b0287.wav OR HAVE THEY ALREADY DEVISED ONE -wav/anonymous-20090903-nvu/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/anonymous-20090905-edk/wav/a0373.wav POINTS OF VIEW NEW IDEAS LIFE -wav/anonymous-20090905-nif/wav/a0591.wav WE ARE BOTH CHILDREN TOGETHER -wav/anonymous-20090906-hdk/wav/a0039.wav THE SHIP SHOULD BE IN WITHIN A WEEK OR TEN DAYS -wav/anonymous-20090906-ymr/wav/b0158.wav SHE OBEYED SHRINKING BACK WITH THE BABY IN HER ARMS -wav/anonymous-20090908-gfl/wav/a0390.wav I'LL GO OVER TOMORROW AFTERNOON -wav/anonymous-20090909-ngd/wav/b0293.wav BETWEEN HIM AND ALL DOMESTIC ANIMALS THERE MUST BE NO HOSTILITIES -wav/anonymous-20090913-ujd/wav/rp-31.wav WITH LITTLE OR NO GREEN OR BLUE -wav/anonymous-20090913-ywf/wav/a0536.wav HE WOULD DESTROY ALL THINGS THAT ARE FIXED -wav/anonymous-20090914-fee/wav/a0102.wav HE WILL FOLLOW US SOON -wav/anonymous-20090916-vfk/wav/b0078.wav THERE WAS PRIDE AND STRENGTH THE RING OF TRIUMPH IN HIS VOICE -wav/anonymous-20090917-aiu/wav/b0037.wav PHILIP KNEW THAT SHE WAS NOT AN INDIAN -wav/anonymous-20090917-bvk/wav/a0020.wav CLUBS AND BALLS AND CITIES GREW TO BE ONLY MEMORIES -wav/anonymous-20090917-dcv/wav/a0518.wav ILLUMINATING OIL WAS BECOMING ALL PROFIT -wav/anonymous-20090917-dgm/wav/a0552.wav YET HE DREAMS HE IS IMMORTAL I ARGUE FEEBLY -wav/anonymous-20090917-fjn/wav/a0445.wav THE CREATIVE JOY I MURMURED -wav/anonymous-20090917-frf/wav/ar-16.wav JUST THEN THE OLD RAT SAW ARTHUR STOP HE ORDERED COARSELY -wav/anonymous-20090917-lvy/wav/a0413.wav BUT I AM AT THE END OF MY RESOURCES -wav/anonymous-20090917-mmc/wav/b0472.wav ERNEST SAW IN THE AFFAIR THE MOST SINISTER IMPORT -wav/anonymous-20090917-mvg/wav/b0173.wav TO THESE HE GAVE CASTOR OIL -wav/anonymous-20090917-ppu/wav/a0201.wav HE CRIED AND SWUNG THE CLUB WILDLY -wav/anonymous-20090917-puz/wav/ar-11.wav THIS WON'T DO SAID THE CAPTAIN I'LL SEND OUT SCOUTS TO SEARCH FOR A NEW HOME -wav/anonymous-20090917-sda/wav/a0258.wav SOAKED IN SEAWATER THEY OFFSET THE HEAT RAYS -wav/anonymous-20090917-tgz/wav/rb-01.wav HAND-HELD DEVICES SUCH AS PERSONAL DIGITAL ASSISTANTS AND SMARTPHONES ARE QUITE SMALL -wav/anonymous-20090917-vwy/wav/b0309.wav NOR WAS ELAM HARNISH AN EXCEPTION -wav/anonymous-20090917-xwg/wav/b0329.wav I'D SOONER HAVE MY CHIPS BACK -wav/anonymous-20090917-zsc/wav/b0366.wav I FORGOT HOW EASILY I HAD TAUGHT MYSELF FROM THE PRINTED PAGE -wav/anonymous-20090917-ztw/wav/b0160.wav IT WAS OVER WHEN HE MADE HIS WAY THROUGH THE RING OF SPECTATORS -wav/anonymous-20090918-wqs/wav/b0242.wav THE JAPANESE UNDERSTOOD AS WE COULD NEVER SCHOOL OURSELVES OR HOPE TO UNDERSTAND -wav/anonymous-20090919-ape/wav/b0388.wav I MADE NO MORE OVERTURES -wav/anonymous-20090919-dez/wav/a0190.wav NEXT TO THEM THE CANADA JAYS WERE MOST PERSISTENT -wav/anonymous-20090919-kma/wav/a0176.wav FOR THE FIRST TIME IN HIS LIFE HE WAS YEARNING FOR A SCRAP -wav/anonymous-20090919-kwi/wav/b0419.wav YOUR FATHER'S FIFTH COMMAND HE NODDED -wav/anonymous-20090919-mtv/wav/a0271.wav NOW PLEASE GIVE A PLAIN STATEMENT OF WHAT OCCURRED -wav/anonymous-20090919-xjn/wav/b0352.wav NOW JUST WHAT DO YOU WANT TO KNOW -wav/anonymous-20090923-ntq/wav/a0127.wav IT WAS A TEMPTATION BUT HE RESISTED IT -wav/anonymous-20090925-hko/wav/b0119.wav BILLINGER MAY ARRIVE IN TIME -wav/anonymous-20090927-gzu/wav/a0447.wav AH IT IS GROWING DARK AND DARKER -wav/anonymous-20090927-ovr/wav/a0218.wav THE RINGING OF THE BIG BELL AROUSED HIM -wav/anonymous-20090927-soe/wav/b0536.wav TYPHOID DID I TELL YOU -wav/anonymous-20090929-biw/wav/b0468.wav IT WAS INTRODUCED BY REPRESENTATIVE DICK OF OHIO -wav/anonymous-20091001-auy/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/anonymous-20091003-ips/wav/b0331.wav HIS PARTNERS HAD STARVED AND DIED ON THE STEWART -wav/anonymous-20091003-thg/wav/a0464.wav BETWEEN THE RUSH OF THE CASCADES STREAKS OF RUST SHOWED EVERYWHERE -wav/anonymous-20091005-feq/wav/rb-08.wav THE AMOUNT OF AVAILABLE SCREEN REAL-ESTATE -wav/anonymous-20091007-vwg/wav/b0461.wav BY VIRTUE OF THAT POWER WE SHALL REMAIN IN POWER -wav/anonymous-20091008-klx/wav/a0445.wav THE CREATIVE JOY I MURMURED -wav/anonymous-20091009-ijw/wav/b0363.wav SHE WAS BUILT PRIMARILY TO SAIL -wav/anonymous-20091009-jnj/wav/a0478.wav ALSO SHE HAS FORBIDDEN THEM SMOKING THEIR PIPES IN THE AFTER-ROOM -wav/anonymous-20091013-icf/wav/a0032.wav SINCE THEN SOME MYSTERIOUS FORCE HAS BEEN FIGHTING US AT EVERY STEP -wav/anonymous-20091017-jrw/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/anonymous-20091019-cbh/wav/a0492.wav BURNT OUT LIKE THE CRATER OF A VOLCANO -wav/anonymous-20091019-gcv/wav/a0235.wav HIS VOICE WAS PASSIONATELY REBELLIOUS -wav/anonymous-20091019-hpu/wav/b0413.wav HE MAY DESIRE TO ESCAPE PAIN OR TO ENJOY PLEASURE -wav/anonymous-20091019-inx/wav/b0052.wav THE FLUSH WAS GONE FROM HER FACE -wav/anonymous-20091019-lxq/wav/b0148.wav THE INDIAN EVEN POKED HIS STICK INTO THE THICK GROUND SPRUCE -wav/anonymous-20091019-mge/wav/a0501.wav YOU'RE JOKING ME SIR THE OTHER MANAGED TO ARTICULATE -wav/anonymous-20091019-nlw/wav/b0126.wav BLOOD WAS OOZING SLOWLY FROM THE WOUNDED MAN'S RIGHT BREAST -wav/anonymous-20091019-pqp/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/anonymous-20091019-rbj/wav/a0021.wav IT FAIRLY CLUBBED ME INTO RECOGNIZING IT -wav/anonymous-20091019-ree/wav/a0590.wav IN A WAY HE IS MY PROTEGE -wav/anonymous-20091020-cit/wav/b0391.wav AT SEA TUESDAY MARCH SEVENTEENTH NINETEEN OH EIGHT -wav/anonymous-20091020-jeh/wav/b0273.wav THEN IT WAS THAT A STRANGE THING HAPPENED -wav/anonymous-20091020-uga/wav/b0170.wav THEN HE SHOUTED SHUT UP -wav/anonymous-20091020-xgb/wav/a0535.wav DOCTRINE COME TO JERUSALEM -wav/anonymous-20091020-yow/wav/a0031.wav THEY WERE THREE HUNDRED YARDS APART -wav/anonymous-20091025-sap/wav/b0049.wav THERE WAS NOTHING MORE EXCEPT A LARGE INK BLOT UNDER THE WORDS -wav/anonymous-20091027-coy/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/anonymous-20091029-hzj/wav/a0405.wav IT SEEMED THE ORDAINED ORDER OF THINGS THAT DOGS SHOULD WORK -wav/anonymous-20091029-jdm/wav/a0310.wav MASSAGE UNDER TENSION WAS THE CRYPTIC REPLY -wav/anonymous-20091029-vql/wav/a0208.wav YOUTH HAD COME BACK TO HER FREED FROM THE YOKE OF OPPRESSION -wav/anonymous-20091030-jmb/wav/a0413.wav BUT I AM AT THE END OF MY RESOURCES -wav/anonymous-20091101-qcf/wav/rb-09.wav ON TOP OF THAT THUMBING OR THUMB TYPING PUTS A LOT OF STRAIN ON THE THUMB -wav/anonymous-20091102-kue/wav/b0184.wav SUCH THINGS IN HER BRAIN WERE LIKE SO MANY OATHS ON HER LIPS -wav/anonymous-20091102-lwb/wav/b0448.wav SANDEL WOULD NEVER BECOME A WORLD CHAMPION -wav/anonymous-20091102-qlq/wav/b0257.wav TUDOR SURVEYED HIM WITH WITHERING DISGUST -wav/anonymous-20091102-zha/wav/b0323.wav CRICKETS BEGAN TO CHIRP AND MORE GEESE AND DUCKS FLEW OVERHEAD -wav/anonymous-20091103-gpw/wav/b0475.wav NOT A WHEEL MOVED IN HIS EMPIRE -wav/anonymous-20091103-lwl/wav/rp-01.wav WHEN THE SUNLIGHT STRIKES RAINDROPS IN THE AIR -wav/anonymous-20091103-nvh/wav/b0006.wav HE SEIZED GREGSON BY THE ARM AND LED HIM TO THE DOOR -wav/anonymous-20091105-jvb/wav/a0560.wav HIS MOUTH OPENED WORDS SHAPED VAINLY ON HIS LIPS -wav/anonymous-20091105-vgd/wav/b0143.wav IT TOOK HIM HALF AN HOUR TO REACH THE EDGE OF IT -wav/anonymous-20091107-bzq/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/anonymous-20091107-stt/wav/a0372.wav HE SAW ONLY THE EFFECT IN A GENERAL SKETCHY WAY -wav/anonymous-20091108-zco/wav/b0513.wav HE PLODDED ON FOR HALF AN HOUR WHEN THE HALLUCINATION AROSE AGAIN -wav/anonymous-20091110-egt/wav/a0265.wav THE DISCOVERY SEEMED TO HAVE BEEN MADE ON THE SPUR OF THE MOMENT -wav/anonymous-20091115-aat/wav/a0249.wav ALL EYES HOWEVER WERE STARING AT HIM IN CERTITUDE OF EXPECTANCY -wav/anonymous-20091117-gmx/wav/a0462.wav BUT SHE SWUNG OBEDIENTLY ON HER HEEL INTO THE WIND -wav/anonymous-20091120-evi/wav/b0077.wav IT IS THE NEAREST REFUGE -wav/anonymous-20091122-hhm/wav/a0034.wav MEN OF SELDEN'S STAMP DON'T STOP AT WOMEN AND CHILDREN -wav/anonymous-20091122-vjb/wav/a0413.wav BUT I AM AT THE END OF MY RESOURCES -wav/anonymous-20091125-yll/wav/a0512.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/anonymous-20091129-jmu/wav/a0442.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/anonymous-20091203-est/wav/b0478.wav THE OLIGARCHY WILL ENCOURAGE SUCH AMBITION AND THE CONSEQUENT COMPETITION -wav/anonymous-20091204-akz/wav/a0565.wav WITH THEM WERE INDIANS ALSO THREE OTHER MEN -wav/anonymous-20091204-fqu/wav/b0015.wav THEY ROBBED ME A FEW YEARS LATER -wav/anonymous-20091204-ndj/wav/a0296.wav BASSETT WAS A FASTIDIOUS MAN -wav/anonymous-20091207-wce/wav/b0471.wav ALSO A FELLOW SENATOR CHAUNCEY DEPEW SAID -wav/anonymous-20091208-ijp/wav/a0215.wav THEY DIE OUT OF SPITE -wav/anonymous-20091208-rwz/wav/b0029.wav ALL OPERATIONS HAVE BEEN CARRIED ON FROM MONTREAL AND TORONTO -wav/anonymous-20091209-akg/wav/a0347.wav THEY ARE GREATLY DELIGHTED WITH ANYTHING THAT IS BRIGHT OR GIVETH A SOUND -wav/anonymous-20091209-hpc/wav/b0350.wav STAND OFF BUTCHER AND BAKER AND ALL THE REST -wav/anonymous-20091209-syp/wav/a0299.wav I TELL YOU I AM DISGUSTED WITH THIS ADVENTURE TOMFOOLERY AND ROT -wav/anonymous-20091213-pwc/wav/a0392.wav THERE IS THAT MAGNIFICENT BOB EATING HIS HEAD OFF IN THE STABLE -wav/anonymous-20091215-hbw/wav/a0014.wav NOW YOU'RE COMING DOWN TO BUSINESS PHIL HE EXCLAIMED -wav/anonymous-20091215-jjn/wav/a0007.wav AND YOU ALWAYS WANT TO SEE IT IN THE SUPERLATIVE DEGREE -wav/anonymous-20091215-qpr/wav/b0260.wav IT'S WORTH EIGHT DOLLARS -wav/anonymous-20091219-amu/wav/b0310.wav A LITTLE TREATMENT MASSAGE WITH SOME HELP FROM THE DOCTOR -wav/anonymous-20091220-ijn/wav/rp-19.wav THE SUN'S RAYS BY THE RAIN -wav/anonymous-20091220-kcz/wav/b0073.wav WITH THESE ARGUMENTS HE CONVINCED HIMSELF THAT HE SHOULD GO ON ALONE -wav/anonymous-20091220-ngq/wav/b0212.wav DEATH IS AND HAS BEEN EVER SINCE OLD MAUI DIED -wav/anonymous-20091220-qsv/wav/b0536.wav TYPHOID DID I TELL YOU -wav/anonymous-20091220-xjy/wav/a0143.wav AH I HAD FORGOTTEN HE EXCLAIMED -wav/anonymous-20091221-fbh/wav/rb-02.wav MOST OF THEM USE EITHER A TOUCH SCREEN INTERFACE OR A MINIATURIZED KEYBOARD FOR USER INPUT -wav/anonymous-20091226-cqx/wav/b0395.wav I WAS BENEATH THE WATER SUFFOCATING AND DROWNING -wav/anonymous-20091226-euf/wav/b0511.wav DO YOU VALUE YOUR HIDE -wav/anonymous-20091226-fgl/wav/b0407.wav OF COURSE MUCH GRUMBLING WENT ON AND LITTLE OUTBURSTS WERE CONTINUALLY OCCURRING -wav/anonymous-20091226-olz/wav/b0341.wav I PLAY THAT CHOICE WIDE OPEN TO WIN -wav/anonymous-20091226-rsc/wav/a0515.wav BUT HERE AMONGST OURSELVES LET US SPEAK OUT -wav/anonymous-20091226-tto/wav/b0296.wav AT TIMES I WONDERED WHERE SIR ARCHIBALD GOT HIS STYLE -wav/anonymous-20091226-vlu/wav/a0127.wav IT WAS A TEMPTATION BUT HE RESISTED IT -wav/anonymous-20091227-sns/wav/rb-08.wav THE AMOUNT OF AVAILABLE SCREEN REAL-ESTATE -wav/anonymous-20091229-exn/wav/a0520.wav HE WAS FOND OF QUOTING A FRAGMENT FROM A CERTAIN POEM -wav/anonymous-20091230-cuj/wav/a0487.wav THE RIVER BARED ITS BOSOM AND SNORTING STEAMBOATS CHALLENGED THE WILDERNESS -wav/anonymous-20091230-xjy/wav/b0497.wav ONE GREAT DRAWBACK TO FARMING IN CALIFORNIA IS OUR LONG DRY SUMMER -wav/anonymous-20091231-bfi/wav/b0273.wav THEN IT WAS THAT A STRANGE THING HAPPENED -wav/anonymous-20100103-epc/wav/rb-35.wav AND OPEN MY THESIS MIGHT SOON BE QUITE COMMON -wav/anonymous-20100105-yhn/wav/b0451.wav YOU USED TO JOYRIDE LIKE THE VERY DEVIL -wav/anonymous-20100106-btd/wav/a0499.wav AND RIGHT THERE I SAW AND KNEW IT ALL -wav/anonymous-20100106-eyq/wav/a0017.wav FROM THAT MOMENT HIS FRIENDSHIP FOR BELIZE TURNS TO HATRED AND JEALOUSY -wav/anonymous-20100106-jij/wav/a0477.wav WADA LOUIS AND THE STEWARD ARE SERVANTS OF ASIATIC BREED -wav/anonymous-20100106-kwb/wav/a0565.wav WITH THEM WERE INDIANS ALSO THREE OTHER MEN -wav/anonymous-20100106-msc/wav/b0216.wav I WISH YOU WERE MORE ADAPTABLE JOAN RETORTED -wav/anonymous-20100106-myn/wav/b0495.wav WE WHO HAVE ENDURED SO MUCH SURELY CAN ENDURE A LITTLE MORE -wav/anonymous-20100106-riw/wav/a0505.wav WE FISHED SHARKS ON NIIHAU TOGETHER -wav/anonymous-20100106-vhm/wav/a0240.wav WASH YOUR HANDS OF ME -wav/anonymous-20100106-vyf/wav/b0408.wav YOU HAVE ALL THE ADVANTAGE -wav/anonymous-20100106-xmf/wav/a0496.wav AND TOM KING PATIENTLY ENDURED -wav/anonymous-20100106-xov/wav/a0317.wav HE WAS A WISE HYENA -wav/anonymous-20100108-eee/wav/b0252.wav IT RESEMBLED TEA LESS THAN LAGER BEER RESEMBLES CHAMPAGNE -wav/anonymous-20100109-jkc/wav/a0491.wav AND AS IN DENIAL OF GUILT THE ONE-LEGGED BOY REPLIED -wav/anonymous-20100109-nzr/wav/b0523.wav THE RUSSIAN MUSIC PLAYER THE COUNT WAS HER OBEDIENT SLAVE -wav/anonymous-20100109-wog/wav/b0517.wav EGGSHELL IS NOT GOOD TO EAT -wav/anonymous-20100109-yqt/wav/a0353.wav HERE THE EXPLOSION OF MIRTH DROWNED HIM OUT -wav/anonymous-20100110-bvj/wav/a0537.wav HE WAS AN ENTHUSIAST AND A DESERT DWELLER -wav/anonymous-20100110-obx/wav/a0237.wav SO HUGHIE AND I DID THE MANAGING OURSELVES -wav/anonymous-20100111-bxh/wav/b0189.wav THAT IS WHAT DISTINGUISHES ALL OF US FROM THE LOWER ANIMALS -wav/anonymous-20100111-mre/wav/a0417.wav IT IS ALSO AN INSIDIOUS DECEITFUL SUN -wav/anonymous-20100111-rhu/wav/a0025.wav I WAS ABOUT TO DO THIS WHEN COOLER JUDGMENT PREVAILED -wav/anonymous-20100119-mmo/wav/a0341.wav WHY DOGGONE YOU ALL SHAKE AGAIN -wav/anonymous-20100121-qfq/wav/b0538.wav AT THE BEST THEY WERE NECESSARY ACCESSORIES -wav/anonymous-20100121-upe/wav/b0283.wav BUT WE WERE WITHOUT THIS MOMENTUM -wav/anthonyschaller-20071221-/wav/a0498.wav THE LINES WERE NOW VERY TAUT -wav/Apple_Eater-20091026-yul/wav/a0059.wav HIS IMMACULATE APPEARANCE WAS GONE -wav/Ara-20091020-vni/wav/a0524.wav AT ONCE WOULD BE INSTITUTED A DOZEN COOPERATIVE COMMONWEALTH STATES -wav/Ara-20091021-wpl/wav/ar-23.wav IN THE FOGGY MORNING SOME MEN WITH SOME BOYS AND GIRLS RODE UP AND LOOKED AT THE BARN -wav/argail-20090722-gau/wav/rb-19.wav THAT MEANS THAT WHEN A PROGRAMMER WANTS TO WRITE SPEECH RECOGNITION SOFTWARE -wav/asp-20091228-inn/wav/a0294.wav HE HAD BEEN FOILED IN HIS ATTEMPT TO ESCAPE -wav/asp-20091228-qtl/wav/a0584.wav I HAVE LONG NOTED YOUR THIRST UNQUENCHABLE -wav/atamur-20090211-wdo/wav/a0546.wav I LOST MY BALANCE AND PITCHED HEAD FOREMOST INTO THE OOZE -wav/atterer-20080101-bud/wav/b0423.wav ALSO AT REGULAR INTERVALS HE WOULD MUTTER -wav/atterer-20080101-gpr/wav/b0402.wav AN ALTRUISTIC ACT IS AN ACT PERFORMED FOR THE WELFARE OF OTHERS -wav/atterer-20080101-qvo/wav/b0338.wav IT WAS UNOBTRUSIVE YET IT WAS THERE -wav/atterer-20080101-xkv/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/atterer-20080102-qgo/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/atterer-20080108-dlc/wav/b0456.wav HE WAS AN AMPHIBIAN AND A MOUNTAINEER -wav/atterer-20080108-wnr/wav/a0402.wav CURLY RUSHED HER ANTAGONIST WHO STRUCK AGAIN AND LEAPED ASIDE -wav/atterer-01202007-a/wav/rp-08.wav WHEN A MAN LOOKS FOR SOMETHING BEYOND HIS REACH -wav/atterer-01202007-a/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/atterer-01202007-a/wav/rp-28.wav THE RESULT IS TO GIVE A BOW WITH AN ABNORMALLY WIDE YELLOW BAND -wav/atterer-01202007-b/wav/vf21-07.wav SHORTY TURNED TO THEIR EMPLOYERS -wav/atterer-01202007-b/wav/vf21-17.wav THEY JUST LAY OFF IN THE BUSH AND PLUGGED AWAY -wav/atterer-01202007-b/wav/vf21-27.wav HE WANTED TO GIVE THE FINISH TO THIS FOE ALREADY SO FAR GONE -wav/atterer-01202007-b/wav/vf21-37.wav TUDOR SURVEYED HIM WITH WITHERING DISGUST -wav/atterer-02052007-vf5/wav/vf5-07.wav I WAS NEAR THE CABIN AND SAW YOU -wav/atterer-02052007-vf5/wav/vf5-17.wav SHE HAD BEEN THOROUGHLY AND EFFICIENTLY MAULED -wav/atterer-02052007-vf5/wav/vf5-27.wav AHEAD OF THEM THEY SAW A GLIMMER OF SUNSHINE -wav/atterer-02052007-vf5/wav/vf5-37.wav SUCH A DOG THE WISE DRIVER KILLS OR TURNS LOOSE -wav/atterer-21012007-vf22/wav/vf22-07.wav THE BOY THREW BACK HIS HEAD WITH PRIDE -wav/atterer-21012007-vf22/wav/vf22-17.wav TWO OF THE FOLK WERE ALREADY UP -wav/atterer-21012007-vf22/wav/vf22-27.wav OR HAVE THEY ALREADY DEVISED ONE -wav/atterer-21012007-vf22/wav/vf22-37.wav WHY SHOULD A FELLOW THROW UP THE SPONGE AFTER THE FIRST ROUND -wav/granthulbert-ar-01032007/wav/ar-07.wav ONE RAINY DAY THE RATS HEARD A GREAT NOISE IN THE LOFT -wav/granthulbert-ar-01032007/wav/ar-17.wav YOU ARE COMING OF COURSE I'M NOT CERTAIN SAID ARTHUR UNDAUNTED -wav/granthulbert-cc-01032007/wav/cc-03.wav SO SHE WAS VERY HAPPY TO START A NEW JOB AT A SUPERB PRIVATE PRACTICE -wav/granthulbert-cc-01032007/wav/cc-13.wav OF FOOT AND MOUTH DISEASE WHICH WAS SURPRISING -wav/granthulbert-cc-01032007/wav/cc-23.wav THEN SINGING A TUNE TO HER FINALLY SHE ADMINISTERED ETHER -wav/granthulbert-cc-01032007/wav/cc-33.wav THOUGHT IT WAS A FAIR PRICE FOR A CURE -wav/granthulbert-rp-01032007/wav/rp-04.wav THESE TAKE THE SHAPE OF A LONG ROUND ARCH WITH ITS PATH HIGH ABOVE -wav/granthulbert-rp-01032007/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/granthulbert-rp-01032007/wav/rp-24.wav AND THE WIDTH OF THE COLORED BAND INCREASES AS THE SIZE OF THE DROPS INCREASES -wav/ilopezc-20060321-rainbow/wav/rp-03.wav THE RAINBOW IS A DIVISION OF WHITE LIGHT INTO MANY BEAUTIFUL COLORS -wav/ilopezc-20060321-rainbow/wav/rp-13.wav THE GREEKS USED TO IMAGINE THAT IT WAS A SIGN -wav/ilopezc-20060321-rainbow/wav/rp-23.wav THE DIFFERENCE IN THE RAINBOW DEPENDS CONSIDERABLY UPON THE SIZE OF THE DROPS -wav/jaiger-20061231-vf7/wav/vf7-02.wav I SAW IT WHEN SHE ROLLED -wav/jaiger-20061231-vf7/wav/vf7-12.wav O'BRIEN HAD BEEN A CLEAN LIVING YOUNG MAN WITH IDEALS -wav/jaiger-20061231-vf7/wav/vf7-22.wav THEY WOULDN'T BE SWEEPING A BIG VESSEL LIKE THE MARTHA -wav/jaiger-20061231-vf7/wav/vf7-32.wav YOU CAN TAKE A VACATION ON PAY -wav/jaiger-20061231-vf8/wav/vf8-02.wav IF YOU MEAN TO INSINUATE BRENTWOOD BEGAN HOTLY -wav/jaiger-20061231-vf8/wav/vf8-12.wav HERE IN THE MIDMORNING THE FIRST CASUALTY OCCURRED -wav/jaiger-20061231-vf8/wav/vf8-22.wav IT IS VERY PLAUSIBLE TO SUCH PEOPLE A MOST CONVINCING HYPOTHESIS -wav/jaiger-20061231-vf8/wav/vf8-32.wav IT LIVED IN PERPETUAL APPREHENSION OF THAT QUARTER OF THE COMPASS -wav/jaiger-20070103-vf10/wav/vf10-02.wav NOPE NOT THE SLIGHTEST IDEA -wav/jaiger-20070103-vf10/wav/vf10-12.wav HE SAW ONLY THE EFFECT IN A GENERAL SKETCHY WAY -wav/jaiger-20070103-vf10/wav/vf10-22.wav DAYLIGHT FOUND HIMSELF CHARMED AND MADE CURIOUS BY THE LITTLE MAN -wav/jaiger-20070103-vf10/wav/vf10-32.wav THERE IS THAT MAGNIFICENT BOB EATING HIS HEAD OFF IN THE STABLE -wav/jaiger-20070103-vf9/wav/vf9-02.wav THIS IS A COMMON EXPERIENCE WITH ALL OF US -wav/jaiger-20070103-vf9/wav/vf9-12.wav UNCONSCIOUSLY OUR YELLS AND EXCLAMATIONS YIELDED TO THIS RHYTHM -wav/jaiger-20070103-vf9/wav/vf9-22.wav SEVENTEEN NO EIGHTEEN DAYS AGO -wav/jaiger-20070103-vf9/wav/vf9-32.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/jaiger-20070209-vf11/wav/vf11-02.wav CURLY RUSHED HER ANTAGONIST WHO STRUCK AGAIN AND LEAPED ASIDE -wav/jaiger-20070209-vf11/wav/vf11-12.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/jaiger-20070209-vf11/wav/vf11-22.wav HALFWAY AROUND THE TRACK ONE DONKEY GOT INTO AN ARGUMENT WITH ITS RIDER -wav/jaiger-20070209-vf11/wav/vf11-32.wav THE BOY AT THE WHEEL LOST HIS HEAD -wav/jaiger-20070209-vf12/wav/vf12-02.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/jaiger-20070209-vf12/wav/vf12-12.wav THREE OILERS AND A FOURTH ENGINEER WAS HIS GREETING -wav/jaiger-20070209-vf12/wav/vf12-22.wav BUT SHE SWUNG OBEDIENTLY ON HER HEEL INTO THE WIND -wav/jaiger-20070209-vf12/wav/vf12-32.wav HE IS TOO KEENLY INTELLIGENT TOO SHARPLY SENSITIVE SUCCESSFULLY TO ENDURE -wav/jaiger-20070209-vf13/wav/vf13-02.wav AND THEIR CHIEF VIRTUE LIES IN THAT THEY WILL NEVER WEAR OUT -wav/jaiger-20070209-vf13/wav/vf13-12.wav BURNT OUT LIKE THE CRATER OF A VOLCANO -wav/jaiger-20070209-vf13/wav/vf13-22.wav ANYTHING UNUSUAL OR ABNORMAL WAS SUFFICIENT TO SEND A FELLOW TO MOLOKAI -wav/jaiger-20070209-vf13/wav/vf13-32.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/jaiger-20070209-vf14/wav/vf14-02.wav FOR SUCH COUNTRIES NOTHING REMAINED BUT REORGANIZATION -wav/jaiger-20070209-vf14/wav/vf14-12.wav MAY DROUGHT DESTROY YOUR CROPS -wav/jaiger-20070209-vf14/wav/vf14-22.wav WITHOUT A DOUBT SOME OF THEM HAVE DINNER ENGAGEMENTS -wav/jaiger-20070209-vf14/wav/vf14-32.wav YET HE DREAMS HE IS IMMORTAL I ARGUE FEEBLY -wav/jaiger-20070209-vf15/wav/vf15-02.wav WHAT THE FLAMING -wav/jaiger-20070209-vf15/wav/vf15-12.wav I NEVER SAW ANYTHING LIKE HER IN MY LIFE -wav/jaiger-20070209-vf15/wav/vf15-22.wav YOU GOT OUT BY FIGHTING AND I THROUGH A PRETTY GIRL -wav/jaiger-20070209-vf15/wav/vf15-32.wav SOMETHING THAT WHITTEMORE HAD NOT YET SAID THRILLED HIM -wav/jaiger-vf16-20070214/wav/vf16-02.wav IF I WAS OUT OF THE GAME IT WOULD BE EASILY MADE -wav/jaiger-vf16-20070214/wav/vf16-12.wav HE CAUGHT HIMSELF WITH A JERK -wav/jaiger-vf16-20070214/wav/vf16-22.wav TEN MINUTES HAD NOT ELAPSED SINCE HE HAD DROPPED THE HANDKERCHIEF -wav/jaiger-vf16-20070214/wav/vf16-32.wav THE FLUSH WAS GONE FROM HER FACE -wav/jaiger-vf17-20070214/wav/vf17-02.wav NOW IT WAS MISSING FROM THE WALL -wav/jaiger-vf17-20070214/wav/vf17-12.wav THEN HE HASTENED ON AS PIERRE HAD GUIDED HIM -wav/jaiger-vf17-20070214/wav/vf17-22.wav HE BIT HIS TONGUE AND CURSED HIMSELF AT THIS FRESH BREAK -wav/jaiger-vf17-20070214/wav/vf17-32.wav I WANT TO DIE IN IT -wav/jaiger-vf18-20070214/wav/vf18-02.wav I'LL ONLY BE IN THE WAY -wav/jaiger-vf18-20070214/wav/vf18-12.wav JEANNE AND PIERRE BOTH GAZED TOWARD THE GREAT ROCK -wav/jaiger-vf18-20070214/wav/vf18-22.wav PHILIP SAW MACDOUGALL SOON AFTER HIS SHORT TALK WITH THORPE -wav/jaiger-vf18-20070214/wav/vf18-32.wav THERE IS NO NEED OF FURTHER DETAIL NOW FOR YOU CAN UNDERSTAND -wav/jaiger-vf19-20070220/wav/vf19-02.wav SOMETHING VASTLY MORE THRILLING HAD COME INTO IT NOW -wav/jaiger-vf19-20070220/wav/vf19-12.wav OW A WILD DOG HE GROWLED -wav/jaiger-vf19-20070220/wav/vf19-22.wav HE THOUGHT HE SAW A SHUDDER PASS THROUGH THE FACTOR'S SHOULDERS -wav/jaiger-vf19-20070220/wav/vf19-32.wav ON THE FAR CORNER OF THE COMPOUND FENCE A HAWK BROODED -wav/jaiger-vf20-20070220/wav/vf20-02.wav I WAS IN NEW YORK WHEN THE CRASH CAME -wav/jaiger-vf20-20070220/wav/vf20-12.wav OUTSIDERS ARE ALLOWED FIVE MINUTE SPEECHES THE SICK MAN URGED -wav/jaiger-vf20-20070220/wav/vf20-22.wav SOCIETY IS SHAKEN TO ITS FOUNDATIONS -wav/jaiger-vf20-20070220/wav/vf20-32.wav DEATH IS AND HAS BEEN EVER SINCE OLD MAUI DIED -wav/jimmowatt-20070308-hoe/wav/hoe0002.wav FOR MORE INFORMATION AND TO FIND OUT HOW YOU CAN VOLUNTEER -wav/jimmowatt-20070308-hoe/wav/hoe0012.wav AND WAS EVEN IN THE DECLINE OF LIFE AN INDEFATIGABLE WALKER -wav/jimmowatt-20070308-hoe/wav/hoe0022.wav FROM RAMBLING AS USUAL HE NOW SPENT HIS MORNINGS -wav/jimmowatt-20070308-hoe/wav/hoe0032.wav WHICH HAD BORNE UP AGAINST DEFEAT EXILE AND PENURY -wav/jimmowatt-20070308-hoe/wav/hoe0042.wav WOULD WEAR A DECENT ASPECT WERE STRUCK WITH ASTONISHMENT AND HORROR -wav/jimmowatt-20070308-hoe/wav/hoe0052.wav DUCHESS OF MAZARIN AND NIECE OF THE GREAT CARDINAL -wav/jimmowatt-20070308-hoe/wav/hoe0062.wav HAD FLED FROM HER HUSBAND HAD ABANDONED HER VAST WEALTH -wav/jimmowatt-20070308-hoe/wav/hoe0072.wav REQUIRED STRONGER STIMULANTS AND SOUGHT THEM IN GALLANTRY IN BASSET -wav/jimmowatt-20070308-hoe/wav/hoe0082.wav THAT MORNING THE CONTENDING FACTIONS IN HIS COUNCIL HAD DURING SOME DAYS -wav/jimmowatt-20070308-hoe/wav/hoe0092.wav HAD BEEN ORDERED TO ATTEND WITH THEIR BOOKS ON THAT DAY -wav/jimmowatt-20070308-hoe/wav/hoe0102.wav HE UTTERED A CRY STAGGERED AND FELL INTO THE ARMS OF ONE OF HIS LORDS -wav/jimmowatt-20070308-hoe/wav/hoe0112.wav THE VERY FURNITURE OF THE CHIMNEY WAS MASSY SILVER -wav/jimmowatt-20070308-hoe/wav/hoe0122.wav GAVE HERSELF UP TO AN AGONY OF GRIEF -wav/jimmowatt-20070308-hoe/wav/hoe0132.wav WAS REGARDED AS AN EXTRAORDINARY CIRCUMSTANCE -wav/jimmowatt-20070308-hoe/wav/hoe0142.wav THE PRIMATE AND FOUR OTHER BISHOPS WERE THEN IN LONDON -wav/jimmowatt-20070308-hoe/wav/hoe0152.wav THE BELLS OF ALL THE CHURCHES RANG MERRILY -wav/jimmowatt-20070308-hoe/wav/hoe0162.wav AND COMPLAINED THAT HE FELT AS IF A FIRE WAS BURNING WITHIN HIM -wav/jimmowatt-20070308-hoe/wav/hoe0172.wav IT IS TIME HE SAID TO SPEAK OUT FOR SIR -wav/jimmowatt-20070308-hoe/wav/hoe0182.wav WHEN THE COURT WAS AT WINCHESTER TO LET ELEANOR GWYNN -wav/jimmowatt-20070308-hoe/wav/hoe0192.wav HE MADE NO OBJECTION INDEED WHEN THE SERVICE FOR THE VISITATION OF THE SICK WAS READ -wav/jimmowatt-20070308-hoe/wav/hoe0202.wav BUT IN VAIN SOMETIMES -wav/jimmowatt-20070308-hoe/wav/hoe0212.wav WITH THE CARE OF HIS OWN INTERESTS -wav/jimmowatt-20070308-hoe/wav/hoe0222.wav HE NEVER REFLECTED THAT HIS BROTHER WAS IN DANGER OF DYING -wav/jimmowatt-20070308-hoe/wav/hoe0232.wav TO ENQUIRE AFTER THE KING PAID HER A VISIT -wav/kmaclean-12062006-a/wav/vf6-07.wav HOW MUCH WAS IT -wav/kmaclean-12062006-a/wav/vf6-17.wav OPPRESSIVE AS THE HEAT HAD BEEN IT WAS NOW EVEN MORE OPPRESSIVE -wav/kmaclean-12062006-a/wav/vf6-27.wav IT WAS THE SAME WAY WITH OUR REVOLVERS AND RIFLES -wav/kmaclean-12062006-a/wav/vf6-37.wav SO HUGHIE AND I DID THE MANAGING OURSELVES -wav/kmaclean-12062006/wav/rp-07.wav PEOPLE LOOK BUT NO ONE EVER FINDS IT -wav/kmaclean-12062006/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/kmaclean-12062006/wav/rp-27.wav IF THE RED OF THE SECOND BOW FALLS UPON THE GREEN OF THE FIRST -wav/robin-20030302-vf10/wav/vf10-06.wav A WILDLY EXCITING TIME WAS HIS DURING THE WEEK PRECEDING THURSDAY THE EIGHTEENTH -wav/robin-20030302-vf10/wav/vf10-16.wav YOUR PRICE MY SON IS JUST ABOUT THIRTY PER WEEK -wav/robin-20030302-vf10/wav/vf10-26.wav I CAN'T ARGUE WITH YOU AND YOU KNOW THAT -wav/robin-20030302-vf10/wav/vf10-36.wav A RISING TIDE OF FAT HAD SUBMERGED THEM -wav/robin-20070201/wav/cc-06.wav EVEN SO ON HER FIRST MORNING SHE FELT STRESSED -wav/robin-20070201/wav/cc-16.wav BEFORE LONG THAT ITCHY GOOSE BEGAN TO STRUT AROUND THE OFFICE LIKE A LUNATIC -wav/robin-20070201/wav/cc-26.wav ONCE SARAH HAD MANAGED TO BATHE THE GOOSE SHE WIPED HER OFF WITH A CLOTH -wav/robin-20070201/wav/cc-36.wav AND THE FOLLOWING COPYRIGHT NOTIFICATION ACCOMPANY THE PASSAGE IN PRINT -wav/robin-20070211/wav/rp-07.wav PEOPLE LOOK BUT NO ONE EVER FINDS IT -wav/robin-20070211/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/robin-20070211/wav/rp-27.wav IF THE RED OF THE SECOND BOW FALLS UPON THE GREEN OF THE FIRST -wav/robin-20070212/wav/ar-06.wav YOU HAVE NO MORE MIND THAN A BLADE OF GRASS -wav/robin-20070212/wav/ar-16.wav JUST THEN THE OLD RAT SAW ARTHUR STOP HE ORDERED COARSELY -wav/robin-20070212-vf1/wav/vf1-02.wav NOT AT THIS PARTICULAR CASE TOM APOLOGIZED WHITTEMORE -wav/robin-20070212-vf1/wav/vf1-12.wav GREGSON SHOVED BACK HIS CHAIR AND ROSE TO HIS FEET -wav/robin-20070212-vf1/wav/vf1-22.wav HARDLY WERE OUR PLANS MADE PUBLIC BEFORE WE WERE MET BY POWERFUL OPPOSITION -wav/robin-20070212-vf1/wav/vf1-32.wav SINCE THEN SOME MYSTERIOUS FORCE HAS BEEN FIGHTING US AT EVERY STEP -wav/robin-20070212-vf2/wav/vf2-02.wav HOW COULD HE EXPLAIN HIS POSSESSION OF THE SKETCH -wav/robin-20070212-vf2/wav/vf2-12.wav IT WAS A CURIOUS COINCIDENCE -wav/robin-20070212-vf2/wav/vf2-22.wav THE MEN STARED INTO EACH OTHER'S FACE -wav/robin-20070212-vf2/wav/vf2-32.wav BUT WHO WAS EILEEN'S DOUBLE -wav/robin-20070217-vf3/wav/vf3-02.wav HIS FACE WAS STREAMING WITH BLOOD -wav/robin-20070217-vf3/wav/vf3-12.wav HE WENT DOWN IN MIDSTREAM SEARCHING THE SHADOWS OF BOTH SHORES -wav/robin-20070217-vf3/wav/vf3-22.wav HE WILL FOLLOW US SOON -wav/robin-20070217-vf3/wav/vf3-32.wav HE WAS WOUNDED IN THE ARM -wav/robin-20070224-vf4/wav/vf04-02.wav TWO YEARS AGO I GAVE UP CIVILIZATION FOR THIS -wav/robin-20070224-vf4/wav/vf04-12.wav A CRY OF JOY BURST FROM PHILIP'S LIPS -wav/robin-20070224-vf4/wav/vf04-22.wav SUCH THINGS HAD OCCURRED BEFORE HE TOLD PHILIP -wav/robin-20070224-vf4/wav/vf04-32.wav PHILIP THRUST HIMSELF AGAINST IT AND ENTERED -wav/robin-20070224-vf5/wav/vf5-02.wav THAT'S THE SUB-FOREMAN EXPLAINED THORPE -wav/robin-20070224-vf5/wav/vf5-12.wav GREGSON HAD LEFT THE OUTER DOOR SLIGHTLY AJAR -wav/robin-20070224-vf5/wav/vf5-22.wav THIS TIME HE DID NOT YAP FOR MERCY -wav/robin-20070224-vf5/wav/vf5-32.wav HE DID NOT RUSH IN -wav/robin-20070224-vf6/wav/vf6-02.wav SHE TURNED FEARING THAT JACQUES MIGHT SEE WHAT WAS IN HER FACE -wav/robin-20070224-vf6/wav/vf6-12.wav FRESH CASES STILL ABLE TO WALK THEY CLUSTERED ABOUT THE SPOKESMAN -wav/robin-20070224-vf6/wav/vf6-22.wav WHAT PART OF THE UNITED STATES IS YOUR HOME -wav/robin-20070224-vf6/wav/vf6-32.wav I CANNOT FOLLOW YOU SHE SAID -wav/robin-20070226-vf7/wav/vf7-02.wav I SAW IT WHEN SHE ROLLED -wav/robin-20070226-vf7/wav/vf7-12.wav O'BRIEN HAD BEEN A CLEAN LIVING YOUNG MAN WITH IDEALS -wav/robin-20070226-vf7/wav/vf7-22.wav THEY WOULDN'T BE SWEEPING A BIG VESSEL LIKE THE MARTHA -wav/robin-20070226-vf7/wav/vf7-32.wav YOU CAN TAKE A VACATION ON PAY -wav/robin-20070301-vf8/wav/vf8-02.wav IF YOU MEAN TO INSINUATE BRENTWOOD BEGAN HOTLY -wav/robin-20070301-vf8/wav/vf8-12.wav HERE IN THE MIDMORNING THE FIRST CASUALTY OCCURRED -wav/robin-20070301-vf8/wav/vf8-22.wav IT IS VERY PLAUSIBLE TO SUCH PEOPLE A MOST CONVINCING HYPOTHESIS -wav/robin-20070301-vf8/wav/vf8-32.wav IT LIVED IN PERPETUAL APPREHENSION OF THAT QUARTER OF THE COMPASS -wav/robin-20070301-vf9/wav/vf9-02.wav THIS IS A COMMON EXPERIENCE WITH ALL OF US -wav/robin-20070301-vf9/wav/vf9-12.wav UNCONSCIOUSLY OUR YELLS AND EXCLAMATIONS YIELDED TO THIS RHYTHM -wav/robin-20070301-vf9/wav/vf9-22.wav SEVENTEEN NO EIGHTEEN DAYS AGO -wav/robin-20070301-vf9/wav/vf9-32.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/robin-20070302-vf11/wav/vf11-02.wav CURLY RUSHED HER ANTAGONIST WHO STRUCK AGAIN AND LEAPED ASIDE -wav/robin-20070302-vf11/wav/vf11-12.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/robin-20070302-vf11/wav/vf11-22.wav HALFWAY AROUND THE TRACK ONE DONKEY GOT INTO AN ARGUMENT WITH ITS RIDER -wav/robin-20070302-vf11/wav/vf11-32.wav THE BOY AT THE WHEEL LOST HIS HEAD -wav/robin-20070310-vf12/wav/vf12-02.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/robin-20070310-vf12/wav/vf12-12.wav THREE OILERS AND A FOURTH ENGINEER WAS HIS GREETING -wav/robin-20070310-vf12/wav/vf12-22.wav BUT SHE SWUNG OBEDIENTLY ON HER HEEL INTO THE WIND -wav/robin-20070310-vf12/wav/vf12-32.wav HE IS TOO KEENLY INTELLIGENT TOO SHARPLY SENSITIVE SUCCESSFULLY TO ENDURE -wav/robin-20070310-vf13/wav/vf13-02.wav AND THEIR CHIEF VIRTUE LIES IN THAT THEY WILL NEVER WEAR OUT -wav/robin-20070310-vf13/wav/vf13-12.wav BURNT OUT LIKE THE CRATER OF A VOLCANO -wav/robin-20070310-vf13/wav/vf13-22.wav ANYTHING UNUSUAL OR ABNORMAL WAS SUFFICIENT TO SEND A FELLOW TO MOLOKAI -wav/robin-20070310-vf13/wav/vf13-32.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/robin-20070326-vf14/wav/vf14-02.wav FOR SUCH COUNTRIES NOTHING REMAINED BUT REORGANIZATION -wav/robin-20070326-vf14/wav/vf14-12.wav MAY DROUGHT DESTROY YOUR CROPS -wav/robin-20070326-vf14/wav/vf14-22.wav WITHOUT A DOUBT SOME OF THEM HAVE DINNER ENGAGEMENTS -wav/robin-20070326-vf14/wav/vf14-32.wav YET HE DREAMS HE IS IMMORTAL I ARGUE FEEBLY -wav/robin-20070326-vf15/wav/vf15-02.wav WHAT THE FLAMING -wav/robin-20070326-vf15/wav/vf15-12.wav I NEVER SAW ANYTHING LIKE HER IN MY LIFE -wav/robin-20070326-vf15/wav/vf15-22.wav YOU GOT OUT BY FIGHTING AND I THROUGH A PRETTY GIRL -wav/robin-20070326-vf15/wav/vf15-32.wav SOMETHING THAT WHITTEMORE HAD NOT YET SAID THRILLED HIM -wav/robin-20070330-vf16/wav/vf16-02.wav IF I WAS OUT OF THE GAME IT WOULD BE EASILY MADE -wav/robin-20070330-vf16/wav/vf16-12.wav HE CAUGHT HIMSELF WITH A JERK -wav/robin-20070330-vf16/wav/vf16-22.wav TEN MINUTES HAD NOT ELAPSED SINCE HE HAD DROPPED THE HANDKERCHIEF -wav/robin-20070330-vf16/wav/vf16-32.wav THE FLUSH WAS GONE FROM HER FACE -wav/robin-20070330-vf17/wav/vf17-02.wav NOW IT WAS MISSING FROM THE WALL -wav/robin-20070330-vf17/wav/vf17-12.wav THEN HE HASTENED ON AS PIERRE HAD GUIDED HIM -wav/robin-20070330-vf17/wav/vf17-22.wav HE BIT HIS TONGUE AND CURSED HIMSELF AT THIS FRESH BREAK -wav/robin-20070330-vf17/wav/vf17-32.wav I WANT TO DIE IN IT -wav/robin-20070401-vf18/wav/vf18-02.wav I'LL ONLY BE IN THE WAY -wav/robin-20070401-vf18/wav/vf18-12.wav JEANNE AND PIERRE BOTH GAZED TOWARD THE GREAT ROCK -wav/robin-20070401-vf18/wav/vf18-22.wav PHILIP SAW MACDOUGALL SOON AFTER HIS SHORT TALK WITH THORPE -wav/robin-20070401-vf18/wav/vf18-32.wav THERE IS NO NEED OF FURTHER DETAIL NOW FOR YOU CAN UNDERSTAND -wav/robin-20070401-vf19/wav/vf19-02.wav SOMETHING VASTLY MORE THRILLING HAD COME INTO IT NOW -wav/robin-20070401-vf19/wav/vf19-12.wav OW A WILD DOG HE GROWLED -wav/robin-20070401-vf19/wav/vf19-22.wav HE THOUGHT HE SAW A SHUDDER PASS THROUGH THE FACTOR'S SHOULDERS -wav/robin-20070401-vf19/wav/vf19-32.wav ON THE FAR CORNER OF THE COMPOUND FENCE A HAWK BROODED -wav/robin-20070402-vf20/wav/vf20-02.wav I WAS IN NEW YORK WHEN THE CRASH CAME -wav/robin-20070402-vf20/wav/vf20-12.wav OUTSIDERS ARE ALLOWED FIVE MINUTE SPEECHES THE SICK MAN URGED -wav/robin-20070402-vf20/wav/vf20-22.wav SOCIETY IS SHAKEN TO ITS FOUNDATIONS -wav/robin-20070402-vf20/wav/vf20-32.wav DEATH IS AND HAS BEEN EVER SINCE OLD MAUI DIED -wav/robin-20070405-vf21/wav/vf21-02.wav HE WAS THE LEADER AND TUDOR WAS HIS LIEUTENANT -wav/robin-20070405-vf21/wav/vf21-12.wav IT WAS A SUPERB PICTURE -wav/robin-20070405-vf21/wav/vf21-22.wav THE JAPANESE UNDERSTOOD AS WE COULD NEVER SCHOOL OURSELVES OR HOPE TO UNDERSTAND -wav/robin-20070405-vf21/wav/vf21-32.wav IT RESEMBLED TEA LESS THAN LAGER BEER RESEMBLES CHAMPAGNE -wav/robin-20070409-vf22/wav/vf22-02.wav SAXON'S ONTO HER JOB -wav/robin-20070409-vf22/wav/vf22-12.wav THESE WERE MERELY STOUT STICKS AN INCH OR SO IN DIAMETER -wav/robin-20070409-vf22/wav/vf22-22.wav SOME OF THE SMALLER VEINS HAD DOUBTLESS BEEN RUPTURED -wav/robin-20070409-vf22/wav/vf22-32.wav THE FIRE-MEN WORE ANIMAL SKINS AROUND THEIR WAISTS AND ACROSS THEIR SHOULDERS -wav/robin-20070411-vf23/wav/vf23-02.wav I PULLED SUDDENLY WITH ALL MY MIGHT -wav/robin-20070411-vf23/wav/vf23-12.wav DIG IN YOU'RE SURE GOOD WAS DAYLIGHT'S ANSWER -wav/robin-20070411-vf23/wav/vf23-22.wav THEIR SUPPLY OF GRUB WAS GONE -wav/robin-20070411-vf23/wav/vf23-32.wav AS TO HOW SHE DRESSED HE HAD NO IDEAS AT ALL -wav/trevarthan-070403/wav/cc-02.wav WHO HAD BEEN WORKING DAILY AT AN OLD ZOO IN A DESERTED DISTRICT OF THE TERRITORY -wav/trevarthan-070403/wav/cc-12.wav THE LETTER IMPLIED THAT THE ANIMAL COULD BE SUFFERING FROM A RARE FORM -wav/trevarthan-070403/wav/cc-22.wav FIRST SHE TRIED GENTLY STROKING THE GOOSE'S LOWER BACK WITH HER PALM -wav/trevarthan-070403/wav/cc-32.wav I CAN'T IMAGINE PAYING SO MUCH BUT MRS HARRISON A MILLIONAIRE LAWYER -wav/trevarthan-070403-vf3/wav/vf3-03.wav A SHADOW WAS CREEPING OVER PIERRE'S EYES -wav/trevarthan-070403-vf3/wav/vf3-13.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/trevarthan-070403-vf3/wav/vf3-23.wav BUT THERE CAME NO PROMISE FROM THE BOW OF THE CANOE -wav/trevarthan-070403-vf3/wav/vf3-33.wav I SUPPOSE YOU PICKED THAT LINGO UP AMONG THE INDIANS -wav/audioodyssey-20081109-rew/wav/a0427.wav ENTERS NOW THE PSYCHOLOGY OF THE SITUATION -wav/avsa242-20071208/wav/cc-03.wav SO SHE WAS VERY HAPPY TO START A NEW JOB AT A SUPERB PRIVATE PRACTICE -wav/avsa242-20071208/wav/cc-13.wav OF FOOT AND MOUTH DISEASE WHICH WAS SURPRISING -wav/avsa242-20071208/wav/cc-23.wav THEN SINGING A TUNE TO HER FINALLY SHE ADMINISTERED ETHER -wav/avsa242-20071208/wav/cc-33.wav THOUGHT IT WAS A FAIR PRICE FOR A CURE -wav/B-20091220-vus/wav/b0248.wav EXCITING TIMES ARE THE LOT OF THE FISH PATROL -wav/B-20091220-zaq/wav/a0286.wav GIVE THEM THEIR CHOICE BETWEEN A FINE OR AN OFFICIAL WHIPPING -wav/B-20091221-pxt/wav/b0220.wav HARRY BANCROFT DAVE LIED -wav/B-20091223-lxu/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/B-20091230-bvx/wav/a0579.wav THERE WAS THE EMMA LOUISA -wav/B-20091230-umt/wav/b0281.wav JUST THE SAME I'D SOONER BE MYSELF THAN HAVE BOOK INDIGESTION -wav/B-20091230-yjo/wav/a0188.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/bachroxx-20080119-tuu/wav/b0110.wav SUCH MEN BELIEVE WHEN THEY COME TOGETHER -wav/bart-20090807-ufp/wav/b0424.wav IT IS A VERY TENABLE HYPOTHESIS AND WILL BEAR LOOKING INTO -wav/bdutta-20090502-crj/wav/a0512.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/bdutta-20090502-uzt/wav/a0221.wav I DON'T KNOW WHY YOU'RE HERE AT ALL -wav/bdutta-20090502-vrk/wav/a0223.wav MY I'M ALMOST HOMESICK FOR IT ALREADY -wav/ben-20090326-cpr/wav/b0139.wav TOGETHER THEY ATE THE RABBIT -wav/ben-20090326-hxc/wav/b0155.wav HIS FRESHLY CAUGHT FURS HE FLUNG TO THE FLOOR -wav/ben-20090326-njk/wav/b0137.wav BUT THIS LITTLE DEFECT DID NOT WORRY HIM -wav/bencoder-20080418-iev/wav/b0211.wav THIS IS EIGHTEEN EIGHTY -wav/bencoder-20080418-ivd/wav/a0554.wav JACK LONDON WAIKIKI BEACH HONOLULU OAHU -wav/benkay-20090111-ar/wav/ar-04.wav HE WOULD ALWAYS SHIRK MAKING A CHOICE HIS AUNT HELEN SAID TO HIM -wav/benkay-20090111-ar/wav/ar-14.wav THERE IS A KINDLY HORSE NAMED NELLY A COW A CALF AND A GARDEN WITH AN ELM TREE -wav/benkay-20090111-ar/wav/ar-24.wav ONE OF THEM MOVED A BOARD AND SAW A RAT QUITE DEAD HALF IN AND HALF OUT OF HIS HOLE -wav/benkay-20090111-cc/wav/cc-10.wav WHEN SHE GOT THERE THERE WAS A WOMAN WITH A GOOSE WAITING FOR HER -wav/benkay-20090111-cc/wav/cc-20.wav COMMA WAS STRONG AND HUGE SO IT WOULD TAKE SOME FORCE TO TRAP HER -wav/benkay-20090111-cc/wav/cc-30.wav SARAH WARNED THAT THIS COURSE OF TREATMENT MIGHT BE EXPENSIVE -wav/benkay-20090111-rp/wav/rp-01.wav WHEN THE SUNLIGHT STRIKES RAINDROPS IN THE AIR -wav/benkay-20090111-rp/wav/rp-11.wav SOME HAVE ACCEPTED IT AS A MIRACLE WITHOUT PHYSICAL EXPLANATION -wav/benkay-20090111-rp/wav/rp-21.wav BUT REFRACTION BY THE RAINDROPS WHICH CAUSES THE RAINBOWS -wav/benkay-20090111-rp/wav/rp-31.wav WITH LITTLE OR NO GREEN OR BLUE -wav/bennmann-20091102-apc/wav/a0208.wav YOUTH HAD COME BACK TO HER FREED FROM THE YOKE OF OPPRESSION -wav/bennmann-20091102-ksm/wav/b0372.wav MR MCVEIGH TOLD ME ABOUT HIM -wav/bennmann-20091102-vgn/wav/b0539.wav YOU WERE MAKING THEM TALK SHOP RUTH CHARGED HIM -wav/benob-20090314-wzw/wav/b0071.wav THERE WAS NO ANSWER FROM THE OTHER SIDE -wav/bhart-20100106-djk/wav/a0011.wav IF I EVER NEEDED A FIGHTER IN MY LIFE I NEED ONE NOW -wav/bhart-20100106-giy/wav/a0087.wav PHILIP BENT LOWER AND STARED INTO THE FACE OF THE DEAD MAN -wav/bhart-20100106-joc/wav/b0261.wav AND HE DID HURT MY ARM -wav/bhart-20100106-jot/wav/a0161.wav TAKE AWAY THEIR FOREMAN AND THEY WOULDN'T BE WORTH THEIR GRUB -wav/bhart-20100106-kab/wav/b0044.wav FOR A FEW MOMENTS HE ATE IN SILENCE -wav/bhart-20100106-ldp/wav/rb-37.wav LIKE GO UP ONE FOLDER OPEN THE FOLDER UNIVERSITY OR OPEN DOCUMENT THESIS -wav/bhart-20100106-lpu/wav/b0265.wav I WAS NOT TO CRY OUT IN THE FACE OF FEAR -wav/bhart-20100106-mal/wav/a0494.wav O'BRIEN TOOK OFF HIS COAT AND BARED HIS RIGHT ARM -wav/bhart-20100106-pvf/wav/a0064.wav THE FOURTH AND FIFTH DAYS PASSED WITHOUT ANY DEVELOPMENTS -wav/bhart-20100106-qib/wav/a0019.wav I FOLLOWED THE LINE OF THE PROPOSED RAILROAD LOOKING FOR CHANCES -wav/bhart-20100106-qqz/wav/b0012.wav SOMETHING THAT WHITTEMORE HAD NOT YET SAID THRILLED HIM -wav/bhart-20100106-rfx/wav/a0413.wav BUT I AM AT THE END OF MY RESOURCES -wav/bhart-20100106-tlh/wav/b0020.wav HE MADE NO REPLY AS HE WAITED FOR WHITTEMORE TO CONTINUE -wav/bhart-20100106-wrw/wav/a0587.wav HE HAD COMPARATIVELY NO ADVANTAGES AT FIRST -wav/bhart-20100106-yty/wav/a0500.wav WHO THE DEVIL GAVE IT TO YOU TO BE JUDGE AND JURY -wav/bhart-20100108-dsa/wav/a0569.wav AT LAKE LINDERMAN I HAD ONE CANOE VERY GOOD PETERBOROUGH CANOE -wav/bhart-20100108-hch/wav/a0229.wav THE LAST ONE I KNEW WAS AN OVERSEER -wav/bhart-20100108-nrx/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/bhart-20100108-uhg/wav/b0391.wav AT SEA TUESDAY MARCH SEVENTEENTH NINETEEN OH EIGHT -wav/bhart-20100108-xpl/wav/rb-28.wav SEARCHING FOR DOCUMENTS IN THE FILE BROWSER AND STARTING OR CLOSING PROGRAMS -wav/bhart-20100108-yqc/wav/b0322.wav THEIR SUPPLY OF GRUB WAS GONE -wav/bhavanikrishna-20100108-kth/wav/a0478.wav ALSO SHE HAS FORBIDDEN THEM SMOKING THEIR PIPES IN THE AFTER-ROOM -wav/bhuvan-20091111-cil/wav/b0511.wav DO YOU VALUE YOUR HIDE -wav/BigMick-20090919-pvv/wav/b0426.wav THE GABRIEL VOICE OF THE SAMURAI RANG OUT -wav/Bitbrit-20090528-fsw/wav/b0046.wav PHILIP PRODUCED A COUPLE OF CIGARS AND TOOK A CHAIR OPPOSITE HIM -wav/Bitbrit-20090528-yit/wav/b0185.wav YOUR BEING WRECKED HERE HAS BEEN A GODSEND TO ME -wav/Blackdrive-20080605-vwx/wav/b0218.wav THE ISSUE WAS NOT IN DOUBT -wav/Blenderkitty-20090615-qcv/wav/b0428.wav THE HISTORY OF OUR WESTWARD-FARING RACE IS WRITTEN IN IT -wav/Blenderkitty-20090615-rjb/wav/b0388.wav I MADE NO MORE OVERTURES -wav/Blenderkitty-20090615-svy/wav/a0077.wav IT IS THE FIRE PARTLY SHE SAID -wav/Blenderkitty-20090615-tsi/wav/a0464.wav BETWEEN THE RUSH OF THE CASCADES STREAKS OF RUST SHOWED EVERYWHERE -wav/Blenderkitty-20090615-ytz/wav/a0348.wav THEY ONLY LIFTED SEVEN HUNDRED AND FIFTY -wav/bloomtom-20080612-mvm/wav/b0176.wav I'LL SEE TO POOR HUGHIE -wav/bloomtom-20080612-pfg/wav/a0401.wav THE MAN SMILED GRIMLY AND BROUGHT A HATCHET AND A CLUB -wav/bloomtom-20080612-stx/wav/b0207.wav I'M AS GOOD AS A MAN SHE URGED -wav/bloomtom-20080612-vya/wav/rb-37.wav LIKE GO UP ONE FOLDER OPEN THE FOLDER UNIVERSITY OR OPEN DOCUMENT THESIS -wav/BlueB-20090727-ckj/wav/a0037.wav I WAS THE ONLY ONE WHO REMAINED SITTING -wav/BlueB-20090727-poc/wav/a0105.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/bluefox83-20080413-bwq/wav/rai0010.wav IT WAS A TOKEN THAT THERE WOULD BE NO MORE UNIVERSAL FLOODS -wav/bluefox83-20080413-bwq/wav/rai0020.wav OF A NUMBER OF BOWS IF THE RED -wav/bluepeppers-20091030-kqs/wav/a0532.wav MAY DROUGHT DESTROY YOUR CROPS -wav/bluepeppers-20091101-tyt/wav/b0246.wav THE BOY GREW AND PROSPERED -wav/bluepeppers-20091102-nkj/wav/a0180.wav IF NOT LET'S SAY OUR PRAYERS AND GO TO BED -wav/Bob-20100106-mwu/wav/a0365.wav THESE RUMORS MAY EVEN ORIGINATE WITH US -wav/bonzer-20090919-btg/wav/a0225.wav I WAS BROUGHT UP THE WAY MOST GIRLS IN HAWAII ARE BROUGHT UP -wav/bonzer-20090919-ccj/wav/a0023.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/bonzer-20090919-cox/wav/b0062.wav NOW IT WAS MISSING FROM THE WALL -wav/bonzer-20090919-dfa/wav/b0117.wav THAT'S THORPE'S SAID THE YOUNG ENGINEER -wav/bonzer-20090919-dwe/wav/ar-16.wav JUST THEN THE OLD RAT SAW ARTHUR STOP HE ORDERED COARSELY -wav/bonzer-20090919-eca/wav/a0435.wav WHAT DO YOU MEAN BY THIS OUTRAGEOUS CONDUCT -wav/bonzer-20090919-ecs/wav/b0181.wav AND YOU PREFERRED A CANNIBAL ISLE AND A CARTRIDGE BELT -wav/bonzer-20090919-fau/wav/b0194.wav JOAN CRIED WITH SHINING EYES -wav/bonzer-20090919-fir/wav/b0514.wav TOMORROW OR NEXT DAY IT MIGHT HE GONE -wav/bonzer-20090919-fot/wav/a0506.wav THE CLAUDINE WAS LEAVING NEXT MORNING FOR HONOLULU -wav/bonzer-20090919-fxc/wav/a0288.wav THOSE ARE MY OYSTERS HE SAID AT LAST -wav/bonzer-20090919-fxu/wav/b0191.wav HE ALSO CONTENDED THAT BETTER CONFIDENCE WAS ESTABLISHED BY CARRYING NO WEAPONS -wav/bonzer-20090919-hbm/wav/b0003.wav I CAN SEE THAT KNIFE NOW -wav/bonzer-20090919-hhb/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/bonzer-20090919-ijn/wav/b0503.wav THE SCENTS OF STRANGE VEGETATION BLEW OFF THE TROPIC LAND -wav/bonzer-20090919-izn/wav/b0369.wav YOU SEE WE WERE TEACHING OURSELVES -wav/bonzer-20090919-jxn/wav/b0363.wav SHE WAS BUILT PRIMARILY TO SAIL -wav/bonzer-20090919-kbs/wav/b0028.wav LORD FITZHUGH IS THE KEY TO THE WHOLE SITUATION -wav/bonzer-20090919-lft/wav/a0433.wav TO HER THE BRIDGE WAS TAMBO WHICH IS THE NATIVE FOR TABOO -wav/bonzer-20090919-llm/wav/a0332.wav UNCONSCIOUSLY OUR YELLS AND EXCLAMATIONS YIELDED TO THIS RHYTHM -wav/bonzer-20090919-nma/wav/b0010.wav HE TURNED THE MAP TO GREGSON POINTING WITH HIS FINGER -wav/bonzer-20090919-nnq/wav/a0444.wav THEN YOU DON'T BELIEVE IN ALTRUISM -wav/bonzer-20090919-nxc/wav/a0556.wav WHY HE'S BOUGHT FORTY POUNDS OF GOODS FROM YOU ALREADY -wav/bonzer-20090919-nzl/wav/a0352.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/bonzer-20090919-otm/wav/a0480.wav TOM SPINK HAS A HARPOON -wav/bonzer-20090919-oxm/wav/b0449.wav ALSO SHE WOULDN'T WALK -wav/bonzer-20090919-qbf/wav/a0377.wav THIS SOUND DID NOT DISTURB THE HUSH AND AWE OF THE PLACE -wav/bonzer-20090919-qcx/wav/b0536.wav TYPHOID DID I TELL YOU -wav/bonzer-20090919-rxe/wav/b0339.wav WELL I'LL BE PLUMB GOSH DARNED -wav/bonzer-20090919-sdp/wav/b0010.wav HE TURNED THE MAP TO GREGSON POINTING WITH HIS FINGER -wav/bonzer-20090919-uda/wav/b0122.wav PHILIP SAW MACDOUGALL SOON AFTER HIS SHORT TALK WITH THORPE -wav/bonzer-20090919-uin/wav/a0313.wav BROKEN-TOOTH YELLED WITH FRIGHT AND PAIN -wav/bonzer-20090919-ukz/wav/b0442.wav HE HAD BECOME A MAN VERY EARLY IN LIFE -wav/bonzer-20090919-uln/wav/b0455.wav HIS REWARD SHOULD HAVE BEEN PEACE AND REPOSE -wav/bonzer-20090919-uzm/wav/a0392.wav THERE IS THAT MAGNIFICENT BOB EATING HIS HEAD OFF IN THE STABLE -wav/bonzer-20090919-wgk/wav/a0051.wav THE LACE WAS OF A DELICATE IVORY COLOR FAINTLY TINTED WITH YELLOW -wav/bonzer-20090919-yes/wav/rp-23.wav THE DIFFERENCE IN THE RAINBOW DEPENDS CONSIDERABLY UPON THE SIZE OF THE DROPS -wav/bonzer-20090919-ztf/wav/ar-13.wav WE FOUND A STONE HOUSE WHERE THERE IS ROOM FOR US ALL -wav/bonzer-20090919-zyn/wav/a0504.wav HE WAS AN ATHLETE AND A GIANT -wav/BossOfTheGame-20090129-hzr/wav/a0202.wav SHE TURNED FEARING THAT JACQUES MIGHT SEE WHAT WAS IN HER FACE -wav/brad-20081015-xdf/wav/ar-21.wav I THINK I'LL GO TOMORROW HE SAID CALMLY TO HIMSELF BUT THEN AGAIN I DON'T KNOW -wav/brad-20091127-cwk/wav/b0024.wav IT IS GROWING EVERY DAY EVERY HOUR -wav/Bradders-20080630-bli/wav/a0346.wav GET DOWN AND DIG IN -wav/Bradders-20080630-cqm/wav/a0540.wav YEA SO ARE ALL THE LESSER ANIMALS OF TODAY CLEAN -wav/Bradders-20080630-kja/wav/a0224.wav SHE NODDED AND HER EYES GREW SOFT AND MOIST -wav/Bradders-20080701-yvh/wav/b0039.wav PHILIP TOOK A STEP TOWARD GREGSON HALF DETERMINED TO AWAKEN HIM -wav/brdmb-20080603-mbr/wav/a0024.wav IT WAS MY REPORTS FROM THE NORTH WHICH CHIEFLY INDUCED PEOPLE TO BUY -wav/brdmb-20080603-pas/wav/a0288.wav THOSE ARE MY OYSTERS HE SAID AT LAST -wav/brdmb-20080603-uhv/wav/b0229.wav I SAW IT ALL MYSELF AND IT WAS SPLENDID -wav/brdmb-20080603-zvi/wav/b0143.wav IT TOOK HIM HALF AN HOUR TO REACH THE EDGE OF IT -wav/brdmb-20080721-cwt/wav/a0049.wav GREGSON WAS ASLEEP WHEN HE RE-ENTERED THE CABIN -wav/brdmb-20080721-zhn/wav/a0442.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/Brittishenglishscottish20yomale-20091005-nty/wav/b0112.wav JEANNE AND PIERRE BOTH GAZED TOWARD THE GREAT ROCK -wav/BruceCouper-20080305-owt/wav/b0161.wav IN A FLASH HE WAS ON HIS FEET FACING HIM -wav/BruceCouper-20080305-qcd/wav/a0151.wav AND MACDOUGALL WAS BEYOND THE TRAIL WITH THREE WEEKS TO SPARE -wav/BruceCouper-20080305-yre/wav/a0285.wav BUT WHAT THEY WANT WITH YOUR TOOTHBRUSH IS MORE THAN I CAN IMAGINE -wav/btr-20090830-jgd/wav/rp-23.wav THE DIFFERENCE IN THE RAINBOW DEPENDS CONSIDERABLY UPON THE SIZE OF THE DROPS -wav/btr-20090830-msm/wav/b0450.wav TO MY DEAREST AND ALWAYS APPRECIATED FRIEND I SUBMIT MYSELF -wav/btr-20090830-utt/wav/b0205.wav YOU WERE DESTROYING MY LIFE -wav/bugsysservant-20091103-aqv/wav/a0005.wav WILL WE EVER FORGET IT -wav/bugsysservant-20091103-bhy/wav/a0518.wav ILLUMINATING OIL WAS BECOMING ALL PROFIT -wav/bugsysservant-20091103-bwz/wav/a0233.wav I NEVER ALLOW WHAT CAN'T BE CHANGED TO ANNOY ME -wav/bugsysservant-20091103-cob/wav/b0082.wav HE BIT HIS TONGUE AND CURSED HIMSELF AT THIS FRESH BREAK -wav/bugsysservant-20091103-dro/wav/a0238.wav IT HAPPENED TO HIM AT THE GALLINA SOCIETY IN OAKLAND ONE AFTERNOON -wav/bugsysservant-20091103-emm/wav/b0179.wav LET THEM GO OUT AND EAT WITH MY BOYS -wav/bugsysservant-20091103-fic/wav/b0137.wav BUT THIS LITTLE DEFECT DID NOT WORRY HIM -wav/bugsysservant-20091103-ilf/wav/b0029.wav ALL OPERATIONS HAVE BEEN CARRIED ON FROM MONTREAL AND TORONTO -wav/bugsysservant-20091103-mun/wav/a0523.wav THEY COULD NOT CONTINUE THEIR METHOD OF PRODUCING SURPLUSES -wav/bugsysservant-20091103-qwg/wav/a0386.wav I CAN'T ARGUE WITH YOU AND YOU KNOW THAT -wav/bugsysservant-20091103-tsb/wav/a0045.wav HE MOVED AWAY AS QUIETLY AS HE HAD COME -wav/bugsysservant-20091103-uhs/wav/b0108.wav IT WAS A MIRACLE AND I OWE YOU MY LIFE -wav/bugsysservant-20091103-vlb/wav/a0490.wav BOTH JOHNNY AND HIS MOTHER SHUFFLED THEIR FEET AS THEY WALKED -wav/bugsysservant-20091103-vrd/wav/b0313.wav THE APRON STRING LOOMED NEAR AND HE SHIED LIKE AN UNBROKEN COLT -wav/bugsysservant-20091103-vyn/wav/a0158.wav DOES THAT LOOK GOOD -wav/bugsysservant-20091103-wfn/wav/a0404.wav PERRAULT FOUND ONE WITH HEAD BURIED IN THE GRUB BOX -wav/bugsysservant-20091103-xxr/wav/b0367.wav ANY AVERAGE YOUNG FELLOW CAN TEACH HIMSELF IN A WEEK -wav/bugsysservant-20091103-yxr/wav/b0031.wav GREGSON HAD SEATED HIMSELF UNDER THE LAMP AND WAS SHARPENING A PENCIL -wav/bugsysservant-20091104-jed/wav/ar-13.wav WE FOUND A STONE HOUSE WHERE THERE IS ROOM FOR US ALL -wav/bugsysservant-20091104-kan/wav/a0354.wav FRESH MEAT THEY FAILED TO OBTAIN -wav/bugsysservant-20091104-rit/wav/b0172.wav ON THE FAR CORNER OF THE COMPOUND FENCE A HAWK BROODED -wav/bugsysservant-20091105-mnz/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/bummi-20080308-gmu/wav/a0528.wav MEN WHO ENDURE IT CALL IT LIVING DEATH -wav/bwonderve-20080504-mud/wav/a0518.wav ILLUMINATING OIL WAS BECOMING ALL PROFIT -wav/cactusbin-20081230-ayc/wav/b0407.wav OF COURSE MUCH GRUMBLING WENT ON AND LITTLE OUTBURSTS WERE CONTINUALLY OCCURRING -wav/cactusbin-20081230-uwb/wav/a0349.wav IT WAS SIMPLE IN ITS WAY AND NO VIRTUE OF HIS -wav/cactusbin-20081230-vjv/wav/a0528.wav MEN WHO ENDURE IT CALL IT LIVING DEATH -wav/calamity-20071011-poe/wav/as0008.wav I KNEW NOT WHERE -wav/Campbell-20091230-set/wav/a0587.wav HE HAD COMPARATIVELY NO ADVANTAGES AT FIRST -wav/Campbell-20091230-zfs/wav/a0491.wav AND AS IN DENIAL OF GUILT THE ONE-LEGGED BOY REPLIED -wav/Campbell-20100103-sne/wav/b0075.wav IN THAT CASE HE COULD NOT MISS THEM IF HE USED CAUTION -wav/Campbell-20100103-xez/wav/b0088.wav UNTIL I DIE HE EXCLAIMED -wav/Campbell-20100104-ldz/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/CaptainSpok-20090509-rbo/wav/b0323.wav CRICKETS BEGAN TO CHIRP AND MORE GEESE AND DUCKS FLEW OVERHEAD -wav/CarlFK-20080617-jii/wav/b0230.wav NOW RUN ALONG AND TELL THEM TO HURRY -wav/CarlFK-20080617-tus/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/cawka-20090831-fhm/wav/b0207.wav I'M AS GOOD AS A MAN SHE URGED -wav/cawka-20090831-fmp/wav/a0559.wav PEACE BE UNTO YOU AND GRACE BEFORE THE LORD -wav/ccr1-20091230-ikf/wav/b0114.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/ccr-20091230-uax/wav/b0281.wav JUST THE SAME I'D SOONER BE MYSELF THAN HAVE BOOK INDIGESTION -wav/cebidae-20080522-npq/wav/a0268.wav NOW GO AHEAD AND TELL ME IN A STRAIGHTFORWARD WAY WHAT HAS HAPPENED -wav/cebidae-20080522-nsi/wav/b0380.wav HE HAD PEELED OFF HIS SHIRT AND WAS WILDLY WAVING IT -wav/CezarBocu-20090218-frk/wav/b0316.wav THOUGH THE AURORA STILL FLAMED ANOTHER DAY HAD BEGUN -wav/chainz-20090527-yik/wav/a0355.wav A BURST OF LAUGHTER WAS HIS REWARD -wav/Chandri-20090902-rpp/wav/b0431.wav TOO MUCH HE TOLD ME WITH OMINOUS ROLLING HEAD -wav/Chas-20100107-yfs/wav/b0398.wav I HAVE BEEN ROBBED SIR I AMENDED -wav/CheesyBreed-20080413-rna/wav/b0458.wav THE HISTORY OF THE EIGHTEENTH CENTURY IS WRITTEN ERNEST PROMPTED -wav/CheesyBreed-20080413-srs/wav/a0092.wav HE WENT DOWN IN MIDSTREAM SEARCHING THE SHADOWS OF BOTH SHORES -wav/CheesyBreed-20080413-vhf/wav/b0134.wav BLIND WITH RAGE HE DARTED IN -wav/CheesyBreed-20080413-zms/wav/b0530.wav HE HAD A BIG CHIMPANZEE THAT WAS A WINNER -wav/CheesyBreed-20080413-zwe/wav/a0084.wav SCARCELY HAD HE UTTERED THE NAME WHEN PIERRE'S CLOSING EYES SHOT OPEN -wav/chocoholic-20070523/wav/rom0005.wav WHY HEART'S EASE NOT A DUMP WE TIS NO TIME TO PLAY NOW -wav/chocoholic-20070524/wav/eti0006.wav PART ONE DRESS CLOTHES ARE TO US WHAT FUR AND FEATHERS ARE TO BEASTS AND BIRDS -wav/chocoholic-20070524/wav/eti0016.wav IN EUROPE WHERE THE TITLE OF DUCHESS SERVES IN LIEU OF A COURT TRAIN OF GOLD BROCADE -wav/chocoholic-20070524/wav/eti0026.wav DECORATED LIKE THE GARDEN OF EDEN -wav/chocoholic-20070524/wav/eti0036.wav WHATEVER THEIR BACKGROUND MAY BE LESS NUMEROUS BUT FAR MORE CONSPICUOUS -wav/chocoholic-20070524/wav/eti0046.wav IF BALL DRESSES ARE CUT TO THE LAST LIMIT OF DARING -wav/chocoholic-20070524/wav/eti0056.wav CHIC IS A BORROWED ADJECTIVE BUT THERE IS NO ENGLISH WORD TO TAKE THE PLACE OF ELEGANT -wav/chocoholic-20070524/wav/eti0066.wav AND HER WRAPPED OR FITTED BODICE HAS CONTINUED TO LOOK THE SMARTEST IN EVERY BALLROOM -wav/chocoholic-20070524/wav/eti0076.wav THOUGH IT IS THE ANTITHESIS OF BEAUTY NEARLY ALWAYS -wav/chocoholic-20070524/wav/eti0086.wav SUITABILITY NOR DOES SUITABILITY MEAN MERELY THAT YOU MUST CHOOSE CLOTHES SUITABLE TO YOUR AGE AND APPEARANCE -wav/chocoholic-20070524/wav/eti0096.wav THE WORK ON CLOTHES SUBSIDED UNTIL NOW WE ARE AT THE OTHER EXTREME -wav/chocoholic-20070524/wav/eti0106.wav TOO GREAT AN ARTIST TO SIT IN A LITTLE ROOM WITH ITS COTTON PRINT SLIP COVERS MUSLIN CURTAINS AND GERANIUM POTS ON THE WINDOW LEDGE IN -wav/chocoholic-20070524/wav/eti0116.wav A BUSINESS WOMAN'S WHITE SHIRT WAIST AND STOUT WALKING BOOTS -wav/chocoholic-20070524/wav/eti0126.wav VULGAR CLOTHES VULGAR CLOTHES ARE THOSE WHICH NO MATTER WHAT THE FASHION OF THE MOMENT MAY BE -wav/chocoholic-20070524/wav/eti0136.wav AND THEN SHE WILL DECORATE IT WITH EVERYTHING IN THE WAY OF MILLINERY AND JEWELRY THAT SHE CAN LAY HER HANDS ON -wav/chocoholic-20070524/wav/eti0146.wav HAS FOR A HUNDRED YEARS BEEN THE COMFORT OF THE DOWDY -wav/chocoholic-20070524/wav/eti0156.wav OR IS IT MERELY THAT PEOPLE LOOK AT YOU WISTFULLY -wav/chocoholic-20070524/wav/eti0166.wav FLOWERS IN ONE'S CITY HOUSE A PIECE OF BEAUTIFUL FURNITURE A GOOD TAPESTRY -wav/chocoholic-20070524/wav/eti0176.wav AND IS THE HANDSOMEST TYPE OF EVENING DRESS THAT THERE IS -wav/chocoholic-20070524/wav/eti0186.wav BUT BECAUSE A TIARA IS BEAUTIFUL AT A BALL OR A SPRAY OF FEATHERS OR A HIGH COMB OR ANOTHER ORNAMENT -wav/chocoholic-20070524/wav/eti0196.wav THE ONLY TIME IT IS ARRANGED DIFFERENTLY IS FOR RIDING -wav/chocoholic-20070524/wav/eti0206.wav SUCH AS WHEN NO ESPECIALLY GREAT STAR IS TO SING -wav/chocoholic-20070524/wav/eti0216.wav AND IF ONE IS DINING AT HOME KEPT ON FOR DINNER -wav/chocoholic-20070524/wav/eti0226.wav WEAR THE CLOTH ON THE STREET -wav/chocoholic-20070524/wav/eti0236.wav DON'T WEAR TOO MUCH JEWELRY IT IS IN BAD TASTE IN THE FIRST PLACE -wav/chocoholic-20070524/wav/eti0246.wav ARE CERTAINLY MORE APPROPRIATE TO WALK IN THAN A TOWN COSTUME EVEN FOR A LADY OF SEVENTY -wav/chocoholic-20070524/wav/eti0256.wav ARE SEEN ONLY AT WEDDINGS LAWN PARTIES OR AT WATERING PLACES ABROAD -wav/chocoholic-20070524/wav/eti0266.wav BUT THEY ARE MERCIFULLY CONSERVING TO ARMS SENSITIVE TO SUNBURN -wav/chocoholic-20070524/wav/eti0276.wav WEARS ORANGE PLAYING TENNIS BUT FOR BATHING WEARS A HIGH NECK AND LONG SLEEVED BATHING SUIT -wav/chocoholic-20070612-eti33/wav/eti0003.wav FOR MORE INFORMATION OR TO VOLUNTEER PLEASE VISIT LIBRIVOX DOT ORG -wav/chocoholic-20070612-eti33/wav/eti0013.wav WHAT THE FASHION HAPPENS TO BE IS LIKE A UNIFORM -wav/chocoholic-20070612-eti33/wav/eti0023.wav THE CRITICISM IS NOT INTENDED FOR THE WOMAN WHO LIVES FAR OFF IN THE OPEN COUNTRY -wav/chocoholic-20070612-eti33/wav/eti0033.wav OR HUNTING FIELD TO MENTION HUNTING FIELD IS SUPERFLUOUS -wav/chocoholic-20070612-eti33/wav/eti0043.wav IN AMERICA THIS IS AN EXTREME OPINION -wav/chocoholic-20070612-eti33/wav/eti0053.wav AND EVERY ONE STRONG MINDED OR VAIN ENOUGH CAN DIET -wav/chocoholic-20070612-eti33/wav/eti0063.wav WHITE HAIRS IN THE MIXTURE DOES NOT SHOW DUST AS MUCH AS A SOLID DARK -wav/chocoholic-20070612-eti33/wav/eti0073.wav BE SURE THAT THERE IS NO ELBOW STICKING OUT LIKE A -wav/chocoholic-20070612-eti33/wav/eti0083.wav NOT A KNOB IN THE BACK IF YOU HAVE A GREAT QUANTITY OF HAIR -wav/chocoholic-20070612-eti33/wav/eti0093.wav AND MADE TO LOOK TRIM CORRECT RIDING CLOTHES ARE NOT -wav/chocoholic-20070612-eti33/wav/eti0103.wav OR OVER YOUR NOSE WEAR YOUR STOCK AS TIGHT AS YOU COMFORTABLY CAN -wav/chocoholic-20070612-eti33/wav/eti0113.wav ARE ENTIRELY USELESS EVEN IN NEWPORT WE HAVE ALL OF US ABANDONED -wav/chocoholic-20070612-eti33/wav/eti0123.wav SUITABLE FOR CHURCH THIS ONE CAN PERFECTLY WELL BE A COUNTRY DRESS -wav/chocoholic-20070612-eti33/wav/eti0133.wav FOR COAT AND WRAP -wav/chocoholic-20070612-eti33/wav/eti0143.wav THAT MUST BE GRANTED AT THE OUTSET BUT A WOMAN WHO HAS TALENT -wav/chocoholic-20070612-eti33/wav/eti0153.wav BUT NOTHING IS SO SERVICEABLE NOTHING SO UNRECOGNIZABLE -wav/chocoholic-20070612-eti33/wav/eti0163.wav WITHOUT IMPRESSING OTHERS WITH HER LACK OF CLOTHES -wav/chocoholic-20070612-eti33/wav/eti0173.wav NOR DO THE OTHER COMBINATIONS SUPPOSING HOWEVER -wav/chocoholic-20070612-eti33/wav/eti0183.wav WORN PLAIN IT IS A SIMPLE DINNER DRESS -wav/chocoholic-20070612-eti33/wav/eti0193.wav TO CHOOSE DAYTIME CLOTHES THAT GO WITH THE SAME HATS -wav/chocoholic-20070612-eti33/wav/eti0203.wav FITTINGLY GO IN PLAIN CLOTHES VERY FEW IF ANY PEOPLE -wav/chocoholic-20070612-eti33/wav/eti0213.wav BY THE NUMBER OF TIMES IT HAD BEEN WORN -wav/chocoholic-20070612-eti33/wav/eti0223.wav IF IT IS NOT NEW TOWN'S CUSTOM -wav/chocoholic-20070612-eti33/wav/eti0233.wav THESE ARE THE OCCASIONS WHEN ELABORATE DAY DRESSES ARE APPROPRIATE -wav/chocoholic-20070612-eti33/wav/eti0243.wav THAN ANY ONE ELSE FOR A GARDEN PARTY A COUNTRY DRESS IS QUITE ALL RIGHT -wav/chocoholic-20070612-eti33/wav/eti0253.wav AND THAT ALTHOUGH THEY MAY BE EMBROIDERED AND VERY EXPENSIVE -wav/chocoholic-20070612-eti33/wav/eti0263.wav TO MAKE VALUE OF MATERIAL ALWAYS WISE EXPENDITURE FOR ONE OF SLENDER -wav/chocoholic-20070612-eti33/wav/eti0273.wav YOU ARE APT TO SPEND YOUR GOOD MONEY ON TRASH -wav/chocoholic-20070612-eti33/wav/eti0283.wav PRICES ARE AS A RULE HIGHER THAN THOSE ASKED -wav/chocoholic-20070612-eti33/wav/eti0293.wav WHICH IS SO UNLIKELY IT IS ALMOST POSSIBLE TWO THINGS THE FAT -wav/chocoholic-20070612-eti33/wav/eti0303.wav SATIN IS A BAD MATERIAL SINCE HIGH LIGHTS ARE TOO SHIMMERINGLY ACCENTUATED -wav/chocoholic-20070612-eti33/wav/eti0313.wav SWARTHY SKIN ALWAYS LOOKS BETTER IN COLORS THAT HAVE RED OR YELLOW IN THEM -wav/chocoholic-20070612-eti33/wav/eti0323.wav TO SEE HOW MUCH ABUSE IT WILL STAND -wav/chocoholic-20070612-eti33/wav/eti0333.wav SO THAT UNLESS YOU ARE GOING TO VISIT -wav/chocoholic-20070612-eti33/wav/eti0343.wav A VERY WARM LONG WRAP IS NECESSARY -wav/chocoholic-20070612-eti33/wav/eti0353.wav BUT AS THOUGH YOUR COMING HAS SAVED JUST SAVED IN TIME THE -wav/chocoholic-20070612-eti33/wav/eti0363.wav AND THE BISQUE CLOTH SURELY MADAME HAD FOUND GREAT SATISFACTION IN WEARING THE BISQUE -wav/chocoholic-20070612-eti33/wav/eti0373.wav A BLACK CREPE DE CHINE ABSOLUTELY PLAIN I REALLY NEED NOTHING ELSE -wav/chocoholic-20070612-eti33/wav/eti0383.wav YET HUMBLY INGRATIATING MANNER OF HERS LET ME EXPLAIN MADAME -wav/chocoholic-20070612-eti33/wav/eti0393.wav AND IN THE SNOW THINK OF ALL THE LITTLE ANIMALS WHO PUT ON -wav/chocoholic-20070612-eti33/wav/eti0403.wav WHAT WOULD MADAME WEAR IN A FLOWER GARDEN BLACK -wav/chocoholic-20070612-eti33/wav/eti0413.wav IN A TRANS ATLANTIC SENSE MATCH BACKGROUNDS LIKE CHARMING LITTLE ANIMALS -wav/chocoholic-20080420-pos/wav/eti0005.wav WHERE THE NURSERY IS IN CHARGE OF A WOMAN OF REFINEMENT -wav/chocoholic-20080420-pos/wav/eti0015.wav WHEREAS TO BREAK BAD HABITS ONCE THEY ARE ACQUIRED IS A HERCULEAN TASK ELEMENTARY TABLE MANNERS -wav/chocoholic-20080420-pos/wav/eti0025.wav IN DRINKING A CHILD SHOULD USE BOTH HANDS TO HOLD A MUG OR GLASS -wav/chocoholic-20080420-pos/wav/eti0035.wav FLOP THIS WAY AND THAT IN THEIR CHAIRS KNOCK SPOONS AND FORKS TOGETHER -wav/chocoholic-20080420-pos/wav/eti0045.wav TO CONTINUE INSTRUCTIONS BEFORE COMPANY -wav/chocoholic-20080420-pos/wav/eti0055.wav THE CHILD MUST BE TAUGHT TO HOLD HIS FORK NO LONGER GRIPPED BABY FASHION IN HIS FIST -wav/chocoholic-20080420-pos/wav/eti0065.wav AND AGAINST WHICH THE FORK SHOVELS UP SUCH ELUSIVE ARTICLES AS CORN PEAS POACHED EGG -wav/chocoholic-20080420-pos/wav/eti0075.wav WHILE DRINKING OUT OF IT BUT AFTER STIRRING THE COCOA OR WHATEVER IT IS -wav/chocoholic-20080420-pos/wav/eti0085.wav HELD NEAR THE TOP OF THE HANDLE HIS INDEX FINGER IS PLACED ON THE SHANK SO THAT IT POINTS TO THE PRONGS -wav/chocoholic-20080420-pos/wav/eti0095.wav IT IS UNNECESSARY TO ADD THAT THE KNIFE MUST NEVER BE PUT IN HIS MOUTH -wav/chocoholic-20080420-pos/wav/eti0105.wav WHETHER USED PRONGS DOWN TO IMPALE THE MEAT OR PRONGS UP TO LIFT VEGETABLES -wav/chocoholic-20080420-pos/wav/eti0115.wav WHEN REMOVED AT THE END OF THE COURSE OTHER TABLE MATTERS -wav/chocoholic-20080420-pos/wav/eti0125.wav WITHOUT PLAYING DRAW THE FINGERS OF THE RIGHT HAND ACROSS HIS MOUTH -wav/chocoholic-20080420-pos/wav/eti0135.wav NOT ONLY BECAUSE IT IS HARD FOR THEM TO BE MADE TO WAIT -wav/chocoholic-20080420-pos/wav/eti0145.wav BUT DO NOT LET HIM BITE HIS SLICE OF BREAD INTO THE SILHOUETTE OF AN ANIMAL -wav/chocoholic-20080420-pos/wav/eti0155.wav THEY SHOULD NOT ONLY BE ALLOWED TO TALK BUT UNCONSCIOUSLY TRAINED IN TABLE CONVERSATION -wav/chocoholic-20080420-pos/wav/eti0165.wav OLDER CHILDREN SHOULD NOT BE ALLOWED TO JERK OUT THEIR CHAIRS TO FLOP DOWN SIDEWAYS TO FLICK THEIR NAPKINS BY ONE CORNER -wav/chocoholic-20080420-pos/wav/eti0175.wav THE SPOILED CHILD THE BAD MANNERS OF AMERICAN CHILDREN WHICH UNFORTUNATELY ARE SUPPOSED BY FOREIGNERS TO BE TYPICAL -wav/chocoholic-20080420-pos/wav/eti0185.wav BUT IN NINE CASES OUT OF TEN THE OLD FASHIONED METHOD THAT ASSIGNED CHILDREN TO INCONSPICUOUS PLACES IN THE BACKGROUND -wav/chocoholic-20080420-pos/wav/eti0195.wav IT SOON LEARNS THAT IT CAN NOT STAY WITH MOTHER UNLESS IT IS WELL BEHAVED -wav/chocoholic-20080420-pos/wav/eti0205.wav TO RESPECT EACH OTHER'S PROPERTY AND RIGHTS TO GIVE CREDIT TO OTHERS -wav/chocoholic-20080420-pos/wav/eti0215.wav OR TO TELL HER MOTHER HOW INFERIOR OTHER CHILDREN ARE COMPARED WITH HERSELF -wav/chocoholic-20080420-pos/wav/eti0225.wav AND PASS SANDWICHES AND CAKES IF THERE ARE NO BOYS GIRLS PERFORM THIS OFFICE -wav/chocoholic-20080420-pos/wav/eti0235.wav UNLESS THEY ARE SPOKEN TO THEY WOULD NOT THINK OF SPEAKING OR MAKING THEMSELVES NOTICED IN ANY WAY VERY -wav/chocoholic-20080420-pos/wav/eti0245.wav I HATE DOLLS IF A FRIEND HAS BROUGHT HER ONE -wav/chocoholic-20080420-pos/wav/eti0255.wav AND NOT TRY TO GRAB MORE THAN THEIR SHARE OF FAVORS OR TOYS -wav/chocoholic-20080420-pos/wav/eti0265.wav OR THANK YOU YES PLEASE OR NO THANK YOU IS QUITE SUFFICIENT OR IN ANSWERING -wav/chocoholic-20080420-pos/wav/eti0275.wav THE ONLY DETAILS THEREFORE NOT LIKELY TO BE DESCRIBED IN OTHER CHAPTERS OF THIS BOOK -wav/chocoholic-20080420-pos/wav/eti0285.wav SINCE AT BEST IT IS AN UNGRACEFUL PERFORMANCE AND TO EAT IT GREEDILY A HORRIBLE SIGHT -wav/chocoholic-20080420-pos/wav/eti0296.wav OR THE PLACE PLATE AND ENOUGH BUTTER SPREAD ON IT FOR A MOUTHFUL OR TWO AT A TIME -wav/chocoholic-20080420-pos/wav/eti0306.wav YOU HAVE GOT TO SWALLOW IT IT IS UNFORGIVABLE TO TAKE ANYTHING OUT OF YOUR MOUTH THAT HAS BEEN PUT IN IT -wav/chocoholic-20080420-pos/wav/eti0316.wav YOU CUT OFF AS MUCH OF THE MEAT AS YOU CAN AND LEAVE THE REST ON YOUR PLATE -wav/chocoholic-20080420-pos/wav/eti0326.wav TO LET ANY ONE SEE WHAT YOU HAVE IN YOUR MOUTH IS REPULSIVE -wav/chocoholic-20080420-pos/wav/eti0336.wav CALLED A SAVORY OF FISH ROE OR SOMETHING EQUALLY INAPPROPRIATE AFTER THE DESSERT AT DINNER -wav/chocoholic-20080420-pos/wav/eti0346.wav HE IS BREAKING THE RULE OF FASHION TO HAVE THEM BUT HE IS SCARCELY COMMITTING AN OFFENSE -wav/chocoholic-20080420-pos/wav/eti0356.wav ESPECIALLY WHEN PEOPLE ARE LUNCHING OR DINING AT A SMALL TABLE OF TWO OR FOUR -wav/chocoholic-20080420-pos/wav/eti0366.wav TO SIT WITH THE LEFT ELBOW PROPPED ON THE TABLE WHILE EATING WITH THE RIGHT HAND -wav/chris-20090325-esw/wav/a0067.wav SURELY I WILL EXCUSE YOU SHE CRIED -wav/chris-20090701-scf/wav/a0089.wav GLOW WAS TREACHEROUS TO SHOOT BY -wav/chris21-20091001-qzz/wav/b0231.wav WHAT'S THAT GRUB-THIEF GOT TO DO WITH IT -wav/Chrisdan-20081210-yzd/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/cj5-20090115-cjo/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/cliche-20080713-hiv/wav/a0061.wav PHILIP SNATCHED AT THE LETTER WHICH GREGSON HELD OUT TO HIM -wav/cliche-20080713-qtg/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/closet-20080526-fex/wav/b0506.wav IT WOULD HELP TO TIDE ME ALONG UNTIL I GOT STEADY EMPLOYMENT -wav/closet-20080526-ucl/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/cloudmountain-20080420-eti/wav/bud0008.wav FAR OR FORGOT -wav/cloudmountain-20080420-eti/wav/bud0018.wav THE DOUBT AND I THE HYMN -wav/cloudmountain-20080420-yos/wav/yos0002.wav PLEASE VISIT LIBRIVOX DOT ORG RECORDING BY ALAN DRAKE FROM LONG BRANCH NEW JERSEY -wav/cloudmountain-20080420-yos/wav/yos0012.wav FROM A CAMP ON THE SOUTH FORK OF THE MERCED MAJOR SAVAGE SENT INDIAN RUNNERS TO THE BANDS WHO WERE SUPPOSED TO BE HIDING IN THE MOUNTAINS -wav/cloudmountain-20080420-yos/wav/yos0022.wav AND FEARED THAT HE WAS TAKING THIS METHOD OF GETTING THE TRIBE INTO HIS POWER -wav/cloudmountain-20080420-yos/wav/yos0032.wav TO THIS THE MAJOR ANSWERED ABRUPTLY IN INDIAN STYLE -wav/cloudmountain-20080420-yos/wav/yos0042.wav HERE WE CAN DEFEND OURSELVES TO THE MAJOR SAVAGE FIRMLY SAID YOUR PEOPLE MUST GO TO THE COMMISSIONERS -wav/cloudmountain-20080420-yos/wav/yos0052.wav AND SAID HIS PEOPLE WERE ON THE WAY TO OUR CAMP TO GO WITH THE MEN SENT BY THE GREAT FATHER -wav/cloudmountain-20080420-yos/wav/yos0062.wav SAVAGE TOLD TENAYA THAT HE WAS NOT TELLING THE TRUTH -wav/cloudmountain-20080420-yos/wav/yos0072.wav AND IT WAS WELL THAT I SHOULD GO BUT THAT YOUNG AND STRONG MEN CAN FIND PLENTY IN THE MOUNTAINS THEREFORE -wav/cloudmountain-20080420-yos/wav/yos0082.wav WAS ADOPTED ALMOST UNANIMOUSLY TO PERPETUATE THE NAME OF THE TRIBE WHO SO LONG HAD MADE THEIR HOME THERE -wav/cloudmountain-20080420-yos/wav/yos0092.wav A SECOND EXPEDITION WAS MADE IN THE SAME YEAR UNDER COMMAND OF MAJOR BOLING -wav/cloudmountain-20080420-yos/wav/yos0102.wav HIS EYE FELL UPON THE DEAD BODY OF HIS FAVORITE SON CAPTAIN BOLING THROUGH AN INTERPRETER -wav/cloudmountain-20080420-yos/wav/yos0112.wav YES SIR AMERICA MY SPIRIT WILL MAKE TROUBLE FOR YOU AND YOUR PEOPLE -wav/cloudmountain-20080420-yos/wav/yos0122.wav THEY WERE ALLOWED TO RETURN TO THE VALLEY UNDER RESTRICTIONS TENAYA PROMISED FAITHFULLY -wav/cloudmountain-20080420-yos/wav/yos0132.wav THE BODIES OF THE TWO MINERS WERE FOUND AND BURIED ON THE EDGE OF THE BRIDAL VEIL MEADOW -wav/cloudmountain-20080420-yos/wav/yos0142.wav BUT WAS NOT SUCCESSFUL IN FINDING ANY OF THEM AFTER BEING HOSPITABLY ENTERTAINED AND PROTECTED BY THE MONO AND PAUTE TRIBES -wav/cloudmountain-20080420-yos/wav/yos0152.wav THIS FIRST PARTY WAS FOLLOWED BY ANOTHER FROM MARIPOSA THE SAME YEAR CONSISTING OF SIXTEEN OR EIGHTEEN PERSONS -wav/cloudmountain-20080420-yos/wav/yos0162.wav AFTERWARD BY MR LONGHURST AND SINCE EIGHTEEN SIXTY FOUR BY MR HUTCHINGS -wav/cloudmountain-20080420-yos/wav/yos0172.wav THE GREATEST INCREASE OF COURSE WAS CAUSED BY THE CONSTRUCTION OF THE YOSEMITE VALLEY RAILROAD FROM MERCED -wav/cmp1988-20080507-qrt/wav/a0047.wav CLOSE BESIDE HIM GLEAMED THE WHITE FANGS OF THE WOLF-DOG -wav/ColinBeckingham-20091029-hfv/wav/a0002.wav NOT AT THIS PARTICULAR CASE TOM APOLOGIZED WHITTEMORE -wav/ColinBeckingham-20091103-clz/wav/a0186.wav LIKE A FLASH HE LAUNCHED HIMSELF INTO THE FEATHERED MASS OF THE OWL -wav/ColinBeckingham-20091103-fwl/wav/ar-21.wav I THINK I'LL GO TOMORROW HE SAID CALMLY TO HIMSELF BUT THEN AGAIN I DON'T KNOW -wav/ColinBeckingham-20091103-zvt/wav/a0282.wav IF YOU MEAN TO INSINUATE BRENTWOOD BEGAN HOTLY -wav/ColinBeckingham-20091104-fqx/wav/a0542.wav WITHOUT A DOUBT SOME OF THEM HAVE DINNER ENGAGEMENTS -wav/ColinBeckingham-20091104-uhr/wav/a0422.wav HALFWAY AROUND THE TRACK ONE DONKEY GOT INTO AN ARGUMENT WITH ITS RIDER -wav/ColinBeckingham-20091121-grq/wav/ar-14.wav THERE IS A KINDLY HORSE NAMED NELLY A COW A CALF AND A GARDEN WITH AN ELM TREE -wav/ColinBeckingham-20091121-ouu/wav/b0449.wav ALSO SHE WOULDN'T WALK -wav/ColinBeckingham-20091211-lfs/wav/b0159.wav HIS TEETH SHUT WITH A LAST CLICK -wav/ColinBeckingham-20091211-zcy/wav/a0408.wav THE ELDORADO EMPTIED ITS OCCUPANTS INTO THE STREET TO SEE THE TEST -wav/ColinBeckingham-20091213-blg/wav/b0289.wav AT FIRST HIS PROGRESS WAS SLOW AND ERRATIC -wav/ColinBeckingham-20091213-dnz/wav/b0057.wav THEY HAVE WON POPULAR SENTIMENT THROUGH THE NEWSPAPERS -wav/ColinBeckingham-20091213-gzk/wav/a0362.wav NOPE NOT THE SLIGHTEST IDEA -wav/ColinBeckingham-20091213-tqw/wav/a0418.wav THE PORTUGUESE BOY CRAWLED NEARER AND NEARER -wav/ColinBeckingham-20091213-wdh/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/ColinBeckingham-20091214-ddc/wav/b0414.wav IT WAS IMPOSSIBLE TO HOIST SAIL AND CLAW OFF THAT SHORE -wav/ColinBeckingham-20091214-jbh/wav/b0067.wav BELOW HIM THE SHADOW WAS BROKEN INTO A POOL OF RIPPLING STARLIGHT -wav/ColinBeckingham-20091214-nsa/wav/a0474.wav I SAILED THIRD MATE IN THE LITTLE VAMPIRE BEFORE YOU WERE BORN -wav/ColinBeckingham-20091214-wze/wav/a0509.wav YET IN ACCORDANCE WITH ERNEST'S TEST OF TRUTH IT WORKED -wav/ColinBeckingham-20100116-crs/wav/b0320.wav THE REGRET IN HIS VOICE WAS PROVOCATIVE OF A SECOND BURST OF LAUGHTER -wav/ColinBeckingham-20100116-uja/wav/a0117.wav SHE ADDED WITH GENUINE SYMPATHY IN HER FACE AND VOICE -wav/ColinBeckingham-20100118-fao/wav/a0416.wav THE ADDED WEIGHT HAD A VELOCITY OF FIFTEEN MILES PER HOUR -wav/ColinBeckingham-20100118-scg/wav/a0288.wav THOSE ARE MY OYSTERS HE SAID AT LAST -wav/ColinBeckingham-20100118-snw/wav/a0098.wav SHALL I CARRY YOU -wav/ColinBeckingham-20100118-vib/wav/b0357.wav THE LAW OF CLUB AND FANG -wav/ColinBeckingham-20100119-amx/wav/b0417.wav THE NEXT THING TO WATCH OUT FOR IS BED SORES -wav/ColinBeckingham-20100119-btm/wav/b0405.wav AND EACH YEAR SOMETHING HAPPENED AND I DID NOT GO -wav/ColinBeckingham-20100119-ogj/wav/b0042.wav TEN MINUTES HAD NOT ELAPSED SINCE HE HAD DROPPED THE HANDKERCHIEF -wav/ColinBeckingham-20100119-vlt/wav/a0342.wav SEVENTEEN NO EIGHTEEN DAYS AGO -wav/corno1979-20070615/wav/rp-02.wav THEY ACT AS A PRISM AND FORM A RAINBOW -wav/corno1979-20070615/wav/rp-12.wav TO THE HEBREWS IT WAS A TOKEN THAT THERE WOULD BE NO MORE UNIVERSAL FLOODS -wav/corno1979-20070615/wav/rp-22.wav MANY COMPLICATED IDEAS ABOUT THE RAINBOW HAVE BEEN FORMED -wav/corno1979-20080308-xlg/wav/a0446.wav HE DELUGED ME OVERWHELMED ME WITH ARGUMENT -wav/corno1979-20080317-ayn/wav/b0091.wav FOR A FULL HALF MINUTE JEANNE LOOKED AT HIM WITHOUT SPEAKING -wav/corno1979-20080317-ebe/wav/b0434.wav THE STEWARD HAS JUST TENDERED ME A RESPECTFUL BIT OF ADVICE -wav/corno1979-20080317-kex/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/corno1979-20080317-oxk/wav/a0508.wav SOON SHALL IT BE THRUST BACK FROM OFF PROSTRATE HUMANITY -wav/corno1979-20080520-agj/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/corno1979-20080520-ghu/wav/a0519.wav SUCH AN ACT WAS IN DIRECT VIOLATION OF THE LAWS OF THE LAND -wav/corno1979-20080520-jmr/wav/b0364.wav IN THE BOHEMIAN CLUB OF SAN FRANCISCO THERE ARE SOME CRACK SAILORS -wav/corno1979-20080520-vdn/wav/b0103.wav HE LIFTED HIS EYES AND A STRANGE CRY BURST FROM HIS LIPS -wav/corno1979-20080520-xqg/wav/a0222.wav WHAT PART OF THE UNITED STATES IS YOUR HOME -wav/corno1979-20081220-ebp/wav/b0296.wav AT TIMES I WONDERED WHERE SIR ARCHIBALD GOT HIS STYLE -wav/corno1979-20081220-idl/wav/a0042.wav HOW COULD HE EXPLAIN HIS POSSESSION OF THE SKETCH -wav/corno1979-20081220-qmh/wav/b0018.wav I WAS COMPLETELY LOST IN MY WORK -wav/corno1979-20081220-quk/wav/b0342.wav EACH IMPROVEMENT MAKES THE VALUE OF EVERYTHING ELSE PUMP UP -wav/corno1979-20081220-smn/wav/b0128.wav PHILIP BENT LOW OVER PIERRE -wav/corno1979-20081220-vba/wav/a0154.wav HE WAS SMOOTH-SHAVEN AND HIS HAIR AND EYES WERE BLACK -wav/corno1979-20081220-vzq/wav/b0403.wav KNOWING HIM I REVIEW THE OLD SCANDINAVIAN MYTHS WITH CLEARER UNDERSTANDING -wav/corno1979-20081220-wic/wav/b0276.wav WE WERE NOW GOOD FRIENDS -wav/corno1979-20081220-yrz/wav/rb-04.wav HUNT AND PECK TYPING USING THE FINGERS ARE PRETTY MUCH OUT OF THE QUESTION -wav/corno1979-20090316-len/wav/a0455.wav I OBEYED AND A MINUTE OR TWO LATER THEY STOOD BEFORE HIM -wav/corno1979-20090316-mjl/wav/a0339.wav THEY OBEYED HIM AND WENT HERE AND THERE AT HIS COMMANDS -wav/corno1979-20090316-ncj/wav/a0559.wav PEACE BE UNTO YOU AND GRACE BEFORE THE LORD -wav/corno1979-20090316-pnj/wav/b0418.wav AT THAT MOMENT I GOT THE IMPRESSION THAT SHE WAS WILLOWY -wav/corno1979-20090316-qan/wav/a0260.wav NOBODY KNEW HIS HISTORY THEY OF THE JUNTA LEAST OF ALL -wav/corno1979-20090316-sfh/wav/b0222.wav HE WAS THE LEADER AND TUDOR WAS HIS LIEUTENANT -wav/corno1979-20090316-une/wav/a0457.wav WHAT I SAW I COULD NOT AT FIRST BELIEVE -wav/corno1979-20090316-uoi/wav/b0310.wav A LITTLE TREATMENT MASSAGE WITH SOME HELP FROM THE DOCTOR -wav/covellot-20081129-qap/wav/a0150.wav GOODBYE PIERRE HE SHOUTED -wav/covellot-20081129-xsd/wav/b0457.wav IT WAS SANCTIFICATION AND SALVATION -wav/covellot-20090221-ffc/wav/b0331.wav HIS PARTNERS HAD STARVED AND DIED ON THE STEWART -wav/CptOatmeal-20080721-vnh/wav/a0418.wav THE PORTUGUESE BOY CRAWLED NEARER AND NEARER -wav/DanielHeath-20090117-muu/wav/a0493.wav THE BOY O'BRIEN WAS SPECIALLY MALTREATED -wav/DanielHeath-20090117-rhz/wav/a0492.wav BURNT OUT LIKE THE CRATER OF A VOLCANO -wav/DanielHeath-20090117-rmo/wav/a0002.wav NOT AT THIS PARTICULAR CASE TOM APOLOGIZED WHITTEMORE -wav/DanielHeath-20090118-csg/wav/ar-15.wav THE RATS CRAWLED OUT OF THEIR LITTLE HOUSES AND STOOD ON THE FLOOR IN A LONG LINE -wav/DanielHeath-20090118-ztq/wav/a0403.wav HIS NEWBORN CUNNING GAVE HIM POISE AND CONTROL -wav/DanijelK-20100117-pbj/wav/a0401.wav THE MAN SMILED GRIMLY AND BROUGHT A HATCHET AND A CLUB -wav/DanR-20090223-eta/wav/a0109.wav DO YOU KNOW THAT YOU ARE SHAKING MY CONFIDENCE IN YOU -wav/DanR-20090223-fys/wav/a0226.wav THAT CAME BEFORE MY A B C'S -wav/DanR-20090223-qnv/wav/a0197.wav SUCH A DOG THE WISE DRIVER KILLS OR TURNS LOOSE -wav/DanR-20090223-uln/wav/a0405.wav IT SEEMED THE ORDAINED ORDER OF THINGS THAT DOGS SHOULD WORK -wav/DantheMan-20100110-pgq/wav/b0348.wav WOULD YOU BE SATISFIED WITH THAT ONE HUNDREDTH PART OF ME -wav/Dantheman-20100110-yvz/wav/a0229.wav THE LAST ONE I KNEW WAS AN OVERSEER -wav/danuthaiduc-20080128/wav/rp-11.wav SOME HAVE ACCEPTED IT AS A MIRACLE WITHOUT PHYSICAL EXPLANATION -wav/danuthaiduc-20080128/wav/rp-20.wav SINCE THEN PHYSICISTS HAVE FOUND THAT IT IS NOT REFLECTION -wav/danuthaiduc-20080128/wav/rp-2.wav THEY ACT AS A PRISM AND FORM A RAINBOW -wav/danuthaiduc-20080129-our/wav/ar-12.wav WITHIN FIVE HOURS THE TEN SCOUTS CAME BACK AND SAID -wav/data-20091217-geo/wav/b0259.wav HER MOUTH OPENED BUT INSTEAD OF SPEAKING SHE DREW A LONG SIGH -wav/dave-20090801-bmc/wav/a0259.wav THINK OF INVESTING IN SUCH AN ADVENTURE -wav/DavidG-20071112-llp/wav/b0268.wav SAXON NODDED AND THE BOY FROWNED -wav/davidjamesmcdermott-20100109-zvn/wav/ar-20.wav ARTHUR STOOD AND WATCHED THEM HURRY AWAY -wav/DavidL-20091116-kth/wav/b0056.wav I'LL GIVE A THOUSAND IF YOU PRODUCE HER RETORTED GREGSON -wav/DavidL-20091117-bnh/wav/b0522.wav NOR WOULD IT THAW OUT HIS HANDS AND FEET -wav/DavidL-20091117-csg/wav/a0208.wav YOUTH HAD COME BACK TO HER FREED FROM THE YOKE OF OPPRESSION -wav/DavidL-20091117-duk/wav/a0064.wav THE FOURTH AND FIFTH DAYS PASSED WITHOUT ANY DEVELOPMENTS -wav/DavidL-20091117-fwe/wav/a0312.wav IT LIVED IN PERPETUAL APPREHENSION OF THAT QUARTER OF THE COMPASS -wav/DavidL-20091117-gcr/wav/b0489.wav HE WAS A MERRY MONARCH ESPECIALLY SO FOR AN ASIATIC -wav/DavidL-20091117-gjs/wav/b0184.wav SUCH THINGS IN HER BRAIN WERE LIKE SO MANY OATHS ON HER LIPS -wav/DavidL-20091117-goj/wav/ar-01.wav ONCE THERE WAS A YOUNG RAT NAMED ARTHUR WHO NEVER COULD MAKE UP HIS MIND -wav/DavidL-20091117-ixh/wav/b0390.wav THE VOYAGE WAS OUR IDEA OF A GOOD TIME -wav/DavidL-20091117-mlw/wav/rb-22.wav THAT ALLOWS THE END USER TO ISSUE A WIDER ARRAY OF COMMANDS -wav/DavidL-20091117-ocj/wav/a0567.wav NOW IRVINE WAS A MAN OF IMPULSE A POET -wav/DavidL-20091117-wjl/wav/a0565.wav WITH THEM WERE INDIANS ALSO THREE OTHER MEN -wav/DavidL-20091117-wnf/wav/b0008.wav BURKE HIMSELF HAD CRITICIZED IT BECAUSE OF THE SMILE -wav/DavidL-20091117-yll/wav/a0241.wav I THINK IT'S MUCH NICER TO QUARREL -wav/DavidL-20091117-zgj/wav/b0421.wav SHE IS ESSENTIALLY THE LIFE-GIVING LIFE-CONSERVING FEMALE OF THE SPECIES -wav/deadevilgrounds-20090312-jlu/wav/b0469.wav VERY FEW PEOPLE KNEW OF THE EXISTENCE OF THIS LAW -wav/deadevilgrounds-20090312-xcz/wav/b0199.wav DEAR SIR YOUR SECOND VICTIM HAS FALLEN ON SCHEDULE TIME -wav/deadlokIV-20080809-dgd/wav/a0145.wav I HAVE TO BE CAREFUL OF THEM AS THEY TEAR VERY EASILY -wav/declanseer-20080620-psg/wav/a0452.wav AND A FOURTH ENGINEER WAS HIS GREETING -wav/declanseer-20080620-smz/wav/a0278.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/delibab-20071007-poe/wav/as0001.wav THE ARROW AND THE SONG BY H W LONGFELLOW -wav/delibab-20071007-poe/wav/as0011.wav I FOUND AGAIN IN THE HEART OF A FRIEND -wav/delibab-20071012/wav/sow0009.wav ALL SPOKEN EPICS ALL ACTED HEROISM MARTYRDOMS UP TO THAT -wav/delibab-20071012/wav/sow0019.wav AS SAINTS AS HEROES AS GODS THEY ALONE SURVIVING -wav/delibab-20071019-poe/wav/bps0002.wav READ FOR MOJOMOVE FOUR ONE ONE DOT COM BY ROBERT SCOTT -wav/delibab-20071019-poe/wav/bps0012.wav IN DREAMS HE STRAYED SOME BRACKENED GLADE SOME HEATHERY MOOR -wav/delibab-20071020/wav/tth0005.wav BUT WHY WILL YOU SAY THAT I AM MAD -wav/delibab-20071020/wav/tth0015.wav FOR HIS GOLD I HAD NO DESIRE I THINK IT WAS HIS EYE -wav/delibab-20071025-poe/wav/js0003.wav AND DID THOSE FEET IN ANCIENT TIME WALK UPON ENGLAND'S MOUNTAINS GREEN -wav/delibab-20071029/wav/md0002.wav READ FOR MOJOMOVE FOUR ONE ONE DOT COM BY DELIBAB -wav/delibab-20071029/wav/md0012.wav AND ESPECIALLY WHENEVER MY HYPOS GET SUCH AN UPPER HAND OF ME -wav/delibab-20071029-poe/wav/iaf0002.wav BY W B YEATS READ FOR MOJOMOVE FOUR ONE ONE DOT COM BY DELIBAB -wav/delibab-20071029-poe/wav/iaf0012.wav A WASTE OF BREATH THE YEARS BEHIND IN BALANCE WITH THIS LIFE THIS DEATH -wav/delibab-20071116/wav/pg0009.wav IT SHALL CONTAIN A MAN A WOMAN A CHILD A DOZEN MEN AND WOMEN IF I WILL -wav/delibab-20071116/wav/pg0019.wav THOU SHALT BE GREATEST AMONG MEN AND YET INFINITESIMALLY SMALL -wav/delibab-20071116-poe./wav/teb0009.wav AND SO TWILL BE WHEN I AM GONE -wav/denis-20100110-onf/wav/a0373.wav POINTS OF VIEW NEW IDEAS LIFE -wav/dentalplan-20090310-jwg/wav/a0113.wav I SUPPOSE YOU PICKED THAT LINGO UP AMONG THE INDIANS -wav/dentalplan-20090312-ibd/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/dentalplan-20090312-jpl/wav/a0536.wav HE WOULD DESTROY ALL THINGS THAT ARE FIXED -wav/dentalplan-20090316-itx/wav/b0355.wav THERE WAS PROPER DIVISION OF LABOR IN THE WORK THEY INDIVIDUALLY PERFORMED -wav/derBiggi-20090919-ptm/wav/a0326.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/derBiggi-20090919-tmz/wav/a0511.wav THERE IS MORE BEHIND THIS THAN A MERE UNIVERSITY IDEAL -wav/Derek-20090226-atf/wav/b0225.wav THE PRESIDENT OF THE UNITED STATES WAS HIS FRIEND -wav/Derek-20090226-kzq/wav/a0540.wav YEA SO ARE ALL THE LESSER ANIMALS OF TODAY CLEAN -wav/Derek-20090226-wrz/wav/a0148.wav NOW THESE THINGS HAD BEEN STRUCK DEAD WITHIN HIM -wav/devin122-20080521-axu/wav/b0160.wav IT WAS OVER WHEN HE MADE HIS WAY THROUGH THE RING OF SPECTATORS -wav/devin122-20080521-fny/wav/a0010.wav I'M PLAYING A SINGLE HAND IN WHAT LOOKS LIKE A LOSING GAME -wav/devin122-20080522-ar/wav/ar-06.wav YOU HAVE NO MORE MIND THAN A BLADE OF GRASS -wav/devin122-20080522-ar/wav/ar-16.wav JUST THEN THE OLD RAT SAW ARTHUR STOP HE ORDERED COARSELY -wav/devin122-20080526-mlb/wav/a0315.wav SAXON WAITED FOR SHE KNEW A FRESH IDEA HAD STRUCK BILLY -wav/devin122-20080526-xvd/wav/b0081.wav YOU WERE GOING TO LEAVE AFTER YOU SAW ME ON THE ROCK -wav/devin122-20080527-pck/wav/b0197.wav THE PLANTERS ARE ALREADY CONSIDERING THE MATTER -wav/devin122-20080527-tjx/wav/a0396.wav A RISING TIDE OF FAT HAD SUBMERGED THEM -wav/dioper-20090314-eko/wav/b0408.wav YOU HAVE ALL THE ADVANTAGE -wav/dirkk-20081211-efg/wav/b0530.wav HE HAD A BIG CHIMPANZEE THAT WAS A WINNER -wav/dld2517-20090228-sqj/wav/a0513.wav WE MUST GIVE OURSELVES AND NOT OUR MONEY ALONE -wav/Donato-20090521-eji/wav/b0193.wav SO WAS PACKARD'S FINISH SUICIDE -wav/doogent-20091011-ouf/wav/a0049.wav GREGSON WAS ASLEEP WHEN HE RE-ENTERED THE CABIN -wav/doogent-20091011-ysg/wav/b0225.wav THE PRESIDENT OF THE UNITED STATES WAS HIS FRIEND -wav/douglaid-20080203/wav/vf3-06.wav DEATH HAD COME WITH TERRIBLE SUDDENNESS -wav/douglaid-20080203/wav/vf3-16.wav PERHAPS SHE HAD ALREADY MET HER FATE A LITTLE DEEPER IN THE FOREST -wav/douglaid-20080203/wav/vf3-26.wav THE EMOTION WHICH SHE HAD SUPPRESSED BURST FORTH NOW IN A CHOKING SOB -wav/douglaid-20080203/wav/vf3-36.wav WAS IT THE RENDEZVOUS OF THOSE WHO WERE STRIVING TO WORK HIS RUIN -wav/douglaid-20080204/wav/vf4-06.wav EACH DAY SHE BECAME A MORE VITAL PART OF HIM -wav/douglaid-20080204/wav/vf4-16.wav ABOUT HIM EVERYWHERE WERE THE EVIDENCES OF LUXURY AND OF AGE -wav/douglaid-20080204/wav/vf4-26.wav OF COURSE THAT IS UNINTERESTING SHE CONTINUED -wav/douglaid-20080204/wav/vf4-36.wav A STRANGE FIRE BURNED IN HIS EYES WHEN THORPE TURNED -wav/douglaid-20080205/wav/vf5-15.wav DOWN THERE THE EARTH WAS ALREADY SWELLING WITH LIFE -wav/douglaid-20080205/wav/vf5-24.wav DON'T YOU SEE I'M CHEWING THIS THING IN TWO -wav/douglaid-20080205/wav/vf5-33.wav IT WAS EDGED WITH ICE -wav/douglaid-20080205/wav/vf5-5.wav THEY ARE TO ATTACK YOUR CAMP TOMORROW NIGHT -wav/douglaid-20080206/wav/vf6-06.wav HE SAYS HE BOUGHT HIM OF JACQUES LE BEAU -wav/douglaid-20080206/wav/vf6-16.wav THE OTHER FELT A SUDDEN WAVE OF IRRITATION RUSH THROUGH HIM -wav/douglaid-20080206/wav/vf6-26.wav THAT CAME BEFORE MY A B C'S -wav/douglaid-20080206/wav/vf6-36.wav DON'T YOU SEE I HATE YOU -wav/douglaid-20080210/wav/vf7-15.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/douglaid-20080210/wav/vf7-24.wav AND I HOPE YOU'VE GOT PLENTY OF CHAIN OUT CAPTAIN YOUNG -wav/douglaid-20080210/wav/vf7-33.wav THEY ARE BIG TREES AND REQUIRE PLENTY OF ROOM -wav/douglaid-20080210/wav/vf7-5.wav OUT OF HIS EIGHTEEN HUNDRED HE LAID ASIDE SIXTEEN HUNDRED EACH YEAR -wav/douglaid-20080213/wav/vf8-06.wav GIVE THEM THEIR CHOICE BETWEEN A FINE OR AN OFFICIAL WHIPPING -wav/douglaid-20080213/wav/vf8-16.wav BASSETT WAS A FASTIDIOUS MAN -wav/douglaid-20080213/wav/vf8-26.wav HE WAS PRESSING BEYOND THE LIMITS OF HIS VOCABULARY -wav/douglaid-20080213/wav/vf8-36.wav WE HAD BEEN CHASED BY THEM OURSELVES MORE THAN ONCE -wav/douglaid-20080214/wav/vf9-06.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/douglaid-20080214/wav/vf9-16.wav SO UNEXPECTED WAS MY CHARGE THAT I KNOCKED HIM OFF HIS FEET -wav/douglaid-20080214/wav/vf9-26.wav GET DOWN AND DIG IN -wav/douglaid-20080214/wav/vf9-36.wav YOU DON'T CATCH ME AT ANY SUCH FOOLISHNESS -wav/douglaid-20080216/wav/vf10-06.wav A WILDLY EXCITING TIME WAS HIS DURING THE WEEK PRECEDING THURSDAY THE EIGHTEENTH -wav/douglaid-20080216/wav/vf10-16.wav YOUR PRICE MY SON IS JUST ABOUT THIRTY PER WEEK -wav/douglaid-20080216/wav/vf10-26.wav I CAN'T ARGUE WITH YOU AND YOU KNOW THAT -wav/douglaid-20080216/wav/vf10-36.wav A RISING TIDE OF FAT HAD SUBMERGED THEM -wav/douglaid-20080219/wav/vf11-06.wav AND THAT WAS THE LAST OF FRANCOIS AND PERRAULT -wav/douglaid-20080219/wav/vf11-16.wav THE ADDED WEIGHT HAD A VELOCITY OF FIFTEEN MILES PER HOUR -wav/douglaid-20080219/wav/vf11-26.wav THEY DO NOT KNOW THE LENGTH OF TIME OF INCUBATION -wav/douglaid-20080219/wav/vf11-36.wav BUT MARTIN SMILED A SUPERIOR SMILE -wav/douglaid-200802/wav/rp-06.wav THERE IS ACCORDING TO LEGEND A BOILING POT OF GOLD AT ONE END -wav/douglaid-200802/wav/rp-16.wav OVER WHICH THE GODS PASSED FROM EARTH TO THEIR HOME IN THE SKY -wav/douglaid-200802/wav/rp-26.wav SUPER-IMPOSITION OF A NUMBER OF BOWS -wav/douglaid-20080310/wav/vf12-05.wav THE CREATIVE JOY I MURMURED -wav/douglaid-20080310/wav/vf12-15.wav I OBEYED AND A MINUTE OR TWO LATER THEY STOOD BEFORE HIM -wav/douglaid-20080310/wav/vf12-25.wav HE'LL NEVER DO A TAP OF WORK THE WHOLE VOYAGE -wav/douglaid-20080310/wav/vf12-35.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/douglaid-20080801/wav/vf13-14.wav O'BRIEN TOOK OFF HIS COAT AND BARED HIS RIGHT ARM -wav/douglaid-20080801/wav/vf13-23.wav HIS BEADY BLACK EYES SAW BARGAINS WHERE OTHER MEN SAW BANKRUPTCY -wav/douglaid-20080801/wav/vf13-32.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/douglaid-20080801/wav/vf13-4.wav NO-SIR-EE -wav/dragon_788-20071103-udu/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/dremp-20080116-zsb/wav/b0387.wav IT IS MERELY THE SIMPLE SUPERLATIVE -wav/dsnyder-20080620-dgt/wav/a0411.wav IT WILL BREAK OUR HEARTS AND OUR BACKS TO HOIST ANCHOR BY HAND -wav/dsnyder-20080620-hhc/wav/a0289.wav THEY ARE NOT REGULAR OYSTER PIRATES NICHOLAS CONTINUED -wav/dsnyder-20080620-mmp/wav/b0453.wav ISAAC FORD THE AUSTERE SOLDIER OF THE LORD THE OLD HYPOCRITE -wav/dsnyder-20080620-qea/wav/a0050.wav IN SPITE OF THEIR ABSURDITY THE WORDS AFFECTED PHILIP CURIOUSLY -wav/dsnyder-20080620-utf/wav/ar-06.wav YOU HAVE NO MORE MIND THAN A BLADE OF GRASS -wav/dsnyder-20080620-vdr/wav/a0155.wav WON'T YOU DRAW UP GENTLEMEN -wav/dsnyder-20080620-vpx/wav/b0381.wav AND HOW WOULD WE EVER FIND OURSELVES -wav/dsnyder-20080620-xpu/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/dsnyder-20080620-zgu/wav/b0166.wav FAST BUT ENDURE -wav/dturing-20080602-anv/wav/b0220.wav HARRY BANCROFT DAVE LIED -wav/dturing-20080602-ixr/wav/a0426.wav THEY DO NOT KNOW THE LENGTH OF TIME OF INCUBATION -wav/ductapeguy-20070308b/wav/bab.0006.wav THE BURGESS ANIMAL BOOK FOR CHILDREN BY THORNTON W BURGESS -wav/ductapeguy-20070308b/wav/bab.0016.wav REDDY FOX WOULD HAVE CAUGHT HIM -wav/ductapeguy-20070308b/wav/bab.0026.wav HAD BEEN RIGHT WHERE IT WAS -wav/ductapeguy-20070308b/wav/bab.0036.wav CREPT OUT AND HURRIED LIPPERTY LIPPERTY LIP -wav/ductapeguy-20070308b/wav/bab.0046.wav IF HERE ISN'T PETER RABBIT HIMSELF -wav/ductapeguy-20070308b/wav/bab.0056.wav AND HER SHARP LITTLE EYES SNAPPED -wav/ductapeguy-20070308b/wav/bab.0067.wav BUT YOU DON'T CATCH ME IN THE WATER WHEN I CAN STAY ON LAND -wav/ductapeguy-20070308b/wav/bab.0077.wav REPLIED PETER PROMPTLY -wav/ductapeguy-20070308b/wav/bab.0087.wav SHE GASPED -wav/ductapeguy-20070308b/wav/bab.0097.wav I DON'T BELIEVE A WORD OF IT -wav/ductapeguy-20070308b/wav/bab.0107.wav GOES INTO HOLES IN THE GROUND -wav/ductapeguy-20070308b/wav/bab.0117.wav SUCH IGNORANCE WOULD BE LAUGHABLE -wav/ductapeguy-20070308b/wav/bab.0127.wav HE TRIED TO INTEREST HIMSELF IN THE AFFAIRS OF THE OTHER LITTLE PEOPLE OF OLD ORCHARD BUT IT WAS USELESS -wav/ductapeguy-20070308b/wav/bab.0137.wav AND HE STARTED FOR THE GREEN FOREST TO LOOK FOR OLD MOTHER NATURE -wav/ductapeguy-20070308b/wav/bab.0147.wav WHAT IS IT YOU WANT TO KNOW -wav/ductapeguy-20070308b/wav/bab.0157.wav PETER LOOKED VERY HUMBLE -wav/ductapeguy-20070308b/wav/bab.0167.wav THAN ANY OF YOUR OTHER COUSINS -wav/ductapeguy-20070308b/wav/bab.0177.wav HE IS ONE MEMBER THE FAMILY WHO TAKES TO THE WATER -wav/ductapeguy-20070308b/wav/bab.0187.wav IF YOU PLEASE MOTHER NATURE -wav/ductapeguy-20070308b/wav/bab.0197.wav BECAUSE IT IS LATE -wav/ductapeguy-20070308b/wav/bab.0207.wav BRING HIM ALONG -wav/ductapeguy-20070308b/wav/bab.0217.wav DUCT TAPE GUY DOT NET -wav/ductapeguy-20070619-com/wav/com0010.wav WHO HAD THEIR OWN LITERATURE AND WHO WERE ADVANCED IN THE ARTS -wav/ductapeguy-20070619-com/wav/com0020.wav THE LATTER THREW UP THE SPONGE -wav/ductapeguy-20070619-com/wav/com0030.wav WAS THE FIRST THING OF THE KIND KNOWN TO CIVILIZATION FOR HELP -wav/ductapeguy-20070619-com/wav/com0040.wav AND BADE THEM GO AHEAD WITH THEIR ROUE ENTERPRISES -wav/ductapeguy-20070619-com/wav/com0050.wav THE TIDE WILLIAM OF SCOTLAND WAS MADE A PRISONER IN ELEVEN SEVENTY FOUR AND -wav/ductapeguy-20070619-com/wav/com0060.wav RICHARD WAS CONSTITUTIONALLY A REBEL AND AT LAST COMPELLED THE OLD GENTLEMAN TO -wav/ductapeguy-20070619-com/wav/com0070.wav HIS OFFICIAL LIFE WAS CREDITABLE TO A HIGH DEGREE BUT -wav/ductapeguy-20070619-com/wav/com0080.wav AND SO MANY WERE PUT TO DEATH -wav/ductapeguy-20070619-com/wav/com0090.wav WE CAN ONLY SURMISE -wav/ductapeguy-20070619-com/wav/com0100.wav ENTERED THE ENGLISH ARENA AND THE JIG WAS UP -wav/ductapeguy-20070619-com/wav/com0110.wav WHEN NOT CARRIED TO EXCESS IS RATHER CONDUCIVE TO HEALTH THAN OTHERWISE -wav/ductapeguy-20070619-com/wav/com0120.wav THOUGH HIS NEPHEW ARTHUR THE SON OF GEOFFREY WAS THE RIGHTFUL HEIR -wav/ductapeguy-20070619-com/wav/com0130.wav ILLUSTRATION JOHN CAUSED ARTHUR TO BE CRUELLY MURDERED END OF CHAPTER ELEVEN -wav/ductapeguy-20080422-chr/wav/chr0008.wav LUXURIANT HOP VINES CLAMBERED UP THE LIGHTNING RODS AND WATER SPOUTS -wav/ductapeguy-20080422-chr/wav/chr0018.wav WHILE BANKS OF AROMATIC MINT AND THYME DRANK IN THE SUNSHINE AND SENT IT OUT AGAIN INTO THE SUMMER AIR -wav/ductapeguy-20080422-chr/wav/chr0028.wav IN MAY IT WOULDN'T BE BLOOMING AND IT'S SO PRETTY TO SAY THAT ITS HEAD IS SWEETLY ROSETTED -wav/ductapeguy-20080422-chr/wav/chr0038.wav WORDS HAD ALWAYS BEEN TO HER WHAT DOLLS AND TOYS ARE TO OTHER CHILDREN -wav/ductapeguy-20080422-chr/wav/chr0048.wav PRETTY GOOD AUNT MIRANDA ONLY I WISH FLOWERS WOULD EVER COME UP AS THICK AS THIS PIGWEED AND PLANTAIN AND SORREL -wav/ductapeguy-20080422-chr/wav/chr0058.wav AND IT WOULDN'T TO YOU IF YOUR MIND WAS ON YOUR DUTY -wav/ductapeguy-20080422-chr/wav/chr0068.wav I MUST CRAWL UNDER THE SYRINGA SHADE A MINUTE IT'S SO HOT AND ANYBODY HAS TO STOP WORKING ONCE IN A WHILE -wav/ductapeguy-20080422-chr/wav/chr0078.wav MISS SAWYER FATHER'S GOT TO DRIVE OVER TO NORTH RIVERBORO ON AN ERRAND -wav/ductapeguy-20080422-chr/wav/chr0088.wav AND PERHAPS EMMA JANE CAN BRAID IT AS YOU GO ALONG THE ROAD -wav/ductapeguy-20080422-chr/wav/chr0098.wav CAN'T SAY STRANGER YES AND NO SHE'S THAT WILD DAUGHTER OF OLD NATE PERRY THAT USED TO LIVE UP TOWARDS MODERATION -wav/ductapeguy-20080422-chr/wav/chr0108.wav THAT THERE AIN'T NO RELATIONS AND THE TOWN'S GOT TO BE RESPONSIBLE -wav/ductapeguy-20080422-chr/wav/chr0118.wav THREE THE TIRED MOTHER WITH THE WEENY BABY ON HER ARM LAY ON A LONG CARPENTER'S BENCH HER EARTHLY JOURNEY OVER -wav/ductapeguy-20080422-chr/wav/chr0128.wav WE COULD SING GOD IS EVER GOOD OUT OF THE SUNDAY SCHOOL SONG BOOK -wav/ductapeguy-20080422-chr/wav/chr0138.wav BUT NEVERTHELESS HAD SHE EVER HEARD IT SHE WOULD HAVE STOOD LOYALLY BY THE JAPANESE PROVERB -wav/ductapeguy-20080422-chr/wav/chr0148.wav IF ONLY WE WERE MARRIED WE COULD KEEP HIM AND SAY NOTHING AND NOBODY WOULD KNOW THE DIFFERENCE -wav/ductapeguy-20080422-chr/wav/chr0158.wav SHE HAS NOTHING TO DO OUT OF SCHOOL AND WE COULD BORROW IT ALL THE TIME -wav/ductapeguy-20080422-chr/wav/chr0168.wav DON'T YOU BELIEVE AUNT SARAH COBB WOULD KEEP HIM -wav/ductapeguy-20080422-chr/wav/chr0178.wav PERHAPS HE'LL BE WILLING HE'S COMING NOW I HEAR THE WHEELS -wav/ductapeguy-20080422-chr/wav/chr0188.wav NO ON REFLECTION MR PERKINS DID NOT CARE -wav/ductapeguy-20080422-chr/wav/chr0198.wav EMMA JANE TOO WAS A WELL KNOWN FIGURE IN THE LANE BUT THE STRANGE BABY -wav/ductapeguy-20080422-chr/wav/chr0208.wav WHO COULD HAVE USURPED REBECCA'S PRIVILEGES AND TENDENCIES IN THIS DIRECTION -wav/ductapeguy-20080422-chr/wav/chr0218.wav SO HE DOESN'T KNOW HIS WIFE AND THE WEENY BABY ARE DEAD -wav/ductapeguy-20080422-chr/wav/chr0228.wav HE ISN'T AFRAID OF ANYBODY OR ANYTHING AS YOU CAN SEE BY HIS JUST SITTING THERE LAUGHING AND SUCKING HIS THUMB -wav/ductapeguy-20080423-ang/wav/sto0005.wav YOU REMEMBER ABRAM'S WIFE WHO HAD JOURNEYED WITH HIM FROM UR OF THE CHALDEES AND WHO LIVED IN HIS TENT ALL THOSE YEARS WAS NAMED SARAI -wav/ductapeguy-20080423-ang/wav/sto0015.wav WHERE ARE YOU GOING AND HAGAR SAID TO THE ANGEL -wav/ductapeguy-20080423-ang/wav/sto0025.wav AND WENT BACK AGAIN TO SERVE SARAI -wav/ductapeguy-20080423-ang/wav/sto0035.wav AND YOUR WIFE'S NAME SHALL ALSO BE CHANGED SHE SHALL NO MORE BE CALLED SARAI BUT SARAH -wav/ductapeguy-20080423-bro/wav/bro0005.wav A SOMBER MAN DRIFTS BY AND ONLY WE PASS UP THE STREET UNWEARIED WARM AND FREE -wav/ductapeguy-20080423-goo/wav/goo0005.wav I HAD SUCH COMPANY OUTWARD BOUND I WENT TILL THERE WERE NO COTTAGES FOUND -wav/ductapeguy-20080423-nau/wav/nau0007.wav AND HE PLAYED HOP SCOTCH WITH THE STARBOARD WATCH WHILE THE CAPTAIN TICKLED THE CREW -wav/ductapeguy-20080423-nau/wav/nau0017.wav ON THE GULLIBY ISLES WHERE THE POOHPOOH SMILES AND THE ANAGAZANDERS ROAR -wav/ductapeguy-20080423-pri/wav/pri0001.wav MY PRIME OF YOUTH IS BUT A FROST OF CARES BY CHIDIOCK TICHBORNE -wav/ductapeguy-20080423-pri/wav/pri0011.wav I LOOKED FOR LIFE AND SAW IT WAS A SHADE I TROD THE EARTH AND KNEW IT WAS MY TOMB -wav/ductapeguy-20080423-sto/wav/sto0007.wav THE CAMP OF THE PHILISTINES AND THE ISRAELITES WERE SET -wav/ductapeguy-20080423-sto/wav/sto0017.wav THEN WE WILL GIVE UP TO YOU COME NOW SEND OUT YOUR MAN -wav/ductapeguy-20080423-sto/wav/sto0027.wav AND THE KINGS' DAUGHTER SHALL BE HIS WIFE AND DAVID SAID -wav/ductapeguy-20080423-sto/wav/sto0037.wav THEY BROUGHT DAVID BEFORE KING SAUL SOME YEARS HAD PASSED SINCE SAUL HAD MET DAVID -wav/ductapeguy-20080423-sto/wav/sto0047.wav BUT SAUL WAS ALMOST A GIANT AND HIS ARMOR WAS FAR TOO LARGE FOR DAVID -wav/ductapeguy-20080423-sto/wav/sto0057.wav BUT OUT OF SIGHT IN A BAG UNDER HIS MANTLE HE HAD FIVE SMOOTH STONES CAREFULLY CHOSEN AND A SLING -wav/ductapeguy-20080423-sto/wav/sto0067.wav SO THAT ALL MAY KNOW THAT THERE IS A GOD IN ISRAEL -wav/ductapeguy-20080423-sto/wav/sto0077.wav EVEN TO THE GATES OF THEIR OWN CITY OF GATH -wav/DungFu-20090428-twq/wav/b0116.wav I HAVE HUNTED ALONG THIS RIDGE REPLIED PHILIP -wav/DungFu-20090428-yly/wav/a0500.wav WHO THE DEVIL GAVE IT TO YOU TO BE JUDGE AND JURY -wav/EagleX-20071225-npo/wav/b0209.wav HE'S TERRIBLY TOUCHY ABOUT HIS BLACK WARDS AS HE CALLS THEM -wav/eboyjr-20090725-brf/wav/b0198.wav I USE GREAT TROUBLE ADVISEDLY -wav/eboyjr-20090725-cye/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/eboyjr-20090725-fov/wav/b0533.wav HIS ABNORMAL POWER OF VISION MADE ABSTRACTIONS TAKE ON CONCRETE FORM -wav/eboyjr-20090725-hqr/wav/b0109.wav PHILIP ATE LIGHTLY OF THE FOOD WHICH PIERRE HAD READY FOR HIM -wav/eboyjr-20090725-mvs/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/eboyjr-20090725-nmh/wav/b0237.wav THEY JUST LAY OFF IN THE BUSH AND PLUGGED AWAY -wav/eboyjr-20090725-nur/wav/b0527.wav THE VERY IDEA OF IT WAS PREPOSTEROUS -wav/eboyjr-20090725-ree/wav/a0334.wav HE'LL KNOCK YOU OFF A FEW STICKS IN NO TIME -wav/eboyjr-20090725-xrs/wav/a0478.wav ALSO SHE HAS FORBIDDEN THEM SMOKING THEIR PIPES IN THE AFTER-ROOM -wav/eboyjr-20090725-ywy/wav/a0187.wav AHEAD OF THEM THEY SAW A GLIMMER OF SUNSHINE -wav/eddiea25-20090112-ybo/wav/a0412.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/Edman274-20090103-fja/wav/b0069.wav COULD THE INCIDENT HAVE ANYTHING TO DO WITH JEANNE AND PIERRE -wav/Edman274-20090103-fmy/wav/b0511.wav DO YOU VALUE YOUR HIDE -wav/Edman274-20090103-vga/wav/b0106.wav FOR A FULL MINUTE THE TWO MEN STARED INTO EACH OTHER'S FACE -wav/edman274-20090116-qws/wav/b0216.wav I WISH YOU WERE MORE ADAPTABLE JOAN RETORTED -wav/Edman274-20090511-cxp/wav/b0190.wav IDEALISM LED HIM TO PHILOSOPHIC ANARCHY AND HIS FAMILY THREW HIM OFF -wav/Edman274-20091113-qfw/wav/b0526.wav THIRTY POUNDS SAID THE CAPTAIN WITH FINALITY -wav/efeefe-20081203-htb/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/eloriane-20090901-lgx/wav/b0341.wav I PLAY THAT CHOICE WIDE OPEN TO WIN -wav/eloriane-20090901-svr/wav/b0523.wav THE RUSSIAN MUSIC PLAYER THE COUNT WAS HER OBEDIENT SLAVE -wav/Eresus-20090416-ked/wav/b0128.wav PHILIP BENT LOW OVER PIERRE -wav/Eresus-20090416-zdx/wav/b0258.wav YOU FIRED ME OUT OF YOUR HOUSE IN SHORT -wav/erkki-20080616-qre/wav/a0562.wav WHAT THE FLAMING -wav/es02-20071220-ckw/wav/rb-19.wav A FULL-BLOWN COMPUTER OFFERS A PROGRAMMER THE FREEDOM TO DEVELOP SOFTWARE -wav/ethanoconnors-20080605-mpw/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/ethanoconnors-20080605-oiz/wav/a0491.wav AND AS IN DENIAL OF GUILT THE ONE-LEGGED BOY REPLIED -wav/ethanoconnors-20080605-waa/wav/rb-19.wav THAT MEANS THAT WHEN A PROGRAMMER WANTS TO WRITE SPEECH RECOGNITION SOFTWARE -wav/ethanoconnors-20080607-guk/wav/a0195.wav BUT A STRANGE THING HAPPENED -wav/ethanoconnors-20080607-hyw/wav/b0478.wav THE OLIGARCHY WILL ENCOURAGE SUCH AMBITION AND THE CONSEQUENT COMPETITION -wav/ETT-20090329-typ/wav/a0412.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/evilnick-20090903-eti/wav/a0261.wav I HAVE BEEN DOUBLY BAPTIZED -wav/facuq-20090731-med/wav/b0234.wav AND WATCH OUT FOR WET FEET WAS HIS PARTING ADVICE -wav/fangiotophia-20080604-smd/wav/a0225.wav I WAS BROUGHT UP THE WAY MOST GIRLS IN HAWAII ARE BROUGHT UP -wav/farmejack-20080829-sqr/wav/b0046.wav PHILIP PRODUCED A COUPLE OF CIGARS AND TOOK A CHAIR OPPOSITE HIM -wav/farmerjack-20080827-hbr/wav/a0389.wav MAB SHE SAID -wav/farmerjack-20080827-ins/wav/a0225.wav I WAS BROUGHT UP THE WAY MOST GIRLS IN HAWAII ARE BROUGHT UP -wav/farmerjack-20080827-oaj/wav/a0486.wav FOR THE REST HE WAS A MERE AUTOMATON -wav/farmerjack-20080827-umo/wav/a0534.wav BUT JOHANNES COULD AND DID -wav/farmerjack-20080827-wco/wav/a0011.wav IF I EVER NEEDED A FIGHTER IN MY LIFE I NEED ONE NOW -wav/farmerjack-20080827-wyu/wav/a0267.wav ELI HARDING ASKED AS SHUNK STARTED TO FOLLOW -wav/farmerjack-20080827-ycq/wav/a0291.wav THE WEEKS HAD GONE BY AND NO OVERT ACTS HAD BEEN ATTEMPTED -wav/farmerjack-20080827-ymr/wav/a0086.wav DEATH HAD COME WITH TERRIBLE SUDDENNESS -wav/farmerjack-20080828-atg/wav/a0224.wav SHE NODDED AND HER EYES GREW SOFT AND MOIST -wav/farmerjack-20080828-dhh/wav/rb-35.wav AND OPEN MY THESIS MIGHT SOON BE QUITE COMMON -wav/farmerjack-20080828-dxa/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/farmerjack-20080828-fja/wav/a0072.wav BUT WHO WAS EILEEN'S DOUBLE -wav/farmerjack-20080828-ghi/wav/a0301.wav BUT ALL MY DREAMS VIOLATED THIS LAW -wav/farmerjack-20080828-jcm/wav/a0575.wav THERE WEREN'T ANY MISSIONS AND HE WAS THE MAN TO KNOW -wav/farmerjack-20080828-jrq/wav/b0416.wav I AROSE OBEDIENTLY AND WENT DOWN THE BEACH -wav/farmerjack-20080828-jvp/wav/b0310.wav A LITTLE TREATMENT MASSAGE WITH SOME HELP FROM THE DOCTOR -wav/farmerjack-20080828-mpc/wav/b0215.wav IT IS A GOOD PROPERTY AND WORTH MORE THAN THAT -wav/farmerjack-20080828-omz/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/farmerjack-20080828-pqo/wav/b0452.wav THEY SAW EACH OTHER FOR THE FIRST TIME IN BOSTON -wav/farmerjack-20080828-pyl/wav/b0429.wav AND THE EURASIAN CHINESE-ENGLISHMAN BOWED HIMSELF AWAY -wav/farmerjack-20080828-qvk/wav/a0481.wav NIMROD REPLIED WITH A SLIGHT MANIFESTATION OF SENSITIVENESS -wav/farmerjack-20080828-qzo/wav/b0069.wav COULD THE INCIDENT HAVE ANYTHING TO DO WITH JEANNE AND PIERRE -wav/farmerjack-20080828-sgh/wav/b0033.wav HOW DOES YOUR WAGER LOOK NOW -wav/farmerjack-20080828-ste/wav/b0078.wav THERE WAS PRIDE AND STRENGTH THE RING OF TRIUMPH IN HIS VOICE -wav/farmerjack-20080828-tem/wav/b0230.wav NOW RUN ALONG AND TELL THEM TO HURRY -wav/farmerjack-20080828-tqf/wav/rb-11.wav A GOOD SOLUTION WOULD BE TO USE SPEECH RECOGNITION -wav/farmerjack-20080828-vqx/wav/a0484.wav NO-SIR-EE -wav/farmerjack-20080828-xeh/wav/a0387.wav BOB GROWING DISGUSTED TURNED BACK SUDDENLY AND ATTEMPTED TO PASS MAB -wav/farmerjack-20080828-yhk/wav/b0475.wav NOT A WHEEL MOVED IN HIS EMPIRE -wav/farmerjack-20080828-yxa/wav/b0286.wav THE TIME WAS CONSIDERED AUSPICIOUS -wav/farmerjack-20080829-ctp/wav/b0233.wav SO SHE SAID THE IRATE SKIPPER DASHED ON -wav/farmerjack-20080829-dif/wav/rp-28.wav THE RESULT IS TO GIVE A BOW WITH AN ABNORMALLY WIDE YELLOW BAND -wav/farmerjack-20080829-eao/wav/a0124.wav IT WAS JEANNE SINGING SOFTLY OVER BEYOND THE ROCKS -wav/farmerjack-20080829-gfl/wav/b0310.wav A LITTLE TREATMENT MASSAGE WITH SOME HELP FROM THE DOCTOR -wav/farmerjack-20080829-ggh/wav/a0554.wav JACK LONDON WAIKIKI BEACH HONOLULU OAHU -wav/farmerjack-20080829-hcp/wav/b0218.wav THE ISSUE WAS NOT IN DOUBT -wav/farmerjack-20080829-iju/wav/a0349.wav IT WAS SIMPLE IN ITS WAY AND NO VIRTUE OF HIS -wav/farmerjack-20080829-jgz/wav/a0339.wav THEY OBEYED HIM AND WENT HERE AND THERE AT HIS COMMANDS -wav/farmerjack-20080829-jrg/wav/a0068.wav IN A FLASH PHILIP FOLLOWED ITS DIRECTION -wav/farmerjack-20080829-lbh/wav/a0518.wav ILLUMINATING OIL WAS BECOMING ALL PROFIT -wav/farmerjack-20080829-lzb/wav/a0115.wav HE HAD NO EXCUSE FOR THE FEELINGS WHICH WERE AROUSED IN HIM -wav/farmerjack-20080829-pby/wav/a0010.wav I'M PLAYING A SINGLE HAND IN WHAT LOOKS LIKE A LOSING GAME -wav/farmerjack-20080829-qcz/wav/b0386.wav MY IDEA WAS THAT HE WOULD HAVE MORE INFLUENCE OVER THE NATIVES -wav/farmerjack-20080829-yqz/wav/rb-35.wav AND OPEN MY THESIS MIGHT SOON BE QUITE COMMON -wav/farmerjack-20080830-dzr/wav/b0373.wav UNLIKE JOSHUA HE STOOD IN NO NEED OF DIVINE ASSISTANCE -wav/farmerjack-20080830-rqn/wav/b0139.wav TOGETHER THEY ATE THE RABBIT -wav/farmerjack-20080830-ymd/wav/b0017.wav EVERYTHING WAS WORKING SMOOTHLY BETTER THAN I HAD EXPECTED -wav/farmerjack-20080830-yqs/wav/b0424.wav IT IS A VERY TENABLE HYPOTHESIS AND WILL BEAR LOOKING INTO -wav/farmerjack-20080831-wqm/wav/a0040.wav I SUPPOSE YOU WONDER WHY SHE IS COMING UP HERE -wav/farmerjack-20080915-aeh/wav/a0246.wav YOU HAVE HEARD ALWAYS HOW HE WAS THE LOVER OF THE PRINCESS NAOMI -wav/farmerjack-20080915-byh/wav/b0193.wav SO WAS PACKARD'S FINISH SUICIDE -wav/farmerjack-20080915-crj/wav/b0356.wav HE LOVED TO PLAY CHINESE LOTTERY -wav/farmerjack-20080915-fhs/wav/a0505.wav WE FISHED SHARKS ON NIIHAU TOGETHER -wav/farmerjack-20080915-hzx/wav/a0051.wav THE LACE WAS OF A DELICATE IVORY COLOR FAINTLY TINTED WITH YELLOW -wav/farmerjack-20080915-jzs/wav/a0250.wav HE HAD OBSERVED THE BUSINESS LIFE OF HAWAII AND DEVELOPED A VAULTING AMBITION -wav/farmerjack-20080915-khz/wav/a0209.wav IT WAS NOT A LARGE LAKE AND ALMOST ROUND -wav/farmerjack-20080915-knl/wav/a0593.wav SHE'D MAKE A GOOD WIFE FOR THE CASHIER -wav/farmerjack-20080915-lws/wav/a0346.wav GET DOWN AND DIG IN -wav/farmerjack-20080915-nhr/wav/b0181.wav AND YOU PREFERRED A CANNIBAL ISLE AND A CARTRIDGE BELT -wav/farmerjack-20080915-opn/wav/b0456.wav HE WAS AN AMPHIBIAN AND A MOUNTAINEER -wav/farmerjack-20080915-paf/wav/b0448.wav SANDEL WOULD NEVER BECOME A WORLD CHAMPION -wav/farmerjack-20080915-pki/wav/b0082.wav HE BIT HIS TONGUE AND CURSED HIMSELF AT THIS FRESH BREAK -wav/farmerjack-20080915-qof/wav/b0199.wav DEAR SIR YOUR SECOND VICTIM HAS FALLEN ON SCHEDULE TIME -wav/farmerjack-20080915-rea/wav/b0086.wav HE CAN CARE FOR HIMSELF -wav/farmerjack-20080915-tey/wav/a0564.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/farmerjack-20080915-tni/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/farmerjack-20080915-tvt/wav/b0479.wav VIOLATION OF THIS LAW WAS MADE A HIGH MISDEMEANOR AND PUNISHED ACCORDINGLY -wav/farmerjack-20080915-txy/wav/a0303.wav BUT THEY MAKE THE MISTAKE OF IGNORING THEIR OWN DUALITY -wav/farmerjack-20080915-uel/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/farmerjack-20080915-uhr/wav/b0137.wav BUT THIS LITTLE DEFECT DID NOT WORRY HIM -wav/farmerjack-20080915-umg/wav/b0476.wav THE REORGANIZATION OF THESE COUNTRIES TOOK THE FORM OF REVOLUTION -wav/farmerjack-20080915-usr/wav/a0288.wav THOSE ARE MY OYSTERS HE SAID AT LAST -wav/farmerjack-20080915-voq/wav/rb-13.wav MANY PHONES ALREADY OFFER THE POSSIBILITY OF SO-CALLED VOICE DIALING -wav/farmerjack-20080915-xbp/wav/b0535.wav HE READ HIS FRAGMENTS ALOUD -wav/farmerjack-20080915-xju/wav/b0500.wav THEN CAME MY BOY CODE -wav/farmerjack-20080915-yfk/wav/a0362.wav NOPE NOT THE SLIGHTEST IDEA -wav/farmerjack-20080915-yjg/wav/b0524.wav SO FAR AS FLAGS WERE CONCERNED THEY WERE BEYOND ALL JURISDICTION -wav/farmerjack-20080915-zfv/wav/b0007.wav HEAR THE INDIAN DOGS WAILING DOWN AT CHURCHILL -wav/farmerjack-20080915-zqg/wav/a0121.wav THEY ATE DINNER AT THE FIFTH AND RESTED FOR TWO HOURS -wav/farmerjack-20080917-agt/wav/a0120.wav MY RIGHT FOOT FEELS LIKE THAT OF A CHINESE DEBUTANTE -wav/farmerjack-20080917-apb/wav/b0198.wav I USE GREAT TROUBLE ADVISEDLY -wav/farmerjack-20080917-dek/wav/b0430.wav THEY WERE BABBLING AND CHATTERING ALL TOGETHER -wav/farmerjack-20080917-ejj/wav/a0402.wav CURLY RUSHED HER ANTAGONIST WHO STRUCK AGAIN AND LEAPED ASIDE -wav/farmerjack-20080917-fxh/wav/a0452.wav THREE OILERS AND A FOURTH ENGINEER WAS HIS GREETING -wav/farmerjack-20080917-fxy/wav/b0489.wav HE WAS A MERRY MONARCH ESPECIALLY SO FOR AN ASIATIC -wav/farmerjack-20080917-gzj/wav/a0014.wav NOW YOU'RE COMING DOWN TO BUSINESS PHIL HE EXCLAIMED -wav/farmerjack-20080917-ohx/wav/b0246.wav THE BOY GREW AND PROSPERED -wav/farmerjack-20080917-onw/wav/b0203.wav A MONTH IN AUSTRALIA WOULD FINISH ME -wav/farmerjack-20080917-qkz/wav/a0137.wav THEN HE STEPPED BACK WITH A LOW CRY OF PLEASURE -wav/farmerjack-20080917-taj/wav/a0043.wav IT SEEMED NEARER TO HIM SINCE HE HAD SEEN AND TALKED WITH GREGSON -wav/farmerjack-20080917-uem/wav/a0591.wav WE ARE BOTH CHILDREN TOGETHER -wav/farmerjack-20080917-wrw/wav/a0299.wav I TELL YOU I AM DISGUSTED WITH THIS ADVENTURE TOMFOOLERY AND ROT -wav/farmerjack-20080917-xab/wav/a0239.wav HE CRIED IN SUCH GENUINE DISMAY THAT SHE BROKE INTO HEARTY LAUGHTER -wav/farmerjack-20080918-afe/wav/b0034.wav HE CONFESSED THAT THE SKETCH HAD STARTLED HIM -wav/farmerjack-20080918-dat/wav/a0244.wav HE WAS THE SOUL OF DEVOTION TO HIS EMPLOYERS -wav/farmerjack-20080918-dmj/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/farmerjack-20080918-eiy/wav/b0141.wav IT WAS BEATING AND WAITING IN THE AMBUSH OF THOSE BLACK PITS -wav/farmerjack-20080918-els/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/farmerjack-20080918-eyl/wav/a0327.wav THEY WERE LESS STOOPED THAN WE LESS SPRINGY IN THEIR MOVEMENTS -wav/farmerjack-20080918-gka/wav/a0064.wav THE FOURTH AND FIFTH DAYS PASSED WITHOUT ANY DEVELOPMENTS -wav/farmerjack-20080918-jbx/wav/a0356.wav YOU DON'T CATCH ME AT ANY SUCH FOOLISHNESS -wav/farmerjack-20080918-ncj/wav/b0275.wav BUT I DID NOT ENJOY IT LONG -wav/farmerjack-20080918-rkj/wav/b0520.wav HANS HURLED HIMSELF UPON THE PROSTRATE MAN STRIKING MADLY WITH HIS FISTS -wav/farmerjack-20080918-rze/wav/a0262.wav THEY WOULDN'T BE SWEEPING A BIG VESSEL LIKE THE MARTHA -wav/farmerjack-20080918-uwr/wav/b0469.wav VERY FEW PEOPLE KNEW OF THE EXISTENCE OF THIS LAW -wav/farmerjack-20080918-wbt/wav/b0300.wav DOES THE OLD BOY OFTEN GO OFF AT HALF-COCK THAT WAY -wav/farmerjack-20080918-xtb/wav/b0470.wav THE VERY THING ERNEST AGREED -wav/farmerjack-20080918-ynk/wav/rb-13.wav MANY PHONES ALREADY OFFER THE POSSIBILITY OF SO-CALLED VOICE DIALING -wav/farmerjack-20080918-yzm/wav/a0469.wav THE EASTERN HEAVENS WERE EQUALLY SPECTACULAR -wav/fate-20090311-osp/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/fate-20090311-urp/wav/a0186.wav LIKE A FLASH HE LAUNCHED HIMSELF INTO THE FEATHERED MASS OF THE OWL -wav/fatmav-20090703-jku/wav/b0295.wav ALL RIGHT SIR REPLIED JOCK WITH GREAT REGRET -wav/framerjack-20080915-pit/wav/a0214.wav BESIDES HE WAS PAID ONE CASE OF TOBACCO PER HEAD -wav/francishemingway-20090606-dvk/wav/a0254.wav STRAIGHT OUT THEY SWAM THEIR HEADS GROWING SMALLER AND SMALLER -wav/francishemingway-20090606-fyf/wav/b0497.wav ONE GREAT DRAWBACK TO FARMING IN CALIFORNIA IS OUR LONG DRY SUMMER -wav/francishemingway-20090606-xxd/wav/a0476.wav AT THIS MOMENT I FELT A STIR AT MY SHOULDER -wav/francishemingway-20090606-zcq/wav/a0458.wav THE STOUT WOOD WAS CRUSHED LIKE AN EGGSHELL -wav/FrankdeLange-20080718-xkd/wav/b0246.wav THE BOY GREW AND PROSPERED -wav/FrankdeLange-20080718-zto/wav/a0090.wav THE SINGING VOICE APPROACHED RAPIDLY -wav/FrozenFire-20080827-bnh/wav/a0396.wav A RISING TIDE OF FAT HAD SUBMERGED THEM -wav/FrozenFire-20080827-cnj/wav/a0456.wav BUT IT WON'T CONTINUE SHE SAID WITH EASY CONFIDENCE -wav/FrozenFire-20080827-dcw/wav/b0433.wav WE ARE COOKING ON THE COAL STOVE AND ON THE OIL BURNERS -wav/FrozenFire-20080827-gqa/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/FrozenFire-20080827-juh/wav/b0345.wav DAYLIGHT MADE NO ANSWER AND THE DOOR CLOSED BEHIND HIM -wav/FrozenFire-20080827-kvl/wav/b0204.wav DOWN THROUGH THE PERFUME WEIGHTED AIR FLUTTERED THE SNOWY FLUFFS OF THE COTTONWOODS -wav/FrozenFire-20080827-mij/wav/b0529.wav COME ON DEL MAR CHALLENGED -wav/FrozenFire-20080827-mkg/wav/a0168.wav LOW BUSH WHIPPED HIM IN THE FACE AND LEFT NO STING -wav/FrozenFire-20080827-qpg/wav/a0522.wav FOR SUCH COUNTRIES NOTHING REMAINED BUT REORGANIZATION -wav/FrozenFire-20080827-qzs/wav/a0014.wav NOW YOU'RE COMING DOWN TO BUSINESS PHIL HE EXCLAIMED -wav/FrozenFire-20080827-xbz/wav/a0487.wav THE RIVER BARED ITS BOSOM AND SNORTING STEAMBOATS CHALLENGED THE WILDERNESS -wav/FrozenFire-20080827-yeq/wav/a0418.wav THE PORTUGUESE BOY CRAWLED NEARER AND NEARER -wav/G-20080425-itf/wav/b0006.wav HE SEIZED GREGSON BY THE ARM AND LED HIM TO THE DOOR -wav/galalleni-20090316-cvo/wav/b0524.wav SO FAR AS FLAGS WERE CONCERNED THEY WERE BEYOND ALL JURISDICTION -wav/galalleni-20090316-djq/wav/a0319.wav AND THE EDINBURGH EVENING NEWS SAYS WITH EDITORIAL GLOOM -wav/galalleni-20090316-qiv/wav/b0273.wav THEN IT WAS THAT A STRANGE THING HAPPENED -wav/galalleni-20090316-rnp/wav/a0436.wav BUT MARTIN SMILED A SUPERIOR SMILE -wav/galalleni-20090316-wil/wav/a0289.wav THEY ARE NOT REGULAR OYSTER PIRATES NICHOLAS CONTINUED -wav/galalleni-20090316-wos/wav/b0195.wav NOBODY KNOWS HOW THE NATIVES GOT THEM -wav/geh_weida-20090413-zaq/wav/a0090.wav THE SINGING VOICE APPROACHED RAPIDLY -wav/geistgesicht-20071018-naz/wav/a0346.wav GET DOWN AND DIG IN -wav/geon-20080517-bna/wav/a0315.wav SAXON WAITED FOR SHE KNEW A FRESH IDEA HAD STRUCK BILLY -wav/geon-20080517-clj/wav/a0593.wav SHE'D MAKE A GOOD WIFE FOR THE CASHIER -wav/geon-20080517-fuo/wav/a0113.wav I SUPPOSE YOU PICKED THAT LINGO UP AMONG THE INDIANS -wav/geon-20080517-hjt/wav/a0292.wav HERE IN THE MIDMORNING THE FIRST CASUALTY OCCURRED -wav/geon-20080517-hop/wav/b0116.wav I HAVE HUNTED ALONG THIS RIDGE REPLIED PHILIP -wav/geon-20080517-kib/wav/a0371.wav IT ISSUED A RATE OF FORTY TWO DOLLARS A CAR ON CHARCOAL -wav/geon-20080517-niu/wav/a0427.wav ENTERS NOW THE PSYCHOLOGY OF THE SITUATION -wav/geon-20080517-qcl/wav/a0429.wav QUICK WAS THE DISAPPOINTMENT IN HIS FACE YET SMILING WAS THE ACQUIESCENCE -wav/geon-20080517-rai/wav/b0210.wav WHATEVER HE GUESSED HE LOCKED AWAY IN THE TABOO ROOM OF NAOMI -wav/geon-20080517-syq/wav/b0097.wav BESIDES THAT NOISE MAKES ME DEAF -wav/Gerwin-20090423-ite/wav/b0098.wav PHILIP LOOKED BACK FROM THE CREST AND SAW JEANNE LEANING OVER THE CANOE -wav/gesine-20080421-rid/wav/rid0008.wav I WAS MAKING MY EVENING TOILET IN MY CHAMBERS IN PALL MALL -wav/gesine-20080421-rid/wav/rid0018.wav I HAD ENJOYED WHAT SWEETS IT HAD TO OFFER IN EVER DWINDLING DEGREE SINCE THE MIDDLE OF AUGUST -wav/gesine-20080421-rid/wav/rid0028.wav AND WROTE SEVERAL CLEVER LETTERS IN A VEIN OF CHEAP SATIRE INDIRECTLY SUGGESTING THE PATHOS OF MY POSITION -wav/gesine-20080421-rid/wav/rid0038.wav BUT I WAS NOT INCONSOLABLE WHEN THEY LET THEIR HOUSE AND WENT ABROAD -wav/gesine-20080421-rid/wav/rid0048.wav AND HAD SETTLED INTO THE DISMAL BUT DIGNIFIED ROUTINE OF OFFICE CLUB AND CHAMBERS -wav/gesine-20080421-rid/wav/rid0058.wav IF IT BIT LESS DEEPLY CAME FROM MY COUSIN NESTA WHO WROTE -wav/gesine-20080421-rid/wav/rid0068.wav IN BEING ABSENT FOR LUNCH FROM TWELVE TILL TWO AND IN MY SPARE MOMENTS MAKING PRECIS OF -wav/gesine-20080421-rid/wav/rid0078.wav YES BUT IRONY OF IRONIES I HAD NOWHERE TO GO TO THE MORVEN LODGE PARTY WAS BREAKING UP -wav/gesine-20080421-rid/wav/rid0088.wav A PIS ALLER WHOSE BANALITY WAS REPELLENT BESIDES THEY WOULD BE LEAVING SOON FOR OUR HOME IN YORKSHIRE -wav/gesine-20080421-rid/wav/rid0098.wav VERY SORRY BUT THERE'S ONE OTHER THING A PAIR OF RIGGING SCREWS FROM CAREY AND NEILSON'S -wav/gesine-20080421-rid/wav/rid0108.wav IS A SPLENDID CRUISING GROUND AL SCENERY AND THERE OUGHT TO BE PLENTY OF DUCK ABOUT SOON -wav/gesine-20080421-rid/wav/rid0118.wav AND IF YOU PAINT BRING YOUR GEAR I KNOW YOU SPEAK GERMAN LIKE A NATIVE -wav/gesine-20080421-rid/wav/rid0128.wav SOME RUSTIC SIGHTSEERS DRAINING THE LAST DREGS OF THE DAYLIGHT -wav/gesine-20080421-rid/wav/rid0138.wav YACHTING IN THE BALTIC AT THE END OF SEPTEMBER THE VERY IDEA MADE ONE SHUDDER -wav/gesine-20080421-rid/wav/rid0148.wav WE HAD BOTH GONE DOWN IN THE SAME YEAR THREE YEARS AGO NOW -wav/gesine-20080421-rid/wav/rid0158.wav HE DRESSED INDIFFERENTLY AND I THOUGHT HIM DULL I HAD ALWAYS CONNECTED HIM WITH BOATS AND THE SEA -wav/gesine-20080421-rid/wav/rid0168.wav TO BE ASKED AS CONSOLATION TO SPEND OCTOBER FREEZING IN THE BALTIC WITH AN ECCENTRIC NONENTITY -wav/gesine-20080421-rid/wav/rid0178.wav HIS PALS HAD LEFT HIM WHY NOT THE YACHTING BRAND AND WHY NOT -wav/gilrim-20080120-ohc/wav/a0496.wav AND TOM KING PATIENTLY ENDURED -wav/gilrim-20080120-rda/wav/b0193.wav SO WAS PACKARD'S FINISH SUICIDE -wav/gilrim-20080120-rzu/wav/rp-12.wav TO THE HEBREWS IT WAS A TOKEN THAT THERE WOULD BE NO MORE UNIVERSAL FLOODS -wav/gilrim-20080120-uxi/wav/a0095.wav A BIG CANVAS TENT WAS THE FIRST THING TO COME WITHIN HIS VISION -wav/gilrim-20080120-vgs/wav/b0413.wav HE MAY DESIRE TO ESCAPE PAIN OR TO ENJOY PLEASURE -wav/giovanni-20090708-xlb/wav/b0087.wav THEY WILL SEARCH FOR US BETWEEN THEIR CAMP AND CHURCHILL -wav/glenn-20080119-dgu/wav/a0202.wav SHE TURNED FEARING THAT JACQUES MIGHT SEE WHAT WAS IN HER FACE -wav/glenn-20080119-knq/wav/a0341.wav WHY DOGGONE YOU ALL SHAKE AGAIN -wav/glenn-20080119-kvg/wav/a0593.wav SHE'D MAKE A GOOD WIFE FOR THE CASHIER -wav/glenn-20080119-uwj/wav/b0373.wav UNLIKE JOSHUA HE STOOD IN NO NEED OF DIVINE ASSISTANCE -wav/glenn-20080119-wpe/wav/b0444.wav HE DID NOT KNOW WHAT WENT ON IN THE MINDS OF HIS SUPERIORS -wav/glenn-20080119-ytb/wav/a0498.wav THE LINES WERE NOW VERY TAUT -wav/glenton-20090924-apc/wav/a0081.wav WHAT IF SHE DID NOT COME TO THE ROCK -wav/glenton-20090924-cov/wav/a0568.wav HE WAS JUST BURSTING WITH JOY JOY OVER WHAT -wav/glenton-20090924-dhc/wav/b0213.wav SOME BOY SHE LAUGHED ACQUIESCENCE -wav/glenton-20090924-eho/wav/a0100.wav YOU MUST SLEEP HE URGED -wav/glenton-20090924-ggk/wav/a0453.wav EIGHTEEN HUNDRED HE CALCULATED -wav/glenton-20090924-iaz/wav/b0068.wav ONLY THE CHANCE SOUND HAD LED HIM TO OBSERVE THEM -wav/glenton-20090924-iij/wav/b0041.wav BUT IF PIERRE DID NOT RETURN UNTIL TOMORROW -wav/glenton-20090924-lpy/wav/a0229.wav THE LAST ONE I KNEW WAS AN OVERSEER -wav/glenton-20090924-mad/wav/a0251.wav I MAY MANAGE TO FREIGHT A CARGO BACK AS WELL -wav/glenton-20090924-myq/wav/a0282.wav IF YOU MEAN TO INSINUATE BRENTWOOD BEGAN HOTLY -wav/glenton-20090924-nmb/wav/a0188.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/glenton-20090924-ojx/wav/b0434.wav THE STEWARD HAS JUST TENDERED ME A RESPECTFUL BIT OF ADVICE -wav/glenton-20090924-oqo/wav/a0324.wav IT WAS NOT RED-EYE'S WAY TO FOREGO REVENGE SO EASILY -wav/glenton-20090924-plp/wav/a0496.wav AND TOM KING PATIENTLY ENDURED -wav/glenton-20090924-puv/wav/rb-22.wav THAT ALLOWS THE END USER TO ISSUE A WIDER ARRAY OF COMMANDS -wav/glenton-20090924-qpb/wav/b0137.wav BUT THIS LITTLE DEFECT DID NOT WORRY HIM -wav/glenton-20090924-ryq/wav/a0043.wav IT SEEMED NEARER TO HIM SINCE HE HAD SEEN AND TALKED WITH GREGSON -wav/glenton-20090924-sve/wav/a0339.wav THEY OBEYED HIM AND WENT HERE AND THERE AT HIS COMMANDS -wav/glenton-20090924-vzf/wav/b0095.wav HE HEARD A SOUND WHICH BROUGHT HIM QUICKLY INTO CONSCIOUSNESS OF DAY -wav/glenton-20090924-yia/wav/b0440.wav THERE WERE STIR AND BUSTLE NEW FACES AND FRESH FACTS -wav/glenton-20090924-ylv/wav/b0388.wav I MADE NO MORE OVERTURES -wav/glenton-20091002-npj/wav/b0425.wav THERE WERE ORANGE-GREEN GOLD-GREEN AND A COPPER-GREEN -wav/gman108406-20091119-fuw/wav/a0550.wav ALSO BECAME PART OF THE DAILY SCHEDULE -wav/gman108406-20091119-nep/wav/rb-07.wav THE KEYBOARD WHETHER IT'S AN ON-SCREEN VERSION OR NOT STRONGLY REDUCES -wav/gman108406-20091119-uph/wav/a0497.wav KING TOOK EVERY ADVANTAGE HE KNEW -wav/gman108406-20091119-zhi/wav/a0099.wav A MADDENING JOY POUNDED IN HIS BRAIN -wav/gman108406Unit-20091119-mmu/wav/a0429.wav QUICK WAS THE DISAPPOINTMENT IN HIS FACE YET SMILING WAS THE ACQUIESCENCE -wav/GrahamPhillips-20071111-oxp/wav/a0117.wav SHE ADDED WITH GENUINE SYMPATHY IN HER FACE AND VOICE -wav/grav-20091226-qox/wav/b0316.wav THOUGH THE AURORA STILL FLAMED ANOTHER DAY HAD BEGUN -wav/gravity-20080309-bmr/wav/b0223.wav THEY LIKEWISE ARE DISINCLINED TO BEING EATEN -wav/gravity-20080309-box/wav/b0474.wav HE WAS MANIFESTLY DISTRESSED BY MY COMING -wav/gravity-20080309-mms/wav/a0142.wav SUCH THINGS HAD OCCURRED BEFORE HE TOLD PHILIP -wav/gravity-20080309-vca/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/greekenglish-20091229-rcc/wav/a0190.wav NEXT TO THEM THE CANADA JAYS WERE MOST PERSISTENT -wav/greekenglish-20091229-rfe/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/grnorton-20080516-gdp/wav/b0136.wav SWIFTLY HIS EYES MEASURED THE SITUATION -wav/grnorton-20080516-nlr/wav/a0380.wav BUT IN THE CANYONS WATER WAS PLENTIFUL AND ALSO A LUXURIANT FOREST GROWTH -wav/grnorton-20080516-nwa/wav/b0289.wav AT FIRST HIS PROGRESS WAS SLOW AND ERRATIC -wav/grnorton-20080516-und/wav/b0338.wav IT WAS UNOBTRUSIVE YET IT WAS THERE -wav/grnorton-20080516-vlg/wav/ar-07.wav ONE RAINY DAY THE RATS HEARD A GREAT NOISE IN THE LOFT -wav/grnorton-20080516-zfn/wav/b0384.wav THE SKIPPER'S AND NAKATA'S GYMNASTICS SERVED AS A TRANSLATION WITHOUT WORDS -wav/guilherme-20080123-pfh/wav/b0145.wav BESIDES HAD HE NOT WHIPPED THE BIG OWL IN THE FOREST -wav/Gweilo-20081014-jlz/wav/a0059.wav HIS IMMACULATE APPEARANCE WAS GONE -wav/h2oetry-20090510-nuj/wav/a0524.wav AT ONCE WOULD BE INSTITUTED A DOZEN COOPERATIVE COMMONWEALTH STATES -wav/hadock-20080522-idu/wav/a0408.wav THE ELDORADO EMPTIED ITS OCCUPANTS INTO THE STREET TO SEE THE TEST -wav/halespawn-20090430-bft/wav/rp-03.wav THE RAINBOW IS A DIVISION OF WHITE LIGHT INTO MANY BEAUTIFUL COLORS -wav/halespawn-20090430-csk/wav/a0260.wav NOBODY KNEW HIS HISTORY THEY OF THE JUNTA LEAST OF ALL -wav/halespawn-20090430-lzk/wav/b0322.wav THEIR SUPPLY OF GRUB WAS GONE -wav/halespawn-20090430-ycu/wav/a0427.wav ENTERS NOW THE PSYCHOLOGY OF THE SITUATION -wav/HessesiaN-20080605-ahm/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/hobo-20081122-cbn/wav/b0321.wav INSTEAD HE ARRIVED ON THE NIGHT OF THE SECOND DAY -wav/hugh-20070606-bul/wav/bul0003.wav FOR MORE INFORMATION OR TO VOLUNTEER VISIT LIBRIVOX DOT ORG -wav/hugh-20070606-bul/wav/bul0013.wav AND LOOK ABROAD OVER THE TENTS OF THE HOSTILE ARMY -wav/hugh-20070606-bul/wav/bul0023.wav SHE WAS ALMOST FRANTIC WITH ADMIRATION SHE ENVIED THE WEAPON THAT HE GRASPED -wav/hugh-20070606-bul/wav/bul0033.wav PERHAPS HE WOULD BE WILLING TO GRANT US PEACE -wav/hugh-20070606-bul/wav/bul0043.wav CAN AND O IF ANY ONE SHOULD WOUND OR KILL MINOS -wav/hugh-20070606-bul/wav/bul0053.wav AND CAN ANY OTHER WOMAN DARE MORE THAN I -wav/hugh-20070606-bul/wav/bul0063.wav I AM SCYLLA THE DAUGHTER OF NISUS -wav/hugh-20070606-bul/wav/bul0073.wav AND THAT THE FLEET SHOULD IMMEDIATELY SAIL FROM THE ISLAND -wav/hugh-20070606-bul/wav/bul0083.wav SEEING HER POUNCED DOWN UPON HER AND STRUCK HER WITH HIS -wav/hugh-20070606-bul/wav/bul0093.wav HAVE THE LAST WORD ONE DAY JUNO WAS SEEKING HER HUSBAND WHO -wav/hugh-20070606-bul/wav/bul0103.wav SHE LOVED HIM AND FOLLOWED HIS FOOTSTEPS -wav/hugh-20070606-bul/wav/bul0113.wav THE MAID ANSWERED WITH ALL HER HEART IN THE SAME WORDS AND HASTENED TO THE SPOT -wav/hugh-20070606-bul/wav/bul0123.wav WITH THAT SHE IS STILL READY TO REPLY TO ANY ONE WHO CALLS HER -wav/hugh-20070606-bul/wav/bul0133.wav NEITHER WAS IT DEFACED WITH FALLEN LEAVES OR BRANCHES -wav/hugh-20070606-bul/wav/bul0143.wav HE FELL IN LOVE WITH HIMSELF -wav/Hyshinara-20080326-cfp/wav/a0157.wav HE HAD WORSHIPED HER AS DANTE MIGHT HAVE WORSHIPED BEATRICE -wav/Hyshinara-20080326-uul/wav/b0325.wav IT WAS A GIGANTIC INADEQUACY -wav/Hyshinara-20080326-vfv/wav/b0317.wav HE DID NOT BELIEVE IN THE BURNING OF DAYLIGHT FOR SUCH A LUXURY -wav/Hyshinara-20080326-zbx/wav/a0314.wav THUS WAS MOMENTUM GAINED IN THE YOUNGER WORLD -wav/ikxhitiz-20091208-zzt/wav/rp-25.wav THE ACTUAL PRIMARY RAINBOW OBSERVED IS SAID TO BE THE EFFECT OF -wav/indy-20081103-pot/wav/a0108.wav HE WADED INTO THE EDGE OF THE WATER AND BEGAN SCRUBBING HIMSELF -wav/indymaynard-20090723-rig/wav/a0227.wav IT WAS THE SAME WAY WITH OUR REVOLVERS AND RIFLES -wav/inequation-20090916-ale/wav/a0018.wav THERE WAS A CHANGE NOW -wav/inequation-20090916-rsf/wav/a0174.wav THEY WERE THE PRESAGE OF STORM -wav/inequation-20090916-tff/wav/a0390.wav I'LL GO OVER TOMORROW AFTERNOON -wav/ivan-20090303-tjm/wav/a0155.wav WON'T YOU DRAW UP GENTLEMEN -wav/jade-20100109-bvy/wav/a0399.wav AND HERE'S ANOTHER IDEA -wav/jade-20100109-eqe/wav/a0041.wav MEANWHILE I'LL GO OUT TO BREATHE A SPELL -wav/jade-20100109-gxb/wav/a0429.wav QUICK WAS THE DISAPPOINTMENT IN HIS FACE YET SMILING WAS THE ACQUIESCENCE -wav/jade-20100109-how/wav/a0041.wav MEANWHILE I'LL GO OUT TO BREATHE A SPELL -wav/jade-20100109-qdo/wav/b0293.wav BETWEEN HIM AND ALL DOMESTIC ANIMALS THERE MUST BE NO HOSTILITIES -wav/jade-20100109-vpg/wav/b0500.wav THEN CAME MY BOY CODE -wav/jakupl-20090530-qos/wav/a0330.wav RED-EYE NEVER COMMITTED A MORE OUTRAGEOUS DEED -wav/JamesHays-20090703-gok/wav/b0113.wav THERE WAS SOMETHING PATHETIC IN THE GIRL'S ATTITUDE NOW -wav/jamincollins-20081108-izf/wav/a0126.wav EACH DAY SHE BECAME A MORE VITAL PART OF HIM -wav/jamincollins-20081108-slm/wav/b0035.wav AFTER ALL THE PICTURE WAS ONLY A RESEMBLANCE -wav/JayCutlersBrother-20080919-btn/wav/a0105.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/JayCutlersBrother-20080919-bvy/wav/b0383.wav A BUSH CHIEF HAD DIED A NATURAL DEATH -wav/JayCutlersBrother-20080919-dmf/wav/a0194.wav HE DRANK OF THE WATER CAUTIOUSLY -wav/JayCutlersBrother-20080919-htt/wav/rb-26.wav THE SOFTWARE ON A HAND-HELD DEVICE MIGHT ONLY RESPOND TO ONE SPECIFIC COMMAND -wav/JayCutlersBrother-20080919-ick/wav/a0049.wav GREGSON WAS ASLEEP WHEN HE RE-ENTERED THE CABIN -wav/JayCutlersBrother-20080919-jaf/wav/b0095.wav HE HEARD A SOUND WHICH BROUGHT HIM QUICKLY INTO CONSCIOUSNESS OF DAY -wav/JayCutlersBrother-20080919-mbz/wav/a0078.wav THEN AND AT SUPPER HE TRIED TO FATHOM HER -wav/JayCutlersBrother-20080919-nlx/wav/b0509.wav HE HAD FULFILLED HIS DUTY AND PAID PROPERLY -wav/JayCutlersBrother-20080919-ovg/wav/a0407.wav MERCEDES SCREAMED CRIED LAUGHED AND MANIFESTED THE CHAOTIC ABANDONMENT OF HYSTERIA -wav/JayCutlersBrother-20080919-psp/wav/b0120.wav THERE'S THE HITCH REPLIED THORPE ROLLING A CIGARETTE -wav/JayCutlersBrother-20080919-pus/wav/a0272.wav YOU CAN TAKE A VACATION ON PAY -wav/JayCutlersBrother-20080919-rih/wav/b0260.wav IT'S WORTH EIGHT DOLLARS -wav/JayCutlersBrother-20080919-ryd/wav/a0407.wav MERCEDES SCREAMED CRIED LAUGHED AND MANIFESTED THE CHAOTIC ABANDONMENT OF HYSTERIA -wav/JayCutlersBrother-20080919-siv/wav/a0068.wav IN A FLASH PHILIP FOLLOWED ITS DIRECTION -wav/JayCutlersBrother-20080919-szm/wav/a0409.wav HE COULD FEEL A NEW STIR IN THE LAND -wav/JayCutlersBrother-20080919-uau/wav/a0525.wav THE OLIGARCHY WANTED VIOLENCE AND IT SET ITS AGENTS PROVOCATEURS TO WORK -wav/JayCutlersBrother-20080919-vdn/wav/a0267.wav ELI HARDING ASKED AS SHUNK STARTED TO FOLLOW -wav/JayCutlersBrother-20080919-vev/wav/rp-31.wav WITH LITTLE OR NO GREEN OR BLUE -wav/JayCutlersBrother-20080919-vre/wav/b0483.wav THE FLOWER OF THE ARTISTIC AND INTELLECTUAL WORLD WERE REVOLUTIONISTS -wav/JayCutlersBrother-20080919-wqq/wav/a0212.wav FRESH CASES STILL ABLE TO WALK THEY CLUSTERED ABOUT THE SPOKESMAN -wav/jazzman-20080709-zjw/wav/a0119.wav JEANNE WAS TURNING THE BOW SHOREWARD -wav/jchitt-20080625-cc/wav/cc-10.wav WHEN SHE GOT THERE THERE WAS A WOMAN WITH A GOOSE WAITING FOR HER -wav/jchitt-20080625-cc/wav/cc-20.wav COMMA WAS STRONG AND HUGE SO IT WOULD TAKE SOME FORCE TO TRAP HER -wav/jchitt-20080625-cc/wav/cc-30.wav SARAH WARNED THAT THIS COURSE OF TREATMENT MIGHT BE EXPENSIVE -wav/jeremybub-20081021-act/wav/b0116.wav I HAVE HUNTED ALONG THIS RIDGE REPLIED PHILIP -wav/jeremybub-20081021-cwp/wav/b0176.wav I'LL SEE TO POOR HUGHIE -wav/jeremybub-20081021-xbn/wav/b0121.wav I WANT MY MEN TO WORK BY THEMSELVES -wav/jippen-20090218-his/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/JivanAmara-20080724-jeh/wav/a0026.wav IT OCCURRED TO ME THAT THERE WOULD HAVE TO BE AN ACCOUNTING -wav/JivanAmara-20080724-lvv/wav/a0500.wav WHO THE DEVIL GAVE IT TO YOU TO BE JUDGE AND JURY -wav/jlrice9673-20090622-nop/wav/b0465.wav BUT SUCH DIVERGENCE OF OPINION WOULD CONSTITUTE NO MENACE TO SOCIETY -wav/jlrice9673-20090622-rxy/wav/a0229.wav THE LAST ONE I KNEW WAS AN OVERSEER -wav/jlrice9673-20090623-agu/wav/a0249.wav ALL EYES HOWEVER WERE STARING AT HIM IN CERTITUDE OF EXPECTANCY -wav/jlrice9673-20090623-dfl/wav/ar-22.wav IT'S SO NICE AND SNUG HERE THAT NIGHT THERE WAS A BIG CRASH -wav/jlrice9673-20090625-len/wav/b0121.wav I WANT MY MEN TO WORK BY THEMSELVES -wav/jlrice9673-20090625-xai/wav/a0050.wav IN SPITE OF THEIR ABSURDITY THE WORDS AFFECTED PHILIP CURIOUSLY -wav/jo-20090106-bbq/wav/a0327.wav THEY WERE LESS STOOPED THAN WE LESS SPRINGY IN THEIR MOVEMENTS -wav/Joel-20080716-qoz/wav/b0074.wav YET BEHIND THEM THERE WAS ANOTHER AND MORE POWERFUL MOTIVE -wav/joel-20091112-aaq/wav/a0378.wav BOUNDARIES ARE ALL GOUGED AND JAGGED -wav/joel-20091112-cdp/wav/b0301.wav A FLYING ARROW PASSED BETWEEN US -wav/joel-20091112-hmo/wav/rp-11.wav SOME HAVE ACCEPTED IT AS A MIRACLE WITHOUT PHYSICAL EXPLANATION -wav/joel-20091112-vwo/wav/a0168.wav LOW BUSH WHIPPED HIM IN THE FACE AND LEFT NO STING -wav/joel-20091116-aqq/wav/b0318.wav AGAIN HE HAD DONE THE BIG THING -wav/joel-20091116-ehr/wav/a0209.wav IT WAS NOT A LARGE LAKE AND ALMOST ROUND -wav/joel-20091116-gpo/wav/b0464.wav I COULD NOT AGREE WITH ERNEST -wav/joel-20091116-hih/wav/rp-27.wav IF THE RED OF THE SECOND BOW FALLS UPON THE GREEN OF THE FIRST -wav/joel-20091116-onv/wav/b0498.wav I REMEMBERED THE RED WINE OF THE ITALIAN RANCHO AND SHUDDERED IN -wav/joel-20091116-uin/wav/a0249.wav ALL EYES HOWEVER WERE STARING AT HIM IN CERTITUDE OF EXPECTANCY -wav/joel-20091206-dem/wav/b0099.wav FIFTY YARDS AHEAD OF HER WERE THE FIRST OF THE ROCKS -wav/joel4039-20091223-oqi/wav/a0562.wav WHAT THE FLAMING -wav/JohanLingen-20080302-hwq/wav/rb-01.wav HAND-HELD DEVICES SUCH AS PERSONAL DIGITAL ASSISTANTS AND SMARTPHONES ARE QUITE SMALL -wav/JohanLingen-20080302-vvd/wav/b0456.wav HE WAS AN AMPHIBIAN AND A MOUNTAINEER -wav/JohanLingen-20080304-fld/wav/a0390.wav I'LL GO OVER TOMORROW AFTERNOON -wav/JohanLingen-20080304-fse/wav/a0025.wav I WAS ABOUT TO DO THIS WHEN COOLER JUDGMENT PREVAILED -wav/JohanLingen-20080304-lpt/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/JohanLingen-20080304-myv/wav/b0177.wav HER GRAY EYES WERE FLASHING AND HER LIPS WERE QUIVERING -wav/JohanLingen-20080304-wfq/wav/b0260.wav IT'S WORTH EIGHT DOLLARS -wav/JohanLingen-20080306-dbl/wav/a0215.wav THEY DIE OUT OF SPITE -wav/JohanLingen-20080306-nov/wav/a0564.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/JohanLingen-20080306-utt/wav/a0542.wav WITHOUT A DOUBT SOME OF THEM HAVE DINNER ENGAGEMENTS -wav/JohanLingen-20080306-xvq/wav/a0195.wav BUT A STRANGE THING HAPPENED -wav/JohanLingen-20080306-zqm/wav/a0186.wav LIKE A FLASH HE LAUNCHED HIMSELF INTO THE FEATHERED MASS OF THE OWL -wav/john-20081011-jnr/wav/a0493.wav THE BOY O'BRIEN WAS SPECIALLY MALTREATED -wav/John-20090617-loy/wav/b0166.wav FAST BUT ENDURE -wav/John-20090617-ntl/wav/b0097.wav BESIDES THAT NOISE MAKES ME DEAF -wav/John-20090617-uqc/wav/b0423.wav ALSO AT REGULAR INTERVALS HE WOULD MUTTER -wav/JonnyGutteridge-20081120-hav/wav/b0048.wav HE LOOKED LIKE ONE WHO HAD PASSED THROUGH AN UNCOMFORTABLE HOUR OR TWO -wav/jooles-20080826/wav/rp-08.wav WHEN A MAN LOOKS FOR SOMETHING BEYOND HIS REACH -wav/jooles-20080826/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/jooles-20080826/wav/rp-28.wav THE RESULT IS TO GIVE A BOW WITH AN ABNORMALLY WIDE YELLOW BAND -wav/jorje_villafan-20090905-bzk/wav/b0152.wav OW A WILD DOG HE GROWLED -wav/jorje_villafan-20090905-fmm/wav/b0006.wav HE SEIZED GREGSON BY THE ARM AND LED HIM TO THE DOOR -wav/jpbailey-20090201-lqs/wav/a0545.wav THE ITALIAN RANCHO WAS A BACHELOR ESTABLISHMENT -wav/JRB-20080602-keb/wav/a0466.wav CAPTAIN WEST MAY BE A SAMURAI BUT HE IS ALSO HUMAN -wav/JRB-20080602-qyg/wav/a0372.wav HE SAW ONLY THE EFFECT IN A GENERAL SKETCHY WAY -wav/jtmiles-20090618-iug/wav/b0164.wav THEY LAUGHED LIKE TWO HAPPY CHILDREN -wav/jtmiles-20090618-llp/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/jtmiles-20090618-psn/wav/a0251.wav I MAY MANAGE TO FREIGHT A CARGO BACK AS WELL -wav/jtmiles-20090618-ton/wav/a0064.wav THE FOURTH AND FIFTH DAYS PASSED WITHOUT ANY DEVELOPMENTS -wav/jtmiles-20090618-tso/wav/b0124.wav TWO WEEKS PASSED AND IN THAT TIME THORPE LEFT CAMP THREE TIMES -wav/jtmiles-20090618-uad/wav/b0314.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/jtmiles-20090618-zga/wav/b0262.wav SAXON'S ONTO HER JOB -wav/juan-20091128-uih/wav/a0589.wav I WAS SICK ONCE TYPHOID -wav/k-20090202-afe/wav/b0289.wav AT FIRST HIS PROGRESS WAS SLOW AND ERRATIC -wav/k-20090202-bzc/wav/b0239.wav AND THERE WAS A DOG THAT BARKED -wav/k-20090202-csh/wav/b0229.wav I SAW IT ALL MYSELF AND IT WAS SPLENDID -wav/k-20090202-ddq/wav/a0330.wav RED-EYE NEVER COMMITTED A MORE OUTRAGEOUS DEED -wav/k-20090202-dfj/wav/a0558.wav AND THE FOUNDATION STONE OF SERVICE IN HIS CASE WAS OBEDIENCE -wav/k-20090202-dkx/wav/rp-08.wav WHEN A MAN LOOKS FOR SOMETHING BEYOND HIS REACH -wav/k-20090202-dty/wav/a0130.wav SHE WAS HIS NOW FOREVER -wav/k-20090202-fgs/wav/b0022.wav IF I WAS OUT OF THE GAME IT WOULD BE EASILY MADE -wav/k-20090202-fyr/wav/rp-04.wav THESE TAKE THE SHAPE OF A LONG ROUND ARCH WITH ITS PATH HIGH ABOVE -wav/k-20090202-hrd/wav/b0077.wav IT IS THE NEAREST REFUGE -wav/k-20090202-iko/wav/b0341.wav I PLAY THAT CHOICE WIDE OPEN TO WIN -wav/k-20090202-jnp/wav/b0524.wav SO FAR AS FLAGS WERE CONCERNED THEY WERE BEYOND ALL JURISDICTION -wav/k-20090202-jux/wav/a0341.wav WHY DOGGONE YOU ALL SHAKE AGAIN -wav/k-20090202-kqq/wav/b0065.wav NOW HAVE YOU GOT ANYTHING TO SAY AGAINST ME MR PHILIP -wav/k-20090202-laz/wav/b0378.wav I LIKE TO SPECULATE UPON THE GLORIOUS FUTURE OF MAN -wav/k-20090202-ncv/wav/b0487.wav AFTER ALL SUPERFLUOUS FLESH IS GONE WHAT IS LEFT IS STRINGY AND RESISTANT -wav/k-20090202-nia/wav/a0573.wav THERE WAS NO LAW ON THE YUKON SAVE WHAT THEY MADE FOR THEMSELVES -wav/k-20090202-oqi/wav/b0537.wav BUT SHE HAD BECOME AN AUTOMATON -wav/k-20090202-qaw/wav/b0301.wav A FLYING ARROW PASSED BETWEEN US -wav/k-20090202-svp/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/k-20090202-svq/wav/b0180.wav I I BEG PARDON HE DRAWLED -wav/k-20090202-ttf/wav/a0070.wav HE WOULD FIRST HUNT UP GREGSON AND BEGIN HIS WORK THERE -wav/k-20090202-wgd/wav/a0081.wav WHAT IF SHE DID NOT COME TO THE ROCK -wav/k-20090202-wuo/wav/a0277.wav MCCOY FOUND A STIFLING POISONOUS ATMOSPHERE IN THE PENT CABIN -wav/k-20090202-xoj/wav/a0205.wav FROM NOW ON WE'RE PALS -wav/k-20090203-dtb/wav/b0443.wav I DID NOT THINK YOU WOULD BE SO EARLY -wav/k-20090203-oiu/wav/ar-17.wav YOU ARE COMING OF COURSE I'M NOT CERTAIN SAID ARTHUR UNDAUNTED -wav/k-20090203-out/wav/b0279.wav HE GAVE ONE LAST SNARL AND SLID FROM VIEW AMONG THE TREES -wav/k-20090203-zmz/wav/b0050.wav ALL THIS DAY GREGSON REMAINED IN THE CABIN -wav/k-20090204-cxv/wav/a0408.wav THE ELDORADO EMPTIED ITS OCCUPANTS INTO THE STREET TO SEE THE TEST -wav/k-20090204-kkr/wav/b0371.wav YIELD YOURSELF TO THE WATERS THAT ARE RIPPING AND TEARING AT YOU -wav/k-20090204-pbo/wav/ar-21.wav I THINK I'LL GO TOMORROW HE SAID CALMLY TO HIMSELF BUT THEN AGAIN I DON'T KNOW -wav/k-20090204-rvw/wav/b0044.wav FOR A FEW MOMENTS HE ATE IN SILENCE -wav/k-20090204-tja/wav/b0204.wav DOWN THROUGH THE PERFUME WEIGHTED AIR FLUTTERED THE SNOWY FLUFFS OF THE COTTONWOODS -wav/k-20090204-tyq/wav/b0153.wav HE WAS A PARIAH A WANDERER WITHOUT A FRIEND OR A HOME -wav/k-20090204-yav/wav/a0307.wav VERY EARLY IN MY LIFE I SEPARATED FROM MY MOTHER -wav/k-20090204-ymt/wav/a0523.wav THEY COULD NOT CONTINUE THEIR METHOD OF PRODUCING SURPLUSES -wav/kaeles-20090413-jva/wav/b0345.wav DAYLIGHT MADE NO ANSWER AND THE DOOR CLOSED BEHIND HIM -wav/kaeles-20090413-mtv/wav/b0050.wav ALL THIS DAY GREGSON REMAINED IN THE CABIN -wav/KaloyanKolev-20080907-sdw/wav/a0120.wav MY RIGHT FOOT FEELS LIKE THAT OF A CHINESE DEBUTANTE -wav/KaloyanKolev-20080907-wpo/wav/b0434.wav THE STEWARD HAS JUST TENDERED ME A RESPECTFUL BIT OF ADVICE -wav/KaloyanKolev-20080907-xuc/wav/a0488.wav THEIR LOVE BURNED WITH INCREASING BRIGHTNESS -wav/Karageorgos-20090722-lst/wav/a0520.wav HE WAS FOND OF QUOTING A FRAGMENT FROM A CERTAIN POEM -wav/kayray-20070425-per04/wav/per0007.wav BEING MADE COMMANDER IN CONSEQUENCE OF THE ACTION OFF ST DOMINGO -wav/kayray-20070425-per04/wav/per0017.wav THEY WERE GRADUALLY ACQUAINTED AND WHEN ACQUAINTED RAPIDLY AND DEEPLY IN LOVE -wav/kayray-20070425-per04/wav/per0027.wav RECEIVED IT AS A MOST UNFORTUNATE ONE ANNE ELLIOT -wav/kayray-20070425-per04/wav/per0037.wav KNOWN TO SO FEW TO BE SNATCHED OFF BY A STRANGER WITHOUT ALLIANCE OR FORTUNE -wav/kayray-20070425-per04/wav/per0047.wav AND SOON BE ON A STATION THAT WOULD LEAD TO EVERYTHING HE WANTED -wav/kayray-20070425-per04/wav/per0057.wav SHE DEPRECATED THE CONNEXION IN EVERY LIGHT -wav/kayray-20070425-per04/wav/per0067.wav BUT IT WAS NOT A MERELY SELFISH CAUTION UNDER WHICH SHE ACTED IN PUTTING AN END TO IT -wav/kayray-20070425-per04/wav/per0077.wav A FEW MONTHS HAD SEEN THE BEGINNING AND THE END OF THEIR ACQUAINTANCE -wav/kayray-20070425-per04/wav/per0087.wav OR IN ANY NOVELTY OR ENLARGEMENT OF SOCIETY -wav/kayray-20070425-per04/wav/per0097.wav FOR CHARLES MUSGROVE WAS THE ELDEST SON OF A MAN WHOSE LANDED PROPERTY -wav/kayray-20070425-per04/wav/per0107.wav NEVER WISHED THE PAST UNDONE -wav/kayray-20070425-per04/wav/per0117.wav BUT SHE FELT THAT WERE ANY YOUNG PERSON IN SIMILAR CIRCUMSTANCES -wav/kayray-20070425-per04/wav/per0127.wav WITHOUT REFERENCE TO THE ACTUAL RESULTS OF THEIR CASE WHICH -wav/kayray-20070425-per04/wav/per0137.wav AND IN FAVOUR OF HIS CONSTANCY -wav/kayray-20070425-per04/wav/per0147.wav SHE COULD NOT HEAR THAT CAPTAIN WENTWORTH'S SISTER WAS LIKELY TO LIVE AT KELLYNCH -wav/kayray-20070425-per04/wav/per0157.wav SHE COULD DO JUSTICE TO THE SUPERIORITY OF LADY RUSSELL'S MOTIVES IN THIS -wav/kayray-20070425-per04/wav/per0167.wav THAT BROTHER HAD BEEN LONG REMOVED FROM THE COUNTRY -wav/kayray-20070425-per04/wav/per0177.wav MUST BE ANTICIPATED NEED NOT INVOLVE ANY PARTICULAR AWKWARDNESS -wav/kayray-20070527-per07/wav/per0008.wav AND HE WAS ENGAGED WITH THE CROFTS TO DINE AT UPPERCROSS BY THE END OF ANOTHER WEEK -wav/kayray-20070527-per07/wav/per0018.wav SHE AND MARY WERE ACTUALLY SETTING FORWARD FOR THE GREAT HOUSE -wav/kayray-20070527-per07/wav/per0028.wav THE APOTHECARY TO SEND FOR THE FATHER TO HAVE PURSUED AND INFORMED -wav/kayray-20070527-per07/wav/per0038.wav THEIR APPREHENSIONS WERE THE WORSE FOR BEING VAGUE -wav/kayray-20070527-per07/wav/per0048.wav STAYING FIVE MINUTES BEHIND THEIR FATHER AND MOTHER -wav/kayray-20070527-per07/wav/per0058.wav AS IF HE FELT ALL THE MOTIVE OF THEIR ATTENTION JUST AS HE OUGHT -wav/kayray-20070527-per07/wav/per0068.wav AND HOPE THERE WOULD BE NOW NO OCCASION FOR PUTTING CAPTAIN WENTWORTH OFF -wav/kayray-20070527-per07/wav/per0078.wav PERHAPS HE MIGHT JOIN THEM IN THE EVENING -wav/kayray-20070527-per07/wav/per0088.wav AND AMUSED AS QUIETLY AS POSSIBLE -wav/kayray-20070527-per07/wav/per0098.wav SAID HE SO I TOLD MY FATHER JUST NOW THAT I WOULD COME -wav/kayray-20070527-per07/wav/per0108.wav BUT AS SOON AS THERE WAS ONLY ANNE TO HEAR -wav/kayray-20070527-per07/wav/per0118.wav DOES HE KNOW THAT HE IS GOING ON WELL OR -wav/kayray-20070527-per07/wav/per0128.wav BUT THAT WAS ONLY THE EFFECT OF THE SUDDENNESS OF YOUR ALARM OF THE SHOCK -wav/kayray-20070527-per07/wav/per0138.wav FOR I CANNOT BE ALWAYS SCOLDING AND TEAZING THE POOR CHILD WHEN IT IS ILL -wav/kayray-20070527-per07/wav/per0148.wav I WAS DREADFULLY ALARMED YESTERDAY BUT THE CASE IS VERY DIFFERENT TO DAY -wav/kayray-20070527-per07/wav/per0158.wav ARE A GREAT DEAL THE PROPEREST PERSON -wav/kayray-20070527-per07/wav/per0168.wav YOU CAN SEND FOR US YOU KNOW AT A MOMENT'S NOTICE IF ANYTHING IS THE MATTER -wav/kayray-20070527-per07/wav/per0178.wav I SHOULD NOT BE ABLE TO PERSUADE HIM TO DO ANYTHING HE DID NOT LIKE -wav/kayray-20070527-per07/wav/per0188.wav ANNE WAS NOW AT HAND TO TAKE UP HER OWN CAUSE -wav/kayray-20070527-per07/wav/per0198.wav HOWEVER ODDLY CONSTRUCTED SUCH HAPPINESS MIGHT SEEM AS FOR HERSELF -wav/kayray-20070527-per07/wav/per0208.wav HAD HE WISHED EVER TO SEE HER AGAIN -wav/kayray-20070527-per07/wav/per0218.wav AND HE WAS COMING THE VERY NEXT MORNING TO SHOOT WITH CHARLES -wav/kayray-20070527-per07/wav/per0228.wav SEEMING TO ACKNOWLEDGE SUCH AS SHE HAD ACKNOWLEDGED ACTUATED PERHAPS -wav/kayray-20070527-per07/wav/per0238.wav AND THOUGH CHARLES HAD ANSWERED FOR THE CHILD'S BEING IN NO SUCH STATE AS COULD MAKE IT INCONVENIENT -wav/kayray-20070527-per07/wav/per0248.wav SAID SOMETHING TO THE MISS MUSGROVES ENOUGH TO MARK AN EASY FOOTING -wav/kayray-20070527-per07/wav/per0258.wav THEY HAD BEEN ONCE MORE IN THE SAME ROOM -wav/kayray-20070527-per07/wav/per0268.wav EIGHT YEARS MAY BE LITTLE MORE THAN NOTHING -wav/kayray-20070527-per07/wav/per0278.wav HENRIETTA ASKED HIM WHAT HE THOUGHT OF YOU WHEN THEY WENT AWAY AND HE SAID -wav/kayray-20070527-per07/wav/per0288.wav IN NO RESPECT LESSENING HIS PERSONAL ADVANTAGES SHE HAD SEEN THE SAME -wav/kayray-20070527-per07/wav/per0298.wav HE HAD NOT FORGIVEN ANNE ELLIOT SHE HAD USED HIM ILL -wav/kayray-20070527-per07/wav/per0308.wav HE HAD NO DESIRE OF MEETING HER AGAIN -wav/kayray-20070527-per07/wav/per0318.wav YES HERE I AM SOPHIA QUITE READY TO MAKE A FOOLISH MATCH -wav/kayray-20070527-per07/wav/per0328.wav A STRONG MIND WITH SWEETNESS OF MANNER MADE THE FIRST -wav/kayray-20070529b-per24/wav/per0002.wav ALL LIBRIVOX RECORDINGS ARE IN THE PUBLIC DOMAIN -wav/kayray-20070529b-per24/wav/per0012.wav AND IF SUCH PARTIES SUCCEED HOW SHOULD A CAPTAIN WENTWORTH -wav/kayray-20070529b-per24/wav/per0022.wav HE WAS NOW ESTEEMED QUITE WORTHY TO ADDRESS THE DAUGHTER OF A FOOLISH -wav/kayray-20070529b-per24/wav/per0032.wav SAW HIM REPEATEDLY BY DAYLIGHT AND EYED HIM WELL -wav/kayray-20070529b-per24/wav/per0042.wav AND BE MAKING SOME STRUGGLES TO BECOME TRULY ACQUAINTED WITH -wav/kayray-20070529b-per24/wav/per0052.wav THERE WAS NOTHING LESS FOR LADY RUSSELL TO DO -wav/kayray-20070529b-per24/wav/per0062.wav SHE LOVED ANNE BETTER THAN SHE LOVED HER OWN ABILITIES -wav/kayray-20070529b-per24/wav/per0072.wav SHE HAD SOMETHING TO SUFFER PERHAPS WHEN THEY CAME INTO CONTACT AGAIN -wav/kayray-20070529b-per24/wav/per0082.wav SHE HAD SOON THE MORTIFICATION OF SEEING MR ELLIOT WITHDRAW -wav/kayray-20070529b-per24/wav/per0092.wav IT WAS EVIDENT HOW DOUBLE A GAME HE HAD BEEN PLAYING -wav/kayray-20070529b-per24/wav/per0102.wav INTO MAKING HER THE WIFE OF SIR WILLIAM -wav/kayray-20070529b-per24/wav/per0112.wav HAD NO OTHER ALLOY TO THE HAPPINESS OF HER PROSPECTS -wav/kayray-20070529b-per24/wav/per0122.wav WAS A SOURCE OF AS LIVELY PAIN AS HER MIND COULD WELL BE SENSIBLE OF -wav/kayray-20070529b-per24/wav/per0132.wav SHE HAD CLAIMS OF VARIOUS KINDS TO RECOMMEND HER QUICKLY AND PERMANENTLY -wav/kayray-20070529b-per24/wav/per0142.wav OR EVER MEANT TO RENDER TO HIS WIFE -wav/kayray-20070529b-per24/wav/per0152.wav HIS PROFESSION WAS ALL THAT COULD EVER MAKE HER FRIENDS WISH THAT TENDERNESS LESS -wav/kayray-20070529-per20/wav/per0002.wav ALL LIBRIVOX RECORDINGS ARE IN THE PUBLIC DOMAIN -wav/kayray-20070529-per20/wav/per0012.wav HE WAS PREPARING ONLY TO BOW AND PASS ON -wav/kayray-20070529-per20/wav/per0022.wav AND ON CAPTAIN WENTWORTH'S MAKING A DISTANT BOW -wav/kayray-20070529-per20/wav/per0032.wav A LITTLE GLOW HE SAID -wav/kayray-20070529-per20/wav/per0042.wav HAS HAD SOME CONSEQUENCES WHICH MUST BE CONSIDERED -wav/kayray-20070529-per20/wav/per0052.wav WITH ALL MY SOUL I WISH THEM HAPPY -wav/kayray-20070529-per20/wav/per0062.wav AFTER CLEARING HIS THROAT HOWEVER HE PROCEEDED THUS -wav/kayray-20070529-per20/wav/per0072.wav BUT I HAVE NO REASON TO SUPPOSE IT SO -wav/kayray-20070529-per20/wav/per0082.wav OR FROM OTHER CONSCIOUSNESS HE WENT NO FARTHER AND ANNE WHO -wav/kayray-20070529-per20/wav/per0092.wav SHE ONLY DEVIATED SO FAR AS TO SAY -wav/kayray-20070529-per20/wav/per0102.wav THE HORROR AND DISTRESS YOU WERE INVOLVED IN THE STRETCH OF MIND -wav/kayray-20070529-per20/wav/per0112.wav SO MUCH NOVELTY AND BEAUTY I HAVE TRAVELLED SO LITTLE -wav/kayray-20070529-per20/wav/per0122.wav AND COLONEL WALLIS WHO HAD HAPPENED TO ARRIVE NEARLY AT THE SAME INSTANT -wav/kayray-20070529-per20/wav/per0132.wav TO THE NEEDFUL CIVILITIES OF THE MOMENT WITH EXQUISITE -wav/kayray-20070529-per20/wav/per0142.wav HE WOULD FIND HER OUT BEFORE THE EVENING WERE OVER AND AT PRESENT PERHAPS -wav/kayray-20070529-per20/wav/per0152.wav HAD NOTHING TO WISH FOR WHICH DID NOT SEEM WITHIN HER REACH -wav/kayray-20070529-per20/wav/per0162.wav HIS CHOICE OF SUBJECTS HIS EXPRESSIONS AND STILL MORE HIS MANNER AND LOOK -wav/kayray-20070529-per20/wav/per0172.wav YES SOME SHARE OF THE TENDERNESS OF THE PAST -wav/kayray-20070529-per20/wav/per0182.wav THE PARTY WAS DIVIDED AND DISPOSED OF ON TWO CONTIGUOUS BENCHES -wav/kayray-20070529-per20/wav/per0192.wav AND PATIENCE FOR THE WEARISOME -wav/kayray-20070529-per20/wav/per0202.wav YES YES I SEE YOU ARE -wav/kayray-20070529-per20/wav/per0212.wav AND TOO HIGHLY ACCOMPLISHED FOR MODESTY TO BE NATURAL IN ANY OTHER WOMAN -wav/kayray-20070529-per20/wav/per0222.wav YOUR PERSON YOUR DISPOSITION ACCOMPLISHMENTS MANNER THEY WERE ALL PRESENT TO ME -wav/kayray-20070529-per20/wav/per0232.wav HE HAD MANY YEARS AGO RECEIVED SUCH A DESCRIPTION OF MISS ANNE ELLIOT -wav/kayray-20070529-per20/wav/per0242.wav IF I DARED I WOULD BREATHE MY WISHES THAT THE NAME MIGHT NEVER CHANGE -wav/kayray-20070529-per20/wav/per0252.wav WHO RENTS KELLYNCH -wav/kayray-20070529-per20/wav/per0262.wav SHE WAS SO SURROUNDED AND SHUT IN -wav/kayray-20070529-per20/wav/per0272.wav BUT SHE HAD THE PLEASURE OF GETTING RID OF MR ELLIOT -wav/kayray-20070529-per20/wav/per0282.wav TO ANNE IT CHIEFLY WORE THE PROSPECT OF AN HOUR OF AGITATION -wav/kayray-20070529-per20/wav/per0292.wav THAN SHE HAD BEEN BEFORE MUCH MORE WITHIN REACH OF A PASSER BY -wav/kayray-20070529-per20/wav/per0302.wav AND ONLY BY VERY SLOW DEGREES CAME AT LAST NEAR ENOUGH TO SPEAK TO HER -wav/kayray-20070529-per20/wav/per0312.wav AND YET IN ALLOWANCE FOR HIS FEELINGS SO PLEASANTLY -wav/kayray-20070529-per20/wav/per0322.wav WITH A MORE SUFFERING SPIRIT A FEW MINUTES -wav/kayray-20070529-per20/wav/per0332.wav AND HE WAS GONE DIRECTLY JEALOUSY OF MR ELLIOT -wav/kayray-20070529-per20/wav/per0342.wav THEIR EVIL WAS INCALCULABLE END OF CHAPTER TWENTY -wav/kayray-20070604-wha/wav/wha0008.wav HE ATE THE STARFISH AND THE GARFISH AND -wav/kayray-20070604-wha/wav/wha0018.wav I'M HUNGRY AND THE SMALL STUTE FISH SAID IN A SMALL STUTE -wav/kayray-20070604-wha/wav/wha0028.wav WITH NOTHING ON BUT A PAIR OF BLUE CANVAS BREECHES -wav/kayray-20070604-wha/wav/wha0038.wav TRAILING HIS TOES IN THE WATER -wav/kayray-20070604-wha/wav/wha0048.wav AND TURNED ROUND THREE TIMES ON HIS TAIL -wav/kayray-20070604-wha/wav/wha0058.wav THE SUSPENDERS SO HE SAID TO THE STUTE FISH -wav/kayray-20070604-wha/wav/wha0068.wav I OUGHT TO HAVE WARNED YOU THAT HE IS A MAN OF INFINITE RESOURCE AND SAGACITY -wav/kayray-20070604-wha/wav/wha0078.wav THE MARINER WHO WAS INDEED A PERSON OF INFINITE RESOURCE AND SAGACITY -wav/kayray-20070604-wha/wav/wha0088.wav AND HE STEPPED OUT ON THE SHINGLE AND WENT HOME TO HIS MOTHER -wav/kayray-20070604-wha/wav/wha0098.wav HIM THE SAILOR TOOK THE JACK KNIFE HOME -wav/kayray-20070604-wha/wav/wha0108.wav AND YOU AREN'T WAKED OR WASHED OR DRESSED -wav/kayray-20070607-cam/wav/cam0006.wav NOW THIS IS THE NEXT TALE AND IT TELLS HOW THE CAMEL GOT HIS BIG HUMP -wav/kayray-20070607-cam/wav/cam0016.wav CAMEL O CAMEL COME OUT AND TROT LIKE THE REST OF US -wav/kayray-20070607-cam/wav/cam0026.wav WITH THE WORLD SO NEW AND ALL -wav/kayray-20070607-cam/wav/cam0036.wav ROLLING IN A CLOUD OF DUST -wav/kayray-20070607-cam/wav/cam0046.wav HE WON'T TROT WHEW SAID THE DJINN WHISTLING THAT'S MY CAMEL -wav/kayray-20070607-cam/wav/cam0056.wav WHAT'S THIS I HEAR OF YOUR DOING NO WORK -wav/kayray-20070607-cam/wav/cam0066.wav BUBBLES I WANT YOU TO WORK AND THE CAMEL SAID HUMPH -wav/kayray-20070607-cam/wav/cam0076.wav BECAUSE YOU CAN LIVE ON YOUR HUMPH -wav/kayray-20070607-cam/wav/cam0086.wav WHICH WELL YOU MAY SEE AT THE ZOO -wav/kayray-20070607-cam/wav/cam0096.wav CURE FOR THIS ILL IS NOT TO SIT STILL OR FROWST WITH A BOOK BY THE FIRE -wav/kayray-20070607-cam/wav/cam0106.wav TWO THOUSAND AND SEVEN IN OCEANSIDE CALIFORNIA -wav/kayray-20070608-rhi/wav/rhi0010.wav AND A COOKING STOVE OF THE KIND THAT YOU MUST PARTICULARLY NEVER TOUCH -wav/kayray-20070608-rhi/wav/rhi0020.wav AND FEW MANNERS IN THOSE DAYS THE RHINOCEROS'S SKIN FITTED HIM QUITE TIGHT -wav/kayray-20070608-rhi/wav/rhi0030.wav AND THE CAKE ROLLED ON THE SAND -wav/kayray-20070608-rhi/wav/rhi0040.wav AS YOU HAVE NOT HEARD I WILL NOW PROCEED TO RELATE -wav/kayray-20070608-rhi/wav/rhi0050.wav THE PARSEE'S CAKE BECAUSE HE HAD EATEN IT ALL -wav/kayray-20070608-rhi/wav/rhi0060.wav SKIN AND HE SHOOK THAT SKIN AND HE SCRUBBED THAT -wav/kayray-20070608-rhi/wav/rhi0070.wav AND ROLLED AND ROLLED AND ROLLED AND EVERY TIME HE ROLLED -wav/kayray-20070608-rhi/wav/rhi0080.wav CRUMBS THEY WERE INSIDE HIS SKIN AND THEY TICKLED -wav/kayray-20070608-rhi/wav/rhi0090.wav BUT IT'S HOT TOO HOT FROM SUEZ FOR THE LIKES OF YOU AND ME -wav/kayray-20070611-ele/wav/ele0005.wav THE JUST SO STORIES BY RUDYARD KIPLING THE ELEPHANT'S CHILD -wav/kayray-20070611-ele/wav/ele0015.wav WHY HER TAIL FEATHERS GREW JUST SO -wav/kayray-20070611-ele/wav/ele0025.wav AND STILL HE WAS FULL OF SATIABLE CURTIOSITY -wav/kayray-20070611-ele/wav/ele0035.wav BY AND BY WHEN THAT WAS FINISHED HE CAME UPON KOLOKOLO BIRD -wav/kayray-20070611-ele/wav/ele0045.wav THIS SATIABLE ELEPHANT'S CHILD TOOK A HUNDRED POUNDS OF BANANAS -wav/kayray-20070611-ele/wav/ele0055.wav EATING MELONS AND THROWING THE RIND ABOUT -wav/kayray-20070611-ele/wav/ele0065.wav AND DID NOT KNOW WHAT ONE WAS LIKE -wav/kayray-20070611-ele/wav/ele0075.wav AND SPANKED THE ELEPHANT'S CHILD WITH HIS SCALESOME FLAILSOME TAIL -wav/kayray-20070611-ele/wav/ele0085.wav A LITTLE WARM BUT NOT AT ALL ASTONISHED EATING MELONS AND THROWING THE RIND ABOUT -wav/kayray-20070611-ele/wav/ele0095.wav BECAUSE HE DID NOT WISH TO BE SPANKED AGAIN -wav/kayray-20070611-ele/wav/ele0105.wav WHO SPANKS HARDER THAN ANY OF THEM AND SO -wav/kayray-20070611-ele/wav/ele0115.wav AND THE CROCODILE CAUGHT HIM BY HIS LITTLE NOSE -wav/kayray-20070611-ele/wav/ele0125.wav MY YOUNG FRIEND IF YOU DO NOT NOW IMMEDIATELY AND -wav/kayray-20070611-ele/wav/ele0135.wav CREAMY WITH GREAT SWEEPS OF HIS TAIL AND HE PULLED AND PULLED AND PULLED -wav/kayray-20070611-ele/wav/ele0145a.wav THEN THE BI COLOURED PYTHON ROCK SNAKE -wav/kayray-20070611-ele/wav/ele0154.wav BUT THE ELEPHANT'S CHILD AND THE BI COLOURED PYTHON ROCK SNAKE PULLED HARDEST -wav/kayray-20070611-ele/wav/ele0164.wav SCUSE ME SAID THE ELEPHANT'S CHILD BUT -wav/kayray-20070611-ele/wav/ele0174a.wav AT THE END OF THE THIRD DAY A FLY CAME AND STUNG HIM ON THE SHOULDER AND BEFORE HE KNEW WHAT HE WAS DOING -wav/kayray-20070611-ele/wav/ele0183.wav WITH A MEAR SMEAR NOSE DON'T YOU THINK THE SUN IS VERY HOT HERE IT -wav/kayray-20070611-ele/wav/ele0192.wav SCUSE ME SAID THE ELEPHANT'S CHILD -wav/kayray-20070611-ele/wav/ele0202.wav FRISKING AND WHISKING HIS TRUNK -wav/kayray-20070611-ele/wav/ele0212.wav HE WENT ESPECIALLY OUT OF HIS WAY TO FIND A BROAD HIPPOPOTAMUS -wav/kayray-20070611-ele/wav/ele0222.wav I DON'T THINK YOU PEOPLES KNOW ANYTHING ABOUT SPANKING BUT I DO AND I'LL SHOW YOU -wav/kayray-20070611-ele/wav/ele0232.wav AND HE PICKED UP HIS HAIRY UNCLE THE BABOON BY ONE HAIRY LEG -wav/kayray-20070611-ele/wav/ele0242.wav AT LAST THINGS GREW SO EXCITING THAT HIS DEAR FAMILIES WENT OFF ONE BY ONE -wav/kayray-20070611-ele/wav/ele0252.wav AND WHY AND WHO I SEND THEM OVER LAND AND SEA -wav/kayray-20070611-ele/wav/ele0262.wav MAY TWENTY THIRD TWO THOUSAND AND SEVEN IN OCEANSIDE CALIFORNIA -wav/kayray-20070611-leo/wav/leo0010.wav WHERE THERE WAS SAND AND SANDY COLOURED ROCK -wav/kayray-20070611-leo/wav/leo0020.wav OR THE BONTE BUCK CAME BY -wav/kayray-20070611-leo/wav/leo0030.wav BEST BELOVED THEY DIDN'T INDEED AFTER A LONG TIME -wav/kayray-20070611-leo/wav/leo0040.wav THE GIRAFFE GREW BLOTCHY AND THE ZEBRA GREW STRIPY -wav/kayray-20070611-leo/wav/leo0050.wav BOTH TOGETHER AND THEN THEY MET BAVIAAN THE DOG HEADED BARKING BABOON -wav/kayray-20070611-leo/wav/leo0060.wav AS SOON AS YOU CAN AND THE ETHIOPIAN SAID -wav/kayray-20070611-leo/wav/leo0070.wav DOTTED AND SPLASHED AND SLASHED AND HATCHED AND CROSS HATCHED WITH SHADOWS -wav/kayray-20070611-leo/wav/leo0080.wav I CAN'T SEE ZEBRA WAIT A BIT SAID THE ETHIOPIAN -wav/kayray-20070611-leo/wav/leo0090.wav BANANAS IN A SMOKEHOUSE BUT THEY DIDN'T THE LEOPARD AND THE ETHIOPIAN -wav/kayray-20070611-leo/wav/leo0100.wav I AM GOING TO SIT ON YOUR HEAD TILL MORNING -wav/kayray-20070611-leo/wav/leo0110.wav THE ETHIOPIAN SCRATCHED HIS HEAD AND SAID IT OUGHT -wav/kayray-20070611-leo/wav/leo0120.wav DON'T YOU KNOW -wav/kayray-20070611-leo/wav/leo0130.wav THIS IS THE WAY IT'S DONE ONE TWO THREE AND -wav/kayray-20070611-leo/wav/leo0140.wav LIKE A MUSTARD PLASTER ON A SACK OF COALS WELL -wav/kayray-20070611-leo/wav/leo0150.wav SO HE CHANGED HIS SKIN THEN AND THERE -wav/kayray-20070611-leo/wav/leo0160.wav BAVIAAN DIDN'T MEAN SPOTS IN SOUTH AFRICA HE MEANT SPOTS ON YOUR SKIN -wav/kayray-20070611-leo/wav/leo0170.wav I WOULDN'T LOOK LIKE GIRAFFE NOT FOR EVER SO -wav/kayray-20070611-leo/wav/leo0180.wav ANY LEOPARD NOW YOU WILL SEE THAT THERE ARE ALWAYS FIVE SPOTS -wav/kayray-20070611-leo/wav/leo0190.wav NOW COME ALONG AND WE'LL SEE IF WE CAN'T GET EVEN WITH MR ONE TWO THREE -wav/kayray-20070611-leo/wav/leo0200.wav JUST US TWO BY OUR LONES PEOPLE HAVE COME -wav/kayray-20070611-leo/wav/leo0210.wav READ BY KARA SHALLENBERG ON MAY TWENTY THIRD TWO THOUSAND AND SEVEN -wav/kc0vgj-20091223-qgw/wav/a0474.wav I SAILED THIRD MATE IN THE LITTLE VAMPIRE BEFORE YOU WERE BORN -wav/KenBloom-20071112-ryd/wav/b0239.wav AND THERE WAS A DOG THAT BARKED -wav/KenBloom-20071122-ceg/wav/a0044.wav HER OWN BETRAYAL OF HERSELF WAS LIKE TONIC TO PHILIP -wav/KenBloom-20071122-fot/wav/b0026.wav YOU HAVE ASSOCIATED WITH SOME OF THESE MEN -wav/KenBloom-20071122-tid/wav/a0480.wav TOM SPINK HAS A HARPOON -wav/KenBloom-20071122-xfp/wav/a0490.wav BOTH JOHNNY AND HIS MOTHER SHUFFLED THEIR FEET AS THEY WALKED -wav/KenMacRaild-20080702-xic/wav/a0087.wav PHILIP BENT LOWER AND STARED INTO THE FACE OF THE DEAD MAN -wav/Keren-20080605-cps/wav/a0384.wav THE FARMER WORKS THE SOIL AND PRODUCES GRAIN -wav/Keren-20080605-uzd/wav/a0459.wav THERE'S TOO MUCH OF THE SCHOOLBOY IN ME -wav/Keren-20080605-vdf/wav/b0076.wav BEFORE PHILIP COULD RECOVER HIMSELF JEANNE'S STARTLED GUARDS WERE UPON HIM -wav/khemboy-20090128-hvx/wav/a0179.wav TOMORROW I'M GOING AFTER THAT BEAR HE SAID -wav/khemboy-20090128-lnk/wav/a0099.wav A MADDENING JOY POUNDED IN HIS BRAIN -wav/khemboy-20090129-gno/wav/b0266.wav AND NOW PUT YOURSELF IN MY PLACE FOR A MOMENT -wav/kmac_byc-20090415-xnt/wav/a0335.wav RED-EYE SWUNG BACK AND FORTH ON THE BRANCH FARTHER DOWN -wav/kmaclean-20071108-poe/wav/teb0009.wav WHILE OTHER BARDS SHALL WALK THESE DELLS AND SING YOUR PRAISE SWEET EVENING BELLS -wav/kmaclean-20080111-cab/wav/a0179.wav TOMORROW I'M GOING AFTER THAT BEAR HE SAID -wav/kmaclean-20080111-mjp/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/kmaclean-20080111-wjw/wav/b0027.wav AND THERE'S NO CHIVALRY NO QUARTER SHOWN IN THIS FIGHT -wav/kmaclean-20080113-dgb/wav/b0256.wav OUTWARDLY HE MAINTAINED A CALM AND SMILING ASPECT -wav/kmaclean-20080227-vty/wav/a0140.wav ACCEPT A FATHER'S BLESSING AND WITH IT THIS -wav/kmaclean-20080403-gzi/wav/b0496.wav I HAVE SEEN MYSELF THAT ONE MAN CONTEMPLATED BY PASCAL'S PHILOSOPHIC EYE -wav/KnitGirl-20071113-dil/wav/b0273.wav THEN IT WAS THAT A STRANGE THING HAPPENED -wav/knotyouraveragejo-20070620-sci/wav/sci0009.wav AND THE INVENTION OF NEW ONES ACCOMPANIED BY AN EVEN MORE REMARKABLE DEVELOPMENT -wav/knotyouraveragejo-20070620-sci/wav/sci0019.wav POLITICAL OR SOCIAL ANARCHY THUS EFFECTED -wav/knotyouraveragejo-20070620-sci/wav/sci0029.wav NOT THAT THE GROWTH OF PHYSICAL SCIENCE IS AN EXCLUSIVE PREROGATIVE OF THE VICTORIAN AGE -wav/knotyouraveragejo-20070620-sci/wav/sci0039.wav WITHOUT ENTERING INTO THE DISCUSSION OF THAT LARGE QUESTION IT -wav/knotyouraveragejo-20070620-sci/wav/sci0049.wav INDEED IT MUST BE ADMITTED THAT THE MEN OF THE -wav/knotyouraveragejo-20070620-sci/wav/sci0058.wav ESCAPED MANY OF THE INFLUENCES WHICH AT THAT TIME -wav/knotyouraveragejo-20070620-sci/wav/sci0068.wav UNLESS HE WERE ACQUAINTED WITH AT ANY RATE ONE BRANCH OF -wav/knotyouraveragejo-20070620-sci/wav/sci0078.wav IN THE HEGEMONY OF THE SCIENTIFIC WORLD -wav/knotyouraveragejo-20070620-sci/wav/sci0088.wav THOUGH THE ATTEMPT WAS JUST SUCH A MAGNIFICENT FAILURE AS MIGHT HAVE BEEN EXPECTED FROM A MAN OF GREAT ENDOWMENTS -wav/knotyouraveragejo-20070620-sci/wav/sci0098.wav ANY DIRECT BENEFICIAL INFLUENCE ON THE ADVANCEMENT OF NATURAL KNOWLEDGE -wav/knotyouraveragejo-20070620-sci/wav/sci0108.wav INDEED AN INDISPENSABLE INSTRUMENT OF SCIENTIFIC PROGRESS FINALLY THAT TRANSCENDENTAL ALCHEMY -wav/knotyouraveragejo-20070620-sci/wav/sci0118.wav SHOULD BE LED TO ATTACH AN UNDUE VALUE TO -wav/knotyouraveragejo-20070620-sci/wav/sci0127.wav TO THE PHENOMENA OF MIND AND THE PROBLEMS OF SOCIAL ORGANISATION -wav/knotyouraveragejo-20070620-sci/wav/sci0137.wav DESCARTES WAS AN EMINENT MATHEMATICIAN AND IT WOULD SEEM THAT THE BENT OF -wav/knotyouraveragejo-20070620-sci/wav/sci0146.wav FOR THOUGH THE REVIVED AND RENEWED STUDY OF NATURE HAD SPREAD AND GROWN TO AN EXTENT WHICH SURPASSED -wav/knotyouraveragejo-20070620-sci/wav/sci0155.wav IN VARIOUS BRANCHES OF PHYSICS AND CHEMISTRY PASCAL -wav/knotyouraveragejo-20070620-sci/wav/sci0165.wav A COARSE WATCH THE MIDDLE OF THE EIGHTEENTH CENTURY IS ILLUSTRATED BY A -wav/knotyouraveragejo-20070620-sci/wav/sci0175.wav WHERE ARE THE FRUITS OF THE RESTORATION OF SCIENCE WHICH I PROMISED -wav/knotyouraveragejo-20070620-sci/wav/sci0185.wav WE CALL HUMAN UPON THE REST BEGAN TO CREATE -wav/knotyouraveragejo-20070620-sci/wav/sci0195.wav IT IS THE FOUNDATION OF OUR WEALTH AND THE CONDITION OF OUR SAFETY FROM SUBMERGENCE -wav/knotyouraveragejo-20070620-sci/wav/sci0205.wav OF OUR LIVES WHAT WONDER THEN IF THESE ASTONISHING FRUITS OF THE TREE OF KNOWLEDGE -wav/knotyouraveragejo-20070620-sci/wav/sci0215.wav WERE THE GREAT LIGHTS OF SCIENCE IN THE LATTER PART OF THE -wav/knotyouraveragejo-20070620-sci/wav/sci0225.wav WERNER CERTAINLY PAID ATTENTION TO MINING AND I HAVE NOT FORGOTTEN JAMES WATT -wav/knotyouraveragejo-20070621-sci/wav/sci0004.wav BEEN AND NEVER WILL BE SUFFICIENTLY ATTRACTIVE -wav/knotyouraveragejo-20070621-sci/wav/sci0014.wav MUCH MORE OFTEN UNINTENTIONALLY LIGHTS UPON SOMETHING -wav/knotyouraveragejo-20070621-sci/wav/sci0023b.wav FAR BE IT FROM ME TO DEPRECIATE THE VALUE OF THE GIFTS OF SCIENCE TO PRACTICAL LIFE -wav/knotyouraveragejo-20070621-sci/wav/sci0033.wav THAT WHERE THE GREEKS DID WONDERS WAS IN JUST THOSE BRANCHES OF SCIENCE -wav/knotyouraveragejo-20070621-sci/wav/sci0043.wav WHICH THEY NOW COMMAND IF SCIENCE HAS RENDERED THE COLOSSAL DEVELOPMENT OF MODERN INDUSTRY POSSIBLE -wav/knotyouraveragejo-20070621-sci/wav/sci0053.wav IN A MANNER WHICH WILL ASSUREDLY -wav/knotyouraveragejo-20070621-sci/wav/sci0063.wav NEVERTHELESS THAT WHICH IS TRUE OF THE INFANCY OF PHYSICAL SCIENCE IN THE GREEK WORLD -wav/knotyouraveragejo-20070621-sci/wav/sci0073.wav FRESNEL AFTER A BRILLIANT CAREER OF DISCOVERY IN SOME OF THE MOST DIFFICULT REGIONS -wav/knotyouraveragejo-20070621-sci/wav/sci0083.wav WITHOUT DOUBT I HAVE OFTEN WANTED THE SPUR OF VANITY TO EXCITE ME TO PURSUE MY RESEARCHES -wav/knotyouraveragejo-20070621-sci/wav/sci0093.wav TO ANYONE WHO KNOWS THE BUSINESS OF INVESTIGATION PRACTICALLY -wav/knotyouraveragejo-20070621-sci/wav/sci0103.wav THAT WE MUST LOOK FOR LIGHT AND GUIDANCE -wav/knotyouraveragejo-20070621-sci/wav/sci0113.wav THE INHERITANCE BEQUEATHED BY THEIR SCIENTIFIC FOREFATHERS -wav/knotyouraveragejo-20070621-sci/wav/sci0123.wav COURAGE THAN DISCRETION AND PERHAPS MORE PRESUMPTION THAN EITHER -wav/knotyouraveragejo-20070621-sci/wav/sci0133.wav EITHER OF GUIDANCE OR OF AIDS TO IGNORANCE -wav/knotyouraveragejo-20070621-sci/wav/sci0143.wav MY PERSONAL EXPERIENCE NEARLY COINCIDES WITH THE PRECEDING HALF CENTURY -wav/knotyouraveragejo-20070621-sci/wav/sci0153.wav WHEN ONE IS DEALING WITH CONTEMPORARIES NO SUCH NECESSITY LIES UPON ME -wav/knotyouraveragejo-20070621-sci/wav/sci0163.wav THE OBJECT IS THE DISCOVERY OF THE RATIONAL ORDER WHICH PERVADES THE UNIVERSE -wav/knotyouraveragejo-20070621-sci/wav/sci0173.wav ALL PHYSICAL SCIENCE STARTS FROM CERTAIN POSTULATES -wav/knotyouraveragejo-20070621-sci/wav/sci0183.wav EXTENSION COMES BACK IN THE FORM OF THAT AREA -wav/knotyouraveragejo-20070621-sci/wav/sci0193.wav CAN NOT BE NOT A ANOTHER POSTULATE -wav/knotyouraveragejo-20070621-sci/wav/sci0203.wav AS AXIOMS OF PHYSICAL PHILOSOPHY -wav/knotyouraveragejo-20070621-sci/wav/sci0213.wav WHICH IS ABSURDLY CALLED BACONIAN INDUCTION BUT ANYONE WHO IS -wav/knotyouraveragejo-20070621-sci/wav/sci0223.wav EPICYCLES WAS AN HYPOTHESIS UTTERLY AT VARIANCE WITH FACT -wav/knotyouraveragejo-20070621-sci/wav/sci0233.wav TO A GREAT EXTENT BY THE HELP OF SCIENTIFIC ERRORS -wav/knotyouraveragejo-20070621-sci/wav/sci0243.wav BE SUSCEPTIBLE OF AN INTERPRETATION IN ACCORDANCE WITH THE TRUTH AT A CERTAIN PERIOD IN THE HISTORY OF ASTRONOMICAL SCIENCE -wav/knotyouraveragejo-20070621-sci/wav/sci0253.wav BASED UPON PHYSICAL DATA IS ABSOLUTELY TRUE IN -wav/knotyouraveragejo-20080426-adv/wav/adv0004.wav THIS IS NATURAL HISTORY IN THE ORIGINAL SENSE OF THE TERM -wav/knotyouraveragejo-20080426-adv/wav/adv0014.wav AND THIS IS THE COMMONEST CASE BECAUSE OBSERVATION AND EXPERIMENT ARE HARD WORK -wav/knotyouraveragejo-20080426-adv/wav/adv0024.wav AND HAVING AT THEIR DISPOSAL IMMENSELY IMPROVED APPLIANCES HAVE DEVOTED THEMSELVES TO THE ENLARGEMENT OF THE BOUNDARIES OF NATURAL KNOWLEDGE -wav/knotyouraveragejo-20080426-adv/wav/adv0034.wav AND EVEN OF THEOLOGICAL CONSIDERATIONS UPON THE DEVELOPMENT OF ALL THREE THE PECULIAR MERIT OF OUR EPOCH -wav/knotyouraveragejo-20080426-adv/wav/adv0044.wav TO PARTICULAR FORMS OF MATTER HAD BEEN ASCERTAINED BY THE PHYSICISTS AND CHEMISTS THE LAWS OF MOTION OF VISIBLE AND TANGIBLE -wav/knotyouraveragejo-20080426-adv/wav/adv0054.wav OR TO SEPARATE THEM MORE WIDELY WITH RESPECT TO THE ULTIMATE CONSTITUTION OF THESE MASSES -wav/knotyouraveragejo-20080426-adv/wav/adv0064.wav AS MASS OR BODY IT REMAINED INDESTRUCTIBLE AND INGENERABLE AND THAT SO FAR -wav/knotyouraveragejo-20080426-adv/wav/adv0074.wav EVERY OTHER COULD HAVE A NUMBER ASSIGNED TO IT AS ITS PROPORTIONAL COMBINING WEIGHT -wav/knotyouraveragejo-20080426-adv/wav/adv0084.wav THAT IF THE ETHER IS ADMITTED TO BE A CONTINUOUS MATERIAL SUBSTANCE DEMOCRITIC ATOMISM IS AT AN END -wav/knotyouraveragejo-20080426-adv/wav/adv0094.wav UNFORTUNATELY CHEMISTS EMPLOY THIS TERM IN A SPECIAL SENSE -wav/knotyouraveragejo-20080426-adv/wav/adv0104.wav SHOWED A RELATION BETWEEN THE UNITS AND CRYSTALLINE FORMS CERTAIN UNITS ARE THUS ABLE TO REPLACE OTHERS -wav/knotyouraveragejo-20080426-adv/wav/adv0114.wav WOULD NEVER HAVE ADVANCED TO THEIR PRESENT CONDITION UNLESS IT HAD BEEN ASSUMED TO BE TRUE -wav/knotyouraveragejo-20080426-adv/wav/adv0124.wav BUT TO THE POSSIBILITY OF MODIFYING A MOLECULAR FABRIC WITHOUT DESTROYING IT -wav/knotyouraveragejo-20080426-adv/wav/adv0134.wav AND THEY ACQUIRED AN IMMENSE IMPORTANCE WHEN THE IMPROVEMENT OF METHODS OF ANALYSIS -wav/knotyouraveragejo-20080426-adv/wav/adv0144.wav TO DIVERSITY OF ARRANGEMENT OF THE IDENTICAL COMPONENT UNITS WAS THE ONLY OBVIOUS WAY OUT OF THE DIFFICULTY -wav/knotyouraveragejo-20080426-adv/wav/adv0154.wav WHICH THEY COMMONLY RECEIVE BUT THIS NEW CHEMISTRY HAS GROWN UP BY THE HELP OF HYPOTHESES -wav/knotyouraveragejo-20080426-adv/wav/adv0164.wav THE EVOLUTION OF HEAT WHEN BODIES COMBINE THE ABSORPTION OF HEAT WHEN THEY ARE DISSOCIATED -wav/knotyouraveragejo-20080426-adv/wav/adv0174.wav WHICH HAVE NOT YET BEEN SUBDIVIDED AND MOLECULES FOR PHYSICO CHEMICAL UNITS -wav/knotyouraveragejo-20080426-adv/wav/adv0184.wav THE SEVERAL MEMBERS OF WHICH WERE AS MUCH LIKE ONE ANOTHER AS THEY WERE UNLIKE THE REST -wav/knotyouraveragejo-20080426-adv/wav/adv0194.wav THE SERIES DOES NOT EXHIBIT ONE CONTINUOUS PROGRESSIVE MODIFICATION IN THE PHYSICAL AND CHEMICAL CHARACTERS OF ITS SEVERAL TERMS -wav/knotyouraveragejo-20080426-adv/wav/adv0204.wav AND W PLUS X PLUS Y THE ATOMIC WEIGHT OF ANY ELEMENT IN THE NEXT AND SO ON -wav/knotyouraveragejo-20080426-adv/wav/adv0214.wav IS IT NOT POSSIBLE NAY PROBABLE THAT THEY MAY MEAN THE EVOLUTION OF OUR ELEMENTS FROM A PRIMARY UNDIFFERENTIATED FORM OF MATTER -wav/knotyouraveragejo-20080426-adv/wav/adv0224.wav IS LITTLE MORE THAN NOMINAL BUT THE CORRESPONDENCE BETWEEN THE MODERN AND THE ANCIENT NOTION OF A DISTINCTION BETWEEN PRIMARY AND DERIVATIVE MATTER IS -wav/knotyouraveragejo-20080426-adv/wav/adv0234.wav THE TRANSMUTABILITY OF THE ELEMENTS IS A VERIFIABLE SCIENTIFIC HYPOTHESIS AND SUCH INQUIRIES AS THOSE WHICH HAVE BEEN SET AFOOT INTO THE POSSIBLE DISSOCIATIVE ACTION OF THE GREAT HEAT OF THE SUN UPON OUR ELEMENTS -wav/knotyouraveragejo-20080426-adv/wav/adv0244.wav THAN THE ATOMIC HYPOTHESIS WHICH TO BEGIN WITH HAD NO GREATER IF SO GREAT AN EMPIRICAL FOUNDATION -wav/knotyouraveragejo-20080426-adv/wav/adv0254.wav OF THE BODIES WHICH COMPOSE THE MATERIAL WORLD SOME ARE IN MOTION AND SOME ARE OR APPEAR TO BE AT REST OF -wav/knotyouraveragejo-20080426-adv/wav/adv0264.wav AND TO GENERALISE THE FACTS OBSERVED BY SAYING THAT BODIES WHICH ARE FREE TO MOVE -wav/knotyouraveragejo-20080426-adv/wav/adv0274.wav THESE APPARENTLY OBVIOUS CONCLUSIONS FROM THE EVERYDAY APPEARANCES OF REST AND MOTION FAIRLY REPRESENT THE STATE OF OPINION UPON THE SUBJECT -wav/knotyouraveragejo-20080426-adv/wav/adv0284.wav THAT WHILE IN CONTRADISTINCTION TO THE ANCIENT IDEA OF THE INHERENT TENDENCY TO MOTION OF BODIES -wav/knotyouraveragejo-20080426-adv/wav/adv0294.wav THE PROOF AND QUANTITATIVE ESTIMATION OF PHYSICAL INERTIA IN THE OLD PHILOSOPHY A CURIOUS CONJUNCTION OF ETHICAL AND PHYSICAL PREJUDICES -wav/knotyouraveragejo-20080426-adv/wav/adv0304.wav SO LONG AS NO EXTERNAL CAUSE OF CHANGE ACTS UPON IT THE OTHER -wav/knotyouraveragejo-20080426-adv/wav/adv0314.wav TO THIS THE NAME OF MASS HAS BEEN GIVEN AND -wav/knotyouraveragejo-20080426-adv/wav/adv0324.wav AND IT MAINTAINED ITS GROUND UNTIL AT THE BEGINNING OF THE NINETEENTH CENTURY -wav/knotyouraveragejo-20080426-adv/wav/adv0334.wav THAT CLEAR AND UNQUESTIONABLE EXPERIMENTAL PROOF WAS GIVEN OF THE FACT THAT THERE IS A DEFINITE RELATION BETWEEN MECHANICAL WORK -wav/knotyouraveragejo-20080426-adv/wav/adv0344.wav THAT HEAT MAY BE A MODE OF MOTION DESCARTES AFFIRMED THE QUANTITY OF MOTION IN THE WORLD TO BE CONSTANT -wav/knotyouraveragejo-20080426-adv/wav/adv0354.wav HENCE THE IDEA OF THE CORRELATION OF FORCES WHICH WAS THE IMMEDIATE FORERUNNER OF THE DOCTRINE OF THE CONSERVATION OF ENERGY -wav/knotyouraveragejo-20080426-adv/wav/adv0364.wav ALTHOUGH THE EXACT NATURE OF HEAT IS STILL AN OBSCURE AND CONTROVERTED MATTER THE SCIENCE OF HEAT NOW CONSISTS OF MANY IMPORTANT TRUTHS -wav/knotyouraveragejo-20080428-adv/wav/adv0002.wav BY T H HUXLEY EIGHTEEN EIGHTY NINE -wav/knotyouraveragejo-20080428-adv/wav/adv0012.wav SUPPOSE NOW THAT IT RECEIVES AN IMPULSE -wav/knotyouraveragejo-20080428-adv/wav/adv0022.wav A CAUSE COMPETENT TO PRODUCE MOTION IS OPERATING UPON IT -wav/knotyouraveragejo-20080428-adv/wav/adv0032.wav THAT KINETIC ENERGY APPEARS TO BE IMPARTED BY IMPACT IS A FACT OF DAILY AND HOURLY EXPERIENCE -wav/knotyouraveragejo-20080428-adv/wav/adv0042.wav IN ALL SUCH CASES THE PRESENCE OF A SECOND BODY IS A NECESSARY CONDITION -wav/knotyouraveragejo-20080428-adv/wav/adv0052.wav BECAUSE IT DEPENDS UPON THE RELATIVE POSITION OF THE EARTH AND THE -wav/knotyouraveragejo-20080428-adv/wav/adv0062.wav AS IT WILL DEVELOP IN FALLING -wav/knotyouraveragejo-20080428-adv/wav/adv0071.wav BUT THE POTENTIAL ENERGY OF THE RAISED STONE IS NOT SO EASILY INTELLIGIBLE -wav/knotyouraveragejo-20080428-adv/wav/adv0081.wav AND SUCH ATTRACTIVE OR REPULSIVE FORCES ARE OFTEN SPOKEN OF -wav/knotyouraveragejo-20080428-adv/wav/adv0091.wav IT IS SAID THAT THE ATTRACTIVE FORCES OF THE BOB FOR THE EARTH AND OF THE EARTH FOR THE BOB -wav/knotyouraveragejo-20080428-adv/wav/adv0101.wav AND THUS VIRTUALLY TO GO UP HILL -wav/knotyouraveragejo-20080428-adv/wav/adv0111.wav EQUAL TO THAT WITH WHICH IT STARTED -wav/knotyouraveragejo-20080428-adv/wav/adv0121.wav THUS ON THE WHOLE TRANSACTION NOTHING IS EITHER LOST OR GAINED -wav/knotyouraveragejo-20080428-adv/wav/adv0131.wav THE OTHER ATTRACTIVE OR REPULSIVE FORCE -wav/knotyouraveragejo-20080428-adv/wav/adv0141.wav TO SHOW THAT THE PHENOMENA OF ATTRACTION AND REPULSION ARE SUSCEPTIBLE OF EXPLANATION BY HIS HYPOTHESIS OF BOMBARDMENT BY -wav/knotyouraveragejo-20080428-adv/wav/adv0151.wav HAVING SERVED ITS PURPOSE AS A USEFUL PIECE OF SCIENTIFIC SCAFFOLDING -wav/knotyouraveragejo-20080428-adv/wav/adv0161.wav SO FAR AS IT IS MATERIAL -wav/knotyouraveragejo-20080428-adv/wav/adv0171.wav ARE TO BE ACCOUNTED FOR -wav/knotyouraveragejo-20080428-adv/wav/adv0181.wav BUT THE HOW AND WHY OF THE PROCESS -wav/knotyouraveragejo-20080428-adv/wav/adv0191.wav IN FACT IT IS HARDLY TOO MUCH TO SAY THAT THE ESSENTIAL AND FUNDAMENTAL DIFFERENCE BETWEEN ANCIENT AND MODERN PHYSICAL SCIENCE -wav/knotyouraveragejo-20080428-adv/wav/adv0201.wav AND THIS TENDENCY AGAIN IS MAINLY A PRODUCT OF THE INCREASING STRENGTH -wav/knotyouraveragejo-20080428-adv/wav/adv0211.wav FROM A FORMLESS CHAOS TO AN ORDERED WORLD WHICH MIGHT EITHER CONTINUE FOR EVER OR UNDERGO DISSOLUTION INTO ITS ELEMENTS -wav/knotyouraveragejo-20080428-adv/wav/adv0222.wav IN THE EIGHTEENTH CENTURY KANT PUT FORTH A REMARKABLE SPECULATION AS TO THE ORIGIN OF THE SOLAR SYSTEM CLOSELY SIMILAR TO -wav/knotyouraveragejo-20080428-adv/wav/adv0232.wav A PERIOD OF TIME AS GREAT -wav/knotyouraveragejo-20080428-adv/wav/adv0242.wav BEGINNING OF THE EIGHTEENTH CENTURY -wav/knotyouraveragejo-20080428-adv/wav/adv0252.wav CATASTROPHISM A SHORT SIGHTED TELEOLOGY AND A STILL MORE SHORT SIGHTED ORTHODOXY JOINED FORCES TO CRUSH EVOLUTION -wav/knotyouraveragejo-20080428-adv/wav/adv0261.wav WHY SHOULD IT NOT ACCOUNT FOR THE LIVING PART -wav/knotyouraveragejo-20080428-adv/wav/adv0271.wav OF THE INHABITANTS OF THE EARTH AT EACH SUCCESSIVE GEOLOGICAL EPOCH -wav/knotyouraveragejo-20080428-adv/wav/adv0281.wav WHICH COMPRISE THE HISTORY OF PHYSIOLOGY OF COMPARATIVE ANATOMY -wav/knotyouraveragejo-20080428-adv/wav/adv0291.wav EVEN AS A LOGICAL POSSIBILITY IN FACT -wav/knotyouraveragejo-20080428-adv/wav/adv0301.wav AND THE OCCURRENCE OF GREAT GEOLOGICAL CHANGES -wav/knotyouraveragejo-20080428-adv/wav/adv0311.wav PUBLICATIONS ON THE EFFECTS OF DOMESTICATION IN PLANTS AND ANIMALS -wav/knotyouraveragejo-20080428-adv/wav/adv0322.wav MOREOVER PHYSICISTS OF THE PRESENT GENERATION APPEAR NOW TO ACCEPT THE SECULAR COOLING OF THE EARTH -wav/knotyouraveragejo-20080428-adv/wav/adv0332.wav AS STAGES OF EVOLUTION OF THE SAME TYPE -wav/knotyouraveragejo-20080428-adv/wav/adv0342.wav I MENTION IT BECAUSE SO FAR AS I KNOW -wav/knotyouraveragejo-20080428-adv/wav/adv0352.wav IF ALL KINDS OF MATTER ARE MODIFICATIONS OF ONE KIND -wav/knotyouraveragejo-20080428-adv/wav/adv0362.wav FROM A UNIVERSE OF SUCH MATTER -wav/knotyouraveragejo-20080428-adv/wav/adv0372.wav THE INDICATION OF THE MOST IMPORTANT ACHIEVEMENTS IN THE SEVERAL BRANCHES OF PHYSICAL SCIENCE -wav/knotyouraveragejo-20080428-adv/wav/adv0382.wav WHICH I HAVE TO NOTICE -wav/knotyouraveragejo-20080428-adv/wav/adv0392.wav IT HAS FURTHER BEEN SHOWN THAT THERE IS NO DISCONTINUITY BETWEEN THESE STATES -wav/knotyouraveragejo-20080428-adv/wav/adv0402.wav AND BOUNDING BACK WHEN THEY STRIKE THE WALLS OF THE CONTAINING VESSEL -wav/knotyouraveragejo-20080428-adv/wav/adv0412.wav BY THE GIESELER TUBES AND THE RADIOMETER -wav/knotyouraveragejo-20080428-adv/wav/adv0422.wav HAVE PROVED OF GREAT IMPORTANCE IN METEOROLOGY THE -wav/knotyouraveragejo-20080428-adv/wav/adv0432.wav AND ALMOST INFINITE DISTANCE ON THE OTHER -wav/knotyouraveragejo-20080428-adv/wav/adv0442.wav WITH CHEMICAL AND THERMAL ACTION -wav/knotyouraveragejo-20080428-adv/wav/adv0452.wav HUMBOLDT IN EIGHTEEN THIRTY SIX -wav/knotyouraveragejo-20080428-adv/wav/adv0462.wav NO LESS THAN FOR THE AID WHICH IT HAS FURNISHED TO THE INVESTIGATION -wav/knotyouraveragejo-20080428-adv/wav/adv0472.wav BUT THE SYSTEM OF ELECTRIC TELEGRAPHY WHICH AT THE PRESENT TIME BRINGS ALL PARTS OF THE CIVILISED WORLD -wav/knotyouraveragejo-20080428-adv/wav/adv0482.wav OF REMOVING THE IGNORANT AND BANEFUL PREJUDICES -wav/knotyouraveragejo-20080428-adv/wav/adv0492.wav THE TELEPHONE IS ONLY SECOND IN PRACTICAL IMPORTANCE TO THE ELECTRIC TELEGRAPH -wav/knotyouraveragejo-20080428-adv/wav/adv0502.wav LARGELY ON ACCOUNT OF ITS COST -wav/knotyouraveragejo-20080502-adv/wav/adv0003.wav IN OTHER FIELDS OF SCIENCE IS HIGHLY REMARKABLE THE COMBINATION OF ELECTRICAL WITH MECHANICAL CONTRIVANCES -wav/knotyouraveragejo-20080502-adv/wav/adv0013.wav BUT THEY HAVE FURNISHED NEW METHODS OF MEASURING THE RATE OF MOVEMENT OF PROJECTILES TO -wav/knotyouraveragejo-20080502-adv/wav/adv0023.wav IT IS NOT MY AFFAIR TO DWELL UPON THE PRACTICAL APPLICATION OF THE PHOTOGRAPHY OF THE PRESENT -wav/knotyouraveragejo-20080502-adv/wav/adv0033.wav IN FACT IN MANY CASES THE STERN IMPARTIALITY OF PHOTOGRAPHY IS AN OBJECTION TO ITS EMPLOYMENT -wav/knotyouraveragejo-20080502-adv/wav/adv0043.wav BY THE EMPLOYMENT OF SPECTROSCOPY IT HAS NOT ONLY THROWN WONDERFUL LIGHT UPON THE PHYSICAL AND CHEMICAL CONSTITUTION OF THE SUN -wav/knotyouraveragejo-20080502-adv/wav/adv0053.wav AND SEEKS THE EXPLANATION OF THIS IMPORTANT TRUTH FROM THE SISTER SCIENCES -wav/knotyouraveragejo-20080502-adv/wav/adv0063.wav WE ARE MET ON THE THRESHOLD OF OUR EPOCH WITH PERHAPS THE GREATEST OF ALL -wav/knotyouraveragejo-20080502-adv/wav/adv0073.wav ALL THE MORPHOLOGICAL CHARACTERS OF ANIMALS AND PLANTS ARE THE RESULTS OF THE MODE OF MULTIPLICATION -wav/knotyouraveragejo-20080502-adv/wav/adv0083.wav AT THE PRESENT TIME THE CELL THEORY IN CONSEQUENCE OF RECENT INVESTIGATIONS -wav/knotyouraveragejo-20080502-adv/wav/adv0093.wav IN A GREAT NUMBER OF CASES OF SUPPOSED SPONTANEOUS GENERATION THE ANIMALS WHICH MADE THEIR APPEARANCE OWED THEIR ORIGIN TO THE ORDINARY PROCESS OF REPRODUCTION -wav/knotyouraveragejo-20080502-adv/wav/adv0103.wav AND THE PROBLEM HAS BEEN INVESTIGATED BY EXPERIMENTAL METHODS OF A PRECISION AND REFINEMENT -wav/knotyouraveragejo-20080502-adv/wav/adv0113.wav AS A PIOUS OPINION SUPPORTED BY ANALOGY AND DEFENDED BY OUR IGNORANCE BUT -wav/knotyouraveragejo-20080502-adv/wav/adv0123.wav IT MAY BE SAID THAT MORPHOLOGY HOWEVER INEXHAUSTIBLE IN DETAIL IS COMPLETE IN ITS BROAD FEATURES -wav/knotyouraveragejo-20080502-adv/wav/adv0133.wav CONDUCTED WITH REFERENCE TO NO OTHER CONSIDERATIONS THAN THOSE WHICH WOULD BE ADMITTED BY THE INVESTIGATOR -wav/knotyouraveragejo-20080502-adv/wav/adv0143.wav WHICH ARE LIKE AND KEEPING ASUNDER THOSE WHICH ARE UNLIKE AND A MORPHOLOGICAL CLASSIFICATION OF COURSE -wav/knotyouraveragejo-20080502-adv/wav/adv0153.wav MUCH OF THE SPECULATIVE PHYLOGENY WHICH ABOUNDS AMONG MY PRESENT CONTEMPORARIES REMINDS ME VERY FORCIBLY OF THE SPECULATIVE MORPHOLOGY -wav/knotyouraveragejo-20080502-adv/wav/adv0163.wav WHICH APPEARED IN EIGHTEEN THIRTY FIVE AND DRAPIEZ EDITION OF RICHARD'S NOUVEAUX ELEMENTS DE BOTANIQUE PUBLISHED IN EIGHTEEN THIRTY SEVEN -wav/knotyouraveragejo-20080502-adv/wav/adv0173.wav ON THE ASSUMPTION THAT THE PHYSICAL AND CHEMICAL PROCESSES WHICH TAKE PLACE IN THE LIVING BODY -wav/knotyouraveragejo-20080502-adv/wav/adv0183.wav REMOVAL OF WASTE PRODUCTS MOTION SENSATION AND REPRODUCTION ARE PERFORMED -wav/knotyouraveragejo-20080502-adv/wav/adv0193.wav WITHIN THAT TIME THEY HAVE ALREADY RENDERED HIGHLY IMPORTANT SERVICES BY THE EXPLORATION OF THE PHENOMENA OF PARASITISM -wav/knotyouraveragejo-20080502-adv/wav/adv0203.wav FURTHER JUST AS THE DISCOVERY OF THE CAUSE OF SCABIES PROVED THE ABSURDITY OF MANY OF THE OLD PRESCRIPTIONS FOR THE PREVENTION -wav/knotyouraveragejo-20080502-adv/wav/adv0213.wav IT IS ATTACKING HYDROPHOBIA WITH NO MEAN PROMISE OF SUCCESS SOONER OR LATER IT WILL DEAL IN THE SAME WAY -wav/knotyouraveragejo-20080502-adv/wav/adv0223.wav AFFORDS A WHOLESOME CHECK TO THE TENDENCY TO OVERRATE THE INFLUENCE OF CLIMATE ON DISTRIBUTION -wav/knotyouraveragejo-20080502-adv/wav/adv0233.wav PALAEONTOLOGY WHICH TREATS OF THE EXTINCT FORMS OF LIFE AND THEIR SUCCESSION AND DISTRIBUTION UPON OUR GLOBE -wav/knotyouraveragejo-20080502-adv/wav/adv0243.wav TIME AFTER TIME HIGHLY ORGANISED TYPES HAVE BEEN DISCOVERED IN FORMATIONS OF AN AGE IN WHICH THE EXISTENCE OF SUCH FORMS OF LIFE -wav/knotyouraveragejo-20080502-adv/wav/adv0253.wav IN SO FAR AS IT COMPRISES THE SURFACE CONFIGURATION AND THE INNER STRUCTURE OF THE EARTH -wav/knotyouraveragejo-20080502-adv/wav/adv0263.wav THE PUBLICATION OF THE PRINCIPLES OF GEOLOGY BROUGHT UPON ITS ILLUSTRIOUS AUTHOR A -wav/knotyouraveragejo-20080502-adv/wav/adv0273.wav AN INCALCULABLE BENEFIT HAS ACCRUED TO GEOLOGICAL SCIENCE FROM THE ACCURATE AND DETAILED SURVEYS -wav/knotyouraveragejo-20080502-adv/wav/adv0283.wav AND IN MANY PARTS OF EUROPE AND THE UNITED STATES THE STRUCTURE OF THE SUPERFICIAL CRUST OF THE EARTH -wav/knotyouraveragejo-20080502-adv/wav/adv0293.wav OF THE UNBROKEN SEQUENCE OF THE ORDER OF NATURAL PHENOMENA THROUGHOUT THE DURATION OF THE UNIVERSE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0007.wav AN ENTHUSIASTIC BOTANIST AND TREE LOVER WANDERED ALONE THROUGH FINE SECTIONS OF THE SUGAR PINE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0017.wav AS MANIFESTED IN THE HARMONIES OF THEIR DISTRIBUTION AND VARYING ASPECTS THROUGHOUT THE SEASONS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0027.wav THE MONOTONOUS UNIFORMITY OF THE DEODAR FORESTS OF THE HIMALAYA THE BLACK FOREST OF EUROPE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0037.wav UPON SOME GRANITE PAVEMENT OR HIGH BARE RIDGE COMMANDING SUPERB VIEWS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0047.wav FOR NOTWITHSTANDING SOME OF THE SPECIES RANGE UPWARD FOR SEVERAL THOUSAND FEET AND ALL PASS ONE ANOTHER MORE OR LESS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0057.wav AND LASTLY TO THE UPPER PINE BELT WHICH SWEEPS UP THE ROCKY ACCLIVITIES OF THE SUMMIT PEAKS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0067.wav EVERY STORM THAT FALLS UPON THEM WASTES THEM CUTTING GAPS DISINTEGRATING BOULDERS AND CARRYING AWAY THEIR DECAYING MATERIAL -wav/knotyouraveragejo-20080524-mtn/wav/mtn0077.wav IT APPEARS THEREFORE THAT THE SIERRA FORESTS IN GENERAL INDICATE THE EXTENT AND POSITIONS OF THE ANCIENT MORAINES -wav/knotyouraveragejo-20080524-mtn/wav/mtn0087.wav ITS EXTREME UPPER LIMIT BEING ABOUT FOUR THOUSAND FEET ABOVE THE SEA ITS LOWER -wav/knotyouraveragejo-20080524-mtn/wav/mtn0097.wav AND INCLINED TO DROOP IN HANDSOME CURVES CONTRASTING WITH THE STIFF DARK COLORED TRUNK -wav/knotyouraveragejo-20080524-mtn/wav/mtn0107.wav AND BEAT OFF THE CONES WITH STICKS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0117.wav IS WORN ABOUT AS LOOSELY SO THAT THE BODY OF THE TREE IS SCARCELY OBSCURED BY IT -wav/knotyouraveragejo-20080524-mtn/wav/mtn0127.wav WHERE THERE IS BUT LITTLE DEPTH OF SOIL AND WHERE FOUND AT ALL IT IS QUITE PLENTIFUL -wav/knotyouraveragejo-20080524-mtn/wav/mtn0137.wav SECOND THOSE GROVES ARE ALL PLANTED ON DRY HILLSIDES COVERED WITH CHAPARRAL -wav/knotyouraveragejo-20080524-mtn/wav/mtn0147.wav THEN A YOUNG GROVE IMMEDIATELY SPRINGS UP GIVING BEAUTY FOR ASHES SUGAR PINE PINUS LAMBERTIANA -wav/knotyouraveragejo-20080524-mtn/wav/mtn0157.wav THAT WAS TWO HUNDRED AND FORTY FIVE FEET HIGH AND OVER EIGHTEEN FEET IN DIAMETER -wav/knotyouraveragejo-20080524-mtn/wav/mtn0167.wav DURING HIS FIRST SUMMER ON THE WATERS OF THE COLUMBIA HE MADE FORT VANCOUVER HIS HEADQUARTERS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0177.wav EIGHTEEN TWENTY SIX WEATHER DULL COLD AND CLOUDY -wav/knotyouraveragejo-20080524-mtn/wav/mtn0187.wav WHICH HE DID SLOWLY AND WITH GREAT CAUTION I THEN MADE HIM PLACE HIS BOW AND QUIVER OF ARROWS BESIDE MY GUN -wav/knotyouraveragejo-20080524-mtn/wav/mtn0197.wav OF THIS MOST BEAUTIFUL AND IMMENSELY GRAND TREE I SHALL HERE STATE THE DIMENSIONS OF THE LARGEST I COULD FIND -wav/knotyouraveragejo-20080524-mtn/wav/mtn0207.wav WITH A PAIR OF WOODEN PINCERS AND SUSPEND IT OFF THE WRIST OF HIS RIGHT HAND -wav/knotyouraveragejo-20080524-mtn/wav/mtn0217.wav THEY WENT OFF IMMEDIATELY IN SEARCH OF THEM AND NO SOONER WERE THEY ALL OUT OF SIGHT -wav/knotyouraveragejo-20080524-mtn/wav/mtn0227.wav THE NEEDLES ARE ABOUT THREE INCHES LONG FINELY TEMPERED AND ARRANGED IN RATHER CLOSE TASSELS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0237.wav AND THEIR COLOR CHANGES TO A WARM YELLOWISH BROWN -wav/knotyouraveragejo-20080524-mtn/wav/mtn0247.wav AND BECAUSE AN AX AND SAW AND FROW ARE ALL THE CAPITAL REQUIRED FOR THE BUSINESS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0257.wav THE SUGAR FROM WHICH THE COMMON NAME IS DERIVED IS TO MY TASTE THE BEST OF SWEETS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0267.wav NOR WILL HE AFTERWARD NEED A POET TO CALL HIM TO LISTEN WHAT THE PINE TREE SAITH -wav/knotyouraveragejo-20080524-mtn/wav/mtn0277.wav THE WHITE SILVER FIR ON COOL NORTHERN SLOPES BUT NOBLE AS THESE ARE THE SUGAR PINE IS EASILY KING -wav/knotyouraveragejo-20080524-mtn/wav/mtn0287.wav WE FEEL AS IF IN THE PRESENCE OF A SUPERIOR BEING -wav/knotyouraveragejo-20080524-mtn/wav/mtn0297.wav OFFER A DELIGHTFUL STUDY AT THE AGE OF FIFTY OR SIXTY YEARS THE SHY FASHIONABLE FORM -wav/knotyouraveragejo-20080524-mtn/wav/mtn0307.wav THROUGH WHICH THE TEMPERED SUNBEAMS POUR SILVERING THE NEEDLES AND GILDING THE MASSIVE BOLES -wav/knotyouraveragejo-20080524-mtn/wav/mtn0317.wav AND PROCLAIMS THE SURPASSING GRANDEUR OF THE SPECIES YELLOW OR SILVER PINE PINUS PONDEROSA -wav/knotyouraveragejo-20080524-mtn/wav/mtn0327.wav GROWING BRAVELY UPON WELL WATERED MORAINES GRAVELLY LAKE BASINS ARCTIC RIDGES AND TORRID LAVA BEDS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0337.wav BEING A SYMMETRICAL SPIRE FORMED OF A STRAIGHT ROUND TRUNK -wav/knotyouraveragejo-20080524-mtn/wav/mtn0347.wav GROWING IN CLOSE SESSILE CLUSTERS AMONG THE LEAVES THE SPECIES ATTAINS ITS NOBLEST FORM -wav/knotyouraveragejo-20080524-mtn/wav/mtn0357.wav LESS DIVIDED BRANCHES AND LARGER CONES BUT INTERMEDIATE FORMS COME IN WHICH MAKE A CLEAR SEPARATION IMPOSSIBLE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0367.wav BUT IT IS DURING CLOUDLESS WIND STORMS THAT THESE COLOSSAL PINES ARE MOST IMPRESSIVELY BEAUTIFUL -wav/knotyouraveragejo-20080524-mtn/wav/mtn0377.wav THIS SPECIES ALSO GIVES FORTH THE FINEST MUSIC TO THE WIND -wav/knotyouraveragejo-20080524-mtn/wav/mtn0387.wav THE LATTER IS SEEN TO BE FAR MORE SIMPLE IN MANNERS MORE LITHELY GRACEFUL -wav/knotyouraveragejo-20080524-mtn/wav/mtn0397.wav WHERE THE GROWTH IS NOT TOO CLOSE THE STRONG SPREADING BRANCHES COME MORE THAN HALFWAY DOWN THE TRUNK -wav/knotyouraveragejo-20080524-mtn/wav/mtn0407.wav THE PRIMARY BRANCHES ARE WHORLED REGULARLY AROUND THE AXIS GENERALLY IN FIVES WHILE EACH IS DRAPED WITH LONG FEATHERY SPRAYS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0417.wav AND IS GROWING UPON THE TERMINAL MORAINE OF THE RESIDUAL GLACIER THAT OCCUPIED THE SOUTH FORK CANON -wav/knotyouraveragejo-20080524-mtn/wav/mtn0427.wav GROWING VIGOROUSLY AT THIS ELEVATION ON ALL KINDS OF SOIL AND IN PARTICULAR IT IS CAPABLE OF ENDURING -wav/knotyouraveragejo-20080524-mtn/wav/mtn0437.wav WHICH ASPIRE WHILE THE LOWEST DROOP TO THE GROUND AND ALL SPREAD OUT IN FLAT FERNY PLUMES -wav/knotyouraveragejo-20080524-mtn/wav/mtn0447.wav THEN IT IS LADEN WITH MYRIADS OF FOUR SIDED STAMINATE CONES ABOUT THE SIZE OF WHEAT GRAINS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0457.wav HOPEFUL SHOOT THE LEAVES ARE IN TWO HORIZONTAL ROWS ALONG BRANCHLETS THAT COMMONLY ARE LESS THAN EIGHT YEARS OLD -wav/knotyouraveragejo-20080524-mtn/wav/mtn0467.wav ABIES MAGNIFICA THIS IS THE MOST CHARMINGLY SYMMETRICAL OF ALL THE GIANTS OF THE SIERRA WOODS -wav/knotyouraveragejo-20080524-mtn/wav/mtn0477.wav A DIAMETER OF A LITTLE MORE THAN FIVE FEET -wav/knotyouraveragejo-20080524-mtn/wav/mtn0487.wav AND STREAKED WITH CRYSTAL BALSAM THAT SEEMS TO HAVE BEEN POURED UPON EACH CONE FROM ABOVE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0497.wav OVERLAPPING ALONG THE MIDDLE AND A CRESCENT OF SMALLER PLUMES MIXED WITH FERNS AND FLOWERS FOR A PILLOW FORM -wav/knotyouraveragejo-20080524-mtn/wav/mtn0507.wav WHICH ENRICHES THE DEEP BROODING CALM OF THE WILDERNESS AND GIVES A PECULIAR IMPRESSIVENESS TO EVERY TREE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0517.wav COLUMBINE GROWS ON THE DRIER MARGINS WITH TALL LARKSPURS AND LUPINES WAIST DEEP IN GRASSES AND SEDGES -wav/knotyouraveragejo-20080524-mtn/wav/mtn0527.wav THE TALL LILIES ARE BROUGHT FORWARD IN ALL THEIR GLORY BY THE LIGHT OF YOUR BLAZING CAMP FIRE -wav/knotyouraveragejo-20080524-mtn/wav/mtn0537.wav THE FLOWERS OPEN AND STRAIGHTEN THEIR PETALS AS THE DEW VANISHES EVERY PULSE BEATS HIGH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0008.wav THE NORTHERN LIMIT BEING NEAR THE THIRTY NINTH PARALLEL THE SOUTHERN A LITTLE BELOW THE THIRTY SIXTH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0018.wav THERE IS A MAJESTIC FOREST OF SEQUOIA ABOUT SIX MILES LONG BY TWO WIDE -wav/knotyouraveragejo-20080525-mt2/wav/mtn0028.wav THE EXTREME UPPER LIMIT OF THE BELT IS REACHED BETWEEN THE MIDDLE AND SOUTH FORKS OF THE KAWEAH AT -wav/knotyouraveragejo-20080525-mt2/wav/mtn0038.wav SPECIMENS TWENTY FIVE FEET IN DIAMETER ARE NOT VERY RARE AND A FEW ARE NEARLY THREE HUNDRED FEET HIGH IN -wav/knotyouraveragejo-20080525-mt2/wav/mtn0048.wav THAT AFFLICT AND KILL OTHER TREES UNLESS DESTROYED BY MAN THEY LIVE ON INDEFINITELY UNTIL BURNED -wav/knotyouraveragejo-20080525-mt2/wav/mtn0058.wav CLEARING AWAY THE CHARRED SURFACE WITH AN AX AND CAREFULLY COUNTING THE ANNUAL RINGS WITH THE AID OF A POCKET LENS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0068.wav OH SEE WHAT BEAUTIFUL NOBLE LOOKING TREES ARE TOWERING THERE AMONG THE FIRS AND PINES -wav/knotyouraveragejo-20080525-mt2/wav/mtn0078.wav AND TEN FEET IN DIAMETER TWO HUNDRED FEET ABOVE THE GROUND -wav/knotyouraveragejo-20080525-mt2/wav/mtn0088.wav THE YOUNG TREES HAVE SLENDER SIMPLE BRANCHES DOWN TO THE GROUND PUT ON WITH STRICT REGULARITY -wav/knotyouraveragejo-20080525-mt2/wav/mtn0098.wav BUT AS SOON AS THE GENERAL OUTLINE IS REACHED IT STOPS SHORT -wav/knotyouraveragejo-20080525-mt2/wav/mtn0108.wav AND YOU WILL SAY THEY ARE THE MOST BEAUTIFUL AND MAJESTIC ON EARTH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0119.wav A SINGLE CONE THEREFORE CONTAINS FROM TWO TO THREE HUNDRED SEEDS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0129.wav THROUGH THE MANY VICISSITUDES OF STORM DROUGHT FIRE AND SNOW CRUSHING THAT BESET THEIR YOUTH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0139.wav DWELLS IN THESE NOBLE WOODS AND MAY OFTENTIMES BE SEEN GLANCING AMONG THE FLOWERS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0149.wav EACH SPEEDILY ASSUMING THE SPECIAL FORM OF TRUE SUMMITS EVEN IN THE CASE OF MERE STUMPS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0159.wav FOR EVEN SUPPOSING THAT THE TREES SHOULD STAND TWENTY OR THIRTY FEET APART WHILE YOUNG -wav/knotyouraveragejo-20080525-mt2/wav/mtn0169.wav AS SEQUOIA A MILE IS PERHAPS THE GREATEST DISTANCE OF ANY STRAGGLER FROM THE MAIN BODY -wav/knotyouraveragejo-20080525-mt2/wav/mtn0179.wav AS DETERMINED BY CUTTING IT HALF THROUGH AND COUNTING THE RINGS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0189.wav AND THIS INSTANCE IS BY NO MEANS A RARE ONE BUT -wav/knotyouraveragejo-20080525-mt2/wav/mtn0199.wav NOW THESE HISTORIC DITCHES AND ROOT BOWLS OCCUR IN ALL THE PRESENT SEQUOIA GROVES AND FORESTS -wav/knotyouraveragejo-20080525-mt2/wav/mtn0209.wav AND IN AS MUCH AS THOSE AGED SEQUOIAS SO NEARLY CHILDLESS ARE -wav/knotyouraveragejo-20080525-mt2/wav/mtn0219.wav AND FOR EACH OF THESE MANY YOUNG TREES AND CROWDS OF EXUBERANT SAPLINGS SO THAT -wav/knotyouraveragejo-20080525-mt2/wav/mtn0229.wav AND WETTER SOIL THAN ITS RIVALS BUT REQUIRES MORE SUNSHINE THAN THEY THE LATTER FACT BEING CLEARLY SHOWN -wav/knotyouraveragejo-20080525-mt2/wav/mtn0239.wav PREPARED FOR THEIR RECEPTION BY FIRE THUS FIRE THE GREAT DESTROYER OF SEQUOIA -wav/knotyouraveragejo-20080525-mt2/wav/mtn0249.wav AND THAT THE INCREASING DROUGHT WILL OF ITSELF EXTINGUISH SEQUOIA LEAVING ITS GROUND TO OTHER TREES -wav/knotyouraveragejo-20080525-mt2/wav/mtn0259.wav AND PERENNIAL STREAMS AND I CONFESS THAT AT FIRST I SHARED IN THE BLUNDER -wav/knotyouraveragejo-20080525-mt2/wav/mtn0269.wav SO GREAT IS THE RETENTION OF WATER IN MANY PLACES IN THE MAIN BELT -wav/knotyouraveragejo-20080525-mt2/wav/mtn0279.wav THEY CONTAIN RECORDS OF THE GENERATIONS THAT HAVE PASSED SINCE THEY BEGAN TO FORM -wav/knotyouraveragejo-20080525-mt2/wav/mtn0289.wav IN THE VOLUME OF THE UPPER TRIBUTARIES OF POST GLACIAL SIERRA STREAMS SINCE THEY CAME INTO EXISTENCE -wav/knotyouraveragejo-20080525-mt2/wav/mtn0299.wav HAS NOT BEEN GOVERNED BY SUPERIOR CONDITIONS OF SOIL AS TO FERTILITY OR MOISTURE BY WHAT HAS IT BEEN GOVERNED -wav/knotyouraveragejo-20080525-mt2/wav/mtn0309.wav AND KING'S RIVER BASINS WHICH POURED ITS FROZEN FLOODS TO THE PLAIN -wav/knotyouraveragejo-20080525-mt2/wav/mtn0319.wav TAKING NOW A GENERAL VIEW OF THE BELT BEGINNING AT THE SOUTH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0329.wav THE GLACIERS WERE NOT THERE THE SEQUOIA IS AND JUST WHERE THE GLACIERS WERE -wav/knotyouraveragejo-20080525-mt2/wav/mtn0339.wav WHILE THE SUGAR PINE TOOK POSSESSION OF THE NORTH HALF PRIOR TO THE ARRIVAL OF SEQUOIA -wav/knotyouraveragejo-20080525-mt2/wav/mtn0349.wav IF INDEED THEY HAVE REACHED PRIME THAT THE POST GLACIAL DAY OF THE SPECIES IS PROBABLY NOT HALF DONE -wav/knotyouraveragejo-20080525-mt2/wav/mtn0359.wav TO MULTIPLY AND REEXTEND BOTH SPECIES AND INDIVIDUALS THIS HOWEVER IS A BRANCH OF THE QUESTION INTO WHICH -wav/knotyouraveragejo-20080525-mt2/wav/mtn0369.wav ALL OF WHICH WERE CUTTING CONSIDERABLE QUANTITIES OF BIG TREE LUMBER MOST OF THE FRESNO GROUP -wav/knotyouraveragejo-20080525-mt2/wav/mtn0379.wav THE SHRUBS ARE STRIPPED OF LEAVES AS IF DEVOURED BY LOCUSTS AND THE WOODS ARE BURNED -wav/knotyouraveragejo-20080525-mt2/wav/mtn0389.wav UNLESS PROTECTIVE MEASURES BE SPEEDILY INVENTED AND APPLIED IN A FEW DECADES AT THE FARTHEST -wav/koopero-20090127-flx/wav/a0180.wav IF NOT LET'S SAY OUR PRAYERS AND GO TO BED -wav/koopero-20091113-qke/wav/a0234.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/kpeysin-20090212-syj/wav/a0563.wav MRS MCFEE'S JAWS BROUGHT TOGETHER WITH A SNAP -wav/Krellis-20090608-fyo/wav/b0391.wav AT SEA TUESDAY MARCH SEVENTEENTH NINETEEN OH EIGHT -wav/Krellis-20090608-jue/wav/a0368.wav I JUST DO APPRECIATE IT WITHOUT BEING ABLE TO EXPRESS MY FEELINGS -wav/Krellis-20090608-kpj/wav/a0331.wav POOR LITTLE CROOKED-LEG WAS TERRIBLY SCARED -wav/Krellis-20090608-sjw/wav/a0486.wav FOR THE REST HE WAS A MERE AUTOMATON -wav/Krellis-20090608-wuu/wav/a0401.wav THE MAN SMILED GRIMLY AND BROUGHT A HATCHET AND A CLUB -wav/Krellis-20090609-ave/wav/a0262.wav THEY WOULDN'T BE SWEEPING A BIG VESSEL LIKE THE MARTHA -wav/Krellis-20090609-nha/wav/a0287.wav KEEP AN EYE ON HIM -wav/Krellis-20090609-wfz/wav/a0257.wav THEY ARE COMING ASHORE WHOEVER THEY ARE -wav/Krishna-20090503-mny/wav/a0534.wav BUT JOHANNES COULD AND DID -wav/Kristina-20100117-tgp/wav/b0438.wav THEY RAN THE CANOE IN AND CLIMBED THE HIGH EARTH BANK -wav/kurianthayil-20090102-sji/wav/b0083.wav IN IT THERE WAS SOMETHING THAT WAS ALMOST TRAGEDY -wav/Kyton-20081201-bay/wav/b0511.wav DO YOU VALUE YOUR HIDE -wav/Kyton-20081201-gzs/wav/b0096.wav WITHIN HIMSELF HE CALLED IT NO LONGER HIS OWN -wav/Kyton-20081201-isv/wav/b0309.wav NOR WAS ELAM HARNISH AN EXCEPTION -wav/Kyton-20081201-jmv/wav/a0468.wav IN THE MATTER OF CURRY SHE IS A SHEER GENIUS -wav/Kyton-20081201-sge/wav/b0314.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/Kyton-20081201-srl/wav/a0231.wav THE RESIDENT COMMISSIONER IS AWAY IN AUSTRALIA -wav/Kyton-20081201-tvr/wav/b0011.wav HIS EYES NEVER TOOK THEMSELVES FOR AN INSTANT FROM HIS COMPANION'S FACE -wav/Kyton-20081201-uan/wav/a0186.wav LIKE A FLASH HE LAUNCHED HIMSELF INTO THE FEATHERED MASS OF THE OWL -wav/Kyton-20081201-vtl/wav/a0412.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/L1ttl3J1m-20090701-fhz/wav/a0192.wav HE DID NOT RUSH IN -wav/L1ttl3J1m-20090701-hij/wav/a0327.wav THEY WERE LESS STOOPED THAN WE LESS SPRINGY IN THEIR MOVEMENTS -wav/L1ttl3J1m-20090701-yfs/wav/b0233.wav SO SHE SAID THE IRATE SKIPPER DASHED ON -wav/lance_-20080402-nhk/wav/a0417.wav IT IS ALSO AN INSIDIOUS DECEITFUL SUN -wav/laserbeams-20081202-dcx/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/laserbeams-20081202-hgu/wav/a0252.wav O'BRIEN HAD BEEN A CLEAN LIVING YOUNG MAN WITH IDEALS -wav/laserbeams-20081202-knp/wav/b0385.wav LAST NIGHT HE SHOWED ALL THE SYMPTOMS OF COMING DOWN WITH PNEUMONIA -wav/laserbeams-20081202-lvo/wav/b0238.wav THE VERY THOUGHT OF THE EFFORT TO SWIM OVER WAS NAUSEATING -wav/laserbeams-20081202-sun/wav/a0409.wav HE COULD FEEL A NEW STIR IN THE LAND -wav/laserbeams-20081202-yih/wav/b0218.wav THE ISSUE WAS NOT IN DOUBT -wav/laserbeams-20081202-yya/wav/b0237.wav THEY JUST LAY OFF IN THE BUSH AND PLUGGED AWAY -wav/latrokles-20091209-qfa/wav/a0256.wav SEE THE LENGTH OF THE BODY AND THAT ELONGATED NECK -wav/latrokles-20091209-tjh/wav/a0558.wav AND THE FOUNDATION STONE OF SERVICE IN HIS CASE WAS OBEDIENCE -wav/leonMire-20080526-lev/wav/lev0008.wav REGULAR ARE THOSE WHERE ONE MAN OR ASSEMBLY OF MEN IS CONSTITUTED REPRESENTATIVE OF THE WHOLE NUMBER -wav/leonMire-20080526-lev/wav/lev0018.wav LAWFUL ARE THOSE WHICH ARE ALLOWED BY THE COMMON WEALTH ALL OTHER ARE UNLAWFUL -wav/leonMire-20080526-lev/wav/lev0028.wav AND TO GIVE LEAVE TO A BODY POLITIC OF SUBJECTS TO HAVE AN ABSOLUTE REPRESENTATIVE -wav/leonMire-20080526-lev/wav/lev0038.wav BECAUSE THE POWER OF THE REPRESENTATIVE HAS THERE NO OTHER BOUNDS BUT SUCH AS ARE SET OUT BY THE UNWRITTEN LAW OF NATURE -wav/leonMire-20080526-lev/wav/lev0048.wav IS HIS OWN ACT AND NOT THE ACT OF THE BODY -wav/leonMire-20080526-lev/wav/lev0058.wav NOR OF ANY MAN ABSENT UNLESS HE VOTED IT BY PROCURATION -wav/leonMire-20080526-lev/wav/lev0068.wav THE DEBT IS THE REPRESENTATIVES FOR IF HE SHOULD HAVE AUTHORITY FROM HIS LETTERS -wav/leonMire-20080526-lev/wav/lev0078.wav OR IF THERE BE NONE OUT OF HIS OWN ESTATE -wav/leonMire-20080526-lev/wav/lev0088.wav HE VOTES IT SHALL BE PAID IF HE VOTE IT SHALL NOT BE BORROWED -wav/leonMire-20080526-lev/wav/lev0098.wav OR TO TAKE WITNESS OF IT BECAUSE OTHERWISE THEY MAY BE OBLIGED TO PAY DEBTS CONTRACTED -wav/leonMire-20080526-lev/wav/lev0108.wav WHEREIN ALL RESOLUTIONS SHALL DEPEND ON THE VOTES OF THE MAJOR PART -wav/leonMire-20080526-lev/wav/lev0118.wav AND NOT BY ASSEMBLIES AS THEY GOVERNED THE CITY OF ROME AND TERRITORIES ADJACENT -wav/leonMire-20080526-lev/wav/lev0128.wav BUT HOWSOEVER IT BE IN FACT YET WE MAY SUPPOSE THE GOVERNMENT OF A PROVINCE OR COLONY COMMITTED TO AN ASSEMBLY -wav/leonMire-20080526-lev/wav/lev0138.wav AND THAT WHICH IS SAID HERE OF THE RIGHTS OF AN ASSEMBLY FOR THE GOVERNMENT OF A PROVINCE -wav/leonMire-20080526-lev/wav/lev0148.wav SUCH A ONE AS EVERY ONE THAT ADVENTURETH HIS MONEY MAY BE PRESENT AT ALL THE DELIBERATIONS AND RESOLUTIONS OF THE BODY -wav/leonMire-20080526-lev/wav/lev0158.wav THE END OF THEIR INCORPORATING IS TO MAKE THEIR GAIN THE GREATER WHICH IS DONE TWO WAYS -wav/leonMire-20080526-lev/wav/lev0168.wav OF THIS DOUBLE MONOPOLY ONE PART IS DISADVANTAGEOUS TO THE PEOPLE AT HOME THE OTHER TO FOREIGNERS -wav/leonMire-20080526-lev/wav/lev0178.wav WHICH HAVE IN THIS CASE NO COMMON STOCK BUT WHAT IS DEDUCTED OUT OF THE PARTICULAR ADVENTURES -wav/leonMire-20080526-lev/wav/lev0188.wav THE CREDITOR IS DEBTER FOR THE WHOLE TO HIMSELF -wav/leonMire-20080526-lev/wav/lev0198.wav BUT ONLY BY AUTHORITY OF THE COMMON WEALTH FOR IF THEY CAN DOE IT BY THEIR OWN AUTHORITY -wav/leonMire-20080526-lev/wav/lev0208.wav OR FOR ANY OTHER CAUSE AS WITH ONE PERSON REPRESENTING THE WHOLE COUNTRY -wav/leonMire-20080526-lev/wav/lev0218.wav AND FOR THE LIMITS OF HOW FAR SUCH A BODY SHALL REPRESENT THE WHOLE PEOPLE -wav/leonMire-20080526-lev/wav/lev0228.wav ABSOLUTE SOVEREIGNS IN THEIR OWN FAMILIES THEY LOSE AFTERWARD NO MORE OF THEIR AUTHORITY THAN THE LAW OF THE COMMON WEALTH TAKETH FROM THEM -wav/leonMire-20080526-lev/wav/lev0238.wav ARE IN A COMMON WEALTH WHICH IS NO MORE THAN A LEAGUE OF ALL THE SUBJECTS TOGETHER -wav/leonMire-20080526-lev/wav/lev0248.wav AND IN CASE THE DESIGN OF THEM BE EVIL OR UNKNOWN TO THE COMMON WEALTH -wav/leonMire-20080526-lev/wav/lev0258.wav AND EVERY MAN MAY THINK HIS OWN CAUSE JUST TILL IT BE HEARD AND JUDGED -wav/leonMire-20080526-lev/wav/lev0268.wav AS BEING CONTRARY TO THE PEACE AND SAFETY OF THE PEOPLE -wav/leonMire-20080526-lev/wav/lev0278.wav IT IS NOT A SET NUMBER THAT MAKES THE ASSEMBLY UNLAWFUL -wav/leonMire-20080526-lev/wav/lev0288.wav AND THE MAGISTRATE REPREHENDED THEM FOR IT IN THESE WORDS QUOTE -wav/leonMire-20080526-lev/wav/lev0298.wav ENGENDERED BY THE UNNATURAL CONFLUX OF EVIL HUMOURS END OF CHAPTER TWENTY TWO -wav/letsdothis-20080428-tfe/wav/rb-05.wav DEVICES WITH A TOUCH SCREEN INTERFACE OFTEN USE AN ON-SCREEN KEYBOARD OR HANDWRITING -wav/Lexen-20071106-mrd/wav/b0294.wav FOR A MUCH LONGER TIME LOP-EAR AND I REMAINED AND WATCHED -wav/librivoxMP3-20070530-MOB/wav/mob0010.wav IT IS A WAY I HAVE OF DRIVING OFF THE SPLEEN AND REGULATING THE CIRCULATION -wav/librivoxMP3-20070530-MOB/wav/mob0020.wav THERE IS NOTHING SURPRISING IN THIS IF THEY BUT KNEW IT -wav/librivoxMP3-20070530-MOB/wav/mob0030.wav WHAT DO YOU SEE -wav/librivoxMP3-20070530-MOB/wav/mob0040.wav NOTHING WILL CONTENT THEM BUT THE EXTREMEST LIMIT OF THE LAND -wav/librivoxMP3-20070530-MOB/wav/mob0050.wav THERE IS MAGIC IN IT -wav/librivoxMP3-20070530-MOB/wav/mob0060.wav MOST ENCHANTING BIT OF ROMANTIC LANDSCAPE IN ALL THE VALLEY OF THE SACO -wav/librivoxMP3-20070530-MOB/wav/mob0070.wav GO VISIT THE PRAIRIES IN JUNE -wav/librivoxMP3-20070530-MOB/wav/mob0080.wav WHY IS ALMOST EVERY ROBUST HEALTHY BOY WITH A ROBUST HEALTHY SOUL IN HIM -wav/librivoxMP3-20070530-MOB/wav/mob0090.wav TORMENTING MILD IMAGE HE SAW IN THE FOUNTAIN -wav/librivoxMP3-20070530-MOB/wav/mob0100.wav DO NOT ENJOY THEMSELVES MUCH AS A GENERAL THING -wav/librivoxMP3-20070530-MOB/wav/mob0110.wav THERE IS NO ONE WHO WILL SPEAK MORE RESPECTFULLY NOT TO SAY REVERENTIALLY OF A BROILED FOWL THAN I WILL -wav/librivoxMP3-20070530-MOB/wav/mob0120.wav MAKING THE TALLEST BOYS STAND IN AWE OF YOU -wav/librivoxMP3-20070530-MOB/wav/mob0130.wav I HAVE THE SATISFACTION OF KNOWING THAT IT IS ALL RIGHT -wav/librivoxMP3-20070530-MOB/wav/mob0140.wav BUT BEING PAID WHAT WILL COMPARE WITH IT -wav/librivoxMP3-20070530-MOB/wav/mob0150.wav IN MUCH THE SAME WAY DO THE COMMONALTY LEAD THEIR LEADERS IN MANY OTHER THINGS -wav/librivoxMP3-20070530-MOB/wav/mob0160.wav I TAKE IT THAT THIS PART OF THE BILL MUST HAVE RUN SOMETHING LIKE THIS -wav/librivoxMP3-20070530-MOB/wav/mob0170.wav BEING CUNNINGLY PRESENTED TO ME UNDER VARIOUS DISGUISES -wav/librivoxMP3-20070530-MOB/wav/mob0180.wav BUT AS FOR ME I AM TORMENTED WITH AN EVERLASTING ITCH FOR THINGS REMOTE -wav/librivoxMP3-20070530-MOB/wav/mob0190.wav CHAPTER TWO THE CARPET BAG -wav/librivoxMP3-20070530-MOB/wav/mob0200.wav AND THOUGH IN THIS MATTER POOR OLD NANTUCKET IS NOW MUCH BEHIND HER -wav/librivoxMP3-20070530-MOB/wav/mob0210.wav IT BECAME A MATTER OF CONCERNMENT WHERE I WAS TO EAT AND SLEEP MEANWHILE -wav/librivoxMP3-20070530-MOB/wav/mob0220.wav BUT IT LOOKED TOO EXPENSIVE AND JOLLY THERE FURTHER ON FROM THE BRIGHT RED WINDOWS OF THE SWORD FISH INN -wav/librivoxMP3-20070530-MOB/wav/mob0230.wav FOR THERE DOUBTLESS WERE THE CHEAPEST IF NOT THE CHEERIEST INNS -wav/librivoxMP3-20070530-MOB/wav/mob0240.wav ARE THESE ASHES FROM THAT DESTROYED CITY GOMORRAH -wav/librivoxMP3-20070530-MOB/wav/mob0250.wav HA ISHMAEL MUTTERED I BACKING OUT -wav/librivoxMP3-20070530-MOB/wav/mob0260.wav AND AS THE SWINGING SIGN HAD A POVERTY STRICKEN SORT OF CREAK TO IT -wav/librivoxMP3-20070530-MOB/wav/mob0270.wav IT MAKETH A MARVELLOUS DIFFERENCE WHETHER THOU LOOKEST OUT AT IT FROM A GLASS WINDOW WHERE THE FROST IS ALL ON THE OUTSIDE -wav/librivoxMP3-20070530-MOB/wav/mob0280.wav THE UNIVERSE IS FINISHED THE COPESTONE IS ON -wav/librivoxMP3-20070530-MOB/wav/mob0290.wav GIVE ME THE PRIVILEGE OF MAKING MY OWN SUMMER WITH MY OWN COALS -wav/librivoxMP3-20070530-MOB/wav/mob0300.wav HE ONLY DRINKS THE TEPID TEARS OF ORPHANS -wav/life4himsq-20080807-vvt/wav/a0201.wav HE CRIED AND SWUNG THE CLUB WILDLY -wav/life4himsq-20080807-xne/wav/a0212.wav FRESH CASES STILL ABLE TO WALK THEY CLUSTERED ABOUT THE SPOKESMAN -wav/lindacrisan-20091116-cgx/wav/a0584.wav I HAVE LONG NOTED YOUR THIRST UNQUENCHABLE -wav/lindavg-20081007-adc/wav/b0132.wav THERE IS NO NEED OF FURTHER DETAIL NOW FOR YOU CAN UNDERSTAND -wav/lindavg-20081007-ahj/wav/b0335.wav WHOEVER LIVED ON THE RANCH DID THAT -wav/lindavg-20081007-cqp/wav/rb-25.wav WHERE ALL THESE COMMANDS MIGHT LEAD TO THE SAME RESULT ON THAT POWERFUL PC -wav/lindavg-20081007-eym/wav/a0393.wav ALREADY HE HAD BEGUN BORROWING FROM THE BANKS -wav/lindavg-20081007-fap/wav/b0531.wav I AM SURE IT MUST HAVE BEEN SOME ADVENTURE -wav/lindavg-20081007-heh/wav/b0343.wav BUT HOW ARE YOU GOING TO DO IT -wav/lindavg-20081007-jyk/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/lindavg-20081007-lxd/wav/a0311.wav THEREFORE HURRAH FOR THE GAME -wav/lindavg-20081007-ocy/wav/b0523.wav THE RUSSIAN MUSIC PLAYER THE COUNT WAS HER OBEDIENT SLAVE -wav/lindavg-20081007-ovc/wav/b0450.wav TO MY DEAREST AND ALWAYS APPRECIATED FRIEND I SUBMIT MYSELF -wav/lindavg-20081007-oyi/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/lindavg-20081007-snd/wav/rb-14.wav A MAJOR STUMBLING BLOCK IS THE STILL LIMITED COMPUTING POWER OF THESE PHONES -wav/lindavg-20081007-trz/wav/a0265.wav THE DISCOVERY SEEMED TO HAVE BEEN MADE ON THE SPUR OF THE MOMENT -wav/lindavg-20081007-wxe/wav/a0115.wav HE HAD NO EXCUSE FOR THE FEELINGS WHICH WERE AROUSED IN HIM -wav/lindavg-20081007-wyi/wav/a0502.wav ANYTHING UNUSUAL OR ABNORMAL WAS SUFFICIENT TO SEND A FELLOW TO MOLOKAI -wav/linforcer-20080504-plx/wav/b0443.wav I DID NOT THINK YOU WOULD BE SO EARLY -wav/LMA-20091008-uhh/wav/b0182.wav I WAS IN NEW YORK CRASH CAME -wav/locked-20080927-cc/wav/cc-15.wav SARAH WAS SENTIMENTAL SO THIS MADE HER FEEL SORRY FOR THE BEAUTIFUL BIRD -wav/locked-20080927-cc/wav/cc-24.wav HER EFFORTS WERE NOT FUTILE IN NO TIME THE GOOSE BEGAN TO TIRE -wav/locked-20080927-cc/wav/cc-33.wav THOUGHT IT WAS A FAIR PRICE FOR A CURE -wav/locked-20080927-cc/wav/cc-6.wav EVEN SO ON HER FIRST MORNING SHE FELT STRESSED -wav/Lomoco-20081006-xbi/wav/b0134.wav BLIND WITH RAGE HE DARTED IN -wav/loooool-20090910-ktt/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/lostincyberspace-20080708-msq/wav/a0460.wav I HAD FORGOTTEN THEIR EXISTENCE -wav/Luca-20091217-zis/wav/rp-13.wav THE GREEKS USED TO IMAGINE THAT IT WAS A SIGN -wav/LukeSkywalker-20090509-sni/wav/a0059.wav HIS IMMACULATE APPEARANCE WAS GONE -wav/lukespearcouk-20081023-cao/wav/b0454.wav EIGHTEEN HE ADDED -wav/lukespearcouk-20081023-cdl/wav/a0245.wav OUT OF HIS EIGHTEEN HUNDRED HE LAID ASIDE SIXTEEN HUNDRED EACH YEAR -wav/lukespearcouk-20081023-twr/wav/rp-08.wav WHEN A MAN LOOKS FOR SOMETHING BEYOND HIS REACH -wav/LunaTick-20080319-ill/wav/a0412.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/LunaTick-20080319-owg/wav/a0431.wav WADA AND NAKATA WERE IN A BIT OF A FUNK -wav/LunaTick-20080319-oyi/wav/a0548.wav ALSO CHURCHES AND PREACHERS I HAD NEVER KNOWN -wav/LunaTick-20080321-ass/wav/rb-34.wav COMMANDS LIKE GO TO THE FOLDER WITH MY UNIVERSITY DOCUMENTS -wav/LunaTick-20080326-cc/wav/cc-16.wav BEFORE LONG THAT ITCHY GOOSE BEGAN TO STRUT AROUND THE OFFICE LIKE A LUNATIC -wav/LunaTick-20080326-cc/wav/cc-25.wav SO SARAH WAS ABLE TO HOLD ONTO COMMA AND GIVE HER A RELAXING BATH -wav/LunaTick-20080326-cc/wav/cc-34.wav COMMA GETS A CURE AND DERIVATIVE WORKS MAY BE USED FREELY FOR ANY PURPOSE -wav/LunaTick-20080326-cc/wav/cc-7.wav SHE ATE A BOWL OF PORRIDGE CHECKED HERSELF IN THE MIRROR -wav/LunaTick-20080326-rp/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/LunaTick-20080326-rp/wav/rp-26.wav SUPER-IMPOSITION OF A NUMBER OF BOWS -wav/LunaTick-20080326-rp/wav/rp-6.wav THERE IS ACCORDING TO LEGEND A BOILING POT OF GOLD AT ONE END -wav/LunaTick-20080329-vf1/wav/vf1-16.wav THERE'S FORT CHURCHILL A RIFLE-SHOT BEYOND THE RIDGE ASLEEP -wav/LunaTick-20080329-vf1/wav/vf1-25.wav I WAS ABOUT TO DO THIS WHEN COOLER JUDGMENT PREVAILED -wav/LunaTick-20080329-vf1/wav/vf1-34.wav MEN OF SELDEN'S STAMP DON'T STOP AT WOMEN AND CHILDREN -wav/LunaTick-20080329-vf1/wav/vf1-6.wav GOD BLESS I HOPE I'LL GO ON SEEING THEM FOREVER -wav/LunaTick-20080329-vf2/wav/vf2-16.wav PEARCE'S LITTLE EYES WERE FIXED ON HIM SHREWDLY -wav/LunaTick-20080329-vf2/wav/vf2-25.wav THEY CLOSED NOW UNTIL HIS FINGERS WERE LIKE CORDS OF STEEL -wav/LunaTick-20080329-vf2/wav/vf2-34.wav AND NOW DOWN THERE EILEEN WAS WAITING FOR HIM -wav/LunaTick-20080329-vf2/wav/vf2-6.wav THE GIRL FACED HIM HER EYES SHINING WITH SUDDEN FEAR -wav/LunaTick-20080402-vf3/wav/vf3-16.wav PERHAPS SHE HAD ALREADY MET HER FATE A LITTLE DEEPER IN THE FOREST -wav/LunaTick-20080402-vf3/wav/vf3-25.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/LunaTick-20080402-vf3/wav/vf3-34.wav HER WORDS SENT A STRANGE CHILL THROUGH PHILIP -wav/LunaTick-20080402-vf3/wav/vf3-6.wav DEATH HAD COME WITH TERRIBLE SUDDENNESS -wav/LunaTick-20080410-vf10/wav/vf10-16.wav YOUR PRICE MY SON IS JUST ABOUT THIRTY PER WEEK -wav/LunaTick-20080410-vf10/wav/vf10-25.wav THAT'S WHAT CARNEGIE DID -wav/LunaTick-20080410-vf10/wav/vf10-34.wav IT'S THE STRAP HANGERS THAT'LL KEEP US FROM GOING UNDER -wav/LunaTick-20080410-vf10/wav/vf10-6.wav A WILDLY EXCITING TIME WAS HIS DURING THE WEEK PRECEDING THURSDAY THE EIGHTEENTH -wav/LunaTick-20080410-vf4/wav/vf4-16.wav ABOUT HIM EVERYWHERE WERE THE EVIDENCES OF LUXURY AND OF AGE -wav/LunaTick-20080410-vf4/wav/vf4-25.wav I HAVE TO BE CAREFUL OF THEM AS THEY TEAR VERY EASILY -wav/LunaTick-20080410-vf4/wav/vf4-34.wav HE WAS SMOOTH-SHAVEN AND HIS HAIR AND EYES WERE BLACK -wav/LunaTick-20080410-vf4/wav/vf4-6.wav EACH DAY SHE BECAME A MORE VITAL PART OF HIM -wav/LunaTick-20080410-vf5/wav/vf5-16.wav FOR THE FIRST TIME IN HIS LIFE HE WAS YEARNING FOR A SCRAP -wav/LunaTick-20080410-vf5/wav/vf5-25.wav THE QUESTIONS MAY HAVE COME VAGUELY IN HIS MIND -wav/LunaTick-20080410-vf5/wav/vf5-34.wav HE DRANK OF THE WATER CAUTIOUSLY -wav/LunaTick-20080410-vf5/wav/vf5-6.wav TWO DAYS AGO JEANNE LEARNED WHERE HER FATHER'S MEN WERE HIDING -wav/LunaTick-20080410-vf6/wav/vf6-16.wav THE OTHER FELT A SUDDEN WAVE OF IRRITATION RUSH THROUGH HIM -wav/LunaTick-20080410-vf6/wav/vf6-25.wav I WAS BROUGHT UP THE WAY MOST GIRLS IN HAWAII ARE BROUGHT UP -wav/LunaTick-20080410-vf6/wav/vf6-34.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/LunaTick-20080410-vf6/wav/vf6-6.wav HE SAYS HE BOUGHT HIM OF JACQUES LE BEAU -wav/LunaTick-20080410-vf7/wav/vf7-16.wav SEE THE LENGTH OF THE BODY AND THAT ELONGATED NECK -wav/LunaTick-20080410-vf7/wav/vf7-25.wav THE DISCOVERY SEEMED TO HAVE BEEN MADE ON THE SPUR OF THE MOMENT -wav/LunaTick-20080410-vf7/wav/vf7-34.wav AND RAOUL LISTENED AGAIN TO THE TALE OF THE HOUSE -wav/LunaTick-20080410-vf7/wav/vf7-6.wav YOU HAVE HEARD ALWAYS HOW HE WAS THE LOVER OF THE PRINCESS NAOMI -wav/LunaTick-20080908-kca/wav/rb-02.wav MOST OF THEM USE EITHER A TOUCH SCREEN INTERFACE OR A MINIATURIZED KEYBOARD FOR USER INPUT -wav/lyndsey-20080305-gyx/wav/b0253.wav THE VERY OPPOSITE IS TRUE THEY ARE DISCOURAGED VAGABONDS -wav/maarten-20090512-vpt/wav/a0481.wav NIMROD REPLIED WITH A SLIGHT MANIFESTATION OF SENSITIVENESS -wav/mahasamoot-20070718-cc/wav/cc-07.wav SHE ATE A BOWL OF PORRIDGE CHECKED HERSELF IN THE MIRROR -wav/mahasamoot-20070718-cc/wav/cc-17.wav WHICH MADE AN UNSANITARY MESS -wav/mahasamoot-20070718-cc/wav/cc-27.wav AND LAID HER ON HER RIGHT SIDE THEN SARAH CONFIRMED THE VET'S DIAGNOSIS -wav/mahasamoot-20070718-cc/wav/cc-37.wav IF REPRODUCED IN PRINT AND IN AUDIO FORMAT IN THE CASE OF A SOUND RECORDING -wav/mahasamoot-20070719-ar/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/mahasamoot-20070719-ar/wav/ar-18.wav THE ROOF MAY NOT COME DOWN YET -wav/mahasamoot-20070719-rp/wav/rp-04.wav THESE TAKE THE SHAPE OF A LONG ROUND ARCH WITH ITS PATH HIGH ABOVE -wav/mahasamoot-20070719-rp/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/mahasamoot-20070719-rp/wav/rp-24.wav AND THE WIDTH OF THE COLORED BAND INCREASES AS THE SIZE OF THE DROPS INCREASES -wav/mahasamoot-20070719-vf19/wav/vf19-03.wav IT TOOK HIM HALF AN HOUR TO REACH THE EDGE OF IT -wav/mahasamoot-20070719-vf19/wav/vf19-13.wav HE WAS A PARIAH A WANDERER WITHOUT A FRIEND OR A HOME -wav/mahasamoot-20070719-vf19/wav/vf19-23.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/mahasamoot-20070719-vf19/wav/vf19-33.wav TO THESE HE GAVE CASTOR OIL -wav/majiq-20090809-imi/wav/b0108.wav IT WAS A MIRACLE AND I OWE YOU MY LIFE -wav/majiq-20090811-iqx/wav/a0459.wav THERE'S TOO MUCH OF THE SCHOOLBOY IN ME -wav/majiq-20090811-kme/wav/a0361.wav BUT HE DID NOT BROACH IT PREFERRING TO MATURE IT CAREFULLY -wav/majiq-20090812-ktk/wav/b0221.wav IT'S A YANKEE JOAN CRIED -wav/majiq-20090813-opo/wav/b0482.wav MANY OTHER SIMILAR DISCONCERTING OMISSIONS WILL BE NOTICED IN THE MANUSCRIPT -wav/Marc-20090509-vxw/wav/b0510.wav HE KNEW WHAT TABOOS HE WAS VIOLATING -wav/marcelpost-20080814-awi/wav/b0507.wav DID I POSSESS TOO MUCH VITALITY -wav/marcelpost-20080814-xts/wav/a0032.wav SINCE THEN SOME MYSTERIOUS FORCE HAS BEEN FIGHTING US AT EVERY STEP -wav/Mariane-20090907-ava/wav/b0167.wav A LITTLE BEFORE DAWN OF THE DAY FOLLOWING THE FIRE RELIEF CAME -wav/Mariane-20090907-awv/wav/b0492.wav THUS HE TURNED THE TENETS AND JARGON OF PSYCHOLOGY BACK ON ME -wav/Mariane-20090907-ben/wav/b0459.wav THEY ARE NOT BIOLOGISTS NOR SOCIOLOGISTS -wav/Mariane-20090907-hsy/wav/b0425.wav THERE WERE ORANGE-GREEN GOLD-GREEN AND A COPPER-GREEN -wav/Mariane-20090907-ifu/wav/a0233.wav I NEVER ALLOW WHAT CAN'T BE CHANGED TO ANNOY ME -wav/Mariane-20090907-jqm/wav/b0527.wav THE VERY IDEA OF IT WAS PREPOSTEROUS -wav/Mariane-20090907-lgp/wav/b0261.wav AND HE DID HURT MY ARM -wav/Mariane-20090907-lho/wav/b0278.wav NOW ANIMALS DO NOT LIKE MOCKERY -wav/Mariane-20090907-ogq/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/Mariane-20090907-uqf/wav/b0407.wav OF COURSE MUCH GRUMBLING WENT ON AND LITTLE OUTBURSTS WERE CONTINUALLY OCCURRING -wav/Mariane-20090908-dtb/wav/b0049.wav THERE WAS NOTHING MORE EXCEPT A LARGE INK BLOT UNDER THE WORDS -wav/Mariane-20090908-gaq/wav/a0130.wav SHE WAS HIS NOW FOREVER -wav/Mariane-20090908-sxp/wav/b0170.wav THEN HE SHOUTED SHUT UP -wav/Mariane-20090910-cyd/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/Mariane-20090910-pfb/wav/b0498.wav I REMEMBERED THE RED WINE OF THE ITALIAN RANCHO AND SHUDDERED INWARDLY -wav/mariodsantana-20090427-puq/wav/b0094.wav AND YET IF SHE CAME HE HAD NO WORDS TO SAY -wav/mariodsantana-20090427-tpl/wav/b0159.wav HIS TEETH SHUT WITH A LAST CLICK -wav/markowe-20081210-qjt/wav/a0134.wav THE PRESSURE OF HER HAND -wav/markowe-20081210-riz/wav/b0110.wav SUCH MEN BELIEVE WHEN THEY COME TOGETHER -wav/markowe-20081210-ynp/wav/a0088.wav SURE THAT THE MAGAZINE WAS LOADED AND RESUMED HIS PADDLING -wav/Mark_Reynolds-20070531-cc/wav/cc-03.wav SO SHE WAS VERY HAPPY TO START A NEW JOB AT A SUPERB PRIVATE PRACTICE -wav/Mark_Reynolds-20070531-cc/wav/cc-13.wav OF FOOT AND MOUTH DISEASE WHICH WAS SURPRISING -wav/Mark_Reynolds-20070531-cc/wav/cc-23.wav THEN SINGING A TUNE TO HER FINALLY SHE ADMINISTERED ETHER -wav/Mark_Reynolds-20070531-cc/wav/cc-33.wav THOUGHT IT WAS A FAIR PRICE FOR A CURE -wav/matt-20071229-zwz/wav/a0180.wav IF NOT LET'S SAY OUR PRAYERS AND GO TO BED -wav/matt-20080101-ksu/wav/b0068.wav ONLY THE CHANCE SOUND HAD LED HIM TO OBSERVE THEM -wav/Matteo-20081117-dpq/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/Matteo-20081117-zev/wav/b0345.wav DAYLIGHT MADE NO ANSWER AND THE DOOR CLOSED BEHIND HIM -wav/MattGorle-20091120-iaj/wav/a0247.wav THEY OUGHT TO PASS HERE SOME TIME TODAY -wav/MattGorle-20091120-jjg/wav/b0525.wav NEW IDEA HE VOLUNTEERED BRAND NEW IDEA -wav/MC-20090127-kuj/wav/a0281.wav I DO NOT BLAME YOU FOR ANYTHING REMEMBER THAT -wav/mcmurray02-20090312-avd/wav/b0016.wav HE CHUCKLED AS HE PULLED OUT HIS PIPE AND BEGAN FILLING IT -wav/mcmurray02-20090312-dth/wav/a0212.wav FRESH CASES STILL ABLE TO WALK THEY CLUSTERED ABOUT THE SPOKESMAN -wav/mcmurray02-20090312-gdv/wav/a0299.wav I TELL YOU I AM DISGUSTED WITH THIS ADVENTURE TOMFOOLERY AND ROT -wav/mcmurray02-20090312-joh/wav/b0293.wav BETWEEN HIM AND ALL DOMESTIC ANIMALS THERE MUST BE NO HOSTILITIES -wav/mcmurray02-20090312-jyx/wav/a0352.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/mcmurray02-20090312-lje/wav/b0183.wav NO I DID NOT FALL AMONG THIEVES -wav/mcmurray02-20090312-lqy/wav/a0186.wav LIKE A FLASH HE LAUNCHED HIMSELF INTO THE FEATHERED MASS OF THE OWL -wav/mcmurray02-20090312-oxw/wav/b0484.wav THIS THE IRON HEEL FORESAW AND LAID ITS SCHEMES ACCORDINGLY -wav/mcmurray02-20090312-pza/wav/a0010.wav I'M PLAYING A SINGLE HAND IN WHAT LOOKS LIKE A LOSING GAME -wav/mcmurray02-20090312-rsr/wav/a0166.wav TWO DAYS AGO JEANNE LEARNED WHERE HER FATHER'S MEN WERE HIDING -wav/mcmurray02-20090312-sie/wav/b0280.wav AGAIN THE GIRLS APPLAUDED AND MRS HALL CRIED -wav/mcmurray02-20090312-sox/wav/a0439.wav AT SEA WEDNESDAY MARCH EIGHTEENTH NINETEEN OH EIGHT -wav/mcmurray02-20090312-zke/wav/b0363.wav SHE WAS BUILT PRIMARILY TO SAIL -wav/mdm-20080822-dfo/wav/b0501.wav AND WHEREVER I RANGED THE WAY LAY ALONG ALCOHOL-DRENCHED ROADS -wav/mdm-20080822-gdd/wav/rb-15.wav ONE WAY TO DEAL WITH THIS IS TO USE ONLY A LIMITED NUMBER OF AVAILABLE COMMANDS -wav/Melissa-20081211-apn/wav/b0296.wav AT TIMES I WONDERED WHERE SIR ARCHIBALD GOT HIS STYLE -wav/Melissa-20081211-ehn/wav/b0376.wav THOUGHT I AND A WORTHY FOOL HE PROVED -wav/Melissa-20081211-mov/wav/b0309.wav NOR WAS ELAM HARNISH AN EXCEPTION -wav/Melissa-20081211-qhg/wav/b0526.wav THIRTY POUNDS SAID THE CAPTAIN WITH FINALITY -wav/mgfletcher-20080126-fpb/wav/b0448.wav SANDEL WOULD NEVER BECOME A WORLD CHAMPION -wav/mgmiller-20080319-fma/wav/a0094.wav HE HAD BARELY ENTERED THIS WHEN HE SAW THE GLOW OF A FIRE -wav/mgmiller-20080319-hvm/wav/b0342.wav EACH IMPROVEMENT MAKES THE VALUE OF EVERYTHING ELSE PUMP UP -wav/mgmiller-20080319-irt/wav/ar-06.wav YOU HAVE NO MORE MIND THAN A BLADE OF GRASS -wav/mgmiller-20080319-nea/wav/a0473.wav THE NIGHT WAS CALM AND SNOWY -wav/mgmiller-20080319-neg/wav/a0269.wav THAT'S WHERE THEY CUT OFF THE SCOTTISH CHIEFS AND KILLED ALL HANDS -wav/mgmiller-20080319-ofi/wav/a0160.wav YOU WANT TO GO OVER AND SEE HIS GANG THROW DIRT -wav/mgmiller-20080319-ows/wav/b0159.wav HIS TEETH SHUT WITH A LAST CLICK -wav/mgmiller-20080319-srh/wav/a0066.wav HE SAW JEANNE FALTER FOR A MOMENT -wav/mgmiller-20080319-toq/wav/a0297.wav THERE'S A BIG ENGLISH GENERAL RIGHT NOW WHOSE NAME IS ROBERTS -wav/mgmiller-20080319-vtf/wav/a0271.wav NOW PLEASE GIVE A PLAIN STATEMENT OF WHAT OCCURRED -wav/mgmiller-20080319-ygd/wav/a0054.wav THERE WAS NOTHING ON THE ROCK -wav/mgmiller-20080319-yxe/wav/ar-12.wav WITHIN FIVE HOURS THE TEN SCOUTS CAME BACK AND SAID -wav/MichaelEndres-20080204-nzi/wav/b0375.wav MAN COULD NOT CONQUER THEM -wav/Mike-20081006-bym/wav/b0497.wav ONE GREAT DRAWBACK TO FARMING IN CALIFORNIA IS OUR LONG DRY SUMMER -wav/Mike-20081010-gmj/wav/a0005.wav WILL WE EVER FORGET IT -wav/Mike-20081010-igv/wav/b0317.wav HE DID NOT BELIEVE IN THE BURNING OF DAYLIGHT FOR SUCH A LUXURY -wav/mike-20091218-cbk/wav/b0505.wav HOW VALIANTLY I WENT AT IT THAT FIRST DAY -wav/Mindseye-20071101-csn/wav/b0388.wav I MADE NO MORE OVERTURES -wav/MJ-20090720-ygi/wav/b0116.wav I HAVE HUNTED ALONG THIS RIDGE REPLIED PHILIP -wav/mjmm-20080526-hca/wav/b0078.wav THERE WAS PRIDE AND STRENGTH THE RING OF TRIUMPH IN HIS VOICE -wav/mm-20081105-zme/wav/b0409.wav THE DIRK MENTIONED BY WOLF LARSEN RESTED IN ITS SHEATH ON MY HIP -wav/mojomove411-20071007/wav/sow0005.wav LABOR WIDE AS THE EARTH HAS ITS SUMMIT IN HEAVEN -wav/mojomove411-20071007/wav/sow0015.wav IN GOD'S ETERNITY SURVIVING THERE THEY ALONE SURVIVING -wav/mojomove411-20071007/wav/sow0025.wav THIS RECORDING IS IN THE PUBLIC DOMAIN -wav/mojomove411-20071007-poe/wav/as0010.wav LONG AFTERWARD IN AN OAK I FOUND THE ARROW STILL UNBROKE -wav/mojomove411-20071014/wav/tth0007.wav NOT DULLED THEM ABOVE ALL WAS THE SENSE OF HEARING ACUTE -wav/mojomove411-20071014/wav/tth0017.wav HE HAD THE EYE OF A VULTURE -wav/mojomove411-20071015-peo/wav/bps0004.wav I HEARD WITH NOTES OF JOY AND WAIL A PIPER PLAY -wav/mojomove411-20071015-peo/wav/bps0014.wav SHINE THROUGH THE WRACK -wav/mojomove411-20071024/wav/dos0007.wav AND DO NOT KNOW FOR CERTAIN WHAT AILS ME -wav/mojomove411-20071024/wav/dos0017.wav I KNOW BETTER THAN ANYONE THAT BY ALL THIS I AM ONLY INJURING MYSELF -wav/mojomove411-20071024/wav/dos0027.wav BUT NOW THAT I HAVE SEEN MYSELF -wav/mojomove411-20071102-poe/wav/iaf0007.wav MY COUNTRY IS KILTARTAN CROSS MY COUNTRYMEN KILTARTAN\342\200\231S POOR -wav/mojomove411-20071103a/wav/md0001.wav SELECTION FROM MOBY DICK BY HERMAN MELVILLE READ FOR MOJOMOVE FOUR ONE ONE DOT COM -wav/mojomove411-20071103a/wav/md0011.wav WHENEVER I FIND MYSELF INVOLUNTARILY PAUSING BEFORE COFFIN WAREHOUSES -wav/mojomove411-20071103a/wav/md0021.wav ALMOST ALL MEN IN THEIR DEGREE SOME TIME OR OTHER -wav/mojomove411-20071103b/wav/pg0008.wav AND IT RESTS WITH ME TO SAY WHAT KERNEL LIES WITHIN ITS SHELL -wav/mojomove411-20071103b/wav/pg0018.wav AT THAT POINT I STOP TO CURSE THE BONDS THAT HOLD ME STERNLY BACK -wav/mojomove411-20071105-poe/wav/teb0007.wav THOSE JOYOUS HOURS ARE PASSED AWAY -wav/mojomove411-20071111-coe/wav/ceoe0004.wav ACCORDINGLY THE GREATER PART OF OUR CONFESSIONS THAT IS SPONTANEOUS -wav/mojomove411-20071111-coe/wav/ceoe0014.wav AND IT IS NOT WITHOUT AN ANXIOUS REVIEW OF THE REASONS FOR AND AGAINST THIS STEP -wav/mojomove411-20071111-coe/wav/ceoe0024.wav HE FELT AS THOUGH RATS WERE GNAWING AND ABRADING THE COATS OF HIS STOMACH -wav/mojomove411-20071111-coe/wav/ceoe0034.wav THAT DELICATE AND HONOURABLE RESERVE WHICH FOR THE MOST PART RESTRAINS US -wav/mojomove411-20071111-coe/wav/ceoe0044.wav COULD FURNISH SO MANY SCORES OF CASES -wav/mojomove411-20071111-coe/wav/ceoe0054.wav INDEED THE FASCINATING POWERS OF OPIUM ARE ADMITTED EVEN BY MEDICAL WRITERS -wav/mojomove411-20071111-coe/wav/ceoe0064.wav WHICH IS TAINTED WITH THE SPURIOUS AND DEFECTIVE SENSIBILITY -wav/mojomove411-20071111-coe/wav/ceoe0074.wav THAT I HAVE FOR MANY MONTHS HESITATED -wav/mojomove411-20071111-coe/wav/ceoe0084.wav WAS EARNEST TO THE LAST -wav/mojomove411-20071111-coe/wav/ceoe0094.wav WILL SOMETIMES SEQUESTER THEMSELVES FROM THE GENERAL POPULATION OF THE CHURCHYARD -wav/mojomove411-20071111-coe/wav/ceoe0104.wav WITH THE RECORD OF A REMARKABLE PERIOD IN MY LIFE -wav/mojomove411-20071111-coe/wav/ceoe0114.wav AND AS MANY PEOPLE MIGHT THEN INDISCRIMINATELY USE IT -wav/mojomove411-20071111-coe/wav/ceoe0124.wav WHOM IT WOULD BE TEDIOUS TO MENTION -wav/mojomove411-20071111-coe/wav/ceoe0134.wav ACCORDING TO MY APPLICATION OF IT -wav/mojomove411-20071111-coe/wav/ceoe0144.wav SO ON THE OTHER IT IS POSSIBLE THAT IF IT DID -wav/mojomove411-20071206/wav/fs0003.wav WEEKLY MONOLOGUE COLLECTION SCOTLAND THERE IS MAGIC IN THE SOUND -wav/mojomove411-20071206/wav/fs0013.wav CHERISHED HIS VIRTUES AND CHASTISED HIS VICES FRIENDS OF LEARNING -wav/mojomove411-20071206/wav/fs0023.wav FROM THE BONNY HIGHLAND HEATHER OF HER LOFTY SUMMITS -wav/mojomove411-20071207-poe/wav/mt0001.wav THE MISTLETOE BY BRYAN WALLER PROCTOR READ MOJOMOVE FOUR ONE ONE DOT COM -wav/mojomove411-20071207-poe/wav/mt0011.wav AND KNOW THAT THEIR WORK IS DONE -wav/mojomove411-20071207-poe/wav/mt0021.wav BUT THE MISTLETOE BANISHETH MELANCHOLY AH NOBODY KNOWS NOR EVER SHALL KNOW -wav/montana-20091129-dme/wav/a0238.wav IT HAPPENED TO HIM AT THE GALLINA SOCIETY IN OAKLAND ONE AFTERNOON -wav/montana-20091129-gpa/wav/a0352.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/montana-20091129-usu/wav/rp-17.wav OTHERS HAVE TRIED TO EXPLAIN THE PHENOMENON PHYSICALLY -wav/mouhamedyousef-20090303-eqo/wav/b0163.wav THE MOON HAD ALREADY BEGUN ITS WESTWARD DECLINE -wav/MSypkensSmit-20080802-xda/wav/b0518.wav BUT THERE WAS ALSO TALK OF WITCHCRAFT IN THE VILLAGE -wav/MSypkensSmit-20080803-ctf/wav/b0249.wav I KNOW THEY ARE MY OYSTERS -wav/MSypkensSmit-20080803-rjg/wav/a0040.wav I SUPPOSE YOU WONDER WHY SHE IS COMING UP HERE -wav/MSypkensSmit-20080803-rlf/wav/a0261.wav I HAVE BEEN DOUBLY BAPTIZED -wav/MSypkensSmit-20080803-ywv/wav/a0227.wav IT WAS THE SAME WAY WITH OUR REVOLVERS AND RIFLES -wav/Muuker-20080129-onw/wav/a0027.wav TO MY SURPRISE HE BEGAN TO SHOW ACTUAL ENTHUSIASM IN MY FAVOR -wav/mwalma-20080112/wav/cc-06.wav EVEN SO ON HER FIRST MORNING SHE FELT STRESSED -wav/mwalma-20080112/wav/cc-16.wav BEFORE LONG THAT ITCHY GOOSE BEGAN TO STRUT AROUND THE OFFICE LIKE A LUNATIC -wav/mwalma-20080112/wav/cc-26.wav ONCE SARAH HAD MANAGED TO BATHE THE GOOSE SHE WIPED HER OFF WITH A CLOTH -wav/mwalma-20080112/wav/cc-36.wav AND THE FOLLOWING COPYRIGHT NOTIFICATION ACCOMPANY THE PASSAGE IN PRINT -wav/n2k-20090202-udz/wav/a0068.wav IN A FLASH PHILIP FOLLOWED ITS DIRECTION -wav/nalbion-20081027-fxc/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/nalbion-20081027-tkn/wav/b0272.wav THESE WERE MERELY STOUT STICKS AN INCH OR SO IN DIAMETER -wav/nalbion-20081027-xft/wav/a0318.wav PRODUCTION IS DOUBLING AND QUADRUPLING UPON ITSELF -wav/nalbion-20081027-yqy/wav/b0384.wav THE SKIPPER'S AND NAKATA'S GYMNASTICS SERVED AS A TRANSLATION WITHOUT WORDS -wav/NanaHuck-20080321-buf/wav/a0174.wav THEY WERE THE PRESAGE OF STORM -wav/NanaHuck-20080321-ctr/wav/b0269.wav WHY NOT LIKE ANY RAILROAD STATION OR FERRY DEPOT -wav/NanaHuck-20080321-ijk/wav/a0241.wav I THINK IT'S MUCH NICER TO QUARREL -wav/Nathan-20090324-ova/wav/a0045.wav HE MOVED AWAY AS QUIETLY AS HE HAD COME -wav/necrose99-20080308-khs/wav/b0449.wav ALSO SHE WOULDN'T WALK -wav/necrose99-20080308-wvg/wav/a0389.wav MAB SHE SAID -wav/Ned-20080204-cyx/wav/a0316.wav WE HAD BEEN CHASED BY THEM OURSELVES MORE THAN ONCE -wav/neonard0-20080926-hfa/wav/b0368.wav PLEASE DO NOT THINK THAT I ALREADY KNOW IT ALL -wav/nestea247-20080301-rkx/wav/b0228.wav YOU WERE ENGAGED -wav/nestea247-20080301-sbn/wav/a0316.wav WE HAD BEEN CHASED BY THEM OURSELVES MORE THAN ONCE -wav/nestea247-20080301-zmy/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/netjunki-20081204-orf/wav/rb-08.wav THE AMOUNT OF AVAILABLE SCREEN REAL-ESTATE -wav/neuralnet-20080702-dfq/wav/a0284.wav THERE WAS NO FORECASTING THIS STRANGE GIRL'S PROCESSES -wav/neuralnet-20080702-fgc/wav/b0293.wav BETWEEN HIM AND ALL DOMESTIC ANIMALS THERE MUST BE NO HOSTILITIES -wav/neuralnet-20080702-jjw/wav/b0066.wav IF I MEET HER AGAIN I SHALL APOLOGIZE SAID EILEEN -wav/neuralnet-20080702-jvy/wav/b0364.wav IN THE BOHEMIAN CLUB OF SAN FRANCISCO THERE ARE SOME CRACK SAILORS -wav/neuralnet-20080702-rmy/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/neuralnet-20080702-uil/wav/a0291.wav THE WEEKS HAD GONE BY AND NO OVERT ACTS HAD BEEN ATTEMPTED -wav/neuralnet-20080702-wuu/wav/b0341.wav I PLAY THAT CHOICE WIDE OPEN TO WIN -wav/neuralnet-20080702-wxj/wav/a0016.wav THERE'S FORT CHURCHILL A RIFLE-SHOT BEYOND THE RIDGE ASLEEP -wav/neuralnet-20080702-xkk/wav/a0210.wav ITS DIAMETER WAS NOT MORE THAN TWO HUNDRED YARDS -wav/neuralnet-20080702-xwd/wav/b0435.wav WELL DID THEY EAT -wav/neuralnet-20080702-yfh/wav/a0135.wav I AM GOING TO SURPRISE FATHER AND YOU WILL GO WITH PIERRE -wav/neuralnet-20090503-tua/wav/b0381.wav AND HOW WOULD WE EVER FIND OURSELVES -wav/neuralnet-20090503-xkf/wav/a0326.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/neuralnet-20090605-nbc/wav/a0046.wav THE GIRL FACED HIM HER EYES SHINING WITH SUDDEN FEAR -wav/neuralnet-20090811-cwg/wav/b0063.wav HE BOILED HIMSELF SOME COFFEE AND SAT DOWN TO WAIT -wav/nholling-20091015-cbt/wav/a0326.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/nilesuk-20090217-tet/wav/b0431.wav TOO MUCH HE TOLD ME WITH OMINOUS ROLLING HEAD -wav/ninghuajiang-20071216-pku/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/nizar-20080511-xyk/wav/a0163.wav PHILIP MADE NO EFFORT TO FOLLOW -wav/nollidj-20081101-ar/wav/ar-07.wav ONE RAINY DAY THE RATS HEARD A GREAT NOISE IN THE LOFT -wav/nollidj-20081101-ar/wav/ar-17.wav YOU ARE COMING OF COURSE I'M NOT CERTAIN SAID ARTHUR UNDAUNTED -wav/nollidj-20081101-cc/wav/cc-03.wav SO SHE WAS VERY HAPPY TO START A NEW JOB AT A SUPERB PRIVATE PRACTICE -wav/nollidj-20081101-cc/wav/cc-13.wav OF FOOT AND MOUTH DISEASE WHICH WAS SURPRISING -wav/nollidj-20081101-cc/wav/cc-23.wav THEN SINGING A TUNE TO HER FINALLY SHE ADMINISTERED ETHER -wav/nollidj-20081101-cc/wav/cc-33.wav THOUGHT IT WAS A FAIR PRICE FOR A CURE -wav/nollidj-20081101-rp/wav/rp-04.wav THESE TAKE THE SHAPE OF A LONG ROUND ARCH WITH ITS PATH HIGH ABOVE -wav/nollidj-20081101-rp/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/nollidj-20081101-rp/wav/rp-24.wav AND THE WIDTH OF THE COLORED BAND INCREASES AS THE SIZE OF THE DROPS INCREASES -wav/nollidj-20081101-vf1/wav/vf1-03.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/nollidj-20081101-vf1/wav/vf1-13.wav HE WAS A HEAD SHORTER THAN HIS COMPANION OF ALMOST DELICATE PHYSIQUE -wav/nollidj-20081101-vf1/wav/vf1-23.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/nollidj-20081101-vf1/wav/vf1-33.wav HE UNFOLDED A LONG TYPEWRITTEN LETTER AND HANDED IT TO GREGSON -wav/noman-20080322-vtn/wav/b0363.wav SHE WAS BUILT PRIMARILY TO SAIL -wav/noman-20080413-tch/wav/b0079.wav THE TRUTH OF IT SET JEANNE QUIVERING -wav/no_name-20091107-ail/wav/a0176.wav FOR THE FIRST TIME IN HIS LIFE HE WAS YEARNING FOR A SCRAP -wav/norzarfan-20091004-ldt/wav/a0410.wav SO WE HAVE TO FIT THE BOAT THROUGHOUT WITH OIL LAMPS AS WELL -wav/observing-20080807-gld/wav/a0003.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/observing-20080807-hum/wav/b0275.wav BUT I DID NOT ENJOY IT LONG -wav/observing-20080807-kuj/wav/b0114.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/observing-20080807-nfs/wav/a0379.wav HOW OLD ARE YOU DADDY -wav/observing-20080807-nwy/wav/a0005.wav WILL WE EVER FORGET IT -wav/observing-20080807-vqd/wav/b0443.wav I DID NOT THINK YOU WOULD BE SO EARLY -wav/occimanete-092909/wav/sample12.wav BELT BELOW BEND AEROBIC DASHBOARD DATABASE -wav/occimanete-092909/wav/sample21.wav BUSBOYS CHOICE COILS COIN -wav/occimanete-092909/wav/sample30.wav AMNESIA ASIA AVERSION BEIGE BEIJING -wav/occimanete-092909/wav/sample9.wav MEASURE LEISURE AND LEISURE MEASURE -wav/oeginc-20080224-oao/wav/b0469.wav VERY FEW PEOPLE KNEW OF THE EXISTENCE OF THIS LAW -wav/oeginc-20080224-qzk/wav/b0440.wav THERE WERE STIR AND BUSTLE NEW FACES AND FRESH FACTS -wav/oeginc-20080228-ezk/wav/b0368.wav PLEASE DO NOT THINK THAT I ALREADY KNOW IT ALL -wav/oeginc-20080228-zco/wav/b0323.wav CRICKETS BEGAN TO CHIRP AND MORE GEESE AND DUCKS FLEW OVERHEAD -wav/ojfl-20080303-kyt/wav/b0326.wav OUR MR HOWISON WILL CALL UPON YOU AT YOUR HOTEL -wav/ojfl-20080303-qrb/wav/a0512.wav NO IT IS A PALACE WHEREIN THERE ARE MANY SERVANTS -wav/ojfl-20080303-ziv/wav/a0483.wav BEYOND DISPUTE CORRY HUTCHINSON HAD MARRIED MABEL HOLMES -wav/orca-20070706/wav/cc-10.wav WHEN SHE GOT THERE THERE WAS A WOMAN WITH A GOOSE WAITING FOR HER -wav/orca-20070706/wav/cc-20.wav COMMA WAS STRONG AND HUGE SO IT WOULD TAKE SOME FORCE TO TRAP HER -wav/orca-20070706/wav/cc-30.wav SARAH WARNED THAT THIS COURSE OF TREATMENT MIGHT BE EXPENSIVE -wav/paddy-20080911-abh/wav/a0581.wav IT WAS THIS PROPOSITION THAT STARTED THE BIG IDEA IN DAUGHTRY'S MIND -wav/paddy-20080911-bop/wav/a0219.wav AT FIRST HE PUZZLED OVER SOMETHING UNTOWARD HE WAS SURE HAD HAPPENED -wav/paddy-20080911-bua/wav/a0344.wav HE SEEMED TO FILL IT WITH HIS TREMENDOUS VITALITY -wav/paddy-20080911-crt/wav/a0137.wav THEN HE STEPPED BACK WITH A LOW CRY OF PLEASURE -wav/paddy-20080911-eeo/wav/a0039.wav THE SHIP SHOULD BE IN WITHIN A WEEK OR TEN DAYS -wav/paddy-20080911-fdo/wav/a0466.wav CAPTAIN WEST MAY BE A SAMURAI BUT HE IS ALSO HUMAN -wav/paddy-20080911-hun/wav/a0497.wav KING TOOK EVERY ADVANTAGE HE KNEW -wav/paddy-20080911-jbe/wav/a0114.wav HER WORDS SENT A STRANGE CHILL THROUGH PHILIP -wav/paddy-20080911-jtv/wav/b0144.wav BUT THERE WAS NO LONGER THE MOTHER YEARNING IN HIS HEART -wav/paddy-20080911-jyl/wav/ar-01.wav ONCE THERE WAS A YOUNG RAT NAMED ARTHUR WHO NEVER COULD MAKE UP HIS MIND -wav/paddy-20080911-kaf/wav/b0313.wav THE APRON STRING LOOMED NEAR AND HE SHIED LIKE AN UNBROKEN COLT -wav/paddy-20080911-qzs/wav/b0283.wav BUT WE WERE WITHOUT THIS MOMENTUM -wav/paddy-20080911-txn/wav/b0285.wav THE HYENA PROCEEDED TO DINE -wav/paddy-20080911-tyg/wav/a0582.wav DAUGHTRY ELABORATED ON THE COUNTING TRICK BY BRINGING COCKY ALONG -wav/paddy-20080911-uwe/wav/b0254.wav AT THE SAME TIME SPEARS AND ARROWS BEGAN TO FALL AMONG THE INVADERS -wav/paddy-20080911-wby/wav/b0085.wav HER EYES SMILED TRUTH AT HIM AS HE CAME UP THE BANK -wav/paddy-20080911-xep/wav/b0514.wav TOMORROW OR NEXT DAY IT MIGHT HE GONE -wav/paddy-20080911-xuz/wav/a0284.wav THERE WAS NO FORECASTING THIS STRANGE GIRL'S PROCESSES -wav/paddy-20080911-ynd/wav/a0584.wav I HAVE LONG NOTED YOUR THIRST UNQUENCHABLE -wav/Paddy-20100120-msy/wav/b0092.wav I WANT TO DIE IN IT -wav/Paddy-20100120-nsy/wav/b0260.wav IT'S WORTH EIGHT DOLLARS -wav/Paddy-20100120-uky/wav/b0214.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/Paddy-20100122-ljb/wav/b0516.wav ZILLA RELAXED HER SOUR MOUTH LONG ENOUGH TO SIGH HER SATISFACTION -wav/pallab-20090503-rge/wav/a0587.wav HE HAD COMPARATIVELY NO ADVANTAGES AT FIRST -wav/panrubius-20090904-xie/wav/a0185.wav THE QUESTIONS MAY HAVE COME VAGUELY IN HIS MIND -wav/Paolino-20081021-hgz/wav/a0076.wav THE GRAY EYES FALTERED THE FLUSH DEEPENED -wav/parent5446-20090726/wav/ar-01.wav ONCE THERE WAS A YOUNG RAT NAMED ARTHUR WHO NEVER COULD MAKE UP HIS MIND -wav/parent5446-20090726/wav/ar-11.wav THIS WON'T DO SAID THE CAPTAIN I'LL SEND OUT SCOUTS TO SEARCH FOR A NEW HOME -wav/parent5446-20090726/wav/ar-21.wav I THINK I'LL GO TOMORROW HE SAID CALMLY TO HIMSELF BUT THEN AGAIN I DON'T KNOW -wav/parent5446-20090726/wav/cc-07.wav SHE ATE A BOWL OF PORRIDGE CHECKED HERSELF IN THE MIRROR -wav/parent5446-20090726/wav/cc-17.wav WHICH MADE AN UNSANITARY MESS -wav/parent5446-20090726/wav/cc-27.wav AND LAID HER ON HER RIGHT SIDE THEN SARAH CONFIRMED THE VET'S DIAGNOSIS -wav/parent5446-20090726/wav/cc-37.wav IF REPRODUCED IN PRINT AND IN AUDIO FORMAT IN THE CASE OF A SOUND RECORDING -wav/parent5446-20090726/wav/rp-08.wav WHEN A MAN LOOKS FOR SOMETHING BEYOND HIS REACH -wav/parent5446-20090726/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/parent5446-20090726/wav/rp-28.wav THE RESULT IS TO GIVE A BOW WITH AN ABNORMALLY WIDE YELLOW BAND -wav/patmo-20080225-qpb/wav/b0424.wav IT IS A VERY TENABLE HYPOTHESIS AND WILL BEAR LOOKING INTO -wav/patrick-20080216-uvv/wav/b0226.wav YOUR FACE WAS THE PERSONIFICATION OF DUPLICITY -wav/patricktw-20090918-mmt/wav/a0287.wav KEEP AN EYE ON HIM -wav/paulkoan-20081119-zwp/wav/b0028.wav LORD FITZHUGH IS THE KEY TO THE WHOLE SITUATION -wav/PaulWilliams-20090908-ylr/wav/b0336.wav HOW OLD ARE YOU MOTHER -wav/pcourtney-20090202-qnh/wav/a0293.wav THEY WERE DEEP IN THE PRIMEVAL FOREST -wav/peope-20081228-axp/wav/ar-11.wav THIS WON'T DO SAID THE CAPTAIN I'LL SEND OUT SCOUTS TO SEARCH FOR A NEW HOME -wav/peope-20081228-eym/wav/a0011.wav IF I EVER NEEDED A FIGHTER IN MY LIFE I NEED ONE NOW -wav/peope-20081228-fnh/wav/b0040.wav THE THOUGHT SET HIS BLOOD TINGLING -wav/PeterGarnett-20080107-abc/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/PeterGarnett-20080107-def/wav/ar-23.wav IN THE FOGGY MORNING SOME MEN WITH SOME BOYS AND GIRLS RODE UP AND LOOKED AT THE BARN -wav/peterwhy-20080503-win/wav/win0008.wav AND IN THE EARTH BELOW AND AROUND HIM PENETRATING EVEN HIS DARK AND LOWLY LITTLE -wav/peterwhy-20080503-win/wav/win0018.wav AND HE FOUND HIMSELF ROLLING IN THE WARM GRASS OF A GREAT MEADOW THIS IS FINE -wav/peterwhy-20080503-win/wav/win0028.wav THEN THEY ALL STARTED GRUMBLING AT EACH OTHER HOW STUPID YOU ARE WHY DIDN'T YOU TELL HIM -wav/peterwhy-20080503-win/wav/win0038.wav NEVER IN HIS LIFE HAD HE SEEN A RIVER BEFORE THIS SLEEK SINUOUS FULL BODIED ANIMAL -wav/peterwhy-20080503-win/wav/win0048.wav A DARK HOLE IN THE BANK OPPOSITE JUST ABOVE THE WATER'S EDGE CAUGHT HIS EYE -wav/peterwhy-20080503-win/wav/win0058.wav SMALL NEAT EARS AND THICK SILKY HAIR IT WAS THE WATER RAT -wav/peterwhy-20080503-win/wav/win0068.wav NOW THEN STEP LIVELY AND THE MOLE TO HIS SURPRISE AND RAPTURE -wav/peterwhy-20080503-win/wav/win0078.wav THERE IS NOTHING ABSOLUTE NOTHING HALF SO MUCH WORTH DOING AS SIMPLY MESSING ABOUT IN BOATS -wav/peterwhy-20080503-win/wav/win0088.wav BUT YOU'D MUCH BETTER NOT LOOK HERE IF YOU'VE REALLY NOTHING ELSE ON HAND THIS MORNING -wav/peterwhy-20080503-win/wav/win0098.wav COLD TONGUE COLD HAM COLD BEEF PICKLED GHERKINS SALAD FRENCH ROLLS CRESS SANDWICHES POTTED MEAT GINGER BEER LEMONADE SODA WATER -wav/peterwhy-20080503-win/wav/win0108.wav AS SOON AS I CAN AFFORD IT I BEG YOUR PARDON -wav/peterwhy-20080503-win/wav/win0118.wav AND THE BROWN WATER RUNS BY MY BEST BEDROOM WINDOW OR AGAIN WHEN IT ALL DROPS AWAY AND -wav/peterwhy-20080503-win/wav/win0128.wav OTTERS KINGFISHERS DABCHICKS MOORHENS ALL OF THEM ABOUT ALL DAY LONG -wav/peterwhy-20080503-win/wav/win0138.wav NOBODY INTERFERES WITH HIM THEY'D BETTER NOT HE ADDED SIGNIFICANTLY WHY WHO SHOULD INTERFERE WITH HIM -wav/peterwhy-20080503-win/wav/win0148.wav BEYOND THE WILD WOOD COMES THE WIDE WORLD SAID THE RAT AND THAT'S SOMETHING THAT DOESN'T MATTER -wav/peterwhy-20080503-win/wav/win0158.wav IT WAS SO VERY BEAUTIFUL THAT THE MOLE COULD ONLY HOLD UP BOTH FOREPAWS AND GASP -wav/peterwhy-20080503-win/wav/win0168.wav AS PEOPLE WILL DO AND HAD NOT PAUSED FOR BITE OR SUP AND HE HAD BEEN THROUGH -wav/peterwhy-20080503-win/wav/win0178.wav EXPLAINED THE RAT BY THE WAY MY FRIEND MR MOLE PROUD I'M SURE SAID THE OTTER -wav/peterwhy-20080503-win/wav/win0188.wav WELL TELL US WHO'S OUT ON THE RIVER TOAD'S OUT FOR ONE REPLIED THE OTTER -wav/peterwhy-20080503-win/wav/win0198.wav AND JUST THEN A WAGER BOAT FLASHED INTO VIEW THE ROWER A SHORT STOUT FIGURE -wav/peterwhy-20080503-win/wav/win0208.wav BUT AGAIN THERE WAS A STREAK OF BUBBLES ON THE SURFACE OF THE RIVER THE RAT -wav/peterwhy-20080503-win/wav/win0218.wav AND WHEN THE JOB HAD BEEN DONE AGAIN THE RAT POINTED OUT A FORK WHICH -wav/peterwhy-20080503-win/wav/win0228.wav THE MOLE WAS QUIET FOR A MINUTE OR TWO BUT HE BEGAN TO FEEL -wav/peterwhy-20080503-win/wav/win0238.wav AND HE FOUND HIMSELF LYING ON THE TOP OF THE PROSTRATE RAT -wav/peterwhy-20080503-win/wav/win0248.wav THE RAT GOT HOLD OF A SCULL AND SHOVED IT UNDER THE MOLE'S ARM -wav/peterwhy-20080503-win/wav/win0258.wav AND STRUGGLED TO LAND WITH IT WHEN ALL WAS READY FOR A START ONCE MORE -wav/peterwhy-20080503-win/wav/win0268.wav IT'S VERY PLAIN AND ROUGH YOU KNOW NOT LIKE TOAD'S HOUSE AT ALL -wav/peterwhy-20080503-win/wav/win0278.wav HAVING FETCHED DOWN A DRESSING GOWN AND SLIPPERS FOR HIM AND TOLD HIM RIVER STORIES TILL SUPPER TIME -wav/peterwhy-20080503-win/wav/win0288.wav WAS ONLY THE FIRST OF MANY SIMILAR ONES FOR THE EMANCIPATED MOLE EACH OF THEM -wav/Peyrine-20091111-ptc/wav/a0034.wav MEN OF SELDEN'S STAMP DON'T STOP AT WOMEN AND CHILDREN -wav/pfmm-20080526-oza/wav/rp-04.wav THESE TAKE THE SHAPE OF A LONG ROUND ARCH WITH ITS PATH HIGH ABOVE -wav/PheonixK-20080824-cpk/wav/b0176.wav I'LL SEE TO POOR HUGHIE -wav/PheonixK-20080824-kct/wav/b0082.wav HE BIT HIS TONGUE AND CURSED HIMSELF AT THIS FRESH BREAK -wav/PheonixK-20080824-pck/wav/b0178.wav ALSO I WANT INFORMATION -wav/PheonixK-20080824-vws/wav/a0491.wav AND AS IN DENIAL OF GUILT THE ONE-LEGGED BOY REPLIED -wav/PheonixK-20080824-wte/wav/b0191.wav HE ALSO CONTENDED THAT BETTER CONFIDENCE WAS ESTABLISHED BY CARRYING NO WEAPONS -wav/phil-20080215-sog/wav/a0261.wav I HAVE BEEN DOUBLY BAPTIZED -wav/phil-20080215-vej/wav/a0441.wav VIOLENT LIFE AND ATHLETIC SPORTS HAD NEVER APPEALED TO ME -wav/phowardcom-20090824-blg/wav/b0470.wav THE VERY THING ERNEST AGREED -wav/phr0663r-20090922-jqj/wav/a0492.wav BURNT OUT LIKE THE CRATER OF A VOLCANO -wav/PJ-20091206-zfv/wav/b0342.wav EACH IMPROVEMENT MAKES THE VALUE OF EVERYTHING ELSE PUMP UP -wav/pkkikibig-20100105-xib/wav/a0273.wav THEY ARE BIG TREES AND REQUIRE PLENTY OF ROOM -wav/pmg-20090902-gqi/wav/a0407.wav MERCEDES SCREAMED CRIED LAUGHED AND MANIFESTED THE CHAOTIC ABANDONMENT OF HYSTERIA -wav/pmg-20090902-ogw/wav/a0536.wav HE WOULD DESTROY ALL THINGS THAT ARE FIXED -wav/pmg-20090902-sgg/wav/a0285.wav BUT WHAT THEY WANT WITH YOUR TOOTHBRUSH IS MORE THAN I CAN IMAGINE -wav/PoHandle-20091222-hxy/wav/b0027.wav AND THERE'S NO CHIVALRY NO QUARTER SHOWN IN THIS FIGHT -wav/PoHandle-20091222-klf/wav/rb-31.wav WHEREAS ON YOUR MOBILE PHONE YOU WOULD HAVE TO STICK TO RUN BROWSER -wav/PoHandle-20091222-mex/wav/b0439.wav THE LAND EXCHANGED ITS AUSTERE ROBES FOR THE GARB OF A SMILING WANTON -wav/PoHandle-20091222-pbi/wav/a0105.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/PoHandle-20091222-wby/wav/a0077.wav IT IS THE FIRE PARTLY SHE SAID -wav/polerizer-20091226-cxd/wav/a0277.wav MCCOY FOUND A STIFLING POISONOUS ATMOSPHERE IN THE PENT CABIN -wav/polerizer-20091226-der/wav/rb-11.wav A GOOD SOLUTION WOULD BE TO USE SPEECH RECOGNITION -wav/polerizer-20091226-flf/wav/b0073.wav WITH THESE ARGUMENTS HE CONVINCED HIMSELF THAT HE SHOULD GO ON ALONE -wav/polerizer-20091226-iie/wav/a0345.wav SHE WAS TRYING TO PASS THE APRON STRING AROUND HIM -wav/polerizer-20091226-noj/wav/a0470.wav HE SPAT IT OUT LIKE SO MUCH VENOM -wav/polerizer-20091226-nws/wav/b0165.wav HE PULLED AND THE LOG CRASHED DOWN TO BREAK HIS BACK -wav/polerizer-20091226-ooi/wav/b0377.wav A SCARLET LOINCLOTH COMPLETED HIS COSTUME -wav/polerizer-20091226-rel/wav/a0289.wav THEY ARE NOT REGULAR OYSTER PIRATES NICHOLAS CONTINUED -wav/polerizer-20091226-vdf/wav/a0016.wav THERE'S FORT CHURCHILL A RIFLE-SHOT BEYOND THE RIDGE ASLEEP -wav/polerizer-20091231-nfw/wav/rp-07.wav PEOPLE LOOK BUT NO ONE EVER FINDS IT -wav/polerizer-20091231-oon/wav/a0126.wav EACH DAY SHE BECAME A MORE VITAL PART OF HIM -wav/polerizer-20091231-upo/wav/b0359.wav AND AS NEVER BEFORE HE WAS READY TO OBEY -wav/poumtatalia-20071105-kol/wav/b0335.wav WHOEVER LIVED ON THE RANCH DID THAT -wav/proffles-20080627-nzp/wav/a0404.wav PERRAULT FOUND ONE WITH HEAD BURIED IN THE GRUB BOX -wav/proffles-20080627-pgw/wav/a0346.wav GET DOWN AND DIG IN -wav/proffles-20080627-upk/wav/b0050.wav ALL THIS DAY GREGSON REMAINED IN THE CABIN -wav/proffles-20080627-vjc/wav/b0133.wav THERE FOLLOWED A ROAR THAT SHOOK THE EARTH -wav/pszacherski-20081021-ymh/wav/a0003.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/pumpkinslayer-20071020-ejq/wav/b0151.wav IT WAS STEEL A FISHER TRAP -wav/pumpkinslayer-20071020-fct/wav/a0029.wav THEIR FORCES WERE ALREADY MOVING INTO THE NORTH COUNTRY -wav/pumpkinslayer-20071020-rrg/wav/a0367.wav THERE IS NOT AN IOTA OF TRUTH IN IT CERTAINLY NOT -wav/pumpkinslayer-20071021-iku/wav/rb-06.wav RECOGNITION FOR INPUTTING TEXT THIS HAS A COUPLE OF DRAWBACKS -wav/qway-20080924-yjx/wav/b0449.wav ALSO SHE WOULDN'T WALK -wav/qway-20080928-anj/wav/a0566.wav DENNIN'S HANDS WERE RELEASED LONG ENOUGH FOR HIM TO SIGN THE DOCUMENT -wav/Raedwulf-20100122-egb/wav/b0060.wav HE WOULD KEEP HIS FAITH WITH GREGSON FOR THE PROMISED DAY OR TWO -wav/Raeubertochter-20090911/wav/aes12.wav AND IMMEDIATELY THE TRAVELER TOOK OFF HIS CLOAK -wav/Raeubertochter-20090911/wav/aes7.wav SHOULD BE CONSIDERED STRONGER THAN THE OTHER -wav/raghuraman-20090512-enq/wav/a0130.wav SHE WAS HIS NOW FOREVER -wav/ralfherog-20070918-en7/wav/en7-008.wav THE MODULE CAN PERFORM AUTOMATIC BYTE SWAPPING -wav/ralfherog-20070918-en7/wav/en7-018.wav THEY HAVE AT LEAST ONE INPUT SEQUENCE -wav/ralfherog-20070918-en7/wav/en7-028.wav YOU SHOULD SEE SOMETHING LIKE THIS -wav/ralfherog-20070918-en7/wav/en7-038.wav THE SEQUENCE OF THE EVENTS WAS A LITTLE DIFFERENT -wav/ralfherog-20070918-en7/wav/en7-048.wav HE IS ALMOST FINISHED -wav/ralfherog-20070918-en7/wav/en7-058.wav CAN I SPEAK TO HER FOR ONE SECOND -wav/ralfherog-20070918-en7/wav/en7-068.wav A TICKLE IN HER THROAT -wav/ralfherog-20070918-en7/wav/en7-078.wav SHE TOLD HIM THAT IN CONFIDENCE -wav/ralfherog-20070918-en7/wav/en7-088.wav IT WAS THAT OTHER WORD -wav/ralfherog-20070918-en7/wav/en7-098.wav THEY ARE JUST GETTING STARTED -wav/ralfherog-20070918-en7/wav/en7-108.wav SHE IS NEVER GOING TO FIGURE THIS OUT -wav/ralfherog-20070918-en7/wav/en7-118.wav SHE IS GOING TO FACE IT BY HERSELF -wav/ralfherog-20070918-en7/wav/en7-128.wav THAT SOUNDS HORRIBLE -wav/ralfherog-20070918-en7/wav/en7-138.wav IS SHE HAVING A MEANINGFUL CONVERSATION -wav/ralfherog-20070918-en7/wav/en7-148.wav THEY ARE GIVING HER A LITTLE SPACE -wav/ralfherog-20070918-en7/wav/en7-158.wav SHE JUST WALKED OUT OF THE ROOM -wav/ralfherog-20070918-en7/wav/en7-168.wav HOW CAN YOU PREVENT THAT -wav/ralfherog-20070918-en7/wav/en7-178.wav DON'T THEY HAVE A CONFLICT OF INTEREST -wav/ralfherzog-20070803/wav/cc-08.wav AND WASHED HER FACE IN A HURRY THEN SHE PUT ON A PLAIN YELLOW DRESS -wav/ralfherzog-20070803/wav/cc-18.wav THE GOOSE'S OWNER MARY HARRISON KEPT CALLING COMMA COMMA -wav/ralfherzog-20070803/wav/cc-28.wav ALMOST IMMEDIATELY SHE REMEMBERED AN EFFECTIVE TREATMENT -wav/ralfherzog-20070803/wav/cc-38.wav COPYRIGHT TWO THOUSAND DOUGLAS N HONOROF JILL MCCULLOUGH AND BARBARA SOMERVILLE -wav/ralfherzog-20070810/wav/rp-09.wav HIS FRIENDS SAY HE IS LOOKING FOR THE POT OF GOLD AT THE END OF THE RAINBOW -wav/ralfherzog-20070810/wav/rp-19.wav REFLECTION OF THE SUN'S RAYS BY THE RAIN -wav/ralfherzog-20070810/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/ralfherzog-20070812/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/ralfherzog-20070812/wav/ar-18.wav THE ROOF MAY NOT COME DOWN YET -wav/ralfherzog-20070813_vf12/wav/vf12-04.wav THEN YOU DON'T BELIEVE IN ALTRUISM -wav/ralfherzog-20070813_vf12/wav/vf12-14.wav THE SHARP VOICE OF WOLF LARSEN AROUSED ME -wav/ralfherzog-20070813_vf12/wav/vf12-24.wav BETWEEN THE RUSH OF THE CASCADES STREAKS OF RUST SHOWED EVERYWHERE -wav/ralfherzog-20070813_vf12/wav/vf12-34.wav I SAILED THIRD MATE IN THE LITTLE VAMPIRE BEFORE YOU WERE BORN -wav/ralfherzog-20070814_vf13/wav/vf13-04.wav NO-SIR-EE -wav/ralfherzog-20070814_vf13/wav/vf13-14.wav O'BRIEN TOOK OFF HIS COAT AND BARED HIS RIGHT ARM -wav/ralfherzog-20070814_vf13/wav/vf13-24.wav HE WAS AN ATHLETE AND A GIANT -wav/ralfherzog-20070814_vf13/wav/vf13-34.wav WE ARE CONSUMED IN OUR OWN FLESH-POTS -wav/ralfherzog-20070815_vf14/wav/vf14-04.wav AT ONCE WOULD BE INSTITUTED A DOZEN COOPERATIVE COMMONWEALTH STATES -wav/ralfherzog-20070815_vf14/wav/vf14-14.wav BUT JOHANNES COULD AND DID -wav/ralfherzog-20070815_vf14/wav/vf14-24.wav HE MAY ANTICIPATE THE DAY OF HIS DEATH -wav/ralfherzog-20070815_vf14/wav/vf14-34.wav JACK LONDON WAIKIKI BEACH HONOLULU OAHU -wav/ralfherzog-20070816_vf15/wav/vf15-04.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/ralfherzog-20070816_vf15/wav/vf15-14.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/ralfherzog-20070816_vf15/wav/vf15-24.wav WHEN I CAN'T SEE BEAUTY IN WOMAN I WANT TO DIE -wav/ralfherzog-20070816_vf15/wav/vf15-34.wav WHITEFISH GREGSON WHITEFISH AND TROUT -wav/ralfherzog-20070818_vf16/wav/vf16-04.wav IT IS GROWING EVERY DAY EVERY HOUR -wav/ralfherzog-20070818_vf16/wav/vf16-14.wav HE CONFESSED THAT THE SKETCH HAD STARTLED HIM -wav/ralfherzog-20070818_vf16/wav/vf16-24.wav FOR A FEW MOMENTS HE ATE IN SILENCE -wav/ralfherzog-20070818_vf16/wav/vf16-34.wav HE UNDERSTOOD THE MEANING OF THE LOOK -wav/ralfherzog-20070819_vf17/wav/vf17-04.wav I'M GOING DOWN THERE WITH YOU AND I'M GOING TO FIGHT -wav/ralfherzog-20070819_vf17/wav/vf17-14.wav YET BEHIND THEM THERE WAS ANOTHER AND MORE POWERFUL MOTIVE -wav/ralfherzog-20070819_vf17/wav/vf17-24.wav YOUR FACE IS RED WITH BLOOD -wav/ralfherzog-20070819_vf17/wav/vf17-34.wav AND YET IF SHE CAME HE HAD NO WORDS TO SAY -wav/ralfherzog-20070820_vf18/wav/vf18-04.wav SHOOTING PAINS PASSED LIKE FLASHES OF ELECTRICITY THROUGH HIS BODY -wav/ralfherzog-20070820_vf18/wav/vf18-14.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/ralfherzog-20070820_vf18/wav/vf18-24.wav TWO WEEKS PASSED AND IN THAT TIME THORPE LEFT CAMP THREE TIMES -wav/ralfherzog-20070820_vf18/wav/vf18-34.wav BLIND WITH RAGE HE DARTED IN -wav/ralfherzog-20070822_vf19/wav/vf19-04.wav BUT THERE WAS NO LONGER THE MOTHER YEARNING IN HIS HEART -wav/ralfherzog-20070822_vf19/wav/vf19-14.wav THAT IS THE STRANGE PART OF IT -wav/ralfherzog-20070822_vf19/wav/vf19-24.wav THEY LAUGHED LIKE TWO HAPPY CHILDREN -wav/ralfherzog-20070822_vf19/wav/vf19-34.wav HATRED AND MURDER AND LUST FOR REVENGE THEY POSSESSED TO OVERFLOWING -wav/ralfherzog-20070823_vf20/wav/vf20-04.wav SUCH THINGS IN HER BRAIN WERE LIKE SO MANY OATHS ON HER LIPS -wav/ralfherzog-20070823_vf20/wav/vf20-14.wav JOAN CRIED WITH SHINING EYES -wav/ralfherzog-20070823_vf20/wav/vf20-24.wav DOWN THROUGH THE PERFUME WEIGHTED AIR FLUTTERED THE SNOWY FLUFFS OF THE COTTONWOODS -wav/ralfherzog-20070823_vf20/wav/vf20-34.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/ralfherzog-20070824_vf21/wav/vf21-04.wav BUT TO CULTURE THE REVOLUTION THUS FAR HAD EXHAUSTED THE JUNTA -wav/ralfherzog-20070824_vf21/wav/vf21-14.wav AND WATCH OUT FOR WET FEET WAS HIS PARTING ADVICE -wav/ralfherzog-20070824_vf21/wav/vf21-24.wav YOU ARE POSITIVELY SOULLESS HE SAID SAVAGELY -wav/ralfherzog-20070824_vf21/wav/vf21-34.wav AT THE SAME TIME SPEARS AND ARROWS BEGAN TO FALL AMONG THE INVADERS -wav/ralfherzog-20070825_vf22/wav/vf22-04.wav BUT THIS TIME IT WAS SAXON WHO REBELLED -wav/ralfherzog-20070825_vf22/wav/vf22-14.wav FROM THE SOURCE OF LIGHT A HARSH VOICE SAID -wav/ralfherzog-20070825_vf22/wav/vf22-24.wav THERE WAS ONE DIFFICULTY HOWEVER -wav/ralfherzog-20070825_vf22/wav/vf22-34.wav FOR A MUCH LONGER TIME LOP-EAR AND I REMAINED AND WATCHED -wav/ralfherzog-20070826_vf23/wav/vf23-04.wav HIS PREVIOUS WIVES HAD NEVER LIVED LONG ENOUGH TO BEAR HIM CHILDREN -wav/ralfherzog-20070826_vf23/wav/vf23-14.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/ralfherzog-20070826_vf23/wav/vf23-24.wav NOT TILL THE TWENTIETH OF MAY DID THE RIVER BREAK -wav/ralfherzog-20070826_vf23/wav/vf23-34.wav OH IT'S JUST A NOVEL A LOVE STORY -wav/ralfherzog-20070827_vf24/wav/vf24-04.wav LOTS OF MEN TAKE WOMEN BUGGY RIDING -wav/ralfherzog-20070827_vf24/wav/vf24-14.wav IT'S THAT MUCH JUNK -wav/ralfherzog-20070827_vf24/wav/vf24-24.wav IN THE BOHEMIAN CLUB OF SAN FRANCISCO THERE ARE SOME CRACK SAILORS -wav/ralfherzog-20070827_vf24/wav/vf24-34.wav TO SAY THE LEAST CAPTAIN COOK WAS A RATHER THOROUGH GOING EMPIRICIST -wav/ralfherzog-20070830_vf25/wav/vf25-04.wav THE SKIPPER'S AND NAKATA'S GYMNASTICS SERVED AS A TRANSLATION WITHOUT WORDS -wav/ralfherzog-20070830_vf25/wav/vf25-14.wav THE BOY HESITATED THEN MASTERED HIS TEMPER -wav/ralfherzog-20070830_vf25/wav/vf25-24.wav YES AND NO SIR WAS THE SLOW REPLY -wav/ralfherzog-20070830_vf25/wav/vf25-34.wav IT WAS IMPOSSIBLE TO HOIST SAIL AND CLAW OFF THAT SHORE -wav/ralfherzog-20070831-en1/wav/en1-004.wav WE HAVEN'T HAD A VACATION IN A WHILE -wav/ralfherzog-20070831-en1/wav/en1-014.wav I WANT TO TALK TO YOU IN PERSON -wav/ralfherzog-20070831-en1/wav/en1-024.wav YOU HAVE TO BE QUIET NOW -wav/ralfherzog-20070831-en1/wav/en1-034.wav IN RELATION TO THE DISTANCE PER UNIT OF TIME -wav/ralfherzog-20070831-en1/wav/en1-044.wav THE CHECKSUM SHOULD BE ADDED -wav/ralfherzog-20070831-en1/wav/en1-054.wav A DIFFERENT PROCEDURE IS USED TO CODE THE SPEECH DATA -wav/ralfherzog-20070831-en1/wav/en1-064.wav THAT IS WHAT I HAVE BEEN SAYING -wav/ralfherzog-20070831-en1/wav/en1-074.wav I AM SORRY TO DISAPPOINT YOU I NEED IT TO WORK -wav/ralfherzog-20070831-en1/wav/en1-084.wav SHOULDN'T SOMEONE ANSWER THAT -wav/ralfherzog-20070831-en1/wav/en1-094.wav IS THIS REALLY HAPPENING -wav/ralfherzog-20070831-en1/wav/en1-104.wav ARE YOU PLAYING GAMES WITH ME I PLAY TO WIN -wav/ralfherzog-20070903-en2/wav/en2-002.wav IT IS A SURPRISE THAT IT TOOK HIM SO LONG -wav/ralfherzog-20070903-en2/wav/en2-012.wav I DON'T KNOW WHO TO TRUST OR WHAT TO DO -wav/ralfherzog-20070903-en2/wav/en2-022.wav THEY MUST KNOW YOU ARE BACK I CAN EXPLAIN -wav/ralfherzog-20070903-en2/wav/en2-032.wav NOBODY IS GOING TO FIND US HERE -wav/ralfherzog-20070903-en2/wav/en2-042.wav IT IS THE ONLY PLACE FOR HIM -wav/ralfherzog-20070903-en2/wav/en2-052.wav SOMETHING GOOD IS GOING TO HAPPEN -wav/ralfherzog-20070903-en2/wav/en2-062.wav I DON'T THINK I CAN'T WE KNOW YOU HAVE HIM -wav/ralfherzog-20070903-en2/wav/en2-072.wav THIS IS OUR BEST CHOICE -wav/ralfherzog-20070903-en2/wav/en2-082.wav BUT FOR THE MOMENT SHE NEEDS MORE ASSISTANCE -wav/ralfherzog-20070903-en2/wav/en2-092.wav IT IS POSSIBLE TO CHANGE THOSE THINGS -wav/ralfherzog-20070903-en2/wav/en2-102.wav WHERE IS SHE GOING -wav/ralfherzog-20070903-en2/wav/en2-112.wav HOW ARE YOU GOOD TO SEE YOU -wav/ralfherzog-20070903-en2/wav/en2-122.wav HE IS SURE HE WILL COME TO TALK TO THEM -wav/ralfherzog-20070903-en2/wav/en2-132.wav HE MUST THINK SHE IS AN AWFUL PERSON -wav/ralfherzog-20070903-en2/wav/en2-142.wav SHE CAN SEE THROUGH SOLID OBJECTS -wav/ralfherzog-20070903-en2/wav/en2-152.wav SHE IS NOT EVEN HUMAN -wav/ralfherzog-20070903-en2/wav/en2-162.wav I HAVE NEVER SEEN YOUR MOTHER THAT ANGRY -wav/ralfherzog-20070910-en3/wav/en3-01.wav HE HAS BEEN LOOKING ALL OVER FOR HER -wav/ralfherzog-20070910-en3/wav/en3-11.wav SHE WAS SIMPLY FOLLOWING DIRECT ORDERS -wav/ralfherzog-20070910-en3/wav/en3-21.wav SHE HAD TWO YEARS TO MAKE IT HAPPEN -wav/ralfherzog-20070910-en3/wav/en3-31.wav DON'T SAY YOU ARE GOING TO TRY -wav/ralfherzog-20070910-en3/wav/en3-41.wav HE IS TRYING TO GET AWAY FROM THE STATION -wav/ralfherzog-20070910-en3/wav/en3-51.wav HE DOESN'T CARE ABOUT SPEED -wav/ralfherzog-20070910-en3/wav/en3-61.wav WHAT IS IN IT FOR HER -wav/ralfherzog-20070910-en3/wav/en3-71.wav SHE IS STILL HERE WHAT IS GOING ON -wav/ralfherzog-20070910-en3/wav/en3-81.wav IT IS A VERY SIMPLE PLACE -wav/ralfherzog-20070911-en4/wav/en4-02.wav THIS WAS WELL DONE -wav/ralfherzog-20070911-en4/wav/en4-12.wav HER TIME WILL COME -wav/ralfherzog-20070911-en4/wav/en4-22.wav DOES SHE THINK THAT IS TRUE -wav/ralfherzog-20070911-en4/wav/en4-32.wav HE IS REALLY SORRY TO HEAR ABOUT THAT -wav/ralfherzog-20070911-en4/wav/en4-42.wav THIS IS A REALLY GOOD BUSINESS MODEL -wav/ralfherzog-20070911-en4/wav/en4-52.wav SHE HAS BEEN EXPECTING HIM -wav/ralfherzog-20070911-en4/wav/en4-62.wav SHE HAS COME TO THE RIGHT PLACE -wav/ralfherzog-20070911-en4/wav/en4-72.wav THEY WILL TAKE IT TO HIS HOUSE -wav/ralfherzog-20070911-en4/wav/en4-82.wav HE HAS TO BELIEVE HIM -wav/ralfherzog-20070912-vf26/wav/vf26-02.wav THIS WAS WHEN THE EXPLOSION OCCURRED -wav/ralfherzog-20070912-vf26/wav/vf26-12.wav HE IS A CANDIDATE RISING FROM THE SERF CLASS TO OUR CLASS -wav/ralfherzog-20070912-vf26/wav/vf26-22.wav HE HAD BECOME A MAN VERY EARLY IN LIFE -wav/ralfherzog-20070912-vf26/wav/vf26-32.wav THEY SAW EACH OTHER FOR THE FIRST TIME IN BOSTON -wav/ralfherzog-20070913-vf27/wav/vf27-02.wav ONE GUESS WILL DO ERNEST RETORTED -wav/ralfherzog-20070913-vf27/wav/vf27-12.wav ERNEST SAW IN THE AFFAIR THE MOST SINISTER IMPORT -wav/ralfherzog-20070913-vf27/wav/vf27-22.wav MANY OTHER SIMILAR DISCONCERTING OMISSIONS WILL BE NOTICED IN THE MANUSCRIPT -wav/ralfherzog-20070913-vf27/wav/vf27-32.wav THUS HE TURNED THE TENETS AND JARGON OF PSYCHOLOGY BACK ON ME -wav/ralfherzog-20070914-en5/wav/en5-02.wav THERE IS SOMETHING WRONG WITH HER -wav/ralfherzog-20070914-en5/wav/en5-12.wav YOU ARE GOING TO TAKE ALL THIS GARBAGE -wav/ralfherzog-20070914-en5/wav/en5-22.wav THIS IS NO ENVIRONMENT FOR A CHILD -wav/ralfherzog-20070914-en5/wav/en5-32.wav HE DOESN'T KNOW WHAT ELSE TO DO -wav/ralfherzog-20070914-en5/wav/en5-42.wav SHE CAN'T IMAGINE WHAT HE THINKS ABOUT HER -wav/ralfherzog-20070914-en5/wav/en5-52.wav WHAT IS THAT SUPPOSED TO MEAN -wav/ralfherzog-20070914-en5/wav/en5-62.wav SHE TOLD HIM TO STOP FEELING SORRY FOR HIMSELF -wav/ralfherzog-20070914-en5/wav/en5-72.wav I APPRECIATE YOUR CONCERN BUT WE ARE GOING TO WORK THIS OUT -wav/ralfherzog-20070914-en5/wav/en5-82.wav I WILL BE RIGHT BACK -wav/ralfherzog-20070914-en5/wav/en5-92.wav SHE DOESN'T WANT TO HURT HIM -wav/ralfherzog-20070917-en6/wav/en6-07.wav IT IS FAR LESS COMMON -wav/ralfherzog-20070917-en6/wav/en6-17.wav SHE TOOK IT OUT ON HIM -wav/ralfherzog-20070917-en6/wav/en6-27.wav HOW DID HE GET IN HERE -wav/ralfherzog-20070917-en6/wav/en6-37.wav IT ENCODES A SINGLE BINARY UNIT OF INFORMATION -wav/ralfherzog-20070917-en6/wav/en6-47.wav A HARD DISK DRIVE IS A STORAGE DEVICE -wav/ralfherzog-20070917-en6/wav/en6-57.wav HE DOESN'T LIKE THIS HE GOT A BAD FEELING -wav/ralfherzog-20070917-en6/wav/en6-67.wav THEY HAVE TO HEAR IT -wav/ralfherzog-20070917-en6/wav/en6-77.wav HE IS YELLING AT HER -wav/ralfherzog-20070917-en6/wav/en6-87.wav SHE HAS BEEN KEEPING TRACK OF HIM -wav/ralfherzog-20070923-en8/wav/en8-010.wav BUT SHE IS GLAD THEY DID IT -wav/ralfherzog-20070923-en8/wav/en8-020.wav SHE DIDN'T NEED TO KNOW THAT EITHER -wav/ralfherzog-20070923-en8/wav/en8-030.wav IT COULD LAST HIS LIFETIME -wav/ralfherzog-20070923-en8/wav/en8-040.wav IT HAS BEEN THE ULTIMATE FOR OVER TWENTY YEARS -wav/ralfherzog-20070923-en8/wav/en8-050.wav HE TALKS ABOUT IT ALL THE TIME -wav/ralfherzog-20070923-en8/wav/en8-060.wav HE JUST NEEDED TO GET AWAY FROM IT -wav/ralfherzog-20070923-en8/wav/en8-070.wav SHE THINKS IT IS HIS FAULT -wav/ralfherzog-20070923-en8/wav/en8-080.wav HE HAS JUST BEEN PROMOTED -wav/ralfherzog-20070923-en8/wav/en8-090.wav WHETHER HE LIKES IT OR NOT THEY HAVE TO BE INVOLVED -wav/ralfherzog-20070923-en8/wav/en8-100.wav THERE IS NOTHING TO WORRY ABOUT -wav/ralfherzog-20070923-en8/wav/en8-110.wav WHERE DOES HE WANT HER TO GO -wav/ralfherzog-20070923-en8/wav/en8-120.wav THEY TOOK HIM FOR A REASON -wav/ralfherzog-20070923-en8/wav/en8-130.wav WHY DID HE GET THIS FROM HER -wav/ralfherzog-20070923-en8/wav/en8-140.wav THEY OBVIOUSLY DON'T TRUST HIM -wav/ralfherzog-20070923-en8/wav/en8-150.wav THAT IS WHAT HE THOUGHT -wav/ralfherzog-20070923-en8/wav/en8-160.wav HE HAS TO THINK ABOUT IT -wav/ralfherzog-20070923-en8/wav/en8-170.wav THEY HAVE TO GET OUT OF HERE -wav/ralfherzog-20070924-en9/wav/en9-004.wav SHE WISHES IT WERE THAT SIMPLE -wav/ralfherzog-20070924-en9/wav/en9-014.wav THEY ARE GOING TO BE A FAMILY AGAIN -wav/ralfherzog-20070924-en9/wav/en9-024.wav SHE IS A LITTLE WORRIED ABOUT HIM -wav/ralfherzog-20070924-en9/wav/en9-034.wav HE IS NOT COOPERATING -wav/ralfherzog-20070924-en9/wav/en9-044.wav SHE IS IN BIG TROUBLE -wav/ralfherzog-20070924-en9/wav/en9-054.wav THEY SHOULD START THE OTHER LINE -wav/ralfherzog-20070924-en9/wav/en9-064.wav IT IS KNOWN AS THE CENTRAL PROCESSING UNIT -wav/ralfherzog-20070924-en9/wav/en9-074.wav THEY ARE BASED ON TINY INTEGRATED CIRCUITS -wav/ralfherzog-20070924-en9/wav/en9-084.wav WHAT WAS THAT ABOUT -wav/ralfherzog-20070924-en9/wav/en9-094.wav BUT IT DIDN'T WORK -wav/ralfherzog-20070924-en9/wav/en9-104.wav IT LOOKS LIKE THEY HAVE THE RIGHT COUPLE -wav/ralfherzog-20070924-en9/wav/en9-114.wav THAT IS NOT GOOD ENOUGH -wav/ralfherzog-20070924-en9/wav/en9-124.wav HE IS GOING TO FIND HER -wav/ralfherzog-20070924-en9/wav/en9-134.wav THERE ARE SOME MORE COMPLEX CPU DESIGNS -wav/ralfherzog-20070924-en9/wav/en9-144.wav IT IS PROBABLY A FALSE ALARM -wav/ralfherzog-20070924-en9/wav/en9-154.wav JUST DON'T PAY ANY ATTENTION TO HER -wav/ralfherzog-20070924-en9/wav/en9-164.wav I WILL GET BACK TO HIM AS SOON AS I CAN -wav/ralfherzog-20070924-en9/wav/en9-174.wav HAVE A NICE DAY -wav/ralfherzog-20071001-en10/wav/en10-009.wav THEY ARE MOVING AWAY -wav/ralfherzog-20071001-en10/wav/en10-019.wav WHAT ARE THEY SUPPOSED TO DO -wav/ralfherzog-20071001-en10/wav/en10-029.wav THEY ARE GOING TO BE ALL RIGHT -wav/ralfherzog-20071001-en10/wav/en10-039.wav SHE WAS SURPRISED YOU CALLED LAST NIGHT -wav/ralfherzog-20071001-en10/wav/en10-049.wav THEY DON'T NEED TO WORRY ABOUT THAT RIGHT NOW -wav/ralfherzog-20071001-en10/wav/en10-059.wav AND HE THINKS IT IS JUST GETTING STARTED -wav/ralfherzog-20071001-en10/wav/en10-069.wav POLITICAL MAPS DISPLAY INFORMATION ABOUT COUNTRIES -wav/ralfherzog-20071001-en10/wav/en10-079.wav THEY ARE NOW REGARDED AS INVESTMENT -wav/ralfherzog-20071001-en10/wav/en10-089.wav THIS IS A CONVENTIONAL MAP OF THE WORLD -wav/ralfherzog-20071001-en10/wav/en10-099.wav LOGICAL CONJUNCTION IS AN OPERATION ON TWO PROPOSITIONS -wav/ralfherzog-20071001-en10/wav/en10-109.wav THEY CAN COMPUTE THE VALUES OF PROPOSITIONAL EXPRESSIONS -wav/ralfherzog-20071001-en10/wav/en10-119.wav THIS CONDENSED NOTATION IS PARTICULARLY USEFUL -wav/ralfherzog-20071001-en10/wav/en10-129.wav THEY CAN HAVE ONE OF TWO VALUES -wav/ralfherzog-20071001-en10/wav/en10-139.wav OTHER REPRESENTATIONS ARE BINARY DECISION DIAGRAMS AND TEXT EQUATIONS -wav/ralfherzog-20071001-en10/wav/en10-149.wav THE CIRCLE DOES NOT OVERLAP WITH THE ORANGE ONE -wav/ralfherzog-20071007-en11/wav/en11-009.wav THAT IS A GOOD IDEA -wav/ralfherzog-20071007-en11/wav/en11-019.wav ENJOY THE REST OF THE EVENING -wav/ralfherzog-20071007-en11/wav/en11-029.wav THE FOLLOWING SYNTAX IS DESCRIBED USING AN EXTENDED NOTATION -wav/ralfherzog-20071007-en11/wav/en11-039.wav THEY ARE IMPORTANT CONSTITUENTS OF MANY PRODUCTS -wav/ralfherzog-20071007-en11/wav/en11-049.wav IT IS MADE OF THE MIXTURE OF TWO METALS -wav/ralfherzog-20071007-en11/wav/en11-059.wav THE BOOK CONTAINS ONTOLOGICAL SPECULATION -wav/ralfherzog-20071007-en11/wav/en11-069.wav I DON'T BELIEVE THIS -wav/ralfherzog-20071007-en11/wav/en11-079.wav YOU MAY SUBMIT YOUR SPEECH TO THE PROJECT -wav/ralfherzog-20071007-en11/wav/en11-089.wav SHE IS THE ONLY ONE WHO IS IN CONTACT WITH HIM -wav/ralfherzog-20071007-en11/wav/en11-099.wav SHE DOESN'T THINK SHE CAN TAKE MUCH MORE OF THIS -wav/ralfherzog-20071007-en11/wav/en11-109.wav WHO HAS ACCESS TO THE ARCHIVES -wav/ralfherzog-20071007-en11/wav/en11-119.wav HE IS THE PERSON TO WHOM AN OBLIGATION EXISTS -wav/ralfherzog-20071007-en11/wav/en11-129.wav MAYBE THEY SHOULD FIND OUT -wav/ralfherzog-20071007-en11/wav/en11-139.wav THE METAL HAS A BRILLIANT LUSTER -wav/ralfherzog-20071010-en12/wav/en12-007.wav HE HAS ADDED A SIGNIFICANT AMOUNT OF WORDS TO THE DICTIONARY -wav/ralfherzog-20071010-en12/wav/en12-017.wav YOU CAN CREATE A PROFILE FOR EACH USER -wav/ralfherzog-20071010-en12/wav/en12-027.wav THIS LEADS TO A SENTENCE LIKE THIS -wav/ralfherzog-20071010-en12/wav/en12-037.wav THE RULES SPECIFY HOW MEANINGS ARE CREATED -wav/ralfherzog-20071010-en12/wav/en12-047.wav YOU CAN LEARN HOW TO RECORD YOUR SPEECH -wav/ralfherzog-20071010-en12/wav/en12-057.wav THEY WERE VERY THIN AND IN GREAT DISTRESS -wav/ralfherzog-20071010-en12/wav/en12-067.wav THIS FEATURE ONLY WORKS FOR REMOVABLE STORAGE DEVICES -wav/ralfherzog-20071010-en12/wav/en12-077.wav WHAT IS YOUR OPINION ABOUT THAT -wav/ralfherzog-20071010-en12/wav/en12-087.wav HOW MANY PEOPLE HAS HE EMPLOYED -wav/ralfherzog-20071010-en12/wav/en12-097.wav ALL FINAL ENTRIES WILL BE APPROVED BY THE EDITOR OF THE DICTIONARY -wav/ralfherzog-20071010-en12/wav/en12-107.wav THEY GENERATED THIS DICTIONARY USING SEVERAL INDEPENDENT SOURCES -wav/ralfherzog-20071010-en12/wav/en12-117.wav SIMPLY EXTRACT THE FILE TO A DIRECTORY -wav/ralfherzog-20071010-en12/wav/en12-127.wav THIS IS THE DOMAIN OF THAT SOLUTION -wav/ralfherzog-20071010-en12/wav/en12-137.wav THE COMPUTER DOESN'T MIND BUT THE HUMAN DOES -wav/ralfherzog-20071010-en12/wav/en12-147.wav THIS IS THE DIRECTION OF THE FIELD -wav/ralfherzog-20071010-en12/wav/en12-157.wav YOU CAN'T FIGURE OUT WHAT YOU ARE TALKING ABOUT -wav/ralfherzog-20071010-en12/wav/en12-167.wav THE BOOK HAS A VERY GOOD EXPLANATION OF THAT -wav/ralfherzog-20071010-en12/wav/en12-177.wav THE THEOREM HAS NO EXCEPTIONS -wav/ralfherzog-20071010-en12/wav/en12-187.wav THE OBJECT IS IMPLIED BUT NOT STATED -wav/ralfherzog-20071010-en12/wav/en12-197.wav LET'S SAY HERE WAS THE STARTING POINT -wav/ralfherzog-20071010-en12/wav/en12-207.wav THEY HAVE TO FIND THE MISTAKES -wav/ralfherzog-20071010-en12/wav/en12-217.wav THIS IS THE OLD POINT -wav/ralfherzog-20071010-en12/wav/en12-227.wav THIS IS THE INITIAL CONDITION -wav/ralfherzog-20071013-en13/wav/en13-007.wav THEY HAVE TO CALCULATE THOSE SLOPES -wav/ralfherzog-20071013-en13/wav/en13-017.wav DOES HE HAVE TO SAY ANYTHING ELSE -wav/ralfherzog-20071013-en13/wav/en13-027.wav THIS IS A SIMPLE IMPROVEMENT -wav/ralfherzog-20071013-en13/wav/en13-037.wav IT IS CALLED THE DIFFUSION EQUATION -wav/ralfherzog-20071013-en13/wav/en13-047.wav THAT IS THE EQUATION THEY ARE TALKING ABOUT -wav/ralfherzog-20071013-en13/wav/en13-057.wav HE INTRODUCED SEVERAL NOTATIONAL CONVENTIONS -wav/ralfherzog-20071013-en13/wav/en13-067.wav THEY HAVE BEEN CHARGED TO THE SAME POLARITY -wav/ralfherzog-20071013-en13/wav/en13-077.wav HE CAN PUT IT ON THE OUTSIDE -wav/ralfherzog-20071013-en13/wav/en13-087.wav THEY FOUND THE INTEGRATING FACTOR -wav/ralfherzog-20071013-en13/wav/en13-097.wav SHE WORKS VERY ACCURATELY -wav/ralfherzog-20071013-en13/wav/en13-107.wav WE CAN MEASURE THE CHARGE ON THE GROUND PLANE -wav/ralfherzog-20071013-en13/wav/en13-117.wav THEY ARE GOING TO USE IT -wav/ralfherzog-20071013-en13/wav/en13-127.wav THIS WILL BE SOLVED BY AN EQUATION -wav/ralfherzog-20071013-en13/wav/en13-137.wav THIS IS THE RIGHT WORD TO DESCRIBE THEM -wav/ralfherzog-20071013-en13/wav/en13-147.wav THEY HAVE TO ILLUSTRATE THE FACT -wav/ralfherzog-20071013-en13/wav/en13-157.wav SHE WILL BE ABLE TO DO IT -wav/ralfherzog-20071013-en13/wav/en13-167.wav THIS IS WHAT THEY CAN DO -wav/ralfherzog-20071013-en13/wav/en13-177.wav HE KNOWS HOW TO SOLVE TWO KINDS OF DIFFERENTIAL EQUATIONS -wav/ralfherzog-20071013-en13/wav/en13-187.wav THE FIRST LECTURE WILL BE WITHIN MINUTES -wav/ralfherzog-20071014-en14/wav/en14-04.wav THERE IS NO NEED TO INCLUDE THE INTEGRATING CONSTANT -wav/ralfherzog-20071014-en14/wav/en14-104.wav THAT IS WHAT YOU ARE DOING HERE -wav/ralfherzog-20071014-en14/wav/en14-113.wav THEY ARE TALKING ABOUT THE SERIES -wav/ralfherzog-20071014-en14/wav/en14-122.wav YOU CAN ALWAYS MULTIPLY THE NUMBER -wav/ralfherzog-20071014-en14/wav/en14-13.wav THIS IS DOING WHAT YOU ARE SUPPOSED TO DO -wav/ralfherzog-20071014-en14/wav/en14-23.wav THIS IS THE INTEGRATING FACTOR -wav/ralfherzog-20071014-en14/wav/en14-33.wav THIS IS AN EXTREMELY BEAUTIFUL FORMULA -wav/ralfherzog-20071014-en14/wav/en14-43.wav HE WANTED TO MULTIPLY THIS EQUATION -wav/ralfherzog-20071014-en14/wav/en14-53.wav THIS WILL BE TOTALLY CONNECTED -wav/ralfherzog-20071014-en14/wav/en14-63.wav THEY TRY TO GET THE BASIC INFORMATION -wav/ralfherzog-20071014-en14/wav/en14-73.wav THAT REPRESENTS THE RATE OF CHANGE -wav/ralfherzog-20071014-en14/wav/en14-83.wav THE SOLUTION WILL BE DECREASING -wav/ralfherzog-20071014-en14/wav/en14-93.wav THE SAME THING IS GOING TO BE TRUE FOR THE INTEGRAL -wav/ralfherzog-20071028-en15/wav/en15-004.wav YOU ARE BACK WHERE YOU STARTED -wav/ralfherzog-20071028-en15/wav/en15-014.wav THIS IS THE NUMBER HE IS INTERESTED IN -wav/ralfherzog-20071028-en15/wav/en15-024.wav I THINK THAT WE HAVE A LOT TO DO -wav/ralfherzog-20071028-en15/wav/en15-034.wav IT TAKES A LOT OF TIME TO REPEAT ITSELF -wav/ralfherzog-20071028-en15/wav/en15-044.wav THERE IS NO STANDARD WAY OF DOING THAT -wav/ralfherzog-20071028-en15/wav/en15-054.wav THERE IS SOME PEOPLE OUTSIDE -wav/ralfherzog-20071028-en15/wav/en15-064.wav YOU HAVE JUST WHAT YOU STARTED WITH -wav/ralfherzog-20071028-en15/wav/en15-074.wav THIS IS THE EXTERNAL FORCE -wav/ralfherzog-20071028-en15/wav/en15-084.wav THEY HAVE TO FIND THOSE SOLUTIONS -wav/ralfherzog-20071028-en15/wav/en15-094.wav YOU ARE IN NO POSITION TO SAY YES OR NO -wav/ralfherzog-20071118-en17/wav/en17-04.wav HE IS DEMANDING A FULL PRESIDENTIAL PARDON -wav/ralfherzog-20071118-en17/wav/en17-14.wav THEY HAVE TO COME WITH US -wav/ralfherzog-20071118-en17/wav/en17-24.wav I AM NOT AS CERTAIN AS YOU ARE YOU MIGHT BE RIGHT -wav/ralfherzog-20071118-en17/wav/en17-34.wav IT WON'T TAKE MORE THAN A FEW MINUTES -wav/ralfherzog-20071118-en17/wav/en17-44.wav HE IS IN THE MIDDLE OF SOMETHING RIGHT NOW -wav/ralfherzog-20071118-en17/wav/en17-54.wav THERE WILL BE CONSEQUENCES FOR THIS -wav/ralfherzog-20071118-en17/wav/en17-64.wav YOU ARE GOING TO TELL ME EVERYTHING I WANT TO KNOW -wav/ralfherzog-20071118-en17/wav/en17-74.wav SHE KNOWS THAT YOU THINK SHE IS USEFUL TO YOU -wav/ralfherzog-20071118-en17/wav/en17-84.wav WHO AM I SPEAKING TO -wav/ralfherzog-20071118-en17/wav/en17-94.wav THEY ARE ON THEIR WAY TO THE CITY -wav/ralfherzog-20071120-en18/wav/en18-05.wav HE IS SORRY ABOUT WHAT HAPPENED -wav/ralfherzog-20071120-en18/wav/en18-15.wav WHAT IS GOING ON WITH HIM -wav/ralfherzog-20071120-en18/wav/en18-25.wav I DON'T KNOW WHAT YOU ARE TALKING ABOUT -wav/ralfherzog-20071120-en18/wav/en18-35.wav HE WAS ILLEGALLY DETAINED -wav/ralfherzog-20071120-en18/wav/en18-45.wav HE WAS SUPPOSED TO GET MARRIED TODAY -wav/ralfherzog-20071120-en18/wav/en18-55.wav THEY HAVE TO FORGET ABOUT HIM -wav/ralfherzog-20071120-en18/wav/en18-65.wav HIS OWN PEOPLE ARE WORKING AGAINST HIM -wav/ralfherzog-20071120-en18/wav/en18-75.wav SHE CAN'T SEE HIS FACE -wav/ralfherzog-20071120-en18/wav/en18-85.wav WHAT THE HELL DOES THAT MEAN -wav/ralfherzog-20071120-en18/wav/en18-95.wav MY DECISION IS FINAL THANK YOU FOR YOUR SUPPORT -wav/ralfherzog-20071123-en19/wav/en19-06.wav CAN YOU PLEASE CHECK THOSE NUMBERS -wav/ralfherzog-20071123-en19/wav/en19-16.wav THE MAIN ADVANTAGE IS THE REDUCTION OF STORAGE REQUIREMENTS -wav/ralfherzog-20071123-en19/wav/en19-26.wav THEY TRIED TO READ IT BUT IT IS ENCRYPTED -wav/ralfherzog-20071123-en19/wav/en19-36.wav I KNOW YOU DON'T BELIEVE ME -wav/ralfherzog-20071123-en19/wav/en19-46.wav DON'T YOU CARE ABOUT THE KIDS -wav/ralfherzog-20071123-en19/wav/en19-56.wav SHE HASN'T INITIATED CONTACT WITH ANYONE -wav/ralfherzog-20071123-en19/wav/en19-66.wav SHE DOESN'T KNOW WHAT SHE IS TALKING ABOUT -wav/ralfherzog-20071123-en19/wav/en19-76.wav I DON'T KNOW WHAT ELSE TO DO -wav/ralfherzog-20071123-en19/wav/en19-86.wav YOU ARE ASKING TOO MUCH -wav/ralfherzog-20071123-en19/wav/en19-96.wav THERE IS A SITUATION THAT REQUIRES HIS IMMEDIATE ATTENTION -wav/ralfherzog-20071124-en20/wav/en20-07.wav HE DOESN'T WANT TO SEE HER ANYMORE -wav/ralfherzog-20071124-en20/wav/en20-17.wav I WILL CALL HER AS SOON AS I GET THE CHANCE -wav/ralfherzog-20071124-en20/wav/en20-27.wav SHE IS NOT GOING TO GIVE YOU ANY INFORMATION -wav/ralfherzog-20071124-en20/wav/en20-37.wav THIS MIGHT BE A FAILURE OF LEADERSHIP -wav/ralfherzog-20071124-en20/wav/en20-47.wav HIS ANSWER IS FINAL -wav/ralfherzog-20071124-en20/wav/en20-57.wav THEY SHOULD PROBABLY GIVE HIM A MINUTE -wav/ralfherzog-20071124-en20/wav/en20-67.wav HE IS AFRAID OF WHAT IS GOING TO HAPPEN NEXT -wav/ralfherzog-20071124-en20/wav/en20-77.wav THIS TERM IS STILL USED IN CERTAIN CONTEXTS -wav/ralfherzog-20071125-en21/wav/en21-04.wav IT IS A LANGUAGE INDEPENDENT PROGRAM -wav/ralfherzog-20071125-en21/wav/en21-14.wav SHE IS TRYING TO GET AWAY -wav/ralfherzog-20071125-en21/wav/en21-24.wav WHAT ARE YOU GOING TO DO TO ME -wav/ralfherzog-20071125-en21/wav/en21-34.wav THEY ARE DESCRIBED IN THE REFERENCE SECTION -wav/ralfherzog-20071125-en21/wav/en21-44.wav THE BASIC OPERATION IS TO SCAN THE INPUT STREAMS -wav/ralfherzog-20071125-en21/wav/en21-54.wav THEY WILL FORM A SINGLE UNIFORM DICTIONARY -wav/ralfherzog-20071125-en21/wav/en21-64.wav PLAY THE REST OF THE TAPE -wav/ralfherzog-20071125-en21/wav/en21-74.wav THOSE DEPENDENCIES CAN ONLY BE GENERATED BY THIS PROGRAM -wav/ralfherzog-20071125-en21/wav/en21-84.wav NOTHING WAS OUT OF CONTROL -wav/ralfherzog-20071125-en21/wav/en21-94.wav COULD I HAVE A WORD WITH YOU -wav/ralfherzog-20071126-en22/wav/en22-05.wav HE IS NOT GOING ANYWHERE -wav/ralfherzog-20071126-en22/wav/en22-15.wav THE OUTPUT SYMBOL IS OPTIONAL -wav/ralfherzog-20071126-en22/wav/en22-25.wav HE IS TRYING TO SAY SOMETHING -wav/ralfherzog-20071126-en22/wav/en22-35.wav THIS IS FOR MORE COMPLEX GRAMMARS -wav/ralfherzog-20071126-en22/wav/en22-45.wav DO YOU NEED ANY HELP -wav/ralfherzog-20071126-en22/wav/en22-55.wav I WOULD NEVER LIE TO YOU -wav/ralfherzog-20071126-en22/wav/en22-65.wav HE HAS BEEN REMOVED FROM OFFICE -wav/ralfherzog-20071126-en22/wav/en22-76.wav YOU ARE A TRAITOR TO YOUR COUNTRY -wav/ralfherzog-20071126-en22/wav/en22-86.wav THEY JUST FINISHED SETTING UP THE FEED -wav/ralfherzog-20071126-en22/wav/en22-96.wav I NEED YOU TO GET ME IN CONTACT WITH HIM -wav/ralfherzog-20071126-en23/wav/en23-07.wav THEY WILL FIND OUT ABOUT THAT -wav/ralfherzog-20071126-en23/wav/en23-17.wav I AM GOING TO TELL THEM THAT YOU WERE HELPING HIM -wav/ralfherzog-20071126-en23/wav/en23-27.wav YOU HAVE TO CONSTRUCT THE CONTEXT DEPENDENT NAME -wav/ralfherzog-20071126-en23/wav/en23-37.wav CALL ME WHEN YOU'RE READY -wav/ralfherzog-20071126-en23/wav/en23-47.wav I THINK THERE IS A PROBLEM HERE -wav/ralfherzog-20071126-en23/wav/en23-57.wav HE NEEDS MEDICAL ASSISTANCE -wav/ralfherzog-20071126-en23/wav/en23-67.wav THEY ARE COMING WITH THE CHOPPER -wav/ralfherzog-20071126-en23/wav/en23-77.wav TAKE A SEAT ON THE COUCH -wav/ralfherzog-20071126-en23/wav/en23-87.wav IT IS NOT ALWAYS ABOUT THE TRUTH -wav/ralfherzog-20071126-en23/wav/en23-97.wav CAN I ASK YOU SOMETHING -wav/ralfherzog-20071126-en24/wav/en24-08.wav WHY SHOULD IT BE DIFFERENT -wav/ralfherzog-20071126-en24/wav/en24-18.wav I THINK WE SHOULD CONCENTRATE ON THE CASE -wav/ralfherzog-20071126-en24/wav/en24-28.wav IT CAN RECOGNIZE DIRECT AUDIO INPUT -wav/ralfherzog-20071126-en24/wav/en24-38.wav WHY WOULD YOU HIRE HIM TO DEFEND YOU -wav/ralfherzog-20071126-en24/wav/en24-48.wav IT CAN ALSO BE USED IN AUTOMATIC SYSTEMS -wav/ralfherzog-20071126-en24/wav/en24-58.wav A DIFFERENT TYPE OF CONTROL IS PROVIDED -wav/ralfherzog-20071126-en24/wav/en24-68.wav WE ARE STILL WAITING FOR HIM -wav/ralfherzog-20071126-en24/wav/en24-78.wav THIS WOULD RESULT IN THE FOLLOWING SEQUENCE OF EVENTS -wav/ralfherzog-20071126-en24/wav/en24-88.wav I CAN WORK THIS OUT -wav/ralfherzog-20071126-en24/wav/en24-98.wav YOU ARE GOING TO HELP ME -wav/ralfherzog-20071126-en25/wav/en25-09.wav THE TEST DATA HAS BEEN PROCESSED -wav/ralfherzog-20071126-en25/wav/en25-19.wav THE BASIC PRINCIPLE IS VERY SIMPLE -wav/ralfherzog-20071126-en25/wav/en25-29.wav THEY CAN BE REDIRECTED TO A DIFFERENT DIRECTORY USING THE OPTION -wav/ralfherzog-20071126-en25/wav/en25-39.wav THEY ARE DONE FOR TODAY -wav/ralfherzog-20071126-en25/wav/en25-49.wav THEY WERE DESTROYING AN EMPTY BUILDING -wav/ralfherzog-20071126-en25/wav/en25-59.wav SHE WANTS TO GO HOME -wav/ralfherzog-20071126-en25/wav/en25-69.wav WHAT DO YOU KNOW ABOUT THEM -wav/ralfherzog-20071126-en25/wav/en25-79.wav SHE HAS NOTHING TO HIDE -wav/ralfherzog-20071126-en25/wav/en25-89.wav THEY HAD THE SAME KEY -wav/ralfherzog-20071126-en25/wav/en25-99.wav THEY COME TOGETHER TODAY TO MAKE A DECISION -wav/ralfherzog-20071126-en26/wav/en26-10.wav IT IS THE STORAGE SPACE THAT MUST BE CONSIDERED -wav/ralfherzog-20071126-en26/wav/en26-20.wav HAVE A GREAT TIME -wav/ralfherzog-20071126-en26/wav/en26-30.wav THE AGENCY WON'T GO AFTER IT -wav/ralfherzog-20071126-en26/wav/en26-40.wav I PROBABLY COULD HAVE SURVIVED -wav/ralfherzog-20071126-en26/wav/en26-50.wav THIS MAKES A LOT OF SENSE -wav/ralfherzog-20071126-en26/wav/en26-60.wav YOU HAVE TO TELL ME EVERYTHING -wav/ralfherzog-20071126-en26/wav/en26-70.wav KEEP YOUR VOICE DOWN -wav/ralfherzog-20071126-en26/wav/en26-80.wav I JUST NEEDED SOME TIME -wav/ralfherzog-20071126-en26/wav/en26-90.wav BUT THEY WERE CONVINCED HE WAS HERE -wav/ralfherzog-20071201-en27/wav/en27-01.wav I NEED TO TELL YOU SOMETHING -wav/ralfherzog-20071201-en27/wav/en27-11.wav WHAT IS GOING ON -wav/ralfherzog-20071201-en27/wav/en27-21.wav I PROMISE YOU HE WILL NOT TALK -wav/ralfherzog-20071201-en27/wav/en27-31.wav I APPRECIATE YOU TALKING TO ME -wav/ralfherzog-20071201-en27/wav/en27-41.wav SO MY LIFE IS GOING TO BE IN YOUR HANDS -wav/ralfherzog-20071201-en27/wav/en27-51.wav THIS IS ABOUT HIS MEMORY -wav/ralfherzog-20071201-en27/wav/en27-61.wav THEY CAN BE STORED AS PART OF THE LANGUAGE MODEL -wav/ralfherzog-20071201-en27/wav/en27-71.wav YOU WANT TO TELL ME WHAT IS GOING ON -wav/ralfherzog-20071201-en27/wav/en27-81.wav THEY HAVE GOT TO RUN -wav/ralfherzog-20071201-en27/wav/en27-91.wav HERE IS MY QUESTION -wav/ralfherzog-20071205-en28/wav/en28-02.wav YOU WOULD BE PUTTING ALL OF THAT AT RISK -wav/ralfherzog-20071205-en28/wav/en28-12.wav I WILL BE RIGHT THERE -wav/ralfherzog-20071205-en28/wav/en28-22.wav WE DON'T KNOW YET -wav/ralfherzog-20071205-en28/wav/en28-32.wav YOU HAVE TO GO TO THE MARKET -wav/ralfherzog-20071205-en28/wav/en28-42.wav DON'T FORGET THOSE THINGS -wav/ralfherzog-20071205-en28/wav/en28-52.wav WE WILL TALK WHEN YOU GET BACK -wav/ralfherzog-20071205-en28/wav/en28-62.wav YOU CAN'T GUARANTEE CONTAINMENT -wav/ralfherzog-20071205-en28/wav/en28-72.wav YOU HAVE TO GET OUT OF HERE -wav/ralfherzog-20071205-en28/wav/en28-82.wav HE SHOULD GIVE IT TO YOU -wav/ralfherzog-20071205-en28/wav/en28-92.wav THEY WOULD LIKE TO GO OUT OF HERE -wav/ralfherzog-20071205-en29/wav/en29-03.wav I WILL SEE WHAT I CAN DO -wav/ralfherzog-20071205-en29/wav/en29-13.wav HE WANTS TO DIRECT HIS POWER AGAINST THE PEOPLE THAT DESERVE IT -wav/ralfherzog-20071205-en29/wav/en29-23.wav WHAT IS IT YOU ARE NOT TELLING ME -wav/ralfherzog-20071205-en29/wav/en29-33.wav YOU WANT TO GO TO SLEEP -wav/ralfherzog-20071205-en29/wav/en29-43.wav WE WILL HAVE TO COME BACK -wav/ralfherzog-20071205-en29/wav/en29-53.wav I CAME HERE TO SEE YOU -wav/ralfherzog-20071205-en29/wav/en29-63.wav SHE HAS A REPUTATION TO PROTECT -wav/ralfherzog-20071205-en29/wav/en29-73.wav SO WHAT DO YOU WANT ME TO DO -wav/ralfherzog-20071205-en29/wav/en29-83.wav THIS IS A TRUE STORY -wav/ralfherzog-20071205-en29/wav/en29-93.wav I DIDN'T DO ANYTHING WRONG -wav/ralfherzog-20071206-en30/wav/en30-04.wav THE TABLE WILL BE STORED -wav/ralfherzog-20071206-en30/wav/en30-14.wav YOU MIGHT WISH TO DO THIS TO DECREASE THE SIZE -wav/ralfherzog-20071206-en30/wav/en30-24.wav THIS IS DEFINITELY THE MAN I SAW -wav/ralfherzog-20071206-en30/wav/en30-34.wav I AM ASKING YOU TO LEAVE -wav/ralfherzog-20071206-en30/wav/en30-44.wav HE MIGHT NOT GET OUT -wav/ralfherzog-20071206-en30/wav/en30-54.wav I HOPE YOU CAN UNDERSTAND -wav/ralfherzog-20071206-en30/wav/en30-64.wav THEY HAVE TIME TO THINK ABOUT THEIR BEHAVIOR -wav/ralfherzog-20071206-en30/wav/en30-74.wav I BELIEVE THAT HE IS NOT READY -wav/ralfherzog-20071206-en30/wav/en30-84.wav I GOT SOMETHING FOR YOU -wav/ralfherzog-20071206-en30/wav/en30-94.wav I DON'T KNOW WHAT TO TELL YOU -wav/ralfherzog-20071206-en31/wav/en31-05.wav BUT WE CAN'T ACCEPT GIFTS -wav/ralfherzog-20071206-en31/wav/en31-15.wav YOU DIDN'T TRY TO FINISH THE JOB -wav/ralfherzog-20071206-en31/wav/en31-25.wav YOU HAVE TO GO THIS WAY -wav/ralfherzog-20071206-en31/wav/en31-35.wav THEY DON'T NEED TO SEE THIS -wav/ralfherzog-20071206-en31/wav/en31-45.wav THE LANGUAGE MODELS HAVE BEEN GENERATED -wav/ralfherzog-20071206-en31/wav/en31-55.wav DON'T SET THE VALUE IN THE CONFIGURATION FILE -wav/ralfherzog-20071206-en31/wav/en31-65.wav WHAT ARE YOU DOING HERE -wav/ralfherzog-20071206-en31/wav/en31-75.wav I DIDN'T MEAN IT -wav/ralfherzog-20071206-en31/wav/en31-85.wav DO YOU HAVE ANY PLANS FOR THE WEEKEND -wav/ralfherzog-20071206-en31/wav/en31-95.wav YOU COULD HAVE HURT SOMEONE -wav/ralfherzog-20071207-en32/wav/en32-06.wav SHE IS JUST OFFERING SOME MORAL SUPPORT -wav/ralfherzog-20071207-en32/wav/en32-16.wav MY BROTHER CAME HERE ALL THE TIME -wav/ralfherzog-20071207-en32/wav/en32-26.wav IT IS GENERATED BY THE TOOL -wav/ralfherzog-20071207-en32/wav/en32-36.wav THE OPTION SHOULD BE USED -wav/ralfherzog-20071207-en32/wav/en32-46.wav IT SOUNDS LIKE FUN -wav/ralfherzog-20071207-en32/wav/en32-56.wav HE WAS RAISED BY YOUR PARENTS -wav/ralfherzog-20071207-en32/wav/en32-66.wav MAYBE YOU'RE PICKING UP THE WRONG FILE -wav/ralfherzog-20071207-en32/wav/en32-76.wav YOU'RE STILL A MEMBER OF THIS FAMILY -wav/ralfherzog-20071207-en32/wav/en32-86.wav THIS OFTEN LEADS TO FURTHER IMPROVEMENTS -wav/ralfherzog-20071207-en32/wav/en32-96.wav HAVE YOU EVER HEARD OF HIM -wav/ralfherzog-20071208-en33/wav/en33-07.wav WHAT DO YOU NEED ME FOR -wav/ralfherzog-20071208-en33/wav/en33-17.wav I AM GETTING YOU TO A DOCTOR -wav/ralfherzog-20071208-en33/wav/en33-27.wav THIS DOESN'T CHANGE THINGS BETWEEN US -wav/ralfherzog-20071208-en33/wav/en33-37.wav IT HAS BEEN UPDATED TEN TIMES SINCE IT WAS CREATED -wav/ralfherzog-20071208-en33/wav/en33-47.wav IT IS NOT JUST THE PAPER -wav/ralfherzog-20071208-en33/wav/en33-57.wav I'M NOT TRYING TO EXPOSE YOU -wav/ralfherzog-20071208-en33/wav/en33-67.wav IF I WERE YOU I WOULD FIND OUT WHY -wav/ralfherzog-20071208-en33/wav/en33-77.wav GIVE ME ONE GOOD REASON -wav/ralfherzog-20071208-en33/wav/en33-87.wav I KNOW HE IS UNBREAKABLE -wav/ralfherzog-20071208-en33/wav/en33-97.wav YOU KNOW WHO I AM -wav/ralfherzog-20071209-en34/wav/en34-08.wav THE BODY PART IS DEFINED AS FOLLOWS -wav/ralfherzog-20071209-en34/wav/en34-18.wav THAT WOULD BE ILLEGAL -wav/ralfherzog-20071209-en34/wav/en34-28.wav IT IS IMPORTANT TO BE AWARE OF IT -wav/ralfherzog-20071209-en34/wav/en34-38.wav YOU KNOW WHAT THE WORST PART IS -wav/ralfherzog-20071209-en34/wav/en34-48.wav HOW FAR AWAY ARE YOU -wav/ralfherzog-20071209-en34/wav/en34-58.wav WE ARE JUST GETTING STARTED -wav/ralfherzog-20071209-en34/wav/en34-68.wav THIS IS A SIMPLE WORD LIST -wav/ralfherzog-20071209-en34/wav/en34-78.wav YOU HAVE CREATED THIS PICTURE OF WHO I AM -wav/ralfherzog-20071209-en34/wav/en34-88.wav THERE IS NOTHING WRONG WITH BEING DIFFERENT -wav/ralfherzog-20071209-en34/wav/en34-98.wav WHERE DID HE GO -wav/ralfherzog-20071210-en35/wav/en35-09.wav YOU CAN TELL ME EVERYTHING -wav/ralfherzog-20071210-en35/wav/en35-19.wav WE KNOW THAT YOU WILL DO THE RIGHT THING -wav/ralfherzog-20071210-en35/wav/en35-29.wav I DON'T KNOW WHAT YOU'RE TALKING ABOUT -wav/ralfherzog-20071210-en35/wav/en35-39.wav WHAT MAKES YOU THINK IT IS A COPY -wav/ralfherzog-20071210-en35/wav/en35-49.wav SHE SHOULD HAVE STAYED -wav/ralfherzog-20071210-en35/wav/en35-59.wav SHE DOESN'T WANT TO SEND THE WRONG SIGNAL -wav/ralfherzog-20071210-en35/wav/en35-69.wav WE WILL PROTECT EACH OTHER -wav/ralfherzog-20071210-en35/wav/en35-79.wav HE IS NOT THE ONLY VICTIM -wav/ralfherzog-20071210-en35/wav/en35-89.wav I JUST DON'T WANT YOU TO CHANGE -wav/ralfherzog-20071210-en35/wav/en35-99.wav HOW MAY I HELP YOU -wav/ralfherzog-20071211-en36/wav/en36-10.wav THAT IS WHERE HE WAS TRAVELING -wav/ralfherzog-20071211-en36/wav/en36-20.wav THIS IS WHAT THEY WANT -wav/ralfherzog-20071211-en36/wav/en36-30.wav I DIDN'T MEAN TO SCARE YOU -wav/ralfherzog-20071211-en36/wav/en36-40.wav IT IS NICE TO SEE YOU AGAIN -wav/ralfherzog-20071211-en36/wav/en36-50.wav WHAT ARE WE SUPPOSED TO DO -wav/ralfherzog-20071211-en36/wav/en36-60.wav YOU HAVE TO LOOK AT THIS -wav/ralfherzog-20071211-en36/wav/en36-70.wav I NEED TO TALK TO YOU ABOUT THOSE THINGS -wav/ralfherzog-20071211-en36/wav/en36-80.wav DO YOU KNOW WHERE SHE IS -wav/ralfherzog-20071211-en36/wav/en36-90.wav WE ARE SAVING THEM -wav/ralfherzog-20071212-en37/wav/en37-01.wav THAT IS WHAT YOU SHOULD SAY -wav/ralfherzog-20071212-en37/wav/en37-11.wav THAT IS JUST NOISE -wav/ralfherzog-20071212-en37/wav/en37-21.wav HERE IS WHAT WE ARE GOING TO DO -wav/ralfherzog-20071212-en37/wav/en37-31.wav CAN I SPEAK TO YOU FOR A MOMENT -wav/ralfherzog-20071212-en37/wav/en37-41.wav I AM YOUR TEACHER -wav/ralfherzog-20071212-en37/wav/en37-51.wav WHAT IS THE OTHER REASON -wav/ralfherzog-20071212-en37/wav/en37-61.wav HE IS TRYING TO BUILD SOMETHING -wav/ralfherzog-20071212-en37/wav/en37-71.wav CAN I SEE YOU FOR A SECOND -wav/ralfherzog-20071212-en37/wav/en37-81.wav I DON'T WANT TO TALK ABOUT IT -wav/ralfherzog-20071212-en37/wav/en37-91.wav I DON'T THINK SO -wav/ralfherzog-20071214-en38/wav/en38-02.wav WHAT DO YOU THINK YOU ARE DOING -wav/ralfherzog-20071214-en38/wav/en38-12.wav I CAN'T BELIEVE YOU LIED TO ME -wav/ralfherzog-20071214-en38/wav/en38-22.wav THIS IS REALLY BEAUTIFUL -wav/ralfherzog-20071214-en38/wav/en38-32.wav YOU HAVE TO STOP SCREAMING -wav/ralfherzog-20071214-en38/wav/en38-42.wav HE WANTED IT TO BE A SURPRISE -wav/ralfherzog-20071214-en38/wav/en38-52.wav I DIDN'T WANT TO TELL YOU -wav/ralfherzog-20071214-en38/wav/en38-62.wav THE TEST BUTTON ALLOWS THE CORRECT OPERATION -wav/ralfherzog-20071214-en38/wav/en38-72.wav I THINK WE SHOULD INVITE THEM -wav/ralfherzog-20071214-en38/wav/en38-82.wav I AM TELLING YOU THAT I WILL DO IT -wav/ralfherzog-20071214-en38/wav/en38-92.wav CORRECT ME IF I'M WRONG -wav/ralfherzog-20071215-en39/wav/en39-03.wav DO YOU THINK YOU MADE A MISTAKE -wav/ralfherzog-20071215-en39/wav/en39-13.wav THIS IS THE ACOUSTIC MODEL -wav/ralfherzog-20071215-en39/wav/en39-23.wav YOU HAVEN'T DONE THAT -wav/ralfherzog-20071215-en39/wav/en39-33.wav I WANTED TO MAKE SURE THAT WE WERE DOING THE RIGHT THING -wav/ralfherzog-20071215-en39/wav/en39-43.wav THANKS FOR TAKING CARE OF ME -wav/ralfherzog-20071215-en39/wav/en39-53.wav WHAT DO YOU MEAN -wav/ralfherzog-20071215-en39/wav/en39-63.wav THEY GENERATE A NEW DICTIONARY -wav/ralfherzog-20071215-en39/wav/en39-73.wav I DIDN'T DO IT FOR HIM -wav/ralfherzog-20071215-en39/wav/en39-83.wav DID YOU KNOW THAT WE WERE FRIENDS -wav/ralfherzog-20071215-en39/wav/en39-93.wav HE HAS BEEN BUSY -wav/ralfherzog-20071216-en40/wav/en40-04.wav I GUESS I SHOULD BE GOING -wav/ralfherzog-20071216-en40/wav/en40-14.wav I KNOW WHAT YOU MEAN -wav/ralfherzog-20071216-en40/wav/en40-24.wav THEY HAVE HELPED ME IN SO MANY WAYS -wav/ralfherzog-20071216-en40/wav/en40-34.wav IT IS ONE OF THE BEST SYSTEMS IN THE WORLD TODAY -wav/ralfherzog-20071216-en40/wav/en40-44.wav THESE VARIABLES ARE USED FOR ALL KINDS OF PURPOSES -wav/ralfherzog-20071216-en40/wav/en40-54.wav YOU CAN WRITE YOUR OWN SCRIPTS -wav/ralfherzog-20071216-en40/wav/en40-64.wav SHE HAS BEEN THERE FROM THE BEGINNING -wav/ralfherzog-20071216-en40/wav/en40-74.wav IT IS PLOTTED USING DIFFERENT MEANS -wav/ralfherzog-20071216-en40/wav/en40-84.wav YOU HAVE TO GIVE HIM A BREAK -wav/ralfherzog-20071216-en40/wav/en40-94.wav FURTHER REDUCTIONS CAN BE ACHIEVED -wav/ralfherzog-20071217-en41/wav/en41-05.wav I CAN GO WITH YOU IF YOU WANT -wav/ralfherzog-20071217-en41/wav/en41-15.wav I DON'T KNOW -wav/ralfherzog-20071217-en41/wav/en41-25.wav BUT I DIDN'T SAY YES -wav/ralfherzog-20071217-en41/wav/en41-35.wav I KNOW WHAT YOU ARE DOING -wav/ralfherzog-20071217-en41/wav/en41-45.wav THIS IS THE NAME OF THE DATABASE -wav/ralfherzog-20071217-en41/wav/en41-55.wav YOU DON'T KNOW WHO YOU ARE -wav/ralfherzog-20071217-en41/wav/en41-65.wav ONLY ONE OF THEM COULD SURVIVE -wav/ralfherzog-20071217-en41/wav/en41-75.wav HE WOULD LIKE TO TALK ABOUT A JOB OPPORTUNITY -wav/ralfherzog-20071217-en41/wav/en41-85.wav WHY DON'T WE TAKE IT -wav/ralfherzog-20071217-en41/wav/en41-95.wav DON'T YOU THINK THAT I WANT THE BEST FOR YOU -wav/ralfherzog-20071218-en42/wav/en42-06.wav HE IS FALLING DOWN -wav/ralfherzog-20071218-en42/wav/en42-16.wav MAYBE IN ABOUT TWENTY YEARS -wav/ralfherzog-20071218-en42/wav/en42-26.wav LOOK AT YOURSELF -wav/ralfherzog-20071218-en42/wav/en42-36.wav I AM SORRY THAT HAPPENED -wav/ralfherzog-20071218-en42/wav/en42-46.wav THIS IS WHAT REALLY HAPPENS -wav/ralfherzog-20071218-en42/wav/en42-56.wav THIS WAS YOUR NEXT NEIGHBOR -wav/ralfherzog-20071218-en42/wav/en42-66.wav HE WOULD LIKE TO GO AWAY -wav/ralfherzog-20071218-en42/wav/en42-76.wav WHY WOULD THEY SAY THAT -wav/ralfherzog-20071218-en42/wav/en42-86.wav ANY CHANCE THEY COULD DO SOMETHING THIS WEEKEND -wav/ralfherzog-20071218-en42/wav/en42-96.wav HE WILL NOT WARN YOU AGAIN -wav/ralfherzog-20080108-en43/wav/en43-07.wav THIS HAS NEVER HAPPENED TO THEM BEFORE -wav/ralfherzog-20080108-en43/wav/en43-17.wav THEY HAVE A BETTER IDEA -wav/ralfherzog-20080108-en43/wav/en43-27.wav YOU NEED TO BE CAREFUL -wav/ralfherzog-20080108-en43/wav/en43-37.wav HE CAN SMELL FRESH AIR -wav/ralfherzog-20080108-en43/wav/en43-47.wav I DON'T KNOW WHAT TO TELL YOU -wav/ralfherzog-20080108-en43/wav/en43-57.wav THIS IS ALL THAT YOU NEED -wav/ralfherzog-20080108-en43/wav/en43-67.wav HE IS STILL IN THE CAR -wav/ralfherzog-20080108-en43/wav/en43-77.wav IT WAS NEVER USED -wav/ralfherzog-20080108-en43/wav/en43-87.wav THEY DON'T SHARE INFORMATION -wav/ralfherzog-20080108-en43/wav/en43-97.wav THEY CAN'T BE TRUSTED -wav/ralfherzog-20080109-en44/wav/en44-08.wav WHAT DID THEY HAVE IN MIND -wav/ralfherzog-20080109-en44/wav/en44-18.wav SHE IS IN TOWN -wav/ralfherzog-20080109-en44/wav/en44-28.wav THIS WILL DISPLAY THE FILE WITH THE CORRECT DIMENSIONS -wav/ralfherzog-20080109-en44/wav/en44-38.wav THEY CAN BE REPLACED -wav/ralfherzog-20080109-en44/wav/en44-48.wav YOU MAY NOW CONTINUE AND FINISH YOUR WORK -wav/ralfherzog-20080109-en44/wav/en44-58.wav IT AUTOMATICALLY CAPTURES THE SCREENSHOTS -wav/ralfherzog-20080109-en44/wav/en44-68.wav THEY CAN SEE THE TARGET WINDOW -wav/ralfherzog-20080109-en44/wav/en44-78.wav YOU CAN USE YOUR OWN IMAGES -wav/ralfherzog-20080109-en44/wav/en44-88.wav THIS IS ABOUT SEVERAL FEATURES -wav/ralfherzog-20080109-en44/wav/en44-98.wav I AM GLAD I WAS ABLE TO HELP -wav/ralfherzog-20080110-en45/wav/en45-09.wav I THINK THEY WERE CHOSEN -wav/ralfherzog-20080110-en45/wav/en45-19.wav THERE IS NOTHING TO WORRY ABOUT -wav/ralfherzog-20080110-en45/wav/en45-29.wav IT IS NICE TO MEET YOU -wav/ralfherzog-20080110-en45/wav/en45-39.wav THEY WERE HAVING A COUPLE OF BEERS -wav/ralfherzog-20080110-en45/wav/en45-49.wav PLEASE SUBMIT YOUR VOICE -wav/ralfherzog-20080110-en45/wav/en45-59.wav THE GOAL IS TO IMPLEMENT A CONTROL SYSTEM -wav/ralfherzog-20080110-en45/wav/en45-69.wav HE NEEDS HELP -wav/ralfherzog-20080110-en45/wav/en45-79.wav WHAT DOES THIS HAVE TO DO WITH THEM -wav/ralfherzog-20080110-en45/wav/en45-89.wav I AM NOT SUPPOSED TO TALK TO THEM -wav/ralfherzog-20080110-en45/wav/en45-99.wav THEY WILL TALK AGAIN -wav/ralfherzog-20080111-en46/wav/en46-10.wav THAT WAS PART OF THE DEAL -wav/ralfherzog-20080111-en46/wav/en46-20.wav HOW DOES IT FEEL TO BE BACK -wav/ralfherzog-20080111-en46/wav/en46-30.wav I HAVE TO BE GLAD TO BE HERE -wav/ralfherzog-20080111-en46/wav/en46-40.wav THAT IS NOT FAIR -wav/ralfherzog-20080111-en46/wav/en46-50.wav YOU ARE PART OF THIS -wav/ralfherzog-20080111-en46/wav/en46-60.wav THEY ARE OUT OF THE HOUSE -wav/ralfherzog-20080111-en46/wav/en46-70.wav HE WILL KEEP THAT IN MIND -wav/ralfherzog-20080111-en46/wav/en46-80.wav IT IS NOT WHAT THEY DO -wav/ralfherzog-20080111-en46/wav/en46-90.wav IT WILL BE POSSIBLE TO GET AN IMPRESSION -wav/ralfherzog-20080112-en47/wav/en47-01.wav YOU KNOW WHAT THEY SAY -wav/ralfherzog-20080112-en47/wav/en47-11.wav YOU ARE GOING TO BE FINE -wav/ralfherzog-20080112-en47/wav/en47-21.wav WHY WOULD HE PROTECT SOMEBODY -wav/ralfherzog-20080112-en47/wav/en47-31.wav HE IS NOT COMFORTABLE WORKING WITH HER -wav/ralfherzog-20080112-en47/wav/en47-41.wav I GAVE YOU AN ORDER -wav/ralfherzog-20080112-en47/wav/en47-51.wav I WANT TO TALK TO THEM -wav/ralfherzog-20080112-en47/wav/en47-61.wav TODAY IS NOT ABOUT YOU OR ME -wav/ralfherzog-20080112-en47/wav/en47-71.wav THIS IS WHAT HE WANTS -wav/ralfherzog-20080112-en47/wav/en47-81.wav THEY ARE BEING FOLLOWED -wav/ralfherzog-20080112-en47/wav/en47-91.wav THEY NEED TO KNOW IF THEY SHOULD BE WORRIED ABOUT YOU -wav/ralfherzog-20080113-en48/wav/en48-02.wav SHE IS REALLY NOT IN THE MOOD -wav/ralfherzog-20080113-en48/wav/en48-12.wav SHE IS CHECKING FOR AN UPDATE RIGHT NOW -wav/ralfherzog-20080113-en48/wav/en48-22.wav THIS MIGHT BE OUR FIRST CHANCE -wav/ralfherzog-20080113-en48/wav/en48-32.wav ARE YOU SURE ABOUT THAT -wav/ralfherzog-20080113-en48/wav/en48-42.wav THOSE DEFINITIONS ARE ELEMENTARY -wav/ralfherzog-20080113-en48/wav/en48-52.wav THEY CANNOT BE WRITTEN IN THIS WAY -wav/ralfherzog-20080113-en48/wav/en48-62.wav THIS IS MY QUESTION TO YOU -wav/ralfherzog-20080113-en48/wav/en48-72.wav WE CAN PROVE THAT THE FUNCTION WITH CERTAIN PROPERTIES EXISTS -wav/ralfherzog-20080113-en48/wav/en48-82.wav HE IS RUNNING AROUND -wav/ralfherzog-20080113-en48/wav/en48-92.wav DID YOU UNDERSTAND -wav/ralfherzog-20080203-en49/wav/en49-03.wav THE RELATIONSHIP OF THE FUNCTION REQUIRES MORE PRECISION -wav/ralfherzog-20080203-en49/wav/en49-13.wav THERE WERE DIFFERENT BRANCHES OF MATHEMATICS -wav/ralfherzog-20080203-en49/wav/en49-23.wav THIS DOCUMENT IS ABOUT THOSE SESSIONS -wav/ralfherzog-20080203-en49/wav/en49-33.wav YOU WILL HAVE TO DEAL WITH THE AUTHENTICATION -wav/ralfherzog-20080203-en49/wav/en49-43.wav THEY CANNOT BREAK INTO A PHONE CONVERSATION -wav/ralfherzog-20080203-en49/wav/en49-53.wav THIS CAN IT MAKE MORE COMPLICATED FOR THE ATTACKER -wav/ralfherzog-20080203-en49/wav/en49-63.wav THEY DON'T NEED TO EXCHANGE PUBLIC KEYS -wav/ralfherzog-20080203-en49/wav/en49-73.wav IT CAN USE DIFFERENT KINDS OF SHARED SECRETS -wav/ralfherzog-20080203-en49/wav/en49-83.wav THEY WOULD LIKE TO HEAR THAT -wav/ralfherzog-20080203-en49/wav/en49-93.wav THEY HAVE TO START HERE -wav/ralfherzog-20080203-en50/wav/en50-04.wav THOSE THINGS HAVE A NICE TOUCH -wav/ralfherzog-20080203-en50/wav/en50-14.wav THEY HAVE GOT TO FIND THIS -wav/ralfherzog-20080203-en50/wav/en50-24.wav DOES HE KNOW WHAT THEY ARE SAYING -wav/ralfherzog-20080203-en50/wav/en50-34.wav THIS REMINDS ME OF SOMETHING DIFFERENT -wav/ralfherzog-20080203-en50/wav/en50-44.wav JUST TELL ME WHAT IT IS -wav/ralfherzog-20080203-en50/wav/en50-54.wav THEY HAVE TO GIVE ME A HINT -wav/ralfherzog-20080203-en50/wav/en50-64.wav THIS IS OUR DIFFERENT CHANCE -wav/ralfherzog-20080203-en50/wav/en50-74.wav I THOUGHT HE DIDN'T WORK HERE -wav/ralfherzog-20080203-en50/wav/en50-84.wav WHAT IS HAPPENING WITH THE SUSPECT -wav/ralfherzog-20080203-en50/wav/en50-94.wav HOW ARE THEY DOING -wav/ralfherzog-20080203-en51/wav/en51-05.wav YOU GOT YOUR TEAM -wav/ralfherzog-20080203-en51/wav/en51-15.wav HE HAS A DIFFERENT WINE FROM HOME -wav/ralfherzog-20080203-en51/wav/en51-25.wav THEY WILL GO BACK TOMORROW -wav/ralfherzog-20080203-en51/wav/en51-35.wav IT WAS NICE TO MEET YOU -wav/ralfherzog-20080203-en51/wav/en51-45.wav CAN I HELP YOU -wav/ralfherzog-20080203-en51/wav/en51-55.wav HE THINKS YOU SHOULD KNOW ABOUT IT -wav/ralfherzog-20080203-en51/wav/en51-65.wav THEY DIDN'T KNOW THAT -wav/ralfherzog-20080203-en51/wav/en51-75.wav WHAT ARE THEY DOING HERE SO EARLY -wav/ralfherzog-20080203-en51/wav/en51-85.wav THEY CANNOT SAY WHETHER THIS WAS AN ACCIDENT -wav/ralfherzog-20080203-en51/wav/en51-95.wav I DON'T SEE HER ANYMORE -wav/ralfherzog-20080204-en52/wav/en52-06.wav YOU HAVE TO GET DOWN ON THE FLOOR NOW -wav/ralfherzog-20080204-en52/wav/en52-16.wav THERE WILL BE A BRIEFING -wav/ralfherzog-20080204-en52/wav/en52-26.wav THEY ARE WORKING IN THE BACK -wav/ralfherzog-20080204-en52/wav/en52-36.wav THE REST OF THE MESSAGE WILL BE ENCRYPTED -wav/ralfherzog-20080204-en52/wav/en52-46.wav THIS WILL BE A MULTIPLE OF THE NUMBER -wav/ralfherzog-20080204-en52/wav/en52-56.wav YOU WILL HAVE TO TAKE IT -wav/ralfherzog-20080204-en52/wav/en52-66.wav THEY ARE RELAYED BY THE TRUSTED VALUE -wav/ralfherzog-20080204-en52/wav/en52-76.wav THIS WILL INCLUDE THE KEY USED TO GENERATE THE SIGNATURE -wav/ralfherzog-20080204-en52/wav/en52-86.wav THIS IS THE SAME THAT WAS NEGOTIATED -wav/ralfherzog-20080204-en52/wav/en52-96.wav WHY DO YOU SAY THINGS LIKE THAT -wav/ralfherzog-20080204-en53/wav/en53-07.wav COMPILING THE SOURCE CODE IS NOT VERY DIFFICULT -wav/ralfherzog-20080204-en53/wav/en53-17.wav THIS WILL BE THE GENERATED OUTPUT -wav/ralfherzog-20080204-en53/wav/en53-27.wav LET'S SEE WHAT THEY GOT -wav/ralfherzog-20080204-en53/wav/en53-37.wav THEY ARE PREPARING SOMETHING DIFFERENT -wav/ralfherzog-20080204-en53/wav/en53-47.wav IS THIS A NEW RECORD -wav/ralfherzog-20080204-en53/wav/en53-57.wav THIS FORMAT IS SHOWN IN THE FIGURE BELOW -wav/ralfherzog-20080204-en53/wav/en53-67.wav THIS WILL BE DESCRIBED IN THE NEXT SECTION -wav/ralfherzog-20080204-en53/wav/en53-77.wav THE FORMAT IS SHOWN IN THE NEXT FIGURE -wav/ralfherzog-20080204-en53/wav/en53-87.wav ALL TRANSMISSIONS CAN BE IDENTICAL TO THE INITIAL MESSAGE -wav/ralfherzog-20080204-en53/wav/en53-97.wav THE PACKAGES ARE VERY SMALL -wav/ralfherzog-20080204-en54/wav/en54-08.wav THIS IS THE BANDWIDTH UTILIZATION OF THE MEDIA SESSION -wav/ralfherzog-20080204-en54/wav/en54-18.wav THIS WILL BE RETRANSMITTED TEN TIMES -wav/ralfherzog-20080204-en54/wav/en54-28.wav THAT WAS NOT VERY EASY -wav/ralfherzog-20080204-en54/wav/en54-38.wav SO YOU AND THIS GUY WERE PARTNERS -wav/ralfherzog-20080204-en54/wav/en54-48.wav AND HE IS STILL SMOKING CIGARETTES -wav/ralfherzog-20080204-en54/wav/en54-58.wav THEY ARE MY NEW FAVORITE CREW -wav/ralfherzog-20080204-en54/wav/en54-68.wav THEY WILL BE STORED IN THE DIRECTORY -wav/ralfherzog-20080204-en54/wav/en54-78.wav THEY WILL GIVE THE LANGUAGE MODEL SCORE -wav/ralfherzog-20080204-en54/wav/en54-88.wav ARE YOU ALL RIGHT -wav/ralfherzog-20080204-en54/wav/en54-98.wav YOU HAVE TO TAKE CARE OF IT -wav/ralfherzog-20080308-en55/wav/en55-09.wav THEY KNOW THE REPORT -wav/ralfherzog-20080308-en55/wav/en55-19.wav HE KNOWS ABOUT HER -wav/ralfherzog-20080308-en55/wav/en55-29.wav THEY KNOW IT IS NOT TRUE -wav/ralfherzog-20080308-en55/wav/en55-39.wav YOU ARE LOOKING GOOD -wav/ralfherzog-20080308-en55/wav/en55-49.wav DO YOU KNOW HOW TO FIX THIS -wav/ralfherzog-20080308-en55/wav/en55-59.wav YOU SHOULD SAY IT TO ME -wav/ralfherzog-20080308-en55/wav/en55-69.wav HIS FATHER WAS AN AGENT -wav/ralfherzog-20080308-en55/wav/en55-79.wav YOU CAN OPEN YOUR MOUTH -wav/ralfherzog-20080308-en55/wav/en55-89.wav YOU ARE WRONG -wav/ralfherzog-20080308-en55/wav/en55-99.wav WOULD YOU TALK TO HIM TOMORROW -wav/ralfherzog-20080309-en56/wav/en56-10.wav WHAT ARE YOU UP TO -wav/ralfherzog-20080309-en56/wav/en56-20.wav JUST BRING ME SEVERAL OF THOSE THINGS -wav/ralfherzog-20080309-en56/wav/en56-30.wav SHE IS NOT ANGRY WITH HIM -wav/ralfherzog-20080309-en56/wav/en56-40.wav WHERE DO YOU WANT TO GO -wav/ralfherzog-20080309-en56/wav/en56-50.wav YOU HAVE TO START RUNNING -wav/ralfherzog-20080309-en56/wav/en56-60.wav SHE WILL GO TO JAIL -wav/ralfherzog-20080309-en56/wav/en56-70.wav YOU MAY FIND THIS HARD TO BELIEVE -wav/ralfherzog-20080309-en56/wav/en56-80.wav DROP YOUR WEAPON -wav/ralfherzog-20080309-en56/wav/en56-90.wav I JUST TALKED TO HER -wav/ralfherzog-20080310-en57/wav/en57-01.wav WHO IS COMING INTO THE BUILDING -wav/ralfherzog-20080310-en57/wav/en57-11.wav I HAVE GOT SATELLITE COVERAGE -wav/ralfherzog-20080310-en57/wav/en57-21.wav YOU ONLY NEED ONE HOSTAGE -wav/ralfherzog-20080310-en57/wav/en57-31.wav THEY WERE GOING AWAY -wav/ralfherzog-20080310-en57/wav/en57-41.wav CLEAN OUT YOUR DESK BY NOON -wav/ralfherzog-20080310-en57/wav/en57-51.wav THERE IS NOTHING TO TALK ABOUT -wav/ralfherzog-20080310-en57/wav/en57-61.wav YOU HAVE TO STOP IT -wav/ralfherzog-20080310-en57/wav/en57-71.wav THIS IS GOING TO SOUND STUPID -wav/ralfherzog-20080310-en57/wav/en57-81.wav HAVE YOU KISSED HER -wav/ralfherzog-20080310-en57/wav/en57-91.wav I TALKED TO YOUR FATHER -wav/ralfherzog-20080311-en58/wav/en58-02.wav THIS IS WHY HE PROMOTED SEVERAL PEOPLE -wav/ralfherzog-20080311-en58/wav/en58-12.wav IT IS TIME FOR PAYBACK -wav/ralfherzog-20080311-en58/wav/en58-22.wav DO YOU THINK I COULD GET A COPY OF IT -wav/ralfherzog-20080311-en58/wav/en58-32.wav DO YOU REMEMBER OUR DEAL -wav/ralfherzog-20080311-en58/wav/en58-42.wav DO YOU HAVE ANY OTHER QUALIFICATIONS -wav/ralfherzog-20080311-en58/wav/en58-52.wav IT IS NOT THE NATIVE LANGUAGE -wav/ralfherzog-20080311-en58/wav/en58-62.wav THIS IS WHY I WENT AWAY -wav/ralfherzog-20080311-en58/wav/en58-72.wav HE IS GOING AWAY FROM HERE -wav/ralfherzog-20080311-en58/wav/en58-82.wav THE ENGLISH LANGUAGE IS USED BY EUROPEAN ORGANIZATIONS -wav/ralfherzog-20080311-en58/wav/en58-92.wav THANKS FOR NOTHING -wav/ralfherzog-20080312-en59/wav/en59-03.wav ALLOW ME TO PRESENT THE ACTION SET -wav/ralfherzog-20080312-en59/wav/en59-13.wav YOU HAVE GOT ONE PHONE CALL -wav/ralfherzog-20080312-en59/wav/en59-23.wav THEY HAVE NOTHING TO WORRY ABOUT -wav/ralfherzog-20080312-en59/wav/en59-33.wav GET OUT OF THE CAR -wav/ralfherzog-20080312-en59/wav/en59-43.wav THAT IS THE OTHER SIDE OF THE TOWN -wav/ralfherzog-20080312-en59/wav/en59-53.wav PUT HER ON SPEAKER -wav/ralfherzog-20080312-en59/wav/en59-63.wav WHAT DO THEY WANT -wav/ralfherzog-20080312-en59/wav/en59-73.wav I THINK THIS IS A GOOD DECISION -wav/ralfherzog-20080312-en59/wav/en59-83.wav DO YOU NEED SOME HELP -wav/ralfherzog-20080312-en59/wav/en59-93.wav YOU ARE NEEDED IN THE KITCHEN -wav/ralfherzog-20080313-en60/wav/en60-04.wav HELP IS ON THE WAY -wav/ralfherzog-20080313-en60/wav/en60-14.wav BUT YOU ARE WITH US NOW -wav/ralfherzog-20080313-en60/wav/en60-24.wav IT DIDN'T WORK -wav/ralfherzog-20080313-en60/wav/en60-34.wav THEY WERE ENTERING THE BUILDING -wav/ralfherzog-20080313-en60/wav/en60-44.wav NOTHING SOUNDS MORE CRAZY -wav/ralfherzog-20080313-en60/wav/en60-54.wav THEY HAVE TO LISTEN TO ME -wav/ralfherzog-20080313-en60/wav/en60-64.wav THIS IS A VERY SOLID THING -wav/ralfherzog-20080313-en60/wav/en60-74.wav WHERE DO YOU THINK THEY WOULD BE -wav/ralfherzog-20080313-en60/wav/en60-84.wav THIS IS THE CATCH OF THE DAY -wav/ralfherzog-20080313-en60/wav/en60-94.wav I KNOW EXACTLY WHAT YOU ARE THINKING -wav/ralfherzog-20080315-en61/wav/en61-05.wav THEY WILL TELL HER -wav/ralfherzog-20080315-en61/wav/en61-15.wav WHAT IS THIS ABOUT -wav/ralfherzog-20080315-en61/wav/en61-25.wav THIS HAS BEEN SOLD BY THEM -wav/ralfherzog-20080315-en61/wav/en61-35.wav THEY ARE GOING TO MAKE IT -wav/ralfherzog-20080315-en61/wav/en61-45.wav HE WOULD LIKE TO LEGALLY CHANGE HIS NAME -wav/ralfherzog-20080315-en61/wav/en61-55.wav THIS MIGHT BE OUR PLAN -wav/ralfherzog-20080315-en61/wav/en61-65.wav SO HERE IS OUR PLAN -wav/ralfherzog-20080315-en61/wav/en61-75.wav WHAT ARE YOU PROTECTING -wav/ralfherzog-20080315-en61/wav/en61-85.wav WHAT IS THIS GUY DOING HERE -wav/ralfherzog-20080315-en61/wav/en61-95.wav THEY WOULDN'T LET ME PUT IT UP -wav/ralfherzog-20080316-en62/wav/en62-06.wav THIS IS STRAIGHT FROM OUT OF SPACE -wav/ralfherzog-20080316-en62/wav/en62-16.wav YOU WERE NOT YOURSELF -wav/ralfherzog-20080316-en62/wav/en62-26.wav IT IS NOT OK -wav/ralfherzog-20080316-en62/wav/en62-36.wav SHE IS GOING TO DIE -wav/ralfherzog-20080316-en62/wav/en62-46.wav SHE IS REALLY SORRY -wav/ralfherzog-20080316-en62/wav/en62-56.wav ARE YOU OK -wav/ralfherzog-20080316-en62/wav/en62-66.wav KEEP UP THE GOOD WORK -wav/ralfherzog-20080316-en62/wav/en62-76.wav I UNDERSTAND THERE WAS AN INCIDENT LAST NIGHT -wav/ralfherzog-20080316-en62/wav/en62-86.wav SHE HAD A BAD DREAM -wav/ralfherzog-20080316-en62/wav/en62-96.wav YOU SHOULD BE ASKING YOURSELF -wav/ralfherzog-20080317-en63/wav/en63-07.wav HOW IS THAT -wav/ralfherzog-20080317-en63/wav/en63-17.wav THEY HAVE TO DIG UP HIS GRAVE -wav/ralfherzog-20080317-en63/wav/en63-27.wav WILL YOU MAKE A SOUND -wav/ralfherzog-20080317-en63/wav/en63-37.wav THEY WILL GO AWAY -wav/ralfherzog-20080317-en63/wav/en63-47.wav SHE IS A DESIGNER -wav/ralfherzog-20080317-en63/wav/en63-57.wav THEY ARE VERY SORRY -wav/ralfherzog-20080317-en63/wav/en63-67.wav SHE HAS BEEN STUDYING -wav/ralfherzog-20080317-en63/wav/en63-77.wav THAT IS IMPOSSIBLE -wav/ralfherzog-20080317-en63/wav/en63-87.wav YOU DON'T KNOW THIS PHASE -wav/ralfherzog-20080317-en63/wav/en63-97.wav DO YOU BELIEVE THEM -wav/RedCisc-20090626-npp/wav/a0395.wav AS FOR HIMSELF WEREN'T THE STREET RAILWAY EARNINGS INCREASING STEADILY -wav/renfengcngmailcom-20090515-isd/wav/b0300.wav DOES THE OLD BOY OFTEN GO OFF AT HALF-COCK THAT WAY -wav/Revelation2221-20080510-dtx/wav/a0177.wav SHE HAD BEEN THOROUGHLY AND EFFICIENTLY MAULED -wav/Revelation2221-20080510-ysv/wav/a0189.wav THE BIG-EYED CLUCKING MOOSE-BIRDS WERE MOST ANNOYING -wav/rharrison-20090911-frt/wav/b0141.wav IT WAS BEATING AND WAITING IN THE AMBUSH OF THOSE BLACK PITS -wav/Rhyhann-20080518-bra/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/richard-20090818-byw/wav/b0514.wav TOMORROW OR NEXT DAY IT MIGHT HE GONE -wav/richard-20090818-sgv/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/richard-20090820-dec/wav/b0015.wav THEY ROBBED ME A FEW YEARS LATER -wav/richard-20090820-hvi/wav/b0519.wav YEA I WILL TELL THEE -wav/richard-20090820-hzf/wav/b0161.wav IN A FLASH HE WAS ON HIS FEET FACING HIM -wav/richard-20090820-ihy/wav/b0332.wav AS TO HOW SHE DRESSED HE HAD NO IDEAS AT ALL -wav/richard-20090820-msf/wav/a0258.wav SOAKED IN SEAWATER THEY OFFSET THE HEAT RAYS -wav/richard-20090820-nfp/wav/b0323.wav CRICKETS BEGAN TO CHIRP AND MORE GEESE AND DUCKS FLEW OVERHEAD -wav/richard-20090820-omz/wav/b0477.wav YOU'RE GOING IN FOR GRAB SHARING -wav/richard-20090820-poa/wav/rb-28.wav SEARCHING FOR DOCUMENTS IN THE FILE BROWSER AND STARTING OR CLOSING PROGRAMS -wav/richard-20090820-qse/wav/a0314.wav THUS WAS MOMENTUM GAINED IN THE YOUNGER WORLD -wav/richard-20090820-wjl/wav/a0523.wav THEY COULD NOT CONTINUE THEIR METHOD OF PRODUCING SURPLUSES -wav/richard-20090820-yqo/wav/a0196.wav HE BEGAN TO FOLLOW THE FOOTPRINTS OF THE DOG -wav/richard-20090821-kom/wav/b0102.wav I'LL ONLY BE IN THE WAY -wav/richard-20090828-soi/wav/b0174.wav HATRED AND MURDER AND LUST FOR REVENGE THEY POSSESSED TO OVERFLOWING -wav/RicharJB-20090913-vdg/wav/a0326.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/RicharJB-20090913-ypw/wav/b0028.wav LORD FITZHUGH IS THE KEY TO THE WHOLE SITUATION -wav/rick271828-20081014-eyh/wav/b0095.wav HE HEARD A SOUND WHICH BROUGHT HIM QUICKLY INTO CONSCIOUSNESS OF DAY -wav/rick271828-20081014-tcj/wav/b0206.wav HORSES AND RIFLES HAD BEEN HER TOYS CAMP AND TRAIL HER NURSERY -wav/rick271828-20081014-tcj/wav/b0211.wav THIS IS EIGHTEEN EIGHTY -wav/rick271828-20081015-ewy/wav/b0539.wav YOU WERE MAKING THEM TALK SHOP RUTH CHARGED HIM -wav/ridgey-20080620-zrx/wav/b0125.wav IT WAS THE THIRD OR FOURTH TIME THAT PHILIP HAD HEARD MACDOUGALL SWEAR -wav/rifter-20080127-rsq/wav/a0592.wav IT'S ONLY HIS INDIGESTION I FIND FAULT WITH -wav/rjmunro-20080517-pwp/wav/a0271.wav NOW PLEASE GIVE A PLAIN STATEMENT OF WHAT OCCURRED -wav/rjmunro-20080517-win/wav/a0235.wav HIS VOICE WAS PASSIONATELY REBELLIOUS -wav/rjmunro-20090210-col/wav/a0452.wav THREE OILERS AND A FOURTH ENGINEER WAS HIS GREETING -wav/rjmunro-20090210-euv/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/rjmunro-20090210-hhv/wav/b0235.wav RAOUL YELLED IN ORDER TO MAKE HIMSELF HEARD -wav/rjmunro-20090210-jbe/wav/b0352.wav NOW JUST WHAT DO YOU WANT TO KNOW -wav/rjmunro-20090210-kyd/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/rjmunro-20090210-rza/wav/a0165.wav THEY ARE TO ATTACK YOUR CAMP TOMORROW NIGHT -wav/rjmunro-20090210-tvi/wav/b0152.wav OW A WILD DOG HE GROWLED -wav/rjmunro-20090210-ufe/wav/a0267.wav HARDING ASKED AS SHUNK STARTED TO FOLLOW -wav/rjmunro-20090210-vch/wav/a0455.wav I OBEYED AND A MINUTE OR TWO LATER THEY STOOD BEFORE HIM -wav/rjmunro-20090210-yux/wav/b0153.wav HE WAS A PARIAH A WANDERER WITHOUT A FRIEND OR A HOME -wav/rjmunro-20090213-ljs/wav/b0134.wav BLIND WITH RAGE HE DARTED IN -wav/rjmunro-20090213-xte/wav/rp-28.wav THE RESULT IS TO GIVE A BOW WITH AN ABNORMALLY WIDE YELLOW BAND -wav/rmmg-20080715-nao/wav/b0456.wav HE WAS AN AMPHIBIAN AND A MOUNTAINEER -wav/robertburrelldonkin-200709011-vf11/wav/vf11-08.wav THE ELDORADO EMPTIED ITS OCCUPANTS INTO THE STREET TO SEE THE TEST -wav/robertburrelldonkin-200709011-vf11/wav/vf11-18.wav THE PORTUGUESE BOY CRAWLED NEARER AND NEARER -wav/robertburrelldonkin-200709011-vf11/wav/vf11-28.wav IT WAS NOT EXACTLY A DEPORTATION -wav/robertburrelldonkin-200709011-vf11/wav/vf11-38.wav AT SEA MONDAY MARCH SIXTEEN NINETEEN OH EIGHT -wav/robertburrelldonkin-200709011-vf12/wav/vf12-08.wav I WAS HUMP CABIN BOY ON THE SCHOONER GHOST -wav/robertburrelldonkin-200709011-vf12/wav/vf12-18.wav THE STOUT WOOD WAS CRUSHED LIKE AN EGGSHELL -wav/robertburrelldonkin-200709011-vf12/wav/vf12-28.wav IN THE MATTER OF CURRY SHE IS A SHEER GENIUS -wav/robertburrelldonkin-200709011-vf12/wav/vf12-38.wav ALSO SHE HAS FORBIDDEN THEM SMOKING THEIR PIPES IN THE AFTER-ROOM -wav/robertburrelldonkin-200709011-vf13/wav/vf13-08.wav THEIR LOVE BURNED WITH INCREASING BRIGHTNESS -wav/robertburrelldonkin-200709011-vf13/wav/vf13-18.wav THE LINES WERE NOW VERY TAUT -wav/robertburrelldonkin-200709011-vf13/wav/vf13-28.wav SOON SHALL IT BE THRUST BACK FROM OFF PROSTRATE HUMANITY -wav/robertburrelldonkin-200709011-vf13/wav/vf13-38.wav ILLUMINATING OIL WAS BECOMING ALL PROFIT -wav/robertburrelldonkin-200709011-vf14/wav/vf14-08.wav MEN WHO ENDURE IT CALL IT LIVING DEATH -wav/robertburrelldonkin-200709011-vf14/wav/vf14-18.wav WHAT PASCAL GLIMPSED WITH THE VISION OF A SEER I HAVE LIVED -wav/robertburrelldonkin-200709011-vf14/wav/vf14-28.wav ALSO CHURCHES AND PREACHERS I HAD NEVER KNOWN -wav/robertburrelldonkin-200709011-vf14/wav/vf14-38.wav AND THE FOUNDATION STONE OF SERVICE IN HIS CASE WAS OBEDIENCE -wav/robertburrelldonkin-20070902-arthur/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/robertburrelldonkin-20070902-arthur/wav/ar-18.wav THE ROOF MAY NOT COME DOWN YET -wav/robertburrelldonkin-20070902-cc/wav/cc-04.wav IN NORTH SQUARE NEAR THE DUKE STREET TOWER -wav/robertburrelldonkin-20070902-cc/wav/cc-14.wav BECAUSE NORMALLY YOU WOULD ONLY EXPECT TO SEE IT IN A DOG OR A GOAT -wav/robertburrelldonkin-20070902-cc/wav/cc-24.wav HER EFFORTS WERE NOT FUTILE IN NO TIME THE GOOSE BEGAN TO TIRE -wav/robertburrelldonkin-20070902-cc/wav/cc-34.wav COMMA GETS A CURE AND DERIVATIVE WORKS MAY BE USED FREELY FOR ANY PURPOSE -wav/robertburrelldonkin-20070902-rp/wav/rp-05.wav AND ITS TWO ENDS APPARENTLY BEYOND THE HORIZON -wav/robertburrelldonkin-20070902-rp/wav/rp-15.wav THE NORSEMEN CONSIDERED THE RAINBOW AS A BRIDGE -wav/robertburrelldonkin-20070902-rp/wav/rp-25.wav THE ACTUAL PRIMARY RAINBOW OBSERVED IS SAID TO BE THE EFFECT OF -wav/robertburrelldonkin-20070904-vf1/wav/vf1-04.wav LORD BUT I'M GLAD TO SEE YOU AGAIN PHIL -wav/robertburrelldonkin-20070904-vf1/wav/vf1-14.wav NOW YOU'RE COMING DOWN TO BUSINESS PHIL HE EXCLAIMED -wav/robertburrelldonkin-20070904-vf1/wav/vf1-24.wav IT WAS MY REPORTS FROM THE NORTH WHICH CHIEFLY INDUCED PEOPLE TO BUY -wav/robertburrelldonkin-20070904-vf1/wav/vf1-34.wav MEN OF SELDEN'S STAMP DON'T STOP AT WOMEN AND CHILDREN -wav/robertburrelldonkin-20070904-vf2/wav/vf2-04.wav HER OWN BETRAYAL OF HERSELF WAS LIKE TONIC TO PHILIP -wav/robertburrelldonkin-20070904-vf2/wav/vf2-14.wav THERE WAS NOTHING ON THE ROCK -wav/robertburrelldonkin-20070904-vf2/wav/vf2-24.wav THE FOURTH AND FIFTH DAYS PASSED WITHOUT ANY DEVELOPMENTS -wav/robertburrelldonkin-20070904-vf2/wav/vf2-34.wav AND NOW DOWN THERE EILEEN WAS WAITING FOR HIM -wav/robertburrelldonkin-20070905-vf3/wav/vf3-04.wav SCARCELY HAD HE UTTERED THE NAME WHEN PIERRE'S CLOSING EYES SHOT OPEN -wav/robertburrelldonkin-20070905-vf3/wav/vf3-14.wav HE HAD BARELY ENTERED THIS WHEN HE SAW THE GLOW OF A FIRE -wav/robertburrelldonkin-20070905-vf3/wav/vf3-24.wav SHE WAS SLEEPING UNDER HIS PROTECTION AS SWEETLY AS A CHILD -wav/robertburrelldonkin-20070905-vf3/wav/vf3-34.wav HER WORDS SENT A STRANGE CHILL THROUGH PHILIP -wav/robertburrelldonkin-20070905-vf4/wav/vf4-04.wav IT WAS JEANNE SINGING SOFTLY OVER BEYOND THE ROCKS -wav/robertburrelldonkin-20070905-vf4/wav/vf4-14.wav HE OBEYED THE PRESSURE OF HER HAND -wav/robertburrelldonkin-20070905-vf4/wav/vf4-24.wav BUT THERE WAS SOMETHING EVEN MORE STARTLING THAN THIS RESEMBLANCE -wav/robertburrelldonkin-20070905-vf4/wav/vf4-34.wav HE WAS SMOOTH-SHAVEN AND HIS HAIR AND EYES WERE BLACK -wav/robertburrelldonkin-20070905-vf5/wav/vf5-04.wav HE CAME FIRST A YEAR AGO AND REVEALED HIMSELF TO JEANNE -wav/robertburrelldonkin-20070905-vf5/wav/vf5-14.wav THEY WERE THE PRESAGE OF STORM -wav/robertburrelldonkin-20070905-vf5/wav/vf5-24.wav DON'T YOU SEE I'M CHEWING THIS THING IN TWO -wav/robertburrelldonkin-20070905-vf5/wav/vf5-34.wav HE DRANK OF THE WATER CAUTIOUSLY -wav/robertburrelldonkin-20070905-vf6/wav/vf6-04.wav THE WOLF-DOG THRUST HIS GAUNT MUZZLE TOWARD HIM -wav/robertburrelldonkin-20070905-vf6/wav/vf6-14.wav BESIDES HE WAS PAID ONE CASE OF TOBACCO PER HEAD -wav/robertburrelldonkin-20070905-vf6/wav/vf6-24.wav SHE NODDED AND HER EYES GREW SOFT AND MOIST -wav/robertburrelldonkin-20070905-vf6/wav/vf6-34.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/robertburrelldonkin-20070906-vf10/wav/vf10-04.wav WE HAVE PLENTY OF CAPITAL OURSELVES AND YET WE WANT MORE -wav/robertburrelldonkin-20070906-vf10/wav/vf10-14.wav BUT LIFE'S WORTH MORE THAN CASH SHE ARGUED -wav/robertburrelldonkin-20070906-vf10/wav/vf10-24.wav THE FARMER WORKS THE SOIL AND PRODUCES GRAIN -wav/robertburrelldonkin-20070906-vf10/wav/vf10-34.wav IT'S THE STRAP HANGERS THAT'LL KEEP US FROM GOING UNDER -wav/robertburrelldonkin-20070906-vf7/wav/vf7-04.wav HE WAS THE SOUL OF DEVOTION TO HIS EMPLOYERS -wav/robertburrelldonkin-20070906-vf7/wav/vf7-14.wav STRAIGHT OUT THEY SWAM THEIR HEADS GROWING SMALLER AND SMALLER -wav/robertburrelldonkin-20070906-vf7/wav/vf7-24.wav AND I HOPE YOU'VE GOT PLENTY OF CHAIN OUT CAPTAIN YOUNG -wav/robertburrelldonkin-20070906-vf7/wav/vf7-34.wav AND RAOUL LISTENED AGAIN TO THE TALE OF THE HOUSE -wav/robertburrelldonkin-20070906-vf8/wav/vf8-04.wav THERE WAS NO FORECASTING THIS STRANGE GIRL'S PROCESSES -wav/robertburrelldonkin-20070906-vf8/wav/vf8-14.wav HE HAD BEEN FOILED IN HIS ATTEMPT TO ESCAPE -wav/robertburrelldonkin-20070906-vf8/wav/vf8-24.wav I GRADUATED LAST OF MY CLASS -wav/robertburrelldonkin-20070906-vf8/wav/vf8-34.wav THUS WAS MOMENTUM GAINED IN THE YOUNGER WORLD -wav/robertburrelldonkin-20070906-vf9/wav/vf9-04.wav IT WAS NOT RED-EYE'S WAY TO FOREGO REVENGE SO EASILY -wav/robertburrelldonkin-20070906-vf9/wav/vf9-14.wav HE'LL KNOCK YOU OFF A FEW STICKS IN NO TIME -wav/robertburrelldonkin-20070906-vf9/wav/vf9-24.wav HE SEEMED TO FILL IT WITH HIS TREMENDOUS VITALITY -wav/robertburrelldonkin-20070906-vf9/wav/vf9-34.wav FRESH MEAT THEY FAILED TO OBTAIN -wav/robertburrelldonkin-20070918-vf15/wav/vf15-04.wav THEN IT IS AS I SAID WOMBLE ANNOUNCED WITH FINALITY -wav/robertburrelldonkin-20070918-vf15/wav/vf15-14.wav GOOD BUSINESS MAN CURLY O'BRIEN WAS SAYING -wav/robertburrelldonkin-20070918-vf15/wav/vf15-24.wav WHEN I CAN'T SEE BEAUTY IN WOMAN I WANT TO DIE -wav/robertburrelldonkin-20070918-vf15/wav/vf15-34.wav WHITEFISH GREGSON WHITEFISH AND TROUT -wav/robertburrelldonkin-20070918-vf16/wav/vf16-04.wav IT IS GROWING EVERY DAY EVERY HOUR -wav/robertburrelldonkin-20070918-vf16/wav/vf16-14.wav HE CONFESSED THAT THE SKETCH HAD STARTLED HIM -wav/robertburrelldonkin-20070918-vf16/wav/vf16-24.wav FOR A FEW MOMENTS HE ATE IN SILENCE -wav/robertburrelldonkin-20070918-vf16/wav/vf16-34.wav HE UNDERSTOOD THE MEANING OF THE LOOK -wav/robertburrelldonkin-20070918-vf17/wav/vf17-04.wav I'M GOING DOWN THERE WITH YOU AND I'M GOING TO FIGHT -wav/robertburrelldonkin-20070918-vf17/wav/vf17-14.wav YET BEHIND THEM THERE WAS ANOTHER AND MORE POWERFUL MOTIVE -wav/robertburrelldonkin-20070918-vf17/wav/vf17-24.wav YOUR FACE IS RED WITH BLOOD -wav/robertburrelldonkin-20070918-vf17/wav/vf17-34.wav AND YET IF SHE CAME HE HAD NO WORDS TO SAY -wav/robertburrelldonkin-20070918-vf18/wav/vf18-04.wav SHOOTING PAINS PASSED LIKE FLASHES OF ELECTRICITY THROUGH HIS BODY -wav/robertburrelldonkin-20070918-vf18/wav/vf18-14.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/robertburrelldonkin-20070918-vf18/wav/vf18-24.wav TWO WEEKS PASSED AND IN THAT TIME THORPE LEFT CAMP THREE TIMES -wav/robertburrelldonkin-20070918-vf18/wav/vf18-34.wav BLIND WITH RAGE HE DARTED IN -wav/robertburrelldonkin-20071007-vf19/wav/vf19-04.wav BUT THERE WAS NO LONGER THE MOTHER YEARNING IN HIS HEART -wav/robertburrelldonkin-20071007-vf19/wav/vf19-14.wav THAT IS THE STRANGE PART OF IT -wav/robertburrelldonkin-20071007-vf19/wav/vf19-24.wav THEY LAUGHED LIKE TWO HAPPY CHILDREN -wav/robertburrelldonkin-20071007-vf19/wav/vf19-34.wav HATRED AND MURDER AND LUST FOR REVENGE THEY POSSESSED TO OVERFLOWING -wav/robertburrelldonkin-20071007-vf20/wav/vf20-04.wav SUCH THINGS IN HER BRAIN WERE LIKE SO MANY OATHS ON HER LIPS -wav/robertburrelldonkin-20071007-vf20/wav/vf20-14.wav JOAN CRIED WITH SHINING EYES -wav/robertburrelldonkin-20071007-vf20/wav/vf20-24.wav DOWN THROUGH THE PERFUME WEIGHTED AIR FLUTTERED THE SNOWY FLUFFS OF THE COTTONWOODS -wav/robertburrelldonkin-20071007-vf20/wav/vf20-34.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/robertburrelldonkin-20071007-vf21/wav/vf21-04.wav BUT TO CULTURE THE REVOLUTION THUS FAR HAD EXHAUSTED THE JUNTA -wav/robertburrelldonkin-20071007-vf21/wav/vf21-14.wav AND WATCH OUT FOR WET FEET WAS HIS PARTING ADVICE -wav/robertburrelldonkin-20071007-vf21/wav/vf21-24.wav YOU ARE POSITIVELY SOULLESS HE SAID SAVAGELY -wav/robertburrelldonkin-20071007-vf21/wav/vf21-34.wav AT THE SAME TIME SPEARS AND ARROWS BEGAN TO FALL AMONG THE INVADERS -wav/robertburrelldonkin-20071007-vf22/wav/vf22-04.wav BUT THIS TIME IT WAS SAXON WHO REBELLED -wav/robertburrelldonkin-20071007-vf22/wav/vf22-14.wav FROM THE SOURCE OF LIGHT A HARSH VOICE SAID -wav/robertburrelldonkin-20071007-vf22/wav/vf22-24.wav THERE WAS ONE DIFFICULTY HOWEVER -wav/robertburrelldonkin-20071007-vf22/wav/vf22-34.wav FOR A MUCH LONGER TIME LOP-EAR AND I REMAINED AND WATCHED -wav/robertburrelldonkin-20071007-vf23/wav/vf23-04.wav HIS PREVIOUS WIVES HAD NEVER LIVED LONG ENOUGH TO BEAR HIM CHILDREN -wav/robertburrelldonkin-20071007-vf23/wav/vf23-14.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/robertburrelldonkin-20071007-vf23/wav/vf23-24.wav NOT TILL THE TWENTIETH OF MAY DID THE RIVER BREAK -wav/robertburrelldonkin-20071007-vf23/wav/vf23-34.wav OH IT'S JUST A NOVEL A LOVE STORY -wav/Robin-20071226-fhc/wav/b0009.wav I'D SAY THERE WAS GOING TO BE A GLORIOUS SCRAP -wav/Robin-20071226-lpr/wav/a0194.wav HE DRANK OF THE WATER CAUTIOUSLY -wav/Robin-20071226-pcd/wav/b0352.wav NOW JUST WHAT DO YOU WANT TO KNOW -wav/Robin-20071228-hwd/wav/rb-20.wav THAT ALLOWS THE END USER TO ISSUE A WIDER ARRAY OF COMMANDS -wav/Robin-20080711-wqa/wav/a0550.wav THIS ALSO BECAME PART OF THE DAILY SCHEDULE -wav/RobSmith-20091103-bxw/wav/b0240.wav THERE ARE FOUR ALL LOW MCCOY ANSWERED -wav/RobSmith-20091103-mog/wav/rp-06.wav THERE IS ACCORDING TO LEGEND A BOILING POT OF GOLD AT ONE END -wav/RobSmith-20091103-tds/wav/b0498.wav I REMEMBERED THE RED WINE OF THE ITALIAN RANCHO AND SHUDDERED INWARDLY -wav/RobSmith-20091103-urx/wav/a0409.wav HE COULD FEEL A NEW STIR IN THE LAND -wav/RobSmith-20091103-ypu/wav/b0478.wav THE OLIGARCHY WILL ENCOURAGE SUCH AMBITION AND THE CONSEQUENT COMPETITION -wav/rocket100-20090506-jlh/wav/a0589.wav I WAS SIX ONCE SICK ONCE TYPHOID -wav/rocketman768-20080408-axr/wav/b0227.wav SHORTY TURNED TO THEIR EMPLOYERS -wav/rocketman768-20080408-ejx/wav/a0036.wav SHE TURNED IN AT THE HOTEL -wav/rocketman768-20080408-hcj/wav/b0371.wav YIELD YOURSELF TO THE WATERS THAT ARE RIPPING AND TEARING AT YOU -wav/rocketman768-20080408-hzy/wav/rb-37.wav LIKE GO UP ONE FOLDER OPEN THE FOLDER UNIVERSITY OR OPEN DOCUMENT THESIS -wav/rocketman768-20080408-iup/wav/a0359.wav EARTH AND GRAVEL SEEMED TO FILL THE PAN -wav/rocketman768-20080408-jrj/wav/a0065.wav THEY CLOSED NOW UNTIL HIS FINGERS WERE LIKE CORDS OF STEEL -wav/rocketman768-20080408-lrn/wav/b0120.wav THERE'S THE HITCH REPLIED THORPE ROLLING A CIGARETTE -wav/rocketman768-20080408-mdh/wav/b0503.wav THE SCENTS OF STRANGE VEGETATION BLEW OFF THE TROPIC LAND -wav/rocketman768-20080408-oey/wav/b0046.wav PHILIP PRODUCED A COUPLE OF CIGARS AND TOOK A CHAIR OPPOSITE HIM -wav/rocketman768-20080408-oln/wav/b0264.wav BUT THIS TIME IT WAS SAXON WHO REBELLED -wav/rocketman768-20080408-prp/wav/b0047.wav SUPPOSE YOU SAW ME AT WORK THROUGH THE WINDOW -wav/rocketman768-20080408-pux/wav/b0295.wav ALL RIGHT SIR REPLIED JOCK WITH GREAT REGRET -wav/rocketman768-20080408-ybh/wav/b0330.wav THEY ONLY HAD A LITTLE THIRTY THOUSAND DOLLAR FIRE -wav/rocketman768-20080409-oip/wav/a0057.wav I HAVE NO IDEA REPLIED PHILIP -wav/Ronin-20080326-aca/wav/a0548.wav ALSO CHURCHES AND PREACHERS I HAD NEVER KNOWN -wav/Ronin-20080326-arv/wav/b0019.wav HIS SLIM HANDS GRIPPED THE EDGES OF THE TABLE -wav/Ronin-20080326-lrl/wav/b0291.wav THE AWE OF MAN RUSHED OVER HIM AGAIN -wav/Ronin-20080326-odz/wav/a0217.wav OPPRESSIVE AS THE HEAT HAD BEEN IT WAS NOW EVEN MORE OPPRESSIVE -wav/Ronin-20080326-rqj/wav/a0488.wav THEIR LOVE BURNED WITH INCREASING BRIGHTNESS -wav/Ronin-20080326-udk/wav/a0487.wav THE RIVER BARED ITS BOSOM AND SNORTING STEAMBOATS CHALLENGED THE WILDERNESS -wav/Ronin-20080327-nba/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/Ronin_Sage-20080110-ny/wav/rp-11.wav SOME HAVE ACCEPTED IT AS A MIRACLE WITHOUT PHYSICAL EXPLANATION -wav/RonnelWing-20071121-bvx/wav/b0358.wav THE TEMPERATURE DROPPED TO FIFTY BELOW ZERO AND REMAINED THERE THE WHOLE TRIP -wav/rortiz-20090504/wav/cc-19.wav WHICH SARAH THOUGHT WAS AN ODD CHOICE FOR A NAME -wav/rortiz-20090504/wav/cc-28.wav ALMOST IMMEDIATELY SHE REMEMBERED AN EFFECTIVE TREATMENT -wav/rortiz-20090504/wav/cc-37.wav IF REPRODUCED IN PRINT AND IN AUDIO FORMAT IN THE CASE OF A SOUND RECORDING -wav/rortiz-20090504/wav/rp-10.wav THROUGHOUT THE CENTURIES PEOPLE HAVE EXPLAINED THE RAINBOW IN VARIOUS WAYS -wav/rortiz-20090504/wav/rp-1.wav WHEN THE SUNLIGHT STRIKES RAINDROPS IN THE AIR -wav/rortiz-20090504/wav/rp-29.wav SINCE RED AND GREEN LIGHT WHEN MIXED FORM YELLOW -wav/rortiz-20090504/wav/rp-9.wav HIS FRIENDS SAY HE IS LOOKING FOR THE POT OF GOLD AT THE END OF THE RAINBOW -wav/royerfa-20080305/wav/vf5-19.wav TOMORROW I'M GOING AFTER THAT BEAR HE SAID -wav/royerfa-20080305/wav/vf5-28.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/royerfa-20080305/wav/vf5-37.wav SUCH A DOG THE WISE DRIVER KILLS OR TURNS LOOSE -wav/royerfa-20080305/wav/vf5-9.wav SUDDENLY JEANNE STOPPED FOR AN INSTANT -wav/royerfa-20080305-trn/wav/sample19.wav BITTEN BLATANT BRIGHTEN BRITAIN -wav/royerfa-20080305-trn/wav/sample28.wav CYNTHIA DANFORTH DEPTH -wav/royerfa-20080305-trn/wav/sample8.wav PHONE PHONE STEVE STEVE CALL CALL YOUNG YOUNG -wav/royerfa-20080305-tst/wav/test18.wav DIAL SIX -wav/royerfa-20080305-tst/wav/test27.wav DIAL SIX TWO NINE ONE EIGHT FOUR EIGHT -wav/royerfa-20080305-tst/wav/test36.wav CALL YOUNG -wav/royerfa-20080305-tst/wav/test45.wav PHONE YOUNG -wav/royerfa-20080305-tst/wav/test8.wav CALL YOUNG -wav/royerfa-20080306/wav/ar-18.wav THE ROOF MAY NOT COME DOWN YET -wav/royerfa-20080306/wav/ar-4.wav HE WOULD ALWAYS SHIRK MAKING A CHOICE HIS AUNT HELEN SAID TO HIM -wav/royerfa-20080307/wav/vf7-14.wav STRAIGHT OUT THEY SWAM THEIR HEADS GROWING SMALLER AND SMALLER -wav/royerfa-20080307/wav/vf7-23.wav JOAN LOOKED TRIUMPHANTLY AT SHELDON WHO BOWED -wav/royerfa-20080307/wav/vf7-32.wav YOU CAN TAKE A VACATION ON PAY -wav/royerfa-20080307/wav/vf7-4.wav HE WAS THE SOUL OF DEVOTION TO HIS EMPLOYERS -wav/royerfa-20080309/wav/vf10-14.wav BUT LIFE'S WORTH MORE THAN CASH SHE ARGUED -wav/royerfa-20080309/wav/vf10-23.wav TO HIS SURPRISE HER ANSWER WAS FLAT AND UNCOMPROMISING -wav/royerfa-20080309/wav/vf10-32.wav THERE IS THAT MAGNIFICENT BOB EATING HIS HEAD OFF IN THE STABLE -wav/royerfa-20080309/wav/vf10-4.wav WE HAVE PLENTY OF CAPITAL OURSELVES AND YET WE WANT MORE -wav/russellfeeed-20080211-upk/wav/b0029.wav ALL OPERATIONS HAVE BEEN CARRIED ON FROM MONTREAL AND TORONTO -wav/rustushki-20080901-sos/wav/a0158.wav DOES THAT LOOK GOOD -wav/rustushki-20080901-usi/wav/a0019.wav I FOLLOWED THE LINE OF THE PROPOSED RAILROAD LOOKING FOR CHANCES -wav/rustushki-20080901-utf/wav/rb-31.wav WHEREAS ON YOUR MOBILE PHONE YOU WOULD HAVE TO STICK TO RUN BROWSER -wav/rustushki-20080901-vwj/wav/rb-05.wav DEVICES WITH A TOUCH SCREEN INTERFACE OFTEN USE AN ON-SCREEN KEYBOARD OR HANDWRITING -wav/rwtobey-20081023-dmo/wav/a0402.wav CURLY RUSHED HER ANTAGONIST COMMA WHO STRUCK AGAIN AND LEAPED ASIDE PERIOD -wav/rwtobey-20081023-ecg/wav/b0485.wav THE MOB CAME ON BUT IT COULD NOT ADVANCE -wav/rwtobey-20081023-jiv/wav/b0391.wav AT SEA TUESDAY MARCH SEVENTEENTH NINETEEN OH EIGHT -wav/rwtobey-20081023-lpy/wav/a0316.wav WE HAD BEEN CHASED BY THEM OURSELVES MORE THAN ONCE -wav/rwtobey-20081023-oag/wav/b0514.wav TOMORROW OR NEXT DAY IT MIGHT HE GONE -wav/rwtobey-20081023-qra/wav/a0530.wav ASK HIM COMMA I LAUGHED COMMA THEN TURNED TO PASQUINI -wav/rwtobey-20081023-vtw/wav/a0380.wav BUT IN THE CANYONS WATER WAS PLENTIFUL AND ALSO A LUXURIANT FOREST FLOOR -wav/rwunsch-20090706-onj/wav/b0469.wav VERY FEW PEOPLE KNEW OF THE EXISTENCE OF THIS LAW -wav/ryanjyoder-20091229-uvs/wav/b0451.wav YOU USED TO JOYRIDE LIKE THE VERY DEVIL -wav/safi-20071118-swr/wav/b0220.wav HARRY BANCROFT DAVE LIED -wav/saltamontes-20080814-oal/wav/a0093.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/SamirBenAbid-20091104-mpk/wav/b0512.wav YOU SHOULD HAVE SEEN THEM WHEN THEY HEARD ME SPITTING CHINOOK -wav/SamirBenAbid-20091104-ulq/wav/a0146.wav OF COURSE THAT IS UNINTERESTING SHE CONTINUED -wav/sampattuzzi-20091120-hle/wav/a0545.wav THE ITALIAN RANCHO WAS A BACHELOR ESTABLISHMENT -wav/sampattuzzi-20091120-nee/wav/a0584.wav I HAVE LONG NOTED YOUR THIRST UNQUENCHABLE -wav/samuelbuffet-20090711-mvm/wav/a0005.wav WILL WE EVER FORGET IT -wav/samuelbuffet-20090712-tcf/wav/a0020.wav CLUBS AND BALLS AND CITIES GREW TO BE ONLY MEMORIES -wav/Saul-20080221-arb/wav/b0246.wav THE BOY GREW AND PROSPERED -wav/Saul-20080221-cjc/wav/a0011.wav IF I EVER NEEDED A FIGHTER IN MY LIFE I NEED ONE NOW -wav/Saul-20080221-ftq/wav/ar-09.wav AT LAST THE JOISTS GAVE WAY AND FELL TO THE GROUND -wav/Saul-20080221-iiw/wav/b0524.wav SO FAR AS FLAGS WERE CONCERNED THEY WERE BEYOND ALL JURISDICTION -wav/Saul-20080221-qwn/wav/a0329.wav AH INDEED -wav/Saul-20080221-xai/wav/a0005.wav WILL WE EVER FORGET IT -wav/Saul-20090208-uct/wav/b0478.wav THE OLIGARCHY WILL ENCOURAGE SUCH AMBITION AND THE CONSEQUENT COMPETITION -wav/Scott-20080610-acn/wav/b0172.wav ON THE FAR CORNER OF THE COMPOUND FENCE A HAWK BROODED -wav/Scott-20080610-zlt/wav/a0193.wav IT WAS EDGED WITH ICE -wav/scottlacysalley-20080825-bbl/wav/b0176.wav I'LL SEE TO POOR HUGHIE -wav/scottlacysalley-20080825-ezz/wav/b0483.wav THE FLOWER OF THE ARTISTIC AND INTELLECTUAL WORLD WERE REVOLUTIONISTS -wav/scottlacysalley-20080825-fce/wav/b0299.wav MISS BRODIE'S SMILE WAS SLIGHTLY SARCASTIC -wav/scottlacysalley-20080825-jce/wav/b0045.wav PHILIP DID NOT PURSUE THE SUBJECT -wav/scottlacysalley-20080825-jhu/wav/b0045.wav PHILIP DID NOT PURSUE THE SUBJECT -wav/scottlacysalley-20080825-obq/wav/a0270.wav AND AFTER THE BATH A SHAVE WOULD NOT BE BAD -wav/scottlacysalley-20080825-whg/wav/b0516.wav ZILLA RELAXED HER SOUR MOUTH LONG ENOUGH TO SIGH HER SATISFACTION -wav/scribe63-20080615-pnh/wav/a0263.wav JOAN LOOKED TRIUMPHANTLY AT SHELDON WHO BOWED -wav/seanchan-20090715-nlm/wav/b0344.wav LOTS OF MEN TAKE WOMEN BUGGY RIDING -wav/seanmhogan-20090825-zzl/wav/b0331.wav HIS PARTNERS HAD STARVED AND DIED ON THE STEWART -wav/secrethotline-20081130-vsl/wav/b0409.wav THE DIRK MENTIONED BY WOLF LARSEN RESTED IN ITS SHEATH ON MY HIP -wav/Senthil_Singapore-20090404-lfs/wav/a0109.wav DO YOU KNOW THAT YOU ARE SHAKING MY CONFIDENCE IN YOU -wav/Sepero-20090315-cec/wav/b0234.wav AND WATCH OUT FOR WET FEET WAS HIS PARTING ADVICE -wav/Sepero-20090315-rek/wav/b0469.wav VERY FEW PEOPLE KNEW OF THE EXISTENCE OF THIS LAW -wav/Sepero-20090315-wuu/wav/rp-14.wav FROM THE GODS TO FORETELL WAR OR HEAVY RAIN -wav/SergioDaroca-20090909-npg/wav/b0228.wav YOU WERE ENGAGED -wav/SF7-20071020-mur/wav/a0304.wav I GRADUATED LAST OF MY CLASS -wav/shakyhand-2007-09-25/wav/cc-05.wav THAT AREA WAS MUCH NEARER FOR HER AND MORE TO HER LIKING -wav/shakyhand-2007-09-25/wav/cc-15.wav SARAH WAS SENTIMENTAL SO THIS MADE HER FEEL SORRY FOR THE BEAUTIFUL BIRD -wav/shakyhand-2007-09-25/wav/cc-25.wav SO SARAH WAS ABLE TO HOLD ONTO COMMA AND GIVE HER A RELAXING BATH -wav/shakyhand-2007-09-25/wav/cc-35.wav WITHOUT SPECIAL PERMISSION PROVIDED THE PRESENT SENTENCE -wav/Shane-20080602-byw/wav/a0440.wav YES SIR I CORRECTED -wav/Shane-20080602-kmc/wav/a0137.wav THEN HE STEPPED BACK WITH A LOW CRY OF PLEASURE -wav/Shane-20080602-rgd/wav/b0463.wav TAKE MY ADVICE AND ACCEPT THE VACATION -wav/Shane-20080602-xrq/wav/b0321.wav INSTEAD HE ARRIVED ON THE NIGHT OF THE SECOND DAY -wav/Shane-20080603-yfs/wav/a0049.wav GREGSON WAS ASLEEP WHEN HE RE-ENTERED THE CABIN -wav/Shane-20080604-icj/wav/b0151.wav IT WAS STEEL A FISHER TRAP -wav/Shane-20080606-fbp/wav/a0213.wav BETWEEN HIM AND THE BEACH WAS THE CANE-GRASS FENCE OF THE COMPOUND -wav/Shane-20080606-qgj/wav/a0324.wav IT WAS NOT RED-EYE'S WAY TO FOREGO REVENGE SO EASILY -wav/Shane-20080606-vwo/wav/b0351.wav MATTHEWSON WHO'S THIS BOOKKEEPER ROGERS -wav/sharrington-20081018-blu/wav/b0105.wav I KNOW THAT YOU ARE IN CHARGE THERE AND JEANNE KNOWS -wav/sharrington-20081018-lmj/wav/a0028.wav ROBBERY BRIBERY FRAUD -wav/sharrington-20081018-mux/wav/rb-20.wav IT IS NECESSARY TO KEEP IN MIND ON WHICH HARDWARE THE SOFTWARE WILL RUN -wav/sharrington-20081018-ncv/wav/b0381.wav AND HOW WOULD WE EVER FIND OURSELVES -wav/sharrington-20081018-rgy/wav/a0453.wav EIGHTEEN HUNDRED HE CALCULATED -wav/sharrington-20081018-ucg/wav/a0400.wav MANUEL HAD ONE BESETTING SIN -wav/sharrington-20081018-uuu/wav/a0442.wav YOU LIVE ON AN INCOME WHICH YOUR FATHER EARNED -wav/sharrington-20081018-ygq/wav/a0185.wav THE QUESTIONS MAY HAVE COME VAGUELY IN HIS MIND -wav/sharrington-20081018-yqy/wav/b0490.wav WHAT AN EXCITED WHISPERING AND CONFERRING TOOK PLACE -wav/sharrington-20081018-zkw/wav/a0175.wav DOWN THERE THE EARTH WAS ALREADY SWELLING WITH LIFE -wav/shashibg-20090103-hus/wav/a0532.wav MAY DROUGHT DESTROY YOUR CROPS -wav/ShingoTamai-20080918-wkt/wav/b0404.wav YES AND NO SIR WAS THE SLOW REPLY -wav/ShingoTamai-20080918-zlq/wav/a0563.wav MRS MCFEE'S JAWS BROUGHT TOGETHER WITH A SNAP -wav/Shishir-20091211-dom/wav/b0427.wav THE SUNSETS GROW MORE BIZARRE AND SPECTACULAR OFF THIS COAST OF THE ARGENTINE -wav/Shishire-20080801-kmo/wav/b0264.wav BUT THIS TIME IT WAS SAXON WHO REBELLED -wav/sil-20090322/wav/cc-07.wav SHE ATE A BOWL OF PORRIDGE CHECKED HERSELF IN THE MIRROR -wav/sil-20090322/wav/cc-17.wav WHICH MADE AN UNSANITARY MESS -wav/sil-20090322/wav/cc-27.wav AND LAID HER ON HER RIGHT SIDE THEN SARAH CONFIRMED THE VET'S DIAGNOSIS -wav/sil-20090322/wav/cc-37.wav IF REPRODUCED IN PRINT AND IN AUDIO FORMAT IN THE CASE OF A SOUND RECORDING -wav/simcop2387-20080324-psl/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/Simon-20081003-liu/wav/a0187.wav AHEAD OF THEM THEY SAW A GLIMMER OF SUNSHINE -wav/simonmcandrew-20081114-zoz/wav/a0557.wav THE LAST REFUGEE HAD PASSED -wav/simulant-20090912/wav/ar--08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/simulant-20090912/wav/ar--18.wav THE ROOF MAY NOT COME DOWN YET -wav/slaveofone-20081214/wav/ar-04.wav HE WOULD ALWAYS SHIRK MAKING A CHOICE HIS AUNT HELEN SAID TO HIM -wav/slaveofone-20081214/wav/ar-14.wav THERE IS A KINDLY HORSE NAMED NELLY A COW A CALF AND A GARDEN WITH AN ELM TREE -wav/slaveofone-20081214/wav/ar-24.wav ONE OF THEM MOVED A BOARD AND SAW A RAT QUITE DEAD HALF IN AND HALF OUT OF HIS HOLE -wav/slaveofone-20081215/wav/vf15-10.wav BEHIND HIM LAY THE THOUSAND-YEARS-LONG ROAD ACROSS ALL SIBERIA AND RUSSIA -wav/slaveofone-20081215/wav/vf15-20.wav THIS IS MY FIFTH VOYAGE -wav/slaveofone-20081215/wav/vf15-30.wav HE TURNED THE MAP TO GREGSON POINTING WITH HIS FINGER -wav/slaveofone-20081215/wav/vf15-40.wav HE MADE NO REPLY AS HE WAITED FOR WHITTEMORE TO CONTINUE -wav/smarsh-20090111-cph/wav/b0195.wav NOBODY KNOWS HOW THE NATIVES GOT THEM -wav/smarsh-20090111-ecy/wav/b0015.wav THEY ROBBED ME A FEW YEARS LATER -wav/smarsh-20090111-rdv/wav/b0460.wav THE MORE HIS OPPONENTS GREW EXCITED THE MORE ERNEST DELIBERATELY EXCITED THEM -wav/smarsh-20090111-uzk/wav/b0016.wav HE CHUCKLED AS HE PULLED OUT HIS PIPE AND BEGAN FILLING IT -wav/smarsh-20090111-xlj/wav/a0425.wav OTHERWISE NO RESTRICTION IS PUT UPON THEIR SEAFARING -wav/Sombra-20081221-etq/wav/b0520.wav HANS HURLED HIMSELF UPON THE PROSTRATE MAN STRIKING MADLY WITH HIS FISTS -wav/soulphox-20100119-qmd/wav/b0306.wav CAMERON LOOKED AT HIS HANDS WITH THEIR LONG SINEWY FINGERS -wav/soulphox-20100119-wiz/wav/b0311.wav THE TWENTY NINTH VERY FOGGY -wav/soulphox-20100120-avm/wav/b0045.wav PHILIP DID NOT PURSUE THE SUBJECT -wav/soulphox-20100120-bmy/wav/a0463.wav THEY ARE HIS TONGUE BY WHICH HE MAKES HIS KNOWLEDGE ARTICULATE -wav/soulphox-20100120-cqs/wav/a0499.wav AND RIGHT THERE I SAW AND KNEW IT ALL -wav/soulphox-20100120-dfy/wav/b0490.wav WHAT AN EXCITED WHISPERING AND CONFERRING TOOK PLACE -wav/soulphox-20100120-dkm/wav/b0369.wav YOU SEE WE WERE TEACHING OURSELVES -wav/soulphox-20100120-hjj/wav/a0582.wav DAUGHTRY ELABORATED ON THE COUNTING TRICK BY BRINGING COCKY ALONG -wav/soulphox-20100120-oau/wav/a0429.wav QUICK WAS THE DISAPPOINTMENT IN HIS FACE YET SMILING WAS THE ACQUIESCENCE -wav/soulphox-20100120-pyl/wav/b0420.wav ON OCCASION ON THIS TRAVERSE THE CAPE VERDE ISLANDS ARE RAISED -wav/soulphox-20100120-tco/wav/b0521.wav AND HE THOUGHT OF OONA AND OF HER WORDS -wav/soulphox-20100120-tnv/wav/a0272.wav YOU CAN TAKE A VACATION ON PAY -wav/soulphox-20100121-axc/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/soulphox-20100121-elr/wav/a0023.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/soulphox-20100121-kcm/wav/b0052.wav THE FLUSH WAS GONE FROM HER FACE -wav/soulphox-20100121-nga/wav/b0507.wav DID I POSSESS TOO MUCH VITALITY -wav/soulphox-20100121-skn/wav/a0469.wav THE EASTERN HEAVENS WERE EQUALLY SPECTACULAR -wav/soup-20080103-nyi/wav/a0434.wav A HALF A CASE OF TOBACCO WAS WORTH THREE POUNDS -wav/southerman-20091030-tzr/wav/b0512.wav YOU SHOULD HAVE SEEN THEM WHEN THEY HEARD ME SPITTING CHINOOK -wav/southernman-20091030-iwt/wav/b0009.wav I'D SAY THERE WAS GOING TO BE A GLORIOUS SCRAP -wav/southernman-20091031-iyz/wav/b0441.wav AND THERE WAS ETHEL BAIRD WHOM ALSO YOU MUST REMEMBER -wav/squilla-20070519/wav/ar-10.wav THE WALLS SHOOK AND ALL THE RATS' HAIR STOOD ON END WITH FEAR AND HORROR -wav/squilla-20070519/wav/ar-20.wav ARTHUR STOOD AND WATCHED THEM HURRY AWAY -wav/src105-20090728-yal/wav/b0029.wav ALL OPERATIONS HAVE BEEN CARRIED ON FROM MONTREAL AND TORONTO -wav/sriram-20100118-qyz/wav/a0404.wav PERRAULT FOUND ONE WITH HEAD BURIED IN THE GRUB BOX -wav/starlite-20070605-che/wav/che0006.wav PARTS SEPARATING EXUVIAE WASTE VEGETABLE MATTERS -wav/starlite-20070605-che/wav/che0016.wav IT IS HIGHLY IMPORTANT TO KEEP IN MIND THE SOURCE WHENCE THEY ARE DERIVED -wav/starlite-20070605-che/wav/che0026.wav DEMONSTRATES TO US THAT DURING THE LIFE OF AN ANIMAL -wav/starlite-20070605-che/wav/che0036.wav PASSES INTO THE BLOOD IN THE LUNGS AND UNITES WITH ITS ELEMENTS -wav/starlite-20070605-che/wav/che0046.wav BUT ALL THE OTHER SUBSTANCES WHICH ARE IN COMBINATION WITH THESE ELEMENTS -wav/starlite-20070605-che/wav/che0056.wav RETURN INTO THE ATMOSPHERE THE NITROGEN AND ALL THE SOLUBLE INORGANIC ELEMENTS -wav/starlite-20070605-che/wav/che0066.wav NO SENSIBLE INCREASE OR DECREASE OF WEIGHT OCCURS FROM DAY TO DAY -wav/starlite-20070605-che/wav/che0076.wav IN OLD AGE THE WASTE IS GREATER THAN THE SUPPLY -wav/starlite-20070605-che/wav/che0086.wav IN THE SOLID EXCREMENTS ARE FOUND ALL THOSE SUBSTANCES -wav/starlite-20070605-che/wav/che0096.wav IN OTHER WORDS DURING THE PASSAGE OF THE FOOD THROUGH THE INTESTINAL CANAL -wav/starlite-20070605-che/wav/che0106.wav WE MAY OBTAIN A CLEAR INSIGHT INTO THE CHEMICAL CONSTITUTION OF THE SOLID EXCREMENTS -wav/starlite-20070605-che/wav/che0116.wav SOLUBLE AND INSOLUBLE ARE RETURNED AND AS FOOD IS PRIMARILY DERIVED FROM THE FIELDS -wav/starlite-20070605-che/wav/che0126.wav IN THE FLUID AND SOLID EXCREMENTS OF MAN AND THE BONES BLOOD AND SKINS OF THE SLAUGHTERED ANIMALS -wav/starlite-20070605-che/wav/che0136.wav WHICH GIVE TO THE EXUVIAE OF MAN AND ANIMALS -wav/starlite-20070605-che/wav/che0146.wav THE FERTILITY OF A FIELD OR OF A COUNTRY DECREASES -wav/starlite-20070605-che/wav/che0156.wav ARE DEPOSITED IN THE GRAVE FOR THE REST -wav/starlite-20070605-che/wav/che0166.wav IN THE SOLID AND FLUID EXCREMENTS ALL THE SALTS AND ALKALINE BASES -wav/starlite-20070605-che/wav/che0176.wav BY ANALYSIS WE CAN DETERMINE THE EXACT RELATIVE AMOUNT OF SILICA -wav/starlite-20070605-che/wav/che0186.wav TOGETHER WITH COMPOUNDS OF THE SAME BASES WITH INORGANIC ACIDS -wav/starlite-20070605-che/wav/che0196.wav BUT ABOUND IN INSOLUBLE EARTHY PHOSPHATES AS HAY CARROTS AND POTATOES -wav/starlite-20070605-che/wav/che0206.wav THE SOLUBLE AND INSOLUBLE SALTS AND EARTHS -wav/starlite-20070605-che/wav/che0216.wav DETERMINE THE EXACT VALUE OF THE DIFFERENT KINDS OF MANURE -wav/starlite-20070605-che/wav/che0226.wav IN THE GREATEST QUANTITY END OF SECTION FOURTEEN -wav/starlite-20070613-fur1/wav/fur0010.wav WITH A FINE ORCHESTRA CAPTAIN CRAVENTY'S RECEPTION WAS A VERY SIMPLE AFFAIR -wav/starlite-20070613-fur1/wav/fur0020.wav RELIEVED THE GLOOMY APPEARANCE OF THE BLACKENED BEAMS OF THE CEILING -wav/starlite-20070613-fur1/wav/fur0030.wav IMPEDED THE FREE CIRCULATION OF THE GUESTS -wav/starlite-20070613-fur1/wav/fur0040.wav WERE HERE REPRESENTED BY THEIR FINEST SKINS -wav/starlite-20070613-fur1/wav/fur0050.wav A WONDERFUL WOMAN CORPORAL HER EQUAL IS NOT TO BE FOUND CAPTAIN -wav/starlite-20070613-fur1/wav/fur0060.wav WHILST TONGUES OF FLAME SHOT FORTH FROM THE STOVE -wav/starlite-20070613-fur1/wav/fur0070.wav THE HOUSE WAS SHAKEN TO ITS FOUNDATIONS THE PLANKS CRACKED -wav/starlite-20070613-fur1/wav/fur0080.wav THESE WERE LIEUTENANT JASPAR HOBSON SERGEANT LONG CORPORAL JOLIFFE -wav/starlite-20070613-fur1/wav/fur0090.wav A RARE BREAK LIKE THIS IN THE MONOTONY OF THEIR SECLUDED LIVES -wav/starlite-20070613-fur1/wav/fur0100.wav THEIR COMPLEXIONS ARE OF THE PECULIAR REDDISH BLACK COLOUR -wav/starlite-20070613-fur1/wav/fur0110.wav REIN DEER VENISON AND MUSK BEEF THE EGGS MILK AND CITRON -wav/starlite-20070613-fur1/wav/fur0120.wav MADE SHORT WORK OF THE TOUGH BISCUITS -wav/starlite-20070613-fur1/wav/fur0130.wav THE PUDDING BY GLASSES OF GIN OR WHISKY -wav/starlite-20070613-fur1/wav/fur0140.wav HERE THE TALK WAS OF HUNTING THERE OF TRADE -wav/starlite-20070613-fur1/wav/fur0150.wav THE LARGE DOSES OF CAPTAIN CRAVENTY'S FIRE WATER -wav/starlite-20070613-fur1/wav/fur0160.wav SOME OF THOSE EMPLOYED IN THE GARRISON AND CIVIL SERVICE OF FORT RELIANCE -wav/starlite-20070613-fur1/wav/fur0170.wav AND ENABLED HIM TO RISE SUPERIOR TO ADVERSE CIRCUMSTANCES -wav/starlite-20070613-fur1/wav/fur0180.wav DURING THE STRUGGLES IN OREGON OF THE HUDSON'S BAY COMPANY -wav/starlite-20070613-fur1/wav/fur0190.wav HE WAS A MAN OF FIFTY YEARS OF AGE -wav/starlite-20070613-fur1/wav/fur0200.wav WHILST HE HIMSELF HAD NEVER BEEN REPRIMANDED -wav/starlite-20070613-fur1/wav/fur0210.wav WE HAVE ALREADY MADE ACQUAINTANCE WITH CORPORAL JOLIFFE -wav/starlite-20070613-fur1/wav/fur0220.wav OBEYED HIS WIFE WITHOUT OWNING IT DOUBTLESS THINKING TO HIMSELF -wav/starlite-20070613-fur1/wav/fur0230.wav ACROSS AN UNKNOWN CORNER OF NEW HOLLAND FROM SWAN BAY TO -wav/starlite-20070613-fur1/wav/fur0240.wav WAS SOMEWHAT MASCULINE AND HER WHOLE APPEARANCE WAS SUGGESTIVE -wav/starlite-20070613-fur1/wav/fur0250.wav THE LATTER WAS TO DO ALL IN HIS POWER TO FORWARD THE DESIGN -wav/starlite-20070613-fur1/wav/fur0260.wav THAT THE CELEBRATED TRAVELLER WAS ACCOMPANIED BY A SERVANT NAMED MADGE -wav/starlite-20070613-fur1/wav/fur0270.wav IT WAS IN HONOUR OF PAULINA BARNETT THAT CAPTAIN CRAVENTY -wav/starlite-20070613-fur1/wav/fur0280.wav END OF CHAPTER ONE -wav/starlite-20070613-fur5/wav/fur0010.wav AND THE REDHEADED DUCKS OF WHICH THERE ARE SO MANY SPECIES IN NORTH AMERICA -wav/starlite-20070613-fur5/wav/fur0020.wav THAN IN ANY OTHER PORTION OF THE GLOBE -wav/starlite-20070613-fur5/wav/fur0030.wav WHICH WERE ALREADY FREQUENTED BY GAME -wav/starlite-20070613-fur5/wav/fur0040.wav WHERE THE WILD ANIMALS HAD HITHERTO ESCAPED THE RAPACITY OF MAN -wav/starlite-20070613-fur5/wav/fur0050.wav THE LIEUTENANT HOPED TO HALT THERE ABOUT THE BEGINNING OF MAY -wav/starlite-20070613-fur5/wav/fur0060.wav ON THE SIXTEENTH APRIL DOGS AND SLEDGES -wav/starlite-20070613-fur5/wav/fur0070.wav AND EACH ONE TOOK HIS PLACE IN THE SLEDGE ASSIGNED TO HIM -wav/starlite-20070613-fur5/wav/fur0080.wav ON LEAVING FORT RELIANCE JASPAR HOBSON AT ONCE DIRECTED HIS COURSE -wav/starlite-20070613-fur5/wav/fur0090.wav AND ITS RAYS REFLECTED ON THE SNOW GAVE MORE LIGHT THAN HEAT -wav/starlite-20070613-fur5/wav/fur0100.wav WE SHALL GET ON CAPITALLY WHAT DO YOU THINK SERGEANT LONG -wav/starlite-20070613-fur5/wav/fur0110.wav LIEUTENANT THERE IS NO SUCH THING AS AN IMPOSSIBLE ORDER -wav/starlite-20070613-fur5/wav/fur0120.wav THEY HAD ALREADY LEFT BEHIND THEM THE HILLS OF THE NORTHERN BANKS OF THE SLAVE LAKE -wav/starlite-20070613-fur5/wav/fur0130.wav WHAT A DIFFERENCE BETWEEN THESE POLAR REGIONS -wav/starlite-20070613-fur5/wav/fur0140.wav NO PAULINA REPLIED MADGE WRAPPING HER FURS MORE CLOSELY ROUND HER -wav/starlite-20070613-fur5/wav/fur0150.wav DON'T TELL ME I EVER COMPLAINED OF BEING TOO WARM FOR I SHANT BELIEVE YOU -wav/starlite-20070613-fur5/wav/fur0160.wav WAIT TILL THE NORTHERN STORMS BREAK OVER US AND THE GLORIES OF THE AURORA BOREALIS -wav/starlite-20070613-fur5/wav/fur0170.wav THE POETRY EMBODIED IN THE SAGAS -wav/starlite-20070613-fur5/wav/fur0180.wav HE HAD NOT TO REACH THE POLE ITSELF -wav/starlite-20070613-fur5/wav/fur0190.wav OCCUPIED BY MR AND MRS JOLIFFE PERHAPS THE GALLANT CORPORAL -wav/starlite-20070613-fur5/wav/fur0200.wav CALLING OUT TO YOU TO RESUME YOUR PROPER PLACE BEHIND -wav/starlite-20070613-fur5/wav/fur0210.wav AND WAS ALREADY CONSIDERABLY IN ADVANCE OF THE REST OF THE PARTY -wav/starlite-20070613-fur5/wav/fur0220.wav AND THE REST OF THE CARAVAN FOLLOWED AT A RAPID PACE -wav/starlite-20070613-fur5/wav/fur0230.wav SCREAMED THE POOR LITTLE WOMAN FRIGHTENED OUT OF HER WITS -wav/starlite-20070613-fur5/wav/fur0240.wav PERHAPS WITH ONE OF HIS EARS IN IT -wav/starlite-20070613-fur5/wav/fur0250.wav THE CREST FALLEN CORPORAL WAS OBLIGED TO SUBMIT -wav/starlite-20070613-fur6/wav/fur0005.wav A WAPITI DUEL TWO HUNDRED MILES HAD BEEN TRAVERSED SINCE THE EXPEDITION LEFT FORT RELIANCE -wav/starlite-20070613-fur6/wav/fur0015.wav THE FORT CONSISTED OF A WOODEN HOUSE SURROUNDED BY PALISADES -wav/starlite-20070613-fur6/wav/fur0025.wav WEARY OF THE MONOTONOUS WHITENESS OF THE SNOW -wav/starlite-20070613-fur6/wav/fur0035.wav WHICH ASSUMED ALL MANNER OF PICTURESQUE FORMS -wav/starlite-20070613-fur6/wav/fur0045.wav OR ARE YOU ALREADY WEARY OF A SIGHT SO NEW AND INTERESTING TO ME -wav/starlite-20070613-fur6/wav/fur0054.wav EVEN IN THE POLAR REGIONS AH MADAM REPLIED JASPAR HOBSON -wav/starlite-20070613-fur6/wav/fur0064.wav INQUIRED MRS BARNETT YES MADAM AND I ADMIRED THEM AS THEY DESERVED -wav/starlite-20070613-fur6/wav/fur0074.wav WE SHALL INDEED ADVANCE FAR YOU -wav/starlite-20070613-fur6/wav/fur0084.wav THAT OUR PANTING DOGS WILL NO LONGER CARRY US ALONG WITH THE SPEED OF AN ARROW -wav/starlite-20070613-fur6/wav/fur0094.wav OF THE FOUR ELEMENTS OF THE OLD CREATION ONLY ONE IS NECESSARY TO US HERE -wav/starlite-20070613-fur6/wav/fur0104.wav A COMPLETE THAW SET IN THE VAST WHITE SHEET OF SNOW RESOLVED ITSELF INTO WATER -wav/starlite-20070613-fur6/wav/fur0114.wav WHO WERE NOW GRADUALLY APPROACHING THE BEST DISTRICTS FOR GAME IN THE WHOLE OF ENGLISH AMERICA -wav/starlite-20070613-fur6/wav/fur0124.wav IF BY ANY UNLUCKY CHANCE -wav/starlite-20070613-fur6/wav/fur0134.wav FOR TAKING SABLES OTTERS WOLVES FOXES BEARS ETC -wav/starlite-20070613-fur6/wav/fur0144.wav AND THE LIEUTENANT NOT ONLY GRANTED IT -wav/starlite-20070613-fur6/wav/fur0154.wav THIS SPECIES IS RARELY SEEN BEYOND FIFTY SEVEN DEGREES NORTH LATITUDE -wav/starlite-20070613-fur6/wav/fur0164.wav OLD TRAPPERS LIKE US ARE NOT TO BE TAKEN IN -wav/starlite-20070613-fur6/wav/fur0174.wav THE UNDULATING PLAINS WERE STILL WHITE WITH SNOW -wav/starlite-20070613-fur6/wav/fur0184.wav REPLIED HOBSON THEY ALWAYS DO WHEN THE HEAT OF THE POLAR SUN -wav/starlite-20070613-fur6/wav/fur0194.wav THESE WAPITIS WERE ONCE VERY NUMEROUS ALL OVER NORTH AMERICA AND -wav/starlite-20070613-fur6/wav/fur0204.wav THE WAPITIS WERE SO ENGROSSED IN THEIR DESPERATE STRUGGLE -wav/starlite-20070613-fur6/wav/fur0214.wav HAVE THESE WAPITIS A COMMERCIAL VALUE ASKED MRS PAULINA BARNETT -wav/starlite-20070613-fur6/wav/fur0224.wav AND STICKS TO THE TEETH IT IS CERTAINLY INFERIOR AS AN ARTICLE OF FOOD -wav/starlite-20070613-fur6/wav/fur0234.wav AND THE SWIFTEST HORSE COULD NOT HAVE CAUGHT THEM UP -wav/starlite-20070613-fur6/wav/fur0244.wav WHEN THEY ARE BLINDED WITH RAGE THERE'S PLENTY OF TIME MA'AM -wav/starlite-20070613-fur6/wav/fur0254.wav THE FOUR NOW DESCENDED THE HILL -wav/starlite-20070613-fur6/wav/fur0264.wav THE POOR ENCUMBERED ANIMALS SOON DIE OF HUNGER -wav/starlite-20070614-fur2/wav/fur0004.wav THE FUR COUNTRY BY JULES VERNE PART ONE CHAPTER TWO -wav/starlite-20070614-fur2/wav/fur0014.wav THE COMPANY HAS CHARGED HIM TO EXPLORE THE NORTH OF THEIR POSSESSIONS -wav/starlite-20070614-fur2/wav/fur0024.wav AT NO VERY DISTANT DATE RUSSIA WILL PROBABLY CEDE HER AMERICAN POSSESSIONS TO THE GOVERNMENT OF THE UNITED STATES -wav/starlite-20070614-fur2/wav/fur0034.wav IF THE ENTERPRISE SUCCEED THIS POINT WILL BECOME AN IMPORTANT FACTORY -wav/starlite-20070614-fur2/wav/fur0044.wav AND I ALLUDED TO A MATTER OF VITAL INTEREST TO THE COMPANY -wav/starlite-20070614-fur2/wav/fur0054.wav THAT SUMPTUARY LAWS WERE ENACTED TO CONTROL TOO GREAT EXTRAVAGANCE -wav/starlite-20070614-fur2/wav/fur0064.wav ON THE SECOND MAY -wav/starlite-20070614-fur2/wav/fur0074.wav THREATENED THE VERY EXISTENCE OF THE INFANT COMPANY -wav/starlite-20070614-fur2/wav/fur0084.wav WHICH SOON BECAME THE CENTRE OF THE FUR TRADE -wav/starlite-20070614-fur2/wav/fur0094.wav IN SPITE OF THE COMPETITION OF THE VARIOUS RUSSIAN AND AMERICAN COMPANIES WHICH HAD SPRUNG UP -wav/starlite-20070614-fur2/wav/fur0104.wav NOW THE ONLY RIVAL OF THIS IMPORTANT ASSOCIATION -wav/starlite-20070614-fur2/wav/fur0114.wav IS THE HEADQUARTERS OF THE COMPANY AND CONTAINS ITS PRINCIPAL FUR DEPOT -wav/starlite-20070614-fur2/wav/fur0124.wav OF THE AMERICAN COAST MACKENZIE -wav/starlite-20070614-fur2/wav/fur0134.wav ONE THOUSAND AND SIXTY NINE BEARS SEVEN THOUSAND FOUR HUNDRED AND FIFTY ONE -wav/starlite-20070614-fur2/wav/fur0144.wav BUT UNFORTUNATELY THEY HAVE NOT BEEN MAINTAINED -wav/starlite-20070614-fur2/wav/fur0154.wav THE DEPOPULATION OF THE HUNTING TERRITORIES CAUSED BY THE ACTIVITY -wav/starlite-20070614-fur2/wav/fur0164.wav COMPELLED TO FLEE BEFORE THE INVASION OF THE HUNTERS -wav/starlite-20070614-fur2/wav/fur0174.wav TO SEEK A MORE NORTHERN CENTRE OF OPERATIONS -wav/starlite-20070614-fur2/wav/fur0184.wav SO THAT THE MONOPOLY ENJOYED BY THE HUDSON'S BAY COMPANY -wav/starlite-20070614-fur2/wav/fur0194.wav AND TO LEAVE TO THE COMPANY ONLY THAT PORTION OF ITS LAND -wav/starlite-20070614-fur2/wav/fur0204.wav AND IT IS PROBABLE HE WOULD HAVE ENTERED INTO FURTHER DETAILS -wav/starlite-20070614-fur2/wav/fur0214.wav AND THE CORPORAL MATCH IN HAND AWAITED THE ORDER OF HIS CAPTAIN -wav/starlite-20070614-fur2/wav/fur0224.wav IN THE MIDST OF THESE JOYFUL SHOUTS CRIES WERE HEARD FROM OUTSIDE -wav/starlite-20070615-fur3/wav/fur0006.wav SERGEANT LONG HASTENED TO THE NARROW PASSAGE FROM WHICH OPENED THE OUTER DOOR OF THE FORT -wav/starlite-20070615-fur3/wav/fur0016.wav OPEN OPEN OPEN THEY SHOUTED FROM WITHOUT I AM OPENING REPLIED SERGEANT LONG -wav/starlite-20070615-fur3/wav/fur0026.wav WERE ALREADY OUTSIDE BRAVING THE INTENSE COLD AND STARING AT THE SLEDGE -wav/starlite-20070615-fur3/wav/fur0036.wav BUT THERE WAS NO TIME TO ANNOUNCE THIS OPINION -wav/starlite-20070615-fur3/wav/fur0046.wav AND WAS TAKEN TO A ROOM ON THE FIRST FLOOR -wav/starlite-20070615-fur3/wav/fur0056.wav WOULD NOT HAVE BEEN AFFECTED BY IT JOLIFFE UNDRESSED HIM -wav/starlite-20070615-fur3/wav/fur0066.wav AND WHILST THE SERGEANT WENT TO FETCH THE SNOW -wav/starlite-20070615-fur3/wav/fur0076.wav IT WAS NO SOFT AND AGREEABLE FRICTION -wav/starlite-20070615-fur3/wav/fur0086.wav WHEN THE POOR MAN SIGHED SEVERAL TIMES -wav/starlite-20070615-fur3/wav/fur0096.wav IN SUCH A TERRIBLE CONDITION AT LAST THE TRAVELLER -wav/starlite-20070615-fur3/wav/fur0106.wav THEN REPLIED THOMAS BLACK I HAVE ONLY TO THANK YOU -wav/starlite-20070615-fur3/wav/fur0116.wav WHY HAD HE UNDERTAKEN THIS JOURNEY ACROSS THE TERRITORIES OF THE COMPANY -wav/starlite-20070615-fur3/wav/fur0126.wav AND IN THE TWENTY YEARS DURING WHICH HE HAD DEVOTED HIMSELF TO ASTRONOMY -wav/starlite-20070615-fur3/wav/fur0136.wav LUMINOUS METEORS AND SHOOTING STARS -wav/starlite-20070615-fur3/wav/fur0146.wav THE MOON IS SURROUNDED BY A LUMINOUS CORONA -wav/starlite-20070615-fur3/wav/fur0156.wav BUT THEIR THEORIES WERE SO CONTRADICTORY -wav/starlite-20070615-fur3/wav/fur0166.wav AS TO THE CAUSE OF THE PHENOMENON SINCE THIS WAS WRITTEN -wav/starlite-20070615-fur3/wav/fur0176.wav THAT SIMULTANEOUS OBSERVATIONS SHOULD BE TAKEN AT THE VARIOUS POINTS OF THE ZONE -wav/starlite-20070615-fur3/wav/fur0186.wav WHEN THE TOTALITY OF THE ECLIPSE HAS COMMENCED -wav/starlite-20070615-fur3/wav/fur0196.wav UNDER THE ESCORT OF A COURIER OF THE COMPANY -wav/starlite-20070615-fur3/wav/fur0206.wav EIGHTEEN SIXTY BUT CAPTAIN REPLIED THE ASTRONOMER -wav/starlite-20070615-fur4/wav/fur0002.wav ALL LIBRIVOX RECORDINGS ARE IN THE PUBLIC DOMAIN -wav/starlite-20070615-fur4/wav/fur0012.wav THE POSITION OF THE LAKE IN THE VERY CENTRE OF THE HUNTING DISTRICTS -wav/starlite-20070615-fur4/wav/fur0022.wav ITS NORTHERN BANKS ARE CLOTHED WITH THICK WOODS -wav/starlite-20070615-fur4/wav/fur0032.wav IN THIS REMOTE DISTRICT THE GREAT SLAVE LAKE -wav/starlite-20070615-fur4/wav/fur0042.wav IN SUMMER FORT RELIANCE WAS SURROUNDED WITH MASSES OF VERDURE -wav/starlite-20070615-fur4/wav/fur0052.wav THEIR WEIGHT OFTEN EXCEEDING FORTY POUNDS PIKES -wav/starlite-20070615-fur4/wav/fur0062.wav WHERE EXCHANGES WERE MADE SURROUNDED THIS HOUSE -wav/starlite-20070615-fur4/wav/fur0072.wav AND WHEN THE AGENTS AND SOLDIERS OF RIVAL ASSOCIATIONS DISPUTED THE POSSESSION OF THE RICH FUR COUNTRY -wav/starlite-20070615-fur4/wav/fur0082.wav ON WHAT TERMS EXCHANGES WERE FORMERLY MADE -wav/starlite-20070615-fur4/wav/fur0092.wav ONE BEAVER SKIN ONE BOX OF POWDER ONE BEAVER SKIN -wav/starlite-20070615-fur4/wav/fur0102.wav SUCH WAS THE MODE OF PROCEEDING IN FORT RELIANCE -wav/starlite-20070615-fur4/wav/fur0112.wav AND RED PROMINENCES OF THE MOON HE LIVED BUT TO SOLVE THE PROBLEM -wav/starlite-20070615-fur4/wav/fur0122.wav FOR CROSSING THE POLAR REGIONS EVERYTHING HAD TO BETAKEN WITH THEM -wav/starlite-20070615-fur4/wav/fur0132.wav SEVEN MARBRE DO EIGHT GARRY DO NINE POND DO -wav/starlite-20070615-fur4/wav/fur0142.wav JOINED TOGETHER BY TRANSVERSE BANDS -wav/starlite-20070615-fur4/wav/fur0152.wav FREQUENT IN THESE LATITUDES EACH ONE OFFICER OR SOLDIER -wav/starlite-20070615-fur4/wav/fur0162.wav FUR CAPS AND DEER SKIN BELTS COMPLETED THE COSTUMES -wav/starlite-20070615-fur4/wav/fur0172.wav WHOLE TRIBES OF INDIANS OR ESQUIMAUX DEPRIVED OF BREAD AND ALL OTHER NOURISHMENT -wav/starlite-20070615-fur4/wav/fur0182.wav WERE AMONGST THE STORES PROVIDED IN CASE OF NEED -wav/starlite-20070615-fur4/wav/fur0192.wav NONE WERE TOO STOUT OR TOO THIN -wav/starlite-20070615-fur4/wav/fur0202.wav SHE DID NOT WISH TO BE TREATED BETTER THAN HER TRAVELLING COMPANIONS -wav/starlite-20070615-fur4/wav/fur0212.wav OF COURSE THE FOOD FOR THE VARIOUS TEAMS WAS NOT FORGOTTEN -wav/starlite-20070615-fur4/wav/fur0222.wav BUT HIS WIFE WAS MOST USEFUL AND DEVOTED AND MRS PAULINA BARNETT -wav/starlite-20070615-fur4/wav/fur0232.wav BUT WHO COULD TELL WHAT INSURMOUNTABLE DIFFICULTIES -wav/starlite-20070618-fur7/wav/fur0007.wav BUT THE GREAT INEQUALITIES OF THE GROUND -wav/starlite-20070618-fur7/wav/fur0017.wav BEEN ABLE TO CROSS THE DISTRICTS ON THE SHORES OF THE SEA -wav/starlite-20070618-fur7/wav/fur0027.wav THE SLEDGES COULD NOT VENTURE UPON THEM -wav/starlite-20070618-fur7/wav/fur0037.wav BESIDES THE SCATTERED NATIVES THERE ARE SOME FEW THOUSAND AGENTS OR SOLDIERS -wav/starlite-20070618-fur7/wav/fur0047.wav WHO HAD WINTERED IN THE ARCTIC REGIONS WAIT FOR THE WINTER MADAM -wav/starlite-20070618-fur7/wav/fur0057.wav HERE THEN THE TRAVELLERS ENTERED THE TRUE ARCTIC REGION -wav/starlite-20070618-fur7/wav/fur0067.wav FEW EXPLORERS HAVE VENTURED INTO SUCH TOTALLY DIFFERENT REGIONS -wav/starlite-20070618-fur7/wav/fur0077.wav ARE ABOUT EQUAL EVERYWHERE -wav/starlite-20070618-fur7/wav/fur0087.wav AND I AM WELL AWARE HOW MANY TRAVELLERS HAVE FALLEN VICTIMS TO SAVAGES -wav/starlite-20070618-fur7/wav/fur0097.wav MCCLURE DANE AND MORTON DID NOT GET BEYOND EIGHTY THREE DEGREES NORTH LATITUDE -wav/starlite-20070618-fur7/wav/fur0107.wav THAN THOSE HITHERTO ADOPTED BY TRAVELLERS -wav/starlite-20070618-fur7/wav/fur0117.wav AND FUEL NEARER AND NEARER TO THE POLE -wav/starlite-20070618-fur7/wav/fur0127.wav REPLIED HOBSON BUT WHEN ONCE THE PROJECTS OF THE COMPANY ARE REALISED -wav/starlite-20070618-fur7/wav/fur0137.wav WILL HAVE BEEN LED THITHER IN PURSUIT OF A SABLE OR A SILVER FOX -wav/starlite-20070618-fur7/wav/fur0147.wav I FEEL SURE YOU WOULD NOT HESITATE TO GO BUT -wav/starlite-20070618-fur7/wav/fur0157.wav WE SHALL HAVE TO BATTLE WITH A FEARFUL STORM -wav/starlite-20070618-fur7/wav/fur0167.wav AND IT WAS NOT UNTIL THREE IN THE AFTERNOON THAT THEY AGAIN SET -wav/starlite-20070618-fur7/wav/fur0177.wav BLOCKED UP THE ROAD CAUSING CONSTANT DELAY -wav/starlite-20070618-fur7/wav/fur0187.wav BE WAS SO CORPULENT THAT ALL EXERTION WAS DISAGREEABLE TO HIM -wav/starlite-20070618-fur7/wav/fur0197.wav EVEN IN THE FRIGID ZONE JASPAR HOBSON -wav/starlite-20070618-fur7/wav/fur0207.wav AND THE GROUND WAS SOON COVERED WITH A THICK WHITE CARPET -wav/starlite-20070618-fur7/wav/fur0217.wav COULD ADVANCE NO FURTHER THE PARTY WAS THEN IN A NARROW GORGE BETWEEN HUGE ICEBERGS -wav/starlite-20070618-fur7/wav/fur0227.wav JASPAR HOBSON AND HIS MEN KNEW WELL WHAT THEY HAD TO DO UNDER THE CIRCUMSTANCES -wav/starlite-20070618-fur7/wav/fur0237.wav WERE SOON AT WORK ON THE BRITTLE MASSES OF ICE -wav/starlite-20070618-fur7/wav/fur0247.wav AND THE ESQUIMAUX AND INDIANS HAVE NO OTHER REFUGE EVEN IN THE BITTEREST COLD -wav/starlite-20070618-fur7/wav/fur0257.wav THE WIND ROARED IN THE NARROW PASS -wav/starlite-20070618-fur7/wav/fur0267.wav TO DISCOVER THE RETREAT OF THE TRAVELLERS -wav/starlite-20070618-fur7/wav/fur0277.wav THREATENING THEIR SOLIDITY HOWEVER NO GREAT CRASH OCCURRED -wav/SteliosKoroneos-20090926-att/wav/a0231.wav THE RESIDENT COMMISSIONER IS AWAY IN AUSTRALIA -wav/SteliosKoroneos-20090926-hxe/wav/b0360.wav THIS STATE OF MIND COMES OF AN UNDUE PROMINENCE OF THE EGO -wav/SteliosKoroneos-20090926-ooy/wav/rp-13.wav THE GREEKS USED TO IMAGINE THAT IT WAS A SIGN -wav/SteliosKoroneos-20090926-vdl/wav/b0178.wav ALSO I WANT INFORMATION -wav/SteliosKoroneos-20090926-xos/wav/a0128.wav THIS ONE HOPE WAS DESTROYED AS QUICKLY AS IT WAS BORN -wav/SteliosKoroneos-20090926-xvv/wav/b0451.wav YOU USED TO JOYRIDE LIKE THE VERY DEVIL -wav/Steltek-20090509-abj/wav/a0446.wav HE DELUGED ME OVERWHELMED ME WITH ARGUMENT -wav/Steltek-20090509-axe/wav/a0375.wav THE BUTCHERS AND MEAT CUTTERS REFUSED TO HANDLE MEAT DESTINED FOR UNFAIR RESTAURANTS -wav/Steltek-20090509-bjl/wav/a0254.wav STRAIGHT OUT THEY SWAM THEIR HEADS GROWING SMALLER AND SMALLER -wav/Steltek-20090509-bra/wav/b0291.wav THE AWE OF MAN RUSHED OVER HIM AGAIN -wav/Steltek-20090509-dth/wav/b0175.wav SHELDON GLANCED AT THE THERMOMETER -wav/Steltek-20090509-evm/wav/a0364.wav WE HAVE PLENTY OF CAPITAL OURSELVES AND YET WE WANT MORE -wav/Steltek-20090509-gea/wav/a0196.wav HE BEGAN TO FOLLOW THE FOOTPRINTS OF THE DOG -wav/Steltek-20090509-gum/wav/b0321.wav INSTEAD HE ARRIVED ON THE NIGHT OF THE SECOND DAY -wav/Steltek-20090509-qgv/wav/rb-05.wav DEVICES WITH A TOUCH SCREEN INTERFACE OFTEN USE AN ON-SCREEN KEYBOARD OR HANDWRITING -wav/Steltek-20090509-twd/wav/a0527.wav THE LUSH VEGETATION OF THAT SHELTERED SPOT MAKE A NATURAL SHIELD -wav/Steltek-20090509-xod/wav/rb-29.wav THEREFORE BEHIND YOUR PC GO ONLINE START MY WEB BROWSER OR VISIT MY HOME PAGE -wav/Steltek-20090509-zle/wav/a0023.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/Steltek-20090509-zma/wav/a0389.wav MAB SHE SAID -wav/Steltek-20090530-knu/wav/b0536.wav TYPHOID DID I TELL YOU -wav/Steltek-20090530-ogw/wav/b0073.wav WITH THESE ARGUMENTS HE CONVINCED HIMSELF THAT HE SHOULD GO ON ALONE -wav/Steltek-20090530-soj/wav/a0436.wav BUT MARTIN SMILED A SUPERIOR SMILE -wav/stephsphynx-20080829-eyq/wav/b0061.wav SOMETHING ABOUT IT SEEMED TO FASCINATE HIM TO CHALLENGE HIS PRESENCE -wav/stephsphynx-20080829-ezq/wav/rb-12.wav ESPECIALLY SINCE MOST OF THESE DEVICES OFTEN ALREADY HAVE A BUILT-IN MICROPHONE -wav/stephsphynx-20080829-mtp/wav/a0255.wav YOU WON'T DIE OF MALNUTRITION BE SURE OF THAT -wav/stephsphynx-20080829-qph/wav/a0077.wav IT IS THE FIRE PARTLY SHE SAID -wav/stephsphynx-20080829-rea/wav/a0425.wav OTHERWISE NO RESTRICTION IS PUT UPON THEIR SEAFARING -wav/stephsphynx-20080829-sff/wav/a0545.wav THE ITALIAN RANCHO WAS A BACHELOR ESTABLISHMENT -wav/stephsphynx-20080829-tda/wav/b0293.wav BETWEEN HIM AND ALL DOMESTIC ANIMALS THERE MUST BE NO HOSTILITIES -wav/sunflame-20090525-hgf/wav/a0165.wav THEY ARE TO ATTACK YOUR CAMP TOMORROW NIGHT -wav/susrut-20090104-bns/wav/a0230.wav DO YOU KNOW ANY GOOD LAND AROUND HERE -wav/sydb-20090506-ehj/wav/b0339.wav WELL I'LL BE PLUMB GOSH DARNED -wav/sydb-20090506-fzn/wav/a0540.wav YEA SO ARE ALL THE LESSER ANIMALS OF TODAY CLEAN -wav/sydb-20090506-nun/wav/rb-16.wav THAT WAY THE SOFTWARE ONLY NEEDS TO COMPARE -wav/sydb-20090506-owh/wav/b0063.wav HE BOILED HIMSELF SOME COFFEE AND SAT DOWN TO WAIT -wav/sydb-20090506-sbb/wav/a0566.wav DENNIN'S HANDS WERE RELEASED LONG ENOUGH FOR HIM TO SIGN THE DOCUMENT -wav/sydb-20090506-spf/wav/b0313.wav THE APRON STRING LOOMED NEAR AND HE SHIED LIKE AN UNBROKEN COLT -wav/sydb-20090506-vql/wav/a0279.wav SHE SAID WITH CHATTERING TEETH -wav/sydb-20090506-yli/wav/a0358.wav THEY CONTINUED VALIANTLY TO LIE BUT THE TRUTH CONTINUED TO OUTRUN THEM -wav/sza-20080221-dvr/wav/a0105.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/Tamashii-20090303-nld/wav/a0416.wav THE ADDED WEIGHT HAD A VELOCITY OF FIFTEEN MILES PER HOUR -wav/tarciana-20081009-laj/wav/a0150.wav GOODBYE PIERRE HE SHOUTED -wav/taslack-20090113-epc/wav/ar-12.wav WITHIN FIVE HOURS THE TEN SCOUTS CAME BACK AND SAID -wav/taslack-20090113-vno/wav/rb-01.wav HAND-HELD DEVICES SUCH AS PERSONAL DIGITAL ASSISTANTS AND SMARTPHONES ARE QUITE SMALL -wav/taslack-20090114-mfh/wav/rp-26.wav SUPER-IMPOSITION OF A NUMBER OF BOWS -wav/taslack-20090114-rmt/wav/a0093.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/tbudicin-20090512-bkr/wav/a0511.wav THERE IS MORE BEHIND THIS THAN A MERE UNIVERSITY IDEAL -wav/Tebbra-20090423-ptc/wav/a0537.wav HE WAS AN ENTHUSIAST AND A DESERT DWELLER -wav/Tebbra-20090423-tyk/wav/b0355.wav THERE WAS PROPER DIVISION OF LABOR IN THE WORK THEY INDIVIDUALLY PERFORMED -wav/TechnoZeus-20090805-cfr/wav/a0147.wav A MOMENT BEFORE HE WAS INTOXICATED BY A JOY THAT WAS ALMOST MADNESS -wav/TechnoZeus-20090805-fnq/wav/a0257.wav THEY ARE COMING ASHORE WHOEVER THEY ARE -wav/TechnoZeus-20090805-mir/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/TechnoZeus-20090805-ucc/wav/b0127.wav HE DESTROYED EVERYTHING THAT HAD BELONGED TO THE WOMAN -wav/TechnoZeus-20090805-uqy/wav/a0562.wav WHAT THE FLAMING -wav/TechnoZeus-20090805-vxk/wav/b0164.wav THEY LAUGHED LIKE TWO HAPPY CHILDREN -wav/TechnoZeus-20090805-xzn/wav/b0307.wav WE GOT FEW VEGETABLES AND FRUITS AND BECAME FISH EATERS -wav/TechnoZeus-20090805-yad/wav/a0264.wav AND I HOPE YOU'VE GOT PLENTY OF CHAIN OUT CAPTAIN YOUNG -wav/Tecwolf-20081028-ssg/wav/b0251.wav THEY MUST HAVE BEEN SWEPT AWAY BY THE CHAOTIC CURRENTS -wav/tee-20081105-knc/wav/b0049.wav THERE WAS NOTHING MORE EXCEPT A LARGE INK BLOT UNDER THE WORDS -wav/teeks99-20090406-aai/wav/a0204.wav THE WOLF-DOG THRUST HIS GAUNT MUZZLE TOWARD HIM -wav/teeks99-20090406-amn/wav/a0457.wav WHAT I SAW I COULD NOT AT FIRST BELIEVE -wav/teeks99-20090406-gah/wav/b0200.wav WE LEAVE THE EVENTUALITY TO TIME AND LAW -wav/teeks99-20090406-hnf/wav/b0378.wav I LIKE TO SPECULATE UPON THE GLORIOUS FUTURE OF MAN -wav/teeks99-20090406-vjp/wav/b0436.wav FAMINE HAD BEEN MY GREAT ALLY -wav/teeks99-20090406-voa/wav/b0460.wav THE MORE HIS OPPONENTS GREW EXCITED THE MORE ERNEST DELIBERATELY EXCITED THEM -wav/teeks99-20090406-vqd/wav/a0470.wav HE SPAT IT OUT LIKE SO MUCH VENOM -wav/teeks99-20090406-xae/wav/b0119.wav BILLINGER MAY ARRIVE IN TIME -wav/teeks99-20090406-ztj/wav/b0141.wav IT WAS BEATING AND WAITING IN THE AMBUSH OF THOSE BLACK PITS -wav/teeks99-20090430-cmk/wav/a0031.wav THEY WERE THREE HUNDRED YARDS APART -wav/teeks99-20090430-dof/wav/a0169.wav SUDDENLY JEANNE STOPPED FOR AN INSTANT -wav/teeks99-20090430-gjx/wav/a0499.wav AND RIGHT THERE I SAW AND KNEW IT ALL -wav/teeks99-20090430-jan/wav/a0120.wav MY RIGHT FOOT FEELS LIKE THAT OF A CHINESE DEBUTANTE -wav/teeks99-20090430-zjo/wav/a0088.wav HE MADE SURE THAT THE MAGAZINE WAS LOADED AND RESUMED HIS PADDLING -wav/teeks99-20090430-zup/wav/b0314.wav HE HAD BEEN BORN WITH THIS ENDOWMENT -wav/teeks99-20091212-ffu/wav/b0214.wav LET US TALK IT OVER AND FIND A WAY OUT -wav/teeks99-20091212-fgq/wav/b0025.wav NOW YOU UNDERSTAND -wav/teeks99-20091212-hcd/wav/a0181.wav SO CHEER UP AND GIVE US YOUR PAW -wav/teeks99-20091212-kah/wav/b0288.wav WE WOULD NOT SPEND ANOTHER SUCH NIGHT -wav/teeks99-20091212-nqq/wav/a0133.wav PHILIP BEGAN TO FEEL THAT HE HAD FOOLISHLY OVERESTIMATED HIS STRENGTH -wav/teeks99-20091212-xle/wav/a0475.wav HIS OUTSTRETCHED ARM DROPPED TO HIS SIDE AND HE PAUSED -wav/temptest-20080916-qvx/wav/a0346.wav GET DOWN AND DIG IN -wav/Terminus-20091217-fgp/wav/a0175.wav DOWN THERE THE EARTH WAS ALREADY SWELLING WITH LIFE -wav/test-20080617-sbg/wav/a0300.wav FROM MY EARLIEST RECOLLECTION MY SLEEP WAS A PERIOD OF TERROR -wav/ThatsJamesForYou-20081029-pst/wav/a0021.wav IT FAIRLY CLUBBED ME INTO RECOGNIZING IT -wav/TheRedRose-20080621-lid/wav/b0459.wav THEY ARE NOT BIOLOGISTS NOR SOCIOLOGISTS -wav/Thomas-20080507-djr/wav/a0112.wav HE WAS WOUNDED IN THE ARM -wav/Thomas-20080507-iya/wav/a0187.wav AHEAD OF THEM THEY SAW A GLIMMER OF SUNSHINE -wav/Thomas-20080508-vzo/wav/a0472.wav HE IS TOO KEENLY INTELLIGENT TOO SHARPLY SENSITIVE SUCCESSFULLY TO ENDURE -wav/ThomasSeilundDenmark-20090213-qqo/wav/a0153.wav MACDOUGALL TAPPED HIS FOREHEAD SUSPICIOUSLY WITH A STUBBY FOREFINGER -wav/tiago-20090318-qjq/wav/a0121.wav THEY ATE DINNER AT THE FIFTH AND RESTED FOR TWO HOURS -wav/tiago-20090318-tlb/wav/b0368.wav PLEASE DO NOT THINK THAT I ALREADY KNOW IT ALL -wav/tiago-20090318-wsl/wav/a0204.wav THE WOLF-DOG THRUST HIS GAUNT MUZZLE TOWARD HIM -wav/Tim-20090509-bke/wav/a0115.wav HE HAD NO EXCUSE FOR THE FEELINGS WHICH WERE AROUSED IN HIM -wav/Timsage-20080612-ebb/wav/b0093.wav DARKNESS HID HIM FROM JEANNE -wav/Timsage-20080612-rsz/wav/b0311.wav THE TWENTY NINTH VERY FOGGY -wav/tis-20080416-tou/wav/voy0008.wav BUT STILL JOHN DOLITTLE WORKED ON TRYING HIS HARDEST TO UNDERSTAND THE FIDGIT'S LANGUAGE -wav/tis-20080416-tou/wav/voy0018.wav I WILL TRANSLATE IT INTO ENGLISH AND YOU PUT IT DOWN IN THE BOOK ARE -wav/tis-20080416-tou/wav/voy0028.wav A VERY MEAN WHALE EVERY TIME HE LOST US UNDER A STONE OR SOMETHING -wav/tis-20080416-tou/wav/voy0038.wav AND SAW THAT THE DOG FISH WERE GAINING ON US SO WE TURNED INTO A HARBOR -wav/tis-20080416-tou/wav/voy0048.wav KICKING AND FLIPPING WE WERE HAULED UP THE SIDE OF THE SHIP AND DUMPED DOWN ON THE DECK -wav/tis-20080416-tou/wav/voy0058.wav THE OLD FELLOWS IN SPECTACLES CAME AND LOOKED AT US PROUDLY TWICE A DAY AND SAW -wav/tis-20080416-tou/wav/voy0068.wav THIS THEY SEEMED TO THINK HIGHLY COMICAL ONE DAY MY SISTER SAID TO ME -wav/tis-20080416-tou/wav/voy0078.wav OTHER PHRASES HOWEVER WE DID GET THE MEANING OF AND WE EVEN LEARNED TO READ A LITTLE IN MAN TALK -wav/tis-20080416-tou/wav/voy0088.wav AT FIRST WE HAD HOPED WE WOULD ONLY BE KEPT HERE FOR A WHILE AND -wav/tis-20080416-tou/wav/voy0098.wav TURNING TO POOR CLIPPA WHO WAS SULKING AT THE BOTTOM OF OUR PRISON -wav/tis-20080416-tou/wav/voy0108.wav EVERY NIGHT AS I LIE AWAKE ON THE FLOOR OF THIS EVIL SMELLING DUNGEON -wav/tis-20080416-tou/wav/voy0118.wav ANEMONE MEADOWS DIM BLUE AND LILAC GRAY THAT LIE IN THE LOWLANDS BEYOND THE SOUTH SEA GARDEN -wav/tis-20080416-tou/wav/voy0128.wav WE'LL NOT BE MUCH WORSE OFF THAN WE ARE HERE IN THIS SMELLY PRISON -wav/tis-20080416-tou/wav/voy0138.wav AND BREATHE SILENTLY THROUGH HALF CLOSED LIPS -wav/tis-20080416-tou/wav/voy0148.wav NOW FOR IT I THOUGHT TO MYSELF WE'LL SOON KNOW OUR FATE LIBERTY OR THE GARBAGE CAN -wav/tis-20080416-tou/wav/voy0158.wav BUT FORTUNE WAS INDEED WITH US THAT DAY -wav/tis-20080416-tou/wav/voy0168.wav FLICK OF OUR TAILS WE CAME TO LIFE AGAIN THE OLD MAN WAS SO SURPRISED -wav/tis-20080416-tou/wav/voy0178.wav IS THERE ANY PART OF THE SEA DEEPER THAN THAT KNOWN AS THE NERO DEEP I MEAN THE ONE NEAR THE ISLAND OF GUAM -wav/tis-20080416-tou/wav/voy0188.wav I AM MOST ANXIOUS TO GET DOWN TO THE BOTTOM OF THE SEA TO STUDY MANY THINGS -wav/tis-20080416-tou/wav/voy0198.wav BUT IT'S THICK AND STRONG WHEN HE IS OUT OF HIS SHELL AND -wav/tis-20080416-tou/wav/voy0208.wav ARE THERE MANY OF THIS KIND OF SNAIL IN THE SEA THE FIDGIT OH NO -wav/tis-20080416-tou/wav/voy0218.wav IT MUST HAVE SUNK I WOULD LIKE TO GET IT FOR MY LIBRARY DO -wav/tis-20080416-tou/wav/voy0228.wav ALL I WANT JUST AT PRESENT IS FRESH SEA WATER THE DOCTOR -wav/tis-20080416-tou/wav/voy0238.wav THAT I FELT AS THOUGH I SHOULD NEVER BE ABLE TO OPEN MY HAND AGAIN -wav/tis-20080416-tou/wav/voy0248.wav SHE WAS SO ANGRY THAT HER VOICE ROSE TO A SCREAM BUT -wav/tjm1983-20071129/wav/pg0007.wav AND IT RESTS WITH ME TO SAY WHAT KERNEL LIES WITHIN ITS SHELL -wav/tjm1983-20071129/wav/pg0017.wav AT THAT POINT I STOP TO CURSE THE BONDS THAT HOLD ME STERNLY BACK -wav/tjm1983-20071129-poe/wav/teb0007.wav THOSE JOYOUS HOURS ARE PASSED AWAY AND MANY A HEART THAT THEN WAS GAY WITHIN THE TOMB NOW DARKLY DWELLS -wav/TJS-20090115-jsy/wav/a0538.wav WHAT PASCAL GLIMPSED WITH THE VISION OF A SEER I HAVE LIVED -wav/tkelley353-20090430-bti/wav/a0543.wav I HAD BEEN BORN WITH NO ORGANIC CHEMICAL PREDISPOSITION TOWARD ALCOHOL -wav/tkelley353-20090430-hxn/wav/a0226.wav THAT CAME BEFORE MY A B C'S -wav/tkelley353-20090430-zof/wav/rb-02.wav MOST OF THEM USE EITHER A TOUCH SCREEN INTERFACE OR A MINIATURIZED KEYBOARD FOR USER INPUT -wav/tkelley353-20090501-bxj/wav/b0342.wav EACH IMPROVEMENT MAKES THE VALUE OF EVERYTHING ELSE PUMP UP -wav/tkelley353-20090501-qsf/wav/a0296.wav BASSETT WAS A FASTIDIOUS MAN -wav/TLC-20091027-ysp/wav/a0029.wav THEIR FORCES WERE ALREADY MOVING INTO THE NORTH COUNTRY -wav/tmarkus-20080919-hhv/wav/a0023.wav A COMBINATION OF CANADIAN CAPITAL QUICKLY ORGANIZED AND PETITIONED FOR THE SAME PRIVILEGES -wav/tmarkus-20080919-nyg/wav/b0054.wav HE UNDERSTOOD THE MEANING OF THE LOOK -wav/tmarkus-20080919-trq/wav/b0108.wav IT WAS A MIRACLE AND I OWE YOU MY LIFE -wav/tomhannen-20080409/wav/ar-06.wav YOU HAVE NO MORE MIND THAN A BLADE OF GRASS -wav/tomhannen-20080409/wav/ar-16.wav JUST THEN THE OLD RAT SAW ARTHUR STOP HE ORDERED COARSELY -wav/tomhannen-20080409/wav/cc-02.wav WHO HAD BEEN WORKING DAILY AT AN OLD ZOO IN A DESERTED DISTRICT OF THE TERRITORY -wav/tomhannen-20080409/wav/cc-12.wav THE LETTER IMPLIED THAT THE ANIMAL COULD BE SUFFERING FROM A RARE FORM -wav/tomhannen-20080409/wav/cc-22.wav FIRST SHE TRIED GENTLY STROKING THE GOOSE'S LOWER BACK WITH HER PALM -wav/tomhannen-20080409/wav/cc-32.wav I CAN'T IMAGINE PAYING SO MUCH BUT MRS HARRISON A MILLIONAIRE LAWYER -wav/tomhannen-20080409/wav/rp-03.wav THE RAINBOW IS A DIVISION OF WHITE LIGHT INTO MANY BEAUTIFUL COLORS -wav/tomhannen-20080409/wav/rp-13.wav THE GREEKS USED TO IMAGINE THAT IT WAS A SIGN -wav/tomhannen-20080409/wav/rp-23.wav THE DIFFERENCE IN THE RAINBOW DEPENDS CONSIDERABLY UPON THE SIZE OF THE DROPS -wav/tomhannen-20080409/wav/vf9-02.wav THIS IS A COMMON EXPERIENCE WITH ALL OF US -wav/tomhannen-20080409/wav/vf9-12.wav UNCONSCIOUSLY OUR YELLS AND EXCLAMATIONS YIELDED TO THIS RHYTHM -wav/tomhannen-20080409/wav/vf9-22.wav SEVENTEEN NO EIGHTEEN DAYS AGO -wav/tomhannen-20080409/wav/vf9-32.wav I'M SURE GOING ALONG WITH YOU ALL ELIJAH -wav/tomhannen-20080410-bfg/wav/b0331.wav HIS PARTNERS HAD STARVED AND DIED ON THE STEWART -wav/tomhannen-20080410-hlb/wav/b0339.wav WELL I'LL BE PLUMB GOSH DARNED -wav/tomhannen-20080410-hxs/wav/a0219.wav AT FIRST HE PUZZLED OVER SOMETHING UNTOWARD HE WAS SURE HAD HAPPENED -wav/tomhannen-20080410-idz/wav/a0116.wav WAS IT THE RENDEZVOUS OF THOSE WHO WERE STRIVING TO WORK HIS RUIN -wav/tomhannen-20080410-nrf/wav/b0388.wav I MADE NO MORE OVERTURES -wav/tomhannen-20080410-tsg/wav/a0223.wav MY I'M ALMOST HOMESICK FOR IT ALREADY -wav/tomhannen-20080410-vrp/wav/b0006.wav HE SEIZED GREGSON BY THE ARM AND LED HIM TO THE DOOR -wav/tomhannen-20080410-ynw/wav/b0198.wav I USE GREAT TROUBLE ADVISEDLY -wav/tomhannen-20080411-aeb/wav/a0279.wav SHE SAID WITH CHATTERING TEETH -wav/tomhannen-20080411-bqm/wav/a0387.wav BOB GROWING DISGUSTED TURNED BACK SUDDENLY AND ATTEMPTED TO PASS MAB -wav/tomhannen-20080411-cmx/wav/b0253.wav THE VERY OPPOSITE IS TRUE THEY ARE DISCOURAGED VAGABONDS -wav/tomhannen-20080411-cnt/wav/b0018.wav I WAS COMPLETELY LOST IN MY WORK -wav/tomhannen-20080411-djj/wav/a0496.wav AND TOM KING PATIENTLY ENDURED -wav/tomhannen-20080411-dwh/wav/b0012.wav SOMETHING THAT WHITTEMORE HAD NOT YET SAID THRILLED HIM -wav/tomhannen-20080411-ebw/wav/a0093.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/tomhannen-20080411-ely/wav/a0071.wav WHAT WAS THE OBJECT OF YOUR LITTLE SENSATION -wav/tomhannen-20080411-epi/wav/a0134.wav HE OBEYED THE PRESSURE OF HER HAND -wav/tomhannen-20080411-flh/wav/a0265.wav THE DISCOVERY SEEMED TO HAVE BEEN MADE ON THE SPUR OF THE MOMENT -wav/tomhannen-20080411-ium/wav/a0003.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/tomhannen-20080411-kvt/wav/a0425.wav OTHERWISE NO RESTRICTION IS PUT UPON THEIR SEAFARING -wav/tomhannen-20080411-lvm/wav/b0050.wav ALL THIS DAY GREGSON REMAINED IN THE CABIN -wav/tomhannen-20080411-mcn/wav/b0115.wav FOR TWO HOURS NOT A WORD PASSED BETWEEN THEM -wav/tomhannen-20080411-mjo/wav/b0300.wav DOES THE OLD BOY OFTEN GO OFF AT HALF-COCK THAT WAY -wav/tomhannen-20080411-mth/wav/a0390.wav I'LL GO OVER TOMORROW AFTERNOON -wav/tomhannen-20080411-pgd/wav/a0554.wav JACK LONDON WAIKIKI BEACH HONOLULU OAHU -wav/tomhannen-20080411-pvb/wav/rb-29.wav THEREFORE BEHIND YOUR PC GO ONLINE START MY WEB BROWSER OR VISIT MY HOME PAGE -wav/tomhannen-20080411-qbo/wav/b0326.wav OUR MR HOWISON WILL CALL UPON YOU AT YOUR HOTEL -wav/tomhannen-20080411-qdo/wav/a0533.wav DUNHAM CAN YOUR BOY GO ALONG WITH JESSE -wav/tomhannen-20080411-qlp/wav/b0295.wav ALL RIGHT SIR REPLIED JOCK WITH GREAT REGRET -wav/tomhannen-20080411-qvl/wav/ar-19.wav WELL SAID THE OLD RAT WE CAN'T WAIT FOR YOU TO JOIN US RIGHT ABOUT FACE MARCH -wav/tomhannen-20080411-qxk/wav/a0515.wav BUT HERE AMONGST OURSELVES LET US SPEAK OUT -wav/tomhannen-20080411-rfx/wav/b0419.wav YOUR FATHER'S FIFTH COMMAND HE NODDED -wav/tomhannen-20080411-rmh/wav/b0526.wav THIRTY POUNDS SAID THE CAPTAIN WITH FINALITY -wav/tomhannen-20080411-sbn/wav/b0427.wav THE SUNSETS GROW MORE BIZARRE AND SPECTACULAR OFF THIS COAST OF THE ARGENTINE -wav/tomhannen-20080411-vds/wav/a0387.wav BOB GROWING DISGUSTED TURNED BACK SUDDENLY AND ATTEMPTED TO PASS MAB -wav/tomhannen-20080411-xpi/wav/a0549.wav DO YOU KNOW THAT WE WEIGH EVERY POUND OF COAL WE BURN -wav/tomhannen-20080411-xzk/wav/a0427.wav ENTERS NOW THE PSYCHOLOGY OF THE SITUATION -wav/tomhannen-20080411-ybm/wav/b0312.wav DIG IN YOU'RE SURE GOOD WAS DAYLIGHT'S ANSWER -wav/tomhannen-20080411-yvm/wav/a0514.wav WE ARE CONSUMED IN OUR OWN FLESH-POTS -wav/tomhannen-20080411-yvy/wav/a0469.wav THE EASTERN HEAVENS WERE EQUALLY SPECTACULAR -wav/tomhannen-20080411-zcb/wav/a0457.wav WHAT I SAW I COULD NOT AT FIRST BELIEVE -wav/tomhannen-20080411-zib/wav/a0410.wav SO WE HAVE TO FIT THE BOAT THROUGHOUT WITH OIL LAMPS AS WELL -wav/tomhannwn-20080411-acr/wav/b0372.wav MR MCVEIGH TOLD ME ABOUT HIM -wav/tomhannwn-20080411-zsu/wav/b0506.wav IT WOULD HELP TO TIDE ME ALONG UNTIL I GOT STEADY EMPLOYMENT -wav/topherfangio-20080604-dgk/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/topherfangio-20080604-edr/wav/b0535.wav HE READ HIS FRAGMENTS ALOUD -wav/topherfangio-20080604-egr/wav/a0469.wav THE EASTERN HEAVENS WERE EQUALLY SPECTACULAR -wav/topherfangio-20080604-ejv/wav/a0168.wav LOW BUSH WHIPPED HIM IN THE FACE AND LEFT NO STING -wav/topherfangio-20080604-fcf/wav/b0471.wav ALSO A FELLOW SENATOR CHAUNCEY DEPEW SAID -wav/topherfangio-20080604-feu/wav/b0384.wav THE SKIPPER'S AND NAKATA'S GYMNASTICS SERVED AS A TRANSLATION WITHOUT WORDS -wav/topherfangio-20080604-fvf/wav/a0570.wav BEHIND HIM LAY THE THOUSAND-YEARS-LONG ROAD ACROSS ALL SIBERIA AND RUSSIA -wav/topherfangio-20080604-hkl/wav/b0290.wav HE PLACED HIS PAW ON ONE AND ITS MOVEMENTS WERE ACCELERATED -wav/topherfangio-20080604-imo/wav/a0056.wav PEARCE'S LITTLE EYES WERE FIXED ON HIM SHREWDLY -wav/topherfangio-20080604-ira/wav/b0251.wav THEY MUST HAVE BEEN SWEPT AWAY BY THE CHAOTIC CURRENTS -wav/topherfangio-20080604-jvb/wav/a0100.wav YOU MUST SLEEP HE URGED -wav/topherfangio-20080604-kzc/wav/a0277.wav MCCOY FOUND A STIFLING POISONOUS ATMOSPHERE IN THE PENT CABIN -wav/topherfangio-20080604-nan/wav/a0284.wav THERE WAS NO FORECASTING THIS STRANGE GIRL'S PROCESSES -wav/topherfangio-20080604-nhn/wav/b0437.wav NOWHERE IN THE NORTH IS THE SOIL SO PROLIFIC -wav/topherfangio-20080604-nnk/wav/a0543.wav I HAD BEEN BORN WITH NO ORGANIC CHEMICAL PREDISPOSITION TOWARD ALCOHOL -wav/topherfangio-20080604-nvd/wav/a0494.wav O'BRIEN TOOK OFF HIS COAT AND BARED HIS RIGHT ARM -wav/topherfangio-20080604-ojg/wav/a0457.wav WHAT I SAW I COULD NOT AT FIRST BELIEVE -wav/topherfangio-20080604-qut/wav/a0398.wav IN THE CAR WERE UNWIN AND HARRISON WHILE JONES SAT WITH THE CHAUFFEUR -wav/topherfangio-20080604-rrw/wav/b0383.wav A BUSH CHIEF HAD DIED A NATURAL DEATH -wav/topherfangio-20080604-sci/wav/a0080.wav WHAT IF JEANNE FAILED HIM -wav/topherfangio-20080604-spf/wav/a0440.wav YES SIR I CORRECTED -wav/topherfangio-20080604-sxs/wav/b0250.wav BY THIS TIME CHARLEY WAS AS ENRAGED AS THE GREEK -wav/topherfangio-20080604-tgh/wav/ar-20.wav ARTHUR STOOD AND WATCHED THEM HURRY AWAY -wav/topherfangio-20080604-tjf/wav/b0376.wav THOUGHT I AND A WORTHY FOOL HE PROVED -wav/topherfangio-20080604-trp/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/topherfangio-20080604-twl/wav/b0024.wav IT IS GROWING EVERY DAY EVERY HOUR -wav/topherfangio-20080604-wvs/wav/a0225.wav I WAS BROUGHT UP THE WAY MOST GIRLS IN HAWAII ARE BROUGHT UP -wav/topherfangio-20080604-wyz/wav/b0281.wav JUST THE SAME I'D SOONER BE MYSELF THAN HAVE BOOK INDIGESTION -wav/topherfangio-20080604-xmp/wav/rb-08.wav THE AMOUNT OF AVAILABLE SCREEN REAL-ESTATE -wav/Toyo-20080229-ogz.zip/wav/a0105.wav ONLY IT IS SO WONDERFUL SO ALMOST IMPOSSIBLE TO BELIEVE -wav/tozden-20090830-irc/wav/a0525.wav THE OLIGARCHY WANTED VIOLENCE AND IT SET ITS AGENTS PROVOCATEURS TO WORK -wav/tozden-20090830-lfh/wav/b0536.wav TYPHOID DID I TELL YOU -wav/tristau-20090801-jli/wav/b0458.wav THE HISTORY OF THE EIGHTEENTH CENTURY IS WRITTEN ERNEST PROMPTED -wav/tristau-20090801-txl/wav/b0462.wav ONE GUESS WILL DO ERNEST RETORTED -wav/tristau-20090801-vnx/wav/b0315.wav AND THIS WAS THEIR SOLE CONVERSATION THROUGHOUT THE MEAL -wav/tristau-20090801-whn/wav/a0459.wav THERE'S TOO MUCH OF THE SCHOOLBOY IN ME -wav/tristau-20090801-wrv/wav/a0280.wav I'LL BE OUT OF MY HEAD IN FIFTEEN MINUTES -wav/tristau-20090801-xxp/wav/a0037.wav I WAS THE ONLY ONE WHO REMAINED SITTING -wav/troya-20080602-icd/wav/a0437.wav BY THAT ANSWER MY PROFESSIONAL MEDICAL PRESTIGE STOOD OR FELL -wav/ts87-20090126-etq/wav/a0015.wav IT'S THE AURORA BOREALIS -wav/ts87-20090126-gzh/wav/b0156.wav FOR THAT REASON LE BEAU HAD CHOSEN HIM TO FIGHT THE BIG FIGHT -wav/ts87-20090126-iop/wav/a0166.wav TWO DAYS AGO JEANNE LEARNED WHERE HER FATHER'S MEN WERE HIDING -wav/ts87-20090126-omo/wav/a0070.wav HE WOULD FIRST HUNT UP GREGSON AND BEGIN HIS WORK THERE -wav/ts87-20090126-wns/wav/b0423.wav ALSO AT REGULAR INTERVALS HE WOULD MUTTER -wav/ttm-20071007/wav/sow0002.wav READ FOR MOJOMOVE FOUR ONE ONE DOT COM M L COHEN -wav/ttm-20071007/wav/sow0012.wav THE MORE PITY FOR WORSHIP -wav/ttm-20071007/wav/sow0022.wav IS NOT UNKIND HEAVEN IS KIND AS A NOBLE MOTHER -wav/ttm-20071009-poe/wav/as0005.wav IT FELL TO THE EARTH I KNEW NOT WHERE -wav/ttm-20071016/wav/tth0002.wav READ FOR MOJOMOVE FOUR ONE ONE DOT COM BY M L COHEN -wav/ttm-20071016/wav/tth0012.wav ONCE CONCEIVED IT HAUNTED ME DAY AND NIGHT OBJECT THERE WAS NONE -wav/ttm-20071016/wav/tth0022.wav THIS RECORDING IS IN THE PUBLIC DOMAIN -wav/ttm-20071016-poe/wav/bps0010.wav HE MARKED TOO THE ETERNAL STARS SHINE THROUGH THE WRACK -wav/ttm-20071024/wav/dos0006.wav HOWEVER I KNOW NOTHING AT ALL ABOUT MY DISEASE AND DO NOT KNOW FOR CERTAIN WHAT AILS ME -wav/ttm-20071024/wav/dos0016.wav BUT STILL IF I DON'T CONSULT A DOCTOR IT IS FROM SPITE -wav/ttm-20071024/wav/dos0026.wav IS IN THE PUBLIC DOMAIN -wav/ttm-20071024-poe/wav/js0010.wav I WILL NOT CEASE FROM MENTAL FIGHT -wav/ttm-20071102/wav/md0007.wav WHENEVER I FIND MYSELF GROWING GRIM ABOUT THE MOUTH -wav/ttm-20071102/wav/md0017.wav I QUIETLY TAKE TO THE SHIP THERE IS NOTHING SURPRISING IN THIS -wav/ttm-20071102-poe/wav/iaf0007.wav MY COUNTRY IS KILTARTAN CROSS MY COUNTRYMEN KILTARTAN'S POOR -wav/twoshades-20090322-oyf/wav/a0150.wav GOODBYE PIERRE HE SHOUTED -wav/twoshades-20090322-rqr/wav/a0274.wav AND RAOUL LISTENED AGAIN TO THE TALE OF THE HOUSE -wav/uklebot-20090813-jub/wav/a0446.wav HE DELUGED ME OVERWHELMED ME WITH ARGUMENT -wav/uklebot-20090813-yez/wav/a0465.wav HE'LL NEVER DO A TAP OF WORK THE WHOLE VOYAGE -wav/uklebot-20090813-zxl/wav/a0238.wav IT HAPPENED TO HIM AT THE GALLINA SOCIETY IN OAKLAND ONE AFTERNOON -wav/unbridledrage-20090106-bvx/wav/b0058.wav WE MUST ACHIEVE OUR OWN SALVATION -wav/unbridledrage-20090106-clj/wav/b0174.wav HATRED AND MURDER AND LUST FOR REVENGE THEY POSSESSED TO OVERFLOWING -wav/unbridledrage-20090106-dho/wav/b0351.wav MATTHEWSON WHO'S THIS BOOKKEEPER ROGERS -wav/unbridledrage-20090106-drs/wav/b0048.wav HE LOOKED LIKE ONE WHO HAD PASSED THROUGH AN UNCOMFORTABLE HOUR OR TWO -wav/unbridledrage-20090106-dwk/wav/a0159.wav THEY LOOK AS THOUGH HE HAD BEEN DRUMMING A PIANO ALL HIS LIFE -wav/unbridledrage-20090106-fzs/wav/b0370.wav AND NOW BEHOLD THE PERVERSITY OF THINGS -wav/unbridledrage-20090106-gej/wav/a0132.wav A CRY OF JOY BURST FROM PHILIP'S LIPS -wav/unbridledrage-20090106-han/wav/a0053.wav SUDDENLY HIS FINGERS CLOSED TIGHTLY OVER THE HANDKERCHIEF -wav/unbridledrage-20090106-hpf/wav/a0308.wav HIS INFERNAL CHATTERING WORRIES ME EVEN NOW AS I THINK OF IT -wav/unbridledrage-20090106-ifx/wav/b0270.wav WE COULD THROW STONES WITH OUR FEET -wav/unbridledrage-20090106-kcf/wav/a0188.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/unbridledrage-20090106-koj/wav/a0335.wav RED-EYE SWUNG BACK AND FORTH ON THE BRANCH FARTHER DOWN -wav/unbridledrage-20090106-lpl/wav/b0098.wav PHILIP LOOKED BACK FROM THE CREST AND SAW JEANNE LEANING OVER THE CANOE -wav/unbridledrage-20090106-meb/wav/a0003.wav FOR THE TWENTIETH TIME THAT EVENING THE TWO MEN SHOOK HANDS -wav/unbridledrage-20090106-mqp/wav/a0410.wav SO WE HAVE TO FIT THE BOAT THROUGHOUT WITH OIL LAMPS AS WELL -wav/unbridledrage-20090106-ton/wav/a0149.wav FOR AN INSTANT HE SAW PIERRE DRAWN LIKE A SILHOUETTE AGAINST THE SKY -wav/unbridledrage-20090106-toy/wav/a0557.wav THE LAST REFUGEE HAD PASSED -wav/unbridledrage-20090106-uco/wav/b0528.wav CAPTAIN DOANE'S ORDERS WERE SWIFTLY OBEYED -wav/unbridledrage-20090106-xfo/wav/a0298.wav THIS TACIT PROMISE OF CONTINUED ACQUAINTANCE GAVE SAXON A LITTLE JOY-THRILL -wav/unbridledrage-20090106-zzt/wav/a0440.wav YES SIR I CORRECTED -wav/unknow-20090722-qcs/wav/b0404.wav YES AND NO SIR WAS THE SLOW REPLY -wav/V-20080316-flc/wav/b0063.wav HE BOILED HIMSELF SOME COFFEE AND SAT DOWN TO WAIT -wav/V-20080316-ilo/wav/a0181.wav SO CHEER UP AND GIVE US YOUR PAW -wav/V-20080318-gwt/wav/b0096.wav WITHIN HIMSELF HE CALLED IT NO LONGER HIS OWN -wav/vertago1-20090805-dka/wav/b0430.wav THEY WERE BABBLING AND CHATTERING ALL TOGETHER -wav/vertago1-20090805-ead/wav/a0206.wav HE SAYS HE BOUGHT HIM OF JACQUES LE BEAU -wav/vertago1-20090805-efa/wav/rp-18.wav ARISTOTLE THOUGHT THAT THE RAINBOW WAS CAUSED BY -wav/vertago1-20090805-hyu/wav/a0356.wav YOU DON'T CATCH ME AT ANY SUCH FOOLISHNESS -wav/vertago1-20090805-mda/wav/b0113.wav THERE WAS SOMETHING PATHETIC IN THE GIRL'S ATTITUDE NOW -wav/vertago1-20090805-mfz/wav/a0235.wav HIS VOICE WAS PASSIONATELY REBELLIOUS -wav/vertago1-20090805-qla/wav/ar-14.wav THERE IS A KINDLY HORSE NAMED NELLY A COW A CALF AND A GARDEN WITH AN ELM TREE -wav/vertago1-20090805-qrc/wav/b0523.wav THE RUSSIAN MUSIC PLAYER THE COUNT WAS HER OBEDIENT SLAVE -wav/vikramjb-20080416-cls/wav/a0399.wav AND HERE'S ANOTHER IDEA -wav/vince-20071118-tez/wav/b0296.wav AT TIMES I WONDERED WHERE SIR ARCHIBALD GOT HIS STYLE -wav/Vistaus-20080718-ngb/wav/b0535.wav HE READ HIS FRAGMENTS ALOUD -wav/vorcollion-20091013-stb/wav/a0162.wav THAT'S THE SUB-FOREMAN EXPLAINED THORPE -wav/voxforgeivr-20070410-062052-1176186024.14/wav/vf3-08.wav HE MADE SURE THAT THE MAGAZINE WAS LOADED AND RESUMED HIS PADDLING -wav/voxforgeivr-20070411-155616-1176306896.24/wav/vf3-33.wav I SUPPOSE YOU PICKED THAT LINGO UP AMONG THE INDIANS -wav/voxforgeivr-20070422-194116-1177270851.20/wav/vf4-28.wav NOW THESE THINGS HAD BEEN STRUCK DEAD WITHIN HIM -wav/voxforgeivr-20070422-195107-1177271401.21/wav/vf4-38.wav DOES THAT LOOK GOOD -wav/voxforgeivr-20070424-133837-1177421886.282/wav/vf3-13.wav FOR A FULL MINUTE HE CROUCHED AND LISTENED -wav/voxforgeivr-20070424-140447-1177423443.287/wav/vf3-28.wav HE WADED INTO THE EDGE OF THE WATER AND BEGAN SCRUBBING HIMSELF -wav/voxforgeivr-20070425-203800-1177533460.345/wav/vf4-13.wav PHILIP BEGAN TO FEEL THAT HE HAD FOOLISHLY OVERESTIMATED HIS STRENGTH -wav/voxforgeivr-20070425-204859-1177534103.347/wav/vf4-23.wav AH I HAD FORGOTTEN HE EXCLAIMED -wav/voxforgeivr-20070609-101755-1181384172.1718/wav/vf5-13.wav THE DATE WAS NEARLY EIGHTEEN YEARS OLD -wav/voxforgeivr-20070615-055404-1181886804.1954/wav/vf5-23.wav AND THE AIR WAS GROWING CHILLY -wav/voxforgeivr-20070615-055404-1181886804.1954/wav/vf5-33.wav IT WAS EDGED WITH ICE -wav/voxforgeivr-20070623-173331-1182619979.2351/wav/vf6-08.wav YOUTH HAD COME BACK TO HER FREED FROM THE YOKE OF OPPRESSION -wav/voxforgeivr-20070625-160139-1182787262.2371/wav/vf6-19.wav AT FIRST HE PUZZLED OVER SOMETHING UNTOWARD HE WAS SURE HAD HAPPENED -wav/voxforgeivr-20070626-142956-1182868165.2448/wav/vf6-34.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/voxforgeivr-20070912-064948-1189579753.5416/wav/vf7-14.wav STRAIGHT OUT THEY SWAM THEIR HEADS GROWING SMALLER AND SMALLER -wav/voxforgeivr-20070924-210958-1190668143.5732/wav/vf7-29.wav THAT'S WHERE THEY CUT OFF THE SCOTTISH CHIEFS AND KILLED ALL HANDS -wav/voxforgeivr-20071014-002515-1192321493.6395/wav/vf8-04.wav THERE WAS NO FORECASTING THIS STRANGE GIRL'S PROCESSES -wav/voxforgeivr-20071209-223808-1197239846.7993/wav/vf8-24.wav I GRADUATED LAST OF MY CLASS -wav/voxforgeivr-20071219-014037-1198028350.8277/wav/vf8-39.wav AND THE EDINBURGH EVENING NEWS SAYS WITH EDITORIAL GLOOM -wav/voxforgeivr-20080106-052101-1199596820.8617/wav/vf3-14.wav HE HAD BARELY ENTERED THIS WHEN HE SAW THE GLOW OF A FIRE -wav/voxforgeivr-20080629-010923-1214701727.0/wav/vf3-14.wav HE HAD BARELY ENTERED THIS WHEN HE SAW THE GLOW OF A FIRE -wav/voxforgeivr-20080629-010923-1214701727.0/wav/vf3-27.wav IF YOU ONLY COULD KNOW HOW I THANK YOU -wav/voxforgeivr-20080702-040147-1214971274.60/wav/vf4-04.wav IT WAS JEANNE SINGING SOFTLY OVER BEYOND THE ROCKS -wav/voxforgeivr-20080706-020319-1215309760.107/wav/vf4-19.wav HE TOLD HIMSELF THAT AS HE WASHED HIMSELF AND GROOMED HIS DISHEVELED CLOTHES -wav/voxforgeivr-20080714-191104-1216062627.13/wav/vf5-09.wav SUDDENLY JEANNE STOPPED FOR AN INSTANT -wav/voxforgeivr-20080723-044054-1216787970.8/wav/vf5-25.wav THE QUESTIONS MAY HAVE COME VAGUELY IN HIS MIND -wav/voxforgeivr-20080723-044054-1216787970.8/wav/vf5-38.wav SOMETIMES HER DREAMS WERE FILLED WITH VISIONS -wav/voxforgeivr-20080817-185654-1218999381.269/wav/vf6-24.wav SHE NODDED AND HER EYES GREW SOFT AND MOIST -wav/voxforgeivr-20080901-163601-1220286920.36/wav/vf6-34.wav WHY THE AVERAGE REVIEW IS MORE NAUSEATING THAN COD LIVER OIL -wav/voxforgeivr-20080901-181047-1220292608.39/wav/vf7-04.wav HE WAS THE SOUL OF DEVOTION TO HIS EMPLOYERS -wav/voxforgeivr-20081005-050959-1223183326.683/wav/vf8-03.wav THE WOMAN IN YOU IS ONLY INCIDENTAL ACCIDENTAL AND IRRELEVANT -wav/voxforgeivr-20081108-055427-1226123624.562/wav/vf8-31.wav THEREFORE HURRAH FOR THE GAME -wav/voxforgeivr-20081125-025913-1227581877.16/wav/vf3-12.wav HE WENT DOWN IN MIDSTREAM SEARCHING THE SHADOWS OF BOTH SHORES -wav/voxforgeivr-20081212-193759-1229110649.72/wav/vf3-34.wav HER WORDS SENT A STRANGE CHILL THROUGH PHILIP -wav/voxforgeivr-20081212-193759-1229110649.72/wav/vf3-39.wav JEANNE WAS TURNING THE BOW SHOREWARD -wav/voxforgeivr-20090101-101818-1230805073.227/wav/vf4-12.wav A CRY OF JOY BURST FROM PHILIP'S LIPS -wav/voxforgeivr-20090111-180553-1231697118.514/wav/vf4-27.wav A MOMENT BEFORE HE WAS INTOXICATED BY A JOY THAT WAS ALMOST MADNESS -wav/voxforgeivr-20090131-000019-1233359978.995/wav/vf5-12.wav GREGSON HAD LEFT THE OUTER DOOR SLIGHTLY AJAR -wav/voxforgeivr-20090219-184559-1235069115.1410/wav/vf6-02.wav SHE TURNED FEARING THAT JACQUES MIGHT SEE WHAT WAS IN HER FACE -wav/voxforgeivr-20090227-205526-1235768090.1561/wav/vf6-17.wav OPPRESSIVE AS THE HEAT HAD BEEN IT WAS NOW EVEN MORE OPPRESSIVE -wav/voxforgeivr-20090227-205526-1235768090.1561/wav/vf6-27.wav IT WAS THE SAME WAY WITH OUR REVOLVERS AND RIFLES -wav/voxforgeivr-20090227-205526-1235768090.1561/wav/vf6-37.wav SO HUGHIE AND I DID THE MANAGING OURSELVES -wav/voxforgeivr-20090227-205526-1235768090.1561/wav/vf7-07.wav THEY OUGHT TO PASS HERE SOME TIME TODAY -wav/voxforgeivr-20090227-205526-1235768090.1561/wav/vf7-17.wav THEY ARE COMING ASHORE WHOEVER THEY ARE -wav/voxforgeivr-20090312-134153-1236865270.1846/wav/vf7-27.wav ELI HARDING ASKED AS SHUNK STARTED TO FOLLOW -wav/voxforgeivr-20090313-145420-1236956007.1872/wav/vf7-38.wav IT WOULD GIVE ME NERVOUS PROSTRATION -wav/voxforgeivr-20090315-043646-1237091769.1890/wav/vf8-16.wav BASSETT WAS A FASTIDIOUS MAN -wav/voxforgeivr-20090315-201527-1237148085.1892/wav/vf8-31.wav THEREFORE HURRAH FOR THE GAME -wav/vschum-20090719-dob/wav/a0040.wav I SUPPOSE YOU WONDER WHY SHE IS COMING UP HERE -wav/vschum-20090719-hak/wav/a0123.wav SHE HAD DIED FROM COLD AND STARVATION -wav/vschum-20090719-hfr/wav/b0450.wav TO MY DEAREST AND ALWAYS APPRECIATED FRIEND I SUBMIT MYSELF -wav/vschum-20090719-ktq/wav/a0354.wav FRESH MEAT THEY FAILED TO OBTAIN -wav/vschum-20090719-rjj/wav/rb-13.wav MANY PHONES ALREADY OFFER THE POSSIBILITY OF SO-CALLED VOICE DIALING -wav/wajkordanii-20081116-ggv/wav/b0506.wav IT WOULD HELP TO TIDE ME ALONG UNTIL I GOT STEADY EMPLOYMENT -wav/wajordanii-20081116-uay/wav/a0001.wav AUTHOR OF THE DANGER TRAIL PHILIP STEELS ETC -wav/whappy-20090617-ltq/wav/a0152.wav PHILIP THRUST HIMSELF AGAINST IT AND ENTERED -wav/wicke-20071121/wav/vf21-01.wav IT'S A YANKEE JOAN CRIED -wav/wicke-20071121/wav/vf21-11.wav WHAT'S THAT GRUB-THIEF GOT TO DO WITH IT -wav/wicke-20071121/wav/vf21-21.wav THE WOMEN THEY CARRIED AWAY WITH THEM TO THE BIG VALLEY -wav/wicke-20071121/wav/vf21-31.wav THEY MUST HAVE BEEN SWEPT AWAY BY THE CHAOTIC CURRENTS -wav/wicke-20090313-dcc/wav/b0454.wav EIGHTEEN HE ADDED -wav/wicke-20090313-dga/wav/a0028.wav ROBBERY BRIBERY FRAUD -wav/wicke-20090313-hep/wav/b0525.wav NEW IDEA HE VOLUNTEERED BRAND NEW IDEA -wav/wicke-20090313-vzl/wav/b0079.wav THE TRUTH OF IT SET JEANNE QUIVERING -wav/wicke-20090313-wnm/wav/b0525.wav NEW IDEA HE VOLUNTEERED BRAND NEW IDEA -wav/wicke-20090313-yxo/wav/b0114.wav HE MOVED HIS POSITION AND THE ILLUSION WAS GONE -wav/wicke-20090314-bhq/wav/a0412.wav THERE IS ANOTHER VIRTUE IN THESE BULKHEADS -wav/wicke-20090314-fdu/wav/a0327.wav THEY WERE LESS STOOPED THAN WE LESS SPRINGY IN THEIR MOVEMENTS -wav/wicke-20090314-jqn/wav/a0358.wav THEY CONTINUED VALIANTLY TO LIE BUT THE TRUTH CONTINUED TO OUTRUN THEM -wav/wicke-20090314-jtl/wav/rb-18.wav MODERN COMPUTERS HAVE FAR MORE COMPUTING POWER THAN HAND-HELD DEVICES -wav/wicke-20090314-jzq/wav/b0136.wav SWIFTLY HIS EYES MEASURED THE SITUATION -wav/wicke-20090314-poa/wav/a0337.wav BY MY CONDUCT BIG-FACE BECAME A SUDDEN ALLY -wav/wicke-20090314-tdm/wav/a0301.wav BUT ALL MY DREAMS VIOLATED THIS LAW -wav/wicke-20090314-wup/wav/a0536.wav HE WOULD DESTROY ALL THINGS THAT ARE FIXED -wav/wicke-20090314-xkm/wav/a0328.wav THE FIRE PEOPLE LIKE OURSELVES LIVED IN CAVES -wav/wicke-20090314-znl/wav/b0361.wav THERE ARE THE CANALS OF CHINA AND THE YANGTSE RIVER -wav/wicke-20090316-wii/wav/a0167.wav I WAS NEAR THE CABIN AND SAW YOU -wav/wolktm-20090114-kly/wav/b0126.wav BLOOD WAS OOZING SLOWLY FROM THE WOUNDED MAN'S RIGHT BREAST -wav/xaviergonz-20080419-myf/wav/a0173.wav THE DATE WAS NEARLY EIGHTEEN YEARS OLD -wav/xaviergonz-20080419-uje/wav/a0395.wav AS FOR HIMSELF WEREN'T THE STREET RAILWAY EARNINGS INCREASING STEADILY -wav/xaviergonz-20080419-vmv/wav/rb-03.wav BUILT-IN KEYBOARDS ARE USUALLY OPERATED WITH THE THUMBS SINCE TOUCH TYPING AND -wav/XCoder-20090528-ddj/wav/a0570.wav BEHIND HIM LAY THE THOUSAND-YEARS-LONG ROAD ACROSS ALL SIBERIA AND RUSSIA -wav/xenobyte72-20080530-pgo/wav/b0130.wav SHE SAW THE ANSWER IN HIS FACE -wav/xtophe-20080924-ejb/wav/a0320.wav WITH MY STRENGTH I SLAMMED IT FULL INTO RED-EYE'S FACE -wav/xtophe-20080924-hsu/wav/b0001.wav GAD DO I REMEMBER IT -wav/xtophe-20080924-oqk/wav/a0373.wav POINTS OF VIEW NEW IDEAS LIFE -wav/xtophe-20080924-pqx/wav/b0186.wav I CAN'T GO ELSEWHERE BY YOUR OWN ACCOUNT -wav/xtophe-20080924-ulu/wav/b0184.wav SUCH THINGS IN HER BRAIN WERE LIKE SO MANY OATHS ON HER LIPS -wav/xtophe-20080924-wcq/wav/a0188.wav TWO GIGANTIC OWLS WERE TEARING AT THE CARCASS -wav/xtophe-20080924-xog/wav/b0360.wav THIS STATE OF MIND COMES OF AN UNDUE PROMINENCE OF THE EGO -wav/xtophe-20080924-zhr/wav/a0059.wav HIS IMMACULATE APPEARANCE WAS GONE -wav/yanlongwang-20090706-egd/wav/a0287.wav KEEP AN EYE ON HIM -wav/yassin-20081216-ujk/wav/b0491.wav JACOB BRINKER WHO WAS HIS ROADMATE BROUGHT THE NEWS -wav/yebbey-20090217-das/wav/a0392.wav THERE IS THAT MAGNIFICENT BOB EATING HIS HEAD OFF IN THE STABLE -wav/z4k-20090224-ndw/wav/b0535.wav HE READ HIS FRAGMENTS ALOUD -wav/Zarfan-20090915-cve/wav/b0313.wav APRON STRING LOOMED NEAR AND HE SHIED LIKE AN UNBROKEN COLT -wav/ZhanZongru-20091219-ggf/wav/b0115.wav FOR TWO HOURS NOT A WORD PASSED BETWEEN THEM -wav/zlp-20100110-gyn/wav/b0225.wav THE PRESIDENT OF THE UNITED STATES WAS HIS FRIEND -wav/zlp-20100110-hpf/wav/a0219.wav AT FIRST HE PUZZLED OVER SOMETHING UNTOWARD HE WAS SURE HAD HAPPENED -wav/zlp-20100110-jmb/wav/a0337.wav ENCOURAGED BY MY CONDUCT BIG-FACE BECAME A SUDDEN ALLY -wav/zlp-20100110-jwa/wav/ar-08.wav THE PINE RAFTERS WERE ALL ROTTEN SO THAT THE BARN WAS RATHER UNSAFE -wav/zlp-20100110-kgx/wav/a0326.wav CHEROKEE IDENTIFIED HIMSELF WITH HIS INSTINCT -wav/zlp-20100110-lbe/wav/b0513.wav HE PLODDED ON FOR HALF AN HOUR WHEN THE HALLUCINATION AROSE AGAIN -wav/zlp-20100110-ujo/wav/a0029.wav THEIR FORCES WERE ALREADY MOVING INTO THE NORTH COUNTRY -wav/zlp-20100110-vuh/wav/b0483.wav THE FLOWER OF THE ARTISTIC AND INTELLECTUAL WORLD WERE REVOLUTIONISTS -wav/zlp-20100110-wwn/wav/b0205.wav YOU WERE DESTROYING MY LIFE diff --git a/lib/sphinx4-5prealpha-src/tests/trainer/build.xml b/lib/sphinx4-5prealpha-src/tests/trainer/build.xml deleted file mode 100755 index 890cf5e8..00000000 --- a/lib/sphinx4-5prealpha-src/tests/trainer/build.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - -This file is used to run the trainer tests. - -NOTE: Before running the tests, you must have already built - the sphinx-4 sources by typing "ant" in the top level - sphinx4 directory. - - - - - - - - - - - - - - Type 'ant -p' for possible targets. - - - - - - - - - - - - diff --git a/lib/sphinx4-5prealpha-src/tests/trainer/phonelist b/lib/sphinx4-5prealpha-src/tests/trainer/phonelist deleted file mode 100755 index be351817..00000000 --- a/lib/sphinx4-5prealpha-src/tests/trainer/phonelist +++ /dev/null @@ -1,38 +0,0 @@ -version 0.1 -same_sized_models yes -n_state 3 -tmat_skip no -AA -AE -AH -AO -AW -AY -B -CH -D -EH -ER -EY -F -G -HH -IH -IY -JH -K -L -M -N -OW -P -R -S -SIL -T -TH -UW -V -W -Y -Z diff --git a/lib/sphinx4-5prealpha-src/tests/trainer/trainer.xml b/lib/sphinx4-5prealpha-src/tests/trainer/trainer.xml deleted file mode 100755 index 288591e0..00000000 --- a/lib/sphinx4-5prealpha-src/tests/trainer/trainer.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - model - - - - - - - - - - - - - - - - - - - - - - - - - - - streamCepstrumSource - liveCMN - featureExtraction - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/sphinx4-core.jar.REMOVED.git-id b/lib/sphinx4-core.jar.REMOVED.git-id new file mode 100644 index 00000000..9aba2366 --- /dev/null +++ b/lib/sphinx4-core.jar.REMOVED.git-id @@ -0,0 +1 @@ +1071a5d7a25058c61a6481db4addec2deafefeb2 \ No newline at end of file diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict.REMOVED.git-id b/resource/sphinx-models/cmudict-en-us.dict.REMOVED.git-id similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict.REMOVED.git-id rename to resource/sphinx-models/cmudict-en-us.dict.REMOVED.git-id diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us.lm.dmp.REMOVED.git-id b/resource/sphinx-models/en-us.lm.dmp.REMOVED.git-id similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us.lm.dmp.REMOVED.git-id rename to resource/sphinx-models/en-us.lm.dmp.REMOVED.git-id diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/README b/resource/sphinx-models/en-us/README similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/README rename to resource/sphinx-models/en-us/README diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feat.params b/resource/sphinx-models/en-us/feat.params similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feat.params rename to resource/sphinx-models/en-us/feat.params diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feature_transform b/resource/sphinx-models/en-us/feature_transform similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/feature_transform rename to resource/sphinx-models/en-us/feature_transform diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mdef.REMOVED.git-id b/resource/sphinx-models/en-us/mdef.REMOVED.git-id similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mdef.REMOVED.git-id rename to resource/sphinx-models/en-us/mdef.REMOVED.git-id diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/means.REMOVED.git-id b/resource/sphinx-models/en-us/means.REMOVED.git-id similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/means.REMOVED.git-id rename to resource/sphinx-models/en-us/means.REMOVED.git-id diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mixture_weights b/resource/sphinx-models/en-us/mixture_weights similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/mixture_weights rename to resource/sphinx-models/en-us/mixture_weights diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/noisedict b/resource/sphinx-models/en-us/noisedict similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/noisedict rename to resource/sphinx-models/en-us/noisedict diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/transition_matrices b/resource/sphinx-models/en-us/transition_matrices similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/transition_matrices rename to resource/sphinx-models/en-us/transition_matrices diff --git a/lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/variances.REMOVED.git-id b/resource/sphinx-models/en-us/variances.REMOVED.git-id similarity index 100% rename from lib/sphinx4-5prealpha-src/sphinx4-data/src/main/resources/edu/cmu/sphinx/models/en-us/en-us/variances.REMOVED.git-id rename to resource/sphinx-models/en-us/variances.REMOVED.git-id diff --git a/src/se/koc/hal/plugin/localsensor/ImpulseTracker.java b/src/se/koc/hal/plugin/localsensor/ImpulseTracker.java old mode 100644 new mode 100755 index dad529ae..6d0232a5 --- a/src/se/koc/hal/plugin/localsensor/ImpulseTracker.java +++ b/src/se/koc/hal/plugin/localsensor/ImpulseTracker.java @@ -97,7 +97,7 @@ public class ImpulseTracker implements Runnable { } } - private void save(long timestamp_end, int data){ + private void save(final long timestamp_end, final int data){ executorPool.execute(new Runnable(){ @Override public void run() { diff --git a/src/se/koc/hal/stt/Sphinx4STTClient.java b/src/se/koc/hal/stt/Sphinx4STTClient.java index fe39cafd..929e0ce9 100755 --- a/src/se/koc/hal/stt/Sphinx4STTClient.java +++ b/src/se/koc/hal/stt/Sphinx4STTClient.java @@ -41,11 +41,11 @@ public class Sphinx4STTClient implements HalSpeachToText { Configuration configuration = new Configuration(); // Set path to acoustic model. - configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us"); + configuration.setAcousticModelPath("resource:/sphinx-models/en-us"); // Set path to dictionary. - configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict"); + configuration.setDictionaryPath("resource:/sphinx-models/cmudict-en-us.dict"); // Set language model. - configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.dmp"); + configuration.setLanguageModelPath("resource:/sphinx-models/en-us.lm.dmp"); try { recognizer = new LiveSpeechRecognizer(configuration);